if(function(n,t){var i,g,nt,tt,it,r,h,v,c,rt,y,f,u,p,e,l,w,b,ut,k,o,a,d,s;i=function(n){return new i.prototype.init(n)};typeof require!="undefined"&&typeof exports!="undefined"&&typeof module!="undefined"?module.exports=i:n.Globalize=i;i.cultures={};i.prototype={constructor:i,init:function(n){return this.cultures=i.cultures,this.cultureSelector=n,this}};i.prototype.init.prototype=i.prototype;i.cultures["default"]={name:"en",englishName:"English",nativeName:"English",isRTL:!1,language:"en",numberFormat:{pattern:["-n"],decimals:2,",":",",".":".",groupSizes:[3],"+":"+","-":"-",NaN:"NaN",negativeInfinity:"-Infinity",positiveInfinity:"Infinity",percent:{pattern:["-n %","n %"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"%"},currency:{pattern:["($n)","$n"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"$"}},calendars:{standard:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss"}}},messages:{}};i.cultures["default"].calendar=i.cultures["default"].calendars.standard;i.cultures.en=i.cultures["default"];i.cultureSelector="en";g=/^0x[a-f0-9]+$/i;nt=/^[+\-]?infinity$/i;tt=/^[+\-]?\d*\.?\d*(e[+\-]?\d+)?$/;it=/^\s+|\s+$/g;r=function(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1};h=function(n,t){return n.substr(n.length-t.length)===t};v=function(){var e,u,r,i,o,s,n=arguments[0]||{},f=1,l=arguments.length,h=!1;for(typeof n=="boolean"&&(h=n,n=arguments[1]||{},f=2),typeof n=="object"||rt(n)||(n={});f<l;f++)if((e=arguments[f])!=null)for(u in e)(r=n[u],i=e[u],n!==i)&&(h&&i&&(y(i)||(o=c(i)))?(o?(o=!1,s=r&&c(r)?r:[]):s=r&&y(r)?r:{},n[u]=v(h,s,i)):i!==t&&(n[u]=i));return n};c=Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"};rt=function(n){return Object.prototype.toString.call(n)==="[object Function]"};y=function(n){return Object.prototype.toString.call(n)==="[object Object]"};f=function(n,t){return n.indexOf(t)===0};u=function(n){return(n+"").replace(it,"")};p=function(n){return isNaN(n)?NaN:Math[n<0?"ceil":"floor"](n)};e=function(n,t,i){for(var r=n.length;r<t;r+=1)n=i?"0"+n:n+"0";return n};l=function(n,t){for(var u,f=0,i=!1,r=0,e=n.length;r<e;r++){u=n.charAt(r);switch(u){case"'":i?t.push("'"):f++;i=!1;break;case"\\":i&&t.push("\\");i=!i;break;default:t.push(u);i=!1}}return f};w=function(n,t){t=t||"F";var i,u=n.patterns,r=t.length;if(r===1){if(i=u[t],!i)throw"Invalid date format string '"+t+"'.";t=i}else r===2&&t.charAt(0)==="%"&&(t=t.charAt(1));return t};b=function(n,t,i){function e(n,t){var i,r=n+"";return t>1&&r.length<t?(i=st[t-2]+r,i.substr(i.length-t,t)):r}function ct(){return c||ut?c:(c=ht.test(t),ut=!0,c)}function it(n,t){if(v)return v[t];switch(t){case 0:return n.getFullYear();case 1:return n.getMonth();case 2:return n.getDate();default:throw"Invalid part value "+t;}}var u=i.calendar,d=u.convert,r,g,rt,nt,tt,p,f,ot,h;if(!t||!t.length||t==="i")return i&&i.name.length?d?r=b(n,u.patterns.F,i):(g=new Date(n.getTime()),rt=o(n,u.eras),g.setFullYear(a(n,u,rt)),r=g.toLocaleString()):r=n.toString(),r;nt=u.eras;tt=t==="s";t=w(u,t);r=[];var s,st=["0","00","000"],c,ut,ht=/([^d]|^)(d|dd)([^d]|$)/g,ft=0,et=k(),v;for(!tt&&d&&(v=d.fromGregorian(n));;){var lt=et.lastIndex,y=et.exec(t),at=t.slice(lt,y?y.index:t.length);if(ft+=l(at,r),!y)break;if(ft%2){r.push(y[0]);continue}p=y[0];f=p.length;switch(p){case"ddd":case"dddd":ot=f===3?u.days.namesAbbr:u.days.names;r.push(ot[n.getDay()]);break;case"d":case"dd":c=!0;r.push(e(it(n,2),f));break;case"MMM":case"MMMM":h=it(n,1);r.push(u.monthsGenitive&&ct()?u.monthsGenitive[f===3?"namesAbbr":"names"][h]:u.months[f===3?"namesAbbr":"names"][h]);break;case"M":case"MM":r.push(e(it(n,1)+1,f));break;case"y":case"yy":case"yyyy":h=v?v[0]:a(n,u,o(n,nt),tt);f<4&&(h=h%100);r.push(e(h,f));break;case"h":case"hh":s=n.getHours()%12;s===0&&(s=12);r.push(e(s,f));break;case"H":case"HH":r.push(e(n.getHours(),f));break;case"m":case"mm":r.push(e(n.getMinutes(),f));break;case"s":case"ss":r.push(e(n.getSeconds(),f));break;case"t":case"tt":h=n.getHours()<12?u.AM?u.AM[0]:" ":u.PM?u.PM[0]:" ";r.push(f===1?h.charAt(0):h);break;case"f":case"ff":case"fff":r.push(e(n.getMilliseconds(),3).substr(0,f));break;case"z":case"zz":s=n.getTimezoneOffset()/60;r.push((s<=0?"+":"-")+e(Math.floor(Math.abs(s)),f));break;case"zzz":s=n.getTimezoneOffset()/60;r.push((s<=0?"+":"-")+e(Math.floor(Math.abs(s)),2)+":"+e(Math.abs(n.getTimezoneOffset()%60),2));break;case"g":case"gg":u.eras&&r.push(u.eras[o(n,nt)].name);break;case"/":r.push(u["/"]);break;default:throw"Invalid date format pattern '"+p+"'.";}}return r.join("")},function(){var n;n=function(n,t,i){var l=i.groupSizes,c=l[0],a=1,p=Math.pow(10,t),v=Math.round(n*p)/p;isFinite(v)||(v=n);n=v;var r=n+"",u="",o=r.split(/e/i),f=o.length>1?parseInt(o[1],10):0;r=o[0];o=r.split(".");r=o[0];u=o.length>1?o[1]:"";f>0?(u=e(u,f,!1),r+=u.slice(0,f),u=u.substr(f)):f<0&&(f=-f,r=e(r,f+1,!0),u=r.slice(-f,r.length)+u,r=r.slice(0,-f));u=t>0?i["."]+(u.length>t?u.slice(0,t):e(u,t)):"";for(var s=r.length-1,y=i[","],h="";s>=0;){if(c===0||c>s)return r.slice(0,s+1)+(h.length?y+h+u:u);h=r.slice(s-c+1,s+1)+(h.length?y+h:"");s-=c;a<l.length&&(c=l[a],a++)}return r.slice(0,s+1)+y+h+u};ut=function(t,i,r){var a,f,v,o,y,l;if(!isFinite(t))return t===Infinity?r.numberFormat.positiveInfinity:t===-Infinity?r.numberFormat.negativeInfinity:r.numberFormat.NaN;if(!i||i==="i")return r.name.length?t.toLocaleString():t.toString();i=i||"D";var s=r.numberFormat,u=Math.abs(t),h=-1,c;i.length>1&&(h=parseInt(i.slice(1),10));a=i.charAt(0).toUpperCase();switch(a){case"D":c="n";u=p(u);h!==-1&&(u=e(""+u,h,!0));t<0&&(u="-"+u);break;case"N":f=s;case"C":f=f||s.currency;case"P":f=f||s.percent;c=t<0?f.pattern[0]:f.pattern[1]||"n";h===-1&&(h=f.decimals);u=n(u*(a==="P"?100:1),h,f);break;default:throw"Bad number format specifier: "+a;}for(v=/n|\$|-|%/g,o="";;){if(y=v.lastIndex,l=v.exec(c),o+=c.slice(y,l?l.index:c.length),!l)break;switch(l[0]){case"n":o+=u;break;case"$":o+=s.currency.symbol;break;case"-":/[1-9]/.test(u)&&(o+=s["-"]);break;case"%":o+=s.percent.symbol}}return o}}();k=function(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};o=function(n,t){var r,u,i,f;if(!t)return 0;for(u=n.getTime(),i=0,f=t.length;i<f;i++)if(r=t[i].start,r===null||u>=r)return i;return 0};a=function(n,t,i,r){var u=n.getFullYear();return!r&&t.eras&&(u-=t.eras[i].offset),u},function(){var e,s,h,c,n,i,t;e=function(n,t){if(t<100){var r=new Date,f=o(r),u=a(r,n,f),i=n.twoDigitYearMax;i=typeof i=="string"?(new Date).getFullYear()%100+parseInt(i,10):i;t+=u-u%100;t>i&&(t-=100)}return t};s=function(n,u,f){var e,s=n.days,o=n._upperDays;return o||(n._upperDays=o=[t(s.names),t(s.namesAbbr),t(s.namesShort)]),u=i(u),f?(e=r(o[1],u),e===-1&&(e=r(o[2],u))):e=r(o[0],u),e};h=function(n,u,f){var h=n.months,c=n.monthsGenitive||n.months,e=n._upperMonths,s=n._upperMonthsGen,o;return e||(n._upperMonths=e=[t(h.names),t(h.namesAbbr)],n._upperMonthsGen=s=[t(c.names),t(c.namesAbbr)]),u=i(u),o=r(f?e[1]:e[0],u),o<0&&(o=r(f?s[1]:s[0],u)),o};c=function(n,t){var f=n._parseRegExp,o,y,e,p,i,b,d;if(f){if(o=f[t],o)return o}else n._parseRegExp=f={};for(var s=w(n,t).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),r=["^"],c=[],h=0,a=0,v=k(),u;(u=v.exec(s))!==null;){if(y=s.slice(h,u.index),h=v.lastIndex,a+=l(y,r),a%2){r.push(u[0]);continue}e=u[0];p=e.length;switch(e){case"dddd":case"ddd":case"MMMM":case"MMM":case"gg":case"g":i="(\\D+)";break;case"tt":case"t":i="(\\D*)";break;case"yyyy":case"fff":case"ff":case"f":i="(\\d{"+p+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":i="(\\d\\d?)";break;case"zzz":i="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":i="([+-]?\\d\\d?)";break;case"/":i="(\\/)";break;default:throw"Invalid date format pattern '"+e+"'.";}i&&r.push(i);c.push(u[0])}return l(s.slice(h),r),r.push("$"),b=r.join("").replace(/\s+/g,"\\s+"),d={regExp:b,groups:c},f[t]=d};n=function(n,t,i){return n<t||n>i};i=function(n){return n.split(" ").join(" ").toUpperCase()};t=function(n){for(var r=[],t=0,u=n.length;t<u;t++)r[t]=i(n[t]);return r};d=function(t,i,r){var d,wt,l,ft,et,g,nt,kt,a,dt,tt,at;t=u(t);var o=r.calendar,vt=c(o,i),yt=new RegExp(vt.regExp).exec(t);if(yt===null)return null;var pt=vt.groups,ot=null,w=null,p=null,b=null,it=null,y=0,k,st=0,ht=0,ct=0,rt=null,lt=!1;for(d=0,wt=pt.length;d<wt;d++)if(l=yt[d+1],l){var bt=pt[d],ut=bt.length,v=parseInt(l,10);switch(bt){case"dd":case"d":if(b=v,n(b,1,31))return null;break;case"MMM":case"MMMM":if(p=h(o,l,ut===3),n(p,0,11))return null;break;case"M":case"MM":if(p=v-1,n(p,0,11))return null;break;case"y":case"yy":case"yyyy":if(w=ut<4?e(o,v):v,n(w,0,9999))return null;break;case"h":case"hh":if(y=v,y===12&&(y=0),n(y,0,11))return null;break;case"H":case"HH":if(y=v,n(y,0,23))return null;break;case"m":case"mm":if(st=v,n(st,0,59))return null;break;case"s":case"ss":if(ht=v,n(ht,0,59))return null;break;case"tt":case"t":if(lt=o.PM&&(l===o.PM[0]||l===o.PM[1]||l===o.PM[2]),!lt&&(!o.AM||l!==o.AM[0]&&l!==o.AM[1]&&l!==o.AM[2]))return null;break;case"f":case"ff":case"fff":if(ct=v*Math.pow(10,3-ut),n(ct,0,999))return null;break;case"ddd":case"dddd":if(it=s(o,l,ut===3),n(it,0,6))return null;break;case"zzz":if((ft=l.split(/:/),ft.length!==2)||(k=parseInt(ft[0],10),n(k,-12,13))||(et=parseInt(ft[1],10),n(et,0,59)))return null;rt=k*60+(f(l,"-")?-et:et);break;case"z":case"zz":if(k=v,n(k,-12,13))return null;rt=k*60;break;case"g":case"gg":if(g=l,!g||!o.eras)return null;for(g=u(g.toLowerCase()),nt=0,kt=o.eras.length;nt<kt;nt++)if(g===o.eras[nt].name.toLowerCase()){ot=nt;break}if(ot===null)return null}}if(a=new Date,tt=o.convert,dt=tt?tt.fromGregorian(a)[0]:a.getFullYear(),w===null?w=dt:o.eras&&(w+=o.eras[ot||0].offset),p===null&&(p=0),b===null&&(b=1),tt){if(a=tt.toGregorian(w,p,b),a===null)return null}else if((a.setFullYear(w,p,b),a.getDate()!==b)||it!==null&&a.getDay()!==it)return null;return lt&&y<12&&(y+=12),a.setHours(y,st,ht,ct),rt!==null&&(at=a.getMinutes()-(rt+a.getTimezoneOffset()),a.setHours(a.getHours()+parseInt(at/60,10),at%60)),a}}();s=function(n,t,i){var r=t["-"],u=t["+"],e;switch(i){case"n -":r=" "+r;u=" "+u;case"n-":h(n,r)?e=["-",n.substr(0,n.length-r.length)]:h(n,u)&&(e=["+",n.substr(0,n.length-u.length)]);break;case"- n":r+=" ";u+=" ";case"-n":f(n,r)?e=["-",n.substr(r.length)]:f(n,u)&&(e=["+",n.substr(u.length)]);break;case"(n)":f(n,"(")&&h(n,")")&&(e=["-",n.substr(1,n.length-2)])}return e||["",n]};i.prototype.findClosestCulture=function(n){return i.findClosestCulture.call(this,n)};i.prototype.format=function(n,t,r){return i.format.call(this,n,t,r)};i.prototype.localize=function(n,t){return i.localize.call(this,n,t)};i.prototype.parseInt=function(n,t,r){return i.parseInt.call(this,n,t,r)};i.prototype.parseFloat=function(n,t,r){return i.parseFloat.call(this,n,t,r)};i.prototype.culture=function(n){return i.culture.call(this,n)};i.addCultureInfo=function(n,t,i){var r={},u=!1;typeof n!="string"?(i=n,n=this.culture().name,r=this.cultures[n]):typeof t!="string"?(i=t,u=this.cultures[n]==null,r=this.cultures[n]||this.cultures["default"]):(u=!0,r=this.cultures[t]);this.cultures[n]=v(!0,{},r,i);u&&(this.cultures[n].calendar=this.cultures[n].calendars.standard)};i.findClosestCulture=function(n){var r,f,h,l,y,a;if(!n)return this.findClosestCulture(this.cultureSelector)||this.cultures["default"];if(typeof n=="string"&&(n=n.split(",")),c(n)){for(var i,o=this.cultures,v=n,s=v.length,e=[],t=0;t<s;t++)n=u(v[t]),h=n.split(";"),i=u(h[0]),h.length===1?f=1:(n=u(h[1]),n.indexOf("q=")===0?(n=n.substr(2),f=parseFloat(n),f=isNaN(f)?0:f):f=1),e.push({lang:i,pri:f});for(e.sort(function(n,t){return n.pri<t.pri?1:n.pri>t.pri?-1:0}),t=0;t<s;t++)if(i=e[t].lang,r=o[i],r)return r;for(t=0;t<s;t++){i=e[t].lang;do{if(l=i.lastIndexOf("-"),l===-1)break;if(i=i.substr(0,l),r=o[i],r)return r}while(1)}for(t=0;t<s;t++){i=e[t].lang;for(y in o)if(a=o[y],a.language==i)return a}}else if(typeof n=="object")return n;return r||null};i.format=function(n,t,i){var r=this.findClosestCulture(i);return n instanceof Date?n=b(n,t,r):typeof n=="number"&&(n=ut(n,t,r)),n};i.localize=function(n,t){return this.findClosestCulture(t).messages[n]||this.cultures["default"].messages[n]};i.parseDate=function(n,t,i){var r,o,f,u,s,e;if(i=this.findClosestCulture(i),t){if(typeof t=="string"&&(t=[t]),t.length)for(u=0,s=t.length;u<s;u++)if(e=t[u],e&&(r=d(n,e,i),r))break}else{f=i.calendar.patterns;for(o in f)if(r=d(n,f[o],i),r)break}return r||null};i.parseInt=function(n,t,r){return p(i.parseFloat(n,t,r))};i.parseFloat=function(n,t,i){var y,c,l,h,p,k,w,b,d,a,it;typeof t!="number"&&(i=t,t=10);var f=this.findClosestCulture(i),v=NaN,r=f.numberFormat;if(n.indexOf(f.numberFormat.currency.symbol)>-1&&(n=n.replace(f.numberFormat.currency.symbol,""),n=n.replace(f.numberFormat.currency["."],f.numberFormat["."])),n.indexOf(f.numberFormat.percent.symbol)>-1&&(n=n.replace(f.numberFormat.percent.symbol,"")),n=n.replace(/ /g,""),nt.test(n))v=parseFloat(n);else if(!t&&g.test(n))v=parseInt(n,16);else{var u=s(n,r,r.pattern[0]),e=u[0],o=u[1];e===""&&r.pattern[0]!=="(n)"&&(u=s(n,r,"(n)"),e=u[0],o=u[1]);e===""&&r.pattern[0]!=="-n"&&(u=s(n,r,"-n"),e=u[0],o=u[1]);e=e||"+";l=o.indexOf("e");l<0&&(l=o.indexOf("E"));l<0?(c=o,y=null):(c=o.substr(0,l),y=o.substr(l+1));k=r["."];w=c.indexOf(k);w<0?(h=c,p=null):(h=c.substr(0,w),p=c.substr(w+k.length));b=r[","];h=h.split(b).join("");d=b.replace(/\u00A0/g," ");b!==d&&(h=h.split(d).join(""));a=e+h;p!==null&&(a+="."+p);y!==null&&(it=s(y,r,"-n"),a+="e"+(it[0]||"+")+it[1]);tt.test(a)&&(v=parseFloat(a))}return v};i.culture=function(n){return typeof n!="undefined"&&(this.cultureSelector=n),this.findClosestCulture(n)||this.cultures["default"]}}(this),function(n){var t;t=typeof require!="undefined"&&typeof exports!="undefined"&&typeof module!="undefined"?require("globalize"):n.Globalize;t.addCultureInfo("el","default",{name:"el",englishName:"Greek",nativeName:"Ελληνικά",language:"el",numberFormat:{",":".",".":",",NaN:"μη αριθμός",negativeInfinity:"-Άπειρο",positiveInfinity:"Άπειρο",percent:{pattern:["-n%","n%"],",":".",".":","},currency:{pattern:["-n $","n $"],",":".",".":",",symbol:"€"}},calendars:{standard:{firstDay:1,days:{names:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],namesAbbr:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],namesShort:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"]},months:{names:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""],namesAbbr:["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]},monthsGenitive:{names:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""],namesAbbr:["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]},AM:["πμ","πμ","ΠΜ"],PM:["μμ","μμ","ΜΜ"],eras:[{name:"μ.Χ.",start:null,offset:0}],patterns:{d:"d/M/yyyy",D:"dddd, d MMMM yyyy",f:"dddd, d MMMM yyyy h:mm tt",F:"dddd, d MMMM yyyy h:mm:ss tt",M:"dd MMMM",Y:"MMMM yyyy"}}}})}(this),window.DevExpress&&DevExpress.MOD_CORE||(function(n,t){var i=function(){var e=function(){var t={};return function(i,f,e){var o=!1,s;this.load=function(){var n=t[i];if(n){if(o)throw"circular dependency to '"+i+"' module with AMD syntax is not allowed";return n.exports}return s().exports};s=function(){var s=t[i]={exports:{}};return e===null&&f.length?f.call(n,s,s.exports,r):(o=!0,s.exports=f.apply(n,u(e)),o=!1),s}}}(),i={},o=function(n){var t=i[n];if(!t)throw"'"+n+"' module definition is absent";return t.load()},r=function(n){switch(n){case"jquery":case"domReady":return t;case"domReady!":return n;case"require":return f;default:return o(n)}},u=function(n){return t.map(n||[],r)},f=function(i,f){if(!t.isArray(i))return r(i);i=u(i);f=f||t.noop;var e=function(){f.apply(n,i)};t.inArray("domReady!",i)?t(e):e()},s=function(n,r,u){if(t.isFunction(r)&&(u=r,r=null),i[n])throw"'"+n+"' module definition is already present";i[n]=new e(n,u,r)};return{require:f,define:s}}(),r=n.DevExpress=n.DevExpress||{};r.require=i.require;r.define=i.define}(this,jQuery),DevExpress.define("/utils/utils.animationFrame",["jquery"],function(n){var e=1e3/60,t=function(n){return this.setTimeout(n,e)},i=function(n){this.clearTimeout(n)},r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame,f=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame,u;return r&&f&&(t=r,i=f),r&&!f&&(u={},t=function(n){var t=r.call(window,function(){try{if(t in u)return;n.apply(this,arguments)}finally{delete u[t]}});return t},i=function(n){u[n]=!0}),t=n.proxy(t,window),i=n.proxy(i,window),{request:t,cancel:i}}),DevExpress.define("/utils/utils.array",["jquery","/utils/utils.common","/utils/utils.object"],function(n,t,i){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||!n.isArray(i)||i.length===0)return[];var r=[];return n.each(t,function(t,u){var f=n.inArray(u,i);f!==-1&&r.push(u)}),r},e=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},o=function(r,u,f,e){var o={},s=0;return n.each(r,function(n,i){n=i[u];t.isDefined(n)&&(o[n]=o[n]||[],i===f?o[n].unshift(i):o[n].push(i),delete i[u])}),i.orderEach(o,function(t,i){n.each(i,function(){t>=0&&(this[u]=s++)})}),n.each(r,function(){t.isDefined(this[u])||e&&!e(this)||(this[u]=s++)}),s};return{isEmpty:r,wrapToArray:u,intersection:f,removeDublicates:e,normalizeIndexes:o}}),DevExpress.define("/utils/utils.browser",["jquery"],function(n){var i=/(webkit)[ \/]([\w.]+)/,r=/(msie) (\d{1,2}\.\d)/,u=/(trident).*rv:(\d{1,2}\.\d)/,f=/(edge)\/((\d+)?[\w\.]+)/,e=/(mozilla)(?:.*? rv:([\w.]+))/,t=function(n){n=n.toLowerCase();var o={},s=r.exec(n)||u.exec(n)||f.exec(n)||n.indexOf("compatible")<0&&e.exec(n)||i.exec(n)||[],t=s[1],h=s[2];return(t==="trident"||t==="edge")&&(t="msie"),t&&(o[t]=!0,o.version=h),o};return n.extend({_fromUA:t},t(navigator.userAgent))}),DevExpress.define("/utils/utils.caret",["jquery","/utils/utils.common","/utils/utils.browser"],function(n,t,i){var u=i.msie&&parseInt(i.version)<=11,f=function(n){return r(n)?o(n):{start:n.selectionStart,end:n.selectionEnd}},e=function(t,i){if(r(t)){s(t,i);return}n.contains(document,t)&&(t.selectionStart=i.start,t.selectionEnd=i.end)},r=function(n){return!n.setSelectionRange},o=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}},s=function(t,i){if(n.contains(document,t)){var r=t.createTextRange();r.collapse(!0);r.moveStart("character",i.start);r.moveEnd("character",i.end-i.start);r.select()}};return function(i,r){if(i=n(i).get(0),!t.isDefined(r))return f(i);u&&document.activeElement!==i||e(i,r)}}),DevExpress.define("/utils/utils.common",["jquery"],function(n){var t=function(n){return n!==null&&n!==undefined},r=function(t){return n.type(t)==="string"},i=function(t){return typeof t=="number"&&isFinite(t)||n.isNumeric(t)},u=function(t){return n.type(t)==="object"},f=function(t){return n.type(t)==="array"},e=function(t){return n.type(t)==="date"},o=function(t){return n.type(t)==="boolean"},s=function(t){return n.type(t)==="function"},h=function(t){return n.inArray(n.type(t),["object","array","function"])===-1},c=function(n){return i(n)&&n.toString().indexOf("e")!==-1},l=function(n,i){return t(n)?n:i},a=function(n){var t=n||DevExpress.rtlEnabled;return t?"right":"left"},v=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},y=function(t,i,r){var u=[],f=0;return n.each(i,function(i,e){var o=0,s=r?r(e):e;(n.each(t,function(n,t){var i=s[n];if(i!==undefined){if(p(i,t)){o++;return}return o=-1,!1}}),o<f)||(o>f&&(u.length=0,f=o),u.push(e))}),u},p=function(t,i){if(n.isArray(t)&&n.isArray(i)){var r=!1;return(n.each(t,function(n,t){if(t!==i[n])return r=!0,!1}),r)?!1:!0}return t===i?!0:!1},w=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}},b=function(n){switch(typeof n){case"string":return n.split(/\s+/,4);case"object":return[n.x||n.h||n.left,n.y||n.v||n.top,n.x||n.h||n.right,n.y||n.v||n.bottom];case"number":return[n];default:return n}};return{isDefined:t,isString:r,isNumber:i,isObject:u,isArray:f,isDate:e,isBoolean:o,isFunction:s,isPrimitive:h,isExponential:c,ensureDefined:l,executeAsync:v,splitPair:w,splitQuad:b,findBestMatches:y,getDefaultAlignment:a}}),DevExpress.define("/utils/utils.console",["jquery"],function(n){var t=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}}(),i=function(){function n(n,t){if(!n)throw new Error(t);}function t(t,i){n(t!==null&&t!==undefined,i)}return{assert:n,assertParam:t}}();return{logger:t,debug:i}}),DevExpress.define("/utils/utils.date",["jquery","/utils/utils.common","/utils/utils.inflector"],function(n,t,i){function v(n,t,i){var r=new Date(n.getTime()),u=a(t)?d(t.toLowerCase()):t;return u.years&&r.setFullYear(r.getFullYear()+u.years*i),u.quarters&&r.setMonth(r.getMonth()+3*u.quarters*i),u.months&&r.setMonth(r.getMonth()+u.months*i),u.weeks&&r.setDate(r.getDate()+7*u.weeks*i),u.days&&r.setDate(r.getDate()+u.days*i),u.hours&&r.setHours(r.getHours()+u.hours*i),u.minutes&&r.setMinutes(r.getMinutes()+u.minutes*i),u.seconds&&r.setSeconds(r.getSeconds()+u.seconds*i),u.milliseconds&&r.setMilliseconds(n.getMilliseconds()+u.milliseconds*i),r}var y=t.isObject,a=t.isString,p=t.isDate,u=t.isDefined,ut=i.camelize,f=["millisecond","second","minute","hour","day","week","month","quarter","year"],r=function(n){switch(n){case"millisecond":return 1;case"second":return r("millisecond")*1e3;case"minute":return r("second")*60;case"hour":return r("minute")*60;case"day":return r("hour")*24;case"week":return r("day")*7;case"month":return r("day")*30;case"quarter":return r("month")*3;case"year":return r("day")*365;default:return 0}},ft=function(n,t,i){var u=t.getTime()-n.getTime(),f=r(i)||1;return Math.floor(u/f)},et=function(n){for(var t,i,f=["millisecond","second","minute","hour","day","month","year"],e={},u=f.length-1;u>=0;u--)i=f[u],t=Math.floor(n/r(i)),t>0&&(e[i+"s"]=t,n-=s(i,t));return e},ot=function(t){var i=0;return y(t)&&n.each(t,function(n,t){i+=s(n.substr(0,n.length-1),t)}),a(t)&&(i=s(t,1)),i},s=function(n,t){return r(n)*t},w=function(t){var r=-1,i;return a(t)?t:y(t)?(n.each(t,function(n,t){for(i=0;i<f.length;i++)t&&(n===f[i]+"s"||n===f[i])&&r<i&&(r=i)}),f[r]):""},b=function(n){return Math.floor(n/3)},k=function(n){return b(n)*3},st=function(n,t,i){var e=new Date(n.getTime()),u,f,r=w(t);switch(r){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":u=n.getDate();n.getDay()!==0&&(u+=7-n.getDay());n.setDate(u);n.setHours(0,0,0,0);break;case"quarter":f=k(n.getMonth());n.getMonth()!==f&&n.setMonth(f);n.setDate(1);n.setHours(0,0,0,0)}i&&r!=="hour"&&r!=="minute"&&r!=="second"&&tt(e,n)},ht=function(n){return l.correctDateWithUnitBeginning(n,"day"),n},ct=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},lt=function(n,t,i){var r=i?-1:1;return p(n)?v(n,t,r):n+t*r},at=function(n,t){return n==="month"?new Date(t.getFullYear(),t.getMonth(),1):n==="year"?new Date(t.getFullYear(),0,t.getDate()):n==="decade"?new Date(o(t),t.getMonth(),t.getDate()):n==="century"?new Date(e(t),t.getMonth(),t.getDate()):void 0},vt=function(n,t){return n==="month"?new Date(t.getFullYear(),t.getMonth(),h(t)):n==="year"?new Date(t.getFullYear(),11,t.getDate()):n==="decade"?new Date(o(t)+9,t.getMonth(),t.getDate()):n==="century"?new Date(e(t)+90,t.getMonth(),t.getDate()):void 0},yt=function(n,t){var i=new Date(t.getFullYear(),t.getMonth(),1);return n==="month"?i:(i.setMonth(0),n==="year")?i:(n==="decade"&&i.setFullYear(o(t)),n==="century"&&i.setFullYear(e(t)),i)},pt=function(n,t){var i=new Date(t.getFullYear(),t.getMonth(),h(t));return n==="month"?i:(i.setMonth(11),i.setDate(h(i)),n==="year")?i:(n==="decade"&&i.setFullYear(o(t)+9),n==="century"&&i.setFullYear(e(t)+99),i)},h=function(n){var t=new Date(n.getFullYear(),n.getMonth()+1,0);return t.getDate()},wt=function(n,t,i){return l[ut("same "+n)](t,i)},bt=function(n){switch(n){case"month":return"year";case"year":return"decade";case"decade":return"century"}},kt=function(n){switch(n){case"century":return"decade";case"decade":return"year";case"year":return"month"}},dt=function(n){var t=1;return n==="year"&&(t=12),n==="decade"&&(t=120),n==="century"&&(t=1200),t},gt=function(n){var t=1;return n==="decade"&&(t=12),n==="century"&&(t=120),t},d=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},g=function(n,t){return n&&t&&n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()},ni=function(n,t){return n&&t&&n.getFullYear()===t.getFullYear()},ti=function(n,t){if(u(n)&&u(t)){var i=n.getFullYear()-n.getFullYear()%10,r=t.getFullYear()-t.getFullYear()%10;return n&&t&&i===r}},ii=function(n,t){if(u(n)&&u(t)){var i=n.getFullYear()-n.getFullYear()%100,r=t.getFullYear()-t.getFullYear()%100;return n&&t&&i===r}},e=function(n){return n&&n.getFullYear()-n.getFullYear()%100},o=function(n){return n&&n.getFullYear()-n.getFullYear()%10},ri=function(n){return Globalize.format(n,"yyyy'/'M'/'d")},ui=function(n){if(u(n))return new Date(n.getFullYear(),n.getMonth(),1)},fi=function(n){if(u(n))return new Date(n.getFullYear(),n.getMonth()+1,0)},ei=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},oi=function(n,t){var r=l.getDatesInterval(n,t,"day"),i=new Date(n);return r>=6&&(i=new Date(i.setDate(i.getDate()+7))),i},si=function(n,t,i,r){return r==="date"&&(t=t&&new Date(t.getFullYear(),t.getMonth(),t.getDate()),i=i&&new Date(i.getFullYear(),i.getMonth(),i.getDate()),n=n&&new Date(n.getFullYear(),n.getMonth(),n.getDate())),nt(n,t,i)===n},nt=function(n,t,i){var r=n;return u(n)?(u(t)&&n<t&&(r=t),u(i)&&n>i&&(r=i),r):n},tt=function(n,t){if(u(n)){var i=t.getHours()-n.getHours(),r,f;i!==0&&(r=i===1||i===-23?-1:1,f=new Date(t.getTime()+r*36e5),(r>0||f.getDate()===t.getDate())&&t.setTime(f.getTime()))}},hi=function(n,t){return(t.getTimezoneOffset()-n.getTimezoneOffset())*6e4},ci=function(n){return n instanceof Date||(n=new Date(n)),n},c="number",it="yyyy'/'MM'/'dd",rt="yyyy'/'MM'/'dd HH:mm:ss",li=function(n){return t.isNumber(n)?c:t.isString(n)?n.indexOf(":")>=0?rt:it:void 0},ai=function(n,t){var i;return!t||t===c||t===it||t===rt?(i=t===c?n:!p(n)&&Date.parse(n),i?new Date(i):n):n!==undefined?Globalize.parseDate(n,t):void 0},vi=function(n,t){return t===c?n&&n.valueOf&&n.valueOf():t?Globalize.format(n,t):n},l={dateUnitIntervals:f,convertMillisecondsToDateUnits:et,dateToMilliseconds:ot,convertDateUnitToMilliseconds:s,getDateUnitInterval:w,getDatesDifferences:ct,correctDateWithUnitBeginning:st,trimTime:ht,addDateInterval:v,addInterval:lt,getDateIntervalByString:d,sameMonthAndYear:g,sameMonth:g,sameYear:ni,sameDecade:ti,sameCentury:ii,sameView:wt,getDifferenceInMonth:dt,getDifferenceInMonthForCells:gt,getFirstYearInDecade:o,getFirstDecadeInCentury:e,getShortDate:ri,getViewFirstCellDate:at,getViewLastCellDate:vt,getViewDown:kt,getViewUp:bt,getLastMonthDay:h,getLastMonthDate:fi,getFirstMonthDate:ui,getFirstWeekDate:ei,normalizeDateByWeek:oi,getQuarter:b,getFirstQuarterMonth:k,dateInRange:si,normalizeDate:nt,getViewMinBoundaryDate:yt,getViewMaxBoundaryDate:pt,fixTimezoneGap:tt,getTimezonesDifference:hi,makeDate:ci,deserializeDate:ai,serializeDate:vi,getDateSerializationFormat:li,getDatesInterval:ft};return l}),DevExpress.define("/utils/utils.dom",["jquery","/errors","/utils/utils.support","/utils/utils.window","/utils/utils.common","/devices"],function(n,t,i,r,u,f){var l=function(){var n=document.activeElement;n&&n!==document.body&&n.blur&&n.blur()},o=function(){return window.getSelection?window.getSelection():document.selection?document.selection:null},a=function(){var n=o();n&&n.type!=="Caret"&&(n.empty?n.empty():n.removeAllRanges&&n.removeAllRanges())},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(t){var o,e,c;t=n.extend({},t);var u=f.real(),s=t.allowZoom,h=t.allowPan,a="allowSelection"in t?t.allowSelection:u.platform==="generic",l="meta[name=viewport]";if(n(l).length||n("<meta />").attr("name","viewport").appendTo("head"),o=["width=device-width"],e=[],s?e.push("pinch-zoom"):o.push("initial-scale=1.0","maximum-scale=1.0, user-scalable=no"),h&&e.push("pan-x","pan-y"),h||s?n("html").css("-ms-overflow-style","-ms-autohiding-scrollbar"):n("html, body").css({"-ms-content-zooming":"none","-ms-user-select":"none",overflow:"hidden"}),!a&&i.supportProp("user-select")&&n(".dx-viewport").css(i.styleProp("user-select"),"none"),n(l).attr("content",o.join()),n("html").css("-ms-touch-action",e.join(" ")||"none"),u=f.real(),i.touch&&!(u.platform==="win"&&u.version[0]===10))n(document).off(".dxInitMobileViewport").on("dxpointermove.dxInitMobileViewport",function(n){var t=n.pointers.length,i=n.pointerType==="touch",r=!s&&t>1,u=!h&&t===1&&!n.isScrollingEvent;i&&(r||u)&&n.preventDefault()});u.ios&&(c=document.location.protocol==="file:",c||r.resizeCallbacks.add(function(){var t=n(window).width();n("body").width(t)}));u.android&&r.resizeCallbacks.add(function(){document.activeElement.scrollIntoViewIfNeeded()})},e=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)})}},p=function(){var n=0;return function(t){return(t||"")+n++}}(),s="data-options",h=function(i){var r=n(i).attr(s),u;n.trim(r).charAt(0)!=="{"&&(r="{"+r+"}");try{u=new Function("return "+r)()}catch(f){throw t.Error("E3018",f,r);}return u},w=function(t,i){var r=[],u="["+s+"]";return t.find(u).addBack(u).each(function(t,u){var e=n(u),o=h(u);for(var f in o)(!i||n.inArray(f,i)>-1)&&e[f]&&(e[f](o[f]),r.push(e[f]("instance")))}),r},b=function(t){if(!window.WinJS)return n(t);var i=n("<div />");return window.WinJS.Utilities.setInnerHTMLUnsafe(i.get(0),t),i.contents()},c=function(t){var i=u.isDefined(t)&&(t.nodeType||t.jquery)?n(t):n("<div>").html(t).contents();return i.length===1&&i.is("script")&&(i=c(i.html())),i},k=function(n,t,i){i?n.attr(t,i):n.removeAttr(t)},d=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)};return{resetActiveElement:l,createMarkupFromString:b,triggerShownEvent:e("dxshown"),triggerHidingEvent:e("dxhiding"),triggerResizeEvent:e("dxresize"),initMobileViewport:y,getElementOptions:h,createComponents:w,normalizeTemplateElement:c,clearSelection:a,getSelection:o,uniqueId:p,closestCommonParent:v,clipboardText:d,toggleAttr:k}}),DevExpress.define("/utils/utils.error",["jquery","/utils/utils.console","/utils/utils.string","/version"],function(n,t,i,r){var u="http://js.devexpress.com/error/"+r.split(".").slice(0,2).join("_")+"/";return function(r,f){var e={ERROR_MESSAGES:n.extend(f,r),Error:function(){return c(n.makeArray(arguments))},log:function(i){var r="log";/^E\d+$/.test(i)?r="error":/^W\d+$/.test(i)&&(r="warn");t.logger[r](r==="log"?i:h(n.makeArray(arguments)))}},h=function(n){var t=n[0];return n=n.slice(1),s(t,o(t,n))},o=function(n,t){return t=[e.ERROR_MESSAGES[n]].concat(t),i.format.apply(this,t).replace(/\.*\s*?$/,"")},s=function(n,t){return i.format.apply(this,["{0} - {1}. See:\n{2}",n,t,u+n])},c=function(t){var i,r,u;return i=t[0],t=t.slice(1),r=o(i,t),u=s(i,r),n.extend(new Error(u),{__id:i,__details:r})};return e}}),DevExpress.define("/utils/utils.formatHelper",["jquery","/utils/utils.common","/utils/utils.string","/utils/utils.date"],function(n,t,i,r){var h=4,o=10,f={currency:"C",fixedpoint:"N",exponential:"",percent:"P",decimal:"D"},s={largenumber:"auto",thousands:1,millions:2,billions:3,trillions:4},e={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"},u={defaultQuarterFormat:"Q{0}",defaultLargeNumberFormatPostfixes:{1:"K",2:"M",3:"B",4:"T"},defaultDateTimeFormat:e,romanDigits:["I","II","III","IV"],_addFormatSeparator:function(n,t){return t?n+" "+t:n},_getDateTimeFormatPattern:function(n){return Globalize.findClosestCulture().calendar.patterns[e[n.toLowerCase()]]},_isDateFormatContains:function(n){return n.toLowerCase()in e},_getQuarterString:function(n,t){var f=r.getQuarter(n.getMonth());switch(t){case"q":return u.romanDigits[f];case"qq":return i.format(u.defaultQuarterFormat,u.romanDigits[f]);case"Q":return(f+1).toString();case"QQ":return i.format(u.defaultQuarterFormat,(f+1).toString())}return""},_formatCustomString:function(n,t){var e=/qq|q|QQ|Q/g,i,f="",r=0;for(e.lastIndex=0;r<t.length;)i=e.exec(t),(!i||i.index>r)&&(f+=Globalize.format(n,t.substring(r,i?i.index:t.length))),i?(f+=u._getQuarterString(n,i[0]),r=i.index+i[0].length):r=t.length;return f},_parseNumberFormatString:function(t){var r,i={};if(t&&typeof t=="string")return r=t.toLowerCase().split(" "),n.each(r,function(n,t){t in f?i.formatType=t:t in s&&(i.power=s[t])}),i.power&&!i.formatType&&(i.formatType="fixedpoint"),i.formatType?i:void 0},_calculateNumberPower:function(n,t,i,r){var u=Math.abs(n),f=0;if(u>1)while(u&&u>=t&&(r===undefined||f<r))f++,u=u/t;else if(u>0&&u<1)while(u<1&&(i===undefined||f>i))f--,u=u*t;return f},_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,t,i){var r;return t.power==="auto"&&(t.power=u._calculateNumberPower(n,1e3,0,h)),t.power&&(n=u._getNumberByPower(n,t.power,1e3)),r=u.defaultLargeNumberFormatPostfixes[t.power]||"",u._formatNumberCore(n,t.formatType,i)+r},_formatNumberExponential:function(n,t){var i=u._calculateNumberPower(n,o),r=u._getNumberByPower(n,i,o),f;return t=t===undefined?1:t,r.toFixed(t||0)>=o&&(i++,r=r/o),f=(i>=0?"+":"")+i.toString(),u._formatNumberCore(r,"fixedpoint",t)+"E"+f},_formatNumberCore:function(n,i,r){return i==="exponential"?u._formatNumberExponential(n,r):Globalize.format(n,f[i]+(t.isNumber(r)?r:0))},_formatDate:function(n,t){var i=e[t.toLowerCase()];return(t=t.toLowerCase(),t==="quarterandyear"&&(i=u._getQuarterString(n,i)+" yyyy"),t==="quarter")?u._getQuarterString(n,i):t==="longdatelongtime"?u._formatDate(n,"longdate")+" "+u._formatDate(n,"longtime"):t==="shortdateshorttime"?u._formatDate(n,"shortDate")+" "+u._formatDate(n,"shortTime"):Globalize.format(n,i)},format:function(i,r,f){if(n.isPlainObject(r)&&r.format){if(r.dateType)return u._formatDateEx(i,r);if(t.isNumber(i)&&isFinite(i))return u._formatNumberEx(i,r)}return u._format(i,r,f)},_format:function(n,i,r){var f;return!t.isString(i)||i===""||!t.isNumber(n)&&!t.isDate(n)?t.isDefined(n)?n.toString():"":(f=u._parseNumberFormatString(i),t.isNumber(n)&&f)?u._formatNumber(n,f,r):t.isDate(n)&&u._isDateFormatContains(i)?u._formatDate(n,i):!f&&!u._isDateFormatContains(i)?u._formatCustomString(n,i):void 0},_formatNumberEx:function(n,i){var p=u,w=f[i.format.toLowerCase()],o=Globalize.culture().numberFormat,d=i.currencyCulture&&Globalize.cultures[i.currencyCulture]?Globalize.cultures[i.currencyCulture].numberFormat.currency:o.currency,g=o.percent,a=p._getUnitFormatSettings(n,i),b=a.unitPower,v=a.precision,it=a.showTrailingZeros,rt=a.includeGroupSeparator,ut=o[","],ft=o["."],r,y,h,e,nt=/n|\$|-|%/g,s="",c,k,tt,l;if(!t.isDefined(n))return"";n=u._getNumberByPower(n,b,1e3);r=Math.abs(n);y=n<0;switch(w){case f.decimal:if(h="n",r=Math[y?"ceil":"floor"](r),v>0){for(c=""+r,k=c.length;k<v;k+=1)c="0"+c;r=c}y&&(r="-"+r);break;case f.fixedpoint:e=o;case f.currency:e=e||d;case f.percent:e=e||g;h=y?e.pattern[0]:e.pattern[1]||"n";r=Globalize.format(r*(w===f.percent?100:1),"N"+v);it||(r=p._excludeTrailingZeros(r,ft));rt||(r=r.replace(new RegExp("\\"+ut,"g"),""));break;case f.exponential:return p._formatNumberExponential(n,v);default:throw"Illegal numeric format: '"+w+"'";}for(;;)if(tt=nt.lastIndex,l=nt.exec(h),s+=h.slice(tt,l?l.index:h.length),l)switch(l[0]){case"-":/[1-9]/.test(r)&&(s+=o["-"]);break;case"$":s+=d.symbol;break;case"%":s+=g.symbol;break;case"n":s+=r+(b>0?u.defaultLargeNumberFormatPostfixes[b]:"")}else break;return(i.plus&&n>0?"+":"")+s},_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 f=t.unitPower||"",r=t.precision||0,s=t.includeGroupSeparator||!1,o=t.showTrailingZeros===undefined?!0:t.showTrailingZeros,u=t.significantDigits||1,i,e;if(f.toString().toLowerCase()==="auto")if(o=!1,i=Math.abs(n),u<1&&(u=1),i>=1e9?(f=3,i/=1e9):i>=1e6?(f=2,i/=1e6):i>=1e3?(f=1,i/=1e3):f=0,i===0)r=0;else if(i<1)for(r=u,e=Math.pow(10,-u);i<e;)e/=10,r++;else r=i>=100?u-3:i>=10?u-2:u-1;return r<0&&(r=0),{unitPower:f,precision:r,showTrailingZeros:o,includeGroupSeparator:s}},_formatDateEx:function(r,f){var o=u,a=f.format,e=f.dateType,l=Globalize.culture().calendars.standard,h,c,s;if(a=a.toLowerCase(),!t.isDefined(r))return"";if(e!=="num"||a==="dayofweek")switch(a){case"monthyear":return o._formatDate(r,"monthandyear");case"quarteryear":return o._getQuarterString(r,"QQ")+" "+r.getFullYear();case"daymonthyear":return o._formatDate(r,e+"Date");case"datehour":return h=new Date(r.getTime()),h.setMinutes(0),s=e==="timeOnly"?"":o._formatDate(r,e+"Date"),e==="timeOnly"?o._formatDate(h,"shorttime"):s+" "+o._formatDate(h,"shorttime");case"datehourminute":return s=e==="timeOnly"?"":o._formatDate(r,e+"Date"),e==="timeOnly"?o._formatDate(r,"shorttime"):s+" "+o._formatDate(r,"shorttime");case"datehourminutesecond":return s=e==="timeOnly"?"":o._formatDate(r,e+"Date"),e==="timeOnly"?o._formatDate(r,"longtime"):s+" "+o._formatDate(r,"longtime");case"year":return s=r.toString(),e==="abbr"?s.slice(2,4):s;case"dateyear":return e==="abbr"?o._formatDate(r,"shortyear"):o._formatDate(r,"year");case"quarter":return i.format(o.defaultQuarterFormat,r.toString());case"month":return c=r-1,e==="abbr"?l.months.namesAbbr[c]:l.months.names[c];case"hour":return e==="long"?(h=new Date,h.setHours(r),h.setMinutes(0),o._formatDate(h,"shorttime")):r.toString();case"dayofweek":return(c=t.isString(r)?n.inArray(r,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]):r,e!=="num")?e==="abbr"?l.days.namesAbbr[c]:l.days.names[c]:((c-l.firstDay+1+7)%8).toString();default:return r.toString()}else return r.toString()},getTimeFormat:function(n){return n?u._getDateTimeFormatPattern("longtime"):u._getDateTimeFormatPattern("shorttime")},getDateFormatByDifferences:function(n){var t="";return(n.millisecond&&(t=e.millisecond),(n.hour||n.minute||n.second)&&(t=u._addFormatSeparator(u.getTimeFormat(n.second),t)),n.year&&n.month&&n.day)?u._addFormatSeparator(u._getDateTimeFormatPattern("shortdate"),t):n.year&&n.month?e.monthandyear:n.year?e.year:n.month&&n.day?u._addFormatSeparator(u._getDateTimeFormatPattern("monthandday"),t):n.month?e.month:n.day?u._addFormatSeparator("dddd, dd",t):t},getDateFormatByTicks:function(n){var t,f,i;if(n.length>1)for(t=r.getDatesDifferences(n[0],n[1]),i=1;i<n.length-1;i++)f=r.getDatesDifferences(n[i],n[i+1]),t.count<f.count&&(t=f);else t={year:!0,month:!0,day:!0,hour:n[0].getHours()>0,minute:n[0].getMinutes()>0,second:n[0].getSeconds()>0};return u.getDateFormatByDifferences(t)},getDateFormatByTickInterval:function(n,i,f){var h,e,o,s=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}},c=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 f=t.isString(f)?f.toLowerCase():f,e=r.getDatesDifferences(n,i),n!==i&&c(e,n>i?i:n,n>i?n:i),o=r.getDateUnitInterval(e),s(e,o,!0),o=r.getDateUnitInterval(f||"second"),s(e,o,!1),e[{quarter:"month",week:"day"}[o]||o]=!0,h=u.getDateFormatByDifferences(e)}};return u}),DevExpress.define("/utils/utils.hardwareBack",["jquery"],function(n){var t=n.Callbacks();return{process:function(){t.fire()},processCallback:t}}),DevExpress.define("/utils/utils.icon",["jquery"],function(n){var t=function(n){return!n||typeof n!="string"?!1:/data:.*base64|\.|\//.test(n)?"image":/^[\w-_]+$/.test(n)?"dxIcon":"fontIcon"},i=function(i){var u=t(i),r="dx-icon";switch(u){case"image":return n("<img>",{src:i}).addClass(r);case"fontIcon":return n("<i>",{"class":r+" "+i});case"dxIcon":return n("<i>",{"class":r+" "+r+"-"+i});default:return null}};return{getImageSourceType:t,getImageContainer:i}}),DevExpress.define("/utils/utils.inflector",["jquery"],function(n){var u=function(n){return n===undefined||n===null?"":String(n)},t=function(n){return u(n).charAt(0).toUpperCase()+n.substr(1)},i=function(n){return u(n).replace(/([a-z\d])([A-Z])/g,"$1 $2").split(/[\s_-]+/)},r=function(t){return n.map(i(t),function(n){return n.toLowerCase()}).join("-")},f=function(n){return r(n).replace(/-/g,"_")},e=function(r,u){return n.map(i(r),function(n,i){return n=n.toLowerCase(),(u||i>0)&&(n=t(n)),n}).join("")},o=function(n){return t(r(n).replace(/-/g," "))},s=function(r){return n.map(i(r),function(n){return t(n.toLowerCase())}).join(" ")},h=function(n){for(var r=[],t,f=!1,i=!1,u=0;u<n.length;u++)t=n.charAt(u),i=t===t.toUpperCase()||t in["0","1","2","3","4","5","6","7","8","9"],t==="_"||t==="."?(t=" ",i=!0):u===0?(t=t.toUpperCase(),i=!0):!f&&i&&r.length>0&&r.push(" "),r.push(t),f=i;return r.join("")};return{dasherize:r,camelize:e,humanize:o,titleize:s,underscore:f,captionize:h}}),DevExpress.define("/utils/utils.inkRipple",["jquery","/action"],function(n){var i="dx-inkripple",r="dx-inkripple-wave",u="dx-inkripple-showing",f="dx-inkripple-hiding",h=2,c=4e3,t=300,l=1e3,e=0,a=function(t){t=t||{};t.useHoldAnimation===undefined&&(t.useHoldAnimation=!0);var i={waveSizeCoefficient:t.waveSizeCoefficient||h,isCentered:t.isCentered||!1,wavesNumber:t.wavesNumber||1,durations:b(t.useHoldAnimation)};return{showWave:n.proxy(p,null,i),hideWave:n.proxy(k,null,i)}},v=function(t){var r=t.children("."+i);return r.length===0&&(r=n("<div>").addClass(i).appendTo(t)),r},o=function(t,i){for(var f=v(t),u=f.children("."+r),e,o=u.length;o<i;o++)e=n("<div>").appendTo(f).addClass(r),u.push(e[0]);return u},y=function(n,t){var o=t.element,r=o.width(),u=o.height(),l=parseInt(Math.sqrt(r*r+u*u)),i=Math.min(c,parseInt(l*n.waveSizeCoefficient)),f,e;if(n.isCentered)f=(r-i)/2,e=(u-i)/2;else{var s=t.jQueryEvent,h=t.element.offset(),a=s.pageX-h.left,v=s.pageY-h.top;f=a-i/2;e=v-i/2}return{left:f,top:e,height:i,width:i}},p=function(t,i){var r=o(i.element,t.wavesNumber).eq(i.wave||e);t.hidingTimeout&&clearTimeout(t.hidingTimeout);s(r);r.css(y(t,i));setTimeout(n.proxy(w,null,t,r),0)},w=function(n,t){var i=n.durations.showingScale+"ms";t.addClass(u).css("transition-duration",i)},b=function(n){return{showingScale:n?l:t,hidingScale:t,hidingOpacity:t}},s=function(n){n.removeClass(f).css("transition-duration","")},k=function(t,i){var h=o(i.element,i.wavesNumber).eq(i.wave||e),r=t.durations,l=r.hidingScale+"ms, "+r.hidingOpacity+"ms",c;h.addClass(f).removeClass(u).css("transition-duration",l);c=Math.max(r.hidingScale,r.hidingOpacity);t.hidingTimeout=setTimeout(n.proxy(s,null,h),c)};return{render:a}}),DevExpress.define("/utils/utils.knockout",["/utils/utils.support"],function(n){var t=window.ko,i=function(i){return n.hasKo?t.utils.unwrapObservable(i):i},r=function(i){return n.hasKo&&t.isObservable(i)};return{unwrapObservable:i,isObservable:r}}),DevExpress.define("/utils/utils.locker",["jquery","/errors"],function(){return 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}}}}),DevExpress.define("/utils/utils.math",["/utils/utils.common"],function(n){var a=Math.PI,v=Math.LN10,y=Math.cos,p=Math.sin,i=Math.abs,w=Math.log,b=Math.floor,k=Math.ceil,d=Math.max,r=window.isNaN,s=window.Number,h=window.NaN,c=n.isNumber,u=n.isExponential,f=function(n){var f,e=n.toString(),o=e.indexOf("."),i,r;return u(n)?(r=t(n),r<0?Math.abs(r):0):o!==-1?(i=o+1,f=e.substring(i,i+20),f.length):0},g=function(n,t){return n?Math.log(n)/Math.log(t):h},nt=function(n,t){return Math.pow(t,n)},tt=function(n){return n===0?0:n/i(n)},it=function(n){return(n%360+360)%360},rt=function(n){return 90-n},l=function(n){return a*n/180},ut=function(n){var t=l(n);return{cos:y(t),sin:p(t)}},ft=1e-14,et=function(n,t,i,r){var u=i-n,f=r-t;return Math.sqrt(f*f+u*u)},t=function(n){var t=i(n),u;return r(t)?h:t>0?(t=w(t)/v,u=k(t),u-t<ft?u:b(t)):0},ot=function(n,u,f){var o=d(t(n),t(u)),e=-t(i(u-n)/f),s;return!r(o)&&!r(e)?(i(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},e=function(n){var t,i;return c(n)&&(t=n.toString(),i=t.indexOf("."),i>=0)?u(n)?t.substr(i+1,t.indexOf("e")-i-1):(t=n.toFixed(20),t.substr(i+1,t.length-i+1)):""},st=function(n){var i=e(n),t;if(i)for(t=0;t<i.length;t++)if(i.charAt(t)!=="0")return t+1;return 0},ht=function(n){var i=e(n),r,t;if(i)for(t=1;t<=i.length;t++)if(r=o(n,t),r!==0&&i[t-2]&&i[t-1]&&i[t-2]===i[t-1])return r;return n},o=function(n,t){return t>20&&(t=20),c(n)?u(n)?s(n.toExponential(t)):s(n.toFixed(t)):void 0},ct=function(n,t,i){var r=f(n),u=f(t);return o(i,r<u?u:r)},lt=function(n,t,i){return Math.min(Math.max(n,t),i)},at=function(n){return n.toExponential().split("e")[1]};return{getPrecision:f,getLog:g,raiseTo:nt,sign:tt,normalizeAngle:it,convertAngleToRendererSpace:rt,degreesToRadians:l,getCosAndSin:ut,getDecimalOrder:t,getAppropriateFormat:ot,getDistance:et,getFraction:e,adjustValue:ht,roundValue:o,applyPrecisionByMinDelta:ct,getSignificantDigitPosition:st,getPower:at,fitIntoRange:lt}}),DevExpress.define("/utils/utils.memorizedCallbacks",["jquery"],function(n){return function(){var i=[],t=n.Callbacks();this.add=function(r){n.each(i,function(n,t){r.apply(r,t)});t.add(r)};this.fire=function(){i.push(arguments);t.fire.apply(t,arguments)}}}),DevExpress.define("/utils/utils.object",["jquery","/utils/utils.common"],function(n,t){var r=function(){function n(){}return function(t){return n.prototype=t,new n}}(),u=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},f=function(n,i){var u=[],r,f;for(r in n)u.push(r);for(u.sort(function(n,i){var r=t.isNumber(n),u=t.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])},i=function(t,r){var e,u;for(var f in r)(e=t[f],u=r[f],t!==u)&&(!n.isPlainObject(u)||u instanceof n.Event?u!==undefined&&(t[f]=u):t[f]=i(n.isPlainObject(e)?e:{},u));return t};return{clone:r,extendFromObject:u,orderEach:f,deepExtendArraySafe:i}}),DevExpress.define("/utils/utils.position",function(n,t,i){var r=i("jquery"),c=i("/utils/utils.translator"),g=i("/utils/utils.string"),l=i("/utils/utils.support"),a=i("/utils/utils.common"),nt=/left|right/,tt=/top|bottom/,v=/fit|flip|none/,e=function(n){var t={h:"center",v:"center"},i=a.splitPair(n);return i&&r.each(i,function(){var n=String(this).toLowerCase();nt.test(n)?t.h=n:tt.test(n)&&(t.v=n)}),t},y=function(n){return g.pairToObject(n)},it=function(n){var t=a.splitPair(n),i=String(t&&t[0]).toLowerCase(),r=String(t&&t[1]).toLowerCase();return v.test(i)||(i="none"),v.test(r)||(r=i),{h:i,v:r}},p=function(n){switch(n){case"center":return.5;case"right":case"bottom":return 1;default:return 0}},o=function(n){switch(n){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top";default:return n}},s=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},w=function(n,t,i){return t.myLocation<i.min?n==="h"?"left":"top":t.myLocation>i.max?n==="h"?"right":"bottom":"none"},h=function(n){n.myLocation=n.atLocation+p(n.atAlign)*n.atSize-p(n.myAlign)*n.mySize+n.offset},u={fit:function(n,t){var i=!1;n.myLocation>t.max&&(n.myLocation=t.max,i=!0);n.myLocation<t.min&&(n.myLocation=t.min,i=!0);n.fit=i},flip:function(n,t){if((n.flip=!1,n.myAlign!=="center"||n.atAlign!=="center")&&(n.myLocation<t.min||n.myLocation>t.max)){var i=r.extend({},n,{myAlign:o(n.myAlign),atAlign:o(n.atAlign),offset:-n.offset});h(i);i.oversize=s(i,t);(i.myLocation>=t.min&&i.myLocation<=t.max||n.oversize>i.oversize)&&(n.myLocation=i.myLocation,n.oversize=i.oversize,n.flip=!0)}},flipfit:function(n,t){this.flip(n,t);this.fit(n,t)},none:function(n){n.oversize=0}},f,b=function(){var n=r("<div>").css({width:100,height:100,overflow:"scroll",position:"absolute",top:-9999}).appendTo(r("body")),t=n.get(0).offsetWidth-n.get(0).clientWidth;n.remove();f=t},rt={h:{location:0,flip:!1,fit:!1,oversize:0},v:{location:0,flip:!1,fit:!1,oversize:0}},k=function(n,t){var p=r(n),g=p.offset(),k=r.extend(!0,{},rt,{h:{location:g.left},v:{location:g.top}}),d,a,v;if(!t)return k;var nt=e(t.my),tt=e(t.at),c=t.of||window,ut=y(t.offset),ft=it(t.collision),et=t.boundary,ot=y(t.boundaryOffset),i={mySize:p.outerWidth(),myAlign:nt.h,atAlign:tt.h,offset:ut.h,collision:ft.h,boundaryOffset:ot.h},o={mySize:p.outerHeight(),myAlign:nt.v,atAlign:tt.v,offset:ut.v,collision:ft.v,boundaryOffset:ot.v};return c.preventDefault?(i.atLocation=c.pageX,o.atLocation=c.pageY,i.atSize=0,o.atSize=0):(c=r(c),r.isWindow(c[0])?(i.atLocation=c.scrollLeft(),o.atLocation=c.scrollTop(),i.atSize=c.width(),o.atSize=c.height()):c[0].nodeType===9?(i.atLocation=0,o.atLocation=0,i.atSize=c.width(),o.atSize=c.height()):(d=c.offset(),i.atLocation=d.left,o.atLocation=d.top,i.atSize=c.outerWidth(),o.atSize=c.outerHeight())),h(i),h(o),a=function(){var n=r(window),u=n.width(),e=n.height(),s=n.scrollLeft(),h=n.scrollTop(),y=document.width>document.documentElement.clientWidth,p=document.height>document.documentElement.clientHeight,w=l.touch?document.documentElement.clientWidth/(p?u-f:u):1,k=l.touch?document.documentElement.clientHeight/(y?e-f:e):1,c,a,t,v;return f===undefined&&b(),c=u,a=e,et&&(t=r(et),v=t.offset(),s=v.left,h=v.top,c=t.width(),a=t.height()),{h:{min:s+i.boundaryOffset,max:s+c/w-i.mySize-i.boundaryOffset},v:{min:h+o.boundaryOffset,max:h+a/k-o.mySize-o.boundaryOffset}}}(),i.oversize=s(i,a.h),o.oversize=s(o,a.v),i.collisionSide=w("h",i,a.h),o.collisionSide=w("v",o,a.v),u[i.collision]&&u[i.collision](i,a.h),u[o.collision]&&u[o.collision](o,a.v),v=function(n){return t.precise?n:Math.round(n)},r.extend(!0,k,{h:{location:v(i.myLocation),oversize:v(i.oversize),fit:i.fit,flip:i.flip,collisionSide:i.collisionSide},v:{location:v(o.myLocation),oversize:v(o.oversize),fit:o.fit,flip:o.flip,collisionSide:o.collisionSide},precise:t.precise}),k},d=function(n,t){var i=r(n);if(!t)return i.offset();c.resetPosition(i);var f=i.offset(),u=t.h&&t.v?t:k(i,t),e=function(n){return t.precise?n:Math.round(n)};return c.move(i,{left:u.h.location-e(f.left),top:u.v.location-e(f.top)}),u};r.extend(d,{inverseAlign:o,normalizeAlign:e});n.exports={calculateScrollbarWidth:b,calculate:k,setup:d}}),DevExpress.define("/utils/utils.proxyUrlFormatter",["jquery"],function(n){var r=window.location,i="dxproxy.devexpress.com:8000",f=r.host===i,t={},u=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}}(),e=function(){return r.pathname.split("/")[1]};return{parseUrl:u,isProxyUsed:function(){return f},formatProxyUrl:function(n){var r=u(n),f,o;return/^(localhost$|127\.)/i.test(r.hostname)?(f=i+"/"+e()+"_"+r.port,t[f]=r.hostname+":"+r.port,o="http://"+f+r.pathname+r.search):n},formatLocalUrl:function(n){var u,r;if(n.indexOf(i)<0)return n;u=n;for(r in t)if(t.hasOwnProperty(r)&&n.indexOf(r)>=0){u=n.replace(r,t[r]);break}return u}}}),DevExpress.define("/utils/utils.publicComponent",["jquery","/utils/utils.weakMap","/utils/utils.common"],function(n,t,i){var u="dxComponents",f="dxPrivateComponent",r=new t,e=0;return{attachInstanceToElement:function(t,i,r){t=n(t).get(0);n.data(t,i,r);n.data(t,u)||n.data(t,u,[]);n.data(t,u).push(i)},getInstanceByElement:function(t,i){return t=n(t).get(0),n.data(t,i)},getName:function(n){if(i.isDefined(n)){r.set(this,n);return}if(!r.has(this)){var t=f+e++;return r.set(this,t),t}return r.get(this)}}}),DevExpress.define("/utils/utils.queue",["jquery","/errors"],function(n){function t(t){function u(){while(i.length){r=!0;var f=i.shift(),t=f();if(t!==undefined&&t.then){n.when(t).always(u);return}}r=!1}function f(n,f){t?(i[0]&&f&&f(i[0]),i=[n]):i.push(n);r||u()}function e(){return r}var i=[],r=!1;return{add:f,busy:e}}return{create:t,enqueue:t().add}}),DevExpress.define("/utils/utils.recurrence",["jquery","/errors","/utils/utils.date"],function(n,t,i){var a={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)}},v={bysecond:"getSeconds",byminute:"getMinutes",byhour:"getHours",bymonth:"getMonth",bymonthday:"getDate",byday:"getDay"},y=["freq","interval","byday","bymonth","bymonthday","count","until","byhour","byminute","bysecond"],p=["DAILY","WEEKLY","MONTHLY","YEARLY","SECONDLY","MINUTELY","HOURLY"],f={SU:0,MO:1,TU:2,WE:3,TH:4,FR:5,SA:6},w=function(n,t,i,r,u){var f=[];return n&&(f=e(n,t,i,r,u)),!!f.length},b=function(n,t){var i={},r=a[n.toLowerCase()];return i[r]=t,i},k=function(n){var i=[],u,t,f;if(!n)return i;for(u=n.split(","),t=0,f=u.length;t<f;t++)i[t]=r(u[t]);return i},d=function(n,t){for(var r=!1,i=0,u=t.length;i<u;i++)n.getTime()===t[i].getTime()&&(r=!0);return r},e=function(n,t,r,u,f){var v=[],p=o(n),e,w;if(!p.isValid)return[];if(e=p.rule,!e.freq)return v;e.interval=b(e.freq,e.interval);u=i.normalizeDate(u,r,e.until);var nt=0,a=0,y=ct(e),h=l(y,t),s=h[0],c=new Date(t),tt=k(f);for(i.correctDateWithUnitBeginning(c,e.interval),w=g(t,c);s<=u&&e.count!==nt;)yt(s,y)&&(s>=r&&!d(s,tt)&&(r=new Date(s),r.setMilliseconds(r.getMilliseconds()+1),v.push(new Date(s))),nt++),a++,s=h[a%h.length],a/h.length>=1&&(a=0,c=i.addInterval(c,e.interval),h=l(y,i.addInterval(c,w)),s=h[0]);return v},g=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()}},o=function(n){var t={rule:{},isValid:!1};return n&&(t.rule=ht(n),t.isValid=nt(t.rule,n)),t},s=[],nt=function(t,i){return ot(t)||n.inArray(t.freq,p)===-1||it(t)||ft(t)||et(t)||rt(t)||ut(t)||tt(t)?(st(i),!1):!0},tt=function(n){var t=!1,i=n.until;return i===undefined||i instanceof Date||(t=!0),t},it=function(n){var t=!1,i=n.count;return i&&typeof i=="string"&&(t=!0),t},rt=function(n){var t=!1,i=n.bymonthday;return i&&isNaN(parseInt(i))&&(t=!0),t},ut=function(n){var t=!1,i=n.bymonth;return i&&isNaN(parseInt(i))&&(t=!0),t},ft=function(n){var t=!1,i=n.interval;return i&&typeof i=="string"&&(t=!0),t},et=function(t){var r=h(t),i=!1;return n.each(r,function(n,t){if(!f.hasOwnProperty(t))return i=!0,!1}),i},ot=function(t){var i=!1;return n.each(t,function(t){if(n.inArray(t,y)===-1)return i=!0,!1}),i},st=function(i){n.inArray(i,s)===-1&&(t.log("W0006",i),s.push(i))},ht=function(n){for(var t={},e=n.split(";"),i,u,f=0,s=e.length;f<s;f++){var o=e[f].split("="),h=o[0].toLowerCase(),c=o[1];t[h]=c}return i=parseInt(t.count),isNaN(i)||(t.count=i),t.interval?(u=parseInt(t.interval),isNaN(u)||(t.interval=u)):t.interval=1,t.freq&&t.until&&(t.until=r(t.until)),t},r=function(n){if(typeof n!="string")return n;var t=Globalize.parseDate(n,"yyyyMMddTHHmmssZ")||Globalize.parseDate(n,"yyyyMMddTHHmmss");return t||(t=Globalize.parseDate(n,"yyyyMMdd")),t},h=function(n){var t=[];return n.byday&&(t=n.byday.split(",")),t},c=function(n){return n.getFullYear()+("0"+(n.getMonth()+1)).slice(-2)+("0"+n.getDate()).slice(-2)+"T"+("0"+n.getHours()).slice(-2)+("0"+n.getMinutes()).slice(-2)+("0"+n.getSeconds()).slice(-2)+"Z"},ct=function(n){var t=[],i,f,r;for(i in u)n[i]&&(f=n[i].split(","),r=lt(i,f),t=t.length?vt(r,t):r);return t},lt=function(n,t){for(var u=[],i,r=0,f=t.length;r<f;r++)i={},i[n]=at(n,t[r]),u.push(i);return u},at=function(n,t){var i=parseInt(t);return n==="bymonth"&&(i-=1),n==="byday"&&(i=f[t]),i},vt=function(t,i){for(var f=[],r,e,u=0,o=t.length;u<o;u++)for(r=0,e=i.length;r<e;r++)f.push(n.extend({},t[u],i[r]));return f},l=function(n,t){for(var r=new Date(t),i=[],f,e,o=0,s=n.length;o<s;o++){f=n[o];for(e in f)u[e](r,f[e]);i.push(new Date(r))}return i.length||i.push(r),i},yt=function(n,t){for(var i=!1,r,u,f,e=0;e<t.length;e++){r=t[e];u=!0;for(f in r)r[f]!==n[v[f]]()&&(u=!1);i=i||u}return i||!t.length},pt=function(n){var t,i,r;if(n&&n.freq){t="";for(i in n)(r=n[i],i==="interval"&&r<2)||(i==="until"&&(r=c(r)),t+=i+"="+r+";");return t=t.substring(0,t.length-1),t.toUpperCase()}};return{getRecurrenceString:pt,getRecurrenceRule:o,getAsciiStringByDate:c,getDatesByRecurrence:e,dateInRecurrenceRange:w,getDateByAsciiString:r,daysFromByDayRule:h}}),DevExpress.define("/utils/utils.storage",[],function(){var n=function(){var n;try{n=window.sessionStorage}catch(t){}return n};return{sessionStorage:n}}),DevExpress.define("/utils/utils.string",["jquery","/utils/utils.common"],function(n,t){var i=function(){var n=[new RegExp("&","g"),new RegExp('"',"g"),new RegExp("'","g"),new RegExp("<","g"),new RegExp(">","g")];return function(t){return String(t).replace(n[0],"&amp;").replace(n[1],"&quot;").replace(n[2],"&#39;").replace(n[3],"&lt;").replace(n[4],"&gt;")}}(),r=function(n){var i=t.splitPair(n),r=parseInt(i&&i[0],10),u=parseInt(i&&i[1],10);return isFinite(r)||(r=0),isFinite(u)||(u=r),{h:r,v:u}},u=function(n){var i=t.splitQuad(n),r=parseInt(i&&i[0],10),u=parseInt(i&&i[1],10),f=parseInt(i&&i[2],10),e=parseInt(i&&i[3],10);return isFinite(r)||(r=0),isFinite(u)||(u=r),isFinite(f)||(f=r),isFinite(e)||(e=u),{top:u,right:f,bottom:e,left:r}},f=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},e=function(){var n=function(n){return(n+"").replace(/([\+\*\?\\\.\[\^\]\$\(\)\{\}\><\|\=\!\:])/g,"\\$1")};return function(t,i,r){return t.replace(new RegExp("("+n(i)+")","gi"),r)}}(),o=function(){var n=/\s/g;return function(t){return!t||!t.replace(n,"")}}();return{encodeHtml:i,pairToObject:r,quadToObject:u,format:f,replaceAll:e,isEmpty:o}}),DevExpress.define("/utils/utils.support",["jquery","/utils/utils.inflector","/devices"],function(n,t,i){var f=t.camelize,e=["","Webkit","Moz","O","Ms"],l={"":"",Webkit:"-webkit-",Moz:"-moz-",O:"-o-",ms:"-ms-"},o=document.createElement("dx").style,s=function(n,t){var i,r,o;for(n=f(n,!0),r=0,o=e.length;r<o;r++){var u=e[r],s=u+n,h=f(s);if(i=t(h,u),i===undefined&&(i=t(s,u)),i!==undefined)break}return i},u=function(n){return s(n,function(n){if(n in o)return n})},a=function(n){return s(n,function(n,t){if(n in o)return l[t]})},r=function(n){return!!u(n)},v=function(){var t=i.real(),r=t.platform,u=t.version,f=u&&u[0]<4&&r==="android";return!f&&n.inArray(r,["ios","android","win"])>-1||t.mac},y=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}},h="ontouchstart"in window&&!("callPhantom"in window),c=!!window.navigator.pointerEnabled||!!window.navigator.msPointerEnabled,p=!!window.navigator.maxTouchPoints||!!window.navigator.msMaxTouchPoints;return{touchEvents:h,pointerEvents:c,touch:h||c&&p,transform:r("transform"),transition:r("transition"),transitionEndEventName:{webkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MsTransitionEnd",transition:"transitionend"}[u("transition")],animation:r("animation"),nativeScrolling:v(),winJS:"WinJS"in window,styleProp:u,stylePropPrefix:a,supportProp:r,hasKo:!!window.ko,hasNg:!!window.angular,inputType:y}}),DevExpress.define("/utils/utils.topOverlay",["jquery"],function(n){var t=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}}}();return{hide:function(){return t.fire()},hideCallback:t}}),DevExpress.define("/utils/utils.translator",["jquery","/utils/utils.support"],function(n,t){var u="dxTranslator",o=/matrix(3d)?\((.+?)\)/,s=/translate(?:3d)?\((.+?)\)/,h=function(n){var i=t.transform?f(n):l(n);return{left:i.x,top:i.y}},c=function(n,u){if(!t.transform){n.css(u);return}var o=f(n),s=u.left,h=u.top;s!==undefined&&(o.x=s||0);h!==undefined&&(o.y=h||0);n.css({transform:e(o)});(i(s)||i(h))&&r(n)},i=function(t){return n.type(t)==="string"&&t[t.length-1]==="%"},l=function(n){var t,i;try{var u=n.css("top"),f=n.css("left"),e=n.position();n.css({transform:"none",top:0,left:0});r(n);i=n.position();t={x:e.left-i.left||parseInt(f)||0,y:e.top-i.top||parseInt(u)||0};n.css({top:u,left:f})}catch(o){t={x:0,y:0}}return t},f=function(t){var r=t.length?n.data(t.get(0),u):null;if(!r){var f=t.css("transform")||e({x:0,y:0}),i=f.match(o),s=i&&i[1];i?(i=i[2].split(","),s==="3d"?i=i.slice(12,15):(i.push(0),i=i.slice(4,7))):i=[0,0,0];r={x:parseFloat(i[0]),y:parseFloat(i[1]),z:parseFloat(i[2])};a(t,r)}return r},a=function(t,i){t.length&&n.data(t.get(0),u,i)},r=function(t){t.length&&n.removeData(t.get(0),u)},v=function(n){n.css({left:0,top:0,transform:"none"});r(n)},y=function(n){var t=n.match(s);if(t&&t[1])return t=t[1].split(","),t={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},e=function(n){n.x=n.x||0;n.y=n.y||0;var t=i(n.x)?n.x:n.x+"px",r=i(n.y)?n.y:n.y+"px";return"translate("+t+", "+r+")"};return{move:c,locate:h,clearCache:r,parseTranslate:y,getTranslate:f,getTranslateCss:e,resetPosition:v}}),DevExpress.define("/utils/utils.version",["jquery"],function(){var n=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};return{compare:n}}),DevExpress.define("/utils/utils.viewPort",["jquery"],function(n){var i=n.Callbacks(),t=function(){var r;return function(u){if(!arguments.length)return r;var f=n(u),e=!!f.length,o=t();r=e?f:n("body");i.fire(e?t():n(),o)}}();return n(function(){t(".dx-viewport")}),{value:t,changeCallback:i}}),DevExpress.define("/utils/utils.weakMap",["jquery"],function(n){var t=window.WeakMap;return t||(t=function(){var t=[],i=[];this.set=function(r,u){var f=n.inArray(r,t);f===-1?(t.push(r),i.push(u)):i[f]=u};this.get=function(r){var u=n.inArray(r,t);return u===-1?undefined:i[u]};this.has=function(i){var r=n.inArray(i,t);return r===-1?!1:!0}}),t}),DevExpress.define("/utils/utils.window",["jquery"],function(n){var t=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}();return{resizeCallbacks:t}}),DevExpress.define("/utils/utilsNamespace",["/coreNamespace"],function(n){return n.utils=n.utils||{}}),DevExpress.define("/utils/utils",["/utils/utilsNamespace","/utils/utils.animationFrame","/utils/utils.object","/utils/utils.dom","/utils/utils.date","/utils/utils.common"],function(n,t,i,r,u,f){return n.requestAnimationFrame=t.request,n.cancelAnimationFrame=t.cancel,n.initMobileViewport=r.initMobileViewport,n.extendFromObject=i.extendFromObject,n.createComponents=r.createComponents,n.triggerShownEvent=r.triggerShownEvent,n.triggerHiddingEvent=r.triggerHiddingEvent,n.makeDate=u.makeDate,n.resetActiveElement=r.resetActiveElement,n.findBestMatches=f.findBestMatches,n}),function(n,t){var r=t.require("/utils/utils.inflector").humanize,i;Globalize._findClosestNeutralCulture=function(n){var t=(n||this.cultureSelector||"").substring(0,2),i=this.findClosestCulture(t);return i||{messages:{}}};Globalize.localize=function(n,t){return this.findClosestCulture(t).messages[n]||this._findClosestNeutralCulture(t).messages[n]||this.cultures["default"].messages[n]};i=function(){var t={};return{setup:function(n){this.localizeString=function(i){var u=new RegExp("(^|[^a-zA-Z_0-9"+n+"-]+)("+n+"{1,2})([a-zA-Z_0-9-]+)","g"),f=n+n;return i.replace(u,function(i,u,e,o){var s=u+n+o;return e!==f&&(Globalize.cultures["default"].messages[o]?s=u+Globalize.localize(o):t[o]=r(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(i){return i?t:n.extend({},t,Globalize.cultures["default"].messages)}}}();i.setup("@");t.localization=i}(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","dxRangeSlider-ariaTill":"Till","dxSwitch-onText":"ON","dxSwitch-offText":"OFF","dxForm-optionalMark":"optional","dxForm-requiredMessage":"{0} is required"}}),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-validationCancelChanges":"Cancel changes","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-filterRowOperationBetween":"Between","dxDataGrid-filterRowOperationBetweenStartText":"Start","dxDataGrid-filterRowOperationBetweenEndText":"End","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} ({2} items)","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-switcherTimelineDay":"Timeline Day","dxScheduler-switcherTimelineWeek":"Timeline Week","dxScheduler-switcherTimelineWorkWeek":"Timeline Work Week","dxScheduler-switcherTimelineMonth":"Timeline Month","dxScheduler-recurrenceRepeatOnDate":"on date","dxScheduler-recurrenceRepeatCount":"occurrence(s)","dxScheduler-allDay":"All day","dxScheduler-confirmRecurrenceEditMessage":"Do you want to edit only this appointment or the whole series?","dxScheduler-confirmRecurrenceDeleteMessage":"Do you want to delete only this appointment or the whole series?","dxScheduler-confirmRecurrenceEditSeries":"Edit series","dxScheduler-confirmRecurrenceDeleteSeries":"Delete series","dxScheduler-confirmRecurrenceEditOccurrence":"Edit appointment","dxScheduler-confirmRecurrenceDeleteOccurrence":"Delete appointment","dxCalendar-todayButtonText":"Today","dxCalendar-ariaWidgetName":"Calendar","dxColorView-ariaRed":"Red","dxColorView-ariaGreen":"Green","dxColorView-ariaBlue":"Blue","dxColorView-ariaAlpha":"Transparency","dxColorView-ariaHex":"Color code"}}),DevExpress.define("/coreNamespace",["/version","/actionExecutors"],function(n){var t=window.DevExpress=window.DevExpress||{};return t.VERSION=n,t.rtlEnabled=!1,t}),DevExpress.define("/componentRegistrator",["jquery","/errors","/coreNamespace","/utils/utils.memorizedCallbacks","/utils/utils.publicComponent"],function(n,t,i,r){var u=new r,f=function(n,t,r){r||(r=t,t=i);t[n]=r;r.publicName(n);u.fire(n,r)},e;return f.callbacks=u,e=function(i,r){n.fn[i]=function(u){var s=typeof u=="string",f,e,o;return s?(e=u,o=n.makeArray(arguments).slice(1),this.each(function(){var n=r.getInstance(this),u,s;if(!n)throw t.Error("E0009",i);u=n[e];s=u.apply(n,o);f===undefined&&(f=s)})):(this.each(function(){var n=r.getInstance(this);n?n.option(u):new r(this,u)}),f=this),f}},u.add(e),f}),DevExpress.define("/component",["jquery","/class","/eventsMixin","/action","/errors","/utils/utils.inflector","/utils/utils.common","/utils/utils.publicComponent","/devices"],function(n,t,i,r,u,f,e,o,s){var h=DevExpress.data.utils,c={},l={},a=t.inherit({_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,i){return t===n?i:undefined})},_getDefaultOptions:function(){return{onInitialized:null,onOptionChanged:null,onDisposing:null,defaultOptionsRules:null}},_setDefaultOptions:function(){n.extend(this._options,this._getDefaultOptions())},_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(t){var i={},r=s.current(),u=function(t,i){return i=n.makeArray(i),i.length===1&&n.isEmptyObject(i[0])||e.findBestMatches(t,i).length>0};return n.each(t,function(t,f){var e=f.device||{},o;o=n.isFunction(e)?e(r):u(r,e);o&&n.extend(i,f.options)}),i},_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(t){this.NAME=this.constructor.publicName();t=t||{};this._options={};this._updateLockCount=0;this._optionChangedCallbacks=t._optionChangedCallbacks||n.Callbacks();this._disposingCallbacks=t._disposingCallbacks||n.Callbacks();this.beginUpdate();try{this._suppressDeprecatedWarnings();this._setOptionsByReference();this._setDeprecatedOptions();this._setOptionAliases();this._setDefaultOptions();this._setOptionsByDevice(t.defaultOptionsRules);this._resumeDeprecatedWarnings();this._initialOptions=n.extend({},this.option());this._initOptions(t)}finally{this.endUpdate()}},_initOptions:function(n){this.option(n)},_optionValuesEqual:function(n,t,i){if(t=h.toComparable(t,!0),i=h.toComparable(i,!0),t&&i&&t.jquery&&i.jquery)return i.is(t);var r=t!==t,u=i!==i;return r&&u?!0:t===null||typeof t!="object"?t===i:!1},_init:function(){this._createOptionChangedAction();this.on("disposing",function(n){this._disposingCallbacks.fireWith(this,[n])})},_createOptionChangedAction:function(){this._optionChangedAction=this._createActionByOption("onOptionChanged",{excludeValidators:["disabled","readOnly","designMode"]})},_createDisposingAction:function(){this._disposingAction=this._createActionByOption("onDisposing",{excludeValidators:["disabled","readOnly","designMode"]})},_optionChanged:function(n){switch(n.name){case"onOptionChanged":this._createOptionChangedAction()}},_dispose:function(){this._optionChangedCallbacks.empty();this._createDisposingAction();this._disposingAction();this._disposeEvents();this._disposed=!0},instance:function(){return this},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){if(this._updateLockCount=Math.max(this._updateLockCount-1,0),!this._updateLockCount&&!this._initializing&&!this._initialized){this._initializing=!0;try{this._init()}finally{this._initializing=!1;this._updateLockCount++;this._createActionByOption("onInitialized",{excludeValidators:["disabled","readOnly","designMode"]})();this._updateLockCount--;this._initialized=!0}}},_logWarningIfDeprecated:function(){},_suppressDeprecatedWarnings:function(){},_resumeDeprecatedWarnings:function(){},_optionChanging:n.noop,_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._optionChangedCallbacks.fireWith(u,[n.extend(u._defaultActionArgs(),e)]);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(t,i){var f=this,u;return function(e){return arguments.length||(e={}),n.isPlainObject(e)||(e={actionValue:e}),u=u||new r(t,n.extend(i,f._defaultActionConfig())),u.execute.call(u,n.extend(e,f._defaultActionArgs()))}},_createActionByOptionCore:function(t,i){var r,e;if(i=i||{},typeof t!="string")throw u.Error("E0008");if(r=/^on(\w+)/.exec(t),r){var o=f.camelize(r[1]),s=i.beforeExecute||n.noop,h=this;i.beforeExecute=function(n){return h.fireEvent(o,n.args),s.apply(this,arguments)}}return this._suppressDeprecatedWarnings(),e=this._createAction(this.option(t),i),this._resumeDeprecatedWarnings(),e},_createActionByOption:function(t,i){var u=this,r,f=function(){return r=r||u._createActionByOptionCore(t,i),r.apply(u,arguments)},e=this.option("onActionCreated")||n.noop;return e(this,f,i)||f},option:function(t){var i=this,r=t,a=arguments[1],v=this._getOptionAliases(),f=function(n){if(n){i._logWarningIfDeprecated(n);var t=v[n];t&&(n=t)}return n},y=function(n,t){if(n){var i=f(n);i&&i!==n&&(p(i,t),w(n))}},e=function(n){var t=n.split(".");return t.pop(),t.join(".")},o=function(n){var t=n.split(".");return t[t.length-1]},p=function(n,r){var f=e(n),h=o(n),s=f?u(t,f,!1)||u(i._options,f,!1):t;s&&(s[h]=r)},w=function(n){delete t[n];var i=e(n),f=o(n),r=i?u(t,i,!1):t;r&&delete r[f]},u=function(n,t,i){return c[t]||(c[t]=h.compileGetter(t)),c[t](n,{functionsAsIs:!0,unwrapObservables:i})},b=function(n,t,r){l[t]||(l[t]=h.compileSetter(t));l[t](n,r,{functionsAsIs:!0,merge:!i._getOptionsByReference()[t],unwrapObservables:!1})},s=function(t,i){n.isPlainObject(i)&&n.each(i,function(n,i){s(t+"."+n,i)});y(t,i)},k=function(n,t){var r=u(i._options,n,!1);i._optionValuesEqual(n,r,t)||(i._initialized&&i._optionChanging(n,r,t),b(i._options,n,t),i._notifyOptionChanged(n,t,r))};if(arguments.length<2&&n.type(r)!=="object")return r=f(r),u(i._options,r);typeof r=="string"&&(t={},t[r]=a);i.beginUpdate();try{n.each(t,s);n.each(t,k)}finally{i.endUpdate()}}}).include(i);return a.publicName=o.getName,a}),DevExpress.define("/domComponent",["jquery","/component","/errors","/utils/utils.window","/utils/utils.common","/utils/utils.publicComponent","/ui/events/ui.events.remove"],function(n,t,i,r,u,f,e){var o=t.abstract,c=r.resizeCallbacks,l="dx-rtl",a="dx-visibility-change-handler",s="VisibilityChange",h=t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{width:undefined,height:undefined,rtlEnabled:DevExpress.rtlEnabled,disabled:!1})},ctor:function(t,i){this._$element=n(t);f.attachInstanceToElement(this._$element,this.constructor.publicName(),this);this.element().one(e.name,n.proxy(function(){this._dispose()},this));this.callBase(i)},_visibilityChanged:o,_dimensionChanged:o,_init:function(){this.callBase();this._attachWindowResizeCallback()},_attachWindowResizeCallback:function(){if(this._isDimensionChangeSupported()){var t=this._windowResizeCallBack=n.proxy(this._dimensionChanged,this);c.add(t)}},_isDimensionChangeSupported:function(){return this._dimensionChanged!==o},_render:function(){this._toggleRTLDirection(this.option("rtlEnabled"));this._renderVisibilityChange();this._renderDimensions()},_renderVisibilityChange:function(){(this._isDimensionChangeSupported()&&this._attachDimensionChangeHandlers(),this._isVisibilityChangeSupported())&&(this.element().addClass(a),this._attachVisiblityChangeHandlers())},_renderDimensions:function(){var t=this.option("width"),i=this.option("height"),n=this.element();n.outerWidth(t);n.outerHeight(i)},_attachDimensionChangeHandlers:function(){var n=this,t="dxresize."+this.NAME+s;n.element().off(t).on(t,function(){n._dimensionChanged()})},_attachVisiblityChangeHandlers:function(){var n=this,t="dxhiding."+this.NAME+s,i="dxshown."+this.NAME+s;n._isHidden=!n._isVisible();n.element().off(t).on(t,function(){n._checkVisibilityChanged("hiding")}).off(i).on(i,function(){n._checkVisibilityChanged("shown")})},_isVisible:function(){return this.element().is(":visible")},_checkVisibilityChanged:function(n){n==="hiding"&&this._isVisible()&&!this._isHidden?(this._visibilityChanged(!1),this._isHidden=!0):n==="shown"&&this._isVisible()&&this._isHidden&&(this._isHidden=!1,this._visibilityChanged(!0))},_isVisibilityChangeSupported:function(){return this._visibilityChanged!==o},_clean:n.noop,_modelByElement:function(){var t=this.option("modelByElement")||n.noop;return t(this.element())},_invalidate:function(){this._requireRefresh=!0},_refresh:function(){this._clean();this._render()},_dispose:function(){this.callBase();this._clean();this._detachWindowResizeCallback()},_detachWindowResizeCallback:function(){this._isDimensionChangeSupported()&&c.remove(this._windowResizeCallBack)},_toggleRTLDirection:function(n){this.element().toggleClass(l,n)},_createComponent:function(t,i,r){var e=this,s,h,f,c,o;if(r=r||{},s=n.grep(["rtlEnabled","disabled"],function(n){return!(n in r)}),h=e.option("nestedComponentOptions")||n.noop,e._extendConfig(r,n.extend({rtlEnabled:this.option("rtlEnabled"),disabled:this.option("disabled")},h(this))),u.isString(i)?(c=n(t)[i](r),f=c[i]("instance")):(f=i.getInstance(t),f?f.option(r):f=new i(t,r)),f){o=function(t){n.inArray(t.name,s)>=0&&f.option(t.name,t.value)};e.on("optionChanged",o);f.on("disposing",function(){e.off("optionChanged",o)})}return f},_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;case"disabled":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}});return h.getInstance=function(n){return f.getInstanceByElement(n,this.publicName())},h.defaultOptions=function(n){this.prototype._customRules=this.prototype._customRules||[];this.prototype._customRules.push(n)},h}),DevExpress.define("/version",[],function(){return"15.2.9"}),DevExpress.define("/errors",["/utils/utils.error"],function(n){return n({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.DevExpressPopup widget is required",E0020:"Template engine '{0}' is not supported",E0021:"Unknown theme is set: {0}",E0022:"LINK[rel=DevExpress-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 DevExpressValidator 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}",W0006:"Invalid recurrence rule: '{0}'",W0007:"A 3rd party template should be specified inside a <script> element:\n{0}"})}),DevExpress.define("/eventsMixin",["jquery","/errors"],function(n){return{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()})}}}),DevExpress.define("/class",["jquery","/errors"],function(n,t){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},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 i=this;return n.each(arguments,function(){this.ctor&&i._includedCtors.push(this.ctor);this.postCtor&&i._includedPostCtors.push(this.postCtor);for(var n in this)if(n!=="ctor"&&n!=="postCtor"){if(n in i.prototype)throw t.Error("E0002",n);i.prototype[n]=this[n]}}),i},s=function(n){return this.parent===n?!0:!this.parent||!this.parent.subclassOf?!1:this.parent.subclassOf(n)},r=function(){throw t.Error("E0001");},h=function(){var t=Object.prototype.hasOwnProperty;return function(i,r){n.each(i,function(n){t.call(i,n)&&(r[n]=i[n])})}}(),i=function(){};return i.inherit=function(i){var u=function(){if(!this||this===window||typeof this.constructor!="function")throw t.Error("E0003");var i=this,r=i.ctor;n.each(i.constructor._includedCtors,function(){this.call(i)});r&&r.apply(i,arguments);n.each(i.constructor._includedPostCtors,function(){this.call(i)})};return u.prototype=f(this),h(this,u),u.inherit=this.inherit,u.abstract=r,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(i),u},i.abstract=r,i}),DevExpress.define("/devices",["jquery","/class","/eventsMixin","/errors","/utils/utils.storage","/utils/utils.viewPort","/utils/utils.window"],function(n,t,i,r,u,f,e){var h={iPhone:"iPhone",iPhone5:"iPhone",iPhone6:"iPhone",iPhone6plus:"iPhone",iPad:"iPad",iPadMini:"iPad Mini",androidPhone:"Android Mobile",androidTablet:"Android",win8:"MSAppHost",win8Phone:"Windows Phone 8.0",msSurface:"MSIE ARM Tablet PC",desktop:"desktop",win10Phone:"Windows Phone 10.0",win10:"MSAppHost/3.0"},s={deviceType:"",platform:"",version:[],phone:!1,tablet:!1,android:!1,ios:!1,win:!1,generic:!1,grade:"A",mac:!1};n.extend(s,{platform:"generic",deviceType:"desktop",generic:!0});var c={win:function(n){var i=/windows phone/i.test(n)||n.match(/WPDesktop/),u=!i&&/arm(.*)trident/i.test(n),f=!i&&!u&&/msapphost/i.test(n),t,r;if(i||u||f)return t=n.match(/windows phone (\d+).(\d+)/i)||n.match(/windows nt (\d+).(\d+)/i),r=[],t?r.push(parseInt(t[1],10),parseInt(t[2],10)):(t=n.match(/msapphost(\/(\d+).(\d+))?/i),t&&r.push(parseInt(t[2],10)===3?10:8)),{deviceType:i?"phone":u?"tablet":"desktop",platform:"win",version:r,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}}}},l=t.inherit({ctor:function(t){this._window=t&&t.window||window;this._realDevice=this._getDevice();this._currentDevice=undefined;this._currentOrientation=undefined;this.changed=n.Callbacks();this._recalculateOrientation();e.resizeCallbacks.add(n.proxy(this._recalculateOrientation,this))},current:function(n){if(n)this._currentDevice=this._getDevice(n),this._forced=!0,this.changed.fire();else{if(!this._currentDevice){n=undefined;try{n=this._getDeviceOrNameFromWindowScope()}catch(t){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 t=[],i=this._realDevice;return n=n||this.current(),n.deviceType&&(t.push("dx-device-"+n.deviceType),n.deviceType!=="desktop"&&t.push("dx-device-mobile")),t.push("dx-device-"+i.platform),i.version&&i.version.length&&t.push("dx-device-"+i.platform+"-"+i.version[0]),o.isSimulator()&&t.push("dx-simulator"),DevExpress.rtlEnabled&&t.push("dx-rtl"),t},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(t){if(t==="genericPhone"&&(t={deviceType:"phone",platform:"generic",generic:!0}),n.isPlainObject(t))return this._fromConfig(t);var i;if(t){if(i=h[t],!i)throw r.Error("E0005");}else i=navigator.userAgent;return this._fromUA(i)},_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 i=u.sessionStorage(),t;if(i){t=i.getItem("dx-force-device");try{return n.parseJSON(t)}catch(r){return t}}},_fromConfig:function(t){var i=n.extend({},s,this._currentDevice,t),r={phone:i.deviceType==="phone",tablet:i.deviceType==="tablet",android:i.platform==="android",ios:i.platform==="ios",win:i.platform==="win",generic:i.platform==="generic"};return n.extend(i,r)},_fromUA:function(t){var i,u,r;return(n.each(c,function(n,r){return i=r(t),!i}),i)?this._fromConfig(i):(u=/(mac os)/.test(t.toLowerCase()),r=s,r.mac=u,r)},_changeOrientation:function(){var i=n(this._window),t=i.height()>i.width()?"portrait":"landscape";this._currentOrientation!==t&&(this._currentOrientation=t,this.fireEvent("orientationChanged",[{orientation:t}]))},_recalculateOrientation:function(){var t=n(this._window).width();this._currentWidth!==t&&(this._currentWidth=t,this._changeOrientation())}}).include(i),o=new l;return f.changeCallback.add(function(n,t){o.detachCssClasses(t);o.attachCssClasses(n)}),o.isForced()||o.current().platform!=="win"||o.current({version:[10]}),o}),DevExpress.define("/action",["jquery","/class"],function(n,t){var i=t.inherit({ctor:function(t,i){i=i||{};this._action=t;this._context=i.context||window;this._beforeExecute=i.beforeExecute;this._afterExecute=i.afterExecute;this._component=i.component;this._validatingTargetName=i.validatingTargetName;var r=this._excludeValidators={};n.each(i.excludeValidators||[],function(n,t){r[t]=!0})},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},i=this._beforeExecute,r=this._afterExecute,u,t;if(this._validateAction(n))return(i&&i.call(this._context,n),n.cancel)?void 0:(u=this._executeAction(n),t=n.args[0],t&&t.cancel)?void 0:(r&&r.call(this._context,n),u)},_validateAction:function(n){var f=this._excludeValidators,u=i.executors,t,r;for(t in u)if(!f[t]&&(r=u[t],r.validate&&r.validate(n),n.cancel))return!1;return!0},_executeAction:function(n){var r,u=i.executors,f,t;for(f in u)if(t=u[f],t.execute&&t.execute(n),n.handled){r=n.result;break}return r}});return i.executors={},i.registerExecutor=function(t,r){if(n.isPlainObject(t)){n.each(t,i.registerExecutor);return}i.executors[t]=r},i.unregisterExecutor=function(){var t=n.makeArray(arguments);n.each(t,function(){delete i.executors[this]})},i}),DevExpress.define("/actionExecutors",["jquery","/action"],function(n,t){t.registerExecutor({undefined:{execute:function(n){n.action||(n.result=undefined,n.handled=!0)}},func:{execute:function(t){n.isFunction(t.action)&&(t.result=t.action.call(t.context,t.args[0]),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)==="#"&&(n.action==="#_back"?window.history.back():document.location.hash=n.action)}}})}),DevExpress.define("/animator",["jquery","/class","/utils/utils.animationFrame"],function(n,t,i){var r=t.abstract;return t.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;i.cancel(this._stepAnimationFrame)},_stepCore:function(){if(this._isStopped()){this._stop();return}if(this._isFinished()){this._finished=!0;this._complete();return}this._step();this._stepAnimationFrame=i.request(this._proxiedStepCore)},_step:r,_isFinished:n.noop,_stop:n.noop,_complete:n.noop,_isStopped:function(){return this._stopped},inProgress:function(){return!(this._stopped||this._finished)}})}),DevExpress.define("/endpointSelector",["jquery","/errors","/utils/utils.proxyUrlFormatter"],function(n,t,i){function e(n){return/^(localhost$|127\.)/i.test(n)}var r=window.location,u=r.protocol==="ms-appx:",o=e(r.hostname),f=function(n){this.config=n};return f.prototype={urlFor:function(n){var r=this.config[n];if(!r)throw t.Error("E0006");return i.isProxyUsed()?i.formatProxyUrl(r.local):r.production&&(u&&!Debug.debuggerEnabled||!u&&!o)?r.production:r.local}},f}),DevExpress.define("/color",[],function(){function i(t){this.baseColor=t;var i;t&&(i=String(t).toLowerCase().replace(/ /g,""),i=h[i]?"#"+h[i]:i,i=c(i));i||(this.colorIsInvalid=!0);i=i||{};this.r=n(i[0]);this.g=n(i[1]);this.b=n(i[2]);this.a=n(i[3],1,1);this.hsv=i[4]?{h:i[4][0],s:i[4][1],v:i[4][2]}:a(this.r,this.g,this.b);this.hsl=i[5]?{h:i[5][0],s:i[5][1],l:i[5][2]}:y(this.r,this.g,this.b)}function c(n){if(n==="transparent")return[0,0,0,0];for(var t=0,r=o.length,i;t<r;++t)if(i=o[t].re.exec(n),i)return o[t].process(i);return null}function n(n,t,i){return t=t||0,i=i||255,n<0||isNaN(n)?t:n>i?i:n}function l(n,t,i){return"#"+(16777216|n<<16|t<<8|i).toString(16).slice(1)}function a(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 s(n,t,i){var o,s,r,c,h,u,f,e;c=Math.floor(n%360/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 v(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 y(n,i,u){var f;n=r(n,255);i=r(i,255);u=r(u,255);var o=Math.max(n,i,u),s=Math.min(n,i,u),h=o+s,e,c,l=h/2;return o===s?e=c=0:(f=o-s,c=l>.5?f/(2-h):f/h,e=v(n,i,u,f),e/=6),{h:t(e*360),s:t(c*100),l:t(l*100)}}function u(n,t){var i=t;return n==="r"&&(i=t+1/3),n==="b"&&(i=t-1/3),i}function p(n){return n<0&&(n+=1),n>1&&(n-=1),n}function f(n,t,i){return(i=p(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 w(n,i,e){var h,c,l,o,s;return n=r(n,360),i=r(i,100),e=r(e,100),i===0?h=c=l=e:(o=e<.5?e*(1+i):e+i-e*i,s=2*e-o,h=f(s,o,u("r",n)),c=f(s,o,u("g",n)),l=f(s,o,u("b",n))),[t(h*255),t(c*255),t(l*255)]}function r(n,t){return(n=Math.min(t,Math.max(0,parseFloat(n))),Math.abs(n-t)<1e-6)?1:n%t/parseFloat(t)}function e(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 h={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",rebeccapurple:"663399",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"},o=[{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=s(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=w(i,r,u);return[t[0],t[1],t[2],1,null,[i,r,u]]}}],t=Math.round;return i.prototype={constructor:i,highlight:function(n){return n=n||10,this.alter(n).toHex()},darken:function(n){return n=n||10,this.alter(-n).toHex()},alter:function(t){var r=new i;return r.r=n(this.r+t),r.g=n(this.g+t),r.b=n(this.b+t),r},blend:function(r,u){var e=r instanceof i?r:new i(r),f=new i;return f.r=n(t(this.r*(1-u)+e.r*u)),f.g=n(t(this.g*(1-u)+e.g*u)),f.b=n(t(this.b*(1-u)+e.b*u)),f},toHex:function(){return l(this.r,this.g,this.b)},getPureColor:function(){var n=s(this.hsv.h,100,100);return new i("rgb("+n.join(",")+")")},isValidHex:function(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)},isValidRGB:function(n,t,i){return!e(n)||!e(t)||!e(i)?!1:!0},isValidAlpha:function(n){return isNaN(n)||n<0||n>1||typeof n!="number"?!1:!0},colorIsInvalid:!1},i}),DevExpress.define("/data/data.errors",["/utils/utils.error","/errors"],function(n,t){return n(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 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",E4018:"The server has returned a non-numeric value in a response to an item count request",E4019:"Mixing of group operators inside a single group of filter expression is not allowed"})}),function(n,t,i){function y(n){return/^(or|\|\||\|)$/i.test(n)}function p(n){return/^(and|\&\&|\&)$/i.test(n)}var w=DevExpress.require("/class"),b=DevExpress.require("/data/data.errors"),k=t.require("/utils/utils.object"),o=t.require("/utils/utils.knockout"),d=o.unwrapObservable,s=o.isObservable,h=function(n){return n.replace(/\[/g,".").replace(/\]/g,"")},c=function(n,t){return t==="this"?n:n[t]},l=function(n,t,i,r){if(t==="this")throw new b.Error("E4016");var u=n[t];r.unwrapObservables&&s(u)?u(i):n[t]=i},a=function(n){return n=n||{},n.unwrapObservables=n.unwrapObservables!==i?n.unwrapObservables:!0,n},u=function(n,t){return t.unwrapObservables?d(n):n},f=function(t){if(arguments.length>1&&(t=n.makeArray(arguments)),!t||t==="this")return function(n){return n};if(typeof t=="string"){t=h(t);var i=t.split(".");return function(t,r){var s,f,o,e;for(r=a(r),s=r.functionsAsIs,f=u(t,r),o=0;o<i.length;o++){if(!f)break;e=u(f[i[o]],r);!s&&n.isFunction(e)&&(e=e.call(f));f=e}return f}}return n.isArray(t)?g(t):n.isFunction(t)?t:void 0},g=function(t){for(var e={},r,u=0,o=t.length;u<o;u++)r=t[u],e[r]=f(r);return function(t,r){var u;return n.each(e,function(n){var s=this(t,r),e,o,h,f;if(s!==i){for(e=u||(u={}),o=n.split("."),h=o.length-1,f=0;f<h;f++)e=e[o[f]]={};e[o[f]]=s}}),u}},nt=function(t){t=t||"this";t=h(t);var e=t.lastIndexOf("."),o=f(t.substr(0,e)),r=t.substr(1+e);return function(t,f,e){e=a(e);var v=o(t,{functionsAsIs:e.functionsAsIs,unwrapObservables:e.unwrapObservables}),h=c(v,r);e.functionsAsIs||!n.isFunction(h)||s(h)?(h=u(h,e),e.merge&&n.isPlainObject(f)&&(h===i||n.isPlainObject(h))&&!(f instanceof n.Event)?(h||l(v,r,{},e),k.deepExtendArraySafe(u(c(v,r),e),f)):l(v,r,f,e)):v[r](f)}},tt=function(n){return[n[0],n.length<3?"=":String(n[1]).toLowerCase(),n.length<2?!0:n[n.length-1]]},it=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")}})},v=w.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 n="",t=0;t<32;t++)n+=Math.round(Math.random()*15).toString(16);return n},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 v?n.valueOf():!t&&typeof n=="string"?n.toLowerCase():n},rt=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)},ut="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ft=function(t){function o(n){return ut.charAt(n)}var r,i;for(n.isArray(t)||(t=et(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},et=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},ot=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}}(),st={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}}},ht=function(){var t=0,i,r=function(){t===0&&(i=n.Deferred());t++},u=function(){t--;t<1&&i.resolve()},f=function(){var r=t===0?n.Deferred().resolve():i;return r.promise()},e=function(){t=0;i&&i.resolve()};return{obtain:r,release:u,promise:f,reset:e}}(),e=t.data={utils:{compileGetter:f,compileSetter:nt,normalizeBinaryCriterion:tt,normalizeSortingInfo:it,toComparable:r,keysEqual:rt,errorMessageFromXhr:ot,aggregators:st,isDisjunctiveOperator:y,isConjunctiveOperator:p,processRequestResultLock:ht},Guid:v,base64_encode:ft,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,i){function u(n,t,i,r){var f=0;if(n<t)for(;f<i.items.length;f++)u(n+1,t,i.items[f],r);n===t&&r(i)}function r(n,t){var i,r;if("map"in n)return n.map(t);r=new Array(n.length);for(i in n)r[i]=t(n[i],i);return r}function s(n){return n!==n||n===""||n===null||n===i}function h(n){return n===f.aggregators.count}function e(n){var i=f.compileGetter(n.selector),r="skipEmptyValues"in n?n.skipEmptyValues:!0,t=n.aggregator;if(typeof t=="string"&&(t=f.aggregators[t],!t))throw l.Error("E4001",n.aggregator);return{selector:i,aggregator:t,skipEmptyValues:r}}var c=DevExpress.require("/class"),l=DevExpress.require("/data/data.errors"),o=t.data,f=o.utils;o.AggregateCalculator=c.inherit({ctor:function(n){this._data=n.data;this._groupLevel=n.groupLevel||0;this._totalAggregates=r(n.totalAggregates||[],e);this._groupAggregates=r(n.groupAggregates||[],e);this._totals=[]},calculate:function(){this._totalAggregates.length&&this._calculateTotals(0,{items:this._data});this._groupAggregates.length&&this._groupLevel>0&&this._calculateGroups({items:this._data})},totalAggregates:function(){return this._totals},_aggregate:function(n,t,i){for(var u,r=0;r<n.length;r++){if(h(n[r].aggregator)){i[r]=(i[r]||0)+t.items.length;continue}for(u=0;u<t.items.length;u++)this._accumulate(r,n[r],i,t.items[u])}},_calculateTotals:function(n,t){var i;if(n===0&&(this._totals=this._seed(this._totalAggregates)),n===this._groupLevel)this._aggregate(this._totalAggregates,t,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(t){function e(n){n.aggregates=o();i===r?f(n,n.aggregates):u(i,r,n,function(t){f(t,n.aggregates)});n.aggregates=s(n.aggregates)}for(var r=this._groupLevel,i=r+1,o=n.proxy(this._seed,this,this._groupAggregates),f=n.proxy(this._aggregate,this,this._groupAggregates),s=n.proxy(this._finalize,this,this._groupAggregates);--i>0;)u(0,i,t,e)},_seed:function(t){return r(t,function(t){var i=t.aggregator;return"seed"in i?n.isFunction(i.seed)?i.seed():i.seed:NaN})},_accumulate:function(n,t,i,r){var u=t.selector(r),f=t.aggregator,e=t.skipEmptyValues;e&&s(u)||(i[n]=i[n]!==i[n]?u:f.step(i[n],u))},_finalize:function(n,t){return r(n,function(n,i){var r=n.aggregator.finalize;return r?r(t[i]):t[i]})}})}(jQuery,DevExpress),function(n,t,i){var y=DevExpress.require("/class"),s=DevExpress.require("/data/data.errors"),p=t.require("/utils/utils.common"),u=t.data,a=u.queryImpl,f=u.utils.compileGetter,r=u.utils.toComparable,e=y.inherit({toArray:function(){var n=[];for(this.reset();this.next();)n.push(this.current());return n},countable:function(){return!1}}),h=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()}}),c=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}}),l=e.inherit({ctor:function(n,t,i){n instanceof c||(n=new c(n,this._wrap));this.iter=n;this.rules=[{getter:t,desc:i}]},thenBy:function(n,t){var i=new l(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(){var t=this;t.sortedIter||(n.each(t.rules,function(){this.getter=f(this.getter)}),t.sortedIter=new c(new h(this.iter.toArray().sort(function(n,i){return t._compare(n,i)})),t._unwrap))},_wrap:function(n,t){return{index:t,value:n}},_unwrap:function(n){return n.value},_compare:function(n,t){var h=n.index,c=t.index,e,l;if(n=n.value,t=t.value,n===t)return h-c;for(e=0,l=this.rules.length;e<l;e++){var s=this.rules[e],u=r(s.getter(n)),f=r(s.getter(t)),o=s.desc?-1:1;if(u===null&&f!==null)return-o;if(u!==null&&f===null||u===i&&f!==i)return o;if(u!==i&&f===i||u<f)return-o;if(u>f)return o}return h-c}}),v=function(){function i(n,t,i){return function(u){u=r(n(u));var f=e(t)?u===t:u==t;return i&&(f=!f),f}}function e(n){return n===""||n===0||n===!1}var o=function(t){var e=0,r=[],o=[],f,i;return n.each(t,function(){if(n.isArray(this)||n.isFunction(this)){if(r.length>1&&f!==i)throw new s.Error("E4019");o.push(v(this));r.push("op["+e+"](d)");e++;f=i;i="&&"}else i=u.utils.isConjunctiveOperator(this)?"&&":"||"}),new Function("op","return function(d) { return "+r.join(" "+f+" ")+" }")(o)},t=function(n){return p.isDefined(n)?n.toString():""},h=function(n){n=u.utils.normalizeBinaryCriterion(n);var o=f(n[0]),h=n[1],e=n[2];e=r(e);switch(h.toLowerCase()){case"=":return i(o,e);case"<>":return i(o,e,!0);case">":return function(n){return r(o(n))>e};case"<":return function(n){return r(o(n))<e};case">=":return function(n){return r(o(n))>=e};case"<=":return function(n){return r(o(n))<=e};case"startswith":return function(n){return r(t(o(n))).indexOf(e)===0};case"endswith":return function(n){var i=r(t(o(n))),u=t(e);return i.length<u.length?!1:i.lastIndexOf(e)===i.length-e.length};case"contains":return function(n){return r(t(o(n))).indexOf(e)>-1};case"notcontains":return function(n){return r(t(o(n))).indexOf(e)===-1}}throw s.Error("E4003",h);};return function(t){return n.isFunction(t)?t:n.isArray(t[0])?o(t):h(t)}}(),w=o.inherit({ctor:function(n,t){this.callBase(n);this.criteria=v(t)},next:function(){while(this.iter.next())if(this.criteria(this.current()))return!0;return!1}}),b=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 i,t;if(!this.groupedIter){var r={},e=[],u=this.iter,o=f(this.getter);for(u.reset();u.next();)i=u.current(),t=o(i),t in r?r[t].push(i):(r[t]=[i],e.push(t));this.groupedIter=new h(n.map(e,function(n){return{key:n,items:r[n]}}))}}}),k=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()}}),d=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)}});a.array=function(t,r){r=r||{};t instanceof e||(t=new h(t));var y=function(n){var t=r.errorHandler;t&&t(n);u._errorHandler(n)},p=function(i){var u=n.Deferred().fail(y),f,o=i.step,e=i.finalize,r;try{for(t.reset(),f=("seed"in i)?i.seed:t.next()?t.current():NaN,r=f;t.next();)r=o(r,t.current());u.resolve(e?e(r):r)}catch(s){u.reject(s)}return u.promise()},nt=function(n,t,i){return arguments.length<2?p({step:arguments[0]}):p({seed:n,step:t,finalize:i})},c=function(n){return p(u.utils.aggregators[n])},g=function(i){return n.isFunction(i)||n.isArray(i)||(i=n.makeArray(arguments)),o(new k(t,i))},v=function(n){return g(f(n))},o=function(n){return a.array(n,r)};return{toArray:function(){return t.toArray()},enumerate:function(){var i=n.Deferred().fail(y);try{i.resolve(t.toArray())}catch(r){i.reject(r)}return i.promise()},sortBy:function(n,i){return o(new l(t,n,i))},thenBy:function(n,i){if(t instanceof l)return o(t.thenBy(n,i));throw s.Error("E4004");},filter:function(i){return n.isArray(i)||(i=n.makeArray(arguments)),o(new w(t,i))},slice:function(n,r){return r===i&&(r=Number.MAX_VALUE),o(new d(t,n,r))},select:g,groupBy:function(n){return o(new b(t,n))},aggregate:nt,count:function(){if(t.countable()){var i=n.Deferred().fail(y);try{i.resolve(t.count())}catch(r){i.reject(r)}return i.promise()}return c("count")},sum:function(n){return n?v(n).sum():c("sum")},min:function(n){return n?v(n).min():c("min")},max:function(n){return n?v(n).max():c("max")},avg:function(n){return n?v(n).avg():c("avg")}}}}(jQuery,DevExpress),function(n,t){var i=t.data,r=i.queryImpl,u=DevExpress.require("/data/data.errors");r.remote=function(t,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 u.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);i._errorHandler(n);a.reject(n)};try{for(v=f.adapter||"odata",n.isFunction(v)||(v=i.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(t).done(function(t,i){if(h.length){var u=r.array(t,{errorHandler:f.errorHandler});n.each(h,function(){u=u[this.name].apply(u,this.args)});u.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 r.remote(t,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 h(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 w(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.setFullYear(Number(u[1])),i.setMonth(Number(u[2])-1),i.setDate(Number(u[3])),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 b(n){return/^(?:[a-z]+:)?\/\//i.test(n)}function k(n,t){function f(n){var t=n.indexOf("?");return t>-1?n.substr(0,t):n}var r,i=f(n).split("/"),u=t.split("/");for(i.pop();u.length;)r=u.shift(),r===".."?i.pop():i.push(r);return i.join("/")}var d=DevExpress.require("/class"),f=DevExpress.require("/data/data.errors"),e=t.data,o=e.Guid,c=t.require("/utils/utils.common"),l=c.isDefined,g=2,nt=/^(\{{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})$/,tt=/^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/,it=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]{1}\d{2}(:?)(\d{2})?)?$/,v="application/json;odata=verbose",rt=function(t,i,r){function p(n){return JSON.stringify(n,function(n,i){if(!(this[n]instanceof Date))return i;i=h(this[n]);switch(t){case 2:return i.substr(0,i.length-1);case 3:case 4:return i;default:throw f.Error("E4002");}})}var e;i=n.extend({async:!0,method:"get",url:"",params:{},payload:null,headers:{},timeout:3e4},i);r=r||{};e=r.beforeSend;e&&e(i);var c=(i.method||"get").toLowerCase(),u=c==="get",o=u&&r.jsonp,l=n.extend({},i.params),a=u?l:p(i.payload),y=!u&&n.param(l),s=i.url,w=!u&&v;return y&&(s+=(s.indexOf("?")>-1?"&":"?")+y),o&&(a.$format="json"),{url:s,data:a,dataType:o?"jsonp":"json",jsonp:o&&"$callback",type:c,async:i.async,timeout:i.timeout,headers:i.headers,contentType:w,accepts:{json:[v,"text/plain"].join()},xhrFields:{withCredentials:r.withCredentials}}},a=function(t,i,r,u){var e=n.Deferred(),o=rt(t,i,r);return n.ajax(o).always(function(n,i){var s=et(n,i,u),c=s.error,l=s.data,h=s.nextUrl,v;c?e.reject(c):r.countOnly?isFinite(s.count)?e.resolve(s.count):e.reject(new f.Error("E4018")):h?(b(h)||(h=k(o.url,h)),a(t,{url:h},r,u).fail(e.reject).done(function(n){e.resolve(l.concat(n))})):(isFinite(s.count)&&(v={totalCount:s.count}),e.resolve(l,v))}),e.promise()},ut=function(n){var i,t=n;for(("message"in n)&&(i=n.message.value?n.message.value:n.message);t=t.innererror||t.internalexception;)if(i=t.message,t.internalexception&&i.indexOf("inner exception")===-1)break;return i},ft=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"]||o["@odata.error"]),u)?(f=ut(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},et=function(t,i,r){var f=ft(t,i),u;return f?{error:f}:n.isPlainObject(t)?(u="d"in t&&(c.isArray(t.d)||c.isObject(t.d))?ot(t,i):st(t,i),y(u,r),u):{data:t}},ot=function(n){var t=n.d;return l(t)?(t=t,l(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")}},st=function(n){var t=n;return l(t.value)&&(t=t.value),{data:t,nextUrl:n["@odata.nextLink"],count:parseInt(n["@odata.count"],10)}},r=d.inherit({ctor:function(n){this._value=n},valueOf:function(){return this._value}}),y=function(t,i){n.each(t,function(n,r){if(r!==null&&typeof r=="object")"results"in r&&(t[n]=r.results),y(t[n],i);else if(typeof r=="string"&&(nt.test(r)&&(t[n]=new o(r)),i!==!1))if(r.match(tt)){var u=new Date(Number(RegExp.$1)+RegExp.$2*6e4);t[n]=new Date(u.valueOf()+u.getTimezoneOffset()*6e4)}else it.test(r)&&(t[n]=new Date(w(t[n]).valueOf()))})},ht=function(n){return"datetime'"+h(n,!0,!0)+"'"},ct=function(n){return"'"+n.replace(/'/g,"''")+"'"},u=function(n){return n instanceof r?n.valueOf():n.replace(/\./g,"/")},lt=function(n){return n instanceof Date?h(n,!1,!1):n instanceof o?n.valueOf():p(n)},p=function(n){return n instanceof Date?ht(n):n instanceof o?"guid'"+n+"'":n instanceof r?n.valueOf():typeof n=="string"?ct(n):String(n)},s=function(n,t){switch(t){case 2:case 3:return p(n);case 4:return lt(n);default:throw f.Error("E4002");}},at=function(t,i){if(n.isPlainObject(t)){var r=[];return n.each(t,function(n,t){r.push(u(n)+"="+s(t,i))}),r.join()}return s(t,i)},vt={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 o?n:new o(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")}},yt=function(){var t=function(n){return function(t,i){return t+" "+n+" "+i}},i=function(n,t){return function(i,r){var u=[n,"("];return t?u.push(r,",",i):u.push(i,",",r),u.push(")"),u.join("")}},r={"=":t("eq"),"<>":t("ne"),">":t("gt"),">=":t("ge"),"<":t("lt"),"<=":t("le"),startswith:i("startswith"),endswith:i("endswith")},h=n.extend({},r,{contains:i("substringof",!0),notcontains:i("not substringof",!0)}),c=n.extend({},r,{contains:i("contains"),notcontains:i("not contains")}),l=function(n,t){n=e.utils.normalizeBinaryCriterion(n);var i=n[1],o=t===4?c:h,r=o[i.toLowerCase()];if(!r)throw f.Error("E4003",i);return r(u(n[0]),s(n[2],t))},a=function(t,i){var u=[],s,r;return n.each(t,function(t,h){if(n.isArray(h)){if(u.length>1&&s!==r)throw new f.Error("E4019");u.push("("+o(h,i)+")");s=r;r="and"}else r=e.utils.isConjunctiveOperator(this)?"and":"or"}),u.join(" "+s+" ")},o=function(t,i){return n.isArray(t[0])?a(t,i):l(t,i)};return function(n,t){return o(n,t)}}(),pt=function(t){var h=[],r=[],f,o,s,e,c=function(){return o||s!==i},l=function(t){for(var i=0;i<t.length;i++)if(n.isFunction(t[i])||n.isArray(t[i])&&l(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=yt(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||g,{exec:function(i){return a(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.isArray(t)||(t=n.makeArray(arguments)),l(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:a,serializePropName:u,serializeValue:s,serializeKey:at,keyConverters:vt}},queryAdapters:{odata:pt}})}(jQuery,DevExpress),function(n,t){function u(t,r){return t=t.groupBy(r[0].selector),r.length>1&&(t=t.select(function(t){return n.extend({},t,{items:u(i.query(t.items),r.slice(1)).toArray()})})),t}function e(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 o=DevExpress.require("/class"),s=t.require("/eventsMixin"),r=o.abstract,h=DevExpress.require("/data/data.errors"),i=t.data,f=i.utils.normalizeSortingInfo;i.utils.multiLevelGroup=u;i.utils.arrangeSortingInfo=e;i.Store=o.inherit({ctor:function(t){var i=this;t=t||{};n.each(["onLoaded","onLoading","onInserted","onInserting","onUpdated","onUpdating","onRemoved","onRemoving","onModified","onModifying"],function(n,r){if(r in t)i.on(r.slice(2).toLowerCase(),t[r])});this._key=t.key;this._errorHandler=t.errorHandler;this._useDefaultSearch=!0},_customLoadOptions:function(){return null},key:function(){return this._key},keyOf:function(n){return this._keyGetter||(this._keyGetter=i.utils.compileGetter(this.key())),this._keyGetter(n)},_requireKey:function(){if(!this.key())throw h.Error("E4005");},load:function(n){var t=this;return n=n||{},this.fireEvent("loading",[n]),this._withLock(this._loadImpl(n)).done(function(i){t.fireEvent("loaded",[i,n])})},_loadImpl:function(t){var s=t.filter,o=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=f(r)),(o||r)&&(o=f(o||[]),r&&(o=e(r,o)),n.each(o,function(n){i=i[n?"thenBy":"sortBy"](this.selector,this.desc)})),h&&(i=i.select(h)),r&&(i=u(i,r)),(l||c)&&(i=i.slice(c||0,l)),i.enumerate()},_withLock:function(i){var r=n.Deferred();return i.done(function(){var n=this,i=arguments;t.data.utils.processRequestResultLock.promise().done(function(){r.resolveWith(n,i)})}).fail(function(){r.rejectWith(this,arguments)}),r},createQuery:r,totalCount:function(n){return 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=f(i),t=u(t,i)),t.count()},byKey:function(n,t){return this._addFailHandlers(this._withLock(this._byKeyImpl(n,t)))},_byKeyImpl:r,insert:function(n){var t=this;return t.fireEvent("modifying"),t.fireEvent("inserting",[n]),t._addFailHandlers(t._insertImpl(n).done(function(n,i){t.fireEvent("inserted",[n,i]);t.fireEvent("modified")}))},_insertImpl:r,update:function(n,t){var i=this;return i.fireEvent("modifying"),i.fireEvent("updating",[n,t]),i._addFailHandlers(i._updateImpl(n,t).done(function(n,t){i.fireEvent("updated",[n,t]);i.fireEvent("modified")}))},_updateImpl:r,remove:function(n){var t=this;return t.fireEvent("modifying"),t.fireEvent("removing",[n]),t._addFailHandlers(t._removeImpl(n).done(function(n){t.fireEvent("removed",[n]);t.fireEvent("modified")}))},_removeImpl:r,_addFailHandlers:function(n){return n.fail(this._errorHandler,i._errorHandler)}}).include(s)}(jQuery,DevExpress),function(n,t,i){var r=t.data,o=r.Guid,u=DevExpress.require("/data/data.errors"),s=t.require("/utils/utils.object"),h=function(t,i){for(var r,u=n.makeArray(i);u.length;)if(r=u.shift(),r in t)return!0;return!1},f=function(){var t=n.Deferred();return t.resolve.apply(t,arguments).promise()},e=function(){var t=n.Deferred();return t.reject.apply(t,arguments).promise()};r.ArrayStore=r.Store.inherit({ctor:function(t){t=n.isArray(t)?{data:t}:t||{};this.callBase(t);var i=t.data;if(i&&!n.isArray(i))throw u.Error("E4006");this._array=i||[]},createQuery:function(){return r.query(this._array,{errorHandler:this._errorHandler})},_byKeyImpl:function(n){var t=this._indexByKey(n);return t===-1?e(u.Error("E4009")):f(this._array[t])},_insertImpl:function(t){var h=this.key(),r,s;if(s=n.isPlainObject(t)?n.extend({},t):t,h){if(r=this.keyOf(s),r===i||typeof r=="object"&&n.isEmptyObject(r)){if(n.isArray(h))throw u.Error("E4007");r=s[h]=String(new o)}else if(this._array[this._indexByKey(r)]!==i)return e(u.Error("E4008"))}else r=s;return this._array.push(s),f(t,r)},_updateImpl:function(n,t){var i,o,c=this.key();if(c){if(h(t,c)&&!r.utils.keysEqual(c,n,this.keyOf(t)))return e(u.Error("E4017"));if(i=this._indexByKey(n),i<0)return e(u.Error("E4009"));o=this._array[i]}else o=n;return s.deepExtendArraySafe(o,t),f(n,t)},_removeImpl:function(n){var t=this._indexByKey(n);return t>-1&&this._array.splice(t,1),f(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 i=DevExpress.require("/class"),r=i.abstract,f=DevExpress.require("/data/data.errors"),u=t.data,e=i.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,t){this.callBase(n,t);var i=t.name;if(!i)throw f.Error("E4013");this._key="dx-data-localStore-"+i},_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 a=DevExpress.require("/class"),f=DevExpress.require("/data/data.errors"),v=t.require("/utils/utils.proxyUrlFormatter"),e=t.require("/utils/utils.string"),o=t.require("/utils/utils.common"),i=t.data,r=i.utils.odata,y=2,s=function(t,i){return e.format("{0}({1})",t,n.map(i||{},function(n,t){return e.format("{0}={1}",t,n)}).join(","))},u=function(t,i){if(!t)return t;var u={};return n.each(t,function(n,t){u[n]=r.serializeValue(t,i)}),u},h=function(n,t){var i=r.keyConverters[n];if(!i)throw f.Error("E4014",n);return i(t)},c={_extractServiceOptions:function(n){n=n||{};this._url=String(n.url).replace(/\/+$/,"");this._beforeSend=n.beforeSend;this._jsonp=n.jsonp;this._version=n.version||y;this._withCredentials=n.withCredentials},_sendRequest:function(n,t,i,u){return r.sendRequest(this.version(),{url:n,method:t,params:i||{},payload:u},{beforeSend:this._beforeSend,jsonp:this._jsonp,withCredentials:this._withCredentials},this._deserializeDates)},version:function(){return this._version}},l=i.Store.inherit({ctor:function(n){this.callBase(n);this._extractServiceOptions(n);this._keyType=n.keyType;this._deserializeDates=n.deserializeDates;this._updateMethod=this.version()===2?"MERGE":"PATCH"},_customLoadOptions:function(){return["expand","customQueryParams"]},_byKeyImpl:function(t,i){var u={};return i&&i.expand&&(u.$expand=n.map(n.makeArray(i.expand),r.serializePropName).join()),this._sendRequest(this._byKeyUrl(t),"GET",u)},createQuery:function(n){var t,r,f;return n=n||{},r={beforeSend:this._beforeSend,errorHandler:this._errorHandler,jsonp:this._jsonp,version:this._version,withCredentials:this._withCredentials,deserializeDates:this._deserializeDates,expand:n.expand,requireTotalCount:n.requireTotalCount},t=o.isDefined(n.urlOverride)?n.urlOverride:this._url,"customQueryParams"in n&&(f=u(n.customQueryParams,this.version()),this.version()===4?t=s(t,f):r.params=f),i.query(t,r)},_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.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.promise()},_byKeyUrl:function(t,i){var u=t,f=this._keyType,e=i?v.formatLocalUrl(this._url):this._url;return n.isPlainObject(f)?(u={},n.each(f,function(n,i){u[n]=h(i,t[n])})):f&&(u=h(f,t)),e+"("+encodeURIComponent(r.serializeKey(u,this._version))+")"}}).include(c),p=a.inherit({ctor:function(t){var i=this;i._extractServiceOptions(t);i._errorHandler=t.errorHandler;n.each(t.entities||[],function(r,u){i[r]=new l(n.extend({},t,{url:i._url+"/"+encodeURIComponent(u.name||r)},u))})},get:function(n,t){return this.invoke(n,t,"GET")},invoke:function(t,r,f){r=r||{};f=(f||"POST").toLowerCase();var e=n.Deferred(),o=this._url+"/"+encodeURIComponent(t),h;return this.version()===4&&(f==="get"?(o=s(o,u(r,this.version())),r=null):f==="post"&&(h=r,r=null)),n.when(this._sendRequest(o,f,u(r,this.version()),h)).done(function(i){n.isPlainObject(i)&&t in i&&(i=i[t]);e.resolve(i)}).fail([this._errorHandler,i._errorHandler,e.reject]),e.promise()},objectLink:function(n,t){var i=this[n];if(!i)throw f.Error("E4015",n);return o.isDefined(t)?{__metadata:{uri:i._byKeyUrl(t,!0)}}:null}}).include(c);n.extend(i,{ODataStore:l,ODataContext:p})}(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(t,i){if(!n.isFunction(i))throw s.Error("E4011",t);}function l(n){throw s.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=DevExpress.require("/data/data.errors"),h="totalCount",c="load",a="byKey",v="insert",y="update",p="remove";o.CustomStore=o.Store.inherit({ctor:function(n){n=n||{};this.callBase(n);this._useDefaultSearch=!1;this._loadFunc=n[c];this._totalCountFunc=n[h];this._byKeyFunc=n[a];this._insertFunc=n[v];this._updateFunc=n[y];this._removeFunc=n[p]},createQuery:function(){throw s.Error("E4010");},_totalCountImpl:function(t){var s=this._totalCountFunc,i,o=n.Deferred();return f(h,s),i=s.apply(this,[t]),u(i)||(i=Number(i),isFinite(i)||l(h),i=r(i)),i.then(function(n){o.resolve(Number(n))},e(o)),this._addFailHandlers(o.promise())},_loadImpl:function(t){var h=this._loadFunc,o,s=n.Deferred();return f(c,h),o=h.apply(this,[t]),n.isArray(o)?o=r(o):o===null||o===i?o=r([]):u(o)||l(c),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(a,h),o=h.apply(this,[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(v,s),i=s.apply(this,[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(y,h),o=h.apply(this,[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(p,s),i=s.apply(this,[t]),u(i)||(i=r()),i.then(function(){o.resolve(t)},e(o)),o.promise()}})}(jQuery,DevExpress),function(n,t,i){function u(){this._counter=-1;this._deferreds={}}function h(n){return n.state()==="pending"}function c(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 a(i)}function e(n){var t=r[s[n.type]];return delete n.type,new t(n)}function o(t){return new a({load:function(){return n.getJSON(t)}})}var u;return typeof t=="string"&&(t={paginate:!1,store:o(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 l(t){switch(t.length){case 0:return i;case 1:return t[0]}return n.makeArray(t)}function o(n){return function(){var t=l(arguments);if(t===i)return this._storeLoadOptions[n];this._storeLoadOptions[n]=t}}function k(t,i,u){function e(t,r){return f.isArray(t)?r?o(t,r):n.map(t,i):t}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(t,u?r.utils.normalizeSortingInfo(u).length:0)}var r=t.data,a=r.CustomStore,d=t.require("/class"),g=t.require("/eventsMixin"),nt=t.require("/data/data.errors"),tt=t.require("/utils/utils.array"),it=t.require("/utils/utils.queue"),f=t.require("/utils/utils.common"),rt=f.isString,v=f.isNumber,y=f.isBoolean,p=f.isDefined,w="canceled",e,s,b;u.prototype.constructor=u;u.prototype.add=function(n){return this._counter+=1,this._deferreds[this._counter]=n,this._counter};u.prototype.remove=function(n){return delete this._deferreds[n]};u.prototype.cancel=function(n){return n in this._deferreds?(this._deferreds[n].reject(w),!0):!1};e=new u;s={jaydata:"JayDataStore",breeze:"BreezeStore",parse:"ParseStore",odata:"ODataStore",local:"LocalStore",array:"ArrayStore"};b=d.inherit({ctor:function(t){var r=this;t=c(t);this._store=t.store;this._storeLoadOptions=this._extractLoadOptions(t);this._mapFunc=t.map;this._postProcessFunc=t.postProcess;this._pageIndex=t.pageIndex!==i?t.pageIndex:0;this._pageSize=t.pageSize!==i?t.pageSize:20;this._loadingCount=0;this._loadQueue=this._createLoadQueue();this._searchValue="searchValue"in t?t.searchValue:null;this._searchOperation=t.searchOperation||"contains";this._searchExpr=t.searchExpr;this._paginate=t.paginate;n.each(["onChanged","onLoadError","onLoadingChanged","onCustomizeLoadResult","onCustomizeStoreLoadOptions"],function(n,i){if(i in t)r.on(i.substr(2,1).toLowerCase()+i.substr(3),t[i])});this._init()},_init:function(){this._items=[];this._userData={};this._totalCount=-1;this._isLoaded=!1;p(this._paginate)||(this._paginate=!this.group());this._isLastPage=!this._paginate},dispose:function(){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){if(!v(n))return this._pageIndex;this._pageIndex=n;this._isLastPage=!this._paginate},paginate:function(n){if(!y(n))return this._paginate;this._paginate!==n&&(this._paginate=n,this.pageIndex(0))},pageSize:function(n){if(!v(n))return this._pageSize;this._pageSize=n},isLastPage:function(){return this._isLastPage},sort:o("sort"),filter:function(){var n=l(arguments);if(n===i)return this._storeLoadOptions.filter;this._storeLoadOptions.filter=n;this.pageIndex(0)},group:o("group"),select:o("select"),requireTotalCount:function(n){if(!y(n))return this._storeLoadOptions.requireTotalCount;this._storeLoadOptions.requireTotalCount=n},searchValue:function(n){if(arguments.length<1)return this._searchValue;this._searchValue=n;this.pageIndex(0)},searchOperation:function(n){if(!rt(n))return this._searchOperation;this._searchOperation=n;this.pageIndex(0)},searchExpr:function(t){var i=arguments.length;if(i===0)return this._searchExpr;i>1&&(t=n.makeArray(arguments));this._searchExpr=t;this.pageIndex(0)},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 it.create()},_changeLoadingCount:function(n){var i=this.isLoading(),t;this._loadingCount+=n;t=this.isLoading();i^t&&this.fireEvent("loadingChanged",[t])},_scheduleLoadCallbacks:function(n){var t=this;t._changeLoadingCount(1);n.always(function(){t._changeLoadingCount(-1)})},_scheduleFailCallbacks:function(n){var t=this;n.fail(function(){arguments[0]!==w&&t.fireEvent("loadError",arguments)})},_scheduleChangedCallbacks:function(n){var t=this;n.done(function(){t.fireEvent("changed")})},loadSingle:function(t,i){var s=this,f=n.Deferred(),o=this.key(),e=this._store,u=this._createStoreLoadOptions(),h=function(t){!p(t)||tt.isEmpty(t)?f.reject(new nt.Error("E4009")):f.resolve(s._applyMapFunction(n.makeArray(t))[0])};return this._scheduleFailCallbacks(f),arguments.length<2&&(i=t,t=o),delete u.skip,delete u.group,delete u.refresh,delete u.pageIndex,delete u.searchString,function(){return t===o||e instanceof r.CustomStore?e.byKey(i,u):(u.take=1,u.filter=u.filter?[u.filter,[t,i]]:[t,i],e.load(u))}().fail(f.reject).done(h),f.promise()},load:function(){function e(){return u._disposed?i:h(t)?u._loadFromStore(r,t):void 0}var u=this,t=n.Deferred(),r;return this._scheduleLoadCallbacks(t),this._scheduleFailCallbacks(t),this._scheduleChangedCallbacks(t),r=this._createLoadOperation(t),this.fireEvent("customizeStoreLoadOptions",[r]),this._loadQueue.add(function(){return typeof r.delay=="number"?u._delayedLoadTask=f.executeAsync(e,r.delay):e(),t.promise()}),t.promise({operationId:r.operationId})},_createLoadOperation:function(n){var t=e.add(n),i=this._createStoreLoadOptions();return n.always(function(){e.remove(t)}),{operationId:t,storeLoadOptions:i}},reload:function(){return this._init(),this.load()},cancel:function(n){return e.cancel(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},_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 u(u,f){function e(){var e;e=n.extend({data:u,extra:f},t);r.fireEvent("customizeLoadResult",[e]);n.when(e.data).done(function(n){e.data=n;r._processStoreLoadResult(e,i)}).fail(i.reject)}r._disposed||h(i)&&e()}var r=this;return t.data?n.Deferred().resolve(t.data).done(u):this.store().load(t.storeLoadOptions).done(u).fail(i.reject)},_processStoreLoadResult:function(t,i){function e(){return r._isLoaded=!0,r._totalCount=isFinite(u.totalCount)?u.totalCount:-1,i.resolve(f,u)}function s(){r.store().totalCount(o).done(function(n){u.totalCount=n;e()}).fail(i.reject)}var r=this,f=n.makeArray(t.data),u=t.extra,o=t.storeLoadOptions;r._disposed||(f=r._applyPostProcessFunction(r._applyMapFunction(f)),n.isPlainObject(u)||(u={}),r._items=f,(!f.length||!r._paginate||r._pageSize&&f.length<r._pageSize)&&(r._isLastPage=!0),o.requireTotalCount&&!isFinite(u.totalCount)?s():e())},_applyMapFunction:function(n){return this._mapFunc?k(n,this._mapFunc,this.group()):n},_applyPostProcessFunction:function(n){return this._postProcessFunc?this._postProcessFunc(n):n}}).include(g);n.extend(!0,r,{DataSource:b,utils:{storeTypeRegistry:s,normalizeDataSourceOptions:c}})}(jQuery,DevExpress),DevExpress.define("/ui/uiNamespace",["/coreNamespace","/ui/ui.themes","/ui/templates/ui.templateBase","/integration/jquery/jquery.template","/ui/ui.actionExecutors"],function(n,t,i,r){var u=n.ui=n.ui||{};return u.themes={current:t.current},u.setTemplateEngine=r.setTemplateEngine,u.templateRendered=i.renderedCallbacks,u}),DevExpress.define("/ui/ui.themes",["jquery","/ui/ui.errors","/utils/utils.dom","/devices","/utils/utils.viewPort"],function(n,t,i,r,u){function w(){var i=n("<div><\/div>",e).addClass("dx-theme-marker").appendTo(e.documentElement),t;try{return(t=i.css("font-family"),!t)?null:(t=t.replace(/["']/g,""),t.substr(0,p.length)!==p)?null:t.substr(p.length)}finally{i.remove()}}function b(t,i){function r(){s=null;i()}var u,f;s=t;k()?r():(f=n.now(),u=setInterval(function(){var t=k(),i=!t&&n.now()-f>15e3;(t||i)&&(clearInterval(u),r())},10))}function k(){return!s||w()===s}function it(){var t=n(nt,e);t.length&&(o={},h=n(i.createMarkupFromString("<link rel=stylesheet>"),e),t.each(function(){var t=n(this,e),i=t.attr(ot),r=t.attr("href"),u=t.attr(st)==="true";o[i]={url:r,isActive:u}}),t.last().after(h),t.remove())}function rt(t){var i=t.split("."),r=null;return o&&n.each(o,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 ut(n){try{n!==e&&(o=null)}catch(t){o=null}e=n}function l(n){n=n||{};ut(n.context||document);it();f=undefined;a(n)}function a(n){if(!arguments.length)return f=f||w();y(g(),f);n=n||{};typeof n=="string"&&(n={theme:n});var u=n._autoInit,i=n.loadCallback,e;if(f=n.theme||f,u&&!f&&(f=d(r.current())),f=rt(f),f&&(e=o[f]),e)h.attr("href",o[f].url),i?b(f,i):s&&(s=f);else if(u)i&&i();else throw t.Error("E0021",f);v(g(),f)}function d(n){var t=n.platform,i=n.version&&n.version[0];switch(t){case"ios":t+="7";break;case"android":t+="5";break;case"win":t+=i&&i===8?"8":"10"}return t}function ft(n){n=n||a();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 v(t,i){c=ft(i).join(" ");n(t).addClass(c);var r=function(){var r=window.devicePixelRatio,i;!r||r<2||(i=n("<div>"),i.css("border",".5px solid transparent"),n("body").append(i),i.outerHeight()===1&&(n(t).addClass(tt),c+=" "+tt),i.remove())};r()}function y(t){n(t).removeClass(c)}var g=u.value,et=u.changeCallback,nt="link[rel=dx-theme]",ot="data-theme",st="data-active",tt="dx-hairlines",e,h,o,f,s,p="dx.",c;return n.holdReady(!0),l({_autoInit:!0,loadCallback:function(){n.holdReady(!1)}}),n(function(){if(n(nt,e).length)throw t.Error("E0022");}),et.add(function(n,t){y(t);v(n)}),r.changed.add(function(){l({_autoInit:!0})}),{init:l,current:a,attachCssClasses:v,detachCssClasses:y,themeNameFromDevice:d,waitForThemeLoad:b,resetTheme:function(){h.attr("href","about:blank");f=null;s=null}}}),DevExpress.define("/ui/ui.keyboardProcessor",["jquery","/class","/ui/events/ui.events.utils"],function(n,t,i){var r=t.inherit({_keydown:i.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._processFunction=function(n){i.process(n)};this._element.on(this._keydown,this._processFunction)}},dispose:function(){this._element&&this._element.off(this._keydown,this._processFunction);this._element=undefined;this._handler=undefined;this._context=undefined;this._childProcessors=undefined},clearChildren:function(){this._childProcessors=[]},push:function(n){return this._childProcessors||this.clearChildren(),this._childProcessors.push(n),n},attachChildProcessor:function(){var n=new r;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)})}});return r}),DevExpress.define("/ui/ui.widget",["jquery","/ui/ui.errors","/action","/utils/utils.dom","/utils/utils.common","/devices","/domComponent","/ui/templates/ui.templateBase","/ui/templates/ui.template.dynamic","/ui/templates/ui.template.empty","/ui/templates/ui.template.move","/integration/jquery/jquery.templateProvider","/ui/ui.keyboardProcessor","/integration/jquery/jquery.selectors","/ui/events/ui.events.utils","/ui/events/ui.events.hover","/ui/events/ui.events.emitter.feedback"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){var k="UIFeedback",nt="dx-widget",tt="dx-state-active",d="dx-state-disabled",it="dx-state-invisible",rt="dx-state-hover",g="dx-state-focused",ut=30,ft=400,b="Focus",et="template",ot=3,st="[data-options*='dxTemplate']",ht="dx-template-wrapper";return e.inherit({_supportedKeys:function(){return{}},_getDefaultOptions:function(){return n.extend(this.callBase(),{disabled:!1,visible:!0,hint:undefined,activeStateEnabled:!1,onContentReady:null,hoverStateEnabled:!1,focusStateEnabled:!1,tabIndex:0,accessKey:null,onFocusIn:null,onFocusOut:null,templateProvider:l,_keyboardProcessor:undefined,_templates:{}})},_init:function(){this.callBase();this._feedbackShowTimeout=ut;this._feedbackHideTimeout=ft;this._tempTemplates=[];this._dynamicTemplates={};this._initTemplates();this._initContentReadyAction()},_initTemplates:function(){this._extractTemplates();this._extractAnonymousTemplate()},_extractTemplates:function(){var u=this.option("_templates"),f=this.element().contents().filter(st),i={};f.each(function(u,f){var e=r.getElementOptions(f).dxTemplate;if(e){if(!e.name)throw t.Error("E0023");n(f).addClass(ht).detach();i[e.name]=i[e.name]||[];i[e.name].push(f)}});n.each(i,n.proxy(function(n,t){var i=this._findTemplateByDevice(t);i&&(u[n]=this._createTemplate(i,this))},this))},_findTemplateByDevice:function(t){var i=u.findBestMatches(f.current(),t,function(n){return r.getElementOptions(n).dxTemplate})[0];return n.each(t,function(t,r){r!==i&&n(r).remove()}),i},_extractAnonymousTemplate:function(){var t=this.option("_templates"),i=this._getAnonymousTemplateName(),r=this.element().contents().detach(),u=r.filter(function(t,i){var r=i.nodeType===ot,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._focusTarget()},_getAnonymousTemplateName:function(){return et},_getTemplateByOption:function(n){return this._getTemplate(this.option(n))},_getTemplate:function(t){if(n.isFunction(t)){var i=this;return new s(function(){var n=t.apply(i,arguments);return u.isDefined(n)?i._acquireTemplate(n,this,!0):new h},this)}return this._acquireTemplate(t,this)},_acquireTemplate:function(t,i,u){var f,e,s;return t==null?this._createTemplate(r.normalizeTemplateElement(t),i):t instanceof o?t:t.nodeType||t.jquery?(t=n(t),u&&!t.is("script"))?new c(t,i):this._createTemplate(t,i):typeof t=="string"?(f=this.option("_templates")[t],f)?f:(e=this._dynamicTemplates[t],e)?e:(s=this.option("templateProvider").getTemplates(this)[t],s)?s:this._createTemplate(r.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"]})},_render:function(){this.element().addClass(nt);this.callBase();this._toggleDisabledState(this.option("disabled"));this._toggleVisibility(this.option("visible"));this._renderHint();this._renderContent();this._renderFocusState();this._attachFeedbackEvents();this._attachHoverEvents()},_renderHint:function(){r.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(it,!n);this.setAria("hidden",!n||undefined)},_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=y.addNamespace("dxclick",k);t.off(i);this.option("accessKey")&&t.on(i,n.proxy(function(n){y.isFakeClickEvent(n)&&(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("."+d)),n},_renderFocusTarget:function(){this._focusTarget().attr("tabindex",this.option("tabIndex"))},_keyboardEventBindingTarget:function(){return this._eventBindingTarget()},_detachFocusEvents:function(){var n=this._focusTarget(),t=y.addNamespace("focusin",this.NAME+b),i=y.addNamespace("focusout",this.NAME+b),r=y.addNamespace("beforeactivate",this.NAME+b);n.off(t+" "+i+" "+r)},_attachFocusEvents:function(){var t=y.addNamespace("focusin",this.NAME+b),i=y.addNamespace("focusout",this.NAME+b),r=y.addNamespace("beforeactivate",this.NAME+b);this._focusTarget().on(t,n.proxy(this._focusInHandler,this)).on(i,n.proxy(this._focusOutHandler,this)).on(r,function(t){n(t.target).is(v.focusable)||t.preventDefault()})},_refreshFocusEvent:function(){this._detachFocusEvents();this._attachFocusEvents()},_focusInHandler:function(n){var t=this;t._createActionByOption("onFocusIn",{beforeExecute:function(){t._updateFocusState(n,!0)},excludeValidators:["readOnly"]})({jQueryEvent:n})},_focusOutHandler:function(n){var t=this;t._createActionByOption("onFocusOut",{beforeExecute:function(){t._updateFocusState(n,!1)},excludeValidators:["readOnly"]})({jQueryEvent:n})},_updateFocusState:function(t,i){var r=t.target;n.inArray(r,this._focusTarget())!==-1&&this._toggleFocusClass(i,r)},_toggleFocusClass:function(t,i){var r=n(i||this._focusTarget());r.toggleClass(g,t)},_hasFocusClass:function(t){var i=n(t||this._focusTarget());return i.hasClass(g)},_attachKeyboardEvents:function(){var n=this.option("_keyboardProcessor")||new a({element:this._keyboardEventBindingTarget(),focusTarget:this._focusTarget()});this._keyboardProcessor=n.reinitialize(this._keyboardHandler,this)},_keyboardHandler:function(t){var u=t.originalEvent,f=t.key,e=this._supportedKeys(),i=e[f],r;return i!==undefined?(r=n.proxy(i,this),r(u)||!1):!0},_refreshFocusState:function(){this._cleanFocusState();this._renderFocusState()},_cleanFocusState:function(){var n=this._focusTarget();this._detachFocusEvents();this._toggleFocusClass(!1);n.removeAttr("tabindex");this._keyboardProcessor&&this._keyboardProcessor.dispose()},_attachHoverEvents:function(){var t=this,r=t._activeStateUnit,u=y.addNamespace(p.start,k),f=y.addNamespace(p.end,k),e;if(t._eventBindingTarget().off(u,r).off(f,r),t.option("hoverStateEnabled")){e=new i(function(n){t._hoverStartHandler(n.event);var i=n.element;t._refreshHoveredElement(i)});t._eventBindingTarget().on(u,r,function(t){e.execute({element:n(t.target),event:t})}).on(f,r,function(n){t._hoverEndHandler(n);t._forgetHoveredElement()})}else t._toggleHoverClass(!1)},_hoverStartHandler:n.noop,_hoverEndHandler:n.noop,_attachFeedbackEvents:function(){var t=this,r=t._activeStateUnit,o=y.addNamespace(w.active,k),s=y.addNamespace(w.inactive,k),u,f,e;if(t._eventBindingTarget().off(o,r).off(s,r),t.option("activeStateEnabled")){e=function(n){var i=n.element,r=n.value,u=n.jQueryEvent;t._toggleActiveState(i,r,u)};t._eventBindingTarget().on(o,r,{timeout:t._feedbackShowTimeout},function(t){u=u||new i(e);u.execute({element:n(t.currentTarget),value:!0,jQueryEvent:t})}).on(s,r,{timeout:t._feedbackHideTimeout},function(t){f=f||new i(e,{excludeValidators:["disabled","readOnly"]});f.execute({element:n(t.currentTarget),value:!1,jQueryEvent:t})})}},_toggleActiveState:function(n,t){this._toggleHoverClass(!t);n.toggleClass(tt,t)},_refreshHoveredElement:function(n){var t=this._activeStateUnit||this._eventBindingTarget();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(rt,n&&this.option("hoverStateEnabled"))},_toggleDisabledState:function(n){this.element().toggleClass(d,Boolean(n));this._toggleHoverClass(!n);this.setAria("disabled",n||undefined)},_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":break;case"accessKey":this._renderAccessKey();break;case"visible":var t=n.value;this._toggleVisibility(t);this._isVisibilityChangeSupported()&&this._checkVisibilityChanged(n.value?"shown":"hiding");break;case"onContentReady":this._initContentReadyAction();break;case"_templates":case"templateProvider":break;default:this.callBase(n)}},_isVisible:function(){return this.callBase()&&this.option("visible")},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,i=t.value;i=i===null||i===undefined?undefined:i.toString();r.toggleAttr(t.target,u,i)},i;n.isPlainObject(arguments[0])?(i=arguments[1]||this._getAriaTarget(),n.each(arguments[0],function(n,r){t({name:n,value:r,target:i})})):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)}}})}),DevExpress.define("/ui/ui.validationMixin",["jquery"],function(){return{_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}}}),DevExpress.define("/ui/ui.editor",["jquery","/ui/uiNamespace","/utils/utils.common","/ui/ui.themes","/ui/ui.widget","/ui/ui.validationMixin"],function(n,t,i,r,u,f){var e="dx-state-readonly",o="dx-invalid",s="dx-invalid-message",h="dx-invalid-message-auto",c="dx-invalid-message-always";return u.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)})}},_getDefaultOptions:function(){return n.extend(this.callBase(),{value:null,onValueChanged:null,readOnly:!1,isValid:!0,validationError:null,validationMessageMode:"auto",validationBoundary:undefined,validationMessageOffset:{h:0,v:0}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=(r.current()||"").split(".")[0];return n==="android5"},options:{validationMessageOffset:{v:-8}}}])},_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.callBase();this._renderValidationState();this._toggleReadOnlyState()},_raiseValueChangeAction:function(n,t){this._valueChangeAction||this._createValueChangeAction();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 i=this.option("isValid"),r=this.option("validationError"),u=this.option("validationMessageMode"),t=this.element();t.toggleClass(o,!i);this.setAria("invalid",!i||undefined);this._$validationMessage&&(this._$validationMessage.remove(),this._$validationMessage=null);!i&&r&&r.message&&(this._$validationMessage=n("<div/>",{"class":s}).text(r.message).appendTo(t),this._createComponent(this._$validationMessage,"dxOverlay",{target:this._getValidationMessageTarget(),shading:!1,width:"auto",height:"auto",container:t,position:this._getValidationMessagePosition("below"),closeOnOutsideClick:!1,closeOnTargetScroll:!1,animation:null,visible:!0}),this._$validationMessage.toggleClass(h,u==="auto").toggleClass(c,u==="always"),this._$validationMessage.dxOverlay("option","width",t.outerWidth()))},_getValidationMessageTarget:function(){return this.element()},_getValidationMessagePosition:function(n){var r=this.option("rtlEnabled"),u=i.getDefaultAlignment(r),f=this.option("validationMessageOffset"),t={h:f.h,v:f.v},e=n==="below"?[" top"," bottom"]:[" bottom"," top"];return r&&(t.h=-t.h),n!=="below"&&(t.v=-t.v),{offset:t,boundary:this.option("validationBoundary"),my:u+e[0],at:u+e[1],collision:"none flip"}},_toggleReadOnlyState:function(){this.element().toggleClass(e,this.option("readOnly"));this.setAria("readonly",this.option("readOnly")||undefined)},_optionChanged:function(n){switch(n.name){case"onValueChanged":this._createValueChangeAction();break;case"isValid":case"validationError":case"validationBoundary":case"validationMessageMode":this._renderValidationState();break;case"readOnly":this._toggleReadOnlyState();this._refreshFocusState();break;case"value":this._valueChangeActionSuppressed||(this._raiseValueChangeAction(n.value,n.previousValue),this._saveValueChangeEvent(undefined));n.value!=n.previousValue&&this.validationRequest.fire({value:n.value,editor:this});break;case"width":this.callBase(n);this._$validationMessage&&this._$validationMessage.dxOverlay("option","width",this.element().outerWidth());break;default:this.callBase(n)}},reset:function(){this.option("value",null)}}).include(f)}),DevExpress.define("/ui/ui.errors",["/utils/utils.error","/errors"],function(n,t){return n(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",E1035:"The editor could not be created because of the internal error: {0}",E1036:"Validation rules are not defined for any form item",E1037:"Invalid structure of grouped data",E1038:"Your browser does not support local storage for local web pages",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."})}),DevExpress.define("/ui/ui.actionExecutors",["jquery","/action"],function(n,t){var i=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.registerExecutor({designMode:{validate:function(n){DevExpress.designMode&&(n.cancel=!0)}},disabled:{validate:i(function(n){return n.is(".dx-state-disabled, .dx-state-disabled *")})},readOnly:{validate:i(function(n){return n.is(".dx-state-readonly, .dx-state-readonly *")})}})}),DevExpress.define("/ui/ui.dialog",["jquery","/component","/action","/ui/ui.errors","/utils/utils.dom","/utils/utils.viewPort","/devices","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var a={text:"OK",onClick:function(){return!0}},s="dx-dialog",v=s+"-wrapper",y=s+"-root",p=s+"-content",w=s+"-message",b=s+"-buttons",k=s+"-button",h=t.inherit({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:function(n){var t=(o.current()||"").split(".")[0];return!n.phone&&t==="win8"},options:{width:function(){return n(window).width()}}},{device:function(n){var t=(o.current()||"").split(".")[0];return n.phone&&t==="win8"},options:{position:{my:"top center",at:"top center",of:window,offset:"0 0"}}}])}}),d=function(t){function nt(){return o.show(),c.promise()}function l(n){c.resolve(n);o.hide().done(function(){o.element().remove()})}var c,d,o;if(!DevExpress.ui.dxPopup)throw r.Error("E0018");c=n.Deferred();d=(new h).option();t=n.extend(d,t);var tt=n("<div>").addClass(s).appendTo(f.value()),it=n("<div>").addClass(w).html(String(t.message)),g=[];return n.each(t.buttons||[a],function(){var t=new i(this.onClick,{context:o});g.push({toolbar:"bottom",location:e.current().android?"after":"center",widget:"button",options:n.extend({},this,{onClick:function(){var n=t.execute(arguments);l(n)}})})}),o=tt.dxPopup({title:t.title||this.title,showTitle:function(){return t.showTitle===undefined?!0:t.showTitle}(),height:"auto",width:function(){var u=n(window).height()>n(window).width(),r=(u?"p":"l")+"Width",i=t.hasOwnProperty(r)?t[r]:t.width;return n.isFunction(i)?i():i},showCloseButton:t.showCloseButton||!1,focusStateEnabled:!1,onContentReady:function(n){n.component.content().addClass(p).append(it)},onShowing:function(n){n.component.bottomToolbar().addClass(b).find(".dx-button").addClass(k);u.resetActiveElement()},onShown:function(n){n.component.bottomToolbar().find(".dx-button").first().focus()},onHiding:function(){c.reject()},buttons:g,animation:{show:{type:"pop",duration:400},hide:{type:"pop",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}},rtlEnabled:DevExpress.rtlEnabled,boundaryOffset:{h:10,v:0}}).dxPopup("instance"),o._wrapper().addClass(v),t.position&&o.option("position",t.position),o._wrapper().addClass(y),{show:nt,hide:l}},c=function(t,i,r){var u,f=n.isPlainObject(t)?t:{title:i,message:t,showTitle:r};return u=this.custom(f),u.show()},g=function(t,i,r){var u,f=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 u=this.custom(f),u.show()},l=null,nt=function(t,r,u){var e=n.isPlainObject(t)?t:{message:t},o;if(!DevExpress.ui.dxToast){c(e.message);return}o=e.onHidden;n.extend(e,{type:r,displayTime:u,onHidden:function(n){n.element.remove();new i(o,{context:n.model}).execute(arguments)}});l=n("<div>").appendTo(f.value()).dxToast(e);l.dxToast("instance").show()};return{FakeDialogComponent:h,notify:nt,custom:d,alert:c,confirm:g}}),DevExpress.define("/ui/templates/ui.templateBase",["jquery","/utils/utils.dom","/class"],function(n,t,i){var f=t.triggerShownEvent,e=i.abstract,r=n.Callbacks(),u=i.inherit({ctor:function(t,i){this._element=n(t);this._owner=i},owner:function(){return this._owner},render:function(n,t,i){n instanceof jQuery&&(t=n,n=undefined);t&&(n=this._prepareDataForContainer(n,t));var u=this._renderCore(n,i,t);return this._ensureResultInContainer(u,t),r.fire(u,t),u},_ensureResultInContainer:function(t,i){var r,u;i&&((r=n.contains(i.get(0),t.get(0)),i.append(t),r)||(u=n.contains(document.body,i.get(0)),u)&&f(t))},source:function(){return this._element.clone()},_prepareDataForContainer:function(n){return n},_renderCore:e,dispose:function(){this._owner=null}});return u.renderedCallbacks=r,u}),DevExpress.define("/ui/templates/ui.template.function",["jquery","/ui/templates/ui.templateBase","/utils/utils.dom"],function(n,t,i){return t.inherit({ctor:function(t,i){this.callBase(n(),i);this._render=t},_renderCore:function(n,t,r){return i.normalizeTemplateElement(this._render(n,t,r))}})}),DevExpress.define("/ui/templates/ui.template.dynamic",["jquery","/ui/templates/ui.templateBase"],function(n,t){return t.inherit({ctor:function(t,i){this.callBase(n(),i);this._compileFunction=t},_renderCore:function(n,t,i){n===undefined&&t===undefined&&(n=i,i=undefined);var r=t===undefined?this._compileFunction(n,i):this._compileFunction(n,t,i),u=r.render(n,i,t);return r.owner()===this&&r.dispose(),u}})}),DevExpress.define("/ui/templates/ui.template.empty",["jquery","/ui/templates/ui.templateBase"],function(n,t){return t.inherit({ctor:function(t){this.callBase(n(),t)},_renderCore:function(){return n()}})}),DevExpress.define("/ui/templates/ui.template.move",["jquery","/ui/templates/ui.templateBase"],function(n,t){return t.inherit({_renderCore:function(){return this._element}})}),DevExpress.define("/ui/templates/ui.templateProviderBase",["jquery","/class"],function(n,t){var i=t.abstract;return t.inherit({ctor:function(){this.widgetTemplatesCache={}},createTemplate:i,getTemplates:function(n){return this._getWidgetTemplates(n.constructor)},_getWidgetTemplates:function(n){return n.publicName?this._getCachedWidgetTemplates(n):{}},_getCachedWidgetTemplates:function(t){var i=t.publicName(),r=this.widgetTemplatesCache;return r[i]||(r[i]=n.extend({},this._getWidgetTemplates(t.parent),this._templatesForWidget(i))),r[i]},_templatesForWidget:i})}),DevExpress.define("/ui/events/ui.events.eventRegistrator",["jquery","/utils/utils.memorizedCallbacks"],function(n,t){var r=n.event,e=r.fixHooks,o=n.event.special,s={props:r.mouseHooks.props.concat(["pointerType","pointerId","pointers"])},i=new t,u=function(t,r){var u={};"noBubble"in r&&(u.noBubble=r.noBubble);"bindType"in r&&(u.bindType=r.bindType);"delegateType"in r&&(u.delegateType=r.delegateType);n.each(["setup","teardown","add","remove","trigger","handle","_default","dispose"],function(t,i){r[i]&&(u[i]=function(){var t=n.makeArray(arguments);return t.unshift(this),r[i].apply(r,t)})});e[t]=s;i.fire(t,u)},f;return u.callbacks=i,f=function(n,t){o[n]=t},i.add(f),u}),DevExpress.define("/ui/events/ui.events.utils",["jquery","/ui/ui.errors"],function(n){var i=n.event,c=i.fixHooks,t=function(){var t={dx:/^dx/i,mouse:/(mouse|wheel)/i,touch:/^touch/i,keyboard:/^key/i,pointer:/^(ms)?pointer/i};return function(i){var r="other";return n.each(t,function(n){if(this.test(i.type))return r=n,!1}),r}}(),r=function(n){return t(n)==="dx"},l=function(n){return t(n)==="mouse"},f=function(n){return t(n)==="touch"},u=function(n){return t(n)==="pointer"},e=function(n){return l(n)||(u(n)||r(n))&&n.pointerType==="mouse"},o=function(n){return f(n)||(u(n)||r(n))&&n.pointerType==="touch"},a=function(n){return t(n)==="keyboard"},v=function(n){return n.screenX===0&&!n.offsetX&&n.pageX===0},y=function(n){return{x:n.pageX,y:n.pageY,time:n.timeStamp}},p=function(n,t){return{x:t.x-n.x,y:t.y-n.y,time:t.time-n.time||1}},w=function(n){return f(n)?(n.originalEvent.touches||[]).length:r(n)?(n.pointers||[]).length:0},b=function(t){var i=n(t.target),r=i.is("input, textarea, select");return i.is(".dx-skip-gesture-event *, .dx-skip-gesture-event")?!0:t.type==="dxmousewheel"?i.is("input[type='number'], textarea, select")&&i.is(":focus"):e(t)?r||t.which>1:o(t)?r&&i.is(":focus"):void 0},s=function(t,r){for(var u=n.Event(t),f=c[t.type]||i.mouseHooks,o=f.props?i.props.concat(f.props):i.props,s=o.length,e;s--;)e=o[s],u[e]=t[e];return r&&n.extend(u,r),f.filter?f.filter(u,t):u},k=function(n){var t=s(n.originalEvent,n);return i.trigger(t,null,n.delegateTarget||t.target),t},h=function(t,i){return typeof t=="string"?h(t.split(/\s+/g),i):(n.each(t,function(n,r){t[n]=r+"."+i}),t.join(" "))};return{eventSource:t,isPointerEvent:u,isMouseEvent:e,isTouchEvent:o,isKeyboardEvent:a,isFakeClickEvent:v,hasTouches:w,eventData:y,eventDelta:p,needSkipEvent:b,createEvent:s,fireEvent:k,addNamespace:h}}),DevExpress.define("/ui/events/ui.events.remove",["jquery","/ui/events/ui.events.eventRegistrator"],function(n,t){var i="dxremove",r="dxRemoveEvent",u=n.cleanData;return n.cleanData=function(t){for(var f,e=0;e<t.length;e++)f=n(t[e]),f.prop(r)&&(f.removeProp(r),f.triggerHandler(i));return u(t)},t(i,{noBubble:!0,setup:function(t){n(t).prop(r,!0)}}),{name:i}}),DevExpress.define("/ui/events/pointer/ui.events.pointer.touchHooks",["jquery"],function(n){var t={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]=t})}),DevExpress.define("/ui/events/pointer/ui.events.pointer.mspointerHooks",["jquery"],function(n){var t={2:"touch",3:"pen",4:"mouse"},i={filter:function(i,r){var u=r.pointerType;return n.isNumeric(u)&&(i.pointerType=t[u]),i},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]=i})}),DevExpress.define("/ui/events/pointer/ui.events.pointer.base",["jquery","/utils/utils.browser","/class","/ui/events/ui.events.utils"],function(n,t,i,r){var u="dxPointerEvents";return i.inherit({ctor:function(n,t){this._eventName=n;this._originalEvents=r.addNamespace(t,u);this._handlerCount=0;this.noBubble=this._isNoBubble()},_isNoBubble:function(){var n=this._eventName;return n==="dxpointerenter"||n==="dxpointerleave"},_handler:function(n){var i=this._getDelegateTarget(n);return this._fireEvent({type:this._eventName,pointerType:n.pointerType||r.eventSource(n),originalEvent:n,delegateTarget:i,timeStamp:t.mozilla?+new Date:n.timeStamp})},_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;var r=this;n(t).on(this._originalEvents,this._selector,function(n){r._handler(n)})}this.noBubble||this._handlerCount++},remove:function(){this.noBubble||this._handlerCount--},teardown:function(t){(!this._handlerCount||this.noBubble)&&(t=this.noBubble?t:document,this._originalEvents!=="."+u&&n(t).off(this._originalEvents,this._selector))},dispose:function(t){t=this.noBubble?t:document;n(t).off(this._originalEvents)}})}),DevExpress.define("/ui/events/pointer/ui.events.pointer.observer",["jquery"],function(n){var t=function(t,i){t=t.split(" ");n.each(t,function(n,t){document.addEventListener?document.addEventListener(t,i,!0):document.attachEvent("on"+t,i)})};return function(i,r){var u=[],f=function(t){var i=-1;return n.each(u,function(n,u){return r(t,u)?(i=n,!1):!0}),i},o=function(n){f(n)===-1&&u.push(n)},e=function(n){var t=f(n);t>-1&&u.splice(t,1)},s=function(n){u[f(n)]=n};t(i.dxpointerdown,o);t(i.dxpointermove,s);t(i.dxpointerup,e);t(i.dxpointercancel,e);this.pointers=function(){return u};this.reset=function(){u=[]}}}),DevExpress.define("/ui/events/pointer/ui.events.pointer.mouse",["jquery","/ui/events/pointer/ui.events.pointer.base","/ui/events/pointer/ui.events.pointer.observer"],function(n,t,i){var f={dxpointerdown:"mousedown",dxpointermove:"mousemove",dxpointerup:"mouseup",dxpointercancel:"",dxpointerover:"mouseover",dxpointerout:"mouseout",dxpointerenter:"mouseenter",dxpointerleave:"mouseleave"},e=function(n){return n.pointerId=1,{pointers:u.pointers(),pointerId:1}},u,o=!1,s=function(){o||(u=new i(f,function(){return!0}),o=!0)},r=t.inherit({ctor:function(){this.callBase.apply(this,arguments);s()},_fireEvent:function(t){return this.callBase(n.extend(e(t.originalEvent),t))}});return r.map=f,r.normalize=e,r.activate=s,r.resetObserver=function(){u.reset()},r}),DevExpress.define("/ui/events/pointer/ui.events.pointer.touch",["jquery","/devices","/ui/events/pointer/ui.events.pointer.base","/ui/events/pointer/ui.events.pointer.touchHooks"],function(n,t,i){var 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}},f=function(n){return t.real().platform==="ios"&&(n==="dxpointerdown"||n==="dxpointerup")},r=i.inherit({ctor:function(){this.callBase.apply(this,arguments);this._pointerId=0},_handler:function(n){if(f(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))}});return r.map={dxpointerdown:"touchstart",dxpointermove:"touchmove",dxpointerup:"touchend",dxpointercancel:"touchcancel",dxpointerover:"",dxpointerout:"",dxpointerenter:"",dxpointerleave:""},r.normalize=u,r}),DevExpress.define("/ui/events/pointer/ui.events.pointer.mouseAndTouch",["jquery","/ui/events/pointer/ui.events.pointer.base","/ui/events/pointer/ui.events.pointer.mouse","/ui/events/pointer/ui.events.pointer.touch","/ui/events/ui.events.utils"],function(n,t,i,r,u){var e=!1,o=function(){e||(i.activate(),e=!0)},f=t.inherit({EVENT_LOCK_TIMEOUT:100,ctor:function(){this.callBase.apply(this,arguments);o()},_handler:function(n){var t=u.isMouseEvent(n),i;if(t||(this._skipNextEvents=!0),!t||!this._mouseLocked){if(t&&this._skipNextEvents){this._skipNextEvents=!1;this._mouseLocked=!0;clearTimeout(this._unlockMouseTimer);i=this;this._unlockMouseTimer=setTimeout(function(){i._mouseLocked=!1},this.EVENT_LOCK_TIMEOUT);return}return this.callBase(n)}},_fireEvent:function(t){var f=u.isMouseEvent(t.originalEvent),e=f?i.normalize:r.normalize;return this.callBase(n.extend(e(t.originalEvent),t))},dispose:function(){this.callBase();this._skipNextEvents=!1;this._mouseLocked=!1;clearTimeout(this._unlockMouseTimer)}});return f.map={dxpointerdown:"touchstart mousedown",dxpointermove:"touchmove mousemove",dxpointerup:"touchend mouseup",dxpointercancel:"touchcancel",dxpointerover:"mouseover",dxpointerout:"mouseout",dxpointerenter:"mouseenter",dxpointerleave:"mouseleave"},f.resetObserver=i.resetObserver,f}),DevExpress.define("/ui/events/pointer/ui.events.pointer.mspointer",["jquery","/ui/events/pointer/ui.events.pointer.base","/ui/events/pointer/ui.events.pointer.observer","/utils/utils.browser","/ui/events/pointer/ui.events.pointer.mspointerHooks"],function(n,t,i,r){var e=r.msie&&parseInt(r.version)===10,o={dxpointerdown:"MSPointerDown pointerdown",dxpointermove:"MSPointerMove pointermove",dxpointerup:"MSPointerUp pointerup",dxpointercancel:"MSPointerCancel pointercancel",dxpointerover:"MSPointerOver pointerover",dxpointerout:"MSPointerOut pointerout",dxpointerenter:e?"mouseenter":"MSPointerEnter pointerenter",dxpointerleave:e?"mouseleave":"MSPointerLeave pointerleave"},u,s=!1,h=function(){s||(u=new i(o,function(n,t){return n.pointerId===t.pointerId}),s=!0)},f=t.inherit({ctor:function(){this.callBase.apply(this,arguments);h()},_fireEvent:function(t){return this.callBase(n.extend({pointers:u.pointers(),pointerId:t.originalEvent.pointerId},t))}});return f.map=o,f.resetObserver=function(){u.reset()},f}),DevExpress.define("/ui/events/pointer/ui.events.pointer",["jquery","/utils/utils.support","/devices","/ui/events/ui.events.eventRegistrator","/ui/events/pointer/ui.events.pointer.touch","/ui/events/pointer/ui.events.pointer.mspointer","/ui/events/pointer/ui.events.pointer.mouse","/ui/events/pointer/ui.events.pointer.mouseAndTouch"],function(n,t,i,r,u,f,e,o){var s=function(){if(t.pointerEvents)return f;var n=i.real();return t.touch&&!(n.tablet||n.phone)?o:t.touch?u:e}();return n.each(s.map,function(n,t){r(n,new s(n,t))}),{down:"dxpointerdown",up:"dxpointerup",move:"dxpointermove",cancel:"dxpointercancel",enter:"dxpointerenter",leave:"dxpointerleave",over:"dxpointerover",out:"dxpointerout"}}),DevExpress.define("/ui/events/ui.events.wheel",["jquery","/ui/events/ui.events.eventRegistrator","/ui/events/ui.events.utils"],function(n,t,i){var u="dxmousewheel",f="dxWheel",e,r;return n.event.fixHooks.wheel=n.event.mouseHooks,e=document.onwheel!==undefined?"wheel":"mousewheel",r={setup:function(t){var u=n(t);u.on(i.addNamespace(e,f),n.proxy(r._wheelHandler,r))},teardown:function(t){var i=n(t);i.off("."+f)},_wheelHandler:function(n){var t=this._getWheelDelta(n.originalEvent);i.fireEvent({type:u,originalEvent:n,delta:t,pointerType:"mouse"});n.stopPropagation()},_getWheelDelta:function(n){return n.wheelDelta?n.wheelDelta:-n.deltaY*30}},t(u,r),{name:u}}),DevExpress.define("/ui/events/ui.events.hover",["jquery","/class","/devices","/ui/events/ui.events.eventRegistrator","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer"],function(n,t,i,r,u,f){var e="dxhoverstart",h=u.addNamespace(f.enter,"dxHoverStart"),o="dxhoverend",c=u.addNamespace(f.leave,"dxHoverEnd"),s=t.inherit({noBubble:!0,add:function(t,i){var r=this,u=n(t);u.off(this._originalEventName).on(this._originalEventName,i.selector,function(n){r._handler(n)})},_handler:function(n){u.isTouchEvent(n)||i.isSimulator()||u.fireEvent({type:this._eventName,originalEvent:n,delegateTarget:n.delegateTarget})},teardown:function(t){n(t).off(this._originalEventName)}}),l=s.inherit({ctor:function(){this._eventName=e;this._originalEventName=h;this._isMouseDown=!1},_handler:function(n){var t=n.pointers||[];t.length||this.callBase(n)}}),a=s.inherit({ctor:function(){this._eventName=o;this._originalEventName=c}});return r(e,new l),r(o,new a),{start:e,end:o}}),DevExpress.define("/ui/events/ui.events.emitterRegistrator",["jquery","/class","/ui/events/ui.events.eventRegistrator","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/events/ui.events.emitter.gesture","/ui/events/ui.events.wheel"],function(n,t,i,r,u,f,e){var s="dxEventManager",o="dxEmitter",l=t.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(u.down,s),n.proxy(this._pointerDownHandler,this)).on(r.addNamespace(u.move,s),n.proxy(this._pointerMoveHandler,this)).on(r.addNamespace([u.up,u.cancel].join(" "),s),n.proxy(this._pointerUpHandler,this)).on(r.addNamespace(e.name,s),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 e(n,i){!!i&&i.validatePointers(t)&&i.validate(t)&&(i.addCancelCallback(r._proxiedCancelHandler),i.addAcceptCallback(r._proxiedAcceptHandler),u.push(i))}for(var r=this,u=[],i=n(t.target),f;i.length;)f=n.data(i.get(0),o)||[],n.each(f,e),i=i.parent();return u},_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){this._allowInterruptionByMousewheel()&&(n.pointers=[null],this._pointerDownHandler(n),this._adjustWheelEvent(n),this._pointerMoveHandler(n),n.pointers=[],this._pointerUpHandler(n))},_allowInterruptionByMousewheel:function(){var n=!0;return this._eachEmitter(function(t){return n=t.allowInterruptionByMousewheel()&&n}),n},_adjustWheelEvent:function(n){var t=null;if(this._eachEmitter(function(i){if(i instanceof f){var r=i.getDirection(n);if(r!=="horizontal"&&!n.shiftKey||r!=="vertical"&&n.shiftKey)return t=i,!1}}),t){var i=t.getDirection(n),r=i==="both"&&!n.shiftKey||i==="vertical",u=r?"pageY":"pageX";n[u]+=n.delta}},isActive:function(n){var t=!1;return this._eachEmitter(function(i){t=t||i.getElement().is(n)}),t}}),c=new l,h="dxEmitterSubscription";return function(t){var f=t.emitter,r=t.events[0],u=t.events;n.each(u,function(e,s){i(s,{noBubble:!t.bubble,setup:function(t){var u=n.data(t,h)||{},i=n.data(t,o)||{},e=i[r]||new f(t);u[s]=!0;i[r]=e;n.data(t,o,i);n.data(t,h,u)},add:function(t,i){var u=n.data(t,o),f=u[r];f.configurate(n.extend({delegateSelector:i.selector},i.data),i.type)},teardown:function(t){var e=n.data(t,h),l=n.data(t,o),f=l[r],i;delete e[s];i=!0;n.each(u,function(n,t){return i=i&&!e[t]});i&&(c.isActive(t)&&c.resetEmitter(f),f&&f.dispose(),delete l[r])}})})}}),DevExpress.define("/ui/events/ui.events.emitter",["jquery","/class","/ui/events/ui.events.utils"],function(n,t,i){return t.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 i.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,r,u){var f=n.extend({type:t,originalEvent:r,target:this._getEmitterTarget(r),delegateTarget:this.getElement().get(0)},u);return r=i.fireEvent(f),r.cancel&&this._cancel(r),r},_getEmitterTarget:function(t){return(this.delegateSelector?n(t.target).closest(this.delegateSelector):this.getElement()).get(0)},dispose:n.noop})}),DevExpress.define("/ui/events/ui.events.emitter.gesture",["jquery","/devices","/utils/utils.support","/utils/utils.browser","/utils/utils.dom","/utils/utils.math","/utils/utils.common","/ui/events/ui.events.utils","/ui/events/ui.events.emitter"],function(n,t,i,r,u,f,e,o,s){var y=f.sign,p=Math.abs,l=0,a=1,h=2,c=10,b=0,k=180,w=function(n){return n&&n.type==="dxmousewheel"},d=function(){var n=i.styleProp("pointer-events"),t=r.msie&&parseInt(r.version,10)<11;return n&&!t},g=function(){var r=t.real().platform==="generic",i;if(!d()||!r)return n.noop;i=n("<div>").addClass("dx-gesture-cover").css("pointerEvents","none");i.on("dxmousewheel",function(n){n.preventDefault()});return n(function(){i.appendTo("body")}),function(n,t){i.css("pointerEvents",n?"all":"none");n&&i.css("cursor",t)}}(),v=s.inherit({configurate:function(n){this.getElement().css("msTouchAction",n.immediate?"pinch-zoom":"");this.callBase(n)},allowInterruptionByMousewheel:function(){return this._stage!==h},getDirection:function(){return this.direction},_cancel:function(){this.callBase.apply(this,arguments);this._toggleGestureCover(!1);this._stage=l},start:function(n){if(o.needSkipEvent(n)){this._cancel(n);return}this._startEvent=o.createEvent(n);this._startEventData=o.eventData(n);this._prevEventData=this._startEventData;this._stage=a;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),k))},move:function(n){if(this._stage===a&&this._directionConfirmed(n)){if(this._stage=h,this._resetActiveElement(),this._toggleGestureCover(!0,n),this._clearSelection(n),this._adjustStartEvent(n),this._start(this._startEvent),this._prevEventData=o.eventData(this._startEvent),this._stage===l)return;this._requestAccept(n);this._move(n);this._forgetAccept()}else this._stage===h&&(this._clearSelection(n),this._move(n));this._prevEventData=o.eventData(n)},_directionConfirmed:function(n){var i=this._getTouchBoundary(n),r=o.eventDelta(this._startEventData,o.eventData(n)),u=p(r.x),f=p(r.y),e=this._validateMove(i,u,f),s=this._validateMove(i,f,u),t=this.getDirection(n),h=t==="both"&&(e||s),c=t==="horizontal"&&e,l=t==="vertical"&&s;return h||c||l||this._immedeateAccepted},_validateMove:function(n,t,i){return t&&t>=n&&(this.immediate?t>=i:!0)},_getTouchBoundary:function(n){return this.immediate||w(n)?b:c},_adjustStartEvent:function(n){var t=this._getTouchBoundary(n),i=o.eventDelta(this._startEventData,o.eventData(n));this._startEvent.pageX+=y(i.x)*t;this._startEvent.pageY+=y(i.y)*t},_resetActiveElement:function(){t.real().platform==="ios"&&n(":focus",this.getElement()).length&&u.resetActiveElement()},_toggleGestureCover:function(n){var t=this._stage===h;t&&g(n,this.getElement().css("cursor"))},_clearSelection:function(n){w(n)||o.isTouchEvent(n)||u.clearSelection()},end:function(n){this._toggleGestureCover(!1,n);this._stage===h?this._end(n):this._stage===a&&this._stop(n);this._stage=l},dispose:function(){clearTimeout(this._immediateTimer);this.callBase.apply(this,arguments);this._toggleGestureCover(!1)},_init:n.noop,_start:n.noop,_move:n.noop,_stop:n.noop,_end:n.noop});return v.initialTouchBoundary=c,v.touchBoundary=function(n){if(e.isDefined(n)){c=n;return}return c},v}),DevExpress.define("/ui/events/ui.events.emitter.feedback",["jquery","/class","/utils/utils.common","/devices","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/events/ui.events.emitter","/ui/events/ui.events.emitterRegistrator"],function(n,t,i,r,u,f,e,o){var h="dxactive",c="dxinactive",v=30,y=400,l=t.inherit({ctor:function(n,t){this._timeout=n;this._fire=t},start:function(){var n=this;this._schedule(function(){n.force()})},_schedule:function(n){this._timer=window.setTimeout(n,this._timeout)},stop:function(){clearTimeout(this._timer)},force:function(){this._fired||(this.stop(),this._fire(),this._fired=!0)},fired:function(){return this._fired}}),s,a=e.inherit({ctor:function(){this.callBase.apply(this,arguments);this._active=new l(0,n.noop);this._inactive=new l(0,n.noop)},configurate:function(n,t){switch(t){case h:n.activeTimeout=n.timeout;break;case c:n.inactiveTimeout=n.timeout}this.callBase(n)},start:function(t){if(s){var i=n.contains(this.getElement().get(0),s.getElement().get(0)),r=!s._active.fired();if(i&&r){this._cancel();return}s._inactive.force()}s=this;this._initEvents(t);this._active.start()},_initEvents:function(n){var t=this,f=this._getEmitterTarget(n),o=u.isMouseEvent(n),a=r.isSimulator(),e=a||!o,p=i.ensureDefined(this.activeTimeout,v),w=i.ensureDefined(this.inactiveTimeout,y);this._active=new l(e?p:0,function(){t._fireEvent(h,n,{target:f})});this._inactive=new l(e?w:0,function(){t._fireEvent(c,n,{target:f});s=null})},cancel:function(n){this.end(n)},end:function(n){var t=n.type!==f.up;t?this._active.stop():this._active.force();this._inactive.start();t&&this._inactive.force()},dispose:function(){this._active.stop();this._inactive.stop();this.callBase()},lockInactive:function(){return this._active.force(),this._inactive.stop(),s=null,this._cancel(),n.proxy(this._inactive.force,this._inactive)}});return a.lock=function(t){var i=s?s.lockInactive():n.noop;n.when(t).always(i)},o({emitter:a,events:[h,c]}),{lock:a.lock,active:h,inactive:c}}),function(n,t,i){var b=t.require("/errors"),u=t.require("/utils/utils.translator"),s=t.require("/utils/utils.animationFrame"),f=t.require("/utils/utils.support"),et=t.require("/utils/utils.position"),k=t.require("/ui/events/ui.events.remove"),d=t.require("/ui/events/ui.events.utils"),g=f.transitionEndEventName+".dxFX",e=d.addNamespace(k.name,"dxFX"),ot=/cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/,st=/^([+-])=(.*)/i,o="dxAnimData",c="dxAnimQueue",r="transform",ht={initAnimation:function(t,i){t.css({transitionProperty:"none"});typeof i.from=="string"?t.addClass(i.from):w(t,i.from);var u=this,r=n.Deferred(),f=i.cleanupWhen;i.transitionAnimation={deferred:r,finish:function(){u._finishTransition(t,i);f?n.when(r,f).always(function(){u._cleanup(t,i)}):u._cleanup(t,i);r.resolveWith(t,[i,t])}};this._completeAnimationCallback(t,i).done(function(){i.transitionAnimation.finish()}).fail(function(){r.rejectWith(t,[i,t])});i.duration||i.transitionAnimation.finish();t.css("transform")},animate:function(n,t){return this._startAnimation(n,t),t.transitionAnimation.deferred.promise()},_completeAnimationCallback:function(i,r){var c=this,l=n.now()+r.delay,u=n.Deferred(),f=n.Deferred(),o=n.Deferred(),s,h;r.transitionAnimation.cleanup=function(){clearTimeout(s);clearTimeout(h);i.off(g);i.off(e)};i.one(g,function(){n.now()-l>=r.duration&&f.reject()}).off(e).on(e,function(){c.stop(i,r);u.reject()});return h=setTimeout(function(){s=setTimeout(function(){o.reject()},r.duration+r.delay+t.fx._simulatedTransitionEndDelay);n.when(f,o).fail(n.proxy(function(){u.resolve()},this))}),u.promise()},_startAnimation:function(n,t){n.css({transitionProperty:"all",transitionDelay:t.delay+"ms",transitionDuration:t.duration+"ms",transitionTimingFunction:t.easing});typeof t.to=="string"?n[0].className+=" "+t.to:t.to&&w(n,t.to)},_finishTransition:function(n){n.css("transition","none")},_cleanup:function(n,t){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)))}},nt={initAnimation:function(n,t){w(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:yt(f.easing),duration:f.duration,startTime:(new Date).valueOf(),finish:function(){this.currentValue=this.to;this.draw();s.cancel(f.frameAnimation.animationFrameId);o.resolve()},draw:function(){if(f.draw){f.draw(this.currentValue);return}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._startAnimation(t,f)},f.delay)):e._startAnimation(t,f),o.promise()):o.reject().promise()},_startAnimation:function(n,t){n.off(e).on(e,function(){t.frameAnimation&&s.cancel(t.frameAnimation.animationFrameId)});this._animationStep(n,t)},_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&&(s.cancel(r.animationFrameId),clearTimeout(r.delayTimeout),i&&r.finish(),delete t.frameAnimation)},_animationStep:function(n,t){var i=t&&t.frameAnimation,r,u;if(i){if(r=(new Date).valueOf(),r>=i.startTime+i.duration){i.finish();return}i.currentValue=this._calcStepValue(i,r-i.startTime);i.draw();u=this;i.animationFrameId=s.request(function(){u._animationStep(n,t)})}},_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}},ct={initAnimation:function(){},animate:function(){return n.Deferred().resolve().promise()},stop:n.noop,isSynchronous:!0},lt={transition:f.transition?ht:nt,frame:nt,noAnimation:ct},at=function(n){n=n||{};var t=n.strategy||"transition";return n.type!=="css"||f.transition||(t="noAnimation"),lt[t]},vt={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)"},yt=function(t){var i,r,u;return(t=vt[t]||t,i=t.match(ot),!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)},tt=function(t,i,r,u){n.each(["from","to"],function(){if(!r(t[this]))throw b.Error("E0010",i,this,u);})},it=function(t,i){return tt(t,i,function(t){return n.isPlainObject(t)},"a plain object")},pt=function(n,t){return tt(n,t,function(n){return typeof n=="string"},"a string")},wt={setup:function(){}},bt={validateConfig:function(n){pt(n,"css")},setup:function(){}},kt={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"}},l={validateConfig:function(n){it(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},kt[i.direction]),p(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=st.exec(n)))return parseInt(t[1]+"1")*t[2]}},a={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}}},dt={validateConfig:function(n){it(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+")"}},rt={custom:wt,slide:l,slideIn:l,slideOut:l,fade:a,fadeIn:a,fadeOut:a,pop:dt,css:bt},gt=function(n){var t=rt[n.type];if(!t)throw b.Error("E0011",n.type);return t},ni={type:"custom",from:{},to:{},duration:400,start:n.noop,complete:n.noop,easing:"ease",delay:0},ti={duration:400,easing:"ease",delay:0},ii=function(){var r=this,i=r.element,n=r.config;p(i,n.from);p(i,n.to);r.configurator.setup(i,n);i.data(o,r);t.fx.off&&(n.duration=0,n.delay=0);r.strategy.initAnimation(i,n);n.start&&n.start.apply(this,[i,n])},ri=function(n){var i=n.element,t=n.config;i.removeData(o);t.complete&&t.complete.apply(this,[i,t]);n.deferred.resolveWith(this,[i,t])},ui=function(){var n=this,t=n.element,i=n.config;return n.isStarted=!0,n.strategy.animate(t,i).done(function(){ri(n)}).fail(function(){n.deferred.rejectWith(this,[t,i])})},fi=function(n){var t=this,i=t.element,r=t.config;clearTimeout(t.startTimeout);t.isStarted||t.start();t.strategy.stop(i,r,n)},ut=function(t,i){var e=i.type==="css"?ti:ni,r=n.extend(!0,{},e,i),u=gt(r),f=at(r),o={element:n(t),config:r,configurator:u,strategy:f,isSynchronous:f.isSynchronous,setup:ii,start:ui,stop:fi,deferred:n.Deferred()};return n.isFunction(u.validateConfig)&&u.validateConfig(r),o},ei=function(t,i){var r=n(t),u;return r.length?(u=ut(r,i),oi(r,u),u.deferred.promise()):n.Deferred().resolve().promise()},oi=function(n,t){var i=v(n);si(n,i);i.push(t);h(n)||y(n,i)},v=function(n){return n.data(c)||[]},si=function(n,t){n.data(c,t)},ft=function(n){n.removeData(c)},h=function(n){return!!n.data(o)},y=function(n,t){if(t=v(n),t.length){var i=t.shift();t.length===0&&ft(n);hi(i).done(function(){h(n)||y(n)})}},hi=function(n){if(n.setup(),t.fx.off||n.isSynchronous)n.start();else{n.startTimeout=setTimeout(function(){n.start()});var i=d.addNamespace(k.name,"dxFXStartAnimation");n.element.off(i).on(i,function(){clearTimeout(n.startTimeout)})}return n.deferred.promise()},p=function(t,i){if(i&&i.position){var r=et.calculate(t,i.position),u=t.offset(),f=t.position();n.extend(i,{left:r.h.location-u.left+f.left,top:r.v.location-u.top+f.top});delete i.position}},w=function(t,i){n.each(i,function(n,i){try{t.css(n,i)}catch(r){}})},ci=function(t,i){var r=n(t),f=v(r),u;n.each(f,function(n,t){t.config.delay=0;t.config.duration=0;t.isSynchronous=!0});h(r)||y(r,f);u=r.data(o);u&&u.stop(i);r.removeData(o);ft(r)};t.fx={off:!1,animationTypes:rt,animate:ei,createAnimation:ut,isAnimating:h,stop:ci,_simulatedTransitionEndDelay:100}}(jQuery,DevExpress),DevExpress.define("/validationEngine",function(n,t,i){var u=i("jquery"),s=i("/class"),h=i("/eventsMixin"),o=i("/errors"),r=i("/utils/utils.common"),f={required:{validate:function(n,t){return r.isDefined(n)?n===!1?!1:(n=String(n),(t.trim||!r.isDefined(t.trim))&&(n=u.trim(n)),n!==""):!1},defaultMessage:function(){return Globalize.localize("validation-required")},defaultFormattedMessage:function(){return Globalize.localize("validation-required-formatted")}},numeric:{validate:function(n,t){return f.required.validate(n,{})?t.useCultureSettings&&r.isString(n)?!isNaN(Globalize.parseFloat(n)):u.isNumeric(n):!0},defaultMessage:function(){return Globalize.localize("validation-numeric")},defaultFormattedMessage:function(){return Globalize.localize("validation-numeric-formatted")}},range:{validate:function(n,t){if(!f.required.validate(n,{}))return!0;var s=f.numeric.validate(n,t),h=r.isDefined(n),i=s?parseFloat(n):h&&n.valueOf(),e=t.min,u=t.max;if(!(s||r.isDate(n))&&!h)return!1;if(r.isDefined(e))return r.isDefined(u)?i>=e&&i<=u:i>=e;if(r.isDefined(u))return i<=u;throw o.Error("E0101");},defaultMessage:function(){return Globalize.localize("validation-range")},defaultFormattedMessage:function(){return Globalize.localize("validation-range-formatted")}},stringLength:{validate:function(n,t){return n=r.isDefined(n)?String(n):"",(t.trim||!r.isDefined(t.trim))&&(n=u.trim(n)),f.range.validate(n.length,u.extend({},t))},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(n,t){if(!t.comparisonTarget)throw o.Error("E0102");u.extend(t,{reevaluate:!0});var i=t.comparisonTarget(),r=t.comparisonType||"==";switch(r){case"==":return n==i;case"!=":return n!=i;case"===":return n===i;case"!==":return n!==i;case">":return n>i;case">=":return n>=i;case"<":return n<i;case"<=":return n<=i}},defaultMessage:function(){return Globalize.localize("validation-compare")},defaultFormattedMessage:function(){return Globalize.localize("validation-compare-formatted")}},pattern:{validate:function(n,t){if(!f.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(n,t){return f.required.validate(n,{})?f.pattern.validate(n,u.extend({},t,{pattern:/^[\d\w\._\-]+@([\d\w\._\-]+\.)+[\w]+$/i})):!0},defaultMessage:function(){return Globalize.localize("validation-email")},defaultFormattedMessage:function(){return Globalize.localize("validation-email-formatted")}}},c=s.inherit({ctor:function(n){this.group=n;this.validators=[]},validate:function(){var n={isValid:!0,brokenRules:[],validators:[]};return u.each(this.validators,function(t,i){var r=i.validate();n.isValid=n.isValid&&r.isValid;r.brokenRule&&n.brokenRules.push(r.brokenRule);n.validators.push(i)}),this.fireEvent("validated",[{validators:n.validators,brokenRules:n.brokenRules,isValid:n.isValid}]),n},reset:function(){u.each(this.validators,function(n,t){t.reset()})}}).include(h),e={groups:[],getGroupConfig:function(n){var t=u.grep(this.groups,function(t){return t.group===n});if(t.length)return t[0]},initGroups:function(){this.groups=[];this.addGroup()},addGroup:function(n){var t=this.getGroupConfig(n);return t||(t=new c(n),this.groups.push(t)),t},removeGroup:function(n){var t=this.getGroupConfig(n),i=u.inArray(t,this.groups);return i>-1&&this.groups.splice(i,1),t},_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(n,t,i){var e={name:i,value:n,brokenRule:null,isValid:!0,validationRules:t},s=this;return u.each(t||[],function(t,u){var h=f[u.type],c;if(h){if(r.isDefined(u.isValid)&&u.value===n&&!u.reevaluate)return u.isValid?!0:(e.isValid=!1,e.brokenRule=u,!1);if(u.value=n,c=h.validate(n,u),u.isValid=c,c||(e.isValid=!1,s._setDefaultMessage(u,h,i),e.brokenRule=u),!u.isValid)return!1}else throw o.Error("E0100");}),e},registerValidatorInGroup:function(n,t){var i=e.addGroup(n);u.inArray(t,i.validators)<0&&i.validators.push(t)},removeRegistredValidator:function(n,t){var i=e.getGroupConfig(n),r=i&&i.validators,f=u.inArray(t,r);f>-1&&r.splice(f,1)},validateGroup:function(n){var t=e.getGroupConfig(n);if(!t)throw o.Error("E0110");return t.validate()},resetGroup:function(n){var t=e.getGroupConfig(n);if(!t)throw o.Error("E0110");return t.reset()}};e.initGroups();n.exports=e}),function(n,t){var e=DevExpress.require("/class"),o=t.require("/utils/utils.common"),s=t.require("/component"),i=t.require("/devices"),r={forward:" dx-forward",backward:" dx-backward",none:" dx-no-direction",undefined:" dx-no-direction"},u="dx-animating",h=e.inherit({ctor:function(){this._accumulatedDelays={enter:0,leave:0};this._animations=[];this.reset()},_createAnimations:function(t,i,r,f){var s=this,o=[],e;return r=r||{},e=this._prepareElementAnimationConfig(i,r,f),e&&t.each(function(){var t=s._createAnimation(n(this),e,r);t&&(t.element.addClass(u),t.setup(),o.push(t))}),o},_prepareElementAnimationConfig:function(i,u,f){var e,s,o,h;return typeof i=="string"&&(s=i,i=t.animationPresets.getPreset(s)),i?n.isFunction(i[f])?e=i[f]:(e=n.extend({skipElementInitialStyles:!0,cleanupWhen:this._completePromise},i,u),e.type&&e.type!=="css"||(o="dx-"+f,h=(e.extraCssClasses?" "+e.extraCssClasses:"")+r[e.direction],e.type="css",e.from=(e.from||o)+h,e.to=e.to||o+"-active"),e.staggerDelay=e.staggerDelay||0,e.delay=e.delay||0,e.staggerDelay&&(e.delay+=this._accumulatedDelays[f],this._accumulatedDelays[f]+=e.staggerDelay)):e=undefined,e},_createAnimation:function(i,r,u){var f;return n.isPlainObject(r)?f=t.fx.createAnimation(i,r):n.isFunction(r)&&(f=r(i,u)),f},_startAnimations:function(){for(var t=this._animations,n=0;n<t.length;n++)t[n].start()},_stopAnimations:function(){for(var t=this._animations,n=0;n<t.length;n++)t[n].stop()},_clearAnimations:function(){for(var t=this._animations,n=0;n<t.length;n++)t[n].element.removeClass(u);this._animations.length=0},reset:function(){this._accumulatedDelays.enter=0;this._accumulatedDelays.leave=0;this._clearAnimations();this._completeDeferred=n.Deferred();this._completePromise=this._completeDeferred.promise()},enter:function(n,t,i){var r=this._createAnimations(n,t,i,"enter");this._animations.push.apply(this._animations,r)},leave:function(n,t,i){var r=this._createAnimations(n,t,i,"leave");this._animations.push.apply(this._animations,r)},start:function(){var t=this,i,r;return this._animations.length?(r=n.map(this._animations,function(t){var i=n.Deferred();return t.deferred.always(function(){i.resolve()}),i.promise()}),i=n.when.apply(n,r).always(function(){t._completeDeferred.resolve();t.reset()}),o.executeAsync(function(){t._startAnimations()})):(t.reset(),i=n.Deferred().resolve().promise()),i},stop:function(){this._stopAnimations()}}),c="preset_",f=s.inherit({ctor:function(){this.callBase.apply(this,arguments);this._customRules=[];this._registeredPresets=[];this.resetToDefaults()},_getDefaultOptions:function(){return n.extend(this.callBase(),{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(){return i.current().android||i.real.android},options:{defaultAnimationDelay:100}}])},_getPresetOptionName:function(n){return c+n},_createAndroidSlideAnimationConfig:function(n,i){var r=this,u=function(n){return{type:"slide",delay:n.delay===undefined?r.option("defaultAnimationDelay"):n.delay,duration:n.duration===undefined?r.option("defaultAnimationDuration"):n.duration}};return{enter:function(r,f){var o=r.parent().width()*i,s=f.direction,e=u(f);return e.to={left:0,opacity:1},e.from=s==="forward"?{left:o,opacity:n}:s==="backward"?{left:-o,opacity:n}:{left:0,opacity:0},t.fx.createAnimation(r,e)},leave:function(r,f){var o=r.parent().width()*i,s=f.direction,e=u(f);return e.from={left:0,opacity:1},e.to=s==="forward"?{left:-o,opacity:n}:s==="backward"?{left:o,opacity:n}:{left:0,opacity:0},t.fx.createAnimation(r,e)}}},_createOpenDoorConfig:function(){var n=this,i=function(t){return{type:"css",extraCssClasses:"dx-opendoor-animation",delay:t.delay===undefined?n.option("defaultAnimationDelay"):t.delay,duration:t.duration===undefined?n.option("defaultAnimationDuration"):t.duration}};return{enter:function(n,u){var e=u.direction,f=i(u);return f.delay=e==="none"?f.delay:f.duration,f.from="dx-enter dx-opendoor-animation"+r[e],f.to="dx-enter-active",t.fx.createAnimation(n,f)},leave:function(n,u){var e=u.direction,f=i(u);return f.from="dx-leave dx-opendoor-animation"+r[e],f.to="dx-leave-active",t.fx.createAnimation(n,f)}}},_createWinPopConfig:function(){var n=this,i={type:"css",extraCssClasses:"dx-win-pop-animation",duration:n.option("defaultAnimationDuration")};return{enter:function(u,f){var e=i,o=f.direction;return e.delay=o==="none"?n.option("defaultAnimationDelay"):n.option("defaultAnimationDuration")/2,e.from="dx-enter dx-win-pop-animation"+r[o],e.to="dx-enter-active",t.fx.createAnimation(u,e)},leave:function(u,f){var e=i,o=f.direction;return e.delay=n.option("defaultAnimationDelay"),e.from="dx-leave dx-win-pop-animation"+r[o],e.to="dx-leave-active",t.fx.createAnimation(u,e)}}},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("pop",{animation:{extraCssClasses:"dx-android-pop-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}});this.registerPreset("openDoor",{animation:this._createOpenDoorConfig()});this.registerPreset("win-pop",{animation:this._createWinPopConfig()});this.registerPreset("fade",{animation:{extraCssClasses:"dx-fade-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}});this.registerPreset("slide",{device:function(){return i.current().android||i.real.android},animation:this._createAndroidSlideAnimationConfig(1,1)});this.registerPreset("slide",{device:function(){return!i.current().android&&!i.real.android},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",{device:function(){return!i.current().android&&!i.real.android},animation:{extraCssClasses:"dx-ios7-toolbar-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}});this.registerPreset("ios7-toolbar",{device:function(){return i.current().android||i.real.android},animation:this._createAndroidSlideAnimationConfig(0,.4)});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-fade-rise",{animation:{extraCssClasses:"dx-fade-rise-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=f;t.animationPresets=new f}(jQuery,DevExpress),DevExpress.define("/integration/jquery/jquery.defaultTemplates",["jquery","/utils/utils.inflector","/utils/utils.icon","/utils/utils.date","/utils/utils.common"],function(n,t,i,r,u){var p=t.camelize,f={},e=function(){return n()},w="dx-item-content-placeholder",s,h,c,l,a,o;f.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.text(String(t)),i},itemFrame:function(t){var i=n("<div>"),r;return i.toggleClass("dx-state-invisible",t.visible!==undefined&&!t.visible),i.toggleClass("dx-state-disabled",!!t.disabled),r=n("<div>").addClass(w),i.append(r),i}};s="dx-button-text";f.dxButton={content:function(t){var r=n("<div>"),u=i.getImageContainer(t.icon),f=t.text?n("<span>").text(t.text).addClass(s):undefined;return r.append(u).append(f),r}};var b="dx-list-item-badge-container",k="dx-list-item-badge",v="dx-badge",d="dx-list-item-chevron-container",g="dx-list-item-chevron";f.dxList={item:function(t){var i=f.CollectionWidget.item(t),r;return t.key&&(r=n("<div>").text(t.key),r.appendTo(i)),i},itemFrame:function(t){var i=f.CollectionWidget.itemFrame(t),u,r,e,o;return t.badge&&(u=n("<div>").addClass(b),r=n("<div>").addClass(k).addClass(v),r.text(t.badge),u.append(r).appendTo(i)),t.showChevron&&(e=n("<div>").addClass(d),o=n("<div>").addClass(g),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}};f.dxDropDownMenu={item:f.dxList.item,content:f.dxButton.content};f.dxDropDownList={item:f.dxList.item};f.dxRadioGroup={item:f.CollectionWidget.item};f.dxScheduler={item:function(t){var u=f.CollectionWidget.item(t),i=n("<div>").addClass("dx-scheduler-appointment-content-details");return t.startDate&&n("<div>").text(Globalize.format(r.makeDate(t.startDate),"t")).addClass("dx-scheduler-appointment-content-date").appendTo(i),t.endDate&&(n("<div>").text(" - ").addClass("dx-scheduler-appointment-content-date").appendTo(i),n("<div>").text(Globalize.format(r.makeDate(t.endDate),"t")).addClass("dx-scheduler-appointment-content-date").appendTo(i)),i.appendTo(u),t.recurrenceRule&&n("<span>").addClass("dx-scheduler-appointment-recurrence-icon dx-icon-repeat").appendTo(u),u},appointmentTooltip:e,appointmentPopup:e};f.dxOverlay={content:e};f.dxSlideOutView={menu:e,content:e};f.dxSlideOut={menuItem:f.dxList.item,menuGroup:f.dxList.group,content:e};f.dxAccordion={title:function(t){var r=n("<div>"),f=t.icon,e=t.iconSrc,u=i.getImageContainer(f||e);return n.isPlainObject(t)?t.title&&r.text(t.title):r.html(String(t)),u&&u.prependTo(r),r},item:f.CollectionWidget.item};f.dxActionSheet={item:function(t){return n("<div>").append(n("<div>").dxButton(n.extend({onClick:t.click},t)))}};h="dx-gallery-item-image";f.dxGallery={item:function(t){var i=n("<div>"),r=n("<img>").addClass(h);return n.isPlainObject(t)?r.attr({src:t.imageSrc,alt:t.imageAlt}).appendTo(i):r.attr("src",String(t)).appendTo(i),i}};var y="dx-menu-item-text",nt="dx-menu-item-popout",tt="dx-menu-item-popout-container";return f.dxMenuBase={item:function(t){var r=n("<div>"),s=t.icon,h=t.iconSrc,e=i.getImageContainer(s||h),f,c,o;return e&&e.appendTo(r),!u.isPrimitive(t)&&t.text?f=n("<span>").addClass(y).text(t.text):n.isPlainObject(t)||(f=n("<span>").addClass(y).html(String(t))),r.append(f),t.items&&t.items.length>0&&(o=n("<span>").addClass(tt).appendTo(r),c=n("<div>").addClass(nt).appendTo(o)),r}},c="dx-panorama-item-title",f.dxPanorama={itemFrame:function(t){var i=f.CollectionWidget.itemFrame(t),r;return t.title&&(r=n("<div>").addClass(c).text(t.title),i.prepend(r)),i}},f.dxPivotTabs={item:function(t){var i=n("<div>"),r;return r=t&&t.title?n("<span>").text(t.title):n("<span>").text(String(t)),i.html(r),i}},f.dxPivot={title:f.dxPivotTabs.item,content:e},l="dx-tab-text",f.dxTabs={item:function(t){var r=f.CollectionWidget.item(t);if(t.html)return r;var e=t.icon,o=t.iconSrc,u=i.getImageContainer(e||o);return t.html||r.wrapInner(n("<span>").addClass(l)),u&&u.prependTo(r),r},itemFrame:function(t){var i=n(),r=f.CollectionWidget.itemFrame(t);return t.badge&&(i=n("<div>",{"class":"dx-tabs-item-badge dx-badge"}).text(t.badge)),r.append(i),r}},f.dxTabPanel={item:f.CollectionWidget.item,title:function(t){var i=t,r;return n.isPlainObject(t)&&(i=n.extend({},t,{text:t.title,html:null})),r=f.dxTabs.item(i)}},a="dx-navbar-item-badge",f.dxNavBar={itemFrame:function(t){var r=f.CollectionWidget.itemFrame(t),i;return t.badge&&(i=n("<div>").addClass(a).addClass(v),i.text(t.badge),i.appendTo(r)),r}},f.dxToolbar={item:function(t){var i=f.CollectionWidget.item(t),r=t.widget;if(r){var u=n("<div>").appendTo(i),e=p("dx-"+r),o=t.options||{};u[e](o)}else t.text&&i.wrapInner("<div>");return i},menuItem:f.dxList.item,actionSheetItem:f.dxActionSheet.item},f.dxTreeView={item:function(t){var r=n("<div>"),f=t.icon,e=t.iconSrc,u=i.getImageContainer(f||e);return t.html?r.html(t.html):(u&&u.appendTo(r),n("<span>").text(t.text).appendTo(r)),r}},o=function(t){return n("<div>").append(n("<div>").dxToolbar({items:t}))},f.dxPopup={title:o,bottom:o},f.dxLookup={title:f.dxPopup.title,group:f.dxList.group},f.dxTagBox={tag:function(t){return n("<div>").append(n("<span>").text(t))}},f.dxCalendar={cell:function(t){return n("<div>").append(n("<span>").text(t.text||String(t)))}},f}),DevExpress.define("/integration/jquery/jquery.template",["jquery","/ui/templates/ui.templateBase","/errors","/utils/utils.common","/utils/utils.dom"],function(n,t,i,r,u){var c={},f=function(n,t){c[n]=t},e=function(t){var u,r;return t=n(t),u=t.length&&t[0].nodeName.toLowerCase(),u==="script"?t.html():(t=n("<div>").append(t),r=t.html(),r.length&&i.log("W0007",r),r)},o,s,h;return f("default",{compile:function(n){return u.normalizeTemplateElement(n)},render:function(n){return n.clone()}}),f("jquery-tmpl",{compile:function(n){return e(n)},render:function(t,i){return n.tmpl(t,i)}}),f("jsrender",{compile:function(t){return n.templates(e(t))},render:function(n,t){return n.render(t)}}),f("mustache",{compile:function(n){return Mustache.compile(e(n))},render:function(n,t){return n(t)}}),f("hogan",{compile:function(n){return Hogan.compile(e(n))},render:function(n,t){return n.render(t)}}),f("underscore",{compile:function(n){return _.template(e(n))},render:function(n,t){return n(t)}}),f("handlebars",{compile:function(n){return Handlebars.compile(e(n))},render:function(n,t){return n(t)}}),f("doT",{compile:function(n){return doT.template(e(n))},render:function(n,t){return n(t)}}),s=function(n){if(r.isString(n)){if(o=c[n],!o)throw i.Error("E0020",n);}else o=n},s("default"),h=t.inherit({ctor:function(n,t){this.callBase(n,t);this._compiledTemplate=o.compile(n)},_renderCore:function(t){return n("<div>").append(o.render(this._compiledTemplate,t)).contents()}}),h.setTemplateEngine=s,h}),DevExpress.define("/integration/jquery/jquery.templateProvider",["jquery","/ui/templates/ui.templateProviderBase","/integration/jquery/jquery.template","/ui/templates/ui.template.function","/integration/jquery/jquery.defaultTemplates"],function(n,t,i,r,u){var e=t.inherit({createTemplate:function(n,t){return new i(n,t)},_templatesForWidget:function(t){var e=u[t]||{},i={};return n.each(e,function(n,t){i[n]=new r(function(){var i=t.apply(this,arguments);return n!=="itemFrame"&&(i=i.contents()),i},f)}),i}}),f=new e;return f}),DevExpress.define("/integration/jquery/jquery.selectors",["jquery"],function(n){var t=function(n,t){var r=n.nodeName.toLowerCase(),u=!isNaN(t),e=i(n),o=n.disabled,s=/^(input|select|textarea|button|object|iframe)$/.test(r),h=r==="a",f=!0;return f=s?!o:h?n.href||u:u,e?f:!1},i=function(t){var i=n(t);return i.is(":visible")&&i.css("visibility")!=="hidden"&&i.parents().css("visibility")!=="hidden"},r=function(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};return n.extend(n.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)},"dx-icontains":n.expr.createPseudo(function(n){return function(t){return r(t,n)}})}),{focusable:":dx-focusable",tabbable:":dx-tabbable",icontains:":dx-icontains"}}),DevExpress.define("/integration/knockout/ko.componentRegistrator",["jquery","/componentRegistrator","/errors","/ui/ui.widget","/integration/knockout/ko.templateProvider","/ui/ui.editor","/utils/utils.locker"],function(n,t,i,r,u,f,e){var o=window.ko,s="dxKoLocks",c="dxKoCreation",h=[],l=function(t,i){i.subclassOf(f)&&h.push(t);o.bindingHandlers[t]={init:function(f,h){var l=n(f),y=n.Callbacks(),a={templateProvider:u,modelByElement:function(n){if(n.length)return o.dataFor(n.get(0))},nestedComponentOptions:function(n){return{modelByElement:n.option("modelByElement"),nestedComponentOptions:n.option("nestedComponentOptions")}},_optionChangedCallbacks:y},v={},w=function(n,i){var r=l.data(t),u=l.data(s),f=o.unwrap(i);if(o.isWriteableObservable(i)&&(v[n]=i),r){if(u.locked(n))return;u.obtain(n);try{o.ignoreDependencies?o.ignoreDependencies(r.option,r,[n,f]):r.option(n,f)}finally{u.release(n)}}else a[n]=f},b=function(n){var t=n.fullName,u=n.value,r,i;if(t in v&&(r=this._$element,i=r.data(s),!i.locked(t))){i.obtain(t);try{v[t](u)}finally{i.release(t)}}},k=function(){y.add(b);l.data(c,!0).data(s,new e)[t](a);a=null},d=function(t,i,r){var u;o.computed(function(){var n=t[i];w(r,n);u=o.unwrap(n)},null,{disposeWhenNodeIsRemoved:f});n.isPlainObject(u)&&p(u,r)},p=function(n,t){for(var i in n)n.hasOwnProperty(i)&&d(n,i,t?[t,i].join("."):i)};return o.computed(function(){var n=l.data(t),i=o.unwrap(h());n&&n.beginUpdate();p(i);n?n.endUpdate():k()},null,{disposeWhenNodeIsRemoved:f}),{controlsDescendantBindings:i.subclassOf(r)}}};t==="dxValidator"&&(o.bindingHandlers.dxValidator.after=h)};t.callbacks.add(function(n,t){l(n,t)})}),DevExpress.define("/integration/knockout/ko.components",["jquery","/utils/utils.icon","/utils/utils.inflector","/action"],function(n,t,i,r){var u=window.ko;u.bindingHandlers.dxAction={update:function(t,i,f,e){var h=n(t),o=u.utils.unwrapObservable(i()),c=o,s={context:t},l;o.execute&&(c=o.execute,n.extend(s,o));l=new r(c,s);h.off(".dxActionBinding").on("dxclick.dxActionBinding",function(n){l.execute({element:h,model:e,evaluate:function(n){var i=e,r;return n.length>0&&n[0]==="$"&&(i=u.contextFor(t)),r=DevExpress.data.utils.compileGetter(n),r(i)},jQueryEvent:n});s.bubbling||n.stopPropagation()})}};u.bindingHandlers.dxControlsDescendantBindings={init:function(n,t){return{controlsDescendantBindings:u.unwrap(t())}}};u.bindingHandlers.dxPolymorphWidget={init:function(t,r,f,e,o){var s=u.utils.unwrapObservable(r()).name,h,c;if(s)return u.virtualElements.emptyNode(t),h=n('<div data-bind="'+i.camelize("dx-"+s)+': options">').get(0),u.virtualElements.prepend(t,h),c=o.extend(r),u.applyBindingsToDescendants(c,t),{controlsDescendantBindings:!0}}};u.virtualElements.allowedBindings.dxPolymorphWidget=!0;u.bindingHandlers.dxIcon={init:function(n,i){var f=u.utils.unwrapObservable(i())||{},r=t.getImageContainer(f);u.virtualElements.emptyNode(n);r&&u.virtualElements.prepend(n,r.get(0))},update:function(n,i){var f=u.utils.unwrapObservable(i())||{},r=t.getImageContainer(f);u.virtualElements.emptyNode(n);r&&u.virtualElements.prepend(n,r.get(0))}};u.virtualElements.allowedBindings.dxIcon=!0}),DevExpress.define("/integration/knockout/ko.defaultTemplates",["jquery"],function(n){var t={},i=function(t,i,r,u){r=r===undefined?!0:r;var f=n.map(i,function(n,t){return t+":"+n}).join(",");return u=u||"","<"+t+' data-bind="'+f+'" '+u+">"+(r?"<\/"+t+">":"")},e={css:"{ 'dx-state-disabled': $data.disabled, 'dx-state-invisible': !($data.visible === undefined || ko.unwrap($data.visible)) }"},r=function(){return""},o,s,u,h,f;t.CollectionWidget={itemFrame:function(){var n=[i("div",e,!1),"<div class='dx-item-content-placeholder'><\/div>","<\/div>"];return n.join("")},item:function(){var n=i("div",{html:"html"}),t=i("div",{text:"text"}),r=i("div",{text:"String($data)"}),u=["<div>","<!-- ko if: $data.html -->",n,"<!-- /ko -->","<!-- ko if: !$data.html && $data.text -->",t,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",r,"<!-- /ko -->","<\/div>"];return u.join("")}};o="dx-button-text";t.dxButton={content:function(){var n=i("span",{text:"$data.text",css:"{ '"+o+"' : !!$data.text }"}),t=["<div>","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->",n,"<\/div>"];return t.join("")}};var l="dx-list-item-badge-container",a="dx-list-item-badge",c="dx-badge",v="dx-list-item-chevron-container",y="dx-list-item-chevron";return t.dxList={item:function(){var n=t.CollectionWidget.item(),r=i("div",{text:"key"});return n=[n.substring(0,n.length-6),"<!-- ko if: $data.key -->"+r+"<!-- /ko -->","<\/div>"],n.join("")},itemFrame:function(){var n=t.CollectionWidget.itemFrame(),r=i("div",{text:"badge"},!0,'class="'+a+" "+c+'"'),u=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",'<div class="'+l+'">',r,"<\/div>","<!-- /ko -->","<!-- ko if: $data.showChevron -->",'<div class="'+v+'">','<div class="'+y+'"><\/div>',"<\/div>","<!-- /ko -->","<\/div>"];return u.join("")},group:function(){var n=i("div",{text:"key"}),t=i("div",{text:"String($data)"}),r=["<div>","<!-- ko if: $data.key -->",n,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",t,"<!-- /ko -->","<\/div>"];return r.join("")}},t.dxDropDownMenu={item:t.dxList.item,content:t.dxButton.content},t.dxDropDownList={item:t.dxList.item},t.dxRadioGroup={item:t.CollectionWidget.item},t.dxScheduler={item:function(){var n=t.CollectionWidget.item(),r=i("div class='dx-scheduler-appointment-content-date'",{text:"Globalize.format(DevExpress.utils.makeDate($data.startDate), 't')"}),u=i("div class='dx-scheduler-appointment-content-date'",{text:"Globalize.format(DevExpress.utils.makeDate($data.endDate), 't')"}),f=i("div class='dx-scheduler-appointment-content-date'",{text:"' - '"});return n=[n.substring(0,n.length-6),"<div class='dx-scheduler-appointment-content-details'>","<!-- ko if: $data.startDate -->"+r+"<!-- /ko -->","<!-- ko if: $data.endDate -->"+f+"<!-- /ko -->","<!-- ko if: $data.endDate -->"+u+"<!-- /ko -->","<\/div>","<!-- ko if: $data.recurrenceRule --><span class='dx-scheduler-appointment-recurrence-icon dx-icon-repeat'><\/span><!-- /ko -->","<\/div>"],n.join("")},appointmentTooltip:r,appointmentPopup:r},t.dxOverlay={content:r},t.dxSlideOutView={menu:r,content:r},t.dxSlideOut={menuItem:t.dxList.item,menuGroup:t.dxList.group,content:r},t.dxAccordion={title:function(){var n=i("span",{text:"$.isPlainObject($data) ? $data.title : String($data)"}),t=["<div>","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->",n,"<\/div>"];return t.join("")},item:t.CollectionWidget.item},t.dxResponsiveBox={item:t.CollectionWidget.item},t.dxPivotTabs={item:function(){var n=i("span",{text:"title"}),t=i("div",{text:"String($data)"}),r=["<div>","<!-- ko if: $data.title -->",n,"<!-- /ko -->","<!-- ko ifnot: $data.title || $.isPlainObject($data) -->",t,"<!-- /ko -->","<\/div>"];return r.join("")}},t.dxPivot={title:t.dxPivotTabs.item,content:r},s="dx-panorama-item-title",t.dxPanorama={itemFrame:function(){var n=t.CollectionWidget.itemFrame(),u=i("div",{text:"title"},!0,'class="'+s+'"'),r=n.indexOf(">")+1;return n=[n.substring(0,r),"<!-- ko if: $data.title -->",u,"<!-- /ko -->",n.substring(r,n.length)],n.join("")}},t.dxActionSheet={item:function(){return["<div>",i("div",{dxButton:"{ text: $data.text, onClick: $data.clickAction || $data.onClick, type: $data.type, disabled: !!ko.unwrap($data.disabled) }"}),"<\/div>"].join("")}},t.dxToolbar={item:function(){var n=t.CollectionWidget.item();return n=[n.substring(0,n.length-6),"<!-- ko if: $data.widget -->"],n.push("<!-- ko dxPolymorphWidget: { name: $data.widget, options: $data.options } --><!-- /ko -->"),n.push("<!-- /ko -->"),n.join("")},menuItem:t.dxList.item,actionSheetItem:t.dxActionSheet.item},u="dx-gallery-item-image",t.dxGallery={item:function(){var n=t.CollectionWidget.item(),r=i("div",{text:"String($data)"}),f=i("img",{attr:"{ src: String($data) }"},!1,'class="'+u+'"');return[n.substring(0,n.length-6).replace(r,f),"<!-- ko if: $data.imageSrc -->",i("img",{attr:"{ src: $data.imageSrc, alt: $data.imageAlt }"},!1,'class="'+u+'"'),"<!-- /ko -->"].join("")}},t.dxTabs={item:function(){var n=t.CollectionWidget.item(),r=i("div",{text:"String($data)"}),u=i("div",{text:"text"});return n.replace("<!-- ko if: !$data.html && $data.text -->","<!-- ko if: !$data.html && ($data.text || $data.icon || $data.iconSrc) -->").replace(r,'<span class="dx-tab-text" data-bind="text: String($data)"><\/span>').replace(u,'<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko --><span class="dx-tab-text" data-bind="text: $data.text"><\/span>')},itemFrame:function(){var n=t.CollectionWidget.itemFrame(),r=i("div",{attr:"{ 'class': 'dx-tabs-item-badge dx-badge' }",text:"badge"}),u=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",r,"<!-- /ko -->","<\/div>"];return u.join("")}},t.dxTabPanel={item:t.CollectionWidget.item,title:function(){var n=t.dxTabs.item(),r="<!-- ko if: $data.html -->"+i("div",{html:"html"})+"<!-- /ko -->";return n.replace(/\$data\.text/g,"$data.title").replace(/\!\$data\.html\ \&\&\ /,"").replace(r,"")}},h="dx-navbar-item-badge",t.dxNavBar={itemFrame:function(){var n=t.CollectionWidget.itemFrame(),r=i("div",{text:"badge"},!0,'class="'+h+" "+c+'"'),u=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",r,"<!-- /ko -->","<\/div>"];return u.join("")}},t.dxMenuBase={item:function(){var n=[i("div",e,!1)],t=i("span",{text:"text",css:"{ 'dx-menu-item-text': true }"}),r=i("span",{text:"String($data)",css:"{ 'dx-menu-item-text': true }"});return n.push("<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->","<!-- ko if: $data.text -->",t,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) || $data.text -->",r,"<!-- /ko -->","<!-- ko if: $data.items -->","<span class='dx-menu-item-popout-container'><div class='dx-menu-item-popout'><\/div><\/span>","<!-- /ko -->","<\/div>"),n.join("")}},t.dxTreeView={item:function(){var n=[],t=i("span",{text:"text"},!0),r=i("div",{html:"html"});return n.push("<div>","<!-- ko if: $data.html && !$data.text -->",r,"<!-- /ko -->","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->","<!-- ko if: !$data.html && $data.text -->"+t+"<!-- /ko -->","<\/div>"),n.join("")}},f=function(){return["<div>",i("div",{dxToolbar:"{ items: $data }"}),"<\/div>"].join("")},t.dxPopup={title:f,bottom:f},t.dxLookup={title:t.dxPopup.title,group:t.dxList.group},t.dxTagBox={tag:function(){return["<div>",i("span",{text:"$data"})].join("")}},t}),DevExpress.define("/integration/knockout/ko.template",["jquery","/ui/templates/ui.templateBase","/utils/utils.dom"],function(n,t,i){var r=window.ko;return t.inherit({ctor:function(t,r){this.callBase(t,r);this._template=n("<div>").append(i.normalizeTemplateElement(t));this._registerKoTemplate()},_registerKoTemplate:function(){var n=this._template.get(0);new r.templateSources.anonymousTemplate(n).nodes(n)},_prepareDataForContainer:function(n,t){var f=n,u,i;return t.length&&(u=t.get(0),n=n!==undefined?n:r.dataFor(u)||{},i=r.contextFor(u),f=i?n===i.$data?i:i.createChildContext(n):n),f},_renderCore:function(t,i,u){var e=n("<div>").appendTo(u),f;return r.renderTemplate(this._template.get(0),t,{afterRender:function(t){f=n(t)}},e.get(0),"replaceNode"),f},dispose:function(){this.callBase();this._template.remove()}})}),DevExpress.define("/integration/knockout/ko.templateProvider",["jquery","/utils/utils.dom","/integration/jquery/jquery.templateProvider","/integration/knockout/ko.template","/integration/knockout/ko.defaultTemplates"],function(n,t,i,r,u){var e=window.ko,o=i.constructor.inherit({createTemplate:function(n,t){return new r(n,t)},applyTemplate:function(n,t){e.applyBindings(t,n)},_templatesForWidget:function(i){var o=u[i],e;return o?(e={},n.each(o,function(n,i){var u=t.createMarkupFromString(i());n!=="itemFrame"&&(u=u.contents());e[n]=new r(u,f)}),e):this.callBase(i)}}),f=new o;return f}),DevExpress.define("/integration/knockout/ko.validation",["jquery","/class","/eventsMixin","/validationEngine"],function(n,t,i,r){var u=window.ko,f=t.inherit({ctor:function(t,i){var r=this;r.target=t;r.validationRules=i.validationRules;r.name=i.name;r.isValid=u.observable(!0);r.validationError=u.observable();n.each(this.validationRules,function(n,t){t.validator=r})},validate:function(){var n=r.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(i);u.extenders.dxValidator=function(t,i){return t.dxValidator=new f(t,i),t.subscribe(n.proxy(t.dxValidator.validate,t.dxValidator)),t};r.registerModelForValidation=function(t){n.each(t,function(n,i){u.isObservable(i)&&i.dxValidator&&r.registerValidatorInGroup(t,i.dxValidator)})};r.validateModel=r.validateGroup}),DevExpress.define("/integration/knockout/ko.eventRegistrator",["jquery","/ui/events/ui.events.eventRegistrator","/ui/events/ui.events.utils"],function(n,t,i){var r=window.ko;t.callbacks.add(function(t){var u=i.addNamespace(t,t+"Binding");r.bindingHandlers[t]={update:function(t,i,f,e){var s=n(t),o=r.utils.unwrapObservable(i()),h=o.execute?o.execute:o;s.off(u).on(u,n.isPlainObject(o)?o:{},function(n){h.call(e,e,n)})}}})}),DevExpress.define("/integration/knockout/ko.cleanNode",["jquery"],function(n){var t=window.ko,i=n.cleanData;n.cleanData=function(n){for(var u=i(n),r=0;r<n.length;r++)n[r].cleanedByJquery=!0;for(r=0;r<n.length;r++)n[r].cleanedByKo||t.cleanNode(n[r]),delete n[r].cleanedByKo;for(r=0;r<n.length;r++)delete n[r].cleanedByJquery;return u};t.utils.domNodeDisposal.cleanExternalData=function(t){t.cleanedByKo=!0;t.cleanedByJquery||n.cleanData([t])}}),DevExpress.define("/integration/knockout/ko.cleanNodeIE8",["jquery"],function(n){var f=window.ko,t=function(n,t){var i=function(){f.cleanNode(this)};t?n.each(i):n.find("*").each(i)},e=n.fn.empty,i,r,u;n.fn.empty=function(){return t(this,!1),e.apply(this,arguments)};i=n.fn.remove;n.fn.remove=function(n,r){if(!r){var u=this;n&&(u=u.filter(n));t(u,!0)}return i.call(this,n,r)};r=n.fn.html;n.fn.html=function(n){return typeof n=="string"&&t(this,!1),r.apply(this,arguments)};u=n.fn.replaceWith;n.fn.replaceWith=function(){var n=u.apply(this,arguments);return this.parent().length||t(this,!0),n}}),DevExpress.define("/integration/angular/ng.componentRegistrator",["jquery","/componentRegistrator","/class","/utils/utils.common","/utils/utils.dom","/ui/ui.widget","/ui/ui.editor","/integration/angular/ng.templateProvider","/integration/angular/ng.module","/utils/utils.locker"],function(n,t,i,r,u,f,e,o,s,h){var v=DevExpress.data.utils.compileSetter,y=DevExpress.data.utils.compileGetter,k="dxItemAlias",p="scopeValue",w="dxElementModel",d=["rendering"],l=function(n,t){t.$root.$$phase?n(t):t.$apply(function(){n(t)})},a=i.inherit({ctor:function(t){this._componentDisposing=n.Callbacks();this._optionChangedCallbacks=n.Callbacks();this._ngLocker=new h;this._scope=t.scope;this._$element=t.$element;this._$element.data(w,this._scope);this._$templates=t.$templates;this._componentClass=t.componentClass;this._parse=t.parse;this._compile=t.compile;this._itemAlias=t.itemAlias;this._transcludeFn=t.transcludeFn;this._digestCallbacks=t.dxDigestCallbacks;this._normalizeOptions(t.ngOptions);this._initComponentBindings();this._initComponent(this._scope);t.ngOptions?this._triggerResizeEvent():this._addOptionsStringWatcher(t.ngOptionsString)},_addOptionsStringWatcher:function(n){var t=this,i=t._scope.$watch(n,function(n){n&&(i(),t._normalizeOptions(n),t._initComponentBindings(),t._component.option(t._evalOptions(t._scope)),t._triggerResizeEvent())});t._componentDisposing.add(i)},_normalizeOptions:function(t){var i=this;(i._ngOptions=n.extend({},t),t)&&(t.bindingOptions&&n.each(t.bindingOptions,function(t,r){n.type(r)==="string"&&(i._ngOptions.bindingOptions[t]={dataPath:r})}),t.data&&i._initDataScope(t.data))},_triggerResizeEvent:function(){var n=this;clearTimeout(n._shownEventTimer);n._shownEventTimer=setTimeout(function(){u.triggerResizeEvent(n._$element)});n._componentDisposing.add(function(){clearTimeout(n._shownEventTimer)})},_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));this._component._isHidden=!0},_handleDigestPhase:function(){var n=this,t=function(){n._component.beginUpdate()},i=function(){n._component.endUpdate()};n._digestCallbacks.begin.add(t);n._digestCallbacks.end.add(i);n._componentDisposing.add(function(){n._digestCallbacks.begin.remove(t);n._digestCallbacks.end.remove(i)})},_initComponentBindings:function(){var t=this,i={};t._ngOptions.bindingOptions&&(t._handleDigestPhase(),n.each(t._ngOptions.bindingOptions,function(r,u){var h=r.search(/\[|\./),e=h>-1?r.substring(0,h):r,c,f,o=u.dataPath,l=!0,a=!1,v,s;u.deep!==undefined&&(a=l=!!u.deep);i[e]||(i[e]={});i[e][r]=o;v=function(n){t._ngLocker.locked(r)||(t._component.option(r,n),s())};s=function(){var i=n.isArray(t._scope.$eval(o))&&!a?"$watchCollection":"$watch";c!==i&&(f&&f(),f=t._scope[i](o,v,l),c=i)};s();t._componentDisposing.add(f)}),t._optionChangedCallbacks.add(function(r){var u=r.name,f=r.fullName,e=r.component;if(t._scope.$root.$$phase!=="$digest"&&i&&i[u])try{t._ngLocker.obtain(f);l(function(){n.each(i[u],function(n,i){var r=e.option(n);t._parse(i).assign(t._scope,r)})},t._scope)}finally{t._ngLocker.release(f)}}))},_compilerByTemplate:function(t){var i=this,u=this._getScopeItemsPath();return function(f,e,o){var h=n(t).clone(),s,c;if(h.appendTo(o),!r.isDefined(f)&&u&&(f={}),r.isDefined(f)){c=f.constructor===i._scope.$root.constructor;s=c?f:i._createScopeWithData(f);h.on("$destroy",function(){var n=!s.$parent;n||s.$destroy()})}else s=i._scope;return u&&i._synchronizeScopes(s,u,e),l(i._compile(h,i._transcludeFn),s),h}},_getScopeItemsPath:function(){if(this._componentClass.subclassOf(DevExpress.ui.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 u=this,f=y(i+"["+r+"]")(this._scope);f=u._enshureDataIsPlainObject(f);n.each(f,function(n){u._synchronizeScopeField({parentScope:u._scope,childScope:t,fieldPath:n,parentPrefix:i,itemIndex:r})})},_synchronizeScopeField:function(n){var i=n.parentScope,o=n.childScope,t=n.fieldPath,s=n.parentPrefix,r=n.itemIndex,l=t===(this._itemAlias||p)?"":"."+t,h=r!==undefined,u=[s],f,c,e;h&&u.push("[",r,"]");u.push(l);f=u.join("");c=i.$watch(f,function(n,i){n!==i&&v(t)(o,n)});e=o.$watch(t,function(n,t){if(n!==t){if(h&&!y(s)(i)[r]){e();return}v(f)(i,n)}});this._componentDisposing.add([c,e])},_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._componentDisposing,i.templateProvider=o,i.templateCompiler=n.proxy(function(n){return this._compilerByTemplate(n)},this),i.modelByElement=function(n){if(n.length)return n.data(w)},i.onActionCreated=function(t,r,u){return u&&n.inArray(u.category,d)>-1?r:function(){var u=this,n=i.modelByElement(t.element()),f=arguments;return!n||!n.$root||n.$root.$$phase?r.apply(u,f):n.$apply(function(){return r.apply(u,f)})}},i.nestedComponentOptions=function(n){return{templateCompiler:n.option("templateCompiler"),modelByElement:n.option("modelByElement"),onActionCreated:n.option("onActionCreated"),nestedComponentOptions:n.option("nestedComponentOptions")}},i.templatesRenderAsynchronously=!0,i},_enshureDataIsPlainObject:function(t){var i;return n.isPlainObject(t)?i=t:(i={},i[p]=t),this._itemAlias&&(i[this._itemAlias]=t),i}}),c,b;a=a.inherit({ctor:function(n){this._componentName=n.componentName;this._ngModel=n.ngModel;this._ngModelController=n.ngModelController;this.callBase.apply(this,arguments)},_isNgModelRequired:function(){return this._componentClass.subclassOf(e)&&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){n._ngLocker.locked(n._ngModelOption())||t!==i&&n._component.option(n._ngModelOption(),t)});n._optionChangedCallbacks.add(function(t){n._ngLocker.obtain(n._ngModelOption());try{if(t.name!==n._ngModelOption())return;n._ngModelController.$setViewValue(t.value)}finally{n._ngLocker.release(n._ngModelOption())}});this._componentDisposing.add(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}});c={};b=function(n){var t=n!=="dxValidator"?1:10;s.directive(n,["$compile","$parse","dxDigestCallbacks",function(i,r,u){return{restrict:"A",require:"^?ngModel",priority:t,compile:function(t){var e=c[n],o=e.subclassOf(f)?t.contents().detach():null;return function(t,f,s,h,c){f.append(o);l(function(){new a({componentClass:e,componentName:n,compile:i,parse:r,$element:f,scope:t,ngOptionsString:s[n],ngOptions:s[n]?t.$eval(s[n]):{},ngModel:s.ngModel,ngModelController:h,transcludeFn:c,itemAlias:s[k],dxDigestCallbacks:u})},t)}}}}])};t.callbacks.add(function(n,t){c[n]||b(n);c[n]=t})}),DevExpress.define("/integration/angular/ng.components",["jquery","/integration/angular/ng.module","/utils/utils.icon","/utils/utils.inflector"],function(n,t,i,r){t.filter("dxGlobalize",function(){return function(n,t){return Globalize.format(n,t)}});t.directive("dxIcon",["$compile",function(n){return{restrict:"E",link:function(t,r){var u=i.getImageContainer(t.icon||t.iconSrc),f;u&&(f=n(u.get(0))(t),r.replaceWith(f))}}}]);t.directive("dxPolymorphWidget",["$compile",function(t){return{restrict:"E",scope:{name:"=",options:"="},link:function(i,u){var e=i.name,f;e&&(f=n("<div "+r.dasherize("dx-"+e)+'="options">').get(0),u.after(f),t(f)(i))}}}]);t.service("dxDigestCallbacks",["$rootScope",function(t){var r=n.Callbacks(),u=n.Callbacks(),i=!1;return t.$watch(function(){i||(i=!0,r.fire(),t.$$postDigest(function(){i=!1;u.fire()}))}),{begin:r,end:u}}])}),DevExpress.define("/integration/angular/ng.defaultTemplates",["jquery"],function(n){var t={},l="dx-template-wrapper",i={container:function(){return n("<div>").addClass(l)},html:function(){return n("<div>").attr("ng-if","html").attr("ng-bind-html","html")},text:function(t){return t=t||"<div>",n(t).attr("ng-if","text").attr("ng-if","!html").attr("ng-bind","text")},primitive:function(){return n("<div>").attr("ng-if","scopeValue && !scopeValue.text").attr("ng-bind","'' + scopeValue")}},r=function(){return n()},o,s,u,f,h,e;t.CollectionWidget={item:function(){return i.container().append(i.html()).append(i.text()).append(i.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}};o="dx-button-text";t.dxButton={content:function(){var t=n("<span>").attr("ng-bind","text").attr("ng-class","{ '"+o+"' : !!text }"),r=n("<dx-icon>");return i.container().append(r).append(t).append(i.primitive())}};var a="dx-list-item-badge-container",v="dx-list-item-badge",c="dx-badge",y="dx-list-item-chevron-container",p="dx-list-item-chevron";return t.dxList={item:function(){return t.CollectionWidget.item().append(n("<div>").attr("ng-if","key").attr("ng-bind","key"))},itemFrame:function(){var i=n("<div>").addClass(a).attr("ng-if","badge"),r=n("<div>").addClass(v).addClass(c).attr("ng-bind","badge"),u=n("<div>").addClass(y).attr("ng-if","showChevron"),f=n("<div>").addClass(p);return t.CollectionWidget.itemFrame().append(i.append(r)).append(u.append(f))},group:function(){var t=n("<div>").attr("ng-if","key").attr("ng-bind","key");return i.container().append(t).append(i.primitive())}},t.dxDropDownMenu={item:t.dxList.item,content:t.dxButton.content},t.dxDropDownList={item:t.dxList.item},t.dxRadioGroup={item:t.CollectionWidget.item},t.dxScheduler={item:function(){var r=t.CollectionWidget.item(),i=n("<div>").addClass("dx-scheduler-appointment-content-details");return n("<div>").attr("ng-if","startDate").addClass("dx-scheduler-appointment-content-date").text("{{startDate | date : 'shortTime' }}").appendTo(i),n("<div>").attr("ng-if","endDate").addClass("dx-scheduler-appointment-content-date").text(" - ").appendTo(i),n("<div>").attr("ng-if","endDate").addClass("dx-scheduler-appointment-content-date").text("{{endDate | date : 'shortTime' }}").appendTo(i),i.appendTo(r),n("<span>").attr("ng-if","recurrenceRule").addClass("dx-scheduler-appointment-recurrence-icon dx-icon-repeat").appendTo(r),r},appointmentTooltip:r,appointmentPopup:r},t.dxOverlay={content:r},t.dxSlideOutView={menu:r,content:r},t.dxSlideOut={menuItem:t.dxList.item,menuGroup:t.dxList.group,content:r},t.dxAccordion={title:function(){var t=n("<span>").attr("ng-if","title").attr("ng-bind","title"),r=n("<dx-icon>");return i.container().append(r).append(t).append(i.primitive())},content:t.CollectionWidget.item},t.dxPivotTabs={item:function(){return i.container().append(n("<span>").attr("ng-if","title || scopeValue && scopeValue.title").attr("ng-bind","title || scopeValue && scopeValue.title")).append(i.primitive().attr("ng-if","scopeValue && !scopeValue.title"))}},t.dxPivot={title:t.dxPivotTabs.item,content:r},s="dx-panorama-item-title",t.dxPanorama={itemFrame:function(){return t.CollectionWidget.itemFrame().prepend(n("<div>").addClass(s).attr("ng-if","title").attr("ng-bind","title"))}},t.dxActionSheet={item:function(){return i.container().append(n("<div>").attr("dx-button","{ bindingOptions: { text: 'text', onClick: 'onClick', type: 'type', disabled: 'disabled' } }"))}},t.dxToolbar={item:function(){var i=t.CollectionWidget.item();return n('<dx-polymorph-widget name="widget" options="options">').appendTo(i),i},menuItem:t.dxList.item,actionSheetItem:t.dxActionSheet.item},u="dx-gallery-item-image",t.dxGallery={item:function(){return i.container().append(i.html()).append(i.text()).append(n("<img>").addClass(u).attr("ng-if","scopeValue").attr("ng-src","{{'' + scopeValue}}")).append(n("<img>").addClass(u).attr("ng-if","imageSrc").attr("ng-src","{{imageSrc}}").attr("ng-attr-alt","{{imageAlt}}"))}},f="dx-tab-text",t.dxTabs={item:function(){var t=i.container(),r=n("<dx-icon>"),u=i.text("<span>").addClass(f);return t.append(i.html()).append(r).append(u).append(i.primitive().addClass(f))},itemFrame:function(){var i=n("<div>").addClass("dx-tabs-item-badge dx-badge").attr("ng-bind","badge").attr("ng-if","badge");return t.CollectionWidget.itemFrame().append(i)}},h="dx-navbar-item-badge",t.dxNavBar={itemFrame:function(){var i=n("<div>").addClass(h).addClass(c).attr("ng-if","badge").attr("ng-bind","badge");return t.CollectionWidget.itemFrame().append(i)}},t.dxMenuBase={item:function(){var t=i.container(),r=n("<span>").attr("ng-if","text || scopeValue.text").addClass("dx-menu-item-text").attr("ng-bind","text || scopeValue.text"),u=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(i.html()).append(u).append(r).append(f).append(i.primitive()).appendTo(t),t}},t.dxTreeView={item:function(){var t=i.container(),r=n("<span/>").attr("ng-bind","text"),u=n("<dx-icon>");return t.append(i.html()).append(u).append(r).append(i.primitive()),t}},t.dxTabPanel={item:t.CollectionWidget.item,title:function(){var n=t.dxTabs.item();return n.find(".dx-tab-text").eq(0).attr("ng-bind","title").attr("ng-if","title"),n.find("[ng-if='html']").remove(),n}},e=function(){return n("<div>").attr("dx-toolbar","{ bindingOptions: { items: 'scopeValue' } }")},t.dxPopup={title:e,bottom:e},t.dxLookup={title:t.dxPopup.title,group:t.dxList.group},t.dxTagBox={tag:function(){return n("<div>").append(n("<span>").attr("ng-bind","scopeValue"))}},t}),DevExpress.define("/integration/angular/ng.template",["jquery","/ui/templates/ui.templateBase","/utils/utils.dom"],function(n,t,i){return t.inherit({ctor:function(n,t){this.callBase(n,t);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(i.normalizeTemplateElement(this._element)))}})}),DevExpress.define("/integration/angular/ng.templateProvider",["jquery","/utils/utils.dom","/integration/jquery/jquery.templateProvider","/integration/angular/ng.template","/integration/angular/ng.defaultTemplates"],function(n,t,i,r,u){var e=i.constructor.inherit({createTemplate:function(n,t){return new r(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&&t.setCompiler(r)}),i},_templatesForWidget:function(i){var o=u[i],e;return o?(e={},n.each(o,function(n,i){var u=t.createMarkupFromString(i());e[n]=new r(u.wrap(),f)}),e):this.callBase(i)}}),f=new e;return f}),DevExpress.define("/integration/angular/ng.eventRegistrator",["jquery","/ui/events/ui.events.eventRegistrator","/integration/angular/ng.module"],function(n,t,i){t.callbacks.add(function(t){var r=t.slice(0,2)+t.charAt(2).toUpperCase()+t.slice(3);i.directive(r,["$parse",function(i){return function(u,f,e){var h=n.trim(e[r]),o,s={};h.charAt(0)==="{"?(s=u.$eval(h),o=i(s.execute)):o=i(e[r]);f.on(t,s,function(n){u.$apply(function(){o(u,{$event:n})})})}}])})}),DevExpress.define("/integration/angular/ng.module",[],function(){return window.angular.module("dx",["ngSanitize"])}),DevExpress.define("/ui/events/ui.events",["/ui/uiNamespace","/ui/events/pointer/ui.events.pointer"],function(n){n.events={}}),DevExpress.require("/ui/events/ui.events"),DevExpress.define("/core",["/coreNamespace","/errors","/utils/utils.animationFrame","/utils/utils.viewPort","/utils/utils.hardwareBack","/utils/utils.topOverlay","/utils/utils.queue","/eventsMixin","/endpointSelector","/color","/devices","/componentRegistrator","/validationEngine","/utils/utils"],function(n,t,i,r,u,f,e,o,s,h,c,l,a){return n.requestAnimationFrame=function(){return t.log("W0000","DevExpress.requestAnimationFrame","15.2","Use the 'DevExpress.utils.requestAnimationFrame' method instead."),i.request.apply(i,arguments)},n.cancelAnimationFrame=function(){return t.log("W0000","DevExpress.cancelAnimationFrame","15.2","Use the 'DevExpress.utils.cancelAnimationFrame' method instead."),i.cancel.apply(i,arguments)},n.processHardwareBackButton=u.process,n.hideTopOverlay=f.hide,n.registerComponent=l,n.EventsMixin=o,n.EndpointSelector=s,n.devices=c,n.createQueue=e.create,n.viewPort=r.value,n.Color=h,n.validationEngine=a,n}),DevExpress.require(["/core"]),DevExpress.define("/ui/ui",["/ui/uiNamespace","/ui/ui.dialog","/core","/ui/events/ui.events"],function(n,t){return n.notify=t.notify,n.dialog={custom:t.custom,alert:t.alert,confirm:t.confirm},n}),DevExpress.require(["/ui/ui"]),DevExpress.define("/integration/jquery/jquery",["jquery","/errors","/utils/utils.version"],function(n,t,i){if(i.compare(n.fn.jquery,[1,10])<0)throw t.Error("E0012");}),DevExpress.require(["/integration/jquery/jquery"]),DevExpress.define("/integration/knockout/ko",["jquery","/utils/utils.support","/errors","/utils/utils.version","require"],function(n,t,i,r,u){if(t.hasKo){var f=window.ko;if(r.compare(f.version,[2,3])<0)throw i.Error("E0013");u(["/integration/knockout/ko.componentRegistrator","/integration/knockout/ko.eventRegistrator","/integration/knockout/ko.components","/integration/knockout/ko.validation"]);r.compare(n.fn.jquery,[2,0])>=0?u(["/integration/knockout/ko.cleanNode"]):u(["/integration/knockout/ko.cleanNodeIE8"])}}),DevExpress.require(["/integration/knockout/ko"]),DevExpress.define("/integration/angular/ng",["/utils/utils.support","require"],function(n,t){n.hasNg&&t(["/integration/angular/ng.componentRegistrator","/integration/angular/ng.eventRegistrator","/integration/angular/ng.components"])}),DevExpress.require(["/integration/angular/ng"]),function(n,t){var e=Math.abs,p=t.ui.events,o=t.require("/devices"),r=t.require("/utils/utils.dom"),l=t.require("/utils/utils.animationFrame"),i=t.require("/ui/events/ui.events.utils"),s=t.require("/ui/events/pointer/ui.events.pointer"),a=t.require("/ui/events/ui.events.emitter"),v=t.require("/ui/events/ui.events.emitterRegistrator"),u="dxclick",h=10,c=function(t){return n(t).is("input, textarea, select, button ,:focus, :focus *")},y={requestAnimationFrame:l.request},f=a.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.isDefaultPrevented();this._startTarget=n.target;this._startEventData=i.eventData(n)},end:function(t){if(this._eventOutOfElement(t,this.getElement().get(0))||t.type===s.cancel){this._cancel(t);return}c(t.target)||this._blurPrevented||r.resetActiveElement();this._accept(t);y.requestAnimationFrame(n.proxy(function(){this._fireClickEvent(t)},this))},_eventOutOfElement:function(t,r){var u=t.target,o=!n.contains(r,u)&&r!==u,f=i.eventDelta(i.eventData(t),this._startEventData),s=e(f.x)>h||e(f.y)>h;return o||s},_fireClickEvent:function(n){this._fireEvent(u,n,{target:r.closestCommonParent(this._startTarget,n.target)})}});(function(){function t(t){return h||n(t.target).closest("."+e).length}var e="dx-native-click",h=o.real().generic,r=null,s;f=f.inherit({configurate:function(n){this.callBase(n);n.useNative&&this.getElement().addClass(e)},start:function(n){r=null;t(n)||this.callBase(n)},end:function(n){t(n)||this.callBase(n)},cancel:function(){r=!0}});s=function(n){n.which&&n.which!==1||r||!t(n)||i.fireEvent({type:u,originalEvent:n})};n(document).on(i.addNamespace("click","NATIVE_DXCLICK_STRATEGY"),s)})(),function(){var e=o.real().generic;if(!e){var t=null,u=!1,h=function(n){t=n.target;u=n.isDefaultPrevented()},l=function(i){var f=n(i.target);u||!t||f.is(t)||n(t).is("label")||!c(f)||r.resetActiveElement();t=null;u=!1},f="NATIVE_CLICK_FIXER";n(document).on(i.addNamespace(s.down,f),h).on(i.addNamespace("click",f),l)}}();v({emitter:f,bubble:!0,events:[u]})}(jQuery,DevExpress),function(n,t){var i=t.require("/ui/events/ui.events.utils"),e=t.require("/ui/events/ui.events.emitter"),o=t.require("/ui/events/ui.events.emitterRegistrator"),r=Math.abs,u="dxhold",s=750,f=5,h=e.inherit({start:function(n){this._startEventData=i.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(u,t,{target:t.target});this._forgetAccept()},this),i)},move:function(n){this._touchWasMoved(n)&&this._cancel(n)},_touchWasMoved:function(n){var t=i.eventDelta(this._startEventData,i.eventData(n));return r(t.x)>f||r(t.y)>f},end:function(){this._stopTimer()},_stopTimer:function(){clearTimeout(this._holdTimer)},cancel:function(){this._stopTimer()}});o({emitter:h,bubble:!0,events:[u]})}(jQuery,DevExpress),DevExpress.define("/ui/events/ui.events.emitter.scroll",function(n,t,i){var v=i("jquery"),y=i("/class"),g=y.abstract,r=i("/ui/events/ui.events.utils"),nt=i("/ui/events/ui.events.emitter.gesture"),tt=i("/ui/events/ui.events.emitterRegistrator"),u=i("/utils/utils.animationFrame"),f=i("/devices").real(),p=i("/utils/utils.version").compare,o="dxscrollinit",s="dxscrollstart",h="dxscroll",c="dxscrollend",l="dxscrollstop",a="dxscrollcancel",e=function(n){return n.type==="dxmousewheel"},w=y.inherit(function(){var n=r.addNamespace("scroll","dxScrollEmitter");return{ctor:function(t){this._element=t;this._locked=!1;var i=this;this._proxiedScroll=function(n){i._scroll(n)};v(this._element).on(n,this._proxiedScroll)},_scroll:g,check:function(n,t){this._locked&&t()},dispose:function(){v(this._element).off(n,this._proxiedScroll)}}}()),b=w.inherit(function(){return{ctor:function(n,t){this.callBase(n);this._timeout=t},_scroll:function(){this._prepare();this._forget()},_prepare:function(){this._timer&&this._clearTimer();this._locked=!0},_clearTimer:function(){clearTimeout(this._timer);this._locked=!1;this._timer=null},_forget:function(){var n=this;this._timer=setTimeout(function(){n._clearTimer()},this._timeout)},dispose:function(){this.callBase();this._clearTimer()}}}()),it=b.inherit(function(){var n=400;return{ctor:function(t){this.callBase(t,n);this._lastWheelDirection=null},check:function(n,t){this._checkDirectionChanged(n);this.callBase(n,t)},_checkDirectionChanged:function(n){if(!e(n)){this._lastWheelDirection=null;return}var t=n.shiftKey||!1,i=this._lastWheelDirection!==null&&t!==this._lastWheelDirection;this._lastWheelDirection=t;this._locked=this._locked&&!i}}}()),k=b.inherit(function(){var n=400;return{ctor:function(t){this.callBase(t,n)}}}()),d;(function(){var n=f.ios&&p(f.version,[8])>=0,t=f.android&&p(f.version,[5])>=0;(n||t)&&(k=w.inherit(function(){return{_scroll:function(){this._locked=!0;var n=this;this._scrollFrame=u.request(function(){n._locked=!1})},check:function(n,t){u.cancel(this._scrollFrame);u.cancel(this._checkFrame);var i=this,r=this.callBase;this._checkFrame=u.request(function(){r.call(i,n,t);i._locked=!1})},dispose:function(){this.callBase();u.cancel(this._scrollFrame);u.cancel(this._checkFrame)}}}()))})();d=nt.inherit(function(){var n=100,t=200,i=Math.round(1e3/60);return{ctor:function(n){this.callBase.apply(this,arguments);this.direction="both";this._pointerLocker=new k(n);this._wheelLocker=new it(n)},validate:function(){return!0},_init:function(n){var t=this;this._wheelLocker.check(n,function(){e(n)&&t._accept(n)});this._pointerLocker.check(n,function(){e(n)||t._accept(n)});this._fireEvent(o,n)},move:function(n){this.callBase.apply(this,arguments);n.isScrollingEvent=this.isNative||n.isScrollingEvent},_start:function(n){this._savedEventData=r.eventData(n);this._fireEvent(s,n,{delta:r.eventDelta(this._savedEventData,r.eventData(n))})},_move:function(n){var i=r.eventData(n),u;this._fireEvent(h,n,{delta:r.eventDelta(this._prevEventData,i)});u=r.eventDelta(this._savedEventData,i);u.time>t&&(this._savedEventData=this._prevEventData)},_end:function(t){var s=r.eventDelta(this._prevEventData,r.eventData(t)),o={x:0,y:0},u,f;!e(t)&&s.time<n&&(u=r.eventDelta(this._savedEventData,this._prevEventData),f=i/u.time,o={x:u.x*f,y:u.y*f});this._fireEvent(c,t,{velocity:o})},_stop:function(n){this._fireEvent(l,n)},cancel:function(n){this.callBase.apply(this,arguments);this._fireEvent(a,n)},dispose:function(){this.callBase.apply(this,arguments);this._pointerLocker.dispose();this._wheelLocker.dispose()}}}());tt({emitter:d,events:[o,s,h,c,l,a]});n.exports={init:o,start:s,move:h,end:c,stop:l,cancel:a}}),function(n,t){var i=t.require("/ui/events/ui.events.utils"),e=t.require("/ui/events/ui.events.emitter.gesture"),o=t.require("/ui/events/ui.events.emitterRegistrator"),r="dxswipestart",u="dxswipe",f="dxswipeend",s={defaultItemSizeFunc:function(){return this.getElement().width()},getBounds:function(){return[this._maxLeftOffset,this._maxRightOffset]},calcOffsetRatio:function(n){var t=i.eventData(n);return(t.x-(this._savedEventData&&this._savedEventData.x||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=i.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=i.eventData(n);return(t.y-(this._savedEventData&&this._savedEventData.y||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=i.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=e.inherit({TICK_INTERVAL:300,FAST_SWIPE_SPEED_LIMIT:10,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},_init:function(n){this._tickData=i.eventData(n)},_start:function(n){this._savedEventData=i.eventData(n);n=this._fireEvent(r,n);n.cancel||(this._maxLeftOffset=n.maxLeftOffset,this._maxRightOffset=n.maxRightOffset,this._maxTopOffset=n.maxTopOffset,this._maxBottomOffset=n.maxBottomOffset)},_move:function(n){var f=this._getStrategy(),r=i.eventData(n),t=f.calcOffsetRatio.call(this,n);t=this._fitOffset(t,this.elastic);r.time-this._tickData.time>this.TICK_INTERVAL&&(this._tickData=r);this._fireEvent(u,n,{offset:t});n.preventDefault()},_end:function(n){var r=this._getStrategy(),u=r.calcOffsetRatio.call(this,n),e=r.isFastSwipe.call(this,n),t=u,i=this._calcTargetOffset(u,e);t=this._fitOffset(t,this.elastic);i=this._fitOffset(i,!1);this._fireEvent(f,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}});o({emitter:l,events:[r,u,f]})}(jQuery,DevExpress),function(n,t,i){var p=t.require("/utils/utils.array").wrapToArray,f=t.require("/ui/events/ui.events.eventRegistrator"),e=t.require("/ui/events/ui.events.utils"),w=t.require("/ui/events/ui.events.emitter.gesture"),b=t.require("/ui/events/ui.events.emitterRegistrator"),a="dxdragstart",v="dxdrag",y="dxdragend",o="dxdragenter",s="dxdragleave",h="dxdrop",r=[],u=[],c=[],l={setup:function(t,i){var f=n.inArray(t,r)!==-1;f||(r.push(t),u.push([]),c.push(i||{}))},add:function(t,i){var f=n.inArray(t,r),e=i.selector;n.inArray(e,u[f])===-1&&u[f].push(e)},teardown:function(t){var e=n._data(t,"events"),f=0,i;n.each([o,s,h],function(n,t){var i=e[t];i&&(f+=i.length)});f||(i=n.inArray(t,r),r.splice(i,1),u.splice(i,1),c.splice(i,1))}};f(o,l);f(s,l);f(h,l);var k=function(t){var o=n.inArray(t.get(0),r),e=u[o],f=t.find(e.join(", "));return n.inArray(i,e)!==-1&&(f=f.addBack()),f},d=function(t){var i=n.inArray(t.get(0),r);return c[i]},g=function(n,t){return n.itemPositionFunc?n.itemPositionFunc(t):t.offset()},nt=function(n,t){return n.itemSizeFunc?n.itemSizeFunc(t):{width:t.width(),height:t.height()}},tt=w.inherit({ctor:function(n){this.callBase(n);this.direction="both"},_init:function(n){this._initEvent=n},_start:function(t){t=this._fireEvent(a,this._initEvent);this._maxLeftOffset=t.maxLeftOffset;this._maxRightOffset=t.maxRightOffset;this._maxTopOffset=t.maxTopOffset;this._maxBottomOffset=t.maxBottomOffset;var i=p(t.targetElements||(t.targetElements===null?[]:r));this._dropTargets=n.map(i,function(t){return n(t).get(0)})},_move:function(n){var i=e.eventData(n),t=this._calculateOffset(i);this._fireEvent(v,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 t=this._findDropTarget(n),i=t===this._currentDropTarget;i||(this._fireDropTargetEvent(n,s),this._currentDropTarget=t,this._fireDropTargetEvent(n,o))},_fireDropTargetEvent:function(n,t){if(this._currentDropTarget){var i={type:t,originalEvent:n,draggingElement:this._$element.get(0),target:this._currentDropTarget};e.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(k(e),function(r,f){var o=n(f);i._checkDropTarget(d(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=g(n,t),i.pageX<r.left)?!1:i.pageY<r.top?!1:(u=nt(n,t),i.pageX>r.left+u.width)?!1:i.pageY>r.top+u.height?!1:t},_end:function(n){var t=e.eventData(n);this._fireEvent(y,n,{offset:this._calculateOffset(t)});this._fireDropTargetEvent(n,h);delete this._currentDropTarget}});b({emitter:tt,events:[a,v,y]})}(jQuery,DevExpress),function(n,t){var e=t.require("/utils/utils.math"),w=t.require("/ui/ui.errors"),b=t.require("/ui/events/ui.events.utils"),k=t.require("/ui/events/ui.events.emitter"),d=t.require("/ui/events/ui.events.emitterRegistrator"),o="dx",u="zoom",s="pinch",h="start",c="",l="end",f=[],i=function(n,t){f.push({name:n,args:t})};i("transform",{scale:!0,deltaScale:!0,rotation:!0,deltaRotation:!0,translation:!0,deltaTranslation:!0});i("translate",{translation:!0,deltaTranslation:!0});i(u,{scale:!0,deltaScale:!0});i(s,{scale:!0,deltaScale:!0});i("rotate",{rotation:!0,deltaRotation:!0});var g=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}},a=function(n){var t=n.pointers;return g(t[0],t[1])},r=function(n){return Math.sqrt(n.x*n.x+n.y*n.y)},v=function(n,t){return r(n)/r(t)},y=function(n,t){var o=n.x*t.x+n.y*t.y,i=r(n)*r(t),u,f;return i===0?0:(u=e.sign(n.x*t.y-t.x*n.y),f=Math.acos(e.fitIntoRange(o/i,-1,1)),u*f)},p=function(n,t){return{x:n.centerX-t.centerX,y:n.centerY-t.centerY}},nt=k.inherit({configurate:function(n,t){t.indexOf(u)>-1&&w.log("W0005",t,"15.1","Use '"+t.replace(u,s)+"' event instead");this.callBase(n)},validatePointers:function(n){return b.hasTouches(n)>1},start:function(n){this._accept(n);var t=a(n);this._startVector=t;this._prevVector=t;this._fireEventAliases(h,n)},move:function(n){var t=a(n),i=this._getEventArgs(t);this._fireEventAliases(c,n,i);this._prevVector=t},end:function(n){var t=this._getEventArgs(this._prevVector);this._fireEventAliases(l,n,t)},_getEventArgs:function(n){return{scale:v(n,this._startVector),deltaScale:v(n,this._prevVector),rotation:y(n,this._startVector),deltaRotation:y(n,this._prevVector),translation:p(n,this._startVector),deltaTranslation:p(n,this._prevVector)}},_fireEventAliases:function(t,i,r){r=r||{};n.each(f,n.proxy(function(u,f){var e={};n.each(f.args,function(n){n in r&&(e[n]=r[n])});this._fireEvent(o+f.name+t,i,e)},this))}});d({emitter:nt,events:n.map(f,function(t){var i=[];return n.each([h,c,l],function(n,r){i.push(o+t.name+r)}),i})})}(jQuery,DevExpress),function(n,t){var e=t.require("/utils/utils.dom"),o=t.require("/class"),s=t.require("/ui/events/ui.events.eventRegistrator"),i=t.require("/ui/events/ui.events.utils"),r="dxdblclick",u=i.addNamespace("dxclick","dxDblClick"),f=300,h=o.inherit({ctor:function(){this._handlerCount=0;this._forgetLastClick()},_forgetLastClick:function(){this._firstClickTarget=null;this._lastClickTimeStamp=-f},add:function(){if(this._handlerCount<=0)n(document).on(u,n.proxy(this._clickHandler,this));this._handlerCount++},_clickHandler:function(t){var u=t.timeStamp||n.now();u-this._lastClickTimeStamp<f?(i.fireEvent({type:r,target:e.closestCommonParent(this._firstClickTarget,t.target),originalEvent:t}),this._forgetLastClick()):(this._firstClickTarget=t.target,this._lastClickTimeStamp=u)},remove:function(){this._handlerCount--;this._handlerCount<=0&&(this._forgetLastClick(),n(document).off(u))}});s(r,new h)}(jQuery,DevExpress),function(n,t){var e=t.require("/utils/utils.support"),u=t.require("/devices"),o=t.require("/class"),s=t.require("/ui/events/ui.events.eventRegistrator"),i=t.require("/ui/events/ui.events.utils"),r="dxContexMenu",h=i.addNamespace("contextmenu",r),c=i.addNamespace("dxhold",r),f="dxcontextmenu",l=o.inherit({setup:function(t){var i=n(t);i.on(h,n.proxy(this._contextMenuHandler,this));if(e.touch||u.isSimulator())i.on(c,n.proxy(this._holdHandler,this))},_holdHandler:function(n){(!i.isMouseEvent(n)||u.isSimulator())&&this._fireContextMenu(n)},_contextMenuHandler:function(n){n=this._fireContextMenu(n);n.cancel||n._cancel||n.preventDefault()},_fireContextMenu:function(n){return i.fireEvent({type:f,originalEvent:n})},teardown:function(t){n(t).off("."+r)}});s(f,new l)}(jQuery,DevExpress),DevExpress.define("/ui/ui.dataHelper",["jquery"],function(n){var t=DevExpress.data,i="_dataSourceOptions",r="_dataSourceChangedHandler",u="_dataSourceLoadErrorHandler",f="_dataSourceLoadingChangedHandler";return{postCtor:function(){this.on("disposing",function(){this._disposeDataSource()})},_refreshDataSource:function(){this._initDataSource();this._loadDataSource()},_initDataSource:function(){var r=this.option("dataSource"),u,f;this._disposeDataSource();r&&(r instanceof t.DataSource?(this._isSharedDataSource=!0,this._dataSource=r):(u=i in this?this[i]():{},f=this._dataSourceType?this._dataSourceType():t.DataSource,this._dataSource=new f(n.extend(!0,{},u,t.utils.normalizeDataSourceOptions(r)))),this._addDataSourceHandlers())},_addDataSourceHandlers:function(){r in this&&this._addDataSourceChangeHandler();u in this&&this._addDataSourceLoadErrorHandler();f 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[r](t.items())},this);t.on("changed",this._proxiedDataSourceChangedHandler)},_addDataSourceLoadErrorHandler:function(){this._proxiedDataSourceLoadErrorHandler=n.proxy(this[u],this);this._dataSource.on("loadError",this._proxiedDataSourceLoadErrorHandler)},_addDataSourceLoadingChangedHandler:function(){this._proxiedDataSourceLoadingChangedHandler=n.proxy(this[f],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)}}}),DevExpress.define("/ui/ui.dataExpression",["jquery","/utils/utils.knockout","/utils/utils.common","/ui/templates/ui.template.function","/ui/ui.dataHelper"],function(n,t,i,r,u){var f=DevExpress.data.utils;return n.extend(u,{_dataExpressionDefaultOptions:function(){return{items:[],dataSource:null,itemTemplate:"item",value:null,valueExpr:"this",displayExpr:undefined}},_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=f.compileGetter(this._displayGetterExpr())},_displayGetterExpr:function(){return this.option("displayExpr")},_compileValueGetter:function(){this._valueGetter=f.compileGetter(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option("valueExpr")||"this"},_loadValue:function(t){var r=n.Deferred();return(t=this._unwrappedValue(t),!i.isDefined(t))?r.reject().promise():(this._loadSingle(this._valueGetterExpr(),t).done(n.proxy(function(n){this._isValueEquals(this._valueGetter(n),t)?r.resolve(n):r.reject()},this)).fail(function(){r.reject()}),r.promise())},_unwrappedValue:function(n){if(n=i.isDefined(n)?n:this.option("value"),n&&this._dataSource&&this._valueGetterExpr()==="this"){var r=this._dataSource.key();r&&typeof n=="object"&&(n=n[r])}return t.unwrapObservable(n)},_isValueEquals:function(n,r){var e=i.isDefined,o=i.ensureDefined,s=t.unwrapObservable,u=this._dataSource&&this._dataSource.key(),f=this._compareValues(n,r),h,c;return!f&&e(n)&&e(r)&&u&&(h=o(s(n[u]),n),c=o(s(r[u]),r),f=this._compareValues(h,c)),f},_compareValues:function(n,t){return f.toComparable(n)===f.toComparable(t)},_initDynamicTemplates:function(){this._displayGetterExpr()?this._dynamicTemplates.item=new r(n.proxy(function(t){return n("<div/>").text(this._displayGetter(t)).html()},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()}}})}),function(n,t,i){var p=t.ui,w=t.require("/utils/utils.dom"),b=t.require("/utils/utils.common"),k=t.require("/action"),d=t.require("/ui/ui.widget"),r=t.require("/ui/events/ui.events.utils"),g=t.require("/ui/events/pointer/ui.events.pointer"),nt=t.require("/ui/ui.dataHelper"),tt=t.require("/integration/jquery/jquery.selectors"),it="dx-collection",u="dx-item",o="-content",s="dx-item-content-placeholder",rt="dxItemData",h="dxItemIndex",ut="tmpl-",ft="[data-options*='dxItem']",et="dx-item-selected",ot="dx-item-response-wait",st="dx-empty-collection",ht="dx-template-wrapper",ct="dx-state-disabled",lt="dx-state-invisible",at=/^items[\[\.](\d+)[\.\]].(\w+)/,f="up",e="down",c="left",l="right",vt="pageup",yt="pagedown",a="last",v="first",y=d.inherit({_activeStateUnit:"."+u,_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,c),rightArrow:n.proxy(t,this,l),upArrow:n.proxy(t,this,f),downArrow:n.proxy(t,this,e),pageUp:n.proxy(t,this,f),pageDown:n.proxy(t,this,e),home:n.proxy(t,this,v),end:n.proxy(t,this,a)})},_getDefaultOptions:function(){return n.extend(this.callBase(),{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})},_getAnonymousTemplateName: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(ft),i;t.length&&!this.option("items").length&&(i=n.map(t,n.proxy(function(t){var i=n(t),r=w.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=ut+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(t){var i,r;(this.callBase.apply(this,arguments),n.inArray(t.target,this._focusTarget())!==-1)&&(i=this.option("focusedElement"),i&&i.length?this._setFocusedItem(i):(r=this._getActiveItem(),this.option("focusedElement",r)))},_focusOutHandler:function(){this.callBase.apply(this,arguments);var n=this.option("focusedElement");n&&this._toggleFocusClass(!1,n)},_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 vt:case f:i=this._prevItem(t);break;case yt:case e:i=this._nextItem(t);break;case l:i=this.option("rtlEnabled")?this._prevItem(t):this._nextItem(t);break;case c:i=this.option("rtlEnabled")?this._nextItem(t):this._prevItem(t);break;case v:i=t.first();break;case a: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&&(this._toggleFocusClass(!1,n),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());this._toggleFocusClass(!0,n);this.onFocusedItemChanged(this.getFocusedItemId());this._refreshActiveDescendant();this.option("selectOnFocus")&&this._selectFocusedItem(n)}},_findItemElementByIndex:function(t){var i=n();return this.itemElements().each(function(){var r=n(this);if(r.data(h)===t)return i=r,!1}),i},_itemOptionChanged:function(n,t,i){var r=this._findItemElementByIndex(n),u=this._getItemData(r);switch(t){case"visible":this._renderItemVisibleState(r,i);break;case"disabled":this._renderItemDisableState(r,i);break;default:this._renderItem(n,u,null,r)}},_renderItemVisibleState:function(n,t){n.toggleClass(lt,!t)},_renderItemDisableState:function(n,t){n.toggleClass(ct,!!t)},_optionChanged:function(n){if(n.name==="items"){var t=n.fullName.match(at);if(t&&t.length){this._itemOptionChanged(parseInt(t[1],10),t[2],n.value);return}}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 u},_itemContentClass:function(){return this._itemClass()+o},_selectedItemClass:function(){return et},_itemResponseWaitClass:function(){return ot},_itemSelector:function(){return"."+this._itemClass()},_itemDataKey:function(){return rt},_itemIndexKey:function(){return h},_itemElements:function(){return this._itemContainer().find(this._itemSelector())},_render:function(){this.onFocusedItemChanged=this._createActionByOption("onFocusedItemChanged");this.callBase();this.element().addClass(it);this._attachClickEvent();this._attachHoldEvent();this._attachContextMenuEvent()},_attachClickEvent:function(){var t=this._itemSelector(),i=r.addNamespace("dxclick",this.NAME),u=r.addNamespace(g.down,this.NAME),f=this,e=new k(function(n){var t=n.event;f._itemPointerDownHandler(t)});this._itemContainer().off(i,t).off(u,t).on(i,t,n.proxy(function(n){this._itemClickHandler(n)},this)).on(u,t,function(t){e.execute({element:n(t.target),event:t})})},_itemClickHandler:function(n,t,i){this._itemJQueryEventHandler(n,"onItemClick",t,i)},_itemPointerDownHandler:function(t){if(this.option("focusStateEnabled")){var i=n(t.target),r=i.closest(this._itemElements()),u=i.closest(tt.focusable);r.length&&n.inArray(u.get(0),this._focusTarget())!==-1&&this.option("focusedElement",r)}},_attachHoldEvent:function(){var t=this._itemContainer(),i=this._itemSelector(),u=r.addNamespace("dxhold",this.NAME);if(t.off(u,i),this._shouldAttachHoldEvent())t.on(u,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(),u=r.addNamespace("dxcontextmenu",this.NAME);if(t.off(u,i),this._shouldAttachContextMenuEvent())t.on(u,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(t,i,r,u){var f,e,h,o;return r=r||this._itemContainer(),f=this._renderItemFrame(t,i,r,u),this._setElementData(f,i,t),f.attr(this.option("_itemAttributes")),this._attachItemClickEvent(i,f),e=f.find("."+s),e.removeClass(s),h=this._renderItemContent({index:t,itemData:i,container:e,contentClass:this._itemContentClass(),defaultTemplateName:this.option("itemTemplate")}),o=this,n.when(h).done(function(n){o._postprocessRenderItem({itemElement:f,itemContent:n,itemData:i,itemIndex:t});o._executeItemRenderAction(t,i,f)}),f},_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){var i=this._getItemTemplateName(n),r=this._getTemplate(i),t;return(this._addItemContentClasses(n),t=this._createItemByTemplate(r,n),!t.hasClass(ht))?n.container:this._renderItemContentByNode(n,t)},_renderItemContentByNode:function(n,t){return n.container.replaceWith(t),n.container=t,this._addItemContentClasses(n),t},_addItemContentClasses:function(n){var t=[u+o,n.contentClass];n.container.addClass(t.join(" "))},_renderItemFrame:function(n,t,i,r){var f=this.option("templateProvider").getTemplates(this).itemFrame,u=f.render(b.isDefined(t)?t:{},i,n);return r&&r.length?r.replaceWith(u):u.appendTo(i),u},_postprocessRenderItem:n.noop,_executeItemRenderAction:function(n,t,i){this._getItemRenderAction()({itemElement:i,itemIndex:n,itemData:t})},_setElementData:function(n,t,i){n.addClass([u,this._itemClass()].join(" ")).data(this._itemDataKey(),t).data(this._itemIndexKey(),i)},_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=n.itemData,i=n.templateProperty||this.option("itemTemplateProperty"),r=t&&t[i];return r||n.defaultTemplateName},_createItemByTemplate:function(n,t){return n.render(t.itemData,t.container,t.index,"ignoreTarget")},_emptyMessageComtainer:function(){return this._itemContainer()},_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._emptyMessageComtainer()).html(t),this.setAria("label",t));this.element().toggleClass(st,!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:this._itemElements().index(n),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(nt);y.publicName("CollectionWidget");p.CollectionWidget=y}(jQuery,DevExpress),function(n,t,i){var r=t.ui,o=t.require("/ui/ui.errors"),e=t.require("/utils/utils.array"),u=t.require("/utils/utils.common"),f="dxItemDeleting",s=r.CollectionWidget.inherit({_setOptionsByReference:function(){this.callBase();n.extend(this._optionsByReference,{selectedItem:!0})},_getDefaultOptions:function(){return n.extend(this.callBase(),{selectionMode:"none",selectionRequired:!1,selectionByClick:!0,selectedItems:[],selectedIndex:-1,selectedItem:null,onSelectionChanged:null,onItemReordered:null,onItemDeleting:null,onItemDeleted:null})},_init:function(){this._initEditStrategy();this.callBase();this._selectedItemIndices=[];this.option("selectionMode")==="multi"&&this.option("selectionMode","multiple")},_initEditStrategy:function(){var n=r.CollectionWidget.PlainEditStrategy;this._editStrategy=new n(this)},_forgetNextPageLoading:function(){this.callBase();this._selectedItemIndices=this._editStrategy.selectedItemIndices()},_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"));u.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");u.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":u.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 r=this,u=this._selectedItemIndices.slice(),f=this._editStrategy.selectedItemIndices(),t=e.removeDublicates(f,u),i=e.removeDublicates(u,f),o;n.each(i,function(n,t){r._removeSelection(t)});n.each(t,function(n,t){r._addSelection(t)});(i.length||t.length)&&(o=this._selectionChangePromise,this._updateSelection(t,i),n.when(o).done(function(){r._fireSelectionChangeEvent(t,i)}))},_fireSelectionChangeEvent:function(n,t){this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})(this._editStrategy.fetchSelectionDifference(n,t))},_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"))},_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"))},_isItemSelected:function(t){return n.inArray(t,this._selectedItemIndices)>-1},_optionChanged:function(n){if(!this._cancelOptionChange)switch(n.name){case"items":this.callBase(n);this._clearSelectedItems();break;case"selectionMode":n.value==="multi"?this.option("selectionMode","multiple"):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":break;default:this.callBase(n)}},_clearSelectedItems:function(){this._selectedItemIndices=[];this._setOptionSilent("selectedItems",[]);this._syncSelectionOptions("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(t){if(!this._dataSource)return n.Deferred().resolve().promise();var r=n.Deferred(),f=this.option("disabled"),u=this._dataSource.store();if(this.option("disabled",!0),!u.remove)throw o.Error("E1011");return u.remove(u.keyOf(this._getItemData(t))).done(function(n){n!==i?r.resolve():r.reject()}).fail(function(){r.reject()}),r.always(n.proxy(function(){this.option("disabled",f)},this)),r},_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._optionChangedAction({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);var n=i._extendActionArgs(r);i._deleteItemFromDS(r).done(function(){i._editStrategy.deleteItemAtIndex(f);i._simulateOptionChange(o);i._updateSelectionAfterDelete(f);i._itemEventHandler(r,"onItemDeleted",n,{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 o=n.Deferred(),e=this,r=this._editStrategy,s=r.getItemElement(t),c=r.getItemElement(i),u=r.getNormalizedIndex(t),f=r.getNormalizedIndex(i),h=this._dataSource?"dataSource":"items",l=u>-1&&f>-1&&u!==f;return l?o.resolveWith(this):o.rejectWith(this),o.promise().done(function(){c[r.itemPlacementFunc(u,f)](s);var n=r.getSelectedItemsAfterReorderItem(u,f);r.moveItemAtIndexToIndex(u,f);e._selectedItemIndices=r.selectedItemIndices(n);e.option("selectedItems",r.fetchSelectedItems());h==="items"&&e._simulateOptionChange(h);e._itemEventHandler(s,"onItemReordered",{fromIndex:r.getIndex(u),toIndex:r.getIndex(f)},{excludeValidators:["disabled","readOnly"]})})}});r.CollectionWidget=s}(jQuery,DevExpress),function(n,t){var u=t.ui,r=DevExpress.require("/class"),i=r.abstract;u.CollectionWidget.EditStrategy=r.inherit({ctor:function(n){this._collectionWidget=n},getIndexByItemData:i,getItemDataByIndex:i,getNormalizedIndex:function(n){return this._isNormalisedItemIndex(n)?n:this._isItemIndex(n)?this._normalizeItemIndex(n):this._isDOMNode(n)?this._getNormalizedItemIndex(n):this._normalizeItemIndex(this.getIndexByItemData(n))},getIndex:function(n){return this._isNormalisedItemIndex(n)?this._denormalizeItemIndex(n):this._isItemIndex(n)?n:this._isDOMNode(n)?this._denormalizeItemIndex(this._getNormalizedItemIndex(n)):this.getIndexByItemData(n)},getItemElement:function(t){return this._isNormalisedItemIndex(t)?this._getItemByNormalizedIndex(t):this._isItemIndex(t)?this._getItemByNormalizedIndex(this._normalizeItemIndex(t)):this._isDOMNode(t)?n(t):this._getItemByNormalizedIndex(this.getIndexByItemData(t))},deleteItemAtIndex:i,updateSelectionAfterDelete:i,fetchSelectedItems:i,fetchSelectionDifference:function(n,t){return{addedItems:this.fetchSelectedItems(n),removedItems:this.fetchSelectedItems(t)}},selectedItemIndices:i,itemPlacementFunc:function(n,t){return this._itemsFromSameParent(n,t)&&n<t?"after":"before"},moveItemAtIndexToIndex:i,getSelectedItemsAfterReorderItem:function(){return this._collectionWidget.option("selectedItems")},_isNormalisedItemIndex:function(t){return n.isNumeric(t)},_isDOMNode:function(t){var i=n(t);return i.length&&i.get(0).nodeType},_isItemIndex:i,_getNormalizedItemIndex:i,_normalizeItemIndex:i,_denormalizeItemIndex:i,_getItemByNormalizedIndex:i,_itemsFromSameParent:i})}(jQuery,DevExpress),function(n,t){var i=t.ui,u=t.require("/ui/ui.errors"),r=t.require("/utils/utils.array");i.CollectionWidget.PlainEditStrategy=i.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){var r,i,u,f;return t=t||this._collectionWidget._selectedItemIndices,t.sort(function(n,t){return n-t}),r=this._getPlainItems(),i=[],n.each(t,function(n,t){i.push(r[t])}),this._collectionWidget._dataSource&&(u=this._collectionWidget.option("selectedItems"),f=n.grep(u,function(t){return n.inArray(t,r)===-1}),i=i.concat(f)),i},fetchSelectionDifference:function(t,i){var u=this.callBase(t,i);if(this._collectionWidget._dataSource){var f=u.addedItems,e=u.removedItems,o=r.intersection(f,e);n.each(o,function(t,i){var r=n.inArray(i,f),u=n.inArray(i,e);f.splice(r,1);e.splice(u,1)})}return u},selectedItemIndices:function(){var t=[],i=this._getPlainItems(),r=this._collectionWidget.option("selectedItems"),u=this._collectionWidget._dataSource;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 n>-1?this._collectionWidget._itemElements().eq(n):null},_itemsFromSameParent:function(){return!0}})}(jQuery,DevExpress),DevExpress.define("/ui/hierarchicalCollectionWidget/ui.hierarchicalCollectionWidget",["jquery","/devices","/ui/templates/ui.template.function","/utils/utils.icon"],function(n,t,i,r){var u=DevExpress.ui,f=DevExpress.data.utils,e="dx-state-disabled";return u.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{keyExpr:"id",displayExpr:"text",selectedExpr:"selected",disabledExpr:"disabled",itemsExpr:"items",hoverStateEnabled:!0,parentIdExpr:"parentId",expandedExpr:"expanded"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.real().generic&&!t.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase();this._initAccessors();this._initDataAdapter();this._initDynamicTemplates()},_initDataAdapter:function(){var t=this._createDataAdapterAccessors();this._dataAdapter=new u.HierarchicalDataAdapter(n.extend({dataAccessors:{getters:t.getters,setters:t.setters},items:this.option("items")},this._getDataAdapterOptions()))},_getDataAdapterOptions:n.noop,_initDynamicTemplates:function(){if(!this._useCustomExpressions()){delete this._dynamicTemplates.item;return}this._dynamicTemplates.item=new i(n.proxy(function(t){return n("<div>").append(this._getIconContainer(t)).append(this._getTextContainer(t)).append(this._getPopoutContainer(t))},this))},_useCustomExpressions:function(){return this.option("displayExpr")!=="text"&&this.option("displayExpr")!=="html"},_getIconContainer:function(n){var t=n.icon||n.iconSrc;return t?r.getImageContainer(t):undefined},_getTextContainer:function(t){return n("<span>").text(this._displayGetter(t))},_getPopoutContainer:n.noop,_initAccessors:function(){var t=this;n.each(this._getAccessors(),function(n,i){t._compileAccessor(i)})},_getAccessors:function(){return["key","display","selected","items","disabled","parentId","expanded"]},_getChildNodes:function(t){var r=this,i=[];return n.each(t.internalFields.childrenKeys,function(n,t){var u=r._dataAdapter.getNodeByKey(t);i.push(u)}),i},_hasChildren:function(n){return n&&n.internalFields.childrenKeys.length},_compileAccessor:function(t){var r="_"+t+"Getter",u="_"+t+"Setter",i=this.option(t+"Expr");if(n.isFunction(i)){this[u]=function(n,t){n[i()]=t};this[r]=function(n){return n[i()]};return}this[r]=f.compileGetter(i);this[u]=f.compileSetter(i)},_createDataAdapterAccessors:function(){var i=this,t={getters:{},setters:{}};return n.each(this._getAccessors(),function(n,r){var f="_"+r+"Getter",e="_"+r+"Setter",u=r==="parentId"?"parentKey":r;t.getters[u]=i[f];t.setters[u]=i[e]}),t},_render:function(){this.callBase();this._focusTarget().addClass(this._widgetClass())},_widgetClass:n.noop,_renderItemFrame:function(n,t){var i=this.callBase.apply(this,arguments);return i.toggleClass(e,!!this._disabledGetter(t)),i},_optionChanged:function(n){switch(n.name){case"displayExpr":case"keyExpr":this._dynamicTemplates.item||this._initDynamicTemplates();this._initAccessors();this.repaint();break;case"itemsExpr":case"selectedExpr":case"disabledExpr":case"expandedExpr":case"parentIdExpr":this._initAccessors();this._initDataAdapter();this.repaint();break;case"items":this._initDataAdapter();this.callBase(n);break;default:this.callBase(n)}}})}),function(n,t,i){var f=t.ui,e=t.data,o=t.require("/class"),s=t.require("/utils/utils.common"),u="expanded",r="selected",h=o.inherit({ctor:function(t){this.options={};n.extend(this.options,this._defaultOptions(),t);this.options.dataConverter.setDataAccessors(this.options.dataAccessors);this._selectedNodesKeys=[];this._expandedNodesKeys=[];this._dataStructure=[];this._createInternalDataStructure();this.getTreeNodes()},_defaultOptions:function(){return{dataAccessors:i,items:[],multipleSelection:!0,recursiveSelection:!1,recursiveExpansion:!1,rootValue:0,searchValue:"",dataType:"tree",dataConverter:new f.HierarchicalDataConverter}},_createInternalDataStructure:function(){this._initialDataStructure=this.options.dataConverter.createPlainStructure(this.options.items,this.options.rootValue,this.options.dataType);this._dataStructure=this.options.searchValue.length?this.search(this.options.searchValue):this._initialDataStructure;this.options.dataConverter._dataStructure=this._dataStructure;this._updateSelection();this._updateExpansion()},_updateSelection:function(){this.options.recursiveSelection&&(this._setChildrenSelection(),this._setParentSelection());this._selectedNodesKeys=this._updateNodesKeysArray(r)},_updateExpansion:function(n){this.options.recursiveExpansion&&(n?this._updateOneBranch(n):this._setParentExpansion());this._expandedNodesKeys=this._updateNodesKeysArray(u)},_updateNodesKeysArray:function(t){var r=this,i=[];return n.each(this._dataStructure,function(n,f){r._isNodeVisible(f)&&(!f.internalFields[t]||(t===u||r.options.multipleSelection?i.push(f.internalFields.key):i=[f.internalFields.key]))}),i},_isNodeVisible:function(n){return n.internalFields.item.visible!==!1},_getByKey:function(n,t){return n===this._dataStructure?this.options.dataConverter._getByKey(t):this.options.dataConverter.getByKey(n,t)},_setChildrenSelection:function(){var t=this;n.each(this._dataStructure,function(n,i){if(i.internalFields.childrenKeys.length){var r=i.internalFields.selected;r===!0&&t._toggleChildrenSelection(i,r)}})},_setParentSelection:function(){for(var f=this._dataStructure.length,n,t,u,i=f-1;i>=0;i--)n=this._dataStructure[i],t=this.options.dataConverter._getByKey(n.internalFields.parentKey),n.internalFields.parentKey!==this.options.rootValue&&(u=this._calculateSelectedState(t),this._setFieldState(t,u,r))},_setParentExpansion:function(){var t=this;n.each(this._dataStructure,function(n,i){i.internalFields.expanded&&t._updateOneBranch(i.internalFields.key)})},_updateOneBranch:function(n){var t=this,i=this.getNodeByKey(n);t._iterateParents(i,function(n){t._setFieldState(n,!0,u)})},_iterateChildren:function(t,i,r){var u=this;n.each(t.internalFields.childrenKeys,function(t,f){var e=u.options.dataConverter._getByKey(f);n.isFunction(r)&&r(e);e.internalFields.childrenKeys.length&&i&&u._iterateChildren(e,i,r)})},_iterateParents:function(t,i){if(t.internalFields.parentKey!==this.options.rootValue){var r=this.options.dataConverter._getByKey(t.internalFields.parentKey);n.isFunction(i)&&i(r);r.internalFields.parentKey!==this.options.rootValue&&this._iterateParents(r,i)}},_calculateSelectedState:function(n){for(var u=n.internalFields.childrenKeys.length,t=0,f=0,e=!1,r=0;r<=u-1;r++){var o=this.options.dataConverter._getByKey(n.internalFields.childrenKeys[r]),h=o.internalFields.item.visible===!1,s=o.internalFields.selected;if(h){f++;continue}s?t++:s===i&&(t+=.5)}return t&&(e=t===u-f?!0:i),e},_toggleChildrenSelection:function(n,t){var i=this;this._iterateChildren(n,!0,function(n){i._isNodeVisible(n)&&i._setFieldState(n,t,r)})},_setFieldState:function(n,t,i){n.internalFields[i]!==t&&(n.internalFields[i]=t,n.internalFields.publicNode&&(n.internalFields.publicNode[i]=t),this.options.dataAccessors.setters[i](n.internalFields.item,t))},_markChildren:function(t){var i=this;n.each(t,function(n,t){var u=i.getIndexByKey(t),r=i.getNodeByKey(t);i._dataStructure[u]=0;r.internalFields.childrenKeys.length&&i._markChildren(r.internalFields.childrenKeys)})},_removeNode:function(t){var r=this.getNodeByKey(t);this._dataStructure[this.getIndexByKey(t)]=0;this._markChildren(r.internalFields.childrenKeys);var u=this,i=0,f=n.extend([],this._dataStructure);n.each(f,function(n,t){t||(u._dataStructure.splice(n-i,1),i++)})},_addNode:function(n){var t=this.options.dataConverter,i=t._convertItemToNode(n,this.options.dataAccessors.getters.parentKey(n));this._dataStructure=this._dataStructure.concat(i);this._initialDataStructure=this._initialDataStructure.concat(i);t._dataStructure=t._dataStructure.concat(i)},_updateFields:function(){this.options.dataConverter.updateChildrenKeys();this._updateSelection();this._updateExpansion()},getSelectedNodesKeys:function(){return this._selectedNodesKeys},getExpandedNodesKeys:function(){return this._expandedNodesKeys},getData:function(){return this._dataStructure},getNodeByItem:function(t){var i=null;return n.each(this._dataStructure,function(n,r){if(r.internalFields.item===t)return i=r,!1}),i},getNodeByKey:function(n){return this._getByKey(this._dataStructure,n)},getTreeNodes:function(){return this.options.dataConverter.convertToPublicNodes(this.getRootNodes())},getItemsCount:function(){return this.options.dataConverter.getItemsCount()},getVisibleItemsCount:function(){return this.options.dataConverter.getVisibleItemsCount()},getPublicNode:function(n){return n.internalFields.publicNode},getRootNodes:function(){return this.getChildrenNodes(this.options.rootValue)},getChildrenNodes:function(n){return e.query(this._dataStructure).filter(["internalFields.parentKey",n]).toArray()},getIndexByKey:function(n){return this.options.dataConverter.getIndexByKey(n)},addItem:function(n){this._addNode(n);this._updateFields()},removeItem:function(n){this._removeNode(n);this._updateFields()},toggleSelection:function(n,t,i){var u=this._getByKey(this._dataStructure,n);this._setFieldState(u,t,r);this.options.recursiveSelection&&!i&&(t?this._setChildrenSelection():this._toggleChildrenSelection(u,t),this._setParentSelection());this._selectedNodesKeys=this._updateNodesKeysArray(r)},toggleSelectAll:function(t){if(s.isDefined(t)){var i=this;n.each(this._dataStructure,function(n,u){i._isNodeVisible(u)&&(i._setFieldState(u,t,r),i._selectedNodesKeys=i._updateNodesKeysArray(r))})}},isAllSelected:function(){return this.getSelectedNodesKeys().length?this.getSelectedNodesKeys().length===this.getVisibleItemsCount()?!0:i:!1},toggleExpansion:function(n,t){var i=this._getByKey(this._dataStructure,n);this._setFieldState(i,t,u);t&&this._updateExpansion(n);this._expandedNodesKeys=this._updateNodesKeysArray(u)},_filterDataStructure:function(n){for(var r=[],u,i=this._initialDataStructure,f=new RegExp(n,"i"),t=0,e=i.length;t<e;t++)u=this.options.dataAccessors.getters.display(i[t]),f.test(u)&&r.push(i[t]);return r},search:function(t){function f(t,r){for(var h=t.length,s,o;r<h;){if(s=t[r].internalFields.parentKey,s===e.options.rootValue){r++;continue}if(o=i._getByKey(s),o.internalFields.expanded||e._setFieldState(o,!0,u),n.inArray(o,t)>-1){r++;continue}t.splice(r,0,o);f(t,r)}}var e=this,r=this._filterDataStructure(t),i=this.options.dataConverter;return f(r,0),i._indexByKey={},n.each(r,function(n,t){t.internalFields.childrenKeys=[];i._indexByKey[t.internalFields.key]=n}),i._dataStructure=r,i.setChildrenKeys(),i._dataStructure}});t.ui.HierarchicalDataAdapter=h}(jQuery,DevExpress),function(n,t,i){var u=t.require("/class"),r=t.require("/utils/utils.common"),f=u.inherit({ctor:function(){this._dataStructure=[];this._itemsCount=0;this._visibleItemsCount=0},_indexByKey:{},_convertItemsToNodes:function(t,i){var u=this;n.each(t,function(n,t){var e=r.isDefined(i)?i:u._getParentId(t),f=u._convertItemToNode(t,e);u._dataStructure.push(f);u._indexByKey[f.internalFields.key]=u._dataStructure.length-1;u._itemHasChildren(t)&&u._convertItemsToNodes(u._dataAccessors.getters.items(t),f.internalFields.key)})},_getParentId:function(n){return this._dataType==="plain"?this._dataAccessors.getters.parentKey(n):i},_itemHasChildren:function(n){var t=this._dataAccessors.getters.items(n);return t&&t.length},_convertItemToNode:function(t,i){this._itemsCount++;t.visible!==!1&&this._visibleItemsCount++;var u=this,f={internalFields:{disabled:u._dataAccessors.getters.disabled(t)||!1,expanded:u._dataAccessors.getters.expanded(t)||!1,selected:u._dataAccessors.getters.selected(t)||!1,key:r.isDefined(u._dataAccessors.getters.key(t))?u._dataAccessors.getters.key(t):u.getItemsCount(),parentKey:r.isDefined(i)?i:u._rootValue,item:u._makeObjectFromPrimitive(t),childrenKeys:[]}};return n.extend(!0,f,t),delete f.items,f},setChildrenKeys:function(){var t=this;n.each(this._dataStructure,function(n,i){if(i.internalFields.parentKey!==t._rootValue){var r=t._getByKey(i.internalFields.parentKey);r.internalFields.childrenKeys.push(i.internalFields.key)}})},_makeObjectFromPrimitive:function(n){if(r.isPrimitive(n)){var t=n;n={};this._dataAccessors.setters.key(n,t)}return n},_convertToPublicNode:function(n,t){if(!n)return null;var i={text:this._dataAccessors.getters.display(n),key:n.internalFields.key,selected:n.internalFields.selected,expanded:n.internalFields.expanded,disabled:n.internalFields.disabled,parent:t||null,itemData:n.internalFields.item,children:[],items:[]};return i.parent&&(i.parent.children.push(i),i.parent.items.push(i)),i},convertToPublicNodes:function(t,i){if(!t.length)return[];var u=this,f=[];return n.each(t,function(n,t){t=r.isPrimitive(t)?u._getByKey(t):t;var e=u._convertToPublicNode(t,i);e.children=u.convertToPublicNodes(t.internalFields.childrenKeys,e);f.push(e);t.internalFields.publicNode=e}),f},setDataAccessors:function(n){this._dataAccessors=n},_getByKey:function(n){return this._dataStructure[this.getIndexByKey(n)]||null},getByKey:function(t,i){var r=null,u=this,f=function(t,i){return n.each(t,function(n,t){var o=t.internalFields&&t.internalFields.key||u._dataAccessors.getters.key(t),e=u._dataAccessors.getters.items(t);if(o===i)return r=t,!1;e&&f(e,i)}),r};return f(t,i)},getItemsCount:function(){return this._itemsCount},getVisibleItemsCount:function(){return this._visibleItemsCount},updateIndexByKey:function(){var t=this;this._indexByKey={};n.each(this._dataStructure,function(n,i){t._indexByKey[i.internalFields.key]=n})},updateChildrenKeys:function(){this._indexByKey={};this.removeChildrenKeys();this.updateIndexByKey();this.setChildrenKeys()},removeChildrenKeys:function(){this._indexByKey={};n.each(this._dataStructure,function(n,t){t.internalFields.childrenKeys=[]})},getIndexByKey:function(n){return this._indexByKey[n]},createPlainStructure:function(n,t,i){return this._itemsCount=0,this._visibleItemsCount=0,this._rootValue=t,this._dataType=i,this._indexByKey={},this._convertItemsToNodes(n),this.setChildrenKeys(),this._dataStructure}});t.ui.HierarchicalDataConverter=f}(jQuery,DevExpress),DevExpress.define("/ui/ui.tooltip",["jquery","/utils/utils.viewPort"],function(n,t){var i=null,u=function(i){i=n.extend({position:"top"},i);var r=i.content;return delete i.content,n("<div />").html(r).appendTo(t.value()).dxTooltip(i)},r=function(){i&&(i.remove(),i=null)};return{show:function(n){return r(),i=u(n),i.dxTooltip("show")},hide:function(){return i?i.dxTooltip("hide").done(r).promise():n.when()}}}),DevExpress.define("/ui/ui.loading",["jquery","/utils/utils.viewPort"],function(n,t){var i=null,u=function(i){return n("<div>").appendTo(i&&i.container||t.value()).dxLoadPanel(i)},r=function(){i&&(i.remove(),i=null)};return{show:function(n){return r(),i=u(n),i.dxLoadPanel("show")},hide:function(){return!i||!i.length?n.when():i.dxLoadPanel("hide").done(r).promise()}}}),DevExpress.MOD_CORE=!0),!window.DevExpress||!DevExpress.MOD_WIDGETS_BASE){if(!window.DevExpress||!DevExpress.MOD_CORE)throw Error("Required module is not referenced: core");(function(n,t,i){var h=t.ui,c=t.require("/utils/utils.support"),w=t.require("/utils/utils.browser"),o=t.require("/utils/utils.common"),l=t.require("/devices"),b=t.require("/componentRegistrator"),k=t.require("/domComponent"),d=t.require("/integration/jquery/jquery.selectors"),e=t.require("/ui/events/ui.events.utils"),s=t.require("/ui/events/ui.events.emitter.scroll"),u="dxScrollable",g="dxScrollableStrategy",v="dx-scrollable",nt="dx-scrollable-disabled",tt="dx-scrollable-container",y="dx-scrollable-content",r="vertical",f="horizontal",a="both",p=function(){return[{device:function(){return!c.nativeScrolling},options:{useNative:!1}},{device:function(n){return!c.nativeScrolling&&!l.isSimulator()&&l.real().platform==="generic"&&n.platform==="generic"},options:{bounceEnabled:!1,scrollByThumb:!0,scrollByContent:c.touch,showScrollbar:"onHover"}}]};b(u,h,k.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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(p(),[{device:function(){return c.nativeScrolling&&l.real().platform==="android"},options:{useSimulatedScrollbar:!0}},{device:function(){return l.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),delete this._savedScrollOffset):this._savedScrollOffset=this.scrollOffset())},_initMarkup:function(){var t=this.element().addClass(v),i=this._$container=n("<div>").addClass(tt),r=this._$content=n("<div>").addClass(y);t.on(e.addNamespace("beforeactivate",u),function(t){n(t.target).is(d.focusable)||t.preventDefault()});r.append(t.contents()).appendTo(i);i.appendTo(t)},_dimensionChanged:function(){this.update()},_attachNativeScrollbarsCustomizationCss:function(){navigator.platform.indexOf("Mac")>-1&&w.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");(n||this._lastPushBackValue)&&(this._$content.css({paddingTop:n,paddingBottom:n}),this._lastPushBackValue=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(s.init,u),i,n.proxy(this._initHandler,this)).on(e.addNamespace(s.start,u),n.proxy(t.handleStart,t)).on(e.addNamespace(s.move,u),n.proxy(t.handleMove,t)).on(e.addNamespace(s.end,u),n.proxy(t.handleEnd,t)).on(e.addNamespace(s.cancel,u),n.proxy(t.handleCancel,t)).on(e.addNamespace(s.stop,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(nt,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-"+a).addClass("dx-scrollable-"+this.option("direction"))},_renderStrategy:function(){this._createStrategy();this._strategy.render();this.element().data(g,this._strategy)},_createStrategy:function(){this._strategy=this.option("useNative")?new h.dxScrollable.NativeStrategy(this):new h.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 u,e,s;return n.isPlainObject(t)?(u=o.ensureDefined(t.left,t.x),e=o.ensureDefined(t.top,t.y),{left:o.isDefined(u)?-u:i,top:o.isDefined(e)?-e:i}):(s=this.option("direction"),{left:s!==r?-t:i,top:s!==f?-t:i})},_isLocked:function(){return this._locked},_lock:function(){this._locked=!0},_unlock:function(){this.option("disabled")||(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(a)&&n.vertical&&n.horizontal?a:this._isDirection(f)&&n.horizontal?f:this._isDirection(r)&&n.vertical?r:null},_allowedDirection:function(){return this._allowedDirectionValue},_container:function(){return this._$container},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().outerHeight()-2*this.option("pushBackValue")},clientWidth:function(){return this._$container.width()},scrollWidth:function(){return this.content().outerWidth()},update:function(){return this._strategy.update(),this._updateAllowedDirection(),n.when().promise()},scrollBy:function(n){(n=this._normalizeLocation(n),n.top||n.left)&&(this.update(),this._strategy.scrollBy(n))},scrollTo:function(n){n=this._normalizeLocation(n);this.update();var t=this._location(),i=this._normalizeLocation({left:t.left-o.ensureDefined(n.left,t.left),top:t.top-o.ensureDefined(n.top,t.top)});(i.top||i.left)&&this._strategy.scrollBy(i)},scrollToElement:function(t,i){var u,o;i=i||{};var e=n(t),s=this.content().find(t).length,h=e.parents("."+v).length-e.parents("."+y).length==0;s&&h&&(u={top:0,left:0},o=this.option("direction"),o!==r&&(u.left=this._scrollToElementPosition(e,f,i)),o!==f&&(u.top=this._scrollToElementPosition(e,r,i)),this.scrollTo(u))},_scrollToElementPosition:function(n,t,i){var u=t===r,h=(u?i.top:i.left)||0,c=(u?i.bottom:i.right)||0,l=u?this.option("pushBackValue"):0,a=this._elementPositionRelativeToContent(n,u?"top":"left"),s=a-l,v=n[u?"outerHeight":"outerWidth"](),f=u?this.scrollTop():this.scrollLeft(),y=u?this.clientHeight():this.clientWidth(),e=f-s+h,o=f-s-v+y-c;return e<=0&&o>=0?f:f-(Math.abs(e)>Math.abs(o)?o:e)},_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)}}));h.dxScrollable.deviceDependentOptions=p})(jQuery,DevExpress),function(n,t){var c=t.ui,l=t.require("/utils/utils.translator"),a=t.require("/componentRegistrator"),v=t.require("/ui/ui.widget"),f=t.require("/ui/events/ui.events.utils"),e=t.require("/ui/events/pointer/ui.events.pointer"),u="dxScrollbar",o="dx-scrollable-scrollbar",s=o+"-active",y="dx-scrollable-scroll",p="dx-scrollable-scroll-content",w="dx-scrollbar-hoverable",h="horizontal",b=15,i={onScroll:"onScroll",onHover:"onHover",always:"always",never:"never"},r;a(u,c.dxScrollable,v.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{direction:null,visible:!1,activeStateEnabled:!1,visibilityMode:i.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(w,this.option("hoverStateEnabled"))},_renderThumb:function(){this._$thumb=n("<div>").addClass(y);n("<div>").addClass(p).appendTo(this._$thumb);this.element().addClass(o).append(this._$thumb)},isThumb:function(n){return!!this.element().find(n).length},_isHoverMode:function(){var n=this.option("visibilityMode");return(n===i.onHover||n===i.always)&&this.option("expandable")},_renderDirection:function(){var n=this.option("direction");this.element().addClass("dx-scrollbar-"+n);this._dimension=n===h?"width":"height";this._prop=n===h?"left":"top"},_attachPointerDownHandler:function(){this._$thumb.on(f.addNamespace(e.down,u),n.proxy(this.feedbackOn,this))},feedbackOn:function(){this.element().addClass(s);r=this},feedbackOff:function(){this.element().removeClass(s);r=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")===i.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 i.onHover:n=n||!!this._isHovered;break;case i.never:n=!1;break;case i.always:n=!0}return n},moveTo:function(t){if(!this._isHidden()){n.isPlainObject(t)&&(t=t[this._prop]||0);var i={};i[this._prop]=this._calculateScrollBarPosition(t);l.move(this._$thumb,i)}},_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),b));this._thumbRatio=(n-t)/(i-n);this.option(this._dimension,t);this.element().toggle(this._needScrollbar())},_isHidden:function(){return this.option("visibilityMode")===i.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===r&&(r=null);this._$thumb.off("."+u)},_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)}}));r=null;n(document).on(f.addNamespace(e.up,u),function(){r&&r.feedbackOff()})}(jQuery,DevExpress),function(n,t,i){var o=t.ui,s=t.require("/devices"),h=DevExpress.require("/class"),e="dxNativeScrollable",f="dx-scrollable-native",c="dx-scrollable-scrollbar-simulated",l="dx-scrollable-scrollbars-hidden",r="vertical",u="horizontal",a=500;o.dxScrollable.NativeStrategy=h.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(l,!this._showScrollbar);this._showScrollbar&&this._useSimulatedScrollbar&&this._renderScrollbars()},_renderScrollbars:function(){this._scrollbars={};this._hideScrollbarTimeout=0;this._$element.addClass(c);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:function(){this._disablePushBack=!0},handleMove:function(n){if(this._isLocked()){n.cancel=!0;return}this._allowedDirection()&&(n.originalEvent.isScrollingEvent=!0)},handleEnd:function(){this._disablePushBack=!1},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&&!this._disablePushBack){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),a)},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 b=t.ui,e=Math,et=t.require("/utils/utils.inflector").titleize,v=t.require("/utils/utils.translator"),k=t.require("/class"),ot=t.require("/animator"),st=t.require("/devices"),h=t.require("/ui/events/ui.events.utils"),ht=t.require("/ui/events/pointer/ui.events.pointer"),d=st.real,g=d.platform==="win"||d.platform==="android",nt="dxSimulatedScrollable",y="dxScrollableStrategy",c=nt+"Cursor",p=nt+"Keyboard",w="dx-scrollable-simulated",ct="dx-scrollable-scrollbars-hidden",lt="dx-scrollable-scrollbars-alwaysvisible",at="dx-scrollable-scrollbar",u="vertical",r="horizontal",l=g?.95:.92,tt=.5,it=1,vt=e.round(1e3/60),rt=20,yt=it/5,pt=g?300:400,wt=pt/vt,bt=(1-e.pow(l,wt))/(1-l),o={PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40},ut=function(){var r=n.Callbacks(),f=50,i=null,t,u;n(window).on(h.addNamespace("focus",y),function(){i=n.now()});n(document).on(h.addNamespace(ht.down,y),function(){i=n.now()});return t=function(t){var u=n.now()-i>f,e=t.target===document.activeElement;u&&e&&r.fire(t.target)},window.addEventListener?(u="onactivate"in document,u?window.addEventListener("activate",t,!0):window.addEventListener("focus",t,!0)):window.attachEvent("onfocusin",t),r}(),ft=ot.inherit({ctor:function(n){this.callBase();this.scroller=n},VELOCITY_LIMIT:it,_isFinished:function(){return e.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:tt},_complete:function(){this.scroller._scrollComplete()},_stop:function(){this.scroller._stopComplete()}}),kt=ft.inherit({VELOCITY_LIMIT:yt,_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"},dt=b.dxScrollable.Scroller=k.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";this._pushBackCorrection=t.direction===u?t.pushBackValue*2:0;n.each(t,n.proxy(function(n,t){this["_"+n]=t},this))},_initAnimators:function(){this._inertiaAnimator=new ft(this);this._bounceAnimator=new kt(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(n){var t=this._location;(this._location+=n,this._suppressBounce(),this._move(),Math.abs(t-this._location)<1)||(this._scrollAction(),this._$container.triggerHandler({type:"scroll",simulated:!0}))},_suppressBounce:function(){this._bounceEnabled||this._inBounds(this._location)||(this._velocity=0,this._location=this._boundLocation())},_boundLocation:function(n){return n=n!==i?n:this._location,e.max(e.min(n,this._maxOffset),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;v.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=e.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/bt},_inBounds:function(n){return n=n!==i?n:this._location,this._boundLocation(n)===n},_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._crossThumbScrolling=!this._thumbScrolling&&this._isAnyThumbScrolling(i);this._thumbScrolling&&this._scrollbar.feedbackOn()}},_isThumbScrollingHandler:function(n){return this._isThumb(n)},_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){this._crossThumbScrolling||(this._thumbScrolling&&(n[this._axis]=-n[this._axis]/this._containerToContentRatio()),this._scrollBy(n))},_scrollBy:function(n){n=n[this._axis];this._inBounds()||(n*=tt);this._scrollStep(n)},_scrollByHandler:function(n){this._scrollBy(n);this._scrollComplete()},_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;this._crossThumbScrolling=!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=v.locate(this._$content)[this._prop]},_updateBounds:function(){this._maxOffset=this._getMaxOffset();this._minOffset=this._getMinOffset()},_getMaxOffset:function(){return 0},_getMinOffset:function(){return e.min(this._containerSize()-this._contentSize(),0)},_updateScrollbar:function(){this._scrollbar.option({containerSize:this._containerSize(),contentSize:this._contentSize()})},_moveToBounds:function(){var n=this._boundLocation(),t=n!==this._location;this._location=n;this._move();t&&this._scrollAction()},_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(){var i=this._$content.css("overflow-"+this._axis)==="hidden",n=this._$content[this._dimension](),t;return i||(t=this._$content[0]["scroll"+et(this._dimension)],n=e.max(t-this._pushBackCorrection,n)),n},_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;b.dxScrollable.SimulatedStrategy=k.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);ut.add(this._proxiedActiveElementChangeHandler)},_activeElementChangeHandler:function(n){this._component.scrollToElement(n)},render:function(){this._$element.addClass(w);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(lt,this.option("showScrollbar")==="always");this._$element.toggleClass(ct,!this.option("showScrollbar"))},_createScroller:function(n){this._scrollers[n]=new dt(this._scrollerOptions(n))},_scrollerOptions:function(t){return{direction:t,$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"),isAnyThumbScrolling:n.proxy(this._isAnyThumbScrolling,this),pushBackValue:this.option("pushBackValue")}},_isAnyThumbScrolling:function(n){var t=!1;return this._eventHandler("isThumbScrolling",n).done(function(n,i){t=n||i}),t},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(n){this._eventForUserAction=n;this._eventHandler("start").done(this._startAction)},_saveActive:function(){s=this},_resetActive:function(){s===this&&(s=null)},handleMove:function(n){if(this._isLocked()){n.cancel=!0;this._resetActive();return}this._saveActive();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(n){if(!n.simulated){var t={left:this.option("direction")!==u?-this._$container.scrollLeft():0,top:this.option("direction")!==r?-this._$container.scrollTop():0};(t.left||t.top)&&(this._$container.scrollLeft(0),this._$container.scrollTop(0),this.scrollBy(t))}},_attachKeyboardHandler:function(){if(this._$element.off("."+p),!this.option("disabled")&&this.option("useKeyboard"))this._$element.on(h.addNamespace("keydown",p),n.proxy(this._keyDownHandler,this))},_keyDownHandler:function(n){if(this._$container.is(document.activeElement)){var t=!0;switch(n.keyCode){case o.DOWN:this._scrollByLine({y:1});break;case o.UP:this._scrollByLine({y:-1});break;case o.RIGHT:this._scrollByLine({x:1});break;case o.LEFT:this._scrollByLine({x:-1});break;case o.PAGE_DOWN:this._scrollByPage(1);break;case o.PAGE_UP:this._scrollByPage(-1);break;case o.HOME:this._scrollToHome();break;case o.END:this._scrollToEnd();break;default:t=!1}t&&(n.stopPropagation(),n.preventDefault())}},_scrollByLine:function(n){this.scrollBy({top:(n.y||0)*-rt,left:(n.x||0)*-rt})},_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 v.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("."+w+":not(.dx-state-disabled)"),i=r.length&&r.data(y);f&&f!==i&&f._cursorLeaveHandler();i&&i._cursorEnterHandler()}},update:function(){var t=this._eventHandler("update").done(this._updateAction),n=this._allowedDirections(),i=n.vertical||n.horizontal;return this._$container.css("touchAction",i?"none":""),t},_allowedDirections:function(){var n=this.option("bounceEnabled"),t=this._scrollers[u],i=this._scrollers[r];return{vertical:t&&(t._minOffset<0||n),horizontal:i&&(i._minOffset<0||n)}},scrollBy:function(n){var t=this._scrollers[u],i=this._scrollers[r];t&&(n.top=t._boundLocation(n.top+t._location)-t._location);i&&(n.left=i._boundLocation(n.left+i._location)-i._location);this._prepareDirections(!0);this._startAction();this._eventHandler("scrollBy",{x:n.left,y:n.top});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(n)],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("."+at).length?!1:this._allowedDirection()},getDirection:function(n){return a(n)?this._wheelDirection(n):this._allowedDirection()},_wheelProp:function(){return this._wheelDirection()===r?"left":"top"},_wheelDirection:function(n){switch(this.option("direction")){case r:return r;case u:return u;default:return n&&n.shiftKey?r:u}},dispose:function(){ut.remove(this._proxiedActiveElementChangeHandler);this._resetActive();f===this&&(f=null);this._eventHandler("dispose");this._detachEventHandlers();this._$element.removeClass(w);this._eventForUserAction=null;clearTimeout(this._gestureEndTimer)},_detachEventHandlers:function(){this._$element.off("."+c);this._$container.off("."+p)}})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,e=t.require("/devices"),o=t.require("/componentRegistrator"),r="dx-scrollview",s=r+"-content",h=r+"-top-pocket",c=r+"-bottom-pocket",l=r+"-pull-down",f=r+"-scrollbottom",a=f+"-indicator",v=f+"-text",y=r+"-loadpanel";o("dxScrollView",u,u.dxScrollable.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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 n=e.real();return n.platform==="android"},options:{refreshStrategy:"swipeDown"}},{device:function(){return e.real().platform==="win"},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(s);this._$content.wrapInner(t)},_initTopPocket:function(){var t=this._$topPocket=n("<div>").addClass(h),i=this._$pullDown=n("<div>").addClass(l);t.append(i);this._$content.prepend(t)},_initBottomPocket:function(){var t=this._$bottomPocket=n("<div>").addClass(c),i=this._$reachBottom=n("<div>").addClass(f),r=n("<div>").addClass(a),u=n("<div>").dxLoadIndicator(),e=this._$reachBottomText=n("<div>").addClass(v);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(y).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 e=t.ui,o=t.require("/utils/utils.translator"),s="dx-scrollview-pull-down-loading",u="dx-scrollview-pull-down-ready",c="dx-scrollview-pull-down-image",l="dx-scrollview-pull-down-indicator",a="dx-scrollview-pull-down-text",f=0,i=1,r=2,h=3,v=e.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=f;this._refreshPullDownText()},_pushBackFromBoundary:function(){this._isLocked()||this._component.isEmpty()||this.callBase()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===f?1:0);this._$pulledDownText.css("opacity",this._state===i?1:0);this._$refreshingText.css("opacity",this._state===r?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.callBase();this._complete()},handleStop:function(){this.callBase();this._complete()},_complete:function(){this._state===i&&(this._setPullDownOffset(this._topPocketSize),clearTimeout(this._pullDownRefreshTimeout),this._pullDownRefreshTimeout=setTimeout(n.proxy(function(){this._pullDownRefreshing()},this),400))},_setPullDownOffset:function(n){o.move(this._$topPocket,{top:n});o.move(this._$scrollViewContent,{top:n})},handleScroll:function(n){(this.callBase(n),this._state!==r)&&(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!==i&&(this._state=i,this._$pullDown.addClass(u),this._refreshPullDownText())},_stateReleased:function(){this._state!==f&&(this._$pullDown.removeClass(s).removeClass(u),this._releaseState())},_pullDownRefreshing:function(){this._state!==r&&(this._state=r,this._$pullDown.addClass(s).removeClass(u),this._refreshPullDownText(),this.pullDownCallbacks.fire())},pullDownEnable:function(n){n&&(this._updateDimensions(),this._setTopPocketOffset());this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n},pendingRelease:function(){this._state=i},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()}});e.dxScrollView.refreshStrategies.pullDown=v}(jQuery,DevExpress),function(n,t){var f=t.ui,e=t.require("/utils/utils.translator"),o=t.require("/ui/events/ui.events.utils"),s="dx-scrollview-pull-down-loading",c="dx-scrollview-pull-down-indicator",l="dx-scrollview-pull-down-refreshing",a="dx-icon-pulldown",r=0,v=1,h=2,u=4,i=5,y=f.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=r;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===r&&this._location===0&&(this._startClientY=o.eventData(n.originalEvent).y,this._state=u)},handleMove:function(n){this.callBase(n);this._deltaY=o.eventData(n.originalEvent).y-this._startClientY;this._state===u&&(this._pullDownEnabled&&this._deltaY>0?this._state=i:this._complete());this._state===i&&(n.preventDefault(),this._movePullDown())},_movePullDown:function(){var n=this._getPullDownHeight(),t=Math.min(n*3,this._deltaY+this._getPullDownStartPosition()),i=180*t/n/3;this._$pullDown.css({opacity:1}).toggleClass(l,t<n);e.move(this._$pullDown,{top:t});this._$icon.css({transform:"rotate("+i+"deg)"})},_isPullDown:function(){return this._pullDownEnabled&&this._state===i&&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===u||this._state===i)&&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!==r&&(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);e.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()}});f.dxScrollView.refreshStrategies.swipeDown=y}(jQuery,DevExpress),function(n,t){var r=t.ui,i=0,f=1,u=2,e=80,o=r.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!==i&&(this._state=i)},_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+e},_reachBottom:function(){this._state!==u&&(this._state=u,this.reachBottomCallbacks.fire())},pullDownEnable:function(n){this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n;this._$bottomPocket.toggle(n)},pendingRelease:function(){this._state=f},release:function(){var t=n.Deferred();return this._state=i,this.releaseCallbacks.fire(),this.update(),t.resolve().promise()}});r.dxScrollView.refreshStrategies.slideDown=o}(jQuery,DevExpress),function(n,t){var u=t.ui,h=t.require("/utils/utils.common"),c=Math,s="dx-scrollview-pull-down-loading",f="dx-scrollview-pull-down-ready",l="dx-scrollview-pull-down-image",a="dx-scrollview-pull-down-indicator",v="dx-scrollview-pull-down-text",i=0,r=1,e=2,o=3,y=u.dxScrollView.Scroller=u.dxScrollable.Scroller.inherit({ctor:function(){this.callBase.apply(this,arguments);this._initCallbacks();this._releaseState()},_releaseState:function(){this._state=i;this._refreshPullDownText()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===i?1:0);this._$pulledDownText.css("opacity",this._state===r?1:0);this._$refreshingText.css("opacity",this._state===e?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+this._bottomPocketSize},_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!==i&&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===r?this._pullDownRefreshing():this._inBounds()&&this._state===o?this._reachBottomLoading():this.callBase()},_reachBottomReady:function(){this._state!==o&&(this._state=o,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!==r&&(this._state=r,this._maxOffset=0,this._$pullDown.addClass(f),this._refreshPullDownText())},_stateReleased:function(){this._state!==i&&(this._releaseState(),this._updateBounds(),this._$pullDown.removeClass(s).removeClass(f),this.releaseCallbacks.fire())},_pullDownRefreshing:function(){this._state!==e&&(this._state=e,this._$pullDown.addClass(s).removeClass(f),this._refreshPullDownText(),this.pullDownCallbacks.fire())},_releaseHandler:function(){return this._state===i&&this._moveToBounds(),this._update(),this._releaseTask&&this._releaseTask.abort(),this._releaseTask=h.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=r},dispose:function(){this._releaseTask&&this._releaseTask.abort();this.callBase()}}),p=u.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()}});u.dxScrollView.refreshStrategies.simulated=p}(jQuery,DevExpress);DevExpress.define("/ui/widgets/map/ui.map.provider",["jquery","/class","/ui/events/ui.events.utils"],function(n,t,i){var r=t.abstract;return t.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._applyFunctionIfNeeded("addMarkers",t),f=this._applyFunctionIfNeeded("addRoutes",i);n.when(u,f).done(function(){r.resolve(!0)})},this)),r.promise()},_renderImpl:r,updateDimensions:r,updateMapType:r,updateBounds:r,updateCenter:r,updateZoom:r,updateControls:r,updateMarkers:function(t,i){var r=n.Deferred(),u=this;return this._applyFunctionIfNeeded("removeMarkers",t).done(function(){u._applyFunctionIfNeeded("addMarkers",i).done(function(){r.resolve.apply(r,arguments)})}),r.promise()},addMarkers:r,removeMarkers:r,adjustViewport:r,updateRoutes:function(t,i){var r=n.Deferred(),u=this;return this._applyFunctionIfNeeded("removeRoutes",t).done(function(){u._applyFunctionIfNeeded("addRoutes",i).done(function(){r.resolve.apply(r,arguments)})}),r.promise()},addRoutes:r,removeRoutes:r,clean:r,map:function(){return this._map},_option:function(n,t){if(t===undefined)return this._mapWidget.option(n);this._mapWidget.setOptionSilent(n,t)},_keyOption:function(n){var t=this._option("key");return t[n]===undefined?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 i.addNamespace(n,this._mapWidget.NAME)},_applyFunctionIfNeeded:function(t,i){return i.length?this[t](i):n.Deferred().resolve().promise()},_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)}})});DevExpress.define("/ui/widgets/map/ui.map.provider.googleStatic",["jquery","/ui/widgets/map/ui.map.provider","/color"],function(n,t,i){var r="https://maps.google.com/maps/api/staticmap?";return t.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"),u=this._$container,t=["sensor=false","size="+u.width()+"x"+u.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=r+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 t=this,r=[];return n.each(this._option("routes"),function(u,f){var o=new i(f.color||t._defaultRouteColor()).toHex().replace("#","0x"),s=Math.round((f.opacity||t._defaultRouteOpacity())*255).toString(16),h=f.weight||t._defaultRouteWeight(),e=[];n.each(f.locations,function(n,i){e.push(t._locationToString(i))});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})})}})});DevExpress.define("/ui/widgets/map/ui.map.provider.dynamic",["jquery","/ui/widgets/map/ui.map.provider"],function(n,t){var i=t.abstract;return t.inherit({cancelEvents:!0,_renderImpl:function(){var t=n.Deferred();return this._load().done(n.proxy(function(){this._init().done(n.proxy(function(){var i=this.updateMapType(),r=this._isBoundsSetted()?this.updateBounds():this.updateCenter();n.when(i,r).done(n.proxy(function(){this._attachHandlers();setTimeout(function(){t.resolve()})},this))},this))},this)),t.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:i,_init:i,_attachHandlers:i,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.done(function(){r._fitBounds()}),i.promise()},_addMarker:function(t){var i=this;return this._renderMarker(t).done(function(r){i._markers.push(n.extend({options:t},r));i._fireMarkerAddedAction({options:t,originalMarker:r.marker})})},_renderMarker:i,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:i,_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.done(function(){r._fitBounds()}),i.promise()},_addRoute:function(t){var i=this;return this._renderRoute(t).done(function(r){i._routes.push(n.extend({options:t},r));i._fireRouteAddedAction({options:t,originalRoute:r.instance})})},_renderRoute:i,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:i,_clearRoutes:function(){while(this._routes.length>0)this._removeRoute(this._routes[0].options)},adjustViewport:function(){return this._fitBounds()},_fitBounds:i,_updateBounds:function(){var t=this;(this._clearBounds(),this._option("autoAdjust"))&&(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:i})});DevExpress.define("/ui/widgets/map/ui.map.provider.dynamic.bing",["jquery","/ui/widgets/map/ui.map.provider.dynamic","/color","/utils/utils.support"],function(n,t,i,r){var f="_bingScriptReady",s="https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&s=1&onScriptLoad="+f,h="ms-appx:///Bing.Maps.JavaScript/js/veapicore.js",c="ms-appx:///Bing.Maps.JavaScript/js/veapiModules.js",l="AhuxC0dQ1DBTNo8L-H9ToVMQStmizZzBJdraTSgCzDSWPsA1Qd8uIvFSflzxdaLH",e=1e-16,o=function(){return window.Microsoft&&window.Microsoft.Maps},u;return t.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():(u&&(u.state()!=="resolved"||o())||(u=n.Deferred(),window[f]=n.proxy(u.resolve,u),r.winJS?n.when(n.getScript(h),n.getScript(c)).done(function(){Microsoft.Maps.loadModule("Microsoft.Maps.Map",{callback:window[f]})}):n.getScript(s)),u.done(n.proxy(this._mapReady,this))),this._msMapsLoader.promise()},_mapReady:function(){try{delete window[f]}catch(r){window[f]=undefined}var t=n.Deferred(),i=n.Deferred();Microsoft.Maps.loadModule("Microsoft.Maps.Search",{callback:n.proxy(t.resolve,t)});Microsoft.Maps.loadModule("Microsoft.Maps.Directions",{callback:n.proxy(i.resolve,i)});n.when(t,i).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")||l,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(t){var r=n.Deferred(),i=this;return this._resolveLocation(t.location).done(function(u){var s={icon:t.iconSrc||i._option("markerIconSrc")},f,e,o,h,c,l;t.html&&(n.extend(s,{htmlContent:t.html,width:null,height:null}),f=t.htmlOffset,f&&(s.anchor=new Microsoft.Maps.Point(-f.left,-f.top)));e=new Microsoft.Maps.Pushpin(u,s);i._map.entities.push(e);o=i._renderTooltip(u,t.tooltip);(t.onClick||t.tooltip)&&(c=i._createAction(t.onClick||n.noop),l=i._normalizeLocation(u),h=Microsoft.Maps.Events.addHandler(e,"click",function(){c({location:l});o&&o.setOptions({visible:!0})}));r.resolve({location:u,marker:e,infobox:o,handler:h})}),r.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(t){var u=n.Deferred(),r=this,f=n.map(t.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 i(t.color||r._defaultRouteColor()).toHex(),e=new Microsoft.Maps.Color.fromHex(h),o;e.a=(t.opacity||r._defaultRouteOpacity())*255;f.setRenderOptions({autoUpdateMapView:!1,displayRouteSelector:!1,waypointPushpinOptions:{visible:!1},drivingPolylineOptions:{strokeColor:e,strokeThickness:t.weight||r._defaultRouteWeight()},walkingPolylineOptions:{strokeColor:e,strokeThickness:t.weight||r._defaultRouteWeight()}});f.setRequestOptions({routeMode:r._movementMode(t.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()}})});DevExpress.define("/ui/widgets/map/ui.map.provider.dynamic.google",["jquery","/ui/widgets/map/ui.map.provider.dynamic","/color"],function(n,t,i){var f="_googleScriptReady",o="https://maps.google.com/maps/api/js?sensor=false&callback="+f,r,s=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"})}},e=function(){return window.google&&window.google.maps},u;return t.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(),e())this._mapReady();else{if(!u||u.state()==="resolved"&&!e()){u=n.Deferred();var t=this._keyOption("google");window[f]=n.proxy(u.resolve,u);n.getScript(o+(t?"&key="+t:""))}u.done(n.proxy(this._mapReady,this))}return this._googleMapsLoader.promise()},_mapReady:function(){try{delete window[f]}catch(n){window[f]=undefined}s();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(t){var u=n.Deferred(),i=this;return this._resolveLocation(t.location).done(function(f){var e,o,s,h,c;e=t.html?new r({map:i._map,position:f,html:t.html,offset:n.extend({top:0,left:0},t.htmlOffset)}):new google.maps.Marker({position:f,map:i._map,icon:t.iconSrc||i._option("markerIconSrc")});o=i._renderTooltip(e,t.tooltip);(t.onClick||t.tooltip)&&(h=i._createAction(t.onClick||n.noop),c=i._normalizeLocation(f),s=google.maps.event.addListener(e,"click",function(){h({location:c});o&&o.open(i._map,e)}));u.resolve({location:f,marker:e,listner:s})}),u.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(t){var u=n.Deferred(),r=this,f=new google.maps.DirectionsService,e=n.map(t.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(t.mode)};f.route(c,function(n,f){if(f===google.maps.DirectionsStatus.OK){var o=new i(t.color||r._defaultRouteColor()).toHex(),s={directions:n,map:r._map,suppressMarkers:!0,preserveViewport:!0,polylineOptions:{strokeWeight:t.weight||r._defaultRouteWeight(),strokeOpacity:t.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),this._boundsChangeHandler(),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()}})});DevExpress.define("/ui/widgets/map/ui.map",["jquery","/ui/uiNamespace","/ui/ui.errors","/devices","/componentRegistrator","/ui/ui.widget","/utils/utils.support","/utils/utils.array","/utils/utils.inflector","/ui/widgets/map/ui.map.provider.googleStatic","/ui/widgets/map/ui.map.provider.dynamic.google","/ui/widgets/map/ui.map.provider.dynamic.bing","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y=o.wrapToArray,b={googleStatic:h,google:c,bing:l},k="dx-map",d="dx-map-container",p="dx-map-shield",g="dx-native-click",w=f.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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 r.real().generic&&!r.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase();this.element().addClass(k).addClass(g);this._asyncQueue=[];this._checkOption("provider");this._checkOption("markers");this._checkOption("routes");this._initContainer();this._grabEvents();this._rendered={}},_checkOption:function(t){var r=this.option(t);if(t==="provider"&&e.winJS&&r==="google")throw i.Error("E1024");if(t==="markers"&&!n.isArray(r))throw i.Error("E1022");if(t==="routes"&&!n.isArray(r))throw i.Error("E1023");},_initContainer:function(){this._$container=n("<div />").addClass(d);this.element().append(this._$container)},_grabEvents:function(){var t=a.addNamespace(v.down,this.NAME);this.element().on(t,n.proxy(this._cancelEvent,this))},_cancelEvent:function(n){var t=this._provider.cancelEvents&&!this.option("disabled");!DevExpress.designMode&&t&&n.stopPropagation()},_saveRendered:function(n){var t=this.option(n);this._rendered[n]=t.slice()},_render:function(){this.callBase();this._renderShield();this._saveRendered("markers");this._saveRendered("routes");this._queueAsyncAction("render",this._rendered.markers,this._rendered.routes)},_renderShield:function(){var t;DevExpress.designMode||this.option("disabled")?(t=n("<div/>").addClass(p),this.element().append(t)):(t=this.element().find("."+p),t.remove())},_clean:function(){(this._cleanFocusState(),this._provider)&&this._queueAsyncAction("clean")},_dispose:function(){this.callBase();this._currentAsyncAction&&this._currentAsyncAction.reject()},_optionChanged:function(n){var r=n.name,t,u;if(!this._cancelOptionChange){t=this._optionChangeBag;this._optionChangeBag=null;switch(r){case"disabled":this._renderShield();this.callBase(n);break;case"width":case"height":this.callBase(n);this._dimensionChanged();break;case"provider":this._invalidate();break;case"key":i.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._rendered.markers,this._rendered.routes);break;case"autoAdjust":this._queueAsyncAction("adjustViewport");break;case"markers":case"routes":this._checkOption(r);u=this._rendered[r];this._saveRendered(r);this._queueAsyncAction("update"+s.titleize(r),t?t.removed:u,t?t.added:this._rendered[r]).done(function(){if(t){var n=t.deferred;n.resolve.apply(n,arguments)}});break;case"markerIconSrc":this._queueAsyncAction("updateMarkers",this._rendered.markers,this._rendered.markers);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 n=this._asyncQueue,i=!n.length,t;i||(t=this,this._execAsyncAction(n[0]).done(function(){n.shift();t._enqueueAsyncAction()}))},_execAsyncAction:function(t){var i=this._currentAsyncAction=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){i.state()!=="rejected"&&(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 b[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},addMarker:function(n){return this._addFunction("markers",n)},removeMarker:function(n){return this._removeFunction("markers",n)},addRoute:function(n){return this._addFunction("routes",n)},removeRoute:function(n){return this._removeFunction("routes",n)},_addFunction:function(n,t){var i=this.option(n),r=y(t);return i.push.apply(i,r),this._partialArrayOptionChange(n,i,r,[])},_removeFunction:function(t,r){var u=this.option(t),f=y(r);return n.each(f,function(r,e){var o=n.isNumeric(e)?e:n.inArray(e,u),h;if(o!==-1)h=u.splice(o,1)[0],f.splice(r,1,h);else throw i.log("E1021",s.titleize(t.substring(0,t.length-1)),e);}),this._partialArrayOptionChange(t,u,[],f)},_partialArrayOptionChange:function(t,i,r,u){var f=n.Deferred(),o=this,e=n.Deferred();return this._optionChangeBag={deferred:e,added:r,removed:u},this.option(t,i),e.done(function(n){f.resolveWith(o,n&&n.length>1?[n]:n)}),f.promise()}});return u("dxMap",t,w),w});DevExpress.require(["/ui/widgets/map/ui.map"]),function(n,t){var r=t.ui,u=t.require("/componentRegistrator"),f=t.require("/domComponent"),e=t.require("/ui/events/ui.events.utils"),i="dxSwipeable",o="dx-swipeable",s={onStart:"dxswipestart",onUpdated:"dxswipe",onEnd:"dxswipeend",onCancel:"dxswipecancel"};u(i,r,f.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{elastic:!0,immediate:!1,direction:"horizontal",itemSizeFunc:null,onStart:null,onUpdated:null,onEnd:null,onCancel:null})},_render:function(){this.callBase();this.element().addClass(o);this._attachEventHandlers()},_attachEventHandlers:function(){if(this._detachEventHanlers(),!this.option("disabled")){var t=this.NAME;this._createEventData();n.each(s,n.proxy(function(n,i){var r=this._createActionByOption(n,{context:this});i=e.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("."+i)},_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 e=t.ui,u=t.require("/utils/utils.translator"),o=t.require("/utils/utils.inflector").dasherize,s=t.require("/utils/utils.string"),h=t.require("/componentRegistrator"),c=t.require("/domComponent"),r=t.require("/ui/events/ui.events.utils"),l=t.require("/ui/events/pointer/ui.events.pointer"),i="dxDraggable",a=r.addNamespace("dxdragstart",i),v=r.addNamespace("dxdrag",i),y=r.addNamespace("dxdragend",i),p=r.addNamespace(l.down,i),f=o(i),w=f+"-dragging";h(i,e,c.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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(){if(!this.option("disabled")){var i=this.element().css("position","absolute"),t={},r=this.option("allowMoveByClick");t[a]=n.proxy(this._dragStartHandler,this);t[v]=n.proxy(this._dragHandler,this);t[y]=n.proxy(this._dragEndHandler,this);r&&(t[p]=n.proxy(this._pointerDownHandler,this),i=this._getArea());i.on(t,{direction:this.option("direction"),immediate:!0})}},_detachEventHandlers:function(){this.element().off("."+i);this._getArea().off("."+i)},_move:function(n){u.move(this.element(),n)},_pointerDownHandler:function(t){if(!r.needSkipEvent(t)){var f=this._getAreaOffset(n(t.currentTarget)),i=this.option("direction"),u={};(i==="horizontal"||i==="both")&&(u.left=t.pageX-this.element().width()/2-f.left);(i==="vertical"||i==="both")&&(u.top=t.pageY-this.element().height()/2-f.top);this._move(u);this._getAction("onDrag")({jQueryEvent:t})}},_dragStartHandler:function(n){var t=this.element(),i;if(t.is(".dx-state-disabled, .dx-state-disabled *")){n.cancel=!0;return}var f=this._getArea(),e=this._getAreaOffset(f),r=this._getBoundOffset(),o=f.outerWidth(),s=f.outerHeight(),h=t.width(),c=t.height();this._toggleDraggingClass(!0);i={left:t.offset().left-e.left,top:t.offset().top-e.top};this._startPosition=u.locate(t);n.maxLeftOffset=i.left-r.left;n.maxRightOffset=o-i.left-h-r.right;n.maxTopOffset=i.top-r.top;n.maxBottomOffset=s-i.top-c-r.bottom;this._getAction("onDragStart")({jQueryEvent:n})},_getAreaOffset:function(n){var t=n&&n.offset();return t?t:{left:0,top:0}},_toggleDraggingClass:function(n){this.element().toggleClass(w,n)},_getBoundOffset:function(){var t=this.option("boundOffset");return n.isFunction(t)&&(t=t.call(this)),s.quadToObject(t)},_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(f)},_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":case"disabled":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,h=t.require("/utils/utils.common"),c=t.require("/componentRegistrator"),l=t.require("/ui/ui.widget"),a="dx-widget",v="dx-deferrendering",r="dx-pending-rendering",u="dx-pending-rendering-manual",f="dx-pending-rendering-active",e="dx-invisible-while-pending-rendering",y="dx-loadindicator-container",p="dx-deferrendering-load-indicator",w="content",b=["onRendered","onShown"];c("dxDeferRendering",o,l.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{showLoadIndicator:!1,renderWhen:i,animation:i,staggerItemSelector:i,onRendered:null,onShown:null})},_getAnonymousTemplateName:function(){return w},_init:function(){this.transitionExecutor=new t.TransitionExecutor;this._initElement();this._initRender();this._$initialContent=this.element().clone().contents();this._initActions();this.callBase()},_initElement:function(){this.element().addClass(v).addClass(y)},_initRender:function(){var f=this,t=this.element(),n=this.option("renderWhen"),r=function(){return f._renderDeferredContent()};n&&n.done?n.done(r):(t.data("dx-render-delegate",r),n===i&&t.addClass(u))},_initActions:function(){this._actions={};n.each(b,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i)||n.noop},this))},_renderContentImpl:function(){this.element().removeClass(a);this.element().append(this._$initialContent);this._setLoadingState()},_renderDeferredContent:function(){var r=this,i=this.element(),t=n.Deferred();return i.removeClass(u),i.addClass(f),this._renderTask=h.executeAsync(function(){r._renderImpl().done(function(){var n={element:i};r._actions.onShown([n]);t.resolve(n)}).fail(function(){t.rejectWith(t,arguments)})}),t.promise()},_isElementInViewport: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)},_animate:function(){var t=this,u=this.element(),i=this.option("animation"),f=this.option("staggerItemSelector"),r;return t.transitionExecutor.stop(),i?(f?u.find(f).each(function(){t._isElementInViewport(this)&&t.transitionExecutor.enter(n(this),i)}):t.transitionExecutor.enter(u,i),r=t.transitionExecutor.start()):r=n.Deferred().resolve().promise(),r},_renderImpl:function(){var n=this.element(),i={element:n},t=this._getTemplate(this._getAnonymousTemplateName());t&&t.render(n.empty());this._setRenderedState(n);n.trigger("dxcontentrendered");this._actions.onRendered([i]);return this._isRendered=!0,this._animate()},_setLoadingState:function(){var n=this.element();n.addClass(r);n.children().addClass(e);this.option("showLoadIndicator")&&this._showLoadIndicator(n)},_showLoadIndicator:function(t){this._$loadIndicator=n("<div/>").dxLoadIndicator({visible:!0}).addClass(p);t.append(this._$loadIndicator)},_setRenderedState:function(){var n=this.element();this._$loadIndicator&&this._$loadIndicator.remove();n.removeClass(r);n.removeClass(f);n.children().removeClass(e);s.triggerShownEvent(n.children())},_optionChanged:function(n){var t=n.value,i=n.previousValue;switch(n.name){case"renderWhen":i===!1&&t===!0?this._renderOrAnimate():i===!0&&t===!1&&this._setLoadingState();break;case"showLoadIndicator":case"onRendered":case"onShown":break;default:this.callBase(n)}},_renderOrAnimate:function(){var n;return this._isRendered?(this._setRenderedState(),n=this._animate()):n=this._renderDeferredContent(),n},renderContent:function(){return this._renderOrAnimate()},_dispose:function(){this.transitionExecutor.stop();this._renderTask&&this._renderTask.abort();this._actions=null;this._$initialContent=null;this.callBase()}}))}(jQuery,DevExpress),function(n,t,i){var h=t.ui,o=t.require("/utils/utils.translator"),c=t.require("/utils/utils.string"),s=t.require("/utils/utils.math").fitIntoRange,l=t.require("/componentRegistrator"),a=t.require("/domComponent"),e=t.require("/ui/events/ui.events.utils"),r="dxResizable",v="dx-resizable",y="dx-resizable-resizing",u="dx-resizable-handle",p="dx-resizable-handle-top",w="dx-resizable-handle-bottom",b="dx-resizable-handle-left",k="dx-resizable-handle-right",f="dx-resizable-handle-corner",d=e.addNamespace("dxdragstart",r),g=e.addNamespace("dxdrag",r),nt=e.addNamespace("dxdragend",r);l(r,h,a.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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(v)},_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 r=this.element(),i=n("<div>");i.addClass(u).addClass(u+"-"+t).appendTo(r);this._attachEventHandlers(i)},_attachEventHandlers:function(t){if(!this.option("disabled")){var i={};i[d]=n.proxy(this._dragStartHandler,this);i[g]=n.proxy(this._dragHandler,this);i[nt]=n.proxy(this._dragEndHandler,this);t.on(i,{direction:"both",immediate:!0})}},_dragStartHandler:function(n){var t=this.element();if(t.is(".dx-state-disabled, .dx-state-disabled *")){n.cancel=!0;return}this._toggleResizingClass(!0);this._movingSides=this._getMovingSides(n);this._elementLocation=o.locate(t);this._elementSize={width:t.outerWidth(),height:t.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(y,n)},_renderDragOffsets:function(t){var i=this._getArea();if(i){var e=n(t.target).closest("."+u),o=e.outerWidth(),s=e.outerHeight(),r=e.offset(),f=i.offset;t.maxLeftOffset=r.left-f.left;t.maxRightOffset=f.left+i.width-r.left-o;t.maxTopOffset=r.top-f.top;t.maxBottomOffset=f.top+i.height-r.top-s}},_getBorderWidth:function(n,t){var i=n.css("border-"+t+"-width");return parseInt(i)||0},_dragHandler:function(n){var c=this.element(),t=this._getOffset(n),i=this._movingSides,f=this._elementLocation,e=this._elementSize,r=e.width+t.x*(i.left?-1:1),u=e.height+t.y*(i.top?-1:1),s,h;t.x&&this._renderWidth(r);t.y&&this._renderHeight(u);s=t.y-((this.option("height")||u)-u);h=t.x-((this.option("width")||r)-r);o.move(c,{top:f.top+(i.top?s:0),left:f.left+(i.left?h:0)});this._resizeAction({jQueryEvent:n,width:r,height:u,handles:this._movingSides})},_getOffset:function(n){var t=n.offset,r=c.pairToObject(this.option("step")),i=this._getMovingSides(n);return i.left||i.right||(t.x=0),i.top||i.bottom||(t.y=0),{x:t.x-t.x%r.h,y:t.y-t.y%r.v}},_getMovingSides:function(t){var i=n(t.target),r=i.hasClass(f+"-top-left"),u=i.hasClass(f+"-top-right"),e=i.hasClass(f+"-bottom-left"),o=i.hasClass(f+"-bottom-right");return{top:i.hasClass(p)||r||u,left:i.hasClass(b)||r||e,bottom:i.hasClass(w)||e||o,right:i.hasClass(k)||u||o}},_getArea:function(){var t=this.option("area");return(n.isFunction(t)&&(t=t.call(this)),n.isPlainObject(t))?this._getAreaFromObject(t):this._getAreaFromElement(t)},_getAreaFromObject:function(n){var t={width:n.right-n.left,height:n.bottom-n.top,offset:{left:n.left,top:n.top}};return this._correctAreaGeometry(t),t},_getAreaFromElement:function(t){var r=n(t),i;return r.length&&(i={},i.width=r.innerWidth(),i.height=r.innerHeight(),i.offset=r.offset(),this._correctAreaGeometry(i,r)),i},_correctAreaGeometry:function(n,t){var i=t?this._getBorderWidth(t,"left"):0,r=t?this._getBorderWidth(t,"top"):0;n.offset.left+=i+this._getBorderWidth(this.element(),"left");n.offset.top+=r+this._getBorderWidth(this.element(),"top");n.width-=this.element().outerWidth()-this.element().innerWidth();n.height-=this.element().outerHeight()-this.element().innerHeight()},_dragEndHandler:function(n){var t=this.element();this._resizeEndAction({jQueryEvent:n,width:t.outerWidth(),height:t.outerHeight(),handles:this._movingSides});this._toggleResizingClass(!1)},_renderWidth:function(n){this.option("width",s(n,this.option("minWidth"),this.option("maxWidth")))},_renderHeight:function(n){this.option("height",s(n,this.option("minHeight"),this.option("maxHeight")))},_optionChanged:function(n){switch(n.name){case"disabled":case"handles":this._invalidate();break;case"minWidth":case"maxWidth":this._renderWidth(this.element().outerWidth());break;case"minHeight":case"maxHeight":this._renderHeight(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("."+u).remove()}}))}(jQuery,DevExpress),function(n,t,i){var v=DevExpress.ui,y=DevExpress.require("/class"),u=t.require("/utils/utils.support"),rt=t.require("/utils/utils.browser"),s=t.require("/utils/utils.common"),ut=t.require("/devices"),ft=t.require("/componentRegistrator"),p="dx-box",w=".dx-box",et="dx-box-item",r="dxBoxItemData",b=u.styleProp("flexGrow"),ot=u.styleProp("flexShrink"),st=u.stylePropPrefix("flexDirection"),k={row:"minWidth",col:"minHeight"},d={row:"maxWidth",col:"maxHeight"},h=1,g={start:"flex-start",end:"flex-end",center:"center","space-between":"space-between","space-around":"space-around"},nt={start:"flex-start",end:"flex-end",center:"center",stretch:"stretch"},ht={row:"row",col:"column"},ct=y.inherit({ctor:function(n,t){this._$element=n;this._option=t},renderBox:function(){this._$element.css({display:u.stylePropPrefix("flexDirection")+"flex",flexDirection:ht[this._option("direction")]})},renderAlign:function(){this._$element.css({justifyContent:this._normalizedAlign()})},_normalizedAlign:function(){var n=this._option("align");return n in g?g[n]:n},renderCrossAlign:function(){this._$element.css({alignItems:this._normalizedCrossAlign()})},_normalizedCrossAlign:function(){var n=this._option("crossAlign");return n in nt?nt[n]:n},renderItems:function(t){var i=this._option("direction");n.each(t,function(){var f=n(this),t=f.data(r),e;f.css({display:st+"flex",flexBasis:t.baseSize||0}).css(d[i],t.maxSize||"none").css(k[i],t.minSize||"0");e=f.get(0).style;e[b]=t.ratio;e[ot]=s.isDefined(t.shrink)?t.shrink:h;f.children().each(function(t,i){n(i).css({width:"auto",height:"auto",display:u.stylePropPrefix("flexDirection")+"flex",flexDirection:f.children().css("flexDirection")||"column"});i.style[b]=1})})},initSize:n.noop,update:n.noop}),c="dxupdate.dxBox",tt="dx-box-fallback-item",lt={row:"nowrap",col:"normal"},f={row:"width",col:"height"},e={row:"height",col:"width"},o={row:"marginLeft",col:"marginTop"},l={row:"marginRight",col:"marginBottom"},a={row:"marginTop",col:"marginLeft"},it={row:"marginBottom",col:"marginRight"},at={marginLeft:"marginRight",marginRight:"marginLeft"},vt=y.inherit({ctor:function(n,t){this._$element=n;this._option=t},renderBox:function(){this._$element.css({fontSize:0,whiteSpace:lt[this._option("direction")],verticalAlign:"top"});this._$element.off(c).on(c,n.proxy(this.update,this))},renderAlign:function(){var n=this._$items;if(n){var u=this._option("align"),t=0,e=this.totalItemSize,i=this._option("direction"),s=this._$element[f[i]](),r=s-e;this._setItemsMargins(n,i,0);switch(u){case"end":t=r;n.first().css(this._chooseMarginSide(o[i]),t);break;case"center":t=.5*r;n.first().css(this._chooseMarginSide(o[i]),t);n.last().css(this._chooseMarginSide(l[i]),t);break;case"space-between":t=.5*r/(n.length-1);this._setItemsMargins(n,i,t);n.first().css(this._chooseMarginSide(o[i]),0);n.last().css(this._chooseMarginSide(l[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(o[t]),i).css(this._chooseMarginSide(l[t]),i)},renderCrossAlign:function(){var r=this._$items;if(r){var f=this._option("crossAlign"),t=this._option("direction"),u=this._$element[e[t]](),i=this;switch(f){case"end":n.each(r,function(){var r=n(this),f=r[e[t]](),o=u-f;r.css(i._chooseMarginSide(a[t]),o)});break;case"center":n.each(r,function(){var r=n(this),o=r[e[t]](),f=.5*(u-o);r.css(i._chooseMarginSide(a[t]),f).css(i._chooseMarginSide(it[t]),f)});break;case"stretch":r.css(i._chooseMarginSide(a[t]),0).css(i._chooseMarginSide(it[t]),0).css(e[t],"100%")}}},_chooseMarginSide:function(n){return this._option("rtlEnabled")?at[n]||n:n},renderItems:function(t){this._$items=t;var i=this._option("direction"),e=0,o=0,c=0;n.each(t,n.proxy(function(t,u){var l=n(u);l.css({display:"inline-block",verticalAlign:"top"});l[f[i]]("auto");l.removeClass(tt);var a=l.data(r),y=a.ratio||0,v=this._baseSize(l),p=s.isDefined(a.shrink)?a.shrink:h;e+=y;o+=p*v;c+=v},this));var u=this._boxSize()-c,a=n.proxy(function(n){var t=n.data(r),i=this._baseSize(n),c=u>=0?t.ratio||0:(s.isDefined(t.shrink)?t.shrink:h)*i,f=u>=0?e:o,l=f?Math.round(u*c/f):0;return i+l},this),l=0;n.each(t,function(t,u){var e=n(u),o=n(u).data(r),s=a(e);l+=s;e.css(d[i],o.maxSize||"none").css(k[i],o.minSize||"0").css(f[i],s);e.addClass(tt)});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)[f[this._option("direction")]]()},_parseSize:function(n){return String(n).match(/.+%$/)?.01*parseFloat(n)*this._boxSizeValue:n},_boxSize:function(n){if(!arguments.length)return this._boxSizeValue=this._boxSizeValue||this._totalBaseSize();this._boxSizeValue=n},_totalBaseSize:function(){var t=0;return n.each(this._$items,n.proxy(function(n,i){t+=this._baseSize(i)},this)),t},initSize:function(){this._boxSize(this._$element[f[this._option("direction")]]())},update:function(){if(this._$items&&!this._$element.is(":hidden")){this._$items.detach();this.initSize();this._$element.append(this._$items);this.renderItems(this._$items);this.renderAlign();this.renderCrossAlign();var t=this._$element.get(0);this._$items.find(w).each(function(){t===n(this).parent().closest(w).get(0)&&n(this).triggerHandler(c)})}}});ft("dxBox",v,v.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{direction:"row",align:"start",crossAlign:"stretch",activeStateEnabled:!1,focusStateEnabled:!1,_layoutStrategy:"flex",_queue:i})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=ut.real(),t=n.platform==="android"&&(n.version[0]<4||n.version[0]===4&&n.version[1]<4),i=n.platform==="ios"&&n.version[0]<7;return n.platform==="win"||rt.msie||t||i},options:{_layoutStrategy:"fallback"}}])},_itemClass:function(){return et},_itemDataKey:function(){return r},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_init:function(){this.callBase();this.element().addClass(p+"-"+this.option("_layoutStrategy"));this._initLayout();this._initBoxQueue()},_initLayout:function(){this._layout=this.option("_layoutStrategy")==="fallback"?new vt(this.element(),n.proxy(this.option,this)):new ct(this.element(),n.proxy(this.option,this))},_initBoxQueue:function(){this._queue=this.option("_queue")||[]},_queueIsNotEmpty:function(){return this.option("_queue")?!1:!!this._queue.length},_pushItemToQueue:function(n,t){this._queue.push({$item:n,config:t})},_shiftItemFromQueue:function(){return this._queue.shift()},_render:function(){this.callBase();this.element().addClass(p);this._renderBox()},_renderBox:function(){this._layout.renderBox();this._layout.renderAlign();this._layout.renderCrossAlign()},_renderItems:function(t){for(this._layout.initSize(),this.callBase(t);this._queueIsNotEmpty();){var i=this._shiftItemFromQueue();this._createComponent(i.$item,"dxBox",n.extend({_layoutStrategy:this.option("_layoutStrategy"),itemTemplate:this.option("itemTemplate"),itemHoldTimeout:this.option("itemHoldTimeout"),onItemHold:this.option("onItemHold"),onItemClick:this.option("onItemClick"),onItemContextMenu:this.option("onItemContextMenu"),onItemRendered:this.option("onItemRendered"),_queue:this._queue},i.config))}this._layout.renderItems(this._itemElements());clearTimeout(this._updateTimer);this._updateTimer=setTimeout(n.proxy(function(){this._isUpdated||this._layout.update();this._isUpdated=!1;this._updateTimer=null},this))},_renderItemContent:function(n){var t=n.itemData&&n.itemData.node;return t?this._renderItemContentByNode(n,t):this.callBase(n)},_postprocessRenderItem:function(n){var t=n.itemData.box;t&&this._pushItemToQueue(n.itemContent,t)},_createItemByTemplate:function(n,t){return t.itemData.box?n.source():this.callBase(n,t)},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this._updateTimer||(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"_queue":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,i){var r=t.ui,f=DevExpress.require("/ui/ui.errors"),e=t.require("/componentRegistrator"),o="dx-responsivebox",s="dx-box-item",u="dxBoxItemData",h=function(n){return n<768?"xs":n<992?"sm":n<1200?"md":"lg"};e("dxResponsiveBox",r,r.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{rows:[],cols:[],screenByWidth:h,singleColumnScreen:"xs",height:"100%",width:"100%",activeStateEnabled:!1,focusStateEnabled:!1,onLayoutChanged:null,currentScreenFactor:i,_layoutStrategy:i})},_initOptions:function(n){n.screenByWidth&&this.option("singleColumnScreen",n.screenByWidth(0));this.callBase(n)},_init:function(){this.callBase();this._initLayoutChangedAction()},_initLayoutChangedAction:function(){this._layoutChangedAction=this._createActionByOption("onLayoutChanged",{excludeValidators:["disabled","readonly"]})},_itemClass:function(){return s},_itemDataKey:function(){return u},_render:function(){this.callBase();this.element().addClass(o);this._updateRootBox()},_updateRootBox:function(){clearTimeout(this._updateTimer);this._updateTimer=setTimeout(n.proxy(function(){this._$root&&this._$root.trigger("dxupdate")},this))},_renderItems:function(){this.option("currentScreenFactor",this._getCurrentScreen());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._getCurrentScreen();return new RegExp("(^|\\s)"+n+"($|\\s)","i")},_getCurrentScreen:function(){var n=this._screenWidth();return this.option("screenByWidth")(n)},_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:"row",items:[n.extend(i,{ratio:1})]}),n.extend(r,this._rootBoxConfig()),this._$root=n("<div>").appendTo(this._itemContainer()),this._createComponent(this._$root,"dxBox",r))},_rootBoxConfig:function(){return n.extend({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")},{_layoutStrategy:this.option("_layoutStrategy")})},_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(t){for(var e=[],o=t.direction,r=this._crossDirection(o),i,u;i=this._nextBlock(t);){if(this._isBlockIndivisible(t.prevBlockOptions,i))throw f.Error("E1025");u=this._layoutBlock({direction:r,row:i.row,col:i.col,prevBlockOptions:t});u&&(n.extend(u,this._blockSize(i,r)),e.push(u));t[r].start=i[r].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(){if(this._getCurrentScreen()!==this.option("currentScreenFactor")){var n=this._$root;this._renderItems();n&&n.detach();this._saveAssistantRoot(n);this._layoutChangedAction();this._updateRootBox()}},_saveAssistantRoot:function(n){this._assistantRoots=this._assistantRoots||[];this._assistantRoots.push(n)},_dispose:function(){clearTimeout(this._updateTimer);this._cleanUnusedRoots();this.callBase.apply(this,arguments)},_cleanUnusedRoots:function(){this._assistantRoots&&n.each(this._assistantRoots,function(){n(this).remove()})},_clearItemNodeTemplates:function(){n.each(this.option("items"),function(){delete this.node})},_toggleVisibility:function(n){this.callBase(n);n&&this._updateRootBox()},_optionChanged:function(n){switch(n.name){case"rows":case"cols":case"screenByWidth":case"_layoutStrategy":case"singleColumnScreen":this._invalidate();break;case"width":case"height":this.callBase(n);this._update();break;case"onLayoutChanged":this._initLayoutChangedAction();break;case"itemTemplate":this._clearItemNodeTemplates();this.callBase(n);break;case"currentScreenFactor":break;default:this.callBase(n)}},_dimensionChanged:function(){this._update()},repaint:function(){this._update()}}))}(jQuery,DevExpress);DevExpress.define("/ui/widgets/ui.button",["jquery","/ui/uiNamespace","/utils/utils.icon","/devices","/componentRegistrator","/ui/ui.validationMixin","/validationEngine","/ui/ui.widget","/utils/utils.inkRipple","/ui/events/ui.events.utils","/ui/ui.themes"],function(n,t,i,r,u,f,e,o,s,h,c){var v="dx-button",l="dx-button-content",y="dx-button-has-text",p="dx-button-has-icon",w="dx-template-wrapper",b="content",k=100,a=o.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,{iconSrc:{since:"15.1",alias:"icon"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,onClick:null,type:"normal",text:"",icon:"",validationGroup:undefined,activeStateEnabled:!0,template:"content",useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return r.real().generic&&!r.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(c.current())},options:{useInkRipple:!0}}])},_getAnonymousTemplateName:function(){return b},_init:function(){this.callBase();this._feedbackHideTimeout=k},_render:function(){this.element().addClass(v);this._renderType();this.option("useInkRipple")&&this._renderInkRipple();this._renderClick();this.setAria("role","button");this._updateAriaLabel();this.callBase()},_renderInkRipple:function(){var i=!this.option("text")&&this.option("icon")||this.option("type")==="back",t={};i&&n.extend(t,{waveSizeCoefficient:1,useHoldAnimation:!1,isCentered:!0});this._inkRipple=s.render(t)},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple){var r={element:n,jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_renderContentImpl:function(){var r=this.element(),i=this._getContentData(),u,t;this._$content?this._$content.empty():this._$content=n("<div>").addClass(l).appendTo(r);r.toggleClass(p,!!i.icon).toggleClass(y,!!i.text);u=this._getTemplateByOption("template");t=u.render(i,this._$content);t.hasClass(w)&&(this._$content.replaceWith(t),this._$content=t,this._$content.addClass(l))},_getContentData:function(){var n=this.option("icon"),t=this.option("text"),i=this.option("type")==="back";return i&&!n&&(n="back"),{icon:n,text:t}},_renderClick:function(){var t=this,n=h.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:e.getGroupConfig(this._findGroup())})},_updateAriaLabel:function(){var t=this.option("icon"),u=this.option("text"),r;i.getImageSourceType(t)==="image"&&(t=t.indexOf("base64")===-1?t.replace(/.+\/([^\.]+)\..+$/,"$1"):"Base64");r=u||t;this.setAria("label",n.trim(r))},_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._renderContentImpl();this._updateAriaLabel();break;case"template":this._renderContentImpl();break;case"useInkRipple":this._invalidate();break;default:this.callBase(n)}},_clean:function(){this.callBase();delete this._$content}}).include(f);return u("dxButton",t,a),a});DevExpress.require(["/ui/widgets/ui.button"]);DevExpress.define("/ui/widgets/ui.checkBox",["jquery","/ui/uiNamespace","/devices","/utils/utils.inkRipple","/ui/ui.editor","/componentRegistrator","/ui/events/ui.events.utils","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var c="dx-checkbox",l="dx-checkbox-icon",a="dx-checkbox-checked",v="dx-checkbox-container",y="dx-checkbox-text",p=".dx-checkbox-text",s="dx-checkbox-has-text",w="dx-checkbox-indeterminate",b=100,h=u.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault();this._clickAction({jQueryEvent:n})};return n.extend(this.callBase(),{space:t})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,value:!1,text:"",useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return i.real().generic&&!i.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(o.current())},options:{useInkRipple:!0}}])},_init:function(){this.callBase();this._feedbackHideTimeout=b},_render:function(){this.callBase();this._$container=n("<div>").addClass(v);this.element().addClass(c).append(this._$container);this.setAria("role","checkbox");this._renderClick();this._renderValue();this._renderIcon();this._renderText();this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=r.render({waveSizeCoefficient:2.5,useHoldAnimation:!1,wavesNumber:2,isCentered:!0})},_renderInkWave:function(n,t,i,r){if(this._inkRipple){var u={element:n,jQueryEvent:t,wave:r};i?this._inkRipple.showWave(u):this._inkRipple.hideWave(u)}},_updateFocusState:function(n,t){this.callBase.apply(this,arguments);this._renderInkWave(this._$icon,n,t,0)},_toggleActiveState:function(n,t,i){this.callBase.apply(this,arguments);this._renderInkWave(this._$icon,i,t,1)},_renderDimensions:function(){this.callBase()},_renderIcon:function(){this._$icon=n("<span>").addClass(l).prependTo(this._$container)},_renderText:function(){if(this._$text=this._$container.find(p),!this.option("text")){this._$text&&(this._$text.remove(),this.element().removeClass(s));return}this._$text.length||(this._$text=n("<span>").addClass(y));this._$text.text(this.option("text"));this._$container.append(this._$text);this.element().addClass(s)},_renderClick:function(){var t=e.addNamespace("dxclick",this.NAME);this._clickAction=this._createAction(this._clickHandler);this.element().off(t).on(t,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"),i=n===undefined;t.toggleClass(a,Boolean(n));t.toggleClass(w,i);this.setAria("checked",i?"mixed":n||"false")},_optionChanged:function(n){switch(n.name){case"useInkRipple":this._invalidate();break;case"value":this._renderValue();this.callBase(n);break;case"text":this._renderText();this._renderDimensions();break;default:this.callBase(n)}}});return f("dxCheckBox",t,h),h});DevExpress.require(["/ui/widgets/ui.checkBox"]);DevExpress.define("/ui/widgets/ui.switch",["jquery","/devices","/utils/utils.inkRipple","/componentRegistrator","/ui/ui.editor","/ui/uiNamespace","/ui/events/ui.events.utils","/ui/events/ui.events.emitter.feedback","/ui/ui.themes"],function(n,t,i,r,u,f,e,o,s){var c=DevExpress.fx,h="dx-switch",v=h+"-wrapper",y=h+"-container",p=h+"-inner",w=h+"-handle",b=h+"-on-value",k=h+"-on",d=h+"-off",l=100,a=u.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)})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,onText:Globalize.localize("dxSwitch-onText"),offText:Globalize.localize("dxSwitch-offText"),value:!1,useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.real().generic&&!t.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(s.current())},options:{useInkRipple:!0}}])},_init:function(){this.callBase();this._feedbackHideTimeout=0;this._animating=!1},_render:function(){var t=this.element();this._$switchInner=n("<div>").addClass(p);this._$handle=n("<div>").addClass(w).appendTo(this._$switchInner);this.option("useInkRipple")&&this._renderInkRipple();this._$labelOn=n("<div>").addClass(k).prependTo(this._$switchInner);this._$labelOff=n("<div>").addClass(d).appendTo(this._$switchInner);this._$switchContainer=n("<div>").addClass(y).append(this._$switchInner);this._$switchWrapper=n("<div>").addClass(v).append(this._$switchContainer);t.addClass(h).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),itemSizeFunc:n.proxy(this._getMarginBound,this)});this._renderLabels();this.callBase();this._updateMarginBound();this._renderValue();this._renderClick()},_renderInkRipple:function(){this._inkRipple=i.render({waveSizeCoefficient:1.7,isCentered:!0,useHoldAnimation:!1,wavesNumber:2})},_renderInkWave:function(n,t,i,r){if(this._inkRipple){var u={element:n,jQueryEvent:t,wave:r};i?this._inkRipple.showWave(u):this._inkRipple.hideWave(u)}},_updateFocusState:function(n,t){this.callBase.apply(this,arguments);this._renderInkWave(this._$handle,n,t,0)},_toggleActiveState:function(n,t,i){this.callBase.apply(this,arguments);this._renderInkWave(this._$handle,i,t,1)},_updateMarginBound:function(){this._marginBound=this._$switchContainer.outerWidth(!0)-this._$handle.outerWidth()},_getMarginBound:function(){return this._marginBound},_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._getMarginBound()*(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){this.time=new Date;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(),o=i==="Left"?"Right":"Left",f={},e={};this._$switchInner.css("margin"+o,0);f["margin"+i]=(Number(r)-1)*this._getMarginBound();e["margin"+i]=(Number(t)-1)*this._getMarginBound();c.animate(this._$switchInner,{from:f,to:e,duration:l,complete:function(){u._animating=!1;u.option("value",t)}})}},_swipeStartHandler:function(t){var i=this.option("value"),r=this.option("rtlEnabled"),u=r?0:1,f=r?1:0;t.jQueryEvent.maxLeftOffset=i?u:f;t.jQueryEvent.maxRightOffset=i?f:u;this._swiping=!0;this._feedbackDeferred=n.Deferred();o.lock(this._feedbackDeferred);this._toggleActiveState(this.element(),this.option("activeStateEnabled"))},_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._getMarginBound()*(t.option("value")+i*n.jQueryEvent.targetOffset-1);c.animate(this._$switchInner,{to:r,duration:l,complete:function(){t._swiping=!1;var r=t.option("value")+i*n.jQueryEvent.targetOffset;t.option("value",Boolean(r));t._feedbackDeferred.resolve();t._toggleActiveState(t.element(),!1)}})},_renderValue:function(){this._validateValue();var n=this.option("value");this._renderPosition(n,0);this.element().toggleClass(b,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"useInkRipple":this._invalidate();break;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)}}});return r("dxSwitch",f,a),a});DevExpress.require(["/ui/widgets/ui.switch"]);DevExpress.define("/ui/widgets/textEditor/ui.textEditor.base",["jquery","/utils/utils.inflector","/utils/utils.dom","/utils/utils.common","/componentRegistrator","/ui/uiNamespace","/ui/ui.editor","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer"],function(n,t,i,r,u,f,e,o,s){var a="dx-texteditor",c="dx-texteditor-input",v="."+c,y="dx-texteditor-container",l="dx-texteditor-buttons-container",p="dx-placeholder",w="dx-show-clear-button",b="dx-icon",k="dx-icon-clear",d="dx-clear-button-area",g="dx-texteditor-empty",h=["KeyDown","KeyPress","KeyUp","Change","Cut","Copy","Paste","Input"];return e.inherit({_supportedKeys:function(){var n=function(n){n.stopPropagation()};return{space:n,enter:n,leftArrow:n,rightArrow:n}},_getDefaultOptions:function(){return n.extend(this.callBase(),{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:undefined,valueFormat:function(n){return n}})},_input:function(){return this.element().find(v).first()},_inputWrapper:function(){return this.element()},_buttonsContainer:function(){return this._inputWrapper().find("."+l)},_render:function(){this.element().addClass(a);this._renderInput();this._renderInputType();this._renderValue();this._renderProps();this._renderPlaceholder();this.callBase();this._refreshValueChangeEvent();this._renderEvents();this._renderEnterKeyAction();this._renderEmptinessEvent()},_renderInput:function(){n("<div>").addClass(y).append(this._createInput()).append(n("<div>").addClass(l)).appendTo(this.element())},_createInput:function(){return n("<input>").addClass(c).attr("autocomplete","off").attr(this.option("attr"))},_renderValue:function(){this._renderInputValue();this._renderInputAddons()},_renderInputValue:function(){var n=this.option("text"),u=this.option("value"),t=this.option("displayValue"),i=this.option("valueFormat");t!==undefined?n=i(t):r.isDefined(n)||(n=i(u));this.option("text",n);this._input().val()!==(r.isDefined(n)?n:"")?this._renderDisplayText(n):this._toggleEmptinessEventHandler()},_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(g,n);this._togglePlaceholder(n)},_togglePlaceholder:function(n){this._$placeholder&&this._$placeholder.toggleClass("dx-state-invisible",!n)},_renderProps:function(){this._toggleDisabledState(this.option("disabled"));this._toggleReadOnlyState();this._toggleSpellcheckState()},_toggleDisabledState:function(n){this.callBase.apply(this,arguments);var t=this._input();n?t.attr("disabled",!0).attr("tabindex",-1):t.removeAttr("disabled").removeAttr("tabindex")},_toggleReadOnlyState:function(){this._input().prop("readOnly",this._readOnlyPropValue());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,r=i._input(),u=i.option("placeholder"),t=this._$placeholder=n("<div>").attr("data-dx_placeholder",u),f=o.addNamespace(s.up,this.NAME);t.on(f,function(){r.focus()});t.insertAfter(r);t.addClass(p)},_placeholder:function(){return this._$placeholder||n()},_renderInputAddons:function(){this._renderClearButton()},_renderClearButton:function(){var n=this._clearButtonVisibility();this.element().toggleClass(w,n);n&&(this._$clearButton&&(!this._$clearButton||this._$clearButton.closest(this.element()).length)||(this._$clearButton=this._createClearButton()),this._$clearButton.prependTo(this._buttonsContainer()));this._$clearButton&&this._$clearButton.toggleClass("dx-state-invisible",!n)},_clearButtonVisibility:function(){return this.option("showClearButton")&&!this.option("readOnly")},_createClearButton:function(){return n("<span>").addClass(d).append(n("<span>").addClass(b).addClass(k)).on(o.addNamespace(s.down,this.NAME),function(n){n.pointerType==="mouse"&&n.preventDefault()}).on(o.addNamespace("dxclick",this.NAME),n.proxy(this._clearValueHandler,this))},_clearValueHandler:function(n){var t=this._input();n.stopPropagation();this._valueChangeEventHandler(n);this.reset();t.is(":focus")||t.focus()},_renderEvents:function(){var t=this,i=t._input();n.each(h,function(n,r){if(t.option("on"+r)){var u=t._createActionByOption("on"+r,{excludeValidators:["readOnly"]});i.on(o.addNamespace(r.toLowerCase(),t.NAME),function(n){t._disposed||u({jQueryEvent:n})})}})},_refreshEvents:function(){var t=this,i=this._input();n.each(h,function(n,r){i.off(o.addNamespace(r.toLowerCase(),t.NAME))});this._renderEvents()},_keyPressHandler:function(){this.option("text",this._input().val())},_renderValueChangeEvent:function(){var t=o.addNamespace(this._renderValueEventName(),this.NAME+"TextChange"),i=o.addNamespace(this.option("valueChangeEvent"),this.NAME+"ValueChange");this._input().on(t,n.proxy(this._keyPressHandler,this)).on(i,n.proxy(this._valueChangeEventHandler,this))},_cleanValueChangeEvent:function(){var n=this.NAME+"ValueChange",t=o.addNamespace(this._renderValueEventName(),this.NAME+"TextChange");this._input().off("."+n).off(t)},_refreshValueChangeEvent:function(){this._cleanValueChangeEvent();this._renderValueChangeEvent()},_renderValueEventName:function(){return"input change keypress"},_focusTarget:function(){return this._input()},_toggleFocusClass:function(n){this.callBase(n,this.element())},_hasFocusClass:function(t){return this.callBase(n(t||this.element()))},_renderEmptinessEvent:function(){var t=this._input();t.on("input blur",n.proxy(this._toggleEmptinessEventHandler,this));this._toggleEmptinessEventHandler()},_toggleEmptinessEventHandler:function(){var n=this._input().val(),t=(n===""||n===null)&&this._isValueValid();this._toggleEmptiness(t)},_valueChangeEventHandler:function(n,t){this._saveValueChangeEvent(n);this.option("value",arguments.length>1?t:this._input().val())},_renderEnterKeyAction:function(){this._enterKeyAction=this._createActionByOption("onEnterKey",{excludeValidators:["readOnly"]});this._input().off("keyup.onEnterKey.dxTextEditor").on("keyup.onEnterKey.dxTextEditor",n.proxy(this._enterKeyHandlerUp,this))},_enterKeyHandlerUp:function(n){this._disposed||n.which===13&&this._enterKeyAction({jQueryEvent:n})},_updateValue:function(){this.option("text",undefined);this._renderValue()},_dispose:function(){this._enterKeyAction=undefined;this.callBase()},_optionChanged:function(t){var i=t.name;if(n.inArray(i.replace("on",""),h)>-1){this._refreshEvents();return}switch(i){case"valueChangeEvent":this._refreshValueChangeEvent();this._refreshFocusEvent();this._refreshEvents();break;case"onValueChanged":this._createValueChangeAction();break;case"readOnly":this.callBase(t);this._renderInputAddons();break;case"spellcheck":this._toggleSpellcheckState();break;case"mode":this._renderInputType();break;case"onEnterKey":this._renderEnterKeyAction();break;case"placeholder":this._renderPlaceholder();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)&&i.resetActiveElement()},reset:function(){this.option("value","")}})});DevExpress.define("/ui/widgets/textEditor/ui.textEditor.mask.rule",["jquery","/class","/utils/utils.common"],function(n,t,i){var r=" ",u=t.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,t){var r=n.hasOwnProperty("value")?"value":"text";return n[r]=i.isDefined(t.str)?t.str:n[r],n.start=i.isDefined(t.start)?t.start:n.start,n.length=i.isDefined(t.length)?t.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}),e=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||!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()}}),o=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()}});return{MaskRule:f,StubMaskRule:o,EmptyMaskRule:e}});DevExpress.define("/ui/widgets/textEditor/ui.textEditor.mask",["jquery","/utils/utils.caret","/utils/utils.dom","/utils/utils.common","/ui/widgets/textEditor/ui.textEditor.base","/ui/widgets/textEditor/ui.textEditor.mask.rule","/ui/events/ui.events.utils"],function(n,t,i,r,u,f,e){var w=function(){return{}},c=" ",l=32,b="\\",a="dx-texteditor-masked",o="dxMask",s="forward",v="backward",k={"0":/[0-9]/,"9":/[0-9\s]/,"#":/[-+0-9\s]/,L:function(n){return h(n)},l:function(n){return h(n)||p(n)},C:/\S/,c:/./,A:function(n){return h(n)||y(n)},a:function(n){return h(n)||y(n)||p(n)}},y=function(n){return/[0-9]/.test(n)},h=function(n){var t=n.charCodeAt();return 64<t&&t<91||96<t&&t<123||t>127},p=function(n){return n===" "},d={9:"tab",35:"end",36:"home",37:"leftArrow",38:"upArrow",39:"rightArrow",40:"downArrow"};return u.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{mask:"",maskChar:"_",maskRules:{},maskInvalidMessage:Globalize.localize("validation-mask"),useMaskedValue:!1})},_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(a),this._maskRulesChain=null,this.option("mask"))&&(this.element().addClass(a),this._attachMaskEventHandlers(),this._parseMask(),this._renderMaskedValue(),this._changedValue=this._input().val())},_attachMaskEventHandlers:function(){this._input().off("."+o).on(e.addNamespace("focus",o),n.proxy(this._maskFocusHandler,this)).on(e.addNamespace("keydown",o),n.proxy(this._maskKeyDownHandler,this)).on(e.addNamespace("keypress",o),n.proxy(this._maskKeyPressHandler,this)).on(e.addNamespace("input",o),n.proxy(this._maskInputHandler,this)).on(e.addNamespace("paste",o),n.proxy(this._maskPasteHandler,this)).on(e.addNamespace("cut",o),n.proxy(this._maskCutHandler,this)).on(e.addNamespace("drop",o),n.proxy(this._maskDragHandler,this));this._attachChangeEventHandlers()},_attachChangeEventHandlers:function(){if(n.inArray("change",this.option("valueChangeEvent").split(" "))!==-1)this._input().on(e.addNamespace("blur",o),n.proxy(function(n){this._suppressCaretChanging(this._changeHandler,[n]);this._changeHandler(n)},this))},_suppressCaretChanging:function(n,i){var r=t;t=w;try{n.apply(this,i)}finally{t=r}},_changeHandler:function(n){var t=this._input(),i=t.val(),r;i!==this._changedValue&&(this._changedValue=i,r=e.createEvent(n,{type:"change"}),t.trigger(r))},_parseMask:function(){this._maskRules=n.extend({},k,this.option("maskRules"));this._maskRulesChain=this._parseMaskRule(0)},_parseMaskRule:function(n){var t=this.option("mask");if(n>=t.length)return new f.EmptyMaskRule;var i=t[n],r=i===b,u=r?new f.StubMaskRule({maskChar:t[n+1]}):this._getMaskRule(i);return u.next(this._parseMaskRule(n+1+r)),u},_getMaskRule:function(t){var i;return n.each(this._maskRules,function(n,r){if(n===t)return i={pattern:n,allowedChars:r},!1}),r.isDefined(i)?new f.MaskRule(n.extend({maskChar:this.option("maskChar")},i)):new f.StubMaskRule({maskChar:t})},_renderMaskedValue:function(){var n,t;this._maskRulesChain&&(n=this.option("value")||"",this._maskRulesChain.clear(),t={length:n.length},t[this._isMaskedValueMode()?"text":"value"]=n,this._handleChain(t),this._displayMask())},_isMaskedValueMode:function(){return this.option("useMaskedValue")},_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.callBase.apply(this,arguments);return}this._saveValueChangeEvent(n);var t=this._isMaskedValueMode()?(this._textValue||"").replace(new RegExp("["+this.option("maskChar")+"]","g")," ").replace(/\s+$/,""):(this._value||"").replace(/\s+$/,"");this.option("value",t)},_maskFocusHandler:function(){this._direction(s);this._adjustCaret()},_maskKeyDownHandler:function(){this._keyPressHandled=!1},_maskKeyPressHandler:function(n){this._keyPressHandled||(this._keyPressHandled=!0,this._isControlKeyFired(n))||this._maskKeyHandler(n,function(){return this._handleKey(n.which),!0})},_maskInputHandler:function(t){var r,i,u,f;this._keyPressHandled||(this._keyPressHandled=!0,r=this._input().val(),i=this._caret(),i.start=i.end-1,u=r.substring(0,i.start)+r.substring(i.end),f=r[i.start],this._input().val(u),this._inputHandlerTimer=setTimeout(n.proxy(function(){this._caret({start:i.start,end:i.start});this._maskKeyHandler(t,function(){return this._handleKey(f.charCodeAt()),!0})},this)))},_isControlKeyFired:function(n){return d[n.keyCode]&&!n.which||n.metaKey},_maskBackspaceHandler:function(n){this._keyPressHandled=!0;this._maskKeyHandler(n,function(){return this._hasSelection()?!0:this._tryMoveCaretBackward()?!1:(this._handleKey(l,v),!0)})},_maskDelHandler:function(n){this._keyPressHandled=!0;this._maskKeyHandler(n,function(){return this._hasSelection()||this._handleKey(l),!0})},_maskPasteHandler:function(n){this._keyPressHandled=!0;var t=this._caret();this._maskKeyHandler(n,function(){var u=i.clipboardText(n),f=this._maskRulesChain.text().substring(t.end),e=this._handleChain({text:u,start:t.start,length:u.length}),r=t.start+e;return this._handleChain({text:f,start:r,length:f.length}),this._caret({start:r,end:r}),!0})},_handleChain:function(n){var t=this._maskRulesChain.handle(n);return this._value=this._maskRulesChain.value(),this._textValue=this._maskRulesChain.text(),t},_maskCutHandler:function(n){var t=this._caret(),r=this._input().val().substring(t.start,t.end);this._maskKeyHandler(n,function(){return i.clipboardText(n,r),!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"),c)},_maskKeyHandler:function(n,t){this.option("readOnly")||(this._direction(s),n.preventDefault(),this._handleSelection(),t.call(this))&&(this._direction(s),this._adjustCaret(),this._displayMask(),this._maskRulesChain.reset())},_handleKey:function(n,t){var i=String.fromCharCode(n);this._direction(t||s);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(c);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(v);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 t(this._input());t(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()===s},_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")}})}},_dispose:function(){clearTimeout(this._inputHandlerTimer);this.callBase()},_optionChanged:function(n){switch(n.name){case"mask":case"maskChar":case"maskRules":case"useMaskedValue":this._renderMask();this._validateMask();break;case"value":this._renderMaskedValue();this._validateMask();this.callBase(n);break;case"maskInvalidMessage":break;default:this.callBase(n)}}})});DevExpress.define("/ui/widgets/ui.textEditor",["jquery","/componentRegistrator","/ui/uiNamespace","/ui/widgets/textEditor/ui.textEditor.mask"],function(n,t,i,r){return t("dxTextEditor",i,r),r});DevExpress.define("/ui/widgets/ui.textBox",["jquery","/devices","/componentRegistrator","/ui/widgets/ui.textEditor","/ui/events/ui.events.utils","/ui/uiNamespace"],function(n,t,i,r,u,f){var s=window.navigator.userAgent,h=[8,9,13,33,34,35,36,37,38,39,40,46],c="dx-textbox",e="dx-searchbox",l="dx-icon",a="dx-icon-search",o=r.inherit({ctor:function(n,t){t&&(this._showClearButton=t.showClearButton);this.callBase.apply(this,arguments)},_getDefaultOptions:function(){return n.extend(this.callBase(),{mode:"text",maxLength:null})},_render:function(){this.callBase();this.element().addClass(c);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))},_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(e),this._renderSearchIcon(),this._showClearButton===undefined&&(this._showClearButton=this.option("showClearButton"),this.option("showClearButton",!0))):(n.removeClass(e),this._$searchIcon&&this._$searchIcon.remove(),this.option("showClearButton",this._showClearButton===undefined?this.option("showClearButton"):this._showClearButton),delete this._showClearButton)},_renderSearchIcon:function(){var t=n("<div>").addClass(l).addClass(a);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,h)!==-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=t.real(),i=n.version.join(".");return n.platform==="android"&&i&&/^(2\.|4\.1)/.test(i)&&!/chrome/i.test(s)}});return i("dxTextBox",f,o),o});DevExpress.require(["/ui/widgets/ui.textBox"]);DevExpress.define("/ui/widgets/ui.dropDownEditor",["jquery","/ui/ui.errors","/utils/utils.position","/utils/utils.common","/devices","/componentRegistrator","/ui/widgets/ui.button","/ui/events/ui.events.utils","/ui/widgets/ui.textBox","/ui/uiNamespace"],function(n,t,i,r,u,f,e,o,s,h){var a="dx-dropdowneditor",c="dx-dropdowneditor-input-wrapper",v="dx-dropdowneditor-button",y="dx-dropdowneditor-icon",p="dx-dropdowneditor-overlay",w="dx-dropdowneditor-overlay-flipped",b="dx-dropdowneditor-active",k="dx-dropdowneditor-button-visible",d="dx-dropdowneditor-field-clickable",l=s.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}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{value:null,onOpened:null,onClosed:null,opened:!1,fieldEditEnabled:!0,applyValueMode:"instantly",deferRendering:!0,activeStateEnabled:!0,fieldTemplate:null,contentTemplate:null,openOnFieldClick:!1,showDropButton:!0,popupPosition:this._getDefaultPopupPosition(),onPopupInitialized:null,applyButtonText:Globalize.localize("OK"),cancelButtonText:Globalize.localize("Cancel"),buttonsLocation:"default",showPopupTitle:!1})},_getDefaultPopupPosition:function(){var n=r.getDefaultAlignment(this.option("rtlEnabled"));return{offset:{h:0,v:-1},my:n+" top",at:n+" bottom",collision:"flip flip"}},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){var t=n.platform==="generic",i=n.platform==="win"&&n.version&&n.version[0]===10;return t||i},options:{popupPosition:{offset:{v:0}}}}])},_inputWrapper:function(){return this.element().find("."+c)},_init:function(){this.callBase();this._initVisibilityActions();this._initPopupInitializedAction()},_initVisibilityActions:function(){this._openAction=this._createActionByOption("onOpened",{excludeValidators:["disabled","readOnly"]});this._closeAction=this._createActionByOption("onClosed",{excludeValidators:["disabled","readOnly"]})},_initPopupInitializedAction:function(){this._popupInitializedAction=this._createActionByOption("onPopupInitialized",{excludeValidators:["disabled","readOnly","designMode"]})},_render:function(){this.callBase();this._renderOpenHandler();this.element().addClass(a);this._renderOpenedState();this.setAria("role","combobox")},_renderContentImpl:function(){this.option("deferRendering")||this._createPopup()},_renderInput:function(){this.callBase();this.element().wrapInner(n("<div>").addClass(c));this._$container=this.element().children().eq(0);this.setAria({haspopup:"true",autocomplete:"list"})},_readOnlyPropValue:function(){return!this.option("fieldEditEnabled")||this.callBase()},_cleanFocusState:function(){this.callBase();this.option("fieldTemplate")&&this._input().off("focusin focusout beforeactivate")},_renderField:function(){var r=this._getTemplateByOption("fieldTemplate"),n,i,u;if(r&&this.option("fieldTemplate")){if(n=this._input().is(":focus"),this._cleanFocusState(),n&&this._input().focusout(),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._refreshValueChangeEvent();n&&this._input().focus();this._renderFocusState()}},_fieldRenderData:function(){return this.option("value")},_renderInputAddons:function(){this._renderField();this.callBase();this._renderDropButton()},_renderDropButton:function(){var n=this.option("showDropButton");if(this.element().toggleClass(k,n),!n){this._$dropButton&&this._$dropButton.remove();this._$dropButton=null;return}this._$dropButton||(this._$dropButton=this._createDropButton().addClass(v));this._$dropButton.prependTo(this._buttonsContainer())},_createDropButton:function(){var t=n("<div>"),i;this._createComponent(t,e,{focusStateEnabled:!1,disabled:this.option("readOnly"),_templates:{},useInkRipple:!1});i=n("<div>").addClass(y);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=o.addNamespace("dxclick",this.NAME),t;if(i.off(r),t=this.option("openOnFieldClick"),this.element().toggleClass(d,t),t){i.on(r,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._needFocusOnButtonClick()&&this._input().focus(),this.option("readOnly")||(n=arguments.length?n:!this.option("opened"),this.option("opened",n)))},_needFocusOnButtonClick:function(){return u.real().deviceType==="desktop"},_renderOpenedState:function(){var n=this.option("opened");n&&this._createPopup();this.element().toggleClass(b,n);this._setPopupOption("visible",n);this.setAria({expanded:n,owns:(n||undefined)&&this._popupContentId})},_createPopup:function(){this._$popup||(this._$popup=n("<div>").addClass(p).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();this._popupContentId=new DevExpress.data.Guid;this.setAria("id",this._popupContentId,this._popup.content())},_contentReadyHandler:n.noop,_popupConfig:function(){return{onInitialized:this._popupInitializedHandler(),position:n.extend(this.option("popupPosition"),{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),fullScreen:!1}},_popupInitializedHandler:function(){if(this.option("onPopupInitialized"))return n.proxy(function(n){this._popupInitializedAction({popup:n.component})},this)},_popupPositionedHandler:function(n){this._popup.overlayContent().toggleClass(w,n.position.v.flip)},_popupShowingHandler:n.noop,_popupHidingHandler:function(){this.option("opened",!1)},_popupShownHandler:function(){this._openAction();this._$validationMessage&&this._$validationMessage.dxOverlay("option","position",this._getValidationMessagePosition())},_popupHiddenHandler:function(){this._closeAction();this._$validationMessage&&this._$validationMessage.dxOverlay("option","position",this._getValidationMessagePosition())},_getValidationMessagePosition:function(){var n="below",t,r;return this._popup&&this._popup.option("visible")&&(t=i.setup(this.element()).top,r=i.setup(this._popup.content()).top,n=t+this.option("popupPosition").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)},_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(t){var u=this.option("buttonsLocation"),f=t,i;return u!=="default"&&(i=r.splitPair(u),n.each(f,function(t,r){n.extend(r,{toolbar:i[0],location:i[1]})})),f},_applyButtonHandler:function(){this.close();this.option("focusStateEnabled")&&this.focus()},_cancelButtonHandler:function(){this.close();this.option("focusStateEnabled")&&this.focus()},_toggleReadOnlyState:function(){this.callBase();this._$dropButton&&this._$dropButton.dxButton("option","disabled",this.option("readOnly"))},_optionChanged:function(n){switch(n.name){case"opened":this._renderOpenedState();break;case"onOpened":case"onClosed":this._initVisibilityActions();break;case"onPopupInitialized":this._initPopupInitializedAction();break;case"fieldTemplate":this._renderInputAddons();break;case"showDropButton":case"contentTemplate":case"fieldEditEnabled":case"openOnFieldClick":this._invalidate();break;case"popupPosition":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}});return f("dxDropDownEditor",h,l),l});DevExpress.define("/ui/widgets/ui.dropDownList",["jquery","/ui/ui.errors","/utils/utils.common","/componentRegistrator","/ui/widgets/ui.dropDownEditor","/ui/uiNamespace","/ui/ui.dataExpression","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var l=".dx-list-item",s="dxListItemData",a="dx-dropdownlist-selected",v="dx-dropdownlist-popup-wrapper",h="dx-skip-gesture-event",y=["startswith","contains","endwith","notcontains"],c=u.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{tab:function(){if(this.option("opened")===!0){var n=this._list.option("focusedElement");n&&this._setSelectedElement(n);this.close()}else this._focusTarget().focusout()},space:n.noop,home:n.noop,end:n.noop})},_setSelectedElement:function(n){var t=this._listSelectedItemElements();this._changeSelectedItem(t,n);this.option("value",this._selectedItemValue())},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{pagingEnabled:{since:"15.1",message:"Use the 'dataSource.paginate' option instead"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),n.extend(e._dataExpressionDefaultOptions(),{displayValue:undefined,searchEnabled:!1,searchMode:"contains",searchTimeout:500,minSearchLength:0,searchExpr:null,valueChangeEvent:"input change keyup",selectedItem:null,pagingEnabled:undefined,noDataText:Globalize.localize("dxCollectionWidget-noDataText"),onSelectionChanged:null,onItemClick:n.noop,showDataBeforeSearch:!1,popupPosition:{my:"left top",at:"left bottom",offset:{h:0,v:0},collision:"flip"},popupWidthExtension:0}))},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{popupPosition:{offset:{v:-6}}}},{device:function(){return/android5/.test(o.current())},options:{popupWidthExtension:32}},{device:{platform:"ios"},options:{popupPosition:{offset:{v:-1}}}}])},_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",{excludeValidators:["disabled","readOnly"]})},_initSelectionChangedAction:function(){this._selectionChangedAction=this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption("onItemClick")},_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 v},_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 i=n.grep(this.option("items")||[],n.proxy(function(n){return this._isValueEquals(this._valueGetter(n),t)},this))[0];return i!==undefined?n.Deferred().resolve(i).promise():this._loadValue(t)},_setSelectedItem:function(n){var t=this._displayValue(n);this.option("selectedItem",i.ensureDefined(n,null));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),f=this._valueGetter(r.data(s)),u=this._isSelectedValue(f);r.toggleClass(this._selectedItemClass(),u);u?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,y)<0)throw t.Error("E1019",i);},_clearSelectedItem:function(){this.option("selectedItem",null)},_processDataSourceChanging:function(){this._setListDataSource();this._renderInputValue().fail(n.proxy(function(){this._isCustomValueAllowed()||this._clearSelectedItem()},this))},_isCustomValueAllowed:function(){return this.option("displayCustomValue")},reset:function(){this.option("value",null);this._clearFilter();this._clearSelectedItem()},_selectedItemClass:function(){return a},_listItemElements:function(){return this._$list?this._$list.find(l):n()},_listSelectedItemElements:function(){return this._$list?this._$list.find("."+this._selectedItemClass()):n()},_popupConfig:function(){var t=this;return n.extend(this.callBase(),{width:this.option("width"),onShowing:function(){t.element().addClass(h)},onHidden:function(){t.element().removeClass(h)},height:"auto",maxHeight:n.proxy(this._getMaxHeight,this)})},_renderPopupContent:function(){this._renderList()},_attachChildKeyboardEvents:function(){this._childKeyboardProcessor=this._keyboardProcessor.attachChildProcessor();this._setListOption("_keyboardProcessor",this._childKeyboardProcessor)},_fireContentReadyAction:n.noop,_setAriaTargetForList:function(){this._list._getAriaTarget=n.proxy(this._getAriaTarget,this);this._list.setAria("role","combobox")},_renderList:function(){this._listId=(new DevExpress.data.Guid)._value;var t=this._$list=n("<div>",{id:this._listId}).appendTo(this._popup.content());this._list=this._createComponent(t,"dxList",this._listConfig());this._refreshList();this._setAriaTargetForList()},_renderOpenedState:function(){this.callBase();var n=this.option("opened")||undefined;this.setAria({activedescendant:n&&this._list.getFocusedItemId(),owns:n&&this._listId})},_refreshList:function(){this._list&&this._shouldRefreshDataSource()&&this._setListDataSource()},_shouldRefreshDataSource:function(){var n=!!this._list.option("dataSource");return n!==this._needPassDataSourceToList()},_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._getDataSource(),_keyboardProcessor:this._childKeyboardProcessor}},_getDataSource:function(){return this._needPassDataSourceToList()?this._dataSource:null},_dataSourceOptions:function(){this._suppressDeprecatedWarnings();var n=this.option("pagingEnabled");return this._resumeDeprecatedWarnings(),{paginate:i.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(){this._list&&(this._setListOption("dataSource",this._getDataSource()),this._needPassDataSourceToList()||this._setListOption("items",[]))},_needPassDataSourceToList:function(){return this.option("showDataBeforeSearch")||this._isMinSearchLengthExceeded()},_isMinSearchLengthExceeded:function(){return this._searchValue().toString().length>=this.option("minSearchLength")},_searchValue:function(){return this._input().val()||""},_search:function(){if(!this._isMinSearchLengthExceeded()){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._needPassDataSourceToList()&&this._filterDataSource(null);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.load().done(n.proxy(this._dataSourceFiltered,this))},_clearFilter:function(){this._dataSource.searchValue()&&this._dataSource.searchValue(null)},_dataSourceFiltered:function(){this._clearSearchTimer();this._refreshList();this._refreshPopupVisibility()},_refreshPopupVisibility:function(){this.option("readOnly")||(this.option("opened",this._hasItemsToShow()),this.option("opened")&&this._dimensionChanged())},_hasItemsToShow:function(){var n=this._dataSource&&this._dataSource.items()||[],t=n.length,i=this._needPassDataSourceToList();return i&&t&&this._hasFocusClass()},_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(){this._popup.repaint();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(s))},_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)},_needFocusOnButtonClick:function(){return!0},_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"showDataBeforeSearch":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(e);return r("dxDropDownList",f,c),c});DevExpress.define("/ui/widgets/ui.textArea",["jquery","/componentRegistrator","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/widgets/ui.textBox","/ui/uiNamespace"],function(n,t,i,r,u,f){var o="dx-textarea",s="dx-texteditor-input",e=u.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{spellcheck:!0})},_render:function(){this.callBase();this.element().addClass(o);this.setAria("multiline","true")},_renderInput:function(){this.callBase();this._renderScrollHandler()},_createInput:function(){return n("<textarea>").addClass(s).attr(this.option("attr"))},_renderScrollHandler:function(){var n=this._input(),t=0;n.on(i.addNamespace(r.down,this.NAME),function(n){t=i.eventData(n).y});n.on(i.addNamespace(r.move,this.NAME),function(r){var u=n.scrollTop(),f=n.prop("scrollHeight")-n.prop("clientHeight")-u;if(u!==0||f!==0){var e=i.eventData(r).y,o=u===0&&t>=e,s=f===0&&t<=e,h=u>0&&f>0;(o||s||h)&&(r.isScrollingEvent=!0,r.stopPropagation());t=e}})},_renderInputType:n.noop});return t("dxTextArea",f,e),e});DevExpress.require(["/ui/widgets/ui.textArea"]);DevExpress.define("/ui/widgets/numberBox/ui.numberBox.spin",["jquery","/ui/ui.widget","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/events/ui.events.emitter.feedback"],function(n,t,i,r,u){var s="dx-numberbox-spin",h="dx-numberbox-spin-button",c=100,f="dxNumberBox",e=i.addNamespace(r.up,f),o=i.addNamespace(r.cancel,f);return t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{direction:"up",onChange:null,activeStateEnabled:!0,hoverStateEnabled:!0})},_render:function(){this.callBase();var f=this.element(),t=s+"-"+this.option("direction"),u=i.addNamespace(r.down,this.NAME);f.addClass(h).addClass(t).off(u).on(u,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();u.lock(this._feedBackDeferred);this._spinChangeHandler({jQueryEvent:t});this._holdTimer=setInterval(this._spinChangeHandler,c,{jQueryEvent:t})},this)).on(e,n.proxy(this._clearTimer,this)).on(o,n.proxy(this._clearTimer,this));this._spinChangeHandler({jQueryEvent:t})},_dispose:function(){this._clearTimer();this.callBase()},_clearTimer:function(){n(document).off(e).off(o).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)}}})});DevExpress.define("/ui/widgets/ui.numberBox",["jquery","/utils/utils.common","/devices","/componentRegistrator","/ui/uiNamespace","/ui/widgets/ui.textEditor","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/events/ui.events.wheel","/ui/widgets/numberBox/ui.numberBox.spin","/ui/events/ui.events.emitter.feedback","/utils/utils.caret"],function(n,t,i,r,u,f,e,o,s,h){var c=Math,a="dx-numberbox",v="dx-numberbox-spin",y="dx-numberbox-spin-container",p="dx-numberbox-spin-touch-friendly",w=["Tab","Del","Delete","Backspace","Left","ArrowLeft","Right","ArrowRight","Home","End"],l=f.inherit({_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"))}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{value:0,min:undefined,max:undefined,step:1,showSpinButtons:!1,useTouchSpinButtons:!0,mode:"text"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return i.real().generic&&!i.isSimulator()},options:{useTouchSpinButtons:!1}},{device:function(){return i.real().platform!=="generic"},options:{mode:"number"}}])},_render:function(){this.callBase();this.element().addClass(a);this.setAria("role","spinbutton");this._renderMouseWheelHandler()},_keyPressHandler:function(t){this.callBase(t);var i=String.fromCharCode(t.which),r=/[\d.,eE\-+]/.test(i);if(!r)return t.metaKey||t.ctrlKey||t.key&&n.inArray(t.key,w)>=0?void 0:(t.preventDefault(),!1);this._keyPressed=!0},_renderMouseWheelHandler:function(){var t=e.addNamespace(s.name,this.NAME),i=this._createAction(n.proxy(function(n){this._mouseWheelHandler(n.jQueryEvent)},this));this._input().off(t).on(t,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(){var t=this._input().val(),n;t.length&&Number(t)===this.option("value")||(this._forceValueRender(),this._toggleEmptinessEventHandler());n=this.option("value");this._validateValue(n);this._renderInputAddons();this.setAria("valuenow",n)},_renderValueEventName:function(){return this.callBase()+" keypress"},_toggleDisabledState:function(n){this._$spinUp&&h.getInstance(this._$spinUp).option("disabled",n);this._$spinDown&&h.getInstance(this._$spinDown).option("disabled",n);this.callBase.apply(this,arguments)},_forceValueRender:function(){var n=this.option("value"),t=Number(n),i=this.option("valueFormat"),r=isNaN(t)?"":i(n);this._renderDisplayText(r)},_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(v,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(p,this.option("showSpinButtons")&&this.option("useTouchSpinButtons"))},_createSpinButtons:function(){var i=e.addNamespace(o.down,this.NAME),r=this._createAction(n.proxy(this._spinButtonsPointerDownHandler,this)),t=n("<div>").addClass(y).off(i).on(i,function(n){r({jQueryEvent:n})});return this._$spinUp=n("<div>").appendTo(t),this._createComponent(this._$spinUp,h,{direction:"up",onChange:n.proxy(this._spinUpChangeHandler,this)}),this._$spinDown=n("<div>").appendTo(t),this._createComponent(this._$spinDown,h,{direction:"down",onChange:n.proxy(this._spinDownChangeHandler,this)}),t},_spinButtonsPointerDownHandler:function(){var n=this._input();this.option("useTouchSpinButtons")||document.activeElement===n[0]||n.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._normalizeInputValue())||0,u=parseFloat(this.option("step")),i,r;t=this._correctRounding(t,u*n);i=this.option("min");r=this.option("max");i!==undefined&&(t=Math.max(i,t));r!==undefined&&(t=Math.min(r,t));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,o=c.max(f,e);return this._round(n+t,o)}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(){if(this.option("mode")!=="number"){var n=this._input(),t=this.option("valueFormat");n.val(null);n.val(t(this.option("value")))}},_valueChangeEventHandler:function(n){var i=this._input(),r=i.val(),t=this._normalizeInputValue(),u=this.option("valueFormat");if(this._shouldBeValidated()&&!this._validateValue(t)){i.val(u(this.option("value")));return}if(this.option("mode")==="number"){this.callBase(n,isNaN(t)?null:t);return}this._isValueIncomplete(r)||(Number(r)!==t&&i.val(u(t)),this.callBase(n,t))},_inputIsInvalid:function(){var t=this.option("mode")==="number",n=this._input().get(0).validity;return t&&n&&n.badInput},_renderDisplayText:function(n){this._inputIsInvalid()||this.callBase(n)},_isValueIncomplete:function(n){return/^(([+-])|([+-]?(0|[1-9]\d*)?[.,])|([+-]?(0|[1-9]\d*)?([.,]\d+)[eE][+-]?)|([+-]?(0|[1-9]\d*)[eE][+-]?))$/.test(n)},_shouldBeValidated:function(){var n=this._normalizeText();return!!n&&!isNaN(Number(n))&&this._isValueValid()},_validateValue:function(n){var r=this._normalizeText(),i=this._isValueValid(),t=!0,u=/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/.test(r);return isNaN(Number(n))&&(t=!1),!n&&i?t=!0:u||i||(t=!1),this.option("isValid",t),t},_normalizeInputValue:function(){return this._normalizeValue()},_normalizeValue:function(n){return this._parseValue(this._normalizeText(n))},_normalizeText:function(i){return i=n.trim(t.isDefined(i)?i:this._input().val()),i.replace(",",".")},_parseValue:function(n){if(n==="")return null;var t=parseFloat(n);return this.option("min")!==undefined&&(t=c.max(t,this.option("min"))),this.option("max")!==undefined&&(t=c.min(t,this.option("max"))),t},_clean:function(){delete this._$spinContainer;delete this._$spinUp;delete this._$spinDown;this.callBase()},_optionChanged:function(n){switch(n.name){case"value":this.callBase(n);this._validateValue(n.value);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)}}});return r("dxNumberBox",u,l),l});DevExpress.require(["/ui/widgets/ui.numberBox"]);DevExpress.define("/ui/widgets/ui.radioButton",["jquery","/devices","/utils/utils.inkRipple","/componentRegistrator","/ui/ui.editor","/ui/uiNamespace","/ui/events/ui.events.utils","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var h="dx-radiobutton",c="dx-radiobutton-icon",l="dx-radiobutton-icon-dot",a="dx-radiobutton-checked",s=u.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault();this._clickAction({jQueryEvent:n})};return n.extend(this.callBase(),{space:t})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,value:!1,useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.real().generic&&!t.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(o.current())},options:{useInkRipple:!0}}])},_init:function(){this.callBase();this.element().addClass(h)},_render:function(){this.callBase();this._renderIcon();this.option("useInkRipple")&&this._renderInkRipple();this._renderCheckedState(this.option("value"));this._renderClick();this.setAria("role","radio")},_renderInkRipple:function(){this._inkRipple=i.render({waveSizeCoeffient:3.3,useHoldAnimation:!1,wavesNumber:2,isCentered:!0})},_renderInkWave:function(n,t,i,r){if(this._inkRipple){var u={element:n,jQueryEvent:t,wave:r};i?this._inkRipple.showWave(u):this._inkRipple.hideWave(u)}},_updateFocusState:function(n,t){this.callBase.apply(this,arguments);this._renderInkWave(this._$icon,n,t,0)},_toggleActiveState:function(n,t,i){this.callBase.apply(this,arguments);this._renderInkWave(this._$icon,i,t,1)},_renderIcon:function(){this._$icon=n("<div>").addClass(c);n("<div>").addClass(l).appendTo(this._$icon);this.element().append(this._$icon)},_renderCheckedState:function(n){this.element().toggleClass(a,n);this.setAria("checked",n)},_renderClick:function(){var t=e.addNamespace("dxclick",this.NAME);this._clickAction=this._createAction(n.proxy(function(n){this._clickHandler(n.jQueryEvent)},this));this.element().off(t).on(t,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"useInkRipple":this._invalidate();break;case"value":this._renderCheckedState(n.value);this.callBase(n);break;default:this.callBase(n)}}});return r("dxRadioButton",f,s),s});DevExpress.define("/ui/widgets/ui.radioGroup",["jquery","/devices","/componentRegistrator","/ui/ui.editor","/ui/uiNamespace","/utils/utils.inkRipple","/ui/ui.dataExpression","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var a="dx-radiogroup",v="dx-radiogroup-vertical",y="dx-radiogroup-horizontal",c="dx-radiobutton",s="dx-radiobutton-icon",p="dx-radiobutton-icon-dot",w="dx-radio-value-container",b="dx-radiobutton-checked",k="dxItemData",d=100,l=DevExpress.ui.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),e._dataExpressionDefaultOptions(),{_itemAttributes:{role:"radio"}})},_supportedKeys:function(){var t=this.callBase();return n.extend({},t,{enter:function(n){return n.preventDefault(),t.enter.apply(this,arguments)},space:function(n){return n.preventDefault(),t.space.apply(this,arguments)}})},_focusTarget:function(){return this.element().parent()},_keyboardEventBindingTarget:function(){return this._focusTarget()}}),h;return l.publicName("dxRadioCollection"),h=r.inherit({_activeStateUnit:"."+c,_getDefaultOptions:function(){return n.extend(this.callBase(),n.extend(e._dataExpressionDefaultOptions(),{hoverStateEnabled:!0,activeStateEnabled:!0,layout:"vertical",useInkRipple:!1}))},_defaultOptionsRules:function(){return this.callBase().concat([{device:{tablet:!0},options:{layout:"horizontal"}},{device:function(){return t.real().generic&&!t.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(o.current())},options:{useInkRipple:!0}}])},_setOptionsByReference:function(){this.callBase();n.extend(this._optionsByReference,{value:!0})},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){this.callBase();this._initDataExpressions();this._feedbackHideTimeout=d},_render:function(){this.element().addClass(a);this._renderRadios();this.setAria("role","radiogroup");this.callBase();this._renderLayout();this._updateItemsSize();this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=f.render({waveSizeCoeffient:3.3,useHoldAnimation:!1,isCentered:!0})},_toggleActiveState:function(n,t,i){(this.callBase.apply(this,arguments),this._inkRipple)&&(t?this._inkRipple.showWave({element:n.find("."+s),jQueryEvent:i}):this._inkRipple.hideWave({element:n.find("."+s),jQueryEvent:i}))},_renderFocusState:n.noop,_renderRadios:function(){var t=n("<div>").appendTo(this.element());this._radios=this._createComponent(t,l,{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:""});this._setCollectionWidgetOption("onContentReady",n.proxy(this._contentReadyHandler,this));this._contentReadyHandler()},_contentReadyHandler:function(){this.itemElements().addClass(c);this._refreshSelected()},_itemRenderedHandler:function(t){if(!t.itemData.html){var i,r;i=n("<div>").addClass(s);n("<div>").addClass(p).appendTo(i);r=n("<div>").append(i).addClass(w);t.itemElement.prepend(r)}},_itemClickHandler:function(n){this.option("value",this._getItemValue(n.itemData))},_getItemValue:function(n){return this._valueGetter?this._valueGetter(n):n.text},itemElements:function(){return this._radios.itemElements()},_renderDimensions:function(){this.callBase();this._updateItemsSize()},_renderLayout:function(){var n=this.option("layout");this.element().toggleClass(v,n==="vertical");this.element().toggleClass(y,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(k));u.toggleClass(b,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+"%")}},_getAriaTarget:function(){return this.element()},_setCollectionWidgetOption:function(){this._setWidgetOption("_radios",arguments)},focus:function(){this._radios&&this._radios.focus()},_optionChanged:function(n){this._dataExpressionOptionChanged(n);switch(n.name){case"useInkRipple":this._invalidate();break;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(e),i("dxRadioGroup",u,h),h});DevExpress.require(["/ui/widgets/ui.radioGroup"]),function(n,t){var r=t.ui,u=t.require("/devices"),a=t.require("/componentRegistrator"),v=t.require("/ui/widgets/ui.button"),y=t.require("/utils/utils.inkRipple"),i=t.require("/ui/events/ui.events.utils"),p=t.require("/utils/utils.dom"),f=t.require("/ui/events/pointer/ui.events.pointer"),w=t.require("/ui/ui.themes"),b="dx-tabs",e="dx-indent-wrapper",o="dx-tabs-expanded",k="dx-scrollable-wrapper",s="dx-tabs-nav-buttons",d="dx-tab",g="dx-tab-selected",nt="dx-tabs-nav-button",tt="dx-tabs-nav-button-left",it="dx-tabs-nav-button-right",rt="dxTabData",ut=100,h=5,ft=300,c="dx-state-active",l=30;a("dxTabs",r,r.CollectionWidget.inherit({_activeStateUnit:".dx-tab",_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,showNavButtons:!1,scrollByContent:!0,scrollingEnabled:!0,selectionMode:"single",activeStateEnabled:!0,selectionRequired:!1,selectOnFocus:!0,loopItemFocus:!1,useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"generic"},options:{showNavButtons:!0,scrollByContent:!1}},{device:function(){return u.real().generic&&!u.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(w.current())},options:{useInkRipple:!0}}])},_init:function(){this.callBase();this._renderMultiple();this.element().addClass(b);this._feedbackHideTimeout=ut},_itemClass:function(){return d},_selectedItemClass:function(){return g},_itemDataKey:function(){return rt},_renderContent:function(){this.callBase();var n=this;this.option("templatesRenderAsynchronously")&&(this._resizeEventTimer=setTimeout(function(){p.triggerResizeEvent(n._$content)},0))},_render:function(){this.callBase();this._renderWrapper();this._renderScrolling();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);this.option("useInkRipple")&&this._renderInkRipple()},_renderScrolling:function(){this.element().removeClass(o);this._allowScrolling()&&!this._scrollable&&(this._renderScrollable(),this._renderNavButtons(),this._scrollToItem(this.option("selectedItem")));this._allowScrolling()||(this._cleanScrolling(),this.element().removeClass(s).addClass(o))},_cleanNavButtons:function(){this._leftButton&&this._rightButton&&(this._leftButton.element().remove(),this._rightButton.element().remove(),this._leftButton=null,this._rightButton=null)},_cleanScrolling:function(){this._scrollable&&(this._scrollable.content().children("."+e).appendTo(this._itemContainer()),this._scrollable.element().remove(),this._scrollable=null,this._cleanNavButtons())},_renderInkRipple:function(){this._inkRipple=y.render()},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple){var r={element:n,jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_renderMultiple:function(){this.option("selectionMode")==="multiple"&&this.option("selectOnFocus",!1)},_renderWrapper:function(){this.element().wrapInner(n("<div>").addClass(e))},_renderScrollable:function(){var t=this.element().wrapInner(n("<div>").addClass(k)).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())},_scrollToItem:function(n){if(this._scrollable){var t=this._editStrategy.getItemElement(n);this._scrollable.scrollToElement(t)}},_allowScrolling:function(){if(!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(s,this.option("showNavButtons")),this.option("showNavButtons"))&&(this._leftButton=this._createNavButton(-l,"chevronprev"),n=this._leftButton.element(),n.addClass(tt),this.element().prepend(n),this._rightButton=this._createNavButton(l,"chevronnext"),t=this._rightButton.element(),t.addClass(it),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,r){var u=this,o=u._createAction(function(){u._holdInterval=setInterval(function(){u._updateScrollPosition(t,h)},h)}),s=i.addNamespace("dxhold","dxNavButton"),c=i.addNamespace(f.up,"dxNavButton"),l=i.addNamespace(f.out,"dxNavButton"),e=this._createComponent(n("<div>").addClass(nt),v,{focusStateEnabled:!1,icon:r,type:"back",onClick:function(){u._updateScrollPosition(t,1)},_templates:{}});e.element().on(s,{timeout:ft},n.proxy(function(n){o({jQueryEvent:n})},this)).on(c,function(){u._clearInterval()}).on(l,function(){u._clearInterval()});return e},_clearInterval:function(){this._holdInterval&&clearInterval(this._holdInterval)},_renderSelection:function(n){this._scrollable&&this._scrollable.scrollToElement(this.itemElements().eq(n[0]),{left:1,right:1})},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this.option("scrollingEnabled")&&this._renderScrolling()},_itemSelectHandler:function(n){this.option("selectionMode")==="single"&&this.isItemSelected(n.currentTarget)||this.callBase(n)},_clean:function(){this._scrollable=null;clearTimeout(this._resizeEventTimer);this.callBase()},_optionChanged:function(n){switch(n.name){case"useInkRipple":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 i=t.ui,r=t.require("/componentRegistrator"),u="dx-navbar",f="dx-item-content",e="dx-nav-item",o="dx-nav-item-content";r("dxNavBar",i,i.dxTabs.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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);DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy.listBase",["jquery","/ui/widgets/toolbar/ui.toolbar.strategy","/utils/utils.translator","/utils/utils.topOverlay"],function(n,t,i,r){var f=DevExpress.fx,u=r.hideCallback,e="dx-toolbar-list-visible",o="easeOutCubic",s=200,h=400;return t.inherit({render:function(){this._renderListOverlay();this.callBase();this._changeListVisible(this._toolbar.option("visible"))},_renderWidget:function(){this._hasVisibleMenuItems()&&this.callBase()},_menuWidgetClass:function(){return"dxList"},_menuContainer:function(){return this._listOverlay.content()},_menuButtonOptions:function(){return n.extend({},this.callBase(),{activeStateEnabled:!1,text:"..."})},_widgetOptions:function(){return n.extend({},this.callBase(),{width:"100%",indicateLoading:!1})},_renderListOverlay:function(){var t=n("<div>").appendTo(this._toolbar.element());this._listOverlay=this._toolbar._createComponent(t,"dxOverlay",this._listOverlayConfig())},_listOverlayConfig:function(){return{container:!1,deferRendering:!1,shading:!1,height:"auto",width:"100%",showTitle:!1,closeOnOutsideClick:n.proxy(this._listOutsideClickHandler,this),position:null,animation:null,closeOnBackButton:!1}},_listOutsideClickHandler:function(t){n(t.target).closest(this._listOverlay.content()).length||this._toggleMenu(!1,!0)},_getListHeight:function(){var n=this._listOverlay.content().find(".dx-list").height(),t=this._toolbar._$toolbarItemsContainer.height()-this._toolbar.element().height();return n+t},_hideTopOverlayHandler:function(){this._toggleMenu(!1,!0)},_toggleHideTopOverlayCallback:function(){this._closeCallback&&u.remove(this._closeCallback);this._menuShown&&(this._closeCallback=n.proxy(this._hideTopOverlayHandler,this),u.add(this._closeCallback))},_calculatePixelOffset:function(n){n=(n||0)-1;var t=this._getListHeight();return n*t},_renderMenuPosition:function(t,r){var u=this._calculatePixelOffset(t),f=this._listOverlay.content();return r?this._animateMenuToggling(f,u,this._menuShown):(i.move(f,{top:u}),n.Deferred().resolve().promise())},_animateMenuToggling:function(n,t,i){var r=i?h:s;return f.animate(n,{type:"slide",to:{top:t},easing:o,duration:r})},_toggleMenu:function(t,i){this.callBase.apply(this,arguments);this._toggleHideTopOverlayCallback();this._renderMenuPosition(this._menuShown?0:1,i).done(n.proxy(function(){this._toolbar.element().toggleClass(e,t)},this))},_changeListVisible:function(n){this._listOverlay&&(this._listOverlay.option("visible",n),this._toggleMenu(!1,!1))},handleToolbarVisibilityChange:function(n){this._changeListVisible(n)}})});DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy.listBottom",["jquery","/ui/widgets/toolbar/ui.toolbar.strategy.listBase"],function(n,t){return t.inherit({NAME:"listBottom",_renderWidget:function(){this._renderContainerSwipe();this.callBase();this._toolbar._$toolbarItemsContainer.prependTo(this._listOverlay.content())},_renderContainerSwipe:function(){this._toolbar._createComponent(this._toolbar._$toolbarItemsContainer,"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"})},_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._toggleMenu(t===0,!0)}})});DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy.listTop",["jquery","/ui/widgets/toolbar/ui.toolbar.strategy.listBase","/utils/utils.translator"],function(n,t,i){return t.inherit({NAME:"listTop",_listOverlayConfig:function(){var t=this.callBase();return n.extend({},t,{onContentReady:n.proxy(this._setItemsContainerZIndex,this)})},_setItemsContainerZIndex:function(n){var t=n.component.content().css("z-index");this._toolbar._$toolbarItemsContainer.css("z-index",t+1)},_renderMenuPosition:function(n,t){var r=this._toolbar._$toolbarItemsContainer,u=this._calculateItemsContainerOffset(n);return t?this._animateMenuToggling(r,u,this._menuShown):i.move(r,{top:u}),this.callBase(n,t)},_calculateItemsContainerOffset:function(n){n=(n||0)-1;var t=this._getItemsContainerHeight();return n*t},_getItemsContainerHeight:function(){return this._toolbar._$toolbarItemsContainer.height()-this._toolbar.element().height()},_listOutsideClickHandler:function(t){var i=n(t.target),r=i.closest(this._listOverlay.content()).length>0,u=i.closest(this._toolbar._$toolbarItemsContainer).length>0;r||u||this._toggleMenu(!1,!0)}})});DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy.dropDownMenu",["jquery","/ui/widgets/toolbar/ui.toolbar.strategy"],function(n,t){return t.inherit({NAME:"dropDownMenu",render:function(){this._hasVisibleMenuItems()&&(this._renderMenuButtonContainer(),this._renderWidget())},_menuWidgetClass:function(){return"dxDropDownMenu"},_menuContainer:function(){return this._$menuButtonContainer}})});DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy.actionSheet",["jquery","/ui/widgets/toolbar/ui.toolbar.strategy"],function(n,t){return t.inherit({NAME:"actionSheet",_getMenuItemTemplate:function(){return this._toolbar._getTemplate("actionSheetItem")},render:function(){this._hasVisibleMenuItems()&&this.callBase()},_menuWidgetClass:function(){return"dxActionSheet"},_menuContainer:function(){return this._toolbar.element()},_widgetOptions:function(){return n.extend({},this.callBase(),{target:this._$button,showTitle:!1})},_menuButtonOptions:function(){return n.extend({},this.callBase(),{icon:"overflow"})},_toggleMenu:function(){this.callBase.apply(this,arguments);this._menu.toggle(this._menuShown);this._menuShown=!1}})});DevExpress.define("/ui/widgets/toolbar/ui.toolbar.strategy",["jquery","/class","/ui/widgets/ui.button"],function(n,t,i){var r=t.abstract,u=DevExpress.data.utils.compileGetter,f="dx-toolbar-menu-container",e="dx-toolbar-menu-button";return t.inherit({ctor:function(n){this._toolbar=n},render:function(){this._renderMenuButton();this._renderWidget()},_widgetOptions:function(){var t=this._toolbar._createActionByOption("onItemClick");return{itemTemplate:n.proxy(this._getMenuItemTemplate,this),onItemClick:n.proxy(function(n){this._toggleMenu(!1,!0);t(n)},this)}},_getMenuItemTemplate:function(){return this._toolbar._getTemplateByOption("menuItemTemplate")},_renderWidget:function(){var t=n("<div>").appendTo(this._menuContainer());this._menu=this._toolbar._createComponent(t,this._menuWidgetClass(),this._widgetOptions());this.renderMenuItems()},_menuContainer:r,_menuWidgetClass:r,_hasVisibleMenuItems:function(){var i=this._getMenuItems(),t=!1,r=u("visible");return n.each(i,function(n,i){var u=r(i,{functionsAsIs:!0});u!==!1&&(t=!0)}),t},_getMenuItems:function(){return this._toolbar._getMenuItems()},_renderMenuButton:function(){var t=this._menuButtonOptions();this._renderMenuButtonContainer();this._$button=n("<div>").appendTo(this._$menuButtonContainer).addClass(e);this._toolbar._createComponent(this._$button,i,t)},_menuButtonOptions:function(){return{onClick:n.proxy(this._menuButtonClickHandler,this)}},_menuButtonClickHandler:function(){this._toggleMenu(!this._menuShown,!0)},_renderMenuButtonContainer:function(){var t=this._toolbar._$afterSection;this._$menuButtonContainer=n("<div>").appendTo(t).addClass(this._toolbar._buttonClass()).addClass(f)},renderMenuItems:function(){this._menu&&this._menu.option("items",this._getMenuItems())},toggleMenuVisibility:function(n,t){this._menu&&this._toggleMenu(n,t)},_toggleMenu:function(n){this._menuShown=n},getMenuWidget:function(){return this._menu},widgetOption:function(n,t){this._menu&&this._menu.option(n,t)},handleToolbarVisibilityChange:n.noop})}),function(n,t){var i=t.ui,f=t.require("/componentRegistrator"),e=t.require("/ui/widgets/toolbar/ui.toolbar.strategy.actionSheet"),o=t.require("/ui/widgets/toolbar/ui.toolbar.strategy.dropDownMenu"),s=t.require("/ui/widgets/toolbar/ui.toolbar.strategy.listBottom"),h=t.require("/ui/widgets/toolbar/ui.toolbar.strategy.listTop"),c={actionSheet:e,dropDownMenu:o,listBottom:s,listTop:h},l="dx-toolbar",a="dx-toolbar-bottom",v="dx-toolbar-mini",y="dx-toolbar-item",r="dx-toolbar-label",p="dx-toolbar-button",w="dx-toolbar-items-container",u="."+r,b="dxToolbarItemDataKey";f("dxToolbar",i,i.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{menuItemTemplate:"menuItem",submenuType:"dropDownMenu",renderAs:"topToolbar"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return/ios7.*/.test(i.themes.current())},options:{submenuType:"actionSheet"}},{device:function(){return/android5.*/.test(i.themes.current())},options:{submenuType:"dropDownMenu"}},{device:function(){return/win8.*/.test(i.themes.current())},options:{submenuType:"listBottom"}},{device:function(){return/win10.*/.test(i.themes.current())},options:{submenuType:"listTop"}}])},_itemContainer:function(){return this._$toolbarItemsContainer.find(".dx-toolbar-before,.dx-toolbar-center,.dx-toolbar-after")},_itemClass:function(){return y},_itemDataKey:function(){return b},_buttonClass:function(){return p},_dimensionChanged:function(){this._menuStrategy.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(l).toggleClass(a,this.option("renderAs")==="bottomToolbar");this._$toolbarItemsContainer=n("<div>").appendTo(this.element());this._$toolbarItemsContainer.addClass(w)},_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=this._$toolbarItemsContainer.find(u).eq(0),i=t.parent(),o;if(t.length&&!this.element().is(":hidden")){var c=this._$toolbarItemsContainer.width(),l=this._$beforeSection.outerWidth()?this._$beforeSection.outerWidth():t.position().left,r=i.hasClass("dx-toolbar-before")?0:l,f=i.hasClass("dx-toolbar-after")?0:this._$afterSection.outerWidth(),s=0;i.children().not(u).each(function(){s+=n(this).outerWidth()});var h=c-s,a=h-Math.max(r,f)*2,e=Math.round(t.outerWidth())>Math.round(a);i.css({marginLeft:e?r:"",marginRight:e?f:"",float:e&&f>r?"right":"none"});o=t.outerWidth()-t.width();t.css("max-width",h-r-f-o)}},_renderItem:function(n,t,i,u){var o=t.location||"center",s=this._$toolbarItemsContainer.find(".dx-toolbar-"+o),f=Boolean(t.text),e=this.callBase(n,t,s,u);return e.toggleClass(this._buttonClass(),!f).toggleClass(r,f),e},_getToolbarItems:function(){return n.grep(this.option("items")||[],function(n){return n.location!=="menu"})},_renderContentImpl:function(){var n=this._getToolbarItems();this.element().toggleClass(v,n.length===0);this._renderedItemsCount?this._renderItems(n.slice(this._renderedItemsCount)):this._renderItems(n)},_renderMenu:function(){this._renderMenuStrategy();this._menuStrategy.render()},_renderMenuStrategy:function(){var n=this.option("submenuType"),t;(n==="listBottom"||n==="listTop")&&this.option("renderAs")==="topToolbar"&&(n="dropDownMenu");t=c[n];this._menuStrategy&&this._menuStrategy.NAME===n||(this._menuStrategy=new t(this))},_getMenuItems:function(){return n.grep(this.option("items")||[],function(n){return n.location==="menu"})},_renderEmptyMessage:n.noop,_clean:function(){this._$toolbarItemsContainer.children().empty();this.element().empty()},_changeMenuOption:function(n,t){this._menuStrategy.widgetOption(n,t)},_visibilityChanged:function(n){n&&this._arrangeTitle()},_isVisible:function(){return this.element().width()>0&&this.element().height()>0},_renderDimensions:function(){this.callBase();this._arrangeTitle()},_itemOptionChanged:function(t,i,r){var u=this.option("items")[t],f;u.location==="menu"?this._menuStrategy.renderMenuItems():(f=n.inArray(u,this._getToolbarItems()),this.callBase.apply(this,[f,i,r]),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._menuStrategy.handleToolbarVisibilityChange(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 e=t.ui,c=t.require("/utils/utils.support"),r=t.require("/utils/utils.common"),l=t.require("/utils/utils.inkRipple"),i=t.require("/devices"),a=t.require("/componentRegistrator"),v=t.require("/ui/widgets/ui.button"),s=t.require("/ui/events/ui.events.utils"),y=t.require("/ui/ui.themes"),p="dx-list",f="dx-list-item",w="."+f,u="dx-list-group",h="dx-list-group-header",o="dx-list-group-body",b="dx-list-collapsible-groups",k="dx-list-group-collapsed",d="dx-has-next",g="dx-list-next-button",nt="dxListItemData",tt=70,it=t.data.utils.compileGetter("items");a("dxList",e,e.CollectionWidget.inherit({_activeStateUnit:w,_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,{autoPagingEnabled:{since:"15.1",message:"Use the 'pageLoadMode' option instead"},showNextButton:{since:"15.1",message:"Use the 'pageLoadMode' option instead"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,pullRefreshEnabled:!1,scrollingEnabled:!0,showScrollbar:"onScroll",useNativeScrolling:!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"},useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat(e.dxScrollable.deviceDependentOptions(),[{device:function(n){return!c.nativeScrolling&&!i.isSimulator()&&i.real().platform==="generic"&&n.platform==="generic"},options:{showScrollbar:"onHover",pageLoadMode:"nextButton"}},{device:function(){return i.real().generic&&!i.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(y.current())},options:{useInkRipple:!0}},{device:function(){return i.current().platform==="win"&&i.isSimulator()},options:{bounceEnabled:!1}}])},_getOptionAliases:function(){return n.extend(this.callBase(),{useNative:"useNativeScrolling"})},_visibilityChanged:function(n){n&&this._updateLoadingState(!0)},_itemClass:function(){return f},_itemDataKey:function(){return nt},_itemContainer:function(){return this._$container},_itemElements:function(){return this.option("grouped")?this._itemContainer().children("."+u).children("."+o).children(this._itemSelector()):this._itemContainer().children(this._itemSelector())},_itemSelectHandler:function(n){this.option("selectionMode")==="single"&&this.isItemSelected(n.currentTarget)||this.callBase(n)},_allowDinamicItemsAppend:function(){return!0},_init:function(){this.callBase();this._$container=this.element();this._initScrollView();this._feedbackShowTimeout=tt;this._createGroupRenderAction();this.setAria("role","listbox")},_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(){var n=!this._itemElements().length;this._scrollView&&!n&&this._scrollView.startLoading()},this)):(clearTimeout(this._showLoadingIndicatorTimer),this._scrollView&&this._scrollView.finishLoading()))},_dataSourceChangedHandler:function(n){this._shouldAppendItems()||this._scrollView&&this._scrollView.scrollTo(0);this.callBase(n)},_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(){var t=this.element().is(":visible");!t||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=s.addNamespace("dxclick",this.NAME),r="."+h,t=this.element(),u=this.option("collapsibleGroups");if(t.toggleClass(b,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(),e=t.children("."+o),r;return t.toggleClass(k,i),this.option("focusedElement",t.find("."+f).eq(0)),r="slideToggle",i===!0&&(r="slideUp"),i===!1&&(r="slideDown"),e[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(p);this.callBase();this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=l.render()},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple){var r={element:n,jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_postprocessRenderItem:function(t){this.callBase.apply(this,arguments);this.option("onItemSwipe")&&this._attachSwipeEvent(n(t.itemElement))},_attachSwipeEvent:function(t){var i=s.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(u).appendTo(this._itemContainer()),f=n("<div>").addClass(h).appendTo(r),s=this.option("groupTemplate"),c=this._getTemplate(i.template||s,i,t,f),l={index:t,itemData:i,container:f},e;this._createItemByTemplate(c,l);this._renderingGroupIndex=t;e=n("<div>").addClass(o).appendTo(r);n.each(it(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(d,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(g),i=n("<div>").appendTo(t);return this._createComponent(i,v,{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();this._updateLoadingState();break;case"nextButtonText":case"onItemSwipe":case"useInkRipple":this._invalidate();break;case"onScroll":case"onPullRefresh":case"onPageLoading":this._createScrollViewActions();this._invalidate();break;case"grouped":case"collapsibleGroups":case"groupTemplate":case"items":this._invalidate();break;case"onGroupRendered":this._createGroupRenderAction();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("."+u),r=i.find("."+f);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("."+u).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("."+u).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()},repaint:function(){this.scrollTo(0);this.callBase()},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 i=t.ui,r=t.require("/componentRegistrator"),u=t.require("/ui/events/ui.events.utils"),f="dx-list-item-selected",e="dx-list-item-response-wait";r("dxList",i,i.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})},_getDefaultOptions:function(){return n.extend(this.callBase(),{showSelectionControls:!1,selectionMode:"none",onSelectAllChanged:null,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:"win"},options:{itemDeleteMode:"context"}},{device:{platform:"generic"},options:{itemDeleteMode:"static"}}])},_init:function(){this.callBase();this._initEditProvider()},_initEditProvider:function(){this._editProvider=new i.dxList.EditProvider(this)},_disposeEditProvider:function(){this._editProvider&&this._editProvider.dispose()},_refreshEditProvider:function(){this._disposeEditProvider();this._initEditProvider()},_initEditStrategy:function(){this.option("grouped")?this._editStrategy=new i.dxList.GroupedEditStrategy(this):this.callBase()},_render:function(){this._refreshEditProvider();this.callBase()},_renderItems:function(){this.callBase.apply(this,arguments);this._editProvider.afterItemsRendered()},_selectedItemClass:function(){return f},_itemResponseWaitClass:function(){return e},_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),r,f;if(!i.is(".dx-state-disabled, .dx-state-disabled *")){if(r=u.isTouchEvent(t),f=r&&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"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;case"onSelectAllChanged":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 u=t.ui,l=DevExpress.require("/ui/ui.errors"),s="dx-list-item",f="dx-list-group",e=20,h=2303,r=function(n){return(n.group<<e)+n.item},i=function(n){return{group:n>>e,item:n&h}},o=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},c=function(n,t){for(var r=n.length,i=0;i<r;i++)if(n[i].key===t)return n[i]};u.dxList.GroupedEditStrategy=u.CollectionWidget.EditStrategy.inherit({_groupElements:function(){return this._collectionWidget._itemContainer().find("."+f)},_groupItemElements:function(n){return n.find("."+s)},getIndexByItemData:function(t){var r=this._collectionWidget.option("items"),i=!1;return n.each(r,function(r,u){return u.items?(n.each(u.items,function(n,u){return u!==t?!0:(i={group:r,item:n},!1)}),i?!1:void 0):!1}),i},getItemDataByIndex:function(n){if(!n||!n.group||!n.item)return null;var t=this._collectionWidget.option("items");return t.length&&t[n.group].items[n.item]||null},deleteItemAtIndex:function(n){var t=i(n),r=this._collectionWidget.option("items")[t.group].items;r.splice(t.item,1)},updateSelectionAfterDelete:function(t){var r=i(t),u=this._collectionWidget._selectedItemIndices;n.each(u,function(n,t){var f=i(t);f.group===r.group&&f.item>r.item&&(u[n]-=1)})},fetchSelectedItems:function(t){t=t||this._collectionWidget._selectedItemIndices;t.sort(function(n,t){return n-t});var e=this._collectionWidget.option("items"),f=[],u=0,r=[];return n.each(t,function(n,t){var s=i(t);s.group!==u&&r.length&&(f.push(o(e[u],r)),r.length=0);u=s.group;r.push(s.item)}),r.length&&f.push(o(e[u],r)),f},selectedItemIndices:function(){var t=[],i=this._collectionWidget.option("items"),u=this._collectionWidget.option("selectedItems");return n.each(u,function(u,f){var e=c(i,f.key),o=n.inArray(e,i);n.each(f.items,function(i,u){var f=n.inArray(u,e.items);f!==-1&&t.push(r({group:o,item:f}))})}),t},moveItemAtIndexToIndex:function(n,t){var u=this._collectionWidget.option("items"),r=i(n),f=i(t),e=u[r.group].items,o=u[f.group].items,s=e[r.item];e.splice(r.item,1);o.splice(f.item,0,s)},getSelectedItemsAfterReorderItem:function(t,r){if(this._itemsFromSameParent(t,r)||n.inArray(t,this._collectionWidget._selectedItemIndices))return this.callBase();var s=this._collectionWidget.option("items"),u=this._collectionWidget.option("selectedItems"),f=i(t),h=i(r),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),u=i.closest("."+f);return r({group:this._groupElements().index(u),item:this._groupItemElements(u).index(i)})},_normalizeItemIndex:function(n){return r(n)},_denormalizeItemIndex:function(n){return i(n)},_getItemByNormalizedIndex:function(n){var t=i(n),r=this._groupElements().eq(t.group);return this._groupItemElements(r).eq(t.item)},_itemsFromSameParent:function(n,t){return i(n).group===i(t).group}})}(jQuery,DevExpress),function(n,t){var i=t.ui,f=DevExpress.require("/class"),r=t.require("/ui/events/ui.events.utils");i.dxList.EditDecoratorsRegistry={};i.dxList.registerEditDecorator=function(t,r,u){var f=i.dxList.EditDecoratorsRegistry,e={};e[t]=f[t]?f[t]:{};e[t][r]=u;f=n.extend(f,e)};var u="dxListEditDecorator",e=r.addNamespace("dxswipestart",u),o=r.addNamespace("dxswipe",u),s=r.addNamespace("dxswipeend",u);i.dxList.EditDecorator=f.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 i=t.ui;i.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 i=t.ui,r=t.require("/ui/widgets/ui.button"),u="dx-list-static-delete-button-container",f="dx-list-static-delete-button";i.dxList.registerEditDecorator("delete","static",i.dxList.EditDecorator.inherit({afterBag:function(t){var e=t.$itemElement,o=t.$container,i=n("<div>").addClass(f);this._list._createComponent(i,r,{icon:"remove",type:"danger",onClick:n.proxy(function(n){n.jQueryEvent.stopPropagation();this._deleteItem(e)},this),_templates:{}});o.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 u=t.ui,f=u.dxList.EditDecorator,e=f.abstract,o=t.require("/ui/events/ui.events.utils"),a=t.require("/ui/events/pointer/ui.events.pointer"),v=t.require("/ui/events/ui.events.emitter.feedback"),s="dxListEditDecorator",h=o.addNamespace(a.down,s),c=o.addNamespace(v.active,s),y="dx-list-item-content",r="dx-list-switchable-delete-ready",p="dx-list-switchable-menu-shield-positioning",w="dx-list-switchable-delete-top-shield",b="dx-list-switchable-delete-bottom-shield",l="dx-list-switchable-menu-item-shield-positioning",k="dx-list-switchable-delete-item-content-shield";u.dxList.SwitchableEditDecorator=f.inherit({_init:function(){this._$topShield=n("<div />").addClass(w);this._$bottomShield=n("<div />").addClass(b);this._$itemContentShield=n("<div />").addClass(k);this._$topShield.on(h,n.proxy(this._cancelDeleteReadyItem,this));this._$bottomShield.on(h,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(r)},_toggleShields:function(n,t){this._list.element().toggleClass(p,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("."+y).first().append(this._$itemContentShield):this._$itemContentShield.detach()},_toggleScrolling:function(n){var t=this._list.element().dxScrollView("instance");if(n)t.on("start",this._cancelScrolling);else t.off("start",this._cancelScrolling)},_cancelScrolling:function(n){n.jQueryEvent.cancel=!0},_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(t){t.addClass(l);t.on(c,n.noop)},_disablePositioning:function(n){n.removeClass(l);n.off(c)},_prepareDeleteReady:function(n){n.addClass(r)},_forgetDeleteReady:function(n){n.removeClass(r)},_animatePrepareDeleteReady:e,_animateForgetDeleteReady:e,_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 i=t.ui,r=t.fx,u=t.require("/ui/widgets/ui.button"),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;i.dxList.SwitchableButtonEditDecorator=i.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),f=n("<div />").addClass(l);this._list._createComponent(f,u,{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(f);this._$buttonContainer=t},_enablePositioning:function(n){this.callBase.apply(this,arguments);r.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(),u=n?t:-i,e=n?t-i:0;return r.animate(this._$buttonContainer,{type:"custom",duration:f,from:{right:u},to:{right:e}})},_animateForgetDeleteReady:function(){var n=this._isRtlEnabled(),t=this._list.element().width(),i=this._buttonWidth(),u=n?t-i:0,e=n?t:-i;return r.animate(this._$buttonContainer,{type:"custom",duration:f,from:{right:u},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";i.dxList.registerEditDecorator("delete","toggle",i.dxList.SwitchableButtonEditDecorator.inherit({beforeBag:function(t){var f=t.$itemElement,i=t.$container,r=n("<div />").addClass(o);this._list._createComponent(r,u,{icon:"toggle-delete",onClick:n.proxy(function(n){this._toggleDeleteReady(f);n.jQueryEvent.stopPropagation()},this),_templates:{}});i.addClass(e);i.append(r)}}));i.dxList.registerEditDecorator("delete","slideButton",i.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,i=t.require("/utils/utils.translator"),f=t.require("/ui/events/ui.events.utils"),c=t.require("/ui/events/ui.events.emitter.feedback"),e=t.fx,o="dxListEditDecorator",s=f.addNamespace("dxclick",o),l=f.addNamespace(c.active,o),a="dx-list-slide-menu",v="dx-list-slide-menu-wrapper",u="dx-list-slide-menu-content",y="dx-list-slide-menu-buttons-container",p="dx-list-slide-menu-buttons",h="dx-list-slide-menu-button",w="dx-list-slide-menu-button-menu",b="dx-list-slide-menu-button-delete",k=400,d="cubic-bezier(0.075, 0.82, 0.165, 1)";r.dxList.registerEditDecorator("menu","slide",r.dxList.SwitchableEditDecorator.inherit({_shouldHandleSwipe:!0,_init:function(){this.callBase.apply(this,arguments);this._$buttonsContainer=n("<div/>").addClass(y).on(l,n.noop);this._$buttons=n("<div/>").addClass(p).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(n){n.stopPropagation();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(function(n){n.stopPropagation();this._menu.show()},this)),this._menu.option("target",u)))},_renderMenuButton:function(t,i){var r=n("<div/>").addClass(h).addClass(w).text(t);this._$buttons.append(r);r.on(s,i);return r},_renderDeleteButton:function(){if(this._deleteEnabled()){var t=n("<div/>").addClass(h).addClass(b).text(Globalize.localize("dxListEditDecorator-delete"));t.on(s,n.proxy(function(n){n.stopPropagation();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(u);i.wrapInner(r)},handleClick:function(t,i){return n(i.target).closest("."+u).length?this.callBase.apply(this,arguments):!1},_swipeStartHandler:function(n){this._enablePositioning(n);this._cacheItemData(n);this._setPositions(this._getPostions(0))},_swipeUpdateHandler:function(n,t){var e=this._isRtlEnabled(),i=e?-1:1,r=this._isReadyToDelete(n),o=this._getCurrentPositions().content===this._getStartPositions().content;if(o&&!r&&t.offset*i>0){t.cancel=!0;return}var u=this._cachedItemWidth*t.offset,f=r?-this._cachedButtonWidth*i:0,s=(u+f)*i,h=s<0?Math.abs((u+f)/this._cachedButtonWidth):0;return this._setPositions(this._getPostions(h)),!0},_getStartPositions:function(){var n=this._isRtlEnabled(),t=n?-1:1;return{content:0,buttonsContainer:n?-this._cachedButtonWidth:this._cachedItemWidth,buttons:-this._cachedButtonWidth*t}},_getPostions:function(n){var r=this._isRtlEnabled(),t=r?-1:1,i=this._getStartPositions();return{content:i.content-n*this._cachedButtonWidth*t,buttonsContainer:i.buttonsContainer-Math.min(n,1)*this._cachedButtonWidth*t,buttons:i.buttons+Math.min(n,1)*this._cachedButtonWidth*t}},_getCurrentPositions:function(){return{content:i.locate(this._$cachedContent).left,buttonsContainer:i.locate(this._$buttonsContainer).left,buttons:i.locate(this._$buttons).left}},_setPositions:function(n){i.move(this._$cachedContent,{left:n.content});i.move(this._$buttonsContainer,{left:n.buttonsContainer});i.move(this._$buttons,{left:n.buttons})},_cacheItemData:function(n){n[0]!==this._cachedNode&&(this._$cachedContent=n.find("."+u),this._cachedItemWidth=n.outerWidth(),this._cachedButtonWidth=this._cachedButtonWidth||this._$buttons.outerWidth(),this._$buttonsContainer.width(this._cachedButtonWidth),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){e.stop(this._$cachedContent,!0);this.callBase.apply(this,arguments);this._$buttonsContainer.appendTo(n)},_disablePositioning:function(){this.callBase.apply(this,arguments);this._$buttonsContainer.detach()},_animatePrepareDeleteReady:function(){return this._animateToPositions(this._getPostions(1))},_animateForgetDeleteReady:function(n){return this._cacheItemData(n),this._animateToPositions(this._getPostions(0))},_animateToPositions:function(n){var i=this,t=this._getCurrentPositions(),r=Math.min(Math.abs(t.content-n.content)/this._cachedButtonWidth,1);return e.animate(this._$cachedContent,{from:t,to:n,easing:d,duration:k*r,strategy:"frame",draw:function(n){i._setPositions(n)}})},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 i=t.ui,r=t.require("/utils/utils.translator"),u=t.fx;i.dxList.registerEditDecorator("delete","swipe",i.dxList.EditDecorator.inherit({_shouldHandleSwipe:!0,_renderItemPosition:function(t,i,f){var e=n.Deferred(),o=i*this._itemElementWidth;return f?u.animate(t,{to:{left:o},type:"slide",complete:function(){e.resolve(t,i)}}):(r.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 i=t.ui,r="dx-list-context-menu",u="dx-list-context-menucontent";i.dxList.registerEditDecorator("menu","context",i.dxList.EditDecorator.inherit({_init:function(){var t=n("<div/>").addClass(r);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("."+r).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(u);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(i.dxList.EditDecoratorMenuHelperMixin))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=t.require("/ui/widgets/ui.checkBox"),o=t.require("/ui/widgets/ui.radioButton"),s=t.require("/ui/events/ui.events.utils"),f="dx-list-select-decorator-enabled",h="dx-list-select-all",c="dx-list-select-all-checkbox",l="dx-list-select-all-label",a="dx-list-select-checkbox-container",v="dx-list-select-checkbox",y="dx-list-select-radiobutton-container",p="dx-list-select-radiobutton",e=s.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?y:a;this._controlClass=this._singleStrategy?p:v;this._controlWidget=this._singleStrategy?o.publicName():u.publicName();this._list.element().addClass(f)},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 u=this._list.option("items"),t=this._list.option("selectedItems"),n=this._list._dataSource,r=n&&n.totalCount()>=0?n.totalCount():u.length,f=r>0&&r===t.length?!0:t.length===0?!1:i;this._selectAllCheckBox.option("value",f)}},afterRender:function(){this._list.option("selectionMode")==="all"&&(this._$selectAll||this._renderSelectAll())},_renderSelectAll:function(){var t=this._$selectAll=n("<div>").addClass(h);this._selectAllCheckBox=this._list._createComponent(n("<div>").addClass(c).appendTo(t),u);n("<div>").addClass(l).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(e).on(e,n.proxy(this._selectAllClickHandler,this))},_selectAllHandler:function(n){n.jQueryEvent&&n.jQueryEvent.stopPropagation();var t=this._selectAllCheckBox.option("value"),i=this._list._createActionByOption("onSelectAllChanged")({value:t});i!==!1&&(t===!0?this._selectAllItems():t===!1&&this._unselectAllItems())},_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(f);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 o=t.ui,u=t.require("/utils/utils.translator"),i=t.fx,h=t.require("/utils/utils.support"),r=t.require("/utils/utils.math"),c=t.require("/animator"),f=t.require("/ui/events/ui.events.utils"),l=c.inherit({ctor:function(n){this.callBase();this._strategy=n},_isFinished:function(){return this._strategy.scrollFinished()},_step:function(){this._strategy.scrollByStep()}}),e="dxListEditDecorator",a=f.addNamespace("dxdragstart",e),v=f.addNamespace("dxdrag",e),y=f.addNamespace("dxdragend",e),p="dx-list-reorder-handle-container",w="dx-list-reorder-handle",s="dx-list-item-reordering",b="dx-list-item-ghost-reordering",k="dx-list-reorder-compatibility-mode";o.dxList.registerEditDecorator("reorder","default",o.dxList.EditDecorator.inherit({_init:function(){this._groupedEnabled=this._list.option("grouped");this._initAnimator()},_initAnimator:function(){this._scrollAnimator=new l(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(w);i.on(a,{direction:"both",immediate:!0},n.proxy(this._dragStartHandler,this,r));i.on(v,n.proxy(this._dragHandler,this,r));i.on(y,n.proxy(this._dragEndHandler,this,r));u.addClass(p);u.append(i)},_dragStartHandler:function(n,t){var i,r;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();i=this._list.getFlatIndexByItemElement(n);this._startIndex=i;this._lastIndex=i;this._cacheScrollData();this._toggleCompatibilityMode(!0);r=this;this._createGhostTimeout=setTimeout(function(){r._createGhost(n);r._updateGhostPosition();n.addClass(s)})},_stopPreviousAnimation:function(){i.stop(this._$ghostItem,!0)},_toggleCompatibilityMode:function(n){this._list.element().toggleClass(k,!h.transform&&n)},_cacheItemsPositions:function(){var t=this._itemPositions=[];n.each(this._list.itemElements(),function(i,r){var u=null;t.push(function(){return u=u===null?n(r).position().top:u})})},_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(b).appendTo(this._list.itemsContainer());this._startGhostPosition=this._getDraggingElementPosition()-this._$ghostItem.position().top;u.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 r.fitIntoRange(Math.round(Math.abs(n-1)*7),1,7)},_updateItemPositions:function(){this._updateGhostPosition();this._updateOthersPositions()},_updateGhostPosition:function(){this._$ghostItem&&u.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 f=n-this._startIndex,e=r.sign(f),c=Math.min(n,this._lastIndex),l=Math.max(n,this._lastIndex);for(t=c;t<=l;t++)if(t!==this._startIndex){var u=this._list.getItemElementByFlatIndex(t),o=t-this._startIndex,a=r.sign(o),s=Math.abs(o)<=Math.abs(f),h=e===a,v=s&&h,y=!s||!h;i.stop(u);v&&i.animate(u,{type:"slide",to:{top:this._elementHeight*-e},duration:300});y&&i.animate(u,{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();i.animate(this._$ghostItem,{type:"slide",to:{top:this._startGhostPosition+this._getLastElementPosition()-this._getDraggingElementPosition()},duration:300}).done(n.proxy(function(){t.removeClass(s);this._resetPositions();this._list.reorderItem(t,this._list.getItemElementByFlatIndex(this._lastIndex));this._deleteGhost();this._toggleCompatibilityMode(!1)},this))},_deleteGhost:function(){this._$ghostItem&&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),u.resetPosition(t)},_findItemIndexByPosition:function(n){for(var i=0,u=this._itemPositions.length-1,t,f;i<=u;)if(t=(i+u)/2|0,f=this._itemPositions[t](),f<n)i=t+1;else if(f>n)u=t-1;else return t;return r.fitIntoRange(i,0,Math.max(u,0))},dispose:function(){clearTimeout(this._createGhostTimeout);this.callBase.apply(this,arguments)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f=DevExpress.require("/class"),e=DevExpress.require("/ui/ui.errors"),u=[],i=function(n,t,i){u.push({enabled:n,decoratorType:t,decoratorSubType:i})};i(function(){return this.option("menuItems").length},function(){return"menu"},function(){return this.option("menuMode")});i(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});i(function(){return this.option("selectionMode")!=="none"&&this.option("showSelectionControls")},function(){return"selection"},function(){return"default"});i(function(){return this.option("allowItemReordering")},function(){return"reorder"},function(){return"default"});var o="dx-list-item-before-bag",s="dx-list-item-after-bag",h="beforeBag",c="afterBag",l="modifyElement",a="afterRender";r.dxList.EditProvider=f.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(u,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,t){var i=r.dxList.EditDecoratorsRegistry[n][t];if(!i)throw e.Error("E1012",n,t);return i},modifyItemElement:function(t){var i=n(t.itemElement),r={$itemElement:i};this._prependBeforeBags(i,r);this._appendAfterBags(i,r);this._applyDecorators(l,r)},afterItemsRendered:function(){this._applyDecorators(a)},_prependBeforeBags:function(n,t){var i=this._collectDecoratorsMarkup(h,t,o);n.prepend(i)},_appendAfterBags:function(n,t){var i=this._collectDecoratorsMarkup(c,t,s);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);DevExpress.define("/ui/widgets/ui.tileView",["jquery","/devices","/componentRegistrator","/ui/uiNamespace","/utils/utils.inflector","/utils/utils.common"],function(n,t,i,r,u,f){var s="dx-tileview",h="dx-tileview-wrapper",e="dx-tile",c="."+e,l="dxTileData",a={horizontal:{itemMainRatio:"widthRatio",itemCrossRatio:"heightRatio",baseItemMainDimension:"baseItemWidth",baseItemCrossDimension:"baseItemHeight",mainDimension:"width",crossDimension:"height",mainPosition:"left",crossPosition:"top"},vertical:{itemMainRatio:"heightRatio",itemCrossRatio:"widthRatio",baseItemMainDimension:"baseItemHeight",baseItemCrossDimension:"baseItemWidth",mainDimension:"height",crossDimension:"width",mainPosition:"top",crossPosition:"left"}},o=DevExpress.ui.CollectionWidget.inherit({_activeStateUnit:c,_getDefaultOptions:function(){return n.extend(this.callBase(),{items:null,direction:"horizontal",hoverStateEnabled:!0,showScrollbar:!1,height:500,baseItemWidth:100,baseItemHeight:100,itemMargin:20,activeStateEnabled:!0,indicateLoading:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.real().generic&&!t.isSimulator()},options:{focusStateEnabled:!0}}])},_itemClass:function(){return e},_itemDataKey:function(){return l},_itemContainer:function(){return this._$container},_init:function(){this.callBase();this.element().addClass(s);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:this.option("direction"),scrollByContent:!0,useKeyboard:!1,showScrollbar:this.option("showScrollbar")});this._$container=this._scrollView.content();this._$container.addClass(h);this._scrollView.option("onUpdated",n.proxy(this._renderGeometry,this))},_render:function(){this.callBase();this._cellsPerDimension=1;this._renderGeometry();this._updateScrollView();this._fireContentReadyAction()},_renderContent:function(){this._renderContentImpl()},_updateScrollView:function(){this._scrollView.option("direction",this.option("direction"));this._scrollView.update();this._indicateLoadingIfAlreadyStarted()},_indicateLoadingIfAlreadyStarted:function(){this._isDataSourceLoading()&&this._dataSourceLoadingChangedHandler(!0)},_renderGeometry:function(){this._config=a[this.option("direction")];var i=this.option("items")||[],t=this._config,r=this.option("itemMargin"),u=Math.max.apply(Math,n.map(i||[],function(n){return Math.round(n[t.itemCrossRatio]||1)}));this._cellsPerDimension=Math.floor(this.element()[t.crossDimension]()/(this.option(t.baseItemCrossDimension)+r));this._cellsPerDimension=Math.max(this._cellsPerDimension,u);this._cells=[];this._cells.push(new Array(this._cellsPerDimension));this._arrangeItems(i);this._$container[t.mainDimension](this._cells.length*this.option(t.baseItemMainDimension)+(this._cells.length+1)*r)},_arrangeItems:function(t){var i=this._config,r=i.itemMainRatio,u=i.itemCrossRatio,f=i.mainPosition;this._itemsPositions=[];n.each(t,n.proxy(function(n,t){var e={},o;e[r]=t[r]||1;e[u]=t[u]||1;e.index=n;e[r]=e[r]<=0?0:Math.round(e[i.itemMainRatio]);e[u]=e[u]<=0?0:Math.round(e[i.itemCrossRatio]);o=this._getItemPosition(e);o[f]===-1&&(o[f]=this._cells.push(new Array(this._cellsPerDimension))-1);this._occupyCells(e,o);this._arrangeItem(e,o);this._itemsPositions.push(o)},this))},_getItemPosition:function(n){var f=this._config,u=f.mainPosition,e=f.crossPosition,t={},i,r;for(t[u]=-1,t[e]=0,i=0;i<this._cells.length;i++){for(r=0;r<this._cellsPerDimension;r++)if(this._itemFit(i,r,n)){t[u]=i;t[e]=r;break}if(t[u]>-1)break}return t},_itemFit:function(n,t,i){var f=!0,e=this._config,s=i[e.itemMainRatio],o=i[e.itemCrossRatio],r,u;if(t+o>this._cellsPerDimension)return!1;for(r=n;r<n+s;r++)for(u=t;u<t+o;u++)if(this._cells.length-1<r)this._cells.push(new Array(this._cellsPerDimension));else if(this._cells[r][u]!==undefined){f=!1;break}return f},_occupyCells:function(n,t){for(var i=this._config,f=t[i.mainPosition],e=t[i.crossPosition],o=n[i.itemMainRatio],s=n[i.itemCrossRatio],r,u=f;u<f+o;u++)for(r=e;r<e+s;r++)this._cells[u][r]=n.index},_arrangeItem:function(n,t){var i=this._config,o=t[i.mainPosition],s=t[i.crossPosition],f=n[i.itemMainRatio],e=n[i.itemCrossRatio],h=this.option(i.baseItemCrossDimension),c=this.option(i.baseItemMainDimension),r=this.option("itemMargin"),u={display:f<=0||e<=0?"none":""};if(u[i.mainDimension]=f*c+(f-1)*r,u[i.crossDimension]=e*h+(e-1)*r,u[i.mainPosition]=o*c+(o+1)*r,u[i.crossPosition]=s*h+(s+1)*r,this.option("rtlEnabled")){var v=this._$container.width(),l=this.option("baseItemWidth"),a=t.left,y=a*l,p=l+r,w=p*n.widthRatio,b=a*r;u.left=v-(y+w+b)}this._itemElements().eq(n.index).css(u)},_moveFocus:function(n){var a=this.option("rtlEnabled")?"right":"left",v=this.option("rtlEnabled")?"left":"right",o=this.option("direction")==="horizontal",r=this._cells,u=this.option("focusedElement").index(),t=this._itemsPositions[u].left,i=this._itemsPositions[u].top,s=(o?r:r[0]).length,h=(o?r[0]:r).length,e=function(n,t){return o?r[n][t]:r[t][n]},c,l;switch(n){case"pageup":case"up":while(i>0&&u===e(t,i))i--;i<0&&(i=0);break;case"pagedown":case"down":while(i<h&&u===e(t,i))i++;i===h&&(i=h-1);break;case v:while(t<s&&u===e(t,i))t++;t===s&&(t=s-1);break;case a:while(t>=0&&u===e(t,i))t--;t<0&&(t=0);break;default:this.callBase.apply(this,arguments);return}(c=e(t,i),f.isDefined(c))&&(l=this._itemElements().eq(c),this.option("focusedElement",l),this._scrollToItem(l))},_scrollToItem:function(n){if(n.length){var r=this._config,f="outer"+u.captionize(r.mainDimension),e=this.option("itemMargin"),t=n.position()[r.mainPosition],o=n[f](),h=t+o,i=this.scrollPosition(),s=this.element()[f]();i<=t&&h<=i+s||(i>t?this._scrollView.scrollTo(t-e):this._scrollView.scrollTo(t+o-s+e))}},_optionChanged:function(n){switch(n.name){case"showScrollbar":this._initScrollView();break;case"disabled":this._scrollView.option("disabled",n.value);this.callBase(n);break;case"baseItemWidth":case"baseItemHeight":case"itemMargin":this._renderGeometry();break;case"width":case"height":this.callBase(n);this._renderGeometry();this._updateScrollView();break;case"direction":this._renderGeometry();this._updateScrollView();break;case"indicateLoading":this._hideLoadingIfLoadIndicationOff();break;default:this.callBase(n)}},scrollPosition:function(){return this._scrollView.scrollOffset()[this._config.mainPosition]}});return i("dxTileView",r,o),o});DevExpress.require(["/ui/widgets/ui.tileView"]);DevExpress.define("/ui/widgets/track/ui.trackBar",["jquery","/ui/ui.editor","/componentRegistrator","/ui/uiNamespace"],function(n,t,i,r){var u=DevExpress.fx,e="dx-trackbar",o="dx-trackbar-container",s="dx-trackbar-range",h="dx-trackbar-wrapper",f=t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{min:0,max:100,value:0})},_render:function(){this.element().addClass(e);this._renderWrapper();this._renderContainer();this._renderRange();this.callBase();this._renderValue()},_renderWrapper:function(){this._$wrapper=n("<div>").addClass(h).appendTo(this.element())},_renderContainer:function(){this._$bar=n("<div>").addClass(o).appendTo(this._$wrapper)},_renderRange:function(){this._$range=n("<div>").addClass(s).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._needPreventAnimation||this._setRangeStyles({width:r*100+"%"});this.setAria({valuemin:this.option("min"),valuemax:t,valuenow:i});this._currentRatio=r}},_setRangeStyles:function(n){u.stop(this._$range);this._needPreventAnimation||u.animate(this._$range,{type:"custom",duration:100,to:n})},_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(){u.stop(this._$range);this.callBase()}});return i("dxTrackBar",r,f),f});DevExpress.define("/ui/widgets/track/ui.progressBar",["jquery","/ui/widgets/track/ui.trackBar","/componentRegistrator","/ui/uiNamespace"],function(n,t,i,r){var e="dx-progressbar",o="dx-progressbar-container",s="dx-progressbar-range-container",h="dx-progressbar-range",c="dx-progressbar-wrapper",l="dx-progressbar-status",a="dx-progressbar-animating-container",u="dx-progressbar-animating-segment",f=t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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:"win"},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(e);this.setAria("role","progressbar");this._$wrapper.addClass(c);this._$bar.addClass(o);n("<div>").addClass(s).appendTo(this._$wrapper).append(this._$bar);this._$range.addClass(h);this._toggleStatus(this.option("showStatus"))},_createCompleteAction:function(){this._completeAction=this._createActionByOption("onComplete")},_renderStatus:function(){this._$status=n("<div>").addClass(l)},_renderIndeterminateState:function(){var i,t;for(this._$segmentContainer=n("<div>").addClass(a),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)}}});return i("dxProgressBar",r,f),f});DevExpress.require(["/ui/widgets/track/ui.progressBar"]);DevExpress.define("/ui/widgets/track/ui.sliderHandle",["jquery","/utils/utils.translator","/utils/utils.position","/ui/ui.widget"],function(n,t,i,r){var f="dx-slider",e="dx-slider-handle",u={top:{my:"bottom center",at:"top center",collision:"none"},bottom:{my:"top center",at:"bottom center",collision:"none"},right:{my:"left center",at:"right center",collision:"none"},left:{my:"right center",at:"left center",collision:"none"}};return r.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!1,value:0,tooltipEnabled:!1,tooltipFormat:function(n){return n},tooltipPosition:"top",tooltipShowMode:"onHover",tooltipFitIn:null})},_render:function(){this.callBase();this.element().addClass(e);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._$slider=this.element().closest("."+f),this._updateTooltip()):this._removeTooltip()},_createTooltip:function(){return this._tooltip?!1:(this._tooltip=this._createComponent(this._$tooltip,"dxTooltip",{visible:!0,target:this.element(),closeOnOutsideClick:!1,container:this.element(),closeOnBackButton:!1,closeOnTargetScroll:!1,onPositioned:n.proxy(function(n){this._saveTooltipElements(n.component);this._saveTooltipLocation();this._centeredTooltipPosition()},this),animation:null,arrowPosition:null}),!0)},_removeTooltip:function(){this._$tooltip&&(this._$tooltip.remove(),delete this._$tooltip,delete this._tooltip)},_renderTooltipPosition:function(){if(this._tooltip){var t=this.option("tooltipPosition");this._saveTooltipElements();this._resetTooltipPosition();n.type(t)==="string"&&(t=n.extend({boundary:this._$slider,boundaryOffset:{h:1,v:1}},u[t]));this._tooltip.option("position",t);this._saveTooltipLocation()}},_saveTooltipElements:function(n){n=this._tooltip||n;this._$tooltipContent=n.content().parent();this._$tooltipArrow=this._$tooltipContent.find(".dx-popover-arrow")},_resetTooltipPosition:function(){t.resetPosition(this._$tooltipContent);t.resetPosition(this._$tooltipArrow)},_saveTooltipLocation:function(){this._contentLocate=t.locate(this._$tooltipContent)},_centeredTooltipPosition:function(){var n;if(this._tooltip){this._$tooltipContent.outerWidth("auto");var r=this._$tooltipContent.get(0).getBoundingClientRect().width,t=Math.ceil(r),i=t%2+t;this._$tooltipContent.outerWidth(i);n=(i-this.element().width())/2;this._contentLocate.left=-n;this._$tooltipArrow.css({marginLeft:-this._$tooltipArrow.outerWidth()/2,left:"50%"});this._fitTooltip()}},_fitTooltip:function(){var r,f,e;this._tooltip&&(r=this.option("tooltipPosition"),n.type(r)==="string"&&(r=n.extend({of:this.element(),boundary:this._$slider,boundaryOffset:{h:2,v:1}},u[r],{collision:"fit none"})),f=i.calculate(this._$tooltipContent,r),e=f.h.collisionSide==="left",t.move(this._$tooltipContent,{left:this._contentLocate.left+(e?1:-1)*f.h.oversize}),t.move(this._$tooltipArrow,{left:(e?-1:1)*f.h.oversize}))},_renderValue:function(){if(this._tooltip){var n=this.option("tooltipFormat"),t=n(this.option("value"));this._tooltip.content().html(t);this._fitTooltip()}},_updateTooltip:function(){var n=/^onhover$/i.test(this.option("tooltipShowMode"));n||this._createTooltip();this.element().toggleClass("dx-slider-tooltip-on-hover",n);this._renderTooltipPosition();this._renderValue();this._centeredTooltipPosition()},_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();n.value.toString().length!==n.previousValue.toString().length&&this._centeredTooltipPosition();this.setAria("valuenow",n.value);break;case"tooltipEnabled":this._renderTooltip();break;case"tooltipPosition":this._renderTooltipPosition();this._centeredTooltipPosition();break;case"tooltipShowMode":this._updateTooltip();break;case"tooltipFitIn":this._fitTooltip();break;case"_templates":case"templateProvider":break;default:this.callBase(n)}},fitTooltipPosition:function(){this._fitTooltip()},updateTooltip:function(){this._createTooltip()&&(this._renderTooltipPosition(),this._renderValue(),this._centeredTooltipPosition())},repaint:function(){this._renderTooltipPosition();this._centeredTooltipPosition();this._tooltip&&this._tooltip._visibilityChanged(!0)}})});DevExpress.define("/ui/widgets/track/ui.slider",["jquery","/utils/utils.support","/utils/utils.dom","/devices","/componentRegistrator","/ui/widgets/track/ui.trackBar","/ui/uiNamespace","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/events/ui.events.emitter.feedback","/ui/widgets/track/ui.sliderHandle","/utils/utils.inkRipple","/ui/ui.themes"],function(n,t,i,r,u,f,e,o,s,h,c,l,a){var b="dx-slider",k="dx-slider-wrapper",d="dx-slider-bar",g="dx-slider-range",nt="dx-slider-range-visible",y="dx-slider-label",v="dx-slider-label-position-",p="dx-slider-tooltip-position-",w=f.inherit({_activeStateUnit:".dx-slider-handle",_supportedKeys:function(){var i=this.option("rtlEnabled"),t=this,r=function(n,i){n=t._valueStep(n);var f=t.option("step"),r=t.option("value"),u=(r-t.option("min"))%f;return i?r-n+(u?f-u:0):r+n-u},u=function(n){t.option("value",r(n,i))},f=function(n){t.option("value",r(n,!i))};return n.extend(this.callBase(),{leftArrow:function(n){n.preventDefault();n.stopPropagation();f(this.option("step"))},rightArrow:function(n){n.preventDefault();n.stopPropagation();u(this.option("step"))},pageUp:function(n){n.preventDefault();n.stopPropagation();u(this.option("step")*this.option("keyStep"))},pageDown:function(n){n.preventDefault();n.stopPropagation();f(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)}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,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,useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return r.real().generic&&!r.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(a.current())},options:{useInkRipple:!0}}])},_render:function(){this.element().addClass(b);this.callBase();this._renderLabels();this._renderStartHandler();this._renderAriaMinAndMax();this._repaintHandle();this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=l.render({waveSizeCoefficient:.7,isCentered:!0,wavesNumber:2,useHoldAnimation:!1})},_renderInkWave:function(n,t,i,r){if(this._inkRipple){var u={element:n,jQueryEvent:t,wave:r};i?this._inkRipple.showWave(u):this._inkRipple.hideWave(u)}},_visibilityChanged:function(){this.repaint()},_renderWrapper:function(){this.callBase();this._$wrapper.addClass(k);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(d)},_renderRange:function(){this.callBase();this._$range.addClass(g);this._renderHandle();this._renderRangeVisibility()},_renderRangeVisibility:function(){this._$range.toggleClass(nt,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(p+"bottom",r&&u==="bottom").toggleClass(p+"top",r&&u==="top"),this._createComponent(f,c,{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)},_hoverStartHandler:function(t){c.getInstance(n(t.currentTarget)).updateTooltip()},_toggleActiveState:function(n,t){this.callBase(n,t);t&&c.getInstance(n).updateTooltip();this._renderInkWave(n,null,!!t,1)},_toggleFocusClass:function(t,i){if(this.callBase(t,i),!this._disposed){var r=n(i||this._focusTarget());this._renderInkWave(r,null,t,0)}},_renderLabels:function(){if(this.element().removeClass(v+"bottom").removeClass(v+"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(y).appendTo(this._$wrapper));this._$minLabel.html(t(i));this._$maxLabel||(this._$maxLabel=n("<div>").addClass(y).appendTo(this._$wrapper));this._$maxLabel.html(t(r));this.element().addClass(v+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 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=o.addNamespace(s.down,this.NAME),i=o.addNamespace("dxclick",this.NAME),r=this._createAction(n.proxy(this._startHandler,this));this.element().off(t).on(t,function(n){o.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._itemWidthRatio},_swipeStartHandler:function(t){var u=this.option("rtlEnabled"),i,r;o.isTouchEvent(t.jQueryEvent)&&this._createAction(n.proxy(this._startHandler,this))({jQueryEvent:t.jQueryEvent});this._feedbackDeferred=n.Deferred();h.lock(this._feedbackDeferred);this._toggleActiveState(this._activeHandle(),this.option("activeStateEnabled"));this._startOffset=this._currentRatio;i=this._startOffset*this._swipePixelRatio();r=(1-this._startOffset)*this._swipePixelRatio();t.jQueryEvent.maxLeftOffset=u?r:i;t.jQueryEvent.maxRightOffset=u?i:r;this._itemWidthRatio=this.element().width()/this._swipePixelRatio();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+"%");c.getInstance(this._activeHandle()).fitTooltipPosition;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=(o.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();var n=this.option("value");c.getInstance(this._activeHandle()).option("value",n)},_setRangeStyles:function(n){this._$range.css(n)},_callHandlerMethod:function(n,t){c.getInstance(this._$handle)[n](t)},_repaintHandle:function(){this._callHandlerMethod("repaint")},_fitTooltip:function(){this._callHandlerMethod("fitTooltipPosition")},_optionChanged:function(n){switch(n.name){case"visible":this.callBase(n);this._renderHandle();this._repaintHandle();i.triggerShownEvent(this.element());break;case"min":case"max":this._renderLabels();this._renderAriaMinAndMax();this.callBase(n);this._fitTooltip();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;case"useInkRipple":this._invalidate();break;default:this.callBase(n)}},_refresh:function(){this._renderDimensions();this._renderValue();this._renderHandle();this._repaintHandle()}});return u("dxSlider",e,w),w});DevExpress.require(["/ui/widgets/track/ui.slider"]);DevExpress.define("/ui/widgets/track/ui.rangeSlider",["jquery","/utils/utils.string","/ui/widgets/track/ui.sliderHandle","/ui/widgets/track/ui.slider","/componentRegistrator","/ui/uiNamespace","/ui/events/ui.events.utils"],function(n,t,i,r,u,f,e){var s="dx-rangeslider",o=s+"-start-handle",c=s+"-end-handle",h=r.inherit({_supportedKeys:function(){var i=this.option("rtlEnabled"),t=this,r=function(n,i){t.option("start")===t.option("end")&&(t._capturedHandle=i,n.target=t._capturedHandle,t._capturedHandle.focus())},u=function(r,u,f){var h=n(r.target).hasClass(o),e=h?"start":"end",s=t.option(e);u=t._valueStep(u);s+=f*(i?-u:u);t.option(e,s)},f=function(n,f){r(n,i?t._$handleStart:t._$handleEnd);u(n,f,1)},e=function(n,f){r(n,i?t._$handleEnd:t._$handleStart);u(n,f,-1)};return n.extend(this.callBase(),{leftArrow:function(n){n.preventDefault();n.stopPropagation();e(n,this.option("step"))},rightArrow:function(n){n.preventDefault();n.stopPropagation();f(n,this.option("step"))},pageUp:function(n){n.preventDefault();n.stopPropagation();f(n,this.option("step")*this.option("keyStep"))},pageDown:function(n){n.preventDefault();n.stopPropagation();e(n,this.option("step")*this.option("keyStep"))},home:function(t){t.preventDefault();t.stopPropagation();var i=n(t.target).hasClass(o),r=i?"start":"end",u=i?"min":"start",f=this.option(u);this.option(r,f)},end:function(t){t.preventDefault();t.stopPropagation();var i=n(t.target).hasClass(o),r=i?"start":"end",u=i?"end":"max",f=this.option(u);this.option(r,f)}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{start:40,end:60})},_render:function(){this.callBase();this.element().addClass(s);this._callHandlerMethod("repaint")},_renderHandle:function(){this._$handleStart=this._renderHandleImpl(this.option("start"),this._$handleStart).addClass(o);this._$handleEnd=this._renderHandleImpl(this.option("end"),this._$handleEnd).addClass(c);this._updateHandleAriaLabels()},_startHandler:function(n){var i=n.jQueryEvent,t=this._$range,r=t.width(),u=e.eventData(i).x-this._$bar.offset().left,f=t.position().left,o=t.position().left+r,s=this.option("rtlEnabled"),h=(s?-1:1)*((f+o)/2-u)>0;this._capturedHandle=h?this._$handleStart:this._$handleEnd;this.callBase(n)},_updateHandleAriaLabels:function(){this.setAria("label",Globalize.localize("dxRangeSlider-ariaFrom"),this._$handleStart);this.setAria("label",Globalize.localize("dxRangeSlider-ariaTill"),this._$handleEnd)},_activeHandle:function(){return this._capturedHandle},_updateHandlePosition:function(n){var h=this.option("rtlEnabled"),c=h?-1:1,e=this.option("max"),r=this.option("min"),t=this._startOffset+c*n.jQueryEvent.offset/this._swipePixelRatio(),s,f,o,u;t=t.toPrecision(12);s=t*(e-r)+r;this._updateSelectedRangePosition(t,t);i.getInstance(this._activeHandle()).fitTooltipPosition;this._changeValueOnSwipe(t);f=this.option("start");o=this.option("end");f===o&&(u=s<f?this._$handleStart:this._$handleEnd,u.focus(),u&&u!==this._capturedHandle&&(this._updateSelectedRangePosition((f-r)/(e-r),(o-r)/(e-r)),this._toggleActiveState(this._activeHandle(),!1),this._toggleActiveState(u,!0),this._capturedHandle=u),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 t=this.option("start"),u=this.option("end"),n=this.option("min"),r=this.option("max"),f=this.option("rtlEnabled");t=Math.max(n,Math.min(t,r));u=Math.max(t,Math.min(u,r));this.option("start",t);this.option("end",u);var s=r===n?0:(t-n)/(r-n),h=r===n?0:(u-n)/(r-n),e=parseFloat((s*100).toPrecision(12))+"%",o=parseFloat(((1-h)*100).toPrecision(12))+"%";this._needPreventAnimation||this._setRangeStyles({right:f?e:o,left:f?o:e});i.getInstance(this._$handleStart).option("value",t);i.getInstance(this._$handleEnd).option("value",u)},_callHandlerMethod:function(n,t){i.getInstance(this._$handleStart)[n](t);i.getInstance(this._$handleEnd)[n](t)},_optionChanged:function(n){switch(n.name){case"start":case"end":this._renderValue();this._createActionByOption("onValueChanged",{excludeValidators:["disabled","readOnly"]})({start:this.option("start"),end:this.option("end"),jQueryEvent:this._valueChangeEventInstance});this._saveValueChangeEvent(undefined);break;default:this.callBase(n)}}});return u("dxRangeSlider",f,h),h});DevExpress.require(["/ui/widgets/track/ui.rangeSlider"]),function(n,t,i){var v=t.ui,u=t.fx,s=t.require("/utils/utils.translator"),g=t.require("/utils/utils.common"),y=t.require("/devices"),nt=t.require("/componentRegistrator"),tt=t.require("/ui/ui.widget"),f=t.require("/ui/events/ui.events.utils"),r="dx-gallery",it=r+"-wrapper",p="dx-gallery-loop",rt=r+"-container",w=r+"-active",e=r+"-item",o=e+"-loop",ut="."+e,h=e+"-selected",b=r+"-indicator",c=b+"-item",l="."+c,k=c+"-selected",ft="dxGalleryItemData",d=1,a=tt.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{pageUp:n.noop,pageDown:n.noop})},_getDefaultOptions:function(){return n.extend(this.callBase(),{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)}}});a.publicName("dxGalleryNavButton");nt("dxGallery",v,v.CollectionWidget.inherit({_activeStateUnit:ut,_getDefaultOptions:function(){return n.extend(this.callBase(),{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 y.real().generic&&!y.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 e},_itemDataKey:function(){return ft},_actualItemWidth:function(){var n=this.option("wrapAround")?this._itemsPerPage()+1:this._itemsPerPage();return this.option("stretchImages")?1/n:this.option("wrapAround")?this._itemPercentWidth()*this._itemsPerPage()/(this._itemsPerPage()+1):this._itemPercentWidth()},_itemPercentWidth:function(){return this.option("initialItemWidth")?this.option("initialItemWidth")/this.element().outerWidth():1},_itemsPerPage:function(){var n=Math.floor(1/this._itemPercentWidth());return Math.min(n,this._itemsCount())},_pagesCount:function(){return Math.ceil(this._itemsCount()/this._itemsPerPage())},_itemsCount:function(){return(this.option("items")||[]).length},_offsetDirection:function(){return this.option("rtlEnabled")?-1:1},_render:function(){this.element().addClass(r);this.element().toggleClass(p,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"});this._fireContentReadyAction()},_renderContent:function(){this._renderContentImpl()},_dimensionChanged:function(){var n=this.option("selectedIndex")||0;this._clearCacheWidth();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(it).appendTo(this.element()))},_renderItems:function(n){this.callBase(n);this._loadNextPageIfNeeded()},_renderItemsContainer:function(){this._$container||(this._$container=n("<div>").addClass(rt).appendTo(this._$wrapper))},_renderDuplicateItems:function(){var t;if(this.option("loop")){var i=this.option("items")||[],r=i.length,u=r-1,n;if(r){for(this.element().find("."+o).remove(),t=Math.min(this._itemsPerPage(),r),n=0;n<t;n++)this._renderItem(0,i[n]).addClass(o);for(n=0;n<t;n++)this._renderItem(0,i[u-n]).addClass(o)}}},_emptyMessageComtainer:function(){return this._$wrapper},_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*100+"%")})},_renderItemPositions:function(){var u=this._actualItemWidth(),t=this._itemsCount(),i=this._itemsPerPage(),f=this.element().find("."+o).length,e=t+f-1,r=this.option("wrapAround")?.5:0,s=this._itemFreeSpace(),h=this.option("rtlEnabled");this._itemElements().each(function(f){var o=f,c;f>t+i-1&&(o=e-o-i);c=u*(o+r)+s*(o+1-r);n(this).css(h?"right":"left",c*100+"%")});this._relocateItems(this.option("selectedIndex"),this.option("selectedIndex"),!0)},_itemFreeSpace:function(){var n=this._itemsPerPage();return this.option("wrapAround")&&(n=n+1),(1-this._actualItemWidth()*n)/(n+1)},_renderContainerPosition:function(t,i){t=t||0;var r=this,e=this._actualItemWidth(),o=t,f=this._offsetDirection()*o*(e+this._itemFreeSpace()),u;return g.isDefined(this._animationOverride)&&(i=this._animationOverride,delete this._animationOverride),i?(r._startSwipe(),u=r._animate(f).done(n.proxy(r._endSwipe,r))):(s.move(this._$container,{left:f*this._elementWidth()}),u=n.Deferred().resolveWith(r)),this._deferredAnimate&&u.done(function(){r._deferredAnimate.resolveWith(r)}),u.promise()},_startSwipe:function(){this.element().addClass(w)},_endSwipe:function(){this.element().removeClass(w)},_animate:function(t,i){var r=this,f=this._$container,e=n.Deferred();return u.animate(this._$container,n.extend({type:"slide",to:{left:t*this._elementWidth()},duration:r.option("animationDuration"),complete:function(){r._needMoveContainerForward()&&s.move(f,{left:0});r._needMoveContainerBack()&&s.move(f,{left:r._maxContainerOffset()*r._elementWidth()});e.resolveWith(r)}},i||{})),e},_needMoveContainerForward:function(){var n=this._$container.position().left*this._offsetDirection(),t=-this._maxItemWidth()*this._elementWidth()*this._itemsCount();return n<=t+d},_needMoveContainerBack:function(){var n=this._$container.position().left*this._offsetDirection(),t=this._actualItemWidth()*this._elementWidth();return n>=t-d},_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(b).appendTo(this._$wrapper),t=0;t<this._pagesCount();t++)n("<div>").addClass(c).appendTo(i);this._renderSelectedPageIndicator()}},_cleanIndicators:function(){this._$indicator&&this._$indicator.remove()},_renderSelectedItem:function(){var n=this.option("selectedIndex");this._itemElements().removeClass(h).eq(n).addClass(h)},_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(l).removeClass(k).eq(n).addClass(k)}},_renderUserInteraction:function(){var t=this.element(),r=this.option("swipeEnabled")&&this._itemsCount()>1,i;this._createComponent(t,"dxSwipeable",{disabled:this.option("disabled")||!r,onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this),itemSizeFunc:n.proxy(this._elementWidth,this)});i=this._createAction(this._indicatorSelectHandler);t.off(f.addNamespace("dxclick",this.NAME),l).on(f.addNamespace("dxclick",this.NAME),l,function(n){i({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,a,{direction:"prev",onClick:function(){t._prevPage()}});t._nextNavButton=n("<div>").appendTo(this._$wrapper);t._createComponent(t._nextNavButton,a,{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,i;if(this.option("showNavButtons")&&this._prevNavButton&&this._nextNavButton){var r=this.option("selectedIndex"),u=this.option("loop"),t=this._itemsCount();(this._prevNavButton.show(),this._nextNavButton.show(),t===0&&(this._prevNavButton.hide(),this._nextNavButton.hide()),u)||(n=r===t-this._itemsPerPage(),i=t<2||r===0,n=this._dataSource&&this._dataSource.paginate()?n&&this._isLastPage():n||t<2,i&&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))},_elementWidth:function(){return this._cacheElementWidth||(this._cacheElementWidth=this.element().width()),this._cacheElementWidth},_clearCacheWidth:function(){delete this._cacheElementWidth},_swipeStartHandler:function(n){var t;if(this._clearCacheWidth(),this._elementWidth(),t=this._itemsCount(),!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(){u.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("."+h);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(){u.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_focusOutHandler:function(){u.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_selectFocusedItem:n.noop,_moveFocus:function(){this._stopItemAnimations();this.callBase.apply(this,arguments);var n=this.itemElements().index(this.option("focusedElement"));this.goToItem(n,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(p,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)}}))}(jQuery,DevExpress),function(n,t,i){var g=t.ui,c=t.fx,u=t.require("/utils/utils.translator"),e=t.require("/utils/utils.version").compare,l=t.require("/utils/utils.viewPort"),nt=l.value,a=l.changeCallback,v=t.require("/utils/utils.topOverlay").hideCallback,y=t.require("/utils/utils.position"),f=t.require("/utils/utils.math").fitIntoRange,o=t.require("/utils/utils.dom"),tt=t.require("/utils/utils.common"),s=t.require("/devices"),it=t.require("/componentRegistrator"),rt=t.require("/ui/ui.widget"),ut=t.require("/ui/ui.keyboardProcessor"),ft=t.require("/integration/jquery/jquery.selectors"),r=t.require("/ui/events/ui.events.utils"),et=t.require("/ui/events/pointer/ui.events.pointer"),ot=t.require("/ui/events/ui.events.emitter.scroll"),st="dx-overlay",ht="dx-overlay-wrapper",ct="dx-overlay-content",lt="dx-overlay-shader",at="dx-overlay-modal",vt="dx-state-invisible",yt="content",pt="dx-rtl",p=["onShowing","onShown","onHiding","onHidden","onPositioning","onPositioned","onResizeStart","onResize","onResizeEnd"],w=1e3,wt=[],bt="dx-state-disabled",kt=9,h=s.real(),b=h.version,k=h.platform==="ios",dt=k&&e(b,[7,1])<0,gt=h.platform==="android"&&e(b,[4,0],2)===0&&navigator.userAgent.indexOf("Chrome")===-1,ni=function(n){if(dt&&n.width(),gt){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"))}},d=function(t){return t&&n(t instanceof n.Event?t.target:t)};it("dxOverlay",g,rt.inherit({_supportedKeys:function(){var t=5,i=function(n,t,i){if(this.option("dragEnabled")){i.preventDefault();i.stopPropagation();var r=this._allowedOffsets(),u={top:f(n,-r.top,r.bottom),left:f(t,-r.left,r.right)};this._changePosition(u)}};return n.extend(this.callBase(),{escape:function(){this.hide()},upArrow:n.proxy(i,this,-t,0),downArrow:n.proxy(i,this,t,0),leftArrow:n.proxy(i,this,0,-t),rightArrow:n.proxy(i,this,0,t)})},_getDefaultOptions:function(){return n.extend(this.callBase(),{activeStateEnabled:!1,visible:!1,deferRendering:!0,shading:!0,shadingColor:"",position:{my:"center",at:"center"},width:function(){return n(window).width()*.8},minWidth:null,maxWidth:null,height:function(){return n(window).height()*.8},minHeight:null,maxHeight:null,animation:{show:{type:"pop",duration:300,from:{scale:.55}},hide:{type:"pop",duration:300,to:{opacity:0,scale:.55},from:{opacity:1,scale:1}}},closeOnOutsideClick:!1,closeOnBackButton:!0,onShowing:null,onShown:null,onHiding:null,onHidden:null,contentTemplate:"content",dragEnabled:!1,resizeEnabled:!1,onResizeStart:null,onResize:null,onResizeEnd:null,onContentReady:null,target:i,container:i,hideTopOverlayHandler:i,closeOnTargetScroll:!1,onPositioned:null,boundaryOffset:{h:0,v:0}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=s.real(),t=n.platform,i=n.version;return t==="android"&&e(i,[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})},_getAnonymousTemplateName:function(){return yt},_wrapper:function(){return this._$wrapper},_container:function(){return this._$content},_eventBindingTarget:function(){return this._$content},_init:function(){this.callBase();this._initActions();this._initCloseOnOutsideClickHandler();this._initTabTerminatorHandler();this._$wrapper=n("<div>").addClass(ht);this._$content=n("<div>").addClass(ct);var t=this.element();this._$wrapper.addClass(t.attr("class"));t.addClass(st);this._$wrapper.attr("data-bind","dxControlsDescendantBindings: true");this._$wrapper.on("MSPointerDown",n.noop);this._$wrapper.on("focusin",function(n){n.stopPropagation()});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(tt.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(t){t=t===i?nt():t;var u=this.element(),r=u.closest(t);r.length||(r=n(t).first());this._$container=r.length?r:u.parent()},_initHideTopOverlayHandler:function(t){this._hideTopOverlayHandler=t!==i?t:n.proxy(this._defaultHideTopOverlayHandler,this)},_defaultHideTopOverlayHandler:function(){this.hide()},_initActions:function(){this._actions={};n.each(p,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i,{excludeValidators:["disabled","readOnly"]})||n.noop},this))},_initCloseOnOutsideClickHandler:function(){var n=this;this._proxiedDocumentDownHandler=function(){n._documentDownHandler.apply(n,arguments)}},_documentDownHandler:function(t){var i,r,u;if(this._isTopOverlay()){if(this._showAnimationProcessing){this._stopAnimation();return}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 wt},_zIndexInitValue:function(){return w},_toggleViewPortSubscriptiion:function(t){a.remove(this._viewPortChangeHandle);t&&(this._viewPortChangeHandle=n.proxy(this._viewPortChangeHandler,this),a.add(this._viewPortChangeHandle))},_viewPortChangeHandler:function(){this._initContainer(this.option("container"));this._refresh()},_renderVisibilityAnimate:function(n){return this._stopAnimation(),n?this._show():this._hide()},_normalizePosition:function(){this._position=this.option("position")},_getAnimationConfig:function(){var t=this.option("animation");return n.isFunction(t)&&(t=t.call(this)),t},_show:function(){var t=this,i=n.Deferred();if(this._parentHidden=this._isParentHidden(),i.done(function(){delete t._parentHidden}),this._parentHidden)return i.resolve();if(this._currentVisible)return n.when().promise();this._currentVisible=!0;this._normalizePosition();var u=t._getAnimationConfig()||{},r=this._normalizeAnimation(u.show,"to"),f=r&&r.start||n.noop,e=r&&r.complete||n.noop;return this._isHidingActionCancelled?(delete this._isHidingActionCancelled,i.resolve()):(this._renderVisibility(!0),this._animate(r,function(){t.option("focusStateEnabled")&&t._focusTarget().focus();e.apply(this,arguments);t._showAnimationProcessing=!1;t._actions.onShown();i.resolve()},function(){f.apply(this,arguments);t._showAnimationProcessing=!0})),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(){if(!this._currentVisible)return n.when().promise();this._currentVisible=!1;var t=this,i=n.Deferred(),f=t._getAnimationConfig()||{},r=this._normalizeAnimation(f.hide,"from"),e=r&&r.complete||n.noop,u={cancel:!1};this._actions.onHiding(u);return u.cancel?(this._isHidingActionCancelled=!0,this.option("visible",!0),i.resolve()):(this._forceFocusLost(),this._toggleShading(!1),this._toggleSubscriptions(!1),this._animate(r,function(){t._renderVisibility(!1);e.apply(this,arguments);t._actions.onHidden();i.resolve()})),i.promise()},_forceFocusLost:function(){document.activeElement&&this._$content.find(document.activeElement).length&&document.activeElement.blur()},_animate:function(t,i,r){if(t){r=r||t.start||n.noop;var u=this._$content;c.animate(this._$content,n.extend({},t,{start:function(){u.css("pointer-events","none");r.apply(this,arguments)},complete:function(){u.css("pointer-events","");i.apply(this,arguments)}}))}else i()},_stopAnimation:function(){c.stop(this._$content,!0)},_renderVisibility:function(n){n&&this._isParentHidden()||(this._currentVisible=n,this._stopAnimation(),n||o.triggerHidingEvent(this._$content),this._toggleVisibility(n),this._$content.toggleClass(vt,!n),this._updateZIndexStackPosition(n),n?(this._renderContent(),this._actions.onShowing(),this._moveToContainer(),this._renderGeometry(),o.triggerShownEvent(this._$content),o.triggerResizeEvent(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(at,this.option("shading")&&!this.option("container"));this._$wrapper.toggleClass(lt,n&&this.option("shading"));this._$wrapper.css("background-color",this.option("shading")?this.option("shadingColor"):"");this._toggleTabTerminator(n&&this.option("shading"))},_initTabTerminatorHandler:function(){var n=this;this._proxiedTabTerminatorHandler=function(){n._tabKeyHandler.apply(n,arguments)}},_toggleTabTerminator:function(t){var i=r.addNamespace("keydown",this.NAME);if(t)n(document).on(i,this._proxiedTabTerminatorHandler);else n(document).off(i,this._proxiedTabTerminatorHandler)},_tabKeyHandler:function(t){if(t.keyCode===kt&&this._isTopOverlay()){var i=this._$wrapper.find(ft.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")?v.add(this._hideTopOverlayHandler):v.remove(this._hideTopOverlayHandler))},_toggleDocumentDownHandler:function(t){var i=r.addNamespace(et.down,this.NAME);if(t)n(document).on(i,this._proxiedDocumentDownHandler);else n(document).off(i,this._proxiedDocumentDownHandler)},_toggleParentsScrollSubscription:function(t){if(this._position){var f=this._position.of||n(),e=this.option("closeOnTargetScroll"),i=d(f).parents(),u=r.addNamespace("scroll",this.NAME);if(s.real().platform==="generic"&&(i=i.add(window)),this._proxiedTargetParentsScrollHandler=this._proxiedTargetParentsScrollHandler||n.proxy(function(n){this._targetParentsScrollHandler(n)},this),n().add(this._$prevTargetParents).off(u,this._proxiedTargetParentsScrollHandler),t&&e){i.on(u,this._proxiedTargetParentsScrollHandler);this._$prevTargetParents=i}}},_targetParentsScrollHandler:function(t){var i=!1,r=this.option("closeOnTargetScroll");n.isFunction(r)&&(i=r(t));i||this._showAnimationProcessing||this.hide()},_render:function(){this.callBase();this._$content.appendTo(this.element());this._renderVisibilityAnimate(this.option("visible"))},_renderContent:function(){var n=!this.option("visible")&&this.option("deferRendering"),t=this.option("visible")&&this._isParentHidden();if(t){this._isHidden=!0;return}this._contentAlreadyRendered||n||(this._contentAlreadyRendered=!0,this.callBase())},_isParentHidden:function(){var t,r;return this._parentHidden!==i?this._parentHidden:(t=this.element().parent(),t.is(":visible"))?!1:(r=!1,t.add(t.parents()).each(function(){var t=n(this);if(t.css("display")==="none")return r=!0,!1}),r||!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),onResize:n.proxy(this._actions.onResize,this),onResizeStart:n.proxy(this._actions.onResizeStart,this),minHeight:100,minWidth:100,area:this._$container})},_resizeEndHandler:function(){this._positionChangeHandled=!0;this._dimensionChangeHandled=!0;this._actions.onResizeEnd()},_renderScrollTerminator:function(){var i=this._wrapper(),t=r.addNamespace(ot.move,this.NAME);i.off(t).on(t,{validate:function(){return!0},getDirection:function(){return"both"},_toggleGestureCover: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 t=this._allowedOffsets();n.maxTopOffset=t.top;n.maxBottomOffset=t.bottom;n.maxLeftOffset=t.left;n.maxRightOffset=t.right},_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});this._positionChangeHandled=!0},_allowedOffsets:function(){var n=u.locate(this._$content),t=this._deltaSize(),i=t.height>=0&&t.width>=0,r=this.option("boundaryOffset");return{top:i?n.top+r.v:0,bottom:i?-n.top+t.height-r.v:0,left:i?n.left+r.h:0,right:i?-n.left+t.width-r.h:0}},_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();var n=this._renderPosition();this._actions.onPositioned({position:n})},_renderShading:function(){var n=this._$wrapper,t=this._getContainer();n.css("position",this._isWindow(t)&&!k?"fixed":"absolute");this._renderShadingDimensions();this._renderShadingPosition()},_renderShadingPosition:function(){if(this.option("shading")){var n=this._getContainer();y.setup(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 d(t||i)},_renderDimensions:function(){if(this._$content.css({minWidth:this.option("minWidth"),maxWidth:this.option("maxWidth"),minHeight:this.option("minHeight"),maxHeight:this.option("maxHeight")}),this._dimensionChangeHandled){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,t;if(this._positionChangeHandled)n=this._allowedOffsets(),this._changePosition({top:f(0,-n.top,n.bottom),left:f(0,-n.left,n.right)});else return this._renderOverlayBoundaryOffset(),u.resetPosition(this._$content),t=y.setup(this._$content,this._position),ni(this._$content),this._actions.onPositioning(),t},_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 ut({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)},_isVisible:function(){return this.option("visible")},_visibilityChanged:function(n){n?this.option("visible")&&this._renderVisibilityAnimate(n):this._renderVisibilityAnimate(n)},_dimensionChanged:function(){this._renderGeometry()},_clean:function(){this._contentAlreadyRendered||this.content().empty();this._currentVisible=null;this._cleanFocusState()},_dispose:function(){t.fx.stop(this._$content,!1);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(bt,Boolean(n))},_toggleRTLDirection:function(n){this._$content.toggleClass(pt,n)},_optionChanged:function(t){var i=t.value;if(n.inArray(t.name,p)>-1){this._initActions();return}switch(t.name){case"dragEnabled":this._renderDrag();this._renderGeometry();break;case"resizeEnabled":this._renderResize();this._renderGeometry();break;case"shading":case"shadingColor":this._toggleShading(this.option("visible"));break;case"width":case"minWidth":case"maxWidth":case"height":case"minHeight":case"maxHeight":case"position":case"boundaryOffset":this._renderGeometry();break;case"visible":this._renderVisibilityAnimate(i).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._contentAlreadyRendered=!1;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){w=n}}(jQuery,DevExpress),function(n,t){var u=t.ui,e=t.require("/utils/utils.common"),o=t.require("/componentRegistrator"),f="dx-toast",i=f+"-",s=i+"wrapper",h=i+"content",c=i+"message",l=i+"icon",a=["info","warning","error","success"],v=[],y=8e3,r=null,p={top:{my:"top",at:"top",of:null,offset:"0 0"},bottom:{my:"bottom",at:"bottom",of:null,offset:"0 -20"},center:{my:"center",at:"center",of:null,offset:"0 0"},right:{my:"center right",at:"center right",of:null,offset:"0 0"},left:{my:"center left",at:"center left",of:null,offset:"0 0"}};o("dxToast",u,u.dxOverlay.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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,closeOnSwipe:!0,closeOnClick:!1,resizeEnabled:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{position:"top center",width:function(){return n(window).width()}}},{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===10},options:{position:"bottom right",width:"auto"}},{device:{platform:"android"},options:{closeOnOutsideClick:!0,width:"auto",position:{at:"bottom left",my:"bottom left",offset:"20 -20"},animation:{show:{type:"slide",duration:200,from:{top:n(window).height()}},hide:{type:"slide",duration:200,to:{top:n(window).height()}}}}},{device:function(n){var t=n.deviceType==="phone",i=n.platform==="android",r=n.platform==="win"&&n.version&&n.version[0]===10;return t&&(i||r)},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(c).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(l));this.callBase()},_render:function(){this.callBase();this.element().addClass(f);this._wrapper().addClass(s);this._$content.addClass(i+String(this.option("type")).toLowerCase());this.content().addClass(h);this._toggleCloseEvents("Swipe");this._toggleCloseEvents("Click")},_toggleCloseEvents:function(t){var i="dx"+t.toLowerCase();this._$content.off(i);this.option("closeOn"+t)&&this._$content.on(i,n.proxy(this.hide,this))},_posStringToObject:function(){if(e.isString(this.option("position"))){var i=this.option("position").split(" ")[0],t=this.option("position").split(" ")[1];this.option("position",n.extend({},p[i]));switch(t){case"center":case"left":case"right":this.option("position").at+=" "+t;this.option("position").my+=" "+t}}},_show:function(){return r&&(clearTimeout(r._hideTimeout),r.hide()),r=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 r=null,this.callBase.apply(this,arguments)},_zIndexStack:function(){return v},_zIndexInitValue:function(){return this.callBase()+y},_dispose:function(){clearTimeout(this._hideTimeout);r=null;this.callBase()},_optionChanged:function(n){switch(n.name){case"type":this._$content.removeClass(i+n.previousValue);this._$content.addClass(i+String(n.value).toLowerCase());break;case"message":this._message&&this._message.text(n.value);break;case"closeOnSwipe":this._toggleCloseEvents("Swipe");break;case"closeOnClick":this._toggleCloseEvents("Click");break;case"displayTime":case"position":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,v=t.require("/utils/utils.translator"),y=t.require("/utils/utils.inflector").camelize,e=t.require("/utils/utils.common"),r=t.require("/devices"),p=t.require("/componentRegistrator"),o=t.require("/ui/widgets/ui.button"),s=t.require("/ui/ui.themes"),u="dx-popup",w="dx-popup-wrapper",h="dx-popup-fullscreen",b="dx-popup-fullscreen-width",k="dx-popup-normal",d="dx-popup-content",g="dx-popup-draggable",c="dx-popup-title",nt="dx-closebutton",l="dx-popup-bottom",tt="dx-template-wrapper",a=["cancel","clear","done"],it=function(n){var u=r.current(),i=u.platform,f="bottom",t="before";if(i==="ios")switch(n){case"cancel":f="top";break;case"clear":f="top";t="after";break;case"done":t="after"}else if(i==="win")t="after";else if(i==="android"&&u.version&&parseInt(u.version[0])>4)switch(n){case"cancel":t="after";break;case"done":t="after"}else i==="android"&&(t="center");return{toolbar:f,location:t}};p("dxPopup",f,f.dxOverlay.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{fullScreen:!1,title:"",showTitle:!0,titleTemplate:"title",onTitleRendered:null,dragEnabled:!1,buttons:[],showCloseButton:!1,bottomTemplate:"bottom"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=(s.current()||"").split(".")[0];return n==="win8"},options:{width:function(){return n(window).width()}}},{device:function(n){var t=(s.current()||"").split(".")[0];return n.phone&&t==="win8"},options:{position:{my:"top center",at:"top center",offset:"0 0"}}},{device:{platform:"ios"},options:{animation:this._iosAnimation}},{device:{platform:"android"},options:{animation:this._androidAnimation}},{device:{platform:"generic"},options:{showCloseButton:!0}},{device:function(n){return r.real().platform==="generic"&&n.platform==="generic"},options:{dragEnabled:!0}},{device:function(){return r.real().generic&&!r.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"}}}},_androidAnimation:function(){return this.option("fullScreen")?{show:{type:"slide",duration:300,from:{top:"30%",opacity:0},to:{top:0,opacity:1}},hide:{type:"slide",duration:300,from:{top:0,opacity:1},to:{top:"30%",opacity:0}}}:{show:{type:"fade",duration:400,from:0,to:1},hide:{type:"fade",duration:400,from:1,to:0}}},_init:function(){this.callBase();this.element().addClass(u);this._wrapper().addClass(w);this._$popupContent=this._$content.wrapInner(n("<div>").addClass(d)).children().eq(0)},_render:function(){var n=this.option("fullScreen");this._$content.toggleClass(h,n).toggleClass(k,!n);this.callBase()},_renderContentImpl:function(){this.callBase();this._renderTitle();this._renderBottom()},_renderTitle:function(){var t=this._getToolbarItems("top"),i=this.option("title"),u=this.option("showTitle"),f;u&&!!i&&t.unshift({location:r.current().ios?"center":"before",text:i});u||t.length>0?(this._$title&&this._$title.remove(),f=n("<div>").addClass(c).insertBefore(this.content()),this._$title=this._renderTemplateByType("titleTemplate",t,f).addClass(c),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(tt)&&(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(nt);this._createComponent(f,o,{icon:"close",onClick:this._createButtonAction(i),_templates:{}});u.append(f)},this)},_getToolbarItems:function(t){var o=this.option("buttons"),i=[],u,f;return this._buttonsClasses=[],u=r.current().platform,f=0,n.each(o,n.proxy(function(r,o){var h=e.isDefined(o.shortcut),s=h?it(o.shortcut):o,c;h&&u==="ios"&&f<2&&(s.toolbar="top",f++);n.extend(s,e.isDefined(o.toolbar)?{toolbar:o.toolbar}:{});s&&s.toolbar===t&&(h&&n.extend(s,{location:o.location},this._getButtonByAlias(o)),c=u==="win"||u==="generic",o.shortcut==="done"&&c||o.shortcut==="cancel"&&!c?i.unshift(s):i.push(s))},this)),t==="top"&&this.option("showCloseButton")&&this.option("showTitle")&&i.push(this._getCloseButton()),i},_getButtonByAlias:function(t){var e=this,i=t.shortcut,f,r;return n.inArray(i,a)<0?!1:(f=n.extend({text:Globalize.localize(y(i,!0)),onClick:this._createButtonAction(t.onClick),_templates:{}},t.options||{}),r=u+"-"+i,this._buttonsClasses.push(r),{template:function(t,i,u){var s=n("<div>").addClass(r).appendTo(u);e._createComponent(s,o,f)}})},_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(l).insertAfter(this.content()),this._$bottom=this._renderTemplateByType("bottomTemplate",t,i).addClass(l),this._toggleClasses()):this._$bottom&&this._$bottom.detach()},_toggleClasses:function(){var t=a;n.each(t,n.proxy(function(t,i){var r=u+"-"+i;n.inArray(r,this._buttonsClasses)>=0?(this._wrapper().addClass(r+"-visible"),this._$bottom.addClass(r)):(this._wrapper().removeClass(r+"-visible"),this._$bottom.removeClass(r))},this))},_getDragTarget:function(){return this._$title},_renderGeometryImpl:function(){this._resetContentHeight();this.callBase.apply(this,arguments);this._setContentHeight()},_resetContentHeight:function(){this._$popupContent.css({height:"auto"})},_renderDrag:function(){this.callBase();this._$content.toggleClass(g,this.option("dragEnabled"))},_renderResize:function(){this.callBase();this._$content.dxResizable("option","onResize",n.proxy(function(){this._setContentHeight();this._actions.onResize(arguments)},this))},_setContentHeight:function(){if(!this._disallowUpdateContentHeight()){var n=this._$content.height();this._$title&&this._$title.is(":visible")&&(n-=this._$title.outerHeight(!0)||0);this._$bottom&&this._$bottom.is(":visible")&&(n-=this._$bottom.outerHeight(!0)||0);this._$popupContent.css({height:n})}},_disallowUpdateContentHeight:function(){var n=this.option("height")==="auto",t=this._$content.css("maxHeight")!=="none",i=parseInt(this._$content.css("minHeight"))>0;return n&&!(t||i)},_renderDimensions:function(){this.option("fullScreen")?this._$content.css({width:"100%",height:"100%"}):this.callBase.apply(this,arguments);this._renderFullscreenWidthClass()},_renderFullscreenWidthClass:function(){this.overlayContent().toggleClass(b,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(){if(this.option("fullScreen"))v.move(this._$content,{top:0,left:0});else return 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(h,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 u=t.ui,e=t.require("/utils/utils.translator"),o=t.require("/utils/utils.string"),r=t.require("/utils/utils.position"),s=t.require("/utils/utils.common"),h=t.require("/utils/utils.math"),c=t.require("/componentRegistrator"),l="dx-popover",a="dx-popover-wrapper",v="dx-popover-arrow",y="dx-popover-without-title",f={left:"right",top:"bottom",right:"left",bottom:"top",center:"center"},i={left:-1,top:-1,center:0,right:1,bottom:1},p={top:{my:"bottom center",at:"top center",collision:"fit flip"},bottom:{my:"top center",at:"bottom center",collision:"fit flip"},right:{my:"left center",at:"right center",collision:"flip fit"},left:{my:"right center",at:"left center",collision:"flip fit"}};c("dxPopover",u,u.dxPopup.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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:"",arrowOffset:0,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(l);this._wrapper().addClass(a)},_renderArrow:function(){this._$arrow=n("<div>").addClass(v).prependTo(this.overlayContent())},_documentDownHandler:function(n){this._isOutsideClick(n)&&this.callBase(n)},_isOutsideClick:function(t){return!n(t.target).closest(this.option("target")).length},_animate:function(t){t&&t.to&&n.extend(t.to,{position:this._contentPosition});this.callBase.apply(this,arguments)},_stopAnimation:function(){this.callBase.apply(this,arguments)},_renderTitle:function(){this._wrapper().toggleClass(y,!this.option("showTitle"));this.callBase()},_renderPosition:function(){this.callBase();this._renderOverlayPosition()},_renderOverlayBoundaryOffset:n.noop,_renderOverlayPosition:function(){this._resetOverlayPosition();this._updateContentSize();var i=this._getContainerPosition(),n=r.setup(this._$content,i),t=this._getSideByLocation(n);this._togglePositionClass("dx-position-"+t);this._toggleFlippedClass(n.h.flip,n.v.flip);this._renderArrowPosition(t)},_resetOverlayPosition:function(){this._setContentHeight(!0);this._togglePositionClass("dx-position-"+this._positionSide);e.move(this._$content,{left:0,top:0});this._$arrow.css({top:"auto",right:"auto",bottom:"auto",left:"auto"})},_updateContentSize:function(){var n,t,i,u;this._$popupContent&&(n=r.calculate(this._$content,this._getContainerPosition()),n.h.oversize>0&&this._isHorizontalSide()&&!n.h.fit&&(t=this._$content.width()-n.h.oversize,this._$content.width(t)),n.v.oversize>0&&this._isVerticalSide()&&!n.v.fit&&(i=this._$content.height()-n.v.oversize,u=this._$popupContent.height()-n.v.oversize,this._$content.height(i),this._$popupContent.height(u)))},_getContainerPosition:function(){var t=o.pairToObject(this._position.offset||""),r=t.h,u=t.v,s=this._isPopoverInside(),f=(s?-1:1)*i[this._positionSide],e=this._getContentBorderWidth(this._positionSide);return this._isVerticalSide()?u+=f*(this._$arrow.height()-e):this._isHorizontalSide()&&(r+=f*(this._$arrow.width()-e)),n.extend({},this._position,{offset:r+" "+u})},_getContentBorderWidth:function(n){var t=this._$content.css("border-"+n+"-width");return parseInt(t)||0},_getSideByLocation:function(n){var t=n.v.flip,i=n.h.flip;return this._isVerticalSide()&&t||this._isHorizontalSide()&&i||this._isPopoverInside()?f[this._positionSide]:this._positionSide},_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-horizontal",n).toggleClass("dx-popover-flipped-vertical",t)},_renderArrowPosition:function(t){var r,c;this._$arrow.css(f[t],-(this._isVerticalSide(t)?this._$arrow.height():this._$arrow.width()));var u=this._isVerticalSide(t)?"left":"top",e=this._isVerticalSide(t)?"outerWidth":"outerHeight",o=n(this._position.of),w=o.offset()||{top:0,left:0},b=this._$content.offset(),s=this._$arrow[e](),i=b[u],l=this._$content[e](),a=w[u],k=o.get(0).preventDefault?0:o[e](),v=Math.max(i,a),y=Math.min(i+l,a+k),p;p=this.option("arrowPosition")==="start"?v-i:this.option("arrowPosition")==="end"?y-i-s:(v+y)/2-i-s/2;r=this._getContentBorderWidth(t);c=h.fitIntoRange(p-r+this.option("arrowOffset"),r,l-s-r*2);this._$arrow.css(u,c)},_isPopoverInside:function(){var n=this._getPosition(),t=r.setup.normalizeAlign(n.my),i=r.setup.normalizeAlign(n.at);return t.h===i.h&&t.v===i.v},_getPosition:function(){var t=this.option("position");return s.isString(t)&&(t=n.extend({},p[t])),t},_setContentHeight:function(n){n&&this.callBase()},_renderShadingPosition:function(){this.option("shading")&&this._$wrapper.css({top:0,left:0})},_renderShadingDimensions:function(){this.option("shading")&&this._$wrapper.css({width:"100%",height:"100%"})},_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=r.setup.normalizeAlign(n.my),t=r.setup.normalizeAlign(n.at),f=i[u.h]===i[t.h]&&i[u.v]===i[t.v]?-1:1,e=Math.abs(i[u.h]-f*i[t.h]),o=Math.abs(i[u.v]-f*i[t.v]);return e>o?t.h:t.v},_isVerticalSide:function(n){return n=n||this._positionSide,n==="top"||n==="bottom"},_isHorizontalSide:function(n){return n=n||this._positionSide,n==="left"||n==="right"},_optionChanged:function(n){switch(n.name){case"showTitle":case"title":case"titleTemplate":this.callBase(n);this._renderGeometry();break;case"target":case"boundaryOffset":case"arrowPosition":case"arrowOffset":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=t.require("/componentRegistrator"),f="dx-tooltip",e="dx-tooltip-wrapper",o=[],s=-500;u("dxTooltip",r,r.dxPopover.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{buttons:[],showCloseButton:!1,showTitle:!1,title:null,titleTemplate:null,onTitleRendered:null,bottomTemplate:null})},_render:function(){this.element().addClass(f);this._wrapper().addClass(e);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 o},_zIndexInitValue:function(){return this.callBase()+s}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=t.require("/devices"),f=t.require("/componentRegistrator"),e=t.require("/ui/ui.widget"),o=t.require("/ui/widgets/ui.button"),s=t.require("/ui/ui.dataHelper"),h="dx-dropdownmenu",c="dx-dropdownmenu-popup",l="dx-dropdownmenu-popup-wrapper",a="dx-dropdownmenu-list",v="dx-dropdownmenu-button",y={popupWidth:"width",popupHeight:"height"},p={buttonIcon:"icon",buttonText:"text",buttonWidth:"width",buttonHeight:"height",buttonTemplate:"template"};f("dxDropDownMenu",u,e.inherit({_supportedKeys:function(){var t={};return this.option("opened")&&this._list.option("focusedElement")||(t=this._button._supportedKeys()),n.extend(this.callBase(),t,{tab:function(){this._popup.hide()}})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{buttonIconSrc:{since:"15.1",alias:"buttonIcon"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{items:[],onItemClick:null,dataSource:null,itemTemplate:"item",buttonText:"",buttonIcon:"overflow",buttonWidth:i,buttonHeight:i,buttonTemplate:"content",onButtonClick:null,usePopover:!1,popupWidth:"auto",popupHeight:"auto",activeStateEnabled:!0,hoverStateEnabled:!0,opened:!1,popupPosition:"bottom",popupAnimation:i,onItemRendered:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:[{platform:"ios"}],options:{usePopover:!0}},{device:function(){return r.real().generic&&!r.isSimulator()},options:{focusStateEnabled:!0}},{device:[{platform:"android"}],options:{popupPosition:{my:"top "+(this.option("rtlEnabled")?"left":"right"),at:"top "+(this.option("rtlEnabled")?"left":"right"),collision:"flipfit"},popupAnimation:{show:{type:"pop",duration:200,from:{scale:0},to:{scale:1}},hide:{type:"pop",duration:200,from:{scale:1},to:{scale:0}}}}}])},_initOptions:function(n){r.current().platform==="android"&&(n.popupPosition||(n.popupPosition={at:(n.usePopover?"bottom ":"top ")+(n.rtlEnabled?"left":"right")}));this.callBase(n)},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){this.callBase();this.element().addClass(h);this._initDataSource();this._initItemClickAction();this._initButtonClickAction()},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption("onItemClick")},_initButtonClickAction:function(){this._buttonClickAction=this._createActionByOption("onButtonClick")},_render:function(){this._renderButton();this.callBase();this.setAria({role:"menubar",haspopup:!0,expanded:this.option("opened")})},_renderContentImpl:function(){this.option("opened")&&this._renderPopup()},_clean:function(){this._cleanFocusState();this._popup&&(this._popup.element().remove(),delete this._$popup)},_renderButton:function(){var n=this.element().addClass(v),t=this._buttonOptions();this._button=this._createComponent(n,o,t)},_buttonOptions:function(){return{text:this.option("buttonText"),icon:this.option("buttonIcon"),width:this.option("buttonWidth"),height:this.option("buttonHeight"),template:this.option("buttonTemplate"),focusStateEnabled:!1,onClick:n.proxy(function(n){this.option("opened",!this.option("opened"));this._buttonClickAction(n)},this)}},_toggleMenuVisibility:function(n){var t=n===i?!this._popup.option("visible"):n;n&&this._renderPopup();this._popup.toggle(t);this.setAria("expanded",t)},_renderPopup:function(){if(!this._$popup){var t=this._$popup=n("<div>").appendTo(this.element()),i=this._popupOptions();this._popup=this._createComponent(t,"dxPopover",i)}},_popupOptions:function(){var t=!this.option("usePopover");return{onInitialized:function(n){n.component._wrapper().addClass(l).toggleClass(c,t)},visible:this.option("opened"),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),target:this.element(),height:this.option("popupHeight"),width:this.option("popupWidth")}},_popupContentReadyHandler:function(){var n=this._$popup.dxPopover("instance");this._renderList(n)},_renderList:function(t){var i=t.content(),u=this._listOptions(),r;i.addClass(a);this._list=this._createComponent(i,"dxList",u);this._list._getAriaTarget=n.proxy(function(){return this.element()},this);this._setListDataSource();r=n(window).height()*.5;i.height()>r&&i.height(r)},_listOptions:function(){return{_keyboardProcessor:this._listProcessor,pageLoadMode:"scrollBottom",indicateLoading:!1,noDataText:"",itemTemplate:this._getTemplateByOption("itemTemplate"),onItemClick:n.proxy(function(n){this.option("opened",!1);this._itemClickAction(n)},this),tabIndex:-1,focusStateEnabled:this.option("focusStateEnabled"),activeStateEnabled:this.option("activeStateEnabled"),onItemRendered:this.option("onItemRendered"),_itemAttributes:{role:"menuitem"}}},_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":case"buttonWidth":case"buttonHeight":case"buttonTemplate":this._button.option(p[t],i);this._renderPopup();break;case"popupWidth":case"popupHeight":this._popup.option(y[t],i);break;case"usePopover":this._invalidate();break;case"focusStateEnabled":case"activeStateEnabled":this._list&&this._list.option(t,i);this.callBase(n);break;case"onItemRendered":this._list&&this._list.option(t,i);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(s))}(jQuery,DevExpress);DevExpress.define("/ui/widgets/date/ui.dateUtils",["jquery"],function(n){var i=function(){return["year","day","month","day"]},r=6e4,u=r*1440,f=u*365,t=DevExpress.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:r,ONE_DAY:u,ONE_YEAR:f,MIN_DATEVIEW_DEFAULT_DATE:new Date(1900,1,1),MAX_DATEVIEW_DEFAULT_DATE:new Date((new Date).setHours(23,59,59)+50*f),FORMATS_INFO:{date:{standardPattern:"yyyy-MM-dd",components:i()},time:{standardPattern:"HH:mm",components:["hours","minutes"]},datetime:{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'",components:i().concat(["hours","minutes","seconds","milliseconds"])},"datetime-local":{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm",components:i().concat(["hours","minutes","seconds"])}},FORMATS_MAP:{date:"d",time:"t",datetime:"S","datetime-local":"f"},toStandardDateFormat:function(n,i,r){return r=r||t.FORMATS_INFO[i].standardPattern,Globalize.format(n,r)},fromStandardDateFormat:function(n){return Globalize.parseDate(n,t.FORMATS_INFO.datetime.standardPattern)||Globalize.parseDate(n,t.FORMATS_INFO["datetime-local"].standardPattern)||Globalize.parseDate(n,t.FORMATS_INFO.time.standardPattern)||Globalize.parseDate(n,t.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(i,r,u){if(!r)return undefined;isNaN(i.getTime())&&(i=new Date(0,0,0,0,0,0));var f=t.FORMATS_INFO[u];return n.each(f.components,function(){var n=t.DATE_COMPONENTS_INFO[this];i[n.setter](r[n.getter]())}),i},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 t.expandPattern(n).indexOf("MMMM")!==-1},formatUsesDayName:function(n){return t.expandPattern(n).indexOf("dddd")!==-1},getLongestDate:function(n,i,r){var u=new Date(1888,t.formatUsesMonthName(n)?t.getLongestCaptionIndex(i):9,21,23,59,59,999);return t.formatUsesDayName(n)&&u.setDate(u.getDate()-u.getDay()+t.getLongestCaptionIndex(r)),u},calculateMaximumDateFormatWidth:function(i,r,u){if(!u||n(u).is(":visible")){var e,f=n("<div>"+Globalize.format(t.getLongestDate(i,Globalize.culture().calendar.months.names,Globalize.culture().calendar.days.names),i)+"<\/div>").css({visibility:"hidden","white-space":"nowrap",position:"absolute",float:"left"});return r&&f.css(r),f.appendTo(u?n(u):n("body")),e=f.width()+2,f.remove(),e}}};return t.DATE_COMPONENTS_INFO={year:{getter:"getFullYear",setter:"setFullYear",possibleFormats:["yy","yyyy"],formatter:t.DEFAULT_FORMATTER,startValue:undefined,endValue:undefined},day:{getter:"getDate",setter:"setDate",possibleFormats:["d","dd"],formatter:function(n,i,r){if(!i)return n;var u=new Date(r.getTime());return u.setDate(n),t.DATE_COMPONENT_TEXT_FORMATTER(n,Globalize.culture().calendar.days.names[u.getDay()])},startValue:1,endValue:undefined},month:{getter:"getMonth",setter:"setMonth",possibleFormats:["M","MM","MMM","MMMM"],formatter:function(n,i){var r=Globalize.culture().calendar.months.names[n];return i?t.DATE_COMPONENT_TEXT_FORMATTER(n+1,r):r},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 i="yyyy'-'MM'-'dd'T'HH':'mm'Z'",r=n("<input>").attr("type","datetime");r.val(t.toStandardDateFormat(new Date,"datetime",i));r.val()&&(t.FORMATS_INFO.datetime.standardPattern=i)}(),t});DevExpress.define("/ui/widgets/date/ui.calendar.navigator",["jquery","/ui/ui.widget","/ui/widgets/ui.button","/componentRegistrator"],function(n,t,i){var r="dx-calendar-navigator",u="dx-calendar-navigator-previous-month",f="dx-calendar-navigator-next-month",e="dx-calendar-navigator-previous-view",o="dx-calendar-navigator-next-view",s="dx-calendar-disabled-navigator-link",h="dx-calendar-caption-button";return t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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(r);this._renderButtons();this._renderCaption()},_renderButtons:function(){var t=this,r=this.option("rtlEnabled")?-1:1,s,c,l;this._prevButton=this._createComponent(n("<a>"),i,{focusStateEnabled:!1,icon:"chevronleft",onClick:function(n){t._clickAction({direction:-r,jQueryEvent:n})},_templates:{}});s=this._prevButton.element().addClass(e).addClass(u);this._nextButton=this._createComponent(n("<a>"),i,{focusStateEnabled:!1,icon:"chevronright",onClick:function(n){t._clickAction({direction:r,jQueryEvent:n})},_templates:{}});c=this._nextButton.element().addClass(o).addClass(f);this._caption=this._createComponent(n("<a>").addClass(h),i,{focusStateEnabled:!1,onClick:function(n){t._captionClickAction({jQueryEvent:n})},_templates:{}});l=this._caption.element();this.element().append(s,l,c)},_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(s,t))},_optionChanged:function(n){var t=n.value;switch(n.name){case"text":this._renderCaption(t);break;default:this.callBase(n)}}})});DevExpress.define("/ui/widgets/date/ui.calendar.baseView",["jquery","/utils/utils.inflector","/utils/utils.date","/ui/ui.widget","/ui/events/ui.events.utils"],function(n,t,i,r,u){var f=r.abstract,l="dx-calendar-other-view",a="dx-calendar-cell",o="dx-calendar-empty-cell",v="dx-calendar-today",s="dx-calendar-selected-date",e="dx-calendar-contoured-date",h=u.addNamespace("dxclick","dxCalendar"),c="dxDateValueKey";return r.inherit({_getViewName:function(){return"base"},_getDefaultOptions:function(){return n.extend(this.callBase(),{date:new Date,focusStateEnabled:!1,cellTemplate:null,onCellClick:null,rowCount:3,colCount:4,allowValueSelection:!0})},_init:function(){this.callBase();var n=this.option("value");this.option("value",new Date(n));this.option("value").valueOf()||this.option("value",new Date(0,0,0,0,0,0))},_render:function(){this.callBase();this._renderImpl()},_renderImpl:function(){this._$table=n("<table>");this.element().append(this._$table);this._renderBody();this._renderContouredDate();this._renderValue();this._renderEvents()},_renderBody:function(){function s(f){var s=t._getCellData(r,f),h=n("<td>").appendTo(e).addClass(a).toggleClass(v,t._isTodayCell(s)).toggleClass(o,t._isDateOutOfRange(s)).toggleClass(l,t._isOtherView(s)).attr("data-value",i.getShortDate(s)).data(c,s);t.setAria({role:"option",label:t.getCellAriaLabel(s)},h);u?u.render({text:t._getCellText(s),date:s,view:t._getViewName()},h,f):h.text(t._getCellText(s))}var t,u,r,f,e;for(this.$body=n("<tbody>").appendTo(this._$table),t=this,u=this.option("cellTemplate"),r=0,f=this.option("rowCount");r<f;r++)e=n("<tr>").appendTo(this.$body),this._iterateCells(s)},_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},_renderEvents:function(){this._createCellClickAction();this._$table.off(h).on(h,"td",n.proxy(function(t){n(t.currentTarget).hasClass(o)||this._cellClickAction({jQueryEvent:t,value:n(t.currentTarget).data(c)})},this));this.element().off("beforeactivate").on("beforeactivate",function(n){n.preventDefault()})},_createCellClickAction:function(){this._cellClickAction=this._createActionByOption("onCellClick")},_isTodayCell:f,_isDateOutOfRange:f,_isOtherView:f,_getCellText:f,_getCellData:f,_renderContouredDate:function(n){if(this.option("focusStateEnabled")){n=n||this.option("contouredDate");var t=this._$table.find("."+e),i=this._getCellByDate(n);t.removeClass(e);i.addClass(e)}},_dispose:function(){this._keyboardProcessor=undefined;this.callBase()},_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(s);n.addClass(s);this._selectedCell=n}},getCellAriaLabel:function(n){return this._getCellText(n)},_getFirstAvailableDate:function(){var n=this.option("date"),t=this.option("min");return n=i.getFirstDateView(this._getViewName(),n),new Date(t&&n<t?t:n)},_getCellByDate:f,isBoundary:f,_optionChanged:function(n){var t=n.name;switch(t){case"value":this._renderValue();break;case"contouredDate":this._renderContouredDate(n.value);break;case"onCellClick":this._createCellClickAction();break;case"cellTemplate":this._invalidate();break;default:this.callBase(n)}}})});DevExpress.define("/ui/widgets/date/ui.calendar.views",["jquery","/utils/utils.date","/utils/utils.common","/ui/widgets/date/ui.calendar.baseView"],function(n,t,i,r){var u="dx-calendar-other-month",f="dx-calendar-other-view";return{month:r.inherit({_getViewName:function(){return"month"},_getDefaultOptions:function(){return n.extend(this.callBase(),{firstDayOfWeek:undefined,rowCount:6,colCount:7})},_renderImpl:function(){this.callBase();this._renderHeader()},_renderBody:function(){this.callBase();this._$table.find("."+f).addClass(u)},_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 i=new Date;return t.sameMonthAndYear(n,i)&&n.getDate()===i.getDate()},_isDateOutOfRange:function(n){var i=this.option("min"),r=this.option("max");return!t.dateInRange(n,i,r,"date")},_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,i){var r=t.getFirstMonthDate(this.option("date")),f=r.getDay()-this._getFirstDayOfWeek(),e=this.option("colCount"),u=e*n-f;return u=f<0?u-e:u,r.setDate(r.getDate()+u+i),r},_getFirstDayOfWeek:function(){return this.option("firstDayOfWeek")||Globalize.culture().calendar.firstDay},_getCellByDate:function(n){return this._$table.find("td[data-value='"+t.getShortDate(n)+"']")},isBoundary:function(n){return t.sameMonthAndYear(n,this.option("min"))||t.sameMonthAndYear(n,this.option("max"))}}),year:r.inherit({_getViewName:function(){return"year"},_isTodayCell:function(n){return t.sameMonthAndYear(n,new Date)},_isDateOutOfRange:function(n){return!t.dateInRange(n,t.getFirstMonthDate(this.option("min")),t.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 i=new Date(n);return i.setDate(1),this._$table.find("td[data-value='"+t.getShortDate(i)+"']")},getCellAriaLabel:function(n){return Globalize.format(n,"Y")},getNavigatorCaption:function(){return this.option("date").getFullYear()},isBoundary:function(n){return t.sameYear(n,this.option("min"))||t.sameYear(n,this.option("max"))}}),decade:r.inherit({_getViewName:function(){return"decade"},_isTodayCell:function(n){return t.sameYear(n,new Date)},_isDateOutOfRange:function(n){var i=this.option("min"),r=this.option("max");return!t.dateInRange(n.getFullYear(),i&&i.getFullYear(),r&&r.getFullYear())},_isOtherView:function(n){var i=new Date(n);return i.setMonth(1),!t.sameDecade(i,this.option("date"))},_getCellText:function(n){return n.getFullYear()},_getCellData:function(n,i){var r=this.option("colCount"),u=t.getFirstYearInDecade(this.option("date"))-1+n*r+i;return new Date(u,0,1)},getNavigatorCaption:function(){var n=t.getFirstYearInDecade(this.option("date"));return n+"-"+(n+9)},_isValueOnCurrentView:function(n,i){return t.sameDecade(n,i)},_getCellByDate:function(n){var i=new Date(n);return i.setDate(1),i.setMonth(0),this._$table.find("td[data-value='"+t.getShortDate(i)+"']")},isBoundary:function(n){return t.sameDecade(n,this.option("min"))||t.sameDecade(n,this.option("max"))}}),century:r.inherit({_getViewName:function(){return"century"},_isTodayCell:function(n){return t.sameDecade(n,new Date)},_isDateOutOfRange:function(n){var i=t.getFirstYearInDecade(n),r=t.getFirstYearInDecade(this.option("min")),u=t.getFirstYearInDecade(this.option("max"));return!t.dateInRange(i,r,u)},_isOtherView:function(n){var i=new Date(n);return i.setMonth(1),!t.sameCentury(i,this.option("date"))},_getCellText:function(n){var t=n.getFullYear();return t+" - "+(t+9)},_getCellData:function(n,i){var r=this.option("colCount"),u=t.getFirstDecadeInCentury(this.option("date"))+(-1+n*r+i)*10;return new Date(u,0,1)},_getCellByDate:function(n){var i=new Date(n);return i.setDate(1),i.setMonth(0),i.setFullYear(t.getFirstYearInDecade(i)),this._$table.find("td[data-value='"+t.getShortDate(i)+"']")},getNavigatorCaption:function(){var n=t.getFirstDecadeInCentury(this.option("date"));return n+"-"+(n+99)},isBoundary:function(n){return t.sameCentury(n,this.option("min"))||t.sameCentury(n,this.option("max"))}})}});DevExpress.define("/ui/widgets/date/ui.calendar",["jquery","/ui/uiNamespace","/utils/utils.translator","/utils/utils.browser","/utils/utils.date","/utils/utils.common","/devices","/ui/widgets/ui.button","/ui/ui.editor","/componentRegistrator","/ui/ui.keyboardProcessor","/ui/widgets/date/ui.calendar.navigator","/ui/widgets/date/ui.calendar.views"],function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=DevExpress.fx,k="dx-calendar",d="dx-calendar-body",g="dx-calendar-footer",nt="dx-calendar-today-button",tt="dx-calendar-with-footer",it="dx-calendar-views-wrapper",w="dx-calendar-view",rt="dx-state-focused",p=250,ut=.6,ft=1,et="dxDateValueKey",y={month:3,year:2,decade:1,century:0},b=s.inherit({_activeStateUnit:".dx-calendar-cell",_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,activeStateEnabled:!0,currentDate:new Date,min:new Date(1e3,0),max:new Date(3e3,0),firstDayOfWeek:undefined,zoomLevel:"month",maxZoomLevel:"month",minZoomLevel:"century",showTodayButton:!1,cellTemplate:"cell",onCellClick:null,onContouredChanged:null,hasFocus:function(n){return n.hasClass(rt)}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return e.real().generic&&!e.isSimulator()},options:{focusStateEnabled:!0}}])},_supportedKeys:function(){return n.extend(this.callBase(),{rightArrow:function(n){n.preventDefault();n.ctrlKey?this._waitRenderView(1):this._moveCurrentDate(1*this._getRtlCorrection())},leftArrow:function(n){n.preventDefault();n.ctrlKey?this._waitRenderView(-1):this._moveCurrentDate(-1*this._getRtlCorrection())},upArrow:function(n){if(n.preventDefault(),n.ctrlKey)this._navigateUp();else{if(v.isAnimating(this._view.element()))return;this._moveCurrentDate(-1*this._view.option("colCount"))}},downArrow:function(n){if(n.preventDefault(),n.ctrlKey)this._navigateDown();else{if(v.isAnimating(this._view.element()))return;this._moveCurrentDate(1*this._view.option("colCount"))}},home:function(n){n.preventDefault();var t=this.option("zoomLevel"),i=this.option("currentDate"),r=this.option("min"),f=u.sameView(t,i,r)?r:u.getViewFirstCellDate(t,i);this.option("currentDate",f)},end:function(n){n.preventDefault();var t=this.option("zoomLevel"),i=this.option("currentDate"),r=this.option("max"),f=u.sameView(t,i,r)?r:u.getViewLastCellDate(t,i);this.option("currentDate",f)},pageUp:function(n){n.preventDefault();this._waitRenderView(-1)},pageDown:function(n){n.preventDefault();this._waitRenderView(1)},tab:n.noop,enter:function(){if(this._isMaxZoomLevel()){var n=this._updateTimeComponent(this.option("currentDate"));this.option("value",n)}else this._navigateDown()}})},_moveCurrentDate:function(n){var t=new Date(this.option("currentDate")),i=new Date(t),r=this.option("zoomLevel"),f;switch(r){case"month":i.setDate(t.getDate()+n);break;case"year":i.setMonth(t.getMonth()+n);break;case"decade":i.setFullYear(t.getFullYear()+n);break;case"century":i.setFullYear(t.getFullYear()+10*n)}f=2*n/Math.abs(n);Math.abs(n)>1&&!u.sameView(r,t,i)&&(r==="decade"&&i.setFullYear(t.getFullYear()+n-f),r==="century"&&i.setFullYear(t.getFullYear()+10*(n-f)));this.option("currentDate",i)},_init:function(){this.callBase();this._correctZoomLevel();this._initCurrentDate();this._initActions()},_correctZoomLevel:function(){var n=this.option("minZoomLevel"),t=this.option("maxZoomLevel"),i=this.option("zoomLevel");y[t]<y[n]||(y[i]>y[t]?this.option("zoomLevel",t):y[i]<y[n]&&this.option("zoomLevel",n))},_initCurrentDate:function(){this.option("currentDate",this._getNormalizedDate(this.option("value"))||this._getNormalizedDate(this.option("currentDate")))},_getNormalizedDate:function(n){return n=u.normalizeDate(n,this._getMinDate(),this._getMaxDate()),f.isDefined(n)?new Date(n):n},_initActions:function(){this._cellClickAction=this._createActionByOption("onCellClick");this._onContouredChanged=this._createActionByOption("onContouredChanged")},_updateCurrentDate:function(n){var r,u,t,i;if(v.isAnimating(this._$viewsWrapper)&&v.stop(this._$viewsWrapper,!0),r=this._getMinDate(),u=this._getMaxDate(),r>u){this.option("currentDate",new Date);return}if(t=this._getNormalizedDate(n),n.getTime()!==t.getTime()){this.option("currentDate",new Date(t));return}i=this._getViewsOffset(this._view.option("date"),t);this._view&&i!==0&&!this._suppressNavigation?this._navigate(i,t):(this._renderNavigator(),this._setViewContoured(t),this._updateAriaId(t))},_setViewContoured:function(n){this.option("hasFocus")(this._focusTarget())&&this._view.option("contouredDate",n)},_getMinDate:function(){return this.option("min")||new Date(1e3,0)},_getMaxDate:function(){return this.option("max")||new Date(3e3,0)},_getViewsOffset:function(n,t){var r=this.option("zoomLevel"),i;if(r==="month")return this._getMonthsOffset(n,t);switch(r){case"century":i=100;break;case"decade":i=10;break;default:i=1}return parseInt(t.getFullYear()/i)-parseInt(n.getFullYear()/i)},_getMonthsOffset:function(n,t){var i=t.getFullYear()-n.getFullYear(),r=t.getMonth()-n.getMonth();return i*12+r},_waitRenderView:function(t){if(!this._alreadyViewRender){this._alreadyViewRender=!0;var i=this._getDateByOffset(t*this._getRtlCorrection());this.option("currentDate",i);setTimeout(n.proxy(function(){this._alreadyViewRender=!1},this))}},_getRtlCorrection:function(){return this.option("rtlEnabled")?-1:1},_getDateByOffset:function(n,t){var i,f,r;return t=new Date(t||this.option("currentDate")),i=t.getDate(),f=u.getDifferenceInMonth(this.option("zoomLevel"))*n,t.setDate(1),t.setMonth(t.getMonth()+f),r=u.getLastMonthDate(t).getDate(),t.setDate(i>r?r:i),t},_focusTarget:function(){return this.element()},_render:function(){this.callBase();this.element().addClass(k);this._renderBody();this._renderViews();this._renderNavigator();this._renderSwipeable();this._renderFooter();this.setAria({role:"listbox",label:Globalize.localize("dxCalendar-ariaWidgetName")});this._updateAriaSelected();this._updateAriaId();this._setViewContoured(this.option("currentDate"))},_renderBody:function(){if(!this._$viewsWrapper){var t=n("<div>").addClass(d);this._$viewsWrapper=n("<div>").addClass(it);t.append(this._$viewsWrapper);this.element().append(t)}},_renderViews:function(){var n,t,i;this.element().addClass(w+"-"+this.option("zoomLevel"));n=this.option("currentDate");this._view=this._renderSpecificView(n);this._view.option("_keyboardProcessor",this._viewKeyboardProcessor);t=this._getDateByOffset(-1,n);this._beforeView=this._isViewAvailable(t)?this._renderSpecificView(t):null;i=this._getDateByOffset(1,n);this._afterView=this._isViewAvailable(i)?this._renderSpecificView(i):null;this._translateViews()},_renderSpecificView:function(t){var i=a[this.option("zoomLevel")],r=n("<div>").appendTo(this._$viewsWrapper),u=this._viewConfig(t);return new i(r,u)},_viewConfig:function(t){return{date:t,min:this._getMinDate(),max:this._getMaxDate(),firstDayOfWeek:this.option("firstDayOfWeek"),value:this.option("value"),rtl:this.option("rtlEnabled"),disabled:this.option("disabled")||DevExpress.designMode,tabIndex:undefined,focusStateEnabled:this.option("focusStateEnabled"),hoverStateEnabled:this.option("hoverStateEnabled"),onCellClick:n.proxy(this._cellClickHandler,this),cellTemplate:this._getTemplateByOption("cellTemplate"),allowValueSelection:this._isMaxZoomLevel()}},_isViewAvailable:function(n){var t=this.option("zoomLevel"),i=u.getViewMinBoundaryDate(t,this._getMinDate()),r=u.getViewMaxBoundaryDate(t,this._getMaxDate());return u.dateInRange(n,i,r)},_translateViews:function(){i.move(this._view.element(),{left:0});this._beforeView&&i.move(this._beforeView.element(),{left:this._getViewPosition(-1)});this._afterView&&i.move(this._afterView.element(),{left:this._getViewPosition(1)})},_getViewPosition:function(n){var t=this.option("rtlEnabled")&&!(r.msie&&r.version[0]!=="8")?-1:1;return n*100*t+"%"},_cellClickHandler:function(n){var r=this.option("zoomLevel"),f=u.getViewDown(r),e=this._isMaxZoomLevel(),t,i;f&&!e?(t=n.jQueryEvent.currentTarget,this._navigateDown(t)):(i=this._updateTimeComponent(n.value),this.option("value",i),this._cellClickAction(n))},_updateTimeComponent:function(n){var t=new Date(n),i=this.option("value");return i&&(t.setHours(i.getHours()),t.setMinutes(i.getMinutes()),t.setSeconds(i.getSeconds()),t.setMilliseconds(i.getMilliseconds())),t},_isMaxZoomLevel:function(){return this.option("zoomLevel")===this.option("maxZoomLevel")},_navigateDown:function(t){var f=this.option("zoomLevel"),r,i;this._isMaxZoomLevel()||(r=u.getViewDown(f),r)&&(i=this._view.option("contouredDate")||this._view.option("date"),t&&(i=n(t).data(et)),this.option("currentDate",i),this.option("zoomLevel",r),this._renderNavigator(),this._animateShowView(),this._setViewContoured(this._getNormalizedDate(i)))},_renderNavigator:function(){if(!this._navigator){var t=n("<div>").prependTo(this.element());this._navigator=new l(t,this._navigatorConfig())}this._navigator.option("text",this._view.getNavigatorCaption());this._updateButtonsVisibility()},_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._getDateByOffset(n.direction,this.option("currentDate"));this.option("currentDate",t);this._updateNavigatorCaption(-n.direction*this._getRtlCorrection())},_navigateUp:function(){var i=this.option("zoomLevel"),r=u.getViewUp(i),t;r&&!this._isMinZoomLevel(i)&&(t=this._view.option("contouredDate"),this.option("zoomLevel",r),this.option("currentDate",t||this._view.option("date")),this._renderNavigator(),this._animateShowView().done(n.proxy(function(){this._setViewContoured(t)},this)))},_isMinZoomLevel:function(n){var t=this._getMinDate(),i=this._getMaxDate();return u.sameView(n,t,i)||this.option("minZoomLevel")===n},_updateButtonsVisibility:function(){this._navigator.toggleButton("next",!f.isDefined(this._getRequiredView("next")));this._navigator.toggleButton("prev",!f.isDefined(this._getRequiredView("prev")))},_renderSwipeable:function(){this._swipeable||(this._swipeable=this._createComponent(this.element(),"dxSwipeable",{onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this),itemSizeFunc:n.proxy(this._viewWidth,this)}))},_swipeStartHandler:function(n){v.stop(this._$viewsWrapper,!0);n.jQueryEvent.maxLeftOffset=this._getRequiredView("next")?1:0;n.jQueryEvent.maxRightOffset=this._getRequiredView("prev")?1:0},_getRequiredView:function(n){var t,i=this.option("rtlEnabled");return n==="next"?t=i?this._beforeView:this._afterView:n==="prev"&&(t=i?this._afterView:this._beforeView),t},_swipeUpdateHandler:function(n){var t=n.jQueryEvent.offset;i.move(this._$viewsWrapper,{left:t*this._viewWidth()});this._updateNavigatorCaption(t)},_swipeEndHandler:function(n){var i=n.jQueryEvent.targetOffset,r=i?i/Math.abs(i):0,t;if(r===0){this._animateWrapper(0,p);return}t=this._getDateByOffset(-r*this._getRtlCorrection());this._isDateInInvalidRange(t)&&(t=r>=0?new Date(this._getMinDate()):new Date(this._getMaxDate()));this.option("currentDate",t)},_viewWidth:function(){return this._viewWidthValue||(this._viewWidthValue=this.element().width()),this._viewWidthValue},_updateNavigatorCaption:function(n){n*=this._getRtlCorrection();var t=this._view;n>.5&&this._beforeView?t=this._beforeView:n<-.5&&this._afterView&&(t=this._afterView);this._navigator.option("text",t.getNavigatorCaption())},_isDateInInvalidRange:function(n){if(!this._view.isBoundary(n)){var t=this._getMinDate(),i=this._getMaxDate(),r=u.normalizeDate(n,t,i);return r===t||r===i}},_renderFooter:function(){var t=this.option("showTodayButton"),i;t&&(i=this._createComponent(n("<a>"),o,{focusStateEnabled:!1,text:Globalize.localize("dxCalendar-todayButtonText"),onClick:n.proxy(function(){this._toTodayView()},this),_templates:{}}).element().addClass(nt),this._$footer=n("<div>").addClass(g).append(i),this.element().append(this._$footer));this.element().toggleClass(tt,t)},_animateShowView:function(){return v.stop(this._view.element(),!0),this._popAnimationView(this._view,ut,ft,p).promise()},_popAnimationView:function(n,t,i,r){return v.animate(n.element(),{type:"pop",from:{scale:t,opacity:t},to:{scale:i,opacity:i},duration:r})},_navigate:function(t,i){var r;t!==0&&Math.abs(t)!==1&&this._isViewAvailable(i)&&(r=this._renderSpecificView(i),t>0?(this._afterView&&this._afterView.element().remove(),this._afterView=r):(this._beforeView&&this._beforeView.element().remove(),this._beforeView=r),this._translateViews());var f=this._getRtlCorrection(),e=t>0?1:t<0?-1:0,u=-f*e*this._viewWidth(),o=this._$viewsWrapper.position().left;o!==u&&(this._preventViewChangeAnimation?this._wrapperAnimationEndHandler(t,i):this._animateWrapper(u,p).done(n.proxy(this._wrapperAnimationEndHandler,this,t,i)))},_animateWrapper:function(n,t){return v.animate(this._$viewsWrapper,{type:"slide",from:{left:this._$viewsWrapper.position().left},to:{left:n},duration:t})},_toTodayView:function(){var n=new Date;if(this._isMaxZoomLevel()){this.option("value",n);return}this._preventViewChangeAnimation=!0;this.option("zoomLevel",this.option("maxZoomLevel"));this.option("value",n);this._animateShowView();this._preventViewChangeAnimation=!1},_wrapperAnimationEndHandler:function(n,t){this._rearrangeViews(n);this._translateViews();this._resetLocation();this._renderNavigator();this._setViewContoured(t);this._updateAriaId(t,this.option(""))},_rearrangeViews:function(n){var r,t,i,u,f;n!==0&&(n<0?(r=1,t="_beforeView",i="_afterView"):(r=-1,t="_afterView",i="_beforeView"),this[t])&&(u=this[t].option("date"),this[i]&&this[i].element().remove(),n===r?this[i]=this._view:(this[i]=this._renderSpecificView(this._getDateByOffset(r,u)),this._view.element().remove()),this._view=this[t],f=this._getDateByOffset(-r,u),this[t]=this._isViewAvailable(f)?this._renderSpecificView(f):null)},_resetLocation:function(){i.move(this._$viewsWrapper,{left:0})},_clean:function(){this.callBase();this._clearViewWidthCache();delete this._$viewsWrapper;delete this._navigator;delete this._$footer},_clearViewWidthCache:function(){delete this._viewWidthValue},_disposeViews:function(){this._view.element().remove();this._beforeView&&this._beforeView.element().remove();this._afterView&&this._afterView.element().remove();delete this._view;delete this._beforeView;delete this._afterView},_refreshViews:function(){this._disposeViews();this._renderViews()},_visibilityChanged:function(){this._translateViews()},_focusInHandler:function(){this.callBase.apply(this,arguments);this._view.option("contouredDate",this.option("currentDate"))},_focusOutHandler:function(){this.callBase.apply(this,arguments);this._view.option("contouredDate",null)},_updateViewsValue:function(n){var t=n?new Date(n):null;this._view.option("value",t);this._beforeView&&this._beforeView.option("value",t);this._afterView&&this._afterView.option("value",t)},_updateAriaSelected:function(n,t){n=n||this.option("value");var i=this._view._getCellByDate(t),r=this._view._getCellByDate(n);this.setAria("selected",undefined,i);this.setAria("selected",!0,r);n&&this.option("currentDate").getTime()===n.getTime()&&this._updateAriaId(n,t)},_updateAriaId:function(n){n=n||this.option("currentDate");var t=new DevExpress.data.Guid,i=this._view._getCellByDate(n);this.setAria("id",t,i);this.setAria("activedescendant",t);this._onContouredChanged(t)},_suppressingNavigation:function(n,t){this._suppressNavigation=!0;n.apply(this,t);delete this._suppressNavigation},_optionChanged:function(n){var t=n.value,i=n.previousValue;switch(n.name){case"width":this.callBase(n);this._clearViewWidthCache();break;case"min":case"max":this._suppressingNavigation(this._updateCurrentDate,[this.option("currentDate")]);this._refreshViews();this._renderNavigator();break;case"firstDayOfWeek":this._refreshViews();this._updateButtonsVisibility();break;case"currentDate":this.setAria("id",undefined,this._view._getCellByDate(i));this._updateCurrentDate(t);break;case"zoomLevel":this.element().removeClass(w+"-"+i);this._correctZoomLevel();this._refreshViews();this._renderNavigator();this._updateAriaId();break;case"minZoomLevel":case"maxZoomLevel":this._correctZoomLevel();this._updateButtonsVisibility();break;case"value":this._updateAriaSelected(t,i);this.option("currentDate",f.isDefined(t)?new Date(t):new Date);this._updateViewsValue(t);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;case"hasFocus":break;default:this.callBase(n)}}});return h("dxCalendar",t,b),b});DevExpress.require(["/ui/widgets/date/ui.calendar"]);DevExpress.define("/ui/widgets/date/ui.timeView",["jquery","/ui/uiNamespace","/utils/utils.support","/componentRegistrator","/ui/ui.editor","/ui/widgets/ui.numberBox"],function(n,t,i,r,u,f){var s="dx-timeview",h="dx-timeview-clock",c="dx-timeview-field",l="dx-timeview-hourarrow",a="dx-timeview-minutearrow",e=function(n,t,r){i.transform?y(n,t,r):v(n,t,r)},v=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)},y=function(n,t,i){n.css("transform","rotate("+t+"deg) translate(0,"+i+"px)")},o=u.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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(s)},_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(l);this._$minuteArrow=n("<div>").addClass(a);r.addClass(h).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;e(this._$hourArrow,t,this.option("_arrowOffset"));e(this._$minuteArrow,i,this.option("_arrowOffset"))},_renderField:function(){return this._createHourBox(),this._createMinuteBox(),this._createComponent(n("<div>").addClass(c),"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>"),f,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>"),f,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)}}});return r("dxTimeView",t,o),o});DevExpress.define("/ui/widgets/date/ui.dateViewRoller",["jquery","/ui/uiNamespace","/ui/widgets/date/ui.dateUtils","/utils/utils.date","/ui/ui.editor","/componentRegistrator","/ui/events/ui.events.utils"],function(n,t,i,r,u,f,e){var h="dx-dateviewroller",c="dx-state-active",l="dx-dateviewroller-current",o="dx-dateview-item",a="dx-dateview-item-selected",v="dx-dateview-item-selected-frame",y="dx-dateview-item-selected-border",s=DevExpress.ui.dxScrollable.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{showScrollbar:!1,useNative:!1,selectedIndex:0,bounceEnabled:!1,items:[],showOnClick:!1,onClick:null,onSelectedIndexChanged:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{showOnClick:!0}},{device:{platform:"generic"},options:{scrollByContent:!0}}])},_init:function(){this.callBase();this._renderSelectedItemFrame()},_render:function(){this.callBase();n.each(this._strategy._scrollers,function(t,i){i._correctLocation=n.noop});this.element().addClass(h);this._renderContainerClick();this._renderItems();this._renderSelectedValue();this._renderItemsClick();this._wrapAction("_endAction",n.proxy(this._endActionHandler,this));this._renderSelectedIndexChanged()},_renderSelectedIndexChanged:function(){this._selectedIndexChanged=this._createActionByOption("onSelectedIndexChanged")},_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(o).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)},_renderSelectedValue:function(n){var t=this._fitIndex(n||this.option("selectedIndex"));this._moveTo({top:this._getItemPosition(t)});this._renderActiveStateItem()},_fitIndex:function(n){var i=this.option("items")||[],t=i.length;return n>=t?t-1:n<0?0:n},_getItemPosition:function(n){return Math.round(this._itemHeight()*n)},_renderItemsClick:function(){var t=this._getItemSelector(),i=e.addNamespace("dxclick",this.NAME);this.element().off(i,t);this.element().on(i,t,n.proxy(this._itemClickHandler,this))},_getItemSelector:function(){return"."+o},_itemClickHandler:function(n){this.option("selectedIndex",this._itemElementIndex(n.currentTarget))},_itemElementIndex:function(n){return this._itemElements().index(n)},_itemElements:function(){return this.element().find(this._getItemSelector())},_renderActiveStateItem:function(){var t=this.option("selectedIndex");n.each(this._$items,function(i){n(this).toggleClass(a,t===i)})},_moveTo:function(n){n=this._normalizeLocation(n);var i=this._location(),t={x:-(i.left-n.left),y:-(i.top-n.top)};this._isVisible()&&(t.x||t.y)&&(this._strategy._prepareDirections(!0),this._animation?(DevExpress.fx.stop(this._$content),DevExpress.fx.animate(this._$content,{duration:200,type:"slide",to:{top:n.top}}),delete this._animation):this._strategy.handleMove({delta:t}))},_validate:function(n){return this._strategy.validate(n)},_endActionHandler:function(){var t=this.option("selectedIndex"),i=-this._location().top/this._itemHeight(),n=Math.round(i);this._animation=!0;n===t?this._renderSelectedValue(n):this.option("selectedIndex",n)},_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")},_fireSelectedIndexChanged:function(n,t){this._selectedIndexChanged({value:n,previousValue:t,jQueryEvent:undefined})},_visibilityChanged:function(n){this.callBase(n);n?this._renderSelectedValue(this.option("selectedIndex")):this.toggleActiveState(!1)},toggleActiveState:function(n){this.element().toggleClass(l,n)},_refreshSelectedIndex:function(){var n=this.option("selectedIndex"),t=this._fitIndex(n);t===n?this._renderActiveStateItem():this.option("selectedIndex",t)},_optionChanged:function(n){switch(n.name){case"selectedIndex":this._fireSelectedIndexChanged(n.value,n.previousValue);this._renderSelectedValue(n.value);break;case"items":this._renderItems();this._refreshSelectedIndex();break;case"onClick":case"showOnClick":this._renderContainerClick();break;case"onSelectedIndexChanged":this._renderSelectedIndexChanged();break;default:this.callBase(n)}}});return f("dxDateViewRoller",t,s),s});DevExpress.define("/ui/widgets/date/ui.dateView",["jquery","/ui/uiNamespace","/ui/widgets/date/ui.dateUtils","/utils/utils.date","/ui/ui.editor","/componentRegistrator","/ui/widgets/date/ui.dateViewRoller"],function(n,t,i,r,u,f,e){var h="dx-dateview",l="dx-dateview-wrapper",a="dx-dateview-rollers",v="dx-dateviewroller",s={date:"date",datetime:"datetime",time:"time"},o={year:"year",month:"month",day:"day"},c=u.inherit({_valueOption:function(){return new Date(this.option("value"))==="Invalid Date"?new Date:new Date(this.option("value"))},_getDefaultOptions:function(){return n.extend(this.callBase(),{minDate:i.MIN_DATEVIEW_DEFAULT_DATE,maxDate:i.MAX_DATEVIEW_DEFAULT_DATE,format:s.date,value:new Date,culture:Globalize.culture().name,showNames:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{showNames:!0}}])},_render:function(){this.callBase();this.element().addClass(h);this._toggleFormatClasses(this.option("format"))},_toggleFormatClasses:function(n,t){this.element().addClass(h+"-"+n);t&&this.element().removeClass(h+"-"+t)},_wrapper:function(){return this._$wrapper},_renderContentImpl:function(){this._$wrapper=n("<div>").addClass(l);this._renderRollers();this._$wrapper.appendTo(this.element())},_renderRollers:function(){this._$rollersContainer||(this._$rollersContainer=n("<div>").addClass(a));this._$rollersContainer.empty();this._createRollerConfigs();this._rollers={};var t=this;n.each(t._rollerConfigs,function(i){var r=n("<div>").appendTo(t._$rollersContainer).addClass(v+"-"+t._rollerConfigs[i].type);t._rollers[t._rollerConfigs[i].type]=t._createComponent(r,e,{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 t=n.component;t._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)},onSelectedIndexChanged:function(n){var r=n.component;t._setRollerState(t._rollerConfigs[i],r.option("selectedIndex"))}})});t._$rollersContainer.appendTo(t._wrapper())},_createRollerConfigs:function(t){var r=this;t=t||r.option("format");r._rollerConfigs={};n.each(r._getFormatPattern(t).split(/\W+/),function(t,u){n.each(i.DATE_COMPONENTS_INFO,function(t,i){n.inArray(u,i.possibleFormats)>-1&&r._createRollerConfig(t)})})},_createRollerConfig:function(n){for(var u=i.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}},r=e;r<=s;r++)t.valueItems.push(r),t.displayItems.push(h(r,c,o));t.selectedIndex=t.getIndex(o);this._rollerConfigs[n]=t},_setActiveRoller:function(t){var i=t&&this._rollers[t.type];n.each(this._rollers,function(){this.toggleActiveState(this===i)})},_updateRollersPosition:function(){var t=this;n.each(this._rollers,function(n){var i=t._rollerConfigs[n].getIndex(t._getCurrentDate());this.option("selectedIndex",i)})},_setRollerState:function(n,t){if(t!==n.selectedIndex){var f=n.valueItems[t],e=n.setValue,r=new Date(this._getCurrentDate()),u=r.getDate();n.type===o.month?u=Math.min(u,i.getMaxMonthDay(r.getFullYear(),f)):n.type===o.year&&(u=Math.min(u,i.getMaxMonthDay(f,r.getMonth())));r.setDate(u);r[e](f);this.option("value",r);n.selectedIndex=t}n.type===o.year&&(this._refreshMonthRoller(),this._refreshDayRoller());n.type===o.month&&this._refreshDayRoller()},_refreshMonthRoller:function(){var t=this._rollers[o.month],n;t&&(this._createRollerConfig(o.month),n=this._rollerConfigs[o.month],n.displayItems.length!==t.option("items").length&&t.option({items:n.displayItems,selectedIndex:n.selectedIndex}))},_refreshDayRoller:function(){var t=this._rollers[o.day],n;t&&(this._createRollerConfig(o.day),n=this._rollerConfigs[o.day],t.option({items:n.displayItems,selectedIndex:n.selectedIndex}))},_getFormatPattern:function(n){var t=Globalize.culture(this.option("culture"));return n===s.date?t.calendar.patterns.d:n===s.time?t.calendar.patterns.t:n===s.datetime?[t.calendar.patterns.d,t.calendar.patterns.t].join(" "):""},_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(),u=this.option("minDate"),f=this.option("maxDate"),h=r.sameYear(t,u),a=h&&t.getMonth()===u.getMonth(),c=r.sameYear(t,f),v=c&&t.getMonth()===f.getMonth(),l=i.DATE_COMPONENTS_INFO[n],s=l.startValue,e=l.endValue;return n===o.year&&(s=u.getFullYear(),e=f.getFullYear()),n===o.month&&(h&&(s=u.getMonth()),c&&(e=f.getMonth())),n===o.day&&(e=i.getMaxMonthDay(t.getFullYear(),t.getMonth()),h&&a&&(s=u.getDate()),c&&v&&(e=f.getDate())),{startValue:s,endValue:e}},_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()}});return f("dxDateView",t,c),c});DevExpress.define("/ui/widgets/date/ui.dateBox",["jquery","/utils/utils.support","/devices","/ui/ui.errors","/utils/utils.date","/ui/widgets/date/ui.dateUtils","/utils/utils.version","/utils/utils.common","/componentRegistrator","/ui/widgets/ui.dropDownEditor","/ui/uiNamespace"],function(n,t,i,r,u,f,e,o,s,h,c){var b=e.compare,y="dx-datebox",p="dx-datebox-wrapper",l={calendar:"calendar",rollers:"rollers",list:"list","native":"native"},a={date:"date",datetime:"datetime",time:"time"},v={calendar:"Calendar",dateview:"DateView","native":"Native",calendarWithTime:"CalendarWithTime",list:"List"},k=function(n){var t=n[0].style.width;return t&&t!=="auto"&&t!=="inherit"?!0:!1},d=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()+10+(i.prop("type")!=="text"?48:0),u.remove(),f},w=h.inherit({_supportedKeys:function(){return n.extend(this.callBase(),this._strategy.supportedKeys())},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{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"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{format:"date",value:new Date,min:undefined,max:undefined,useCalendar:!1,formatString:"d",interval:30,maxZoomLevel:"month",minZoomLevel:"century",useNative:!0,pickerType:l["native"],invalidDateMessage:Globalize.localize("dxDateBox-validation-datetime"),dateOutOfRangeMessage:Globalize.localize("validation-range"),applyButtonText:Globalize.localize("Done")})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{showPopupTitle:!0}},{device:function(n){return n.platform==="android"},options:{buttonsLocation:"bottom after"}},{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{buttonsLocation:"bottom after"}},{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===10},options:{buttonsLocation:"bottom center"}},{device:function(){var t=i.real(),n=t.platform,r=t.version;return n==="generic"||n==="win"||n==="android"&&b(r,[4,4])<0},options:{pickerType:l.rollers}},{device:{platform:"generic",deviceType:"desktop"},options:{pickerType:l.calendar,buttonsLocation:"bottom after"}},{device:function(){var n=i.real(),t=n.platform,r=n.phone;return t==="win"&&!r},options:{pickerType:l.calendar}}])},_initOptions:function(t){this._userOptions=n.extend({},t);this.callBase(t);this._updatePickerOptions(this._userOptions)},_updatePickerOptions:function(n){var t=this._getPickerTypeByDepricatedOptions(n),r=this.option("format");t===l.list&&(r===a.datetime||r===a.date)&&(t=l.calendar);r===a.time&&t===l.calendar&&(t=l.list);this.option("showDropButton",i.real().platform!=="generic"||t!==l["native"]);this._pickerType=t},_getPickerTypeByDepricatedOptions:function(n){return n.pickerType?n.pickerType:o.isDefined(n.useCalendar)||o.isDefined(n.useNative)?this._getPickerType():this._pickerType||this.option("pickerType")},_getPickerType:function(){return this.option().useCalendar?this.option("format")===a.time?l.list:l.calendar:this.option().useNative?l["native"]:l.rollers},_init:function(){this._initStrategy();this.option(n.extend({},this._strategy.getDefaultOptions(),this._userOptions));delete this._userOptions;this.callBase()},_toLowerCaseFirstLetter:function(n){return n.charAt(0).toLowerCase()+n.substr(1)},_initStrategy:function(){var n=this._getStrategyName(this._getFormatType()),t=DevExpress.require("/ui/widgets/date/ui.dateBox.strategy."+this._toLowerCaseFirstLetter(n));this._strategy&&this._strategy.NAME===n||(this._strategy=new t(this))},_getFormatType:function(){var t=this.option("format"),i=/h|m|s/g.test(t),r=/d|M|Y/g.test(t),n="";return r&&(n+=a.date),i&&(n+=a.time),n},_getStrategyName:function(n){var t=this._pickerType;return t===l.rollers?this.option().useCalendar?v.calendar:v.dateview:t===l["native"]?v["native"]:n===a.date?v.calendar:n===a.datetime?v.calendarWithTime:v.list},_render:function(){this.element().addClass(y);this._refreshFormatClass();this._refreshPickerTypeClass();this.callBase();this._updateSize();this._strategy.renderInputMinMax(this._input())},_refreshFormatClass:function(){var t=this.element();n.each(a,n.proxy(function(n,i){t.removeClass(y+"-"+i)},null));t.addClass(y+"-"+this.option("format"))},_refreshPickerTypeClass:function(){var t=this.element();n.each(l,n.proxy(function(n,i){t.removeClass(y+"-"+i)},null));t.addClass(y+"-"+this._pickerType)},_updateSize:function(){var n=this.element(),u=this.option("width"),e=o.isDefined(u)||k(n)&&!this._isSizeUpdatable,s=n.is(":visible"),h=this._pickerType,c=h!==l.rollers&&i.current().platform==="generic";if(!e&&c&&s){var a=this._input(),t=Globalize.culture().calendar,r=this.option("formatString"),v=Globalize.format(f.getLongestDate(r,t.months.names,t.days.names),r);n.width(d(v,a,this.element()));this._isSizeUpdatable=!0}},_attachChildKeyboardEvents:function(){this._strategy.attachKeyboardEvents(this._keyboardProcessor)},_renderPopup:function(){this.callBase();this._popup._wrapper().addClass(p);this._renderPopupWrapper()},_popupConfig:function(){var t=this.callBase();return n.extend(this._strategy.popupConfig(t),{title:this._getPopupTitle(),dragEnabled:!1})},_renderPopupWrapper:function(){if(this._popup){var t=this.element(),i=n.extend({},a,l);n.each(i,n.proxy(function(n,i){t.removeClass(p+"-"+i)},this));this._popup._wrapper().addClass(p+"-"+this.option("format")).addClass(p+"-"+this._pickerType)}},_renderPopupContent:function(){this.callBase();this._strategy.renderPopupContent()},_popupShowingHandler:function(){this.callBase();this._strategy.popupShowingHandler()},_popupHiddenHandler:function(){this.callBase();this._strategy.popupHiddenHandler()},_visibilityChanged:function(n){n&&this._updateSize()},_readOnlyPropValue:function(){return this.callBase()||this._pickerType===l.rollers},_clearButtonVisibility:function(){return this.callBase()&&!this._isNativeType()},_renderValue:function(){var n=this.option("mode"),t=this.dateOption("value"),i=f.FORMATS_MAP[n],r=this._getPattern(i);this._validateValue(t);n!=="text"?this.option("text",f.toStandardDateFormat(t,n,r)):this.option("text",Globalize.format(t,this.option("formatString")));this._strategy.renderValue();this.callBase()},_getPattern:function(n){return t.inputType(this.option("mode"))?null:Globalize.culture().calendar.patterns[n]},_valueChangeEventHandler:function(){var n=this._strategy.getParsedText(this.option("text"),this.option("formatString")),t=this.dateOption("value"),u=new Date(t&&t.valueOf()),i=this.option("mode"),r=(i!=="text"?f.mergeDates(u,n,i):n)||null;this._validateValue(n)?this.dateOption("value",r):this.option().value=null;this.validationRequest.fire({value:r,editor:this})},_validateValue:function(n){var o=this.option("text"),r=!!o,f=!!n,e=f&&u.dateInRange(n,this.dateOption("min"),this.dateOption("max"),this.option("format")),t=!r||!r&&!n||e,i="";return f?e||(i=this.option("dateOutOfRangeMessage")):i=this.option("invalidDateMessage"),this.option({isValid:t,validationError:t?null:{editorSpecific:!0,message:i}}),t},_renderProps:function(){this.callBase();this._input().attr("autocomplete","off")},_renderOpenedState:function(){this._isNativeType()||this.callBase();this._strategy.renderOpenedState()},_getPopupTitle:function(){var t=this.option("placeholder"),n;return t?t:(n=this.option("format"),n===a.time)?Globalize.localize("dxDateBox-simulatedDataPickerTitleTime"):n===a.date||n===a.datetime?Globalize.localize("dxDateBox-simulatedDataPickerTitleDate"):""},_renderPlaceholder:function(){this._popup&&this._popup.option("title",this._getPopupTitle());this.callBase()},_refreshStrategy:function(){this._strategy.dispose();this._initStrategy();this.option(this._strategy.getDefaultOptions());this._refresh()},_applyButtonHandler:function(){this.dateOption("value",this._strategy.getValue());this.callBase()},_dispose:function(){this._strategy&&this._strategy.dispose();this.callBase()},_isNativeType:function(){return this._pickerType===l["native"]},_optionChanged:function(n){switch(n.name){case"useCalendar":this._updatePickerOptions({useCalendar:n.value});this._refreshStrategy();break;case"useNative":this._updatePickerOptions({useNative:n.value});this._refreshStrategy();break;case"showClearButton":this.callBase.apply(this,arguments);this._updateSize();break;case"pickerType":this._updatePickerOptions({pickerType:n.value});this._refreshStrategy();this._refreshPickerTypeClass();this._invalidate();break;case"format":this._updatePickerOptions({format:n.value});this._refreshStrategy();this._refreshFormatClass();this._renderPopupWrapper();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 r.Error("E1020");case"formatString":this._updateValue();break;case"formatWidthCalculator":break;case"closeOnValueChange":var t=n.value?"instantly":"useButtons";this.option("applyValueMode",t);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;case"showDropButton":case"invalidDateMessage":case"dateOutOfRangeMessage":break;default:this.callBase.apply(this,arguments)}},_getSerializtionFormat:function(){var n=this.option("value");return o.isNumber(n)?"number":o.isString(n)?this.option("format")==="date"?"yyyy'/'MM'/'dd":"yyyy'/'MM'/'dd HH:mm:ss":void 0},dateOption:function(n,t){var i=this._getSerializtionFormat();if(arguments.length===1)return u.deserializeDate(this.option(n),i);this.option(n,u.serializeDate(t,i))},reset:function(){this.callBase();this._updateValue()}});return s("dxDateBox",c,w),w});DevExpress.require(["/ui/widgets/date/ui.dateBox"]);DevExpress.define("/ui/widgets/date/ui.dateBox.strategy",["jquery","/class"],function(n,t){var i=t.abstract;return t.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){var t=this._getWidgetName(),i=this._getWidgetOptions();return this.dateBox._createComponent(n,t,i)},_getWidgetOptions:i,_getWidgetName:i,getDefaultOptions:function(){return{mode:"text"}},_getDateTimeFormatString:function(){return Globalize.culture().calendar.patterns.d+" "+Globalize.culture().calendar.patterns.t},supportedKeys:n.noop,attachKeyboardEvents:function(n){this._widgetKeyboardProcessor=n.attachChildProcessor()},getParsedText:function(n,t){return Globalize.parseDate(n,t)},renderInputMinMax:n.noop,renderOpenedState:function(){this.dateBox.option("opened")&&this._updateValue()},popupConfig:i,renderPopupContent:function(){var t=this._getPopup();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},popupShowingHandler:n.noop,popupHiddenHandler:n.noop,_updateValue:function(){this._widget&&this._widget.option("value",this.dateBoxValue())},_valueChangedHandler:function(n){this.dateBox.option("opened")&&this.dateBox.option("applyValueMode")==="instantly"&&this.dateBoxValue(n.value)},textChangedHandler:n.noop,renderValue:function(){this.dateBox.option("opened")&&this._updateValue()},getValue:function(){return this._widget.option("value")},dispose:function(){var n=this._getPopup();n&&n.content().empty()},dateBoxValue:function(){var n=["value"];return arguments.length&&n.push(arguments[0]),this.dateBox.dateOption.apply(this.dateBox,n)}})});DevExpress.define("/ui/widgets/date/ui.dateBox.strategy.calendar",["jquery","/utils/utils.date","/utils/utils.common","/ui/widgets/date/ui.calendar","/ui/widgets/date/ui.dateBox.strategy"],function(n,t,i,r,u){return u.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(n.preventDefault(),this._widget.option("zoomLevel")===this._widget.option("maxZoomLevel")){var t=this._widget._view.option("contouredDate");t&&this.dateBoxValue(t);this.dateBox.close();this.dateBox._valueChangeEventHandler(n)}else return!0},this)}},getDefaultOptions:function(){return n.extend(this.callBase(),{formatString:Globalize.culture().calendar.patterns.d})},_getWidgetName:function(){return r.publicName()},_getWidgetOptions:function(){return n.extend(this.dateBox.option("calendarOptions"),{value:this.dateBoxValue()||null,_keyboardProcessor:this._widgetKeyboardProcessor,min:this.dateBox.dateOption("min"),max:this.dateBox.dateOption("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),hasFocus:function(){return!0}})},_refreshActiveDescendant:function(n){this.dateBox.setAria("activedescendant",n.actionValue)},popupConfig:function(t){var u=t.buttons,f=this.dateBox.option("buttonsLocation"),r=[];return r=f!=="default"?i.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(!0,t,{buttons:u,position:{collision:"flipfit flip"}})},_valueChangedHandler:function(n){var u=this.dateBox,i=n.value,r=n.previousValue,f=t.sameMonthAndYear(i,r)&&i.getDate()===r.getDate();f||u.option("applyValueMode")==="instantly"&&this.dateBoxValue(this.getValue())},_getParsedValue:function(){return this.getParsedText(this.dateBox.option("text"),this.dateBox.option("formatString"))},_updateValue:function(){var t=this._getParsedValue(),n;this._widget&&(n=this.dateBoxValue(),t&&this._widget.option("value",n))},textChangedHandler:function(){this.dateBox.option("opened")&&this._widget&&this._updateValue(!0)},_cellClickHandler:function(){var n=this.dateBox;n.option("applyValueMode")==="instantly"&&(n.option("opened",!1),this.dateBoxValue(this.getValue()))},dispose:function(){this.dateBox.off("optionChanged");this.callBase()}})});DevExpress.define("/ui/widgets/date/ui.dateBox.strategy.calendarWithTime",["jquery","/ui/widgets/date/ui.dateBox.strategy.calendar","/ui/widgets/date/ui.timeView"],function(n,t,i){return t.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:this._getDateTimeFormatString(),applyValueMode:"useButtons",buttonsLocation:"bottom after",showPopupTitle:!1})},_renderWidget:function(){this.callBase();this._timeView=this.dateBox._createComponent(n("<div>"),i,{value:this.dateBoxValue(),onValueChanged:n.proxy(this._valueChangedHandler,this)})},renderOpenedState:function(){this.callBase();clearTimeout(this._repaintTimer);this._repaintTimer=setTimeout(n.proxy(function(){this._getPopup()&&this._getPopup().repaint()},this),0)},_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(),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)});clearTimeout(this._removeMinWidthTimer);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._hasFocusClass()||this.dateBox.focus())},getValue:function(){var n=this._widget.option("value"),t=this._timeView.option("value");return n=n?new Date(n):new Date,n.setHours(t.getHours(),t.getMinutes(),t.getSeconds()),n},dispose:function(){clearTimeout(this._removeMinWidthTimer);clearTimeout(this._repaintTimer);this.callBase()}})});DevExpress.define("/ui/widgets/date/ui.dateBox.strategy.dateView",["jquery","/ui/widgets/date/ui.dateUtils","/utils/utils.support","/ui/ui.themes","/ui/widgets/date/ui.dateView","/ui/widgets/date/ui.dateBox.strategy"],function(n,t,i,r,u,f){return f.inherit({NAME:"DateView",getDefaultOptions:function(){var i=this.dateBox.option("format"),t="d";return i==="datetime"?t=this._getDateTimeFormatString():i==="time"&&(t="t"),n.extend(this.callBase(),{openOnFieldClick:!0,applyButtonText:Globalize.localize("Done"),formatString:t})},popupConfig:function(){return{showTitle:!0,buttons:this.dateBox._popupButtonsConfig(),defaultOptionsRules:[{device:function(n){return n.platform==="win"&&n.version&&n.version[0]===8},options:{showNames:!0}},{device:function(n){return n.platform==="win"&&n.phone&&n.version&&n.version[0]===8},options:{animation:null}},{device:function(){var n=(r.current()||"").split(".")[0];return n==="win8"},options:{fullScreen:!0}},{device:{platform:"android"},options:{width:333,height:331}},{device:function(n){var t=n.platform,i=n.version;return t==="generic"||t==="ios"||t==="win"&&i&&i[0]===10},options:{width:"auto",height:"auto"}},{device:function(n){var t=n.platform,i=n.phone;return t==="generic"&&i},options:{width:333,height:"auto",position:{collision:"flipfit flip"}}},{device:function(n){var t=(r.current()||"").split(".")[0];return n.phone&&t==="win10"},options:{width:333,height:"auto"}},{device:{platform:"ios",phone:!0},options:{width:"100%",position:{my:"bottom",at:"bottom",of:window}}}]}},_renderWidget:function(){var t,r;if(i.inputType(this.dateBox.option("mode"))&&this.dateBox._isNativeType()||this.dateBox.option("readOnly")){this._widget&&(this._widget.element().remove(),this._widget=null);return}t=this._getPopup();this._widget?this._widget.option(this._getWidgetOptions()):(r=n("<div>").appendTo(t.content()),this._widget=this._createWidget(r));this._widget.element().appendTo(this._getWidgetContainer())},_getWidgetName:function(){return u.publicName()},_getWidgetOptions:function(){return{value:this.dateBoxValue()||new Date,format:this.dateBox.option("format"),minDate:this.dateBox.dateOption("min")||new Date(1900,1,1),maxDate:this.dateBox.dateOption("max")||new Date(n.now()+50*t.ONE_YEAR),onDisposing:n.proxy(function(){this._widget=null},this)}},_updateValue:function(){this._widget&&this._widget.option("value",this.dateBoxValue()||new Date)}})});DevExpress.define("/ui/widgets/date/ui.dateBox.strategy.native",["jquery","/utils/utils.support","/ui/widgets/date/ui.dateUtils","/ui/widgets/date/ui.dateBox.strategy"],function(n,t,i,r){return r.inherit({NAME:"Native",popupConfig:n.noop,getParsedText:function(n){return i.fromStandardDateFormat(n)},renderPopupContent:n.noop,_getWidgetName:n.noop,_getWidgetOptions:n.noop,getDefaultOptions:function(){var r=this.dateBox.option("format");n.inArray(r,i.SUPPORTED_FORMATS)===-1?r="date":r!=="datetime"||t.inputType(r)||(r="datetime-local");this.dateBox.option({mode:r,formatString:i.FORMATS_MAP[r]})},renderInputMinMax:function(n){n.attr({min:Globalize.format(this.dateBox.dateOption("min"),"yyyy-MM-dd"),max:Globalize.format(this.dateBox.dateOption("max"),"yyyy-MM-dd")})}})});DevExpress.define("/ui/widgets/date/ui.dateBox.strategy.list",["jquery","/utils/utils.common","/devices","/ui/widgets/date/ui.dateUtils","/ui/widgets/date/ui.dateBox.strategy"],function(n,t,i,r,u){return u.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 n.extend(this.callBase(),{formatString:Globalize.culture().calendar.patterns.t,applyValueMode:"instantly"})},popupConfig:function(t){var u=i.current(),r=n.extend(t,{width:this._getPopupWidth()});return u.platform==="android"&&n.extend(r,{position:{offset:{h:-16,v:-10}}}),r},_getPopupWidth:function(){var t=i.current(),n=this.dateBox.element().outerWidth();return t.platform==="android"&&(n+=32),n},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),selectionMode:"single"}},_refreshActiveDescendant:function(n){this.dateBox.setAria("activedescendant","");this.dateBox.setAria("activedescendant",n.actionValue)},_refreshItems:function(){this._widgetItems=this._getTimeListItems();this._widget.option("items",this._widgetItems)},renderOpenedState:function(){this.callBase();this._widget&&this._widget.option("focusedElement",null)},_updateValue:function(){if(this._widget){var n=this.dateBoxValue(),t=this._getDateIndex(n);this._widget.option("selectedIndex",t)}},_getDateIndex:function(n){for(var i=-1,t=0,r=this._widgetItems.length;t<r;t++)if(this._areDatesEqual(n,this._widgetItems[t])){i=t;break}return i},_areDatesEqual:function(n,i){return t.isDate(n)&&t.isDate(i)&&n.getHours()===i.getHours()&&n.getMinutes()===i.getMinutes()},_getTimeListItems:function(){var i=this.dateBox.dateOption("min")||new Date(0,0,0,0,0),f=this.dateBox.dateOption("max")||new Date(0,0,0,23,59),e=this.dateBox.option("interval"),u=[],n=new Date(i),t=f-i;if(t<0)return[];for(t>r.ONE_DAY&&(t=r.ONE_DAY);n-i<t;)u.push(new Date(n)),n.setMinutes(n.getMinutes()+e);return u},_timeListItemTemplate:function(n){return Globalize.format(n,this.dateBox.option("formatString"))},_listItemClickHandler:function(n){this.dateBox.option("opened",!1);var t=this.dateBox.option("value");t=t?new Date(t):new Date;t.setHours(n.itemData.getHours());t.setMinutes(n.itemData.getMinutes());t.setSeconds(n.itemData.getSeconds());this.dateBoxValue(t)},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._getPopupWidth())},_updatePopupHeight:function(){this.dateBox._setPopupOption("height","auto");var t=this._widget.element().outerHeight(),i=n(window).height()*.45;this.dateBox._setPopupOption("height",Math.min(t,i));this.dateBox._timeList&&this.dateBox._timeList.updateDimensions()}})}),function(n,t){var u=t.ui,f=t.require("/utils/utils.support"),e=t.require("/ui/ui.themes"),i=t.require("/utils/utils.browser"),o=t.require("/devices"),s=t.require("/componentRegistrator"),h=t.require("/ui/ui.widget"),c="dx-loadindicator",l="dx-loadindicator-wrapper",a="dx-loadindicator-content",v="dx-loadindicator-icon",r="dx-loadindicator-segment",y="dx-loadindicator-segment-inner",p="dx-loadindicator-image";s("dxLoadIndicator",u,h.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{indicatorSrc:"",activeStateEnabled:!1,hoverStateEnabled:!1,_animatingSegmentCount:1,_animatingSegmentInner:!1})},_defaultOptionsRules:function(){var n=function(){var n=e.current();return n&&n.split(".")[0]};return this.callBase().concat([{device:function(){var n=o.real(),t=n.platform==="android"&&!/chrome/i.test(navigator.userAgent);return i.msie&&i.version<10||t},options:{viaImage:!0}},{device:function(){return n()==="win8"||n()==="win10"},options:{_animatingSegmentCount:5}},{device:function(){return n()==="ios7"},options:{_animatingSegmentCount:11}},{device:function(){return n()==="android5"},options:{_animatingSegmentCount:2,_animatingSegmentInner:!0}},{device:function(){return n()==="generic"},options:{_animatingSegmentCount:7}}])},_init:function(){this.callBase();this.element().addClass(c)},_render:function(){this._renderWrapper();this._renderIndicatorContent();this._renderMarkup();this.callBase()},_renderWrapper:function(){this._$wrapper=n("<div>").addClass(l);this.element().append(this._$wrapper)},_renderIndicatorContent:function(){this._$content=n("<div>").addClass(a);this._$wrapper.append(this._$content)},_renderMarkup:function(){!f.animation||this.option("viaImage")||this.option("indicatorSrc")?this._renderMarkupForImage():this._renderMarkupForAnimation()},_renderMarkupForAnimation:function(){var u=this.option("_animatingSegmentInner"),t,i;for(this._$indicator=n("<div>").addClass(v),this._$content.append(this._$indicator),t=this.option("_animatingSegmentCount");t>=0;--t)i=n("<div>").addClass(r).addClass(r+t),u&&i.append(n("<div>").addClass(y)),this._$indicator.append(i)},_renderMarkupForImage:function(){var n=this.option("indicatorSrc");this._$wrapper.addClass(p);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"_animatingSegmentInner":case"indicatorSrc":this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var i=t.ui,f=t.require("/componentRegistrator"),e="dx-loadpanel",o="dx-loadpanel-wrapper",r="dx-loadpanel-indicator",u="dx-loadpanel-message",s="dx-loadpanel-content",h="dx-loadpanel-content-wrapper",c="dx-loadpanel-pane-hidden";f("dxLoadPanel",i,i.dxOverlay.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{message:Globalize.localize("Loading"),width:222,height:90,animation:null,showIndicator:!0,indicatorSrc:"",showPane:!0,delay:0,closeOnBackButton:!1,resizeEnabled:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"generic"},options:{shadingColor:"transparent"}}])},_init:function(){this.callBase.apply(this,arguments)},_render:function(){this.callBase();this.element().addClass(e);this._wrapper().addClass(o)},_renderContentImpl:function(){this.callBase();this.content().addClass(s);this._$contentWrapper=n("<div>").addClass(h);this._$contentWrapper.appendTo(this._$content);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,i;this._$contentWrapper&&(t=this.option("message"),t)&&(i=n("<div>").addClass(u).text(t),this._$contentWrapper.append(i))},_renderLoadIndicator:function(){this._$contentWrapper&&this.option("showIndicator")&&(this._$indicator=n("<div>").addClass(r).appendTo(this._$contentWrapper),this._createComponent(this._$indicator,"dxLoadIndicator",{indicatorSrc:this.option("indicatorSrc")}))},_cleanPreviousContent:function(){this.content().find("."+u).remove();this.content().find("."+r).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);DevExpress.define("/ui/widgets/ui.lookup",["jquery","/utils/utils.string","/utils/utils.version","/utils/utils.support","/utils/utils.browser","/utils/utils.common","/utils/utils.inkRipple","/devices","/componentRegistrator","/ui/events/ui.events.utils","/ui/widgets/ui.dropDownList","/ui/uiNamespace","/ui/ui.themes"],function(n,t,i,r,u,f,e,o,s,h,c,l,a){var b=i.compare,k="dx-lookup",v="dx-lookup-selected",d="dx-lookup-search",g="dx-lookup-search-wrapper",nt="dx-lookup-field",tt="dx-lookup-arrow",y="dx-lookup-field-wrapper",it="dx-lookup-popup",rt="dx-lookup-popup-wrapper",ut="dx-lookup-popup-search",ft="dx-lookup-popover-mode",et="dx-lookup-empty",ot="dx-lookup-validation-message",p="dx-lookup-invalid",st=".dx-list-item",ht="dxListItemData",ct={popupWidth:"width",popupHeight:"height"},w=c.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{space:function(n){n.preventDefault();this._validatedOpening()},enter:function(){this._validatedOpening()}})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{showNextButton:{since:"15.1",message:"Use the 'pageLoadMode' option instead"},pagingEnabled:{since:"15.1",message:"Use the 'dataSource.paginate' option instead"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{title:"",titleTemplate:"title",onTitleRendered:null,placeholder:Globalize.localize("Select"),searchPlaceholder:Globalize.localize("Search"),searchEnabled:!0,cleanSearchOnOpening:!0,fullScreen:!1,showCancelButton:!0,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:undefined,animation:undefined,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:undefined,nextButtonText:Globalize.localize("dxList-nextButtonText"),grouped:!1,groupTemplate:"group",usePopover:!1,showDropButton:!1,showPopupTitle:!0,focusStateEnabled:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return!r.nativeScrolling},options:{useNativeScrolling:!1}},{device:function(n){return!r.nativeScrolling&&!o.isSimulator()&&o.real().platform==="generic"&&n.platform==="generic"},options:{usePopover:!0,popupHeight:"auto"}},{device:function(){return u.msie&&b(u.version,9)<0},options:{usePopover:!1}},{device:function(n){return n.platform==="win"&&n.phone&&n.version&&n.version[0]===8},options:{showCancelButton:!1,fullScreen:!0}},{device:function(n){return n.platform==="win"&&!n.phone&&n.version&&n.version[0]===8},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:"auto",usePopover:!0,useInkRipple:!1}},{device:{platform:"generic"},options:{buttonsLocation:"bottom center"}},{device:function(){return o.real().generic&&!o.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return/android5/.test(a.current())},options:{useInkRipple:!0}}])},_dataSourceOptions:function(){this._suppressDeprecatedWarnings();var t=f.ensureDefined(this.option("pagingEnabled"),!0);return t=f.isDefined(this.option("showNextButton"))?t||this.option("showNextButton"):t,this._resumeDeprecatedWarnings(),n.extend(this.callBase(),{paginate:t})},_inputWrapper:function(){return this.element().find("."+y)},_render:function(){this.callBase();this.element().addClass(k).toggleClass(ft,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(nt).on(h.addNamespace("dxclick",this.NAME),function(n){i({jQueryEvent:n})});t=n("<div>").addClass(tt);this._$fieldWrapper=n("<div>").addClass(y).append(this._$field).append(t).appendTo(this.element());this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=e.render()},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple){var r={element:this._inputWrapper(),jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_renderField:function(){var n=this._getTemplateByOption("fieldTemplate"),t;n&&this.option("fieldTemplate")&&(this._$field.empty(),t=this._fieldRenderData(),n.render(t,this._$field))},_fieldRenderData:function(){return this.option("selectedItem")},_popupShowingHandler:function(){var n;this._$popupValidationMessage&&(n=this.option("validationError"),n&&n.message?(this._$popupValidationMessage.text(n.message),this._popup.content().addClass(p)):this._popup.content().removeClass(p));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));this._attachSearchChildProcessor()},_renderPopup:function(){this.option("usePopover")&&!this.option("fullScreen")?this._renderPopover():this.callBase();this._$popup.addClass(it);this._popup._wrapper().addClass(rt)},_popupOptionMap:function(n){return ct[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")?n.proxy(function(){return this.element().outerWidth()},this):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)});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(),{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"),onPositioned:null});return delete t.animation,delete t.position,t.maxHeight=function(){return n(window).height()},n.each(["position","animation","popupWidth","popupHeight"],n.proxy(function(n,i){this.option(i)!==undefined&&(t[this._popupOptionMap(i)]=this.option(i))},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(ot).appendTo(this._popup.content()));this._renderSearch();this.callBase();this._attachSearchChildProcessor()},_attachSearchChildProcessor:function(){this.option("searchEnabled")&&this._searchBox?(this._listKeyboardProcessor=this._searchBox._keyboardProcessor.attachChildProcessor(),this._setListOption("_keyboardProcessor",this._listKeyboardProcessor)):this._setListOption("_keyboardProcessor",undefined)},_renderSearch:function(){if(this._$searchWrapper&&this._$searchWrapper.remove(),delete this._$searchWrapper,this._$searchBox&&this._$searchBox.remove(),delete this._$searchBox,delete this._searchBox,this.option("searchEnabled")){var t=this._$searchWrapper=n("<div>").addClass(g),r=this._$searchBox=n("<div>").addClass(d).appendTo(t),i=o.current(),u=i.android&&i.version[0]>=5?"text":"search";this._searchBox=this._createComponent(r,"dxTextBox",{mode:u,showClearButton:!0,valueChangeEvent:this.option("valueChangeEvent"),onValueChanged:n.proxy(this._search,this)});this._registerSearchKeyHandlers();t.appendTo(this._popup.content())}this._renderSearchVisibility();this._setSearchPlaceholder()},_selectListItemHandler:function(n){var t=this._list.option("focusedElement");t&&(n.preventDefault(),this._selectListItem(n.itemData,t))},_registerSearchKeyHandlers:function(){this._searchBox.registerKeyHandler("escape",n.proxy(this.close,this));this._searchBox.registerKeyHandler("enter",n.proxy(this._selectListItemHandler,this));this._searchBox.registerKeyHandler("space",n.proxy(this._selectListItemHandler,this))},_renderSearchVisibility:function(){this._popup&&this._popup._wrapper().toggleClass(ut,this.option("searchEnabled"))},_setSearchPlaceholder:function(){if(this._$searchBox){var i=this.option("minSearchLength"),n=this.option("searchPlaceholder");i&&n===Globalize.localize("Search")&&(n=t.format(Globalize.localize("dxLookup-searchPlaceholder"),i));this._searchBox.option("placeholder",n)}},_setAriaTargetForList:n.noop,_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"),_keyboardProcessor:this._listKeyboardProcessor,onFocusIn:n.proxy(this._onFocusInHandler,this),selectionMode:"single"})},_onFocusInHandler:function(){this._setListOption("_keyboardProcessor",undefined)},_listContentReadyHandler:function(){this.option("usePopover")&&this._popup.repaint();this.callBase.apply(this,arguments)},_getPageLoadMode:function(){this._suppressDeprecatedWarnings();var n=f.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 v},_listItemClickHandler:function(n){this._selectListItem(n.itemData,n.jQueryEvent.target)},_selectListItem:function(n,t){var i=this._currentSelectedItem();this._setCurrentSelectedClass(t);(i===n||this.option("applyValueMode")==="instantly")&&this._applyButtonHandler()},_currentSelectedItem:function(){return this._listSelectedItemElements().data(ht)},_setCurrentSelectedClass:function(t){this._listSelectedItemElements().removeClass(v);n(t).closest(st).addClass(v)},_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(et,!this.option("selectedItem"))},_renderPlaceholder:function(){this.element().find("input").length!==0&&this.callBase()},_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._popup&&this._renderSearch();this._attachSearchChildProcessor();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":case"placeholder":this._invalidate();break;case"clearButtonText":case"showClearButton":case"showCancelButton":this._setPopupOption("buttons",this._getPopupButtons());break;case"applyValueMode":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}});return s("dxLookup",l,w),w});DevExpress.require(["/ui/widgets/ui.lookup"]);DevExpress.define("/ui/widgets/ui.autocomplete",["jquery","/componentRegistrator","/ui/widgets/ui.dropDownList","/ui/uiNamespace"],function(n,t,i,r){var f="dx-autocomplete",e="dx-autocomplete-popup-wrapper",o={"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"},u=i.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:"15.2",alias:"valueExpr"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{minSearchLength:1,maxItemCount:10,noDataText:"",showDropButton:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="android"},options:{popupPosition:{offset:{h:-16,v:-9}}}}])},_render:function(){this.callBase();this.element().addClass(f);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")},_popupWrapperClass:function(){return this.callBase()+" "+e},_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"},_keyPressHandler:function(n){o[n.which||n.keyCode]||(this.callBase.apply(this,arguments),this._search())},_optionChanged:function(n){n.name==="maxItemCount"?this._searchDataSource():this.callBase(n)}});return t("dxAutocomplete",r,u),u});DevExpress.require(["/ui/widgets/ui.autocomplete"]);DevExpress.define("/ui/widgets/ui.selectBox",["jquery","/utils/utils.common","/utils/utils.inkRipple","/componentRegistrator","/ui/events/ui.events.utils","/ui/widgets/ui.dropDownList","/ui/uiNamespace","/ui/ui.themes"],function(n,t,i,r,u,f,e,o){var h="dx-selectbox",c="dx-selectbox-popup",l="dx-selectbox-selected",a="dx-selectbox-container",v="dx-selectbox-popup-wrapper",y={"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"},s=f.inherit({_supportedKeys:function(){var t=this.callBase(),i=function(n){this.option("showClearButton")&&!this._isEditable()&&(n.preventDefault(),this.reset())};return n.extend({},t,{tab:function(){var n=this.option("fieldEditEnabled"),i=this.option("searchEnabled");this.option("opened")&&(i&&!n&&this._input().val(""),t.tab.apply(this,arguments),this.close())},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(n){if(this._list.option("focusedElement")===null&&this._input().val()==="")this.option({selectedItem:null,value:null}),this.close();else if(this.option("fieldEditEnabled")&&n.preventDefault(),t.enter.apply(this,arguments))return this.option("opened")},backspace:i,del:i})},_getDefaultOptions:function(){return n.extend(this.callBase(),{placeholder:Globalize.localize("Select"),fieldTemplate:null,valueChangeEvent:"keyup",fieldEditEnabled:!1,showSelectionControls:!1,tooltipEnabled:!1,openOnFieldClick:!0,showDropButton:!0,displayCustomValue:!1,_isAdaptablePopupPosition:!1,useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return/win8/.test(o.current())},options:{_isAdaptablePopupPosition:!0,popupPosition:{at:"left top",offset:{h:0,v:0}}}},{device:function(){return/android5/.test(o.current())},options:{_isAdaptablePopupPosition:!0,popupPosition:{offset:{h:-16,v:-9}}}},{device:function(){return/android5/.test(o.current())},options:{useInkRipple:!0}}])},_selectedItemClass:function(){return l},_render:function(){this.callBase();this.element().addClass(h);this.option("useInkRipple")&&this._renderInkRipple();this._renderTooltip()},_renderInkRipple:function(){this._inkRipple=i.render()},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple&&!this._isEditable()){var r={element:this._inputWrapper(),jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_createPopup:function(){this.callBase();this._updatePopupPosition();this._popup.element().addClass(c)},_popupWrapperClass:function(){return this.callBase()+" "+v},_renderOpenedState:function(){this.callBase();this.option("opened")&&(this._updatePopupHeight(),this._scrollToSelectedItem())},_updatePopupPosition:function(){if(this.option("_isAdaptablePopupPosition")&&this.option("popupPosition")===this.initialOption("popupPosition"))if(this._isEditable()){var t=n.extend(this._getDefaultPopupPosition(),{offset:{h:(this.option("rtlEnabled")?-1:1)*this.option("popupPosition").offset.h,v:-4}});this._setPopupOption("position",t)}else this._setPopupOption("position",this.initialOption("popupPosition"))},_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){var i=this._dataSource.isLoaded()?n.Deferred().resolve():this._dataSource.load();i.done(n.proxy(function(){var n=this._valueGetter(this._calcNextItem(t));this._setValue(n)},this))},_calcNextItem:function(n){var t=this._items(),i=this._fitIntoRange(this._getSelectedIndex()+n,0,t.length-1);return t[i]},_items:function(){return this._list?this.option("items"):this._dataSource.items()},_getSelectedIndex:function(){var i=this._items(),r=this.option("selectedItem"),t=-1;return n.each(i,n.proxy(function(n,i){if(this._isValueEquals(i,r))return t=n,!1},this)),t},_setSelectedItem:function(n){var t=!this._isCustomValueAllowed()&&n===undefined;this.callBase(t?null:n)},_isCustomValueAllowed:function(){return this.option("fieldEditEnabled")||this.callBase()},_displayValue:function(n){return n=!t.isDefined(n)&&this._isCustomValueAllowed()?this.option("value"):n,this.callBase(n)},_listConfig:function(){var t=n.extend(this.callBase(),{pageLoadMode:"scrollBottom",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(n){this.option("disabled")||(n=arguments.length?n:!this.option("opened"),this._wasSearch()&&n&&(this._wasSearch(!1),this.option("showDataBeforeSearch")||this.option("minSearchLength")===0?this._filterDataSource(null):(this._setListOption("items",[]),this._list&&this._setListOption("noDataText",this._list.initialOption("noDataText")))),this.callBase(n))},_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(a);var t=u.addNamespace("blur",this.NAME);this._input().off(t).on(t,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){var t=this.option("value");this._completeSelection(this._valueGetter(n.itemData));this.option("searchEnabled")&&t===this._valueGetter(n.itemData)&&this._renderDisplayText(this._displayGetter(n.itemData))},_completeSelection:function(n){n===undefined&&(n=this.option("fieldEditEnabled")&&this._searchValue()?this._searchValue():this.option("value"));this.option("opened",!1);this._wasSearch()&&this._clearFilter();this._setValue(n)},_setValue:function(n){this.option("value",n)},_clearValueHandler:function(){this.reset()},_valueChangeEventHandler:function(n){y[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(){var n=u.addNamespace("dxclick",this.NAME);return this.callBase().on(n,function(){return!1})},_search:function(){this._needPassDataSourceToList()&&this._wasSearch(!0);this.callBase()},_wasSearch:function(n){if(!arguments.length)return this._wasSearchValue;this._wasSearchValue=n},_filterDataSource:function(n){this.callBase(n);this._setCollectionWidgetOption("noDataText",n?"":this._list&&this._list.initialOption("noDataText"))},_optionChanged:function(n){switch(n.name){case"_isAdaptablePopupPosition":break;case"tooltipEnabled":this._renderTooltip();break;case"displayCustomValue":case"fieldEditEnabled":case"showSelectionControls":case"useInkRipple":this._invalidate();break;default:this.callBase(n)}}});return r("dxSelectBox",e,s),s});DevExpress.require(["/ui/widgets/ui.selectBox"]);DevExpress.define("/ui/widgets/tagBox/ui.tagBox.removeButton",["jquery","/ui/ui.widget"],function(n,t){var i="dx-tag-remove-button";return t.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{activeStateEnabled:!0})},_render:function(){this.callBase();this.element().addClass(i)}})});DevExpress.define("/ui/widgets/ui.tagBox",["jquery","/utils/utils.common","/componentRegistrator","/ui/templates/ui.template.function","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/widgets/ui.selectBox","/ui/uiNamespace","/ui/widgets/tagBox/ui.tagBox.removeButton"],function(n,t,i,r,u,f,e,o,s){var h="dxTagData",a="dx-tagbox",v="dx-tag-container",c="dx-tag",y="dx-tag-content",p="dx-tag-remove-button",w="dx-tagbox-only-select",b="dx-texteditor-empty",l=e.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._values();this._removeTagWithUpdate(t[t.length-1])}},enter:function(n){!this.option("fieldEditEnabled")||this._$list&&this._$list.find(".dx-state-focused").length?(this.option("opened")&&n.preventDefault(),this._keyboardProcessor._childProcessors[0].process(n)):(n.preventDefault(),this._completeSelection())}})},_setNextValue:n.noop,_getDefaultOptions:function(){return n.extend(this.callBase(),{values:[],onValuesChanged:null,showDropButton:!1,tagTemplate:"tag",selectAllText:Globalize.localize("dxList-selectAll")})},_init:function(){this.callBase();this._initValuesChangedAction();this._initDynamicTagTemplate();this._values(this.option("values"));this._updateValues()},_initValuesChangedAction:function(){this._valuesChangedAction=this._createActionByOption("onValuesChanged",{excludeValidators:["disabled","readonly"]});this._removeTagAction=this._createAction(n.proxy(this._removeTagHandler,this))},_initDynamicTagTemplate:function(){this._displayGetterExpr()?this._dynamicTemplates.tag=new r(n.proxy(function(n){return this._displayGetter(n)},this)):delete this._dynamicTemplates.tag},_render:function(){this.callBase();this.element().addClass(a);this.element().toggleClass(w,!(this.option("searchEnabled")||this.option("fieldEditEnabled")));var t=u.addNamespace("dxclick","dxTagBoxTagRemove");this.element().find(".dx-texteditor-container").off(t).on(t,"."+p,n.proxy(function(n){this._removeTagAction({jQueryEvent:n})},this))},_renderOpenHandler:function(){this.callBase();var n=this.element().find(".dx-dropdowneditor-input-wrapper"),t=u.addNamespace("mousedown",this.NAME);if(n.off(t),this.option("openOnFieldClick"))n.on(t,function(n){n.preventDefault()})},_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(v);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(b,n);this._placeholder().toggle(n);this._renderDisplayText()},_renderDisplayText:function(){this._input().val("");this._renderInputSize()},_cleanTags:function(){var t=this._tagElements(),i=this._values();n.each(t,function(t,r){var u=n(r);n.inArray(u.data(h),i)<0&&u.remove()})},_tagElements:function(){return this.element().find("."+c)},_renderTag:function(i,r){if(this._isTagRendered(i))return n.Deferred().resolve();var u=n("<div>").addClass(c).data(h,i).appendTo(r),f=this._getTemplateByOption("tagTemplate"),e=n("<div>").addClass(y).appendTo(u);return new s(n("<div>")).element().appendTo(u),this._loadItem(i).always(n.proxy(function(n){n=t.isDefined(n)?n:i;f.render(n,e);this._selectedItems.push(n)},this))},_isTagRendered:function(t){var r=this._tagElements(),i=!1;return n.each(r,function(r,u){var f=n(u);if(t===f.data(h))return i=!0,!1}),i},_toggleEmptinessEventHandler:function(){this._toggleEmptiness(!this._values().length&&!this._searchValue().length)},_removeTagHandler:function(t){var i=t.jQueryEvent,r,u;i.stopPropagation();r=n(i.target).closest("."+c);u=r.data(h);this._removeTagWithUpdate(u)},_removeTagWithUpdate:function(n){this._removeTag(n);this.option("values",this._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._suppressingSelectionChanged(function(){this.option("values",this._values())});this._valuesChangedAction(t)},_removeTag:function(n){this.option().value=n;var i=this._values(),t=this._valueIndex(n);t>=0&&i.splice(t,1)},_addTag:function(n){var t=this._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._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(n){if(!arguments.length)return this._valuesData||[];this._valuesData=n.slice()},_previousValues:function(n){if(!arguments.length)return this._previousValuesData||[];this._previousValuesData=n.slice()},_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()===undefined?null:this._lastValue();this.option("value",n)},_lastValue:function(){return this._values().slice(-1).pop()},_valueChangeEventHandler:function(n){var t=this.element(),u=t.height(),i,r;if(this._renderInputSize(),i=!this._searchValue().length&&!this._dataSource.searchValue(),r=t.height(),this._popup&&this.option("opened")&&this._isEditable()&&r!==u&&this._popup.repaint(),!i){if(this.option("fieldEditEnabled")){this.option("searchEnabled")&&this._search();return}this.callBase(n)}},_valueChangeArgs:function(){var t=this.callBase.apply(this,arguments);return delete t.previousValue,n.extend(t,{values:this._values(),previousValues:this._previousValues()})},_refreshSelected:function(){this._list&&this._suppressingSelectionChanged(function(){this._setListOption("selectedItems",this._selectedItems);this.callBase()})},_setSelectedElement:function(n){this.callBase(n);this._setValue(this.option("value"))},_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._values(n.value);this._previousValues(n.previousValue);this._updateValues();break;case"onValuesChanged":this._initValuesChangedAction();break;case"selectAllText":this._setListOption("selectAllText",this.option("selectAllText"));break;default:this.callBase(n)}}});return i("dxTagBox",o,l),l});DevExpress.require(["/ui/widgets/ui.tagBox"]),function(n,t,i){var f=t.ui,e=t.fx,o=t.require("/utils/utils.translator"),s=t.require("/utils/utils.math"),a=t.require("/utils/utils.common"),h=t.require("/devices"),v=t.require("/componentRegistrator"),y="dx-multiview",p="dx-multiview-wrapper",w="dx-multiview-item-container",c="dx-multiview-item",b="dx-multiview-item-hidden",k="dxMultiViewItemData",d=200,l=function(n){return+n},g=function(n){return o.locate(n).left},r=function(n,t){o.move(n,{left:t})},u={moveTo:function(n,t,i,r){e.animate(n,{type:"slide",to:{left:t},duration:i,complete:r})},complete:function(n){e.stop(n,!0)}};v("dxMultiView",f,f.CollectionWidget.inherit({_activeStateUnit:"."+c,_supportedKeys:function(){return n.extend(this.callBase(),{pageUp:n.noop,pageDown:n.noop})},_getDefaultOptions:function(){return n.extend(this.callBase(),{selectedIndex:0,swipeEnabled:!0,animationEnabled:!0,loop:!1,deferRendering:!0,_itemAttributes:{role:"tabpanel"},loopItemFocus:!1,selectOnFocus:!0,selectionMode:"single",selectionRequired:!0,selectionByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return h.real().generic&&!h.isSimulator()},options:{focusStateEnabled:!0}}])},_itemClass:function(){return c},_itemDataKey:function(){return k},_itemContainer:function(){return this._$itemContainer},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_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(y);this._$wrapper=n("<div>").addClass(p);this._$wrapper.appendTo(t);this._$itemContainer=n("<div>").addClass(w);this._$itemContainer.appendTo(this._$wrapper);this.option("loopItemFocus",this.option("loop"));this._initSwipeable()},_render:function(){this._deferredItems=[];this.callBase()},_renderItemContent:function(t){var r=n.Deferred(),u=this,f=this.callBase,i=n.Deferred();return i.done(function(){var n=f.call(u,t);r.resolve(n)}),this._deferredItems.push(i),this.option("deferRendering")||i.resolve(),r.promise()},_renderSelection:function(n){this._updateItems(n[0])},_updateItems:function(n,t){this._updateItemsPosition(n,t);this._updateItemsVisibility(n,t)},_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(b,e);this.setAria("hidden",e||i,o)},this))},_renderSpecificItem:function(n){var t=this._itemElements().eq(n).find(this._itemContentClass()).length>0;a.isDefined(n)&&!t&&this._deferredItems[n].resolve()},_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")?d:0;u.moveTo(this._$itemContainer,n,i,t)},_animationDirection:function(n,t){var i=g(this._$itemContainer),r=(t-n)*this._getRTLSignCorrection()*this._getItemFocusLoopSignCorrection(),u=i!==0,f=u?i:r;return s.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=l(i||(f?t>0:t<r));n.maxRightOffset=l(i||(f?t<r:t>0));this._swipeDirection=null},_swipeUpdateHandler:function(n){var u=n.offset,t=s.sign(u)*this._getRTLSignCorrection(),i,f;r(this._$itemContainer,u*this._itemWidth());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("focusStateEnabled")&&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);DevExpress.define("/ui/widgets/validation/ui.defaultAdapter",["jquery","/class"],function(n,t){return t.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")},bypass:function(){return this.editor.option("disabled")},applyValidationResults:function(n){this.editor.option({isValid:n.isValid,validationError:n.brokenRule})},reset:function(){this.editor.reset()},focus:function(){this.editor.focus()}})});DevExpress.define("/ui/widgets/ui.validator",["jquery","/ui/ui.errors","/componentRegistrator","/domComponent","/ui/ui.validationMixin","/validationEngine","/ui/widgets/validation/ui.defaultAdapter","/ui/uiNamespace"],function(n,t,i,r,u,f,e,o){var h="dx-validator",s=r.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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){f.removeRegistredValidator(n.component._validationGroup,n.component)});this._groupWasInit&&this._validationGroup===n||(f.removeRegistredValidator(this._validationGroup,this),this._groupWasInit=!0,this._validationGroup=n,f.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 e(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()})},_render:function(){this.element().addClass(h);this.callBase()},_visibilityChanged:function(n){n&&this._initGroupRegistration()},_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 r=this,t=r.option("adapter"),e=r.option("name"),o=t.bypass&&t.bypass(),s=t.getValue(),u=t.getCurrentValidationError&&t.getCurrentValidationError(),h=n.map(r.option("validationRules"),function(n){return n.validator=r,n}),i;return o?i={isValid:!0}:u&&u.editorSpecific?(u.validator=this,i={isValid:!1,brokenRule:u}):i=f.validate(s,h,e),this._applyValidationResult(i,t),i},reset:function(){var t=this,n=t.option("adapter");n.reset();this._applyValidationResult({isValid:!0,brokenRule:null},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()}}).include(u);return i("dxValidator",o,s),s});DevExpress.require(["/ui/widgets/ui.validator"]);DevExpress.define("/ui/widgets/ui.validationSummary",["jquery","/componentRegistrator","/ui/ui.validationMixin","/validationEngine","/ui/uiNamespace"],function(n,t,i,r,u){var f="dx-validationsummary",o=f+"-item",s=f+"-item-data",e=DevExpress.ui.CollectionWidget.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{focusStateEnabled:!1,noDataText:null})},_setOptionsByReference:function(){this.callBase();n.extend(this._optionsByReference,{validationGroup:!0})},_init:function(){this.callBase();this._initGroupRegistration()},_initGroupRegistration:function(){var t=this._findGroup(),i=r.addGroup(t);this._unsubscribeGroup();this._groupWasInit=!0;this._validationGroup=t;this.groupSubscription=n.proxy(this._groupValidationHandler,this);i.on("validated",this.groupSubscription)},_unsubscribeGroup:function(){var n=r.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){if(r._validationSummary!==this){var u=n.proxy(i._itemValidationHandler,i),f=function(){r.off("validated",u);r._validationSummary=null;u=null};r.on("validated",u);r.on("disposing",f);r._validationSummary=this}});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(f);this.callBase()},_optionChanged:function(n){switch(n.name){case"validationGroup":this._initGroupRegistration();break;default:this.callBase(n)}},_itemClass:function(){return o},_itemDataKey:function(){return s},_postprocessRenderItem:function(n){n.itemElement.on("click",function(){n.itemData.validator.focus()})},_dispose:function(){this.callBase();this._unsubscribeGroup()}}).include(i);return t("dxValidationSummary",u,e),e});DevExpress.require(["/ui/widgets/ui.validationSummary"]);DevExpress.define("/ui/widgets/ui.validationGroup",["jquery","/componentRegistrator","/domComponent","/ui/widgets/ui.validationSummary","/validationEngine","/ui/widgets/ui.validator","/ui/uiNamespace"],function(n,t,i,r,u,f,e){var o="dx-validationgroup",s=i.inherit({_getDefaultOptions:function(){return this.callBase()},_init:function(){this.callBase()},_render:function(){var t=this.element();t.addClass(o);t.find(".dx-validator").each(function(t,i){f.getInstance(n(i))._initGroupRegistration()});t.find(".dx-validationsummary").each(function(t,i){r.getInstance(n(i))._initGroupRegistration()});this.callBase()},validate:function(){return u.validateGroup(this)},reset:function(){return u.resetGroup(this)},_optionChanged:function(n){switch(n.name){default:this.callBase(n)}},_dispose:function(){u.removeGroup(this);this.element().removeClass(o);this.callBase()}});return t("dxValidationGroup",e,s),s});DevExpress.require(["/ui/widgets/ui.validationGroup"]);DevExpress.define("/ui/widgets/ui.fileUploader",["jquery","/utils/utils.browser","/utils/utils.common","/devices","/componentRegistrator","/ui/ui.editor","/ui/widgets/ui.button","/ui/widgets/track/ui.progressBar","/ui/uiNamespace","/ui/events/ui.events.utils"],function(n,t,i,r,u,f,e,o,s,h){var d="dx-fileuploader",y="dx-fileuploader-empty",g="dx-fileuploader-show-file-list",l="dx-fileuploader-dragover",nt="<input type='file'>",tt="dx-fileuploader-wrapper",it="dx-fileuploader-container",rt="dx-fileuploader-content",ut="dx-fileuploader-input-wrapper",ft="dx-fileuploader-input-container",et="dx-fileuploader-input-label",ot="dx-fileuploader-input",st="dx-fileuploader-files-container",ht="dx-fileuploader-file-container",ct="dx-fileuploader-file-info",lt="dx-fileuploader-file-status-message",at="dx-fileuploader-file",p="dx-fileuploader-file-name",w="dx-fileuploader-file-size",c="dx-fileuploader-button",a="dx-fileuploader-button-container",vt="dx-fileuploader-cancel-button",b="dx-fileuploader-upload-button",v=400,yt=function(){return!!window.FormData},pt=function(){return FormData},wt=function(){return XMLHttpRequest},k=f.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault();var t=this._selectButton.element();t.trigger("dxclick")};return n.extend(this.callBase(),{space:t,enter:t})},_setOptionsByReference:function(){this.callBase();n.extend(this._optionsByReference,{value:!0})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{buttonText:{since:"15.1",alias:"selectButtonText"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{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",onUploaded:null,onProgress:null,onUploadError:null,validationMessageMode:"always",validationMessageOffset:{h:0,v:0},useNativeInputClick:!1,useDragOver:!0,nativeDropSupported:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return r.real().generic&&!r.isSimulator()},options:{focusStateEnabled:!0}},{device:{platform:"generic"},options:{validationMessageOffset:{h:3}}},{device:[{platform:"android"},{platform:"win"}],options:{validationMessageOffset:{v:0}}},{device:function(){return t.msie&&t.version<=10},options:{useNativeInputClick:!0}},{device:function(){return r.real().platform!=="generic"},options:{useDragOver:!1}},{device:function(){return t.msie&&t.version<=9},options:{uploadMode:"useForm"}},{device:function(){return t.msie||r.real().platform!=="generic"},options:{nativeDropSupported:!1}}])},_init:function(){this.option("value",null);this.option("values",[]);this.callBase.apply(this,arguments);this._initFileInput();this._initLabel();this._createFiles();this._createUploadedAction();this._createProgressAction();this._createUploadErrorAction()},_initFileInput:function(){if(this._isCustomClickEvent=!1,!this._$fileInput){this._$fileInput=n(nt);this._$fileInput.on("change",n.proxy(this._inputChangeHandler,this)).on("click",n.proxy(function(){return this.option("useNativeInputClick")||this._isCustomClickEvent},this))}this._$fileInput.prop({multiple:this.option("multiple"),name:this.option("name"),accept:this.option("accept"),tabindex:-1})},_inputChangeHandler:function(){var t,n,i;this._doPreventInputChange||(t=this._$fileInput.val().replace(/^.*\\/,""),n=this._$fileInput.prop("files"),!n||n.length)&&(i=n?this._getFiles(n):[{name:t}],this._changeValues(i),this.option("uploadMode")==="instantly"&&this._uploadFiles())},_changeValues:function(n){this._shouldChangeValue=!0;this.option("values",n);delete this._shouldChangeValue},_getFiles:function(t){var i=[];return n.each(t,function(n,t){i.push(t)}),i},_initLabel:function(){this._$inputLabel||(this._$inputLabel=n("<div>"));this._$inputLabel.text(this.option("labelText"))},_focusTarget:function(){return this.element().find("."+c)},_render:function(){this.element().addClass(d);this._renderWrapper();this._renderInputWrapper();this._renderDragEvents();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))},_createUploadedAction:function(){this._uploadedAction=this._createActionByOption("onUploaded")},_createProgressAction:function(){this._progressAction=this._createActionByOption("onProgress")},_createUploadErrorAction:function(){this._uploadErrorAction=this._createActionByOption("onUploadError")},_createFile:function(t){return{value:t,loadedSize:0,onProgress:n.Callbacks(),onLoad:n.Callbacks(),onError:n.Callbacks(),onLoadStart:n.Callbacks()}},_renderFiles:function(){var t,i;this._$filesContainer?this._$filesContainer.empty():this._$filesContainer=n("<div>").addClass(st).appendTo(this._$content);t=this.option("showFileList");t&&(i=this,n.each(this._files,function(n,t){i._renderFile(t)}));this.element().toggleClass(g,t);this.element().toggleClass(y,!this._files.length);this._updateFileNameMaxWidth();this._$validationMessage&&this._$validationMessage.dxOverlay("repaint")},_renderFile:function(t){var r=t.value,f=n("<div>").addClass(ht).appendTo(this._$filesContainer),u;this._renderFileButtons(t,f);t.$file=n("<div>").addClass(at).appendTo(f);u=n("<div>").addClass(ct).appendTo(t.$file);t.$statusMessage=n("<div>").addClass(lt).text(this.option("readyToUploadMessage")).appendTo(t.$file);n("<div>").addClass(p).text(r.name).appendTo(u);i.isDefined(r.size)&&n("<div>").addClass(w).text(this._getFileSize(r.size)).appendTo(u)},_updateFileNameMaxWidth:function(){var i=this.option("allowCanceling")?1:0,r=this.option("uploadMode")==="useButtons"?1:0,u=this._$filesContainer.width(),f=this._$filesContainer.find("."+a).eq(0),e=f.width()*(i+r),n=this._$filesContainer.find("."+w).eq(0),o=n.text(),t;n.text("1000 Mb");t=n.width();n.text(o);this._$filesContainer.find("."+p).css("max-width",u-e-t)},_renderFileButtons:function(t,i){t.cancelButton=this._createComponent(n("<div>").addClass(c+" "+vt),e,{onClick:n.proxy(function(){this._removeFile(t)},this),icon:"close",visible:this.option("allowCanceling"),_templates:{}});n("<div>").addClass(a).append(t.cancelButton.element()).appendTo(i);this.option("uploadMode")==="useButtons"&&(t.uploadButton=this._createComponent(n("<div>").addClass(c+" "+b),e,{onClick:n.proxy(function(){this._uploadFile(t)},this),icon:"upload"}),n("<div>").addClass(a).append(t.uploadButton.element()).appendTo(i),t.onLoadStart.add(n.proxy(function(){t.uploadButton.element().remove()},this)))},_removeFile:function(t){t.$file.parent().remove();this._files.splice(n.inArray(t,this._files),1);var i=this.option("values").slice();i.splice(n.inArray(t.value,i),1);this._shouldChangeValue=this._doPreventRecreatingFiles=!0;this.option("values",i);this._shouldChangeValue=this._doPreventRecreatingFiles=!1;this.element().toggleClass(y,!this._files.length);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(c).appendTo(this._$inputWrapper);if(this._selectButton=this._createComponent(t,e,{text:this.option("selectButtonText"),focusStateEnabled:!1,_templates:{}}),r.real().deviceType==="desktop")this._selectButton.option("onClick",n.proxy(this._selectButtonClickHandler,this));else t.off("click").on("click",n.proxy(this._selectButtonClickHandler,this))},_selectButtonClickHandler:function(){if(!this.option("useNativeInputClick")){if(this.option("disabled"))return!1;this._isCustomClickEvent=!0;this._$fileInput.click();this._isCustomClickEvent=!1}},_renderUploadButton:function(){if(this.option("uploadMode")==="useButtons"){var t=n("<div>").addClass(c).addClass(b).appendTo(this._$content);this._uploadButton=this._createComponent(t,e,{text:this.option("uploadButtonText"),onClick:n.proxy(this._uploadButtonClickHandler,this),_templates:{}})}},_uploadButtonClickHandler:function(){this._uploadFiles()},_shouldDragOverBeRendered:function(){return this.option("uploadMode")!=="useForm"||this.option("nativeDropSupported")},_renderInputContainer:function(){this._$inputContainer=n("<div>").addClass(ft).appendTo(this._$inputWrapper);this._shouldDragOverBeRendered()||this._$inputContainer.css("display","none");this._$fileInput.addClass(ot);this._renderInput();this._$inputLabel.addClass(et).appendTo(this._$inputContainer)},_renderInput:function(){this.option("useNativeInputClick")&&this.option("uploadMode")==="useForm"?this._selectButton.option("template",n.proxy(this._selectButtonInputTemplate,this)):(this._$fileInput.appendTo(this._$inputContainer),this._selectButton.option("template","content"))},_selectButtonInputTemplate:function(t,i){var r=n("<span>").addClass("dx-button-text").text(t.text);return i.append(r).append(this._$fileInput),i},_renderInputWrapper:function(){this._$inputWrapper=n("<div>").addClass(ut).appendTo(this._$content)},_renderDragEvents:function(){if(this._$inputWrapper.off("."+this.NAME),this._shouldDragOverBeRendered()){this._dragEventsCount=0;this._$inputWrapper.on(h.addNamespace("dragenter",this.NAME),n.proxy(this._dragEnterHandler,this)).on(h.addNamespace("dragover",this.NAME),n.proxy(this._dragOverHandler,this)).on(h.addNamespace("dragleave",this.NAME),n.proxy(this._dragLeaveHandler,this)).on(h.addNamespace("drop",this.NAME),n.proxy(this._dropHandler,this))}},_useInputForDrop:function(){return this.option("nativeDropSupported")&&this.option("uploadMode")==="useForm"},_dragEnterHandler:function(n){if(this.option("disabled"))return!1;this._useInputForDrop()||n.preventDefault();this._dragEventsCount++;this.element().addClass(l)},_dragOverHandler:function(n){this._useInputForDrop()||n.preventDefault()},_dragLeaveHandler:function(n){this._useInputForDrop()||n.preventDefault();this._dragEventsCount--;this._dragEventsCount<=0&&this.element().removeClass(l)},_dropHandler:function(n){if(!this._useInputForDrop()){n.preventDefault();var t=n.originalEvent.dataTransfer.files,i=this._getFiles(t);this._changeValues(i);this.option("uploadMode")==="instantly"&&this._uploadFiles()}this._dragEventsCount=0;this.element().removeClass(l)},_renderWrapper:function(){var t=n("<div>").addClass(tt).appendTo(this.element()),i=n("<div>").addClass(it).appendTo(t);this._$content=n("<div>").addClass(rt).appendTo(i)},_clean:function(){this._$fileInput.detach();delete this._$filesContainer;this.callBase.apply(this,arguments)},_uploadFiles:function(){yt()&&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.onLoad.add(n.proxy(this._onLoadedHandler,this,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,t){var i=this;setTimeout(function(){i.option("showFileList")&&(n.$statusMessage.text(i.option("uploadFailedMessage")),n.$statusMessage.css("display",""),n.progressBar.element().remove())},v);this._uploadErrorAction({file:n.value,jQueryEvent:t})},_onLoadedHandler:function(n,t){var i=this;setTimeout(function(){i.option("showFileList")&&(n.$statusMessage.text(i.option("uploadedMessage")),n.$statusMessage.css("display",""),n.progressBar.element().remove())},v);this._uploadedAction({file:n.value,jQueryEvent:t})},_onProgressHandler:function(n,t){var f=this._getTotalSize(),i=0,r=this._getLoadedSize(),e=0,u;n&&(i=Math.min(t.loaded,n.value.size),u=i-n.loadedSize,r+=u,n.progressBar&&n.progressBar.option({value:i,showStatus:!0}),this._progressAction({file:n.value,segmentSize:u,bytesLoaded:t.loaded,jQueryEvent:t}),n.loadedSize=i);f&&(e=Math.round(r/f*100));this.option("progress",e);this._setLoadedSize(r)},_initStatusMessage:function(n){n.$statusMessage.css("display","none")},_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})},v)};t.onLoad.add(i);t.onError.add(i)},_initUploadRequest:function(t){var i=this;t.request=this._createRequest(this.option("uploadUrl"));t.loadedSize=0;t.request.onreadystatechange=n.proxy(function(n){if(n.currentTarget.readyState===4){var t=n.currentTarget.status;i._isStatusSuccess(t)?this.onLoad.fire(n):(i._isStatusError(t)||!this._isProgressStarted)&&(this._isError=!0,this.onError.fire(n))}},t);t.request.upload.onprogress=n.proxy(function(n){this._isError||(this._isProgressStarted=!0,this.onProgress.fire(n))},t);t.request.upload.onloadstart=n.proxy(function(n){this.onLoadStart.fire(n)},t)},_isStatusSuccess:function(n){return 200<=n&&n<300},_isStatusError:function(n){return 400<=n&&n<500},_createRequest:function(n){var i=wt(),t=new i;return t.open("POST",n,!0),t},_createFormData:function(n,t){var r=pt(),i=new r;return i.append(n,t),i},_createProgressBar:function(t){return this._createComponent(n("<div>"),o,{value:undefined,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()},_getValidationMessageTarget:function(){return this._$inputWrapper},_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._doPreventRecreatingFiles||(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;case"onUploaded":this._createUploadedAction();break;case"onProgress":this._createProgressAction();break;case"onUploadError":this._createUploadErrorAction();break;case"useNativeInputClick":this._renderInput();break;case"useDragOver":this._renderDragEvents();break;case"nativeDropSupported":this._invalidate();break;default:this.callBase(n)}},_valueChangeArgs:function(){return n.extend(this.callBase.apply(this,arguments),{values:this.option("values")})}});return u("dxFileUploader",s,k),k});DevExpress.require(["/ui/widgets/ui.fileUploader"]),function(n,t,i){var r=t.ui,f=t.require("/utils/utils.support"),u=t.require("/devices"),e=t.require("/componentRegistrator"),o="dx-tabpanel",s="dx-tabpanel-tabs",h="dx-tabpanel-container";e("dxTabPanel",r,r.dxMultiView.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{itemTitleTemplate:"title",hoverStateEnabled:!0,showNavButtons:!1,scrollByContent:!0,scrollingEnabled:!0,onTitleClick:null,onTitleHold:null,onTitleRendered:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return u.real().generic&&!u.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return!f.touch},options:{swipeEnabled:!1}},{device:{platform:"generic"},options:{animationEnabled:!1}}])},_init:function(){this.callBase();this.element().addClass(o);this.setAria("role","tabpanel");this._renderLayout()},_renderLayout:function(){var t=this.element(),i;this._$tabContainer=n("<div>").addClass(s).appendTo(t);i=n("<div>").appendTo(this._$tabContainer);this._tabs=this._createComponent(i,"dxTabs",this._tabConfig());this._$container=n("<div>").addClass(h).appendTo(t);this._$container.append(this._$wrapper);this._updateLayout()},_updateLayout:function(){var n=this._$tabContainer.outerHeight();this._$container.css({"margin-top":-n,"padding-top":n})},_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"),hoverStateEnabled:this.option("hoverStateEnabled"),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:this.option("scrollingEnabled"),scrollByContent:this.option("scrollByContent"),showNavButtons:this.option("showNavButtons"),itemTemplateProperty:"tabTemplate",loopItemFocus:this.option("loop"),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(function(n){this._focusInHandler(n.jQueryEvent)},this),onFocusOut:n.proxy(function(n){this._focusOutHandler(n.jQueryEvent)},this)}},_renderFocusTarget:function(){this._focusTarget().attr("tabindex",-1);this._refreshActiveDescendant()},_updateFocusState:function(n,t){this.callBase(n,t);n.target===this._tabs._focusTarget().get(0)&&this._toggleFocusClass(t,this._focusTarget())},_setTabsOption:function(n,t){this._tabs&&this._tabs.option(n,t)},_visibilityChanged:function(n){n&&(this._tabs._dimensionChanged(),this._updateLayout())},_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":case"hoverStateEnabled":this._setTabsOption(i,t);this.callBase(n);break;case"scrollingEnabled":case"scrollByContent":case"showNavButtons":this._setTabsOption(i,t);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;case"loop":this._setTabsOption("loopItemFocus",t);break;default:this.callBase(n)}}}))}(jQuery,DevExpress);DevExpress.define("/ui/widgets/ui.colorView",["jquery","/utils/utils.translator","/utils/utils.browser","/color","/devices","/componentRegistrator","/ui/ui.editor","/ui/uiNamespace","/ui/widgets/ui.numberBox","/ui/widgets/ui.textBox"],function(n,t,i,r,u,f,e,o,s,h){var y="dx-colorview",p="dx-colorview-container",c="dx-colorview-container-row",w="dx-colorview-container-cell",b="dx-colorview-palette",k="dx-colorview-palette-cell",d="dx-colorview-palette-handle",l="dx-colorview-palette-gradient",g="dx-colorview-palette-gradient-white",nt="dx-colorview-palette-gradient-black",tt="dx-colorview-hue-scale",it="dx-colorview-hue-scale-cell",rt="dx-colorview-hue-scale-handle",ut="dx-colorview-hue-scale-wrapper",ft="dx-colorview-controls-container",et="dx-colorview-label-red",ot="dx-colorview-label-green",st="dx-colorview-label-blue",ht="dx-colorview-label-hex",ct="dx-colorview-alpha-channel-scale",lt="dx-colorview-alpha-channel-row",at="dx-colorview-alpha-channel-wrapper",vt="dx-colorview-alpha-channel-label",yt="dx-colorview-alpha-channel-handle",pt="dx-colorview-alpha-channel-cell",wt="dx-colorview-alpha-channel-border",a="dx-colorview-color-preview",bt="dx-colorview-color-preview-container",kt="dx-colorview-color-preview-container-inner",dt="dx-colorview-color-preview-color-current",gt="dx-colorview-color-preview-color-new",v=e.inherit({_supportedKeys:function(){var r=this.option("rtlEnabled"),i=this,u=function(n){var t=100/i._paletteWidth;return n.shiftKey&&(t=t*i.option("keyStep")),t=t>1?t:1,Math.round(t)},f=function(n){var t=i._currentColor.hsv.s+n;t>100?t=100:t<0&&(t=0);i._currentColor.hsv.s=t;s()},e=function(n){var t=100/i._paletteHeight;return n.shiftKey&&(t=t*i.option("keyStep")),t=t>1?t:1,Math.round(t)},o=function(n){var t=i._currentColor.hsv.v+n;t>100?t=100:t<0&&(t=0);i._currentColor.hsv.v=t;s()},s=function(){i._placePaletteHandle();i._updateColorFromHsv(i._currentColor.hsv.h,i._currentColor.hsv.s,i._currentColor.hsv.v)},h=function(n){var t=360/(i._hueScaleWrapperHeight-i._hueScaleHandleHeight);return n.shiftKey&&(t=t*i.option("keyStep")),t=t>1?t:1},c=function(n){i._currentColor.hsv.h+=n;i._placeHueScaleHandle();var r=t.locate(i._$hueScaleHandle);i._updateColorHue(r.top+i._hueScaleHandleHeight/2)},l=function(n){var t=1/i._alphaChannelScaleWorkWidth;return n.shiftKey&&(t=t*i.option("keyStep")),t=t>.01?t:.01,t=r?-t:t},a=function(n){i._currentColor.a+=n;i._placeAlphaChannelHandle();var r=t.locate(i._$alphaChannelHandle);i._calculateColorTransparenceByScaleWidth(r.left+i._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?(r?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?(r?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()}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{value:null,editAlphaChannel:!1,applyValueMode:"useButtons",keyStep:1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return u.real().generic&&!u.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase();this._initColorAndOpacity()},_initColorAndOpacity:function(){this._setCurrentColor(this.option("value"))},_setCurrentColor:function(n){n=n||"#000000";var t=new r(n);t.colorIsInvalid?this.option("value",this._currentColor.baseColor):this._currentColor&&this._makeRgba(this._currentColor)===this._makeRgba(t)||(this._currentColor=t,this._$currentColor&&this._makeTransparentBackground(this._$currentColor,t))},_render:function(){this.callBase();this.element().addClass(y);this._renderColorPickerContainer()},_enterKeyHandler:function(){this.option("applyValueMode")==="useButtons"&&this.applyColor()},_makeTransparentBackground:function(n,t){t instanceof r||(t=new r(t));i.msie&&i.version==="8.0"?n.css({background:t.toHex(),filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity="+t.a*100+")"}):n.css("backgroundColor",this._makeRgba(t))},_makeRgba:function(n){return n instanceof r||(n=new r(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":p,appendTo:t});this._renderHtmlRows();this._renderPalette();this._renderHueScale();this._renderControlsContainer();this._renderControls();this._renderAlphaChannelElements()},_renderHtmlRows:function(t){var f=this._$colorPickerContainer.find("."+c),r=f.length,h=this._calculateRowsCount(),i=r-h,o,u,e,s;if(i>0&&(o=this._calculateRemovedHtmlRowIndex(r,t),f.eq(o).remove()),i<0){for(i=Math.abs(i),u=[],e=0;e<i;e++)u.push(n("<div>",{"class":c}));r?(s=this._calculateHtmlRowIndex(r,t),f.eq(s).after(u)):this._$colorPickerContainer.append(u)}},_renderHtmlCellInsideRow:function(t,i,r){return n("<div>",{"class":w,addClass:r,appendTo:i.find("."+c+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,k),i=n("<div>",{"class":[l,g].join(" ")}),r=n("<div>",{"class":[l,nt].join(" ")});this._$palette=n("<div>",{"class":b,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":d,appendTo:this._$palette}),"dxDraggable",{area:this._$palette,allowMoveByClick:!0,boundOffset:n.proxy(function(){return-this._paletteHandleHeight/2},this),onDrag:n.proxy(function(){var n=t.locate(this._$paletteHandle);this._updateByDrag=!0;this._updateColorFromHsv(this._currentColor.hsv.h,this._calculateColorSaturation(n),this._calculateColorValue(n))},this)});this._paletteHandleWidth=this._$paletteHandle.width();this._paletteHandleHeight=this._$paletteHandle.height();this._placePaletteHandle()},_placePaletteHandle:function(){t.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,t,i){var u=this._currentColor.a;this._currentColor=new r("hsv("+[n,t,i].join(",")+")");this._currentColor.a=u;this._updateColorParamsAndColorPreview();this.option("applyValueMode")==="instantly"&&this.applyColor()},_renderHueScale:function(){var t=this._renderHtmlCellInsideRow(":first",this._$colorPickerContainer,it);this._$hueScaleWrapper=n("<div>",{"class":ut,appendTo:t});this._$hueScale=n("<div>",{"class":tt,appendTo:this._$hueScaleWrapper});this._hueScaleHeight=this._$hueScale.height();this._hueScaleWrapperHeight=this._$hueScaleWrapper.outerHeight();this._renderHueScaleHandle()},_renderHueScaleHandle:function(){this._createComponent(this._$hueScaleHandle=n("<div>",{"class":rt,appendTo:this._$hueScaleWrapper}),"dxDraggable",{area:this._$hueScaleWrapper,allowMoveByClick:!0,direction:"vertical",onDrag:n.proxy(function(){this._updateByDrag=!0;this._updateColorHue(t.locate(this._$hueScaleHandle).top+this._hueScaleHandleHeight/2)},this)});this._hueScaleHandleHeight=this._$hueScaleHandle.height();this._placeHueScaleHandle()},_placeHueScaleHandle:function(){var i=this._hueScaleWrapperHeight,r=this._hueScaleHandleHeight,n=(i-r)*(360-this._currentColor.hsv.h)/360;i<n+r&&(n=i-r);n<0&&(n=0);t.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":ft,appendTo:t})},_renderControls:function(){this._renderColorsPreview();this._renderRgbInputs();this._renderHexInput()},_renderColorsPreview:function(){var t=n("<div>",{"class":bt,appendTo:this._$controlsContainer}),i=n("<div>",{"class":kt,appendTo:t});this._$currentColor=n("<div>",{"class":[a,dt].join(" ")});this._$newColor=n("<div>",{"class":[a,gt].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("."+c).eq(1).addClass(lt),this._renderAlphaChannelScale(),this._renderAlphaChannelInput())},_renderRgbInputs:function(){this._rgbInputsWithLabels=[this._renderEditorWithLabel({editorType:s.publicName(),value:this._currentColor.r,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"R",labelAriaText:Globalize.localize("dxColorView-ariaRed"),labelClass:et}),this._renderEditorWithLabel({editorType:s.publicName(),value:this._currentColor.g,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"G",labelAriaText:Globalize.localize("dxColorView-ariaGreen"),labelClass:ot}),this._renderEditorWithLabel({editorType:s.publicName(),value:this._currentColor.b,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"B",labelAriaText:Globalize.localize("dxColorView-ariaBlue"),labelClass:st})];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===s.publicName()&&(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},hexInputOptions:function(){return{editorType:h.publicName(),value:this._currentColor.toHex().replace("#",""),onValueChanged:n.proxy(this._updateColor,this,!0),labelClass:ht,labelText:"#",labelAriaText:Globalize.localize("dxColorView-ariaHex")}},_renderHexInput:function(){this._hexInput=h.getInstance(this._renderEditorWithLabel(this.hexInputOptions()).appendTo(this._$controlsContainer).find(".dx-textbox"));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,pt),i=n("<div>",{"class":wt,appendTo:t}),r=n("<div>",{"class":at,appendTo:i});this._$alphaChannelScale=n("<div>",{"class":ct,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:s.publicName(),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:vt,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(i){this._createComponent(this._$alphaChannelHandle=n("<div>",{"class":yt,appendTo:i}),"dxDraggable",{area:i,allowMoveByClick:!0,direction:"horizontal",onDrag:n.proxy(function(){this._updateByDrag=!0;var n=this._$alphaChannelHandle,i=t.locate(n).left+this._alphaChannelHandleWidth/2;this._calculateColorTransparenceByScaleWidth(i)},this)});this._alphaChannelHandleWidth=this._$alphaChannelHandle.width();this._alphaChannelScaleWorkWidth=i.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));t=Math.max(t,0);t=Math.min(t,1);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);t.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 t,i;n?i=this._validateHex("#"+this._hexInput.option("value")):(t=this._validateRgb(),this._alphaChannelInput?(t.push(this._alphaChannelInput.option("value")),i="rgba("+t.join(", ")+")"):i="rgb("+t.join(", ")+")");this._suppressEditorsValueUpdating||(this._currentColor=new r(i),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)}}});return f("dxColorView",o,v),v});DevExpress.define("/ui/widgets/ui.colorBox",["jquery","/color","/componentRegistrator","/ui/widgets/ui.colorView","/ui/uiNamespace","/ui/events/ui.events.utils","/ui/widgets/ui.dropDownEditor"],function(n,t,i,r,u,f,e){var s="dx-colorbox",c=s+"-input",v=c+"-container",y=s+"-color-result-preview",l=s+"-color-is-not-defined",p=s+"-overlay",w="dx-colorview-container-cell",b="dx-colorview-button-cell",k="dx-colorview-buttons-container",d="dx-colorview-apply-button",g="dx-colorview-cancel-button",h=r.prototype,o={makeTransparentBackground:n.proxy(h._makeTransparentBackground,h),makeRgba:n.proxy(h._makeRgba,h)},a=e.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})},_getDefaultOptions:function(){return n.extend(this.callBase(),{editAlphaChannel:!1,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(w).addClass(b).find(".dx-toolbar-items-container").addClass(k),n.find(".dx-popup-done").addClass(d),n.find(".dx-popup-cancel").addClass(g))},_createColorView:function(){this._popup.overlayContent().addClass(p);var t=n("<div>").appendTo(this._popup.content());this._colorView=this._createComponent(t,r,this._colorViewConfig());this._colorView._enterKeyHandler=n.proxy(this._enterKeyHandler,this);t.on("focus",n.proxy(function(){this.focus()},this))},_colorViewConfig:function(){var n=this;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&&o.makeTransparentBackground(n._$colorResultPreview,i)},_keyboardProcessor:n._colorViewProccessor}},_enterKeyHandler:function(n){var i=this._input().val(),r=this.option("editAlphaChannel")?o.makeRgba(this.option("value")):this.option("value"),u=new t(i);if(u.colorIsInvalid&&i!==""){this._input().val(r);return}return i&&i!==r?(this._applyColorFromInput(i),this.option("value",this.option("editAlphaChannel")?o.makeRgba(i):i),!1):(this._colorView&&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(){if(this._colorViewProccessor=this._keyboardProcessor.attachChildProcessor(),this._colorView){this._colorView.option("_keyboardProcessor",this._colorViewProccessor);return}},_init:function(){this.callBase()},_render:function(){this.callBase();this.element().addClass(s)},_renderInput:function(){this.callBase();this._input().addClass(c);this._renderColorPreview()},_renderColorPreview:function(){this.element().wrapInner(n("<div/>").addClass(v));this._$colorBoxInputContainer=this.element().children().eq(0);this._$colorResultPreview=n("<div>",{"class":y,appendTo:this._$colorBoxInputContainer});this.option("value")?o.makeTransparentBackground(this._$colorResultPreview,this.option("value")):this._$colorBoxInputContainer.addClass(l)},_renderValue:function(){var n=this.option("value");this.option("text",this.option("editAlphaChannel")?o.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(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(l,!t);t?o.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)}}});return i("dxColorBox",u,a),a});DevExpress.require(["/ui/widgets/ui.colorBox"]),function(n,t){var f=t.ui,a=t.require("/ui/ui.errors"),i=t.require("/utils/utils.common"),v=t.require("/utils/utils.string"),e=t.require("/utils/utils.dom"),y=t.require("/componentRegistrator"),p=t.require("/ui/ui.widget"),ft=t.require("/ui/widgets/ui.validationSummary"),et=t.require("/ui/widgets/ui.validationGroup"),w=t.require("/validationEngine"),o="dx-form",b="dx-field-item",k="dx-field-item-label-text",r="dx-form-group",d="dx-form-group-content",g="dx-form-group-with-caption",s="dx-form-group-caption",nt="dx-layout-manager-hidden-label",tt="dx-field-item-label",it="dx-field-item-label-content",h="dx-field-item-tab",u="dx-col-",c="dx-group-colcount-",rt="dx-field-item-content",l="dx-form-validation-summary",ut="dx-widget";y("dxForm",f,p.inherit({_init:function(){this.callBase();this._groupsColCount=[]},_getDefaultOptions:function(){return n.extend(this.callBase(),{formID:new t.data.Guid,formData:{},colCount:1,labelLocation:"left",readOnly:!1,onFieldDataChanged:null,customizeItem:null,onEditorEnterKey:null,minColWidth:200,alignItemLabels:!0,alignItemLabelsInAllGroups:!0,showColonAfterLabel:!0,showRequiredMark:!0,showOptionalMark:!1,requiredMark:"*",optionalMark:Globalize.localize("dxForm-optionalMark"),requiredMessage:Globalize.localize("dxForm-requiredMessage"),showValidationSummary:!1,items:undefined,scrollingEnabled:!1})},_getColCount:function(n){for(var t=0,i=!0,r;i;)r=n.find("."+u+t),r.length?t++:i=!1;return t},_createHiddenElement:function(t){this._$hiddenElement=n("<div/>").addClass(ut).addClass(nt).appendTo(document.body);var i=t._renderLabel({text:" ",location:this.option("labelLocation")}).appendTo(this._$hiddenElement);this._hiddenLabelText=i.find("."+k)[0]},_removeHiddenElement:function(){this._$hiddenElement.remove();this._hiddenLabelText=null},_getLabelWidthByText:function(n){return this._hiddenLabelText.innerHTML=n,this._hiddenLabelText.offsetWidth},_getLabelsSelectorByCol:function(n,t){t=t||{};var i=t.excludeTabbed?":not(."+h+")":"";return"."+(t.inOneColumn?b:u+n)+i+"> ."+tt+" > ."+it},_getLabelText:function(n){for(var u=n.children.length,t,i="",r=0;r<u;r++)t=n.children[r],i=i+(v.isEmpty(t.innerText)?t.innerHTML:t.innerText);return i},_applyLabelsWidthByCol:function(n,t,i){for(var u=n.find(this._getLabelsSelectorByCol(t,i)),o=u.length,f,e=0,r=0;r<o;r++)f=this._getLabelWidthByText(this._getLabelText(u[r])),f>e&&(e=f);for(r=0;r<o;r++)u[r].style.width=e+"px"},_applyLabelsWidth:function(n,t,i){for(var u=i?1:this._getColCount(n),f={excludeTabbed:t,inOneColumn:i},r=0;r<u;r++)this._applyLabelsWidthByCol(n,r,f)},_getGroupElementsInColumn:function(n,t,f){var e=i.isDefined(f)?"."+c+f:"";return n.find("."+u+t+" > ."+rt+" > ."+r+e)},_applyLabelsWidthWithGroups:function(n,t,i){var l=this.option("alignItemLabelsInAllGroups"),u,e,s,h={excludeTabbed:i},c,f,o;if(l)for(u=0;u<t;u++)for(f=this._getGroupElementsInColumn(n,u),this._applyLabelsWidthByCol(f,0,h),e=0;e<this._groupsColCount.length;e++)for(f=this._getGroupElementsInColumn(n,u,this._groupsColCount[e]),c=this._getColCount(f),o=1;o<c;o++)this._applyLabelsWidthByCol(f,o,h);else for(s=this.element().find("."+r),u=0;u<s.length;u++)this._applyLabelsWidth(s.eq(u),i)},_alignLabelsInColumn:function(n){this._createHiddenElement(n.layoutManager);n.inOneColumn?this._applyLabelsWidth(n.$container,n.excludeTabbed,!0):this._checkGrouping(n.items)?this._applyLabelsWidthWithGroups(n.$container,n.layoutManager._getColCount(),n.excludeTabbed):this._applyLabelsWidth(n.$container,n.excludeTabbed);this._removeHiddenElement()},_render:function(){this._clearEditorInstances();this.callBase();this.element().addClass(o)},_clearEditorInstances:function(){this._editorInstancesByField={}},_alignLabels:function(n,t){this._alignLabelsInColumn({$container:this.element(),layoutManager:n,excludeTabbed:!0,items:this.option("items"),inOneColumn:t})},_clean:function(){this.callBase();this._groupsColCount=[]},_renderContentImpl:function(){this.callBase();this._renderForm();this._renderValidationGroup();this.option("scrollingEnabled")&&this._renderScrollable();this._renderLayout();this._renderValidationSummary()},_renderScrollable:function(){var n=this.option("useNativeScrolling");this._scrollable=this._$form.dxScrollable({useNative:!!n,useSimulatedScrollbar:!n,useKeyboard:!1,direction:"both",bounceEnabled:!1}).data("dxScrollable")},_getContent:function(){return this.option("scrollingEnabled")?this._scrollable.content():this._$form},_renderForm:function(){this._$form=n("<form>").appendTo(this.element());this.setAria("role","form")},_renderValidationGroup:function(){this._$form.dxValidationGroup()},_renderValidationSummary:function(){var t=this,i=t._$form.find("."+l);i.length>0&&i.remove();this.option("showValidationSummary")&&n("<div/>").addClass(l).dxValidationSummary({validationGroup:t}).appendTo(t._getContent())},_prepareItems:function(t,r){if(t){for(var e=this,s=[],f,u,o=0;o<t.length;o++)f=t[o],u=i.isObject(f)?n.extend({},f):f,e._prepareGroupItem(u),e._prepareTabbedItem(u),e._prepareItemTemplate(u),i.isObject(u)&&(r&&(u.cssItemClass=h),u.items=this._prepareItems(u.items,r)),s.push(u);return s}},_prepareGroupItem:function(t){t.itemType==="group"&&(t.alignItemLabels=i.ensureDefined(t.alignItemLabels,!0),t.template&&(t.groupContentTemplate=this._getTemplate(t.template)),t.template=n.proxy(this._itemGroupTemplate,this,t))},_prepareTabbedItem:function(t){t.itemType==="tabbed"&&(t.template=n.proxy(this._itemTabbedTemplate,this,t),t.tabs=this._prepareItems(t.tabs,!0))},_prepareItemTemplate:function(n){n.template&&(n.template=this._getTemplate(n.template))},_checkGrouping:function(n){var t,i;if(n)for(t=0;t<n.length;t++)if(i=n[t],i.itemType==="group")return!0},_renderLayout:function(){var t=this,i=t.option("items"),r=t._getContent();i=t._prepareItems(i);t._testResultItems=i;t._rootLayoutManager=t._renderLayoutManager(i,r,{colCount:t.option("colCount"),width:this.option("width"),alignItemLabels:t.option("alignItemLabels"),onLayoutChanged:function(i){n.proxy(t._alignLabels,t)(t._rootLayoutManager,i)},onContentReady:function(n){t._alignLabels(n.component,n.component.isLayoutChanged())}})},_itemTabbedTemplate:function(t,r,u){var f=this,o=n("<div/>").appendTo(u),s=n.extend({},t.tabPanelOptions,{dataSource:t.tabs,onItemRendered:function(n){e.triggerShownEvent(n.itemElement)},itemTemplate:function(t,r,u){var e,o=i.ensureDefined(t.alignItemLabels,!0);e=f._renderLayoutManager(t.items,u,{colCount:t.colCount,alignItemLabels:o,cssItemClass:t.cssItemClass,onLayoutChanged:function(i){n.proxy(f._alignLabelsInColumn,f)({$container:u,layoutManager:e,items:t.items,inOneColumn:i})}});o&&n.proxy(f._alignLabelsInColumn,f)({$container:u,layoutManager:e,items:t.items,inOneColumn:e.isLayoutChanged()})}});f._createComponent(o,"dxTabPanel",s)},_itemGroupTemplate:function(t,u,f){var o=n("<div/>").appendTo(f).toggleClass(g,i.isDefined(t.caption)&&t.caption.length).addClass(r),h,e,l,a;t.caption&&n("<span/>").addClass(s).text(t.caption).appendTo(o);h=n("<div/>").addClass(d).appendTo(o);t.groupContentTemplate?(a={formData:this.option("formData"),component:this},t.groupContentTemplate.render(a,h)):(l=this._renderLayoutManager(t.items,h,{colCount:t.colCount,alignItemLabels:t.alignItemLabels,cssItemClass:t.cssItemClass}),e=l._getColCount(),n.inArray(e,this._groupsColCount)===-1&&this._groupsColCount.push(e),o.addClass(c+e))},_renderLayoutManager:function(t,i,r){var e=n("<div />"),u=this,f,o=n.extend({items:t,showRequiredMark:this.option("showRequiredMark"),showOptionalMark:this.option("showOptionalMark"),requiredMark:this.option("requiredMark"),optionalMark:this.option("optionalMark"),requiredMessage:this.option("requiredMessage"),form:u,layoutData:this.option("formData"),labelLocation:this.option("labelLocation"),customizeItem:this.option("customizeItem"),minColWidth:this.option("minColWidth"),showColonAfterLabel:this.option("showColonAfterLabel"),onEditorEnterKey:this.option("onEditorEnterKey"),onContentReady:function(n){u._updateEditorInstancesFromLayoutManager(n.component._editorInstancesByField);r.onContentReady&&r.onContentReady(n)},onFieldDataChanged:function(n){u._updateFieldValue(n.dataField,n.value)}},{colCount:r.colCount,alignItemLabels:r.alignItemLabels,cssItemClass:r.cssItemClass,onLayoutChanged:r.onLayoutChanged,width:r.width,validationBoundary:u.option("scrollingEnabled")?u.element():undefined});return e.appendTo(i),f=u._createComponent(e,"dxLayoutManager",o),u._attachSyncSubscriptions(f),f},_updateEditorInstancesFromLayoutManager:function(t){n.extend(this._editorInstancesByField,t)},_createComponent:function(n,t,i){var r=this;return i=i||{},r._extendConfig(i,{readOnly:r.option("readOnly")}),r.callBase(n,t,i)},_attachSyncSubscriptions:function(n){var t=this;t.on("optionChanged",function(r){var u="formData.",f;r.fullName.search(u)===0&&(f=r.fullName.replace(u,"layoutData."),n.option(f,r.value));i.isDefined(t.option("items"))&&r.fullName==="formData"&&n.updateData(r.value);r.name==="readOnly"&&n.option(r.fullName,r.value)})},_optionChanged:function(n){var t=this._getRootLevelOfExpectedComplexOption(n.fullName,["formData","items"]);if(t){this._customHandlerOfComplexOption(n,t);return}switch(n.name){case"formData":i.isDefined(this._options.items)||(this._options[n.name]=n.value,this._invalidate(),this._triggerOnFieldDataChangedByDataSet(n.value));break;case"items":case"colCount":case"onFieldDataChanged":case"onEditorEnterKey":case"labelLocation":case"alignItemLabels":case"showColonAfterLabel":case"customizeItem":case"alignItemLabelsInAllGroups":case"showRequiredMark":case"showOptionalMark":case"requiredMark":case"optionalMark":case"requiredMessage":case"scrollingEnabled":case"formID":this._invalidate();break;case"showValidationSummary":this._renderValidationSummary();break;case"minColWidth":this.option("colCount")==="auto"&&this._invalidate();break;case"readOnly":break;case"width":this.callBase(n);this._rootLayoutManager.option(n.name,n.value);this._alignLabels(this._rootLayoutManager,this._rootLayoutManager.isLayoutChanged());break;case"visible":this.callBase(n);n.value&&e.triggerShownEvent(this.element());break;default:this.callBase(n)}},_getRootLevelOfExpectedComplexOption:function(n,t){var r=n.split("."),u,i,f;if(r.length>1)for(f=r[0],i=0;i<t.length;i++)f.search(t[i])!==-1&&(u=t[i]);return u},_customHandlerOfComplexOption:function(n,t){var r=n.fullName.split("."),u,f,e,o,i;switch(t){case"items":u=this._getItemPath(r);i=this.option(u);n.fullName.search("editorOptions")!==-1?(f=this.getEditor(i.dataField),f&&f.option(i.editorOptions)):i&&(o=n.fullName.replace(u+".",""),this._changeItemOption(i,o,n.value),e=this._generateItemsFromData(this.option("items")),this.option("items",e));break;case"formData":this._triggerOnFieldDataChanged({dataField:r[r.length-1],value:n.value})}},_getItemPath:function(n){for(var i=n[0],t=1;t<n.length;t++)if(n[t].search("items")!==-1)i+="."+n[t];else break;return i},_triggerOnFieldDataChanged:function(n){this._createActionByOption("onFieldDataChanged")(n)},_triggerOnFieldDataChangedByDataSet:function(t){var r=this;t&&i.isObject(t)&&n.each(t,function(n,t){r._triggerOnFieldDataChanged({dataField:n,value:t})})},_updateFieldValue:function(n,t){this.option("formData."+n,t)},_generateItemsFromData:function(t){var u=this.option("formData"),r=[];return i.isDefined(u)&&n.each(u,function(i){(!t||t&&n.inArray(i,t)>-1)&&r.push({dataField:i})}),t&&n.each(t,function(n,t){i.isObject(t)&&r.push(t)}),r},_getItemByField:function(t,r){var u=this,o=i.isObject(t)?t:u._getFieldParts(t),f=o.fieldName,e=o.fieldPath,s;return r.length&&n.each(r,function(n,t){var r=t.itemType,i;return e.length?(i=e.slice(),t=u._getItemByFieldPath(i,f,t)):r!=="group"||t.caption||(t.items=u._generateItemsFromData(t.items),t=u._getItemByField({fieldName:f,fieldPath:e},t.items)),t&&(t.dataField===f||t.name===f||t.itemType==="group"&&u._getTextWithoutSpaces(t.caption)===f||u._getTextWithoutSpaces(t.title)===f)?(s=t,!1):void 0}),s},_getFieldParts:function(n){for(var r=".",t=n,i=t.indexOf(r),u=[];i!==-1;)u.push(t.substr(0,i)),t=t.substr(i+1),i=t.indexOf(r);return{fieldName:t,fieldPath:u.reverse()}},_getItemByFieldPath:function(n,t,r){var u=this,s=r.itemType,e=u._getSubItemField(s),l=s==="group"||s==="tabbed"||r.title,f,o,h,c;do if(l){if(o=i.isDefined(r.caption||r.title),h=u._getTextWithoutSpaces(r.caption||r.title),r[e]=u._generateItemsFromData(r[e]),o&&(c=n.pop()),!n.length&&(f=u._getItemByField(t,r[e]),f))break;(!o||o&&h===c)&&n.length&&(f=u._searchItemInEverySubitem(n,t,r[e]))}else break;while(n.length&&f!==!1);return f},_getSubItemField:function(n){return n==="tabbed"?"tabs":"items"},_searchItemInEverySubitem:function(t,i,r){var f=this,u;return n.each(r,function(n,r){return u=f._getItemByFieldPath(t,i,r),u?!1:void 0}),u||(u=!1),u},_getTextWithoutSpaces:function(n){return n?n.replace(" ",""):undefined},_changeItemOption:function(n,t,r){i.isObject(n)&&(n[t]=r)},_dimensionChanged:function(){this.option("colCount")==="auto"&&this._refresh()},updateData:function(t,r){var u=this;i.isObject(t)?n.each(t,function(n,t){u._updateFieldValue(n,t)}):typeof t=="string"&&u._updateFieldValue(t,r)},getEditor:function(n){return this._editorInstancesByField[n]},updateDimensions:function(){var t=this,i=n.Deferred();return t._scrollable?t._scrollable.update().done(function(){i.resolveWith(t)}):i.resolveWith(t),i.promise()},itemOption:function(t,r,u){var f=this,o=arguments.length,s=f._generateItemsFromData(f.option("items")),e=f._getItemByField(t,s);if(o===1)return e;o===3?f._changeItemOption(e,r,u):i.isObject(r)&&n.each(r,function(n,t){f._changeItemOption(e,n,t)});this.option("items",s)},validate:function(){try{return w.validateGroup(this)}catch(n){a.log("E1036",n.message)}}}));f.dxForm.__internals={FORM_CLASS:o,FORM_GROUP_CLASS:r,FORM_GROUP_CAPTION_CLASS:s,FORM_FIELD_ITEM_COL_CLASS:u}}(jQuery,DevExpress),function(n,t){var u=t.ui,ft=t.require("/utils/utils.array").normalizeIndexes,et=t.require("/utils/utils.string"),ot=t.require("/ui/ui.errors"),st=t.require("/utils/utils.support"),f=t.require("/utils/utils.inflector"),i=t.require("/utils/utils.common"),e=t.require("/utils/utils.knockout"),ht=t.require("/componentRegistrator"),ct=t.require("/ui/ui.widget"),lt=t.require("/ui/widgets/ui.validator"),at="dxTextBox",o="dx-field-item",s="dx-field-empty-item",h="dx-field-item-required",c="dx-field-item-optional",l="dx-field-item-required-mark",a="dx-field-item-optional-mark",v="dx-field-item-label",y="dx-field-item-label-align",p="dx-field-item-label-content",w="dx-field-item-label-text",b="dx-field-item-label-location-",k="dx-field-item-content",d="dx-field-item-content-location-",g="dx-field-item-content-wrapper",nt="dx-field-item-help-text",tt="dx-layout-manager",it="dx-label-h-align",rt="dx-label-v-align",vt="dx-first-row",yt="dx-first-col",pt="dx-last-col",ut="dx-flex-layout",r="dx-layout-manager-one-col";ht("dxLayoutManager",u.dxForm,ct.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{layoutData:{},readOnly:!1,colCount:1,labelLocation:"left",onFieldDataChanged:null,onEditorEnterKey:null,customizeItem:null,alignItemLabels:!0,minColWidth:200,showRequiredMark:!0,showOptionalMark:!1,requiredMark:"*",optionalMark:Globalize.localize("dxForm-optionalMark"),requiredMessage:Globalize.localize("dxForm-requiredMessage")})},_init:function(){this.callBase();this._syncDataWithItems();this._updateItems(this.option("layoutData"))},_syncDataWithItems:function(){var t=this,r=t.option("items");i.isDefined(r)&&n.each(r,function(n,i){var r;i.dataField&&t._getDataByField(i.dataField)===undefined&&(i.editorOptions&&(r=i.editorOptions.value),t._updateFieldValue(i.dataField,r))})},_getDataByField:function(n){return n?this.option("layoutData."+n):null},_updateFieldValue:function(n,t){var r=this.option("layoutData");!e.isObservable(r[n])&&i.isDefined(n)?(this.option("layoutData."+n,t),this._triggerOnFieldDataChanged({dataField:n,value:t})):r[n](t)},_triggerOnFieldDataChanged:function(n){this._createActionByOption("onFieldDataChanged")(n)},_updateItems:function(t){var r=this,e=this.option("items"),o=r.option("customizeItem"),u,f;u=i.isDefined(e)?e:this._generateItemsByData(t);i.isDefined(u)&&(f=[],n.each(u,function(n,t){if(r._isAcceptableItem(t)){t=r._processItem(t);o&&o(t);var u=i.isDefined(t.visible);(i.isObject(t)&&!u||u&&t.visible)&&f.push(t)}}),this._items=f,this._sortItems())},_generateItemsByData:function(t){var r=[];return i.isDefined(t)&&n.each(t,function(n){r.push({dataField:n})}),r},_isAcceptableItem:function(n){var r=n.dataField||n,t=this.option("layoutData."+r);return!(i.isFunction(t)&&!e.isObservable(t))},_processItem:function(t){if(typeof t=="string"&&(t={dataField:t}),typeof t!="object"||t.itemType||(t.itemType="simple"),!i.isDefined(t.editorType)&&i.isDefined(t.dataField)){var r=this._getDataByField(t.dataField);t.editorType=i.isDefined(r)?this._getEditorTypeByDataType(n.type(r)):at}return t},_getEditorTypeByDataType:function(n){switch(n){case"number":return"dxNumberBox";case"date":return"dxDateBox";case"boolean":return"dxCheckBox";default:return"dxTextBox"}},_sortItems:function(){ft(this._items,"visibleIndex");this._sortIndexes()},_sortIndexes:function(){this._items.sort(function(n,t){var i=n.visibleIndex,r=t.visibleIndex;return i>r?1:i<r?-1:0})},_render:function(){this._clearEditorInstances();this.element().addClass(tt);this.callBase()},_clearEditorInstances:function(){this._editorInstancesByField={}},_hasBrowserFlex:function(){return st.styleProp("flex")==="flex"},_renderContentImpl:function(){this.callBase();this._renderResponsiveBox()},_renderResponsiveBox:function(){var t=this,i=t._getColCount(),u;t._items&&t._items.length&&(t._prepareItemsWithMerging(i),u=t._generateLayoutItems(),t._responsiveBox=n("<div />").appendTo(t.element()).dxResponsiveBox({_layoutStrategy:t._hasBrowserFlex()?"flex":"fallback",onLayoutChanged:function(){var n=t.option("onLayoutChanged"),i=t.isLayoutChanged();n&&(t.element().toggleClass(r,i),n(i))},onContentReady:function(n){t.option("onLayoutChanged")&&t.element().toggleClass(r,t.isLayoutChanged(n.component));t._fireContentReadyAction()},itemTemplate:function(r,u,f){if(r.location){var s=r.location.row*i,o=t._items[r.location.col+s],e=n("<div/>").addClass(o.cssClass).appendTo(f);r.location.row===0&&e.addClass(vt);r.location.col===0&&e.addClass(yt);(r.location.col===i-1||r.location.col+r.location.colspan===i)&&e.addClass(pt);o.itemType==="empty"?t._renderEmptyItem(e):t._renderFieldItem(o,e)}},cols:t._generateRatio(i),rows:t._generateRatio(t._getRowsCount(),!0),dataSource:u}).data("dxResponsiveBox"))},_getColCount:function(){var n=this.option("colCount");if(n==="auto"){if(!!this._cashedColCount)return this._cashedColCount;var r=this.option("minColWidth"),u=this.element().width(),t=this._items.length,i=Math.floor(u/r)||1;this._cashedColCount=n=t<i?t:i}return n<1?1:n},_prepareItemsWithMerging:function(n){for(var e=this._items.slice(0),t,r,i=[],u,f=0;f<e.length;f++)if(t=e[f],i.push(t),(this.option("alignItemLabels")||t.alignItemLabels||t.colSpan)&&(t.col=this._getColByIndex(i.length-1,n)),t.colSpan>1&&t.col+t.colSpan<=n){for(r=[],u=0;u<t.colSpan-1;u++)r.push({merged:!0});i=i.concat(r)}else delete t.colSpan;this._items=i},_getColByIndex:function(n,t){return n%t},_generateLayoutItems:function(){for(var u=this._items,f=this._getColCount(),e=[],n,r,t=0;t<u.length;t++)n=u[t],n.merged||(r={location:{row:parseInt(t/f),col:this._getColByIndex(t,f)}},i.isDefined(n.colSpan)&&(r.location.colspan=n.colSpan),i.isDefined(n.rowSpan)&&(r.location.rowspan=n.rowSpan),e.push(r));return e},_renderEmptyItem:function(n){return n.addClass(s).html("&nbsp;")},_renderFieldItem:function(r,u){var p=this._getName(r),w=this.getItemID(p),a=i.isDefined(r.isRequired)?r.isRequired:!!this._hasRequiredRuleInSet(r.validationRules),f=n.extend({showColon:this.option("showColonAfterLabel"),location:this.option("labelLocation"),id:w,visible:!0,isRequired:a},r?r.label:{}),e=n("<div/>"),s,v,l;u.addClass(o).addClass(a?h:c).addClass(this.option("cssItemClass")).addClass(i.isDefined(r.col)?"dx-col-"+r.col:"");this._prepareLabelOptions(r.dataField,f);f.visible&&f.text&&(s=this._renderLabel(f),s.appendTo(u));r.helpText&&(v=new t.data.Guid);r.itemType==="simple"&&(this._isLabelNeedBaselineAlign(r)&&f.location!=="top"&&u.addClass(y),this._hasBrowserFlex()&&u.addClass(ut));this._appendEditorToField({$fieldItem:u,$label:s,$editor:e,labelOptions:f});this._renderEditor({$container:e,dataField:p,editorType:r.editorType,editorOptions:r.editorOptions,template:this._getTemplateByFieldItem(r),isRequired:a,helpID:v,id:w,validationBoundary:this.option("validationBoundary")});l=e.children().first();l&&l.data("dx-validation-target")&&this._renderValidator(l,r);this._renderHelpText(r,e,v);this._attachClickHandler(s,e,r.editorType)},_hasRequiredRuleInSet:function(t){var i;return t&&t.length&&n.each(t,function(n,t){if(t.type==="required")return i=!0,!1}),i},_getName:function(n){return n.dataField||n.name},_isLabelNeedBaselineAlign:function(t){return!!t.helpText&&!this._hasBrowserFlex()||n.inArray(t.editorType,["dxTextArea","dxRadioGroup","dxCalendar"])!==-1},_prepareLabelOptions:function(n,t){!t.text&&n&&(t.text=f.captionize(n));t.text&&(t.text+=t.showColon?":":"")},_renderLabel:function(t){if(i.isDefined(t.text)&&t.text.length>0){var f=v+" "+b+t.location,r=n("<label />").addClass(f).attr("for",t.id),u=n("<span/>").addClass(p).appendTo(r);return n("<span />").addClass(w).text(t.text).appendTo(u),t.alignment&&r.css("text-align",t.alignment),u.append(this._renderLabelMark(t.isRequired)),r}},_renderLabelMark:function(t){var u,i=this._getRequiredMarksConfig(),r=i.showRequiredMark&&t,o=i.showOptionalMark&&!t,f,e;return(r||o)&&(f=r?l:a,e=r?i.requiredMark:i.optionalMark,u=n("<span />").addClass(f).html("&nbsp"+e)),u},_getRequiredMarksConfig:function(){return this._cashedRequiredConfig||(this._cashedRequiredConfig={showRequiredMark:this.option("showRequiredMark"),showOptionalMark:this.option("showOptionalMark"),requiredMark:this.option("requiredMark"),optionalMark:this.option("optionalMark")}),this._cashedRequiredConfig},_renderEditor:function(t){var i=this._getDataByField(t.dataField),u=t.editorType==="dxTagBox"?{values:i||[]}:{value:i},r;r=n.extend(!0,u,t.editorOptions,{attr:{id:t.id},validationBoundary:t.validationBoundary});this._createEditor(t.$container,{editorType:t.editorType,dataField:t.dataField,template:t.template,name:t.name,helpID:t.helpID,isRequired:t.isRequired},r)},_renderValidator:function(n,t){var u=this._getFieldLabelName(t),r=this._prepareValidationRules(t.validationRules,t.isRequired,t.itemType,u);i.isArray(r)&&this._createComponent(n,lt,{validationRules:r,validationGroup:this.option("form")})},_getFieldLabelName:function(n){var t=n.label&&n.label.text,i=t?null:this._getName(n);return t?n.label.text:i&&f.captionize(i)},_prepareValidationRules:function(n,t,i,r){var e=i==="simple",u,f;return e&&(n?u=n:(f=et.format(this.option("requiredMessage"),r),u=t?[{type:"required",message:f}]:null)),u},_createEditor:function(t,i,r){var u=this,e=i.template,f,o,s,h;if(u._addItemContentClasses(t),e)o={dataField:i.dataField,editorOptions:r,component:e.owner()},e.render(o,t);else{s=n("<div/>").appendTo(t);try{if(f=u._createComponent(s,i.editorType,r),f.setAria("describedby",i.helpID),f.setAria("required",i.isRequired),i.dataField){h=u.option("form")||u;f.on("enterKey",function(t){h._createActionByOption("onEditorEnterKey")(n.extend(t,{dataField:i.dataField}))});u._registerEditorInstance(f,i.dataField);u.linkEditorToDataField(f,i.dataField,i.editorType)}}catch(c){ot.log("E1035",c.message)}}},_addItemContentClasses:function(n){var t=this._getItemContentLocationSpecificClass();n.addClass([k,t].join(" "))},_getItemContentLocationSpecificClass:function(){var n=this.option("labelLocation");return d+{right:"left",left:"right",top:"bottom"}[n]},_registerEditorInstance:function(n,t){this._editorInstancesByField[t]=n},_createComponent:function(n,t,i){var u=this,f=this.option("readOnly"),r;r=u.callBase(n,t,i);f&&r.option("readOnly",f);u.on("optionChanged",function(n){n.name==="readOnly"&&r.option(n.name,n.value)});return r},_getTemplateByFieldItem:function(n){return n.template?this._getTemplate(n.template):null},_appendEditorToField:function(n){if(n.$label){var t=n.labelOptions.location;(t==="top"||t==="left")&&n.$fieldItem.append(n.$editor);t==="right"&&n.$fieldItem.prepend(n.$editor);this._addInnerItemAlignmentClass(n.$fieldItem,t)}else n.$fieldItem.append(n.$editor)},_addInnerItemAlignmentClass:function(n,t){t==="top"?n.addClass(rt):n.addClass(it)},_renderHelpText:function(t,i,r){var u=t.helpText,f;u&&(f=n("<div>").addClass(g),i.wrap(f),n("<div>").addClass(nt).attr("id",r).text(u).appendTo(i.parent()))},_attachClickHandler:function(n,t,i){var r=i==="dxCheckBox"||i==="dxSwitch";if(n&&r)n.on("dxclick",function(){t.children().trigger("dxclick")})},_generateRatio:function(n,t){for(var r=[],i,u=0;u<n;u++)i={ratio:1},t&&(i.baseSize="auto"),r.push(i);return r},_getRowsCount:function(){return Math.ceil(this._items.length/this._getColCount())},_optionChanged:function(n){if(n.fullName.search("layoutData.")!==0)switch(n.name){case"showRequiredMark":case"showOptionalMark":case"requiredMark":case"optionalMark":this._cashedRequiredConfig=null;this._invalidate();break;case"layoutData":case"items":this._syncDataWithItems();this._updateItems(n.value);this._invalidate();break;case"alignItemLabels":case"labelLocation":case"requiredMessage":this._invalidate();break;case"customizeItem":this._updateItems(this.option("layoutData"));this._invalidate();break;case"colCount":this._resetColCount();break;case"minColWidth":this.option("colCount")==="auto"&&this._resetColCount();break;case"readOnly":break;case"width":this.callBase(n);this.option("colCount")==="auto"&&this._resetColCount();break;case"onFieldDataChanged":break;default:this.callBase(n)}},_resetColCount:function(){this._cashedColCount=null;this._invalidate()},linkEditorToDataField:function(n,t,i){var u="layoutData."+t,r=this;r.on("optionChanged",function(t){if(t.fullName===u)switch(i){case"dxTagBox":r._managedUpdateEditorOption(n,"values",t.value);break;case"dxSelectBox":r._managedUpdateEditorOption(n,"value",t.value);break;default:n.option("value",t.value)}});n.on("valueChanged",function(n){switch(i){case"dxTagBox":r._managedUpdateFieldValue(t,n.values);break;case"dxSelectBox":r._managedUpdateFieldValue(t,n.value);break;default:r._updateFieldValue(t,n.value)}})},_managedUpdateEditorOption:function(n,t,i){this._isValueChangedCalled||(this._isFieldValueChanged=!0,n.option(t,i),this._isFieldValueChanged=!1)},_managedUpdateFieldValue:function(n,t){this._isValueChangedCalled=!0;this._isFieldValueChanged||this._updateFieldValue(n,t);this._isValueChangedCalled=!1},getItemID:function(n){var i=this.option("form"),r=i&&i.option("formID");return"dx_"+r+"_"+(n||new t.data.Guid)},updateData:function(t,r){var u=this;i.isObject(t)?n.each(t,function(n,t){u._updateFieldValue(n,t)}):typeof t=="string"&&u._updateFieldValue(t,r)},getEditor:function(n){return this._editorInstancesByField[n]},isLayoutChanged:function(n){var t=this._responsiveBox||n;if(t)return t.option("currentScreenFactor")===t.option("singleColumnScreen")}}));n.extend(u.dxForm.__internals,{FIELD_ITEM_CLASS:o,FIELD_EMPTY_ITEM_CLASS:s,FIELD_ITEM_CONTENT_CLASS:k,FIELD_ITEM_CONTENT_LOCATION_CLASS:d,FIELD_ITEM_LABEL_CLASS:v,FIELD_ITEM_LABEL_ALIGN_CLASS:y,FIELD_ITEM_LABEL_LOCATION_CLASS:b,LABEL_HORIZONTAL_ALIGNMENT_CLASS:it,LABEL_VERTICAL_ALIGNMENT_CLASS:rt,FORM_LAYOUT_MANAGER_CLASS:tt,FIELD_ITEM_CONTENT_WRAPPER_CLASS:g,FIELD_ITEM_HELP_TEXT_CLASS:nt,FIELD_ITEM_LABEL_CONTENT_CLASS:p,FIELD_ITEM_LABEL_TEXT_CLASS:w,FIELD_ITEM_REQUIRED_CLASS:h,FIELD_ITEM_OPTIONAL_CLASS:c,FIELD_ITEM_REQUIRED_MARK_CLASS:l,FIELD_ITEM_OPTIONAL_MARK_CLASS:a,LAYOUT_MANAGER_ONE_COLUMN:r,FLEX_LAYOUT_CLASS:ut})}(jQuery,DevExpress);DevExpress.MOD_WIDGETS_BASE=!0}if(!window.DevExpress||!DevExpress.MOD_WIDGETS_WEB){if(!window.DevExpress||!DevExpress.MOD_WIDGETS_BASE)throw Error("Required module is not referenced: widgets-base");(function(n,t,i){var s=t.ui,e=t.fx,h=t.require("/devices"),l=t.require("/componentRegistrator"),a=t.require("/ui/events/ui.events.utils"),v="dx-accordion",y="dx-accordion-wrapper",c="dx-accordion-item",r="dx-accordion-item-opened",o="dx-accordion-item-closed",u="dx-accordion-item-title",f="dx-accordion-item-body",p="dxAccordionItemData";l("dxAccordion",s,s.CollectionWidget.inherit({_activeStateUnit:"."+c,_getDefaultOptions:function(){return n.extend(this.callBase(),{hoverStateEnabled:!0,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 h.real().generic&&!h.isSimulator()},options:{focusStateEnabled:!0}}])},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_init:function(){this.callBase();this.option("selectionRequired",!this.option("collapsible"));this.option("selectionMode",this.option("multiple")?"multiple":"single");var t=this.element();t.addClass(v);this._$container=n("<div>").addClass(y);t.append(this._$container)},_render:function(){this._deferredItems=[];this.callBase();this._fireContentReadyAction();this.setAria({role:"tablist",multiselectable:this.option("multiple")});this._attachItemTitleClickAction()},_renderContent:function(){this._renderContentImpl()},_itemDataKey:function(){return p},_itemClass:function(){return c},_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(this._itemContents()).length||this.callBase.apply(this,arguments)},_renderItemContent:function(t){var r=this.callBase(n.extend({},t,{contentClass:u,templateProperty:"titleTemplate",defaultTemplateName:this.option("itemTitleTemplate")})),i=n.Deferred();this._deferredItems.push(i);this.option("deferRendering")||i.resolve();i.done(n.proxy(this.callBase,this,n.extend({},t,{contentClass:f,container:n("<div>").appendTo(r.parent())})))},_attachItemTitleClickAction:function(){var t="."+u,i=a.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(o);this.setAria("hidden",!0,this._itemContents());this._updateItems(n,t,!0)},_updateSelection:function(n,t){this._updateItems(n,t,!1)},_updateItems:function(t,i,u){var s=this._itemElements(),e=this;n.each(t,function(n,t){e._deferredItems[t].resolve();var i=s.eq(t).addClass(r).removeClass(o);e.setAria("hidden",!1,i.find("."+f))});n.each(i,function(n,t){var i=s.eq(t).removeClass(r);e.setAria("hidden",!0,i.find("."+f))});this._updateItemHeights(u)},_updateItemHeights:function(t){var i=this,r=i._deferredAnimate,u=this._splitFreeSpace(this._calculateFreeSpace());return n.when.apply(n,n.map(this._itemElements(),function(r){return i._updateItemHeight(n(r),u,t)})).done(function(){r&&r.resolveWith(i)})},_updateItemHeight:function(n,t,i){var f=n.children("."+u),o,s;return e.isAnimating(n)&&e.stop(n),o=n.outerHeight(),s=n.hasClass(r)?t+f.outerHeight()||n.height("auto").outerHeight():f.outerHeight(),this._animateItem(n,o,s,i,!!t)},_animateItem:function(t,i,u,f,s){var h;return f||i===u?(t.css("height",u),h=n.Deferred().resolve()):h=e.animate(t,{type:"custom",from:{height:i},to:{height:u},duration:this.option("animationDuration")}),h.done(function(){t.hasClass(r)&&!s&&t.css("height","");t.not("."+r).addClass(o)})},_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"onItemTitleHold":case"height":case"deferRendering":this._invalidate();break;case"multiple":this.option("selectionMode",n.value?"multiple":"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()},updateDimensions:function(){return this._updateItemHeights(!1)}}))})(jQuery,DevExpress),function(n,t,i){var a=t.ui,v=t.require("/utils/utils.string"),y=DevExpress.require("/class"),r=t.require("/utils/utils.common"),p=t.require("/componentRegistrator"),w=t.require("/ui/ui.widget"),e=t.require("/ui/events/ui.events.utils"),u=4,b="dx-pager",o="dx-page",k="dx-pages",s="dx-selection",d="dx-separator",g="dx-page-sizes",h="dx-page-size",nt="dx-navigate-button",c="dx-prev-button",l="dx-next-button",tt="dx-info",it="dx-button-disable",f=y.inherit({ctor:function(t,i){var r=this;r.index=i;r._$page=n("<div />").text(t).addClass(o)},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(s,n)},render:function(n,t){t?this._$page.prependTo(n):this._$page.appendTo(n)}});p("dxPager",a,w.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{visible:!0,pagesNavigatorVisible:"auto",pageIndex:1,maxPagesCount:10,pageCount:10,totalCount:0,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,t,i=0;i<r._pages.length;i++)if(t=r._pages[i],t.value()===n)return t},_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,s=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(s>1){i._pageClickHandler=function(n){h({jQueryEvent:n})};i.$pagesChooser.on(e.addNamespace("dxclick",i.Name+"Pages"),"."+o,i._pageClickHandler)}for(r=0;r<s;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(d),i.option("rtlEnabled")?f.prependTo(i.$pagesChooser):f.appendTo(i.$pagesChooser))},_renderPagesChooser:function(){var t=this,i=t.option("pagesNavigatorVisible"),u=t.element();if(u){if(!i){t.$pagesChooser&&t.$pagesChooser.remove();return}if(t._pages.length===0){t.selectedPage=null;return}r.isDefined(t.$pagesChooser)?t.$pagesChooser.empty():t.$pagesChooser=n("<div />").addClass(k);i==="auto"&&t.$pagesChooser.css("visibility",t._pages.length===1?"hidden":"");t._renderInfo();t._renderNavigateButton("prev");t._renderPages(t._pages);t._renderNavigateButton("next");r.isDefined(t.$pagesChooser[0].parentElement)||t.$pagesChooser.appendTo(u)}},_renderPagesSizeChooser:function(){var t=this,i,f,a=t.option("pageSize"),u=t.option("pageSizes"),v=t.option("showPageSizes"),o,c=u&&u.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(g).on(e.addNamespace("dxclick",t.Name+"PageSize"),"."+h,function(n){t._clickPagesSizeAction({jQueryEvent:n})}),v&&c)){for(i=0;i<c;i++)f=n("<div />").text(u[i]).addClass(h),t.setAria({role:"button",label:"Display "+u[i]+" items on page"},f),a===u[i]&&f.addClass(s),t.pagesSizeChooserElement.append(f);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(tt).text(v.format(t,this.selectedPage&&this.selectedPage.value(),this.option("pageCount"),this.option("totalCount"))).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(nt).addClass(f?"":it).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"?l:c),r.prependTo(this.$pagesChooser)):(r.addClass(t==="prev"?c:l),r.appendTo(this.$pagesChooser)))},_render:function(){this.callBase();this._update();this.element().addClass(b);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"totalCount":case"hasKnownLastPage":case"pagesNavigatorVisible":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"),"."+o,this._pageClickHandler)},getHeight:function(){return this.option("visible")?this.element().outerHeight():0}}))}(jQuery,DevExpress),function(n,t){var e=t.ui,u=t.require("/utils/utils.common"),c=t.require("/utils/utils.inkRipple"),l=t.require("/ui/hierarchicalCollectionWidget/ui.hierarchicalCollectionWidget"),a=t.require("/devices"),v=t.require("/ui/ui.themes"),r="dx-menu",y=r+"-no-icons",p="dx-menu-base",i=r+"-item",f=i+"-selected",o=i+"-wrapper",w=r+"-items-container",b=i+"-expanded",k=r+"-separator",d=r+"-last-group-item",g=i+"-has-text",nt=i+"-has-icon",tt=i+"-has-submenu",s=i+"-popout",it=s+"-container",rt=i+"-text",ut="single",ft={show:50,hide:300},h=l.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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,focusOnSelectedItem:!1,_remoteSelectionSync:!1,_itemAttributes:{role:"menuitem"},useInkRipple:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return/android5/.test(v.current())},options:{useInkRipple:!0}}])},_activeStateUnit:"."+i,_itemDataKey:function(){return"dxMenuItemDataKey"},_itemClass:function(){return i},_setAriaSelected:n.noop,_selectedItemClass:function(){return f},_widgetClass:function(){return p},_focusTarget:function(){return this._itemContainer()},_supportedKeys:function(){var t=function(){var n=this.option("focusedElement");n&&this._isSelectionEnabled()&&this.selectItem(n[0])};return n.extend(this.callBase(),{space:t,pageUp:n.noop,pageDown:n.noop})},_isSelectionEnabled:function(){return this.option("selectionMode")===ut},_init:function(){this.callBase();this._renderSelectedItem();this._initActions()},_useCustomExpressions:function(){return this.callBase()||this.option("itemsExpr")!=="items"},_getTextContainer:function(t){var i=this._displayGetter(t),r=n("<span>").addClass(rt),u=n.isPlainObject(t)?i:String(t);return i&&r.html(u)},_getPopoutContainer:function(t){var i=this._itemsGetter(t),r,u;return i&&i.length&&(u=n("<div>").addClass(s),r=n("<span>").addClass(it).append(u)),r},_getDataAdapterOptions:function(){return{rootValue:0,multipleSelection:!1,recursiveSelection:!1,recursiveExpansion:!1,searchValue:""}},_selectByItem:function(n){if(n){var t=this._dataAdapter.getNodeByItem(n);this._dataAdapter.toggleSelection(t.internalFields.key,!0)}},_renderSelectedItem:function(){var r=this._dataAdapter.getSelectedNodesKeys(),i=r.length&&r[0],n=this.option("selectedItem"),t;if(!i){this._selectByItem(n);return}if(t=this._dataAdapter.getNodeByKey(i),t.selectable!==!1){if(!n){this.option("selectedItem",t.internalFields.item);return}n!==t.internalFields.item&&(this._dataAdapter.toggleSelection(i,!1),this._selectByItem(n))}},_initActions:n.noop,_render:function(){this.callBase();this._addCustomCssClass(this.element());this.option("useInkRipple")&&this._renderInkRipple()},_renderInkRipple:function(){this._inkRipple=c.render()},_toggleActiveState:function(n,t,i){if(this.callBase.apply(this,arguments),this._inkRipple){var r={element:n,jQueryEvent:i};t?this._inkRipple.showWave(r):this._inkRipple.hideWave(r)}},_getShowSubmenuMode:function(){var n=this.option("showSubmenuMode");return n=u.isObject(n)?n.name:n,this._isDesktopDevice()?n:"onClick"},_initSelectedItems:n.noop,_isDesktopDevice:function(){return a.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"."+o},_hoverStartHandler:function(t){var i=this,r=i._getItemElementByEventArgs(t);r&&!i._isItemDisabled(r)&&(t.stopPropagation(),i.option("focusedElement",r),i._getShowSubmenuMode()==="onHover"&&(this._showSubmenusTimeout=setTimeout(n.proxy(i._showSubmenu,i,r),i._getSubmenuDelay("show"))))},_isItemDisabled:function(n){return this._disabledGetter(n.data(this._itemDataKey()))},_showSubmenu:function(n){clearTimeout(this._showSubmenusTimeout);this._hasFocusClass(n)&&this._addExpandedClass(n)},_addExpandedClass:function(n){n.addClass(b)},_getSubmenuDelay:function(n){var t=this.option("showSubmenuMode").delay;return u.isDefined(t)?u.isObject(t)?t[n]:t:ft[n]},_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.internalFields.childrenKeys.length},_renderContentImpl:function(){this._renderItems(this._dataAdapter.getRootNodes())},_renderItems:function(t,i){var u=this,r;t.length&&(this.hasIcons=!1,r=this._renderContainer(this.element(),i),n.each(t,function(n,t){u._renderItem(n,t,r)}),this.hasIcons||r.addClass(y))},_renderContainer:function(t){return n("<ul>").appendTo(t).addClass(w)},_createDOMElement:function(t){return n("<li>").appendTo(t).addClass(o)},_renderItem:function(n,t,i){var e=this.option("items"),r,u;(this._renderSeparator(t,n,i),t.internalFields.item.visible!==!1)&&(u=this._createDOMElement(i),e[n+1]&&e[n+1].beginGroup&&u.addClass(d),r=this.callBase(n,t.internalFields.item,u),t.internalFields.item===this.option("selectedItem")&&r.addClass(f),this._addContentClasses(t,r),this._hasSubmenu(t)&&this.setAria("haspopup","true",r))},_addContentClasses:function(n,t){this._displayGetter(n)&&t.addClass(g);(n.icon||n.iconSrc)&&(t.addClass(nt),this.hasIcons=!0);this._hasSubmenu(n)&&t.addClass(tt)},_postprocessRenderItem:function(t){var i=n(t.itemElement),r=this._dataAdapter.getSelectedNodesKeys(),u;if(!r.length||!this._selectedGetter(t.itemData)||!this._isItemSelectable(t.itemData)){this._setAriaSelected(i,"false");return}u=this._dataAdapter.getNodeByItem(t.itemData);u.internalFields.key===r[0]?(i.addClass(this._selectedItemClass()),this._setAriaSelected(i,"true")):this._setAriaSelected(i,"false")},_isItemSelectable:function(n){return n.selectable!==!1},_renderSeparator:function(t,i,r){t.beginGroup&&i>0&&(this._needSeparate=!0);t.visible!==!1&&this._needSeparate&&(n("<li>").appendTo(r).addClass(k),this._needSeparate=!1)},_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 i=n.args?n.args[0]:n,r,t;this._isItemSelectionAllowed(i.itemData)&&(r=this._dataAdapter.getSelectedNodesKeys(),t=r.length&&this._dataAdapter.getNodeByKey(r[0]),t&&this._toggleItemSelection(t,!1),t&&t.internalFields.item===i.itemData?(this._fireSelectionChangeEvent(null,this.option("selectedItem")),this._setOptionSilent("selectedItem",null)):this.selectItem(i.itemData))},_isItemSelectionAllowed:function(n){var t=this._isSelectionEnabled()&&this.option("selectionByClick");return!this._isContainerEmpty()&&t&&this._isItemSelectable(n)&&!this._itemsGetter(n)},_isContainerEmpty:function(){return this._itemContainer().is(":empty")},_syncSelectionOptions:n.noop,_optionChanged:function(n){if(!this._cancelOptionChange)switch(n.name){case"showSubmenuMode":break;case"selectedItem":var r=n.value,t=this._dataAdapter.getNodeByItem(r),i=this._dataAdapter.getSelectedNodesKeys()[0];if(t&&t.internalFields.key!==i){if(t.selectable===!1)break;i&&this._toggleItemSelection(this._dataAdapter.getNodeByKey(i),!1);this._toggleItemSelection(t,!0);this._updateSelectedItems()}break;case"_remoteSelectionSync":case"cssClass":case"position":case"selectionByClick":case"animation":case"useInkRipple":this._invalidate();break;default:this.callBase(n)}},_toggleItemSelection:function(t,i){var r=this._getElementByItem(t.internalFields.item);r&&n(r).toggleClass(f);this._dataAdapter.toggleSelection(t.internalFields.key,i)},_getElementByItem:function(t){var u=this,r;return n.each(this._itemContainer().find("."+i),function(i,f){return n(f).data(u._itemDataKey())!==t?!0:(r=f,!1)}),r},_updateSelectedItems:function(n,t){(n||t)&&(this._updateSelection(t,n),this._fireSelectionChangeEvent(t,n))},_fireSelectionChangeEvent:function(n,t){this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})({addedItems:[n],removedItems:[t]})},selectItem:function(n){var t=n.nodeType?this._getItemData(n):n,r=this._dataAdapter.getNodeByItem(t),i=this._dataAdapter.getSelectedNodesKeys()[0],u=this.option("selectedItem");r.internalFields.key!==i&&(i&&this._toggleItemSelection(this._dataAdapter.getNodeByKey(i),!1),this._toggleItemSelection(r,!0),this._updateSelectedItems(u,t),this._setOptionSilent("selectedItem",t))},unselectItem:function(n){var i=n.nodeType?this._getItemData(n):n,t=this._dataAdapter.getNodeByItem(i),r=this.option("selectedItem");t.internalFields.selected&&(this._toggleItemSelection(t,!1),this._updateSelectedItems(r,null),this._setOptionSilent("selectedItem",null))}});h.publicName("dxMenuBase");e.dxMenuBase=h}(jQuery,DevExpress),function(n,t){var i=t.ui,r=DevExpress.require("/ui/ui.errors");i.CollectionWidget.MenuBaseEditStrategy=i.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})},_stringifyItem:function(n){var t=this;return JSON.stringify(n,function(n,i){return n==="template"?t._getTemplateString(i):i})},_getTemplateString:function(t){return typeof t=="object"?n(t).text():t.toString()},selectedItemIndices:function(){var r=[],t=this._collectionWidget._dataAdapter,f=t.getData(),u=t.getNodeByKey(t.getSelectedNodesKeys()[0]),i;return u&&(i=n.inArray(u,f),i!==-1&&r.push(i)),r},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 s=t.ui,h=t.fx,k=t.require("/utils/utils.position"),d=t.require("/utils/utils.common"),g=t.require("/devices"),nt=t.require("/componentRegistrator"),o=t.require("/ui/events/ui.events.utils"),c="dx-menu",e=c+"-item",u=e+"-expanded",tt="dx-menu-phone-overlay",f=c+"-items-container",it=e+"-wrapper",r="dx-submenu",rt="dx-context-menu",ut="dx-has-context-menu",ft="dx-state-disabled",l="up",a="down",v="left",y="right",p="first",w="last",b=["onShowing","onShown","onHiding","onHidden","onPositioning","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu"],et=[l,a,p,w];nt("dxContextMenu",s,s.dxMenuBase.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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&&this._overlay.content()},_eventBindingTarget:function(){return this._itemContainer()},_supportedKeys:function(){var t=function(){var n=this.option("focusedElement");(this.hide(),n&&this._isSelectionEnabled())&&this.selectItem(n[0])};return n.extend(this.callBase(),{space:t,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,n);break;case v:i=this.option("rtlEnabled")?this._expandSubmenuHandler(t,n):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,et)>=0?i=r.closest("."+f).children().children():(i=this._itemElements(),t!==u&&(i=i.filter(":visible"))),i},_getAriaTarget:function(){return this.element()},_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 n=this._getActiveItem(!0),t=n.parents("."+u).first();if(t.length)return this._hideSubmenusOnSameLevel(t),t;this._actions.onCloseRootSubmenu(n);return n},_expandSubmenuHandler:function(n,t){var i=this._getActiveItem(!0),f=this._dataAdapter.getNodeByItem(this._getItemData(i)),e=this._hasSubmenu(f),u=i.children("."+r);if(e&&!i.hasClass(ft))return u.length&&u.css("visibility")!=="hidden"||this._showSubmenu(i),this._nextItem(this._getItemsByLocation(t));this._actions.onExpandLastSubmenu(i);return i},_render:function(){this.element().addClass(ut);this.callBase();this.setAria("role","menu")},_renderContentImpl:function(){this._renderContextMenuOverlay();this._detachShowContextMenuEvents(this.option("target"));this._attachShowContextMenuEvents();this._attachInvokeContextMenuEvents();this.callBase()},_renderContextMenuOverlay:function(){if(!this._overlay){var i=this._getOverlayOptions(),r=n("<div>"),t;this._overlay=this._createComponent(r.appendTo(this._$element),"dxOverlay",i);t=this._overlay.content();t.addClass(rt);this._addCustomCssClass(t);this._addPlatformDependentClass(t)}},_addPlatformDependentClass:function(n){g.current().phone&&n.addClass(tt)},_detachShowContextMenuEvents:function(t){var i=o.addNamespace("dxcontextmenu",this.NAME);this._showContextMenuEventHandler?n(document).off(i,this._getTargetSelector(t),this._showContextMenuEventHandler).off(i):n(t).off(i);this._overlay&&this._overlay.content().off(i)},_attachShowContextMenuEvents:function(){var r=this,t=o.addNamespace("dxcontextmenu",this.NAME),i=this._createAction(n.proxy(function(n){r.option("alternativeInvocationMode").enabled||r._show(n.jQueryEvent)},this),{validatingTargetName:"target"}),u=n.proxy(function(t){i({jQueryEvent:t,target:n(t.currentTarget)})},this);i=this._createAction(i);this._overlay&&this._overlay.content().on(t,n.noop);this.option("target")instanceof n?this._attachShowEventHandler(t,this.option("target"),u):this._attachLiveShowEventHandler(t,this.option("target"),u)},_attachShowEventHandler:function(n,t,r){this._showContextMenuEventHandler=i;t.on(n,r)},_attachLiveShowEventHandler:function(t,i,r){this._showContextMenuEventHandler=r;var u=this;n(document).on(t,i,function(n){u._showContextMenuEventHandler(n);n.liveEvent=!0}).on(t,function(n){n._cancel=!n.liveEvent})},_getTargetSelector:function(t){return t instanceof n?t.selector:t},_attachInvokeContextMenuEvents:function(){var i=this,t=o.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 u,f=i||this._itemContainer();return(t=n("<div>"),t.appendTo(f).addClass(r).css("visibility",i?"hidden":"visible"),u=this.callBase(t),i)?u:this.option("width")?u.css("min-width",this.option("width")):this.option("height")?u.css("min-height",this.option("height")):u},_renderSubmenuItems:function(n,t){this._renderItems(this._getChildNodes(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,position:{at:t.at,my:t.my,of:this.option("target"),collision:"fit"},shading:!1,showTitle:!1,height:"auto",width:"auto",visible:this.option("visible"),onShown:n.proxy(this._overlayShownActionHandler,this),onHiding:n.proxy(this._overlayHidingActionHandler,this),onHidden:n.proxy(this._overlayHiddenActionHandler,this),onPositioned:n.proxy(this._overlayPositionedActionHandler,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(),this._setOptionSilent("visible",!1))},_overlayHiddenActionHandler:function(n){this._actions.onHidden(n)},_overlayPositionedActionHandler:n.noop,_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 u=this,f=t.find("."+r),e=n.extend([],this._shownSubmenus),i;f.length>0&&n.each(e,function(n,r){i=u._searchActiveItem(r.context).parent();i.parent().is(t.parent().parent())&&!i.is(t.parent())&&u._hideSubmenu(r)})},_showSubmenu:function(n){var t=this._dataAdapter.getNodeByItem(this._getItemData(n)),e=this._hasSubmenu(t),i;this._hideSubmenusOnSameLevel(n);e&&(this.callBase(n),n.closest("."+f).find("."+u).removeClass(u),n.children("."+r).length||this._renderSubmenuItems(t,n,2),i=this._isSubmenuVisible(n.children("."+r)),i||(n.addClass(u),this._drawSubmenu(n)))},_hideSubmenusOnSameLevel:function(n){var t=n.closest("."+f).find("."+u);t.length&&(t.removeClass(u),this._hideSubmenu(t.find("."+r)))},_hideSubmenuGroup:function(n){this._isSubmenuVisible(n)&&this._hideSubmenuCore(n)},_isSubmenuVisible:function(n){return n.css("visibility")==="visible"},_drawSubmenu:function(t){var u=this.option("animation")?this.option("animation").show:{},i=t.children("."+r);this._overlay&&this._overlay.option("visible")&&(d.isDefined(this._shownSubmenus)||(this._shownSubmenus=[]),n.inArray(i,this._shownSubmenus)&&this._shownSubmenus.push(i),k.setup(i,this._getSubmenuPosition(t)),u&&this._animate(i,u),i.css("visibility","visible"))},_animate:function(n,t){h.animate(n,t)},_getSubmenuPosition:function(n){var i=this.option("submenuDirection").toLowerCase(),r=n.parent("."+it),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 i,f,e,o,u,s,h;t.args.length&&(t.args[0].jQueryEvent.stopPropagation(),i=t.args[0].itemElement,f=t.args[0].itemData,e=this._dataAdapter.getNodeByItem(f),e)&&(o=e.internalFields.childrenKeys.length&&!i.find("."+r).length,o&&this._renderSubmenuItems(e,i,2),s=f&&f.closeMenuOnClick===!1,u=i.children("."+r),i.context!==u.context||u.css("visibility")!=="visible")&&(!f||f.disabled||s||(this._updateSelectedItemOnClick(t),u.length===0?(h=n(i.parents("."+r)[0]),this._hideSubmenu(h),!t.canceled&&this._overlay&&this._overlay.option("visible")&&this.option("visible",!1)):(this._shownSubmenus&&this._shownSubmenus.length>0&&(this._shownSubmenus[0].is(u)||this._shownSubmenus[0].has(u).length===1?this._hideSubmenu(u):this._hideAllShownSubmenus()),this._showSubmenu(i))))},_hideSubmenu:function(t){var i=this,r=n.extend([],i._shownSubmenus);n.each(r,function(n,r){(t.is(r)||t.has(r).length)&&(r.parent().removeClass(u),i._hideSubmenuCore(r))})},_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),r=this._overlay.content().find("."+u);r.removeClass(u);n.each(i,function(n,i){t._hideSubmenuCore(i)})},_visibilityChanged:function(n){n&&(this._detachShowContextMenuEvents(this.option("target")),this._attachShowContextMenuEvents(),this._attachInvokeContextMenuEvents())},_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"position":case"submenuDirection":this._invalidate();break;case"target":t.previousValue&&this._detachShowContextMenuEvents(t.previousValue);this._invalidate();break;case"focusedElement":this.callBase(t);break;default:this.callBase(t)}}},_toggleVisibility:function(n){n?this._show():this._hide()},_show:function(t){var r={jQEvent:t},u,i,f;this._actions.onShowing(r);return r.cancel?n.Deferred().reject().promise():(u=!(this._overlay&&this._positionContextMenu(t)),i=new DevExpress.data.Guid,u&&this._overlay&&(this._setOptionSilent("visible",!0),this.option("focusedElement",this._itemElements().first()),f=this._overlay.show(),this._overlay.content().attr({id:i,role:"menu"}),this.setAria("owns",i)),f||n.Deferred().reject().promise())},_positionContextMenu:function(n){var i=this.option("position"),r=this._createActionByOption("onPositioning",t),t;return n&&n.preventDefault&&(i={at:"top left",my:"top left",of:n}),i.of||(i.of=this.option("target")),t={position:i,jQueryEvent:n},r(t),!t.cancel&&this._overlay?i&&!this._overlay.option("visible")&&this._overlay.option("position",i):t.jQueryEvent&&(t.jQueryEvent.cancel=!0),t.cancel},_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._detachShowContextMenuEvents(n(this.option("target")));this.callBase()},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 s=t.ui,b=t.require("/utils/utils.position"),f=t.require("/utils/utils.common"),a=t.require("/componentRegistrator"),v=t.require("/ui/events/ui.events.utils"),k=t.require("/ui/events/pointer/ui.events.pointer"),d=t.require("/ui/events/ui.events.hover"),e="dx-menu",g=e+"-vertical",nt=e+"-horizontal",tt=e+"-item",y=e+"-items-container",c=tt+"-expanded",h="dx-context-menu",l=h+"-container-border",p="dx-context-menu-content-delimiter",w="dx-submenu",it="dx-state-disabled",rt="dx-state-focused",ut="up",ft="down",et="left",ot="right",o="showSubmenu",u="nextItem",r="prevItem",st={show:50,hide:300},ht=["onSubmenuShowing","onSubmenuShown","onSubmenuHiding","onSubmenuHidden"],ct=s.dxContextMenu.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{orientation:"horizontal"})},_initDataAdapter:function(){this._dataAdapter=this.option("_dataAdapter");this._dataAdapter?this._dataAdapter.options.rooValue=this.option("_parentKey"):this.callBase()},_renderContentImpl:function(){this._renderContextMenuOverlay();this._detachShowContextMenuEvents(this.option("target"));this._attachShowContextMenuEvents();this._attachInvokeContextMenuEvents();var n=this._dataAdapter.getNodeByKey(this.option("_parentKey"));n&&this._renderItems(this._getChildNodes(n));this._renderDelimiter()},_renderDelimiter:function(){this.$contentDelimiter=n("<div>").appendTo(this._itemContainer()).addClass(p)},_overlayPositionedActionHandler:function(n){this._showDelimiter(n)},_hoverEndHandler:function(n){this._toggleFocusClass(!1,n.currentTarget)},_isMenuHorizontal:function(){return this.option("orientation")==="horizontal"},_hoverStartHandler:function(n){this.callBase(n);this._toggleFocusClass(!0,n.currentTarget)},_showDelimiter:function(n){var u=this._itemContainer().children("."+w).eq(0),f=this.option("position").of,t={of:u},i,r;this.$contentDelimiter&&(i=n.position,r=f.offset(),this.$contentDelimiter.css("display","block"),this._isMenuHorizontal()?(this.$contentDelimiter.width(f.width()<u.width()?f.width()-2:u.width()-2),this.$contentDelimiter.height(2),i.v.location>r.top?Math.round(i.h.location)===Math.round(r.left)?(t.offset="1 -1",t.at="left top",t.my="left top"):(t.offset="-1 -1",t.at="right top",t.my="right top"):(this.$contentDelimiter.height(5),Math.round(i.h.location)===Math.round(r.left)?(t.offset="1 4",t.at="left bottom",t.my="left bottom"):(t.offset="-1 2",t.at="right bottom",t.my="right bottom"))):(this.$contentDelimiter.width(2),this.$contentDelimiter.height(f.height()<u.height()?f.height()-2:u.height()-2),i.h.location>r.left?Math.round(i.v.location)===Math.round(r.top)?(t.offset="-1 1",t.at="left top",t.my="left top"):(t.offset="-1 -1",t.at="left bottom",t.my="left bottom"):Math.round(i.v.location)===Math.round(r.top)?(t.offset="1 1",t.at="right top",t.my="right top"):(t.offset="1 -1",t.at="right bottom",t.my="right bottom")),b.setup(this.$contentDelimiter,t))},isOverlayVisible:function(){return this._overlay.option("visible")},getOverlayContent:function(){return this._overlay.content()}});a("dxMenu",s,s.dxMenuBase.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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()},_isMenuHorizontal:function(){return this.option("orientation")==="horizontal"},_moveFocus:function(n){var h=this._itemElements().filter(":visible"),t=this._isMenuHorizontal(),i,c=this._getActiveItem(!0),f,e,s;switch(n){case ut:f=t?o:this._getItemsNavigationOperation(r);i=t?c:h;e=this._getKeyboardNavigationAction(f,i);s=e();break;case ft:f=t?o:this._getItemsNavigationOperation(u);i=t?c:h;e=this._getKeyboardNavigationAction(f,i);s=e();break;case ot:f=t?this._getItemsNavigationOperation(u):o;i=t?h:c;e=this._getKeyboardNavigationAction(f,i);s=e();break;case et:f=t?this._getItemsNavigationOperation(r):o;i=t?h:c;e=this._getKeyboardNavigationAction(f,i);s=e();break;default:return this.callBase(n)}s&&s.length!==0&&this.option("focusedElement",s)},_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 o:i.hasClass(it)||(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(ht,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i)||n.noop},this))},_render:function(){this._visibleSubmenu=null;this.callBase();this.element().addClass(e);this.setAria("role","menubar")},_getDelay:function(n){var t=this.option("showFirstSubmenuMode").delay;return f.isDefined(t)?f.isObject(t)?t[n]:t:st[n]},_renderContainer:function(){var t=n("<div>");return t.appendTo(this.element()).addClass(this._isMenuHorizontal()?nt:g),this.callBase(t)},_renderSubmenuItems:function(n,t){var i=this._createSubmenu(n,t);return this._submenus.push(i),this._renderBorderElement(t),i},_createSubmenu:function(t,i){var u=n("<div>").addClass(h).appendTo(i),f=this._getChildNodes(t),r=this._createComponent(u,"dxSubmenu",n.extend(this._getSubmenuOptions(),{_dataAdapter:this._dataAdapter,_parentKey:t.internalFields.key,items:f,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"),showSubmenuMode:this.option("showSubmenuMode"),displayExpr:this.option("displayExpr"),disabledExpr:this.option("disabledExpr"),selectedExpr:this.option("selectedExpr"),itemsExpr:this.option("itemsExpr"),onSelectionChanged:n.proxy(this._nestedItemOnSelectionChangedHandler,this),onItemClick:n.proxy(this._nestedItemOnItemClickHandler,this),onItemRendered:this.option("onItemRendered"),onLeftFirstItem:t?null:n.proxy(this._moveMainMenuFocus,this,r),onLeftLastItem:t?null:n.proxy(this._moveMainMenuFocus,this,u),onCloseRootSubmenu:n.proxy(this._moveMainMenuFocus,this,t?r:null),onExpandLastSubmenu:t?n.proxy(this._moveMainMenuFocus,this,u):null,_remoteSelectionSync:!0}},_getShowFirstSubmenuMode:function(){if(!this._isDesktopDevice())return"onClick";var n=this.option("showFirstSubmenuMode");return f.isObject(n)?n.name:n},_moveMainMenuFocus:function(n){var f=this.element().find("."+c).first(),i=f.parent(),t;switch(n){case r:t=i.prev();t.length||(t=i.siblings().last());break;case u:t=i.next();t.length||(t=i.siblings().first());break;default:t=i;t.length||(t=i.siblings().first())}t=t.children();this._visibleSubmenu&&this._hideSubmenu(this._visibleSubmenu);this.focus();this.option("focusedElement",t)},_nestedItemOnSelectionChangedHandler:function(n){var t=n.addedItems.length&&n.addedItems[0],i=n.element.dxSubmenu("instance"),r=this._createActionByOption("onSelectionChanged",{});r(n);t&&this._clearSelectionInSubmenus(t[0],i);this._clearRootSelection();this._setOptionSilent("selectedItem",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("."+y).first().children().children().filter("."+this._selectedItemClass()),t;n.length&&(t=this._getItemData(n),t.selected=!1,n.removeClass(this._selectedItemClass()))},_nestedItemOnItemClickHandler:function(n){var t=this._createActionByOption("onItemClick",{});t(n)},_attachSubmenuHandlers:function(t,i){var r=this,f=i.getOverlayContent(),e=f.find("."+w),u=v.addNamespace(d.end,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("."+l);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(c)},_submenuOnShownHandler:function(n,t){this._actions.onSubmenuShown({rootItem:n,submenu:t})},_submenuOnHidingHandler:function(n,t,i){var u=n.children("."+l),r=i;r.rootItem=n;r.submenu=t;this._actions.onSubmenuHiding(r);i=r;i.cancel||(this._visibleSubmenu===t&&(this._visibleSubmenu=null),u.hide(),n.removeClass(c))},_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._getSubmenuByRootElement(t).getOverlayContent()[0];this.option("hideSubmenuOnMouseLeave")&&u!==f&&(clearTimeout(this._showSubmenuTimer),clearTimeout(this._hideSubmenuTimer),setTimeout(n.proxy(this._hideSubmenuAfterTimeout,this),r._getDelay("hide")))},_hideSubmenuAfterTimeout:function(){if(this._visibleSubmenu){var n=this._visibleSubmenu.getOverlayContent().find("."+rt).length;n||this._visibleSubmenu.hide()}},_getSubmenuByRootElement:function(n){if(!n)return!1;var t=n.children("."+h);return t.length&&t.data().dxSubmenu},getSubmenuPosition:function(n){var r=this._isMenuHorizontal(),u=this.option("submenuDirection").toLowerCase(),i=this.option("rtlEnabled"),t={collision:"flip",of:n};switch(u){case"leftortop":t.at="left top";t.my=r?"left bottom":"right top";break;case"rightorbottom":t.at=r?"left bottom":"right top";t.my="left top";break;default:r?(t.at=i?"right bottom":"left bottom",t.my=i?"right top":"left top"):(t.at=i?"left top":"right top",t.my=i?"right top":"left top")}return t},_renderBorderElement:function(t){n("<div>").appendTo(t).addClass(l).hide()},_hoverStartHandler:function(t){var r=v.addNamespace(k.move,this.NAME),i=this._getItemElementByEventArgs(t),e=this._dataAdapter.getNodeByItem(this._getItemData(i)),o=f.isDefined(t.buttons)&&t.buttons===1||!f.isDefined(t.buttons)&&t.which===1,u;if(!this._isItemDisabled(i)){if(i.off(r),!this._hasChildren(e)){setTimeout(n.proxy(this._hideSubmenuAfterTimeout,this),this._getDelay("hide"));return}if(this._getShowFirstSubmenuMode()==="onHover"&&!o&&(u=this._getSubmenuByElement(i),clearTimeout(this._hideSubmenuTimer),clearTimeout(this._showSubmenuTimer),!u.isOverlayVisible())){i.on(r,n.proxy(this._itemMouseMoveHandler,this));this._showSubmenuTimer=this._getDelay("hide")}}},_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(y)&&(clearTimeout(this._showSubmenuTimer),clearTimeout(this._hideSubmenuTimer),this._hideSubmenuTimer=setTimeout(function(){i._hideSubmenuAfterTimeout()},i._getDelay("hide")))},_hideVisibleSubmenu:function(){return this._visibleSubmenu?(this._hideSubmenu(this._visibleSubmenu),!0):!1},_showSubmenu:function(n){var t=this._getSubmenuByElement(n);this._visibleSubmenu!==t&&this._hideVisibleSubmenu();t&&t.show();this._visibleSubmenu=t;this._hoveredRootItem=n},_hideSubmenu:function(n){n&&n.hide();this._visibleSubmenu===n&&(this._visibleSubmenu=null);this._hoveredRootItem=null},_itemMouseMoveHandler:function(t){if(!t.pointers||!t.pointers.length){var i=this,r=n(t.currentTarget);f.isDefined(this._showSubmenuTimer)&&(clearTimeout(this._hideSubmenuTimer),clearTimeout(this._showSubmenuTimer),this._showSubmenuTimer=setTimeout(function(){var n=i._getSubmenuByElement(r);n&&!n.isOverlayVisible()&&i._showSubmenu(r)},i._getDelay("show")))}},_getSubmenuByElement:function(n,t){var i,r;return t=t||this._getItemData(n),i=this._getSubmenuByRootElement(n),i?i:(r=this._dataAdapter.getNodeByItem(t),this._hasChildren(r)&&this._renderSubmenuItems(r,n))},_updateSubmenuVisibilityOnClick:function(n){var t=n.args.length&&n.args[0],i;if(t&&!this._disabledGetter(t.itemData)){if(t.jQueryEvent.stopPropagation(),i=this._getSubmenuByElement(t.itemElement,t.itemData),this._updateSelectedItemOnClick(n),this._visibleSubmenu){if(this._visibleSubmenu===i){this._hideSubmenu(this._visibleSubmenu);return}this._hideSubmenu(this._visibleSubmenu)}if(i&&!i.isOverlayVisible()){this._showSubmenu(t.itemElement);return}}},_optionChanged:function(n){if(!this._cancelOptionChange){this._hideShownSubmenuOnOptionChange(n.name);switch(n.name){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&&this._hideSubmenu(this._visibleSubmenu)},_changeSubmenusOption:function(t,i){n.each(this._submenus,function(n,r){r.option(t,i)})},selectItem:function(n){this._hideSubmenu(this._visibleSubmenu);this.callBase(n)},unselectItem:function(n){this._hideSubmenu(this._visibleSubmenu);this.callBase(n)}}));a("dxSubmenu",s.dxMenu,ct)}(jQuery,DevExpress),function(n,t,i){var w=t.ui,h=t.require("/utils/utils.common"),b=t.require("/componentRegistrator"),v=t.require("/ui/widgets/ui.checkBox"),k=t.require("/ui/hierarchicalCollectionWidget/ui.hierarchicalCollectionWidget"),s=t.require("/ui/events/ui.events.utils"),y=t.require("/ui/events/pointer/ui.events.pointer"),d="dx-treeview",f="dx-treeview-node-container",e="dx-treeview-node-container-opened",u="dx-treeview-node",r="dx-treeview-item",g="dx-treeview-item-with-checkbox",nt="dx-treeview-item-data",c="dx-treeview-node-is-leaf",o="dx-treeview-toggle-item-visibility",a="dx-treeview-toggle-item-visibility-opened",tt="dx-treeview-select-all-item",l="dx-state-disabled",it="dx-state-selected",p="data-item-id",rt="dxdblclick",ut=n.noop;b("dxTreeView",w,k.inherit({_supportedKeys:function(){var t=function(n){var t=this.option("focusedElement");t&&(n.target=t,n.currentTarget=t,this._itemClickHandler(n,t.find(">."+r)))},i=function(n){n.preventDefault();this._changeCheckBoxState(this.option("focusedElement"))},u=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._showCheckboxes()?i:t,space:this._showCheckboxes()?i:t,asterisk:n.proxy(u,this,!0),minus:n.proxy(u,this,!1)})},_changeCheckBoxState:function(n){var t=this._getCheckBoxInstance(n),i=t.option("value");t.option("disabled")||this._updateItemSelection(!i,n.find("."+r).get(0),!0,n)},_toggleExpandedNestedItems:function(n,t){var i,u,r,f;if(n)for(i=0,u=n.length;i<u;i++)r=n[i],f=this._dataAdapter.getNodeByItem(r),this._toggleExpandedState(f,t),this._toggleExpandedNestedItems(r.items,t)},_getNodeElementById:function(n){return this.element().find("["+p+"='"+n+"']")},_activeStateUnit:"."+r,_widgetClass:function(){return d},_getDefaultOptions:function(){return n.extend(this.callBase(),{animationEnabled:!0,dataStructure:"tree",expandAllEnabled:!1,hasItemsExpr:"hasItems",selectNodesRecursive:!0,expandNodesRecursive:!0,showCheckBoxesMode:"none",selectAllText:Globalize.localize("dxList-selectAll"),onItemSelected:null,onItemExpanded:null,onItemCollapsed:null,scrollDirection:"vertical",virtualModeEnabled:!1,rootValue:0,searchValue:"",focusStateEnabled:!1,selectionMode:"multiple"})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{showCheckBoxes:{since:"15.2",message:"use 'showCheckBoxesMode' option instead"},selectAllEnabled:{since:"15.2",message:"use 'showCheckBoxesMode' option 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))},_checkBoxModeChange:function(n,t){if(t==="none"||n==="none"){this.repaint();return}var i=this._$selectAllItem&&this._$selectAllItem.length;switch(n){case"selectAll":i||this._renderSelectAllItem();break;case"normal":i&&(this._$selectAllItem.remove(),delete this._$selectAllItem)}},_removeSelection:function(){var t=this;n.each(this._dataAdapter.getData(),function(n,i){t._hasChildren(i)&&t._dataAdapter.toggleSelection(i.internalFields.key,!1,!0)})},_optionChanged:function(n){var i=n.name,t=n.value,r=n.previousValue;switch(i){case"showCheckBoxes":this.option("showCheckBoxesMode",t?"normal":"none");break;case"selectAllEnabled":this.option("showCheckBoxesMode",t?"selectAll":"normal");break;case"selectAllText":this._$selectAllItem&&this._$selectAllItem.dxCheckBox("instance").option("text",t);break;case"showCheckBoxesMode":this._checkBoxModeChange(t,r);break;case"scrollDirection":this._scrollableContainer.option("direction",t);break;case"items":delete this._$selectAllItem;this.callBase(n);break;case"hasItemsExpr":this._initAccessors();this.repaint();break;case"dataStructure":case"rootValue":case"searchValue":(!t.length||n.value<n.previousValue)&&this.option("showCheckBoxesMode")!=="none"&&this._removeSelection();this._initDataAdapter();this.repaint();break;case"selectNodesRecursive":case"expandNodesRecursive":case"onItemSelected":case"onItemExpanded":case"onItemCollapsed":case"expandAllEnabled":case"animationEnabled":case"virtualModeEnabled":break;default:this.callBase(n)}},_initDataSource:function(){if(this.callBase(),this._isVirtualMode()){this._customerFilters=this._dataSource.filter();var n=this._combineFilter([this.option("parentIdExpr"),this.option("rootValue")]);this._dataSource.filter(n)}},_combineFilter:function(n){if(!this._customerFilters||!this._customerFilters.length)return n;var t=[];return t.push(this._customerFilters,n),t},_dataSourceLoadErrorHandler:function(){this._renderEmptyMessage()},_init:function(){this.callBase();this._initStoreChangeHandlers();this._initCheckBoxesMode()},_initStoreChangeHandlers:function(){if(this.option("dataStructure")==="plain"){var n=this;this._dataSource&&this._dataSource.store().on("inserted",function(t){(n.option().items=n.option("items").concat(t),n._dataAdapter.addItem(t),n._isFiltered(t))&&n._updateLevel(n._parentIdGetter(t))}).on("removed",function(t){var i=n._dataAdapter.getNodeByKey(t);n.option("items")[n._dataAdapter.getIndexByKey(i.internalFields.key)]=0;n._markChildrenItemsToRemove(i);n._removeItems();n._dataAdapter.removeItem(t);n._updateLevel(n._parentIdGetter(i))})}},_markChildrenItemsToRemove:function(t){var i=this,r=t.internalFields.childrenKeys;n.each(r,function(n,t){i.option("items")[i._dataAdapter.getIndexByKey(t)]=0;i._markChildrenItemsToRemove(i._dataAdapter.getNodeByKey(t))})},_removeItems:function(){var i=this,t=0,r=n.extend(!0,[],this.option("items"));n.each(r,function(n,r){r||(i.option("items").splice(n-t,1),t++)})},_isFiltered:function(n){var t=this.option("searchValue"),i=new RegExp(t,"i");return i.test(this._displayGetter(n))},_updateLevel:function(n){var t=this._getContainerByParentKey(n);this._renderItems(t,this._dataAdapter.getChildrenNodes(n))},_getOldContainer:function(n){return n.length?n.find(" > ."+f):this._scrollableContainer.content().children()},_getContainerByParentKey:function(n){var t,i=this._findItemElementByIndex(n).parent();return this._getOldContainer(i).remove(),t=this._renderNodeContainer(i),this._isRootLevel(n)&&this._scrollableContainer.content().append(t),t},_isRootLevel:function(n){return n===this.option("rootValue")},_getAccessors:function(){return["key","display","selected","expanded","items","parentId","disabled","hasItems"]},_getDataAdapterOptions:function(){return{rootValue:this.option("rootValue"),recursiveSelection:this.option("selectNodesRecursive"),recursiveExpansion:this.option("expandNodesRecursive"),searchValue:this.option("searchValue"),dataType:this.option("dataStructure")}},_render:function(){this._attachPointerEventHandler();this.callBase();this.setAria("role","tree")},_attachPointerEventHandler:function(){var i=this,t=y.down;this.element().off(t).on(t,function(t){var r=n(t.target).closest(i._activeStateUnit);r.length||t.preventDefault()})},_renderContentImpl:function(){if(this.option("items").length){var n=this._renderNodeContainer();this._renderScrollableContainer();this._scrollableContainer.content().append(n);this._renderItems(n,this._dataAdapter.getRootNodes());this._selectAllEnabled()&&this._renderSelectAllItem(n)}},_isVirtualMode:function(){return this.option("virtualModeEnabled")&&this._isDataStructurePlain()&&this.option("dataSource")},_isDataStructurePlain:function(){return this.option("dataStructure")==="plain"},_fireContentReadyAction:function(){this.callBase();this._scrollableContainer&&this._scrollableContainer.content().height()>this.element().height()&&(this._scrollableContainer.update(),ut())},_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&&t.length&&(u=this._getItemData(t.find("> ."+r)),this._expandedGetter(u)&&i.addClass(e),i.appendTo(t)),i},_createDOMElement:function(t,i){var r=n("<li>").addClass(u).attr(p,i.internalFields.key).prependTo(t);return this.setAria({role:"treeitem",label:this._displayGetter(i.internalFields.item)||"",expanded:i.internalFields.expanded||!1,level:this._getLevel(t)},r),r},_getLevel:function(n){var t=n.parent();return t.hasClass("dx-scrollable-content")?1:parseInt(t.attr("aria-level"))+1},_showCheckboxes:function(){return this.option("showCheckBoxesMode")!=="none"},_selectAllEnabled:function(){return this.option("showCheckBoxesMode")==="selectAll"},_initCheckBoxesMode:function(){if(!this._showCheckboxes()){this._suppressDeprecatedWarnings();var n=this.option("showCheckBoxes"),t=this.option("selectAllEnabled");this._resumeDeprecatedWarnings();this.option("showCheckBoxesMode",n?t?"selectAll":"normal":"none")}},_renderItems:function(n,t){var r=t.length-1,i;for(this._firstSelected=!1,i=r;i>=0;i--)this._renderItem(t[i],n);this._renderFocusTarget();delete this._firstSelected},_renderItem:function(n,t){var r=this._createDOMElement(t,n),i=n.internalFields,u;this._showCheckboxes()&&this._renderCheckBox(r,n);u=this.callBase(i.key,i.item,r);this._firstSelected&&this._isSingleSelection()||this._toggleSelectedClass(r,i.selected);i.selected&&(this._firstSelected=!0);this._attachDblclickToItem(u,n);i.item.visible!==!1&&this._renderChildren(r,n)},_renderChildren:function(n,t){this._hasChildren(t)?(this._renderToggleItemVisibilityIcon(n,t),this._renderSublevel(n,t)):this._addLeafClass(n)},_hasChildren:function(n){return this._isVirtualMode()?this._hasItemsGetter(n.internalFields.item)!==!1:this.callBase(n)},_renderSublevel:function(n,t){var i=this._renderNodeContainer(n,t),r;t.internalFields.expanded&&(r=this._getChildNodes(t),this._renderItems(i,r),i.addClass(e))},_executeItemRenderAction:function(n,t,i){var r=this._dataAdapter.getNodeByItem(t);this._getItemRenderAction()({itemElement:i,itemIndex:n,itemData:t,node:r})},_addLeafClass:function(n){n.addClass(c)},_attachDblclickToItem:function(n,t){var r=this,u=s.addNamespace(rt,r.NAME);n.off(u).on(u,function(n){r._toggleExpandedState(t,i,n)})},_getNodeByItemElement:function(t){return h.isPrimitive(t)?this._dataAdapter.getNodeByKey(t):(t=n(t).get(0),!t)?null:t.nodeType?this._dataAdapter.getNodeByItem(this._getItemData(t)):this._dataAdapter.getNodeByItem(t)},_convertItemElementToNode:function(n){return!n||n.internalFields?n:this._getNodeByItemElement(n)},_toggleExpandedState:function(n,t,i){var r=this._convertItemElementToNode(n),f,u;(this._isVirtualMode()&&(f=this._getNodeElementById(r.internalFields.key),this._createLoadIndicator(f)),u=r.internalFields.expanded,r.internalFields.disabled||h.isDefined(u)&&u===t)||(h.isDefined(t)||(t=!u),this._dataAdapter.toggleExpansion(r.internalFields.key,t),r.internalFields.expanded=t,this._updateExpandedItemsUI(r,t,i))},_createLoadIndicator:function(n){var t=n.find(">."+o),i=n.find(" > ."+f);t.hasClass(a)||i.not(":empty").length||(this._createComponent("<div>","dxLoadIndicator",{}).element().appendTo(n),t.hide())},_renderToggleItemVisibilityIcon:function(t,i){var r=n("<div>").addClass(o).appendTo(t);i.internalFields.expanded&&!this._isVirtualMode()&&(r.addClass(a),t.parent().addClass(e));i.internalFields.disabled&&r.addClass(l);this._renderToggleItemVisibilityIconClick(r,i)},_renderToggleItemVisibilityIconClick:function(n,t){var r=s.addNamespace("dxclick",this.NAME),u=this;n.off(r).on(r,function(n){u._toggleExpandedState(t,i,n)})},_updateExpandedItemsUI:function(t,i,r){var u=this._getNodeElementById(t.internalFields.key),s=u.find(">."+o),e;if(s.toggleClass(a,i),!i){this._updateExpandedItem(t,i,r);return}e=u.find(" > ."+f);this._renderNestedItems(e).done(n.proxy(function(n){n&&this._updateExpandedItem(t,i,r)},this))},_updateExpandedItem:function(n,t,i){var r=this._getNodeElementById(n.internalFields.key),u=r.find(" > ."+f);this._animateNodeContainer(u,t);this.setAria("expanded",t,r);this._fireExpandedStateUpdatedEvt(t,n,i)},_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(e)},complete:n.proxy(function(){i.css("max-height","none");i.toggleClass(e,r);this._scrollableContainer.update()},this)})},_fireExpandedStateUpdatedEvt:function(n,t,i){var r=n?"onItemExpanded":"onItemCollapsed",u;this.option(r)&&(h.isDefined(i)?this._itemJQueryEventHandler(i,r,{node:this._dataAdapter.getPublicNode(t)}):(u=this._getNodeElementById(t.internalFields.key),this._itemEventHandler(u,r,{jQueryEvent:i,node:this._dataAdapter.getPublicNode(t)})))},_renderNestedItems:function(t){var i;if(!t.is(":empty"))return n.Deferred().resolve(!0).promise();if(i=n.Deferred(),this._isVirtualMode())this._renderVirtualNodes(t).done(function(n){i.resolve(n&&n.length)});else{var u=t.parent().find(">."+r),f=this._getNodeByItemElement(u),e=this._getChildNodes(f);this._renderItems(t,e);i.resolve(!0)}return i.promise()},_renderVirtualNodes:function(n){var i=n.parent().find(">."+r),u=this._getNodeByItemElement(i),t=this;return this._dataSource.filter(this._combineFilter([this.option("parentIdExpr"),u.internalFields.key])),this._dataSource.load().done(function(r){var f=t._getVirtualNodes(r),e,o;t._renderItems(n,f);f.length&&!u.internalFields.selected&&(e=f[0].internalFields.key,o=t._getNodeElementById(e),t._updateParentsState(t._dataAdapter.getNodeByKey(e),o));t._normalizeIconState(i,f.length)})},_getVirtualNodes:function(t){var r=this,i=[];return n.each(t,function(n,t){var u=r._dataAdapter.getNodeByItem(t);u&&i.push(u)}),i},_normalizeIconState:function(n,t){var r=n.siblings(".dx-loadindicator"),i;if(r.dxLoadIndicator("instance").option("visible",!1),t){i=n.siblings("."+o);i.show();return}n.siblings("."+o).removeClass(o);n.parent().addClass(c)},_dataSourceChangedHandler:function(t){var i=n.inArray(t[0],this.option("items"))+1;if(!this._initialized||!this._isVirtualMode()||i){this.option("items",t);return}this.option().items=this.option("items").concat(t);this._initDataAdapter();this._contentAlreadyRendered||this._renderContent()},_renderContent:function(){this._renderEmptyMessage();var n=this.option("items");n&&n.length&&(n.length&&(this._contentAlreadyRendered=!0),this.callBase())},_renderSelectAllItem:function(t){t=t||this.element().find("."+f).first();this._$selectAllItem=n("<div>").addClass(tt);var i=this._dataAdapter.isAllSelected();this._createComponent(this._$selectAllItem,v,{value:i,text:this.option("selectAllText"),onValueChanged:n.proxy(this._toggleSelectAll,this)});this._toggleSelectedClass(this._$selectAllItem,i);t.before(this._$selectAllItem)},_toggleSelectAll:function(n){this._dataAdapter.toggleSelectAll(n.value);this._updateCheckBoxes();this._toggleSelectedClass(this.element().find("."+u),n.value);this._fireSelectionChanged()},_renderCheckBox:function(t,i){var r=i.internalFields.selected,u;t.addClass(g);this.setAria("selected",r,t);u=n("<div>").appendTo(t);this._createComponent(u,v,{value:r,onValueChanged:n.proxy(this._changeCheckboxValue,this),focusStateEnabled:!1,disabled:this._disabledGetter(i)});r!==!1&&this._toggleSelectedClass(t,r);this._attachCheckboxClick(u,i)},_toggleSelectedClass:function(n,t){n.toggleClass(it,!!t)},_attachCheckboxClick:function(t,i){var r=s.addNamespace("dxclick",this.NAME),u=function(n){this._itemJQueryEventHandler(n,"onItemSelected",{node:this._dataAdapter.getPublicNode(i)})};t.off(r).on(r,n.proxy(u,this))},_changeCheckboxValue:function(n){var i=n.element.parent("."+u),e=this._getItemData(i.find("> ."+r)),f=this._dataAdapter.getNodeByItem(e),t=n.value;if(this._toggleSelectedClass(i,t),this.setAria("selected",t,i),f.internalFields.selected!==t){if(this._dataAdapter.toggleSelection(f.internalFields.key,t),n.jQueryEvent&&!this.option("selectNodesRecursive")&&this._fireSelectionChanged(),this._selectAllEnabled())this._$selectAllItem.dxCheckBox("instance").option("value",this._dataAdapter.isAllSelected());else if(!n.jQueryEvent||!this.option("selectNodesRecursive"))return;this._updateCheckBoxes();this._fireSelectionChanged()}},_isSingleSelection:function(){return!this._showCheckboxes()||this.option("selectionMode")==="single"},_updateItemSelection:function(n,t,i,r){var u=this._getNodeByItemElement(t),f;u&&u.internalFields.selected!==n&&(this._isSingleSelection()&&this._toggleSelectAll({value:!1}),r||(f=this._getNodeElementById(u.internalFields.key),f.length&&(r=f)),this._showCheckboxes()?(r?this._getCheckBoxInstance(r).option("value",n):this._dataAdapter.toggleSelection(u.internalFields.key,n),this._updateCheckBoxes()):(this._dataAdapter.toggleSelection(u.internalFields.key,n),r&&this._toggleSelectedClass(r,n)),this._fireOnSelectedEvent(u),this._fireSelectionChanged())},_fireOnSelectedEvent:function(n){var t=this.option("onItemSelected");t&&t.call(this,{itemData:n.internalFields.item,node:this._dataAdapter.getPublicNode(n)})},_getCheckBoxInstance:function(n){return n.find("> .dx-checkbox").dxCheckBox("instance")},_updateCheckBoxes:function(){if(this._showCheckboxes()){var t=this;n.each(this._dataAdapter.getData(),function(n,i){var u=t._getNodeElementById(i.internalFields.key),f,r;u.length&&(f=t._getCheckBoxInstance(u),r=i.internalFields.selected,f.option("value")!==r)&&(f.option("value",r),t._toggleSelectedClass(u,r))})}},_updateParentsState:function(t,i){var f=this._dataAdapter.getNodeByKey(t.internalFields.parentKey),e,r;i&&this._showCheckboxes()&&(e=f.internalFields.selected,r=n(i.parents("."+u)[0]),this._getCheckBoxInstance(r).option("value",e),this._toggleSelectedClass(r,e));f.parentId&&this._updateParentsState(f,r)},_itemEventHandlerImpl:function(t,i,f){var e=n(t).closest("."+u).find("> ."+r);return i(n.extend(this._extendActionArgs(e),f))},_itemContextMenuHandler:function(n){this._createEventHandler("onItemContextMenu",n)},_itemHoldHandler:function(n){this._createEventHandler("onItemHold",n)},_createEventHandler:function(n,t){var i=this._getItemData(t.currentTarget),r=this._dataAdapter.getNodeByItem(i);this._itemJQueryEventHandler(t,n,{node:this._dataAdapter.getPublicNode(r)})},_itemClass:function(){return r},_itemDataKey:function(){return nt},_selectionEnabled:function(){return!0},_attachClickEvent:function(){var t=this,i=t._itemSelector(),r=s.addNamespace("dxclick",t.NAME),u=s.addNamespace(y.down,this.NAME);t._itemContainer().off(r,i).off(u,i).on(r,i,function(i){t._itemClickHandler(i,n(this))}).on(u,i,n.proxy(this._itemPointerDownHandler,this))},_itemClickHandler:function(n,t){var i=this._getItemData(t),r=this._dataAdapter.getNodeByItem(i);this._itemJQueryEventHandler(n,"onItemClick",{node:this._dataAdapter.getPublicNode(r)})},_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++},_focusInHandler:function(t){var i=t.currentTarget,f=this._focusTarget(),r;if(n.inArray(i,f)!==-1&&this._toggleFocusClass(!0,i),this.option("focusedElement")){this._setFocusedItem(this.option("focusedElement"));return}r=this._getActiveItem();this.option("focusedElement",r.closest("."+u))},_setFocusedItem:function(n){n&&n.length&&(n.children().hasClass(l)||this.callBase(n),this._scrollableContainer.scrollToElement(n.find("."+r).first()))},_itemPointerDownHandler:function(t){if(this.option("focusStateEnabled")){var i=n(t.target).closest("."+u),r;i.hasClass(u)&&(r=i.hasClass(l)?null:i,this.option("focusedElement",r))}},_findNonDisabledNodes:function(t){return t.not(function(){return n(this).find(">."+r).hasClass(l)})},_moveFocus:function(n,i){var c=this.option("rtlEnabled")?"right":"left",l=this.option("rtlEnabled")?"left":"right",u,e,o,s,h;if(this.element().find("."+f).each(function(){t.fx.stop(this,!0)}),u=this._findNonDisabledNodes(this._nodeElements()),u&&u.length)switch(n){case"up":e=this._prevItem(u);this.option("focusedElement",e);i.shiftKey&&this._showCheckboxes()&&this._updateItemSelection(!0,e.find("."+r).get(0),!0,e);break;case"down":o=this._nextItem(u);this.option("focusedElement",o);i.shiftKey&&this._showCheckboxes()&&this._updateItemSelection(!0,o.find("."+r).get(0),!0,o);break;case"first":s=u.first();i.shiftKey&&this._showCheckboxes()&&this._updateSelectionToFirstItem(u,u.index(this._prevItem(u)));this.option("focusedElement",s);break;case"last":h=u.last();i.shiftKey&&this._showCheckboxes()&&this._updateSelectionToLastItem(u,u.index(this._nextItem(u)));this.option("focusedElement",h);break;case l:this._expandFocusedContainer();break;case c:this._collapseFocusedContainer();break;default:this.callBase.apply(this,arguments);return}},_nodeElements:function(){return this.element().find("."+u).not(":hidden")},_expandFocusedContainer:function(){var n=this.option("focusedElement"),t,i;if(n&&!n.hasClass(c)){if(t=n.find("."+f).eq(0),t.hasClass(e)){this.option("focusedElement",this._nextItem(this._findNonDisabledNodes(this._nodeElements())));return}i=this._getNodeByItemElement(n.find(">."+r));this._toggleExpandedState(i,!0)}},_getClosestNonDisabledNode:function(n){do n=n.parent().closest("."+u);while(n.children(".dx-treeview-item.dx-state-disabled").length);return n},_collapseFocusedContainer:function(){var n=this.option("focusedElement"),i,u,t;n&&(i=n.find("."+f).eq(0),!n.hasClass(c)&&i.hasClass(e)?(u=this._getNodeByItemElement(n.find(">."+r)),this._toggleExpandedState(u,!1)):(t=this._getClosestNonDisabledNode(n),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(n){this._toggleExpandedState(n,!0)},collapseItem:function(n){this._toggleExpandedState(n,!1)},getNodes:function(){return this._dataAdapter.getTreeNodes()},selectAll:function(){this._selectAllEnabled()?this._$selectAllItem.dxCheckBox("instance").option("value",!0):this._toggleSelectAll({value:!0})},unselectAll:function(){this._selectAllEnabled()?this._$selectAllItem.dxCheckBox("instance").option("value",!1):this._toggleSelectAll({value:!1})}}))}(jQuery,DevExpress),function(n,t){function u(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}function f(t){var i=[];return n.each(t,function(){var t=this;n(t).is(":visible")&&i.push({pos:n(t).offset().top+n(t).outerHeight(!0)/2,item:n(t)})}),i}var e=t.ui,o=t.require("/ui/events/ui.events.utils"),i=o.addNamespace,s=t.require("/componentRegistrator"),h=t.require("/domComponent"),r="dxSortable",c="dx-sortable";s("dxSortable",e,h.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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 o=this,b=o.option("itemSelector"),nt=o.option("itemContainerSelector"),y=o.option("groupSelector"),l=o.option("sourceClass"),tt=o.option("dragClass"),a=o.option("targetClass"),k=o.option("onDragging"),t,w,s,e,v,p,d,h=o.element(),g,c;h.off(i("dxdragstart dxdrag dxdragend dxdragenter dxdragleave dxdrop",r)).on(i("dxdragstart",r),b,function(i){t=n(i.currentTarget);v=t.offset();v.top-=h.offset().top;v.left-=h.offset().left;w=t.index();g=y?h.find(y):h;d=t.closest(y).attr("group");p=o._renderItem(t,"drag").appendTo(h);s=o._renderItem(t,"target");p.addClass(tt);t.addClass(l);s.addClass(a)}).on(i("dxdrag",r),function(i){var h,r,tt,y,o=[];if(t)if(p.css({top:v.top+i.offset.y,left:v.left+i.offset.x}),e&&e.removeClass(a),e=undefined,n.each(g,function(){if(u(this,i.pageX,i.pageY))return e=n(this),!1}),e&&(h={sourceGroup:d,sourceIndex:w,sourceElement:t,targetGroup:e.attr("group"),targetIndex:s.index()},k&&k(h)),h&&h.cancel&&(e=undefined),e){for(e.addClass(a),tt=e.find(nt),y=tt.find(b),o=f(y),c=0;c<o.length;c++)if(i.pageY<o[c].pos){r=o[c]&&o[c].item;break}r?r.hasClass(l)||r.prev().hasClass(l)&&r.prev().is(":visible")?s.detach():s.insertBefore(r):y.last().is(":visible")&&y.last().hasClass(l)||s.appendTo(tt)}else s.detach()}).on(i("dxdragend",r),function(){var r=o.option("onChanged"),n,i;t&&(e&&(e.removeClass(a),i=t.closest(y).attr("group"),n={sourceGroup:i,sourceIndex:w,sourceElement:t,targetGroup:e.attr("group"),targetIndex:s.index(),removeSourceElement:!0},(i!==n.targetGroup||s.parent().length)&&(r&&r(n),n.removeSourceElement&&t.remove())),t.removeClass(l),p.remove(),t=null,s.removeClass(a),s=null)})},_init:function(){this.callBase();this._attachEventHandlers()},_render:function(){this.callBase();this.element().addClass(c)},_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 r=t.ui,l=t.require("/utils/utils.string"),a=t.require("/utils/utils.browser"),v=t.require("/class"),u=t.require("/ui/ui.errors"),y=t.require("/utils/utils.console").logger,p=t.require("/utils/utils.formatHelper"),i=t.require("/utils/utils.common"),w=t.require("/componentRegistrator"),b=t.require("/ui/ui.widget"),k="Specifying grid templates with the name of a jQuery selector is now deprecated. Instead, use the jQuery object that references this selector.",d={year:function(n){return n&&n.getFullYear()},month:function(n){return n&&n.getMonth()+1},day:function(n){return n&&n.getDate()},quarter:function(n){return n&&Math.floor(n.getMonth()/3)+1},dayOfWeek:function(n){return n&&n.getDay()},hour:function(n){return n&&n.getHours()},minute:function(n){return n&&n.getMinutes()},second:function(n){return n&&n.getSeconds()}},g=["year","month","day"],o=v.inherit({_endUpdateCore:function(){},ctor:function(t){var i=this;i._updateLockCount=0;i.component=t;i._actions={};i._actionConfigs={};n.each(this.callbackNames()||[],function(t,r){var u=i.callbackFlags(r);i[this]=n.Callbacks(u)})},init:function(){},callbackNames:function(){},callbackFlags:function(){},publicMethods:function(){},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){this._updateLockCount--;this._updateLockCount||this._endUpdateCore()},option:function(n){var t=this.component,i=t._optionCache;return arguments.length===1&&i?(n in i||(i[n]=t.option(n)),i[n]):t.option.apply(t,arguments)},localize:function(n){var t=this.component._optionCache;return t?(n in t||(t[n]=Globalize.localize(n)),t[n]):Globalize.localize(n)},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(n,t,i){var r=i.get(0),u=n!=="role"&&n!=="id"?"aria-":"";r.setAttribute?r.setAttribute(u+n,t):i.attr(u+n,t)},_createComponent:function(){return this.component._createComponent.apply(this.component,arguments)},getController:function(n){return this.component._controllers[n]},createAction:function(t,r){var u;if(i.isFunction(t))return u=this.component._createAction(n.proxy(t,this),r),function(n){u({jQueryEvent:n})};this._actions[t]=this.component._createActionByOption(t,r);this._actionConfigs[t]=r},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()})}}),e=o,nt=e.inherit({getView:function(n){return this.component._views[n]},getViews:function(){return this.component._views}}),s=o.inherit({_isReady:function(){return this.component.isReady()},_endUpdateCore:function(){this.callBase();!this._isReady()&&this._requireReady&&(this._requireRender=!1,this.component._requireResize=!1);this._requireRender&&(this._requireRender=!1,this.render(this._$parent))},_invalidate:function(n,t){this._requireRender=!0;this.component._requireResize=this.component._requireResize||n;this._requireReady=this._requireReady||t},_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()},element:function(){return this._$element},isVisible:function(){return!0},getTemplate:function(n){return this.component._getTemplate(n)},render:function(t,i){var r=this._$element,u=this.isVisible();this._requireReady=!1;r||(r=this._$element=n("<div />").appendTo(t),this._$parent=t);r.toggleClass("dx-hidden",!u);u&&(this.component._optionCache={},this._renderCore(i),this.component._optionCache=undefined,this._afterRender(t),this.renderCompleted.fire())},resize:function(){this.isResizing=!0;this._resizeCore();this.resizeCompleted.fire();this.isResizing=!1},focus:function(){this.element().focus()}}),h=function(t,i){var h=i.modules,r=i.controllerTypes||{},f=i.viewTypes||{},c,o;i.controllerTypes||(n.each(h,function(){var i=this.controllers,t=this.name,o=this.views;i&&n.each(i,function(n,i){if(r[n])throw u.Error("E1001",t,n);else if(!(i&&i.subclassOf&&i.subclassOf(e))){i.subclassOf(e);throw u.Error("E1002",t,n);}r[n]=i});o&&n.each(o,function(n,i){if(f[n])throw u.Error("E1003",t,n);else if(!(i&&i.subclassOf&&i.subclassOf(s)))throw u.Error("E1004",t,n);f[n]=i})}),n.each(h,function(){var t=this.extenders;t&&(t.controllers&&n.each(t.controllers,function(n,t){r[n]&&(r[n]=r[n].inherit(t))}),t.views&&n.each(t.views,function(n,t){f[n]&&(f[n]=f[n].inherit(t))}))}),i.controllerTypes=r,i.viewTypes=f);c=function(t,i,r){var f=r.publicMethods();f&&n.each(f,function(n,f){if(r[f])if(t[f])throw u.Error("E1005",f);else t[f]=function(){return r[f].apply(r,arguments)};else throw u.Error("E1006",i,f);})};o=function(i){var r={};return n.each(i,function(n,i){var u=new i(t);u.name=n;c(t,n,u);r[n]=u}),r};t._controllers=o(r);t._views=o(f)},f=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)})},c;w("dxDataGrid",r,b.inherit({_activeStateUnit:".dx-row",_setDefaultOptions:function(){var t=this;t.callBase();n.each(r.dxDataGrid.modules,function(){n.isFunction(this.defaultOptions)&&t.option(this.defaultOptions())})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{"editing.editMode":{since:"15.2",alias:"editing.mode"},"editing.editEnabled":{since:"15.2",alias:"editing.allowUpdating"},"editing.insertEnabled":{since:"15.2",alias:"editing.allowAdding"},"editing.removeEnabled":{since:"15.2",alias:"editing.allowDeleting"}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{showRowLines:!0}},{device:function(){return a.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();h(n,r.dxDataGrid);f(n,"init")},_clean:n.noop,_optionChanged:function(n){var t=this;f(t,"optionChanged",[n]);n.handled||t.callBase(n)},_dimensionChanged:function(){this.updateDimensions(!0)},_visibilityChanged:function(n){n&&this.updateDimensions()},_renderContentImpl:function(){var n=this;n.getView("gridView").render(n.element())},_renderContent:function(){this._renderContentImpl()},_getTemplate:function(t){var r=t;return i.isString(r)&&r[0]==="#"&&(r=n(t),y.warn(k)),this.callBase(r)},_dispose:function(){var n=this;n.callBase();f(n,"dispose")},isReady:function(){return this.getController("data").isReady()},beginUpdate:function(){var n=this;n.callBase();f(n,"beginUpdate")},endUpdate:function(){var n=this;f(n,"endUpdate");n.callBase()},getController:function(n){return this._controllers[n]},getView:function(n){return this._views[n]},focus:function(n){this.callBase();i.isDefined(n)&&this.getController("keyboardNavigation").focus(n)}}));c=3;n.extend(r.dxDataGrid,function(){var f=function(){var n,u=arguments[1],r,t=this.calculateCellValue(u);if(i.isDefined(t)){if(this.dataType==="date")return r=arguments[0],d[r](t);if(this.dataType==="number")return n=arguments[0],Math.floor(Number(t)/n)*n}else return null},o=function(t){return i.isDate(t)?[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()]:n.map((""+t).split("/"),function(n,t){return t===1?Number(n)-1:Number(n)})},a=function(n,t,i){var c=this,h=u(c,i),e,s,f=o(n),l=r.dxDataGrid.getGroupInterval(c)[f.length-1];switch(l){case"year":e=new Date(f[0],0,1);s=new Date(f[0]+1,0,1);break;case"month":e=new Date(f[0],f[1],1);s=new Date(f[0],f[1]+1,1);break;case"quarter":e=new Date(f[0],3*f[1],1);s=new Date(f[0],3*f[1]+3,1);break;case"hour":e=new Date(f[0],f[1],f[2],f[3]);s=new Date(f[0],f[1],f[2],f[3]+1);break;case"minute":e=new Date(f[0],f[1],f[2],f[3],f[4]);s=new Date(f[0],f[1],f[2],f[3],f[4]+1);break;case"second":e=new Date(f[0],f[1],f[2],f[3],f[4],f[5]);s=new Date(f[0],f[1],f[2],f[3],f[4],f[5]+1);break;default:e=new Date(f[0],f[1],f[2]);s=new Date(f[0],f[1],f[2]+1)}switch(t){case"<":return[h,"<",e];case"<=":return[h,"<",s];case">":return[h,">=",s];case">=":return[h,">=",e];case"<>":return[[h,"<",e],"or",[h,">=",s]];default:return[[h,">=",e],"and",[h,"<",s]]}},v=function(n,t,f){var e=this,c,l,a,o=u(e,f),s=(""+n).split("/"),v=Number(s[s.length-1]),h=e.filterType==="exclude",y=r.dxDataGrid.getGroupInterval(e);return f==="headerFilter"&&y&&i.isDefined(n)?(c=y[s.length-1],l=[o,h?"<":">=",v],a=[o,h?">=":"<",v+c],[l,h?"or":"and",a]):[o,t||"=",n]},u=function(n,t){var i=n.dataField||n.selector;return t==="search"&&(i=n.displayField||n.calculateDisplayValue||i),i},y=function(n){var r=this,t=r.dataField;if(i.isArray(n)&&i.isDefined(n[0])&&i.isDefined(n[1]))return[[t,">=",n[0]],"and",[t,"<=",n[1]]]};return{__internals:{},modules:[],View:s,ViewController:nt,Controller:e,registerModule:function(n,t){for(var i=this.modules,r=0;r<i.length;r++)if(i[r].name===n)return;t.name=n;i.push(t);delete this.controllerTypes;delete this.viewTypes},unregisterModule:function(t){this.modules=n.grep(this.modules,function(n){return n.name!==t});delete this.controllerTypes;delete this.viewTypes},processModules:h,formatValue:function(n,t){var i=p.format(n,t.format,t.precision)||n&&n.toString()||"",r={value:n,valueText:t.getDisplayFormat?t.getDisplayFormat(i):i,target:t.target||"row",groupInterval:t.groupInterval};return t.customizeText?t.customizeText.call(t,r):r.valueText},getDisplayValue:function(n,t,i){return n.displayValueMap&&n.displayValueMap[t]!==undefined?n.displayValueMap[t]:n.calculateDisplayValue&&i?n.calculateDisplayValue(i):n.lookup?n.lookup.calculateCellValue(t):t},getGroupRowSummaryText:function(n,t){for(var u="(",f,i=0;i<n.length;i++)f=n[i],u+=(i>0?", ":"")+r.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?l.format(i,t,n.columnCaption):t},customizeText:n.customizeText})},equalKeys:function(n,t,u){var f,e;if(u=u||0,u<c){if(i.isObject(n)&&i.isObject(t)){for(f in n)if(n.hasOwnProperty(f)&&!r.dxDataGrid.equalKeys(n[f],t[f],u+1))return!1;for(f in t)if(!(f in n))return!1;return!0}if(i.isArray(n)&&i.isArray(t)){if(n.length!==t.length)return!1;for(e=0;e<n.length;e++)if(!r.dxDataGrid.equalKeys(n[e],t[e],u+1))return!1;return!0}return i.isDate(n)&&i.isDate(t)?n.getTime()===t.getTime():n===t}return!0},getIndexByKey:function(n,t,u){var e=-1,o,f;if(i.isArray(t))for(u=arguments.length<=2&&"key"||u,f=0;f<t.length;f++)if(o=i.isDefined(u)?t[f][u]:t[f],r.dxDataGrid.equalKeys(n,o)){e=f;break}return e},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},getFormatByDataType:function(n){switch(n){case"date":return"shortDate"}},defaultCalculateFilterExpression:function(n,t,r){var f=this,s=u(f,r),h=f.calculateDisplayValue&&r==="search",e=h&&f.lookup&&f.lookup.dataType||f.dataType,o=null;if(r==="headerFilter"&&n===null)o=[s,t||"=",null];else if(e==="string"&&(!f.lookup||h))o=[s,t||"contains",n];else{if(f.selectedFilterOperation==="between")return y.apply(f,arguments);if(e==="date"&&i.isDefined(n))return a.apply(f,arguments);if(e==="number")return v.apply(f,arguments);e!=="object"&&(o=[s,t||"=",n])}return o},getGroupDataSourceParameters:function(t,i){var r=[],u=t.dataField||t.name,e=this.getGroupInterval(t);return t.calculateGroupValue?i?[{selector:t.calculateGroupValue}]:n.proxy(t.calculateGroupValue,t):e?(n.each(e,function(e,o){r.push(i?{selector:u,groupInterval:o}:n.proxy(f,t,o))}),r):i?[{selector:u}]:function(n){var i=t.calculateCellValue(n);return i===undefined&&(i=null),i}},getGroupInterval:function(t){var f,u=[],e=["year","month","day","hour","minute","second"],r=t.headerFilter&&t.headerFilter.groupInterval,o=r==="quarter"?"month":r;return t.dataType==="date"?(u=g,f=n.inArray(o,e),f>=0)?(u=e.slice(0,f),u.push(r),u):u:i.isDefined(r)?i.isArray(r)?r:[r]:void 0},getKeyHash:function(n){if(i.isObject(n)||i.isArray(n))try{return JSON.stringify(n)}catch(t){return n}return n}}}())}(jQuery,DevExpress),function(n,t){var r=t.ui,i=r.dxDataGrid,f=t.require("/ui/ui.errors"),e=t.require("/utils/utils.browser"),o=t.require("/utils/utils.storage"),s=t.require("/utils/utils.common"),h=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/,u=function(t){t&&n.each(t,function(i,r){var f;n.isPlainObject(r)||n.isArray(r)?u(r):typeof r=="string"&&(f=h.exec(r),f&&(t[i]=new Date(Date.UTC(+f[1],+f[2]-1,+f[3],+f[4],+f[5],+f[6]))))})},c=function(t){var u=t.getController("columns"),e=t.getController("selection"),f=t.getController("export"),r=t.getController("data"),o=t.getView("pagerView");u&&u.columnsChanged.add(function(){var r=u.getUserState(),f=i.getKeyHash(r),e=i.getKeyHash(t._state.columns);i.equalKeys(e,f)||(n.extend(t._state,{columns:r}),t.isEnabled()&&t.save())});e&&e.selectionChanged.add(function(i){n.extend(t._state,{selectedRowKeys:i});t.isEnabled()&&t.save()});r&&(t._initialPageSize=t.option("paging.pageSize"),r.changed.add(function(){n.extend(t._state,{searchText:t.option("searchPanel.text"),pageIndex:r.pageIndex(),pageSize:r.pageSize(),allowedPageSizes:o?o.getPageSizes():undefined});t.isEnabled()&&t.save()}));f&&f.selectionOnlyChanged.add(function(){n.extend(t._state,{exportSelectionOnly:f.selectionOnly()});t.isEnabled()&&t.save()})},l=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()};i.StateStoringController=i.ViewController.inherit(function(){var t=function(n){var t=n.type==="sessionStorage"?o.sessionStorage():localStorage;if(!t)if(window.location.protocol==="file:"&&e.msie)throw new Error("E1038");else throw new Error("E1007");return t},i=function(n){return s.isDefined(n.storageKey)?n.storageKey:"storage"};return{_loadState:function(){var n=this.option("stateStoring");if(n.type==="custom")return n.customLoad&&n.customLoad();try{return JSON.parse(t(n).getItem(i(n)))}catch(r){f.log(r.message)}},_saveState:function(n){var r=this.option("stateStoring");if(r.type==="custom"){r.customSave&&r.customSave(n);return}try{t(r).setItem(i(r),JSON.stringify(n))}catch(u){}},publicMethods:function(){return["state"]},isEnabled:function(){return this.option("stateStoring.enabled")},init:function(){var t=this;return t._state={},t._isLoaded=!1,t._isLoading=!1,t._windowUnloadHandler=function(){t._savingTimeoutID!==undefined&&t._saveState(t.state())},n(window).on("unload",t._windowUnloadHandler),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),u(i._state);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.isLoaded()&&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:{stateStoring:{init:function(){this.callBase.apply(this,arguments);c(this)},state:function(t){var i=this.callBase.apply(this,arguments);return t!==undefined&&l(this,n.extend({},t)),i}},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 a=t.ui,p=t.require("/ui/ui.errors"),f=a.dxDataGrid,o=f.normalizeSortingInfo,h=t.require("/utils/utils.array").normalizeIndexes,v=t.require("/utils/utils.object"),w=t.require("/utils/utils.inflector"),c=t.require("/utils/utils.date"),r=t.require("/utils/utils.common"),b=t.require("/utils/utils.knockout"),e=t.data.utils,u=r.isDefined,y=["filterValues","filterType","fixed","fixedPosition"],s=["visibleIndex","dataField","name","dataType","width","visible","sortOrder","sortIndex","groupIndex","filterValue","selectedFilterOperation"].concat(y),k="dx-command-expand",l;f.checkChanges=function(n,t){for(var r=0,i=0;i<t.length;i++)n[t[i]]&&r++;return n.length&&n.length===r};l=f.Controller.inherit(function(){var kt={visible:!0,showInColumnChooser:!0},dt={number:["=","<>","<",">","<=",">=","between"],string:["contains","notcontains","startswith","endswith","=","<>"],date:["=","<>","<",">","<=",">=","between"]},ht={visibleIndex:!0,groupIndex:!0,grouped:!0,sortIndex:!0,sortOrder:!0},a="group",d="columnChooser",ft=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,{},kt,f,e,i,{selector:null}))},it=function(t,i){var r=[];return i&&n.each(i,function(n,i){var f=t._columnsUserState&&wt(i,t._columnsUserState[n])&&t._columnsUserState[n],u=ft(t,i,f);u&&r.push(u)}),r},ct=function(t){var r=n.type(t);return r!=="string"&&r!=="boolean"&&r!=="number"&&r!=="date"&&r!=="object"&&(r=i),r},lt=function(n,t){switch(n){case"date":return c.getDateSerializationFormat(t);case"number":if(r.isString(t))return"string"}},at=function(n,t){n.deserializeValue||(t==="date"&&(n.deserializeValue=function(n){return c.deserializeDate(n,this.serializationFormat)},n.serializeValue=function(n){return c.serializeDate(n,this.serializationFormat)}),t==="number"&&(n.deserializeValue=function(n){return r.isDefined(n)?Number(n):n},n.serializeValue=function(n){return r.isDefined(n)&&this.serializationFormat==="string"?n.toString():n}))},gt=function(n,t){switch(n){case"number":return"right";case"boolean":return"center";default:return r.getDefaultAlignment(t)}},ni=function(n){if(n==="boolean")return function(n){return n.value===!0?this.trueText||"true":n.value===!1?this.falseText||"false":n.valueText||""}},ti=function(n,t){for(var u=vt(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=ft(n,i),e.push(o));return e},rt=f.equalSortParameters=function(t,i){var r;if(t=o(t),i=o(i),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)},ii=f.equalFilterParameters=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(!ii(t[r],i[r]))return!1;return!0}return n.isFunction(t)&&t.columnIndex>=0&&n.isFunction(i)&&i.columnIndex>=0?t.columnIndex===i.columnIndex:e.toComparable(t)===e.toComparable(i)},vt=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},ri=function(t){n.each(t._columns,function(n,t){t.index=n});n.each(t._commandColumns,function(n,t){t.index=-(n+1)})},et=function(n,t){h(n._columns,"groupIndex",t,function(n){var t=n.grouped;return delete n.grouped,t})},yt=function(t,i){n.each(t._columns,function(n,t){u(t.sortIndex)&&!ut(t.sortOrder)&&delete t.sortIndex});h(t._columns,"sortIndex",i,function(n){return!u(n.groupIndex)&&ut(n.sortOrder)})},pt=function(n,t){h(n._columns,"visibleIndex",t)},ot=function(n,t,i){var f=i===a?n.getGroupColumns():i===d?n.getChooserColumns():n.getVisibleColumns(),r=f[t];return r&&u(r.index)?r.index:-1},ui=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},wt=function(n,t){return n&&t&&t.name===n.name&&(t.dataField===n.dataField||n.name)},bt=function(t){function l(t,i){var r,u;if(i)for(u=0;u<s.length;u++)(r=s[u],n.inArray(r,v)>=0)||(r==="dataType"?t[r]=t[r]||i[r]:n.inArray(r,y)>=0?r in i&&(t[r]=i[r]):t[r]=i[r])}function a(n,t){for(var i=t.name||t.dataField,u=o[i]||0,r=0;r<n.length;r++)if(wt(t,n[r]))if(u)u--;else return o[i]=o[i]||0,o[i]++,r;return-1}var e=t._columnsUserState,v=t._ignoreColumnOptionNames||[],c=t._columns,o={},h=[],i,r,f;if(e){for(f=0;f<c.length;f++)i=c[f],r=a(e,i,f),i=n.extend({},i),l(i,e[r]),r>=0&&u(e[r].initialIndex)?h[r]=i:h.push(i);g(t,h)}},tt=function(n,t){ri(n);et(n,t);yt(n,t);pt(n,t)},g=function(n,t){n._columns=t;n._visibleColumns=i;n.updateColumnDataTypes()},l=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},nt=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||r.optionNames.lookup)?t.reinit():(t.columnsChanged.firing=!0,t.columnsChanged.fire(r),t.columnsChanged.firing=!1))},st=function(t,i,u,f,o){var v=e.compileGetter(u),c=i.index,a,h,y;if(arguments.length===3)return v(i,{functionsAsIs:!0});v(i,{functionsAsIs:!0})!==f&&(y=u==="groupIndex"?"grouping":u==="sortIndex"||u==="sortOrder"?"sorting":"columns",a=e.compileSetter(u),a(i,f,{functionsAsIs:!0}),o||(n.inArray(u,s)<0&&u!=="visibleWidth"&&(h=t.option("columns"),i=h&&h[c],r.isString(i)&&(i=h[c]={dataField:i}),i&&a(i,f,{functionsAsIs:!0})),l(t,y,u,c)))},ut=function(n){return n==="asc"||n==="desc"},fi=function(n){n.addCommandColumn({command:"expand",width:"auto",cssClass:k,allowEditing:!1,allowGrouping:!1,allowSorting:!1,allowResizing:!1,allowReordering:!1,allowHiding:!1})},ei=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};return{_endUpdateCore:function(){nt(this)},init:function(){var n=this,t=n.option("columns");n._commandColumns=n._commandColumns||[];n._columns=n._columns||[];fi(n);n._isColumnsFromOptions=!!t;n._isColumnsFromOptions?(g(n,t?it(n,t):[]),bt(n)):g(n,n._columnsUserState?it(n,n._columnsUserState):n._columns);n._dataSourceApplied?n.applyDataSource(n._dataSource,!0):tt(n)},callbackNames:function(){return["columnsChanged"]},optionChanged:function(n){switch(n.name){case"adaptColumnWidthByRatio":n.handled=!0;break;case"columns":n.handled=!0;this._columnsUserState=null;this._ignoreColumnOptionNames=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","deleteColumn","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||(g(i,ti(i,n)),i._dataSourceColumnsCount=i._columns.length,bt(i)),i.updateColumns(n,t)):void 0},reset:function(){this._dataSourceApplied=!1;this._dataSourceColumnsCount=i;this.reinit()},reinit:function(){this._columnsUserState=this.getUserState();this._ignoreColumnOptionNames=null;this.init()},isInitialized:function(){return!!this._columns.length},isDataSourceApplied:function(){return this._dataSourceApplied},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 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),t>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=[{},{},{}],f={},e=0,r,o=this.option("rtlEnabled"),s=this._columns.length?this._commandColumns.concat(this._columns):[];return n.each(s,function(){var t=this,s=t.visibleIndex,h;t.visible&&(!u(t.groupIndex)||t.showWhenGrouped)&&(t=n.extend(!0,{},t),s<0?(s=-s,h=f):t.fixed||t.command?(r=t.fixedPosition==="right",o&&(r=!r),h=r||t.command?i[2]:i[0]):h=i[1],h[s]=h[s]||[],h[s].push(t),e++)}),v.orderEach(f,function(n,i){t.unshift.apply(t,i)}),n.each(i,function(n,i){v.orderEach(i,function(n,i){t.push.apply(t,i)})}),!e&&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=ot(f,n,i),u=f._columns[e];return u&&(u.allowReordering||u.allowGrouping||u.allowHiding)?i===r?i===d?!1:n!==t&&n+1!==t:i===a&&r!==d||r===a?u&&u.allowGrouping:i===d||r===d?u&&u.allowHiding:!0:!1},moveColumn:function(n,t,r,f){var e=this,c,s,h,y=r===a||f===a,o,v;c=ot(e,n,r);s=ot(e,t,f);c>=0&&(o=e._columns[c],h=s>=0?e._columns[s].groupIndex:-1,u(o.groupIndex)&&r===a&&(h>o.groupIndex&&h--,delete o.groupIndex,delete o.sortOrder,et(e)),f===a?(ui(e,o,h),et(e)):t>=0&&(s<0?o.visibleIndex=i:(v=e._columns[s],o.visibleIndex=o.fixed^v.fixed?i:v.visibleIndex),pt(e,o)),o.visible=f!==d,l(e,y?"grouping":"columns"),nt(e))},changeSortOrder:function(t,i){var f=this,s=f.option("sorting"),o=s&&s.mode,h=o==="single"||!i,c=o==="single"||o==="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},e=!1;c&&r&&r.allowSorting&&(h&&!u(r.groupIndex)&&n.each(f._columns,function(n){n!==t&&this.sortOrder&&!u(this.groupIndex)&&(delete this.sortOrder,delete this.sortIndex,e=!0)}),ut(i)?r.sortOrder!==i&&(r.sortOrder=i,e=!0):i==="none"?r.sortOrder&&(delete r.sortIndex,delete r.sortOrder,e=!0):e=a(r));e&&(yt(f),l(f,"sorting"),nt(f))},getSortDataSourceParameters:function(t){var f=this,r=[],i=[];return n.each(f._columns,function(){(this.dataField||this.selector||this.calculateCellValue)&&u(this.sortIndex)&&!u(this.groupIndex)&&(r[this.sortIndex]=this)}),n.each(r,function(){var n=this&&this.sortOrder;ut(n)&&i.push({selector:this.calculateSortValue||t&&this.selector||this.dataField||this.calculateCellValue,desc:this.sortOrder==="desc"})}),i.length>0?i:null},getGroupDataSourceParameters:function(t){var i=[];return n.each(this.getGroupColumns(),function(){var n=this.calculateGroupValue||t&&this.selector||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&&!this.calculateDisplayValue){if(t&&n.valueMap)return;n.update&&i.push(n.update())}}),n.when.apply(n,i)},updateColumnDataTypes:function(t){var i=vt(t),o=this.option("rtlEnabled");n.each(this._columns,function(t,s){var l,v,c,y,a,h=s.lookup;if(s.calculateCellValue&&i.length){if(!s.dataType||h&&!h.dataType){for(l=0;l<i.length;l++)v=s.calculateCellValue(i[l]),a=s.dataType||ct(v),c=c||a,c&&a&&c!==a&&(c="string"),h&&(a=h.dataType||ct(f.getDisplayValue(s,v,i[l])),y=y||a,y&&a&&y!==a&&(y="string"));s.dataType=c;h&&(h.dataType=y)}if(!s.serializationFormat||h&&!h.serializationFormat)for(l=0;l<i.length;l++)v=s.calculateCellValue(i[l],!0),s.serializationFormat=s.serializationFormat||lt(s.dataType,v),h&&(h.serializationFormat=h.serializationFormat||lt(h.dataType,h.calculateCellValue(v,!0)))}s.selector=s.selector||function(n){return s.calculateCellValue(n)};n.each(["calculateSortValue","calculateGroupValue"],function(n,t){var i=s[t];r.isFunction(i)&&!i.isProxy&&(s[t]=function(n){return i.call(s,n)},s[t].isProxy=!0)});r.isString(s.calculateDisplayValue)&&(s.displayField=s.calculateDisplayValue,s.calculateDisplayValue=e.compileGetter(s.displayField));s.calculateDisplayValue&&(s.displayValueMap=s.displayValueMap||{});at(s,s.dataType);h&&at(h,h.dataType);c=h?h.dataType:s.dataType;c&&(s.alignment=s.alignment||gt(c,o),s.format=s.format||f.getFormatByDataType(c),s.customizeText=s.customizeText||ni(c),u(s.filterOperations)||(s.filterOperations=!h&&dt[c]||[]),s.defaultFilterOperation=s.filterOperations&&s.filterOperations[0]||"=",s.defaultSelectedFilterOperation=s.selectedFilterOperation,s.showEditorAlways=u(s.showEditorAlways)?s.showEditorAlways:c==="boolean"&&!s.cellTemplate)})},_customizeColumns:function(n){var t=this,i=t.option("customizeColumns");i&&(i(n),g(t,it(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),tt(r),n.when(r.refresh(!0)).always(function(){t&&(r.updateColumnDataTypes(t),r._dataSourceApplied=!0);rt(u,r.getSortDataSourceParameters())||l(r,"sorting");rt(f,r.getGroupDataSourceParameters())||l(r,"grouping");l(r,"columns");nt(r)})):void 0},updateSortingGrouping:function(t,r){var u=this,f,e,s,h,c,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()),e=o(t.group()),s=u.getGroupDataSourceParameters(),h=u.getSortDataSourceParameters(),u._columns.length||(n.each(e,function(n,t){u._columns.push(t.selector)}),n.each(f,function(n,t){u._columns.push(t.selector)}),g(u,it(u,u._columns))),!r&&(s||u._hasUserState)||rt(e,s)||(a(u._columns,e,"groupIndex"),r&&(l(u,"grouping"),c=!0)),!r&&(h||u._hasUserState)||rt(f,h)||(a(u._columns,f,"sortIndex"),r&&(l(u,"sorting"),c=!0)),c&&nt(u))},updateFilter:function(t,i,u){var o=this,f,e;if(!r.isArray(t))return t;for(t=n.extend([],t),u=t.columnIndex||u,i&&r.isString(t[0])?(f=o.columnOption(t[0]),f&&f.selector&&(t[0]=f.selector,t[0].columnIndex=f.index)):r.isFunction(t[0])&&(t[0].columnIndex=u),e=0;e<t.length;e++)t[e]=o.updateFilter(t[e],i,u);return t},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,a,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 st(c,h,u);a=a||ht[u];st(c,h,u,f,e)}else r.isObject(u)&&n.each(u,function(n,t){a=a||ht[n];st(c,h,n,t,e)});a&&tt(c,h);nt(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=ft(t,n);t._columns.push(i);tt(t,i);t.updateColumns(t._dataSource)},deleteColumn:function(n){var t=this,i=t.columnOption(n,"index");i>=0&&(t._columns.splice(i,1),tt(t),t.updateColumns(t._dataSource))},addCommandColumn:function(n){for(var t=this._commandColumns,i=0;i<t.length;i++)if(t[i].command===n.command)return;t.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(s,f);return u},setUserState:function(n){var t=this,r,i=t.option("stateStoring.ignoreColumnOptionNames");i||(i=[],r=t.getCommonSettings(),t.option("columnChooser.enabled")||i.push("visible"),t.option("sorting.mode")==="none"&&i.push("sortIndex","sortOrder"),r.allowGrouping||i.push("groupIndex"),r.allowFixing||i.push("fixed","fixedPosition"),r.allowResizing||i.push("width","visibleWidth"),t.option("filterRow.visible")||i.push("filterValue","selectedFilterOperation"),t.option("headerFilter.visible")||i.push("filterValues","filterType"));t._columnsUserState=n;t._ignoreColumnOptionNames=i;t._hasUserState=!!n;t.init()},_createCalculatedColumnOptions:function(i){var u={},o=i.dataField,s;return o?(r.isString(o)&&(s=e.compileGetter(o),u={caption:w.captionize(o),calculateCellValue:function(n,t){var i=s(n);return this.deserializeValue&&!t?this.deserializeValue(i):i},setCellValue:ei,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}}),u.allowFiltering=!0):u.allowFiltering=!!i.calculateFilterExpression,u.calculateFilterExpression=function(){return f.defaultCalculateFilterExpression.apply(this,arguments)},u.createFilterExpression=function(){var n;return this.calculateFilterExpression&&(n=this.calculateFilterExpression.apply(this,arguments)),n&&(n.columnIndex=this.index),n},o&&r.isString(o)||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 this.valueExpr&&(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=e.compileGetter(this.valueExpr),r=e.compileGetter(this.displayExpr),n=0;n<this.items.length;n++)t=this.items[n],this.valueMap[i(t)]=r(t)},update:function(){var i=this,n=i.dataSource,u;if(n)if(r.isFunction(n)&&!b.isObservable(n)&&(n=n({})),r.isObject(n)||r.isArray(n)){if(i.valueExpr)return u=e.normalizeDataSourceOptions(n),u.paginate=!1,n=new t.data.DataSource(u),n.load().done(function(n){i.items=n;i.updateValueMap&&i.updateValueMap()})}else p.log("E1016");else i.updateValueMap&&i.updateValueMap()}}),u.resizedCallbacks=n.Callbacks(),i.resized&&u.resizedCallbacks.add(n.proxy(i.resized,i)),n.each(u,function(n){var t;r.isFunction(u[n])&&n.indexOf("default")!==0&&(t="default"+n.charAt(0).toUpperCase()+n.substr(1),u[t]=u[n])}),u}}}());a.dxDataGrid.ColumnsController=l;f.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,adaptColumnWidthByRatio:!0,columns:i,regenerateColumnsByVisibleItems:!1,customizeColumns:null}},controllers:{columns:l}})}(jQuery,DevExpress),function(n,t){var u=t.ui.dxDataGrid,i=t.require("/utils/utils.common"),v=t.require("/utils/utils.support"),y=t.require("/ui/events/ui.events.utils"),f=u.getKeyHash,s="dx-editor-cell",p="dx-row",h="dx-selection",e="dx-select-checkbox",w="dx-select-checkboxes-hidden",c="dx-command-select",b="dx-selection-disabled",l="dx-data-row",r="selection.showCheckBoxesMode",o="selection.mode",k=function(n){return n==="single"||n==="multiple"},a=function(t,i){var u=t.getController("selection"),e=t.getView("rowsView"),o=n(i.target).closest("."+l),f=e.getRowIndex(o);f<0||(t.option(r)==="onLongTap"?u.isSelectionWithCheckboxes()?u.stopSelectionWithCheckboxes():u.startSelectionWithCheckboxes():(t.option(r)==="onClick"&&u.startSelectionWithCheckboxes(),u.changeItemSelection(f,{control:!0})))};u.SelectionController=u.Controller.inherit(function(){var s=function(n,t,r){var u,f,e=r?n._unselectedItemKeys:n._selectedItemKeys;if(i.isObject(t)){for(u=0;u<e.length;u++)if(v(e[u],t))return u;return-1}return f=n._selectedItemKeyHashIndices[t],f&&f[0]>=0?f[0]:-1},h=function(n,t){var r=n.getController("data").keyOf(t),u=f(r);s(n,u)===-1&&(i.isObject(u)||(n._selectedItemKeyHashIndices[u]=[n._selectedItemKeys.length]),n._selectedItemKeys.push(r),n._addedItemKeys.push(r),n._selectedItems.push(t))},l=function(n,t){var o=f(t),r=s(n,o),h,u,c,e;if(r>=0&&(n._selectedItemKeys.splice(r,1),n._removedItemKeys.push(t),n._selectedItems.splice(r,1),!i.isObject(o)&&(c=n._selectedItemKeyHashIndices[o],c)))for(c.shift(),c.length||delete n._selectedItemKeyHashIndices[o],h=r;h<n._selectedItemKeys.length;h++)if(u=n._selectedItemKeyHashIndices[f(n._selectedItemKeys[h])],u)for(e=0;e<u.length;e++)u[e]>r&&u[e]--},b=function(n){a(n,[],[])},a=function(t,r,u){var e,o,h,s=t._selectedItemKeys;for(t._selectedItemKeys=r,t._selectedItemKeyHashIndices={},t._selectedItems=u,t._unselectedItemKeys=[],e=0;e<s.length;e++)n.inArray(s[e],r)===-1&&t._removedItemKeys.push(s[e]);for(e=0;e<r.length;e++)o=f(r[e]),i.isObject(o)||(h=t._selectedItemKeyHashIndices[o]=t._selectedItemKeyHashIndices[o]||[],h.push(e)),n.inArray(r[e],s)===-1&&t._addedItemKeys.push(r[e])},v=u.equalKeys,w=function(n){delete n._shiftFocusedItemIndex},e=function(n){return n&&n.rowType==="data"&&!n.inserted},d=function(n,t,r){var f=!1,o,u,c=n.getController("data"),a=r[n._focusedItemIndex]&&n.isRowSelected(c.keyOf(r[n._focusedItemIndex].data)),s=function(n,t,i){i?l(n,c.keyOf(t)):h(n,t)};if(i.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)e(r[u])&&(s(n,r[u].data,!0),f=!0);if(t!==n._shiftFocusedItemIndex)for(o=t<n._shiftFocusedItemIndex?1:-1,u=t;u!==n._shiftFocusedItemIndex;u+=o)e(r[u])&&(s(n,r[u].data,!1),f=!0);return e(r[n._focusedItemIndex])&&!a&&(s(n,r[n._focusedItemIndex].data,!1),f=!0),f},g=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(v(i[t],n))return!r;return r}),u.length>0||n.isFunction(u)?u:void 0},y=function(t){var i=[],u=t.getController("data"),s=t.isSelectionWithCheckboxes(),f,o;u&&(n.each(u.items(),function(n,r){e(r)&&r.isSelected!==t.isRowSelected(r.key)&&i.push(n)}),t.option(r)==="onClick"&&(t._selectedItemKeys.length>1?t.startSelectionWithCheckboxes():t._selectedItemKeys.length===0&&t._removedItemKeys.length&&t.stopSelectionWithCheckboxes()),(i.length||s!==t.isSelectionWithCheckboxes())&&u.updateItems({changeType:"updateSelection",itemIndexes:i}),f=t._addedItemKeys,o=t._removedItemKeys,(f.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:f,currentDeselectedRowKeys:o})))},p=function(n){var t=n.getController("columns"),i=n.isSelectColumnVisible();t.addCommandColumn({command:"select",visible:i,visibleIndex:-1,dataType:"boolean",alignment:"center",cssClass:c,width:"auto"});t.columnOption("command:select","visible",i)};return{init:function(){var n=this;n._isSelectionWithCheckboxes=!1;n._focusedItemIndex=-1;n._selectedItemKeys=[];n._selectedItemKeyHashIndices={};n._unselectedItemKeys=[];n._selectedItems=[];n._addedItemKeys=[];n._removedItemKeys=[];p(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":i.isArray(n.value)&&!t._selectedItemsInternalChange&&t.selectRows(n.value);n.handled=!0}},publicMethods:function(){return["selectRows","deselectRows","selectRowsByIndexes","getSelectedRowKeys","getSelectedRowsData","clearSelection","selectAll","deselectAll","startSelectionWithCheckboxes","stopSelectionWithCheckboxes","isRowSelected"]},isRowSelected:function(n){var t=f(n),i=s(this,t);return i!==-1},isSelectColumnVisible:function(){var n=this.option(r);return this.option(o)==="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(r)==="onClick"&&this.startSelectionWithCheckboxes(),this.selectedItemKeys([],!0,!1,!0)},deselectAll:function(){return this.selectedItemKeys([],!0,!0,!0)},clearSelection:function(){return this.selectedItemKeys([])},refresh:function(){return this.selectedItemKeys(this.option("selectedRowKeys")||[])},selectedItemKeys:function(r,u,f,e){var c=this,b,o,d,s,tt=c.getController("data"),p=tt.dataSource(),nt=p&&p.store(),w,v,k=[],it;if(i.isDefined(r)){if(nt&&(b=n.isArray(r)?n.extend([],r):[r],b.length||e)){if(o=g(p,b,e),d=n.isFunction(o),e&&(w=tt.getCombinedFilter(),f&&!w))return c.clearSelection();(o||e)&&(o&&!d&&w?(v=[],v.push(o),v.push(w)):w?v=w:o&&!d&&(v=o),s=n.Deferred(),f&&new t.data.ArrayStore(c._selectedItems).load({filter:v}).done(function(n){k=n}),it={filter:v,select:p.select()},new t.data.ArrayStore(k.length?k:p.items()).load({filter:o}).done(function(i){!e&&(k.length||i.length===b.length)?s.resolve(i):p.load(it).done(function(n){new t.data.ArrayStore(n).load({filter:o}).done(s.resolve)}).fail(n.proxy(s.reject,s))}))}return s=s||n.Deferred().resolve([]),s.done(function(n){var t,i,r,e=[];if(nt&&n.length>0)for(t=0;t<n.length;t++)r=n[t],i=nt.keyOf(r),u?f?l(c,i):h(c,r):e.push(i);u||a(c,e,n);y(c)}),s}return c._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(),r=[];return i.isArray(t)||(t=Array.prototype.slice.call(arguments,0)),n.each(t,function(){var n=u[this];n&&n.rowType==="data"&&r.push(n.key)}),this.selectRows(r)},getSelectedRowsData:function(){return this._selectedItems},changeItemSelection:function(n,t){var i=this,p=i.getController("data"),g=p.items(),u=g[n],s=u&&(u.oldData||u.data),c=i.option(o),f,nt,r;return k(c)&&e(u)&&(r=p.keyOf(s),t=t||{},i.isSelectionWithCheckboxes()&&(t.control=!0),t.shift&&c==="multiple"&&i._focusedItemIndex>=0?f=d(i,n,g):t.control?(w(i),nt=i.isRowSelected(r),c==="single"&&b(i),nt?l(i,r):h(i,s),f=!0):(w(i),i._selectedItemKeys.length===1&&v(i._selectedItemKeys[0],r)||(a(i,[r],[s]),f=!0)),f)?(i._focusedItemIndex=n,y(i),!0):!1},focusedItemIndex:function(n){var t=this;if(i.isDefined(n))t._focusedItemIndex=n;else return t._focusedItemIndex},isSelectionWithCheckboxes:function(){var n=this.option(o),t=this.option(r);return n==="multiple"&&(t==="always"||this._isSelectionWithCheckboxes)},startSelectionWithCheckboxes:function(){var n=this,t=n.isSelectColumnVisible();return n.option(o)==="multiple"&&!n.isSelectionWithCheckboxes()?(n._isSelectionWithCheckboxes=!0,p(n),t===n.isSelectColumnVisible()&&n.option(r)==="onClick"&&y(n),!0):!1},stopSelectionWithCheckboxes:function(){var n=this;return n._isSelectionWithCheckboxes?(n._isSelectionWithCheckboxes=!1,p(n),!0):!1}}}());u.registerModule("selection",{defaultOptions:function(){return{selection:{mode:"none",showCheckBoxesMode:"onClick",allowSelectAll:!0},selectedRowKeys:[]}},controllers:{selection:u.SelectionController},extenders:{controllers:{data:{setDataSource:function(n){this.callBase(n);n&&this.getController("selection").refresh()},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(){var i=this,t=n.Deferred();return this.callBase.apply(this,arguments).done(function(){i.getController("selection").refresh().done(t.resolve).fail(t.reject)}).fail(t.reject),t.promise()}},contextMenu:{_contextMenuPrepared:function(n){var t=n.jQueryEvent;t.originalEvent.type!=="dxhold"||n.items&&n.items.length>0||a(this,t)}}},views:{columnHeadersView:{init:function(){var t=this;t.callBase();t.getController("selection").selectionChanged.add(n.proxy(t._updateSelectAllValue,t))},_updateSelectAllValue:function(){var n=this,t=n.element().find("."+e);n.option("selection.mode")==="multiple"&&t.length&&t.dxCheckBox("instance").option("value",n.getController("selection").isSelectAll())},_handleDataChanged:function(n){this.callBase(n);n&&n.changeType!=="refresh"||this._updateSelectAllValue()},_getDefaultTemplate:function(t){var i=this,u,r=i.getController("selection");return t.command==="select"?function(t,f){var o=f.column;if(o.command==="select"){t.addClass(s);u=n("<div />").appendTo(t).addClass(e);i.setAria("label",Globalize.localize("dxDataGrid-ariaSelectAll"),t);i.getController("editorFactory").createEditor(u,n.extend({},o,{parentType:"headerRow",value:r.isSelectAll(),editorOptions:{visible:i.option("selection.allowSelectAll")||r.isSelectAll()!==!1},tabIndex:-1,setValue:function(n,t){var u=i.option("selection.allowSelectAll");t.jQueryEvent&&r.isSelectAll()!==n&&((t.previousValue===undefined||t.previousValue)&&(r.deselectAll(),t.component.option("value",!1)),t.previousValue===!1&&(u?r.selectAll():t.component.option("value",!1)),t.jQueryEvent.preventDefault());t.component.option("visible",u||t.component.option("value")!==!1)}}));t.on("dxclick",i.createAction(function(t){var i=t.jQueryEvent;n(i.target).closest("."+e).length||n(i.currentTarget).children().trigger("dxclick");i.preventDefault()}))}}:i.callBase(t)}},rowsView:{_getDefaultTemplate:function(t){var i=this,r;return t.command==="select"?function(u,f){if(f.rowType==="data"&&!f.row.inserted){u.addClass(s);u.on("dxclick",i.createAction(function(t){var r=i.getController("selection"),u=t.jQueryEvent,f=i.getRowIndex(n(u.currentTarget).closest("."+p));f>=0&&(r.startSelectionWithCheckboxes(),r.changeItemSelection(f,{shift:u.shiftKey}))}));i.setAria("label",Globalize.localize("dxDataGrid-ariaSelectRow"),u);r=n("<div />").addClass(e).appendTo(u);i.getController("editorFactory").createEditor(r,n.extend({},t,{parentType:"dataRow",value:f.value,tabIndex:-1,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,f){var s,o;t.items[f]&&(s=i._getRowElements(n(u)).eq(f),o=!!t.items[f].isSelected,s.toggleClass(h,o).find("."+e).dxCheckBox("option","value",o),i.setAria("selected",o,s))})}),i._updateCheckboxesClass()):i.callBase(t)},_createTable:function(){var n=this,i=n.option("selection.mode"),t=n.callBase.apply(n,arguments);if(i!=="none"){if(n.option(r)==="onLongTap"||!v.touch)t.on(y.addNamespace("dxhold","dxDataGridRowsView"),"."+l,n.createAction(function(t){a(n.component,t.jQueryEvent);t.jQueryEvent.stopPropagation()}));t.on("mousedown selectstart",n.createAction(function(n){var t=n.jQueryEvent;t.shiftKey&&t.preventDefault()}))}return t},_createRow:function(n){var t=this.callBase(n),i;return n&&(i=!!n.isSelected,t.toggleClass(h,i),this.setAria("selected",i,t)),t},_rowClick:function(t){var u=this,i=t.jQueryEvent,f=n(i.target).closest("."+c).length,e=n(i.target).closest("."+b).length;f||(e||u.option(r)==="always"||u.getController("selection").changeItemSelection(t.rowIndex,{control:i.ctrlKey,shift:i.shiftKey})&&(i.preventDefault(),t.handled=!0),u.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(w,r)})}}}}})}(jQuery,DevExpress),function(n,t){var f=t.ui.dxDataGrid,r=t.require("/utils/utils.browser"),w=t.require("/devices"),c=t.require("/utils/utils.position"),b=t.require("/utils/utils.formatHelper").defaultDateTimeFormat,i=t.require("/utils/utils.common"),k=t.require("/utils/utils.knockout"),l=t.require("/ui/events/ui.events.utils"),e=t.require("/ui/events/pointer/ui.events.pointer"),a=l.addNamespace,d="dx-datagrid-checkbox-size",o="dx-cell-focus-disabled",g="dx-editor-inline-block",v="dxDataGridEditorFactory",y=a(e.down+" focusin dxclick",v),p="dx-datagrid-focus-overlay",s="dx-focused",nt="dx-datagrid-content",h="dx-pointer-events-target",tt="dx-pointer-events-none",u="dx-hidden",it=9;f.EditorFactoryController=f.ViewController.inherit(function(){var f=function(t,i){return n.extend(t,{readOnly:i.readOnly,placeholder:i.placeholder,attr:{id:i.id}},i.editorOptions)},rt=function(n){var e=r.msie&&parseInt(r.version)<=11||w.real().ios,t=!1,u={},o=n.sharedData||u;return f({placeholder:n.placeholder,width:n.width,value:n.value,onValueChanged:function(r){var f=function(i,r){t=!1;n&&n.setValue(i.value,r)};window.clearTimeout(u.valueChangeTimeout);r.jQueryEvent&&r.jQueryEvent.type==="keyup"?n.parentType==="filterRow"||n.parentType==="searchPanel"?o.valueChangeTimeout=u.valueChangeTimeout=window.setTimeout(function(){f(r,u.valueChangeTimeout!==o.valueChangeTimeout)},i.isDefined(n.updateValueTimeout)?n.updateValueTimeout:0):t=!0:f(r)},onFocusOut:function(i){e&&t&&(t=!1,n.setValue(i.component.option("value")))},onKeyDown:function(i){e&&t&&i.jQueryEvent.keyCode===13&&(t=!1,n.setValue(i.component.option("value")))},valueChangeEvent:"change"+(n.parentType==="filterRow"||e?" keyup":"")},n)},ft=function(n){n.editorName="dxDateBox";n.editorOptions=f({value:n.value,onValueChanged:function(t){n.setValue(t.value)},formatString:i.isString(n.format)&&b[n.format.toLowerCase()]||n.format,formatWidthCalculator:null,width:"auto"},n)},et=function(n){var t=rt(n),r=n.parentType==="searchPanel",u=function(n){return i.isDefined(n)?n.toString():""};t.value=u(n.value);t.valueChangeEvent+=r?" keyup search":"";t.mode=r?"search":"text";n.editorName="dxTextBox";n.editorOptions=t},ot=function(n){var t=rt(n);t.value=i.isDefined(n.value)?n.value:null;n.editorName="dxNumberBox";n.editorOptions=t},st=function(t){t.parentType==="filterRow"?ut(n.extend(t,{lookup:{displayExpr:function(n){return n===!0?t.trueText||"true":n===!1?t.falseText||"false":void 0},dataSource:[!0,!1]}})):ht(t)},ut=function(n){var u=n.lookup,s,r,e,o=n.parentType==="filterRow";u&&(s=t.data.utils.compileGetter(u.displayExpr),r=u.dataSource,i.isFunction(r)&&!k.isObservable(r)&&(r=r(n.row||{})),(i.isObject(r)||i.isArray(r))&&(r=t.data.utils.normalizeDataSourceOptions(r),o&&(e=r.postProcess,r.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=f({searchEnabled:!0,value:n.value,valueExpr:n.lookup.valueExpr,searchExpr:n.lookup.searchExpr||n.lookup.displayExpr,showClearButton:Boolean(u.allowClearing&&!o),displayExpr:function(t){return t===null?n.showAllText:s(t)},dataSource:r,onValueChanged:function(t){var i=[t.value];o||i.push(t.component.option("text"));n.setValue.apply(this,i)}},n))},ht=function(n){n.editorName="dxCheckBox";n.editorOptions=f({value:n.value,hoverStateEnabled:!n.readOnly,focusStateEnabled:!n.readOnly,activeStateEnabled:!1,onValueChanged:function(t){n.setValue&&n.setValue(t.value,t)},tabIndex:n.tabIndex?n.tabIndex:0},n)},ct=function(t,i){i.editorName&&i.editorOptions&&i.editorElement[i.editorName]&&(i.editorName==="dxCheckBox"&&i.editorElement.addClass(d),t._createComponent(i.editorElement,i.editorName,i.editorOptions),i.editorName==="dxTextBox"&&i.editorElement.dxTextBox("instance").registerKeyHandler("enter",n.noop))};return{_getFocusedElement:function(n){return n.find("[tabindex]:focus, input:focus")},_updateFocusCore:function(){var n=this._$focusedElement,i=this.component&&this.component.element(),t,r;if(i&&(n=this._getFocusedElement(i),n.length&&(n.hasClass(o)||(t=n.closest(".dx-row > td, ."+o),r=t.get(0)!==n.get(0)&&t.hasClass(g),n=t),n.length&&!n.hasClass(o)))){this.focus(n,r);return}this.loseFocus()},_updateFocus:function(t){var i=this,r=t&&t.jQueryEvent&&n(t.jQueryEvent.target).hasClass(p);i._isFocusOverlay=i._isFocusOverlay||r;clearTimeout(i._updateFocusTimeoutID);i._updateFocusTimeoutID=setTimeout(function(){delete i._updateFocusTimeoutID;i._isFocusOverlay||i._updateFocusCore();i._isFocusOverlay=!1})},_updateFocusOverlaySize:function(t,i){var r=c.calculate(t,n.extend({collision:"fit"},i));r.h.oversize>0&&t.outerWidth(t.outerWidth()-r.h.oversize);r.v.oversize>0&&t.outerHeight(t.outerHeight()-r.v.oversize)},callbackNames:function(){return["focused"]},focus:function(t,i){var f=this;if(t===undefined)return f._$focusedElement;t&&setTimeout(function(){var e=f._$focusOverlay=f._$focusOverlay||n("<div>").addClass(p+" "+h),l,a,o;i?f._$focusOverlay&&f._$focusOverlay.addClass(u):(a=r.msie?"left bottom":r.mozilla?"right bottom":"left top",o=t.closest("."+nt),e.removeClass(u).appendTo(o).outerWidth(t.outerWidth()+1).outerHeight(t.outerHeight()+1),l={my:a,at:a,of:t,boundary:o.length&&o},f._updateFocusOverlaySize(e,l),c.setup(e,l),e.css("visibility","visible"));f._$focusedElement&&f._$focusedElement.removeClass(s);t.addClass(s);f._$focusedElement=t;f.focused.fire(t)})},resize:function(){var n=this._$focusedElement;n&&this.focus(n)},loseFocus:function(){this._$focusedElement&&this._$focusedElement.removeClass(s);this._$focusedElement=null;this._$focusOverlay&&this._$focusOverlay.addClass(u)},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(y,this._updateFocusHandler);this._attachContainerEventHandlers()},_attachContainerEventHandlers:function(){var t=this,i=t.component&&t.component.element(),u=r.msie&&parseInt(r.version)<11;if(i){i.on(a("keydown",v),function(n){n.which===it&&t._updateFocusHandler(n)});u&&i.on([e.down,e.up,"dxclick"].join(" "),"."+h,n.proxy(t._focusOverlayEventProxy,t))}},_focusOverlayEventProxy:function(t){var i=n(t.target),r=n(t.currentTarget),f,o=i.hasClass(h)||i.hasClass(tt),e=this._$focusedElement;o&&!r.hasClass(u)&&(r.addClass(u),f=i.get(0).ownerDocument.elementFromPoint(t.clientX,t.clientY),l.fireEvent({originalEvent:t,target:f}),t.stopPropagation(),r.removeClass(u),e&&e.find("input").focus())},dispose:function(){clearTimeout(this._updateFocusTimeoutID);n(document).off(y,this._updateFocusHandler)},createEditor:function(n,t){if(t.cancel=!1,t.editorElement=n,t.lookup)ut(t);else switch(t.dataType){case"date":ft(t);break;case"boolean":st(t);break;case"number":ot(t);break;default:et(t)}(this.executeAction("onEditorPreparing",t),t.cancel)||(ct(this,t),this.executeAction("onEditorPrepared",t))}}}());f.registerModule("editorFactory",{defaultOptions:function(){return{}},controllers:{editorFactory:f.EditorFactoryController},extenders:{controllers:{columnsResizer:{_startResizing:function(n){this.callBase(n);this.isResizing()&&this.getController("editorFactory").loseFocus()}}}}})}(jQuery,DevExpress),function(n,t,i){var h=t.ui,c=t.require("/utils/utils.browser"),r=t.require("/utils/utils.common"),l=t.require("/devices"),u=h.dxDataGrid,o="dx-datagrid-scroll-container",s="dx-row",a="dx-datagrid-group-space",v="dx-group-row",y="dx-master-detail-row",p="dx-datagrid-content",w="dx-datagrid-table",f="dx-column-indicators",b="dx-datagrid-table-fixed",k="dx-indicator-alignment-",e="dxCellHintVisible",d={sort:"dx-sort",headerFilter:"dx-header-filter"},g={render:function(n,t){t.append(n)}};u.getWidths=function(t){var u,f=[],i,r;return t&&(u=t.children("tbody").children("tr").filter(":not(."+v+")").filter(":not(."+y+")").first().find("> td"),n.each(u,function(n,t){i=t.offsetWidth;t.getBoundingClientRect&&(r=t.getBoundingClientRect(),r.width>i&&(i=Math.ceil(r.width)));f.push(i)})),f};u.ColumnsView=u.View.inherit({_getColumnAlignment:function(n,t){return t=t||this.option("rtlEnabled"),n!=="center"?n:r.getDefaultAlignment(t)},_applyColumnState:function(t){var u=this,f=this.option("rtlEnabled"),i=u._getColumnAlignment(t.column.alignment,f),r=n.extend(!0,{columnAlignment:i},t),e=u._createIndicatorContainer(r),o=n("<span />").addClass(d[t.name]),s=function(){return f?i==="left"?"right":"left":i};return r.container=e,r.indicator=o,u._renderIndicator(r),e[!t.showColumnLines&&s()==="left"?"appendTo":"prependTo"](t.rootElement).addClass(k+i),o},_createIndicatorContainer:function(t){var i=t.rootElement.find("."+f),r=t.columnAlignment==="left"?"right":"left";return i.length||(i=n("<div/>").addClass(f)),i.css("float",t.showColumnLines?r:null)},_getIndicatorContainer:function(n){return n&&n.find("."+f)},_renderIndicator:function(n){var t=n.container,i=n.indicator;t&&i&&t.append(i)},_updateIndicators:function(n){for(var i=this,r=i.getColumns(),f=i.getColumnElements(),u,t=0;t<r.length;t++)u=f.eq(t),i._updateIndicator(u,r[t],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){var f=r.getDefaultAlignment(this.option("rtlEnabled")),e=t.alignment||f,u=window.document.createElement("td"),i;return u.style.textAlign=e,i=n(u),this.setAria("role","gridcell",i),!r.isDefined(t.groupIndex)&&t.cssClass&&i.addClass(t.cssClass),t.command==="expand"&&i.addClass(a),i},_createRow:function(){return n("<tr />").addClass(s).attr("role","row")},_createTable:function(t){var u=this,f=n("<table />").addClass(w).addClass(b).attr("role","grid"),o;if(t&&(f.append(u._createColGroup(t)),l.real().ios&&f.append("<thead><tr><\/tr><\/thead>")),c.mozilla)f.on("mousedown","td",function(n){n.ctrlKey&&n.preventDefault()});if(u.option("cellHintEnabled"))f.on("mousemove",".dx-row > td",this.createAction(function(t){var c=t.jQueryEvent,f=n(c.target),l=n(c.currentTarget),s=l.parent(),a=s.hasClass("dx-data-row"),v=s.hasClass("dx-header-row"),y=s.hasClass("dx-group-row"),b=u._columnsController.getVisibleColumns(),h=s.data("options"),p=l.index(),w=h&&h.cells&&h.cells[p],o=w?w.column:b[p];(!a||a&&o&&!o.cellTemplate)&&(!v||v&&o&&!o.headerCellTemplate)&&(!y||y&&o&&(o.groupIndex===i||!o.groupCellTemplate))&&(f.data(e)&&(f.removeAttr("title"),f.data(e,!1)),f[0].scrollWidth>f[0].clientWidth&&!r.isDefined(f.attr("title"))&&(f.attr("title",f.text()),f.data(e,!0)))}));if(o=function(t){var i=n(t.currentTarget),r=i.parent().data("options"),u=r&&r.cells&&r.cells[i.index()];return n.extend({},u,{cellElement:i,jQueryEvent:t,eventType:t.type})},u.option("onCellHoverChanged")){f.on("mouseover",".dx-row > td",function(n){u.executeAction("onCellHoverChanged",o(n))});f.on("mouseout",".dx-row > td",function(n){u.executeAction("onCellHoverChanged",o(n))})}if(u.option("onCellClick"))f.on("dxclick",".dx-row > td",function(n){u.executeAction("onCellClick",o(n))});f.on("dxclick",".dx-row",{useNative:u._isNativeClick()},u.createAction(function(t){var i=t.jQueryEvent;n(i.target).closest("a").length||(t.rowIndex=u.getRowIndex(i.currentTarget),t.rowElement=n(i.currentTarget),t.columns=u.getColumns(),u._rowClick(t))}));return f},_isNativeClick:n.noop,_rowClick:n.noop,_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 i=this,u,f;return t&&t.render?f={allowRenderToDetachedContainer:t.allowRenderToDetachedContainer,render:function(n,i){t.render(i,n)}}:n.isFunction(t)?f={render:function(n,i){t(i,n)}}:(u=r.isString(t)?t:n(t).attr("id"),u?(i._templatesCache[u]||(i._templatesCache[u]=i.getTemplate(t)),f=i._templatesCache[u]):f=i.getTemplate(t)),f},_renderTemplate:function(n,t,i){var u=this,r=u._processTemplate(t,i);if(r){if(r.allowRenderToDetachedContainer)return r.render(i,n),!0;u._delayedTemplates.push({template:r,container:n,options:i})}return!1},_appendRow:function(n,t){var i=this;i.option("rowTemplate")&&i._delayedTemplates.length&&t?i._delayedTemplates.push({container:n,template:g,options:t}):n.append(t)},_renderCore:function(){var n=this.element().parent();(!n||n.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;i.row.cells=[];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,u=0;u<e.length;u++)s._renderCell(t,n.extend({column:e[u],columnIndex:f,value:o.values&&o.values[f]},i)),r.isDefined(e[u].colspan)?f+=e[u].colspan:f++},_renderCell:function(n,t){var i=this,f=i._getCellOptions(t),e=t.column,u;return t.row.cells.push(f),u=i._createCell(e),r.isDefined(e.command)||i.setAria("label",i.localize("dxDataGrid-ariaColumn")+" "+e.caption+", "+i.localize("dxDataGrid-ariaValue")+" "+f.text,u),i._renderCellContent(u,f),n.get(0).appendChild(u.get(0)),u},_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(n,t){t.cellElement=n;this.executeAction("onCellPrepared",t)},_rowPrepared:function(n,t){n.data("options",t);t.rowElement=n;this.executeAction("onRowPrepared",t)},_columnOptionChanged:function(t){var f=t.optionNames,i,r;if(u.checkChanges(f,["width","visibleWidth"])){i=this._columnsController.getVisibleColumns();r=n.map(i,function(n){return n.visibleWidth||n.width||"auto"});this.setColumnWidths(r);return}this._requireReady||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._invalidate(!0,!0);n.handled=!0}},init:function(){var t=this;t._scrollLeft=0;t._columnsController=t.getController("columns");t._dataController=t.getController("data");t._delayedTemplates=[];t._templatesCache={};t.createAction("onCellClick");t.createAction("onRowClick");t.createAction("onCellHoverChanged",{excludeValidators:["disabled","readOnly"]});t.createAction("onCellPrepared",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering"});t.createAction("onRowPrepared",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering",afterExecute:function(n){t._afterRowPrepared(n)}});t._columnsController.columnsChanged.add(n.proxy(t._columnOptionChanged,t));t._dataController&&t._dataController.changed.add(n.proxy(t._handleDataChanged,t))},_afterRowPrepared:n.noop,_handleDataChanged:function(){},callbackNames:function(){return["scrollChanged"]},scrollTo:function(n){var t=this,i=t.element(),u=i&&i.find("."+o);t._skipScrollChanged=!1;r.isDefined(n)&&r.isDefined(n.left)&&t._scrollLeft!==n.left&&(t._scrollLeft=n.left,u&&u.scrollLeft(Math.round(n.left)),t._skipScrollChanged=!0)},_wrapTableInScrollContainer:function(t){var i=this,r;return r=n("<div/>").on("scroll",function(){i._skipScrollChanged||i.scrollChanged.fire({left:r.scrollLeft()},i.name);i._skipScrollChanged=!1}).addClass(p).addClass(o).append(t).appendTo(i.element())},_updateContent:function(n){this._setTableElement(n);this._wrapTableInScrollContainer(n)},_findContentElement:n.noop,getColumnWidths:function(){var i=this,n=[],t=i._getTableElement();return t&&(n=u.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).css("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,u=t;return r.isString(t)&&(s=o.columnOption(t,"index"),u=o.getVisibleIndex(s)),e.length&&u>=0&&(i=e.eq(u)),i&&i.length?i:void 0},getColumnElements:function(){},getColumns:function(){return this._columnsController.getVisibleColumns()},getCell:function(n,t){var r=t||this._getRowElements(),i;if(r.length>0&&n.rowIndex>=0&&(n.rowIndex=n.rowIndex<r.length?n.rowIndex:r.length-1,i=this.getCellElements(n.rowIndex),i&&i.length>0))return i.eq(i.length>n.columnIndex?n.columnIndex:i.length-1)},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("."+s)||n()},getRowIndex:function(n){return this._getRowElements().index(n)},getBoundingRect:function(){},getName:function(){},setScrollerSpacing:function(n){var t=this,i=t.element(),r=t.option("rtlEnabled");i&&i.css(r?{paddingLeft:n}:{paddingRight:n})}})}(jQuery,DevExpress),function(n,t){var e=t.ui,i=e.dxDataGrid,o=t.require("/utils/utils.common"),s=t.require("/ui/ui.themes"),h=t.require("/ui/widgets/ui.button"),c="dx-datagrid-column-chooser",r="dx-datagrid-column-chooser-button",l="column-chooser",u="dx-column-chooser-item",a="dx-column-chooser-message",f="dx-datagrid-notouch-action",v="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,h,{icon:l,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({_isWinDevice:function(){return!!t.devices.real().win},_updateItems:function(){var t=this._columnsController.getChooserColumns(),r=this.option("columnChooser"),u=this._popupContainer.content(),f=i.createScrollableOptions(this),e;this._isWinDevice()&&(f.useNative=!1);e=this._createComponent(u,"dxScrollable",f);this._renderColumnChooserItems(u,t);t.length||n("<span />").addClass(a).text(r?r.emptyPanelText:"").appendTo(e.content())},_initializePopupContainer:function(){var t=this,h=t.element().addClass(c),r=t.option("columnChooser"),u=s.current(),e=u&&u.indexOf("generic")>-1,l=u&&u.indexOf("android5")>-1,i={visible:!1,shading:!1,showCloseButton:!1,dragEnabled:!0,buttons:[{text:r.title,toolbar:"top",location:e||l?"before":"center"}],position:t.getController("columnChooser").getPosition(),width:r.width,height:r.height,rtlEnabled:t.option("rtlEnabled"),onHidden:function(){t._isWinDevice()&&n(document.body).removeClass(f)},container:r.container};if(e?n.extend(i,{showCloseButton:!0}):i.buttons[i.buttons.length]={shortcut:"cancel"},o.isDefined(this._popupContainer))this._popupContainer.option(i);else{t._popupContainer=t._createComponent(h,"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(v,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();this._isWinDevice()&&n(document.body).addClass(f)},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){function r(t,i){if(t&&(t=t.slice(0),i))for(var u=0;u<t.length;u++)t[u]=n.extend({key:t[u].key},t[u]),t[u].items=r(t[u].items,i-1);return t}var u=t.ui,i=u.dxDataGrid;i.DataSourceAdapter=i.Controller.inherit(function(){function t(n,t){var r={};return t&&(r={sorting:!i.equalSortParameters(n.sort,t.sort),grouping:!i.equalSortParameters(n.group,t.group),filtering:!i.equalFilterParameters(n.filter,t.filter),pageIndex:n.pageIndex!==t.pageIndex,pageSize:n.pageSize!==t.pageSize},r.reload=r.sorting||r.grouping||r.filtering,r.paging=r.pageIndex||r.pageSize),r}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)})})},remoteOperations:function(){return this._remoteOperations},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,i){var r=this,u=r._dataSource;(t||i.reload)&&(r._currentTotalCount=0,r._isLastPage=!u.paginate(),r._hasLastPage=r._isLastPage)},_customizeRemoteOperations:function(){},_handleDataLoading:function(i){var r=this,u=r._dataSource,s=r._lastLoadOptions,f,e,o;(r.customizeStoreLoadOptions.fire(i),i.delay=this.option("loadingTimeout"),i.originalStoreLoadOptions=i.storeLoadOptions,i.remoteOperations=n.extend({},this.remoteOperations()),o=!r.isLoaded()&&!r._isRefreshing,f=n.extend({pageIndex:u.pageIndex(),pageSize:u.pageSize()},i.storeLoadOptions),e=t(f,s),r._customizeRemoteOperations(i,o,e),i.isCustomLoading)||(r._lastLoadOptions=f,r._isRefreshing=!0,n.when(r.refresh(i,o,e)).always(function(){r._lastOperationId===i.operationId&&r.load();r._isRefreshing=!1}),u.cancel(r._lastOperationId),r._lastOperationId=i.operationId,r._isRefreshing&&u.cancel(r._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,f,i=t._dataSource,u=!1,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=!0):(f=i.pageIndex()*t.pageSize()+r,t._currentTotalCount=Math.max(t._currentTotalCount,f),r===0&&i.pageIndex()>=t.pageCount()&&(i.pageIndex(t.pageCount()-1),i.load(),u=!0));u||(this.component._optionCache={},this.changed.fire(n),this.component._optionCache=undefined)},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},load:function(t){var u=this,f,i,o,e=u._dataSource,r=n.Deferred();return t?(f=e.store(),o=e.loadOptions(),i={storeLoadOptions:t,isCustomLoading:!0},n.each(f._customLoadOptions()||[],function(n,t){t in i.storeLoadOptions||(i.storeLoadOptions[t]=o[t])}),e._scheduleLoadCallbacks(r),u._handleDataLoading(i),n.when(i.data||f.load(i.storeLoadOptions)).done(function(e,o){i.data=e;i.extra=o||{};u._handleDataLoaded(i);t.requireTotalCount&&i.extra.totalCount===undefined&&(i.extra.totalCount=f.totalCount(i.storeLoadOptions));n.when(i.data,i.extra.totalCount).done(function(n,t){i.extra.totalCount=t;r.resolve(n,i.extra)}).fail(r.reject)}).fail(r.reject),r.fail(function(){u.fireEvent("loadError",arguments)}).promise()):e.load()}}}());i.DataSourceAdapter=i.DataSourceAdapter.inherit({reload:function(n){return n?this._dataSource.reload():this._dataSource.load()},_customizeRemoteOperations:function(t,i,r){var u=this,e=u._cachedStoreData,f=u._cachedPagingData;u.callBase.apply(u,arguments);i?(e=undefined,f=undefined):(r.reload&&(f=undefined),n.each(r,function(n,i){i&&t.remoteOperations[n]&&(e=undefined,f=undefined)}));t.cachedStoreData=e;t.cachedPagingData=f;t.isCustomLoading||(u._cachedStoreData=e,u._cachedPagingData=f)},_handleDataLoading:function(n){this.callBase(n);this._handleDataLoadingCore(n)},_handleDataLoadingCore:function(t){var i=t.remoteOperations,r;t.loadOptions={};r={filter:!i.filtering,sort:!i.sorting,group:!i.grouping,summary:!i.summary,skip:!i.paging,take:!i.paging,requireTotalCount:!i.paging};n.each(t.storeLoadOptions,function(n,i){r[n]&&(t.loadOptions[n]=i,delete t.storeLoadOptions[n])});t.data=t.cachedStoreData},_handleDataLoaded:function(u){var c=this.callBase,f=u.loadOptions,e=u.remoteOperations&&!u.remoteOperations.paging,s=this.option("cacheEnabled")!==!1&&e&&u.storeLoadOptions,h=s&&!u.isCustomLoading,o;if(!f){this._dataSource.cancel(u.operationId);return}e&&(u.skip=f.skip,u.take=f.take,delete f.skip,delete f.take);f.group&&(f.group=u.group||f.group);o=i.normalizeSortingInfo(u.storeLoadOptions.group||f.group).length;s&&u.cachedPagingData?u.data=r(u.cachedPagingData,o):(h&&!this._cachedStoreData&&(this._cachedStoreData=r(u.data,i.normalizeSortingInfo(u.storeLoadOptions.group).length)),new t.data.ArrayStore(u.data).load(f).done(function(n){u.data=n}),h&&(this._cachedPagingData=r(u.data,o)));f.requireTotalCount&&e&&(u.extra=n.isPlainObject(u.extra)?u.extra:{},u.extra.totalCount=u.data.length);this._handleDataLoadedCore(u);c.apply(this,arguments)},_handleDataLoadedCore:function(n){n.remoteOperations&&!n.remoteOperations.paging&&(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 l=t.ui,i=l.dxDataGrid,r=t.require("/utils/utils.common"),a=t.require("/class"),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",b=function(){return{init:function(){this.callBase.apply(this,arguments);this._initGroupingHelper()},_initGroupingHelper:function(n){var t=this._grouping,r=n?n.remoteOperations:this.remoteOperations();r.filtering&&r.sorting&&r.paging&&!r.grouping?(!t||t instanceof i.CollapsedGroupingHelper)&&(this._grouping=new i.ExpandedGroupingHelper(this)):(!t||t instanceof i.ExpandedGroupingHelper)&&(this._grouping=new i.CollapsedGroupingHelper(this))},totalItemsCount:function(){var n=this,t=n.callBase();return t>0&&n._dataSource.group()&&n._dataSource.requireTotalCount()?t+n._grouping.totalCountCorrection():t},itemsCount:function(){return this._dataSource.group()?this._grouping.itemsCount()||0:this.callBase()},allowCollapseAll:function(){return this._grouping.allowCollapseAll()},isRowExpanded:function(n){var t=this._grouping.findGroupInfo(n);return t?t.isExpanded:!this._grouping.allowCollapseAll()},collapseAll:function(n){return this._collapseExpandAll(n,!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._grouping.foreachGroups(function(i,r){(n===undefined||n===r.length-1)&&(i.isExpanded=t)},!1,!0)}return!0},refresh:function(){return this.callBase.apply(this,arguments),this._grouping.refresh.apply(this._grouping,arguments)},changeRowExpand:function(n){var i=this,t=i._dataSource;if(t.group())return t._changeLoadingCount(1),i._changeRowExpandCore(n).always(function(){t._changeLoadingCount(-1)})},_changeRowExpandCore:function(n){return this._grouping.changeRowExpand(n)},_hasCollapsedGroupLevels:function(t){if(t&&n.isArray(t))for(var i=0;i<t.length;i++)if(t[i].isExpanded===!1)return!0},_customizeRemoteOperations:function(n){var t=n.remoteOperations;n.storeLoadOptions.group&&(t.grouping&&!n.isCustomLoading&&(t.paging=!1),t.grouping||t.sorting&&t.filtering&&!this._hasCollapsedGroupLevels(n.storeLoadOptions.group)||(t.paging=!1));this.callBase.apply(this,arguments)},_handleDataLoading:function(n){return this.callBase(n),this._initGroupingHelper(n),this._grouping.handleDataLoading(n)},_handleDataLoaded:function(t){return this._grouping.handleDataLoaded(t,n.proxy(this.callBase,this))},_handleDataLoadedCore:function(t){return this._grouping.handleDataLoadedCore(t,n.proxy(this.callBase,this))}}}(),h,e,c;i.GroupingHelper=a.inherit(function(){var t=function(n,t){var i=n.hash;return i&&i[t]},i=function(n,t){for(var i=0;i<n.length;i++)if(n[i].offset>t)break;return i},r=function(n,t){for(var r,e,f,u=0;u<n.length;u++)if(r=n[u],r.data&&r.data.offset!==r.offset){for(n.splice(u,1),r.offset=r.data.offset,f=0;f<t.length;f++)t[f].offset=r.offset;e=i(n,r.offset);n.splice(e,0,r);e>u&&u--}},f=function(n,t,i){for(var r=0;r<n.length;r++)t+1>=i?n[r].children=[]:f(n[r].children,t+1,i)};return{ctor:function(n){this._dataSource=n;this.reset()},reset:function(){this._groupsInfo=[];this._totalCountCorrection=0;this._itemsCount=0},totalCountCorrection:function(){return this._totalCountCorrection},updateTotalItemsCount:function(n){this._totalCountCorrection=n||0},_isGroupItemCountable:function(n){return!this._isVirtualPaging()||!n.isContinuation},_isVirtualPaging:function(){var n=this._dataSource.option("scrolling.mode");return n==="virtual"||n==="infinite"},itemsCount:function(){return this._itemsCount},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,u,f){function e(t,i,o,s){function a(n,t,i,r){var u=t&&n(t,i);return r.push(u),u}for(var l,c=[],v,h=0;h<t.length;h++){if((s.push(t[h].data),!o&&a(i,t[h].data,s,c)===!1)||(!t[h].data||t[h].data.isExpanded||u)&&(l=e(t[h].children,i,o,s),c.push(l),l===!1)||o&&a(i,t[h].data,s,c)===!1)return!1;t[h].data&&t[h].data.offset===t[h].offset||(f=!0);s.pop()}return v=s.slice(0),f&&n.when.apply(n,c).always(function(){r(t,v)})}var o=this;return e(o._groupsInfo,t,i,[])},findGroupInfo:function(n){for(var f=this,i,r=f._groupsInfo,u=0;r&&u<n.length;u++)i=t(r,n[u]),r=i&&i.children;return i&&i.data},addGroupInfo:function(n){for(var h=this,s,u,o=n.path,f=h._groupsInfo,e=0;e<o.length;e++)u=t(f,o[e]),u||(u={key:o[e],offset:n.offset,data:{offset:n.offset,isExpanded:!0,path:o.slice(0,e+1)},children:[]},s=i(f,n.offset),f.splice(s,0,u),f.hash=f.hash||{},f.hash[u.key]=u),e===o.length-1&&(u.data=n,u.offset!==n.offset&&r(f)),f=u.children},allowCollapseAll:function(){return!0},refresh:function(n){var i=this,t,e=n.storeLoadOptions,o=u(i._group||[]),s=u(e.group||[]),r=Math.min(o.length,s.length);for(i._group=e.group,t=0;t<r;t++)if(o[t].selector!==s[t].selector){r=t;break}r?f(i._groupsInfo,0,r):i.reset()},handleDataLoading:function(){},handleDataLoaded:function(n,t){t(n)},handleDataLoadedCore:function(n,t){t(n)}}}());i.DataSourceAdapter=i.DataSourceAdapter.inherit(b);h=function(){return{init:function(){var n=this;n.callBase();n.createAction("onRowExpanding");n.createAction("onRowExpanded");n.createAction("onRowCollapsing");n.createAction("onRowCollapsed")},_processItems:function(n,t){var i=this._columnsController.getGroupColumns();return n.length&&i.length&&(n=this._processGroupItems(n,i.length)),this.callBase(n,t)},_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 e=this,h=e._columnsController.getGroupColumns(),o=h[h.length-t],s,f,r,u;if(i||(s=e.option("scrolling.mode"),i={collectContinuationItems:s!=="virtual"&&s!=="infinite",resultItems:[],path:[],values:[]}),u=i.resultItems,i.data&&(i.collectContinuationItems||!i.data.isContinuation)&&u.push({rowType:"group",data:i.data,groupIndex:i.path.length-1,isExpanded:!!i.data.items,key:i.path.slice(0),values:i.values.slice(0)}),n)if(t===0)u.push.apply(u,n);else for(f=0;f<n.length;f++)r=n[f],r&&"items"in r?(i.data=r,i.path.push(r.key),i.values.push(o&&o.deserializeValue?o.deserializeValue(r.key):r.key),e._processGroupItems(r.items,t-1,i),i.data=undefined,i.path.pop(),i.values.pop()):u.push(r);return u},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(!0))},expandAll:function(n){var t=this._dataSource;t&&t.expandAll(n)&&(t.pageIndex(0),t.reload(!0))},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;c=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)},_getColumnTemplate:function(t){var i=this;return t.column.command==="expand"?{allowRenderToDetachedContainer:!0,render: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?i.localize("dxDataGrid-ariaCollapse"):i.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:h},views:{headerPanel:e,rowsView:c}}})}(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(n,t){r.resolve(t&&t.totalCount)}).fail(n.proxy(r.reject,r)),r};i.ExpandedGroupingHelper=i.GroupingHelper.inherit(function(){var o=function(n,t,i){return n.foreachGroups(function(n){if(!n.isExpanded)return t(n)},!1,!1,i)},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,l,a=0;a<t.length;a++)e=t[a],e.items!==undefined?(i.push(e.key),l=n.findGroupInfo(i),l&&!l.isExpanded?(e.collapsedItems=e.items,e.items=null,r+=l.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}},v=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&&v(u.path,i)&&!f.isContinuation&&(u.offset=r),e=n.findGroupInfo(i),e&&(e.offset=r),e&&!e.isExpanded?r+=e.count:r=s(n,f.items,i,r,u),i.pop()):r++;return r}},y=function(n,t){var i,f;t.group&&(i=r(t.group),f=r(n.sort),n.sort=u.arrangeSortingInfo(i,f),delete t.group)},l=i.createGroupFilter=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)},p=function(n,t,u){for(var h=r(u||t.group),f,s,e=[],o=0;o<n.length;o++){for(s=[],f=0;f<=o;f++)s.push([h[f].selector,o===f?"<>":"=",n[f]]);e.push(i.combineFilters(s))}return e=i.combineFilters(e,"or"),i.combineFilters([e,t.filter])},w=function(n,t){for(var s=r(t.group),u,o,f=[],e=0;e<n.length;e++){for(o=[],u=0;u<=e;u++)o.push([s[u].selector,e===u?s[u].desc?">":"<":"=",n[u]]);f.push(i.combineFilters(o))}return f=i.combineFilters(f,"or"),i.combineFilters([f,t.filter])},a=function(n,t){var r=n.count||n.items.length,i;if(!n.count&&t>1)for(r=0,i=0;i<n.items.length;i++)r+=a(n.items[i],t-1);return r};return{handleDataLoading:function(t){var s=this,u=t.storeLoadOptions,i,f=[],c=0,l=!1,a,r=t.loadOptions.group,e=0;(y(u,t.loadOptions),t.group=t.group||r,t.isCustomLoading)||(i=n.extend({},u),i.skip=h(s,u.skip),i.skip&&i.take&&r&&(i.skip--,i.take++,l=!0),i.take&&r&&(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),c+=n.count)}),n.each(f,function(){i.filter=p(this.path,i,r)}),t.storeLoadOptions=i,t.collapsedGroups=f,t.collapsedItemsCount=c,t.skip=i.skip||0,t.skipFirstItem=l,t.take=a)},handleDataLoaded:function(n,i){function h(n,t,i,r,f){if(n&&t.length&&i.length){for(var o,s=u.toComparable(t[0],!0),e=0;e<n.length;e++)if(o=u.toComparable(n[e].key,!0),f>=r.offset||s===o)break;else f+=a(n[e],i.length);n.length&&s===o||n.splice(e,0,{key:t[0],items:[],count:r.count});h(n[e].items,t.slice(1),i.slice(1),r,f)}}var l=this,f=n.data,e,v,o=n.collapsedGroups,s=r(n.group),y=s.length;if(i(n),y){if(v=t.data.query(f),t.data.utils.multiLevelGroup(v,s).enumerate().done(function(n){f=n}),o)for(e=0;e<o.length;e++)h(f,o[e].path,s,o[e],n.skip);n.isCustomLoading||(c(l,f,[],n.skip,n.skipFirstItem,n.take),l.updateItemsCount(f,y));n.data=f;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)},changeRowExpand:function(t){var u=this,r=u._dataSource,a=r.beginPageIndex?r.beginPageIndex():r.pageIndex(),e=r.items(),o=h(u,a*r.pageSize()),i=u.findGroupInfo(t),c;return c=i&&!i.isExpanded?n.Deferred().resolve(i.count):f(r,{filter:l(t,{filter:r.filter(),group:r.group()})}),n.when(c).done(function(n){n=parseInt(n.length?n[0]:n);i?(s(u,e,[],o),i.isExpanded=!i.isExpanded,i.count=n):(i={offset:-1,count:n,path:t,isExpanded:!1},s(u,e,[],o,i),i.offset>=0&&u.addGroupInfo(i));u.updateTotalItemsCount()}).fail(function(){r.fireEvent("loadError",arguments)})},allowCollapseAll:function(){return!1},refresh:function(t,i,r){var u=this,e=t.storeLoadOptions,s=u._dataSource;return this.callBase.apply(this,arguments),i||r.reload?o(u,function(t){var i=f(s,{filter:l(t.path,e)}),r=f(s,{filter:w(t.path,e)});return n.when(r,i).done(function(n,i){n=parseInt(n.length?n[0]:n);i=parseInt(i.length?i[0]:i);t.offset=n;t.count!==i&&(t.count=i,u.updateTotalItemsCount())})},!0):void 0}}}())}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,r=i.normalizeSortingInfo,u=t.require("/ui/ui.errors");i.CollapsedGroupingHelper=i.GroupingHelper.inherit(function(){function l(r,u,f){var o=[],h=u.data,e,s;n.each(f.paths,function(n,t){o.push(i.createGroupFilter(t,{group:u.storeLoadOptions.group}))});e=u.storeLoadOptions.filter;u.storeLoadOptions.isLoadingAll||(e=i.combineFilters([e,i.combineFilters(o,"or")]));u.data=n.Deferred();s=n.extend({},u.storeLoadOptions,{group:null,filter:e,skip:f.skip,take:f.take});n.when(f.take===0?[]:r._dataSource.store().load(s)).done(function(i){n.each(f.items,function(n,r){t.data.query(i).filter(o[n]).enumerate().done(function(n){r.items=n})});u.data.resolve(h)}).fail(u.data.reject)}var f=function(n,t){return n.foreachGroups(function(n,i){if(n.isExpanded)return t(n,i)},!0)},e=function(n,t,i,r,u,f,o){var h,s,c,l;if(r.items=r.items||[],r.paths=r.paths||[],r.count=r.count||0,r.lastCount=r.lastCount||0,i)for(h=0;h<t.length;h++)s=t[h],s.items!==undefined&&(u.push(s.key),f?l=!0:(c=n.findGroupInfo(u),l=c&&c.isExpanded),l?s.items?e(n,s.items,i-1,r,u,f,o):i===1&&s.count&&(!f||o)&&(r.items.push(s),r.paths.push(u.slice(0)),r.count+=r.lastCount,r.lastCount=s.count):(s.collapsedItems=s.items,s.items=null),u.pop())},a=function(n,t,i,r){return h(n,t,0,i,[],r)},h=function(n,t,i,r,u,f){var e,l=0,c,o,s;if(i>=r)return t.length;for(o=0;o<t.length;o++)if(e=t[o],e){if((u.push(e.key),!e.count&&!e.items)||(s=n.findGroupInfo(u),s?(s.count=e.count>0?e.count:e.items.length,s.offset=f+o):n.addGroupInfo({isExpanded:n._isGroupExpanded(i),path:u.slice(0),offset:f+o,count:e.count>0?e.count:e.items.length}),c=e.items||!e.count?h(n,e.items,i+1,r,u,0):e.count,c<0))return-1;l+=c;u.pop()}return l},o=function(n,t){return n&&n.length&&n[t]&&!!n[t].isExpanded},c=function(n,t,i){for(var u,f=i,r=0;r<n.length;r++)u=n[r].offset+1,r>0&&(u+=n[r-1].childrenTotalCount,t&&(u+=s(f,t,u,r-1)*r)),f+=u;return f},s=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 t=0,u=n.extra&&n.extra.totalCount||0,e=n.extra&&n.extra.totalGroupCount||0,i=this._dataSource.pageSize(),r=this._isVirtualPaging();f(this,function(n){n.childrenTotalCount=0});f(this,function(n,u){var e=c(u,r?0:i,t),f=n.count+n.childrenTotalCount;r||(f+=s(e,i,f,u.length-1));u[u.length-2]?u[u.length-2].childrenTotalCount+=f:t+=f});this.callBase(t-u+e)},_isGroupExpanded:function(n){var t=this._dataSource.group();return o(t,n)},_updatePagingOptions:function(n){var i=this,o=i._isVirtualPaging(),t=i._dataSource.pageSize(),h=[],r=[],u=0,e=0;n.take&&(f(this,function(n){n.childrenTotalCount=0;n.skipChildrenTotalCount=0}),f(i,function(i,f){var a,y,b=0,k=0,v=c(f,o?0:t,e),d=0,p=0,l=i.count+i.childrenTotalCount,w=l;a=n.skip-v;v<=n.skip+n.take&&l&&(y=n.take,o||(d=s(v,t,l,f.length-1),l+=d*f.length,w+=d,t&&a>=0&&(b=f.length,k=f.length-1,p=Math.floor(a/t))),a>=0?(v+l>n.skip&&h.unshift(a-p*b-i.skipChildrenTotalCount),v+l>=n.skip+y&&r.unshift(y-b-i.childrenTotalCount+i.skipChildrenTotalCount)):v+l>=n.skip+y&&r.unshift(y+a-i.childrenTotalCount));v<=n.skip&&(f[f.length-2]?f[f.length-2].skipChildrenTotalCount+=Math.min(w,a+1-p*k):u+=Math.min(w,a+1));v<=n.skip+y&&(l=Math.min(w,a+y-(p+1)*k),f[f.length-2]?f[f.length-2].childrenTotalCount+=l:e+=l)}),n.skip-=u,n.take-=e-u);n.skips=h;n.takes=r},changeRowExpand:function(t){var r=this,i=r.findGroupInfo(t);return i?(i.isExpanded=!i.isExpanded,n.Deferred().resolve()):n.Deferred().reject()},handleDataLoadedCore:function(t,i){var s=this,o=r(t.storeLoadOptions.group||t.loadOptions.group).length,h,f={};if(t.isCustomLoading)i(t),e(s,t.data,o,f,[],t.isCustomLoading,t.storeLoadOptions.isLoadingAll);else{if(h=a(s,t.data,o,0),h<0){t.data=n.Deferred().reject(u.Error("E1037"));return}t.remoteOperations.paging||o&&t.extra&&t.loadOptions.requireTotalCount&&(t.extra.totalCount=h,t.extra.totalGroupCount=t.data.length);s.updateTotalItemsCount(t);s._updatePagingOptions(t);i(t);s._processPaging(t,o);e(s,t.data,o,f,[]);f.skip=t.skips[o-1];t.takes[o-1]!==undefined&&(f.take=f.count?f.count-(f.skip||0):0,f.take+=t.takes[o-1])}f.paths.length&&t.storeLoadOptions.group&&l(s,t,f);t.isCustomLoading||n.when(t.data).done(function(n){s.updateItemsCount(n,o)})},_processPaging:function(n,t){var f,e,u,r,i,o;for(f=n.skips,e=n.takes,i=n.data,u=0;i&&u<t;u++)r=i[0],i=r&&r.items,f[u]!==undefined&&(r.isContinuation=!0,i&&(i=i.slice(f[u]),r.items=i));for(i=n.data,u=0;i&&u<t;u++)r=i[i.length-1],i=r&&r.items,r&&(o=r.count-(r.isContinuation&&f[u]||0)||i.length,e[u]!==undefined&&o>e[u]&&(r.isContinuationOnNextPage=!0,i&&(i=i.slice(0,e[u]),r.items=i)))},refresh:function(n){function f(n,t){t.length===i+1&&(n.isExpanded=u)}for(var t=this,e=n.storeLoadOptions,s=r(t._group),u,i=0;i<s.length;i++)u=o(e.group,i),o(t._group,i)!==u&&t.foreachGroups(f);t.callBase.apply(this,arguments);t.foreachGroups(function(n){n.count=0})}}}())}(jQuery,DevExpress),function(n,t){var u=t.ui,i=u.dxDataGrid,r=t.require("/utils/utils.common"),f="dx-master-detail-cell",e="dx-master-detail-row",o="dx-cell-focus-disabled",s="dx-row-lines";i.registerModule("masterDetail",{defaultOptions:function(){return{masterDetail:{enabled:!1,autoExpandAll:!1,template:null}}},extenders:{controllers:{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 n=this;t(n);n.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(t,r){var u=this,e,f=[];return(t=u.callBase.apply(u,arguments),r==="loadingAll")?t:(r==="refresh"&&(u._expandedItems=n.grep(u._expandedItems,function(n){return n.visible})),n.each(t,function(n,t){f.push(t);e=i.getIndexByKey(t.key,u._expandedItems);t.rowType==="data"&&(t.isExpanded||e>=0)&&!t.inserted&&f.push({visible:t.isExpanded,rowType:"detail",key:t.key,data:t.data,values:[]})}),f)},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)}}}()},views:{rowsView:function(){return{_getColumnTemplate:function(n){var t=this,i=n.column;return i.command==="detail"?t.option("masterDetail.template")||t._getDefaultTemplate(i):t.callBase.apply(t,arguments)},_createRow:function(n){var t=this.callBase(n);return n&&n.rowType==="detail"&&(this.option("showRowLines")&&t.addClass(s),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,r,u;if(i.rowType==="detail"){for(r=this._getGroupCellOptions(t),u=0;u<r.emptyCellsCount;u++)this._renderCell(n,{value:null,row:i,rowIndex:i.rowIndex,column:t.columns[u]});e=this._renderCell(n,{value:null,row:i,rowIndex:i.rowIndex,column:{command:"detail"},columnIndex:r.columnIndex});e.addClass(o).addClass(f).attr("colspan",r.colspan)}else this.callBase.apply(this,arguments)}}}()}}})}(jQuery,DevExpress),function(n,t){var s=t.ui.dxDataGrid,et=t.require("/ui/events/ui.events.utils"),w=et.addNamespace,ot=t.require("/utils/utils.object"),v=t.require("/utils/utils.common"),st=t.require("/ui/ui.dialog"),p=t.require("/ui/widgets/ui.button"),b=DevExpress.require("/ui/ui.errors"),k=t.require("/devices"),e=s.getIndexByKey,ht="dx-link",d="dx-editor-cell",g="dx-selection",nt="dx-edit-row",ct="dx-datagrid-edit-form",tt="dx-edit-button",y="__DX_INSERT_INDEX__",it="dx-row",lt="dx-row-removed",at="dx-row-inserted",vt="dx-row-modified",rt="dx-cell-modified",ut="dx-highlight-outline",yt="dxDataGridEditing",pt="dx-datagrid-focus-overlay",wt="dx-datagrid-readonly",bt="dx-data-row",kt="dx-checkbox",dt="dx-editor-inline-block",ft="dx-cell-focus-disabled",r="batch",h="row",o="cell",c="form",u="insert",l="update",a="remove",gt="dx-pointer-events-none",ni="dx-pointer-events-target",i=function(n){var t=n.option("editing.mode");return t===r||t===o||t===c?t:h},f=function(n){var t=i(n);return t===h||t===c};s.EditingController=s.ViewController.inherit(function(){var s=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,id:r.id}))}};return{init:function(){var t=this;if(t._insertIndex=1,t._editRowIndex=-1,t._editData=[],t._editColumnIndex=-1,t._columnsController=t.getController("columns"),t._dataController=t.getController("data"),t._dataChangedHandler||(t._dataChangedHandler=n.proxy(t._handleDataChanged,t),t._dataController.changed.add(t._dataChangedHandler)),!t._saveEditorHandler){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.createAction(function(i){var r=i.jQueryEvent,o,h,c,l,u,a,e,s,v;f(t)||!t.isEditing()||t._editCellInProgress||(h=n(r.target).closest(".dx-dropdowneditor-overlay").length,c=n(r.target).closest(document).length,l=n(r.target).hasClass(pt),s=n(r.target).closest("."+bt).length,o=t._columnsController.getVisibleColumns(),u=n(r.target).closest("."+it+"> td"),e=u[0]&&u[0].cellIndex,v=t.getView("rowsView").getRowIndex(u.parent()),a=o[e]&&o[e].allowEditing,s&&(!s||a||t.isEditCell(v,e))||h||l||!c||t.closeEditCell())});n(document).on("dxclick",t._saveEditorHandler)}t._updateEditColumn();t._updateEditButtons()},_handleDataChanged:function(t){this.option("scrolling.mode")==="standard"&&this.resetRowAndPageIndeces();t.changeType==="prepend"&&n.each(this._editData,function(n,i){i.rowIndex+=t.items.length;i.type===u&&(i.key.rowIndex+=t.items.length)})},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())},getFocusedCellInRow:function(n){return this.getFirstEditableCellInRow(n)},getIndexByKey:function(n,t){return e(n,t)},hasChanges:function(){for(var t=this,i=!1,n=0;n<t._editData.length;n++)if(t._editData[n].type){i=!0;break}return i},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","addRow","removeRow","deleteRow","undeleteRow","editRow","editCell","closeEditCell","saveEditData","cancelEditData","hasEditData"]},refresh:function(){i(this)!==r?this.init():(this._editRowIndex=-1,this._editColumnIndex=-1)},isEditing:function(){return this._editRowIndex>-1},isEditRow:function(n){return(i(this)===h||i(this)===c)&&this._editRowIndex===n},getEditFormRowIndex:function(){return i(this)===c?this._editRowIndex:-1},isEditCell:function(n,t){return this._editRowIndex===n&&this._editColumnIndex===t},_needInsertItem:function(n,t){var u=this,i=u._dataController.dataSource(),o=u.option("scrolling.mode"),r=i.pageIndex(),f=i.beginPageIndex?i.beginPageIndex():r,e=i.endPageIndex?i.endPageIndex():r;if(o!=="standard")switch(t){case"append":return n.key.pageIndex===e;case"prepend":return n.key.pageIndex===f;case"refresh":n.key.rowIndex=0;n.key.pageIndex=0;break;default:return n.key.pageIndex>=f&&n.key.pageIndex<=e}return n.key.pageIndex===r},processItems:function(n,t){var e=this,i,r,o,f=e._editData;for(e.update(t),i=0;i<f.length;i++)r=f[i].key,o={key:r},f[i].type===u&&e._needInsertItem(f[i],t)&&(o[y]=r[y],n.splice(r.rowIndex,0,o));return n},processDataItem:function(t,f,o){var h=this,c,v,s,p=t.data[y]?t.data.key:t.key,w;if(c=e(p,h._editData),c>=0){w=i(h);v=h._editData[c];s=v.data;switch(v.type){case u:t.inserted=!0;t.key=p;t.data=s;break;case l:t.modified=!0;t.oldData=t.data;t.data=n.extend(!0,{},t.data,s);t.modifiedValues=o(s,f);break;case a:w===r&&(t.data=n.extend(!0,{},t.data,s));t.removed=!0}}},insertRow:function(){return b.log("W0002","dxDataGrid","insertRow","15.2","Use the 'addRow' method instead"),this.addRow()},addRow:function(){var n=this,s=n._dataController,c=s.store(),v=c&&c.key(),l=n.getView("rowsView"),e={data:{}},f={pageIndex:s.pageIndex(),rowIndex:l?l.getTopVisibleItemIndex():0},p=n._editRowIndex,h=i(n),a;(h===o&&n.hasChanges()&&n.saveEditData(),n.refresh(),h!==r&&n._insertIndex>1)||(v||(e.data.__KEY__=String(new t.data.Guid)),n.executeAction("onInitNewRow",e),h!==r&&(n._editRowIndex=f.rowIndex),f[y]=n._insertIndex++,n._addEditData({key:f,data:e.data,type:u}),s.updateItems({changeType:"update",rowIndices:[p,f.rowIndex]}),a=n.getFirstEditableCellInRow(f.rowIndex),n._delayedInputFocus(a,function(){var t=n.getFirstEditableCellInRow(f.rowIndex);t&&t.trigger("dxclick")}),n._afterInsertRow({key:f,data:e.data}))},_isEditingStart:function(n){return this.executeAction("onEditingStart",n),n.cancel},_beforeEditCell:function(n,t,r){if(i(this)===o&&!r.inserted&&this.hasChanges()&&(this.saveEditData(),this.hasChanges()))return!0},editRow:function(n){var t=this,f=t._dataController,e=f.items(),r=e[n],o={data:r.data,cancel:!1},s=t._editRowIndex,u;if(n===s)return!0;(r.inserted||(o.key=r.key),t._isEditingStart(o))||(t.init(),t._pageIndex=f.pageIndex(),t._editRowIndex=e[0].inserted?n-1:n,t._addEditData({data:{},key:r.key,oldData:r.data}),f.updateItems({changeType:"update",rowIndices:[s,n]}),(i(t)===h||i(t)===c)&&(u=t.getFocusedCellInRow(t._editRowIndex),t._delayedInputFocus(u,function(){u&&t.component.focus(u)})))},editCell:function(n,t){var i=this,o,e=i._columnsController,s=i._dataController,a=s.items(),r=a[n],u={data:r&&r.data,cancel:!1},y=i._editRowIndex,h=i._editColumnIndex,c=e.getVisibleColumns(),l;return(v.isString(t)&&(t=e.columnOption(t,"index"),t=e.getVisibleIndex(t)),u.column=e.getVisibleColumns()[t],l=u.column&&u.column.showEditorAlways,u.column&&r&&r.rowType==="data"&&!r.removed&&!f(i))?this.isEditCell(n,t)?!0:i._beforeEditCell(n,t,r)?!0:(r.inserted||(u.key=r.key),i._isEditingStart(u))?!0:(i._editRowIndex=n,i._editColumnIndex=t,i._pageIndex=s.pageIndex(),i._addEditData({data:{},key:r.key,oldData:r.data}),l&&(!c[h]||c[h].showEditorAlways)||(i._editCellInProgress=!0,i.getController("editorFactory").loseFocus(),s.updateItems({changeType:"update",rowIndices:[y,i._editRowIndex]})),o=i.getView("rowsView").getCellElement(i._editRowIndex,i._editColumnIndex),o.find(":focus").length?i._editCellInProgress=!1:i._focusEditingCell(function(){i._editCellInProgress=!1},o),!0):!1},_delayedInputFocus:function(n,t){function i(){t&&t();n&&n.find("[tabindex], input").first().focus()}k.real().ios?i():setTimeout(i)},_focusEditingCell:function(n,t){var i=this;t=t||i.getView("rowsView").getCellElement(i._editRowIndex,i._editColumnIndex);i._delayedInputFocus(t,n)},removeRow:function(n){return b.log("W0002","dxDataGrid","removeRow","15.2","Use the 'deleteRow' method instead"),this.deleteRow(n)},deleteRow:function(n){var t=this,i=t.option("editing"),f=i&&i.texts,s=f&&f.confirmDeleteTitle,c=i&&i.mode===r,l=f&&f.confirmDeleteMessage,y=t._dataController,h,p,b=t._editRowIndex,o=y.items()[n],w=o&&o.key;o&&(h=function(i){t.refresh();var r=e(i,t._editData);r>=0?t._editData[r].type===u?t._editData.splice(r,1):t._editData[r].type=a:t._addEditData({key:i,oldData:o.data,type:a});c?y.updateItems({changeType:"update",rowIndices:[b,n]}):t.saveEditData()},c||!l?h(w):(p=v.isDefined(s)&&s.length>0,st.confirm(l,s,p).done(function(n){n&&h(w)})))},undeleteRow:function(t){var i=this,o=i._dataController,u=o.items()[t],s=i._editRowIndex,h=u&&u.key,r,f;u&&(r=e(h,i._editData),r>=0&&(f=i._editData[r],n.isEmptyObject(f.data)?i._editData.splice(r,1):f.type=l,o.updateItems({changeType:"update",rowIndices:[s,t]})))},_saveEditDataCore:function(t,i){function f(t,i,u){function e(n){return function(t){var i=t instanceof Error?t:new Error(t&&String(t)||"Unknown error");n.reject(i)}}var f=n.Deferred();return r.executeAction(t,i),n.when(i.cancel).done(function(n){n?f.resolve("cancel"):u(i).done(f.resolve).fail(e(f))}).fail(e(f)),f}var r=this,e=r._dataController.store();return n.each(r._editData,function(o,s){var p=s.data,w=s.oldData,c=s.key,b=s.type,v,y,h;if(!r._beforeSaveEditData(s,o)){switch(b){case a:h={data:w,key:c,cancel:!1};v=f("onRowRemoving",h,function(){return e.remove(c)});break;case u:h={data:p,cancel:!1};v=f("onRowInserting",h,function(){return e.insert(h.data)});break;case l:h={newData:p,oldData:w,key:c,cancel:!1};v=f("onRowUpdating",h,function(){return e.update(c,h.newData)})}v&&(y=n.Deferred(),v.always(function(){i.push(c)}).always(y.resolve),t.push(y.promise()))}}),!1},_processSaveEditDataResult:function(n,t){for(var u=this,c=u._dataController,f,o,h,l=i(u),s=0;s<n.length;s++)if(f=n[s],o=e(t[s],u._editData),u._editData[o])if(h=f&&f instanceof Error,h){if(u._editData[o].error=f,c.dataErrorOccurred.fire(f),l!==r)return!1}else if(f!=="cancel")u._editData.splice(o,1);else return!1;return!0},_fireSaveEditDataEvents:function(t){var i=this;n.each(t,function(t,r){var e=r.data,o=r.key,s=r.type,f={key:o,data:e};r.error&&(f.error=r.error);switch(s){case a:i.executeAction("onRowRemoved",n.extend({},f,{data:r.oldData}));break;case u:i.executeAction("onRowInserted",f);break;case l:i.executeAction("onRowUpdated",f)}})},saveEditData:function(){var t=this,s=[],e=[],h=t._dataController,a=n.extend({},t._editData),c=i(t),u=n.Deferred(),l=function(n){n._editColumnIndex=-1;n._editRowIndex=-1};if(t._beforeSaveEditData()){t._afterSaveEditData();return}return(t._saveEditDataCore(e,s),e.length)?(n.when.apply(n,e).done(function(){t._processSaveEditDataResult(arguments,s)&&(l(t),n.when(h.refresh()).always(function(){t._fireSaveEditDataEvents(a);t._afterSaveEditData();u.resolve()}))}).fail(u.resolve),u.promise()):(f(t)?t.hasChanges()||t.cancelEditData():c===r||c===o?(l(t),h.updateItems()):t._focusEditingCell(),t._afterSaveEditData(),u.resolve().promise())},_updateEditColumn:function(){var n=this,t=n.option("editing"),i=t&&((t.allowUpdating||t.allowAdding)&&f(n)||t.allowDeleting);n._columnsController.addCommandColumn({command:"edit",visible:i,cssClass:"dx-command-edit",width:"auto"});n._columnsController.columnOption("command:edit","visible",i)},_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=n._dataController;n._beforeCancelEditData();n.init();t.updateItems()},hasEditData:function(){return this.hasChanges()},closeEditCell:function(){var n=this,r=i(n),t=n._editRowIndex,u=n._dataController;f(n)||setTimeout(function(){r===o&&n.hasChanges()?n.saveEditData():t>=0&&(n._editRowIndex=-1,n._editColumnIndex=-1,u.updateItems({changeType:"update",rowIndices:[t]}))})},update:function(n){var t=this,i=t._dataController;i&&t._pageIndex!==i.pageIndex()&&(n==="refresh"&&t.refresh(),t._pageIndex=i.pageIndex());t._updateEditButtons()},updateFieldValue:function(n,t,u){var f=this,e={},s=n.key,h=n.cellElement,a=i(f),c;s!==undefined&&n.column.setCellValue&&(a===r&&h&&h.addClass(rt),n.value=t,n.column.setCellValue(e,t,u),u&&n.column.displayValueMap&&(n.column.displayValueMap[t]=u),c={data:e,key:s,oldData:n.data,type:l},f._addEditData(c),f._updateEditButtons(),n.column.showEditorAlways&&i(f)===o&&n.row&&!n.row.inserted?f.saveEditData().always(function(){f._editColumnIndex=n.columnIndex;f._editRowIndex=n.row.rowIndex;f._focusEditingCell()}):n.row&&(u!==undefined||n.column.setCellValue!==n.column.defaultSetCellValue)&&f._dataController.updateItems({changeType:"update",rowIndices:[n.row.rowIndex]}))},_addEditData:function(n){var t=this,i=e(n.key,t._editData);return i<0&&(i=t._editData.length,t._editData.push(n)),t._editData[i]&&(n.type=t._editData[i].type||n.type,ot.deepExtendArraySafe(t._editData[i],{data:n.data,type:n.type})),i},_formEditorPrepared:function(){},getFormEditorTemplate:function(t,i,r){var u=this;return function(f,e){var o=n.extend({},t,{value:i.calculateCellValue(t.data),column:n.extend({},i,{editorOptions:r.editorOptions}),id:f.component.getItemID(r.name||r.dataField),columnIndex:i.index,setValue:i.allowEditing&&function(n){u.updateFieldValue(o,n)}}),h=i.editCellTemplate||s(u);h(e,o);u._formEditorPrepared(o,e)}},getEditFormTemplate:function(){var i=this;return function(r,u){var h=i.option("editing.form"),f=i.option("editing.form.items"),o=i.option("editing.form.customizeItem"),s,e;f||(s=i.getController("columns").getColumns(),f=[],n.each(s,function(n,t){f.push({column:t,name:t.name,dataField:t.dataField})}));i._createComponent(n("<div>").appendTo(r),"dxForm",n.extend({},h,{items:f,formID:new t.data.Guid,customizeItem:function(t){var r=t.column||i._columnsController.columnOption(t.name||t.dataField);r&&(t.label=t.label||{},t.label.text=t.label.text||r.caption,t.template=t.template||i.getFormEditorTemplate(u,r,t),t.column=r,r.formItem&&n.extend(t,r.formItem));o&&o.call(this,t)}}));e=n("<div>").addClass("dx-datagrid-form-buttons-container").appendTo(r);i._createComponent(n("<div>").appendTo(e),p,{text:i.option("editing.texts.saveRowChanges"),onClick:n.proxy(i.saveEditData,i)});i._createComponent(n("<div>").appendTo(e),p,{text:i.option("editing.texts.cancelRowChanges"),onClick:n.proxy(i.cancelEditData,i)})}},getColumnTemplate:function(t){var i=this,r=t.column,a=t.row&&t.row.rowIndex,o,h,u,y,e=f(i),c=i.isEditRow(a),p=i.isEditCell(a,t.columnIndex),l;return(r.showEditorAlways||r.setCellValue&&(c&&r.allowEditing||p))&&t.rowType==="data"&&!v.isDefined(r.command)?(y=i.option("editing.allowUpdating"),((y||c)&&r.allowEditing||p)&&(e&&c||!e)&&(r.showEditorAlways&&!e&&(l={cancel:!1,key:t.row.key,data:t.row.data,column:r},i._isEditingStart(l)),l&&l.cancel||(t.setValue=function(n,r){i.updateFieldValue(t,n,r)})),o=r.editCellTemplate||s(i)):r.command==="edit"&&t.rowType==="data"?o=function(t,r){var f=function(t,r,u,f){var e=n("<a />").addClass(ht).text(r).on(w("dxclick",yt),i.createAction(function(n){var t=n.jQueryEvent;t.stopPropagation();setTimeout(function(){f.row&&i[u](f.row.rowIndex)})}));f.rtlEnabled?t.prepend(e,"&nbsp;"):t.append(e,"&nbsp;")};t.css("text-align","center");r.rtlEnabled=i.option("rtlEnabled");h=i.option("editing")||{};u=h.texts||{};r.row&&r.row.rowIndex===i._editRowIndex&&e?(f(t,u.saveRowChanges,"saveEditData",r),f(t,u.cancelRowChanges,"cancelEditData",r)):(h.allowUpdating&&e&&f(t,u.editRow,"editRow",r),h.allowDeleting&&(r.row.removed?f(t,u.undeleteRow,"undeleteRow",r):f(t,u.deleteRow,"deleteRow",r)))}:r.command==="detail"&&t.rowType==="detail"&&c&&(o=i.getEditFormTemplate(t)),o},renderEditButtons:function(t){var u=this,s=t.find("."+tt),f=u.option("editing")||{},e=u.option("editing.texts")||{},h={cancel:e.cancelAllChanges,save:e.saveAllChanges,addrow:e.addRow},o=function(t,i,r){return u._createComponent(n("<div />").addClass(tt).addClass("dx-datagrid-"+i+"-button").appendTo(t),p,{icon:"edit-button-"+i,onClick:function(n){var t=n.jQueryEvent;t.stopPropagation();u[r]()},hint:h&&h[i]})};s.length&&s.remove();(f.allowUpdating||f.allowAdding||f.allowDeleting)&&i(u)===r&&(u._cancelChangesButton=o(t,"cancel","cancelEditData"),u._saveChangesButton=o(t,"save","saveEditData"),u._updateEditButtons());f.allowAdding&&o(t,"addrow","addRow")},createHighlightCell:function(t){var i=t.find("."+ut);i.length||t.wrapInner(n("<div>").addClass(ut+" "+ni))},resetRowAndPageIndeces:function(t){var i=this;n.each(i._editData,function(n,r){(r.pageIndex!==i._pageIndex||t)&&(delete r.pageIndex,delete r.rowIndex)})},_afterInsertRow:function(){},_beforeSaveEditData:function(){},_afterSaveEditData:function(){},_beforeCancelEditData:function(){}}}());s.registerModule("editing",{defaultOptions:function(){return{editing:{mode:"row",allowAdding:!1,allowUpdating:!1,allowDeleting:!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")},form:{colCount:2}}}},controllers:{editing:s.EditingController},extenders:{controllers:{data:{init:function(){this._editingController=this.getController("editing");this.callBase()},reload:function(n){var t,i=this.getController("editing");return this._editingController.refresh(),t=this.callBase(n),t&&t.done(function(){i.resetRowAndPageIndeces(!0)})},_updateItemsCore:function(n){this.callBase(n);var t=this.items()[this.getController("editing").getEditFormRowIndex()];t&&(t.rowType="detail")},_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)},_processItem:function(n,t){return n=this.callBase(n,t),n.inserted&&(t.dataIndex--,delete n.dataIndex),n}},columnsResizer:{_startResizing:function(n){var t=this,i=t.getController("editing"),r=function(){var n=t.option("editing");return n&&n.mode!==h&&i.isEditing()};t.callBase(n);t.isResizing()&&r()&&i.closeEditCell()}}},views:{rowsView:{publicMethods:function(){return this.callBase().concat(["cellValue"])},_getColumnTemplate:function(n){var t=this,i=t.getController("editing").getColumnTemplate(n);return i||t.callBase(n)},_isNativeClick:function(){return k.real().ios&&this.option("editing.allowUpdating")},_createTable:function(){var n=this,t=n.callBase.apply(n,arguments);if(!f(n)&&n.option("editing.allowUpdating"))t.on(w("dxhold","dxDataGridRowsView"),"td:not(."+d+")",n.createAction(function(){var t=n.getController("editing");t.isEditing()&&t.closeEditCell()}));return t},_createRow:function(n){var t=this.callBase(n),o,u,f,e,s;return n&&(o=this.getController("editing"),u=o.isEditRow(n.rowIndex),f=!!n.removed,e=!!n.inserted,s=!!n.modified,i(this)===r?f&&t.addClass(lt):u&&t.addClass(nt),e&&t.addClass(at),s&&t.addClass(vt),(u||e||f)&&t.removeClass(g),u&&n.rowType==="detail"&&t.addClass(ct)),t},_rowClick:function(t){var i=this,r=i.getController("editing"),f=n(t.jQueryEvent.target).closest("."+it+"> td"),u=i.getCellIndex(f),o=i.option("editing.allowUpdating"),e=i._columnsController.getVisibleColumns()[u],s=e&&(e.allowEditing||r.isEditCell(t.rowIndex,u));f.hasClass(gt)||o&&s&&r.editCell(t.rowIndex,u)||r.isEditRow(t.rowIndex)||i.callBase(t)},_cellPrepared:function(n,t){var s=t.columnIndex,i=this.getController("editing"),o=!!t.column.command,r=t.setValue,f,u,e;t.isEditing=i.isEditCell(t.rowIndex,t.columnIndex)||i.isEditRow(t.rowIndex)&&t.column.allowEditing;!v.isDefined(t.column.command)&&(t.isEditing||t.column.showEditorAlways)&&(f=t.column.alignment,n.addClass(d).toggleClass(wt,!r).toggleClass(ft,!r),f&&n.find("input").first().css("text-align",f));u=n.get(0).firstChild;u&&u.className&&u.className.indexOf(kt)>=0&&n.addClass(dt).toggleClass(ft,o||!r);e=t.row&&(t.row.inserted?t.row.values:t.row.modifiedValues);e&&e[s]!==undefined&&t.column&&!o?(i.createHighlightCell(n),n.addClass(rt)):r&&i.createHighlightCell(n,!0);this.callBase.apply(this,arguments)},_update:function(n){this.callBase(n);n.changeType==="updateSelection"&&this.getTableElements().children("tbody").children("."+nt).removeClass(g)},cellValue:function(n,t,i,r){var u=this.getCellOptions(n,t);if(u){if(i===undefined)return u.value;this.getController("editing").updateFieldValue(u,i,r||"")}}},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.allowAdding||(n.allowUpdating||n.allowDeleting)&&n.mode===r)}}}}})}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,e=t.require("/utils/utils.common"),c=t.require("/ui/widgets/ui.button"),l=t.require("/ui/events/pointer/ui.events.pointer"),a=t.require("/ui/widgets/ui.validator"),r=t.require("/validationEngine"),v="dx-datagrid-invalid",y="dx-invalid-message",p="dx-invalid-message-always",w="dx-revert-button",b="dx-datagrid-revert-tooltip",o="dx-highlight-outline",s="__DX_INSERT_INDEX__",u="row",k="form",h="batch",f="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,f=i._editingController;return(t=t||f.getEditMode()===u,i._isValidationInProgress)?!1:(i._isValidationInProgress=!0,t?n.each(f._editData,function(t,u){var e;u.type&&u.type!=="remove"&&(e=i.validateGroup(u),e.isValid||n.each(e.brokenRules,function(){var n=this.validator.option("adapter").getValue();n===undefined&&(n=null);this.column&&f.updateFieldValue({key:u.key,column:this.column},n,!0)}),r=r&&e.isValid)}):i._currentCellValidator&&(r=i.validateGroup(i._currentCellValidator._findGroup()).isValid),i._isValidationInProgress=!1,r)},validateGroup:function(n){var u=this,t=r.getGroupConfig(n),i;return t&&t.validators.length&&(i=r.validateGroup(n)),u._rowValidating(n,i)},updateEditData:function(n){this._editingController.getEditMode()!==k?(this.setDisableApplyValidationResults(!0),n.isValid=r.getGroupConfig(n)?r.validateGroup(n).isValid:!0,this.setDisableApplyValidationResults(!1)):n.isValid=!0},setValidator:function(n){this._currentCellValidator=n},getValidator:function(){return this._currentCellValidator},removeValidators:function(t){var i=this,u=i._editingController;n.each(u._editData,function(n,i){var f=r.getGroupConfig(i),u;if((!e.isDefined(t)||t===n)&&f)for(u=0;u<f.validators.length;u++)f.validators[u]._dispose(),u--})},createValidator:function(t,i){var s=this,u=s._editingController,r=t.column,o,f=u.getIndexByKey(t.key,u._editData),h=function(n){if(n.brokenRule&&(n.brokenRule.columnIndex=r.index,n.brokenRule.column=r),i&&!s.getDisableApplyValidationResults()){if(!n.isValid){var t=i.find(":focus");u.createHighlightCell(i,!0);t.is(":focus")||t.focus().trigger(l.down)}i.toggleClass(v,!n.isValid)}};if(e.isArray(r.validationRules))return f<0&&r.showEditorAlways&&(f=u._addEditData({key:t.key})),f>=0?(o=u._editData[f],new a(i||{},{name:r.caption,validationRules:n.extend(!0,[],r.validationRules),validationGroup:o,adapter:i&&i.hasClass("dx-widget")?null:{getValue:function(){var n=r.calculateCellValue(o.data||{});return n!==undefined?n:t.value},applyValidationResults:h}})):void 0},setDisableApplyValidationResults:function(n){this._disableApplyValidationResults=n},getDisableApplyValidationResults:function(){return this._disableApplyValidationResults}}}());i.registerModule("validating",{defaultOptions:function(){return{editing:{texts:{validationCancelChanges:Globalize.localize("dxDataGrid-validationCancelChanges")}}}},controllers:{validating:i.ValidatingController},extenders:{controllers:{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++)})},_needInsertItem:function(n){var t=this.callBase.apply(this,arguments);return t&&!n.isValid&&(t=n.key.pageIndex===this._pageIndex),t},processItems:function(t,r){var f=this,u,o,c=0,e=f._editData,l=f.getController("data"),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 u={key:n.key},i=a(n,t),r;i>=0||(n.rowIndex=n.rowIndex>o?n.rowIndex%o:n.rowIndex,r=n.rowIndex,u[s]=1,i>=0&&(t.splice(i,1),r-=c),t.splice(r,0,u),c++)};if(t=f.callBase(t,r),o=t.length,f.getEditMode()===h&&r!=="prepend"&&r!=="append")for(u=0;u<e.length;u++)e[u].type&&e[u].pageIndex===f._pageIndex&&e[u].key.pageIndex!==f._pageIndex&&v(e[u]);return t},processDataItem:function(t){var r=this,f,u,o=t.data[s],e=o?t.data.key:t.key,c=r.getEditMode();c===h&&o&&e&&(f=i.getIndexByKey(e,r._editData),f>=0&&(u=r._editData[f],u.type!=="insert"&&(t.data=n.extend(!0,{},u.oldData,u.data),t.key=e)));r.callBase.apply(r,arguments)},_afterInsertRow:function(t){var i=this.getController("validating"),r=this.getController("columns").getHiddenColumns();n.each(r,function(n,r){i.createValidator({column:r,key:t.key,value:r.calculateCellValue(t.data)})});this.callBase(t)},_beforeSaveEditData:function(n,t){var i=this,e,o,r=i.callBase.apply(i,arguments),s=i.getController("validating");return n?(e=n.type==="remove"||n.isValid,e&&s.removeValidators(t),r=r||!e):(o=s.validate(!0),i._updateRowAndPageIndices(),i.getEditMode()===f?o||(i._focusEditingCell(),r=!0):i.getEditMode()===u&&(r=!o)),r},_beforeEditCell:function(n,t,i){var u=this.callBase(n,t,i),e=this.component.getCellElement(n,t),r=e.data("dxValidator");if(this.getEditMode(this)===f&&(!r||r.validate().isValid))return u},_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)},updateFieldValue:function(){var n=this,t;n.callBase.apply(n,arguments);n.getEditMode()===u&&(t=n.getController("validating").getValidator(),t&&t.validate())},createHighlightCell:function(n,t){var r=!0,i;t||(i=n.data("dxValidator"),i&&(r=i.validate().isValid));r&&this.callBase(n)},getEditDataByKey:function(n){return this._editData[i.getIndexByKey(n,this._editData)]},_formEditorPrepared:function(n,t){this.callBase.apply(this,arguments);this.getController("validating").createValidator(n,t.children(".dx-widget"))}},editorFactory:{_showRevertButton:function(t){var i=this,r=t.find("."+o).first();r.length&&n("<div>").addClass(b).appendTo(t).dxTooltip({animation:null,visible:!0,target:r,closeOnOutsideClick:!1,closeOnTargetScroll:!1,boundary:i._rowsView.element(),contentTemplate:function(){return new c(n("<div>").addClass(w),{icon:"revert",hint:i.option("editing.texts.validationCancelChanges"),onClick:function(){i._editingController.cancelEditData()}}).element()},position:{my:"left top",at:"right top",of:r,offset:"1 0",collision:"flip"}})},_showValidationMessage:function(t,i,r){var u=this,f=t.find("."+o);n("<div/>").addClass(y).addClass(p).text(i).appendTo(t).dxOverlay({target:f.length?f:t,container:t,shading:!1,width:"auto",height:"auto",visible:!0,animation:!1,closeOnOutsideClick:!1,closeOnTargetScroll:!1,position:{collision:"fit flip",boundary:u._rowsView.element(),boundaryOffset:"0 0",my:"top "+r,at:"bottom "+r},onPositioned:function(){u._rowsView.element()&&u._rowsView.updateFreeSpaceRowHeight()}})},init:function(){this.callBase();this._editingController=this.getController("editing");this._rowsView=this.getView("rowsView")},loseFocus:function(n){n||this.getController("validating").setValidator(null);this.callBase()},focus:function(n,t){var r=this,i=n&&n.closest("td"),e=i&&i.data("dxValidator"),o=i&&i.parent().data("options"),s=o?r.getController("editing").getEditDataByKey(o.key):null,u,h=i&&i.closest(".dx-datagrid-rowsview").find(".dx-editor-cell .dx-tooltip, .dx-editor-cell .dx-invalid-message"),c=i&&r.getController("columns").getVisibleColumns()[i.index()];return h&&h.remove(),e&&c&&(r.getController("validating").setValidator(e),e.option("adapter").getValue()!==undefined&&(u=e.validate(),u.isValid||(t=!0,r._showValidationMessage(i,u.brokenRule.message,c.alignment)))),(u&&!u.isValid||s&&s.type==="update")&&r._editingController.getEditMode()===f&&r._showRevertButton(i),!t&&r._rowsView.element()&&r._rowsView.updateFreeSpaceRowHeight(),r.callBase(n,t)}}},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){this.getController("validating").createValidator(t,n);this.callBase.apply(this,arguments)}}}}})}(jQuery,DevExpress),function(n,t,i){var f=t.ui,r=f.dxDataGrid,e=DevExpress.require("/ui/ui.errors"),u=t.require("/utils/utils.common"),o=t.require("/ui/ui.dataHelper");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(o).inherit(function(){var f={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.createAction("onDataErrorOccurred");t.dataErrorOccurred.add(function(n){return t.executeAction("onDataErrorOccurred",{error:n})});t._refreshDataSource()},callbackNames:function(){return["changed","loadingChanged","dataErrorOccurred","pageChanged","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;if(n.name==="dataSource"&&n.name===n.fullName&&n.value===n.previousValue){i();t.refresh();return}switch(n.name){case"cacheEnabled":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])),n=f.updateFilter(n,!u.remoteOperations().filtering)),n},_handleCustomizeStoreLoadOptions:function(n){var i=this._columnsController,r=this._dataSource,t=n.storeLoadOptions;(!n.isCustomLoading||t.isLoadingAll)&&(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),t.sort=i.getSortDataSourceParameters(!r.remoteOperations().sorting),n.group=i.getGroupDataSourceParameters(!0),this._isFirstLoading=!1)},_handleColumnsChanged:function(n){var t=this,e=n.changeTypes,f=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()),t.pageChanged.fire()):e.columns&&((f.filterValues||f.filterValue||f.selectedFilterOperation)&&(this.option("filterRow.applyFilter")!=="onClick"||f.filterValues)&&(o=t._columnsController.columnOption(n.columnIndex,"filterValue"),s=t._columnsController.columnOption(n.columnIndex,"filterValues"),(u.isArray(s)||n.columnIndex===i||u.isDefined(o)||!f.selectedFilterOperation||f.filterValue)&&t._applyFilter()),t._needApplyFilter||r.checkChanges(f,["width","visibleWidth","filterValue","selectedFilterOperation","filterValues","filterType"])||t._columnsController.columnsChanged.add(h))},_handleDataChanged:function(t){var i=this,r=i._dataSource,u=i._columnsController,f=u.isAllDataTypesDefined();r&&!i._isDataSourceApplying&&(i._isDataSourceApplying=!0,n.when(i._columnsController.applyDataSource(r)).done(function(){i._isLoading&&i._handleLoadingChanged(!1);i._isDataSourceApplying=!1;var n=i._calculateAdditionalFilter(),r=i._needApplyFilter;i._needApplyFilter=!1;r&&n&&n.length&&!f?(e.log("W1005",i.component.NAME),i._applyFilter()):i.updateItems(t)}),i._isDataSourceApplying&&i._handleLoadingChanged(!0),i._needApplyFilter=!i._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._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)):h&&t.updateItems()},_loadDataSource:function(){var n=this._dataSource;n&&n.load()},_processItems:function(t){var i=this,f=i._columnsController.getVisibleColumns(),e={visibleColumns:f,dataIndex:0},r=[];return n.each(t,function(n,t){u.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(n,t){for(var f=[],i,r,u=0;u<t.length;u++)i=t[u],r=null,i.command?r=null:i.calculateCellValue?r=i.calculateCellValue(n):i.dataField&&(r=n[i.dataField]),f.push(r);return f},_updateItemsCore:function(t){var i=this,u,l=i._dataSource,f=t.changeType||"refresh",e,s;if(t.changeType=f,l){u=t.items||l.items();u=i._processItems(u.slice(0),f);t.items=u;switch(f){case"prepend":i._items.unshift.apply(i._items,u);break;case"append":i._items.push.apply(i._items,u);break;case"update":var h=-1,o=t.rowIndices.slice(0),c=0;for(o.sort(function(n,t){return n-t}),e=0;e<o.length;e++)o[e]<0&&(o.splice(e,1),e--);t.items=[];t.rowIndices=[];t.changeTypes=[];s=function(n,t){return r.equalKeys(n.key,t.key)};n.each(o,function(n,r){var o,e,l,a;(r+=c,h!==r)&&(t.rowIndices.push(r),h=r,o=i._items[r],l=i._items[r+1],e=u[r],a=u[r+1],e&&t.items.push(e),o&&e&&s(o,e)?(f="update",i._items[r]=e,o.visible!==e.visible&&t.items.splice(-1,1,{visible:e.visible})):e&&!o||a&&s(o,a)?(f="insert",i._items.splice(r,0,e),c++):(o&&!e||l&&s(e,l))&&(f="remove",i._items.splice(r,1),c--,h=-1),t.changeTypes.push(f))});break;default:i._items=u.slice(0)}n.each(i._items,function(n,t){t.rowIndex=n})}else i._items=[]},updateItems:function(n){n=n||{};this._updateItemsCore(n);this.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.pageChanged,"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)},_createDataSourceAdapterCore:function(n,t){var i=new r.DataSourceAdapter(this.component);return i.init(n,t),i},_createDataSourceAdapter:function(n){var i=this.option("remoteOperations");return i==="auto"&&(i=n.store()instanceof t.data.ArrayStore?{}:{filtering:!0,sorting:!0,paging:!0}),i===!0&&(i={filtering:!0,sorting:!0,paging:!0,grouping:!0,summary:!0}),this._createDataSourceAdapterCore(n,i)},setDataSource:function(n){var t=this,i=t._dataSource;!n&&i&&(i.changed.remove(t._dataChangedHandler),i.loadingChanged.remove(t._loadingChangedHandler),i.loadError.remove(t._loadErrorHandler),i.customizeStoreLoadOptions.remove(t._customizeStoreLoadOptionsHandler),i.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 f=this,i=n.Deferred(),r=f._dataSource,u,e;return r?t?(u={data:t,isCustomLoading:!0,storeLoadOptions:{},loadOptions:{group:r.group(),sort:r.sort()}},r._handleDataLoaded(u),i.resolve(f._processItems(u.data,"loadingAll"),u.extra&&u.extra.summary)):f.isLoading()?i.reject():(e=n.extend({isLoadingAll:!0},r.loadOptions()),e.requireTotalCount=!1,r.load(e).done(function(n,t){n=f._processItems(n.slice(0),"loadingAll");i.resolve(n,t&&t.summary)}).fail(i.reject)):i.resolve([]),i},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,f=u.option("paging"),r=u._dataSource;return r?t!==i&&r.pageIndex()!==t?(r.pageIndex(t),f&&(f.pageIndex=t),r.load().done(n.proxy(u.pageChanged,"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.pageChanged,"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(!0)).done(t.resolve).fail(t.reject)}),t},_disposeDataSource:function(){this.setDataSource(null)}};return r.proxyMethod(f,"load"),r.proxyMethod(f,"reload"),r.proxyMethod(f,"itemsCount",0),r.proxyMethod(f,"totalItemsCount",0),r.proxyMethod(f,"hasKnownLastPage",!0),r.proxyMethod(f,"isLoaded",!0),r.proxyMethod(f,"totalCount",0),f}());r.registerModule("data",{defaultOptions:function(){return{loadingTimeout:0,dataSource:null,cacheEnabled:!0,onDataErrorOccurred:null,remoteOperations:"auto",paging:{enabled:!0,pageSize:i,pageIndex:i}}},controllers:{data:f.dxDataGrid.DataController}})}(jQuery,DevExpress),function(n,t){function s(t,i,r){function f(n){var r=n.element?n.element():n,i=r.offset();return i?n.scrollTop()-(i.top-t.offset().top):t.offset().top}function s(n){return function(){var t=n.scrollTop()-f(n);t=t>0?t:0;i(t)}}function h(t){var u=t.get(0).nodeName==="#document",i=t.data("dxScrollable")||u&&n(window)||t.css("overflow-y")==="auto"&&t,r;if(i){r=s(i);i.on("scroll",r);e.push(function(n){var t=f(i),r=i.scrollTo?"scrollTo":"scrollTop";n-t>=0&&i[r](n+t)});c.push(i);o.push(function(){i.off("scroll",r)})}}var u,c=[],e=[],o=[];for(r=r||t,u=r.parent();u.length;u=u.parent())h(u);return{scrollTo:function(t){n.each(e,function(n,i){i(t)})},dispose:function(){n.each(o,function(n,t){t()})}}}var h=t.ui,u=h.dxDataGrid,b=t.require("/utils/utils.translator"),k=DevExpress.require("/class"),d="dx-datagrid-table",g="dx-row",nt="dx-freespace-row",c="dx-column-lines",l="dx-datagrid-bottom-load-panel",a="dx-datagrid-table-content",tt="dx-datagrid-group-space",it="dx-scrollable-container",rt="dx-scrollable-content",ut="dx-datagrid-content",e="infinite",v="virtual",o=25e4,f=15e6,i=function(n){return n.option("scrolling.mode")===v},r=function(n){return n.option("scrolling.mode")===e},y=k.inherit(function(){var l=function(n){var t=n._dataSource.pageSize();return t&&n._viewportSize>=0?Math.ceil(n._viewportSize/t):1},u=function(n){var i=n.option("scrolling.preloadEnabled"),t=l(n);return t&&(i&&t++,r(n)&&t--),t},t=function(n){return n._cache.length?n._cache[0].pageIndex:-1},e=function(n){return n._cache.length?n._cache[n._cache.length-1].pageIndex:-1},o=function(n,t,i){n._isChangedFiring=!0;t(i);n._isChangedFiring=!1},h=function(n,t){if(n._isDelayChanged)return n._isDelayChanged=!1,o(n,t),!0},c=function(n,t,i,r){var e=n._dataSource,f=e.items(),s,u;i&&!n._isDelayChanged&&(s={changeType:i,items:f});u=n._dataSource.viewportItems();i==="append"?u.push.apply(u,f):i==="prepend"?u.unshift.apply(u,f):n._dataSource.viewportItems(f);e.updateLoading();n._lastPageIndex=n.pageIndex();n._isDelayChanged=r;r||o(n,t,s)};return{ctor:function(n,t){var i=this;i._dataSource=t;i.component=n;i._pageIndex=i._lastPageIndex=t.pageIndex();i._viewportSize=0;i._viewportItemSize=20;i._viewportItemIndex=-1;i._sizeRatio=1;i._items=[];i._cache=[]},option:function(){return this.component.option.apply(this.component,arguments)},virtualItemsCount:function(){var n=this,r,f=0,u,e;if(i(n))return r=t(n),r<0&&(r=0),u=r*n._dataSource.pageSize(),f=n._cache.length*n._dataSource.pageSize(),e=Math.max(0,n._dataSource.totalItemsCount()-f-u),{begin:u,end:e}},_setViewportPositionCore:function(n,t){var i=this,r=Math.min(i.option("scrolling.timeout")||0,i._dataSource.changingDuration());t&&r<i.option("scrolling.renderingTreshold")&&(r=10);clearTimeout(i._scrollTimeoutID);r>0?i._scrollTimeoutID=setTimeout(function(){i.setViewportItemIndex(n)},r):i.setViewportItemIndex(n)},getViewportPosition:function(){return this._position||0},setViewportPosition:function(n){var t=this,i=t.virtualItemsCount(),f=t._sizeRatio||1,r=t._viewportItemSize,u=i?Math.floor(i.begin*r*f):0;t._position=n;i&&n>=u&&n<=u+t._contentSize?t._setViewportPositionCore(i.begin+(n-u)/r,!0):t._setViewportPositionCore(n/(r*f))},setContentSize:function(n){var t=this,i=t.virtualItemsCount(),r;t._contentSize=n;i&&(r=(i.begin+i.end+t.itemsCount())*t._viewportItemSize,t._sizeRatio=r>f?f/r:1)},getContentOffset:function(){var n=this,t=n.virtualItemsCount();return t?Math.floor(t.begin*n._viewportItemSize*n._sizeRatio):0},getVirtualContentSize:function(){var n=this,t=n.virtualItemsCount();return t?(t.begin+t.end)*n._viewportItemSize*n._sizeRatio+n._contentSize:0},getViewportItemIndex:function(){return this._viewportItemIndex},setViewportItemIndex:function(n){var t=this,f=t._dataSource.pageSize(),e=t._dataSource.pageCount(),c=i(t),l=r(t),o=t._dataSource.totalItemsCount(),a=t._viewportItemIndex<0,s,h,u;t._viewportItemIndex=n;f&&(c||l)&&o>=0&&(t._viewportSize&&n+t._viewportSize>=o?t._dataSource.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)),(t.pageIndex()!==u||a)&&(t.pageIndex(u),t.load()))},viewportItemSize:function(n){return n!==undefined&&(this._viewportItemSize=n),this._viewportItemSize},viewportSize:function(n){return n!==undefined&&(this._viewportSize=n),this._viewportSize},pageIndex:function(n){return i(this)||r(this)?(n!==undefined&&(this._pageIndex=n),this._pageIndex):this._dataSource.pageIndex(n)},beginPageIndex:function(n){var i=t(this);return i<0&&(i=n!==undefined?n:this.pageIndex()),i},endPageIndex:function(){var n=e(this);return n>0?n:this._lastPageIndex},load:function(){var f=t(this),o=-1,h=this._dataSource,s,c=function(n,t){var i=n._dataSource;if(t===n.pageIndex()||!i.isLoading()&&t<i.pageCount()||!i.hasKnownLastPage()&&t===i.pageCount())return i.pageIndex(t),i.load()};if(i(this)||r(this)?((f<0||!this._cache[this._pageIndex-f])&&(o=this._pageIndex),f>=0&&o<0&&this._viewportSize>=0&&(f>0&&e(this)+1===h.pageCount()&&this._cache.length<u(this)+1?o=f-1:f+this._cache.length<=this._pageIndex+u(this)&&(o=f+this._cache.length)),o>=0&&(s=c(this,o)),h.updateLoading()):s=h.load(),!s&&this._lastPageIndex!==this.pageIndex())this._dataSource.onChanged({changeType:"pageIndex"});return s||n.Deferred().resolve()},loadIfNeed:function(){var n=this;!(i(n)||r(n))||n._dataSource.isLoading()||n._isChangedFiring||n.load()},handleDataChanged:function(n){var f=this,e,o=f._dataSource,v=f._cache.length,s,l,a;i(f)||r(f)?(e=t(f),e>=0&&(i(f)&&e+f._cache.length!==o.pageIndex()&&e-1!==o.pageIndex()&&(f._cache=[]),r(f)&&o.pageIndex()===0&&(f._cache=[])),a={pageIndex:o.pageIndex(),itemsCount:f.itemsCount(!0)},f.option("scrolling.removeInvisiblePages")?l=f._cache.length>Math.max(u(this),2):h(f,n),e===o.pageIndex()+1?(l?f._cache.pop():s="prepend",f._cache.unshift(a)):(l?f._cache.shift():s="append",f._cache.push(a)),c(f,n,f._cache.length>1?s:undefined,v===0),f.load().done(function(){h(f,n)&&f.load()})):c(f,n)},itemsCount:function(t){var r=0;return!t&&i(this)?n.each(this._cache,function(){r+=this.itemsCount}):r=this._dataSource.itemsCount(),r},reset:function(){this._cache=[]},subscribeToWindowScrollEvents:function(n){var t=this;t._windowScroll=t._windowScroll||s(n,function(n){t.viewportItemSize()&&t.setViewportPosition(n)})},dispose:function(){clearTimeout(this._scrollTimeoutID);this._windowScroll&&this._windowScroll.dispose();this._windowScroll=null},scrollTo:function(n){this._windowScroll&&this._windowScroll.scrollTo(n)}}}()),p,w;h.dxDataGrid.VirtualScrollController=y;p=function(){var t=function(n){var t=n._virtualScrollController.beginPageIndex(-1);i(n)&&(t<0||n.viewportSize()>=0&&n.getViewportItemIndex()>=0&&(t*n.pageSize()>n.getViewportItemIndex()||t*n.pageSize()+n.itemsCount()<n.getViewportItemIndex()+n.viewportSize())&&n._dataSource.isLoading()?n._isLoading||(n._isLoading=!0,n.loadingChanged.fire(!0)):n._isLoading&&(n._isLoading=!1,n.loadingChanged.fire(!1)))};return{init:function(n){var i=this;i.callBase.apply(i,arguments);i._isLoading=!0;i._items=[];i._isLoaded=!0;i._virtualScrollController=new y(i.component,{pageSize:function(){return i.pageSize()},totalItemsCount:function(){return i.totalItemsCount()},hasKnownLastPage:function(){return i.hasKnownLastPage()},pageIndex:function(t){return n.pageIndex(t)},isLoading:function(){return n.isLoading()},pageCount:function(){return i.pageCount()},load:function(){return n.load()},updateLoading:function(){t(i)},itemsCount:function(){return i.itemsCount(!0)},items:function(){return n.items()},viewportItems:function(n){return n&&(i._items=n),i._items},onChanged:function(n){i.changed.fire(n)}})},_handleLoadingChanged:function(n){var t=this;i(t)||(t._isLoading=n,t.callBase.apply(t,arguments))},_handleLoadError:function(){var n=this;n._isLoading=!1;n.loadingChanged.fire(!1);n.callBase.apply(n,arguments)},_handleDataChanged:function(){var t=n.proxy(this.callBase,this);this._virtualScrollController.handleDataChanged(t)},items:function(){return this._items},itemsCount:function(n){return n?this.callBase():this._virtualScrollController.itemsCount()},virtualItemsCount:function(){return this._virtualScrollController.virtualItemsCount()},getViewportItemIndex:function(){return this._virtualScrollController.getViewportItemIndex()},setViewportItemIndex:function(n){return this._virtualScrollController.setViewportItemIndex(n)},viewportSize:function(n){return this._virtualScrollController.viewportSize(n)},pageIndex:function(n){return this._virtualScrollController.pageIndex(n)},beginPageIndex:function(){return this._virtualScrollController.beginPageIndex()},endPageIndex:function(){return this._virtualScrollController.endPageIndex()},load:function(n){return n?this.callBase(n):this._virtualScrollController.load()},loadIfNeed:function(){return this._virtualScrollController.loadIfNeed()},isLoading:function(){return this._isLoading},isLoaded:function(){return this._dataSource.isLoaded()&&this._isLoaded},_changeRowExpandCore:function(){var n=this.callBase.apply(this,arguments);return this._virtualScrollController.reset(),t(this),n},refresh:function(n,i,u){var f=this,e=n.storeLoadOptions,o=f._dataSource;return(i||u.reload)&&(f._virtualScrollController.reset(),f._isLoaded=!1,t(f),f._isLoaded=!0,r(f)?(f.pageIndex(0),o.pageIndex(0),e.pageIndex=0,e.skip=0):(o.pageIndex(f.pageIndex()),o.paginate()&&(e.skip=f.pageIndex()*f.pageSize()))),f.callBase.apply(f,arguments)}}}();u.DataSourceAdapter=u.DataSourceAdapter.inherit(p);w=function(){return{init:function(){var n=this,t=n.getController("data");n.callBase();t.pageChanged.add(function(){n.scrollToPage(t.pageIndex())})},scrollToPage:function(n){var t=this,u=t._dataController,e=u?u.pageSize():0,f;f=i(t)||r(t)?n*t._rowHeight*e:0;t.scrollTo({y:f,x:t._scrollLeft})},_renderCore:function(){var n=this,t=new Date;n.callBase.apply(n,arguments);n._updateContentPosition();n._renderTime=new Date-t},_renderContent:function(n,t){var i=this,r=i._dataController.virtualItemsCount();return r?(t.addClass(a),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){var i=this,u,f=i._findContentElement(),r=t&&t.changeType;r==="append"||r==="prepend"?(u=f.children().first(),n.children("tbody").children("tr")[r==="append"?"appendTo":"prependTo"](u),n.remove(),i._getFreeSpaceRowElements().not(":last").remove()):i.callBase.apply(i,arguments);i._updateBottomLoading()},_updateContentPosition:function(){var n=this,s,t,o,r,u,h=n._rowHeight||20,i=n._dataController.virtualItemsCount(),c,e;return i?(s=n._findContentElement(),o=s.children(),r=o.eq(0),u=o.eq(1),n._contentTableHeight=r.outerHeight(),t=(i.begin+i.end+n._dataController.itemsCount())*n._rowHeight,n._heightRatio=t>f?f/t:1,t=(i.begin+i.end)*h*n._heightRatio+n._contentTableHeight,e=Math.floor(i.begin*h*n._heightRatio),b.move(r,{top:e}),c=n._contentHeight!==t||t===0||!n._isTableLinesDisplaysCorrect(u)||!n._isColumnElementsEqual(r.find("col"),u.find("col")),c&&(n._contentHeight=t,n._renderVirtualTableContent(u,t)),n._scrollTop<e&&n._dataController.pageIndex()>0&&n.scrollTo({top:e,left:n._scrollLeft}),!0):!1},_isTableLinesDisplaysCorrect:function(n){var t=n.find("."+c).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 i=this,r=i._columnsController.getVisibleColumns(),u=i._createColGroup(r).prop("outerHTML"),e="",h=i.option("showColumnLines")?c:"",s=function(n){return"<tr style='height:"+n+"px;' class='"+nt+" "+g+" "+h+"' >"+e+"<\/tr>"},f=0;f<r.length;f++)e+=r[f].command==="expand"?"<td class='"+tt+"'/>":"<td />";while(t>o)u+=s(o),t-=o;u+=s(t);n.addClass(d);n.html(u)},_findBottomLoadPanel:function(){var t=this.element(),n=t&&t.find("."+l);if(n&&n.length)return n},_updateBottomLoading:function(){var t=this,r=t.option("scrolling.mode"),u=r===v,f=r===e,o=!t._dataController.hasKnownLastPage()&&t._dataController.isLoaded()&&(u||f),i=t._findBottomLoadPanel();o?i||n("<div>").addClass(l).append(t._createComponent(n("<div>"),"dxLoadIndicator").element()).appendTo(t._findContentElement()):i&&i.remove()},_handleScroll:function(n){var t=this;t._hasHeight&&t._rowHeight&&t._setViewportScrollTop(n.scrollOffset.top);t.callBase.apply(t,arguments)},_setViewportScrollTop:function(n){var t=this,i=Math.min(t.option("scrolling.timeout")||0,t._renderTime||0);clearTimeout(t._scrollTimeoutID);i>0?t._scrollTimeoutID=setTimeout(function(){t._setViewportScrollTopCore(n)},i):t._setViewportScrollTopCore(n)},_setViewportScrollTopCore:function(n){var t=this,i=t._dataController.virtualItemsCount(),f=t._heightRatio||1,r=t._rowHeight,u=i?Math.floor(i.begin*r*f):0;i&&n>=u&&n<=u+t._contentTableHeight?t._dataController.setViewportItemIndex(i.begin+(n-u)/r):t._dataController.setViewportItemIndex(n/(r*f))},_needUpdateRowHeight:function(n){var t=this;return t.callBase.apply(t,arguments)||n>0&&t.option("scrolling.mode")===e},_updateRowHeight:function(){var t=this,i;t.callBase.apply(t,arguments);t._rowHeight&&(t._updateContentPosition(),i=t._hasHeight?t.element().outerHeight():n(window).outerHeight(),t._dataController.viewportSize(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)},_resizeCore:function(){var n=this,i=n.element(),t;if(n.callBase(),n.component.element()&&!n._windowScroll&&i.closest(document).length){n._windowScroll=s(i,function(t){!n._hasHeight&&n._rowHeight&&n._setViewportScrollTop(t)},n.component.element());n.on("disposing",function(){n._windowScroll.dispose()})}t=n._dataController.dataSource();t&&t.loadIfNeed&&t.loadIfNeed()},getTableElements:function(n){var t=this.callBase();return n&&this.option("scrolling.mode")==="virtual"&&(t=t.add(this.element().find("> ."+it+" > ."+rt+"> ."+ut).children(":not(."+a+")"))),t},dispose:function(){clearTimeout(this._scrollTimeoutID);this.callBase()}}}();u.registerModule("virtualScrolling",{defaultOptions:function(){return{scrolling:{timeout:300,mode:"standard",preloadEnabled:!1,useNative:"auto"}}},extenders:{controllers:{data:function(){var n={};return u.proxyMethod(n,"virtualItemsCount"),u.proxyMethod(n,"viewportSize"),u.proxyMethod(n,"setViewportItemIndex"),n}()},views:{rowsView:w}}})}(jQuery,DevExpress),function(n,t){var o=t.ui,i=o.dxDataGrid,u=t.require("/utils/utils.common"),f="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",p="dx-column-indicators",e=function(t){return n("<div />").addClass(f).appendTo(t)};i.ColumnHeadersView=i.ColumnsView.inherit({_getDefaultTemplate:function(n){var t=this,i=t.option("showColumnLines");return n.command?function(n,t){var i=t.column;n.html("&nbsp;");n.addClass(i.cssClass)}:function(t){var r=e(t,i);r.text(n.caption)}},_getHeaderTemplate:function(n){return!u.isDefined(n.command)&&n.headerCellTemplate||{allowRenderToDetachedContainer:!0,render:this._getDefaultTemplate(n)}},_processTemplate:function(n,t){var r=this,u=t.column,i=this.callBase(n);return i&&u.headerCellTemplate?{render:function(n,t){var u=e(t,r.option("showColumnLines"));i.render(n,u)}}:i},_handleDataChanged:function(){(this._isGroupingChanged||this._requireReady)&&(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",i),this.setAria("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();(!n._tableElement||n._dataController.isLoaded())&&(t.addClass(s).toggleClass(h,!n.option("wordWrapEnabled")).empty(),n._updateContent(n._renderTable()),n.callBase.apply(n,arguments))},_resizeCore:function(){var n=this,t=n._scrollLeft;n.callBase();n._scrollLeft=0;n.scrollTo({left:t})},_renderRows:function(){var n=this;n._dataController.isLoaded()&&n.callBase.apply(n,arguments)},_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)},_columnOptionChanged:function(n){var i=n.changeTypes,t=n.optionNames,r=this.option("showColumnLines");if(i.grouping){this._isGroupingChanged=!0;return}this.callBase(n);(t.width||t.visibleWidth)&&(r||this._updateColumnTextWidths(),this.resizeCompleted.fire())},_updateColumnTextWidths:function(){var u=this,t=[],i,e,o=u.getColumns(),r=u.getColumnElements();r&&(n.each(o,function(f,o){i=0;e=u._getIndicatorContainer(n(r[f]));e.length&&(i=e.outerWidth());t[f]=n(r[f]).width()-(o.alignment==="center"?i*2:i)}),n.each(r,function(i,r){t.length&&t[i]>0&&n(r).find("."+f).css("max-width",t[i])}))},_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},getHeaderElement:function(n){var t=this.getColumnElements();return t&&t.eq(n)},getColumnElements:function(){if(this.option("showColumnHeaders"))return this.getCellElements(0)},getColumnWidths:function(){var i=this,r,u,e=i.getColumns(),f=i.getColumnElements(),t=i.callBase();return f&&t&&f.length===t.length&&n.each(f,function(i,f){u=n(f).find("."+p);u.length&&(r=u.outerWidth(!0),t[i]+=e[i].alignment==="center"?r*2:r)}),t},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},isVisible:function(){return this.option("showColumnHeaders")},optionChanged:function(n){var t=this;switch(n.name){case"showColumnHeaders":case"wordWrapEnabled":case"showColumnLines":t._invalidate(!0,!0);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 k=t.ui,r=t.require("/utils/utils.common"),i=k.dxDataGrid,d=t.require("/ui/ui.editor"),s={"=":"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",between:"filter-operation-between"},g=700,l=1,a="dx-datagrid",nt="dx-first-cell",h="dx-datagrid-filter-row",v="dx-menu",y="dx-editor-with-menu",u="dx-editor-container",tt="dx-editor-cell",it="dx-filter-menu",rt="dx-apply-button",c="dx-highlight-outline",p="dx-focused",ut="dx-cell-focus-disabled",f="dx-datagrid-filter-range-overlay",e="dx-filter-range-content",o="dx-datagrid-filter-range-start",ft="dx-datagrid-filter-range-end",w=function(){var w=function(n){var t=n&&n.children(),i=t&&t.data("dxComponents"),r=i&&i.length&&t.data(i[0]);if(r instanceof d)return r},t=function(n){var t=n.filterValue,u="";return r.isArray(t)?(u=i.formatValue(t[0],n),i.formatValue(t[1],n)!==""&&(u+=" - "+i.formatValue(t[1],n))):r.isDefined(t)&&(u=i.formatValue(t,n)),u},c=function(n,t,i){var e=n._columnsController.columnOption(t),u=e&&e.filterValue,s=i.closest("."+f).length,h=i.hasClass(o);return u&&r.isArray(u)?h?u[0]:u[1]:s?undefined:u},b=function(n,t,i){return t.selectedFilterOperation==="between"?i.hasClass(o)?[n,r.isArray(t.filterValue)?t.filterValue[1]:undefined]:[r.isArray(t.filterValue)?t.filterValue[0]:t.filterValue,n]:n},k=function(n,t){var i=t.value===""?undefined:t.value,u=t.container,f=n._columnsController.columnOption(t.column.index),e=c(n,f.index,u);(r.isDefined(e)||r.isDefined(i))&&(n._applyFilterViewController.setHighLight(u,e!==i),n._columnsController.columnOption(f.index,"filterValue",b(i,f,u),t.notFireEvent))};return{_updateEditorValue:function(n,t){var r=this,i=w(t);i&&i.option("value",c(r,n.index,t))},_columnOptionChanged:function(r){var o=this,y=r.optionNames,a,p,s,c,l,w,k,b;if(i.checkChanges(y,["filterValue","selectedFilterOperation"])&&r.columnIndex!==undefined){p=o.getController("columns").getVisibleIndex(r.columnIndex);s=o.getController("columns").columnOption(r.columnIndex);c=o.getCellElement(o.element().find("."+h).index(),p)||n();k=c.find("."+e);l=c.find("."+u).first();y.filterValue&&(o._updateEditorValue(s,l),a=c.find("."+f).data("dxOverlay"),a&&(w=a.content().find("."+u),o._updateEditorValue(s,w.first()),o._updateEditorValue(s,w.last())),a&&a.option("visible")||o._updateFilterRangeContent(c,t(s)));y.selectedFilterOperation&&p>=0&&s&&(b=c.find("."+v),b.length&&(o._updateFilterOperationChooser(b,s,l),s.selectedFilterOperation==="between"?(o._renderFilterRangeContent(c,s),o._showFilterRange(c,s)):l.find("."+e).length&&(o._renderEditor(l,o._getEditorOptions(l,s)),o._hideFilterRange())));return}o.callBase(r)},_resizeCore:function(){this.callBase.apply(this,arguments);this._filterRangeOverlayInstance&&this._filterRangeOverlayInstance.repaint()},isFilterRowVisible:function(){return this._isElementVisible(this.option("filterRow"))},isVisible:function(){return this.callBase()||this.isFilterRowVisible()},init:function(){this.callBase();this._applyFilterViewController=this.getController("applyFilter")},_initFilterRangeOverlay:function(i,r){var e=this,s={},h=i.find(".dx-editor-container"),c=n("<div/>").addClass(f).appendTo(i);return e._createComponent(c,"dxOverlay",{height:"auto",shading:!1,showTitle:!1,focusStateEnabled:!1,closeOnTargetScroll:!0,closeOnOutsideClick:!0,animation:!1,position:{my:"top",at:"top",of:h.length&&h||i,offset:"0 -1"},contentTemplate:function(t){var f=n("<div/>").addClass(u+" "+o).appendTo(t),h=e._getEditorOptions(f,r);h.sharedData=s;e._renderEditor(f,h);f.find("input").on("keydown",function(n){var t=i.find("[tabindex]").not(n.target).first();n.which===9&&n.shiftKey&&(n.preventDefault(),e._hideFilterRange(),t.length||(t=i.prev().find("[tabindex]").last()),t.focus())});f=n("<div/>").addClass(u+" "+ft).appendTo(t);h=e._getEditorOptions(f,r);h.sharedData=s;e._renderEditor(f,h);f.find("input").on("keydown",function(n){n.which!==9||n.shiftKey||(n.preventDefault(),e._hideFilterRange(),i.next().find("[tabindex]").first().focus())});return t.addClass(a)},onShown:function(n){var t=n.component.content().find("."+u).first();t.find("input").focus()},onHidden:function(){var n=e._columnsController.columnOption(r.index);i.find("."+v).parent().addClass(y);n.selectedFilterOperation==="between"&&(e._updateFilterRangeContent(i,t(n)),e.component.updateDimensions())}})},_updateFilterRangeOverlay:function(n){var t=this._filterRangeOverlayInstance;t&&t.option(n)},_showFilterRange:function(n,t){var i=this,u=n.children("."+f),r=u.length&&u.data("dxOverlay");!r&&t&&(r=i._initFilterRangeOverlay(n,t));r.option("visible")||(i._filterRangeOverlayInstance&&i._filterRangeOverlayInstance.hide(),i._filterRangeOverlayInstance=r,i._updateFilterRangeOverlay({width:n.outerWidth(!0)+l}),i._filterRangeOverlayInstance&&i._filterRangeOverlayInstance.show())},_hideFilterRange:function(){var n=this._filterRangeOverlayInstance;n&&n.hide()},getFilterRangeOverlayInstance:function(){return this._filterRangeOverlayInstance},_createRow:function(n){var t=this.callBase(n);return n.rowType==="filter"&&t.addClass(h),t},_getRows:function(){var n=this.callBase();return this.isFilterRowVisible()&&n.push({rowType:"filter"}),n},_renderCellContent:function(t,i){var f=this,r=i.column,o,e;i.rowType==="filter"&&(t.toggleClass(nt,i.columnIndex===0),r.command?t.html("&nbsp;"):r.allowFiltering&&(f.setAria("label",Globalize.localize("dxDataGrid-ariaColumn")+" "+r.caption+", "+Globalize.localize("dxDataGrid-ariaFilterCell"),t),t.addClass(tt),o=n("<div />").appendTo(t),e=n("<div />").addClass(u).appendTo(o),r.selectedFilterOperation==="between"?f._renderFilterRangeContent(t,r):f._renderEditor(e,f._getEditorOptions(e,r)),r.alignment&&t.find("input").first().css("text-align",r.alignment),r.filterOperations&&r.filterOperations.length&&f._renderFilterOperationChooser(o,r,e)));f.callBase(t,i)},_getEditorOptions:function(t,i){var r=this,u=n.extend({},i,{value:c(r,i.index,t),parentType:"filterRow",showAllText:r.option("filterRow.showAllText"),updateValueTimeout:r.option("filterRow.applyFilter")==="onClick"?0:g,width:null,setValue:function(n,u){k(r,{column:i,value:n,container:t,notFireEvent:u})}});return i.selectedFilterOperation==="between"&&(u.placeholder=t.hasClass(o)?r.option("filterRow.betweenStartText"):r.option("filterRow.betweenEndText")),u},_renderEditor:function(t,i){return t.empty(),this.getController("editorFactory").createEditor(n("<div />").appendTo(t),i)},_renderFilterRangeContent:function(i,r){var f=this,o=i.find("."+u).first();o.empty();n("<div/>").addClass(e).attr("tabindex",0).on("focusin",function(){f._showFilterRange(i,r)}).appendTo(o);f._updateFilterRangeContent(i,t(r))},_updateFilterRangeContent:function(n,t){var i=n.find("."+e);i.length&&(t===""?i.html("&nbsp;"):i.text(t))},_updateFilterOperationChooser:function(n,t,i){var r=this,u;r._createComponent(n,"dxMenu",{_templates:{},activeStateEnabled:!1,selectionMode:"single",cssClass:a+" "+ut+" "+it,showFirstSubmenuMode:"onHover",hideSubmenuOnMouseLeave:!0,items:[{disabled:t.filterOperations&&t.filterOperations.length?!1:!0,icon:s[t.selectedFilterOperation||"default"],selectable:!1,items:r._getFilterOperationMenuItems(t)}],onItemClick:function(n){var u=n.itemData.name,e=!1,f={};n.itemData.items||u===t.selectedFilterOperation||(u?(f.selectedFilterOperation=u,(u==="between"||t.selectedFilterOperation==="between")&&(e=u==="between",f.filterValue=undefined)):f={selectedFilterOperation:t.defaultSelectedFilterOperation,filterValue:undefined},r._columnsController.columnOption(t.index,f),r._applyFilterViewController.setHighLight(i,!0),e||r._focusEditor(i))},onSubmenuShown:function(){u=r._isEditorFocused(i);r.getController("editorFactory").loseFocus()},onSubmenuHiding:function(){n.blur();n.dxMenu("instance").option("focusedElement",null);u&&r._focusEditor(i)},rtlEnabled:r.option("rtlEnabled")})},_isEditorFocused:function(n){return n.hasClass(p)||n.parents("."+p).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 u=this,r=[{}],i=u.option("filterRow"),f=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:f[n],icon:s[n]}}),r.push({name:null,text:i&&i.resetOperationText,icon:s["default"]})),r},optionChanged:function(n){var t=this;switch(n.name){case"filterRow":case"showColumnLines":this._invalidate(!0,!0);n.handled=!0;break;default:t.callBase(n)}}}}(),b={_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.createFilterExpression(this.filterValue,this.selectedFilterOperation||this.defaultFilterOperation,"filterRow"),u.push(n))}),i.combineFilters(u)}};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(c,t),this._getHeaderPanel().enableApplyButton(t))},removeHighLights:function(){if(this._isOnClick()){var n=this.getView("columnHeadersView");n.element().find("."+h+" ."+c).removeClass(c);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"),between:Globalize.localize("dxDataGrid-filterRowOperationBetween")},betweenStartText:Globalize.localize("dxDataGrid-filterRowOperationBetweenStartText"),betweenEndText:Globalize.localize("dxDataGrid-filterRowOperationBetweenEndText")}}},controllers:{applyFilter:i.ApplyFilterViewController},extenders:{controllers:{data:b,columnsResizer:{_startResizing:function(){var n=this,i,t;n.callBase.apply(n,arguments);n.isResizing()&&(t=n._columnHeadersView.getFilterRangeOverlayInstance(),t&&(i=t.element().closest("td").index(),(i===n._targetPoint.columnIndex||i===n._targetPoint.columnIndex+1)&&t.content().hide()))},_endResizing:function(){var n=this,i,t;n.isResizing()&&(t=n._columnHeadersView.getFilterRangeOverlayInstance(),t&&(i=t.element().closest("td"),n._columnHeadersView._updateFilterRangeOverlay({width:i.outerWidth(!0)+l}),t.content().show()));n.callBase.apply(n,arguments)}}},views:{columnHeadersView:w,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();t._isShowApplyFilterButton()&&(t._applyButton=t._createComponent(n("<div>").addClass(rt).appendTo(t.element()),"dxButton",{disabled:i,hint:t.option("filterRow.applyFilterText"),icon:"apply-filter",onClick:function(){t._dataController._applyFilter();t._applyFilterViewController.removeHighLights()}}),t._$applyButton=t._applyButton.element())},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._invalidate(),n.handled=!0):this.callBase(n)}}}}});i.ColumnHeadersViewFilterRowExtender=w;i.DataControllerFilterRowExtender=b}(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}});i.registerModule("headerPanel",{defaultOptions:function(){return{}},views:{headerPanel:i.HeaderPanel}})}(jQuery,DevExpress),function(n,t){function f(n){n=n||[];for(var t=0;t<n.length;t++)n[t].selected=!1,f(n[t].items)}function e(t){var r,u,i;if(n.isArray(t[0])){for(i=[],r=0;r<t.length;r++)n.isArray(t[r])?(u&&i.push(u),i.push(e(t[r])),u="or"):u=o.isConjunctiveOperator(t[r])?"or":"and";return i}return i=o.normalizeBinaryCriterion(t),i[1]=w[i[1]]||i[1],i}var a=t.ui,i=a.dxDataGrid,o=t.data.utils,r=t.require("/utils/utils.common"),s="dx-header-filter",h="dx-header-filter-menu",v={month:{format:"month",dateType:"full"},quarter:{format:"quarter",dateType:"full"},dayOfWeek:{format:"dayOfWeek",dateType:"full"}},u=function(n){return r.isDefined(n.allowHeaderFiltering)?n.allowHeaderFiltering:n.allowFiltering},c;i.updateHeaderFilterItemSelectionState=function(n,t,i){if(t^i){if(n.selected=!0,i&&n.items)for(var r=0;r<n.items.length;r++)if(!n.items[r].selected){n.selected=undefined;break}}else i&&(n.selected=!1,f(n.items))};i.HeaderFilterController=i.ViewController.inherit(function(){var u=function(t,r,u){var f=i.getGroupInterval(r),e=n.extend({target:"headerFilter"},r);return f&&(e.groupInterval=f[u],r.dataType==="date"?e.format=v[f[u]]:r.dataType==="number"&&(e.getDisplayFormat=function(){var n={format:r.format,precision:r.precision},e=i.formatValue(t,n),s=t+f[u],o=i.formatValue(s,n);return e&&o?e+" - "+o:""})),e};return{init:function(){this._columnsController=this.getController("columns");this._dataController=this.getController("data");this._headerFilterView=this.getView("headerFilterView")},_updateSelectedState:function(n,t){for(var r=n.length,u=t.filterType==="exclude";r--;)"items"in n[r]&&this._updateSelectedState(n[r].items,t,n[r]),i.updateHeaderFilterItemSelectionState(n[r],i.getIndexByKey(n[r].value,t.filterValues,null)>-1,u)},_normalizeGroupItem:function(n,t,f){var e,o,s=f.path,h=f.valueSelector,c=f.displaySelector,l=f.column;return h&&c?(e=h(n),o=c(n)):(e=n.key,o=e),n=r.isObject(n)?n:{},s.push(e),n.value=s.length===1?s[0]:s.join("/"),n.text=i.formatValue(o,u(o,l,t)),n.text||(n.text=f.headerFilterOptions.texts.emptyValue),delete n.key,n},_processGroupItems:function(n,i,u,f){var s=this,h,c,l=f.column,o=l.lookup,a=f.level,e;for(u=u||[],i=i||0,o&&(h=t.data.utils.compileGetter(o.displayExpr),c=t.data.utils.compileGetter(o.valueExpr)),e=0;e<n.length;e++)n[e]=s._normalizeGroupItem(n[e],i,{column:f.column,headerFilterOptions:f.headerFilterOptions,displaySelector:h,valueSelector:c,path:u}),"items"in n[e]&&(i!==a&&r.isDefined(n[e].value)?s._processGroupItems(n[e].items,i+1,u,f):delete n[e].items),u.pop()},getDataSource:function(u){var f=this,l,a,h,e=f._dataController.dataSource(),c=i.getGroupDataSourceParameters(u,e.remoteOperations().grouping),s=u.headerFilter&&u.headerFilter.dataSource,v=f.option("headerFilter"),o={component:f.component};return r.isDefined(s)&&!r.isFunction(s)?(e=t.data.utils.normalizeDataSourceOptions(s),e.postProcess=function(n){return f._updateSelectedState(n,u),n},e):(u.lookup?(e=t.data.utils.normalizeDataSourceOptions(u.lookup.dataSource),e.postProcess=function(n){return this.pageIndex()===0&&(n=n.slice(0),n.unshift(null)),f._processGroupItems(n,null,null,{level:0,column:u,headerFilterOptions:v}),f._updateSelectedState(n,u),n},o.dataSource=e):(a=r.isArray(c)?c.length-1:0,f._currentColumn=u,l=f._dataController.getCombinedFilter(),f._currentColumn=null,o.dataSource={filter:l,group:c,load:function(t){var i=n.Deferred();return t.dataField=u.dataField||u.name,e.load(t).done(function(n){f._processGroupItems(n,null,null,{level:a,column:u,headerFilterOptions:v});f._updateSelectedState(n,u);i.resolve(n)}).fail(i.reject),i}}),r.isFunction(s)&&(s.call(u,o),h=o.dataSource.postProcess,o.dataSource.postProcess=function(n){var t=h&&h.apply(this,arguments)||n;return f._updateSelectedState(t,u),t}),o.dataSource)},getCurrentColumn:function(){return this._currentColumn},showHeaderFilterMenu:function(t){var u=this,f=n.extend(!0,{},u._columnsController.getColumns()[t]);if(f){var h=u._columnsController.getVisibleIndex(t),o=f&&r.isDefined(f.groupIndex),c=o?u.getView("headerPanel"):u.getView("columnHeadersView"),l=c.getColumnElements().eq(o?f.groupIndex:h),s=i.getGroupInterval(f),e=n.extend(f,{type:s&&s.length>1?"tree":"list",apply:function(){u._columnsController.columnOption(t,{filterValues:this.filterValues,filterType:this.filterType})},onShowing:function(n){var t=n.component.overlayContent().dxResizable("instance");t&&t.option("onResizeEnd",function(n){var i=u.getController("columns"),t=i.columnOption(e.dataField,"headerFilter");t=t||{};t.width=n.width;t.height=n.height;i.columnOption(e.dataField,"headerFilter",t,!0)})}});e.dataSource=u.getDataSource(e);u._headerFilterView.showHeaderFilterMenu(l,e)}},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(n,i){i.selected!==undefined&&!!i.selected^r?t.push(i.value):i.items&&i.items.length&&e(t,i.items,r)})};o?r.isArray(t.filterValues)&&(t.filterValues=[]):t.type==="tree"&&(e(f,u.option("items"),t.filterType==="exclude"),t.filterValues=f);t.filterValues&&!t.filterValues.length&&(t.filterValues=undefined);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 fit"}))},_cleanPopupContent:function(){this._popupContainer&&this._popupContainer.content().empty()},_initializePopupContainer:function(n){var t=this,f=t.element(),i=t.option("headerFilter"),e=n.headerFilter&&n.headerFilter.width||i&&i.width,o=n.headerFilter&&n.headerFilter.height||i&&i.height,u={width:e,height:o,visible:!1,shading:!1,showTitle:!1,showCloseButton:!1,closeOnTargetScroll:!0,closeOnOutsideClick:!0,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()}}}],resizeEnabled:!0,onShowing:function(i){t._initializeListContainer(n);n.onShowing&&n.onShowing(i)},onInitialized:function(n){var t=n.component;t.option("animation",t._getDefaultOptions().animation)}};r.isDefined(t._popupContainer)?t._popupContainer.option(u):t._popupContainer=t._createComponent(f,"dxPopup",u)},_initializeListContainer:function(t){var r=this,u=r._popupContainer.content(),f={dataSource:t.dataSource,onContentReady:function(){r.renderCompleted.fire()}};r._listContainer=t.type==="tree"?r._createComponent(n("<div/>").appendTo(u),"dxTreeView",n.extend(f,{showCheckBoxesMode:"selectAll",keyExpr:"id"})):r._createComponent(n("<div/>").appendTo(u),"dxList",n.extend(f,{pageLoadMode:"scrollBottom",showSelectionControls:!0,selectionMode:"all",itemTemplate:function(n,t,i){return i.text(n.text)},onSelectionChanged:function(r){var u=r.component.option("items"),f=r.component.option("selectedItems");r.component._selectedItemsUpdating||(f.length===0&&u.length?(t.filterType="include",t.filterValues=[]):f.length===u.length&&(t.filterType="exclude",t.filterValues=[]));n.each(u,function(n,r){var u=i.getIndexByKey(r,f,null)>=0,o=!!r.selected,e;o!==u&&(r.selected=u,t.filterValues=t.filterValues||[],e=i.getIndexByKey(r.value,t.filterValues,null),e>=0&&t.filterValues.splice(e,1),u^t.filterType==="exclude"&&t.filterValues.push(r.value))})},onContentReady:function(i){var r=i.component,f=r.option("items"),u=[],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(h)},init:function(){this._headerFilterController=this.getController("headerFilter")}});var l=i.headerFilterMixin={_applyColumnState:function(n){var i,r=n.rootElement,t=n.column;return n.name==="headerFilter"?(r.find("."+s).remove(),u(t)&&(i=this.callBase(n).toggleClass("dx-header-filter-empty",!t.filterValues||!t.filterValues.length)),i):this.callBase(n)},_renderIndicator:function(n){var t,i=n.container,r=n.indicator;if(n.name==="headerFilter"&&(t=this.option("rtlEnabled"),i.children().length&&(!t&&n.columnAlignment==="right"||t&&n.columnAlignment==="left"))){i.prepend(r);return}this.callBase(n)},optionChanged:function(n){n.name==="headerFilter"?(this._invalidate(),n.handled=!0):this.callBase(n)}},y=n.extend({},l,{_renderCellContent:function(n,t){var i=this,e,f=t.column;i.callBase(n,t);!f.command&&!r.isDefined(f.groupIndex)&&u(f)&&i.option("headerFilter.visible")&&t.rowType==="header"&&(e=i._applyColumnState({name:"headerFilter",rootElement:n,column:f,showColumnLines:i.option("showColumnLines")}),e&&i._subscribeToIndicatorEvent(e,f,"headerFilter"))},_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)},_columnOptionChanged:function(n){var t=n.optionNames;if(i.checkChanges(t,["filterValues","filterType"])){this.option("headerFilter.visible")&&this._updateIndicators("headerFilter");return}this.callBase(n)}}),p=n.extend({},l,{_createGroupPanelItem:function(n,t){var i=this,e=i.callBase.apply(i,arguments),f;return!t.command&&u(t)&&i.option("headerFilter.visible")&&(f=i._applyColumnState({name:"headerFilter",rootElement:e,column:{alignment:r.getDefaultAlignment(i.option("rtlEnabled")),filterValues:t.filterValues,allowHeaderFiltering:!0},showColumnLines:!0}),f&&f.on("dxclick",i.createAction(function(n){var r=n.jQueryEvent;r.stopPropagation();i.getController("headerFilter").showHeaderFilterMenu(t.index)}))),e}}),w={"=":"<>","<>":"=",">":"<=",">=":"<","<":">=","<=":">",contains:"notcontains",notcontains:"contains",startswith:"notcontains",endswith:"notcontains"};c={_calculateAdditionalFilter:function(){var t=this,f=[t.callBase()],s=t._columnsController.getVisibleColumns(),h=t.getController("headerFilter"),o=h.getCurrentColumn();return n.each(s,function(t,s){var c,h,l;o&&o.index===s.index||u(s)&&s.calculateFilterExpression&&r.isArray(s.filterValues)&&s.filterValues.length&&(h=[],l=s.filterType==="exclude",n.each(s.filterValues,function(n,t){r.isArray(t)?c=l?e(t):t:(s.deserializeValue&&s.dataType!=="date"&&s.dataType!=="number"&&(t=s.deserializeValue(t)),c=s.createFilterExpression(t,l?"<>":"=","headerFilter"));c.columnIndex=s.index;h.push(c)}),h=i.combineFilters(h,l?"and":"or"),f.push(h))}),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:c},views:{columnHeadersView:y,headerPanel:p}}});n.extend(i.__internals,{DATAGRID_HEADER_FILTER_CLASS:s,DATAGRID_HEADER_FILTER_MENU_CLASS:h,DATAGRID_CELL_CONTENT_CLASS:"dx-datagrid-text-content"})}(jQuery,DevExpress),function(n,t){var l=t.ui,i=l.dxDataGrid,r=t.require("/utils/utils.common"),u=t.require("/ui/events/ui.events.utils"),f="dx-sort",e="dx-sort-up",o="dx-sort-down",s="dx-datagrid-action",a="dx-column-indicators",h="dx-datagrid-text-content",v="dxDataGridColumnHeadersView",c=i.sortingMixin={_applyColumnState:function(n){var t=this,c,v=t.option("sorting.mode"),i=n.rootElement,u=n.column,y=i.find("."+a),p,l;if(n.name==="sort"){if(c=t.option("rtlEnabled")?"right":"left",(v==="single"||v==="multiple")&&u.allowSorting&&n.rootElement.addClass(s),i.find("."+f).remove(),y.children().length||y.remove(),i.children("."+h).css("margin-"+c,""),r.isDefined(u.sortOrder))return p=u.sortOrder==="asc"?"ascending":"descending",t.setAria("sort",p,i),l=t.callBase(n).toggleClass(e,u.sortOrder==="asc").toggleClass(o,u.sortOrder==="desc"),u.alignment==="center"&&i.children("."+h).css("margin-"+c,l.outerWidth(!0)),l;t.setAria("sort","none",i)}else return t.callBase(n)},_renderIndicator:function(n){var t,i=n.container,r=n.indicator;if(n.name==="sort"&&(t=this.option("rtlEnabled"),i.children().length&&(!t&&n.columnAlignment==="left"||t&&n.columnAlignment==="right"))){i.prepend(r);return}this.callBase(n)},_updateIndicator:function(n,t,i){i==="sort"&&r.isDefined(t.groupIndex)||this.callBase.apply(this,arguments)}},y=n.extend({},c,{_createRow:function(t){var i=this,f=i.callBase(t);if(t.rowType==="header")f.on(u.addNamespace("dxclick",v),"> td",i.createAction(function(t){var f=null,e=t.jQueryEvent,o=n(e.currentTarget),s=o.index(),h=i._columnsController.getVisibleColumns(),u=h[s];!u||r.isDefined(u.groupIndex)||u.command||(e.shiftKey?f="shift":e.ctrlKey&&(f="ctrl"),setTimeout(function(){i._columnsController.changeSortOrder(u.index,f)}))}));return f},_renderCellContent:function(n,t){var i=this,r=t.column;i.callBase(n,t);r.command||t.rowType!=="header"||i._applyColumnState({name:"sort",rootElement:n,column:r,showColumnLines:i.option("showColumnLines")})},_columnOptionChanged:function(n){var t=n.changeTypes;if(t.length===1&&t.sorting){this._updateIndicators("sort");return}this.callBase(n)},optionChanged:function(n){var t=this;switch(n.name){case"sorting":t._invalidate();n.handled=!0;break;default:t.callBase(n)}}}),p=n.extend({},c,{_createGroupPanelItem:function(n,t){var i=this,r=i.callBase.apply(i,arguments);r.on(u.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},optionChanged:function(n){var t=this;switch(n.name){case"sorting":t._invalidate();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:y,headerPanel:p}}});n.extend(i.__internals,{DATAGRID_SORT_CLASS:f,DATAGRID_SORTUP_CLASS:e,DATAGRID_SORTDOWN_CLASS:o,DATAGRID_HEADERS_ACTION_CLASS:s})}(jQuery,DevExpress),function(n,t){function r(n){return o.isDefined(n.allowSearch)?n.allowSearch:n.allowFiltering}function u(n,t){var i=n.lookup;return i?n.parseValue.call(i,t):n.parseValue?n.parseValue(t):t}var e=t.ui,i=e.dxDataGrid,o=t.require("/utils/utils.common"),s=t.require("/integration/jquery/jquery.selectors"),h="dx-datagrid-search-panel",f="dx-datagrid-search-text",c=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,f){function a(n){for(var u=t.data.utils.compileGetter(o.valueExpr),r,i=0;i<n.length;i++)r=u(n[i]),c.push(e.createFilterExpression(r,null,"search"))}var s,e,l=n._columnsController.getColumns(),h,o,c=[];if(!f)return null;for(s=0;s<l.length;s++)e=l[s],r(e)&&e.calculateFilterExpression&&(o=e.lookup,h=u(e,f),o&&o.items?t.data.query(o.items).filter(e.createFilterExpression.call({dataField:o.displayExpr,dataType:o.dataType,calculateFilterExpression:e.calculateFilterExpression},h,null,"search")).enumerate().done(a):h!==undefined&&c.push(e.createFilterExpression(h,null,"search")));return i.combineFilters(c,"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(h).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:c,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,r,e){var c=this,h,a,o=c.option("searchPanel.text"),l;if(o&&c.option("searchPanel.highlightSearchText")){if(r&&e&&(l=u(e,o),o=i.formatValue(l,e),!o))return;a=n("<div>").text(o).html();h=t.parent();h.length||(h=n("<div>").append(t));n.each(h.find(s.icontains+"('"+o+"')"),function(t,i){n.each(n(i).contents(),function(t,i){if(i.nodeType===3){var u=function(t,i){var o=n("<span />").addClass(f),r=t.text(),e=r.toLowerCase().indexOf(i.toLowerCase());if(e>=0)return t[0].textContent?t[0].textContent=r.substr(0,e):t[0].nodeValue=r.substr(0,e),t.after(o.text(r.substr(e,i.length))),t=n(document.createTextNode(r.substr(e+i.length))).insertAfter(o),u(t,i)};r?n(i).text().toLowerCase()===o.toLowerCase()&&n(this).replaceWith(n("<span />").addClass(f).text(n(i).text())):u(n(i),o)}})})}},_renderCore:function(){this.callBase.apply(this,arguments);this.option("rowTemplate")&&this._highlightSearchText(this._getTableElement())},_updateCell:function(n,t){var u=this,i=t.column,f=i.dataType!=="string";r(i)&&u._highlightSearchText(n,f,i);u.callBase(n,t)}}}}})}(jQuery,DevExpress),function(n,t){var v=t.ui,r=v.dxDataGrid,e=t.require("/utils/utils.common"),y=t.require("/utils/utils.support"),p=t.require("/ui/events/ui.events.remove"),w=t.require("/utils/utils.string"),i=e.isDefined,b=window.ko,f="dx-group-row",o="dx-group-cell",k="dx-datagrid-rowsview",d="dx-data-row",u="dx-freespace-row",s="dx-datagrid-nodata",h="dx-datagrid-content",g="dx-datagrid-nowrap",nt="dx-row-lines",c="dx-column-lines",tt="dx-row-alt",l="dx-last-row-border",it=200,a=function(t){var u=t.option("scrolling"),i=t.option("scrolling.useNative"),r=n.extend({},u,{direction:"both",bounceEnabled:!1,useKeyboard:!1});return i===undefined&&(i=!0),i==="auto"?(delete r.useNative,delete r.useSimulatedScrollbar):(r.useNative=!!i,r.useSimulatedScrollbar=!i),r};r.createScrollableOptions=a;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 f=w.isEmpty(i.text)&&i.rowType==="data",u=f?"&nbsp;":i.text,r=t.get(0);n.encodeHtml&&!f?"textContent"in r?r.textContent=u:r.innerText=u:r.innerHTML=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.addClass(o);n.text(u)}},_update:function(){},_getColumnTemplate:function(n){var r=this,t=n.column;return n.rowType==="group"&&i(t.groupIndex)&&!t.showWhenGrouped?t.groupCellTemplate||{allowRenderToDetachedContainer:!0,render:r._getDefaultGroupTemplate()}:t.cellTemplate||{allowRenderToDetachedContainer:!0,render:r._getDefaultTemplate(t)}},_getCellTemplate:function(n){return this._getColumnTemplate(n)},_createRow:function(n){var t=this.callBase(n),e,r,u;return n&&(e=n.rowType==="group",r=n.rowType==="data",r&&t.addClass(d),r&&n.dataIndex%2==1&&this.option("rowAlternationEnabled")&&t.addClass(tt),r&&this.option("showRowLines")&&t.addClass(nt),this.option("showColumnLines")&&t.addClass(c),e&&(t.addClass(f),u=n.isExpanded,this.setAria("role","rowgroup",t),this.setAria("expanded",i(u)&&u.toString(),t))),t},_afterRowPrepared:function(n){var t=n.args[0],u=n.context,i=this._dataController,f,r;if(t.data&&t.rowType==="data"&&!t.inserted&&this.option("twoWayBindingEnabled"))if(u.$watch){r=u.$watch(function(){return i.generateDataValues(t.data,t.columns)},function(n,u){n!==u&&(r(),i.updateItems({changeType:"update",rowIndices:[t.rowIndex]}))},!0);t.rowElement.on(p.name,function(){r()})}else y.hasKo&&b.computed(function(){f&&i.updateItems({changeType:"update",rowIndices:[t.rowIndex]});f=i.generateDataValues(t.data,t.columns)},null,{disposeWhenNodeIsRemoved:t.rowElement.get(0)})},_renderScrollable:function(){var t=this,n=t.element();n.children().length||n.append("<div />");t._renderLoadPanel(n,n.parent());t._renderScrollableCore(n)},_handleScroll:function(n){var t=this;t._scrollTop=n.scrollOffset.top;t._scrollLeft=n.scrollOffset.left;t.scrollChanged.fire(n.scrollOffset,t.name)},_renderScrollableCore:function(t){var i=this,r=a(i),u=n.proxy(i._handleScroll,i);r.onScroll=u;r.onStop=u;i._scrollable=i._createComponent(t,"dxScrollable",r);i._scrollableContainer=i._scrollable&&i._scrollable._$container},_renderLoadPanel:function(t,i){var u=this,r;u._loadPanel&&u._loadPanel.element().remove();r=u.option("loadPanel");r&&r.enabled?(r=n.extend({shading:!1,message:r.text,position:{of:t},container:i},r),u._loadPanel=u._createComponent(n("<div>").appendTo(i),"dxLoadPanel",r)):u._loadPanel=null},_renderContent:function(t,i){return t.replaceWith(n("<div>").addClass(h).append(i)),this._findContentElement()},_updateContent:function(t,r){var u=this,o=u._getTableElement(),f=u._findContentElement(),s=r&&r.changeType,e=[];switch(s){case"update":n.each(r.rowIndices,function(n,f){var s=u._getRowElements(t).eq(n),c=r.changeTypes[n],h=r.items&&r.items[n];h&&e.push(function(){var t=u._getRowElements(),n=t.eq(f);switch(c){case"update":i(h.visible)&&h.visible!==n.is(":visible")?n.toggle(h.visible):n.replaceWith(s);break;case"insert":t.length?n.length?s.insertBefore(n):s.insertAfter(t.last()):s.prependTo(o);break;case"remove":n.remove()}})});n.each(e,function(){this()});t.remove();break;default:u._setTableElement(t);f.addClass(h);u._renderContent(f,t)}},_renderFreeSpaceRow:function(n){var t=this,i,r=t._createRow(),f=this.getColumns();for(r.addClass(u).toggleClass(c,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("."+s),u=this._dataController.isEmpty(),f=this._dataController.isLoading(),r=this.option("rtlEnabled");i.length||(i=n("<span>").addClass(s).appendTo(t));u&&!f?i.text(this._getNoDataText()).css({marginTop:-Math.floor(i.height()/2),marginRight:r?-Math.floor(i.width()/2):0,marginLeft:r?0:-Math.floor(i.width()/2)}).removeClass("dx-hidden"):i.addClass("dx-hidden")},_rowClick:function(i){var r=this._dataController.items()[i.rowIndex]||{};this.executeAction("onRowClick",n.extend({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,r=i.row,o=i.columns,h=r.rowIndex,c,l,a,f=this._getGroupCellOptions(i),u=0;u<=f.columnIndex;u++)c=u===f.columnIndex&&o[u].allowCollapsing&&i.scrollingMode!=="infinite"?!!r.isExpanded:null,this._renderCell(t,{value:c,row:r,rowIndex:h,column:{command:"expand",cssClass:o[u].cssClass},columnIndex:u});a=e.getDefaultAlignment(this.option("rtlEnabled"));l=n.extend({},o[f.columnIndex],{command:null,cssClass:null,showWhenGrouped:!1,alignment:a});s=this._renderCell(t,{value:r.values[r.groupIndex],row:r,rowIndex:h,column:l,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(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(this._getTableElement())||(this._setTableElement(t),this._renderScrollable(t)),t},_renderCore:function(n){var t=this,i,r=t.element();r.addClass(k).toggleClass(g,!t.option("wordWrapEnabled"));i=t._renderTable({change:n});t._updateContent(i,n);t.callBase(n);t._lastColumnWidths=null},_getRows:function(n){return n&&n.items||this._dataController.items()},_getCellOptions:function(t){var h=this,o,e=t.column,u=t.row,f=u.data,c=u&&u.summaryCells,l=t.value,a=r.getDisplayValue(e,l,f),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:f,rowType:u.rowType,values:u.values,text:i(e.command)?"":r.formatValue(a,e),rowIndex:u.rowIndex,summaryItems:c&&c[t.columnIndex],resized:e.resizedCallbacks}),i(e.groupIndex)&&v!=="virtual"&&v!=="infinite"&&(o.groupContinuesMessage=f&&f.isContinuationOnNextPage&&s&&s.groupContinuesMessage,o.groupContinuedMessage=f&&f.isContinuation&&s&&s.groupContinuedMessage),o},getCellOptions:function(n,t){var i=this._dataController.items()[n],u,r;return i&&(r=this._columnsController.columnOption(t),r&&(u=this._getCellOptions({value:r.calculateCellValue(i.data),rowIndex:i.rowIndex,row:i,column:r}))),u},getRow:function(t){var i=this._getRowElements();if(i.length>t)return n(i[t])},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},init:function(){var n=this,t=n.getController("data");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)});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>0?i:0},_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(t[n].groupIndex)&&f[n]!==r[n]&&t[n].resizedCallbacks.fire(r[n]);u._lastColumnWidths=r},_updateLastRowBorder:function(){var n=this._getFreeSpaceRowElements().first(),t=n.css("display")==="none";this.option("showBorders")&&this.option("showRowLines")&&t?this.element().addClass(l):this.element().removeClass(l)},_updateScrollable:function(){var n=this.element().data("dxScrollable");n&&(n._visibilityChanged(!0),this._updateHorizontalScrollPosition())},_updateLoadPanel:function(){var n=this._loadPanel;n&&n.option("visible")&&n.repaint()},_updateHorizontalScrollPosition:function(){var n=this.getScrollable(),t=n&&n.scrollOffset().left;t===0&&t!==this._scrollLeft&&n.scrollTo({x:this._scrollLeft})},_resizeCore:function(){var n=this;n.callBase();n._fireColumnResizedCallbacks();n._updateRowHeight();n._updateNoDataText();n.updateFreeSpaceRowHeight();n._updateLastRowBorder();n._updateScrollable();n._updateLoadPanel();n.setLoading(n._dataController.isLoading())},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(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)},it):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(u,e){n(e).hasClass(f)||r.getCellElements(u).eq(t).css({opacity:i})})},getCellElements:function(n){var t=this.callBase(n),i;return t&&(i=t.filter("."+o).index(),i>=0&&t.length>i+1&&(t.length=i+1)),t},getTopVisibleItemIndex:function(){var t=this,n=0,e=0,i=0,o,r,s=t._scrollTop,c=t._findContentElement().offset().top,f=t._dataController.items(),h=t._getTableElement();if(f.length&&h){for(o=h.children("tbody").children(".dx-row:visible, .dx-error-row").not("."+u),n=0;n<f.length;n++)if(e=i,r=o.eq(n),r.length&&(i=r.offset().top-c,i>s)){s*2<i+e&&n&&n--;break}n&&n===f.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"showColumnLines":case"showRowLines":case"rowAlternationEnabled":case"rowTemplate":case"twoWayBindingEnabled":t._invalidate(!0,!0);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"loadPanel":t._tableElement=null;t._invalidate(!0,!0);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,twoWayBindingEnabled:!0}},views:{rowsView:r.RowsView}})}(jQuery,DevExpress),function(n,t){var u=t.ui,i=u.dxDataGrid,r=t.require("/utils/utils.common"),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(t){t&&t.changeType==="update"||n.render()})},_getPager:function(){var n=this.element();return n&&n.data("dxPager")},_renderCore:function(){var i=this,o=i.element().addClass(f),t=i.option("pager")||{},n=i.getController("data"),u={maxPagesCount:e,pageIndex:1+(parseInt(n.pageIndex())||0),pageCount:n.pageCount(),pageSize:n.pageSize(),showPageSizes:t.showPageSizeSelector,showInfo:t.showInfo,pagesNavigatorVisible:t.visible,showNavigationButtons:t.showNavigationButtons,pageSizes:i.getPageSizes(),totalCount:n.totalCount(),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(t.infoText)&&(u.infoText=t.infoText);i._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==="dataSource",e=i==="scrolling";(r||u||e||f)&&((r||u)&&(t._pageSizes=null),(r||u||e)&&(t._isVisible=!1),f||(t._invalidate(),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 d=t.ui,o=t.require("/utils/utils.common"),e=t.require("/ui/events/ui.events.utils"),f=t.require("/ui/events/pointer/ui.events.pointer"),r=e.addNamespace,i=d.dxDataGrid,c=t.fx,g="dx-datagrid-columns-separator",l="dx-datagrid-columns-separator-transparent",a="dx-datagrid-drag-header",nt="dx-datagrid-text-content",h="dx-datagrid-drag-action",v="dx-datagrid-tracker",y="dx-block-separator",p="dx-datagrid-drop-highlight",w="dx-header-row",tt="dx-widget",u="dxDataGridResizingReordering",it=10,b=5,s=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 s(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(g)},_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)||s(this))},init:function(){this.callBase();this._isTransparent=s(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({init:function(){var n=this;this.callBase();this.getController("data").loadingChanged.add(function(t){var i=n.element();!t&&i&&i.css("display")!=="none"&&n.hide()})},_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}},_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},_renderCore:function(){this.element().addClass(a+" "+nt+" "+tt).css("display","none")},dispose:function(){var n=this.element();this._dragOptions=null;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(){var n=this;this.callBase();this._controller=this.getController("draggingHeader");this._columnsResizerViewController=this.getController("columnsResizer");this.getController("data").loadingChanged.add(function(t){var i=n.element();!t&&i&&i.css("display")!=="none"&&i.hide()})},dragHeader: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(h).text(t.sourceColumn.caption);r.element().appendTo(n(document.body))},moveHeader:function(n){var u=n.jQueryEvent,t=u.data.that,f,o,s,h,r=e.eventData(u),c=t._columnsResizerViewController?t._columnsResizerViewController.isResizing():!1,i=t._dragOptions;t._isDragging&&!c&&(s=Math.abs(r.x-i.columnElement.offset().left-i.deltaX),h=Math.abs(r.y-i.columnElement.offset().top-i.deltaY),(t.element().is(":visible")||s>b||h>b)&&(t.element().show(),f=r.x-i.deltaX,o=r.y-i.deltaY,t.element().offset({left:f,top:o}),t.dockHeader(r)),u.preventDefault())},dockHeader:function(t){var r=this,e=r._getDraggingPanelByPos(t),c=r._controller,i,u,s;if(e){var a=r.option("rtlEnabled"),l=e.getName()==="columnChooser",o=l?"y":"x",h=e.getColumnElements()||[],f=c._generatePointsByColumns(n.extend({},r._dragOptions,{targetDraggingPanel:e,columns:e.getColumns(),columnElements:h,isVerticalOrientation:l}));if(r._dropLocation=e.getName(),f.length>0){for(i=0;i<f.length;i++)if(s=f[i+1]&&(f[i][o]+f[i+1][o])/2,s===undefined||(a&&o==="x"?t[o]>s:t[o]<s)){r._dropColumnIndex=f[i].columnIndex;u=r._getDropOptions();h[i]?u.targetColumnElement=h.eq(i):(u.targetColumnElement=h.last(),u.isLast=!0);u.posX=f[i].x;c.dock(u);break}}else r._dropColumnIndex=-1,u=r._getDropOptions(),c.dock(u)}},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}});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,u=t._columnsSeparatorView.width(),f=t._columnsSeparatorView.element().offset(),s=u/2,o=t._$parentContainer.offset().left,i=e.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(t.pointsByColumns(),i.x,u),t._isReadyResizing=!1,t._columnsSeparatorView.changeCursor(),t._targetPoint&&f.top<=i.y&&f.top+t._columnsSeparatorView.height()>=i.y&&(t._columnsSeparatorView.changeCursor("col-resize"),t._columnsSeparatorView.moveByX(t._targetPoint.x-s),t._isReadyResizing=!0,r.preventDefault())):(t.pointsByColumns(null),t._isReadyResizing=!1,t._columnsSeparatorView.changeCursor())},_endResizing:function(n){var i=n.jQueryEvent,t=i.data;t._isResizing&&(t.pointsByColumns(null),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=e.eventData(i);e.isTouchEvent(i)&&(t._isHeadersRowArea(r.y)?(t._targetPoint=t._getTargetPoint(t.pointsByColumns(),r.x,it),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(),i.stopPropagation())},_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(f.move,u),this._moveSeparatorHandler);this._startResizingHandler&&this._$parentContainer.off(r(f.down,u),this._startResizingHandler);this._endResizingHandler&&(this._columnsSeparatorView.element().off(r(f.up,u),this._endResizingHandler),n(document).off(r(f.up,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(f.move,u),this,this._moveSeparatorHandler);this._$parentContainer.on(r(f.down,u),this,this._startResizingHandler);this._columnsSeparatorView.element().on(r(f.up,u),this,this._endResizingHandler);n(document).on(r(f.up,u),this,this._endResizingHandler)},_updateColumnsWidthIfNeeded:function(n,t){function s(n,t,r,u){if(n){var f=n.width;f&&(u=o.isString(f)&&f.slice(-1)==="%");u?(n&&i.columnOption(n.index,"visibleWidth",t),n&&i.columnOption(n.index,"width",(t/r*100).toFixed(3)+"%")):(n&&i.columnOption(n.index,"visibleWidth",undefined),n&&i.columnOption(n.index,"width",t))}}var r,e=!1,u,i=this._columnsController,h=i.getVisibleColumns(),c=this._columnsSeparatorView.width(),l=this._rowsView.contentWidth(),a=this.option("adaptColumnWidthByRatio")&&!this.option("columnAutoWidth"),v,y,f;return r=t-this._resizingInfo.startPosX,this.option("rtlEnabled")&&(r=-r),f=this._resizingInfo.currentColumnWidth+r,u=this._resizingInfo.nextColumnWidth-r,e=!(f<=c||u<=c),e&&(v=h[n],y=h[n+1],i.beginUpdate(),f=Math.floor(f),u=Math.floor(u),s(v,f,l,a),s(y,u,l,a),i.endUpdate()),e},isResizing:function(){return this._isResizing},init:function(){var n=this,i,t,r=function(t){n._scrollLeft!==t.left&&(n._scrollLeft=t.left,n.pointsByColumns(null))},u=function(){n._isResizing||n.pointsByColumns(null)};n.callBase();s(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.scrollChanged.remove(r);n._rowsView.scrollChanged.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()}}))},pointsByColumns:function(n){if(n!==undefined)this._pointsByColumns=n;else return this._pointsByColumns||this._generatePointsByColumns(),this._pointsByColumns},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({_generatePointsByColumns:function(n){var t=this;return i.getPointsByColumns(n.columnElements,function(i){return t._pointCreated(i,n.columns,n.targetDraggingPanel.getName(),n.sourceColumn)},n.isVerticalOrientation)},_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}},_subscribeToEvents:function(t,i){var f=this;n.each(i,function(o,s){if(s){var l=s.getColumnElements()||[],a=s.getName(),c=s.getColumns()||[];n.each(l,function(o,l){var v=n(l);if(s.allowDragging(c[o],i)){v.addClass(h);v.on(r("dxdragstart",u),f.createAction(function(r){var u=r.jQueryEvent,f=e.eventData(u);t.dragHeader({deltaX:f.x-n(u.currentTarget).offset().left,deltaY:f.y-n(u.currentTarget).offset().top,sourceColumn:c[o],columnIndex:o,columnElement:v,sourceLocation:a,draggingPanels:i})}));v.on(r("dxdrag",u),{that:t},f.createAction(t.moveHeader));v.on(r("dxdragend",u),{that:t},f.createAction(t.dropHeader))}})}})},_unsubscribeFromEvents:function(t,i){n.each(i,function(t,i){if(i){var f=i.getColumnElements()||[];n.each(f,function(t,i){var f=n(i);f.off(r("dxdragstart",u));f.off(r("dxdrag",u));f.off(r("dxdragend",u));f.removeClass(h)})}})},_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(){if(n._draggingHeaderView){var t=[n._columnChooserView,n._columnHeadersView,n._headerPanelView];n._unsubscribeFromEvents(n._draggingHeaderView,t);n._subscribeToEvents(n._draggingHeaderView,t)}};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))},dispose:function(){this._draggingHeaderView&&this._unsubscribeFromEvents(this._draggingHeaderView,[this._columnChooserView,this._columnHeadersView,this._headerPanelView])}});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){if(!t)return!1;var s=this,r=n(t.target),i,u,h,c,l,a,f,v;return n.each(o,function(){return i=s.getView(this),i&&i.element()&&i.element().find(r).length&&(f=r.closest("td"),a=f.closest(".dx-row"),h=i.getRowIndex(a),c=f[0]&&f[0].cellIndex,l=a.data("options"),u={jQueryEvent:t,targetElement:r,target:e[this],rowIndex:h,row:i._getRows()[h],columnIndex:c,column:l&&l.cells[c].column,items:i.getContextMenuItems&&i.getContextMenuItems(r)},s.executeAction("onContextMenuPreparing",u),s._contextMenuPrepared(u),v=u.items,v)?!1:void 0}),v},_contextMenuPrepared:n.noop});i.ContextMenuView=i.View.inherit({_renderCore:function(){var n=this;this._createComponent(n.element().addClass(f),"dxContextMenu",{onPositioning:function(t){var i=t.jQueryEvent,u=t.component,r=n.getController("contextMenu").getContextMenuItems(i);r?(u.option("items",r),i.stopPropagation()):t.cancel=!0},onItemClick:function(n){n.itemData.onItemClick&&n.itemData.onItemClick(n)},cssClass:u,target:n.component.element()})}});i.registerModule("contextMenu",{defaultOptions:function(){return{onContextMenuPreparing:null}},controllers:{contextMenu:i.ContextMenuController},views:{contextMenuView:i.ContextMenuView}})}(jQuery,DevExpress),function(n,t){var a=t.ui,i=a.dxDataGrid,r=t.require("/utils/utils.common"),v=t.require("/ui/ui.keyboardProcessor"),u=t.require("/ui/events/ui.events.utils"),f=t.require("/ui/events/pointer/ui.events.pointer"),o="dx-row",y="dx-data-row",p="dx-group-row",e="dx-datagrid-rowsview",s="dx-master-detail-row",h="dx-master-detail-cell",w="dx-datagrid-edit-form",b="dx-datagrid-group-footer",k="dx-command-expand",c=".dx-datagrid",d=".dx-checkbox, .dx-menu, input, textarea, [tabindex]",g=["rowsView"],l="row",nt="form";i.KeyboardNavigationController=i.ViewController.inherit({_isRowEditMode:function(){var n=this._editingController.getEditMode();return n===l||n===nt},_focusView:function(n,t){this._focusedViews.viewIndex=t;this._focusedView=n},_focusInteractiveElement:function(n,t){var i=n.find(d);i=t?i.last():i.first();i.focus()},_updateFocus:function(){var t=this,i=t._getFocusedCell();i&&(t._hasSkipRow(i.parent())&&(i=t._getNextCell(this._focusedCellPosition&&this._focusedCellPosition.rowIndex>0?"upArrow":"downArrow")),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),u=n(i.target).closest(c).parent();u.is(this.component.element())&&this._isCellValid(r,!0)?(this._focusView(i.data.view,i.data.viewIndex),this._updateFocusedCellPosition(r),this._editingController.isEditing()||r.focus()):this._resetFocusedCell()},_initFocusedViews:function(){var t=this,i=t.createAction(t._clickHandler);t._focusedViews=[];n.each(g,function(n,i){var r=t.getView(i);r&&r.isVisible()&&t._focusedViews.push(r)});n.each(t._focusedViews,function(n,r){r&&r.renderCompleted.add(function(){var e=r.element();e.off(u.addNamespace(f.down,"dxDataGridKeyboardNavigation"),i);e.on(u.addNamespace(f.down,"dxDataGridKeyboardNavigation"),"."+o+" td",{viewIndex:n,view:r},i);t._initKeyDownProcessor(t,e,t._keyDownHandler);t._focusedView&&t._focusedView.name===r.name&&t._isNeedFocus&&t._updateFocus()})})},_initKeyDownProcessor:function(n,t,i){this._keyDownProcessor&&(this._keyDownProcessor.dispose(),this._keyDownProcessor=null);this._keyDownProcessor=new v({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){var u;if(r.isDefined(n)){var f=this.getView("rowsView"),h=this._columnsController.getVisibleColumns(),e=f.getRowIndex(n.parent()),o=f.getCellIndex(n),i=h[o],c=this._getVisibleColumnCount(e),a=this._editingController.getEditMode(),v=a===l?this._editingController.isEditRow(e):this._editingController.isEditing(),y=n.parent().hasClass(s),p=function(){return!y&&i&&!r.isDefined(i.groupIndex)||parseInt(n.attr("colspan"))>1};if(c>o&&p())return u=t?!1:i.command==="expand",i&&!r.isDefined(i.command)&&(!v||i.allowEditing)||u}},_isCellByPositionValid:function(n,t){var i=this._focusedView&&this._focusedView.getCell(n);return this._isCellValid(i,t)},_isGroupRow:function(n){return n&&n.hasClass(p)},_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.css("display")==="none"||n.hasClass(b)||n.hasClass(s)&&!n.hasClass(w))},_enterKeyHandler:function(t,i){var r=this._getFocusedCell(),s=this.option("editing"),u=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null,h=this._focusedView&&this._focusedView.getRow(u),e,f,o;this.option("grouping.allowCollapsing")&&this._isGroupRow(h)||this.option("masterDetail.enabled")&&r&&r.hasClass(k)?(e=this._dataController.getKeyByRowIndex(u),f=this._dataController.items()[u],e!==undefined&&f&&f.data&&!f.data.isContinuation&&this._dataController.changeRowExpand(e)):i?(r=this._getCellElementFromTarget(t.originalEvent.target),this._updateFocusedCellPosition(r),this._isRowEditMode()?(this._focusEditFormCell(r),setTimeout(n.proxy(this._editingController.saveEditData,this._editingController))):this._editingController.closeEditCell()):(o=this._columnsController.getVisibleColumns()[this._focusedCellPosition.columnIndex],s.allowUpdating&&o&&o.allowEditing&&(this._isRowEditMode()?this._editingController.editRow(u):this._focusedCellPosition&&this._editingController.editCell(u,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){return 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(t,i){var u=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null,r=n(t.originalEvent&&t.originalEvent.target);this.option("selection")&&this.option("selection").mode!=="none"&&!i&&(r.parent().hasClass(y)||r.hasClass(e))&&(this._selectionController.changeItemSelection(u,{shift:t.shift,control:t.ctrl}),t.originalEvent.preventDefault())},_crtlAKeyHandler:function(n,t){!t&&n.ctrl&&this.option("selection.mode")==="multiple"&&this.option("selection.allowSelectAll")&&(this._selectionController.selectAll(),n.originalEvent.preventDefault())},_tabKeyHandler:function(t,i){var l=this.option("editing"),f=t.shift?"previous":"next",a=!t.shift&&this._isLastValidCell(this._focusedCellPosition)||t.shift&&this._isFirstValidCell(this._focusedCellPosition),u=t.originalEvent.target,o=n(u).closest("."+h),y=o.closest(c).parent(),r,v,s;if(o.length&&y.is(this.component.element())){this._updateFocusedCellPosition(o);r=this._getNextCell(f,null,null,!0);r.attr("tabindex",0);return}l&&u&&!a&&(n(u).hasClass(e)&&this._resetFocusedCell(),i?(this._updateFocusedCellPosition(this._getCellElementFromTarget(u)),r=this._getNextCell(f),v=this._columnsController.getVisibleColumns()[this.getView("rowsView").getCellIndex(r)],s=l.allowUpdating&&v.allowEditing,s||this._editingController.closeEditCell(),this._focusCell(r)&&(!this._isRowEditMode()&&s?this._editingController.editCell(this._focusedCellPosition.rowIndex,this._focusedCellPosition.columnIndex):this._focusInteractiveElement(r,t.shift))):(r=this._getNextCell(f,this._getElementType(u)),this._focusCell(r)));a?this._editingController.isEditing()&&this._isRowEditMode()&&this._editingController.closeEditCell():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"},_focusEditFormCell:function(n){n.hasClass(h)&&this.getController("editorFactory").focus(n,!0)},_escapeKeyHandler:function(n,t){if(t){var i=this._getCellElementFromTarget(n.originalEvent.target);this._updateFocusedCellPosition(i);this._isRowEditMode()?(this._focusEditFormCell(i),this._editingController.cancelEditData()):this._editingController.closeEditCell();n.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(),i={handled:!1,jQueryEvent:n.originalEvent};if((this.executeAction("onKeyDown",i),!n.originalEvent.isDefaultPrevented())&&(this._isNeedFocus=!0,this._isNeedScroll=!0,!i.handled)){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,t);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,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",{columnIndex:f.columnIndex,rowIndex:o})}return u}return null},_getNewPositionByCode:function(n,t,i){var u=n.columnIndex,r=n.rowIndex,f;if(n.rowIndex===undefined&&i==="next")return{columnIndex:0,rowIndex:0};switch(i){case"nextInRow":case"next":f=this._getVisibleColumnCount(r);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"&&(r--,f=this._getVisibleColumnCount(r),u=f-1);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._getVisibleColumnCount(n.rowIndex),r=this._isCellByPositionValid(t);return!this._isLastRow(n.rowIndex)||r?!1:n.columnIndex===i-1?!0:this._isLastValidCell(t)},_getVisibleColumnCount:function(n){var r=this.getController("data").items()[n],i=this.getController("columns").getVisibleColumns(),t=0;if(r&&r.rowType==="detail"){while(i[t]&&i[t].command)t++;t++}else t=i.length;return t},_isCellInRow:function(n,t){var i=n.columnIndex,r=this._getVisibleColumnCount(n.rowIndex);return t?i>=0&&i<=r-1:i>0&&i<r-1},_resetFocusedCell:function(){var n=this,t=n._getFocusedCell();t&&t.attr("tabindex",null);n._isNeedFocus=!1;n._isNeedScroll=!1;n._focusedCellPosition={}},_getCellElementFromTarget:function(t){return n(t).closest("."+o+"> td")},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._isNeedScroll&&n.is(":visible")&&t._focusedView&&t._focusedView.getScrollable&&(t._scrollToElement(n),t._isNeedScroll=!1)});t._focusedCellPosition={};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("."+e).length||t._resetFocusedCell()});t.createAction("onKeyDown");n(document).on(u.addNamespace(f.down,"dxDataGridKeyboardNavigation"),t._documentClickHandler)}},_scrollToElement:function(n,t){this._focusedView.getScrollable().scrollToElement(n,t)},focus:function(n){var t=this._getFocusedViewByElement(n);t&&(this._focusView(t.view,t.viewIndex),this._isNeedFocus=!0,this._isNeedScroll=!0,this._focus(n),this._isHeaderView(t.view.name)&&this._focusInteractiveElement(n))},getFocusedView:function(){return this._focusedView},_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(){r.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(u.addNamespace(f.down,"dxDataGridKeyboardNavigation"),this._documentClickHandler)}});i.registerModule("keyboardNavigation",{defaultOptions:function(){return{useKeyboard:!0}},controllers:{keyboardNavigation:i.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},getFocusedCellInRow:function(n){var i=this.getController("keyboardNavigation"),t=this.callBase(n);return this.option("useKeyboard")&&i._focusedCellPosition.rowIndex===n&&(t=i._getFocusedCell()||t),t}}}}})}(jQuery,DevExpress),function(n,t){var u=t.ui,i=u.dxDataGrid,r="dx-error-row",f="dx-error-message",e="dx-closebutton",o="dx-datagrid-action";i.ErrorHandlingController=i.ViewController.inherit({init:function(){var n=this;n._columnHeadersView=n.getView("columnHeadersView");n._rowsView=n.getView("rowsView")},_createErrorRow:function(t,i){var u=this,s=n("<tr />").addClass(r),c=n("<div/>").addClass(f).text(t),h=n("<div/>").addClass(e).addClass(o);h.on("dxclick",u.createAction(function(t){var f=t.jQueryEvent,e,o=n(f.currentTarget).closest("."+r).index();f.stopPropagation();n.each(i,function(t,i){e=n(i).find("tbody > tr").eq(o);u.removeErrorRow(e)})}));return n("<td/>").attr({colspan:u.getController("columns").getVisibleColumns().length,role:"presentation"}).prepend(h).append(c).appendTo(s),s},renderErrorRow:function(t,i){var r=this,u,f,e,o=i>=0?r._rowsView:r._columnHeadersView,s=o.getTableElements();n.each(s,function(h,c){f=r._createErrorRow(t,s);e=n(c).find("tr");i>=0?(u=o._getRowElements(n(c)).eq(i),r.removeErrorRow(e.eq(u.index()+1)),f.insertAfter(u)):(r.removeErrorRow(e.last()),n(c).append(f))})},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 c=t.ui,l=DevExpress.require("/ui/ui.errors"),i=t.require("/utils/utils.common"),r=c.dxDataGrid,a=t.data.utils.normalizeSortingInfo,v="dx-datagrid-total-footer",y="dx-datagrid-summary-item",p="dx-datagrid-text-content",w="dx-datagrid-group-footer",b="dx-datagrid-group-text-content",u="groupFooter",e=function(t,i){var u,o=i.column,e=i.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(y).addClass(p).addClass(f.cssClass).toggleClass(b,i.rowType==="group").text(r.getSummaryText(f,i.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=function(n){return n.summary||n.aggregates||[]},s,h;r.FooterView=r.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(v);n&&n.summaryCells&&n.summaryCells.length&&this._updateContent(this._renderTable())},_rowClick:function(t){var i=this._dataController.footerItems()[t.rowIndex]||{};this.executeAction("onRowClick",n.extend({},t,i))},_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}}}());s=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}}}();h=function(){var i=function(n,i,r,u){var f;return i&&(f=new t.data.AggregateCalculator({totalAggregates:i.totalAggregates,groupAggregates:i.groupAggregates,data:r,groupLevel:u}),f.calculate()),f?f.totalAggregates():[]},r=function(i,u,f){if(!i||!u.length)return i;var s=u[0],o=f[0],e;return s&&o&&o.length&&(e=t.data.query(i),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){i=n})),u=u.slice(1),f=f.slice(1),u.length&&f.length&&n.each(i,function(){this.items=r(this.items,u,f)}),i},u=function(n,t,i){var u=i&&i.sortByGroups&&i.sortByGroups();return u&&u.length?r(n,t,u):n};return{_customizeRemoteOperations:function(n){var t=this.summary();t&&(n.remoteOperations.summary?(!n.isCustomLoading||n.storeLoadOptions.isLoadingAll)&&(n.storeLoadOptions.group&&(n.remoteOperations.grouping?n.storeLoadOptions.groupSummary=t.groupAggregates:t.groupAggregates.length&&(n.remoteOperations.paging=!1)),n.storeLoadOptions.totalSummary=t.totalAggregates):(t.totalAggregates.length||t.groupAggregates.length&&n.storeLoadOptions.group)&&(n.remoteOperations.paging=!1));this.callBase.apply(this,arguments)},_handleDataLoadedCore:function(n){var t=this,r=a(n.loadOptions.group||[]),f=t.summary(),o,e=n.remoteOperations||{};e.summary?(e.paging||e.grouping||!r.length||(i(t,{groupAggregates:f.groupAggregates},n.data,r.length),n.data=u(n.data,r,f)),t._totalAggregates=n.extra&&n.extra.summary||t._totalAggregates):e.paging||(o=i(t,f,n.data,r.length),n.data=u(n.data,r,f),n.extra=n.extra||{},t._totalAggregates=n.extra.summary=o);t.callBase(n)}}}();r.DataSourceAdapter=r.DataSourceAdapter.inherit(s).inherit(h);r.registerModule("summary",{defaultOptions:function(){return{summary:{groupItems:undefined,totalItems:undefined,calculateCustomSummary:undefined,skipEmptyValues:!0,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:r.FooterView},extenders:{controllers:{data:function(){return{_isDataColumn:function(n){return n&&(!i.isDefined(n.groupIndex)||n.showWhenGrouped)},_isGroupFooterVisible:function(){for(var i=this.option("summary.groupItems")||[],n,r,t=0;t<i.length;t++)if(n=i[t],r=this._columnsController.columnOption(n.showInColumn||n.column),n.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&&(i.collectContinuationItems||!i.data.isContinuationOnNextPage)&&r.push({rowType:u,data:i.data,groupIndex:i.path.length-1,values:[]})),r},_processGroupItem:function(t,r){var s=this,e,o;return r.summaryGroupItems||(r.summaryGroupItems=s.option("summary.groupItems")||[]),t.rowType==="group"&&(e=-1,o=-1,n.each(r.visibleColumns,function(n){var i=r.visibleColumns[n-1];t.groupIndex===this.groupIndex&&(e=this.index);n>0&&i.command==="expand"&&this.command!=="expand"&&(o=this.index)}),t.summaryCells=this._calculateSummaryCells(r.summaryGroupItems,f(t.data),r.visibleColumns,function(n,t){return n.showInGroupFooter?-1:n.alignByColumn&&t&&!i.isDefined(t.groupIndex)&&t.index!==o?t.index:e})),t.rowType===u&&(t.summaryCells=this._calculateSummaryCells(r.summaryGroupItems,f(t.data),r.visibleColumns,function(n,t){return n.showInGroupFooter&&s._isDataColumn(t)?t.index:-1})),t},_calculateSummaryCells:function(t,u,f,e){var s=this,h=[],o={};return n.each(t,function(t,f){var h=s._columnsController.columnOption(f.column),a=f.showInColumn&&s._columnsController.columnOption(f.showInColumn)||h,c=e(f,a),l;c>=0&&(o[c]||(o[c]=[]),l=u[t],l===l&&o[c].push(n.extend({},f,{value:l,valueFormat:i.isDefined(f.valueFormat)?f.valueFormat:r.getFormatByDataType(h&&h.dataType),columnCaption:h&&h.index!==c?h.caption:undefined})))}),n.isEmptyObject(o)||n.each(f,function(){h.push(o[this.index]||[])}),h},_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(r,u){var e=this,o=e.getController("columns"),f=e.option("summary.calculateCustomSummary"),s=e.option("summary.skipEmptyValues");return n.map(r||[],function(r){var c=o.columnOption(r.column),v=c&&c.calculateCellValue?n.proxy(c,"calculateCellValue"):t.data.utils.compileGetter(c?c.dataField:r.column),a=r.summaryType||"count",y=r.column,p=i.isDefined(r.skipEmptyValues)?r.skipEmptyValues:s,h;return u?{selector:r.column,summaryType:r.summaryType}:(y=a==="avg"||a==="sum"?function(n){var t=v(n);return i.isDefined(t)?Number(t):t}:v,a==="custom"&&(f||(l.log("E1026"),f=function(){}),h={component:e.component,name:r.name},f(h),h.summaryProcess="calculate",a={seed:function(){return h.summaryProcess="start",h.totalValue=undefined,delete h.value,f(h),h.totalValue},step:function(n,t){return h.summaryProcess="calculate",h.totalValue=n,h.value=t,f(h),h.totalValue},finalize:function(n){return h.summaryProcess="finalize",h.totalValue=n,delete h.value,f(h),h.totalValue}}),{selector:y,aggregator:a,skipEmptyValues:p})})},_addSortInfo:function(n,t,r,u){var f;t&&(f=t.groupIndex,u=u||t.sortOrder,i.isDefined(f)&&(n[f]=n[f]||[],n[f].push({selector:r,desc:u==="desc"})))},_findSummaryItem:function(t,r){var u=-1,f=function(n){var t=n.summaryType,i=n.column;return t&&i&&t+"_"+i};return i.isDefined(r)&&n.each(t||[],function(n){if(this.name===r||n===r||this.summaryType===r||this.column===r||f(this)===r)return u=n,!1}),u},_getSummarySortByGroups:function(t,r){var u=this,o=u._columnsController,s=o.getGroupColumns(),e=[];if(r&&r.length)return n.each(t||[],function(){var c=this.sortOrder,t=this.groupColumn,l=u._findSummaryItem(r,this.summaryItem),h;l<0||(h=function(n){return f(n)[l]},i.isDefined(t)?(t=o.columnOption(t),u._addSortInfo(e,t,h,c)):n.each(s,function(n,t){u._addSortInfo(e,t,h,c)}))}),e},_createDataSourceAdapterCore:function(n,t){var r=this._getSummaryOptions(t),i=this.callBase(n,t);return i.summary(r),i},_getSummaryOptions:function(n){var t=this,i=t.option("summary.groupItems"),f=t.option("summary.totalItems"),e=t.option("sortByGroupSummaryInfo"),r=t._getAggregates(i,n&&n.grouping&&n.summary),u=t._getAggregates(f,n&&n.summary),o=function(){return t._getSummarySortByGroups(e,i)};if(r.length||u.length)return{groupAggregates:r,totalAggregates:u,sortByGroups:o}},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?w:""),t},_renderCells:function(n,t){this.callBase.apply(this,arguments);t.row.rowType==="group"&&t.row.summaryCells&&t.row.summaryCells.length&&this._renderGroupSummaryCells(n,t)},_hasAlignByColumnSummaryItems:function(n,t){return!i.isDefined(t.columns[n].groupIndex)&&t.row.summaryCells[n].length},_getAlignByColumnCellCount:function(n,t){for(var r=0,u,i=1;i<n;i++)u=t.row.summaryCells.length-i,r=this._hasAlignByColumnSummaryItems(u,t)?i:r;return r},_renderGroupSummaryCells:function(n,t){var i=n.children().last(),r=Number(i.attr("colspan"))||1,u=this._getAlignByColumnCellCount(r,t);this._renderGroupSummaryCellsCore(i,t,r,u)},_renderGroupSummaryCellsCore:function(t,i,r,u){var f,e;if(u>0)for(t.attr("colspan",r-u),f=0;f<u;f++)e=i.columns.length-u+f,this._renderCell(t.parent(),n.extend({column:i.columns[e],columnIndex:e},i))},_getColumnTemplate:function(n){return!n.column.command&&!i.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 c=t.ui,l=t.require("/utils/utils.browser"),a=t.require("/utils/utils.common"),v=t.require("/ui/events/ui.events.wheel"),r=c.dxDataGrid,u="dx-datagrid-content",y="dx-master-detail-cell",p="dx-first-cell",o="dx-state-hover",w="dx-header-row",i="dx-datagrid-content-fixed",b="dx-col-fixed",s="dx-pointer-events-target",f="dx-pointer-events-none",h=function(t){var i=-1;return n.each(t,function(n,t){if(t.command==="transparent")return i=n,!1}),i},e={init:function(){this.callBase();this._isFixedTableRendering=!1;this._isFixedColumns=!1},_createCol:function(n){return this.callBase(n).toggleClass(b,this._isFixedTableRendering&&(n.fixed||n.command&&n.command!=="transparent"))},_createCell:function(n){var t=this.callBase(n);return n.colspan&&t.attr("colspan",n.colspan),n.command==="transparent"&&t.addClass(f),t},_renderTable:function(t){var i=this,r,f,u=i._columnsController.getFixedColumns();return i._isFixedColumns=!!u.length,f=i.callBase(t),i._isFixedColumns?(i._isFixedTableRendering=!0,r=i._createTable(u),i._renderRows(r,n.extend({},t,{columns:u})),i._updateContent(r,t&&t.change),i._isFixedTableRendering=!1):(i._fixedTableElement&&i._fixedTableElement.remove(),i._fixedTableElement=null),f},_wrapTableInScrollContainer:function(){var n=this.callBase.apply(this,arguments);return this._isFixedTableRendering&&n.addClass(i+" "+s),n},_renderCellContent:function(n,t){var i=this,u,r=t.column;if(!i._isFixedTableRendering&&i._isFixedColumns&&(t.rowType!=="group"||!a.isDefined(r.groupIndex))){if(r.fixed||r.command){n.html("&nbsp;").addClass(r.cssClass);return}if(t.rowType==="filter"){i.callBase(n,t);u=h(i._columnsController.getFixedColumns());n.toggleClass(p,t.columnIndex===u);return}}r.command!=="transparent"&&i.callBase(n,t)},getCellElements:function(t){var i=this,e,r=0,u,f=i.callBase(t);return i._fixedTableElement&&f&&(e=i._columnsController.getFixedColumns(),u=i._getRowElements(i._fixedTableElement).eq(t).children("td"),n.each(e,function(n,t){t.command==="transparent"?(u.eq(n).hasClass(y)&&(f[r]=u.get(n)),r+=t.colspan):(f[r]=u.get(n),r++)})),f},getColumnWidths:function(){var t=this,n,i=0,f,u=t.callBase(),e=t._columnsController.getFixedColumns();if(t._fixedTableElement&&u.length)for(f=r.getWidths(t._fixedTableElement),n=0;n<e.length;n++)e[n].command==="transparent"?i+=e[n].colspan:(u[i]<f[n]&&(u[i]=f[n]),i++);return u},_getTableElement:function(){return this._isFixedTableRendering?this._fixedTableElement:this.callBase()},_setTableElement:function(n){this._isFixedTableRendering?this._fixedTableElement=n.addClass(f):this.callBase(n)},getColumns:function(n){return(n=n||this._getTableElement(),this._isFixedTableRendering||n&&n.closest("table").parent("."+i).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},getFixedColumns:function(){return this._columnsController.getFixedColumns()},getFixedColumnsOffset:function(){var i={left:0,right:0},n,t;return this._fixedTableElement&&(n=this.getTransparentColumnElement(),t=n.position(),i={left:t.left,right:this.element().outerWidth(!0)-(n.outerWidth(!0)+t.left)}),i},getTransparentColumnElement:function(){return this._fixedTableElement&&this._fixedTableElement.find("."+f).first()},getFixedTableElement:function(){return this._fixedTableElement},isFixedColumns:function(){return this._isFixedColumns},_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,e=[],o=[],t,s,h,i,f;if(n._isFixedColumns&&n._tableElement&&n._fixedTableElement&&(s=n._getClientHeight(n._tableElement.get(0)),h=n._getClientHeight(n._fixedTableElement.get(0)),i=n._getRowElements(n._tableElement),f=n._getRowElements(n._fixedTableElement),s!==h)){for(i.css("height",""),f.css("height",""),t=0;t<i.length;t++)e.push(n._getClientHeight(i.get(t))),o.push(n._getClientHeight(f.get(t)));for(t=0;t<i.length;t++)r=e[t],u=o[t],r>u?f.eq(t).css("height",r):r<u&&i.eq(t).css("height",u)}}},k=n.extend({},e,{getContextMenuItems:function(n){var i=this,f,t,r,u=i.option("columnFixing"),e=i.callBase(n);return n.closest("."+w).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,fixedPosition:"left"});break;case"right":i._columnsController.columnOption(t.index,{fixed:!0,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,r=t.option("rtlEnabled");t.callBase(n);t.element().children("."+i).css(r?{paddingLeft:n}:{paddingRight:n})},getFixedColumnElements:function(){return this._fixedTableElement&&this._getRowElements(this._fixedTableElement).eq(0).children()}}),d=n.extend({},e,{_detachHoverEvents:function(){this._fixedTableElement&&this._fixedTableElement.off("mouseover mouseout",".dx-data-row");this._tableElement&&this._tableElement.off("mouseover mouseout",".dx-data-row")},_attachHoverEvents:function(){var t=this,i=function(i){i.on("mouseover mouseout",".dx-data-row",t.createAction(function(i){var u=i.jQueryEvent,r=t.getRowIndex(n(u.target).closest(".dx-row")),f=u.type==="mouseover";r>=0&&(t._tableElement&&t._getRowElements(t._tableElement).eq(r).toggleClass(o,f),t._fixedTableElement&&t._getRowElements(t._fixedTableElement).eq(r).toggleClass(o,f))}))};t._fixedTableElement&&t._tableElement&&(i(t._fixedTableElement),i(t._tableElement))},_findContentElement:function(){var i=this,f,t,r,e=i.element();return e&&i._isFixedTableRendering?(f=e.children("."+u),f.length||(t=i.getScrollable(),f=n("<div/>").addClass(u).on("scroll",function(u){r=n(u.target).scrollTop();r&&(n(u.target).scrollTop(0),t.scrollTo({y:i._scrollTop+r}))}).on(v.name,function(n){if(t&&(r=t.scrollTop(),t.scrollTo({y:r-n.delta}),t.scrollTop()>0&&t.scrollTop()+t.clientHeight()<t.scrollHeight()+i.getScrollbarWidth()))return!1}).appendTo(e)),f):i.callBase()},_updateBottomLoading:function(){this._isFixedTableRendering||this.callBase()},_updateScrollable:function(){var n=this.getScrollable(),t=n&&n.scrollOffset().top;this.callBase();this._updateFixedTablePosition(-t)},_renderContent:function(n,t){return this._isFixedTableRendering?n.empty().addClass(u+" "+i+" "+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)},_hasAlignByColumnSummaryItems:function(n,t){var i=this.callBase.apply(this,arguments);return i&&Boolean(t.columns[n].fixed)===Boolean(t.isFixed)},_renderGroupSummaryCellsCore:function(n,t,i,r){this._isFixedTableRendering&&(r>0&&(l.mozilla?n.css("display","none"):n.css("visibility","hidden")),t.isFixed=!0,r=this._getAlignByColumnCellCount(i,t),t.isFixed=!1);this.callBase(n,t,i,r)},_renderCore:function(n){this._detachHoverEvents();this.callBase(n);this.option("hoverStateEnabled")&&this._isFixedColumns&&this._attachHoverEvents()},optionChanged:function(n){var t=this;t.callBase(n);n.name==="hoverStateEnabled"&&t._isFixedColumns&&(n.value?this._attachHoverEvents():this._detachHoverEvents())},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){if(this._fixedTableElement&&this._tableElement){var t=this.getController("editorFactory"),i=t.focus();this._fixedTableElement.css("top",n+this._tableElement.position().top);i&&t.focus(i)}},setScrollerSpacing:function(n,t){var u=this,r,f=u.element().children("."+i);f.length&&(r=u.option("rtlEnabled")?{marginLeft:n}:{marginRight:n},r.marginBottom=t,f.css(r))},_handleScroll:function(n){this._updateFixedTablePosition(-n.scrollOffset.top);this.callBase(n)},_updateContentPosition:function(){var n=this.callBase();return n&&this._updateFixedTablePosition(-this._scrollTop),n},_afterRowPrepared:function(n){this._isFixedTableRendering||this.callBase(n)}}),g=e;r.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:k,rowsView:d,footerView:g},controllers:function(){var t=function(t,i){var r=h(t);return r>=0&&n.each(i,function(n,i){i.index>r&&(i.columnIndex+=t[r].colspan-1,i.index+=t[r].colspan-1)}),i};return{draggingHeader:{_generatePointsByColumns:function(n){var r,i=n.targetDraggingPanel;return i&&i.getName()==="headers"&&i.isFixedColumns()&&n.sourceColumn.fixed?(n.columnElements=i.getFixedColumnElements(),n.columns=i.getFixedColumns(),r=this.callBase(n),t(n.columns,r)):this.callBase(n)},_pointCreated:function(n,t,i,r){var f=this.callBase.apply(this,arguments),e=this._columnHeadersView.getTransparentColumnElement(),u;return!f&&i==="headers"&&e?(u=e.get(0).getBoundingClientRect(),r&&r.fixed?r.fixedPosition==="right"?n.x<u.right:n.x>u.left:n.x<u.left||n.x>u.right):f}},columnsResizer:{_generatePointsByColumns:function(){var n=this,u=n._columnsController?n._columnsController.getFixedColumns():[],i=n._columnHeadersView.getFixedColumnElements(),f=[];n.callBase();i&&i.length>0&&(f=r.getPointsByColumns(i,function(t){return n._pointCreated(t,i.length,u)}),n._pointsByFixedColumns=t(u,f))},_pointCreated:function(n,t,i){var r,u;return n.index>0&&n.index<t&&(r=i[n.columnIndex-1]||{},u=i[n.columnIndex]||{},r.fixed||u.fixed)?(n.columnIndex-=1,!((r.allowResizing||r.command==="transparent")&&(u.allowResizing||u.command==="transparent"))):this.callBase.apply(this,arguments)},_getTargetPoint:function(n,t,i){var u=this._columnHeadersView.getTransparentColumnElement(),r;return u&&(r=u.get(0).getBoundingClientRect(),t<=r.left||t>=r.right)?this.callBase(this._pointsByFixedColumns,t,i):this.callBase(n,t,i)}},keyboardNavigation:{_scrollToElement:function(n){var t=this.getFocusedView();this.callBase(n,t&&t.getFixedColumnsOffset())}}}}()}})}(jQuery,DevExpress),function(n,t){var u=t.ui,r=u.dxDataGrid,f=DevExpress.require("/class"),i=t.require("/utils/utils.common"),e=t.require("/ui/widgets/ui.checkBox"),o="dx-datagrid-checkbox-size",s="dx-datagrid-export-menu",h="dx-datagrid-export-button",c="export-to",l="exportxlsx",a="export-excel-button";r.DataProvider=f.inherit({_getGroupValue:function(n){var t=this._options.groupColumns[n.groupIndex],f=r.getDisplayValue(t,n.values[n.groupIndex],n.data),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 e,u,o,s,h=this._correctCellIndex(t),c,f=this._options.items.length&&this._options.items[n];if(f){c=f.values;switch(f.rowType){case"summaryFooter":if(h<c.length&&(u=c[h],i.isDefined(u)))return r.getSummaryText(u,this._options.summaryTexts);break;case"group":if(t<1)return this._getGroupValue(f);if(s=f.values[h],i.isArray(s)){for(u="",o=0;o<s.length;o++)u+=(o>0?" \n ":"")+r.getSummaryText(s[o],this._options.summaryTexts);return u}break;default:if(e=this._options.columns[t],e)return u=r.getDisplayValue(e,c[h],f.data),!isFinite(u)||e.customizeText?r.formatValue(u,e):u}}},isHeadersVisible:function(){return this._options.isHeadersVisible},isTotalCell:function(n,t){var u=this._options.items,i=u[n],r=this._correctCellIndex(t),f=i.summaryCells&&i.summaryCells[r]&&i.summaryCells[r].length>0&&i.summaryCells[r][0].alignByColumn;return i&&i.rowType==="summaryFooter"||f}});r.ExportController=r.ViewController.inherit({_getColumns:function(){for(var u=[],f=this._columnsController.getVisibleColumns(),e=this._headersView&&this._headersView.isVisible()?this._headersView.getColumnWidths():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},_updateGroupValuesWithSummaryByColumn:function(t){for(var e,u,o,f=[],s,h,r,c=0;c<t.length;c++)if(e=t[c],u=e.summaryCells,e.rowType==="group"&&u&&u.length>1){for(s=e.values.length,r=1;r<u.length;r++)for(h=0;h<u[r].length;h++)o=u[r][h],o&&o.alignByColumn&&(i.isArray(f[r-s])||(f[r-s]=[]),f[r-s].push(o));f.length>0&&(n.merge(e.values,f),f=[])}},_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._updateGroupValuesWithSummaryByColumn(n);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._headersView=this.getView("columnHeadersView");this.createAction("onExporting",{excludeValidators:["disabled","readOnly"]});this.createAction("onExported",{excludeValidators:["disabled","readOnly"]});this.createAction("onFileSaving",{excludeValidators:["disabled","readOnly"]});this._clientExporter=new t.dxClientExporter({exportingAction:this.getAction("onExporting"),exportedAction:this.getAction("onExported"),fileSavingAction:this.getAction("onFileSaving")})},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));n.name==="onFileSaving"&&this._clientExporter.option("fileSavingAction",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._getSelectedItems():this._getAllItems(),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:{controllers:{editing:{callbackNames:function(){var n=this.callBase();return i.isDefined(n)?n.push("editingChanged"):["editingChanged"]},_updateEditButtons:function(){this.callBase();this.editingChanged.fire(this.hasChanges())}}},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:c,onClick:null}:{hint:t.exportToExcel,icon:a,onClick:function(){n._exportController.exportToExcel()}}},_renderExportButton:function(){var t=this;t.option("export.enabled")?t._$exportButton?(t._exportButton.option(t._getButtonOptions()),t._$exportButton.show()):(t._$exportButton=n("<div>").addClass(h).appendTo(t.element()),t._exportButton=t._createComponent(t._$exportButton,"dxButton",t._getButtonOptions())):t._$exportButton&&t._$exportButton.hide()},_renderExportMenu:function(){var t=this,r=t.option("export.texts"),u=[{text:r.excelFormat,icon:l}];i.isDefined(t._exportContextMenu)&&t._exportContextMenu.element().remove();t.option("export.enabled")&&t.option("export.allowExportSelectedData")&&(u.push({value:"selectionOnly",template:function(){return t._createComponent(n("<div>").addClass(o),e,{text:r.selectedRows,value:!!t._exportController.selectionOnly(),onValueChanged:function(n){t._exportController.selectionOnly(n.value)}}).element()},beginGroup:!0,closeMenuOnClick:!1}),t._exportContextMenu=t._createComponent(n("<div>").appendTo(t.component.element()),"dxContextMenu",{alternativeInvocationMode:{enabled:!0,invokingElement:t._$exportButton},items:u,cssClass:s,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",collision:"fit",boundary:t._$parent,boundaryOffset:"1 1"}}))},_renderCore:function(){this.callBase();this._renderExportButton();this._renderExportMenu()},optionChanged:function(n){this.callBase(n);n.name==="export"&&(n.handled=!0,this._invalidate())},init:function(){var n=this;this.callBase();this._exportController=this.getController("export");this._editingController=this.getController("editing");this._editingController.editingChanged.add(function(t){i.isDefined(n._exportButton)&&n._exportButton.option("disabled",t)})},isVisible:function(){return this.callBase()||this._isExportButtonVisible()}}}}})}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,r=t.require("/utils/utils.common"),u="dx-datagrid",f="dx-hidden",l="dx-datagrid-table",e="dx-datagrid-borders",a="dx-datagrid-table-fixed",o="dx-datagrid-important-margin",v=100,y=50,s=["columnsSeparatorView","blockSeparatorView","trackerView","headerPanel","columnHeadersView","rowsView","footerView","columnChooserView","pagerView","draggingHeaderView","contextMenuView","errorView","headerFilterView"],h=function(n){return r.isString(n)&&n.slice(-1)==="%"},c=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&&n.length?r=n:t&&(r=t);return r};i.ResizingController=i.ViewController.inherit({_initPostRenderHandlers:function(){var t=this;t._refreshSizesHandler||(t._refreshSizesHandler=function(i){if(t._dataController.changed.remove(t._refreshSizesHandler),t._columnsController.columnsChanged.firing){(window.setImmediate||setTimeout)(n.proxy(t._refreshSizesHandler,t,i));return}var r=i&&i.changeType;i&&r!=="refresh"&&r!=="prepend"&&r!=="append"?r==="update"&&(t._dataController.items().length>1?t._rowsView.resize():t.resize()):t.resize();r&&r!=="updateSelection"&&t.component._fireContentReadyAction()},t._dataController.changed.add(function(){t._dataController.changed.add(t._refreshSizesHandler)}))},_getBestFitWidths:function(){var n=this,i,r,u,t;return i=n._rowsView.getColumnWidths(),r=n._columnHeadersView&&n._columnHeadersView.getColumnWidths(),u=n._footerView&&n._footerView.getColumnWidths(),t=c(i,r),t=c(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(f,n);t.find(".dx-group-cell").toggleClass(f,n);t.find(".dx-header-row .dx-datagrid-text-content").css("max-width","")},_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,s=!1,c=!1,l=!1,e=r.component.element(),a=r._hasWidth,u,o,f;if(n.each(i,function(n){this.width!=="auto"&&(this.width?t[n]=this.width:c=!0);h(this.width)&&(s=!0)}),e&&r._maxWidth&&(delete r._maxWidth,e.css("max-width","")),!c&&t.length&&(o=r._rowsView.contentWidth(),f=r._getTotalWidth(t,o),f<=o)){for(u=t.length-1;u>=0&&i[u]&&i[u].command;)u--;u>=0&&(t[u]="auto",l=!0,a||s||(r._maxWidth=r.option("showBorders")?f+2:f,e.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+=h(i)?parseInt(i)*t/100:parseInt(i));return Math.round(u)},updateSize:function(n){var i=this,t,r;i._hasHeight===undefined&&n&&n.is(":visible")&&(t=n.children("."+u),t.length&&t.detach(),i._hasHeight=!!n.height(),r=n.width(),n.addClass(o),i._hasWidth=n.width()===r,n.removeClass(o),t.length&&t.appendTo(n))},publicMethods:function(){return["resize","updateDimensions"]},resize:function(){this.component._requireResize||this.updateDimensions()},updateDimensions:function(t){var i=this,l=i._dataController,r=i.component.element(),a=r&&(r.get(0).clientHeight||r.height()),o=i.option("loadPanel"),h=i.option("height"),f,p=i.getController("editorFactory"),u=i._rowsView,w=i._columnHeadersView,b=i._footerView,c,e,k;if(i._initPostRenderHandlers(),!t||this._lastWidth!==r.width()||this._lastHeight!==r.height()){if(i.updateSize(r),h&&i._hasHeight^h!=="auto"&&(c=n("<div>").height(h).appendTo(r),i._hasHeight=!!c.height(),c.remove()),i._hasHeight&&a>0&&i.option("scrolling")?(f=a,n.each(i.getViews(),function(){this.isVisible()&&this.getHeight&&(f-=this.getHeight())})):f=i._hasHeight||l.items().length!==0?"auto":o&&o.visible?o.height+y:v,u.height(f),!l.isLoaded()){u.setLoading(!0);return}e=u.getScrollbarWidth();k=u.getScrollbarWidth(!0);w&&w.setScrollerSpacing(e);b&&b.setScrollerSpacing(e);u.setScrollerSpacing(e,k);i._synchronizeColumns();n.each(s,function(n,t){var r=i.getView(t);r&&r.resize()});p&&p.resize();this._lastWidth=r.width();this._lastHeight=r.height()}},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")}});i.SynchronizeScrollingController=i.ViewController.inherit({_scrollChangedHandler:function(n,t,i){for(var r=0;r<n.length;r++)n[r].name!==i&&n[r].scrollTo({left:t.left,top:t.top})},init:function(){for(var t,i=[this.getView("columnHeadersView"),this.getView("footerView"),this.getView("rowsView")],r=0;r<i.length;r++)t=i[r],t&&t.scrollChanged.add(n.proxy(this._scrollChangedHandler,this,i))}});i.GridView=i.View.inherit({_endUpdateCore:function(){this.component._requireResize&&(this.component._requireResize=!1,this._resizingController.resize())},init:function(){var n=this;n._resizingController=this.getController("resizing");n._dataController=n.getController("data")},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(e,!!n.value),n.handled=!0):t.callBase(n)},render:function(t){var i=this,r=i._groupElement||n("<div />").addClass(u).toggleClass(e,!!i.option("showBorders"));i.component.setAria({role:"application",label:Globalize.localize("dxDataGrid-ariaDataGrid")},t);i._rootElement=t||i._rootElement;i._groupElement=r;n.each(s,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.getView("columnHeadersView").renderDelayedTemplates(),n.getView("rowsView").renderDelayedTemplates()),r.resize(),n._dataController.isLoaded()&&n.component._fireContentReadyAction())}});i.registerModule("gridView",{defaultOptions:function(){return{showBorders:!1}},controllers:{resizing:i.ResizingController,synchronizeScrolling:i.SynchronizeScrollingController},views:{gridView:i.GridView}})}(jQuery,DevExpress),function(n,t){function h(n,t){for(var r=[],i=0;i<n.length;i++)r.push(Math.max(n[i]||0,t[i]||0));return r}function u(t){var i=0;return n.each(t,function(n,t){i+=t||0}),i}function f(n,t){for(var r=t/n.length,i=0;i<n.length;i++)n[i]-=r}function e(n,t){n.off("scroll").off("stop").on("scroll",t).on("stop",t)}function w(t,i){if(s[i])return s[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(),s[i]={scrollBarWidth:e,scrollBarUseNative:u}}var c=t.ui,b=t.require("/utils/utils.string"),k=t.require("/componentRegistrator"),d=t.require("/ui/ui.widget"),g=t.require("/ui/events/ui.events.utils"),r=t.require("/utils/utils.common").isDefined,l="dx-area-data-cell",a="dx-area-row-cell",v="dx-area-column-cell",o="dx-area-description-cell",y="dx-pivotgrid-border",p=66666,s={},i;k("dxPivotGrid",c,d.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{scrolling:{timeout:300,renderingTreshold:150,mode:"standard",useNative:"auto",removeInvisiblePages:!0},encodeHtml:!0,dataSource:null,activeStateEnabled:!1,fieldChooser:{minWidth:250,minHeight:250,enabled:!0,layout:0,title:Globalize.localize("dxPivotGrid-fieldChooserTitle"),width:600,height:600},onContextMenuPreparing:null,allowSorting:!1,allowSortingBySummary:!1,allowFiltering:!1,allowExpandAll:!1,"export":{enabled:!1,fileName:"PivotGrid",proxyUrl:undefined},showRowTotals:!0,showRowGrandTotals:!0,showColumnTotals:!0,showColumnGrandTotals:!0,hideEmptySummaryCells:!0,showTotalsPrior:"none",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"),exportToExcel:Globalize.localize("dxDataGrid-exportToExcel")},onCellClick:null,onCellPrepared:null,showBorders:!1,stateStoring:{enabled:!1,storageKey:null,type:"localStorage",customLoad:null,customSave:null,savingTimeout:2e3},onExpandValueChanging:null,renderCellCountLimit:2e4,onExporting:null,onExported:null,onFileSaving:null})},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{useNativeScrolling:{since:"15.2",alias:"scrolling.useNative"}})},_getDataControllerOptions:function(){var t=this;return{component:t,dataSource:t.option("dataSource"),texts:t.option("texts"),showRowTotals:t.option("showRowTotals"),showRowGrandTotals:t.option("showRowGrandTotals"),showColumnTotals:t.option("showColumnTotals"),showTotalsPrior:t.option("showTotalsPrior"),showColumnGrandTotals:t.option("showColumnGrandTotals"),hideEmptySummaryCells:t.option("hideEmptySummaryCells"),onFieldsPrepared:function(r){n.each(r,function(r,u){n.each(["allowSorting","allowSortingBySummary","allowFiltering","allowExpandAll"],function(n,r){u[r]===undefined&&i.setFieldProperty(u,r,t.option(r))})})}}},_initDataController:function(){var n=this,t;n._dataController&&n._dataController.dispose();n._dataController=new i.DataController(n._getDataControllerOptions());n._dataController.changed.add(function(){n._render()});n._dataController.scrollChanged.add(function(t){n._scrollLeft=t.left;n._scrollTop=t.top});n._dataController.loadingChanged.add(function(){n._updateLoading()});t=n.option("onExpandValueChanging");t&&n._dataController.expandValueChanging.add(function(n){t(n)})},_init:function(){var n=this;n.callBase();n._initDataController();n._scrollLeft=n._scrollTop=null;n._initActions();n._clientExporter=new t.dxClientExporter({exportingAction:n._actions.onExporting,exportedAction:n._actions.onExported,fileSavingAction:n._actions.onFileSaving})},_initActions:function(){this._actions={onContextMenuPreparing:this._createActionByOption("onContextMenuPreparing"),onCellClick:this._createActionByOption("onCellClick"),onExporting:this._createActionByOption("onExporting"),onExported:this._createActionByOption("onExported"),onFileSaving:this._createActionByOption("onFileSaving")}},_trigger:function(n,t){this._actions[n](t)},_optionValuesEqual:function(n,i,r){return n==="dataSource"&&r instanceof t.data.PivotGridDataSource&&i instanceof t.data.PivotGridDataSource?r===i:this.callBase.apply(this,arguments)},_optionChanged:function(n){var t=this;switch(n.name){case"dataSource":case"allowSorting":case"allowFiltering":case"allowExpandAll":case"allowSortingBySummary":case"scrolling":case"stateStoring":t._initDataController();t._fieldChooserPopup.hide();t._invalidate();break;case"texts":case"showTotalsPrior":case"showRowTotals":case"showRowGrandTotals":case"showColumnTotals":case"showColumnGrandTotals":case"hideEmptySummaryCells":t._dataController.updateViewOptions(t._getDataControllerOptions());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.element());t._invalidate();break;case"export":t._renderDescriptionArea();break;case"onExpandValueChanging":case"onCellPrepared":break;case"onCellClick":case"onContextMenuPreparing":t._actions[n.name]=t._createActionByOption(n.name);break;case"fieldChooser":t._renderFieldChooser();t._renderDescriptionArea();break;case"loadPanel":t._renderLoadPanel(t._dataArea.groupElement(),t.element());t._invalidate();break;case"showBorders":t._tableElement().toggleClass(y,n.value);t.updateDimensions();break;case"onExporting":t._actions.onExporting=t._createActionByOption(n.name);t._clientExporter.option("exportingAction",t._actions.onExporting);break;case"onExported":t._actions.onExported=t._createActionByOption(n.name);t._clientExporter.option("exportedAction",t._actions.onExported);break;case"onFileSaving":t._actions.onFileSaving=t._createActionByOption(n.name);t._clientExporter.option("fileSavingAction",t._actions.onFileSaving);break;default:t.callBase(n)}},_updateScrollPosition:function(t,i,r){var u=this,f,e,o=u._scrollTop||u._scrollLeft;i&&!i.hasScroll()&&u._hasHeight&&(u._scrollTop=null);t&&!t.hasScroll()&&(u._scrollLeft=null);u._scrollTop!==null||u._scrollLeft!==null||o?(f=u._scrollTop||0,e=u._scrollLeft||0,r.scrollTo({x:e,y:f}),t.scrollTo(e),i.scrollTo(f),u._dataController.updateWindowScrollPosition(u._scrollTop)):n.each([t,i,r],function(n,t){t&&t.updateScrollable()})},_subscribeToEvents:function(n,t,i){var u=this,f=function(f){var e=f.scrollOffset,o=r(e.left)?e.left:u._scrollLeft,s=r(e.top)&&u._hasHeight?e.top:u._scrollTop;((u._scrollLeft||0)!==(o||0)||(u._scrollTop||0)!==(s||0))&&(u._scrollLeft=o,u._scrollTop=s,u._updateScrollPosition(n,t,i),u.option("scrolling.mode")==="virtual"&&u._dataController.setViewportPosition(u._scrollLeft,u._scrollTop))};e(i,f);e(t,f);e(n,f);u._hasHeight||u._dataController.subscribeToWindowScrollEvents(i.groupElement())},_clean:n.noop,_needDelayResizing:function(n){var 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,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")},minWidth:i.minWidth,minHeight:i.minHeight})}};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,u;if(f&&(e=t._createCellArgs(f,r),u=t._getContextMenuItems(e),u)){i.component.option("items",u);return}i.cancel=!0},onItemClick:function(n){n.itemData.onItemClick&&n.itemData.onItemClick(n)},cssClass:i.cssClassNames.pivotGrid,target:t.element()})},_getContextMenuItems:function(t){var u=this,f=[],o;if(t.area==="row"||t.area==="column"){var c=t[t.area+"Fields"],h=t[t.area==="column"?"rowFields":"columnFields"],s=t.cell.path&&c[t.cell.path.length-1],e=u.getDataSource();s&&s.allowExpandAll&&t.cell.path.length<t[t.area+"Fields"].length&&t.cell.type==="D"&&(f.push({beginGroup:!0,icon:"none",text:u.option("texts.expandAll"),onItemClick:function(){e.expandAll(s.index)}}),f.push({text:u.option("texts.collapseAll"),icon:"none",onItemClick:function(){e.collapseAll(s.index)}}));t.cell.isLast&&(o=0,n.each(h,function(s,h){h.allowSortingBySummary&&n.each(t.dataFields,function(n,s){if(!r(t.cell.dataIndex)||t.cell.dataIndex===n){var c=!r(t.cell.dataIndex)&&t.dataFields.length>1,l=u.option(t.area==="column"?"texts.sortColumnBySummary":"texts.sortRowBySummary"),a=i.findField(t.dataFields,h.sortBySummaryField)===n&&(t.cell.path||[]).join("/")===(h.sortBySummaryPath||[]).join("/"),v=b.format(l,c?h.caption+" - "+s.caption:h.caption);f.push({beginGroup:o===0,icon:a?h.sortOrder==="desc"?"desc":"asc":"none",text:v,onItemClick:function(){e.field(h.index,{sortBySummaryField:s.caption||s.dataField,sortBySummaryPath:t.cell.path,sortOrder:h.sortOrder==="desc"?"asc":"desc"});e.load()}});o++}})}),n.each(h,function(t,i){if(i.allowSortingBySummary&&r(i.sortBySummaryField))return f.push({beginGroup:o===0,icon:"none",text:u.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 u.option("fieldChooser.enabled")&&f.push({beginGroup:!0,icon:"column-chooser",text:u.option("texts.showFieldChooser"),onItemClick:function(){u._fieldChooserPopup.show()}}),t.items=f,u.option("export.enabled")&&f.push({beginGroup:!0,icon:"exportxlsx",text:u.option("texts.exportToExcel"),onItemClick:function(){u.exportToExcel()}}),u._trigger("onContextMenuPreparing",t),f=t.items,f&&f.length?f:void 0},_createCellArgs:function(t,i){var h=this,e=n(t),o=t.cellIndex,r=t.parentElement.rowIndex,s=e.closest("table"),u=h.getDataSource(),f=s.data("data"),c=f&&f[r]&&f[r][o];return{area:s.data("area"),rowFields:u.getAreaFields("row"),columnFields:u.getAreaFields("column"),dataFields:u.getAreaFields("data"),rowIndex:r,columnIndex:o,cellElement:e,cell:c,jQueryEvent:i}},_handleCellClick:function(n){var u=this,t=u._createCellArgs(n.currentTarget,n),i=t.cell;!t.area&&(t.rowIndex||t.columnIndex)||(u._trigger("onCellClick",t),i&&r(i.expanded)&&setTimeout(function(){u._dataController[i.expanded?"collapseHeaderItem":"expandHeaderItem"](t.area,i.path)}))},_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())},_renderDescriptionArea:function(){var t=this,i=t.element().find("."+o);i.empty();t.option("fieldChooser.enabled")&&t._createComponent(n("<div>").appendTo(i).addClass("dx-pivotgrid-field-chooser-button"),"dxButton",{icon:"column-chooser",hint:t.option("texts.showFieldChooser"),onClick:function(){t.getFieldChooserPopup().show()}});t.option("export.enabled")&&t._createComponent(n("<div>").appendTo(i).addClass("dx-pivotgrid-export-button"),"dxButton",{icon:"exportxlsx",hint:t.option("texts.exportToExcel"),onClick:function(){t.exportToExcel()}})},_detectHasContainerHeight:function(){var t=this,i=t.element(),r;t._hasHeight===undefined&&i.is(":visible")&&(r=n("<div>").height(p),t._pivotGridContainer.addClass("dx-hidden"),i.append(r),t._hasHeight=i.height()!==p,t._pivotGridContainer.removeClass("dx-hidden"),r.remove())},_renderContentImpl:function(){var t=this,s,h,c,r,u=t._dataArea||new i.DataArea(t),e=t._rowsArea||new i.VerticalHeadersArea(t),f=t._columnsArea||new i.HorizontalHeadersArea(t),k=w(t.element(),t.option("scrolling.useNative")),p=!t._pivotGridContainer,d=t._dataController.getCellsInfo(),b;t._scrollBarWidth=k.scrollBarWidth;t._scrollBarUseNative=k.scrollBarUseNative;p?(t.element().addClass(i.cssClassNames.pivotGrid).addClass(i.cssClassNames.rowLines),t._pivotGridContainer=n("<div>"),t._renderFieldChooser(),t._renderContextMenu(),s=n("<td>").addClass(v),h=n("<td>").addClass(a),c=n("<td>").addClass(l),r=n("<table>").css({width:"100%"}).toggleClass(y,!!t.option("showBorders")).on(g.addNamespace("dxclick","dxPivotGrid"),"td",n.proxy(t,"_handleCellClick")),n("<tr>").append(n("<td>").addClass(o)).append(s).appendTo(r),n("<tr>").addClass(i.cssClassNames.bottomAraesRow).append(h).append(c).appendTo(r),t._pivotGridContainer.append(r),t.element().append(t._pivotGridContainer)):r=t._tableElement();t._rowsArea=e;t._columnsArea=f;t._dataArea=u;f.render(s,t._dataController.getColumnsInfo());e.render(h,t._dataController.getRowsInfo());u.render(c,d);u.tableElement().prepend(f.headElement());b=function(){t.updateDimensions();t._subscribeToEvents(f,e,u)};p&&(t._renderLoadPanel(u.groupElement().parent(),t.element()),t._renderDescriptionArea(),e.processScroll(),f.processScroll());t._needDelayResizing(d)&&p?setTimeout(b):b()},_fireContentReadyAction:function(){this._dataController.isLoading()||this.callBase()},getScrollPath:function(n){var t=this;return n==="column"?t._columnsArea.getScrollPath(t._scrollLeft):t._rowsArea.getScrollPath(t._scrollTop)},getDataSource:function(){return this._dataController.getDataSource()},getFieldChooserPopup:function(){return this._fieldChooserPopup},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()},_tableElement:function(){return this.element().find("table").first()},resize:function(){this.updateDimensions()},isReady:function(){return this.callBase()&&!this._dataController.isLoading()},updateDimensions:function(){var t=this,p,b,c=t._tableElement(),e=t._rowsArea,r=t._columnsArea,i=t._dataArea,et,pt,d,y,ot,tt,st=0,it=0,ht=0,k,g,w=t._scrollBarWidth||0,nt=c.find("."+l),ct=c.find("."+a),lt=c.find("."+v),wt=c.find("."+o),rt,at,vt,ut,yt,ft,s;t._detectHasContainerHeight();i.headElement().length||(i.tableElement().prepend(r.headElement()),i.resetColumnsWidth());i.reset();e.reset();r.reset();y=i.getColumnsWidth();pt=e.getRowsHeight();et=i.getRowsHeight();vt=wt.outerHeight();yt=t._dataController.getColumnsInfo().length;d=h(pt,et.slice(yt));ut=et.slice(0,yt);at=u(ut);ot=e.getColumnsWidth();t._hasHeight&&(tt=lt.outerHeight()-lt.height()+nt.outerHeight()-nt.height()+c.outerHeight()-c.height(),b=t.element().height()-(Math.max(i.headElement().height(),lt.height())+tt));st=i.tableElement().width();it=u(d);ht=u(ot);rt=t.element().width();tt=ct.outerWidth()-ct.width()+nt.outerWidth()-nt.width()+c.outerWidth()-c.width();p=rt-ht-tt;k=t._hasHeight&&it-b>=1;g=st-p>=1;k||(b=it+(g?w:0));r.tableElement().append(i.headElement());!g&&k&&w&&f(y,w);vt>at&&(f(ut,at-vt),r.setRowsHeight(ut));r.groupWidth(p);r.processScrollBarSpacing(k?w:0);r.setColumnsWidth(y);e.groupHeight(t._hasHeight?b:"auto");e.processScrollBarSpacing(g?w:0);e.setColumnsWidth(ot);e.setRowsHeight(d);i.setColumnsWidth(y);i.setRowsHeight(d);i.groupWidth(p);i.groupHeight(t._hasHeight?b:"auto");nt.toggleClass("dx-bottom-border",!(k||w));ct.toggleClass("dx-bottom-border",!(k&&!w));t._hasHeight||rt===t.element().width()||(ft=rt-t.element().width(),g||(f(y,ft),r.setColumnsWidth(y),i.setColumnsWidth(y)),i.groupWidth(p-ft),r.groupWidth(p-ft));t.option("scrolling.mode")!=="virtual"||t._dataController.isLoading()||(s=t._dataController.calculateVirtualContentParams({contentWidth:st,contentHeight:it,rowCount:d.length,columnCount:y.length,viewportWidth:p,viewportHeight:t._hasHeight?b:n(window).outerHeight()}),i.setVirtualContentParams({top:s.contentTop,left:s.contentLeft,width:s.width,height:s.height}),e.setVirtualContentParams({top:s.contentTop,width:ht,height:s.height}),r.setVirtualContentParams({left:s.contentLeft,width:s.width,height:r.groupElement().height()}));t._updateScrollPosition(r,e,i);i.processScroll(t._scrollBarUseNative);t._updateLoading();t._updateNoDataText(i.groupElement())},applyPartialDataSource:function(n,t,i){this._dataController.applyPartialDataSource(n,t,i)}}));i=n.extend(c.dxPivotGrid,{cssClassNames:{pivotGrid:"dx-pivotgrid",rowLines:"dx-row-lines",area:"dx-pivotgrid-area",areaData:"dx-pivotgrid-area-data",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:h})}(jQuery,DevExpress),function(n,t){function h(n,t){var i,r;if(n&&e.isDefined(t))for(i=0;i<n.length;i++)if(r=n[i],r.name===t||r.caption===t||r.dataField===t||r.index===t)return i;return-1}function f(n,t,i,r){r=r||[];n=n||[];for(var e,u=0;u<n.length;u++){if(e=n[u],r.unshift(e),i&&t(r,u)===!1)return;if(e.children&&f(e.children,t,i,r),!i&&t(r,u)===!1)return;r.shift();n[u]!==e&&u--}}function s(n,t,i,r){var u=n._initProperties=n._initProperties||{},f=r?i:n[t];(!u.hasOwnProperty(t)||r)&&(u[t]=f);n[t]=i}function d(n){var i=n.dataField||n.groupName||"",t=(n.summaryType||"").toLowerCase();return e.isString(n.groupInterval)&&(i+="_"+n.groupInterval),t&&t!=="custom"?(t=t.replace(/^./,t[0].toUpperCase()),i.length&&(t=" ("+t+")")):t="",tt.titleize(i)+t}function y(t,i){var r=t._initProperties||{};n.each(i,function(n,i){r.hasOwnProperty(i)&&(t[i]=r[i])})}function p(n,t){y(n,t);r(n.caption)||s(n,"caption",d(n))}function o(n){for(var i=[],t=n.length-1;t>=0;t--)i.push(n[t].key||n[t].value);return i}function w(n,t){var i={value:n,valueText:rt.format(n,t.format,t.precision)||""};return t.customizeText?t.customizeText.call(t,i):i.valueText}function c(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&&c(u[r],t,i+1,r)}function l(n){return function(t,i){var r=0;return n(t)>n(i)?r=1:n(t)<n(i)&&(r=-1),r}}function g(n){var t=!1;return i(n.values,function(n,i){if(i.summaryDisplayMode||i.calculateSummaryValue||i.runningTotal)return t=!0,!1}),t}var u=t.ui.dxPivotGrid,e=t.require("/utils/utils.common"),r=e.isDefined,i=n.each,b=DevExpress.require("/class"),nt=t.require("/eventsMixin"),tt=t.require("/utils/utils.inflector"),it=t.require("/utils/utils.array").normalizeIndexes,rt=t.require("/utils/utils.formatHelper"),a={row:"rows",column:"columns",data:"values",filter:"filters"},v=["area","areaIndex","sortOrder","filterType","filterValues","sortBy","sortBySummaryField","sortBySummaryPath","expanded"],k=["format","selector","customizeText","caption"];t.data.PivotGridDataSource=u.DataSource=b.inherit(function(){function bt(i){var f,r;return n.isPlainObject(i)&&i.load?f=new u.LocalStore(i):(i&&!i.store&&(i={store:i}),r=i.store,r.type==="xmla"?f=new u.XmlaStore(r):n.isPlainObject(r)&&r.type||r instanceof t.data.Store||n.isArray(r)?f=new u.LocalStore(i):r instanceof b&&(f=r)),f}function d(n,t,i){var u=[],r=t&&t[i]||[];return f(n[i],function(n){var i=n[0],t=o(n);i.children&&r[t.length-1]&&!r[t.length-1].expanded&&t.length<r.length&&u.push(t.slice())},!0),u}function rt(n,t,r){return t?i(v,function(i,u){r?n[u]=t[u]:s(n,u,t[u])}):y(n,v),n}function kt(n){var t=[];return i(n,function(n,i){t.push(rt({},i,!0))}),t}function ut(n,t){return n=n||[],i(t,function(t,i){rt(i,n[t])}),t}function dt(t,i){return n.map(t,function(t){return t.groupName===i.groupName&&e.isNumber(t.groupIndex)&&t.visible!==!1?n.extend(t,{areaIndex:i.areaIndex,area:i.area,expanded:r(t.expanded)?t.expanded:i.expanded,dataField:t.dataField||i.dataField,dataType:t.dataType||i.dataType,sortBy:t.sortBy||i.sortBy,sortOrder:t.sortOrder||i.sortOrder,sortBySummaryField:t.sortBySummaryField||i.sortBySummaryField,sortBySummaryPath:t.sortBySummaryPath||i.sortBySummaryPath,visible:t.visible||i.visible,showTotals:r(t.showTotals)?t.showTotals:i.showTotals,showGrandTotals:r(t.showGrandTotals)?t.showGrandTotals:i.showGrandTotals}):null}).sort(function(n,t){return n.groupIndex-t.groupIndex})}function ft(n){n.sort(function(n,t){return n.areaIndex-t.areaIndex})}function et(n,t){return n.area===t&&!r(n.groupIndex)&&n.visible!==!1}function gt(n){var u=this,r=u.fields(),t={rows:[],columns:[],values:[],filters:[]};return i(["row","column","data","filter"],function(t,u){var f=[];i(r,function(n,t){et(t,u)&&f.push(t)});it(f,"areaIndex",n)}),i(r||[],function(n,i){var o=a[i.area],u=t[o],f=i.groupName;(f&&!e.isNumber(i.groupIndex)&&(i.levels=dt(r,i)),!u||f&&e.isNumber(i.groupIndex)||i.visible===!1)||(i.levels&&u!==t.filters&&u!==t.values?(u.push.apply(u,i.levels),i.filterValues&&i.filterValues.length&&t.filters.push(i)):u.push(i))}),i(t,function(n,t){ft(t)}),t}function ot(n){return(n.dataField||n.groupName||"")+(n.groupInterval?n.groupName||"":"NOGROUP")+(n.groupInterval||"")}function st(t,r,u){var f=[],e={},o={},s=ht(t);return r?(i(r,function(n,t){e[ot(t)]=t}),i(t,function(t,i){var r=ot(i),h=e[r]||o[r],u;h?u=n.extend({},h,i):e[r]=u=i;n.extend(u,{dataType:s[i.dataField]});delete e[r];o[r]=h;f.push(u)}),u&&i(e,function(n,t){f.push(t)})):f=t,f.push.apply(f,[]),f}function ht(n){var t={};return i(n,function(n,i){t[i.dataField]=t[i.dataField]||i.dataType}),t}function ct(t){var i=n.Deferred(),r=t._store,f=r&&r.getFields(ht(t._fields)),u;return n.when(f).done(function(n){t._storeFields=n;u=st(t._fields,n,t._retrieveFields);i.resolve(u)}).fail(function(){i.resolve(t._fields)}),i}function ni(t,i){var u=null,r=(i||[]).join(".");return r.length&&f(t,function(t){var i=t[0],f=o(t).join("."),e=n.map(t,function(n){return n.text}).reverse().join(".");if(r===f||i.key&&e===r)return u=t[0].index,!1}),u}function ti(n,t,i,u){var e=t.values,s=h(i.values,n.sortBySummaryField),f=u==="rows",l=f?t.columns:t.rows,a=f?t.grandTotalRowIndex:t.grandTotalColumnIndex,c=n.sortBySummaryPath||[],o=c.length?ni(l,c):a;if(e&&e.length&&s>=0&&r(o))return function(n){var t=f?n.index:o,i=f?o:n.index;return((e[t]||[[]])[i]||[])[s]||null}}function ii(n,t,i,r,u){var o=u?"asc":n.sortOrder,s=u?"value":n.sortBy==="displayText"?"text":"value",h=n.sortingMethod||l(function(n){return n[s]}),f=!u&&ti(n,t,i,r),e=f&&l(f);return function(n,t){var i=e&&e(n,t)||0;return i===0&&(i=h(n,t)),o==="desc"?-i:i}}function lt(n,t,i,r){var f=t[i]||[],e=t.headerName===i?t.path.length:0,u=[];c(n[i],function(e,o){var s=f[o]||{},h=u[o]=u[o]||ii(s,n,t,i,r);e.sort(h)},e)}function ri(n,t,i){lt(t,n,"rows",i);lt(t,n,"columns",i)}function at(n,t,i){f(n[i],function(n){var r=n[0];r.text=r.text||w(r.value,t[i][o(n).length-1])})}function vt(n,t){at(t,n,"columns");at(t,n,"rows")}function yt(n){var t={};f(n,function(n){var i=o(n).join(".");t[i]=n[0]});n._cacheByPath=t}var nt=function(n,t){if(n._cacheByPath)return n._cacheByPath[t.join(".")]||null},tt=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,tt(u.children)):u.collapsedChildren&&(i=Math.max(i,tt(u.collapsedChildren)));return r(t)&&(i=Math.max(i,t)),i},pt=function(n,t,i,r){for(var o=tt(i)+1,s=tt(n,r)+1,u=[],e=0;e<o;e++)u[e]=s++;return t.children=i,f(t.children,function(n){n[0].index=u[n[0].index]}),u},wt=function(n,t){var i=[];return f(n,function(n){delete n[0].collapsedChildren}),f(t,function(t){var r=nt(n,o(t));r&&(i[t[0].index]=r.index)}),i},ui=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 u=this,f=bt(t);u._store=f;u._loadedData={rows:[],columns:[],values:[]};u._data=n.extend(!0,{},u._loadedData);u._loadingCount=0;i(["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));u._retrieveFields=r(t.retrieveFields)?t.retrieveFields:!0;u._fields=t.fields||[];u._descriptions=t.descriptions?n.extend(u._createDescriptions(),t.descriptions):undefined;f||(n.extend(!0,u._loadedData,t.store||t),u._data=n.extend(!0,{},u._loadedData))},getData:function(){return this._data},getAreaFields:function(n,t){var r=[],u;return t||n==="data"?(i(this._fields,function(){et(this,n)&&r.push(this)}),ft(r)):(u=this._descriptions||{},r=u[a[n]]||[]),r},fields:function(n){var t=this;return n&&(t._fields=st(n,t._storeFields,t._retrieveFields),t._fieldsPrepared(t._fields)),t._fields},field:function(t,r){var f=this,o=f._fields,u=o&&o[e.isNumber(t)?t:h(o,t)],c;return u&&r&&(i(r,function(t,i){var f=n.inArray(t,v)<0,r;if(s(u,t,i,f),t==="sortOrder")for(c=u.levels||[],r=0;r<c.length;r++)c[r][t]=i}),p(u,k),f._descriptions=f._createDescriptions(u)),u},getFieldValues:function(t){var s=this,u=this._fields&&this._fields[t],e=this.store(),o=[],f={columns:o,rows:[],values:this.getAreaFields("data"),filters:[]},r=n.Deferred();return u&&e?(i(u.levels||[u],function(){o.push(n.extend({},this,{expanded:!0,filterValues:null,sortOrder:"asc",sortBySummaryField:null}))}),e.load(f).done(function(n){vt(f,n);s._sort(f,n);r.resolve(n.columns)}).fail(r)):r.reject(),r},reload:function(){return this.load({reload:!0})},filter:function(){var n=this._store;return n.filter.apply(n,arguments)},load:function(t){function u(){i._delayedLoadTask=undefined;i._descriptions?i._loadCore(t,r):n.when(ct(i)).done(function(n){i._fieldsPrepared(n);i._loadCore(t,r)}).fail(r.reject).fail(i._loadErrorHandler)}var i=this,r=n.Deferred();return t=t||{},i._changeLoadingCount(1),r.fail(function(n){i.fireEvent("loadError",[n])}).always(function(){i._changeLoadingCount(-1)}),i.store()?i._delayedLoadTask=e.executeAsync(u):u(),r},createDrillDownDataSource:function(t){function r(t){return function(r){var f;return i?f=i[t](r):(f=n.Deferred(),n.when(u).done(function(n){i=new DevExpress.data.ArrayStore(n);i[t](r).done(f.resolve).fail(f.reject)}).fail(f.reject)),f}}var u=this._store.getDrillDownItems(this._descriptions,t),i;return new DevExpress.data.DataSource({load:r("load"),totalCount:r("totalCount"),key:this._store.key()})},_createDescriptions:gt,_fieldsPrepared:function(n){var t=this;t._fields=n;i(n,function(n,t){t.index=n;p(t,k.concat(["allowSorting","allowSortingBySummary","allowFiltering","allowExpandAll"]))});t.fireEvent("fieldsPrepared",[n]);t._descriptions=t._createDescriptions()},isLoading:function(){return this._loadingCount>0},state:function(t){var i=this;if(arguments.length)t=n.extend({rowExpandedPaths:[],columnExpandedPaths:[]},t),i._descriptions?(i._fields=ut(t.fields,i._fields),i._descriptions=i._createDescriptions(),i.load(t)):(i._changeLoadingCount(1),n.when(ct(i)).done(function(n){i._fields=ut(t.fields,n);i._fieldsPrepared(n);i.load(t)}).always(function(){i._changeLoadingCount(-1)}));else return{fields:kt(i._fields),columnExpandedPaths:d(i._loadedData,i._descriptions,"columns"),rowExpandedPaths:d(i._loadedData,i._descriptions,"rows")}},_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,e=this._descriptions,f=a[t.area];t=t||{};u?(n.extend(t,e),t.columnExpandedPaths=t.columnExpandedPaths||d(this._loadedData,t,"columns"),t.rowExpandedPaths=t.rowExpandedPaths||d(this._loadedData,t,"rows"),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,i){var r=this._store;r&&ri(n,t,i)},_update:function(t){var i=this,e=i._descriptions,f=i._loadedData,o=g(e);vt(e,f);yt(f.rows);yt(f.columns);o&&(i._sort(e,f,o),u.applyDisplaySummaryMode(e,f));i._sort(e,f);i._data=f;n.when(t).done(function(){i.fireEvent("changed");r(i._data.grandTotalRowIndex)&&(f.grandTotalRowIndex=i._data.grandTotalRowIndex);r(i._data.grandTotalColumnIndex)&&(f.grandTotalColumnIndex=i._data.grandTotalColumnIndex)})},store:function(){return this._store},collapseHeaderItem:function(n,t){var i=this,f=n==="column"?i._loadedData.columns:i._loadedData.rows,r=nt(f,t),u=i.getAreaFields(n)[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(t){var r=!1,i=this.field(t)||{},u=n.inArray(i,this.getAreaFields(i.area));i.expanded=!1;f(this._loadedData[i.area+"s"],function(n){var t=n[0],i=o(n);t&&t.children&&u===i.length-1&&(t.collapsedChildren=t.children,delete t.children,r=!0)},!0);r&&this._update()},expandAll:function(n){var t=this.field(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=nt(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=nt(e,t),f&&(n==="column"?(s=pt(e,f,i.columns,u.grandTotalColumnIndex),o=wt(u.rows,i.rows)):(o=pt(e,f,i.rows,u.grandTotalRowIndex),s=wt(u.columns,i.columns)),ui(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(nt);u.foreachTree=f;u.createPath=o;u.foreachDataLevel=c;u.getCompareFunction=l;u.findField=h;u.formatValue=w;u.setFieldProperty=s}(jQuery,DevExpress),function(n,t){var i=t.ui.dxPivotGrid,c=t.require("/utils/utils.string"),u=t.require("/utils/utils.common"),l=DevExpress.require("/class"),e=i.createPath,r=i.foreachTree,a=i.formatValue,o=Math,h=t.ui.dxDataGrid,f="GT",v="T",s="D";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=l.inherit(function(){function d(n,t,i){var r=n.text;return u.isDefined(n.displayText)?r=n.displayText:u.isDefined(n.caption)?r=n.caption:n.type===f&&(r=i.texts.grandTotal),n.isAdditionalTotal&&(r=c.format(i.texts.total||"",r)),r}function p(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}function l(n,t){for(var f=0,u=[],r,e,o,i=0;i<n.length;i++)for(r=0;r<n[i].length;r++){if(e=(n[i][r].rowspan||1)-1,o=i+e,u[i]&&(f-=u[i],u[i]=0),t(n[i][r],o,i,r,f)===!1)break;u[i+(n[i][r].rowspan||1)]=(u[i+(n[i][r].rowspan||1)]||0)+1;f++}}function y(n,t,i,r,u,f){var e,o;i=i||0;r=r||[];f=f||[];r[i]=r[i]||0;var h=n[i],a=f[i]+1||0,l=0;if(h){for(e=a;e<h.length;e++){var s=h[e],v=e+r[i],c=s.colspan||1;if(y(n,t,i+(s.rowspan||1),r,c,f),r[i]+=c-1,l+=c,s.rowspan)for(o=i+1;o<i+s.rowspan;o++)r[o]=r[o]||0,r[o]+=s.colspan||1;if(t(s,v,i,e)===!1)break;if(u!==undefined&&l>=u)break}f[i]=e}}function g(t,i,r,u){var f=[],e=r.values;return e.length&&l(t,function(t,o){var s=f[o]=[],h=e[t.dataSourceIndex>=0?t.dataSourceIndex:r.grandTotalRowIndex]||[];t.isLast&&y(i,function(i,f){var c=i.dataIndex||0,e=u[c],o,l;i.isLast&&e&&(o=h[i.dataSourceIndex>=0?i.dataSourceIndex:r.grandTotalColumnIndex],n.isArray(o)||(o=[o]),l=o[c],s[f]={text:a(l,e),value:l,format:e.format,precision:e.precision,dataType:e.dataType,columnType:i.type,rowType:t.type,rowPath:t.path||[],columnPath:i.path||[],dataIndex:c},e.width&&(s[f].width=e.width))})}),f}function w(t,i,f){var s=0,o=[];return r(t,function(t){var r=t[0],h=e(t),i;r.children&&f.showTotals===!1||(i=n.extend(!0,{},r,{visibleIndex:s++,path:h}),u.isDefined(i.index)?o[i.index]=i:o.push(i))}),o}function b(t,i,r){if(i&&i.option("scrolling.mode")==="virtual")return new h.VirtualScrollController(i,n.extend({hasKnownLastPage:function(){return!0},pageCount:function(){return o.ceil(this.totalItemsCount()/this.pageSize())},updateLoading:function(){},itemsCount:function(){if(this.pageIndex()<this.pageCount()-1)return this.pageSize();this.totalItemsCount()%this.pageSize()},items:function(){return[]},viewportItems:function(){return[]},onChanged:function(){},isLoading:function(){return t.isLoading()},changingDuration:function(){return t._changingDuration||0}},r))}function nt(t){var i=[];return n.each(t,function(n,t){t.showTotals===!1&&i.push(n)}),i}function tt(t,i){var r=[];return n.each(t,function(n,t){t.showGrandTotals===!1&&r.push(n)}),i.length===0&&r.length===t.length&&(r=[]),r}var k=function(){function t(n,t,i){var u=n[t]=n[t]||[],r=u[i]={};return n[t+1]&&(r.children=n[t+1],n.length=t+1),r}function h(n,i){var o=i&&i.length||0,f=[],u;return r(n,function(n,i){var r=n[0],h=e(n);u=t(f,h.length,i);u.type=s;u.value=r.value;u.path=h;u.text=r.text;u.index=r.index;u.displayText=r.displayText;u.key=r.key;u.isEmpty=r.isEmpty;h.length<o&&(!r.children||r.children.length!==0)&&(u.expanded=!!r.children)}),t(f,0,0).children||[]}var c=function(n){var t=0;return r(n,function(n){t=o.max(t,n.length)}),t},l=function(n,t,i){var r={type:n.type,text:n.text};return n.path&&(r.path=n.path),n.width&&(r.width=n.width),n.isLast&&(r.isLast=!0),n.sorted&&(r.sorted=!0),n.isMetric&&(r.dataIndex=n.dataIndex),u.isDefined(n.expanded)&&(r.expanded=n.expanded),t>1&&(r[i?"colspan":"rowspan"]=t),n.depthSize&&n.depthSize>1&&(r[i?"rowspan":"colspan"]=n.depthSize),n.index>=0&&(r.dataSourceIndex=n.index),r},a=function(n,t){var i,r=t.lastIndex-t.index||1,u=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=l(t.headerItem,r,t.isHorizontal),u(n,i,t.index,t.depth,t.isHorizontal),!t.headerItem.children||t.headerItem.children.length===0)?t.lastIndex+1:t.lastIndex},y=function(t,i){var r,o=t[0],h=u.isString(i[0]),s=o.dataIndex>=0?t[1]:o;return r=h&&i[0].indexOf("&[")!==-1&&s.key||!s.key?e(t):n.map(t,function(n){return n.dataIndex>=0?n.value:n.text}).reverse(),o.type===f&&(r=r.slice(1)),r.join("/")===i.join("/")},p=function(t,i,e,o,c){var v=e.length,l=c.showData?h(t,i):[],a;return(c.showGrandTotals||i.length===0)&&l[c.showTotalsPrior?"unshift":"push"]({type:f,isEmpty:c.isEmptyGrandTotal}),c.showTotals!==!1&&b(l,i,c.showTotalsPrior),r(l,function(n){var t=n[0];t.children&&t.children.length!==0||(t.depthSize=o-n.length+1)}),v>1&&w(l,e,c.hiddenGrandTotals,c.hiddenTotals),c.showEmpty||k(l),a=0,r(l,function(t){var r=t[0],f=i[t.length-1]||{};r.type===s&&(r.width=f.width);r.isLast=!r.children||!r.children.length;r.isLast&&(n.each(c.sortBySummaryPaths,function(n,i){return u.isDefined(r.dataIndex)||(i=i.slice(0),i.pop()),y(t,i)?(r.sorted=!0,!1):void 0}),a++);r.text=d(r,f,c)}),l.length||l.push({}),l},w=function(t,i,u,e){r(t,function(t){var r=t[0],o;if(!r.children||r.children.length===0)for(r.children=[],o=0;o<i.length;o++)i.length&&(r.type===f&&n.inArray(o,u)!==-1||r.type!==f&&n.inArray(o,e)!==-1)||r.children.push({caption:i[o].caption,path:r.path,type:r.type,value:o,index:r.index,dataIndex:o,isMetric:!0,isEmpty:r.isEmpty&&r.isEmpty[o]})})},b=function(t,i,u){r(t,function(r,f){var e=r[0],o=(r[1]?r[1].children:t)||[],h=i[r.length-1];e.type===s&&e.expanded&&h.showTotals!==!1&&(f!==-1&&o.splice(u?f:f+1,0,n.extend({},e,{children:null,type:v,expanded:u?!0:null,isAdditionalTotal:!0})),u&&(e.expanded=null))})},i=function(t,r){var u=t[r+1];!t[r].children.length&&u&&u.children&&(u.children.splice(n.inArray(t[r],u.children),1),i(t,r+1))},k=function(n){r([{children:n}],function(t,r){var u=t[0],f=(t[1]?t[1].children:n)||[];u&&!u.children&&(u.isEmpty&&u.isEmpty.length?u.isEmpty[0]:u.isEmpty)&&(f.splice(r,1),i(t,1))})},g=function(n,t,i,u){var o=0,s,e,f=[0];r(t,function(t){var r=t[0];for(e=r.isMetric?i:t.length-1;f.length-1<e;)f.push(f[f.length-1]);s=f[e]||0;o=a(n,{headerItem:r,index:s,lastIndex:o,depth:e,isHorizontal:u});f.length=e;f.push(o)})};return function(n,t,i,r,u){var f=[],e,o=c(n)||1;return e=p(n,t,i,o,u),g(f,e,o,r),f}}(),t={ctor:function(t){var i=this,r=n.proxy(i._fireChanged,i);t=i._options=t||{};i._dataSource=i._createDataSource(t);i._rowsScrollController=b(i,t.component,{totalItemsCount:function(){return i.totalRowCount()},pageIndex:function(n){return i.rowPageIndex(n)},pageSize:function(){return i.rowPageSize()},load:function(){return i._rowsScrollController.pageIndex()>=this.pageCount()&&i._rowsScrollController.pageIndex(this.pageCount()-1),i._rowsScrollController.handleDataChanged(r)}});i._columnsScrollController=b(i,t.component,{totalItemsCount:function(){return i.totalColumnCount()},pageIndex:function(n){return i.columnPageIndex(n)},pageSize:function(){return i.columnPageSize()},load:function(){return i._columnsScrollController.pageIndex()>=this.pageCount()&&i._columnsScrollController.pageIndex(this.pageCount()-1),i._columnsScrollController.handleDataChanged(r)}});i._stateStoringController=new h.StateStoringController(t.component).init();i._columnsInfo=[];i._rowsInfo=[];i._cellsInfo=[];i.expandValueChanging=n.Callbacks();i.loadingChanged=n.Callbacks();i.scrollChanged=n.Callbacks();i.load();i._update();i.changed=n.Callbacks()},_fireChanged:function(){var n=this,t=new Date;n.changed&&!n._lockChanged&&n.changed.fire();n._changingDuration=new Date-t},load:function(){var n=this,t=this._stateStoringController;t.isEnabled()&&!t.isLoaded()?t.load().always(function(t){t?n._dataSource.state(t):n._dataSource.load()}):n._dataSource.load()},calculateVirtualContentParams:function(n){var r=this,t=r._rowsScrollController,i=r._columnsScrollController,e=n.contentHeight/n.rowCount,o=n.contentWidth/n.columnCount,s,h,u,f;if(t&&i)return s=i.viewportItemSize(),h=t.viewportItemSize(),t.viewportItemSize(e),i.viewportItemSize(o),t.viewportSize(n.viewportHeight/t.viewportItemSize()),t.setContentSize(n.contentHeight),i.viewportSize(n.viewportWidth/i.viewportItemSize()),i.setContentSize(n.contentWidth),i.loadIfNeed(),t.loadIfNeed(),u=i.getViewportPosition()*o/s,f=t.getViewportPosition()*e/h,r.setViewportPosition(u,f),r.scrollChanged.fire({left:u,top:f}),{contentTop:t.getContentOffset(),contentLeft:i.getContentOffset(),width:i.getVirtualContentSize(),height:t.getVirtualContentSize()}},setViewportPosition:function(n,t){this._rowsScrollController.setViewportPosition(t||0);this._columnsScrollController.setViewportPosition(n||0)},subscribeToWindowScrollEvents:function(n){this._rowsScrollController&&this._rowsScrollController.subscribeToWindowScrollEvents(n)},updateWindowScrollPosition:function(n){this._rowsScrollController&&this._rowsScrollController.scrollTo(n)},updateViewOptions:function(t){n.extend(this._options,t);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,f=t.dataSource,u;r._isSharedDataSource=f instanceof i.DataSource;u=r._isSharedDataSource?f:new i.DataSource(f);r._changedHandler=n.proxy(r,"_update");r._expandValueChangingHandler=n.proxy(r,"_handleExpandValueChanging");r._loadingChangedHandler=n.proxy(r,"_handleLoadingChanged");r._fieldsPreparedHandler=n.proxy(r,"_handleFieldsPrepared");u.on("changed",r._changedHandler);u.on("expandValueChanging",r._expandValueChangingHandler);u.on("loadingChanged",r._loadingChangedHandler);u.on("fieldsPrepared",r._fieldsPreparedHandler);return u},getDataSource:function(){return this._dataSource},isLoading:function(){return this._dataSource.isLoading()},beginLoading:function(){this._dataSource._changeLoadingCount(1)},endLoading:function(){this._dataSource._changeLoadingCount(-1)},isEmpty:function(){var n=this._dataSource.getAreaFields("data"),t=this._dataSource.getData();return!n.length||!t.values.length},_update:function(){var n=this,e=n._dataSource,t=n._options,f=e.getAreaFields("column"),o=e.getAreaFields("row"),r=e.getAreaFields("data"),i=e.getData(),s=nt(r),h=tt(r,f),c=r.length>0?h.length!==r.length:!0,l=r.length>0?s.length!==r.length:!0,a={isEmptyGrandTotal:i.isEmptyGrandTotalRow,texts:t.texts||{},hiddenTotals:s,hiddenGrandTotals:[],showTotals:t.showRowTotals,showData:l,showGrandTotals:t.showRowGrandTotals!==!1&&c,sortBySummaryPaths:p(f,r),showTotalsPrior:t.showTotalsPrior==="rows"||t.showTotalsPrior==="both",showEmpty:!t.hideEmptySummaryCells,fields:o},v={isEmptyGrandTotal:i.isEmptyGrandTotalColumn,texts:t.texts||{},hiddenTotals:s,showData:l,hiddenGrandTotals:h,showTotals:t.showColumnTotals,showTotalsPrior:t.showTotalsPrior==="columns"||t.showTotalsPrior==="both",showGrandTotals:t.showColumnGrandTotals!==!1&&c,sortBySummaryPaths:p(o,r),showEmpty:!t.hideEmptySummaryCells,fields:f};u.isDefined(i.grandTotalRowIndex)||(i.grandTotalRowIndex=w(i.rows,o.length-1,a).length);u.isDefined(i.grandTotalColumnIndex)||(i.grandTotalColumnIndex=w(i.columns,f.length-1,v).length);n._columnsInfo=k(i.columns,f,r,!0,v);n._rowsInfo=k(i.rows,o,[],!1,a);n._rowsScrollController&&n._columnsScrollController&&n.changed&&(n._rowsScrollController.reset(),n._columnsScrollController.reset(),n._lockChanged=!0,n._rowsScrollController.load(),n._columnsScrollController.load(),n._lockChanged=!1);n._fireChanged();n._stateStoringController.isEnabled()&&!n._dataSource.isLoading()&&(n._stateStoringController.state(n._dataSource.state()),n._stateStoringController.save())},getRowsInfo:function(t){var u=this,c=u._rowsInfo,h=u._rowsScrollController,f,a;if(h&&!t){var i=h.beginPageIndex()*u.rowPageSize(),e=h.endPageIndex()*u.rowPageSize()+u.rowPageSize(),r=[],s=1;return l(c,function(t,u,h,c,l){var p=u>=i&&h<e,v=h<i?0:h-i,y=t;if(p)r[v]=r[v]||[],f=h<i?t.rowspan-(i-h)||1:t.rowspan,i+v+f>e&&(f=e-(v+i)||1),f!==t.rowspan&&(y=n.extend({},y,{rowspan:f})),r[v].push(y),s=o.max(s,l+1);else if(a>e)return!1}),l(r,function(t,i,u,f,e){var o=t.colspan||1;e+o>s&&(r[u][f]=n.extend({},t,{colspan:s-e||1}))}),r}return c},getColumnsInfo:function(t){var i=this,e=i._columnsInfo,o=i._columnsScrollController;if(o&&!t){var r=o.beginPageIndex()*i.columnPageSize(),u=o.endPageIndex()*i.columnPageSize()+i.columnPageSize(),f=[];y(e,function(t,i,e){var o=t,s,h=i+(o.colspan-1||0)>=r&&i<u;if(f[e]=f[e]||[],h)i<r?(s=o.colspan-(r-i),i=r):s=o.colspan,i+s>u&&(s=u-i),s!==o.colspan&&(o=n.extend({},o,{colspan:s})),f[e].push(o);else if(i>u)return!1});e=f}return e},totalRowCount:function(){return this._rowsInfo.length},rowPageIndex:function(n){return n!==undefined&&(this._rowPageIndex=n),this._rowPageIndex||0},totalColumnCount:function(){var t=0,n;if(this._columnsInfo&&this._columnsInfo.length)for(n=0;n<this._columnsInfo[0].length;n++)t+=this._columnsInfo[0][n].colspan||1;return t},rowPageSize:function(n){return n!==undefined&&(this._rowPageSize=n),this._rowPageSize||20},columnPageSize:function(n){return n!==undefined&&(this._columnPageSize=n),this._columnPageSize||20},columnPageIndex:function(n){return n!==undefined&&(this._columnPageIndex=n),this._columnPageIndex||0},getCellsInfo:function(n){var t=this.getRowsInfo(n),i=this.getColumnsInfo(n),r=this._dataSource.getData();return g(t,i,r,this._dataSource.getAreaFields("data"))},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._columnsScrollController&&n._columnsScrollController.dispose();n._rowsScrollController&&n._rowsScrollController.dispose();n._stateStoringController.dispose();n.expandValueChanging.empty();n.changed.empty();n.loadingChanged.empty();n.scrollChanged.empty()}};return i.proxyMethod(t,"applyPartialDataSource"),i.proxyMethod(t,"collapseHeaderItem"),i.proxyMethod(t,"expandHeaderItem"),i.proxyMethod(t,"getData"),t}())}(jQuery,DevExpress),function(n,t){var u=DevExpress.require("/class"),r=t.require("/data/data.errors"),i=t.require("/utils/utils.common");t.data.XmlaStore=t.ui.dxPivotGrid.XmlaStore=u.inherit(function(){function o(r,u){var f=n.Deferred(),e=r.beforeSend,o={url:r.url,dataType:"text",data:u,headers:{"Content-Type":"text/xml"},xhrFields:{},method:"POST"};return i.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 ct(n,t,i){return t=t?"."+t:"","Descendants({"+n+t+"}, "+i+", SELF_AND_BEFORE)"}function k(n){return(n.hierarchyName||n.dataField)+".[All]"}function h(n){return n.dataField+".allMembers"}function y(n){var t=n.join(",");return n.length>1?f(li,t):t}function lt(n,t,i,r,u,e,o){for(var rt=[],a=e[o],d,ut,et=[],p,l,b,g,nt,ft,tt,w,it,c=r;c<=t;c++)w=a[c],d=w.dataField,g=a[c-1]&&a[c-1].hierarchyName,p=w.hierarchyName,nt=!p||!a[c+1]||a[c+1].hierarchyName!==p,tt=n.length+i+r,l=null,et.push(w),c<n.length?nt&&(l="("+d+"."+s(n[c])+")"):c<=tt?c===0&&i===0?(ut=k(a[r]),l=p?ut+","+a[r].dataField:h(a[r])):p?(it=s(u[u.length-1]),(nt||c===tt)&&(g===p?(u.length&&(b=a[u.length-1]),b&&b.hierarchyName===p||(b=a[c-1],it=""),l=ct(b.dataField,it,d)):l=h(w))):l=h(w):(ft=!p||g!==p,ft&&(l="("+k(w)+")")),l&&(l=f(v,l),rt.push(l));return y(rt)}function d(n,t,i,r,u,f,e){var s=-1,h=f[e],o;do s++,o=t.length+s+r,n.push(lt(t,i,s,r,u,f,e));while(h[o]&&h[o+1]&&h[o].expanded)}function g(n,t,i,r){return i=i||"[DX_Set_"+t.length+"]",r=r||"set",t.push(f(oi,r,i,n)),i}function nt(n,t,i,r,e){var o=n[t],c=[],l=[],a=[],p=0,s=0,w=[],b=f(v,i.join(",")),h;if(o&&o.length){for(n.headerName===t?(l=n.path,s=p=l.length):(a=(t==="columns"?n.columnExpandedPaths:n.rowExpandedPaths)||a,u(a,function(n,t){s=Math.max(s,t.length)}));o[s+1]&&o[s].expanded;)s++;for(d(c,[],s,p,l,n,t),u(a,function(i,r){d(c,r,s,p,r,n,t)}),h=s;h>=l.length;h--)o[h].hierarchyName&&(e.visibleLevels[o[h].hierarchyName]=e.visibleLevels[o[h].hierarchyName]||[],e.visibleLevels[o[h].hierarchyName].push(o[h].dataField))}return c.length&&w.push(f(hi,g(f(v,c.join(",")),r,"[DX_"+t+"]"),b)),t==="columns"&&i.length&&w.push(b),f(ci,y(w),t)}function p(n){var t=[];return u(n,function(n,r){var l=r.dataField,o=[],c=r.filterValues||[],e;r.hierarchyName&&i.isNumber(r.groupIndex)||(u(c,function(n,t){var u=l+"."+s(i.isArray(t)?t[t.length-1]:t);r.filterType==="exclude"&&(o.push(u+".parent"),u="Descendants("+u+")");o.push(u)}),c.length&&(e=f(v,o.join(",")),r.filterType==="exclude"&&(e="Except("+h(r)+","+e+")"),t.push(e)))}),t.length?y(t):""}function at(n,t,i,r){var e="["+r+"]";return u([n,t,i],function(n,t){t&&(e=f(ei,t+"on 0",e))}),e}function tt(n,t,i,r,u,e,o){var s="",h=(t.length?"with "+t.join(" "):"")+" ";return n.length&&(s=h+f(fi,at(p(i),p(r),p(u||[]),o),e.length?f(si,e.join(",")):"",n.join(","))),s}function it(t,r){return n.map(r,function(n){return i.isString(n.expression)&&g(n.expression,t,n.dataField,"member"),n.dataField})}function vt(n,t,i){var o=n.columns||[],h=n.rows||[],c=n.values&&n.values.length?n.values:[{dataField:"[Measures]"}],l=[],r=[],f=[],e=it(r,c);return i.measureCount=c.length,i.visibleLevels={},n.headerName&&n.path&&u(n.path,function(t,i){var r=n[n.headerName][t];r.hierarchyName&&r.hierarchyName===n[n.headerName][t+1].hierarchyName||l.push(r.dataField+"."+s(i))}),(o.length||e.length)&&f.push(nt(n,"columns",e,r,i)),h.length&&f.push(nt(n,"rows",e,r,i)),tt(f,r,o,h,n.filters,l,t)}function rt(n,t,i){u(i,function(i,r){var u=t[i];u.hierarchyName&&(t[i+1]||{}).hierarchyName===u.hierarchyName||n.push(u.dataField+"."+s(r))})}function yt(n,t,i){var r=n.columns||[],o=n.rows||[],a=n.values&&n.values.length?n.values:[{dataField:"[Measures]"}],f=[],s=[],h=[],e=it(s,a),c=i.maxRowCount,l=i.customColumns||[],v=l.length>0?" return "+l.join(","):"",u;return rt(f,r,i.columnPath||[]),rt(f,o,i.rowPath||[]),(r.length||r.length||e.length)&&h.push([(e[i.dataIndex]||e[0])+" on 0"]),u=tt(h,s,r,o,n.filters,f,t),u?"drillthrough"+(c>0?" maxrows "+c:"")+u+v:u}function c(n){return parseInt(n,10)}function pt(t){return n.isNumeric(t)?parseFloat(t):t}function wt(n,t){return(n.getElementsByTagName(t)||[])[0]}function e(n,t){return w(wt(n,t))}function bt(n){var t=[];for(u(n.getElementsByTagName("Axis"),function(n,r){var f=r.getAttribute("name"),o=[],s=0;f.indexOf("Axis")===0&&i.isNumber(c(f.substr(4)))&&(t.push(o),u(r.getElementsByTagName("Tuple"),function(n,i){var h=i.childNodes,r,l=0,a=[],f,v=h.length-1,y=t.length===1,u;for(y&&v--,o.push(a),u=v;u>=0;u--)r=h[u],f=c(e(r,"LNum")),a[u]={caption:e(r,"Caption"),value:pt(e(r,"MEMBER_VALUE")),level:f,index:s++,hasValue:!l&&(!!f||u===0),name:e(r,"UName"),hierarchyName:h[u].getAttribute("Hierarchy"),parentName:e(r,"PARENT_UNIQUE_NAME"),levelName:e(r,"LName")},l+=f}))});t.length<2;)t.push([[{level:0}]]);return t}function w(n){return n&&n&&(n.textContent||n.text||n.innerHTML)||""}function kt(n,t,i){for(var h=[],f=[],r=0,l,e=[],a=n.getElementsByTagName("Cell"),o,s=0;s<a.length;s++){var v=a[s],p=v.getElementsByTagName("Value")[0],y=parseFloat(w(p));e[c(v.getAttribute("CellOrdinal"))]={value:isNaN(y)?null:y}}return u(t[1],function(){o=[];h.push(o);u(t[0],function(){l=r%i;l===0&&(f=[],o.push(f));f.push(e[r]?e[r].value:null);r++})}),h}function s(n){if(n)return i.isString(n)&&n.indexOf("&[")!==-1?n:"["+n+"]"}function ut(n,t,i,r){var u=n[t];return u||(u={},n[t]=u),!u.value&&i&&(u.text=i.caption,u.value=i.value,u.key=t?t.slice(t.indexOf("&[")):"",u.levelName=i.levelName,u.hierarchyName=i.hierarchyName,u.parentName=i.parentName,u.index=r,u.level=i.level),u}function l(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,l(u[f],i));return e}function dt(n,t,i){var r,u=i.children=i.children||[],e=u.hash=u.hash||{},f=u.grandTotalHash=u.grandTotalHash||{};return t.parentName&&(i=ut(e,t.parentName),u=i.children=i.children||[]),r=ut(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 gt(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=l(n,t)):n.children.length===0&&(i=0),i}function ft(n,r,f,e){var s,h=[],o;return u(r,function(n,t){var r={children:h},e=i.isDefined(f)?Math.floor(n/f):n;u(t,function(n,t){r=dt(e,t,r)})}),o={children:h},o.children=l(o,e),s=gt(o,e),t.ui.dxPivotGrid.foreachTree(o.children,function(n){var t=n[0],i=l(t,e);i.length?t.children=i:delete t.children;delete t.levelName;delete t.hierarchyName;delete t.added;delete t.parentName;delete t.level},!0),u(o.children||[],function(t,i){n.push(i)}),s}function et(t){var u=n(t).find("Error"),i,f;return u.length?(i=u.attr("Description"),f=new r.Error("E4000",i),r.log("E4000",i),f):null}function ni(n,t){var i={columns:[],rows:[]},r,u=t.measureCount;return r=bt(n),i.grandTotalColumnIndex=ft(i.columns,r[0],u,t.visibleLevels),i.grandTotalRowIndex=ft(i.rows,r[1],undefined,t.visibleLevels),i.values=kt(n,r,u),i}function b(n,t,i){var f=[],r=t==="MEASURE",o=r?"MEASUREGROUP_NAME":t+"_DISPLAY_FOLDER";return u(n.getElementsByTagName("row"),function(n,u){var a=t==="LEVEL"?e(u,"HIERARCHY_UNIQUE_NAME"):undefined,s=e(u,"LEVEL_NUMBER"),h,l;(s!=="0"||e(u,t+"_IS_VISIBLE")!=="true")&&e(u,"DIMENSION_TYPE")!==ht&&(h=r?st:e(u,"DIMENSION_UNIQUE_NAME"),l=e(u,t+"_UNIQUE_NAME"),f.push({dimension:i.names[h]||h,groupIndex:s?c(s)-1:undefined,dataField:l,caption:e(u,t+"_CAPTION"),hierarchyName:a,groupName:a,displayFolder:e(u,o),isMeasure:r,isDefault:!!i.defaultHierarhies[l]}))}),f}function ti(t){var i={names:{},defaultHierarhies:{}};return u(n(t).find("row"),function(){var t=n(this),r=t.children("DIMENSION_TYPE").text(),u=r===ht?st:t.children("DIMENSION_UNIQUE_NAME").text();i.names[u]=t.children("DIMENSION_CAPTION").text();i.defaultHierarhies[t.children("DEFAULT_HIERARCHY").text()]=!0}),i}function ii(n){n=n.replace(/_x(....)_/g,function(n,t){return String.fromCharCode(parseInt(t,16))});var t=n.match(/\[.+?\]/gi);return t&&t.length&&(n=t[t.length-1]),n.replace(/\[/gi,"").replace(/\]/gi,"").replace(/\$/gi,"").replace(/\./gi," ")}function ri(n){for(var e=n.getElementsByTagName("row"),o=[],s={},i,u,t,r,h,f=0;f<e.length;f++){for(i=e[f].childNodes,u={},t=0;t<i.length;t++)r=i[t].tagName,h=s[r]=s[r]||ii(r),u[h]=w(i[t]);o.push(u)}return o}function ot(t,i){return i=n("<div>").text(i).html(),o(t,f(ui,i,t.catalog))}var a='<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>',ui='<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>',fi="SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS",ei="(SELECT {0} FROM {1})",oi="{0} {1} as {2}",si="WHERE ({0})",hi="NonEmpty({0}, {1})",ci="{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME, MEMBER_VALUE ON {1}",li="CrossJoin({0})",v="{{0}}",f=t.require("/utils/utils.string").format,u=n.each,st="DX_MEASURES",ht="2";return t.ui.dxPivotGrid.sendRequest=function(t){return n.ajax(t)},{ctor:function(n){this._options=n},getFields:function(){var t=this._options,i=t.catalog,r=t.cube,s=o(t,f(a,i,r,"MDSCHEMA_DIMENSIONS")),h=o(t,f(a,i,r,"MDSCHEMA_MEASURES")),c=o(t,f(a,i,r,"MDSCHEMA_HIERARCHIES")),l=o(t,f(a,i,r,"MDSCHEMA_LEVELS")),e=n.Deferred();return n.when(s,h,c,l).done(function(n,t,i,r){var o=ti(n),h=b(i,"HIERARCHY",o),c=b(r,"LEVEL",o),s=b(t,"MEASURE",o).concat(h),f={};u(c,function(n,t){f[t.hierarchyName]=f[t.hierarchyName]||[];f[t.hierarchyName].push(t)});u(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]))});e.resolve(s)}).fail(e.reject),e},load:function(t){var i=n.Deferred(),r=this._options,u={},f=vt(t,r.cube,u);return f?n.when(ot(r,f)).done(function(n){var t=et(n);t?i.reject(t):i.resolve(ni(n,u))}).fail(i.reject):i.resolve({columns:[],rows:[],values:[],grandTotalColumnIndex:0,grandTotalRowIndex:0}),i},supportSorting:function(){return!0},getDrillDownItems:function(t,i){var r=n.Deferred(),u=this._options,f=yt(t,u.cube,i);return f?n.when(ot(u,f)).done(function(n){var t=et(n);t?r.reject(t):r.resolve(ri(n))}).fail(r.reject):r.resolve([]),r},key:n.noop,filter:n.noop}}())}(jQuery,DevExpress),function(n,t){var r=t.data.utils,f=t.ui.dxPivotGrid,e=DevExpress.require("/class"),o=t.require("/utils/utils.formatHelper"),i=t.require("/utils/utils.common"),u=f.setFieldProperty;f.LocalStore=e.inherit(function(){function f(t){n.each(t||[],function(n,t){var s,l,h=t.dataField,e,a=t.levels,c;t.selector||(c=h?h.indexOf(".")!==-1?r.compileGetter(h):function(n){return n[h]}:function(n){return n},a&&f(a),t.dataType==="date"?(l=ut[t.groupInterval],s=function(n){var t=c(n);return!t||t instanceof Date||(t=new Date(t)),l?l(t):t},t.format||u(t,"format",ft[t.groupInterval])):t.dataType==="number"?(e=i.isNumber(t.groupInterval)&&t.groupInterval>0&&t.groupInterval,e&&!t.customizeText&&u(t,"customizeText",function(n){var r=n.value+e,i=o.format(r,t.format,t.precision);return n.valueText&&i?n.valueText+" - "+i:""}),s=function(n){var t=c(n);return i.isString(t)&&(t=Number(t)),e?Math.floor(t/e)*e:t}):s=c,u(t,"selector",s))})}function c(n,t,i,r,u){var o=t.dimensions[r],s=t.expandedPathsHash,e,f;o&&(e=o.selector(t.data),u=u?u+"."+e:e,f=et(e,i,u,t.childrenHash),n.push(f.index),(s&&s[u]||o.expanded)&&(f.children||(f.children=[]),c(n,t,f.children,r+1,u)))}function l(n,t,i,r){var u=[0],e=t.headerName===r?t.path.length:0,f=r==="rows"?t.rowExpandedPaths:t.columnExpandedPaths,o={data:n,childrenHash:i[r+"Hash"],dimensions:t[r],expandedPathsHash:t.headerName!==r&&f&&f.hash};return c(u,o,i[r],e),u}function b(n,t,i,r){for(var s=[],f,u,e,h=l(n,r,i,"rows"),c=l(n,r,i,"columns"),o=0;o<h.length;o++)for(u=h[o],t[u]=t[u]||[],f=0;f<c.length;f++)e=c[f],s.push(t[u][e]=t[u][e]||[]);return s}function a(t){t&&(t.hash={},n.each(t,function(){t.hash[this.join(".")]=!0}))}function v(n){n.rows=n.rows||[];n.columns=n.columns||[];n.filters=n.filters||[];a(n.columnExpandedPaths);a(n.rowExpandedPaths);f(n.columns);f(n.rows);f(n.values);f(n.filters)}function y(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 k(n,t,r){for(var e,f,u=0;u<n.length;u++){var h=n[u],s=h.selector(r),o=y(h);for(e=0;e<t.length;e++)f=t[e],f.length<=u&&(f[u]=i.isFunction(o.seed)?o.seed():o.seed),f[u]===undefined?f[u]=s:i.isDefined(s)&&(f[u]=o.step(f[u],s))}}function d(t,i){n.each(t,function(t,r){var u=y(r);u.finalize&&n.each(i,function(i,r){n.each(r,function(n,i){i&&(i[t]=u.finalize(i[t]))})})})}function g(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 nt(t,i){var r=[];return n.each(t,function(n,t){r.push(t.selector(i))}),r}function e(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.levels?nt(t.levels,n):t.selector(n),i=!1,r=0;r<u.length;r++)if(g(u[r],f)){i=!0;break}return t.filterType==="exclude"?!i:i},u.length&&r.push(f))}),r}function s(n){var t=e(n.rows).concat(e(n.columns)).concat(e(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 tt(n,t){var u={columns:[],rows:[],columnsHash:{length:1},rowsHash:{length:1}},f=[[[]]],e,o,i,r;for(v(t),o=s(t),r=0;r<n.length;r++)i=n[r],o(i)&&(e=b(i,f,u,t),k(t.values,e,i));return d(t.values,f),{rows:u.rows,columns:u.columns,values:f,grandTotalRowIndex:0,grandTotalColumnIndex:0}}function it(t){return n.map(["year","quarter","month"],function(i,r){return n.extend({},t,{groupInterval:i,groupIndex:r})})}function p(t,u,f,e){var o=[];return n.each(u||[],function(u,s){for(var a=1,l=f.length?f+"."+u:u,h=e[l],v=r.compileGetter(l),c;!i.isDefined(s)&&t[a];)s=v(t[a]),a++;!h&&i.isDefined(s)&&(h=n.type(s));c=[{dataField:l,dataType:h,groupName:h==="date"?u:undefined,groupInterval:undefined,displayFolder:f}];h==="date"?c=c.concat(it(c[0])):h==="object"&&(c=p(t,s,l,e));o.push.apply(o,c)}),o}function rt(n,t){return t=t||{},p(n,n[0],"",t)}function h(t,i){var r=n.Deferred(),u;return!t.isLoaded()||i?(u=i?t.load():t.reload(),n.when(u).always(function(){h(t).done(r.resolve).fail(r.reject)})):r.resolve(t.items()),r}function w(t,i){var u=[],r;for(i=i||[],r=0;r<i.length;r++)u.push(n.extend({},t[r],{groupIndex:null,groupName:null,filterType:"include",filterValues:[i[r]]}));return u}var ut={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()}},ft={month:{format:"month",dateType:"full"},quarter:{format:"quarter",dateType:"full"},dayOfWeek:{format:"dayOfWeek",dateType:"full"}},et=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 h(u).done(function(n){i.resolve(rt(n,t))}).fail(i.reject),i},key:function(){return this._dataSource.key()},load:function(t){var r=this,u=r._dataSource,i=n.Deferred();return h(u,t.reload).done(function(n){var r=tt(n,t);i.resolve(r)}).fail(i.reject),i},filter:function(){var n=this._dataSource;return n.filter.apply(n,arguments)},supportSorting:function(){return!1},getDrillDownItems:function(n,t){var i,r;n=n||{};t=t||{};v(n);var o=[],u=this._dataSource.items(),f,h=t.maxRowCount,e=t.customColumns,c=s(n),l=s({rows:w(n.rows,t.rowPath),columns:w(n.columns,t.columnPath),filters:[]});for(i=0;i<u.length;i++){if(l(u[i])&&c(u[i])){if(e)for(f={},r=0;r<e.length;r++)f[e[r]]=u[i][e[r]];else f=u[i];o.push(f)}if(h>0&&o.length===h)break}return o}}}())}(jQuery,DevExpress),function(n,t){function i(n,t,i,r){var f=0,e=0,u=i/2;return n+r-(t+i)>1?(n>=t+i+u&&(e=parseInt((n-(t+i))/u,10)),f=t+i+u*e):n<t?(n<=t-u&&(e=parseInt((n-(t-u))/u,10)),f=t-(i-u*e)):f=t,f}var r=t.ui.dxPivotGrid,f=DevExpress.require("/class"),u=t.require("/utils/utils.common"),e=r.cssClassNames,o=function(n){var t=0,i;return n.getBoundingClientRect&&(i=n.getBoundingClientRect(),t=i.width,t||(t=i.right-i.left)),t>0?t:n.offsetWidth};r.AreaItem=f.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>")},_getCellText:function(t,i){var r=t.text||"";return i&&(r.indexOf("<")!==-1||r.indexOf(">")!==-1)&&(r=n("<div>").text(r).html()),r},_getRowClassNames:function(){},_applyCustomStyles:function(n){n.cell.width&&n.cssArray.push("min-width:"+n.cell.width+"px")},_getMainElementMarkup:function(){return"<tbody>"},_getCloseMainElementMarkup:function(){return"<\/tbody>"},_renderTableContent:function(n,t){var h=this,y=t.length,l,r,o,c,p,w,v,b=h.option("rtlEnabled"),f=[],k=h.option("encodeHtml"),a,i,s;for(n.data("area",h._getAreaName()),n.data("data",t),n.width("auto"),f.push(h._getMainElementMarkup()),o=0;o<y;o++){for(l=t[o],i=[],a=[],f.push("<tr "),c=0;c<l.length;c++)r=l[c],this._getRowClassNames(o,r,a),i.push("<td "),r?(r.rowspan&&i.push("rowspan='"+(r.rowspan||1)+"'"),r.colspan&&i.push("colspan='"+(r.colspan||1)+"'"),s={cellElement:w,cell:r,cellsCount:l.length,cellIndex:c,rowElement:p,rowIndex:o,rowsCount:y,rtlEnabled:b,classArray:[],cssArray:[]},h._applyCustomStyles(s),s.cssArray.length&&(i.push("style='"),i.push(s.cssArray.join(";")),i.push("'")),s.classArray.length&&(i.push("class='"),i.push(s.classArray.join(" ")),i.push("'")),i.push(">"),u.isDefined(r.expanded)&&i.push("<span class='"+e.headersExpandCollapseImage+"'><\/span>"),v=this._getCellText(r,k)):v="",i.push("<span>"+v+"<\/span>"),r&&r.sorted&&i.push("<span class='dx-icon-sorted'><\/span>"),i.push("<\/td>");a.length&&(f.push("class='"),f.push(a.join(" ")),f.push("'"));f.push(">");f.push(i.join(""));f.push("<\/tr>")}f.push(this._getCloseMainElementMarkup());n.append(f.join(""));this._triggerOnCellPrepared(n,t)},_triggerOnCellPrepared:function(n,t){var f=this,c=n.find("tr"),l=f._getAreaName(),e=f.option("onCellPrepared"),o,s,u,h,i,r;if(e)for(i=0;i<t.length;i++)for(u=t[i],o=c.eq(i),r=0;r<u.length;r++)h=u[r],s=o.children().eq(r),e({area:l,rowIndex:i,columnIndex:r,cellElement:s,cell:h})},_getRowHeight:function(n){var t=this._getRowElement(n),r,i=0;return t&&t.lastChild?(t.getBoundingClientRect&&(r=t.getBoundingClientRect(),i=r.height),i>0?i:t.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 e=this.getRowsLength(),n,i,t,r,u=[],f=[],s=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(e)for(n=0;n<e;n++)for(u[n]=u[n]||[],i=this._getRowElement(n),t=0;t<i.cells.length;t++){for(r=0;u[n][r];r++);s(u,n,r,i.cells[t].rowSpan,i.cells[t].colSpan);i.cells[t].colSpan===1&&(f[r]=f[r]||o(i.cells[t]))}return f},setColumnsWidth:function(n){for(var i=0,r=this._tableElement[0],u="",t=0;t<n.length;t++)i+=n[t],u+='<col style="width: '+n[t]+'px"/>';this._colgroupElement.html(u);this._tableWidth=i;r.style.width=i+"px";r.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"):this._groupElement[0].style.width=n},groupHeight:function(n){if(n===undefined)return this._groupElement.height();n>=0?(this._groupHeight=n,this._groupElement[0].style.height=n+"px"):this._groupElement[0].style.height=n},groupElement:function(){return this._groupElement},tableElement:function(){return this._tableElement},element:function(){return this._rootElement},headElement:function(){return this._tableElement.find("thead")},setVirtualContentParams:function(n){this._virtualContent.css({width:n.width,height:n.height});this.groupElement().addClass("dx-virtual-mode")},disableVirtualMode:function(){this.groupElement().removeClass("dx-virtual-mode")},_renderVirtualContent:function(){var t=this;t._virtualContent||t.option("scrolling.mode")!=="virtual"||(t._virtualContent=n("<div>").addClass("dx-virtual-content").insertBefore(t._tableElement))},reset:function(){var n=this,t=n._tableElement[0],i;if(n._fakeTable&&n._fakeTable.detach(),n._fakeTable=null,n.disableVirtualMode(),n.groupWidth("100%"),n.groupHeight("auto"),n.resetColumnsWidth(),t){for(i=0;i<t.rows.length;i++)t.rows[i].style.height="";t.style.height="";t.style.width="100%"}},_updateFakeTableVisibility:function(){var n=this,t=n.tableElement()[0],i=n._fakeTable[0];t.style.top===i.style.top&&i.style.left===t.style.left?n._fakeTable.addClass("dx-hidden"):n._fakeTable.removeClass("dx-hidden")},_moveFakeTableLeft:function(n){var t=this,u=parseFloat(t.tableElement()[0].style.left),r=i(n,u,t._tableWidth,t._groupWidth);parseFloat(t._fakeTable[0].style.left)!==r&&(t._fakeTable[0].style.left=r+"px")},_moveFakeTableTop:function(n){var t=this,u=parseFloat(t.tableElement()[0].style.top),r=i(n,u,t._tableHeight,t._groupHeight);parseFloat(t._fakeTable[0].style.top)!==r&&(t._fakeTable[0].style.top=r+"px")},_moveFakeTable:function(){this._updateFakeTableVisibility()},_createFakeTable:function(){var n=this;n._fakeTable||(n._fakeTable=n.tableElement().clone().addClass("dx-pivot-grid-fake-table").appendTo(n._virtualContent))},render:function(t,i){var r=this,f=r._createTableElement();if(u.isDefined(r._tableElement)){try{r._tableElement[0].innerHTML=""}catch(e){r._tableElement.empty()}r._tableElement.attr("style","");r._colgroupElement=n("<colgroup>").appendTo(r._tableElement);r._renderTableContent(r._tableElement,i)}else r._groupElement=r._createGroupElement(),r._tableElement=f,r._colgroupElement=n("<colgroup>").appendTo(r._tableElement),r._tableElement.appendTo(r._groupElement),r._groupElement.appendTo(t),r._rootElement=t,r._renderTableContent(r._tableElement,i);r._renderVirtualContent()},_getScrollable:function(){return this.groupElement().data("dxScrollable")},on:function(n,t){var i=this._getScrollable();if(i)i.on(n,t);return this},off:function(){var n=this._getScrollable();return n&&n.off.apply(n,arguments),this},scrollTo:function(n){var t=this._getScrollable();t&&(t.scrollTo(n),t.update(),this._virtualContent&&(this._createFakeTable(),this._moveFakeTable(n)))},updateScrollable:function(){var n=this._getScrollable();n&&n.update()}})}(jQuery,DevExpress),function(n,t){function u(n,t){if(t){var i=n.data().data,r=t.parentNode.rowIndex,u=t.cellIndex;return i[r]&&i[r][u]&&i[r][u].path}}var f=t.ui,r=f.dxPivotGrid,e=t.require("/utils/utils.common"),i=r.cssClassNames;r.HorizontalHeadersArea=r.AreaItem.inherit({_getAreaName:function(){return"column"},_getAreaClassName:function(){return i.headersHorizontal},_createGroupElement:function(){return n("<div>").addClass(this._getAreaClassName()).addClass(i.area)},_applyCustomStyles:function(n){var u=n.cssArray,t=n.cell,f=n.rowsCount,r=n.classArray;n.cellIndex===n.cellsCount-1&&u.push((n.rtlEnabled?"border-left:":"border-right:")+"0px");(t.rowspan===f-n.rowIndex||n.rowIndex+1===f)&&u.push("border-bottom-width:0px");(t.type==="T"||t.type==="GT")&&r.push(i.rowTotal);n.cell.type==="T"&&r.push(i.total);n.cell.type==="GT"&&r.push(i.grandTotal);e.isDefined(t.expanded)&&r.push(t.expanded?i.headersExpanded:i.headersCollapsed);this.callBase(n)},_getMainElementMarkup:function(){return"<thead class='"+this._getAreaClassName()+"'>"},_getCloseMainElementMarkup:function(){return"<\/thead>"},setVirtualContentParams:function(n){this.callBase(n);this.tableElement().css({left:n.left,top:0});this._virtualContentWidth=n.width},hasScroll:function(){var n=this._virtualContent?this._virtualContentWidth:this._tableWidth;return this._groupWidth&&n?n-this._groupWidth>=1:!1},processScroll:function(){this._getScrollable()||this._groupElement.dxScrollable({useNative:!1,useSimulatedScrollbar:!1,showScrollbar:!1,bounceEnabled:!1,direction:"horizontal"})},processScrollBarSpacing:function(n){var t=this;t._groupWidth&&t.groupWidth(t._groupWidth-n);t._scrollBarWidth&&t._groupElement.next().remove();t._groupElement.toggleClass(i.verticalScroll,n>0);t._groupElement.css("float","left").width(t._groupHeight);t._scrollBarWidth=n},ctor:function(n){this.callBase(n);this._scrollBarWidth=0},getScrollPath:function(t){var i=this.tableElement(),r;return t-=parseInt(i[0].style.left,10)||0,n.each(i.find("td"),function(n,i){if(i.colSpan===1&&i.offsetLeft<t&&i.offsetWidth+i.offsetLeft>t)return r=i,!1}),u(i,r)},_moveFakeTable:function(n){this._moveFakeTableLeft(n);this.callBase()}});r.VerticalHeadersArea=r.HorizontalHeadersArea.inherit({_getAreaClassName:function(){return i.headersVertical},_applyCustomStyles:function(n){this.callBase(n);n.cellIndex===n.cellsCount-1&&n.classArray.push(i.headersVerticalLastCell);n.rowIndex===n.rowsCount-1&&n.cssArray.push("border-bottom: 0px")},_getAreaName:function(){return"row"},setVirtualContentParams:function(n){this.callBase(n);this.tableElement().css({top:n.top,left:0});this._virtualContentHeight=n.height},hasScroll:function(){var n=this._virtualContent?this._virtualContentHeight:this._tableHeight;return this._groupHeight&&n?n-this._groupHeight>=1:!1},processScroll:function(){this._getScrollable()||this._groupElement.dxScrollable({useNative:!1,useSimulatedScrollbar:!1,showScrollbar:!1,bounceEnabled:!1,direction:"vertical"})},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},getScrollPath:function(t){var i=this.tableElement(),r;return t-=parseInt(i[0].style.top,10)||0,n.each(i.find("tr"),function(n,i){var u=i.childNodes[i.childNodes.length-1];if(u&&u.rowSpan===1&&u.offsetTop<t&&u.offsetHeight+u.offsetTop>t)return r=u,!1}),u(i,r)},_moveFakeTable:function(n){this._moveFakeTableTop(n);this.callBase()},_getRowClassNames:function(t,r,u){t!==0&r.expanded&&n.inArray(i.headersVerticalExpandBorder,u)===-1&&u.push(i.headersVerticalExpandBorder)}})}(jQuery,DevExpress),function(n,t){var r=t.ui.dxPivotGrid,i=r.cssClassNames;r.DataArea=r.AreaItem.inherit({_getAreaName:function(){return"data"},_createGroupElement:function(){return n("<div>").addClass(i.area).addClass(i.areaData)},_applyCustomStyles:function(n){var t=n.cell,r=n.classArray;(t.rowType==="T"||t.columnType==="T")&&r.push(i.total);(t.rowType==="GT"||t.columnType==="GT")&&r.push(i.grandTotal);(t.rowType==="T"||t.rowType==="GT")&&r.push(i.rowTotal);n.rowIndex===n.rowsCount-1&&n.cssArray.push("border-bottom: 0px");this.callBase(n)},_moveFakeTable:function(n){this._moveFakeTableLeft(n.x);this._moveFakeTableTop(n.y);this.callBase()},processScroll:function(n){this._groupElement.css("border-top-width",0).dxScrollable({useNative:!!n,useSimulatedScrollbar:!n,direction:"both",bounceEnabled:!1})},setVirtualContentParams:function(n){this.callBase(n);this._virtualContent.parent().height(n.height);this.tableElement().css({top:n.top,left:n.left})}})}(jQuery,DevExpress),function(n,t){function c(n,t){var i=[],r;if(n.items)for(r=0;r<n.items.length;r++)i.push.apply(i,c(n.items[r],t));else u.isDefined(n.index)&&i.push(t[n.index]);return i}function s(n,t){var i,r;if(n.items)for(i=0;i<n.items.length;i++)if(r=s(n.items[i],t),r)return r;if(t(n))return n}function y(n,t){for(var i=0,r=0;!i&&v[r];)i=v[r++](n,t);return i}function l(n){return n.find(".dx-scrollable").dxScrollable("instance")}var h=t.ui,p=t.require("/utils/utils.icon"),u=t.require("/utils/utils.common"),w=t.require("/componentRegistrator"),b=t.require("/ui/ui.widget"),o=h.dxPivotGrid,f=h.dxDataGrid,e=n.inArray,r=n.each,i="<div>",k=f.ColumnsView.inherit(f.sortingMixin).inherit(f.headerFilterMixin),d=f.HeaderFilterView,g="dx-pivotgridfieldchooser",a="dx-pivotgridfieldchooser-container",nt=function(t,i){var s=[],h=!!i.groupName,c=i.filterType==="exclude";i.filterValues&&r(i.filterValues,function(n,t){s.push(u.isArray(t)?t.join("/"):t)});o.foreachTree(t,function(t){var i=t[0],r=o.createPath(t),l=h?n.map(t,function(n){return n.text}).reverse().join("/"):i.text,u;i.value=h?r.slice(0):i.key||i.value;u=h?r.join("/"):i.value;i.children&&(i.items=i.children,i.children=null);f.updateHeaderFilterItemSelectionState(i,i.key&&e(l,s)>-1||e(u,s)>-1,c)})},v=[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},o.getCompareFunction(function(n){return n.text})];w("dxPivotGridFieldChooser",h,b.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{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 n=this,t;n._expandedPaths=[];n._changedHandler=n._changedHandler||function(){r(n._dataChangedHandlers,function(n,t){t()})};n._dataSource&&(n._dataSource.off("changed",n._changedHandler),n._dataSource=undefined);t=this.option("dataSource");t&&t.fields&&t.load&&(n._dataSource=t);n._dataSource&&n._dataSource.on("changed",n._changedHandler)},_init:function(){this.callBase();this._columnsView=new k(this);this._headerFilterView=new d(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 u=n.extend(!0,{},n(r.currentTarget).data("field")),f=n(r.target).hasClass("dx-header-filter");f?i._headerFilterView.showHeaderFilterMenu(n(r.currentTarget),n.extend(u,{type:u.groupName?"tree":"list",dataSource:{load:function(r){var e=r.userData,f;return e.store?e.store.load(r):(f=n.Deferred(),i._dataSource.getFieldValues(u.index).done(function(n){e.store=new t.data.ArrayStore(n);e.store.load(r).done(f.resolve).fail(f.reject)}).fail(f.reject),f)},postProcess:function(n){return nt(n,u),n}},apply:function(){i._dataSource.field(u.index,{filterValues:this.filterValues,filterType:this.filterType});i._dataSource.load()}})):u.allowSorting&&u.area!=="data"&&(i._dataSource.field(u.index,{sortOrder:u.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("."+a).remove()},_renderContentImpl:function(){var e=this,f=this.element(),r,t,u;f.addClass(g);e._dataChangedHandlers=[];e._renderSortable(f);e._headerFilterView.render(f);u=n(i).addClass(a).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 r.hasClass("dx-area-box")?(f=r.clone(),f.insertBefore(r)):f=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(n,t,i){var h=this,o,f=[],c=[],l=t[0],s={};return l?(r(n,function(n,t){var i=t[l]||"";s[i]=s[i]||[];s[i].push(t);o===undefined&&(o=!0);o=o&&t.isMeasure===!0}),r(s,function(n,r){var u=i?i+"."+n:n,o=h._createTreeItems(r,t.slice(1),u);n?c.push({key:n,text:n,path:u,isMeasure:o.isMeasure,expanded:e(u,h._expandedPaths)>=0,items:o}):f=o}),f=c.concat(f),f.isMeasure=o):r(n,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,isDefault:t.isDefault})}),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"]),o.foreachDataLevel(r,function(n){n.sort(y)},0,"items"),r},_renderFieldsTreeView:function(t){var i=this,f=i._dataSource,o=i._createComponent(t,"dxTreeView",{dataSource:i._createFieldsDataSource(f),showCheckBoxesMode:"normal",itemTemplate:function(t,i,r){t.icon&&p.getImageContainer(t.icon).appendTo(r);n("<span>").toggleClass("dx-area-field",!t.items).data("field",t.field).text(t.text).appendTo(r)},onItemCollapsed:function(n){var t=e(n.itemData.path,i._expandedPaths);t>=0&&i._expandedPaths.splice(t,1)},onItemExpanded:function(n){var t=e(n.itemData.path,i._expandedPaths);t<0&&i._expandedPaths.push(n.itemData.path)},onItemSelected:function(n){var t=n.itemData,e,i,a=!0,v,h,l;if(t.items){if(t.selected){o.unselectItem(t);return}for(i=c(t,f.fields()),h=0;h<i.length;h++)if(i[h].area){a=!1;break}if(a){l=s(t,function(n){return n.isDefault})||s(t,function(n){return u.isDefined(n.index)});l&&o.selectItem(l);return}}else e=f.fields()[t.index],t.selected&&(v=e.isMeasure?"data":"column"),e&&(i=[e]);r(i,function(n,t){f.field(t.index,{area:v,areaIndex:undefined})});f.load()}}),h=function(){var n=l(t),r=n?n.scrollTop():0;o.option({dataSource:i._createFieldsDataSource(f)});n=l(t);n&&(n.scrollTo({y:r}),n.update())};i._dataChangedHandlers.push(h)},_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}),r._columnsView._applyColumnState({name:"headerFilter",rootElement:u,column:{alignment:r.option("rtlEnabled")?"right":"left",filterValues:t.filterValues,allowFiltering:t.allowFiltering},showColumnLines:!0})),u},_renderAreaFields:function(n,t){var i=this,u=i._dataSource,f=u?u.getAreaFields(t,!0):[];n.empty();r(f,function(){i._renderField(this).appendTo(n)})},_renderArea:function(t,r){var f=this,e=n(i).addClass("dx-area").appendTo(t),h=f.option("texts."+r+"Fields"),u,s,o;n("<span>").addClass("dx-area-icon").addClass("dx-area-icon-"+r).appendTo(e);n("<span>").html("&nbsp;").appendTo(e);n("<span>").addClass("dx-area-caption").text(h).appendTo(e);u=n(i).addClass("dx-area-fields").height(0).appendTo(e);r!=="all"?(s=n(i).addClass("dx-area-field-container").appendTo(u),o=function(){f._renderAreaFields(s,r)},f._dataChangedHandlers.push(o),o(),u.attr("group",r).dxScrollable()):(u.addClass("dx-treeview-border-visible"),f._renderFieldsTreeView(u))},updateDimensions:function(){var t=this.element(),u=t.children(".dx-pivotgridfieldchooser-container"),r=t.find(".dx-col"),i=t.find(".dx-area-fields"),f=t.find(".dx-area .dx-scrollable"),n;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));f.dxScrollable("update")},_visibilityChanged:function(n){n&&this.updateDimensions()}}))}(jQuery,DevExpress),function(n,t){function e(n){if(n.dataType)return n.dataType;if(n.format){if(r.format(1,n.format))return"number";if(r.format(new Date,n.format))return"date"}return f}var o=t.ui,s=DevExpress.require("/class"),h=DevExpress.require("/utils/utils.common"),r=t.require("/utils/utils.formatHelper"),u=t.ui.dxPivotGrid,i={text:"",value:undefined,colspan:1,rowspan:1},f="string";u.include({exportToExcel:function(){this._clientExporter&&this._clientExporter.exportTo({fileName:this.option("export.fileName"),proxyUrl:this.option("export.proxyUrl"),format:"EXCEL",component:this})},_getLength:function(n){var t,i=0;for(t in n[0])i+=n[0][t].colspan?n[0][t].colspan:1;return i},_defaultSetter:function(n){return n=parseInt(n,10),n?n:1},_makeRowOffset:function(t){var r=0,e=t.length-1,f=t[e],i=f.length,u;for(n.each(t,function(n){this[i]&&this[i].rowspan+n>t.length-1&&(r=Math.max.apply(this,[this[i].colspan,r]))}),u=0;u<r;u++)f.push(this._cloneItem(t[t.length-2][i&&i-1||0]));r>0&&this._makeRowOffset(t)},_cloneItem:function(t){return n.extend({},t,i)},_prepareItems:function(t,r){var f,u,s,e,o=[];for(e in r){u=[];o.push(u);do for(this._makeRowOffset(o),s=u.length,u.push(r[e].shift()),u[u.length-1]?(u[u.length-1].colspan=this._defaultSetter(u[u.length-1].colspan),u[u.length-1].rowspan=this._defaultSetter(u[u.length-1].rowspan)):u[u.length-1]=n({},i),f=1;f<u[s].colspan;f++)u.push(this._cloneItem(u[u.length-1]));while(r[e].length);while(u.length<t)u.push(this._cloneItem(u[u.length-1]))}return o},_getAllItems:function(t,r,u){for(var o,e=t.concat(u),c=this._getLength(r),l=this._getLength(t),s=t.length,f=0;f<r.length;f++)for(o=r[f].length-1;o>=0;o--)h.isDefined(e[f+s])||(e[f+s]=[]),e[f+s].splice(0,0,n.extend({},r[f][o]));return e[0].splice(0,0,n.extend({},i,{alignment:this._options.rtlEnabled?"right":"left",colspan:c,rowspan:s})),this._prepareItems(c+l,e)},getDataProvider:function(){var r=this,t=this._dataController,i=n.Deferred();return t.beginLoading(),setTimeout(function(){var u=n.extend(!0,[],t.getColumnsInfo(!0)),f=n.extend(!0,[],t.getRowsInfo(!0)),e=t.getCellsInfo(!0);i.resolve(r._getAllItems(u,f,e));t.endLoading()}),new o.dxPivotGrid.DataProvider({items:i})}});u.DataProvider=s.inherit({_getCellParam:function(n,t,i){var r=this._options.items,u=r[n]&&r[n][t];return u&&u[i]},ctor:function(n){this._options=n},ready:function(){var t=this._options;return n.when(t.items).done(function(i){var r,u=i[0][0].rowspan,f=i[u-1];n.each(f,function(n,t){t.width=100;t.alignment=t.alignment||"center";r=i[u]&&i[u][n];r&&(t.dataType=e(r),t.format=r.format,t.precision=r.precision)});t.columns=f;t.items=i})},getColumns:function(){return this._options.columns},getRowsCount:function(){return this._options.items.length},isGroupRow:function(){return!1},isHeadersVisible:function(){return!1},isTotalCell:function(){return!1},getGroupLevel:function(){return 0},getCellMerging:function(n,t){var r=this._options.items,i=r[n]&&r[n][t];return i?{colspan:i.colspan-1,rowspan:i.rowspan-1}:{colspan:0,rowspan:0}},getFrozenArea:function(){var n=this._options.items;return{x:n[0][0].colspan,y:n[0][0].rowspan}},getCellType:function(n,t){var i=this._options.columns[t],r=i&&i.dataType;return r||f},getCellValue:function(n,t){return this._getCellParam(n,t,"value","")},getCellText:function(n,t){return this._getCellParam(n,t,"text")}})}(jQuery,DevExpress),function(n,t,i){function l(t,i){var f,r,u={index:-1};return h.isObject(i)||(r=t.columns.concat(t.rows).concat(t.values),f=w(r,i),i=r[f]),i&&(u.area=i.area,u.index=n.inArray(i,t[i.area==="data"?"values":i.area+"s"])),u}function f(n){return n===r?"_rowPath":"_columnPath"}function p(n){var r=n.summaryDisplayMode,u=n.allowCrossGroupCalculation,t=i;return(h.isFunction(n.calculateSummaryValue)?t=n.calculateSummaryValue:r&&(t=r==="absoluteVariation"?y(u):r==="percentVariation"?b(u):k[r],t&&!n.format&&r.indexOf("percent")!==-1&&e.setFieldProperty(n,"format","percent")),n.runningTotal)?(t=t||g,d(t,u,n.runningTotal)):t}var e=t.ui.dxPivotGrid,a=e.foreachTree,h=t.require("/utils/utils.common"),o=h.isDefined,w=e.findField,u="column",r="row",c=function(n,t){var r=n.grandTotal(t);return o(n.value())?n.value()/r.value():i},v=function(n,t){var r=n.parent(t),u=r?r.value():n.value();return o(n.value())?n.value()/u:i},y=function(n){return function(t){var r=t.prev(u,n),f=r&&r.value();return o(f)&&o(t.value())?t.value()-f:i}},b=function(n){var t=y(n);return function(n){var r=t(n);return r!==i?r/n.value():i}},k={percentOfColumnTotal:function(n){return v(n,r)},percentOfRowTotal:function(n){return v(n,u)},percentOfColumnGrandTotal:function(n){return c(n,r)},percentOfRowGrandTotal:function(n){return c(n,u)},percentOfGrandTotal:function(n){return c(n)}},d=function(n,t,i){return function(f){var e=f.prev(i===u?r:u,t),o=n(f);return(e&&e.value(!0)||0)+(o||0)}},g=function(n){return n.value()},s=function(n,t,i,r,u){this._columnPath=n;this._rowPath=t;this._fieldIndex=u;this._data=i;this._descriptions=r;var f=i.values&&i.values[t[0].index]&&i.values[t[0].index][n[0].index];f&&(f.orginalCell=f.orginalCell||f.slice(),this._cell=f)};s.prototype=n.extend(s.prototype,{_getPath:function(n){return this[f(n)]},_getDimension:function(n){return n=n===r?"rows":"columns",this._descriptions[n]},_getData:function(n){return n=n===r?"rows":"columns",this._data[n]},_createCell:function(n){var t=this;return new s(n._columnPath||t._columnPath,n._rowPath||t._rowPath,t._data,t._descriptions,t._fieldIndex)},parent:function(n){var t=this._getPath(n).slice(),r={};return(t.shift(),t.length)?(r[f(n)]=t,this._createCell(r)):i},children:function(n){var r=this._getPath(n).slice(),i=r[0],u=[],e={},t;if(i.children)for(t=0;t<i.children.length;t++)e[f(n)]=[i.children[t]].concat(r.slice()),u.push(this._createCell(e));return u},grandTotal:function(n){var t={},i=this._rowPath,r=this._columnPath,u=this._getPath(n),e=f(n);return n?t[e]=[u[u.length-1]]:(t._rowPath=[i[i.length-1]],t._columnPath=[r[r.length-1]]),this._createCell(t)},next:function(t,r){var o=this._getPath(t),s=o[0],u=this.parent(t),f,e;if(u&&(e=n.inArray(s,o[1].children),f=u.children(t),f[e+1]))return f[e+1];if(r&&u){do u=u.next(t,r),f=u?u.children(t):[];while(u&&!f.length);return f[0]||i}return i},prev:function(t,r){var o=this._getPath(t),s=o[0],u=this.parent(t),f,e;if(u&&(e=n.inArray(s,o[1].children),f=u.children(t),f[e-1]))return f[e-1];if(r&&u){do u=u.prev(t,r),f=u?u.children(t):[];while(u&&!f.length);return f[f.length-1]||i}return i},cell:function(){return this._cell},field:function(n){var t=this._getPath(n),r=this._getDimension(n),u=r[t.length-2];return u||i},child:function(n,t){for(var u=this.children(n),f,r=0;r<u.length;r++)if(f=f||u[r].field(n),u[r].value(f)===t)return u[r];return i},slice:function(n,t){var k=this,y={},p=l(this._descriptions,n),h=p.area,w=p.index,c,e,b,a,v=i,o,s;if((h===r||h===u)&&(e=this._getPath(h).slice(),a=w!==-1&&e.length-2-w,e[a])){for([][e.length-1]=e[e.length-1],o=a;o>=0;o--){if(e[o+1])for(c=e[o+1].children||[],b=o===a?t:e[o].value,e[o]=undefined,s=0;s<c.length;s++)if(c[s].value===b){e[o]=c[s];break}if(e[o]===undefined)return v}y[f(h)]=e;v=k._createCell(y)}return v},value:function(){var r=this._cell,n=this._fieldIndex,t=arguments,o=t[0]===!0||t[0]===!1,u,s=o?i:t[0],h=o&&t[0]||t[1],e,f;return s&&(f=l(this._descriptions,s),n=f.index,f.area!=="data")?(u=this._getPath(f.area),e=n!==-1&&u.length-2-n,u[e]&&u[e].value):r&&r.orginalCell?h?r[n]:r.orginalCell[n]:i}});e.applyDisplaySummaryMode=function(n,t){var i=[],r=[{index:t.grandTotalColumnIndex,children:t.columns}],u=[{index:t.grandTotalRowIndex,children:t.rows}],f=n.values;a(u,function(u){var e=u[0];e.isEmpty=!0;a(r,function(r){var h=r[0],c,l,a,w,v=!1,y,o;for(h.isEmpty=h.isEmpty||[],o=0;o<f.length;o++)w=f[o],c=i[o]=i[o]||p(w),c&&(l=new s(r,u,t,n,o),a=l.cell(),a?(y=a[o]=c(l),v=y===null||y===undefined):v=!0),h.isEmpty[o]===undefined&&(h.isEmpty[o]=!0),v||(h.isEmpty[o]=!1,e.isEmpty=!1)},!1)},!1);t.isEmptyGrandTotalRow=u[0].isEmpty;t.isEmptyGrandTotalColumn=r[0].isEmpty}}(jQuery,DevExpress,null);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.publisherMixin",["jquery"],function(){return{notifyObserver:function(n,t){var i=this.option("observer");i&&i.fire(n,t)},invoke:function(){var n=this.option("observer");if(n)return n.fire.apply(n,arguments)}}});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointmentTooltip",["jquery","/ui/ui.tooltip","/ui/widgets/ui.button","/ui/templates/ui.template.function","/ui/templates/ui.template.dynamic","/ui/templates/ui.template.move"],function(n,t,i,r,u,f){var e="dx-scheduler-appointment-tooltip",o="dx-scheduler-appointment-tooltip-title",s="dx-scheduler-appointment-tooltip-date",h="dx-scheduler-appointment-tooltip-buttons";return{show:function(t,i,r,e){var o,s;this.instance=e;o=e.appointmentTakesAllDay(t);this._initDynamicTemplate(t,i);s=e._getTemplateByOption("appointmentTooltipTemplate");this.hide();this._$tooltip=n("<div>").appendTo(e.element());this._tooltip=e._createComponent(this._$tooltip,"dxTooltip",{_templates:e.option("_templates"),templateProvider:e.option("templateProvider"),visible:!0,target:r,rtlEnabled:e.option("rtlEnabled"),contentTemplate:new u(function(n){return new f(s.render(t,n))}),position:{my:"bottom",at:"top",of:r,boundary:o?e.element():e.getWorkSpaceScrollableContainer(),collision:"fit flipfit"}})},hide:function(){this._$tooltip&&(this._$tooltip.remove(),delete this._$tooltip,delete this._tooltip,t.hide())},_initDynamicTemplate:function(n,t){var i=this;this.instance._dynamicTemplates.appointmentTooltip=new r(function(r,u,f){var e=i._tooltipContent(n,t);return e.addClass(f.attr("class")),f.replaceWith(e),f})},_tooltipContent:function(t,i){var r=n("<div>").addClass(e),f=this.instance.appointmentTakesAllDay(t),c=this.instance.fire("getField","startDate",t),l=this.instance.fire("getField","endDate",t),a=this.instance.fire("getField","text",t),u;return n("<div>").text(a).addClass(o).appendTo(r),n("<div>").addClass(s).text(this._formatTooltipDate(c,l,f)).appendTo(r),u=n("<div>").addClass(h).appendTo(r),this.instance._editing.allowDeleting&&this._getDeleteButton(t,i).appendTo(u),this._getOpenButton(t,i).appendTo(u),r},_formatTooltipDate:function(n,t,i){var r=this.instance.option("currentView")==="month"?"DATETIME":"TIME",u="";return i&&(r="DATE"),this.instance.fire("formatDates",{startDate:n,endDate:t,formatType:r,callback:function(n){u=n}}),u},_getDeleteButton:function(t,r){var u=this;return new i(n("<div>"),{icon:"trash",onClick:function(){var n=u.instance.fire("getField","startDate",r);u.instance._checkRecurringAppointment(t,r,n,function(){u.instance.deleteAppointment(t)},!0);u.hide()}}).element()},_getOpenButton:function(t,r){var u=this,f=u.instance._editing.allowUpdating;return new i(n("<div>"),{icon:f?"edit":"",text:Globalize.localize("dxScheduler-openAppointment"),onClick:function(){u.instance.showAppointmentPopup(t,!1,r)}}).element()}}});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointmentModel",["jquery","/class","/utils/utils.recurrence","/utils/utils.date","/utils/utils.common","/utils/utils.array"],function(n,t,i,r,u,f){var e=t.inherit({ctor:function(n){this._filterRegistry=null;this._dataExpressions=n},make:function(n,t){this._filterRegistry||(this._filterRegistry={});this._make[n].apply(this,t)},_make:{date:function(n,t){var i=this._dataExpressions.startDateExpr,r=this._dataExpressions.endDateExpr,u=this._dataExpressions.recurrenceRuleExpr;this._filterRegistry.date=[[[[i,">=",n],[r,"<=",t]],"or",[[i,"<=",n],[r,"<=",t],[r,">",n]],"or",[[i,">=",n],[i,"<",t],[r,">=",t]],"or",[[i,"<=",n],[r,">=",t]]],"or",[u,"startswith","freq"]];u||this._filterRegistry.date.splice(1,2)},user:function(n){this._filterRegistry.user=n}},combine:function(){var n=[];return this._filterRegistry.date&&n.push(this._filterRegistry.date),this._filterRegistry.user&&n.push(this._filterRegistry.user),n}});return t.inherit({_createFilter:function(n,t){this._filterMaker.make("date",[n,t]);this._filterMaker.make("user",[this._dataSource.filter()]);this._dataSource.filter(this._filterMaker.combine())},_getStoreKey:function(n){var t=this._dataSource.store();return t.keyOf(n)},_filterAppointmentByResources:function(t,i){function o(){for(var o=f.wrapToArray(t[e]),s=n.map(i[r].items,function(n){return n.id}),u=0,h=o.length;u<h;u++)if(n.inArray(o[u],s)>-1)return!0;return!1}for(var u=!1,e,r=0,s=i.length;r<s;r++)if((e=i[r].name,!t.hasOwnProperty(e))||(u=o(),!u))return!1;return u},_filterAppointmentByRRule:function(n,t,r,u,f){var e=n.rrule,l=n.recurrenceException,a=n.allDay,o=!0,s=n.startDate,c=n.endDate,h;return(a||this._appointmentPartInInterval(s,c,u,f))&&(h=this._trimDates(t,r),t=h.min,r=new Date(h.max.getTime()-6e4)),e&&!i.getRecurrenceRule(e).isValid&&(o=c>t&&s<=r),o&&i.getRecurrenceRule(e).isValid&&(o=i.dateInRecurrenceRange(e,s,t,r,l)),o},_appointmentPartInInterval:function(n,t,i,r){var u=n.getHours(),f=t.getHours();return u<=i&&f<=r&&f>=i||f>=r&&u<=r&&u>=i},_createCombinedFilter:function(n){var i=this._dataAccessors,f=n.startDayHour,t=n.endDayHour,s=r.makeDate(n.min),h=r.makeDate(n.max),e=n.resources,o=this;return[[function(c){var l=!0,a=r.makeDate(i.getter.startDate(c)),v=r.makeDate(i.getter.endDate(c)),y=o.appointmentTakesAllDay(c,f,t),g=i.getter.allDay(c),b=a.getHours(),k=(24-t+f)*36e5,d=v.getTime()-a.getTime(),nt=(k-d)/36e5,p=u.isDefined(i.getter.recurrenceRule),w;return p&&(w=i.getter.recurrenceRule(c)),e&&e.length&&(l=o._filterAppointmentByResources(c,e)),y&&n.allDay===!1&&(l=!1),l&&p&&(l=o._filterAppointmentByRRule({startDate:a,endDate:v,rrule:w,recurrenceException:i.getter.recurrenceException(c),allDay:y},s,h,f,t)),l&&f!==undefined&&(l=a.getHours()>=f||v.getHours()>=f||y),l&&t!==undefined&&(l=a.getHours()<t||y&&a<=h,d<k&&b>t&&nt<=b-t&&(l=!1)),l&&p&&!w&&v.getTime()<s.getTime()&&!g&&(l=!1),l}]]},ctor:function(n,t,i){this.setDataSource(n);this._filterMaker=new e(t);this._dataAccessors=i},setDataSource:function(n){this._dataSource=n},filterByDate:function(n,t){if(this._dataSource){var i=this._trimDates(n,t);this._filterMaker._filterRegistry?(this._filterMaker.make("date",[i.min,i.max]),this._dataSource.filter()&&this._dataSource.filter().length>1&&this._filterMaker.make("user",[this._dataSource.filter()[1]]),this._dataSource.filter(this._filterMaker.combine())):this._createFilter(i.min,i.max)}},filterLoadedAppointments:function(n){var i=this._createCombinedFilter(n),t,r;return this._filterMaker._filterRegistry&&(t=this._trimDates(n.min,n.max),this._filterMaker.make("date",[t.min,t.max]),r=this.customizeDateFilter(this._filterMaker.combine()),i.push([r])),DevExpress.data.query(this._dataSource.items()).filter(i).toArray()},_trimDates:function(n,t){var u=r.trimTime(new Date(n)),i=r.trimTime(new Date(t));return i.setDate(i.getDate()+1),{min:u,max:i}},hasAllDayAppointments:function(t,i,r){if(!t)return!1;var f=this,u=!1;return n.each(t,function(n,t){if(f.appointmentTakesAllDay(t,i,r))return u=!0,!1}),u},appointmentTakesAllDay:function(n,t,i){var r=this._dataAccessors,u=r.getter.startDate(n),f=r.getter.endDate(n),e=r.getter.allDay(n);return e||this._appointmentHasAllDayDuration(u,f,t,i)},_appointmentHasAllDayDuration:function(n,t,i,r){n=new Date(n);t=new Date(t);var u=r-i,f=(t.getTime()-n.getTime())/36e5;return f>=u},customizeDateFilter:function(t){var i=n.extend(!0,[],t);return n.proxy(function(t){if(t=n.extend(!0,{},t),n.isFunction(this._dataSource._mapFunc))try{t=this._dataSource._mapFunc(t)}catch(e){}var u=this._dataAccessors.getter.startDate(t),f=this._dataAccessors.getter.endDate(t);return this._dataAccessors.setter.startDate(t,r.makeDate(u)),this._dataAccessors.setter.endDate(t,r.makeDate(f)),DevExpress.data.query([t]).filter(i).toArray().length>0},this)},add:function(t){return this._dataSource.store().insert(t).done(n.proxy(function(){this._dataSource.load()},this))},update:function(t,i){var r=this._getStoreKey(t);return this._dataSource.store().update(r,i).done(n.proxy(function(){this._dataSource.load()},this))},remove:function(t){var i=this._getStoreKey(t);return this._dataSource.store().remove(i).done(n.proxy(function(){this._dataSource.load()},this))}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.resourceManager",["jquery","/class","/utils/utils.array","/utils/utils.common"],function(n,t,i,r){var f=DevExpress.data.utils,u="id",e="text";return t.inherit({_wrapDataSource:function(n){var t;return t=n instanceof DevExpress.data.DataSource?n.store():new DevExpress.data.ArrayStore(n),new DevExpress.data.DataSource({store:t,pageSize:0})},_mapResourceData:function(t,i){var r=f.compileGetter(t.valueExpr||u),o=f.compileGetter(t.displayExpr||e);return n.map(i,function(n){return{id:r(n),text:o(n)}})},_isMultipleResource:function(t){var i=!1;return n.each(this.getResources(),function(n,r){if(r.field===t)return i=r.allowMultiple,!1}),i},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=[],i=this;return n.each(this.getResources(),function(n,r){t.push({editorOptions:{dataSource:i._wrapDataSource(r.dataSource),displayExpr:r.displayExpr||e,valueExpr:r.valueExpr||u},dataField:r.field,editorType:r.allowMultiple?"dxTagBox":"dxSelectBox",label:{text:r.label||r.field}})}),t},getResourceDataByValue:function(t,i){var r=n.Deferred(),f=this;return n.each(this.getResources(),function(n,e){if(e.field===t){var o=f._wrapDataSource(e.dataSource),s=e.valueExpr||u;return o.filter(s,i),o.load().done(function(n){var t=DevExpress.data.query(n).filter(s,i).toArray();r.resolve(t[0])}).fail(function(){r.reject()}),!1}}),r.promise()},getResourcesFromItem:function(t,u){var e=this,f=null;return r.isDefined(u)||(u=!1),n.each(t,function(r){n.inArray(r,e._resourceFields)>-1&&(f||(f={}),f[r]=!u||u&&e._isMultipleResource(r)?i.wrapToArray(t[r]):t[r])}),f},getResourcesValueByFields:function(t){var i=n.Deferred(),r=this,u=[];return n.each(this.getResourcesByFields(t),function(t,i){var f=n.Deferred();u.push(f);r._wrapDataSource(i.dataSource).load().done(function(n){f.resolve({name:i.field,items:r._mapResourceData(i,n)})}).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.useColorAsDefault||t.mainColor)return r=t,!1}),r||(n.isArray(t)&&t.length&&(i=this.getResourcesByFields(t)),r=i[i.length-1]),r}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.recurrenceEditor",["jquery","/class","/utils/utils.recurrence","/utils/utils.dom","/utils/utils.common","/componentRegistrator","/ui/ui.editor","/ui/widgets/ui.checkBox","/ui/widgets/ui.radioGroup","/ui/widgets/ui.switch","/ui/widgets/ui.numberBox","/ui/widgets/ui.selectBox","/ui/widgets/date/ui.dateBox","/ui/widgets/scheduler/ui.scheduler.publisherMixin","/utils/utils.date"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var ut="dx-recurrence-editor",w="-label",ft="dx-recurrence-editor-container",et="dx-recurrence-switch",ot="dx-recurrence-switch-repeat-end",st="dx-recurrence-radiogroup-freq",d="dx-recurrence-numberbox-interval",ht="dx-recurrence-interval-field",g="dx-recurrence-repeat-end",ct="dx-recurrence-repeat-end-field",lt="dx-recurrence-repeat-end-container",nt="dx-recurrence-radiogroup-repeat-type",at="dx-recurrence-numberbox-repeat-count",vt="dx-recurrence-datebox-until-date",it="dx-recurrence-repeat-on",yt="dx-recurrence-repeat-on-week",pt="dx-recurrence-checkbox-day-of-week",wt="dx-recurrence-repeat-on-month",bt="dx-recurrence-numberbox-day-of-month",kt="dx-recurrence-repeat-on-year",dt="dx-recurrence-selectbox-month-of-year",b="dx-field",tt="dx-field-label",p="dx-field-value",gt=[{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"}],ni=[{text:function(){return Globalize.localize("dxScheduler-recurrenceRepeatCount")},value:"count"},{text:function(){return Globalize.localize("dxScheduler-recurrenceRepeatOnDate")},value:"until"}],k=["SU","MO","TU","WE","TH","FR","SA"],ti=t.inherit({ctor:function(n){this._recurrenceRule=i.getRecurrenceRule(n).rule},makeRules:function(n){var t=this;t._recurrenceRule=i.getRecurrenceRule(n).rule},makeRule:function(n,t){if(!t){delete this._recurrenceRule[n];return}u.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 i.getRecurrenceString(this._recurrenceRule)},rules:function(){return this._recurrenceRule},daysFromByDayRule:function(){return i.daysFromByDayRule(this._recurrenceRule)}}),rt=e.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{value:null,onValueChanged:null,startDate:new Date})},_createComponent:function(n,t,i){return i=i||{},this._extendConfig(i,{readOnly:this.option("readOnly")}),this.callBase(n,t,i)},_init:function(){this.callBase();this._recurrenceRule=new ti(this.option("value"))},_render:function(){this.callBase();this.element().addClass(ut);this._renderSwitch();this._$container=n("<div>").addClass(ft).appendTo(this.element());this._renderEditors();this._renderContainerVisibility(!!this.option("value"))},_renderSwitch:function(){var t=n("<div>").addClass(et);this._switchEditor=this._createComponent(t,h,{value:!!this.option("value"),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(),this.notifyObserver("recurrenceEditorVisibylityChanged",{visible:!0}),r.triggerShownEvent(this._$container)):(this._$container.hide(),this.notifyObserver("recurrenceEditorVisibylityChanged",{visible:!1}))},_handleDefaults:function(){this._recurrenceRule.makeRule("freq","DAILY");this._changeEditorValue()},_changeEditorValue:function(){this.option("value",this._recurrenceRule.recurrenceString()||"")},_renderEditors:function(){this._renderFreqEditor();this._renderIntervalEditor();this._renderRepeatOnEditor();this._renderRepeatEndSwitch();this._renderRepeatEndEditor();this._renderRepeatEndVisibility(!!this._recurrenceRule.repeatableRule())},_renderFreqEditor:function(){var r=this._recurrenceRule.rules().freq||"DAILY",t=n("<div>").addClass(st).addClass(p),i;this._freqEditor=this._createComponent(t,s,{field:"freq",items:gt,value:r,valueExpr:"value",displayExpr:"text",layout:"horizontal",onValueChanged:n.proxy(this._valueChangedHandler,this)});i=n("<div>").addClass(b).append(t);this._$container.append(i)},_renderIntervalEditor:function(){var t=this._recurrenceRule.rules().freq||"DAILY",i=n("<div>").addClass(d).addClass(p),r=n("<div>").text(Globalize.localize("dxScheduler-recurrenceEvery")+":").addClass(d+w).addClass(tt),u,f;this._$intervalTypeLabel=n("<div>").text(Globalize.localize("dxScheduler-recurrenceRepeat"+t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())).addClass(nt+w);u=this._recurrenceRule.rules().interval||1;this._intervalEditor=this._createComponent(i,c,{field:"interval",min:1,value:u,showSpinButtons:!0,useTouchSpinButtons:!1,onValueChanged:n.proxy(this._valueChangedHandler,this)});f=n("<div>").addClass(b).addClass(ht).append(r,i,this._$intervalTypeLabel);this._$container.append(f);this._setAriaDescribedBy(this._intervalEditor,r)},_renderRepeatOnEditor:function(){var t=this._recurrenceRule.rules().freq;if(u.isDefined(this._$repeatOnEditor)||(this._$repeatOnEditor=n("<div>").addClass(it).addClass(b).appendTo(this._$container)),!t||t==="DAILY"){this._clearRepeatOnEditor();this._clearRepeatOnLabel();return}if(u.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(it+w).addClass(tt);t.append(this._$repeatOnLabel)},_clearRepeatOnEditor:function(){u.isDefined(this._$repeatOnWeek)&&(this._$repeatOnWeek.detach(),this._$repeatOnWeek.remove(),delete this._$repeatOnWeek);u.isDefined(this._$repeatOnMonth)&&(this._$repeatOnMonth.detach(),this._$repeatOnMonth.remove(),delete this._$repeatOnMonth);u.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(){u.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(yt).addClass(p).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=k[t],u=n("<div>").addClass(pt),s=this._createComponent(u,o,{text:f,value:n.inArray(e,r)>-1?!0:!1,onValueChanged:n.proxy(this._repeatByDayValueChangeHandler,this)});this._daysOfWeek[t]=s;this._$repeatOnWeek.append(u)}},_daysOfWeekByRules:function(){var n=this._recurrenceRule.daysFromByDayRule();return n.length||(n=[k[this.option("startDate").getDay()]]),n},_repeatByDayValueChangeHandler:function(){var t="";n.each(this._daysOfWeek,function(n,i){if(i.option("value")){var r=k[n];t=t?t+","+r:r}});this._recurrenceRule.makeRule("byday",t);this._changeEditorValue()},_renderRepeatOnMonthEditor:function(){this._clearRepeatOnEditor();this._$repeatOnMonth=n("<div>").addClass(wt).addClass(p).appendTo(this._$repeatOnEditor);this._renderDayOfMonthEditor(this._$repeatOnMonth)},_renderRepeatOnYearEditor:function(){var i,r,t;for(this._clearRepeatOnEditor(),this._$repeatOnYear=n("<div>").addClass(kt).addClass(p).appendTo(this._$repeatOnEditor),i=[],r=Globalize.culture().calendar.months.names,t=0;t<12;t++)i[t]={value:String(t+1),text:r[t]};var u=this._monthOfYearByRules(),f=n("<div>").addClass(dt).appendTo(this._$repeatOnYear),e=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(f,l,{field:"bymonth",items:i,value:u,displayExpr:"text",valueExpr:"value",onValueChanged:n.proxy(e,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(bt);this._dayEditor=this._createComponent(i,c,{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},_setAriaDescribedBy:function(n,t){var i="label-"+new DevExpress.data.Guid;n.setAria("describedby",i);n.setAria("id",i,t)},_renderRepeatEndSwitch:function(){var r=this,t=n("<div>").addClass(ot).addClass(p),i=n("<div>").text(Globalize.localize("dxScheduler-recurrenceEnd")+":").addClass(d+w).addClass(tt);this._switchEndEditor=this._createComponent(t,h,{value:r._recurrenceRule.repeatableRule()?!0:!1,onValueChanged:n.proxy(this._repeatEndSwitchValueChangeHandler,this)});n("<div>").addClass(b).addClass(ct).append(i,t).appendTo(this._$container);this._setAriaDescribedBy(this._switchEndEditor,i)},_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._changeEditorValue()):this._handleRepeatEndDefaults()},_renderRepeatEndVisibility:function(n){n?this._$repeatEndEditor.show():this._$repeatEndEditor.hide()},_handleRepeatEndDefaults:function(){this._recurrenceRule.makeRule("count",1);this._changeEditorValue()},_renderRepeatEndEditor:function(t){t=u.isDefined(t)?t:this._recurrenceRule.repeatableRule();t||(t="count");u.isDefined(this._$repeatEndEditor)||(this._$repeatEndEditor=n("<div>").addClass(lt).addClass(b).appendTo(this._$container),this._renderRepeatEndTypeEditor())},_renderRepeatEndTypeEditor:function(){var t=this._recurrenceRule.repeatableRule()||"count",i=this;this._$repeatTypeEditor=n("<div>").addClass(nt).addClass(p).appendTo(this._$repeatEndEditor);this._repeatTypeEditor=this._createComponent(this._$repeatTypeEditor,s,{items:ni,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,this._repeatUntilDate.option("value")):t==="count"&&this._recurrenceRule.makeRule(t,this._repeatCountEditor.option("value"));this._changeEditorValue()},_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(g+w).appendTo(t),this._$repeatCountEditor=n("<div>").addClass(at).addClass(p).appendTo(t),n("<div>").text(Globalize.localize("dxScheduler-recurrenceRepeatCount")).addClass(g+w).appendTo(t),this._repeatCountEditor=this._createComponent(this._$repeatCountEditor,c,{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._changeEditorValue()}},_formatUntilDate:function(n){var t=y.trimTime(n);return t.setDate(t.getDate()+1),new Date(t.getTime()-1)},_renderRepeatUntilEditor:function(){var i=this._recurrenceRule.rules().until||this._formatUntilDate(new Date),t=n("<div>");return n("<div>").text(Globalize.localize("dxScheduler-recurrenceOn")+":").addClass(g+w).appendTo(t),this._$repeatDateEditor=n("<div>").addClass(vt).addClass(p).appendTo(t),this._repeatUntilDate=this._createComponent(this._$repeatDateEditor,a,{field:"until",value:i,format:"date",onValueChanged:n.proxy(this._repeatUntilValueChangeHandler,this)}),t},_repeatUntilValueChangeHandler:function(n){if(this._recurrenceRule.repeatableRule()==="until"){var t=this._formatUntilDate(new Date(n.value));this._repeatUntilDate.option("value",t);this._recurrenceRule.makeRule("until",t);this._changeEditorValue()}},_valueChangedHandler:function(n){var i=n.component.option("value"),t=n.component.option("field");t==="freq"&&this._clearRepeatOnEditorValues();this._recurrenceRule.makeRule(t,i);this._makeRepeatOnRule(t,i);this._changeEditorValue()},_makeRepeatOnRule:function(n,t){n==="freq"&&t!=="DAILY"&&(t==="WEEKLY"&&this._recurrenceRule.makeRule("byday",this._daysOfWeekByRules()),t==="MONTHLY"&&this._recurrenceRule.makeRule("bymonthday",this._dayOfMonthByRules()),t==="YEARLY"&&(this._recurrenceRule.makeRule("bymonthday",this._dayOfMonthByRules()),this._recurrenceRule.makeRule("bymonth",this._monthOfYearByRules())))},_optionChanged:function(n){switch(n.name){case"value":this._recurrenceRule.makeRules(n.value);this._switchEditor.option("value",!!n.value);this._switchEndEditor.option("value",!!this._recurrenceRule.repeatableRule());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();this._makeRepeatOnRule("freq",this._recurrenceRule.rules().freq);u.isDefined(this._recurrenceRule.recurrenceString())&&this._changeEditorValue();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("."+nt+w),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||this._formatUntilDate(new Date);this._repeatUntilDate.option("value",n)}},_changeCheckBoxesValue:function(){if(this._$repeatOnWeek){var t=this._daysOfWeekByRules();n.each(this._daysOfWeek,function(i,r){var u=k[i];r.option("value",n.inArray(u,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)}},toggle:function(){this._switchEditor.element().trigger("dxclick")},setAria:function(){this._switchEditor&&this._switchEditor.setAria(arguments[0],arguments[1])}}).include(v);return f("dxSchedulerRecurrenceEditor",{},rt),rt});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.recurrenceEditor"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.navigator",["jquery","/ui/ui.errors","/utils/utils.date","/componentRegistrator","/devices","/ui/ui.widget","/ui/widgets/ui.button","/ui/widgets/date/ui.calendar","/ui/widgets/scheduler/ui.scheduler.publisherMixin"],function(n,t,i,r,u,f,e,o,s){var l="dx-scheduler-navigator",a="dx-scheduler-navigator-calendar",v="dx-scheduler-navigator-next",y="dx-scheduler-navigator-caption",p="dx-scheduler-navigator-previous",h=function(n,t,r){var f=i.getFirstWeekDate(n,t?this.option("firstDayOfWeek")||1:this.option("firstDayOfWeek")),e=this.option("_useShortDateFormat")?"d MMM yyyy":"d MMMM yyyy",u;return r&&(f=i.normalizeDateByWeek(f,n)),this.option("firstDayOfWeek")>=6&&r&&f.setDate(f.getDate()+(8-this.option("firstDayOfWeek"))),u=new Date(f),t=t||6,u=new Date(u.setDate(u.getDate()+t)),u.getDay()%6==0&&r&&u.setDate(u.getDate()+2),Globalize.format(f," d")+"-"+Globalize.format(u,e)},w={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:h},workWeek:{duration:7,setter:"setDate",getter:"getDate",getCaption:function(n){return h.call(this,n,4,!0)}},month:{duration:1,setter:"setMonth",getter:"getMonth",getCaption:function(n){return Globalize.format(n,"MMMM yyyy")}}},c=f.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{date:new Date,step:"day",min:undefined,max:undefined,firstDayOfWeek:undefined,_useShortDateFormat:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return!u.real().generic||u.isSimulator()},options:{_useShortDateFormat:!0}}])},_optionChanged:function(n){switch(n.name){case"step":case"date":this._updateButtonsState();this._renderCaption();this._setCalendarOption("value",this.option("date"));break;case"min":case"max":this._updateButtonsState();this._setCalendarOption(n.name,n.value);break;case"firstDayOfWeek":this._setCalendarOption(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._setCalendarOption(n.name,n.value);this.callBase(n);break;case"_useShortDateFormat":break;default:this.callBase(n)}},_init:function(){this.callBase();this.element().addClass(l);this._initButtons()},_initButtons:function(){var i=n("<div>").addClass(v),r,t;this._next=this._createComponent(i,e,{icon:"chevronnext",onClick:n.proxy(this._updateCurrentDate,this,1),focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),_templates:{}});r=n("<div>").addClass(y);this._caption=this._createComponent(r,e,{focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),_templates:{}});t=n("<div>").addClass(p);this._prev=this._createComponent(t,e,{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._updateButtonsState();this.element().append(t,r,i)},_updateButtonsState:function(){var n=this._getConfig(),t=this.option("date"),i=this.option("min"),r=this.option("max");this._prev.option("disabled",i&&t[n.getter]()===i[n.getter]());this._next.option("disabled",r&&t[n.getter]()===r[n.getter]())},_updateCurrentDate:function(n){var r=this._getConfig(),u=r.duration*n,t=new Date(this.option("date"));t[r.setter](t[r.getter]()+u);t=i.normalizeDate(t,this.option("min"),this.option("max"));this.notifyObserver("currentDateUpdated",t)},_renderFocusTarget:n.noop,_render:function(){this.callBase();this._renderPopover();this._renderCaption();this._renderCaptionKeys()},_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>"),o,this._calendarOptions());this._calendar.element().addClass(a);this._popover.content().append(this._calendar.element())},_calendarOptions:function(){return{min:this.option("min"),max:this.option("max"),firstDayOfWeek:this.option("firstDayOfWeek"),value:this.option("date"),focusStateEnabled:this.option("focusStateEnabled"),onValueChanged:n.proxy(function(n){this.option("visible")&&(this.notifyObserver("currentDateUpdated",n.value),this._popover.hide())},this),hasFocus:function(){return!0},tabIndex:null,_keyboardProcessor:this._calendarKeyboardProcessor}},_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)})},_renderCaptionKeys:function(){if(this.option("focusStateEnabled")&&!this.option("disabled")){this._calendarKeyboardProcessor=this._caption._keyboardProcessor.attachChildProcessor();this._setCalendarOption("_keyboardProcessor",this._calendarKeyboardProcessor);var t=n.proxy(function(){if(this._popover.content().is(":hidden"))this._popover.show();else return!0},this);this._caption.registerKeyHandler("enter",t);this._caption.registerKeyHandler("space",t)}},_setCalendarOption:function(n,t){this._calendar&&this._calendar.option(n,t)},_getConfig:function(){var n=this.option("step"),i=w[n];if(!i)throw t.Error("E1033",n);return i}}).include(s);return r("dxSchedulerNavigator",{},c),c});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.navigator"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.header",["jquery","/utils/utils.common","/utils/utils.inflector","/componentRegistrator","/ui/ui.widget","/ui/widgets/scheduler/ui.scheduler.publisherMixin","/ui/widgets/scheduler/ui.scheduler.navigator"],function(n,t,i,r,u,f,e){var o=i.camelize,c="dx-scheduler-header",l="dx-scheduler-view-switcher",a="dx-scheduler-view-switcher-label",s={day:"day",week:"week",workWeek:"workWeek",month:"month",timelineDay:"day",timelineWeek:"week",timelineWorkWeek:"workWeek",timelineMonth:"month"},h=u.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{views:[],currentView:"day",firstDayOfWeek:undefined,currentDate:new Date,min:undefined,max:undefined,useDropDownViewSwitcher:!1})},_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",s[t]);this._changeViewSwitcherLabelText();break;case"currentDate":this._navigator.option("date",t);break;case"min":case"max":case"firstDayOfWeek":this._navigator.option(n.name,t);break;case"tabIndex":case"focusStateEnabled":this._viewSwitcher.option(n.name,t);this._navigator.option(n.name,t);this.callBase(n);break;case"useDropDownViewSwitcher":this._refreshViewSwitcher();break;default:this.callBase(n)}},_init:function(){this.callBase();this.element().addClass(c)},_render:function(){this.callBase();this._renderNavigator();this._renderViewSwitcher()},_renderNavigator:function(){this._navigator=this._createComponent("<div>",e,{min:this.option("min"),max:this.option("max"),date:this.option("currentDate"),step:s[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())},_renderViewSwitcher:function(){var t=n("<div>").addClass(l).appendTo(this.element());this.option("useDropDownViewSwitcher")?this._renderViewSwitcherDropDownMenu(t):this._renderViewSwitcherTabs(t)},_renderViewSwitcherTabs:function(t){this._viewSwitcher=this._createComponent(t,"dxTabs",{selectionRequired:!0,scrollingEnabled:!1,onSelectionChanged:n.proxy(this._updateCurrentView,this),items:this.option("views"),itemTemplate:function(t){return n("<span>").addClass("dx-tab-text").text(Globalize.localize("dxScheduler-switcher"+o(t,!0)))},selectedItem:this.option("currentView"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled")})},_refreshViewSwitcher:function(){this._viewSwitcher._dispose();this._viewSwitcher.element().remove();delete this._viewSwitcher;this._removeViewSwitcherLabel();this._renderViewSwitcher()},_removeViewSwitcherLabel:function(){t.isDefined(this._$viewSwitcherLabel)&&(this._$viewSwitcherLabel.detach(),this._$viewSwitcherLabel.remove(),delete this._$viewSwitcherLabel)},_renderViewSwitcherDropDownMenu:function(t){this._$viewSwitcherLabel=n("<div>").addClass(a).appendTo(this.element());this._changeViewSwitcherLabelText();this._viewSwitcher=this._createComponent(t,"dxDropDownMenu",{onItemClick:n.proxy(this._updateCurrentView,this),items:this.option("views"),itemTemplate:function(t){return n("<span>").addClass("dx-dropdownmenu-item-text").text(Globalize.localize("dxScheduler-switcher"+o(t,!0)))}})},_changeViewSwitcherLabelText:function(){if(t.isDefined(this._$viewSwitcherLabel)){var n=Globalize.localize("dxScheduler-switcher"+o(this.option("currentView"),!0));this._$viewSwitcherLabel.text(n)}},_updateCurrentView:function(n){var t=n.itemData||n.component.option("selectedItem");this.notifyObserver("currentViewUpdated",t)},_renderFocusTarget:n.noop}).include(f);return r("dxSchedulerHeader",{},h),h});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.header"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.workSpace",["jquery","/ui/uiNamespace","/utils/utils.date","/ui/ui.widget","/utils/utils.common","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.publisherMixin","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer"],function(n,t,i,r,u,f,e,o,s){var y=r.abstract,c=i.dateToMilliseconds,tt="dx-scheduler-work-space",it="dx-scheduler-work-space-grouped",rt="dx-scheduler-work-space-both-scrollbar",ut="dx-scheduler-time-panel",ft="dx-scheduler-time-panel-cell",et="dx-scheduler-time-panel-row",ot="dx-scheduler-all-day-panel",st="dx-scheduler-all-day-table",ht="dx-scheduler-fixed-appointments",ct="dx-scheduler-all-day-appointments",lt="dx-scheduler-all-day-title",at="dx-scheduler-all-day-title-hidden",l="dx-scheduler-all-day-table-cell",vt="dx-scheduler-all-day-table-row",yt="dx-scheduler-work-space-all-day",pt="dx-scheduler-work-space-all-day-collapsed",wt="dx-scheduler-header-panel",bt="dx-scheduler-header-panel-cell",kt="dx-scheduler-header-row",dt="dx-scheduler-group-row",gt="dx-scheduler-group-header",p="dx-scheduler-group-header-content",ni="dx-scheduler-date-table",h="dx-scheduler-date-table-cell",w="dx-scheduler-date-table-row",ti="dx-scheduler-date-table-current-date",ii="dx-scheduler-date-table-other-month",a="dx-scheduler-date-table-droppable-cell",ri="dx-scheduler-header-scrollable",ui="dx-scheduler-sidebar-scrollable",fi="dx-scheduler-date-table-scrollable",b=o.addNamespace(s.down,"dxSchedulerWorkSpace"),k=o.addNamespace("dxdragenter","dxSchedulerDateTable"),d=o.addNamespace("dxdrop","dxSchedulerDateTable"),g=o.addNamespace("dxclick","dxSchedulerDateTable"),v="dxCellData",nt=r.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._moveToCell(r)},upArrow:function(n){n.preventDefault();n.stopPropagation();var t=this._getFocusedCell().index(),i=this._getFocusedCell().parent(),r=i.prev().children().eq(t);this._moveToCell(r)},rightArrow:function(n){n.preventDefault();n.stopPropagation();var i=t?this._getFocusedCell().prev():this._getFocusedCell().next();this._moveToCell(i)},leftArrow:function(n){n.preventDefault();n.stopPropagation();var i=t?this._getFocusedCell().next():this._getFocusedCell().prev();this._moveToCell(i)}})},_getFocusedCell:function(){return this._$focusedCell||this._$dateTable.find("."+h).eq(0)},_moveToCell:function(n){this._setFocusedCell(n);this._dateTableScrollable.scrollToElement(n)},_setFocusedCell:function(n){n.length&&(this._releaseFocusedCell(),this._toggleFocusClass(!0,n),u.isDefined(this._$focusedCell)&&this.setAria("label",undefined,this._$focusedCell),this._$focusedCell=n,this.setAria("label","Add appointment",this._$focusedCell))},_releaseFocusedCell:function(){u.isDefined(this._$focusedCell)&&this._toggleFocusClass(!1,this._$focusedCell)},_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()},_focusTarget:function(){return this.element()},_activeStateUnit:"."+h+", ."+l,_getDefaultOptions:function(){return n.extend(this.callBase(),{currentDate:new Date,firstDayOfWeek:undefined,startDayHour:0,endDayHour:24,hoursInterval:.5,activeStateEnabled:!0,hoverStateEnabled:!0,groups:[],showAllDayPanel:!0,allDayExpanded:!1,onCellClick:null,horizontalScrollingEnabled:!1})},_optionChanged:function(n){switch(n.name){case"startDayHour":case"endDayHour":case"hoursInterval":case"firstDayOfWeek":case"currentDate":case"groups":this._cleanView();this._toggleGroupedClass();this._renderView();break;case"showAllDayPanel":this._toggleAllDayVisibility();break;case"allDayExpanded":this._changeAllDayVisibility();this.notifyObserver("allDayPanelToggled");this._attachTablesEvents();break;case"onCellClick":this._createCellClickAction();break;case"horizontalScrollingEnabled":this._toggleHorizontalScrollClass();break;case"width":this.callBase(n);this._dimensionChanged();break;default:this.callBase(n)}},_init:function(){this.callBase();this._toggleHorizontalScrollClass();this.element().addClass(tt).addClass(this._getElementClass());this._initWorkSpaceUnits();this._initDateTableScrollable();this._createWorkSpaceElements()},_toggleHorizontalScrollClass:function(){this.element().toggleClass(rt,this.option("horizontalScrollingEnabled"))},_initWorkSpaceUnits:function(){this._$headerPanel=n("<table>").addClass(wt);this._$thead=n("<thead>").appendTo(this._$headerPanel);this._$fixedContainer=n("<div>").addClass(ht);this._$allDayContainer=n("<div>").addClass(ct);this._$allDayTitle=n("<div>").addClass(lt).text(Globalize.localize("dxScheduler-allDay")).appendTo(this.element());this._$allDayTable=n("<table>").addClass(st);this._$allDayPanel=n("<div>").addClass(ot).append(this._$allDayTable);this._$timePanel=n("<table>").addClass(ut);this._$dateTable=n("<table>").addClass(ni)},_initDateTableScrollable:function(){var t=n("<div>").addClass(fi);this._dateTableScrollable=this._createComponent(t,"dxScrollable",this._dateTableScrollableConfig())},_dateTableScrollableConfig:function(){var t={useKeyboard:!1,useNative:!1,bounceEnabled:!1};return this.option("horizontalScrollingEnabled")&&(t.direction="both",t.onScroll=n.proxy(function(n){this._sidebarScrollable.scrollTo({top:n.scrollOffset.top});this._headerScrollable.scrollTo({left:n.scrollOffset.left})},this),t.onEnd=n.proxy(function(){this.notifyObserver("updateResizableArea",{})},this)),t},_createWorkSpaceElements:function(){this.option("horizontalScrollingEnabled")?this._createWorkSpaceScrollableElements():this._createWorkSpaceStaticElements()},_createWorkSpaceStaticElements:function(){this._dateTableScrollable.content().append(this._$timePanel,this._$dateTable);this.element().append(this._$fixedContainer,this._$headerPanel,this._$allDayContainer,this._$allDayPanel,this._dateTableScrollable.element())},_createWorkSpaceScrollableElements:function(){this.element().append(this._$fixedContainer);this._createHeaderScrollable();this._createSidebarScrollable();this.element().append(this._dateTableScrollable.element());this._headerScrollable.content().append(this._$headerPanel,this._$allDayContainer,this._$allDayPanel);this._dateTableScrollable.content().append(this._$dateTable);this._sidebarScrollable.content().append(this._$timePanel)},_createHeaderScrollable:function(){var t=n("<div>").addClass(ri).appendTo(this.element());this._headerScrollable=this._createComponent(t,"dxScrollable",{useKeyboard:!1,showScrollbar:!1,direction:"horizontal",useNative:!1,bounceEnabled:!1,onScroll:n.proxy(function(n){this._dateTableScrollable.scrollTo({left:n.scrollOffset.left})},this)})},_createSidebarScrollable:function(){var t=n("<div>").addClass(ui).appendTo(this.element());this._sidebarScrollable=this._createComponent(t,"dxScrollable",{useKeyboard:!1,showScrollbar:!1,direction:"vertical",useNative:!1,bounceEnabled:!1,onScroll:n.proxy(function(n){this._dateTableScrollable.scrollTo({top:n.scrollOffset.top})},this)})},_visibilityChanged:function(n){n&&this.option("horizontalScrollingEnabled")&&this._setTablesWidth()},_setTablesWidth:function(){var t=this._getWorkSpaceMinWidth(),i=this._$headerPanel.find("tr").last().find("th"),n=75*i.length;n<t&&(n=t);this._$headerPanel.width(n);this._$dateTable.width(n);this._$allDayTable.width(n)},_getWorkSpaceMinWidth:function(){var n=this._getWorkSpaceWidth(),t=this.element().outerWidth()-this.getTimePanelWidth();return n<t&&(n=t),n},_dimensionChanged:function(){this.option("horizontalScrollingEnabled")&&this._setTablesWidth()},_getElementClass:n.noop,_getRowCount:n.noop,_getCellCount:n.noop,_render:function(){this.callBase();this._toggleGroupedClass();this._renderView();this._attachEvents()},_toggleGroupedClass:function(){this.element().toggleClass(it,this.option("groups").length>0)},_renderView:function(){this._setFirstViewDate();this._renderGroupHeader();this._renderDateHeader();this._renderAllDayPanel();this._renderTimePanel();this._renderDateTable()},_setFirstViewDate:function(){this._firstViewDate=i.getFirstWeekDate(this.option("currentDate"),this._firstDayOfWeek());this._setStartDayHour(this._firstViewDate)},_setStartDayHour:function(n){u.isDefined(this.option("startDayHour"))&&n.setHours(this.option("startDayHour"))},_firstDayOfWeek:function(){return this.option("firstDayOfWeek")},_attachEvents:function(){var t=this,r=this._createAction(function(n){t._pointerDownHandler(n.jQueryEvent)}),i;this._createCellClickAction();i="."+h+",."+l;this.element().off(b).off(g).on(b,function(n){if(o.isMouseEvent(n)&&n.which>1){n.preventDefault();return}r({jQueryEvent:n})}).on(g,i,function(i){var r=n(i.target);t._cellClickAction({jQueryEvent:i,cellElement:r,cellData:t.getCellData(r)})})},_createCellClickAction:function(){var n=this;this._cellClickAction=this._createActionByOption("onCellClick",{afterExecute:function(t){n._clickHandler(t.args[0].jQueryEvent)}})},_clickHandler:function(t){var i=n(t.target);this._showPopup&&this._hasFocusClass(i)&&(delete this._showPopup,this._showAddAppointmentPopup(i))},_pointerDownHandler:function(t){var i=n(t.target);if(!i.hasClass(h)&&!i.hasClass(l)){this._isCellClick=!1;return}this._isCellClick=!0;this._hasFocusClass(i)?this._showPopup=!0:this._setFocusedCell(i)},_showAddAppointmentPopup:function(t){var i=this.getCellData(t),r=n.extend(i,i.groups);delete r.groups;this.notifyObserver("showAddAppointmentPopup",r)},_getGroupHeaderContainer:function(){return this._$thead},_getDateHeaderContainer:function(){return this._$thead},_renderGroupHeader:function(){var t=this._getGroupHeaderContainer(),i=this._getGroupCount(),n;i&&(n=this._makeGroupRows(this.option("groups")),this._attachGroupCountAttr(n.length),t.append(n))},_attachGroupCountAttr:function(n){this.element().attr("dx-group-row-count",n)},_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(dt).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 u=[],e=t.length,r,f=0;f<i;f++)for(r=0;r<e;r++)u.push(n("<th>").addClass(gt).html("<div class='"+p+"'><div>"+t[r].text+"<\/div><\/div>"));return u},_renderDateHeader:function(){for(var e=this._getDateHeaderContainer(),i=n("<tr>").addClass(kt),o=this._getCellCount(),s=this._calculateHeaderCellRepeatCount(),t,r,u,f=0;f<s;f++)for(t=0;t<o;t++)r=this._getHeaderText(t),u=n("<th>").text(r).addClass(bt).attr("title",r),i.append(u);return e.append(i),i},_calculateHeaderCellRepeatCount:function(){return this._getGroupCount()||1},_renderAllDayPanel:function(){var t=this._getCellCount()*(this._getGroupCount()||1);this._renderTableBody({container:this._$allDayTable,rowCount:1,cellCount:t,cellClass:l,rowClass:vt,dataGenerator:n.proxy(this._setAllDayCellData,this)});this._toggleAllDayVisibility()},_setAllDayCellData:function(n,t,r){var e=this._getDateByCellIndexes(t,r),o,u,f;for(e=i.trimTime(e),o={startDate:e,endDate:new Date(e.getTime()+864e5),allDay:!0},u=this._getCellGroups(this._getGroupIndex(t,r)),u.length&&(o.groups={}),f=0;f<u.length;f++)o.groups[u[f].name]=u[f].id;n.data(v,o)},_toggleAllDayVisibility:function(){var n=this.option("showAllDayPanel");this._$allDayPanel.toggle(n);this._$allDayTitle.toggleClass(at,!n);this.element().toggleClass(yt,n);this._changeAllDayVisibility()},_changeAllDayVisibility:function(){this.element().toggleClass(pt,!this.option("allDayExpanded")&&this.option("showAllDayPanel"))},_renderTimePanel:function(){var t=.5*this._getCellCountInDay();this._renderTableBody({container:this._$timePanel,rowCount:t,cellCount:1,cellClass:ft,rowClass:et,dataGenerator:n.proxy(this._setTimePanelText,this)})},_getCellCountInDay:function(){return Math.floor(this._calculateDayDuration()/this.option("hoursInterval"))},_calculateDayDuration:function(){return this.option("endDayHour")-this.option("startDayHour")},_setTimePanelText:function(n,t){n.text(this._getTimeText(t))},_getTimeText:function(n){var t=this.option("startDayHour"),i=this.getCellDuration()*2,r=new Date(+new Date(1970,0)+i*n+t*36e5);return Globalize.format(r,"t")},_renderDateTable:function(){var t=this._getGroupCount()||1;this._renderTableBody({container:this._$dateTable,rowCount:this._getTotalRowCount(t),cellCount:this._getTotalCellCount(t),cellClass:h,rowClass:w,dataGenerator:n.proxy(this._setCellData,this)});this._attachTablesEvents()},_getTotalCellCount:function(n){return this._getCellCount()*n},_getTotalRowCount:function(){return this._getRowCount()},_setCellData:function(n,t,i){var f=this._getDateByCellIndexes(t,i),o=this.calculateEndDate(f),e={startDate:f,endDate:o,allDay:this._getTableAllDay()},r,u;for(n.toggleClass(ti,this._isCurrentDate(f)).toggleClass(ii,this._isOtherMonth(f)),r=this._getCellGroups(this._getGroupIndex(t,i)),r.length&&(e.groups={}),u=0;u<r.length;u++)e.groups[r[u].name]=r[u].id;n.data(v,e)},_getGroupIndex:function(n,t){return Math.floor(t/this._getCellCount())},_getTableAllDay:function(){return!1},_isCurrentDate:function(n){var t=new Date;return i.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 r=[],i,u,t;if(this._getGroupCount()){if(i=this.option("groups"),n<0)return;for(u=this._getPathToLeaf(n),t=0;t<i.length;t++)r.push({name:i[t].name,id:u[t]})}return r},_attachTablesEvents:function(){this._attachTableEvents(this._getDateTable());this._attachTableEvents(this._getAllDayTable())},_attachTableEvents:function(t){var i=this,r,u;t.off(k).off(d).on(k,"td",{itemSizeFunc:function(n){return r||(r=n.height()),u||(u=n.width()),{width:u,height:r}}},function(t){i._$currentTableTarget&&i._$currentTableTarget.removeClass(a);i._$currentTableTarget=n(t.target);i._$currentTableTarget.addClass(a)}).on(d,"td",function(t){n(t.target).removeClass(a);r=0;u=0})},_getDateTables:function(){return this._$dateTable.add(this._$allDayTable)},_getDateTable:function(){return this._$dateTable},_getAllDayTable:function(){return this._$allDayTable},_getInterval:function(){return this.option("hoursInterval")*36e5},_getHeaderText:function(n){return Globalize.format(this._getDateByIndex(n),this._getFormat())},_getDateByIndex:y,_getFormat:y,_getCellText:function(){return""},_calculateCellIndex:function(n,t){return t=t%this._getCellCount(),this._getRowCount()*t+n},_renderTableBody:function(t){for(var e=[],r,i,u,f=0;f<t.rowCount;f++){for(r=n("<tr>"),t.rowClass&&r.addClass(t.rowClass),i=0;i<t.cellCount;i++)u=n("<td>").text(this._getCellText(f,i)),t.cellClass&&u.addClass(t.cellClass),n.isFunction(t.dataGenerator)&&t.dataGenerator(u,f,i),r.append(u);e.push(r)}t.container.append(n("<tbody>").append(e))},_cleanView:function(){this._$thead.empty();this._$dateTable.empty();this._$timePanel.empty();this._$allDayTable.empty()},getWorkArea:function(){return this._dateTableScrollable.content()},getScrollable:function(){return this._dateTableScrollable},getScrollableScrollTop:function(){return this._dateTableScrollable.scrollTop()},getScrollableScrollLeft:function(){return this._dateTableScrollable.scrollLeft()},getScrollableContainer:function(){return this._dateTableScrollable._container()},getHeaderPanelHeight:function(){return this._$headerPanel.outerHeight(!0)},getTimePanelWidth:function(){return this._$timePanel.outerWidth()},_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 i(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]&&i.call(this,this.option("groups")[s],s,e.children,e),e.children.length||(e.leafIndex=r,r++);return u}var r=0;return i.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 r=0;r<n.length;r++)this._hasGroupItem(t,n[r].name,n[r].value)&&(u.isDefined(n[r].leafIndex)&&i.push(n[r].leafIndex),n[r].children&&this._grep(n[r].children,t,i));return i},_getDateByCellIndexes:function(n,t){var u=this.getFirstViewDate(),r=new Date(u.getTime()+this._getMillisecondsOffset(n,t));return r.setTime(r.getTime()+i.getTimezonesDifference(u,r)),r},_getMillisecondsOffset:function(n,t){return this._getInterval()*this._calculateCellIndex(n,t)+this._calculateHiddenInterval(n,t)},_calculateHiddenInterval:function(n,t){var i=t%this._getCellCount();return i*this._getHiddenInterval()},_getHiddenInterval:function(){return c("day")-this.option("hoursInterval")*this._getCellCountInDay()*c("hour")},_getIntervalBetween:function(n,t){var o=this.option("startDayHour")*c("hour"),r=this.getFirstViewDate(),s=i.getTimezonesDifference(r,n),u=n.getTime()-r.getTime()-s,f=Math.floor((u+o)/c("day")),e=f*c("day");return t||(e=u-f*this._getHiddenInterval()),e},_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()},_getDroppableCell:function(){return this._getDateTables().find("."+a)},_getWorkSpaceWidth:function(){return this.option("horizontalScrollingEnabled")?this._$dateTable.outerWidth():this.element().outerWidth()-this.getTimePanelWidth()},_getCellPositionByIndex:function(n,t){var i=this._getCellCoordinatesByIndex(n),r=this._getCellByCoordinates(i,t);return this._getCellPosition(r)},_getCellPosition:function(n){var i=this.option("rtlEnabled"),t=n.position();return i&&(t.left+=n.outerWidth()),t},_getCellByCoordinates:function(n,t){return this._$dateTable.find("tr").eq(n.rowIndex).find("td").eq(n.cellIndex+t*this._getCellCount())},_getCells:function(n){var t=n?l:h;return this.element().find("."+t)},_getGroupHeaderCellsContent:function(){return this.element().find("."+p)},_getScrollCoordinates:function(n,t,i){var r=i||new Date(this.option("currentDate")),u=this.option("startDayHour"),f=this.option("endDayHour");return n<u&&(n=u),n>=f&&(n=f-1),r.setHours(n),r.setMinutes(t),this.getCoordinatesByDate(r)},supportAllDayRow:function(){return!0},getCellData:function(t){return n.extend(!0,{},t.data(v))},getCoordinatesByDate:function(n,t,i){t=t||0;var f=this.getCellIndexByDate(n,i),r=this._getCellPositionByIndex(f,t),u=this.getPositionShift(i?0:this.getTimeShift(n));return{top:r.top+u.top,left:r.left+u.left,max:this.getMaxAllowedPosition()[t],groupIndex:t}},getCellIndexByDate:function(n,t){var r=t?864e5:this._getInterval(),u=this._getIntervalBetween(n,t),i=Math.floor(u/r);return t&&(i=this._updateIndex(i)),i<0&&(i=0),i},getPositionShift:function(n){return{top:n*this.getCellHeight(),left:0}},getTimeShift:function(n){var i=this.getCellDuration(),t=new Date(n);return t.setMinutes(0),t.setHours(this.option("startDayHour")),(n.getTime()-t.getTime())%i/i},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},getDroppableCellIndex:function(){var n=this._getDroppableCell(),t=n.parent(),i=t.index();return i*t.find("td").length+n.index()},getDataByDroppableCell:function(){var n=this.getCellData(this._getDroppableCell());return{date:n.startDate,allDay:n.allDay,groups:n.groups}},getDateRange:function(){return[this.getFirstViewDate(),this.getLastViewDate()]},getCellWidth:function(){return this._getCells().first().outerWidth()},getCellHeight:function(){return this._getCells().first().outerHeight()},getAllDayHeight:function(){return this.option("showAllDayPanel")?this._getCells(!0).first().outerHeight():0},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(Math.floor(f))}),t},getFixedContainer:function(){return this._$fixedContainer},getAllDayContainer:function(){return this._$allDayContainer},getCellIndexByCoordinates:function(n,t){var i=this._getTotalCellCount(this._getGroupCount()||1),u=this.getTimePanelWidth(),f=Math.floor(this._getWorkSpaceWidth()/i),e=this.option("rtlEnabled")||this.option("horizontalScrollingEnabled")?0:u,o=Math.floor(n.top/(t?this.getAllDayHeight():this.getCellHeight())),r=Math.floor((n.left+5-e)/f);return this.option("rtlEnabled")&&(r=i-r-1),i*o+r},getFirstViewDate:function(){return this._firstViewDate},getLastViewDate:function(){var n=this._getDateByCellIndexes(this._getRowCount()-1,this._getCellCount()-1);return new Date(n.getTime()+this.getCellDuration()-6e4)},getCellDuration:function(){return 36e5*this.option("hoursInterval")},getGroupBounds:function(n){var s=this.getCellIndexByCoordinates(n),i=this._getCellCount(),h=Math.floor(s/i),u=this._getCells(),t=this.getCellWidth(),f=h*i,e=u.eq(f).offset().left-t/2,o=u.eq(f+i-1).offset().left+t+t/2,r={left:e,right:o};return this.option("rtlEnabled")&&(r.left=o-t*2,r.right=e+t*2),r},getCellDataByCoordinates:function(n,t){var i=this._getCells(t),r=this.getCellIndexByCoordinates(n,t),u=i.eq(r);return this.getCellData(u)},getVisibleBounds:function(){var n={},u=this.getScrollable().element(),i=this.getCellHeight(),t=this.getScrollableScrollTop()/i,r=t+u.height()/i;return n.top={hours:Math.floor(t*this.option("hoursInterval"))+this.option("startDayHour"),minutes:t%2?30:0},n.bottom={hours:Math.floor(r*this.option("hoursInterval"))+this.option("startDayHour"),minutes:Math.floor(r)%2?30:0},n},updateScrollPosition:function(n){var r=this.getVisibleBounds(),t=n.getHours(),i=n.getMinutes();this.needUpdateScrollPosition(t,i,r)&&this.scrollToTime(t,i,n)},needUpdateScrollPosition:function(n,t,i){var r=!1;return(n<i.top.hours||n>i.bottom.hours)&&(r=!0),n===i.top.hours&&t<i.top.minutes&&(r=!0),n===i.bottom.hours&&t>i.top.minutes&&(r=!0),r},getGroupWidth:function(n){var r=this._getCellCount()*this.getCellWidth(),t=this.getMaxAllowedPosition(),i=t[n];return t.length&&i&&(r=this.option("rtlEnabled")?i-t[n+1]:n===0?i:i-t[n-1]),r},restoreScrollTop:function(){this.element().scrollTop(0)},scrollToTime:function(n,t,i){var u=this._getScrollCoordinates(n,t,i),r=this.getScrollable();r.scrollBy(u.top-r.scrollTop())},getDistanceBetweenCells:function(t,i){var r=0;return this.element().find("."+w).first().find("."+h).each(function(u){if(u<t||u>i)return!0;r+=n(this).outerWidth()}),r}}).include(e);return f("dxSchedulerWorkSpace",{},nt),nt});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.workSpace"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.workSpaceDay",["jquery","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.workSpace","/utils/utils.common"],function(n,t,i,r){var f="dx-scheduler-work-space-day",u=i.inherit({_getElementClass:function(){return f},_getRowCount:function(){return this._getCellCountInDay()},_getCellCount:function(){return 1},_setFirstViewDate:function(){this._firstViewDate=this.option("currentDate");r.isDefined(this.option("startDayHour"))&&this._firstViewDate.setHours(this.option("startDayHour"))},_getDateByIndex:function(){return this._firstViewDate},_getFormat:function(){return"D"},_renderDateHeader:n.noop});return t("dxSchedulerWorkSpaceDay",{},u),u});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.workSpaceDay"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.workSpaceWeek",["jquery","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.workSpace"],function(n,t,i){var u="dx-scheduler-work-space-week",r=i.inherit({_getElementClass:function(){return u},_getRowCount:function(){return this._getCellCountInDay()},_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"}});return t("dxSchedulerWorkSpaceWeek",{},r),r});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.workSpaceWeek"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.workSpaceWorkWeek",["jquery","/componentRegistrator","/utils/utils.date","/utils/utils.common","/ui/widgets/scheduler/ui.scheduler.workSpaceWeek"],function(n,t,i,r,u){var o="dx-scheduler-work-space-work-week",f=0,e=u.inherit({_getElementClass:function(){return o},_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+f),i=t.getDay(),i%6==0&&(f=Math.floor(i/6+1),t.setDate(t.getDate()+f)),t},_renderView:function(){f=0;this.callBase()},_setFirstViewDate:function(){this._firstViewDate=i.getFirstWeekDate(this.option("currentDate"),this._firstDayOfWeek());this._firstViewDate=i.normalizeDateByWeek(this._firstViewDate,this.option("currentDate"));this._setStartDayHour(this._firstViewDate)}});return t("dxSchedulerWorkSpaceWorkWeek",{},e),e});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.workSpaceWorkWeek"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.workSpaceMonth",["jquery","/utils/utils.date","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.workSpace"],function(n,t,i,r){var e="dx-scheduler-work-space-month",u=7,o=864e5,f=r.inherit({_getElementClass:function(){return e},_getRowCount:function(){return 6},_getCellCount:function(){return u},_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},_getIntervalBetween:function(n){var i=this.getFirstViewDate(),r=t.getTimezonesDifference(i,n);return n.getTime()-(i.getTime()-this.option("startDayHour")*36e5)-r},_getDateByCellIndexes:function(n,t){var i=this.callBase(n,t);return this._setStartDayHour(i),i},_calculateHiddenInterval:function(){return 0},_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,_toggleAllDayVisibility:n.noop,_changeAllDayVisibility:n.noop,_setFirstViewDate:function(){var n=t.getFirstMonthDate(this.option("currentDate"));this._firstViewDate=t.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*u+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},getCellDuration:function(){return this._calculateDayDuration()*36e5},getTimePanelWidth:function(){return 0},getPositionShift:function(){return{top:0,left:0}},getCoordinatesByDates:function(n,i){for(var u=[],r=new Date(n);r<=i;)u.push(this.getCoordinatesByDate(r)),r.setDate(r.getDate()+7),r=t.getFirstWeekDate(r,this.option("firstDayOfWeek"));return u},getCellCountToLastViewDate:function(n){var i=t.makeDate(n).getTime(),r=this.getLastViewDate().getTime(),u=this.getCellDuration();return Math.ceil((r-i)/u)},supportAllDayRow:function(){return!1},calculateEndDate:function(n){var t=new Date(n);return new Date(t.setHours(this.option("endDayHour")))},scrollToTime:n.noop});return i("dxSchedulerWorkSpaceMonth",{},f),f});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.workSpaceMonth"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.timeline",["jquery","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.workSpace","/utils/utils.date"],function(n,t,i,r){var e="dx-scheduler-timeline",o="dx-scheduler-group-table",s="horizontal",u=r.dateToMilliseconds,f=i.inherit({_init:function(){this.callBase();this.element().addClass(e);this._$sidebarTable=n("<table>").addClass(o)},_getRowCount:function(){return 1},_getCellCount:function(){return this._getCellCountInDay()},_getTotalCellCount:function(){return this._getCellCount()},_getTotalRowCount:function(n){return this._getRowCount()*n},_getDateByIndex:function(n){var t=new Date(this._firstViewDate),i=Math.floor(n/this._getCellCountInDay());return t.setTime(this._firstViewDate.getTime()+this._calculateCellIndex(0,n)*this._getInterval()+i*this._getHiddenInterval()),t},_getFormat:function(){return"t"},_calculateHiddenInterval:function(n,t){var i=Math.floor(t/this._getCellCountInDay());return i*this._getHiddenInterval()},_createWorkSpaceElements:function(){this._createWorkSpaceScrollableElements()},_dateTableScrollableConfig:function(){var t=this,i=this.callBase(),r={direction:s,onScroll:function(n){t._headerScrollable.scrollTo({left:n.scrollOffset.left})}};return n.extend(i,r)},_renderTimePanel:n.noop,_renderAllDayPanel:n.noop,_getTableAllDay:function(){return!1},_toggleAllDayVisibility:n.noop,_changeAllDayVisibility:n.noop,supportAllDayRow:function(){return!1},_getGroupHeaderContainer:function(){return this._$sidebarTable},_renderView:function(){this.callBase();this._$sidebarTable.appendTo(this._sidebarScrollable.content());this._setGroupHeaderCellsHeight()},_cleanView:function(){this.callBase();this._$sidebarTable.empty()},_visibilityChanged:function(n){this.callBase(n);this._setGroupHeaderCellsHeight()},_makeGroupRows:function(t){for(var f=1,r=[],h,e,o,u,c,l,i=0;i<t.length;i++)i>0&&(f=t[i-1].items.length*f),h=this._makeGroupRowCells(t[i].items,f),r.push(h);var s=[],a=r.length,v=r[a-1].length;for(i=0;i<v;i++)s.push(n("<tr>").addClass("dx-scheduler-group-row"));for(i=a-1;i>=0;i--)for(e=r[i].length,o=v/e,u=0;u<e;u++)c=u*o,l=s[c],l.prepend(r[i][u].attr("rowspan",o));return s},_setGroupHeaderCellsHeight:function(){var n=this.getCellHeight()-1;this._getGroupHeaderCellsContent().css("height",n)},_attachGroupCountAttr:function(){this.element().attr("dx-group-column-count",this.option("groups").length)},_getCellCoordinatesByIndex:function(n){return{cellIndex:n%this._getCellCount(),rowIndex:0}},_getCellByCoordinates:function(n,t){return this._$dateTable.find("tr").eq(n.rowIndex+t).find("td").eq(n.cellIndex)},_calculateCellIndex:function(n,t){return t},_getGroupIndex:function(n){return n},_getWorkSpaceWidth:function(){return this._$dateTable.outerWidth(!0)},_calculateHeaderCellRepeatCount:function(){return 1},_getIntervalBetween:function(n,t){var i=this.option("startDayHour"),f=this.option("endDayHour"),l=this.getFirstViewDate(),y=l.getTime(),p=(24-f+i)*u("hour"),w=r.getTimezonesDifference(l,n),a=n.getTime(),o=a-y-w,s=Math.floor(o/u("day")),h=o-s*u("day"),e=0,b=this._getCellCountInDay()*s,v=a-r.trimTime(new Date(n)).getTime(),c=b*this.option("hoursInterval")*u("hour");return t||(n.getHours()<i?e=h-p+v:n.getHours()>=i&&n.getHours()<f?e=h:n.getHours()>=i&&n.getHours()>=f?e=h-(v-f*u("hour")):s||(c=o),c+=e),c},getAllDayContainer:function(){return null},getTimePanelWidth:function(){return 0},getPositionShift:function(n){var i=this.callBase(n),t=this.getCellWidth()*n;return this.option("rtlEnabled")&&(t*=-1),t+=i.left,{top:0,left:t}},getVisibleBounds:function(){var n={},f=this.getScrollable().element(),t=this.getCellWidth(),i=this.getScrollableScrollLeft()/t,e=i+f.width()/t,r=this._getDateByIndex(e),u=this._getDateByIndex(i);return n.right={hours:u.getHours(),minutes:u.getMinutes()>=30?30:0},n.left={hours:r.getHours(),minutes:r.getMinutes()>=30?30:0},n},needUpdateScrollPosition:function(n,t,i){var r=!1;return(n<i.right.hours||n>i.left.hours)&&(r=!0),n===i.right.hours&&t<i.right.minutes&&(r=!0),n===i.left.hours&&t>i.right.minutes&&(r=!0),r},scrollToTime:function(n,t,i){var u=this._getScrollCoordinates(n,t,i),r=this.getScrollable();r.scrollBy({left:u.left-r.scrollLeft(),top:0})}});return t("dxSchedulerTimeline",{},f),f});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.timeline"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.timelineDay",["jquery","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.timeline","/utils/utils.common"],function(n,t,i,r){var f="dx-scheduler-timeline-day",u=i.inherit({_getElementClass:function(){return f},_setFirstViewDate:function(){this._firstViewDate=this.option("currentDate");r.isDefined(this.option("startDayHour"))&&this._firstViewDate.setHours(this.option("startDayHour"))}});return t("dxSchedulerTimelineDay",{},u),u});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.timelineDay"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.timelineWeek",["jquery","/componentRegistrator","/ui/widgets/scheduler/ui.scheduler.timeline"],function(n,t,i){var u="dx-scheduler-timeline-week",f="dx-scheduler-header-panel-cell",e="dx-scheduler-header-row",o=200,r=i.inherit({_getElementClass:function(){return u},_getCellCount:function(){return this.callBase()*this._getWeekDuration()},_renderDateHeader:function(){for(var h=this.callBase(),t=new Date(this._firstViewDate),i=[],r=this._getCellCountInDay(),c=r*o,u,s=0;s<this._getWeekDuration();s++)i.push(n("<th>").addClass(f).text(Globalize.format(t,"ddd d")).attr("colspan",r).width(c)),t.setDate(t.getDate()+1);u=n("<tr>").addClass(e).append(i);h.before(u)},_getWeekDuration:function(){return 7}});return t("dxSchedulerTimelineWeek",{},r),r});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.timelineWeek"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.timelineWorkWeek",["jquery","/componentRegistrator","/utils/utils.date","/ui/widgets/scheduler/ui.scheduler.timelineWeek"],function(n,t,i,r){var f="dx-scheduler-timeline-work-week",u=r.inherit({_getElementClass:function(){return f},_getWeekDuration:function(){return 5},_firstDayOfWeek:function(){return this.option("firstDayOfWeek")||1},_setFirstViewDate:function(){this._firstViewDate=i.getFirstWeekDate(this.option("currentDate"),this._firstDayOfWeek());this._firstViewDate=i.normalizeDateByWeek(this._firstViewDate,this.option("currentDate"));this._setStartDayHour(this._firstViewDate)}});return t("dxSchedulerTimelineWorkWeek",{},u),u});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.timelineWorkWeek"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointment",["jquery","/ui/uiNamespace","/utils/utils.translator","/utils/utils.array","/utils/utils.recurrence","/utils/utils.date","/utils/utils.common","/componentRegistrator","/ui/ui.tooltip","/ui/widgets/scheduler/ui.scheduler.publisherMixin","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/domComponent"],function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=c.addNamespace(l.enter,"dxSchedulerAppointment"),y=c.addNamespace(l.leave,"dxSchedulerAppointment"),w="dx-scheduler-appointment-empty",b=40,k="dx-scheduler-all-day-appointment",d={horizontal:"dx-scheduler-appointment-horizontal",vertical:"dx-scheduler-appointment-vertical"},g="dx-scheduler-appointment-recurrence",nt="dx-scheduler-appointment-compact",tt="dx-scheduler-appointment-reduced",it="dx-scheduler-appointment-reduced-icon",rt={head:"dx-scheduler-appointment-head",body:"dx-scheduler-appointment-body",tail:"dx-scheduler-appointment-tail"},p=a.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{data:{},geometry:{top:0,left:0,width:0,height:0},allowDrag:!0,allowResize:!0,reduced:null,isCompact:!1,sortedIndex:undefined,direction:"vertical",resizableConfig:{}})},_optionChanged:function(n){switch(n.name){case"data":case"geometry":case"allowDrag":case"allowResize":case"reduced":case"sortedIndex":case"isCompact":case"direction":case"resizableConfig":this._invalidate();break;default:this.callBase(n)}},_render:function(){this.callBase();this._renderAppointmentGeometry();this._renderEmptyClass();this._renderCompactClass();this._renderReducedAppointment();this._renderAllDayClass();this._renderDirection();this.element().attr("title",this.invoke("getField","text",this.option("data")));this.element().attr("role","button");this._renderRecurrenceClass();this._renderSortedTabIndex();this._renderResizable()},_renderAppointmentGeometry:function(){var n=this.option("geometry"),t=this.element();i.move(t,{top:n.top,left:n.left});t.css({width:n.width,height:n.height})},_renderEmptyClass:function(){var n=this.option("geometry");n.width<b&&this.element().addClass(w)},_renderReducedAppointment:function(){var n=this.option("reduced");n&&(this.element().toggleClass(tt,!0).toggleClass(rt[n],!0),this._renderAppointmentReducedIcon())},_renderAppointmentReducedIcon:function(){var t=n("<div>").addClass(it).appendTo(this.element()),i=this._getEndDate();t.off(v).on(v,function(){s.show({target:t,content:Globalize.localize("dxScheduler-editorLabelEndDate")+": "+Globalize.format(i,"d MMMM yyyy")})}).off(y).on(y,function(){s.hide()})},_getEndDate:function(){var n=this.invoke("getField","endDate",this.option("data"));return n?f.makeDate(n):n},_renderAllDayClass:function(){this.element().toggleClass(k,!!this.option("allDay"))},_renderRecurrenceClass:function(){var n=this.invoke("getField","recurrenceRule",this.option("data"));u.getRecurrenceRule(n).isValid&&this.element().addClass(g)},_renderSortedTabIndex:function(){var n=this.option("sortedIndex");this.element().attr("sortedIndex",n);this.element().attr("tabIndex",n===0?0:-1)},_renderCompactClass:function(){this.element().toggleClass(nt,!!this.option("isCompact"))},_renderDirection:function(){this.element().addClass(d[this.option("direction")])},_renderResizable:function(){this.option("allowResize")&&!this.option("isCompact")&&this._createComponent(this.element(),"dxResizable",this.option("resizableConfig"))}}).include(h);return o("dxSchedulerAppointment",{},p),p});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.appointment"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments.strategy.base",["jquery","/class","/ui/ui.errors","/utils/utils.date"],function(n,t,i){var r=t.abstract,u=20,f=15,e=3;return t.inherit({ctor:function(n){this.instance=n},getAppointmentDefaultSize:function(){return u},resizableConfig:r,getHorizontalResizableHandles:function(n){var t=this._isRtl();return n?n==="increase"?t?"right":"left":t?"left":"right":"right left"},getDeltaTime:r,getAppointmentGeometry:function(n){return this.applyCellBorder(n)},createTaskPositionMap:function(n){var u=n.length,t,i,r,f,e;if(u){for(this._defaultWidth=this.instance._cellWidth,this._defaultHeight=this.instance._cellHeight,this._allDayHeight=this.instance._allDayCellHeight,t=[],i=0;i<u;i++)r=this._getItemPosition(n[i]),this._isRtl()&&(r=this._correctRtlCoordinates(r)),t.push(r);return f=this._getSortedPositions(t),e=this._getResultPositions(f),this._getExtendedPositionMap(t,e)}},applyCellBorder:function(n){var t=1;return n.left+=t,n.top+=t,n.width-=t,n.height-=t,n},_getDeltaWidth:function(n,t){var i=this._defaultWidth||this.getAppointmentDefaultSize(),r=t.width;return Math.round((n.width-r)/i)},_correctRtlCoordinates:function(n){var t=n[0].width||this._getAppointmentMaxWidth();return n[0].appointmentReduced||(n[0].left-=t),this._correctRtlCoordinatesParts(n,t),n},_correctRtlCoordinatesParts:n.noop,_getAppointmentMaxWidth:function(){return this._defaultWidth},_getItemPosition:function(t){for(var h=this.calculateAppointmentHeight(t),o=this.calculateAppointmentWidth(t),c=o,r=this._getAppointmentCoordinates(t),l=this.isAllDay(t),u=[],v=this.instance.invoke("getField","startDate",t),f,i=0;i<r.length;i++){var s=o,a=null,e=[];(this._needVerifyItemSize()||l)&&(f=r[i].max,this.isAppointmentGreaterThan(f,{left:r[i].left,width:c})&&(a="head",s=this._reduceMultiWeekAppointment(o,{left:r[i].left,right:f}),e=this._getMultiWeekAppointmentParts({sourceAppointmentWidth:c,reducedWidth:s,height:h},r[i],v,i),this._isRtl()&&(r[i].left=f)));n.extend(r[i],{height:h,width:s,allDay:l,appointmentReduced:a});e.length?(e.unshift(r[i]),u=n.merge(u,e)):u.push(r[i])}return u},_getAppointmentCoordinates:function(n){var t=[{top:0,left:0}],i=this._startDate(n);return this.instance.notifyObserver("needCoordinates",{startDate:i,appointmentData:n,callback:function(n){t=n}}),t},_needVerifyItemSize:function(){return!1},_isRtl:function(){return this.instance.option("rtlEnabled")},_getMultiWeekAppointmentParts:function(){return[]},_reduceMultiWeekAppointment:function(n,t){return this._isRtl()?Math.floor(t.left-t.right):t.right-Math.floor(t.left)},calculateAppointmentHeight:function(){return 0},calculateAppointmentWidth:function(){return 0},isAppointmentGreaterThan:function(n,t){var i=t.left+t.width-n;return this._isRtl()&&(i=n+t.width-t.left),i>this._defaultWidth/2},isAllDay:function(){return!1},_getSortedPositions:function(t){for(var e=[],f=0,r,o,i,s,h,u=0,c=t.length;u<c;u++)for(r=0,o=t[u].length;r<o;r++)i=t[u][r],s={i:u,j:r,top:i.top,left:i.left,isStart:!0,allDay:i.allDay,__tmpIndex:f},f++,h={i:u,j:r,top:i.top+i.height,left:i.left+i.width,isStart:!1,allDay:i.allDay,__tmpIndex:f},e.push(s,h),f++;return e.sort(n.proxy(function(n,t){var i=this._sortCondition(n,t);if(i===0){if(n.__tmpIndex<t.__tmpIndex)return-1;if(n.__tmpIndex>t.__tmpIndex)return 1}return i},this)),e},_sortCondition:r,_rowCondition:function(n,t){var i=this._normalizeCondition(n.left,t.left),r=this._normalizeCondition(n.top,t.top);return i?i:r?r:n.isStart-t.isStart},_columnCondition:function(n,t){var i=this._normalizeCondition(n.left,t.left),r=this._normalizeCondition(n.top,t.top);return r?r:i?i:n.isStart-t.isStart},_normalizeCondition:function(n,t){var i=n-t;return Math.abs(i)>1.001?i:0},_getResultPositions:function(n){for(var r=[],t=[],a=[],e=[],o=0,v=0,f,u,i,c,s,h,l=0;l<n.length;l++)if(u=n[l],u.isStart){for(f=undefined,i=0;i<t.length;i++)if(!t[i]){f=i;t[i]=!0;break}if(f===undefined)for(f=t.length,t.push(!0),i=0;i<r.length;i++)r[i].count++;r.push({index:f,count:t.length,i:u.i,j:u.j,sortedIndex:v++});o<t.length&&(o=t.length)}else{if(c=this._findIndexByKey(r,"i","j",u.i,u.j),s=r[c],r.splice(c,1),t[s.index]=!1,e.push(s),!r.length){for(t=[],h=0;h<e.length;h++)e[h].count=o;e=[];o=0}a.push(s)}return a.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,i,f,r=0,e=n.length;r<e;r++)for(i=0,f=n[r].length;i<f;i++)n[r][i].index=t[u].index,n[r][i].sortedIndex=t[u].sortedIndex,n[r][i].count=t[u++].count,n[r][i].virtualIndex=n[r][i].top+"-"+n[r][i].left;return n},_startDate:function(n,t){var r=this.instance._getStartDate(n,t),u=this.instance.invoke("getField","text",n);if(isNaN(r.getTime()))throw i.Error("E1032",u);return r},_endDate:function(n){var t=this.instance._getEndDate(n),i=this._startDate(n,!0),r=this._startDate(n),u;return(!t||i>=t)&&(t=new Date(i.getTime()+this.instance.option("appointmentDurationInMinutes")*6e4),this.instance.invoke("setField","endDate",n,t)),r>=t&&(u=t.getTime()-i.getTime(),t=new Date(r.getTime()+u)),t},_getMaxNeighborAppointmentCount:function(){var n=this.getCompactAppointmentDefaultSize()+this.getCompactAppointmentDefaultOffset();return Math.floor(this.getCompactAppointmentGroupMaxWidth()/n)},_markAppointmentAsVirtual:function(n,t){n.count-2>this._getMaxNeighborAppointmentCount()&&(n.virtual={top:n.top,left:n.left,index:n.virtualIndex,isAllDay:t})},getCompactAppointmentGroupMaxWidth:function(){return 75*this.getDefaultCellWidth()/100},getDefaultCellWidth:function(){return this._defaultWidth},getCompactAppointmentDefaultSize:function(){return f},getCompactAppointmentDefaultOffset:function(){return e}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments.strategy.horizontal",["jquery","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.base","/utils/utils.date"],function(n,t,i){var u=100,f=20,r=i.dateToMilliseconds;return t.inherit({resizableConfig:function(n,t){return{minWidth:this._defaultWidth,minHeight:0,step:this._defaultWidth,handles:this.getHorizontalResizableHandles(t)}},_needVerifyItemSize:function(){return!0},calculateAppointmentWidth:function(n){var l=this._defaultWidth||this.getAppointmentDefaultSize(),a=this.instance.invoke("getField","allDay",n),s=this.getAppointmentDefaultSize(),i=0,t,u=r("day"),v=this._startDate(n),y=this._endDate(n),f=y.getTime()-v.getTime(),h,c;if(a)h=Math.ceil(f/u),i=h*(this.instance.option("dayDuration")*60/this.instance.option("appointmentDurationInMinutes"));else{var p=Math.floor(f/u),e=f%u,o=this.instance.option("dayDuration")*r("hour");e>o&&(e=o);c=this.instance.option("appointmentDurationInMinutes")*r("minute");i=(p*o+e)/c}return t=i*l,t<s&&(t=s),t},getAppointmentGeometry:function(n){var t=this._customizeAppointmentGeometry(n);return this.callBase(t)},_customizeAppointmentGeometry:function(n){var r=(this._defaultHeight||this.getAppointmentDefaultSize())-f,t=r/n.count,i;return t>u&&(t=u),i=n.top+n.index*t,{height:t,width:n.width,top:i,left:n.left}},_correctRtlCoordinatesParts:function(n,t){for(var i=1;i<n.length;i++)n[i].left-=t;return n},_sortCondition:function(n,t){return this._columnCondition(n,t)},_getMaxAppointmentWidth:function(n){var t;return this.instance.notifyObserver("getMaxAppointmentWidth",{date:n,callback:function(n){t=n}}),t},getDeltaTime:function(n,t){var i=this._getDeltaWidth(n,t);return this.instance.option("appointmentDurationInMinutes")*r("minute")*i},isAllDay:function(n){return this.instance.invoke("getField","allDay",n)}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments.strategy.horizontalMonth",["jquery","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.horizontal","/utils/utils.date"],function(n,t,i){var r=.6;return t.inherit({_skipResizingForReducedAppointments:function(n){var t=!0;return n==="head"?t="increase":n==="tail"&&(t="decrease"),t},_getMultiWeekAppointmentParts:function(t,i,r,u){for(var c=t.sourceAppointmentWidth-t.reducedWidth,l=t.height,f=this._getFullWeekAppointmentWidth(u),y=this._getMaxAppointmentWidth(r),p=Math.floor(c/f),e=c%f,s=[],a=t.reducedWidth+e,h=i.top+this._defaultHeight,o=this._calculateMultiWeekAppointmentLeftOffset(i.max,f),v=0;v<p;v++){if(a>y)break;s.push(n.extend(!0,{},i,{top:h,left:o,height:l,width:f,appointmentReduced:"body"}));h+=this._defaultHeight;a+=f}return e&&(this._isRtl()&&(o=o+(f-e)),s.push(n.extend(!0,{},i,{top:h,left:o,height:l,width:e,appointmentReduced:"tail"}))),s},_calculateMultiWeekAppointmentLeftOffset:function(n,t){return this._isRtl()?n:n-t},_correctRtlCoordinatesParts:n.noop,_getFullWeekAppointmentWidth:function(t){return this.instance.notifyObserver("getFullWeekAppointmentWidth",{groupIndex:t,callback:n.proxy(function(n){this._maxFullWeekAppointmentWidth=n},this)}),this._maxFullWeekAppointmentWidth},_customizeAppointmentGeometry:function(n){var e=this._defaultHeight||this.getAppointmentDefaultSize(),u=n.index,f=r*e/2,o=(1-r)*e+n.top+u*f,s=n.width,h=n.left,t,i;return u>1&&(t=this.getCompactAppointmentDefaultSize(),i=this.getCompactAppointmentDefaultOffset(),o=n.top+i,h=n.left+(u-2)*(t+i)+i,f=t,s=t,n.isCompact=!0,this._markAppointmentAsVirtual(n)),{height:f,width:s,top:o,left:h}},getAppointmentGeometry:function(n){return n.appointmentReduced&&(n.skipResizing=this._skipResizingForReducedAppointments(n.appointmentReduced)),this.callBase(n)},calculateAppointmentWidth:function(n){var t=new Date(this._startDate(n)),u=this._endDate(n),f=this._defaultWidth||this.getAppointmentDefaultSize(),r;return t=i.trimTime(t),r=(u.getTime()-t.getTime())/36e5,Math.ceil(r/24)*f},getDeltaTime:function(n,t){var i=this._getDeltaWidth(n,t);return 864e5*i},isAllDay:function(){return!1}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments.strategy.vertical",["jquery","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.base","/utils/utils.date"],function(n,t,i){var r=15;return t.inherit({resizableConfig:function(n,t){return this.isAllDay(n)?{minWidth:this._defaultWidth,minHeight:0,step:this._defaultWidth,handles:this.getHorizontalResizableHandles(t)}:{minHeight:this._defaultHeight,step:this._defaultHeight,handles:"top bottom"}},getDeltaTime:function(n,t,i){var u=0,r;return this.isAllDay(i)?u=this._getDeltaWidth(n,t)*864e5:(r=n.height-t.height,r<0&&(r=this._correctOnePxGap(r)),u=6e4*r/this._defaultHeight*this.instance.option("appointmentDurationInMinutes")),u},getAppointmentGeometry:function(n){var t,i=n.allDay;return t=i?this._getAllDayAppointmentGeometry(n):this._getSimpleAppointmentGeometry(n),this.callBase(t)},_correctOnePxGap:function(n){return Math.abs(n)%this._defaultHeight&&n--,n},_getMinuteHeight:function(){return this._defaultHeight/this.instance.option("appointmentDurationInMinutes")},_getAllDayAppointmentGeometry:function(n){var s=this._allDayHeight||this.getAppointmentDefaultSize(),i=n.index,r=n.count,t=s/(r>3?3:r),e=n.width,u=n.top+i*t,o=n.left,f=this.getCompactAppointmentDefaultSize();return this.instance.option("allowResize")&&this.instance.option("allowAllDayResize")||(n.skipResizing=!0),r>3&&(i>1?(u=n.top,o=n.left+(i-2)*f,t=f,e=f,n.isCompact=!0,this._markAppointmentAsVirtual(n,!0)):u+=t),{height:t,width:e,top:u,left:o}},_getSimpleAppointmentGeometry:function(n){var t=this._getAppointmentMaxWidth()/n.count,i=n.height,r=n.top,u=n.left+n.index*t;return{height:i,width:t,top:r,left:u}},isAllDay:function(n){var t=!1,i=this.instance.invoke("getField","startDate",n),r=this.instance.invoke("getField","endDate",n),u=this.instance.invoke("getField","allDay",n);return this.instance.notifyObserver("appointmentTakesAllDay",{startDate:i,endDate:r,callback:function(n){t=n}}),u||t},_getAppointmentMaxWidth:function(){return this._defaultWidth-r||this.getAppointmentDefaultSize()},calculateAppointmentWidth:function(n){var r,u;if(!this.isAllDay(n))return 0;var t=new Date(this._startDate(n)),f=this._endDate(n),e=this._defaultWidth||this.getAppointmentDefaultSize();return t=i.trimTime(t),r=(f.getTime()-t.getTime())/36e5,u=Math.ceil(r/24)*e,u},calculateAppointmentHeight:function(n){if(this.isAllDay(n))return 0;var r=this._startDate(n),u=this._endDate(n),f=(u.getTime()-r.getTime())/6e4,i=this.getAppointmentDefaultSize(),t=Math.round(f*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)}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments",["jquery","/ui/uiNamespace","/utils/utils.translator","/utils/utils.array","/utils/utils.date","/utils/utils.common","/componentRegistrator","/ui/ui.tooltip","/ui/widgets/scheduler/ui.scheduler.publisherMixin","/ui/widgets/scheduler/ui.scheduler.appointment","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.vertical","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.horizontal","/ui/widgets/scheduler/ui.scheduler.appointments.strategy.horizontalMonth","/ui/events/ui.events.utils","/ui/events/pointer/ui.events.pointer","/ui/templates/ui.template.function"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var d=t.CollectionWidget,g="dx-scheduler-scrollable-appointments",w="dx-scheduler-appointment",b=v.addNamespace("dxdblclick","dxSchedulerAppointment"),nt={horizontal:l,horizontalMonth:a,vertical:c},k=d.inherit({_supportedKeys:function(){var t=this.callBase(),i=function(n){var r=this._getAccessAppointments(),u=r.filter(".dx-state-focused"),t=u.attr("sortedIndex"),f=r.length-1,i;(t>0&&n.shiftKey||t<f&&!n.shiftKey)&&(n.preventDefault(),n.shiftKey?t--:t++,i=this._getAppointmentByIndex(t),this._resetTabIndex(i),i.focus())};return n.extend(t,{escape:n.proxy(function(){this.moveAppointmentBack();this._escPressed=!0},this),del:n.proxy(function(n){if(this.option("allowDelete")){n.preventDefault();var t=this._getItemData(n.target);this.notifyObserver("deleteAppointment",{data:t,target:n.target});this.notifyObserver("hideAppointmentTooltip")}}),tab:i})},_getAppointmentByIndex:function(n){var t=this._getAccessAppointments();return t.filter("[sortedIndex ="+n+"]").eq(0)},_getAccessAppointments:function(){return this._itemElements().filter(":visible").not(".dx-state-disabled")},_resetTabIndex:function(n){this._focusTarget().attr("tabindex",-1);n.attr("tabindex",this.option("tabIndex"))},_moveFocus:n.noop,_focusTarget:function(){return this._itemElements()},_renderFocusTarget:function(){var n=this._getAppointmentByIndex(0);this._resetTabIndex(n)},_focusInHandler:function(t){if(this._targetIsDisabled(t)){t.stopPropagation();return}this.callBase.apply(this,arguments);this._$currentAppointment=n(t.target);this.option("focusedElement",n(t.target));var i=this;setTimeout(function(){i.notifyObserver("appointmentFocused")})},_targetIsDisabled:function(t){return n(t.currentTarget).is(".dx-state-disabled, .dx-state-disabled *")},_focusOutHandler:function(){var n=this._getAppointmentByIndex(0);this.option("focusedElement",n);this.callBase.apply(this,arguments)},_eventBindingTarget:function(){return this._itemContainer()},_getDefaultOptions:function(){return n.extend(this.callBase(),{noDataText:null,activeStateEnabled:!0,hoverStateEnabled:!0,tabIndex:0,appointmentDurationInMinutes:30,fixedContainer:null,allDayContainer:null,renderingStrategy:"vertical",allowDrag:!0,allowResize:!0,allowAllDayResize:!0,onAppointmentDblClick:null,dayDuration:24})},_optionChanged:function(t){switch(t.name){case"renderingStrategy":this._initRenderingStrategy();break;case"fixedContainer":case"allDayContainer":case"onAppointmentDblClick":break;case"allowDrag":case"allowResize":case"allowAllDayResize":case"dayDuration":case"appointmentDurationInMinutes":this.repaint();break;case"focusedElement":this._resetTabIndex(n(t.value));this.callBase(t);break;case"allowDelete":break;default:this.callBase(t)}},_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();this._virtualAppointments={}},_clean:function(){this.callBase();delete this._$currentAppointment;delete this._initialSize;delete this._initialCoordinates},_init:function(){this.callBase();this._initRenderingStrategy();this.element().addClass(g);this._preventSingleAppointmentClick=!1;this._initDynamicTemplates()},_initRenderingStrategy:function(){var n=nt[this.option("renderingStrategy")];this._renderingStrategy=new n(this)},_initDynamicTemplates:function(){this._dynamicTemplates.item=new p(n.proxy(function(t){var r=this.invoke("getField","text",t),f=u.makeDate(this.invoke("getField","startDate",t)),e=u.makeDate(this.invoke("getField","endDate",t)),o=this.invoke("getField","recurrenceRule",t),s=n("<div>").text(r),i=n("<div>").addClass("dx-scheduler-appointment-content-details");return n("<div>").addClass("dx-scheduler-appointment-content-date").text(Globalize.format(f,"t")).appendTo(i),n("<div>").addClass("dx-scheduler-appointment-content-date").text(" - ").appendTo(i),n("<div>").addClass("dx-scheduler-appointment-content-date").text(Globalize.format(e,"t")).appendTo(i),o&&n("<span>").addClass("dx-scheduler-appointment-recurrence-icon dx-icon-repeat").appendTo(i),[s,i]},this))},_executeItemRenderAction:function(n,t,i){var r=this._getItemRenderAction();r&&r({appointmentElement:i,appointmentData:t})},_getStartDate:function(n,t){var i=this.invoke("getField","startDate",n);return i=u.makeDate(i),t||this.notifyObserver("updateAppointmentStartDate",{startDate:i,appointment:n,callback:function(n){i=n}}),i},_getEndDate:function(n){var t=this.invoke("getField","endDate",n);return t&&(t=u.makeDate(t),this.notifyObserver("updateAppointmentEndDate",{endDate:t,callback:function(n){t=n}})),t},_itemClickHandler:function(t){this.callBase(t,{},{afterExecute:n.proxy(function(n){this._processItemClick(n.args[0].jQueryEvent)},this)})},_processItemClick:function(t){var i=n(t.currentTarget),r=this._getItemData(i);if(this._targetIsDisabled(t)){t.stopPropagation();return}if(this._normalizeAppointmentDates(r),t.type==="keydown"||v.isFakeClickEvent(t)){this.notifyObserver("showEditAppointmentPopup",{data:r,target:i});return}this._appointmentClickTimeout=setTimeout(n.proxy(function(){this._preventSingleAppointmentClick||this.notifyObserver("showAppointmentTooltip",{data:r,target:i});this._preventSingleAppointmentClick=!1},this),300)},_normalizeAppointmentDates:function(n){var t=u.makeDate(this.invoke("getField","startDate",n)),i=u.makeDate(this.invoke("getField","endDate",n));this.invoke("setField","startDate",n,t);this.invoke("setField","endDate",n,i)},_extendActionArgs:function(){var n=this.callBase.apply(this,arguments);return this._mapAppointmentFields(n)},_mapAppointmentFields:function(n){return{appointmentData:n.itemData,appointmentElement:n.itemElement}},_render:function(){this.callBase.apply(this,arguments);this._attachAppointmentDblClick()},_attachAppointmentDblClick:function(){var n=this,t=n._itemSelector();this._itemContainer().off(b,t).on(b,t,function(t){n._itemJQueryEventHandler(t,"onAppointmentDblClick",{},{afterExecute:function(t){n._dblClickHandler(t.args[0].jQueryEvent)}})})},_dblClickHandler:function(t){var i=n(t.currentTarget),r=this._getItemData(i);clearTimeout(this._appointmentClickTimeout);this._preventSingleAppointmentClick=!0;this.notifyObserver("showEditAppointmentPopup",{data:r,target:i})},_renderItems:function(t){this._isContainerInvisible()||(this.notifyObserver("getCellDimensions",{callback:n.proxy(function(n,t,i){this._cellWidth=n;this._cellHeight=t;this._allDayCellHeight=i},this)}),this._positionMap=this._renderingStrategy.createTaskPositionMap(t),this.callBase(t))},_isContainerInvisible:function(){var n=!1;return this.notifyObserver("checkContainerVisibility",{callback:function(t){n=t}}),n},_renderItem:function(n,t){var i=this._renderingStrategy.isAllDay(t),r=this._getAppointmentContainer(i);this.callBase(n,t,r)},_getAppointmentContainer:function(n){var t=this.option("allDayContainer"),i=this.itemsContainer().not(t);return n&&t&&(i=t),i},_postprocessRenderItem:function(n){var t=n.itemElement,r=n.itemData,i=this._positionMap[n.itemIndex];this._applyResourceDataAttr(t);this._renderAppointmentClones(t,r,i);this._renderAppointment(t,i[0])},_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)})}})},_renderAppointmentClones:function(n,t,r){var e=r.length,f,u;if(e>1)for(f=e-1;f>0;f--)u=n.clone(!0),n.after(u),i.clearCache(u),this._renderAppointment(u,r[f]),this._executeItemRenderAction(0,t,u)},_renderAppointment:function(t,i){var r=this._getItemData(t),o=this._renderingStrategy.getAppointmentGeometry(i),s=!i.isCompact&&this.option("allowResize")&&(!f.isDefined(i.skipResizing)||f.isString(i.skipResizing)),h=this.option("allowDrag"),u=this._renderingStrategy.isAllDay(r),c=this.option("renderingStrategy")==="vertical"&&!u?"vertical":"horizontal",e;this._createComponent(t,"dxSchedulerAppointment",{observer:this.option("observer"),data:r,geometry:o,direction:c,allowResize:s,allowDrag:h,allDay:u,reduced:i.appointmentReduced,isCompact:i.isCompact,sortedIndex:i.sortedIndex,cellWidth:this._cellWidth,cellHeight:this._cellHeight,resizableConfig:this._resizableConfig(r,i)});e=this._paintAppointment(t,i.groupIndex);i.virtual&&e.done(n.proxy(function(n){this._processVirtualAppointment(i,t,r,n)},this));this._renderDraggable(t)},_resizableConfig:function(t,r){var u=r.skipResizing?r.skipResizing:null,f=this._renderingStrategy.resizableConfig(t,u);return n.extend(f,{area:this._calculateResizableArea(r,t),onResizeStart:n.proxy(function(t){this._$currentAppointment=n(t.element);this._initialSize={width:t.width,height:t.height};this._initialCoordinates=i.locate(t.element)},this),onResizeEnd:n.proxy(function(n){if(this._escPressed){n.jQueryEvent.cancel=!0;return}this._resizeEndHandler(n)},this)})},_calculateResizableArea:function(n,t){var i=this.element().closest(".dx-scrollable-content"),r=this._renderingStrategy.isAllDay(t);return this.notifyObserver("getResizableAppointmentArea",{coordinates:{left:n.left,top:0},allDay:r,callback:function(n){n&&(i=n)}}),i},_resizeEndHandler:function(t){var i=this._getItemData(t.element),e=this._getStartDate(i),o=this._getEndDate(i),u=this._getDateRange(t,e,o),r={},f;this.invoke("setField","startDate",r,new Date(u[0]));this.invoke("setField","endDate",r,new Date(u[1]));f=n.extend({},i,r);this.notifyObserver("updateAppointmentAfterResize",{target:i,data:f,$appointment:t.element})},_getDateRange:function(n,t,i){var u=this._getItemData(n.element),f=this._renderingStrategy.getDeltaTime(n,this._initialSize,u),s=this.option("renderingStrategy"),r=!1,e,o;return r=s!=="vertical"||this._renderingStrategy.isAllDay(u)?this.option("rtlEnabled")?n.handles.right:n.handles.left:n.handles.top,e=r?t.getTime()-f:t.getTime(),o=r?i.getTime():i.getTime()+f,[e,o]},_paintAppointment:function(t,i){var r=n.Deferred();return this.notifyObserver("getAppointmentColor",{itemData:this._getItemData(t),groupIndex:i,callback:function(n){n.done(function(n){n&&t.css("background-color",n);r.resolve(n)})}}),r.promise()},_renderDraggable:function(t){if(this.option("allowDrag")){var r=this,e=r._getItemData(t),u=this._renderingStrategy.isAllDay(e),o=this.option("fixedContainer"),f;this.notifyObserver("getDraggableAppointmentArea",{callback:function(n){n&&(f=n)}});this._createComponent(t,"dxDraggable",{area:f,boundOffset:r._calculateBoundOffset(),onDragStart:function(u){var f=u.jQueryEvent;r._skipDraggableRestriction(f);r.notifyObserver("hideAppointmentTooltip");r.notifyObserver("getDragEventTargetElements",{callback:function(n){n&&(f.targetElements=n)}});o.append(t);r._$currentAppointment=n(u.element);r._initialSize={width:u.width,height:u.height};r._initialCoordinates=i.locate(u.element)},onDrag:function(n){var f=i.locate(n.element);r.notifyObserver("correctAppointmentCoordinates",{coordinates:f,allDay:u,callback:function(n){n&&(f=n)}});i.move(t,f)},onDragEnd:function(n){var i=r._getAppointmentContainer(u);if(i.append(t),this._escPressed){n.jQueryEvent.cancel=!0;return}r._dragEndHandler(n)}})}},_calculateBoundOffset:function(){var n={top:0};return this.notifyObserver("getBoundOffset",{callback:function(t){n=t}}),n},_skipDraggableRestriction:function(n){this.option("rtlEnabled")?n.maxLeftOffset=null:n.maxRightOffset=null;n.maxBottomOffset=null},_dragEndHandler:function(n){var t=this._getItemData(n.element),i=this._initialCoordinates;this._normalizeAppointmentDates(t);this.notifyObserver("updateAppointmentAfterDrag",{data:t,$appointment:n.element,coordinates:i})},_virtualAppointments:{},_processVirtualAppointment:function(n,t,i,r){var u=n.virtual,e=u.index;f.isDefined(this._virtualAppointments[e])||(this._virtualAppointments[e]={coordinates:{top:u.top,left:u.left},items:{data:[],colors:[]},isAllDay:u.isAllDay,buttonColor:r});this._virtualAppointments[e].items.data.push(i);this._virtualAppointments[e].items.colors.push(r);t.remove()},_renderContentImpl:function(){this.callBase();this._renderDropDownAppointments()},_renderDropDownAppointments:function(){var t=this._renderingStrategy.getCompactAppointmentGroupMaxWidth(),i=0,r=this;this.option("rtlEnabled")&&(i=t);n.each(this._virtualAppointments,n.proxy(function(n){var u=this._virtualAppointments[n],e=u.items,f=u.coordinates,o=u.isAllDay?this.option("allDayContainer"):this.element(),s=f.left;this.notifyObserver("renderDropDownAppointments",{$container:o,coordinates:{top:f.top,left:s+i},items:e,buttonColor:u.buttonColor,itemTemplate:this.option("itemTemplate"),buttonWidth:t,onAppointmentClick:function(n){var t=r._mapAppointmentFields(n);r._itemJQueryEventHandler(n.jQueryEvent,"onItemClick",t)}})},this))},updateDraggablesBoundOffsets:function(){this.option("allowDrag")&&this.element().find("."+w).each(n.proxy(function(t,i){var r=n(i),u=this._getItemData(r);this._renderingStrategy.isAllDay(u)||r.dxDraggable("instance").option("boundOffset",this._calculateBoundOffset())},this))},moveAppointmentBack:function(){var n=this._$currentAppointment,t=this._initialSize,r=this._initialCoordinates;n&&(r&&(i.move(n,r),delete this._initialSize),t&&(n.outerWidth(t.width),n.outerHeight(t.height),delete this._initialCoordinates))},focus:function(){var n=this._$currentAppointment;n&&(this.option("focusedElement",n),this.option("focusedElement").focus())}}).include(s);return e("dxSchedulerAppointments",{},k),k});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler.appointments"]);DevExpress.define("/ui/widgets/scheduler/ui.scheduler.appointments.dropDown",["jquery","/class","/utils/utils.translator","/utils/utils.common","/ui/widgets/ui.button"],function(n,t,i,r,u){var f="dx-scheduler-dropdown-appointments",e="dx-scheduler-dropdown-appointments-content",o="dx-scheduler-dropdown-appointment",s="dx-scheduler-dropdown-appointment-title",h="dx-scheduler-dropdown-appointment-date",c="dx-scheduler-dropdown-appointment-remove-button",l="dx-scheduler-dropdown-appointment-edit-button",a="dx-scheduler-dropdown-appointment-info-block",v="dx-scheduler-dropdown-appointment-buttons-block";return t.inherit({render:function(t,r){var e=t.coordinates,o=t.items,u;return this.instance=r,u=n("<div>").addClass(f).appendTo(t.$container),this._createDropDownMenu({$element:u,items:o,itemTemplate:t.itemTemplate,buttonWidth:t.buttonWidth,onAppointmentClick:t.onAppointmentClick}),this._paintMenuButton(u,t.buttonColor,o),this._applyInnerShadow(u,t.buttonWidth),i.move(u,{top:e.top,left:e.left}),u},repaintExisting:function(t){var i=["",f,"dx-dropdownmenu"].join(".");t.find(i).each(function(){n(this).dxDropDownMenu("instance").repaint()})},_paintMenuButton:function(n,t,i){var e=!0,u=i.colors,o=u.length,f,r;if(o)for(f=u[0],r=1;r<o;r++){if(f!==u[r]){e=!1;break}f=u[r]}t&&e&&n.css("background-color",t)},_createButtonTemplate:function(t){return n("<div />").html([n("<span />").text(t),n("<span />").text("...")]).addClass(e)},_applyInnerShadow:function(n){n.css("box-shadow","inset "+n.outerWidth()+"px 0 0 0 rgba(0, 0, 0, 0.3)")},_createDropDownMenu:function(t){var r=t.$element,i=t.items,u=t.onAppointmentClick,f,e;r.data("dxDropDownMenu")||(f=n.proxy(function(n,t,r){this._createDropDownAppointmentTemplate(n,r,i.colors[t])},this),e=this.instance,this.instance._createComponent(r,"dxDropDownMenu",{buttonIcon:null,usePopover:!0,popupHeight:200,items:i.data,buttonTemplate:this._createButtonTemplate(i.data.length),buttonWidth:t.buttonWidth,onItemClick:function(t){t.component.open();n.isFunction(u)&&u.call(e._appointments,t)},activeStateEnabled:!1,focusStateEnabled:!1,itemTemplate:f}))},_createDropDownAppointmentTemplate:function(t,i,r){var e="",u=[],c="left",l,v,f,w=this.instance.fire("getField","text",t),y,p;i.addClass(o);this.instance.option("rtlEnabled")&&(c="right");r&&i.css("border-"+c+"-color",r);this.instance.fire("normalizeAppointmentDates",{appointmentData:t,callback:function(n){t=n}});y=this.instance.fire("getField","startDate",t);p=this.instance.fire("getField","endDate",t);this.instance.fire("formatDates",{startDate:y,endDate:p,formatType:"DATETIME",callback:function(n){e=n}});f=n("<div />").addClass(a);l=n("<div>").addClass(s).text(w);v=n("<div>").addClass(h).text(e);f.append([l,v]);u.push(f);u.push(this._createButtons(t));i.append(u)},_createButtons:function(t){var i=this.instance.option("editing"),f=!1,e=!1;if(!i)return"";i===!0&&(f=!0,e=!0);r.isObject(i)&&(f=i.allowDeleting,e=i.allowUpdating);var o=n("<div />").addClass(v),s=n("<div>").addClass(c),h=n("<div>").addClass(l);return f&&(o.append(s),this.instance._createComponent(s,u,{icon:"trash",height:25,width:25,onClick:n.proxy(function(n){n.jQueryEvent.stopPropagation();this.instance.deleteAppointment(t)},this)})),e&&(o.append(h),this.instance._createComponent(h,u,{icon:"edit",height:25,width:25,onClick:n.proxy(function(n){n.jQueryEvent.stopPropagation();this.instance.fire("showEditAppointmentPopup",{data:t})},this)})),o}})});DevExpress.define("/ui/widgets/scheduler/ui.scheduler.subscribes",["jquery","/utils/utils.array","/utils/utils.recurrence","/utils/utils.date","/utils/utils.translator","/utils/utils.common"],function(n,t,i,r,u,f){return{currentViewUpdated:function(n){this.option("currentView",n)},currentDateUpdated:function(n){this.option("currentDate",n)},needCoordinates:function(n){var t=n.appointmentData,e=n.startDate,h=this.fire("getField","recurrenceRule",t),c=this.fire("getField","recurrenceException",t),u=this._workSpace.getDateRange(),l=this.appointmentTakesAllDay(t)?r.trimTime(new Date(u[0])):u[0],f=i.getDatesByRecurrence(h,e,l,u[1],c),o,s;f.length||f.push(e);o=this._resourcesManager.getResourcesFromItem(t);s=this.appointmentTakesAllDay(t)&&this._workSpace.supportAllDayRow();n.callback(this._getCoordinates(f,o,s))},showAppointmentTooltip:function(t){var i=t.data,r=n(t.target),u=this._getSingleAppointmentData(i,t,r);this.showAppointmentTooltip(i,u,t.target)},hideAppointmentTooltip:function(){this._hideTooltip()},showAddAppointmentPopup:function(t){var i={};n.each(["startDate","endDate","allDay"],n.proxy(function(n,r){t[r]!==undefined&&(this.fire("setField",r,i,t[r]),delete t[r])},this));this.showAppointmentPopup(n.extend(i,t),!0)},showEditAppointmentPopup:function(t){var i=t.data,u=n(t.target),r=this._getSingleAppointmentData(i,t,u),f=this.fire("getField","startDate",r);this.showAppointmentPopup(i,!1,r,f)},updateAppointmentAfterResize:function(t){var i=t.target,u=t.$appointment,r=this._getSingleAppointmentData(i,t,u),f=this.fire("getField","startDate",r);this._checkRecurringAppointment(i,r,f,n.proxy(function(){this._updateAppointment(i,t.data,function(){this._appointments.moveAppointmentBack()})},this))},updateAppointmentAfterDrag:function(t){var i=t.data,u=this._getUpdatedData(t),o=this._workSpace.getDroppableCellIndex(),s=this._workSpace.getCellIndexByCoordinates(t.coordinates),r=this.fire("getField","allDay",u),f=this.fire("getField","allDay",i),e=n.extend({},i,u),h=this._workSpace.supportAllDayRow()&&r,c=this._workSpace.getCellDataByCoordinates(t.coordinates,h),l=this._workSpace.supportAllDayRow()&&(f&&!r||!f&&r);o!==s||l?this._checkRecurringAppointment(i,e,c.startDate,n.proxy(function(){this._updateAppointment(i,e,function(){this._appointments.moveAppointmentBack()})},this)):this._appointments.moveAppointmentBack()},deleteAppointment:function(t){var i=t.data,u=n(t.target),r=this._getSingleAppointmentData(i,t,u),f=this.fire("getField","startDate",r);this._checkRecurringAppointment(i,r,f,n.proxy(function(){this.deleteAppointment(i)},this),!0)},getAppointmentColor:function(i){var e=this._resourcesManager.getResourceForPainting(this.option("groups")),o=n.Deferred().resolve().promise(),r;if(e){var u=e.field,c=i.groupIndex,f=this._workSpace._getCellGroups(c),s=t.wrapToArray(i.itemData[u]),h=s.length?s[0]:undefined;for(r=0;r<f.length;r++)f[r].name===u&&(h=f[r].id);o=this._resourcesManager.getResourceColor(u,h)}i.callback(o)},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())},getBoundOffset:function(n){n.callback({top:-this.getWorkSpaceAllDayHeight()})},appointmentTakesAllDay:function(n){var t={};this.fire("setField","startDate",t,n.startDate);this.fire("setField","endDate",t,n.endDate);n.callback(this.appointmentTakesAllDay(t))},checkContainerVisibility:function(n){n.callback(this.element().is(":hidden"))},appointmentFocused:function(){this._workSpace.restoreScrollTop()},getResizableAppointmentArea:function(n){var i,r=n.allDay,t;this.option("groups")&&this.option("groups").length&&(r||this.option("currentView")==="month")&&(t=this._workSpace.getGroupBounds(n.coordinates),i={left:t.left,right:t.right,top:0,bottom:0});n.callback(i)},getDraggableAppointmentArea:function(n){n.callback(this.getWorkSpaceScrollableContainer())},getDragEventTargetElements:function(n){n.callback(this.element)},correctAppointmentCoordinates:function(n){var t,i=n.allDay,r=i?0:this.getWorkSpaceScrollableScrollTop(),u=this.getWorkSpaceHeaderPanelHeight(),f=this.getWorkSpaceScrollableScrollLeft(),e=this.getWorkSpaceDateTableOffset(),o=i?0:this.getWorkSpaceAllDayHeight();t={top:n.coordinates.top-r+o+u,left:n.coordinates.left-f-e};n.callback(t)},allDayPanelToggled:function(){this._appointments.updateDraggablesBoundOffsets()},normalizeAppointmentDates:function(n){var t=n.appointmentData,i=r.makeDate(this.fire("getField","startDate",t)),u=r.makeDate(this.fire("getField","endDate",t));this.fire("setField","startDate",t,i);this.fire("setField","endDate",t,u);n.callback(t)},formatDates:function(n){var i=n.startDate,t=n.endDate,r=n.formatType,u={DATETIME:function(){var n="MMMM d h:mm tt",r=Globalize.format(i,n)+" - ",u=i.getDate()===t.getDate()?Globalize.format(t,"t"):Globalize.format(t,n);return r+u},TIME:function(){return Globalize.format(i,"t")+" - "+Globalize.format(t,"t")},DATE:function(){var n="d MMMM",r=Globalize.format(i,n),u=t.getTime()-i.getTime()>864e5,f=u||t.getDate()!==i.getDate()?" - "+Globalize.format(t,n):"";return r+f}};n.callback(u[r]())},getFullWeekAppointmentWidth:function(n){var t=n.groupIndex,i=this._workSpace.getGroupWidth(t);n.callback(i)},getMaxAppointmentWidth:function(n){var t=this._workSpace.getCellCountToLastViewDate(n.date);n.callback(t*this._workSpace.getCellWidth())},updateAppointmentStartDate:function(n){var u=n.appointment,f=this._workSpace.getFirstViewDate(),t=new Date(n.startDate),i;this.appointmentTakesAllDay(u)?i=r.normalizeDate(t,f):(t.setHours(this.option("startDayHour")),t.setMinutes(0),i=r.normalizeDate(n.startDate,new Date(t)));n.callback(i)},updateAppointmentEndDate:function(n){var i=new Date(n.endDate),t=i;i.getHours()>=this.option("endDayHour")&&(t.setHours(this.option("endDayHour")),t.setMinutes(0));n.callback(t)},renderDropDownAppointments:function(n){this._dropDownAppointments.render(n,this)},getGroupCount:function(n){var t=this._workSpace._getGroupCount();n.callback(t)},updateResizableArea:function(){var t=this.element().find(".dx-scheduler-appointment.dx-resizable"),i=n.grep(t,function(t){var r=n(t),i=r.dxResizable("instance"),u=i.option("area");return n.inArray(i.option("handles"),["right left","left right"])>-1&&n.isPlainObject(u)});n.each(i,n.proxy(function(t,i){var r=n(i),f=u.locate(r),e=this._appointments._getItemData(r),o=this._appointments._calculateResizableArea({left:f.left},e);r.dxResizable("instance").option("area",o)},this))},recurrenceEditorVisibylityChanged:function(n){this.recurrenceEditorVisibylityChanged(n.visible)},getField:function(n,t){if(f.isDefined(this._dataAccessors.getter[n]))return this._dataAccessors.getter[n](t)},setField:function(n,t,i){if(f.isDefined(this._dataAccessors.setter[n]))return this._dataAccessors.setter[n](t,i)},prerenderFilter:function(){var n=this.getWorkSpace().getDateRange(),t;return!this.option("showAllDayPanel")&&this._workSpace.supportAllDayRow()&&(t=!1),this._appointmentModel.filterLoadedAppointments({startDayHour:this.option("startDayHour"),endDayHour:this.option("endDayHour"),min:n[0],max:n[1],resources:this._loadedResources,allDay:t})}}});DevExpress.define("/ui/widgets/scheduler/ui.scheduler",["jquery","/ui/uiNamespace","/utils/utils.translator","/ui/ui.errors","/ui/ui.dialog","/utils/utils.recurrence","/utils/utils.dom","/utils/utils.date","/utils/utils.common","/devices","/componentRegistrator","/ui/ui.widget","/ui/widgets/scheduler/ui.scheduler.subscribes","/ui/templates/ui.template.function","/ui/templates/ui.template.dynamic","/ui/templates/ui.template.move","/ui/widgets/scheduler/ui.scheduler.appointmentTooltip","/ui/widgets/scheduler/ui.scheduler.recurrenceEditor","/ui/widgets/scheduler/ui.scheduler.header","/ui/widgets/scheduler/ui.scheduler.workSpaceDay","/ui/widgets/scheduler/ui.scheduler.workSpaceWeek","/ui/widgets/scheduler/ui.scheduler.workSpaceWorkWeek","/ui/widgets/scheduler/ui.scheduler.workSpaceMonth","/ui/widgets/scheduler/ui.scheduler.timelineDay","/ui/widgets/scheduler/ui.scheduler.timelineWeek","/ui/widgets/scheduler/ui.scheduler.timelineWorkWeek","/ui/widgets/scheduler/ui.scheduler.resourceManager","/ui/widgets/scheduler/ui.scheduler.appointmentModel","/ui/widgets/scheduler/ui.scheduler.appointments","/ui/widgets/scheduler/ui.scheduler.appointments.dropDown","/ui/ui.dataHelper","/ui/ui.loading"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot,st,ht,ct){var yt="dx-scheduler",pt="dx-scheduler-readonly",wt="dx-scheduler-appointment-popup",lt="dx-scheduler-recurrence-rule-item",bt="dx-scheduler-recurrence-rule-item-opened",kt=610,at={day:{workSpace:d,renderingStrategy:"vertical"},week:{workSpace:g,renderingStrategy:"vertical"},workWeek:{workSpace:nt,renderingStrategy:"vertical"},month:{workSpace:tt,renderingStrategy:"horizontalMonth"},timelineDay:{workSpace:it,renderingStrategy:"horizontal"},timelineWeek:{workSpace:rt,renderingStrategy:"horizontal"},timelineWorkWeek:{workSpace:ut,renderingStrategy:"horizontal"}},vt=l.inherit({_getDefaultOptions:function(){return n.extend(this.callBase(),{views:["day","week"],currentView:"day",currentDate:o.trimTime(new Date),min:undefined,max:undefined,firstDayOfWeek:undefined,groups:[],resources:[],dataSource:null,appointmentTemplate:"item",startDayHour:0,endDayHour:24,editing:{allowAdding:!0,allowDeleting:!0,allowDragging:!0,allowResizing:!0,allowUpdating:!0},showAllDayPanel:!0,recurrenceEditMode:"dialog",cellDuration:30,onAppointmentRendered:null,onAppointmentClick:null,onAppointmentDblClick:null,onCellClick:null,onAppointmentAdding:null,onAppointmentAdded:null,onAppointmentUpdating:null,onAppointmentUpdated:null,onAppointmentDeleting:null,onAppointmentDeleted:null,onAppointmentFormCreated:null,appointmentTooltipTemplate:"appointmentTooltip",appointmentPopupTemplate:"appointmentPopup",horizontalScrollingEnabled:!1,useDropDownViewSwitcher:!1,startDateExpr:"startDate",endDateExpr:"endDate",textExpr:"text",descriptionExpr:"description",allDayExpr:"allDay",recurrenceRuleExpr:"recurrenceRule",recurrenceExceptionExpr:"recurrenceException",remoteFiltering:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return h.real().generic&&!h.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return!h.current().generic},options:{useDropDownViewSwitcher:!0,editing:{allowDragging:!1,allowResizing:!1}}}])},_optionChanged:function(t){var i=t.value,r=t.name,u;switch(t.name){case"firstDayOfWeek":this._workSpace.option(r,i);this._header.option(r,i);break;case"currentDate":i=o.trimTime(o.makeDate(i));this._workSpace.option(r,i);this._header.option(r,i);this._appointments.option("items",[]);this._filterAppointmentsByDate();this._reloadDataSource();break;case"dataSource":this._initDataSource();this._customizeStoreLoadOptions();this._appointmentModel.setDataSource(this._dataSource);this._loadResources().done(n.proxy(function(){this._filterAppointmentsByDate();this._workSpace.option("showAllDayPanel",this.option("showAllDayPanel"));this._reloadDataSource()},this));break;case"min":case"max":this._header.option(r,o.makeDate(i));this._workSpace.option(r,o.makeDate(i));break;case"views":case"useDropDownViewSwitcher":this._header.option(r,i);break;case"currentView":this._appointments.option("items",[]);this._header.option(r,i);this._loadResources().done(n.proxy(function(n){this._refreshWorkSpace(n);this._filterAppointmentsByDate();this._appointments.option("renderingStrategy",this._getAppointmentsRenderingStrategy());this._appointments.option("allowAllDayResize",i!=="day");this._reloadDataSource()},this));break;case"appointmentTemplate":this._appointments.option("itemTemplate",i);break;case"groups":this._loadResources().done(n.proxy(function(n){this._workSpace.option(r,n);this._filterAppointmentsByDate();this._reloadDataSource()},this));break;case"resources":this._resourcesManager.setResources(i);this._loadResources().done(n.proxy(function(n){this._workSpace.option("groups",n);this._filterAppointmentsByDate();this._reloadDataSource()},this));break;case"startDayHour":case"endDayHour":this._appointments.option("items",[]);this._workSpace.option(r,i);this._appointments.option("dayDuration",this._getDayDuration());this._filterAppointmentsByDate();this._reloadDataSource();break;case"onAppointmentAdding":case"onAppointmentAdded":case"onAppointmentUpdating":case"onAppointmentUpdated":case"onAppointmentDeleting":case"onAppointmentDeleted":case"onAppointmentFormCreated":this._actions[r]=this._createActionByOption(r);break;case"onAppointmentRendered":this._appointments.option("onItemRendered",this._getAppointmentRenderedAction());break;case"onAppointmentClick":this._appointments.option("onItemClick",this._createActionByOption(r));break;case"onAppointmentDblClick":this._appointments.option(r,this._createActionByOption(r));break;case"accessKey":case"onCellClick":this._workSpace.option(r,i);break;case"horizontalScrollingEnabled":this._loadResources().done(n.proxy(function(n){this._refreshWorkSpace(n);this._appointments.repaint()},this));break;case"cellDuration":this._workSpace.option("hoursInterval",i/60);this._appointments.option("appointmentDurationInMinutes",i);break;case"tabIndex":case"focusStateEnabled":this._header.option(r,i);this._workSpace.option(r,i);this._appointments.option(r,i);this.callBase(t);break;case"width":this._header.option(r,i);this.option("horizontalScrollingEnabled")&&this._workSpace.option("width",i);this.callBase(t);this._dimensionChanged();break;case"height":this.callBase(t);this._dimensionChanged();break;case"editing":this._initEditing();u=this._editing;this._bringEditingModeToAppointments(u);this._appointmentForm&&this._appointmentForm.option("readOnly",!this._editing.allowUpdating);this._hideTooltip();break;case"showAllDayPanel":this._loadResources().done(n.proxy(function(){this._filterAppointmentsByDate();this._workSpace.option("allDayExpanded",i);this._workSpace.option(r,i);this._reloadDataSource()},this));break;case"appointmentTooltipTemplate":case"appointmentPopupTemplate":case"recurrenceEditMode":case"remoteFiltering":break;case"startDateExpr":case"endDateExpr":case"textExpr":case"descriptionExpr":case"allDayExpr":case"recurrenceRuleExpr":case"recurrenceExceptionExpr":this._updateExpression(r,i);this._useDynamicTemplate()&&this._appointments.repaint();break;default:this.callBase(t)}},_bringEditingModeToAppointments:function(n){this._appointments.option({allowDrag:n.allowDragging,allowResize:n.allowResizing,allowDelete:n.allowUpdating&&n.allowDeleting,allowAllDayResize:n.allowResizing&&this.option("currentView")!=="day"});this._dropDownAppointments.repaintExisting(this.element())},_isAllDayExpanded:function(n){return this.option("showAllDayPanel")&&this._appointmentModel.hasAllDayAppointments(n,this.option("startDayHour"),this.option("endDayHour"))},_filterAppointmentsByDate:function(){var n=this._workSpace.getDateRange();this._appointmentModel.filterByDate(n[0],n[1])},_loadResources:function(){var i=this.option("groups"),t=n.Deferred();return this._resourcesManager.getResourcesValueByFields(i).done(n.proxy(function(n){t.resolve(n);this._loadedResources=n},this)),t.promise()},_reloadDataSource:function(){this._dataSource&&(ct.show({container:this.element(),position:{of:this.element()}}),this._dataSource.load().done(function(){ct.hide()}).fail(function(){ct.hide()}))},_dimensionChanged:function(){this._appointments&&this._appointments.repaint();this._hideTooltip()},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){this.callBase();this._initExpressions({startDate:this.option("startDateExpr"),endDate:this.option("endDateExpr"),allDay:this.option("allDayExpr"),text:this.option("textExpr"),description:this.option("descriptionExpr"),recurrenceRule:this.option("recurrenceRuleExpr"),recurrenceException:this.option("recurrenceExceptionExpr")});this._initDataSource();this._loadedResources=[];this._proxiedCustomizeStoreLoadOptionsHandler=n.proxy(this._customizeStoreLoadOptionsHandler,this);this._customizeStoreLoadOptions();this.element().addClass(yt);this._initEditing();this._appointmentModel=new et(this._dataSource,{startDateExpr:this.option("startDateExpr"),endDateExpr:this.option("endDateExpr"),allDayExpr:this.option("allDayExpr"),recurrenceRuleExpr:this.option("recurrenceRuleExpr"),recurrenceExceptionExpr:this.option("recurrenceExceptionExpr")},this._dataAccessors);this._resourcesManager=new ft(this.option("resources"));this._initActions();this._dropDownAppointments=new st;this._subscribes=a},_dataSourceChangedHandler:function(){var n=this.fire("prerenderFilter");this._workSpace.option("allDayExpanded",this._isAllDayExpanded(n));this._appointments.option("renderingStrategy",this._getAppointmentsRenderingStrategy());this._setAppointmentsData(n)},_initExpressions:function(t){var i=DevExpress.data.utils;this._dataAccessors||(this._dataAccessors={getter:{},setter:{}});n.each(t,n.proxy(function(n,t){t?(this._dataAccessors.getter[n]=i.compileGetter(t),this._dataAccessors.setter[n]=i.compileSetter(t)):(delete this._dataAccessors.getter[n],delete this._dataAccessors.setter[n])},this))},_updateExpression:function(n,t){var i={};i[n.replace("Expr","")]=t;this._initExpressions(i)},_initEditing:function(){var t=this.option("editing");this._editing={allowAdding:!!t,allowUpdating:!!t,allowDeleting:!!t,allowResizing:!!t,allowDragging:!!t};s.isObject(t)&&(this._editing=n.extend(this._editing,t));this._editing.allowDragging=this._editing.allowDragging&&this._editing.allowUpdating;this._editing.allowResizing=this._editing.allowResizing&&this._editing.allowUpdating;this.element().toggleClass(pt,this._isReadOnly())},_isReadOnly:function(){var n=!0,t=this._editing;for(var i in t)t.hasOwnProperty(i)&&(n=n&&!t[i]);return n},_customizeStoreLoadOptions:function(){this._dataSource&&this._dataSource.on("customizeStoreLoadOptions",this._proxiedCustomizeStoreLoadOptionsHandler)},_dispose:function(){this._dataSource&&this._dataSource.off("customizeStoreLoadOptions",this._proxiedCustomizeStoreLoadOptionsHandler);this.callBase()},_customizeStoreLoadOptionsHandler:function(n){this.option("remoteFiltering")||(n.storeLoadOptions.filter[0]=[this._appointmentModel.customizeDateFilter(n.storeLoadOptions.filter[0])]);n.storeLoadOptions.dxScheduler={startDate:this._workSpace.getFirstViewDate(),endDate:this._workSpace.getLastViewDate(),resources:this.option("resources")}},_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"),onAppointmentFormCreated:this._createActionByOption("onAppointmentFormCreated")}},_getAppointmentRenderedAction:function(){return this._createActionByOption("onAppointmentRendered",{excludeValidators:["designMode","disabled","readOnly"]})},_defaultAppointmentFormEditors:function(n){var t=this;return[{dataField:t.option("textExpr"),editorType:"dxTextBox",label:{text:Globalize.localize("dxScheduler-editorLabelTitle")}},{dataField:t.option("allDayExpr"),editorType:"dxSwitch",label:{text:Globalize.localize("dxScheduler-allDay")},editorOptions:{onValueChanged:function(n){var f=n.value,i=t._appointmentForm.getEditor(t.option("startDateExpr")),u=t._appointmentForm.getEditor(t.option("endDateExpr")),r;i&&u&&(i.option("format",f?"date":"datetime"),u.option("format",f?"date":"datetime"),r=new Date(i.option("value")),f?(i.option("value",t._getAllDayStartDate(r)),u.option("value",t._getAllDayEndDate(r))):i.option("value")&&(r.setHours(t.option("startDayHour")),i.option("value",r),u.option("value",t._workSpace.calculateEndDate(i.option("value")))))}}},{dataField:t.option("startDateExpr"),editorType:"dxDateBox",label:{text:Globalize.localize("dxScheduler-editorLabelStartDate")},editorOptions:{format:n?"date":"datetime",onValueChanged:function(n){var i=n.value,r=n.previousValue,u=t._appointmentForm.getEditor(t.option("endDateExpr")),f=u.option("value"),e;t._validateAppointmentFormDate(n.component,i,r);f<=i&&(e=f.getTime()-r.getTime(),u.option("value",new Date(i.getTime()+e)))}}},{dataField:t.option("endDateExpr"),editorType:"dxDateBox",label:{text:Globalize.localize("dxScheduler-editorLabelEndDate")},editorOptions:{format:n?"date":"datetime",onValueChanged:function(n){var i=n.value,r=n.previousValue,u=t._appointmentForm.getEditor(t.option("startDateExpr")),f=u.option("value"),e;t._validateAppointmentFormDate(n.component,i,r);i&&f>=i&&(e=r.getTime()-f.getTime(),u.option("value",new Date(i.getTime()-e)))}}},{dataField:t.option("descriptionExpr"),editorType:"dxTextArea",label:{text:Globalize.localize("dxScheduler-editorLabelDescription")}},{dataField:t.option("recurrenceRuleExpr"),editorType:"dxSchedulerRecurrenceEditor",editorOptions:{observer:t,onContentReady:function(n){var t=n.element.closest(".dx-field-item"),i=t.find(".dx-field-item-label");i.off("dxclick").on("dxclick",function(){n.component.toggle()})}},cssClass:lt,label:{text:Globalize.localize("dxScheduler-editorLabelRecurrence")}}]},_getAllDayStartDate:function(n){return n.setHours(0),n.setMinutes(0),n},_getAllDayEndDate:function(n){var t=new Date(n);return t.setDate(n.getDate()+1),t},_validateAppointmentFormDate:function(n,t,i){var r=!!t;r||n.option("value",i)},_renderFocusTarget:n.noop,_render:function(){this.callBase();this._renderHeader();this._appointments=this._createComponent("<div>",ot,this._appointmentsConfig());this._loadResources().done(n.proxy(function(n){this._renderWorkSpace(n);var t=this._workSpace.getFixedContainer(),i=this._workSpace.getAllDayContainer();this._appointments.option({fixedContainer:t,allDayContainer:i});this._filterAppointmentsByDate();this._reloadDataSource()},this))},_setAppointmentsData:function(n){n&&this._appointments.option("items",n)},_renderHeader:function(){this._header=this._createComponent("<div>",k,this._headerConfig());this.element().append(this._header.element())},_headerConfig:function(){return{observer:this,min:o.makeDate(this.option("min")),max:o.makeDate(this.option("max")),views:this.option("views"),firstDayOfWeek:this.option("firstDayOfWeek"),currentView:this.option("currentView"),currentDate:o.trimTime(o.makeDate(this.option("currentDate"))),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled"),width:this.option("width"),rtlEnabled:this.option("rtlEnabled"),useDropDownViewSwitcher:this.option("useDropDownViewSwitcher")}},_useDynamicTemplate:function(){var t=!1;return n.each({startDateExpr:"startDate",endDateExpr:"endDate",textExpr:"text"},n.proxy(function(n,i){if(this.option(n)!==i)return t=!0,!1},this)),t},_appointmentsConfig:function(){var n=this._editing,t=this,i={observer:this,renderingStrategy:this._getAppointmentsRenderingStrategy(),onItemRendered:this._getAppointmentRenderedAction(),onItemClick:this._createActionByOption("onAppointmentClick"),onAppointmentDblClick:this._createActionByOption("onAppointmentDblClick"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled"),appointmentDurationInMinutes:this.option("cellDuration"),allowDrag:n.allowDragging,allowDelete:n.allowUpdating&&n.allowDeleting,allowResize:n.allowResizing,allowAllDayResize:n.allowResizing&&this.option("currentView")!=="day",rtlEnabled:this.option("rtlEnabled"),onContentReady:function(){t._workSpace&&t._workSpace.option("allDayExpanded",t._isAllDayExpanded(t._appointments.option("items")))},dayDuration:this._getDayDuration()};return this._useDynamicTemplate()&&this.option("appointmentTemplate")==="item"||(i.itemTemplate=this._getTemplateByOption("appointmentTemplate")),i},_getAppointmentsRenderingStrategy:function(){return at[this.option("currentView")].renderingStrategy},_getDayDuration:function(){return this.option("endDayHour")-this.option("startDayHour")},_renderWorkSpace:function(n){this._workSpace=this._createComponent("<div>",at[this.option("currentView")].workSpace,this._workSpaceConfig(n));this._workSpace.getWorkArea().append(this._appointments.element());this.element().append(this._workSpace.element());e.triggerShownEvent(this._workSpace.element())},_workSpaceConfig:function(n){return{observer:this,min:o.makeDate(this.option("min")),max:o.makeDate(this.option("max")),currentDate:o.trimTime(o.makeDate(this.option("currentDate"))),firstDayOfWeek:this.option("firstDayOfWeek"),groups:n,startDayHour:this.option("startDayHour"),endDayHour:this.option("endDayHour"),tabIndex:this.option("tabIndex"),accessKey:this.option("accessKey"),focusStateEnabled:this.option("focusStateEnabled"),hoursInterval:this.option("cellDuration")/60,showAllDayPanel:this.option("showAllDayPanel"),allDayExpanded:this._isAllDayExpanded(this._appointments.option("items")),onCellClick:this._createActionByOption("onCellClick"),horizontalScrollingEnabled:this.option("horizontalScrollingEnabled")}},_refreshWorkSpace:function(n){this._appointments.element().detach();this._workSpace._dispose();this._workSpace.element().remove();delete this._workSpace;this._renderWorkSpace(n);this._appointments.option({fixedContainer:this._workSpace.getFixedContainer(),allDayContainer:this._workSpace.getAllDayContainer()})},getWorkSpaceScrollable:function(){return this._workSpace.getScrollable()},getWorkSpaceScrollableScrollTop:function(){return this._workSpace.getScrollableScrollTop()},getWorkSpaceScrollableScrollLeft:function(){return this._workSpace.getScrollableScrollLeft()},getWorkSpaceScrollableContainer:function(){return this._workSpace.getScrollableContainer()},getWorkSpaceAllDayHeight:function(){return this._workSpace.getAllDayHeight()},getWorkSpaceHeaderPanelHeight:function(){return this._workSpace.getHeaderPanelHeight()},getWorkSpaceDateTableOffset:function(){return!this.option("horizontalScrollingEnabled")||this.option("rtlEnabled")?this._workSpace.getTimePanelWidth():0},getWorkSpace:function(){return this._workSpace},getHeader:function(){return this._header},_createPopup:function(t){this._$popup&&this._popup.element().remove();this._$popup=n("<div>").addClass(wt).appendTo(this.element());this._initDynamicPopupTemplate(t);this._popup=this._createComponent(this._$popup,"dxPopup",this._popupConfig(t))},_popupContent:function(n){var t=this._popup.content();return this._createAppointmentForm(n,t),t},_createAppointmentForm:function(t,i){var s=this.fire("getField","allDay",t),r=this._defaultAppointmentFormEditors(s),f=this.option("resources"),u,e;this.option("recurrenceRuleExpr")||r.splice(5,1);f&&f.length&&(this._resourcesManager.setResources(this.option("resources")),r=r.concat(this._resourcesManager.getEditors()));n.each(this._resourcesManager.getResourcesFromItem(t,!0)||{},function(n,i){t[n]=i});this._appointmentForm=this._createComponent(i,"dxForm",{items:r,readOnly:this._editAppointmentData?!this._editing.allowUpdating:!1,showValidationSummary:!0,scrollingEnabled:!0,formData:n.extend(!0,{},t)});u=this._appointmentForm.getEditor(this.option("recurrenceRuleExpr"));u&&(e=this.fire("getField","startDate",t),u.option("startDate",o.makeDate(e)));this._actions.onAppointmentFormCreated({form:this._appointmentForm,appointmentData:t})},_initDynamicPopupTemplate:function(n){var t=this;this._dynamicTemplates.appointmentPopup=new v(function(i,r,u){var f=t._popupContent(n);return u.append(f),u})},_popupConfig:function(t){var i=this._getTemplateByOption("appointmentPopupTemplate");return{_templates:this.option("_templates"),templateProvider:this.option("templateProvider"),width:kt,onHiding:n.proxy(function(){this.focus()},this),contentTemplate:new y(function(n){return new p(i.render(t,n))}),defaultOptionsRules:[{device:function(){return!h.current().generic},options:{fullScreen:!0}}]}},_getPopupButtons:function(){return[{shortcut:"done",location:"after",onClick:n.proxy(this._doneButtonClickHandler,this)},{shortcut:"cancel",location:"after"}]},_doneButtonClickHandler:function(n){var t=this._appointmentForm.validate(),i;if(t&&!t.isValid){n.cancel=!0;return}this._saveChanges(n);i=this.fire("getField","startDate",this._appointmentForm.option("formData"));this._workSpace.updateScrollPosition(i)},_saveChanges:function(){var i=this._appointmentForm.option("formData"),n=this._editAppointmentData,t=this._updatedRecAppointment;n&&!t?this.updateAppointment(n,i):(t&&this.updateAppointment(n,t),delete this._updatedRecAppointment,this.addAppointment(i))},_checkRecurringAppointment:function(t,i,r,u,e,o){var s,h;if(delete this._updatedRecAppointment,s=this.fire("getField","recurrenceRule",t),!f.getRecurrenceRule(s).isValid||!this._editing.allowUpdating){u();return}h=this.option("recurrenceEditMode");switch(h){case"series":u();break;case"occurrence":this._singleAppointmentChangesHandler(t,i,r,e,o);break;default:this._showRecurrenceChangeConfirm(e).done(n.proxy(function(n){n&&u();n||this._singleAppointmentChangesHandler(t,i,r,e,o)},this)).fail(n.proxy(function(){this._appointments.moveAppointmentBack()},this))}},_singleAppointmentChangesHandler:function(t,i,r,u,f){this.fire("setField","recurrenceRule",i,"");this.fire("setField","recurrenceException",i,"");u||f||this.addAppointment(i);var o=this._getRecurrenceException(r,t),e=n.extend({},t,{recurrenceException:o});f?(this._updatedRecAppointment=e,this._showAppointmentPopup(i,!0),this._editAppointmentData=t):this._updateAppointment(t,e)},_getRecurrenceException:function(n,t){var u=this.fire("getField","startDate",t),i=this._getRecurrenceExceptionDate(n,u),r=this.fire("getField","recurrenceException",t);return r?r+","+i:i},_getRecurrenceExceptionDate:function(n,t){return n.setHours(t.getHours()),n.setMinutes(t.getMinutes()),n.setSeconds(t.getSeconds()),Globalize.format(n,"yyyyMMddTHHmmss")},_showRecurrenceChangeConfirm:function(n){var t=Globalize.localize(n?"dxScheduler-confirmRecurrenceDeleteMessage":"dxScheduler-confirmRecurrenceEditMessage"),i=Globalize.localize(n?"dxScheduler-confirmRecurrenceDeleteSeries":"dxScheduler-confirmRecurrenceEditSeries"),r=Globalize.localize(n?"dxScheduler-confirmRecurrenceDeleteOccurrence":"dxScheduler-confirmRecurrenceEditOccurrence");return u.custom({message:t,showCloseButton:!0,showTitle:!0,buttons:[{text:i,onClick:function(){return!0}},{text:r,onClick:function(){return!1}}]}).show()},_getUpdatedData:function(n){var r=n.data||n,e=this.getTargetCellData(),a=this.fire("getField","allDay",r),c=o.makeDate(this.fire("getField","startDate",r)),v=o.makeDate(this.fire("getField","endDate",r)),y=e.allDay,u=e.date||c,s=e.groups,l=v.getTime()-c.getTime(),t={},i,h,f;this.fire("setField","allDay",t,y);this.fire("setField","startDate",t,u);i=new Date(u.getTime()+l);this.appointmentTakesAllDay(r)&&!t.allDay&&this._workSpace.supportAllDayRow()&&(i=this._workSpace.calculateEndDate(u));a&&!this._workSpace.supportAllDayRow()&&(h=new Date(u),h.setHours(0),i=new Date(h.getTime()+l),i.getHours()!==0&&i.setHours(this.option("endDayHour")));this.fire("setField","endDate",t,i);for(f in s)s.hasOwnProperty(f)&&(t[f]=s[f]);return t},_getCoordinates:function(n,t,i){for(var r=[],u=0;u<n.length;u++)r=r.concat(this._workSpace.getCoordinatesByDateInGroup(n[u],t,i));return r},_getSingleAppointmentData:function(t,r,u){var o=t,l=this._getUpdatedData(r),f=n.extend({},o,l),a=this.fire("getField","allDay",o),v=this._workSpace.supportAllDayRow()&&a,y=this.fire("getField","startDate",f),p=this.fire("getField","endDate",f),w=p.getTime()-y.getTime(),e,h,c;return s.isDefined(u)?(h=i.locate(u),c=this._workSpace.getCellDataByCoordinates(h,v),e=c.startDate):e=t.startDate,this.fire("setField","startDate",f,e),this.fire("setField","endDate",f,new Date(e.getTime()+w)),f},subscribe:function(n,t){this._subscribes[n]=a[n]=t},fire:function(t){var i=this._subscribes[t],u=Array.prototype.slice.call(arguments);if(!n.isFunction(i))throw r.Error("E1031",t);return i.apply(this,u.slice(1))},getTargetCellData:function(){return this._workSpace.getDataByDroppableCell()},showAppointmentTooltip:function(n,t,i){w.show(n,t,i,this)},_hideTooltip:function(){w.hide()},_updateAppointment:function(t,i,r){var u={newData:i,oldData:t,cancel:!1};this._actions.onAppointmentUpdating(u);this._processActionResult(u,function(u){u?n.isFunction(r)&&r.call(this):(this._expandAllDayPanel(i),this._appointmentModel.update(t,i).always(n.proxy(function(n){this._executeActionWhenOperationIsCompleted(this._actions.onAppointmentUpdated,i,n)},this)))})},_processActionResult:function(t,i){n.when(t.cancel).then(n.proxy(i,this))},_expandAllDayPanel:function(n){!this._isAllDayExpanded(this._appointments.option("items"))&&this.appointmentTakesAllDay(n)&&this._workSpace.option("allDayExpanded",!0)},_executeActionWhenOperationIsCompleted:function(n,t,i){var r={appointmentData:t},u=i&&i.name==="Error";u&&(r.error=i);n(r)},_showAppointmentPopup:function(n,t){this._createPopup(n);var i=[],r=!0;(!s.isDefined(t)||t)&&(i=this._getPopupButtons(),r=this._popup.initialOption("showCloseButton"));this._popup.option({buttons:i,showCloseButton:r});this._popup.show()},getAppointmentPopup:function(){return this._popup},getAppointmentDetailsForm:function(){return this._appointmentForm},getAppointmentsInstance:function(){return this._appointments},getAppointmentResourceData:function(n,t){return this._resourcesManager.getResourceDataByValue(n,t)},getActions:function(){return this._actions},appointmentTakesAllDay:function(n){return this._appointmentModel.appointmentTakesAllDay(n,this.option("startDayHour"),this.option("endDayHour"))},recurrenceEditorVisibylityChanged:function(n){this._appointmentForm&&this._appointmentForm.element().find("."+lt).toggleClass(bt,n)},showAppointmentPopup:function(t,i,r){var f=!r&&t.length?this._getSingleAppointmentData(t,t):r,u;u=r?this.fire("getField","startDate",r):this.fire("getField","startDate",t);this._checkRecurringAppointment(t,f,u,n.proxy(function(){var n=this._editing;i?(delete this._editAppointmentData,n.allowAdding&&this._showAppointmentPopup(t)):(this._editAppointmentData=t,this._showAppointmentPopup(t,n.allowUpdating))},this),!1,!0)},scrollToTime:function(n,t,i){this._workSpace.scrollToTime(n,t,i)},addAppointment:function(t){var r=this.fire("getField","text",t),i;r||this.fire("setField","text",t,"");i={appointmentData:t,cancel:!1};this._actions.onAppointmentAdding(i);this._processActionResult(i,function(i){i||(this._expandAllDayPanel(t),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={appointmentData:t,cancel:!1};this._actions.onAppointmentDeleting(i);this._processActionResult(i,function(i){i||this._appointmentModel.remove(t).always(n.proxy(function(n){this._executeActionWhenOperationIsCompleted(this._actions.onAppointmentDeleted,t,n)},this))})},focus:function(){this._editAppointmentData?this._appointments.focus():this._workSpace.focus()}}).include(ht);return c("dxScheduler",t,vt),vt});DevExpress.require(["/ui/widgets/scheduler/ui.scheduler"]),function(n,t){var r=n.require("/component"),i=n.require("/utils/utils.common");n.dxClientExporter=r.inherit({_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 c=this,r,e=this.option("exportingAction"),o=this.option("exportedAction"),s=this.option("fileSavingAction"),u,f,h=t.component;h&&(r={fileName:t.fileName,format:t.format,cancel:!1},i.isDefined(e)&&e(r),r.cancel||(f=c._getDocumentCreator(h,t),f.ready().done(function(){u=f.getData(i.isFunction(window.Blob));i.isDefined(o)&&o();i.isDefined(s)&&(r.data=u,s(r));r.cancel||n.dxClientExporter.fileSaver.saveAs(r.fileName,t.format,u,t.proxyUrl)})))}})}(DevExpress,jQuery),function(n,t){var c=t.require("/utils/utils.string"),i=t.require("/utils/utils.common"),l=t.require("/utils/utils.formatHelper").defaultDateTimeFormat,b=t.require("/class"),u=t.dxClientExporter,f='<?xml version="1.0" encoding="utf-8"?>',k='<sheetPr><outlinePr summaryBelow="0"/><\/sheetPr>',d="<sheetPr/>",g='<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",nt="[Content_Types].xml",a="sharedStrings.xml",v="styles.xml",tt="worksheets",y="sheet1.xml",it=["quarter","quarterAndYear","millisecond"],rt="shortDate",p={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:" "},ut=Date.UTC(1899,11,30),ft=60,e=4,et=7,w=165;u.excelFormatConverter={_applyPrecision:function(n,t){var i,r;if(t>0){for(i=n!=="decimal"?".":"",r=0;r<t;r++)i=i+"0";return i}return""},_getCurrencyFormat:function(){var f=Globalize.cultures[Globalize.cultureSelector].numberFormat.currency,t,n,r,u;if(i.isArray(f.pattern)){u={n:"#,##0{0}","'":"\\'","\\(":"\\(","\\)":"\\)"," ":"\\ ",'"':"&quot;","\\$":f.symbol};n=f.pattern.slice();for(r in u)if(u.hasOwnProperty(r))for(t=0;t<n.length;t++)n[t]=n[t].replace(new RegExp(r,"g"),u[r]);return n.length===2?n[1]+"_);"+n[0]:n[0]}},_convertDateFormat:function(t){l[t.toLowerCase()]&&n.inArray(t,it)===-1||(t=rt);var u=Globalize.cultures[Globalize.cultureSelector].calendar.patterns,r=l[t.toLowerCase()];return i.isDefined(u[r])&&(r=u[r]),r.replace(/\//g,"\\/").replace(/ /g,"\\ ").replace(/,/g,"\\,").replace(/:/g,"\\:").replace(/tt/g,"AM/PM").replace(/N/g,"#\\,###")},_convertNumberFormat:function(n,t){var i,r=n==="currency"?this._getCurrencyFormat():p[n];return r&&(i=c.format(r,this._applyPrecision(n,t))),i},convertFormat:function(n,t,r){if(i.isDefined(n)){if(r==="date")return u.excelFormatConverter._convertDateFormat(n);if(p[n])return u.excelFormatConverter._convertNumberFormat(n,t)}}};u.ExcelCreator=b.inherit({_getXMLTag:function(n,t,r){for(var u="<"+n,o=t.length,f,e=0;e<o;e++)f=t[e],u=u+" "+f.name+'="'+f.value+'"';return i.isDefined(r)?u+">"+r+"<\/"+n+">":u+" />"},_getDataProviderRowIndex:function(n){return n-!!this._dataProvider.isHeadersVisible()},_getExcelRowIndex:function(n){return n+!!this._dataProvider.isHeadersVisible()},_getCellIndex:function(n,t){var r="",i=26,u;for(this._maxIndex[0]<Number(n)&&(this._maxIndex[0]=Number(n)),this._maxIndex[1]<Number(t)&&(this._maxIndex[1]=Number(t));;)if(u=65+(t>=i?t%i:Math.ceil(t)),r=String.fromCharCode(u)+r,t>=i)t=Math.floor(t/i)-1;else break;return r+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=u.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(n){if(i.isDefined(n)&&(n=String(n),n.length))return n=c.encodeHtml(n),this._stringHash[n]===undefined&&(this._stringHash[n]=this._stringArray.length,this._stringArray.push(n)),this._stringHash[n]},_getExcelDateValue:function(n){var t,r;if(i.isDate(n))return t=Math.floor((Date.UTC(n.getFullYear(),n.getMonth(),n.getDate())-ut)/864e5),t<ft&&t--,r=(n.getHours()*3600+n.getMinutes()*60+n.getSeconds())/86400,t+r},_prepareValue:function(n,t){var r=this._dataProvider.getCellValue(n,t),f=this._dataProvider.getCellText&&this._dataProvider.getCellText(n,t),u=this._getDataType(this._dataProvider.getCellType(n,t))||"string",o=this._styleArray[t+e].formatID,s=i.isNumber(o)?this._styleFormat[o-1]:null;!i.isDefined(r)&&i.isDefined(f)&&(r=f,u="s",s=null);u!=="d"||i.isDate(r)||(u="s");switch(u){case"s":r=this._appendString(r);break;case"d":r=this._getExcelDateValue(r,s);u="n"}return{value:r,type:u}},_getHeadersArray:function(){for(var t=this._dataProvider.getColumns(),i=[],n=0;n!==t.length;n++)i.push({style:0,type:"s",value:this._appendString(t[n].caption)});return i},_getDataArray:function(){for(var n,f,r,s=[],l=this._dataProvider.getRowsCount(),h,o,u,c=this._dataProvider.getColumns(),t=0;t<l;t++){for(f=[],h=c.length,n=0;n!==h;n++)r=this._prepareValue(t,n),o=r.type,!this._dataProvider.isGroupRow(t)&&i.isDefined(this._styleArray[n+e].formatID)&&r.type!=="s"&&(o="n"),u=n+e,this._dataProvider.isGroupRow(t)&&(u=e-1),this._dataProvider.isTotalCell(t,n)&&(u=this._getBoldStyleID(c[n].alignment)),f.push({style:u,value:r.value,type:o});t&&!this._needSheetPr&&this._dataProvider.getGroupLevel(this._getDataProviderRowIndex(t))>0&&(this._needSheetPr=!0);s.push(f)}return s},_getBoldStyleID:function(n){for(var t=0;t<e-1;t++)if(this._styleArray[t].alignment===n)return t},_culculateWidth:function(n){return n=parseInt(n,10),(!n||n<5)&&(n=100),Math.min(255,Math.floor((n-5)/et*100+.5)/100)},_prepareStyleData:function(){for(var n,f=Number(!!this._options.wrapTextEnabled),r=["center","left","right"],u=this._dataProvider.getColumns(),t=0;t<r.length;t++)this._styleArray.push({bold:!0,alignment:r[t],wrapText:1});for(this._styleArray.push({bold:!0,alignment:i.getDefaultAlignment(this._rtlEnabled),wrapText:0}),t=0;t<u.length;t++)n=u[t],this._styleArray.push({alignment:i.isDefined(n.alignment)?n.alignment:"left",formatID:this._appendFormat(n.format,n.precision,n.dataType),wrapText:f}),this._colsArray.push(this._culculateWidth(n.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",[{name:"xmlns",value:r+"/package/2006/relationships"}],n)},_createXMLRelationship:function(n,t,i){return this._getXMLTag("Relationship",[{name:"Id",value:"rId"+n},{name:"Type",value:r+"/officeDocument/2006/relationships/"+t},{name:"Target",value:i}])},_getWorkbookContent:function(){return f+this._getXMLTag("workbook",[{name:"xmlns:r",value:r+"/officeDocument/2006/relationships"},{name:"xmlns",value:r+"/spreadsheetml/2006/main"}],'<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>')},_getContentTypesContent:function(){return f+'<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(){for(var h=this._zip.folder(o),e,c=this._styleArray.length,t,s=[],n="",u=0;u<this._styleFormat.length;u++)this._styleFormat[u]=this._getXMLTag("numFmt",[{name:"numFmtId",value:Number(u)+w},{name:"formatCode",value:this._styleFormat[u]}]);for(n=n+this._getXMLTag("numFmts",[{name:"count",value:this._styleFormat.length}],this._styleFormat.join(""))+g,e=0;e<c;e++)t=this._styleArray[e],s.push(this._getXMLTag("xf",[{name:"xfId",value:0},{name:"applyAlignment",value:1},{name:"fontId",value:Number(!!t.bold)},{name:"applyNumberFormat",value:i.isDefined(t.formatID)?1:0},{name:"numFmtId",value:i.isDefined(t.formatID)?Number(t.formatID)+w-1:0}],this._getXMLTag("alignment",[{name:"horizontal",value:t.alignment},{name:"vertical",value:"top"},{name:"wrapText",value:t.wrapText}])));n=n+this._getXMLTag("cellXfs",[{name:"count",value:s.length}],s.join(""));n=n+this._getXMLTag("cellStyles",[{name:"count",value:1}],this._getXMLTag("cellStyle",[{name:"name",value:"Normal"},{name:"xfId",value:0},{name:"builtinId",value:0}]));n=f+this._getXMLTag("styleSheet",[{name:"xmlns",value:r+"/spreadsheetml/2006/main"}],n);h.file(v,n);this._styleArray=[]},_generateStringsXML:function(){for(var i=this._zip.folder(o),u=this._stringArray.length,t=f,n=0;n<u;n++)this._stringArray[n]=this._getXMLTag("si",[],this._getXMLTag("t",[],this._stringArray[n]));t=t+this._getXMLTag("sst",[{name:"xmlns",value:r+"/spreadsheetml/2006/main"},{name:"count",value:this._stringArray.length},{name:"uniqueCount",value:this._stringArray.length}],this._stringArray.join(""));i.file(a,t);this._stringArray=[]},_getPaneXML:function(){var t=[{name:"activePane",value:"bottomLeft"},{name:"state",value:"frozen"}],n=i.isDefined(this._dataProvider.getFrozenArea)?this._dataProvider.getFrozenArea():{x:0,y:Number(this._dataProvider.isHeadersVisible())};return n.x||n.y?(n.x&&t.push({name:"xSplit",value:n.x}),n.y&&t.push({name:"ySplit",value:n.y}),t.push({name:"topLeftCell",value:this._getCellIndex(n.y+1,n.x)}),this._getXMLTag("pane",t)):""},_generateWorksheetXML:function(){for(var n,u,e,s,h=0,f=[],a=this._cellsArray.length,c,l=this._colsArray.length,v="1:"+l,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?k:d,'<dimension ref="A1:',this._getCellIndex(this._maxIndex[0],this._maxIndex[1])+'"/><sheetViews><sheetView '+(this._rtlEnabled?'rightToLeft="1" ':"")+'tabSelected="1" workbookViewId="0">'+this._getPaneXML()+'<\/sheetView><\/sheetViews><sheetFormatPr defaultRowHeight="15" outlineLevelRow="',this._dataProvider.getRowsCount()>0?this._dataProvider.getGroupLevel(0):0,'" x14ac:dyDescent="0.25"/>'].join("")],t=0;t<l;t++)this._colsArray[t]=this._getXMLTag("col",[{name:"width",value:this._colsArray[t]},{name:"min",value:Number(t)+1},{name:"max",value:Number(t)+1}]);for(r.push(this._getXMLTag("cols",[],this._colsArray.join(""))+"<sheetData>"),n=0;n<a;n++){for(e=[],c=this._cellsArray[n].length,t=0;t<c;t++)n=Number(n),u=this._cellsArray[n][t],e.push(this._getXMLTag("c",[{name:"r",value:this._getCellIndex(n+1,t)},{name:"s",value:u.style},{name:"t",value:u.type}],i.isDefined(u.value)?this._getXMLTag("v",[],u.value):null));f.push(this._getXMLTag("row",[{name:"r",value:Number(n)+1},{name:"spans",value:v},{name:"outlineLevel",value:Number(n)?this._dataProvider.getGroupLevel(this._getDataProviderRowIndex(n)):0},{name:"x14ac:dyDescent",value:"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._generateMergingXML()+(this._options.autoFilterEnabled?'<autoFilter ref="A1:'+s+'" />':"")+'<ignoredErrors><ignoredError sqref="A1:'+s+'" numberStoredAsText="1" /><\/ignoredErrors><\/worksheet>');this._zip.folder(o).folder(tt).file(y,r.join(""));this._colsArray=[];this._cellsArray=[];r=[]},_generateMergingXML:function(){var u,o,t,n,l=this._dataProvider.getRowsCount(),a=this._dataProvider.getColumns().length,f=[],s=[],c,e,h="",r;if(!i.isDefined(this._dataProvider.getCellMerging))return"";for(n=0;n<l;n++)for(t=0;t!==a;t++)if((!i.isDefined(f[n])||!i.isDefined(f[n][t]))&&(r=this._dataProvider.getCellMerging(n,t),r.colspan||r.rowspan))for(s.push({start:this._getCellIndex(n+1,t),end:this._getCellIndex(n+1+(r.rowspan||0),t+(r.colspan||0))}),u=n;u<=n+r.rowspan||0;u++)for(o=t;o<=t+r.colspan||0;o++)i.isDefined(f[u])||(f[u]=[]),f[u][o]=!0;for(c=s.length,e=0;e<c;e++)h=h+this._getXMLTag("mergeCell",[{name:"ref",value:s[e].start+":"+s[e].end}]);return h.length?this._getXMLTag("mergeCells",[{name:"count",value:c}],h):""},_generateCommonXML:function(){var r=f+this._createXMLRelationships(this._createXMLRelationship(1,"officeDocument","xl/"+h)),t,i=this._zip.folder(o),n=f;this._zip.folder("_"+s).file("."+s,r);t=this._createXMLRelationship(1,"worksheet","worksheets/"+y)+this._createXMLRelationship(2,"styles",v)+this._createXMLRelationship(3,"sharedStrings",a);n=n+this._createXMLRelationships(t);i.folder("_"+s).file(h+".rels",n);i.file(h,this._getWorkbookContent());this._zip.file(nt,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._stringHash={};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",mimeType:u.MIME_TYPES.EXCEL})}})}(jQuery,DevExpress),function(n,t){var e=DevExpress.require("/ui/ui.errors"),u=n.require("/utils/utils.browser"),i=n.require("/utils/utils.common"),r=n.dxClientExporter,f={EXCEL:"xlsx",CSS:"css"};r.MIME_TYPES={CSS:"text/css",EXCEL:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};r.fileSaver={_getDataUri:function(n,t){return"data:"+r.MIME_TYPES[n]+";base64,"+t},_linkDownloader:function(n,i){var r=document.createElement("a"),u={download:n,href:i};return document.body.appendChild(r),t(r).css({display:"none"}).text("load").attr(u)[0].click(),r},_formDownloader:function(n,i,r,u){var e={method:"post",action:n,enctype:"multipart/form-data"},f=t("<form>").css({display:"none"}).attr(e);f.append('<input type="hidden" name="fileName" value="'+i+'" />');f.append('<input type="hidden" name="contentType" value="'+r+'" />');f.append('<input type="hidden" name="data" value="'+u+'" />');f.appendTo("body");f.submit();f.submit()&&f.remove()},_saveByProxy:function(n,t,i,u,f){return this._formDownloader(n,t,r.MIME_TYPES[i],u,f)},_winJSBlobSave:function(n,t,i){var u=new Windows.Storage.Pickers.FileSavePicker;u.suggestedStartLocation=Windows.Storage.Pickers.PickerLocationId.documentsLibrary;u.fileTypeChoices.insert(r.MIME_TYPES[i],["."+f[i]]);u.suggestedFileName=t;u.pickSaveFileAsync().then(function(t){t&&t.openAsync(Windows.Storage.FileAccessMode.readWrite).then(function(t){var i=n.msDetachStream();Windows.Storage.Streams.RandomAccessStream.copyAsync(i,t).then(function(){t.flushAsync().done(function(){i.close();t.close()})})})})},_saveBlobAs:function(n,u,f,e){if(this._blobSaved=!1,i.isDefined(navigator.msSaveOrOpenBlob))navigator.msSaveOrOpenBlob(f,n),this._blobSaved=!0;else if(i.isDefined(window.WinJS))this._winJSBlobSave(f,n,u),this._blobSaved=!0;else{var o=window.URL||window.webkitURL||window.mozURL||window.msURL||window.oURL;if(e=i.isDefined(e)?e:function(){var n=t("#dxExportLink");o.revokeObjectURL(n.attr("href"));n.remove();r.blobSaved=!0},i.isDefined(o))return this._linkDownloader(n,o.createObjectURL(f),e)}},saveAs:function(n,t,r,o,s){if(n+="."+f[t],i.isFunction(window.Blob))this._saveBlobAs(n,t,r);else if(i.isDefined(o)&&!i.isDefined(navigator.userAgent.match(/iPad/i)))this._saveByProxy(o,n,t,r);else{if(i.isDefined(navigator.userAgent.match(/iPad/i))||e.log("E1034"),u.msie&&parseInt(u.version)<10)return;this._linkDownloader(n,this._getDataUri(t,r),s)}}}}(DevExpress,jQuery);DevExpress.MOD_WIDGETS_WEB=!0}if(!window.DevExpress||!DevExpress.MOD_FRAMEWORK){if(!window.DevExpress||!DevExpress.MOD_CORE)throw Error("Required module is not referenced: core");(function(n,t,i){var u=t.require("/integration/knockout/ko.templateProvider"),f=function(n,t,i){for(var r=[],u=0,f=n.length;u<f;u++)i(n[u],t)||r.push(n[u]);return r.push.apply(r,t),r},e=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},o=function(n,t){return f(n,t,e)},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},s=function(n,t){var i=r(n,t,"showText"),u=!!n.option("icon"),f=r(n,t,"title","");return i||!u?f:""},h=function(n,t){var i=r(n,t,"showIcon"),u=!!n.option("title"),f=r(n,t,"icon","");return i||!u?f:""};t.framework={utils:{mergeCommands:o,commandToContainer:{resolveIconValue:h,resolveTextValue:s,resolvePropertyValue:r}},templateProvider:u}})(jQuery,DevExpress);DevExpress.define("/framework/framework.errors",["/utils/utils.error","/errors"],function(n,t){return n(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",E3024:"Layout controller is not initialized",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 in a mobile application. Use data-bind="dxAction: url" instead of href="#url" to avoid navigation issues.\nFound markup:\n{0}\n'})}),function(n,t){var i=encodeURIComponent("json:"),r=DevExpress.require("/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="",s,e;this._ensureReady();var f=n.extend({},this._defaults),h=0,i=[],c=[],o={};return(n.each(t,function(n,i){t[n]=r.formatSegment(i);n in f||(o[n]=!0)}),n.each(this._segments,function(n,u){if(i[n]=n?r._separators[n-1]:"",u.charAt(0)===":"){var e=u.substr(1);if(!(e in t)&&!(e in r._defaults)||e in r._constraints&&!r._checkConstraint(t[e],r._constraints[e]))return i=null,!1;e in t?(t[e]!==undefined&&(f[e]=t[e],i[n]+=t[e],h=n),delete o[e]):e in f&&(i[n]+=f[e],c.push(n))}else i[n]+=u,h=n}),n.each(f,function(u,f){if(!!f&&n.inArray(":"+u,r._segments)===-1&&t[u]!==f)return i=null,!1}),s=0,n.isEmptyObject(o)||(u="?",n.each(o,function(n){u+=n+"="+t[n]+"&";s++}),u=u.substr(0,u.length-1)),i===null)?!1:(c.length&&n.map(c,function(n){n>=h&&(i[n]="")}),e=i.join(""),e=e.replace(/\/+$/,""),{uri:e+u,unusedCount:s})},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=r.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=DevExpress.require("/framework/framework.errors"),r=t.require("/componentRegistrator"),u=t.require("/domComponent"),f=u.inherit({ctor:function(t,i){n.isPlainObject(t)&&(i=t,t=n("<div />"));this.callBase(t,i)},_setDeprecatedOptions:function(){this.callBase();n.extend(this._deprecatedOptions,{iconSrc:{since:"15.1",alias:"icon"}})},_getDefaultOptions:function(){return n.extend(this.callBase(),{onExecute:null,id:null,title:"",icon:"",visible:!0,disabled:!1,renderStage:"onViewShown"})},execute:function(){var t=this._options.disabled;if(n.isFunction(t)&&(t=!!t.apply(this,arguments)),t)throw i.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)}});r("dxCommand",t.framework,f)}(jQuery,DevExpress),function(n,t){var i=DevExpress.require("/class"),r=DevExpress.require("/framework/framework.errors");t.framework.CommandMapping=i.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(t){var u=this,i=n.grep(t,function(i,r){return n.inArray(i,u._existingCommands)<0&&n.inArray(i,t)===r});if(i.length!==0)throw r.Error("E3005",i.join("', '"),i.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"]},"win10-appbar":{defaults:{showText:!1,location:"after"},commands:[{id:"back",location:"before"},"edit","cancel","save","delete","create","refresh"]},"win10-phone-appbar":{defaults:{location:"after"},commands:["create","edit","cancel","save","refresh",{id:"delete",location:"menu"}]},"desktop-toolbar":{defaults:{showIcon:!1,showText:!0,location:"after"},commands:["cancel","create","edit","save",{id:"delete",type:"danger"}]}}}(jQuery,DevExpress),function(n,t){var i=DevExpress.require("/class"),r=t.require("/eventsMixin"),u;t.framework.ViewCache=i.inherit({ctor:function(){this._cache={}},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(r);t.framework.NullViewCache=t.framework.ViewCache.inherit({setView:function(n,t){this.callBase(n,t);this.removeView(n)}});t.framework.ConditionalViewCacheDecorator=i.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(r);u=5;t.framework.CapacityViewCacheDecorator=i.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(r);t.framework.HistoryDependentViewCacheDecorator=i.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(r)}(jQuery,DevExpress),function(n,t){var i=DevExpress.require("/class");t.framework.MemoryKeyValueStorage=i.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=i.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 r=DevExpress.require("/class"),u=t.require("/utils/utils.queue"),i="__root__",f="__buffer__";t.framework.DefaultBrowserAdapter=r.inherit({ctor:function(t){t=t||{};this._window=t.window||window;this.popState=n.Callbacks();n(this._window).on("hashchange",n.proxy(this._onHashChange,this));this._tasks=u.create();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(i)},_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()===i},_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(i)},_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(i)},getHash:function(){return this._normalizeUri(this._currentHash)},back:function(){return this.replaceState(i)},_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 f=DevExpress.require("/class"),u=t.require("/utils/utils.storage"),i=t.require("/devices"),r="dxPhoneJSApplication";t.framework.HistoryBasedNavigationDevice=f.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 t=i.real(),n=t.version;return t.platform==="android"&&n.length>1&&(n[0]===2&&n[1]<4||n[0]<2)},_isBuggyAndroid4:function(){var t=i.real(),n=t.version;return t.platform==="android"&&n.length>1&&n[0]===4&&n[1]===0},_isWindowsPhone8:function(){var n=i.real();return n.platform==="win"&&n.phone},_createBrowserAdapter:function(n){var i=n.window||window,r=i.history.replaceState&&i.history.pushState;return this._isWindowsPhone8()?new t.framework.BuggyCordovaWP81BrowserAdapter(n):i!==i.top?new t.framework.HistorylessBrowserAdapter(n):this._isBuggyAndroid4()?new t.framework.BuggyAndroidBrowserAdapter(n):this._isBuggyAndroid2()||!r?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(){var n=u.sessionStorage();n&&n.setItem(r,!0)},_initRootPage:function(){var i=this.getUri(),t=u.sessionStorage();return!t||t.getItem(r)?n.Deferred().resolve().promise():(t.removeItem(r),this._browserAdapter.createRootPage(),this._browserAdapter.pushState(i))},_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 f=t.require("/class"),o=t.require("/eventsMixin"),u=t.require("/framework/framework.errors"),s=t.require("/utils/utils.common"),h=t.require("/utils/utils.hardwareBack").processCallback,e=t.require("/utils/utils.topOverlay").hide,r={current:"current",blank:"blank",back:"back"},c="__history";t.framework.HistoryBasedNavigationManager=f.inherit({ctor:function(n){n=n||{};this._currentItem=i;this._previousItem=i;this._createNavigationDevice(n)},_createNavigationDevice:function(i){this._navigationDevice=i.navigationDevice||new t.framework.HistoryBasedNavigationDevice;this._navigationDevice.uriChanged.add(n.proxy(this._uriChangedHandler,this))},_uriChangedHandler:function(n){while(e());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(t,u){u=u||{};var f=this,l=!f._currentItem,h=f._currentItem||{},a=u.item||{},o=h.uri,v=h.key,c=a.key,e;if(t===i&&(t=f._navigationDevice.getUri()),/^_back$/.test(t)){f.back();return}u=n.extend(f._getDefaultOptions(),u||{});l&&(u.target=r.current);e={currentUri:o,uri:t,cancel:!1,navigateWhen:[],options:u};f.fireEvent("navigating",[e]);t=e.uri;e.cancel||o===t&&(c===i||c===v)&&!f._forceNavigate?f._cancelNavigation(e):(f._forceNavigate=!1,n.when.apply(n,e.navigateWhen).done(function(){s.executeAsync(function(){f._updateHistory(t,u);f.fireEvent("navigated",[{uri:t,previousUri:o,options:u,item:f._currentItem}])})}))},back:function(){return this._navigationDevice.back()},previousItem:function(){return this._previousItem},currentItem:function(n){if(arguments.length>0){if(!n)throw u.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(o);t.framework.StackBasedNavigationManager=t.framework.HistoryBasedNavigationManager.inherit({ctor:function(t){t=t||{};this.callBase(t);this._createNavigationStacks(t);h.add(n.proxy(this._deviceBackInitiated,this));this._stateStorageKey=t.stateStorageKey||c},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(){e()?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,t){var f=t.root,o=f,s=!1,l=this.currentStack,a=t.keepPositionInStack!==i?t.keepPositionInStack:this._keepPositionInStack,h,c,e;if(t.stack=t.stack||this._getViewTargetStackKey(n,f),this._setCurrentStack(t.stack),(f||!this.currentStack.items.length)&&(s=this.currentStack===l,o=!0),f&&this.currentStack.items.length)(!a||s)&&(this.currentStack.currentIndex=0,this.currentItem().uri!==n&&this.currentStack.navigate(n,!0)),t.direction=t.direction||"none";else{h=this.currentStack.currentIndex;c=this.currentItem()||{};switch(t.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 u.Error("E3006",t.target);}t.direction===i&&(e=this.currentStack.currentIndex-h,t.direction=e<0?this.currentStack.currentItem().backDirection||"backward":e>0&&this.currentStack.currentIndex>0?"forward":"none");c.backDirection=t.direction==="forward"?"backward":"none"}t.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(t){var i,r,f;if(!this.disableRestoreState&&(i=t.getItem(this._stateStorageKey),i))try{r=this;f=JSON.parse(i);n.each(f.navigationStacks,function(t,i){var u=r._createNavigationStack();r.navigationStacks[t]=u;u.currentIndex=i.currentIndex;u.items=n.map(i.items,function(n){return n.stack=u,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(t);throw u.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._createNavigationStacks({keepPositionInStack:this._keepPositionInStack})},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=f.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 u.Error("E3008");var t=this.currentItem();t.uri!==n&&this._updateItem(this.currentIndex,n)},forward:function(){if(this.currentIndex++,this.currentIndex>=this.items.length)throw u.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 t,i=0;i<this.items.length;i++)if(t=this.items[i],t.key===n)return t},_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())}function u(t){if(t){var i=n(t.target);i.attr("href")&&t.preventDefault()}}t.framework.createActionExecutors=function(f){return{routing:{execute:function(t){var e=t.action,o={},i,s;n.isPlainObject(e)&&(i=e.routeValues,i&&n.isPlainObject(i)?o=e.options:i=e,s=f.router.format(i),r(o,t),u(o.jQueryEvent),f.navigate(s,o),t.handled=!0)}},hash:{execute:function(e){var o;if(typeof e.action=="string"&&e.action.charAt(0)==="#"){var s=e.action.substr(1),c=e.args[0],h=s,l=function(n){var i=t.data.utils.compileGetter(n),r=e.args[0].model;return i(r)},a=c.evaluate||l;h=s.replace(/\{([^}]+)\}/g,function(r,u){u=n.trim(u);u.indexOf(",")>-1&&(u=n.map(u.split(","),n.trim));var f=a(u);return f===i&&(f=""),f=t.framework.Route.prototype.formatSegment(f)});o={};r(o,e);u(o.jQueryEvent);f.navigate(h,o);e.handled=!0}}}}}}(jQuery,DevExpress),function(n,t){var u=t.require("/class"),s=u.abstract,h=t.require("/eventsMixin"),c=t.require("/action"),l=t.require("/utils/utils.storage"),i=t.require("/utils/utils.common"),r=t.require("/framework/framework.errors"),f,a="InProgress",e="Inited",o=t.framework;t.framework.Application=u.inherit({ctor:function(i){i=i||{};this._options=i;this.namespace=i.namespace||window;this._applicationMode=i.mode?i.mode:"mobileApp";this.components=[];f=t.localization.localizeString("@Back");this.router=i.router||new t.framework.Router;var r={mobileApp:t.framework.StackBasedNavigationManager,webSite:t.framework.HistoryBasedNavigationManager};this.navigationManager=i.navigationManager||new r[this._applicationMode]({keepPositionInStack:i.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=i.stateManager||new t.framework.StateManager({storage:i.stateStorage||l.sessionStorage()});this.stateManager.addStateSource(this.navigationManager);this.viewCache=this._createViewCache(i);this.commandMapping=this._createCommandMapping(i.commandMapping);this.createNavigation(i.navigation);this._isNavigating=!1;this._viewLinksHash={};c.registerExecutor(t.framework.createActionExecutors(this));this.components.push(this.router);this.components.push(this.navigationManager)},_createViewCache:function(i){var 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 o.dxCommand?t:new o.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=a,n._callComponentMethod("init").done(function(){n._initState=e;n._processEvent("initialized")}).fail(function(n){throw n||r.Error("E3022");})},_onNavigatingBack:function(n){this._processEvent("navigatingBack",n)},_onNavigating:function(n){var t=this,f,u;if(t._isNavigating){t._pendingNavigationArgs=n;n.cancel=!0;return}if(t._isNavigating=!0,delete t._pendingNavigationArgs,f=this.router.parse(n.uri),!f)throw r.Error("E3001",n.uri);u=this.router.format(f);n.uri!==u&&u?(n.cancel=!0,n.cancelReason="redirect",i.executeAsync(function(){t.navigate(u,n.options)})):t._processEvent("navigating",n)},_onNavigated:function(n){var t=this,u=n.options.direction,f,r=t._acquireViewInfo(n.item,n.options);return r.model||(this._processEvent("beforeViewSetup",{viewInfo:r}),t._createViewModel(r),t._createViewCommands(r),this._processEvent("afterViewSetup",{viewInfo:r})),t._highlightCurrentNavigationCommand(r),f=t._showView(r,u).always(function(){t._isNavigating=!1;var n=t._pendingNavigationArgs;n&&i.executeAsync(function(){t.navigate(n.uri,n.options)})})},_isViewReadyToShow:function(n){return!!n.model},_onNavigationCanceled:function(n){var t=this,r;t._pendingNavigationArgs&&t._pendingNavigationArgs.uri===n.uri||(r=t.navigationManager.currentItem(),r&&i.executeAsync(function(){var i=t._acquireViewInfo(r,n.options);t._highlightCurrentNavigationCommand(i,!0)}),t._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 u=this.router.parse(n.uri),r=this._getViewInfoKey(n,u),i=this.viewCache.getView(r);return i?this._updateViewInfo(i,n,t):(i=this._createViewInfo(n,t),this._obtainViewLink(i),this.viewCache.setView(r,i)),i},_getViewInfoKey:function(n,t){var i={key:n.key,navigationItem:n,routeData:t};return this._processEvent("resolveViewCacheKey",i),i.key},_processEvent:function(n,t,i){this._callComponentMethod(n,t);this.fireEvent(n,t&&[t]);var r=(i||{})[n];r&&r.call(i,t)},_updateViewInfo:function(n,t,i){var r=t.uri,u=this.router.parse(r);n.viewName=u.view;n.routeData=u;n.uri=r;n.navigateOptions=i;n.canBack=this.canBack(i.stack);n.previousViewInfo=this._getPreviousViewInfo(i)},_createViewInfo:function(n,t){var r=n.uri,u=this.router.parse(r),i={key:this._getViewInfoKey(n,u)};return this._updateViewInfo(i,n,t),i},_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 i=n.commands,r=this,u=f,e,o;r._options.useViewTitleAsBackText&&(u=((n.previousViewInfo||{}).model||{}).title||u);e=[new t.framework.dxCommand({id:"back",title:u,behavior:"back",onExecute:function(){r.back({stack:n.navigateOptions.stack})},icon:"arrowleft",type:"back",renderStage:r._options.useViewTitleAsBackText?"onViewRendering":"onViewShown"})];o=t.framework.utils.mergeCommands(e,i);i.length=0;i.push.apply(i,o)},_showView:function(n,r){var u=this,f={viewInfo:n,direction:r,params:n.routeData};return t.data.utils.processRequestResultLock.obtain(),u._showViewImpl(f.viewInfo,f.direction).done(function(){i.executeAsync(function(){t.data.utils.processRequestResultLock.release();u._processEvent("viewShown",f,n.model);u._disposeRemovedViews()})})},_highlightCurrentNavigationCommand:function(t,r){var e=this,u,f=t.model&&t.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,t){var r=t.option("onExecute");if(i.isString(r)&&(r=r.replace(/^#+/,""),r===e.navigationManager.rootUri()))return u=t,!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:s,_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(t,i){var u=this;if(n.isPlainObject(t)&&(t=u.router.format(t),t===!1))throw r.Error("E3002");if(u._initState)if(u._initState===e)(!u._isNavigating||t)&&u.navigationManager.navigate(t,i);else throw r.Error("E3003");else u.init().done(function(){u.restoreState();u.navigate(t,i)})},canBack:function(n){return this.navigationManager.canBack(n)},_getPreviousViewInfo:function(n){var t=this.navigationManager.previousItem(n.stack),i,r;return t&&(r=this.router.parse(t.uri),i=this.viewCache.getView(this._getViewInfoKey(t,r))),i},back:function(n){this.navigationManager.back(n)},saveState:function(){this.stateManager.saveState()},restoreState:function(){this.stateManager.restoreState()},clearState:function(){this.stateManager.clearState()}}).include(h)}(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":{"layout-change":[{animation:"none"},{animation:"ios7-slide",device:{platform:"ios"}},{animation:"pop",device:{platform:"android"}},{animation:"openDoor",device:{deviceType:"phone",platform:"win",version:[8]}},{animation:"win-pop",device:{deviceType:"phone",platform:"win"}}],"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-top":[{animation:"stagger-fade-drop"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}},{animation:"none",device:{platform:"win",version:[10]}}],"command-rendered-bottom":[{animation:"stagger-fade-rise"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}},{animation:"none",device:{platform:"win",version:[10]}}],"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-top":[{animation:"stagger-fade-drop"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"command-rendered-bottom":[{animation:"stagger-fade-rise"},{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-top":[{animation:"stagger-fade-zoom"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"command-rendered-bottom":[{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 u=t.require("/class"),i=t.require("/utils/utils.publicComponent"),f=t.require("/ui/events/ui.events.remove"),r=u.inherit({ctor:function(t,r){this.NAME=this.constructor.publicName();r=r||{};this._$element=n(t).one(f.name,n.proxy(function(){this._dispose()},this));i.attachInstanceToElement(this._$element,this.NAME,this);r.fromCache?this._options=r:(this._options={},this._setDefaultOptions(),r&&this.option(r),this._render())},_setDefaultOptions:n.noop,_render:n.noop,_dispose:n.noop,element:function(){return this._$element},option:function(t,i){if(arguments.length===0)return this._options;if(arguments.length===1){if(typeof t=="string")return this._options[t];i=t;n.extend(this._options,i)}else this._options[t]=i},instance:function(){return this}});r.publicName=i.getName;r.getInstance=function(n){return i.getInstanceByElement(n,this.publicName())};n.extend(t.framework.html,{MarkupComponent:r})}(jQuery,DevExpress),function(n,t){var o=DevExpress.require("/class"),e=t.framework.utils.commandToContainer,s="dxCommandToWidgetAdapter",i=o.inherit({ctor:function(n,t){this.command=n;this.widgetItem=this._createWidgetItem(n,t)},_createWidgetItem:function(t,i){var r=n.extend({},i,t.option()),f=function(n){t.execute(n)},u;return r.text=e.resolveTextValue(t,i),r.icon=e.resolveIconValue(t,i),r.type=e.resolvePropertyValue(t,i,"type"),r.location=e.resolvePropertyValue(t,i,"location"),u=this._createWidgetItemCore(r,f),u.command=t,u},_createWidgetItemCore:function(n){return n},dispose:function(){delete this.command;delete this.widgetItem}}),r=o.inherit({ctor:function(i){this._commandToWidgetItemOptionNames={};this.$widgetElement=i;this.$widgetElement.data(s,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._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.itemData.command&&n.itemData.command.option("visible")&&this._commandRenderedAnimation&&(this._transitionExecutor.enter(n.itemElement,this._commandRenderedAnimation),delete n.itemData.isJustAdded)},_onWidgetContentReady:function(){this.animationDeferred=this._transitionExecutor.start()},_onWidgetDisposing:function(){this.dispose(!0)},_setWidgetItemOption:function(t,i,r){var e=this.widget.option("items"),f=n.inArray(r,n.map(e,function(n){return n.command||{}})),u;f>-1&&(u="items["+f+"].",t!=="visible"&&t!=="location"&&this.widget.option("items["+f+"]").options&&(u+="options."),u+=this._commandToWidgetItemOptionNames[t]||t,this.widget.option(u,i))},_onCommandChanged:function(n){n.name!=="highlighted"&&this._setWidgetItemOption(n.name,n.value,n.component)},_addItemToWidget:function(n){var t=this.widget.option("items");t.push(n.widgetItem);this.widget.element().is(":visible")&&(n.widgetItem.isJustAdded=!0);this.widget.option("items",t)},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(s),delete this.widget,delete this.$widgetElement)}}),u=o.inherit({ctor:function(n){this.createAdapter=n},_getWidgetAdapter:function(n){var t=n.data(s);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()}}),h=i.inherit({_createWidgetItemCore:function(n,t){var i;return n.onClick=t,n.location==="menu"?i=n:(i={location:n.location,visible:n.visible,options:n,widget:"button"},n.visible=!0,delete n.location),i}}),c=r.inherit({ctor:function(n){this.callBase(n);this._commandToWidgetItemOptionNames={title:"text"};this._commandRenderedAnimation=this.widget.option("renderAs")==="topToolbar"?"command-rendered-top":"command-rendered-bottom"},_getWidgetByElement:function(n){return n.dxToolbar("instance")},_createItemWrapper:function(n,t){return new h(n,t)},addCommand:function(n,t){this.widget.option("visible",!0);this.callBase(n,t)}}),l=i.inherit({_createWidgetItemCore:function(n,t){return n.title=n.text,n.onClick=t,n}}),a=r.inherit({_createItemWrapper:function(n,t){return new l(n,t)},_getWidgetByElement:function(n){return n.dxList("instance")}}),v=i.inherit({}),y=r.inherit({ctor:function(t){this.callBase(t);this._commandToWidgetItemOptionNames={title:"text"};this.widget.option("onItemClick",n.proxy(this._onNavBarItemClick,this))},_onNavBarItemClick:function(n){for(var t=this.widget.option("items"),i=t.length;--i;)t[i].command.option("highlighted",!1);n.itemData.command.execute(n)},_getWidgetByElement:function(n){return n.dxNavBar("instance")},_createItemWrapper:function(n,t){return new v(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 i=this.widget.option("items"),t,n=0,r=i.length;n<r;n++)if(t=i[n].command,t&&t.option("highlighted")){this.widget.option("selectedIndex",n);break}}}),p=i.inherit({_createWidgetItemCore:function(n){return n.title=n.text,n}}),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 p(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();this.callBase(n)},_addItemToWidget:function(n){n.command.option("visible")&&this.callBase(n)},_updateSelectedIndex:function(){var r=this.widget,u=r.option("items")||[],n,f,i;for(t.fx.off=!0,n=0,f=u.length;n<f;n++)if(i=u[n].command,i&&i.option("highlighted")){r.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=i.inherit({}),k=r.inherit({ctor:function(t){this.callBase(t);this._commandToWidgetItemOptionNames={title:"text"};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 i=this.widget.option("items")||[],t,n=0,r=i.length;n<r;n++)if(t=i[n].command,t&&t.option("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 c(n)});f.dxList=new u(function(n){return new a(n)});f.dxNavBar=new u(function(n){return new y(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=DevExpress.require("/class"),i=DevExpress.require("/framework/framework.errors"),u=t.require("/componentRegistrator"),f=t.framework.html.MarkupComponent.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")}});u("dxCommandContainer",t.framework,f);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,t){if(n===null)throw i.Error("E3010",t.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,t){i.log("W0002","CommandManager","_arrangeCommandsToContainers","14.1","Use the 'renderCommandsToContainers' method instead.");this.renderCommandsToContainers(n,t)},_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 l=DevExpress.require("/class"),a=t.require("/eventsMixin"),v=DevExpress.require("/framework/framework.errors"),y=t.require("/utils/utils.common"),f=t.require("/utils/utils.dom"),r="__hidden-bag",e=".dx-transition:not(.dx-transition .dx-transition)",p=".dx-content",o="onViewShown",s="dxcontentrendered.layoutController",h=".dx-pending-rendering",c=".dx-pending-rendering-manual",w=function(n){return".dx-transition-"+n},u;t.framework.html.DefaultLayoutController=l.inherit({ctor:function(n){n=n||{};this.name=n.name||"";this._layoutModel=n.layoutModel||{};this._defaultPaneName=n.defaultPaneName||"content";this._transitionDuration=n.transitionDuration===i?400:n.transitionDuration},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.element());this._hideElements(this.element());i.templateContext&&(this._templateContext=i.templateContext,this._proxiedTemplateContextChangedHandler=n.proxy(this._templateContextChangedHandler,this))},activate:function(){if(this._disabledState)return this._disabledState=!1,this._notifyShowing(),n.Deferred().resolve().promise();var t=this.element();return this._showElements(t),this._attachRefreshViewRequiredHandler(),n.Deferred().resolve().promise()},deactivate:function(){return this._disabledState=!1,this._releaseVisibleViews(),this._hideElements(this.element()),this._detachRefreshViewRequiredHandler(),n.Deferred().resolve().promise()},disable:function(){this._disabledState=!0;this._notifyHidden()},activeViewInfo:function(){return this._visibleViews[this._defaultPaneName]},_fireViewEvents:function(t){var i=this;n.each(this._visibleViews,function(n,r){i.fireEvent(t,[r])})},_notifyShowing:function(){this._fireViewEvents("viewShowing")},_notifyShown:function(){this._fireViewEvents("viewShown")},_notifyHidden:function(){this._fireViewEvents("viewHidden")},_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(){var t=this;n.when.apply(n,n.map(t._visibleViews,function(n){return t.showView(n)})).then(function(){t._notifyShown()})},_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"))},element: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(p).remove(),n},_getTransitionElements:function(n){return n.find(e).addBack(e)},showView:function(t,r){r=r||"forward";var u=this,f=u._getPreviousViewInfo(t),e=f===t?f.currentViewTemplateId:i,o;return this._defineCurrentViewTemplateId(t),e&&e===t.currentViewTemplateId&&t===f?(u.fireEvent("viewShowing",[t,r]),o=n.Deferred().resolve().promise()):(u._ensureViewRendered(t),u.fireEvent("viewShowing",[t,r]),o=this._showViewImpl(t,r,e).done(function(){u._onViewShown(t)})),o},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(t,i){var s=this,e=".dx-command,.dx-content,script",u=this._createViewLayoutTemplate(),f,o=!0,r=n();if(t.children(e).length===0&&this._viewEngine._wrapViewDefaultContent(t),f=t.children(),this._applyModelToTransitionElements(u,i.model),this._viewEngine.applyLayout(t,u),f.each(function(t,u){var f=n(u);s._applyTemplate(f,i.model);f.is(e)?o=!1:r=r.add(f)}),r.length&&!o)throw v.Error("E3014",r[0].outerHTML);i.renderResult=i.renderResult||{};i.renderResult.$viewItems=f;i.renderResult.$markup=u},_renderCommands:function(n,t){var i=this._findCommandContainers(n);return 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")||o,u=r[i]=r[i]||[];u.push(t)})},_applyViewCommands:function(t,i){i=i||o;var u=t.commandsToRenderMap[i],f=t.renderResult.$markup,r;return u?(r=this._renderCommands(f,u),delete t.commandsToRenderMap[i]):r=n.Deferred().resolve().promise(),r},_findCommandContainers:function(n){return f.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,s=r._getViewFrame(i),u=i.renderResult.$markup,e=n(),o=[];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(s),function(t,i){var h=n(i),s=u.find(w(h.attr("data-dx-transition-name"))).children(),c={$element:s,animation:h.attr("data-dx-transition-type")};o.push(c);h.append(s);r._showViewElements(s);f.triggerShownEvent(s);e=e.add(s)});r._$mainLayout.append(i.renderResult.$viewItems.filter(".dx-command"));u.remove();i.renderResult.$markup=e;i.renderResult.animationItems=o},_onRenderComplete:function(){},_onViewShown:function(){n(document).trigger("dx.viewchanged")},_enter:function(t,i){var r=this.transitionExecutor;n.each(t,function(n,t){r.enter(t.$element,t.animation,i)})},_leave:function(t,i){var r=this.transitionExecutor;n.each(t,function(n,t){r.leave(t.$element,t.animation,i)})},_doTransition:function(n,t,i){return n&&this._leave(n.renderResult.animationItems,i),this._enter(t.renderResult.animationItems,i),this._showView(t),this.transitionExecutor.start()},_showViewImpl:function(n,t,r){var e=this,o,u=this._getPreviousViewInfo(n),f={direction:t};return u===n&&(u=i),u||(f.duration=0,f.delay=0),o=e._doTransition(u,n,f).then(function(){return e._changeView(n,r)})},_releaseView:function(n){this.fireEvent("viewReleased",[n])},_getReadyForRenderDeferredItems:function(){return n.Deferred().resolve().promise()},_changeView:function(n,t){var i=this,r;return t?i._hideView(n,t):(r=i._getPreviousViewInfo(n),r&&r!==n&&(i._hideView(r),i._releaseView(r)),this._visibleViews[this._getViewPaneName(n.viewTemplateInfo)]=n),this._subscribeToDeferredItems(n),this._getReadyForRenderDeferredItems(n).then(function(){return i._applyViewCommands(n)}).then(function(){return i._renderDeferredItems(n.renderResult.$markup)})},_subscribeToDeferredItems:function(t){var i=this,r=t.renderResult.$markup;r.find(h).add(r.filter(h)).each(function(){var r={viewInfo:t,context:i};n(this).on(s,r,i._onDeferredContentRendered)})},_onDeferredContentRendered:function(t){var i=n(t.target),u=t.data.viewInfo,r=t.data.context;i.off(s,r._onDeferredContentRendered);r._renderCommands(i,u.commands)},_renderDeferredItems:function(t){var f=this,i=n.Deferred(),r=t.find(c).add(t.filter(c)).first(),u;return r.length?(u=r.data("dx-render-delegate"),y.executeAsync(function(){u().then(function(){return f._renderDeferredItems(t)}).then(function(){i.resolve()})})):i.resolve(),i.promise()},_getViewPaneName:function(){return this._defaultPaneName},_hideElements:function(n){n.addClass("dx-fast-hidden")},_showElements:function(n){n.removeClass("dx-fast-hidden")},_hideViewElements:function(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);this.fireEvent("viewHidden",[n])}},_showViewElements:function(n){this._unpatchIDs(n);this._enableInputs(n);n.removeClass("dx-inactive-view").addClass("dx-active-view");this._skipAnimation(n)},_showView:function(n){n.renderResult&&this._showViewElements(n.renderResult.$markup)},_skipAnimation:function(n){n.addClass("dx-skip-animation");for(var t=0;t<n.length;t++)n.eq(t).css("transform");n.removeClass("dx-skip-animation")},_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(a);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 v=DevExpress.require("/class"),s=DevExpress.require("/framework/framework.errors"),r=t.require("/utils/utils.dom"),y=t.require("/utils/utils.common"),f=t.require("/componentRegistrator"),u=t.framework,e=t.framework.html.MarkupComponent,c="MarkupTemplate:",o="dxView",h="dxLayout",l,a;f(o,u,e.inherit({_setDefaultOptions:function(){this.callBase();this.option({name:null,title:null})},ctor:function(){this._id=r.uniqueId();this.callBase.apply(this,arguments)},_render:function(){this.callBase();this.element().addClass("dx-view");this.element().attr("dx-data-template-id",this._id)},getId:function(){return this._id}}),u);f(h,u,e.inherit({_setDefaultOptions:function(){this.callBase();this.option({name:null})},_render:function(){this.callBase();this.element().addClass("dx-layout")}}));f("dxViewPlaceholder",u,e.inherit({_setDefaultOptions:function(){this.callBase();this.option({viewName:null})},_render:function(){this.callBase();this.element().addClass("dx-view-placeholder")}}));l=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)};a=function(n){n.addClass("dx-transition-inner-wrapper")};f("dxTransition",u,e.inherit({_setDefaultOptions:function(){this.callBase();this.option({name:null,type:i,animation:"slide"})},_render:function(){this.callBase();var n=this.element();l(n,this.option("type")||this.option("animation"),this.option("name"),"absolute");n.wrapInner("<div/>");a(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}))};f("dxContentPlaceholder",u,e.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"));l(n,this.option("transition")||this.option("animation"),this.option("name"),this.option("contentCssPosition"))},prepareTransition:function(){t.framework.prepareTransition(this.element(),this.option("name"))}}));f("dxContent",u,e.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);a(n)}}));u.html.ViewEngine=v.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;this._$skippedMarkup=n();t.templatesVersion!==i&&t.templateCacheStorage&&this._isReleaseVersion()&&(this._templateCacheEnabled=!0,this._templatesVersion="v_"+t.templatesVersion,this._templateCacheStorage=t.templateCacheStorage,this._templateCacheKey="dxTemplateCache_"+DevExpress.VERSION+"_"+JSON.stringify(this.device))},_isReleaseVersion:function(){return!/http:\/\/localhost/.test(location.href)},_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,t){var i=this._findComponent(n,t),u,f;if(!i){this._clearCache();throw s.Error("E3013",t,n);}return u=i.element(),i._isStaticComponentsCreated||(r.createComponents(u,["dxContent","dxContentPlaceholder","dxTransition"]),i._isStaticComponentsCreated=!0),f=u.clone().removeClass("dx-hidden")},_clearCache:function(){this._templateCacheStorage.removeItem(this._templateCacheKey)},_loadTemplatesFromMarkupCore:function(t){var i=this,f,u;if(t.find("[data-dx-role]").length)throw s.Error("E3019");i.markupLoaded.fire({markup:t});f=r.createComponents(t,[o,h]);n.each(f,function(n,t){var r=t.element();r.addClass("dx-hidden");i._registerTemplateComponent(t);t.element().detach()});u=t.filter("script");u.appendTo(i.$root);i._$skippedMarkup=i._$skippedMarkup.add(u)},_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(t){var i=this;r.createComponents(t,["dxViewPlaceholder"]);n.each(t.find(".dx-view-placeholder"),function(){var r=n(this),u,t;r.children().length||(u=r.data("dxViewPlaceholder").option("viewName"),t=i._findTemplate(u,o),i._applyPartialViews(t),r.append(t),t.removeClass("dx-hidden"))})},_ajaxImpl:function(){return n.ajax.apply(n,arguments)},_loadTemplatesFromURL:function(t){var f=this,u=this._getLoadOptions(),i=n.Deferred();return t=u.winPhonePrefix+t,this._ajaxImpl({url:t,isLocal:u.isLocal,dataType:"html"}).done(function(n){f._loadTemplatesFromMarkupCore(r.createMarkupFromString(n));i.resolve()}).fail(function(n,r,u){var f=s.Error("E3021",t,u);i.reject(f)}),i.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.element().remove()});t.length=0;t.push.apply(t,i)},_filterTemplates:function(n,t){return y.findBestMatches(n,t,function(n){return n.option()})},_checkMatchedTemplates:function(t){if(t.length>1){var i="";n.each(t,function(n,t){i+=t.element().attr("data-options")+"\r\n"});throw s.Error("E3020",i,JSON.stringify(this.device));}},_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>');r.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},_loadTemplatesFromCache:function(){var t,u,i,f;if(this._templateCacheEnabled){if(u=function(t,i){if(typeof i=="string"&&i.indexOf(c)===0){var u=JSON.parse(i.substr(c.length)),f=u.type,e=u.options,o=r.createMarkupFromString(u.markup);return e.fromCache=!0,o[f](e)[f]("instance")}return t==="skippedMarkup"?n("<div>").append(r.createMarkupFromString(i)).contents():i},i=this._templateCacheStorage.getItem(this._templateCacheKey),i)try{f=JSON.parse(i,u);t=f[this._templatesVersion]}catch(e){this._clearCache()}if(t)return this._templateMap=t.templates,this.$root.append(t.skippedMarkup),!0}},_putTemplatesToCache:function(){if(this._templateCacheEnabled){var i=function(t,i){return i&&i.element?c+JSON.stringify({markup:i.element().prop("outerHTML"),options:i.option(),type:i.NAME}):t==="skippedMarkup"?n("<div>").append(i.clone()).html():i},t={};t[this._templatesVersion]={templates:this._templateMap,skippedMarkup:this._$skippedMarkup};this._templateCacheStorage.setItem(this._templateCacheKey,JSON.stringify(t,i,4))}},init:function(){var t=this;return this._initDefaultLayout(),this._loadTemplatesFromCache()?n.Deferred().resolve().promise():(t._loadTemplatesFromMarkupCore(t.$root.children()),this._loadExternalTemplates().done(function(){t._processTemplates();t._putTemplatesToCache()}))},getViewTemplate:function(n){return this._findTemplate(n,o)},getViewTemplateInfo:function(n){return this._findComponent(n,o)},getLayoutTemplate:function(n){return n?this._findTemplate(n,h):this._getDefaultLayoutTemplate()},getLayoutTemplateInfo:function(n){return this._findComponent(n,h)},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 c=t.require("/component"),r=t.require("/framework/framework.errors"),l=t.require("/utils/utils.viewPort").value,a=t.require("/utils/utils.object"),v=t.require("/utils/utils.dom"),f=t.require("/utils/utils.common"),u=t.require("/devices"),y=t.require("/ui/events/ui.events.emitter.feedback"),e=t.framework,o=e.html,s="dx-viewport",h="layout-change";o.HtmlApplication=e.Application.inherit({ctor:function(i){i=i||{};this.callBase(i);this._$root=n(i.rootNode||document.body);this._initViewport(i.viewPort);this._applicationMode==="mobileApp"&&v.initMobileViewport(i.viewPort);this.device=i.device||u.current();this.commandManager=i.commandManager||new t.framework.html.CommandManager({commandMapping:this.commandMapping});this._initTemplateContext();this.viewEngine=i.viewEngine||new o.ViewEngine({$root:this._$root,device:this.device,templateCacheStorage:i.templateCacheStorage||window.localStorage,templatesVersion:i.templatesVersion,templateContext:this._templateContext});this.components.push(this.viewEngine);this._initMarkupFilters(this.viewEngine);this._layoutSet=i.layoutSet||t.framework.html.layoutSets["default"];this._animationSet=i.animationSet||t.framework.html.animationSets["default"];this._availableLayoutControllers=[];this._activeLayoutControllersStack=[];this.transitionExecutor=new t.TransitionExecutor;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(t){t.each(function(){var t=n(this).html();/href="#/.test(t)&&r.log("W3005",t)})},_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();l(this._$viewPort)},_getViewPort:function(){var t=n("."+s);return t.length||(t=n("<div>").addClass(s).appendTo(this._$root)),t},_initTemplateContext:function(){this._templateContext=new c({orientation:u.orientation()});u.on("orientationChanged",n.proxy(function(n){this._templateContext.option("orientation",n.orientation)},this))},_showViewImpl:function(t,i){var r=this,u=n.Deferred(),f=u.promise(),e=t.layoutController;return r._obtainViewLink(t),e.showView(t,i).done(function(){r._activateLayoutController(e,r._getTargetNode(t),i).done(function(){u.resolve()})}),y.lock(f),f},_resolveLayoutController:function(n){var t={viewInfo:n,layoutController:null,availableLayoutControllers:this._availableLayoutControllers};return this._processEvent("resolveLayoutController",t,n.model),t.layoutController||this._resolveLayoutControllerImpl(n)},_checkLayoutControllerIsInitialized:function(t){if(t){var i=!1;if(n.each(this._layoutSet,function(n,r){if(r.controller===t)return i=!0,!1}),!i)throw r.Error("E3024");}},_ensureOneLayoutControllerFound:function(n,t){var i=function(n,t){return n==="controller"?"[controller]: { name:"+t.name+" }":t};if(!t.length){r.log("W3003",JSON.stringify(n,null,4),JSON.stringify(this._availableLayoutControllers,i,4));throw r.Error("E3011");}if(t.length>1){r.log("W3004",JSON.stringify(n,null,4),JSON.stringify(t,i,4));throw r.Error("E3012");}},_resolveLayoutControllerImpl:function(t){var r=t.viewTemplateInfo||{},e=t.navigateOptions||{},o=n.extend({root:!t.canBack,customResolveRequired:!1,pane:r.pane,modal:e.modal!==i?e.modal:r.modal||!1},u.current()),s=f.findBestMatches(o,this._availableLayoutControllers);return this._ensureOneLayoutControllerFound(o,s),s[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],r=t.activeViewInfo();n.cancel=!0;this._activateLayoutController(t,i,"backward");this.navigationManager.currentItem(r.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,r){var u=this,f=u._activeLayoutController();return f===t?n.Deferred().resolve().promise():t.activate(i).then(n.proxy(this._deactivatePreviousLayoutControllers,this,t,r)).then(function(){u._activeLayoutControllersStack.push(t)})},_deactivatePreviousLayoutControllers:function(t,i){var u=this,f=[],r=u._activeLayoutControllersStack.pop(),e;if(!r)return n.Deferred().resolve().promise();if(t.isOverlay)u._activeLayoutControllersStack.push(r),f.push(r.disable());else{for(var o=n.Deferred(),s=!1,c=function(n,t){return function(){n.deactivate().done(function(){t.resolve()})}};r&&r!==t;)e=n.Deferred(),r.isOverlay?s=!0:u.transitionExecutor.leave(r.element(),h,{direction:i}),o.promise().done(c(r,e)),f.push(e.promise()),r=u._activeLayoutControllersStack.pop();s?o.resolve():(u.transitionExecutor.enter(t.element(),h,{direction:i}),u.transitionExecutor.start().done(function(){o.resolve()}))}return n.when.apply(n,f)},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 n=this.callBase.apply(this,arguments),t=this.getViewTemplateInfo(n.viewName);if(!t)throw r.Error("E3013","dxView",n.viewName);return n.viewTemplateInfo=t,n.layoutController=this._resolveLayoutController(n),n},_createViewModel:function(n){this.callBase(n);a.extendFromObject(n.model,n.viewTemplateInfo)},_initLayoutControllers:function(){var t=this;n.each(t._layoutSet,function(n,i){var r=i.controller,e=u.current();if(f.findBestMatches(e,[i]).length&&(t._availableLayoutControllers.push(i),r.init&&r.init({app:t,$viewPort:t._$viewPort,navigationManager:t.navigationManager,viewEngine:t.viewEngine,templateContext:t._templateContext,commandManager:t.commandManager}),r.on)){r.on("viewReleased",function(n){t._onViewReleased(n)});r.on("viewHidden",function(n){t._onViewHidden(n)});r.on("viewRendered",function(n){t._processEvent("viewRendered",{viewInfo:n},n.model)});r.on("viewShowing",function(n,i){t._processEvent("viewShowing",{viewInfo:n,direction:i,params:n.routeData},n.model)});r.on("viewShown",function(n,i){t._processEvent("viewShown",{viewInfo:n,direction:i,params:n.routeData},n.model)})}})},_onViewReleased:function(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}Globalize.addCultureInfo("el",{messages:{Yes:"Ναι",No:"Όχι",Cancel:"Ακύρωση",Clear:"Καθαρισμός",Done:"Ολοκληρώθηκε",Loading:"Φόρτωση...",Select:"Επιλέξτε...",Search:"Αναζήτηση...",Back:"Πίσω",OK:"OK","dxCollectionWidget-noDataText":"Καμία διαθέσιμη ημερομηνία","validation-required":"Υποχρεωτικό πεδίο","validation-required-formatted":"{0} είναι υποχρεωτικό πεδίο","validation-numeric":"Η τιμή πρέπει να είναι αριθμός","validation-numeric-formatted":"{0} πρέπει να είναι αριθμός","validation-range":"Η τιμή είναι σε μη επιτρεπτά όρια","validation-range-formatted":"{0} είναι σε μη επιτρεπτά όρια","validation-stringLength":"Το μέγεθος της τιμής δεν είναι σωστό","validation-stringLength-formatted":"Το μέγεθος του {0} δεν είναι σωστό","validation-custom":"Η τιμή δεν είναι έγκυρη","validation-custom-formatted":"{0} δεν είναι έγκυρο","validation-compare":"Η τιμή δεν είναι κατάλληλη","validation-compare-formatted":"{0} δεν είναι κατάλληλο","validation-pattern":"Η τιμή δεν ταιριάζει στο πρότυπο","validation-pattern-formatted":"{0} δεν ταιριάζει στο πρότυπο","validation-email":"Η διεύθυνση e-mail δεν είναι έγκυρη","validation-email-formatted":"{0} δεν είναι έγκυρο","validation-mask":"Η τιμή δεν είναι έγκυρη"}});Globalize.addCultureInfo("el",{messages:{"dxLookup-searchPlaceholder":"Ελάχιστος αριθμός: {0}","dxList-pullingDownText":"Τραβήξτε προς τα κάτω για ενημέρωση","dxList-pulledDownText":"Αφήνω για ενημέρωση","dxList-refreshingText":"Ενημέρωση","dxList-pageLoadingText":"Φορτώνει...","dxList-nextButtonText":"Περισσότερα","dxList-selectAll":"Επιλογή όλων","dxListEditDecorator-delete":"Διαγραφή","dxListEditDecorator-more":"Περισσότερα","dxScrollView-pullingDownText":"Τραβήξτε προς τα κάτω για ενημέρωση","dxScrollView-pulledDownText":"Αφήνω για ενημέρωση","dxScrollView-refreshingText":"Ενημέρωση","dxScrollView-reachBottomText":"Φορτώνει...","dxDateBox-simulatedDataPickerTitleTime":"Επιλογή ώρας","dxDateBox-simulatedDataPickerTitleDate":"Επιλογή ημερομηνίας","dxDateBox-simulatedDataPickerTitleDateTime":"Επιλογή ημερομηνίας και ώρας","dxDateBox-validation-datetime":"Η τιμή πρέπει να είναι ημερομηνία ή ώρα","dxFileUploader-selectFile":"Επιλέξτε αρχείο","dxFileUploader-dropFile":"Σύρετε","dxFileUploader-bytes":"Bytes","dxFileUploader-kb":"kb","dxFileUploader-Mb":"Mb","dxFileUploader-Gb":"Gb","dxFileUploader-upload":"Ανέβασμα","dxFileUploader-uploaded":"Ανεβασμένο","dxFileUploader-readyToUpload":"Έτοιμο για ανέβασμα","dxFileUploader-uploadFailedMessage":"Λάθος κατά το ανέβασμα","dxRangeSlider-ariaFrom":"Από","dxRangeSlider-ariaTill":"Έως","dxSwitch-onText":"Μέσα","dxSwitch-offText":"Έξω","dxForm-optionalMark":"Προεραιτικό","dxForm-requiredMessage":"{0} το πεδίο είναι υποχρεωτικό"}});Globalize.addCultureInfo("el",{messages:{"dxDataGrid-columnChooserTitle":"Επιλογή Στήλης","dxDataGrid-columnChooserEmptyText":"Τραβήξτε τη στήλη για να την κρύψετε","dxDataGrid-groupContinuesMessage":"Συνέχεια στην επόμενη σελίδα","dxDataGrid-groupContinuedMessage":"Συνέχεια στην προηγούμενη σελίδα","dxDataGrid-editingEditRow":"Επεξεργασία","dxDataGrid-editingSaveRowChanges":"Αποθήκευση","dxDataGrid-editingCancelRowChanges":"Ακύρωση","dxDataGrid-editingDeleteRow":"Διαγραφή","dxDataGrid-editingUndeleteRow":"Επαναφορά","dxDataGrid-editingConfirmDeleteMessage":"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε τα δεδομένα?","dxDataGrid-editingConfirmDeleteTitle":"","dxDataGrid-validationCancelChanges":"Απόρριψη αλλαγών","dxDataGrid-groupPanelEmptyText":"Σύρετε την επικεφαλίδα μιας στήλης εδώ, ώστε να γίνει η ομαδοποίηση βάσει της επικεφαλίδας","dxDataGrid-noDataText":"Δεν υπάρχουν δεδομένα","dxDataGrid-searchPanelPlaceholder":"Αναζήτηση...","dxDataGrid-filterRowShowAllText":"Όλα","dxDataGrid-filterRowResetOperationText":"Ακύρωση αναζήτησης","dxDataGrid-filterRowOperationEquals":"Ίσο","dxDataGrid-filterRowOperationNotEquals":"Όχι ίσο","dxDataGrid-filterRowOperationLess":"Μικρότερο από","dxDataGrid-filterRowOperationLessOrEquals":"Μικρότερο ή ίσο","dxDataGrid-filterRowOperationGreater":"Μεγαλύτερο από","dxDataGrid-filterRowOperationGreaterOrEquals":"Μεγαλύτερο ή ίσο","dxDataGrid-filterRowOperationStartsWith":"Ξεκινάει με","dxDataGrid-filterRowOperationContains":"Περιέχει","dxDataGrid-filterRowOperationNotContains":"Δεν εμπεριέχει","dxDataGrid-filterRowOperationEndsWith":"Τελειώνει με","dxDataGrid-filterRowOperationBetween":"Ανάμεσα","dxDataGrid-filterRowOperationBetweenStartText":"Αρχή","dxDataGrid-filterRowOperationBetweenEndText":"Τέλος","dxDataGrid-applyFilterText":"Χρήση φίλτρου","dxDataGrid-trueText":"Σωστό","dxDataGrid-falseText":"Λάθος","dxDataGrid-sortingAscendingText":"Αύξουσα ταξινόμηση","dxDataGrid-sortingDescendingText":"Φθίνουσα ταξινόμηση","dxDataGrid-sortingClearText":"Ακύρωση ταξινόμησης","dxDataGrid-editingSaveAllChanges":"Αποθήκευση αλλαγών","dxDataGrid-editingCancelAllChanges":"Απόρριψη αλλαγών","dxDataGrid-editingAddRow":"Νέα γραμμή","dxDataGrid-summaryMin":"Ελάχιστο: {0}","dxDataGrid-summaryMinOtherColumn":"Μικρότερο από {1} είναι {0}","dxDataGrid-summaryMax":"Μέγιστο: {0}","dxDataGrid-summaryMaxOtherColumn":"Μεγαλύτερο από {1} είναι {0}","dxDataGrid-summaryAvg":"Ø: {0}","dxDataGrid-summaryAvgOtherColumn":"Μέσος όρος από {1} είναι {0}","dxDataGrid-summarySum":"Άθροισμα: {0}","dxDataGrid-summarySumOtherColumn":"Άθροισμα από {1} είναι {0}","dxDataGrid-summaryCount":"Αριθμός: {0}","dxDataGrid-columnFixingFix":"Σταθεροποίηση στήλης","dxDataGrid-columnFixingUnfix":"Αποσταθεροποίηση στήλης","dxDataGrid-columnFixingLeftPosition":"Προς τα αριστερά","dxDataGrid-columnFixingRightPosition":"Προς τα δεξιά","dxDataGrid-exportTo":"Εξαγωγή σε","dxDataGrid-exportToExcel":"Εξαγωγή σε αρχείο Excel","dxDataGrid-excelFormat":"Αρχείο Excel","dxDataGrid-selectedRows":"Επιλεγμένες γραμμές","dxDataGrid-headerFilterEmptyValue":"(Κενό)","dxDataGrid-headerFilterOK":"OK","dxDataGrid-headerFilterCancel":"Ακύρωση","dxDataGrid-ariaColumn":"Στήλη","dxDataGrid-ariaValue":"Τιμή","dxDataGrid-ariaFilterCell":"Κελί φίλτρου","dxDataGrid-ariaCollapse":"Κλείνω","dxDataGrid-ariaExpand":"Ανοίγω","dxDataGrid-ariaDataGrid":"Πίνακας δεδομένων","dxDataGrid-ariaSearchInGrid":"Αναζητήστε στον πίνακα δεδομένων","dxDataGrid-ariaSelectAll":"Επιλογή όλων","dxDataGrid-ariaSelectRow":"Επιλογή γραμμής","dxPager-infoText":"Σελίδα {0} από {1} ({2} εγγραφές)","dxPivotGrid-grandTotal":"Σύνολο","dxPivotGrid-total":"{0} Σύνολο","dxPivotGrid-fieldChooserTitle":"Επιλογή πεδίου","dxPivotGrid-showFieldChooser":"Υποβολή επιλογής πεδίου","dxPivotGrid-expandAll":"Άνοιγμα όλων","dxPivotGrid-collapseAll":"Κλείσιμο όλων","dxPivotGrid-sortColumnBySummary":'"{0}" ταξινομήστε μετά τη στήλη',"dxPivotGrid-sortRowBySummary":'"{0}" ταξινομήστε μετά τη γραμμή',"dxPivotGrid-removeAllSorting":"Ακύρωση ταξινόμησης","dxPivotGrid-rowFields":"Πεδία γραμμών","dxPivotGrid-columnFields":"Πεδία στηλών","dxPivotGrid-dataFields":"Πεδία δεδομένων","dxPivotGrid-filterFields":"Πεδία φίλτρου","dxPivotGrid-allFields":"Άλλα πεδία","dxScheduler-editorLabelTitle":"Betreff","dxScheduler-editorLabelStartDate":"Anfangszeit","dxScheduler-editorLabelEndDate":"Endzeit","dxScheduler-editorLabelDescription":"Beschreibung","dxScheduler-editorLabelRecurrence":"Wiederholung","dxScheduler-openAppointment":"Termin öffnen","dxScheduler-recurrenceNever":"Nie","dxScheduler-recurrenceDaily":"Täglich","dxScheduler-recurrenceWeekly":"Wöchentlich","dxScheduler-recurrenceMonthly":"Monatlich","dxScheduler-recurrenceYearly":"Jährlich","dxScheduler-recurrenceEvery":"Alle","dxScheduler-recurrenceEnd":"Wiederholungsende","dxScheduler-recurrenceAfter":"Nach","dxScheduler-recurrenceOn":"Am","dxScheduler-recurrenceRepeatDaily":"Tag(e)","dxScheduler-recurrenceRepeatWeekly":"Woche(n)","dxScheduler-recurrenceRepeatMonthly":"Monat(e)","dxScheduler-recurrenceRepeatYearly":"Jahr(e)","dxScheduler-switcherDay":"Tag","dxScheduler-switcherWeek":"Woche","dxScheduler-switcherWorkWeek":"Arbeitswoche","dxScheduler-switcherMonth":"Monat","dxScheduler-switcherTimelineDay":"Zeitstrahl Tag","dxScheduler-switcherTimelineWeek":"Zeitstrahl Woche","dxScheduler-switcherTimelineWorkWeek":"Zeitstrahl Arbeitswoche","dxScheduler-switcherTimelineMonth":"Zeitstrahl Monat","dxScheduler-recurrenceRepeatOnDate":"am Datum","dxScheduler-recurrenceRepeatCount":"Ereignisse","dxScheduler-allDay":"Ολοήμερος","dxScheduler-confirmRecurrenceEditMessage":"Möchten Sie nur diesen Termin bearbeiten, oder die gesamte Serie?","dxScheduler-confirmRecurrenceDeleteMessage":"Möchten Sie nur diesen Termin löschen, oder die gesamte Serie?","dxScheduler-confirmRecurrenceEditSeries":"Serie bearbeiten","dxScheduler-confirmRecurrenceDeleteSeries":"Serie löschen","dxScheduler-confirmRecurrenceEditOccurrence":"Termin bearbeiten","dxScheduler-confirmRecurrenceDeleteOccurrence":"Η προθεσμία έληξε","dxCalendar-todayButtonText":"Σήμερα","dxCalendar-ariaWidgetName":"Ημερολόγιο","dxColorView-ariaRed":"Κόκκινο","dxColorView-ariaGreen":"Πράσινο","dxColorView-ariaBlue":"Μπλε","dxColorView-ariaAlpha":"Διαφανές","dxColorView-ariaHex":"Ανεξίτηλος"}});!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this;t.JSZip=n()}}(function(){return function n(t,i,r){function u(f,o){var h,c,s;if(!i[f]){if(!t[f]){if(h="function"==typeof require&&require,!o&&h)return h(f,!0);if(e)return e(f,!0);c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c;}s=i[f]={exports:{}};t[f][0].call(s.exports,function(n){var i=t[f][1][n];return u(i?i:n)},s,s.exports,n,t,i,r)}return i[f].exports}for(var e="function"==typeof require&&require,f=0;f<r.length;f++)u(r[f]);return u}({1:[function(n,t){"use strict";function i(n){if(n){this.data=n;this.length=this.data.length;this.index=0;this.zero=0;for(var t=0;t<this.data.length;t++)n[t]=255&n[t]}}var r=n("./dataReader");i.prototype=new r;i.prototype.byteAt=function(n){return this.data[this.zero+n]};i.prototype.lastIndexOfSignature=function(n){for(var i=n.charCodeAt(0),r=n.charCodeAt(1),u=n.charCodeAt(2),f=n.charCodeAt(3),t=this.length-4;t>=0;--t)if(this.data[t]===i&&this.data[t+1]===r&&this.data[t+2]===u&&this.data[t+3]===f)return t-this.zero;return-1};i.prototype.readData=function(n){if(this.checkOffset(n),0===n)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,t};t.exports=i},{"./dataReader":6}],2:[function(n,t,i){"use strict";var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(n){for(var e,t,i,h,c,o,u,s="",f=0;f<n.length;)e=n.charCodeAt(f++),t=n.charCodeAt(f++),i=n.charCodeAt(f++),h=e>>2,c=(3&e)<<4|t>>4,o=(15&t)<<2|i>>6,u=63&i,isNaN(t)?o=u=64:isNaN(i)&&(u=64),s=s+r.charAt(h)+r.charAt(c)+r.charAt(o)+r.charAt(u);return s};i.decode=function(n){var o,s,h,c,f,i,e,u="",t=0;for(n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");t<n.length;)c=r.indexOf(n.charAt(t++)),f=r.indexOf(n.charAt(t++)),i=r.indexOf(n.charAt(t++)),e=r.indexOf(n.charAt(t++)),o=c<<2|f>>4,s=(15&f)<<4|i>>2,h=(3&i)<<6|e,u+=String.fromCharCode(o),64!=i&&(u+=String.fromCharCode(s)),64!=e&&(u+=String.fromCharCode(h));return u}},{}],3:[function(n,t){"use strict";function i(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}i.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};t.exports=i},{}],4:[function(n,t,i){"use strict";i.STORE={magic:"\x00\x00",compress:function(n){return n},uncompress:function(n){return n},compressInputType:null,uncompressInputType:null};i.DEFLATE=n("./flate")},{"./flate":9}],5:[function(n,t){"use strict";var i=n("./utils"),r=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];t.exports=function(n,t){var f,u,h;if("undefined"==typeof n||!n.length)return 0;f="string"!==i.getTypeOf(n);"undefined"==typeof t&&(t=0);var e=0,o=0,s=0;for(t=-1^t,u=0,h=n.length;h>u;u++)s=f?n[u]:n.charCodeAt(u),o=255&(t^s),e=r[o],t=t>>>8^e;return-1^t}},{"./utils":22}],6:[function(n,t){"use strict";function i(){this.data=null;this.length=0;this.index=0;this.zero=0}var r=n("./utils");i.prototype={checkOffset:function(n){this.checkIndex(this.index+n)},checkIndex:function(n){if(this.length<this.zero+n||0>n)throw new Error("End of data reached (data length = "+this.length+", asked index = "+n+"). Corrupted zip ?");},setIndex:function(n){this.checkIndex(n);this.index=n},skip:function(n){this.setIndex(this.index+n)},byteAt:function(){},readInt:function(n){var t,i=0;for(this.checkOffset(n),t=this.index+n-1;t>=this.index;t--)i=(i<<8)+this.byteAt(t);return this.index+=n,i},readString:function(n){return r.transformTo("string",this.readData(n))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var n=this.readInt(4);return new Date((n>>25&127)+1980,(n>>21&15)-1,n>>16&31,n>>11&31,n>>5&63,(31&n)<<1)}};t.exports=i},{"./utils":22}],7:[function(n,t,i){"use strict";i.base64=!1;i.binary=!1;i.dir=!1;i.createFolders=!1;i.date=null;i.compression=null;i.compressionOptions=null;i.comment=null;i.unixPermissions=null;i.dosPermissions=null},{}],8:[function(n,t,i){"use strict";var r=n("./utils");i.string2binary=function(n){return r.string2binary(n)};i.string2Uint8Array=function(n){return r.transformTo("uint8array",n)};i.uint8Array2String=function(n){return r.transformTo("string",n)};i.string2Blob=function(n){var t=r.transformTo("arraybuffer",n);return r.arrayBuffer2Blob(t)};i.arrayBuffer2Blob=function(n){return r.arrayBuffer2Blob(n)};i.transformTo=function(n,t){return r.transformTo(n,t)};i.getTypeOf=function(n){return r.getTypeOf(n)};i.checkSupport=function(n){return r.checkSupport(n)};i.MAX_VALUE_16BITS=r.MAX_VALUE_16BITS;i.MAX_VALUE_32BITS=r.MAX_VALUE_32BITS;i.pretty=function(n){return r.pretty(n)};i.findCompression=function(n){return r.findCompression(n)};i.isRegExp=function(n){return r.isRegExp(n)}},{"./utils":22}],9:[function(n,t,i){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,u=n("pako");i.uncompressInputType=r?"uint8array":"array";i.compressInputType=r?"uint8array":"array";i.magic="\b\x00";i.compress=function(n,t){return u.deflateRaw(n,{level:t.level||-1})};i.uncompress=function(n){return u.inflateRaw(n)}},{pako:25}],10:[function(n,t){"use strict";function i(n,t){return this instanceof i?(this.files={},this.comment=null,this.root="",n&&this.load(n,t),void(this.clone=function(){var t=new i;for(var n in this)"function"!=typeof this[n]&&(t[n]=this[n]);return t})):new i(n,t)}var r=n("./base64");i.prototype=n("./object");i.prototype.load=n("./load");i.support=n("./support");i.defaults=n("./defaults");i.utils=n("./deprecatedPublicUtils");i.base64={encode:function(n){return r.encode(n)},decode:function(n){return r.decode(n)}};i.compressions=n("./compressions");t.exports=i},{"./base64":2,"./compressions":4,"./defaults":7,"./deprecatedPublicUtils":8,"./load":11,"./object":14,"./support":18}],11:[function(n,t){"use strict";var i=n("./base64"),r=n("./utf8"),u=n("./utils"),f=n("./zipEntries");t.exports=function(n,t){var h,o,s,e;for(t=u.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:r.utf8decode}),t.base64&&(n=i.decode(n)),o=new f(n,t),h=o.files,s=0;s<h.length;s++)e=h[s],this.file(e.fileNameStr,e.decompressed,{binary:!0,optimizedBinaryString:!0,date:e.date,dir:e.dir,comment:e.fileCommentStr.length?e.fileCommentStr:null,unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions,createFolders:t.createFolders});return o.zipComment.length&&(this.comment=o.zipComment),this}},{"./base64":2,"./utf8":21,"./utils":22,"./zipEntries":23}],12:[function(n,t){(function(n){"use strict";t.exports=function(t,i){return new n(t,i)};t.exports.test=function(t){return n.isBuffer(t)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],13:[function(n,t){"use strict";function i(n){this.data=n;this.length=this.data.length;this.index=0;this.zero=0}var r=n("./uint8ArrayReader");i.prototype=new r;i.prototype.readData=function(n){this.checkOffset(n);var t=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,t};t.exports=i},{"./uint8ArrayReader":19}],14:[function(n,t){"use strict";var k=n("./support"),i=n("./utils"),e=n("./crc32"),o=n("./signature"),d=n("./defaults"),a=n("./base64"),s=n("./compressions"),f=n("./compressedObject"),g=n("./nodeBuffer"),u=n("./utf8"),nt=n("./stringWriter"),tt=n("./uint8ArrayWriter"),v=function(n){if(n._data instanceof f&&(n._data=n._data.getContent(),n.options.binary=!0,n.options.base64=!1,"uint8array"===i.getTypeOf(n._data))){var t=n._data;n._data=new Uint8Array(t.length);0!==t.length&&n._data.set(t,0)}return n._data},h=function(n){var t=v(n),r=i.getTypeOf(t);return"string"===r?!n.options.binary&&k.nodebuffer?g(t,"utf-8"):n.asBinary():t},y=function(n){var t=v(this);return null===t||"undefined"==typeof t?"":(this.options.base64&&(t=a.decode(t)),t=n&&this.options.binary?l.utf8decode(t):i.transformTo("string",t),n||this.options.binary||(t=i.transformTo("string",l.utf8encode(t))),t)},c=function(n,t,i){this.name=n;this.dir=i.dir;this.date=i.date;this.comment=i.comment;this.unixPermissions=i.unixPermissions;this.dosPermissions=i.dosPermissions;this._data=t;this.options=i;this._initialMetadata={dir:i.dir,date:i.date}};c.prototype={asText:function(){return y.call(this,!0)},asBinary:function(){return y.call(this,!1)},asNodeBuffer:function(){var n=h(this);return i.transformTo("nodebuffer",n)},asUint8Array:function(){var n=h(this);return i.transformTo("uint8array",n)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var r=function(n,t){for(var r="",i=0;t>i;i++)r+=String.fromCharCode(255&n),n>>>=8;return r},it=function(n){return n=n||{},n.base64!==!0||null!==n.binary&&void 0!==n.binary||(n.binary=!0),n=i.extend(n,d),n.date=n.date||new Date,null!==n.compression&&(n.compression=n.compression.toUpperCase()),n},p=function(n,t,r){var o,u=i.getTypeOf(t),e;if(r=it(r),"string"==typeof r.unixPermissions&&(r.unixPermissions=parseInt(r.unixPermissions,8)),r.unixPermissions&&16384&r.unixPermissions&&(r.dir=!0),r.dosPermissions&&16&r.dosPermissions&&(r.dir=!0),r.dir&&(n=w(n)),r.createFolders&&(o=rt(n))&&b.call(this,o,!0),r.dir||null===t||"undefined"==typeof t)r.base64=!1,r.binary=!1,t=null,u=null;else if("string"===u)r.binary&&!r.base64&&r.optimizedBinaryString!==!0&&(t=i.string2binary(t));else{if(r.base64=!1,r.binary=!0,!(u||t instanceof f))throw new Error("The data of '"+n+"' is in an unsupported format !");"arraybuffer"===u&&(t=i.transformTo("uint8array",t))}return e=new c(n,t,r),this.files[n]=e,e},rt=function(n){"/"==n.slice(-1)&&(n=n.substring(0,n.length-1));var t=n.lastIndexOf("/");return t>0?n.substring(0,t):""},w=function(n){return"/"!=n.slice(-1)&&(n+="/"),n},b=function(n,t){return t="undefined"!=typeof t?t:!1,n=w(n),this.files[n]||p.call(this,n,null,{dir:!0,createFolders:t}),this.files[n]},ut=function(n,t,r){var o,u=new f;return n._data instanceof f?(u.uncompressedSize=n._data.uncompressedSize,u.crc32=n._data.crc32,0===u.uncompressedSize||n.dir?(t=s.STORE,u.compressedContent="",u.crc32=0):n._data.compressionMethod===t.magic?u.compressedContent=n._data.getCompressedContent():(o=n._data.getContent(),u.compressedContent=t.compress(i.transformTo(t.compressInputType,o),r))):(o=h(n),o&&0!==o.length&&!n.dir||(t=s.STORE,o=""),u.uncompressedSize=o.length,u.crc32=e(o),u.compressedContent=t.compress(i.transformTo(t.compressInputType,o),r)),u.compressedSize=u.compressedContent.length,u.compressionMethod=t.magic,u},ft=function(n,t){var i=n;return n||(i=t?16893:33204),(65535&i)<<16},et=function(n){return 63&(n||0)},ot=function(n,t,f,s,h,c){var v,y,b,a,at=(f.compressedContent,c!==u.utf8encode),k=i.transformTo("string",c(t.name)),rt=i.transformTo("string",u.utf8encode(t.name)),g=t.comment||"",nt=i.transformTo("string",c(g)),ut=i.transformTo("string",u.utf8encode(g)),ot=rt.length!==t.name.length,st=ut.length!==g.length,ht=t.options,p="",tt="",it="",w,d,l,ct,lt;return b=t._initialMetadata.dir!==t.dir?t.dir:ht.dir,a=t._initialMetadata.date!==t.date?t.date:ht.date,w=0,d=0,b&&(w|=16),"UNIX"===h?(d=798,w|=ft(t.unixPermissions,b)):(d=20,w|=et(t.dosPermissions,b)),v=a.getHours(),v<<=6,v|=a.getMinutes(),v<<=5,v|=a.getSeconds()/2,y=a.getFullYear()-1980,y<<=4,y|=a.getMonth()+1,y<<=5,y|=a.getDate(),ot&&(tt=r(1,1)+r(e(k),4)+rt,p+="up"+r(tt.length,2)+tt),st&&(it=r(1,1)+r(this.crc32(nt),4)+ut,p+="uc"+r(it.length,2)+it),l="",l+="\n\x00",l+=at||!ot&&!st?"\x00\x00":"\x00\b",l+=f.compressionMethod,l+=r(v,2),l+=r(y,2),l+=r(f.crc32,4),l+=r(f.compressedSize,4),l+=r(f.uncompressedSize,4),l+=r(k.length,2),l+=r(p.length,2),ct=o.LOCAL_FILE_HEADER+l+k+p,lt=o.CENTRAL_FILE_HEADER+r(d,2)+l+r(nt.length,2)+"\x00\x00\x00\x00"+r(w,4)+r(s,4)+k+p+nt,{fileRecord:ct,dirRecord:lt,compressedObject:f}},l={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?");},filter:function(n){var t,f,r,u,e=[];for(t in this.files)this.files.hasOwnProperty(t)&&(r=this.files[t],u=new c(r.name,r._data,i.extend(r.options)),f=t.slice(this.root.length,t.length),t.slice(0,this.root.length)===this.root&&n(f,u)&&e.push(u));return e},file:function(n,t,r){if(1===arguments.length){if(i.isRegExp(n)){var u=n;return this.filter(function(n,t){return!t.dir&&u.test(n)})}return this.filter(function(t,i){return!i.dir&&t===n})[0]||null}return n=this.root+n,p.call(this,n,t,r),this},folder:function(n){if(!n)return this;if(i.isRegExp(n))return this.filter(function(t,i){return i.dir&&n.test(t)});var r=this.root+n,u=b.call(this,r),t=this.clone();return t.root=u.name,t},remove:function(n){var t,r,i;if(n=this.root+n,t=this.files[n],t||("/"!=n.slice(-1)&&(n+="/"),t=this.files[n]),t&&!t.dir)delete this.files[n];else for(r=this.filter(function(t,i){return i.name.slice(0,n.length)===n}),i=0;i<r.length;i++)delete this.files[r[i].name];return this},generate:function(n){var p,l,v,h;n=i.extend(n||{},{base64:!0,compression:"STORE",compressionOptions:null,type:"base64",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:u.utf8encode});i.checkSupport(n.type);"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX");"win32"===n.platform&&(n.platform="DOS");var e,t,f=[],c=0,y=0,k=i.transformTo("string",n.encodeFileName(n.comment||this.comment||""));for(p in this.files)if(this.files.hasOwnProperty(p)){var w=this.files[p],d=w.options.compression||n.compression.toUpperCase(),g=s[d];if(!g)throw new Error(d+" is not a valid compression method !");var rt=w.options.compressionOptions||n.compressionOptions||{},it=ut.call(this,w,g,rt),b=ot.call(this,p,w,it,c,n.platform,n.encodeFileName);c+=b.fileRecord.length+it.compressedSize;y+=b.dirRecord.length;f.push(b)}for(l="",l=o.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+r(f.length,2)+r(f.length,2)+r(y,4)+r(c,4)+r(k.length,2)+k,v=n.type.toLowerCase(),e="uint8array"===v||"arraybuffer"===v||"blob"===v||"nodebuffer"===v?new tt(c+y+l.length):new nt(c+y+l.length),t=0;t<f.length;t++)e.append(f[t].fileRecord),e.append(f[t].compressedObject.compressedContent);for(t=0;t<f.length;t++)e.append(f[t].dirRecord);e.append(l);h=e.finalize();switch(n.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return i.transformTo(n.type.toLowerCase(),h);case"blob":return i.arrayBuffer2Blob(i.transformTo("arraybuffer",h),n.mimeType);case"base64":return n.base64?a.encode(h):h;default:return h}},crc32:function(n,t){return e(n,t)},utf8encode:function(n){return i.transformTo("string",u.utf8encode(n))},utf8decode:function(n){return u.utf8decode(n)}};t.exports=l},{"./base64":2,"./compressedObject":3,"./compressions":4,"./crc32":5,"./defaults":7,"./nodeBuffer":12,"./signature":15,"./stringWriter":17,"./support":18,"./uint8ArrayWriter":20,"./utf8":21,"./utils":22}],15:[function(n,t,i){"use strict";i.LOCAL_FILE_HEADER="PK\x03\x04";i.CENTRAL_FILE_HEADER="PK\x01\x02";i.CENTRAL_DIRECTORY_END="PK\x05\x06";i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07";i.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06";i.DATA_DESCRIPTOR="PK\x07\b"},{}],16:[function(n,t){"use strict";function i(n,t){this.data=n;t||(this.data=u.string2binary(this.data));this.length=this.data.length;this.index=0;this.zero=0}var r=n("./dataReader"),u=n("./utils");i.prototype=new r;i.prototype.byteAt=function(n){return this.data.charCodeAt(this.zero+n)};i.prototype.lastIndexOfSignature=function(n){return this.data.lastIndexOf(n)-this.zero};i.prototype.readData=function(n){this.checkOffset(n);var t=this.data.slice(this.zero+this.index,this.zero+this.index+n);return this.index+=n,t};t.exports=i},{"./dataReader":6,"./utils":22}],17:[function(n,t){"use strict";var r=n("./utils"),i=function(){this.data=[]};i.prototype={append:function(n){n=r.transformTo("string",n);this.data.push(n)},finalize:function(){return this.data.join("")}};t.exports=i},{"./utils":22}],18:[function(n,t,i){(function(n){"use strict";var t,u,r;if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,i.nodebuffer="undefined"!=typeof n,i.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)i.blob=!1;else{t=new ArrayBuffer(0);try{i.blob=0===new Blob([t],{type:"application/zip"}).size}catch(f){try{u=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder;r=new u;r.append(t);i.blob=0===r.getBlob("application/zip").size}catch(f){i.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],19:[function(n,t){"use strict";function i(n){n&&(this.data=n,this.length=this.data.length,this.index=0,this.zero=0)}var r=n("./arrayReader");i.prototype=new r;i.prototype.readData=function(n){if(this.checkOffset(n),0===n)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+n);return this.index+=n,t};t.exports=i},{"./arrayReader":1}],20:[function(n,t){"use strict";var r=n("./utils"),i=function(n){this.data=new Uint8Array(n);this.index=0};i.prototype={append:function(n){0!==n.length&&(n=r.transformTo("uint8array",n),this.data.set(n,this.index),this.index+=n.length)},finalize:function(){return this.data}};t.exports=i},{"./utils":22}],21:[function(n,t,i){"use strict";for(var e=n("./utils"),u=n("./support"),s=n("./nodeBuffer"),f=new Array(256),r=0;256>r;r++)f[r]=r>=252?6:r>=248?5:r>=240?4:r>=224?3:r>=192?2:1;f[254]=f[254]=1;var h=function(n){for(var r,t,e,f,s=n.length,o=0,i=0;s>i;i++)t=n.charCodeAt(i),55296==(64512&t)&&s>i+1&&(e=n.charCodeAt(i+1),56320==(64512&e)&&(t=65536+(t-55296<<10)+(e-56320),i++)),o+=128>t?1:2048>t?2:65536>t?3:4;for(r=u.uint8array?new Uint8Array(o):new Array(o),f=0,i=0;o>f;i++)t=n.charCodeAt(i),55296==(64512&t)&&s>i+1&&(e=n.charCodeAt(i+1),56320==(64512&e)&&(t=65536+(t-55296<<10)+(e-56320),i++)),128>t?r[f++]=t:2048>t?(r[f++]=192|t>>>6,r[f++]=128|63&t):65536>t?(r[f++]=224|t>>>12,r[f++]=128|t>>>6&63,r[f++]=128|63&t):(r[f++]=240|t>>>18,r[f++]=128|t>>>12&63,r[f++]=128|t>>>6&63,r[f++]=128|63&t);return r},c=function(n,t){var i;for(t=t||n.length,t>n.length&&(t=n.length),i=t-1;i>=0&&128==(192&n[i]);)i--;return 0>i?t:0===i?t:i+f[n[i]]>t?i:t},o=function(n){for(var t,u,s=n.length,i=new Array(2*s),r=0,o=0;s>o;)if(t=n[o++],128>t)i[r++]=t;else if(u=f[t],u>4)i[r++]=65533,o+=u-1;else{for(t&=2===u?31:3===u?15:7;u>1&&s>o;)t=t<<6|63&n[o++],u--;u>1?i[r++]=65533:65536>t?i[r++]=t:(t-=65536,i[r++]=55296|t>>10&1023,i[r++]=56320|1023&t)}return i.length!==r&&(i.subarray?i=i.subarray(0,r):i.length=r),e.applyFromCharCode(i)};i.utf8encode=function(n){return u.nodebuffer?s(n,"utf-8"):h(n)};i.utf8decode=function(n){var i;if(u.nodebuffer)return e.transformTo("nodebuffer",n).toString("utf-8");n=e.transformTo(u.uint8array?"uint8array":"array",n);for(var r=[],t=0,f=n.length;f>t;)i=c(n,Math.min(t+65536,f)),u.uint8array?r.push(o(n.subarray(t,i))):r.push(o(n.slice(t,i))),t=i;return r.join("")}},{"./nodeBuffer":12,"./support":18,"./utils":22}],22:[function(n,t,i){"use strict";function f(n){return n}function c(n,t){for(var i=0;i<n.length;++i)t[i]=255&n.charCodeAt(i);return t}function e(n){var t=65536,e=[],o=n.length,s=i.getTypeOf(n),r=0,c=!0,h,f;try{switch(s){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,u(0))}}catch(l){c=!1}if(!c){for(h="",f=0;f<n.length;f++)h+=String.fromCharCode(n[f]);return h}for(;o>r&&t>1;)try{"array"===s||"nodebuffer"===s?e.push(String.fromCharCode.apply(null,n.slice(r,Math.min(r+t,o)))):e.push(String.fromCharCode.apply(null,n.subarray(r,Math.min(r+t,o))));r+=t}catch(l){t=Math.floor(t/2)}return e.join("")}function o(n,t){for(var i=0;i<n.length;i++)t[i]=n[i];return t}var s=n("./support"),h=n("./compressions"),u=n("./nodeBuffer"),r;i.string2binary=function(n){for(var i="",t=0;t<n.length;t++)i+=String.fromCharCode(255&n.charCodeAt(t));return i};i.arrayBuffer2Blob=function(n,t){i.checkSupport("blob");t=t||"application/zip";try{return new Blob([n],{type:t})}catch(f){try{var u=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new u;return r.append(n),r.getBlob(t)}catch(f){throw new Error("Bug : can't construct the Blob.");}}};i.applyFromCharCode=e;r={};r.string={string:f,array:function(n){return c(n,new Array(n.length))},arraybuffer:function(n){return r.string.uint8array(n).buffer},uint8array:function(n){return c(n,new Uint8Array(n.length))},nodebuffer:function(n){return c(n,u(n.length))}};r.array={string:e,array:f,arraybuffer:function(n){return new Uint8Array(n).buffer},uint8array:function(n){return new Uint8Array(n)},nodebuffer:function(n){return u(n)}};r.arraybuffer={string:function(n){return e(new Uint8Array(n))},array:function(n){return o(new Uint8Array(n),new Array(n.byteLength))},arraybuffer:f,uint8array:function(n){return new Uint8Array(n)},nodebuffer:function(n){return u(new Uint8Array(n))}};r.uint8array={string:e,array:function(n){return o(n,new Array(n.length))},arraybuffer:function(n){return n.buffer},uint8array:f,nodebuffer:function(n){return u(n)}};r.nodebuffer={string:e,array:function(n){return o(n,new Array(n.length))},arraybuffer:function(n){return r.nodebuffer.uint8array(n).buffer},uint8array:function(n){return o(n,new Uint8Array(n.length))},nodebuffer:f};i.transformTo=function(n,t){if(t||(t=""),!n)return t;i.checkSupport(n);var u=i.getTypeOf(t);return r[u][n](t)};i.getTypeOf=function(n){return"string"==typeof n?"string":"[object Array]"===Object.prototype.toString.call(n)?"array":s.nodebuffer&&u.test(n)?"nodebuffer":s.uint8array&&n instanceof Uint8Array?"uint8array":s.arraybuffer&&n instanceof ArrayBuffer?"arraybuffer":void 0};i.checkSupport=function(n){var t=s[n.toLowerCase()];if(!t)throw new Error(n+" is not supported by this browser");};i.MAX_VALUE_16BITS=65535;i.MAX_VALUE_32BITS=-1;i.pretty=function(n){for(var i,r="",t=0;t<(n||"").length;t++)i=n.charCodeAt(t),r+="\\x"+(16>i?"0":"")+i.toString(16).toUpperCase();return r};i.findCompression=function(n){for(var t in h)if(h.hasOwnProperty(t)&&h[t].magic===n)return h[t];return null};i.isRegExp=function(n){return"[object RegExp]"===Object.prototype.toString.call(n)};i.extend=function(){for(var t,i={},n=0;n<arguments.length;n++)for(t in arguments[n])arguments[n].hasOwnProperty(t)&&"undefined"==typeof i[t]&&(i[t]=arguments[n][t]);return i}},{"./compressions":4,"./nodeBuffer":12,"./support":18}],23:[function(n,t){"use strict";function f(n,t){this.files=[];this.loadOptions=t;n&&this.load(n)}var e=n("./stringReader"),o=n("./nodeBufferReader"),s=n("./uint8ArrayReader"),h=n("./arrayReader"),i=n("./utils"),r=n("./signature"),c=n("./zipEntry"),u=n("./support");n("./object");f.prototype={checkSignature:function(n){var t=this.reader.readString(4);if(t!==n)throw new Error("Corrupted zip or bug : unexpected signature ("+i.pretty(t)+", expected "+i.pretty(n)+")");},isSignature:function(n,t){var u=this.reader.index,i,r;return this.reader.setIndex(n),i=this.reader.readString(4),r=i===t,this.reader.setIndex(u),r},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2);this.diskWithCentralDirStart=this.reader.readInt(2);this.centralDirRecordsOnThisDisk=this.reader.readInt(2);this.centralDirRecords=this.reader.readInt(2);this.centralDirSize=this.reader.readInt(4);this.centralDirOffset=this.reader.readInt(4);this.zipCommentLength=this.reader.readInt(2);var n=this.reader.readData(this.zipCommentLength),t=u.uint8array?"uint8array":"array",r=i.transformTo(t,n);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8);this.versionMadeBy=this.reader.readString(2);this.versionNeeded=this.reader.readInt(2);this.diskNumber=this.reader.readInt(4);this.diskWithCentralDirStart=this.reader.readInt(4);this.centralDirRecordsOnThisDisk=this.reader.readInt(8);this.centralDirRecords=this.reader.readInt(8);this.centralDirSize=this.reader.readInt(8);this.centralDirOffset=this.reader.readInt(8);this.zip64ExtensibleData={};for(var n,t,i,r=this.zip64EndOfCentralSize-44;r>0;)n=this.reader.readInt(2),t=this.reader.readInt(4),i=this.reader.readString(t),this.zip64ExtensibleData[n]={id:n,length:t,value:i}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported");},readLocalFiles:function(){for(var n,t=0;t<this.files.length;t++)n=this.files[t],this.reader.setIndex(n.localHeaderOffset),this.checkSignature(r.LOCAL_FILE_HEADER),n.readLocalPart(this.reader),n.handleUTF8(),n.processAttributes()},readCentralDir:function(){var n;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===r.CENTRAL_FILE_HEADER;)n=new c({zip64:this.zip64},this.loadOptions),n.readCentralPart(this.reader),this.files.push(n);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length);},readEndOfCentral:function(){var n=this.reader.lastIndexOfSignature(r.CENTRAL_DIRECTORY_END),e,f,u,t;if(0>n){e=!this.isSignature(0,r.LOCAL_FILE_HEADER);throw e?new Error("Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip : can't find end of central directory");}if(this.reader.setIndex(n),f=n,this.checkSignature(r.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,n=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR),0>n)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(n),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,r.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip : can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_END);this.readBlockZip64EndOfCentral()}if(u=this.centralDirOffset+this.centralDirSize,this.zip64&&(u+=20,u+=12+this.zip64EndOfCentralSize),t=f-u,t>0)this.isSignature(f,r.CENTRAL_FILE_HEADER)||(this.reader.zero=t);else if(0>t)throw new Error("Corrupted zip: missing "+Math.abs(t)+" bytes.");},prepareReader:function(n){var t=i.getTypeOf(n);if(i.checkSupport(t),"string"!==t||u.uint8array)if("nodebuffer"===t)this.reader=new o(n);else if(u.uint8array)this.reader=new s(i.transformTo("uint8array",n));else{if(!u.array)throw new Error("Unexpected error: unsupported type '"+t+"'");this.reader=new h(i.transformTo("array",n))}else this.reader=new e(n,this.loadOptions.optimizedBinaryString)},load:function(n){this.prepareReader(n);this.readEndOfCentral();this.readCentralDir();this.readLocalFiles()}};t.exports=f},{"./arrayReader":1,"./nodeBufferReader":13,"./object":14,"./signature":15,"./stringReader":16,"./support":18,"./uint8ArrayReader":19,"./utils":22,"./zipEntry":24}],24:[function(n,t){"use strict";function f(n,t){this.options=n;this.loadOptions=t}var u=n("./stringReader"),i=n("./utils"),e=n("./compressedObject"),r=n("./object"),o=n("./support"),s=0,h=3;f.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},prepareCompressedContent:function(n,t,i){return function(){var u=n.index,r;return n.setIndex(t),r=n.readData(i),n.setIndex(u),r}},prepareContent:function(n,t,r,u,f){return function(){var t=i.transformTo(u.uncompressInputType,this.getCompressedContent()),n=u.uncompress(t);if(n.length!==f)throw new Error("Bug : uncompressed data size mismatch");return n}},readLocalPart:function(n){var t,u;if(n.skip(22),this.fileNameLength=n.readInt(2),u=n.readInt(2),this.fileName=n.readData(this.fileNameLength),n.skip(u),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(t=i.findCompression(this.compressionMethod),null===t)throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");if(this.decompressed=new e,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(n,n.index,this.compressedSize,t),this.decompressed.getContent=this.prepareContent(n,n.index,this.compressedSize,t,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=i.transformTo("string",this.decompressed.getContent()),r.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch");},readCentralPart:function(n){if(this.versionMadeBy=n.readInt(2),this.versionNeeded=n.readInt(2),this.bitFlag=n.readInt(2),this.compressionMethod=n.readString(2),this.date=n.readDate(),this.crc32=n.readInt(4),this.compressedSize=n.readInt(4),this.uncompressedSize=n.readInt(4),this.fileNameLength=n.readInt(2),this.extraFieldsLength=n.readInt(2),this.fileCommentLength=n.readInt(2),this.diskNumberStart=n.readInt(2),this.internalFileAttributes=n.readInt(2),this.externalFileAttributes=n.readInt(4),this.localHeaderOffset=n.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=n.readData(this.fileNameLength);this.readExtraFields(n);this.parseZIP64ExtraField(n);this.fileComment=n.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null;this.dosPermissions=null;var n=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes);n===s&&(this.dosPermissions=63&this.externalFileAttributes);n===h&&(this.unixPermissions=this.externalFileAttributes>>16&65535);this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var n=new u(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=n.readInt(8));this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=n.readInt(8));this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=n.readInt(8));this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=n.readInt(4))}},readExtraFields:function(n){var t,i,r,u=n.index;for(this.extraFields=this.extraFields||{};n.index<u+this.extraFieldsLength;)t=n.readInt(2),i=n.readInt(2),r=n.readString(i),this.extraFields[t]={id:t,length:i,value:r}},handleUTF8:function(){var u=o.uint8array?"uint8array":"array",n,f,t,e;this.useUTF8()?(this.fileNameStr=r.utf8decode(this.fileName),this.fileCommentStr=r.utf8decode(this.fileComment)):(n=this.findExtraFieldUnicodePath(),null!==n?this.fileNameStr=n:(f=i.transformTo(u,this.fileName),this.fileNameStr=this.loadOptions.decodeFileName(f)),t=this.findExtraFieldUnicodeComment(),null!==t?this.fileCommentStr=t:(e=i.transformTo(u,this.fileComment),this.fileCommentStr=this.loadOptions.decodeFileName(e)))},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789],n;return t?(n=new u(t.value),1!==n.readInt(1)?null:r.crc32(this.fileName)!==n.readInt(4)?null:r.utf8decode(n.readString(t.length-5))):null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461],n;return t?(n=new u(t.value),1!==n.readInt(1)?null:r.crc32(this.fileComment)!==n.readInt(4)?null:r.utf8decode(n.readString(t.length-5))):null}};t.exports=f},{"./compressedObject":3,"./object":14,"./stringReader":16,"./support":18,"./utils":22}],25:[function(n,t){"use strict";var r=n("./lib/utils/common").assign,u=n("./lib/deflate"),f=n("./lib/inflate"),e=n("./lib/zlib/constants"),i={};r(i,u,f,e);t.exports=i},{"./lib/deflate":26,"./lib/inflate":27,"./lib/utils/common":28,"./lib/zlib/constants":31}],26:[function(n,t,i){"use strict";function r(n){var t,i;if(!(this instanceof r))return new r(n);if(this.options=u.assign({level:k,method:g,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},n||{}),t=this.options,t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new p,this.strm.avail_out=0,i=e.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy),i!==f)throw new Error(y[i]);t.header&&e.deflateSetHeader(this.strm,t.header)}function o(n,t){var i=new r(t);if(i.push(n,!0),i.err)throw i.msg;return i.result}function a(n,t){return t=t||{},t.raw=!0,o(n,t)}function v(n,t){return t=t||{},t.gzip=!0,o(n,t)}var e=n("./zlib/deflate"),u=n("./utils/common"),h=n("./utils/strings"),y=n("./zlib/messages"),p=n("./zlib/zstream"),w=Object.prototype.toString,b=0,s=4,f=0,c=1,l=2,k=-1,d=0,g=8;r.prototype.push=function(n,t){var r,o,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:t===!0?s:b;i.input="string"==typeof n?h.string2buf(n):"[object ArrayBuffer]"===w.call(n)?new Uint8Array(n):n;i.next_in=0;i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new u.Buf8(a),i.next_out=0,i.avail_out=a),r=e.deflate(i,o),r!==c&&r!==f)return this.onEnd(r),this.ended=!0,!1;0!==i.avail_out&&(0!==i.avail_in||o!==s&&o!==l)||("string"===this.options.to?this.onData(h.buf2binstring(u.shrinkBuf(i.output,i.next_out))):this.onData(u.shrinkBuf(i.output,i.next_out)))}while((i.avail_in>0||0===i.avail_out)&&r!==c);return o===s?(r=e.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===f):o===l?(this.onEnd(f),i.avail_out=0,!0):!0};r.prototype.onData=function(n){this.chunks.push(n)};r.prototype.onEnd=function(n){n===f&&(this.result="string"===this.options.to?this.chunks.join(""):u.flattenChunks(this.chunks));this.chunks=[];this.err=n;this.msg=this.strm.msg};i.Deflate=r;i.deflate=o;i.deflateRaw=a;i.gzip=v},{"./utils/common":28,"./utils/strings":29,"./zlib/deflate":33,"./zlib/messages":38,"./zlib/zstream":40}],27:[function(n,t,i){"use strict";function u(n){var t,i;if(!(this instanceof u))return new u(n);if(this.options=f.assign({chunkSize:16384,windowBits:0,to:""},n||{}),t=this.options,t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||n&&n.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0,i=e.inflateInit2(this.strm,t.windowBits),i!==r.Z_OK)throw new Error(c[i]);this.header=new a;e.inflateGetHeader(this.strm,this.header)}function o(n,t){var i=new u(t);if(i.push(n,!0),i.err)throw i.msg;return i.result}function h(n,t){return t=t||{},t.raw=!0,o(n,t)}var e=n("./zlib/inflate"),f=n("./utils/common"),s=n("./utils/strings"),r=n("./zlib/constants"),c=n("./zlib/messages"),l=n("./zlib/zstream"),a=n("./zlib/gzheader"),v=Object.prototype.toString;u.prototype.push=function(n,t){var u,o,c,h,y,i=this.strm,l=this.options.chunkSize,a=!1;if(this.ended)return!1;o=t===~~t?t:t===!0?r.Z_FINISH:r.Z_NO_FLUSH;i.input="string"==typeof n?s.binstring2buf(n):"[object ArrayBuffer]"===v.call(n)?new Uint8Array(n):n;i.next_in=0;i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new f.Buf8(l),i.next_out=0,i.avail_out=l),u=e.inflate(i,r.Z_NO_FLUSH),u===r.Z_BUF_ERROR&&a===!0&&(u=r.Z_OK,a=!1),u!==r.Z_STREAM_END&&u!==r.Z_OK)return this.onEnd(u),this.ended=!0,!1;i.next_out&&(0!==i.avail_out&&u!==r.Z_STREAM_END&&(0!==i.avail_in||o!==r.Z_FINISH&&o!==r.Z_SYNC_FLUSH)||("string"===this.options.to?(c=s.utf8border(i.output,i.next_out),h=i.next_out-c,y=s.buf2string(i.output,c),i.next_out=h,i.avail_out=l-h,h&&f.arraySet(i.output,i.output,c,h,0),this.onData(y)):this.onData(f.shrinkBuf(i.output,i.next_out))));0===i.avail_in&&0===i.avail_out&&(a=!0)}while((i.avail_in>0||0===i.avail_out)&&u!==r.Z_STREAM_END);return u===r.Z_STREAM_END&&(o=r.Z_FINISH),o===r.Z_FINISH?(u=e.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===r.Z_OK):o===r.Z_SYNC_FLUSH?(this.onEnd(r.Z_OK),i.avail_out=0,!0):!0};u.prototype.onData=function(n){this.chunks.push(n)};u.prototype.onEnd=function(n){n===r.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):f.flattenChunks(this.chunks));this.chunks=[];this.err=n;this.msg=this.strm.msg};i.Inflate=u;i.inflate=o;i.inflateRaw=h;i.ungzip=o},{"./utils/common":28,"./utils/strings":29,"./zlib/constants":31,"./zlib/gzheader":34,"./zlib/inflate":36,"./zlib/messages":38,"./zlib/zstream":40}],28:[function(n,t,i){"use strict";var f="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array,r,u;i.assign=function(n){for(var t,i,r=Array.prototype.slice.call(arguments,1);r.length;)if(t=r.shift(),t){if("object"!=typeof t)throw new TypeError(t+"must be non-object");for(i in t)t.hasOwnProperty(i)&&(n[i]=t[i])}return n};i.shrinkBuf=function(n,t){return n.length===t?n:n.subarray?n.subarray(0,t):(n.length=t,n)};r={arraySet:function(n,t,i,r,u){if(t.subarray&&n.subarray)return void n.set(t.subarray(i,i+r),u);for(var f=0;r>f;f++)n[u+f]=t[i+f]},flattenChunks:function(n){var t,i,r,u,f,e;for(r=0,t=0,i=n.length;i>t;t++)r+=n[t].length;for(e=new Uint8Array(r),u=0,t=0,i=n.length;i>t;t++)f=n[t],e.set(f,u),u+=f.length;return e}};u={arraySet:function(n,t,i,r,u){for(var f=0;r>f;f++)n[u+f]=t[i+f]},flattenChunks:function(n){return[].concat.apply([],n)}};i.setTyped=function(n){n?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,r)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,u))};i.setTyped(f)},{}],29:[function(n,t,i){"use strict";function e(n,t){if(65537>t&&(n.subarray&&s||!n.subarray&&o))return String.fromCharCode.apply(null,f.shrinkBuf(n,t));for(var r="",i=0;t>i;i++)r+=String.fromCharCode(n[i]);return r}var f=n("./common"),o=!0,s=!0,u,r;try{String.fromCharCode.apply(null,[0])}catch(h){o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){s=!1}for(u=new f.Buf8(256),r=0;256>r;r++)u[r]=r>=252?6:r>=248?5:r>=240?4:r>=224?3:r>=192?2:1;u[254]=u[254]=1;i.string2buf=function(n){for(var r,t,e,u,o=n.length,s=0,i=0;o>i;i++)t=n.charCodeAt(i),55296==(64512&t)&&o>i+1&&(e=n.charCodeAt(i+1),56320==(64512&e)&&(t=65536+(t-55296<<10)+(e-56320),i++)),s+=128>t?1:2048>t?2:65536>t?3:4;for(r=new f.Buf8(s),u=0,i=0;s>u;i++)t=n.charCodeAt(i),55296==(64512&t)&&o>i+1&&(e=n.charCodeAt(i+1),56320==(64512&e)&&(t=65536+(t-55296<<10)+(e-56320),i++)),128>t?r[u++]=t:2048>t?(r[u++]=192|t>>>6,r[u++]=128|63&t):65536>t?(r[u++]=224|t>>>12,r[u++]=128|t>>>6&63,r[u++]=128|63&t):(r[u++]=240|t>>>18,r[u++]=128|t>>>12&63,r[u++]=128|t>>>6&63,r[u++]=128|63&t);return r};i.buf2binstring=function(n){return e(n,n.length)};i.binstring2buf=function(n){for(var i=new f.Buf8(n.length),t=0,r=i.length;r>t;t++)i[t]=n.charCodeAt(t);return i};i.buf2string=function(n,t){for(var i,f,h=t||n.length,o=new Array(2*h),r=0,s=0;h>s;)if(i=n[s++],128>i)o[r++]=i;else if(f=u[i],f>4)o[r++]=65533,s+=f-1;else{for(i&=2===f?31:3===f?15:7;f>1&&h>s;)i=i<<6|63&n[s++],f--;f>1?o[r++]=65533:65536>i?o[r++]=i:(i-=65536,o[r++]=55296|i>>10&1023,o[r++]=56320|1023&i)}return e(o,r)};i.utf8border=function(n,t){var i;for(t=t||n.length,t>n.length&&(t=n.length),i=t-1;i>=0&&128==(192&n[i]);)i--;return 0>i?t:0===i?t:i+u[n[i]]>t?i:t}},{"./common":28}],30:[function(n,t){"use strict";function i(n,t,i,r){for(var u=65535&n|0,f=n>>>16&65535|0,e=0;0!==i;){e=i>2e3?2e3:i;i-=e;do u=u+t[r++]|0,f=f+u|0;while(--e);u%=65521;f%=65521}return u|f<<16|0}t.exports=i},{}],31:[function(n,t){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],32:[function(n,t){"use strict";function i(){for(var n,r,i=[],t=0;256>t;t++){for(n=t,r=0;8>r;r++)n=1&n?3988292384^n>>>1:n>>>1;i[t]=n}return i}function r(n,t,i,r){var e=u,o=r+i,f;for(n^=-1,f=r;o>f;f++)n=n>>>8^e[255&(n^t[f])];return-1^n}var u=i();t.exports=r},{}],33:[function(n,t,i){"use strict";function v(n,t){return n.msg=pi[t],t}function kt(n){return(n<<1)-(n>4?9:0)}function k(n){for(var t=n.length;--t>=0;)n[t]=0}function y(n){var i=n.state,t=i.pending;t>n.avail_out&&(t=n.avail_out);0!==t&&(o.arraySet(n.output,i.pending_buf,i.pending_out,t,n.next_out),n.next_out+=t,i.pending_out+=t,n.total_out+=t,n.avail_out-=t,i.pending-=t,0===i.pending&&(i.pending_out=0))}function e(n,t){s._tr_flush_block(n,n.block_start>=0?n.block_start:-1,n.strstart-n.block_start,t);n.block_start=n.strstart;y(n.strm)}function r(n,t){n.pending_buf[n.pending++]=t}function ut(n,t){n.pending_buf[n.pending++]=t>>>8&255;n.pending_buf[n.pending++]=255&t}function ui(n,t,i,r){var u=n.avail_in;return u>r&&(u=r),0===u?0:(n.avail_in-=u,o.arraySet(t,n.input,n.next_in,u,i),1===n.state.wrap?n.adler=yi(n.adler,t,u,i):2===n.state.wrap&&(n.adler=p(n.adler,t,u,i)),n.next_in+=u,n.total_in+=u,u)}function dt(n,t){var u,e,c=n.max_chain_length,r=n.strstart,f=n.prev_length,o=n.nice_match,v=n.strstart>n.w_size-h?n.strstart-(n.w_size-h):0,i=n.window,y=n.w_mask,p=n.prev,s=n.strstart+b,l=i[r+f-1],a=i[r+f];n.prev_length>=n.good_match&&(c>>=2);o>n.lookahead&&(o=n.lookahead);do if(u=t,i[u+f]===a&&i[u+f-1]===l&&i[u]===i[r]&&i[++u]===i[r+1]){r+=2;u++;do;while(i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&i[++r]===i[++u]&&s>r);if(e=b-(s-r),r=s-b,e>f){if(n.match_start=t,f=e,e>=o)break;l=i[r+f-1];a=i[r+f]}}while((t=p[t&y])>v&&0!=--c);return f<=n.lookahead?f:n.lookahead}function ft(n){var f,i,e,s,r,t=n.w_size;do{if(s=n.window_size-n.lookahead-n.strstart,n.strstart>=t+(t-h)){o.arraySet(n.window,n.window,t,t,0);n.match_start-=t;n.strstart-=t;n.block_start-=t;i=n.hash_size;f=i;do e=n.head[--f],n.head[f]=e>=t?e-t:0;while(--i);i=t;f=i;do e=n.prev[--f],n.prev[f]=e>=t?e-t:0;while(--i);s+=t}if(0===n.strm.avail_in)break;if(i=ui(n.strm,n.window,n.strstart+n.lookahead,s),n.lookahead+=i,n.lookahead+n.insert>=u)for(r=n.strstart-n.insert,n.ins_h=n.window[r],n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+1])&n.hash_mask;n.insert&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+u-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++,n.insert--,!(n.lookahead+n.insert<u)););}while(n.lookahead<h&&0!==n.strm.avail_in)}function fi(n,t){var r=65535,i;for(r>n.pending_buf_size-5&&(r=n.pending_buf_size-5);;){if(n.lookahead<=1){if(ft(n),0===n.lookahead&&t===d)return f;if(0===n.lookahead)break}if((n.strstart+=n.lookahead,n.lookahead=0,i=n.block_start+r,(0===n.strstart||n.strstart>=i)&&(n.lookahead=n.strstart-i,n.strstart=i,e(n,!1),0===n.strm.avail_out))||n.strstart-n.block_start>=n.w_size-h&&(e(n,!1),0===n.strm.avail_out))return f}return n.insert=0,t===w?(e(n,!0),0===n.strm.avail_out?nt:rt):n.strstart>n.block_start&&(e(n,!1),0===n.strm.avail_out)?f:f}function vt(n,t){for(var i,r;;){if(n.lookahead<h){if(ft(n),n.lookahead<h&&t===d)return f;if(0===n.lookahead)break}if(i=0,n.lookahead>=u&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+u-1])&n.hash_mask,i=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),0!==i&&n.strstart-i<=n.w_size-h&&(n.match_length=dt(n,i)),n.match_length>=u)if(r=s._tr_tally(n,n.strstart-n.match_start,n.match_length-u),n.lookahead-=n.match_length,n.match_length<=n.max_lazy_match&&n.lookahead>=u){n.match_length--;do n.strstart++,n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+u-1])&n.hash_mask,i=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart;while(0!=--n.match_length);n.strstart++}else n.strstart+=n.match_length,n.match_length=0,n.ins_h=n.window[n.strstart],n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+1])&n.hash_mask;else r=s._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++;if(r&&(e(n,!1),0===n.strm.avail_out))return f}return n.insert=n.strstart<u-1?n.strstart:u-1,t===w?(e(n,!0),0===n.strm.avail_out?nt:rt):n.last_lit&&(e(n,!1),0===n.strm.avail_out)?f:ot}function tt(n,t){for(var i,r,o;;){if(n.lookahead<h){if(ft(n),n.lookahead<h&&t===d)return f;if(0===n.lookahead)break}if(i=0,n.lookahead>=u&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+u-1])&n.hash_mask,i=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),n.prev_length=n.match_length,n.prev_match=n.match_start,n.match_length=u-1,0!==i&&n.prev_length<n.max_lazy_match&&n.strstart-i<=n.w_size-h&&(n.match_length=dt(n,i),n.match_length<=5&&(n.strategy===gi||n.match_length===u&&n.strstart-n.match_start>4096)&&(n.match_length=u-1)),n.prev_length>=u&&n.match_length<=n.prev_length){o=n.strstart+n.lookahead-u;r=s._tr_tally(n,n.strstart-1-n.prev_match,n.prev_length-u);n.lookahead-=n.prev_length-1;n.prev_length-=2;do++n.strstart<=o&&(n.ins_h=(n.ins_h<<n.hash_shift^n.window[n.strstart+u-1])&n.hash_mask,i=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart);while(0!=--n.prev_length);if(n.match_available=0,n.match_length=u-1,n.strstart++,r&&(e(n,!1),0===n.strm.avail_out))return f}else if(n.match_available){if(r=s._tr_tally(n,0,n.window[n.strstart-1]),r&&e(n,!1),n.strstart++,n.lookahead--,0===n.strm.avail_out)return f}else n.match_available=1,n.strstart++,n.lookahead--}return n.match_available&&(r=s._tr_tally(n,0,n.window[n.strstart-1]),n.match_available=0),n.insert=n.strstart<u-1?n.strstart:u-1,t===w?(e(n,!0),0===n.strm.avail_out?nt:rt):n.last_lit&&(e(n,!1),0===n.strm.avail_out)?f:ot}function ei(n,t){for(var h,r,i,c,o=n.window;;){if(n.lookahead<=b){if(ft(n),n.lookahead<=b&&t===d)return f;if(0===n.lookahead)break}if(n.match_length=0,n.lookahead>=u&&n.strstart>0&&(i=n.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){c=n.strstart+b;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&c>i);n.match_length=b-(c-i);n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=u?(h=s._tr_tally(n,1,n.match_length-u),n.lookahead-=n.match_length,n.strstart+=n.match_length,n.match_length=0):(h=s._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++),h&&(e(n,!1),0===n.strm.avail_out))return f}return n.insert=0,t===w?(e(n,!0),0===n.strm.avail_out?nt:rt):n.last_lit&&(e(n,!1),0===n.strm.avail_out)?f:ot}function oi(n,t){for(var i;;){if(0===n.lookahead&&(ft(n),0===n.lookahead)){if(t===d)return f;break}if(n.match_length=0,i=s._tr_tally(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++,i&&(e(n,!1),0===n.strm.avail_out))return f}return n.insert=0,t===w?(e(n,!0),0===n.strm.avail_out?nt:rt):n.last_lit&&(e(n,!1),0===n.strm.avail_out)?f:ot}function c(n,t,i,r,u){this.good_length=n;this.max_lazy=t;this.nice_length=i;this.max_chain=r;this.func=u}function si(n){n.window_size=2*n.w_size;k(n.head);n.max_lazy_match=it[n.level].max_lazy;n.good_match=it[n.level].good_length;n.nice_match=it[n.level].nice_length;n.max_chain_length=it[n.level].max_chain;n.strstart=0;n.block_start=0;n.lookahead=0;n.insert=0;n.match_length=n.prev_length=u-1;n.match_available=0;n.ins_h=0}function hi(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=ht;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new o.Buf16(2*hr);this.dyn_dtree=new o.Buf16(2*(2*or+1));this.bl_tree=new o.Buf16(2*(2*sr+1));k(this.dyn_ltree);k(this.dyn_dtree);k(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new o.Buf16(cr+1);this.heap=new o.Buf16(2*pt+1);k(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new o.Buf16(2*pt+1);k(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function gt(n){var t;return n&&n.state?(n.total_in=n.total_out=0,n.data_type=rr,t=n.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?wt:g,n.adler=2===t.wrap?0:1,t.last_flush=d,s._tr_init(t),a):v(n,l)}function ni(n){var t=gt(n);return t===a&&si(n.state),t}function ci(n,t){return n&&n.state?2!==n.state.wrap?l:(n.state.gzhead=t,a):l}function ti(n,t,i,r,f,e){var h,s;return n?(h=1,t===di&&(t=6),0>r?(h=0,r=-r):r>15&&(h=2,r-=16),1>f||f>ur||i!==ht||8>r||r>15||0>t||t>9||0>e||e>tr)?v(n,l):(8===r&&(r=9),s=new hi,n.state=s,s.strm=n,s.wrap=h,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=f+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+u-1)/u),s.window=new o.Buf8(2*s.w_size),s.head=new o.Buf16(s.hash_size),s.prev=new o.Buf16(s.w_size),s.lit_bufsize=1<<f+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new o.Buf8(s.pending_buf_size),s.d_buf=s.lit_bufsize>>1,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=e,s.method=i,ni(n)):l}function li(n,t){return ti(n,t,ht,fr,er,ir)}function ai(n,t){var b,i,u,e,o,c,h;if(!n||!n.state||t>ii||0>t)return n?v(n,l):l;if(i=n.state,!n.output||!n.input&&0!==n.avail_in||i.status===et&&t!==w)return v(n,0===n.avail_out?yt:l);if((i.strm=n,b=i.last_flush,i.last_flush=t,i.status===wt)&&(2===i.wrap?(n.adler=0,r(i,31),r(i,139),r(i,8),i.gzhead?(r(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),r(i,255&i.gzhead.time),r(i,i.gzhead.time>>8&255),r(i,i.gzhead.time>>16&255),r(i,i.gzhead.time>>24&255),r(i,9===i.level?2:i.strategy>=st||i.level<2?4:0),r(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(r(i,255&i.gzhead.extra.length),r(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(n.adler=p(n.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=bt):(r(i,0),r(i,0),r(i,0),r(i,0),r(i,0),r(i,9===i.level?2:i.strategy>=st||i.level<2?4:0),r(i,ar),i.status=g)):(o=ht+(i.w_bits-8<<4)<<8,c=-1,c=i.strategy>=st||i.level<2?0:i.level<6?1:6===i.level?2:3,o|=c<<6,0!==i.strstart&&(o|=lr),o+=31-o%31,i.status=g,ut(i,o),0!==i.strstart&&(ut(i,n.adler>>>16),ut(i,65535&n.adler)),n.adler=1)),i.status===bt)if(i.gzhead.extra){for(u=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u)),y(n),u=i.pending,i.pending!==i.pending_buf_size));)r(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u));i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=ct)}else i.status=ct;if(i.status===ct)if(i.gzhead.name){u=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u)),y(n),u=i.pending,i.pending===i.pending_buf_size)){e=1;break}e=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0;r(i,e)}while(0!==e);i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u));0===e&&(i.gzindex=0,i.status=lt)}else i.status=lt;if(i.status===lt)if(i.gzhead.comment){u=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u)),y(n),u=i.pending,i.pending===i.pending_buf_size)){e=1;break}e=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0;r(i,e)}while(0!==e);i.gzhead.hcrc&&i.pending>u&&(n.adler=p(n.adler,i.pending_buf,i.pending-u,u));0===e&&(i.status=at)}else i.status=at;if(i.status===at&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&y(n),i.pending+2<=i.pending_buf_size&&(r(i,255&n.adler),r(i,n.adler>>8&255),n.adler=0,i.status=g)):i.status=g),0!==i.pending){if(y(n),0===n.avail_out)return i.last_flush=-1,a}else if(0===n.avail_in&&kt(t)<=kt(b)&&t!==w)return v(n,yt);if(i.status===et&&0!==n.avail_in)return v(n,yt);if(0!==n.avail_in||0!==i.lookahead||t!==d&&i.status!==et){if(h=i.strategy===st?oi(i,t):i.strategy===nr?ei(i,t):it[i.level].func(i,t),h!==nt&&h!==rt||(i.status=et),h===f||h===nt)return 0===n.avail_out&&(i.last_flush=-1),a;if(h===ot&&(t===wi?s._tr_align(i):t!==ii&&(s._tr_stored_block(i,0,0,!1),t===bi&&(k(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),y(n),0===n.avail_out))return i.last_flush=-1,a}return t!==w?a:i.wrap<=0?ri:(2===i.wrap?(r(i,255&n.adler),r(i,n.adler>>8&255),r(i,n.adler>>16&255),r(i,n.adler>>24&255),r(i,255&n.total_in),r(i,n.total_in>>8&255),r(i,n.total_in>>16&255),r(i,n.total_in>>24&255)):(ut(i,n.adler>>>16),ut(i,65535&n.adler)),y(n),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?a:ri)}function vi(n){var t;return n&&n.state?(t=n.state.status,t!==wt&&t!==bt&&t!==ct&&t!==lt&&t!==at&&t!==g&&t!==et?v(n,l):(n.state=null,t===g?v(n,ki):a)):l}var it,o=n("../utils/common"),s=n("./trees"),yi=n("./adler32"),p=n("./crc32"),pi=n("./messages"),d=0,wi=1,bi=3,w=4,ii=5,a=0,ri=1,l=-2,ki=-3,yt=-5,di=-1,gi=1,st=2,nr=3,tr=4,ir=0,rr=2,ht=8,ur=9,fr=15,er=8,pt=286,or=30,sr=19,hr=2*pt+1,cr=15,u=3,b=258,h=b+u+1,lr=32,wt=42,bt=69,ct=73,lt=91,at=103,g=113,et=666,f=1,ot=2,nt=3,rt=4,ar=3;it=[new c(0,0,0,0,fi),new c(4,4,8,4,vt),new c(4,5,16,8,vt),new c(4,6,32,32,vt),new c(4,4,16,16,tt),new c(8,16,32,32,tt),new c(8,16,128,128,tt),new c(8,32,128,256,tt),new c(32,128,258,1024,tt),new c(32,258,258,4096,tt)];i.deflateInit=li;i.deflateInit2=ti;i.deflateReset=ni;i.deflateResetKeep=gt;i.deflateSetHeader=ci;i.deflate=ai;i.deflateEnd=vi;i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":28,"./adler32":30,"./crc32":32,"./messages":38,"./trees":39}],34:[function(n,t){"use strict";function i(){this.text=0;this.time=0;this.xflags=0;this.os=0;this.extra=null;this.extra_len=0;this.name="";this.comment="";this.hcrc=0;this.done=!1}t.exports=i},{}],35:[function(n,t){"use strict";var i=30,r=12;t.exports=function(n,t){var c,a,d,f,rt,g,ut,nt,ft,w,k,l,e,tt,it,et,ot,v,u,h,y,s,p,b,o;c=n.state;a=n.next_in;b=n.input;d=a+(n.avail_in-5);f=n.next_out;o=n.output;rt=f-(t-n.avail_out);g=f+(n.avail_out-257);ut=c.dmax;nt=c.wsize;ft=c.whave;w=c.wnext;k=c.window;l=c.hold;e=c.bits;tt=c.lencode;it=c.distcode;et=(1<<c.lenbits)-1;ot=(1<<c.distbits)-1;n:do{15>e&&(l+=b[a++]<<e,e+=8,l+=b[a++]<<e,e+=8);v=tt[l&et];t:for(;;){if(u=v>>>24,l>>>=u,e-=u,u=v>>>16&255,0===u)o[f++]=65535&v;else{if(!(16&u)){if(0==(64&u)){v=tt[(65535&v)+(l&(1<<u)-1)];continue t}if(32&u){c.mode=r;break n}n.msg="invalid literal/length code";c.mode=i;break n}h=65535&v;u&=15;u&&(u>e&&(l+=b[a++]<<e,e+=8),h+=l&(1<<u)-1,l>>>=u,e-=u);15>e&&(l+=b[a++]<<e,e+=8,l+=b[a++]<<e,e+=8);v=it[l&ot];i:for(;;){if(u=v>>>24,l>>>=u,e-=u,u=v>>>16&255,!(16&u)){if(0==(64&u)){v=it[(65535&v)+(l&(1<<u)-1)];continue i}n.msg="invalid distance code";c.mode=i;break n}if(y=65535&v,u&=15,u>e&&(l+=b[a++]<<e,e+=8,u>e&&(l+=b[a++]<<e,e+=8)),y+=l&(1<<u)-1,y>ut){n.msg="invalid distance too far back";c.mode=i;break n}if(l>>>=u,e-=u,u=f-rt,y>u){if(u=y-u,u>ft&&c.sane){n.msg="invalid distance too far back";c.mode=i;break n}if(s=0,p=k,0===w){if(s+=nt-u,h>u){h-=u;do o[f++]=k[s++];while(--u);s=f-y;p=o}}else if(u>w){if(s+=nt+w-u,u-=w,h>u){h-=u;do o[f++]=k[s++];while(--u);if(s=0,h>w){u=w;h-=u;do o[f++]=k[s++];while(--u);s=f-y;p=o}}}else if(s+=w-u,h>u){h-=u;do o[f++]=k[s++];while(--u);s=f-y;p=o}for(;h>2;)o[f++]=p[s++],o[f++]=p[s++],o[f++]=p[s++],h-=3;h&&(o[f++]=p[s++],h>1&&(o[f++]=p[s++]))}else{s=f-y;do o[f++]=o[s++],o[f++]=o[s++],o[f++]=o[s++],h-=3;while(h>2);h&&(o[f++]=o[s++],h>1&&(o[f++]=o[s++]))}break}}break}}while(d>a&&g>f);h=e>>3;a-=h;e-=h<<3;l&=(1<<e)-1;n.next_in=a;n.next_out=f;n.avail_in=d>a?5+(d-a):5-(a-d);n.avail_out=g>f?257+(g-f):257-(f-g);c.hold=l;c.bits=e}},{}],36:[function(n,t,i){"use strict";function k(n){return(n>>>24&255)+(n>>>8&65280)+((65280&n)<<8)+((255&n)<<24)}function ai(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new u.Buf16(320);this.work=new u.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function d(n){var t;return n&&n.state?(t=n.state,n.total_in=n.total_out=t.total=0,n.msg="",t.wrap&&(n.adler=1&t.wrap),t.mode=st,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new u.Buf32(er),t.distcode=t.distdyn=new u.Buf32(or),t.sane=1,t.back=-1,s):e}function g(n){var t;return n&&n.state?(t=n.state,t.wsize=0,t.whave=0,t.wnext=0,d(n)):e}function nt(n,t){var r,i;return n&&n.state?(i=n.state,0>t?(r=0,t=-t):(r=(t>>4)+1,48>t&&(t&=15)),t&&(8>t||t>15)?e:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,g(n))):e}function tt(n,t){var i,r;return n?(r=new ai,n.state=r,r.window=null,i=nt(n,t),i!==s&&(n.state=null),i):e}function vi(n){return tt(n,sr)}function yi(n){if(li){var t;for(v=new u.Buf32(512),y=new u.Buf32(32),t=0;144>t;)n.lens[t++]=8;for(;256>t;)n.lens[t++]=9;for(;280>t;)n.lens[t++]=7;for(;288>t;)n.lens[t++]=8;for(h(rt,n.lens,0,288,v,0,n.work,{bits:9}),t=0;32>t;)n.lens[t++]=5;h(ut,n.lens,0,32,y,0,n.work,{bits:5});li=!1}n.lencode=v;n.lenbits=9;n.distcode=y;n.distbits=5}function pi(n,t,i,r){var e,f=n.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new u.Buf8(f.wsize)),r>=f.wsize?(u.arraySet(f.window,t,i-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>r&&(e=r),u.arraySet(f.window,t,i-r,e,f.wnext),r-=e,r?(u.arraySet(f.window,t,i-r,r,0),f.wnext=r,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function wi(n,t){var i,tt,lr,nt,hr,d,bi,y,v,yr,ai,g,pr,kr,li,er,sr,or,wr,br,vi,cr,vr,ar,wi=0,ki=new u.Buf8(4),dr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!n||!n.state||!n.output||!n.input&&0!==n.avail_in)return e;i=n.state;i.mode===o&&(i.mode=p);hr=n.next_out;lr=n.output;bi=n.avail_out;nt=n.next_in;tt=n.input;d=n.avail_in;y=i.hold;v=i.bits;yr=d;ai=bi;cr=s;n:for(;;)switch(i.mode){case st:if(0===i.wrap){i.mode=p;break}for(;16>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(2&i.wrap&&35615===y){i.check=0;ki[0]=255&y;ki[1]=y>>>8&255;i.check=f(i.check,ki,2,0);y=0;v=0;i.mode=ht;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&y)<<8)+(y>>8))%31){n.msg="incorrect header check";i.mode=r;break}if((15&y)!==ot){n.msg="unknown compression method";i.mode=r;break}if(y>>>=4,v-=4,vi=(15&y)+8,0===i.wbits)i.wbits=vi;else if(vi>i.wbits){n.msg="invalid window size";i.mode=r;break}i.dmax=1<<vi;n.adler=i.check=1;i.mode=512&y?bt:o;y=0;v=0;break;case ht:for(;16>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(i.flags=y,(255&i.flags)!==ot){n.msg="unknown compression method";i.mode=r;break}if(57344&i.flags){n.msg="unknown header flags set";i.mode=r;break}i.head&&(i.head.text=y>>8&1);512&i.flags&&(ki[0]=255&y,ki[1]=y>>>8&255,i.check=f(i.check,ki,2,0));y=0;v=0;i.mode=ct;case ct:for(;32>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.head&&(i.head.time=y);512&i.flags&&(ki[0]=255&y,ki[1]=y>>>8&255,ki[2]=y>>>16&255,ki[3]=y>>>24&255,i.check=f(i.check,ki,4,0));y=0;v=0;i.mode=lt;case lt:for(;16>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.head&&(i.head.xflags=255&y,i.head.os=y>>8);512&i.flags&&(ki[0]=255&y,ki[1]=y>>>8&255,i.check=f(i.check,ki,2,0));y=0;v=0;i.mode=at;case at:if(1024&i.flags){for(;16>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.length=y;i.head&&(i.head.extra_len=y);512&i.flags&&(ki[0]=255&y,ki[1]=y>>>8&255,i.check=f(i.check,ki,2,0));y=0;v=0}else i.head&&(i.head.extra=null);i.mode=vt;case vt:if(1024&i.flags&&(g=i.length,g>d&&(g=d),g&&(i.head&&(vi=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),u.arraySet(i.head.extra,tt,nt,g,vi)),512&i.flags&&(i.check=f(i.check,tt,g,nt)),d-=g,nt+=g,i.length-=g),i.length))break n;i.length=0;i.mode=yt;case yt:if(2048&i.flags){if(0===d)break n;g=0;do vi=tt[nt+g++],i.head&&vi&&i.length<65536&&(i.head.name+=String.fromCharCode(vi));while(vi&&d>g);if(512&i.flags&&(i.check=f(i.check,tt,g,nt)),d-=g,nt+=g,vi)break n}else i.head&&(i.head.name=null);i.length=0;i.mode=pt;case pt:if(4096&i.flags){if(0===d)break n;g=0;do vi=tt[nt+g++],i.head&&vi&&i.length<65536&&(i.head.comment+=String.fromCharCode(vi));while(vi&&d>g);if(512&i.flags&&(i.check=f(i.check,tt,g,nt)),d-=g,nt+=g,vi)break n}else i.head&&(i.head.comment=null);i.mode=wt;case wt:if(512&i.flags){for(;16>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(y!==(65535&i.check)){n.msg="header crc mismatch";i.mode=r;break}y=0;v=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0);n.adler=i.check=0;i.mode=o;break;case bt:for(;32>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}n.adler=i.check=k(y);y=0;v=0;i.mode=kt;case kt:if(0===i.havedict)return n.next_out=hr,n.avail_out=bi,n.next_in=nt,n.avail_in=d,i.hold=y,i.bits=v,ir;n.adler=i.check=1;i.mode=o;case o:if(t===nr||t===c)break n;case p:if(i.last){y>>>=7&v;v-=7&v;i.mode=b;break}for(;3>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}switch(i.last=1&y,y>>>=1,v-=1,3&y){case 0:i.mode=dt;break;case 1:if(yi(i),i.mode=l,t===c){y>>>=2;v-=2;break n}break;case 2:i.mode=ni;break;case 3:n.msg="invalid block type";i.mode=r}y>>>=2;v-=2;break;case dt:for(y>>>=7&v,v-=7&v;32>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if((65535&y)!=(y>>>16^65535)){n.msg="invalid stored block lengths";i.mode=r;break}if(i.length=65535&y,y=0,v=0,i.mode=w,t===c)break n;case w:i.mode=gt;case gt:if(g=i.length){if(g>d&&(g=d),g>bi&&(g=bi),0===g)break n;u.arraySet(lr,tt,nt,g,hr);d-=g;nt+=g;bi-=g;hr+=g;i.length-=g;break}i.mode=o;break;case ni:for(;14>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(i.nlen=(31&y)+257,y>>>=5,v-=5,i.ndist=(31&y)+1,y>>>=5,v-=5,i.ncode=(15&y)+4,y>>>=4,v-=4,i.nlen>286||i.ndist>30){n.msg="too many length or distance symbols";i.mode=r;break}i.have=0;i.mode=ti;case ti:for(;i.have<i.ncode;){for(;3>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.lens[dr[i.have++]]=7&y;y>>>=3;v-=3}for(;i.have<19;)i.lens[dr[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,vr={bits:i.lenbits},cr=h(gi,i.lens,0,19,i.lencode,0,i.work,vr),i.lenbits=vr.bits,cr){n.msg="invalid code lengths set";i.mode=r;break}i.have=0;i.mode=ii;case ii:for(;i.have<i.nlen+i.ndist;){for(;wi=i.lencode[y&(1<<i.lenbits)-1],li=wi>>>24,er=wi>>>16&255,sr=65535&wi,!(v>=li);){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(16>sr)y>>>=li,v-=li,i.lens[i.have++]=sr;else{if(16===sr){for(ar=li+2;ar>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(y>>>=li,v-=li,0===i.have){n.msg="invalid bit length repeat";i.mode=r;break}vi=i.lens[i.have-1];g=3+(3&y);y>>>=2;v-=2}else if(17===sr){for(ar=li+3;ar>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}y>>>=li;v-=li;vi=0;g=3+(7&y);y>>>=3;v-=3}else{for(ar=li+7;ar>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}y>>>=li;v-=li;vi=0;g=11+(127&y);y>>>=7;v-=7}if(i.have+g>i.nlen+i.ndist){n.msg="invalid bit length repeat";i.mode=r;break}for(;g--;)i.lens[i.have++]=vi}}if(i.mode===r)break;if(0===i.lens[256]){n.msg="invalid code -- missing end-of-block";i.mode=r;break}if(i.lenbits=9,vr={bits:i.lenbits},cr=h(rt,i.lens,0,i.nlen,i.lencode,0,i.work,vr),i.lenbits=vr.bits,cr){n.msg="invalid literal/lengths set";i.mode=r;break}if(i.distbits=6,i.distcode=i.distdyn,vr={bits:i.distbits},cr=h(ut,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,vr),i.distbits=vr.bits,cr){n.msg="invalid distances set";i.mode=r;break}if(i.mode=l,t===c)break n;case l:i.mode=a;case a:if(d>=6&&bi>=258){n.next_out=hr;n.avail_out=bi;n.next_in=nt;n.avail_in=d;i.hold=y;i.bits=v;di(n,ai);hr=n.next_out;lr=n.output;bi=n.avail_out;nt=n.next_in;tt=n.input;d=n.avail_in;y=i.hold;v=i.bits;i.mode===o&&(i.back=-1);break}for(i.back=0;wi=i.lencode[y&(1<<i.lenbits)-1],li=wi>>>24,er=wi>>>16&255,sr=65535&wi,!(v>=li);){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(er&&0==(240&er)){for(or=li,wr=er,br=sr;wi=i.lencode[br+((y&(1<<or+wr)-1)>>or)],li=wi>>>24,er=wi>>>16&255,sr=65535&wi,!(v>=or+li);){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}y>>>=or;v-=or;i.back+=or}if(y>>>=li,v-=li,i.back+=li,i.length=sr,0===er){i.mode=oi;break}if(32&er){i.back=-1;i.mode=o;break}if(64&er){n.msg="invalid literal/length code";i.mode=r;break}i.extra=15&er;i.mode=ri;case ri:if(i.extra){for(ar=i.extra;ar>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.length+=y&(1<<i.extra)-1;y>>>=i.extra;v-=i.extra;i.back+=i.extra}i.was=i.length;i.mode=ui;case ui:for(;wi=i.distcode[y&(1<<i.distbits)-1],li=wi>>>24,er=wi>>>16&255,sr=65535&wi,!(v>=li);){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(0==(240&er)){for(or=li,wr=er,br=sr;wi=i.distcode[br+((y&(1<<or+wr)-1)>>or)],li=wi>>>24,er=wi>>>16&255,sr=65535&wi,!(v>=or+li);){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}y>>>=or;v-=or;i.back+=or}if(y>>>=li,v-=li,i.back+=li,64&er){n.msg="invalid distance code";i.mode=r;break}i.offset=sr;i.extra=15&er;i.mode=fi;case fi:if(i.extra){for(ar=i.extra;ar>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}i.offset+=y&(1<<i.extra)-1;y>>>=i.extra;v-=i.extra;i.back+=i.extra}if(i.offset>i.dmax){n.msg="invalid distance too far back";i.mode=r;break}i.mode=ei;case ei:if(0===bi)break n;if(g=ai-bi,i.offset>g){if(g=i.offset-g,g>i.whave&&i.sane){n.msg="invalid distance too far back";i.mode=r;break}g>i.wnext?(g-=i.wnext,pr=i.wsize-g):pr=i.wnext-g;g>i.length&&(g=i.length);kr=i.window}else kr=lr,pr=hr-i.offset,g=i.length;g>bi&&(g=bi);bi-=g;i.length-=g;do lr[hr++]=kr[pr++];while(--g);0===i.length&&(i.mode=a);break;case oi:if(0===bi)break n;lr[hr++]=i.length;bi--;i.mode=a;break;case b:if(i.wrap){for(;32>v;){if(0===d)break n;d--;y|=tt[nt++]<<v;v+=8}if(ai-=bi,n.total_out+=ai,i.total+=ai,ai&&(n.adler=i.check=i.flags?f(i.check,lr,ai,hr-ai):it(i.check,lr,ai,hr-ai)),ai=bi,(i.flags?y:k(y))!==i.check){n.msg="incorrect data check";i.mode=r;break}y=0;v=0}i.mode=si;case si:if(i.wrap&&i.flags){for(;32>v;){if(0===d)break n;d--;y+=tt[nt++]<<v;v+=8}if(y!==(4294967295&i.total)){n.msg="incorrect length check";i.mode=r;break}y=0;v=0}i.mode=hi;case hi:cr=tr;break n;case r:cr=rr;break n;case ci:return et;case fr:default:return e}return n.next_out=hr,n.avail_out=bi,n.next_in=nt,n.avail_in=d,i.hold=y,i.bits=v,(i.wsize||ai!==n.avail_out&&i.mode<r&&(i.mode<b||t!==ft))&&pi(n,n.output,n.next_out,ai-n.avail_out)?(i.mode=ci,et):(yr-=n.avail_in,ai-=n.avail_out,n.total_in+=yr,n.total_out+=ai,i.total+=ai,i.wrap&&ai&&(n.adler=i.check=i.flags?f(i.check,lr,ai,n.next_out-ai):it(i.check,lr,ai,n.next_out-ai)),n.data_type=i.bits+(i.last?64:0)+(i.mode===o?128:0)+(i.mode===l||i.mode===w?256:0),(0===yr&&0===ai||t===ft)&&cr===s&&(cr=ur),cr)}function bi(n){if(!n||!n.state)return e;var t=n.state;return t.window&&(t.window=null),n.state=null,s}function ki(n,t){var i;return n&&n.state?(i=n.state,0==(2&i.wrap)?e:(i.head=t,t.done=!1,s)):e}var v,y,u=n("../utils/common"),it=n("./adler32"),f=n("./crc32"),di=n("./inffast"),h=n("./inftrees"),gi=0,rt=1,ut=2,ft=4,nr=5,c=6,s=0,tr=1,ir=2,e=-2,rr=-3,et=-4,ur=-5,ot=8,st=1,ht=2,ct=3,lt=4,at=5,vt=6,yt=7,pt=8,wt=9,bt=10,kt=11,o=12,p=13,dt=14,w=15,gt=16,ni=17,ti=18,ii=19,l=20,a=21,ri=22,ui=23,fi=24,ei=25,oi=26,b=27,si=28,hi=29,r=30,ci=31,fr=32,er=852,or=592,sr=15,li=!0;i.inflateReset=g;i.inflateReset2=nt;i.inflateResetKeep=d;i.inflateInit=vi;i.inflateInit2=tt;i.inflate=wi;i.inflateEnd=bi;i.inflateGetHeader=ki;i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":28,"./adler32":30,"./crc32":32,"./inffast":35,"./inftrees":37}],37:[function(n,t){"use strict";var u=n("../utils/common"),i=15,f=852,e=592,o=0,r=1,s=2,h=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],c=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(n,t,v,y,p,w,b,k){for(var ot,ct,vt,dt,lt,at,gt,yt,pt,ri=k.bits,d=0,g=0,ut=0,nt=0,tt=0,ft=0,it=0,et=0,ht=0,rt=0,wt=null,ni=0,st=new u.Buf16(i+1),bt=new u.Buf16(i+1),kt=null,ti=0,ii,d=0;i>=d;d++)st[d]=0;for(g=0;y>g;g++)st[t[v+g]]++;for(tt=ri,nt=i;nt>=1&&0===st[nt];nt--);if(tt>nt&&(tt=nt),0===nt)return p[w++]=20971520,p[w++]=20971520,k.bits=1,0;for(ut=1;nt>ut&&0===st[ut];ut++);for(ut>tt&&(tt=ut),et=1,d=1;i>=d;d++)if(et<<=1,et-=st[d],0>et)return-1;if(et>0&&(n===o||1!==nt))return-1;for(bt[1]=0,d=1;i>d;d++)bt[d+1]=bt[d]+st[d];for(g=0;y>g;g++)0!==t[v+g]&&(b[bt[t[v+g]]++]=g);if(n===o?(wt=kt=b,at=19):n===r?(wt=h,ni-=257,kt=c,ti-=257,at=256):(wt=l,kt=a,at=-1),rt=0,g=0,d=ut,lt=w,ft=tt,it=0,vt=-1,ht=1<<tt,dt=ht-1,n===r&&ht>f||n===s&&ht>e)return 1;for(ii=0;;){ii++;gt=d-it;b[g]<at?(yt=0,pt=b[g]):b[g]>at?(yt=kt[ti+b[g]],pt=wt[ni+b[g]]):(yt=96,pt=0);ot=1<<d-it;ct=1<<ft;ut=ct;do ct-=ot,p[lt+(rt>>it)+ct]=gt<<24|yt<<16|pt|0;while(0!==ct);for(ot=1<<d-1;rt&ot;)ot>>=1;if(0!==ot?(rt&=ot-1,rt+=ot):rt=0,g++,0==--st[d]){if(d===nt)break;d=t[v+b[g]]}if(d>tt&&(rt&dt)!==vt){for(0===it&&(it=tt),lt+=ut,ft=d-it,et=1<<ft;nt>ft+it&&(et-=st[ft+it],!(0>=et));)ft++,et<<=1;if(ht+=1<<ft,n===r&&ht>f||n===s&&ht>e)return 1;vt=rt&dt;p[vt]=tt<<24|ft<<16|lt-w|0}}return 0!==rt&&(p[lt+rt]=d-it<<24|4194304),k.bits=tt,0}},{"../utils/common":28}],38:[function(n,t){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],39:[function(n,t,i){"use strict";function o(n){for(var t=n.length;--t>=0;)n[t]=0}function k(n,t,i,r,u){this.static_tree=n;this.extra_bits=t;this.extra_base=i;this.elems=r;this.max_length=u;this.has_stree=n&&n.length}function d(n,t){this.dyn_tree=n;this.max_code=0;this.stat_desc=t}function ot(n){return 256>n?c[n]:c[256+(n>>>7)]}function a(n,t){n.pending_buf[n.pending++]=255&t;n.pending_buf[n.pending++]=t>>>8&255}function r(n,t,i){n.bi_valid>rt-i?(n.bi_buf|=t<<n.bi_valid&65535,a(n,n.bi_buf),n.bi_buf=t>>rt-n.bi_valid,n.bi_valid+=i-rt):(n.bi_buf|=t<<n.bi_valid&65535,n.bi_valid+=i)}function u(n,t,i){r(n,i[2*t],i[2*t+1])}function st(n,t){var i=0;do i|=1&n,n>>>=1,i<<=1;while(--t>0);return i>>>1}function oi(n){16===n.bi_valid?(a(n,n.bi_buf),n.bi_buf=0,n.bi_valid=0):n.bi_valid>=8&&(n.pending_buf[n.pending++]=255&n.bi_buf,n.bi_buf>>=8,n.bi_valid-=8)}function si(n,t){for(var o,r,f,h,l,u=t.dyn_tree,a=t.max_code,y=t.stat_desc.static_tree,p=t.stat_desc.has_stree,w=t.stat_desc.extra_bits,v=t.stat_desc.extra_base,s=t.stat_desc.max_length,c=0,i=0;e>=i;i++)n.bl_count[i]=0;for(u[2*n.heap[n.heap_max]+1]=0,o=n.heap_max+1;gt>o;o++)r=n.heap[o],i=u[2*u[2*r+1]+1]+1,i>s&&(i=s,c++),u[2*r+1]=i,r>a||(n.bl_count[i]++,h=0,r>=v&&(h=w[r-v]),l=u[2*r],n.opt_len+=l*(i+h),p&&(n.static_len+=l*(y[2*r+1]+h)));if(0!==c){do{for(i=s-1;0===n.bl_count[i];)i--;n.bl_count[i]--;n.bl_count[i+1]+=2;n.bl_count[s]--;c-=2}while(c>0);for(i=s;0!==i;i--)for(r=n.bl_count[i];0!==r;)f=n.heap[--o],f>a||(u[2*f+1]!==i&&(n.opt_len+=(i-u[2*f+1])*u[2*f],u[2*f+1]=i),r--)}}function ht(n,t,i){for(var u,o=new Array(e+1),s=0,f,r=1;e>=r;r++)o[r]=s=s+i[r-1]<<1;for(u=0;t>=u;u++)f=n[2*u+1],0!==f&&(n[2*u]=st(o[f]++,f))}function hi(){for(var n,u,i,r=new Array(e+1),o=0,t=0;tt-1>t;t++)for(b[t]=o,n=0;n<1<<ft[t];n++)l[o++]=t;for(l[o-1]=t,i=0,t=0;16>t;t++)for(p[t]=i,n=0;n<1<<w[t];n++)c[i++]=t;for(i>>=7;s>t;t++)for(p[t]=i<<7,n=0;n<1<<w[t]-7;n++)c[256+i++]=t;for(u=0;e>=u;u++)r[u]=0;for(n=0;143>=n;)f[2*n+1]=8,n++,r[8]++;for(;255>=n;)f[2*n+1]=9,n++,r[9]++;for(;279>=n;)f[2*n+1]=7,n++,r[7]++;for(;287>=n;)f[2*n+1]=8,n++,r[8]++;for(ht(f,y+1,r),n=0;s>n;n++)h[2*n+1]=5,h[2*n]=st(n,5);ui=new k(f,ft,v+1,y,e);fi=new k(h,w,0,s,e);ei=new k(new Array(0),rr,0,it,ir)}function ct(n){for(var t=0;y>t;t++)n.dyn_ltree[2*t]=0;for(t=0;s>t;t++)n.dyn_dtree[2*t]=0;for(t=0;it>t;t++)n.bl_tree[2*t]=0;n.dyn_ltree[2*ut]=1;n.opt_len=n.static_len=0;n.last_lit=n.matches=0}function lt(n){n.bi_valid>8?a(n,n.bi_buf):n.bi_valid>0&&(n.pending_buf[n.pending++]=n.bi_buf);n.bi_buf=0;n.bi_valid=0}function ci(n,t,i,r){lt(n);r&&(a(n,i),a(n,~i));ki.arraySet(n.pending_buf,n.window,t,i,n.pending);n.pending+=i}function at(n,t,i,r){var u=2*t,f=2*i;return n[u]<n[f]||n[u]===n[f]&&r[t]<=r[i]}function g(n,t,i){for(var u=n.heap[i],r=i<<1;r<=n.heap_len&&(r<n.heap_len&&at(t,n.heap[r+1],n.heap[r],n.depth)&&r++,!at(t,u,n.heap[r],n.depth));)n.heap[i]=n.heap[r],i=r,r<<=1;n.heap[i]=u}function vt(n,t,i){var e,s,f,o,h=0;if(0!==n.last_lit)do e=n.pending_buf[n.d_buf+2*h]<<8|n.pending_buf[n.d_buf+2*h+1],s=n.pending_buf[n.l_buf+h],h++,0===e?u(n,s,t):(f=l[s],u(n,f+v+1,t),o=ft[f],0!==o&&(s-=b[f],r(n,s,o)),e--,f=ot(e),u(n,f,i),o=w[f],0!==o&&(e-=p[f],r(n,e,o)));while(h<n.last_lit);u(n,ut,t)}function nt(n,t){var i,f,u,r=t.dyn_tree,s=t.stat_desc.static_tree,h=t.stat_desc.has_stree,o=t.stat_desc.elems,e=-1;for(n.heap_len=0,n.heap_max=gt,i=0;o>i;i++)0!==r[2*i]?(n.heap[++n.heap_len]=e=i,n.depth[i]=0):r[2*i+1]=0;for(;n.heap_len<2;)u=n.heap[++n.heap_len]=2>e?++e:0,r[2*u]=1,n.depth[u]=0,n.opt_len--,h&&(n.static_len-=s[2*u+1]);for(t.max_code=e,i=n.heap_len>>1;i>=1;i--)g(n,r,i);u=o;do i=n.heap[1],n.heap[1]=n.heap[n.heap_len--],g(n,r,1),f=n.heap[1],n.heap[--n.heap_max]=i,n.heap[--n.heap_max]=f,r[2*u]=r[2*i]+r[2*f],n.depth[u]=(n.depth[i]>=n.depth[f]?n.depth[i]:n.depth[f])+1,r[2*i+1]=r[2*f+1]=u,n.heap[1]=u++,g(n,r,1);while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1];si(n,t);ht(r,e,n.bl_count)}function yt(n,t,i){var s,r,h=-1,u=t[1],f=0,e=7,o=4;for(0===u&&(e=138,o=3),t[2*(i+1)+1]=65535,s=0;i>=s;s++)r=u,u=t[2*(s+1)+1],++f<e&&r===u||(o>f?n.bl_tree[2*r]+=f:0!==r?(r!==h&&n.bl_tree[2*r]++,n.bl_tree[2*ni]++):10>=f?n.bl_tree[2*ti]++:n.bl_tree[2*ii]++,f=0,h=r,0===u?(e=138,o=3):r===u?(e=6,o=3):(e=7,o=4))}function pt(n,t,i){var c,e,l=-1,o=t[1],f=0,s=7,h=4;for(0===o&&(s=138,h=3),c=0;i>=c;c++)if(e=o,o=t[2*(c+1)+1],!(++f<s&&e===o)){if(h>f){do u(n,e,n.bl_tree);while(0!=--f)}else 0!==e?(e!==l&&(u(n,e,n.bl_tree),f--),u(n,ni,n.bl_tree),r(n,f-3,2)):10>=f?(u(n,ti,n.bl_tree),r(n,f-3,3)):(u(n,ii,n.bl_tree),r(n,f-11,7));f=0;l=e;0===o?(s=138,h=3):e===o?(s=6,h=3):(s=7,h=4)}}function li(n){var t;for(yt(n,n.dyn_ltree,n.l_desc.max_code),yt(n,n.dyn_dtree,n.d_desc.max_code),nt(n,n.bl_desc),t=it-1;t>=3&&0===n.bl_tree[2*ri[t]+1];t--);return n.opt_len+=3*(t+1)+5+5+4,t}function ai(n,t,i,u){var f;for(r(n,t-257,5),r(n,i-1,5),r(n,u-4,4),f=0;u>f;f++)r(n,n.bl_tree[2*ri[f]+1],3);pt(n,n.dyn_ltree,t-1);pt(n,n.dyn_dtree,i-1)}function vi(n){for(var i=4093624447,t=0;31>=t;t++,i>>>=1)if(1&i&&0!==n.dyn_ltree[2*t])return bt;if(0!==n.dyn_ltree[18]||0!==n.dyn_ltree[20]||0!==n.dyn_ltree[26])return kt;for(t=32;v>t;t++)if(0!==n.dyn_ltree[2*t])return kt;return bt}function yi(n){et||(hi(),et=!0);n.l_desc=new d(n.dyn_ltree,ui);n.d_desc=new d(n.dyn_dtree,fi);n.bl_desc=new d(n.bl_tree,ei);n.bi_buf=0;n.bi_valid=0;ct(n)}function wt(n,t,i,u){r(n,(nr<<1)+(u?1:0),3);ci(n,t,i,!0)}function pi(n){r(n,dt<<1,3);u(n,ut,f);oi(n)}function wi(n,t,i,u){var e,o,s=0;n.level>0?(n.strm.data_type===gi&&(n.strm.data_type=vi(n)),nt(n,n.l_desc),nt(n,n.d_desc),s=li(n),e=n.opt_len+3+7>>>3,o=n.static_len+3+7>>>3,e>=o&&(e=o)):e=o=i+5;e>=i+4&&-1!==t?wt(n,t,i,u):n.strategy===di||o===e?(r(n,(dt<<1)+(u?1:0),3),vt(n,f,h)):(r(n,(tr<<1)+(u?1:0),3),ai(n,n.l_desc.max_code+1,n.d_desc.max_code+1,s+1),vt(n,n.dyn_ltree,n.dyn_dtree));ct(n);u&&lt(n)}function bi(n,t,i){return n.pending_buf[n.d_buf+2*n.last_lit]=t>>>8&255,n.pending_buf[n.d_buf+2*n.last_lit+1]=255&t,n.pending_buf[n.l_buf+n.last_lit]=255&i,n.last_lit++,0===t?n.dyn_ltree[2*i]++:(n.matches++,t--,n.dyn_ltree[2*(l[i]+v+1)]++,n.dyn_dtree[2*ot(t)]++),n.last_lit===n.lit_bufsize-1}var ki=n("../utils/common"),di=4,bt=0,kt=1,gi=2,nr=0,dt=1,tr=2,tt=29,v=256,y=v+1+tt,s=30,it=19,gt=2*y+1,e=15,rt=16,ir=7,ut=256,ni=16,ti=17,ii=18,ft=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],w=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],rr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ri=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],f=new Array(2*(y+2)),h,c,l,b,p,ui,fi,ei,et;o(f);h=new Array(2*s);o(h);c=new Array(512);o(c);l=new Array(256);o(l);b=new Array(tt);o(b);p=new Array(s);o(p);et=!1;i._tr_init=yi;i._tr_stored_block=wt;i._tr_flush_block=wi;i._tr_tally=bi;i._tr_align=pi},{"../utils/common":28}],40:[function(n,t){"use strict";function i(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}t.exports=i},{}]},{},[10])(10)})