var Ext=Ext||{};Ext.Direct||(Ext.Direct={});Ext.Toolbar||(Ext.Toolbar={});Ext.app||(Ext.app={});Ext.app.domain||(Ext.app.domain={});Ext.button||(Ext.button={});Ext.chart||(Ext.chart={});Ext.chart.axis||(Ext.chart.axis={});Ext.chart.series||(Ext.chart.series={});Ext.chart.theme||(Ext.chart.theme={});Ext.container||(Ext.container={});Ext.core||(Ext.core={});Ext.data||(Ext.data={});Ext.data.association||(Ext.data.association={});Ext.data.flash||(Ext.data.flash={});Ext.data.proxy||(Ext.data.proxy={});Ext.data.reader||(Ext.data.reader={});Ext.data.writer||(Ext.data.writer={});Ext.dd||(Ext.dd={});Ext.direct||(Ext.direct={});Ext.dom||(Ext.dom={});Ext.draw||(Ext.draw={});Ext.draw.engine||(Ext.draw.engine={});Ext.flash||(Ext.flash={});Ext.form||(Ext.form={});Ext.form.Action||(Ext.form.Action={});Ext.form.action||(Ext.form.action={});Ext.form.field||(Ext.form.field={});Ext.fx||(Ext.fx={});Ext.fx.target||(Ext.fx.target={});Ext.grid||(Ext.grid={});Ext.grid.column||(Ext.grid.column={});Ext.grid.feature||(Ext.grid.feature={});Ext.grid.header||(Ext.grid.header={});Ext.grid.locking||(Ext.grid.locking={});Ext.grid.plugin||(Ext.grid.plugin={});Ext.grid.property||(Ext.grid.property={});Ext.layout||(Ext.layout={});Ext.layout.boxOverflow||(Ext.layout.boxOverflow={});Ext.layout.component||(Ext.layout.component={});Ext.layout.component.field||(Ext.layout.component.field={});Ext.layout.container||(Ext.layout.container={});Ext.layout.container.border||(Ext.layout.container.border={});Ext.layout.container.boxOverflow||(Ext.layout.container.boxOverflow={});Ext.list||(Ext.list={});Ext.menu||(Ext.menu={});Ext.panel||(Ext.panel={});Ext.perf||(Ext.perf={});Ext.picker||(Ext.picker={});Ext.resizer||(Ext.resizer={});Ext.rtl||(Ext.rtl={});Ext.rtl.button||(Ext.rtl.button={});Ext.rtl.dd||(Ext.rtl.dd={});Ext.rtl.dom||(Ext.rtl.dom={});Ext.rtl.form||(Ext.rtl.form={});Ext.rtl.form.field||(Ext.rtl.form.field={});Ext.rtl.grid||(Ext.rtl.grid={});Ext.rtl.grid.column||(Ext.rtl.grid.column={});Ext.rtl.grid.plugin||(Ext.rtl.grid.plugin={});Ext.rtl.layout||(Ext.rtl.layout={});Ext.rtl.layout.component||(Ext.rtl.layout.component={});Ext.rtl.layout.component.field||(Ext.rtl.layout.component.field={});Ext.rtl.layout.container||(Ext.rtl.layout.container={});Ext.rtl.layout.container.boxOverflow||(Ext.rtl.layout.container.boxOverflow={});Ext.rtl.panel||(Ext.rtl.panel={});Ext.rtl.resizer||(Ext.rtl.resizer={});Ext.rtl.selection||(Ext.rtl.selection={});Ext.rtl.slider||(Ext.rtl.slider={});Ext.rtl.tab||(Ext.rtl.tab={});Ext.rtl.tip||(Ext.rtl.tip={});Ext.rtl.tree||(Ext.rtl.tree={});Ext.rtl.util||(Ext.rtl.util={});Ext.rtl.view||(Ext.rtl.view={});Ext.selection||(Ext.selection={});Ext.slider||(Ext.slider={});Ext.state||(Ext.state={});Ext.tab||(Ext.tab={});Ext.tip||(Ext.tip={});Ext.toolbar||(Ext.toolbar={});Ext.tree||(Ext.tree={});Ext.tree.plugin||(Ext.tree.plugin={});Ext.util||(Ext.util={});Ext.ux||(Ext.ux={});Ext.ux.form||(Ext.ux.form={});Ext.view||(Ext.view={});Ext.window||(Ext.window={}),function(n){var i=[],o=["constructor","toString","valueOf","toLocaleString"],s={},f={},u=0,e,r,t,h,l=function(){var l,a;for(r=Ext.Base,t=Ext.ClassManager,l=o.length;l-->0;)a=1<<l,f[s[a]=o[l]]=a;for(l in f)u|=f[l];u=~u;Function.prototype.$isFunction=1;h=Ext.Class.getPreprocessor("config").fn;for(e in r)r.hasOwnProperty(e)&&i.push(e);return n.derive=c,c.apply(this,arguments)},a=function(n,t,i){var o=i.enumerableMembers,h=n.prototype,r,f,e,u;if(t){for(r in t)u=t[r],u&&u.$isFunction&&!u.$isClass&&u!==Ext.emptyFn&&u!==Ext.identityFn?(h[r]=f=u,f.$owner=n,f.$name=r):h[r]=u;for(e=1;o;e<<=1)o&e&&(o&=~e,r=s[e],h[r]=f=t[r],f.$owner=n,f.$name=r)}},v=function(n){var t=function(){return n.apply(this,arguments)||null},u,f;for(t.prototype=Ext.Object.chain(n.prototype),u=i.length;u-->0;)f=i[u],t[f]=r[f];return t},c=function(n,f,e,o,s,c,l,v,y,p,w){for(var b=function(){return this.constructor.apply(this,arguments)||null},d=b,rt={enumerableMembers:o&u,onCreated:w,onBeforeCreated:a,aliases:v},nt=e.alternateClassName||[],yt=Ext.global,at,ot,vt,ut,ht,ct,ft,tt,st,et,g,lt,it,k=i.length;k-->0;)ct=i[k],b[ct]=r[ct];if(e.$isFunction&&(e=e(b)),rt.data=e,st=e.statics,e.$className=n,e.$className&&(b.$className=e.$className),b.extend(f),tt=b.prototype,b.xtype=e.xtype=s[0],s&&(tt.xtypes=s),tt.xtypesChain=c,tt.xtypesMap=l,e.alias=v,d.triggerExtended(b,e,rt),e.onClassExtended){b.onExtended(e.onClassExtended,b);delete e.onClassExtended}if(st)for(et in st)st.hasOwnProperty(et)&&(it=st[et],it&&it.$isFunction&&!it.$isClass&&it!==Ext.emptyFn&&it!==Ext.identityFn&&(b[et]=lt=it,lt.$owner=b,lt.$name=et),b[et]=it);if(delete e.statics,e.inheritableStatics&&b.addInheritableStatics(e.inheritableStatics),tt.onClassExtended){d.onExtended(tt.onClassExtended,d);delete tt.onClassExtended}e.config&&h(b,e);rt.onBeforeCreated(b,rt.data,rt);for(k=0,ut=y&&y.length;k<ut;++k)b.mixin.apply(b,y[k]);for(k=0,ut=v.length;k<ut;k++)at=v[k],t.setAlias(b,at);for(e.singleton&&(d=new b),nt instanceof Array||(nt=[nt]),k=0,vt=nt.length;k<vt;k++)ot=nt[k],t.classes[ot]=d,g=t.getName(d),ft=t.maps.nameToAlternates,g&&g!==ot&&(t.maps.alternateToName[ot]=g,nt=ft[g]||(ft[g]=[]),nt.push(ot));for(k=0,ut=p.length;k<ut;k+=2)ht=p[k],ht||(ht=yt),ht[p[k+1]]=d;return t.classes[n]=d,g=t.getName(d),ft=t.maps.nameToAlternates,g&&g!==n&&(t.maps.alternateToName[n]=g,nt=ft[g]||(ft[g]=[]),nt.push(n)),delete tt.alternateClassName,rt.onCreated&&rt.onCreated.call(d,d),n&&t.triggerCreated(n),d};n.derive=l}(Ext.cmd={});Ext=Ext||{};Ext._startTime=(new Date).getTime(),function(){var e=this,u=Object.prototype,t=u.toString,n=!0,i=function(){},f=function(){var n=f.caller.caller;return n.$owner.prototype[n.$name].apply(this,arguments)},o,s=/\S/,r,h=/\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/;Function.prototype.$extIsFunction=!0;Ext.global=e;for(o in{toString:1})n=null;n&&(n=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]);Ext.enumerables=n;Ext.apply=function(t,i,r){if(r&&Ext.apply(t,r),t&&i&&typeof i=="object"){var f,e,u;for(f in i)t[f]=i[f];if(n)for(e=n.length;e--;)u=n[e],i.hasOwnProperty(u)&&(t[u]=i[u])}return t};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-"},Ext.buildSettings||{});Ext.apply(Ext,{name:Ext.sandboxName||"Ext",emptyFn:i,identityFn:function(n){return n},emptyString:new String,baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(n,t){var i;if(n)for(i in t)n[i]===undefined&&(n[i]=t[i]);return n},iterate:function(n,t,i){Ext.isEmpty(n)||(i===undefined&&(i=n),Ext.isIterable(n)?Ext.Array.each.call(Ext.Array,n,t,i):Ext.Object.each.call(Ext.Object,n,t,i))}});Ext.apply(Ext,{extend:function(){var n=u.constructor,t=function(n){for(var t in n)n.hasOwnProperty(t)&&(this[t]=n[t])};return function(i,r,u){Ext.isObject(r)&&(u=r,r=i,i=u.constructor!==n?u.constructor:function(){r.apply(this,arguments)});var o=function(){},f,e=r.prototype;return o.prototype=e,f=i.prototype=new o,f.constructor=i,i.superclass=e,e.constructor===n&&(e.constructor=r),i.override=function(n){Ext.override(i,n)},f.override=t,f.proto=f,i.override(u),i.extend=function(n){return Ext.extend(i,n)},i}}(),override:function(n,t){if(n.$isClass)n.override(t);else if(typeof n=="function")Ext.apply(n.prototype,t);else{var u=n.self,i,r;if(u&&u.$isClass)for(i in t)t.hasOwnProperty(i)&&(r=t[i],typeof r=="function"&&(r.$name=i,r.$owner=u,r.$previous=n.hasOwnProperty(i)?n[i]:f),n[i]=r);else Ext.apply(n,t)}return n}});Ext.apply(Ext,{valueFrom:function(n,t,i){return Ext.isEmpty(n,i)?t:n},typeOf:function(n){var i,r;if(n===null)return"null";if(i=typeof n,i==="undefined"||i==="string"||i==="number"||i==="boolean")return i;r=t.call(n);switch(r){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}return i==="function"?"function":i==="object"?n.nodeType!==undefined?n.nodeType===3?s.test(n.nodeValue)?"textnode":"whitespace":"element":"object":void 0},coerce:function(n,t){var u=Ext.typeOf(n),r=Ext.typeOf(t),i=typeof n=="string";if(u!==r)switch(r){case"string":return String(n);case"number":return Number(n);case"boolean":return i&&(!n||n==="false")?!1:Boolean(n);case"null":return i&&(!n||n==="null")?null:n;case"undefined":return i&&(!n||n==="undefined")?undefined:n;case"date":return i&&isNaN(n)?Ext.Date.parse(n,Ext.Date.defaultFormat):Date(Number(n))}return n},isEmpty:function(n,t){return n===null||n===undefined||(t?!1:n==="")||Ext.isArray(n)&&n.length===0},isArray:"isArray"in Array?Array.isArray:function(n){return t.call(n)==="[object Array]"},isDate:function(n){return t.call(n)==="[object Date]"},isObject:t.call(null)==="[object Object]"?function(n){return n!==null&&n!==undefined&&t.call(n)==="[object Object]"&&n.ownerDocument===undefined}:function(n){return t.call(n)==="[object Object]"},isSimpleObject:function(n){return n instanceof Object&&n.constructor===Object},isPrimitive:function(n){var t=typeof n;return t==="string"||t==="number"||t==="boolean"},isFunction:function(n){return!!(n&&n.$extIsFunction)},isNumber:function(n){return typeof n=="number"&&isFinite(n)},isNumeric:function(n){return!isNaN(parseFloat(n))&&isFinite(n)},isString:function(n){return typeof n=="string"},isBoolean:function(n){return typeof n=="boolean"},isElement:function(n){return n?n.nodeType===1:!1},isTextNode:function(n){return n?n.nodeName==="#text":!1},isDefined:function(n){return typeof n!="undefined"},isIterable:function(n){return!n||typeof n.length!="number"||typeof n=="string"||n.$extIsFunction?!1:n.propertyIsEnumerable?n.hasOwnProperty("length")&&!n.propertyIsEnumerable("length")?!0:h.test(t.call(n)):!!n.item}});Ext.apply(Ext,{clone:function(i){var u,f,o,e,r,s;if(i===null||i===undefined)return i;if(i.nodeType&&i.cloneNode)return i.cloneNode(!0);if(u=t.call(i),u==="[object Date]")return new Date(i.getTime());if(u==="[object Array]")for(f=i.length,r=[];f--;)r[f]=Ext.clone(i[f]);else if(u==="[object Object]"&&i.constructor===Object){r={};for(s in i)r[s]=Ext.clone(i[s]);if(n)for(o=n.length;o--;)e=n[o],i.hasOwnProperty(e)&&(r[e]=i[e])}return r||i},getUniqueGlobalNamespace:function(){var n=this.uniqueGlobalNamespace,t;if(n===undefined){t=0;do n="ExtBox"+ ++t;while(Ext.global[n]!==undefined);Ext.global[n]=Ext;this.uniqueGlobalNamespace=n}return n},functionFactoryCache:{},cacheableFunctionFactory:function(){var f=this,n=Array.prototype.slice.call(arguments),u=f.functionFactoryCache,r,t,i;return Ext.isSandboxed&&(i=n.length,i>0&&(i--,n[i]="var Ext=window."+Ext.name+";"+n[i])),r=n.join(""),t=u[r],t||(t=Function.prototype.constructor.apply(Function.prototype,n),u[r]=t),t},functionFactory:function(){var i=this,t=Array.prototype.slice.call(arguments),n;return Ext.isSandboxed&&(n=t.length,n>0&&(n--,t[n]="var Ext=window."+Ext.name+";"+t[n])),Function.prototype.constructor.apply(Function.prototype,t)},Logger:{verbose:i,log:i,info:i,warn:i,error:function(n){throw new Error(n);},deprecate:i}});Ext.type=Ext.typeOf;r=Ext.app;r||(r=Ext.app={});Ext.apply(r,{namespaces:{},collectNamespaces:function(n){var i=Ext.app.namespaces;for(var t in n)n.hasOwnProperty(t)&&(i[t]=!0)},addNamespaces:function(n){var r=Ext.app.namespaces,t,i;for(Ext.isArray(n)||(n=[n]),t=0,i=n.length;t<i;t++)r[n[t]]=!0},clearNamespaces:function(){Ext.app.namespaces={}},getNamespace:function(n){var r=Ext.app.namespaces,i="";for(var t in r)r.hasOwnProperty(t)&&t.length>i.length&&t+"."===n.substring(0,t.length+1)&&(i=t);return i===""?undefined:i}})}();Ext.globalEval=Ext.global.execScript?function(n){execScript(n)}:function(n){(function(){var Ext=this.Ext;eval(n)})()},function(){var n;Ext.Version=n=Ext.extend(Object,{constructor:function(t){var i,r;return t instanceof n?t:(this.version=this.shortVersion=String(t).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,""),r=this.version.search(/([^\d\.])/),r!==-1&&(this.release=this.version.substr(r,t.length),this.shortVersion=this.version.substr(0,r)),this.shortVersion=this.shortVersion.replace(/[^\d]/g,""),i=this.version.split("."),this.major=parseInt(i.shift()||0,10),this.minor=parseInt(i.shift()||0,10),this.patch=parseInt(i.shift()||0,10),this.build=parseInt(i.shift()||0,10),this)},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(t){return n.compare(this.version,t)===1},isGreaterThanOrEqual:function(t){return n.compare(this.version,t)>=0},isLessThan:function(t){return n.compare(this.version,t)===-1},isLessThanOrEqual:function(t){return n.compare(this.version,t)<=0},equals:function(t){return n.compare(this.version,t)===0},match:function(n){return n=String(n),this.version.substr(0,n.length)===n},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(n,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(n){return n?isNaN(n)?this.releaseValueMap[n]||n:parseInt(n,10):0},compare:function(t,i){var u,f,r;for(t=new n(t).toArray(),i=new n(i).toArray(),r=0;r<Math.max(t.length,i.length);r++){if(u=this.getComponentValue(t[r]),f=this.getComponentValue(i[r]),u<f)return-1;if(u>f)return 1}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(t,i){return Ext.versions[t]=new n(i),Ext.lastRegisteredVersion=Ext.versions[t],this},getVersion:function(n){return n===undefined?Ext.lastRegisteredVersion:Ext.versions[n]},deprecate:function(t,i,r,u){n.compare(Ext.getVersion(t),i)<1&&r.call(u)}});Ext.setVersion("core","4.2.1.883")}();Ext.String=function(){var f=/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,e=/('|\\)/g,o=/\{(\d+)\}/g,s=/([-.*+?\^${}()|\[\]\/\\])/g,h=/^\s+|\s+$/g,c=/\s+/,l=/(^[^a-z]*|[^\w])/gi,t,n,i,r,a=function(n,i){return t[i]},v=function(t,i){return i in n?n[i]:String.fromCharCode(parseInt(i.substr(2),10))},u=function(n,t){return n===null||n===undefined||t===null||t===undefined?!1:t.length<=n.length};return{insert:function(n,t,i){if(!n)return t;if(!t)return n;var r=n.length;return i||i===0||(i=r),i<0&&(i*=-1,i=i>=r?0:r-i),i===0?n=t+n:i>=n.length?n+=t:n=n.substr(0,i)+t+n.substr(i),n},startsWith:function(n,t,i){var r=u(n,t);return r&&(i&&(n=n.toLowerCase(),t=t.toLowerCase()),r=n.lastIndexOf(t,0)===0),r},endsWith:function(n,t,i){var r=u(n,t);return r&&(i&&(n=n.toLowerCase(),t=t.toLowerCase()),r=n.indexOf(t,n.length-t.length)!==-1),r},createVarName:function(n){return n.replace(l,"")},htmlEncode:function(n){return n?String(n).replace(i,a):n},htmlDecode:function(n){return n?String(n).replace(r,v):n},addCharacterEntities:function(u){var o=[],s=[],f,e;for(f in u)e=u[f],n[f]=e,t[e]=f,o.push(e),s.push(f);i=new RegExp("("+o.join("|")+")","g");r=new RegExp("("+s.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){t={};n={};this.addCharacterEntities({"&amp;":"&","&gt;":">","&lt;":"<","&quot;":'"',"&#39;":"'"})},urlAppend:function(n,t){return Ext.isEmpty(t)?n:n+(n.indexOf("?")===-1?"?":"&")+t},trim:function(n){return n.replace(f,"")},capitalize:function(n){return n.charAt(0).toUpperCase()+n.substr(1)},uncapitalize:function(n){return n.charAt(0).toLowerCase()+n.substr(1)},ellipsis:function(n,t,i){if(n&&n.length>t){if(i){var r=n.substr(0,t-2),u=Math.max(r.lastIndexOf(" "),r.lastIndexOf("."),r.lastIndexOf("!"),r.lastIndexOf("?"));if(u!==-1&&u>=t-15)return r.substr(0,u)+"..."}return n.substr(0,t-3)+"..."}return n},escapeRegex:function(n){return n.replace(s,"\\$1")},escape:function(n){return n.replace(e,"\\$1")},toggle:function(n,t,i){return n===t?i:t},leftPad:function(n,t,i){var r=String(n);for(i=i||" ";r.length<t;)r=i+r;return r},format:function(n){var t=Ext.Array.toArray(arguments,1);return n.replace(o,function(n,i){return t[i]})},repeat:function(n,t,i){t<1&&(t=0);for(var r=[],u=t;u--;)r.push(n);return r.join(i||"")},splitWords:function(n){return n&&typeof n=="string"?n.replace(h,"").split(c):n||[]}}}();Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Number=new function(){var t=this,i=.9.toFixed()!=="1",n=Math;Ext.apply(this,{constrain:function(n,t,i){var r=parseFloat(n);return r<t?t:r>i?i:r},snap:function(n,i,r,u){var f;return n===undefined||n<r?r||0:(i&&(f=n%i,f!==0&&(n-=f,f*2>=i?n+=i:f*2<-i&&(n-=i))),t.constrain(n,r,u))},snapInRange:function(n,i,r,u){var f;return(r=r||0,n===undefined||n<r)?r:(i&&(f=(n-r)%i)&&(n-=f,f*=2,f>=i&&(n+=i)),u!==undefined&&n>(u=t.snapInRange(u,i,r))&&(n=u),n)},toFixed:i?function(t,i){i=i||0;var r=n.pow(10,i);return(n.round(t*r)/r).toFixed(i)}:function(n,t){return n.toFixed(t)},from:function(n,t){return isFinite(n)&&(n=parseFloat(n)),isNaN(n)?t:n},randomInt:function(t,i){return n.floor(n.random()*(i-t+1)+t)},correctFloat:function(n){return parseFloat(n.toPrecision(14))}});Ext.num=function(){return t.from.apply(this,arguments)}},function(){function o(n,t){return t<0?Math.max(0,n.length+t):Math.min(n.length,t)}function u(n,t,i,r){var e=r?r.length:0,c=n.length,s=o(n,t),l,f,h,v,a,u;if(s===c)e&&n.push.apply(n,r);else{if(l=Math.min(i,c-s),f=s+l,h=f+e-l,v=c-f,a=c-l,h<f)for(u=0;u<v;++u)n[h+u]=n[f+u];else if(h>f)for(u=v;u--;)n[h+u]=n[f+u];if(e&&s===a)n.length=a,n.push.apply(n,r);else for(n.length=a+e,u=0;u<e;++u)n[s+u]=r[u]}return n}function b(n,t,i,r){return r&&r.length?t!==0||i?t<n.length?n.splice.apply(n,[t,i].concat(r)):n.push.apply(n,r):n.unshift.apply(n,r):n.splice(t,i),n}function k(n,t,i){return u(n,t,i)}function d(n,t,i){return n.splice(t,i),n}function g(n,i,r){var f=o(n,i),e=n.slice(i,o(n,f+r));return arguments.length<4?u(n,f,r):u(n,f,r,t.call(arguments,3)),e}function nt(n){return n.splice.apply(n,t.call(arguments,1))}var i=Array.prototype,t=i.slice,f=function(){var n=[],t,i=20;if(!n.splice)return!1;while(i--)n.push("A");return(n.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F"),t=n.length,n.splice(13,0,"XXX"),t+1!=n.length)?!1:!0}(),l="forEach"in i,a="map"in i,s="indexOf"in i,v="every"in i,y="some"in i,p="filter"in i,w=function(){var n=[1,2,3,4,5].sort(function(){return 0});return n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5}(),h=!0,n,r,e,c;try{typeof document!="undefined"&&t.call(document.getElementsByTagName("body"))}catch(tt){h=!1}r=f?d:k;e=f?b:u;c=f?nt:g;n=Ext.Array={each:function(t,i,r,u){t=n.from(t);var f,e=t.length;if(u!==!0){for(f=0;f<e;f++)if(i.call(r||t[f],t[f],f,t)===!1)return f}else for(f=e-1;f>-1;f--)if(i.call(r||t[f],t[f],f,t)===!1)return f;return!0},forEach:l?function(n,t,i){n.forEach(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;r++)t.call(i,n[r],r,n)},indexOf:s?function(n,t,r){return i.indexOf.call(n,t,r)}:function(n,t,i){for(var u=n.length,r=i<0?Math.max(0,u+i):i||0;r<u;r++)if(n[r]===t)return r;return-1},contains:s?function(n,t){return i.indexOf.call(n,t)!==-1}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return!0;return!1},toArray:function(n,i,r){if(!n||!n.length)return[];if(typeof n=="string"&&(n=n.split("")),h)return t.call(n,i||0,r||n.length);var f=[],u;for(i=i||0,r=r?r<0?n.length+r:r:n.length,u=i;u<r;u++)f.push(n[u]);return f},pluck:function(n,t){for(var r=[],f,i=0,u=n.length;i<u;i++)f=n[i],r.push(f[t]);return r},map:a?function(n,t,i){return n.map(t,i)}:function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)u[r]=t.call(i,n[r],r,n);return u},every:v?function(n,t,i){return n.every(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;++r)if(!t.call(i,n[r],r,n))return!1;return!0},some:y?function(n,t,i){return n.some(t,i)}:function(n,t,i){for(var r=0,u=n.length;r<u;++r)if(t.call(i,n[r],r,n))return!0;return!1},equals:function(n,t){var r=n.length,u=t.length,i;if(n===t)return!0;if(r!==u)return!1;for(i=0;i<r;++i)if(n[i]!==t[i])return!1;return!0},clean:function(n){for(var r=[],t=0,u=n.length,i;t<u;t++)i=n[t],Ext.isEmpty(i)||r.push(i);return r},unique:function(t){for(var i=[],r=0,f=t.length,u;r<f;r++)u=t[r],n.indexOf(i,u)===-1&&i.push(u);return i},filter:p?function(n,t,i){return n.filter(t,i)}:function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)t.call(i,n[r],r,n)&&u.push(n[r]);return u},findBy:function(n,t,i){for(var r=0,u=n.length;r<u;r++)if(t.call(i||n,n[r],r))return n[r];return null},from:function(i,r){if(i===undefined||i===null)return[];if(Ext.isArray(i))return r?t.call(i):i;var u=typeof i;return i&&i.length!==undefined&&u!=="string"&&(u!=="function"||!i.apply)?n.toArray(i):[i]},remove:function(t,i){var u=n.indexOf(t,i);return u!==-1&&r(t,u,1),t},include:function(t,i){n.contains(t,i)||t.push(i)},clone:function(n){return t.call(n)},merge:function(){for(var u=t.call(arguments),r=[],i=0,f=u.length;i<f;i++)r=r.concat(u[i]);return n.unique(r)},intersect:function(){var h=[],f=t.call(arguments),e,c,p,u,l,a,w,v,b,y,i,o,s;if(!f.length)return h;for(e=f.length,i=l=0;i<e;i++)a=f[i],(!u||a.length<u.length)&&(u=a,l=i);for(u=n.unique(u),r(f,l,1),w=u.length,e=f.length,i=0;i<w;i++){for(v=u[i],y=0,o=0;o<e;o++)for(c=f[o],p=c.length,s=0;s<p;s++)if(b=c[s],v===b){y++;break}y===e&&h.push(v)}return h},difference:function(n,i){for(var f=t.call(n),o=f.length,u,e=0,s=i.length;e<s;e++)for(u=0;u<o;u++)f[u]===i[e]&&(r(f,u,1),u--,o--);return f},slice:[1,2].slice(1,undefined).length?function(n,i,r){return t.call(n,i,r)}:function(n,i,r){return typeof i=="undefined"?t.call(n):typeof r=="undefined"?t.call(n,i):t.call(n,i,r)},sort:w?function(n,t){return t?n.sort(t):n.sort()}:function(n,t){for(var f=n.length,r=0,e,u,i,o;r<f;r++){for(i=r,u=r+1;u<f;u++)t?(e=t(n[u],n[i]),e<0&&(i=u)):n[u]<n[i]&&(i=u);i!==r&&(o=n[r],n[r]=n[i],n[i]=o)}return n},flatten:function(n){function i(n){for(var u,r=0,f=n.length;r<f;r++)u=n[r],Ext.isArray(u)?i(u):t.push(u);return t}var t=[];return i(n)},min:function(n,t){for(var i=n[0],r,u=0,f=n.length;u<f;u++)r=n[u],t?t(i,r)===1&&(i=r):r<i&&(i=r);return i},max:function(n,t){for(var i=n[0],r,u=0,f=n.length;u<f;u++)r=n[u],t?t(i,r)===-1&&(i=r):r>i&&(i=r);return i},mean:function(t){return t.length>0?n.sum(t)/t.length:undefined},sum:function(n){for(var i=0,u,t=0,r=n.length;t<r;t++)u=n[t],i+=u;return i},toMap:function(n,t,i){var u={},r=n.length;if(t)if(typeof t=="string")while(r--)u[n[r][t]]=r+1;else while(r--)u[t.call(i,n[r])]=r+1;else while(r--)u[n[r]]=r+1;return u},toValueMap:function(n,t,i){var u={},r=n.length;if(t)if(typeof t=="string")while(r--)u[n[r][t]]=n[r];else while(r--)u[t.call(i,n[r])]=n[r];else while(r--)u[n[r]]=n[r];return u},erase:r,insert:function(n,t,i){return e(n,t,0,i)},replace:e,splice:c,push:function(n){var r=arguments.length,t=1,i;for(n===undefined?n=[]:Ext.isArray(n)||(n=[n]);t<r;t++)i=arguments[t],Array.prototype.push[Ext.isIterable(i)?"apply":"call"](n,i);return n}};Ext.each=n.each;n.union=n.merge;Ext.min=n.min;Ext.max=n.max;Ext.sum=n.sum;Ext.mean=n.mean;Ext.flatten=n.flatten;Ext.clean=n.clean;Ext.unique=n.unique;Ext.pluck=n.pluck;Ext.toArray=function(){return n.toArray.apply(n,arguments)}}();Ext.Function={flexSetter:function(n){return function(t,i){var r,u;if(t===null)return this;if(typeof t!="string"){for(r in t)t.hasOwnProperty(r)&&n.call(this,r,t[r]);if(Ext.enumerables)for(u=Ext.enumerables.length;u--;)r=Ext.enumerables[u],t.hasOwnProperty(r)&&n.call(this,r,t[r])}else n.call(this,t,i);return this}},bind:function(n,t,i,r){if(arguments.length===2)return function(){return n.apply(t,arguments)};var f=n,u=Array.prototype.slice;return function(){var n=i||arguments;return r===!0?(n=u.call(arguments,0),n=n.concat(i)):typeof r=="number"&&(n=u.call(arguments,0),Ext.Array.insert(n,r,i)),f.apply(t||Ext.global,n)}},pass:function(n,t,i){return Ext.isArray(t)||(t=Ext.isIterable(t)?Ext.Array.clone(t):t!==undefined?[t]:[]),function(){var r=[].concat(t);return r.push.apply(r,arguments),n.apply(i||this,r)}},alias:function(n,t){return function(){return n[t].apply(n,arguments)}},clone:function(n){return function(){return n.apply(this,arguments)}},createInterceptor:function(n,t,i,r){var u=n;return Ext.isFunction(t)?(r=Ext.isDefined(r)?r:null,function(){var u=this,f=arguments;return t.target=u,t.method=n,t.apply(i||u||Ext.global,f)!==!1?n.apply(u||Ext.global,f):r}):n},createDelayed:function(n,t,i,r,u){return(i||r)&&(n=Ext.Function.bind(n,i,r,u)),function(){var i=this,r=Array.prototype.slice.call(arguments);setTimeout(function(){n.apply(i,r)},t)}},defer:function(n,t,i,r,u){return(n=Ext.Function.bind(n,i,r,u),t>0)?setTimeout(Ext.supports.TimeoutActualLateness?function(){n()}:n,t):(n(),0)},createSequence:function(n,t,i){return t?function(){var r=n.apply(this,arguments);return t.apply(i||this,arguments),r}:n},createBuffered:function(n,t,i,r){var u;return function(){var f=r||Array.prototype.slice.call(arguments,0),e=i||this;u&&clearTimeout(u);u=setTimeout(function(){n.apply(e,f)},t)}},createThrottled:function(n,t,i){var r,u,f,e,o=function(){n.apply(i||this,f);r=Ext.Date.now()};return function(){u=Ext.Date.now()-r;f=arguments;clearTimeout(e);!r||u>=t?o():e=setTimeout(o,t-u)}},interceptBefore:function(n,t,i,r){var u=n[t]||Ext.emptyFn;return n[t]=function(){var n=i.apply(r||this,arguments);return u.apply(this,arguments),n}},interceptAfter:function(n,t,i,r){var u=n[t]||Ext.emptyFn;return n[t]=function(){return u.apply(this,arguments),i.apply(r||this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind"),function(){var t=function(){},n=Ext.Object={chain:Object.create||function(n){t.prototype=n;var i=new t;return t.prototype=null,i},toQueryObjects:function(t,i,r){var e=n.toQueryObjects,f=[],u,o;if(Ext.isArray(i))for(u=0,o=i.length;u<o;u++)r?f=f.concat(e(t+"["+u+"]",i[u],!0)):f.push({name:t,value:i[u]});else if(Ext.isObject(i))for(u in i)i.hasOwnProperty(u)&&(r?f=f.concat(e(t+"["+u+"]",i[u],!0)):f.push({name:t,value:i[u]}));else f.push({name:t,value:i});return f},toQueryString:function(t,i){var u=[],s=[],f,e,h,o,r;for(f in t)t.hasOwnProperty(f)&&(u=u.concat(n.toQueryObjects(f,t[f],i)));for(e=0,h=u.length;e<h;e++)o=u[e],r=o.value,Ext.isEmpty(r)?r="":Ext.isDate(r)&&(r=Ext.Date.toString(r)),s.push(encodeURIComponent(o.name)+"="+encodeURIComponent(String(r)));return s.join("&")},fromQueryString:function(n,t){for(var p=n.replace(/^\?/,"").split("&"),f={},e,c,r,o,v,u,h,a,b,s,i,y,l=0,w=p.length;l<w;l++)if(v=p[l],v.length>0)if(c=v.split("="),r=decodeURIComponent(c[0]),o=c[1]!==undefined?decodeURIComponent(c[1]):"",t){if(a=r.match(/(\[):?([^\]]*)\]/g),b=r.match(/^([^\[]+)/),r=b[0],s=[],a===null){f[r]=o;continue}for(u=0,h=a.length;u<h;u++)i=a[u],i=i.length===2?"":i.substring(1,i.length-1),s.push(i);for(s.unshift(r),e=f,u=0,h=s.length;u<h;u++)i=s[u],u===h-1?Ext.isArray(e)&&i===""?e.push(o):e[i]=o:((e[i]===undefined||typeof e[i]=="string")&&(y=s[u+1],e[i]=Ext.isNumeric(y)||y===""?[]:{}),e=e[i])}else f.hasOwnProperty(r)?(Ext.isArray(f[r])||(f[r]=[f[r]]),f[r].push(o)):f[r]=o;return f},each:function(n,t,i){for(var r in n)if(n.hasOwnProperty(r)&&t.call(i||n,r,n[r],n)===!1)return},merge:function(t){for(var f=1,o=arguments.length,s=n.merge,h=Ext.clone,e,r,i,u;f<o;f++){e=arguments[f];for(r in e)i=e[r],i&&i.constructor===Object?(u=t[r],u&&u.constructor===Object?s(u,i):t[r]=h(i)):t[r]=i}return t},mergeIf:function(n){for(var r=1,f=arguments.length,e=Ext.clone,u,i,t;r<f;r++){u=arguments[r];for(i in u)i in n||(t=u[i],n[i]=t&&t.constructor===Object?e(t):t)}return n},getKey:function(n,t){for(var i in n)if(n.hasOwnProperty(i)&&n[i]===t)return i;return null},getValues:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t},getKeys:typeof Object.keys=="function"?function(n){return n?Object.keys(n):[]}:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t},getSize:function(n){var t=0;for(var i in n)n.hasOwnProperty(i)&&t++;return t},isEmpty:function(n){for(var t in n)if(n.hasOwnProperty(t))return!1;return!0},equals:function(){var n=function(n,t){for(var i in n)if(n.hasOwnProperty(i)&&n[i]!==t[i])return!1;return!0};return function(t,i){return t===i?!0:t&&i?n(t,i)&&n(i,t):t||i?!1:t===i}}(),classify:function(t){var o=t,u=[],f={},e=function(){for(var n=0,i=u.length,t;n<i;n++)t=u[n],this[t]=new f[t]},i,r;for(i in t)t.hasOwnProperty(i)&&(r=t[i],r&&r.constructor===Object&&(u.push(i),f[i]=n.classify(r)));return e.prototype=o,e}};Ext.merge=Ext.Object.merge;Ext.mergeIf=Ext.Object.mergeIf;Ext.urlEncode=function(){var t=Ext.Array.from(arguments),i="";return typeof t[1]=="string"&&(i=t[1]+"&",t[1]=!1),i+n.toQueryString.apply(n,t)};Ext.urlDecode=function(){return n.fromQueryString.apply(n,arguments)}}();Ext.Date=new function(){function i(n){var t=Array.prototype.slice.call(arguments,1);return n.replace(e,function(n,i){return t[i]})}var n=this,t=/(\\.)/g,r=/([gGhHisucUOPZ]|MS)/,u=/([djzmnYycU]|MS)/,f=/\\/gi,e=/\{(\d+)\}/g,o=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),s="var me = this, dt, y, m, d, h, i, s, ms, o, O, z, zz, u, v, W, year, jan4, week1monday, daysInMonth, dayMatched,\ndef = me.defaults,\nfrom = Ext.Number.from,\nresults = String(input).match(me.parseRegexes[{0}]);\nif(results){\n{1}\nif(u != null){\nv = new Date(u * 1000);\n}else{\ndt = me.clearTime(new Date);\ny = from(y, from(def.y, dt.getFullYear()));\nm = from(m, from(def.m - 1, dt.getMonth()));\ndayMatched = d !== undefined;\nd = from(d, from(def.d, dt.getDate()));\nif (!dayMatched) {\ndt.setDate(1);\ndt.setMonth(m);\ndt.setFullYear(y);\ndaysInMonth = me.getDaysInMonth(dt);\nif (d > daysInMonth) {\nd = daysInMonth;\n}\n}\nh  = from(h, from(def.h, dt.getHours()));\ni  = from(i, from(def.i, dt.getMinutes()));\ns  = from(s, from(def.s, dt.getSeconds()));\nms = from(ms, from(def.ms, dt.getMilliseconds()));\nif(z >= 0 && y >= 0){\nv = me.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);\nv = !strict? v : (strict === true && (z <= 364 || (me.isLeapYear(v) && z <= 365))? me.add(v, me.DAY, z) : null);\n}else if(strict === true && !me.isValid(y, m + 1, d, h, i, s, ms)){\nv = null;\n}else{\nif (W) {\nyear = y || (new Date()).getFullYear(),\njan4 = new Date(year, 0, 4, 0, 0, 0),\nweek1monday = new Date(jan4.getTime() - ((jan4.getDay() - 1) * 86400000));\nv = Ext.Date.clearTime(new Date(week1monday.getTime() + ((W - 1) * 604800000)));\n} else {\nv = me.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);\n}\n}\n}\n}\nif(v){\nif(zz != null){\nv = me.add(v, me.SECOND, -v.getTimezoneOffset() * 60 - zz);\n}else if(o){\nv = me.add(v, me.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));\n}\n}\nreturn v;";Ext.apply(n,{now:Date.now||function(){return+new Date},toString:function(n){var t=Ext.String.leftPad;return n.getFullYear()+"-"+t(n.getMonth()+1,2,"0")+"-"+t(n.getDate(),2,"0")+"T"+t(n.getHours(),2,"0")+":"+t(n.getMinutes(),2,"0")+":"+t(n.getSeconds(),2,"0")},getElapsed:function(t,i){return Math.abs(t-(i||n.now()))},useStrict:!1,formatCodeToRegex:function(t,r){var u=n.parseCodes[t];return u&&(u=typeof u=="function"?u():u,n.parseCodes[t]=u),u?Ext.applyIf({c:u.c?i(u.c,r||"{0}"):u.c},u):{g:0,c:null,s:Ext.String.escapeRegex(t)}},parseFunctions:{MS:function(n){var t=(n||"").match(o);return t?new Date(((t[1]||"")+t[2])*1):null},time:function(n){var t=parseInt(n,10);return t||t===0?new Date(t):null},timestamp:function(n){var t=parseInt(n,10);return t||t===0?new Date(t*1e3):null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"},time:function(){return this.getTime().toString()},timestamp:function(){return n.format(this,"U")}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{January:0,Jan:0,February:1,Feb:1,March:2,Mar:2,April:3,Apr:3,May:4,June:5,Jun:5,July:6,Jul:6,August:7,Aug:7,September:8,Sep:8,October:9,Oct:9,November:10,Nov:10,December:11,Dec:11},defaultFormat:"m/d/Y",getShortMonthName:function(n){return Ext.Date.monthNames[n].substring(0,3)},getShortDayName:function(n){return Ext.Date.dayNames[n].substring(0,3)},getMonthNumber:function(n){return Ext.Date.monthNumbers[n.substring(0,1).toUpperCase()+n.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(n){return r.test(n.replace(t,""))},formatContainsDateInfo:function(n){return u.test(n.replace(t,""))},unescapeFormat:function(n){return n.replace(f,"")},formatCodes:{d:"Ext.String.leftPad(this.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Ext.Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"Ext.Date.getSuffix(this)",w:"this.getDay()",z:"Ext.Date.getDayOfYear(this)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",F:"Ext.Date.monthNames[this.getMonth()]",m:"Ext.String.leftPad(this.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(this)",L:"(Ext.Date.isLeapYear(this) ? 1 : 0)",o:"(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){var i,r,t,f,u;for(i="Y-m-dTH:i:sP",r=[],t=0,f=i.length;t<f;++t)u=i.charAt(t),r.push(u=="T"?"'T'":n.getFormatCode(u));return r.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(t,i,r,u,f,e,o){u=u||0;f=f||0;e=e||0;o=o||0;var s=n.add(new Date(t<100?100:t,i-1,r,u,f,e,o),n.YEAR,t<100?t-100:0);return t==s.getFullYear()&&i==s.getMonth()+1&&r==s.getDate()&&u==s.getHours()&&f==s.getMinutes()&&e==s.getSeconds()&&o==s.getMilliseconds()},parse:function(t,i,r){var u=n.parseFunctions;return u[i]==null&&n.createParser(i),u[i].call(n,t,Ext.isDefined(r)?r:n.useStrict)},parseDate:function(t,i,r){return n.parse(t,i,r)},getFormatCode:function(t){var i=n.formatCodes[t];return i&&(i=typeof i=="function"?i():i,n.formatCodes[t]=i),i||"'"+Ext.String.escape(t)+"'"},createFormat:function(t){for(var f=[],i=!1,r="",u=0;u<t.length;++u)r=t.charAt(u),i||r!="\\"?i?(i=!1,f.push("'"+Ext.String.escape(r)+"'")):f.push(n.getFormatCode(r)):i=!0;n.formatFunctions[t]=Ext.functionFactory("return "+f.join("+"))},createParser:function(t){for(var c=n.parseRegexes.length,l=1,u=[],o=[],f=!1,e="",h=0,v=t.length,a=[],r;h<v;++h)e=t.charAt(h),f||e!="\\"?f?(f=!1,o.push(Ext.String.escape(e))):(r=n.formatCodeToRegex(e,l),l+=r.g,o.push(r.s),r.g&&r.c&&(r.calcAtEnd?a.push(r.c):u.push(r.c))):f=!0;u=u.concat(a);n.parseRegexes[c]=new RegExp("^"+o.join("")+"$","i");n.parseFunctions[t]=Ext.functionFactory("input","strict",i(s,c,u.join("")))},parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|0[1-9])"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(3[0-1]|[1-2][0-9]|[1-9])"},D:function(){for(var i=[],t=0;t<7;i.push(n.getShortDayName(t)),++t);return{g:0,c:null,s:"(?:"+i.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+n.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:1,c:"W = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},F:function(){return{g:1,c:"m = parseInt(me.getMonthNumber(results[{0}]), 10);\n",s:"("+n.monthNames.join("|")+")"}},M:function(){for(var i=[],t=0;t<12;i.push(n.getShortMonthName(t)),++t);return Ext.applyIf({s:"("+i.join("|")+")"},n.formatCodeToRegex("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|0[1-9])"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(1[0-2]|[1-9])"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > me.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)",calcAtEnd:!0},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)",calcAtEnd:!0},g:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|[0-9])"},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|1[0-9]|[0-9])"},h:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|0[1-9])"},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|[0-1][0-9])"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:"o = results[{0}];\nvar sn = o.substring(0,1),\nhr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),\nmn = o.substring(3,5) % 60;\no = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n",s:"([+-]\\d{4})"},P:{g:1,c:"o = results[{0}];\nvar sn = o.substring(0,1),\nhr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),\nmn = o.substring(4,6) % 60;\no = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n",s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,5}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){for(var r=[],t=[n.formatCodeToRegex("Y",1),n.formatCodeToRegex("m",2),n.formatCodeToRegex("d",3),n.formatCodeToRegex("H",4),n.formatCodeToRegex("i",5),n.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",n.formatCodeToRegex("P",8).c,"}else{",n.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],i=0,u=t.length;i<u;++i)r.push(t[i].c);return{g:1,c:r.join(""),s:[t[0].s,"(?:","-",t[1].s,"(?:","-",t[2].s,"(?:","(?:T| )?",t[3].s,":",t[4].s,"(?::",t[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}},dateFormat:function(t,i){return n.format(t,i)},isEqual:function(n,t){return n&&t?n.getTime()===t.getTime():!(n||t)},format:function(t,i){var r=n.formatFunctions;return Ext.isDate(t)?(r[i]==null&&n.createFormat(i),r[i].call(t)+""):""},getTimezone:function(n){return n.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(n,t){var i=n.getTimezoneOffset();return(i>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(i)/60),2,"0")+(t?":":"")+Ext.String.leftPad(Math.abs(i%60),2,"0")},getDayOfYear:function(t){var u=0,i=Ext.Date.clone(t),f=t.getMonth(),r;for(r=0,i.setDate(1),i.setMonth(0);r<f;i.setMonth(++r))u+=n.getDaysInMonth(i);return u+t.getDate()-1},getWeekOfYear:function(){var n=864e5,t=7*n;return function(i){var u=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate()+3)/n,r=Math.floor(u/7),f=new Date(r*t).getUTCFullYear();return r-Math.floor(Date.UTC(f,0,7)/t)+1}}(),isLeapYear:function(n){var t=n.getFullYear();return!!((t&3)==0&&(t%100||t%400==0&&t))},getFirstDayOfMonth:function(n){var t=(n.getDay()-(n.getDate()-1))%7;return t<0?t+7:t},getLastDayOfMonth:function(t){return n.getLastDateOfMonth(t).getDay()},getFirstDateOfMonth:function(n){return new Date(n.getFullYear(),n.getMonth(),1)},getLastDateOfMonth:function(t){return new Date(t.getFullYear(),t.getMonth(),n.getDaysInMonth(t))},getDaysInMonth:function(){var t=[31,28,31,30,31,30,31,31,30,31,30,31];return function(i){var r=i.getMonth();return r==1&&n.isLeapYear(i)?29:t[r]}}(),getSuffix:function(n){switch(n.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(n){return new Date(n.getTime())},isDST:function(n){return new Date(n.getFullYear(),0,1).getTimezoneOffset()!=n.getTimezoneOffset()},clearTime:function(t,i){if(i)return Ext.Date.clearTime(Ext.Date.clone(t));var f=t.getDate(),r,u;if(t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t.getDate()!=f){for(r=1,u=n.add(t,Ext.Date.HOUR,r);u.getDate()!=f;r++,u=n.add(t,Ext.Date.HOUR,r));t.setDate(f);t.setHours(u.getHours())}return t},add:function(t,i,r){var u=Ext.Date.clone(t),s=Ext.Date,f,o,e=0;if(!i||r===0)return u;if(o=r-parseInt(r,10),r=parseInt(r,10),r)switch(i.toLowerCase()){case Ext.Date.MILLI:u.setTime(u.getTime()+r);break;case Ext.Date.SECOND:u.setTime(u.getTime()+r*1e3);break;case Ext.Date.MINUTE:u.setTime(u.getTime()+r*6e4);break;case Ext.Date.HOUR:u.setTime(u.getTime()+r*36e5);break;case Ext.Date.DAY:u.setDate(u.getDate()+r);break;case Ext.Date.MONTH:f=t.getDate();f>28&&(f=Math.min(f,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(t),Ext.Date.MONTH,r)).getDate()));u.setDate(f);u.setMonth(t.getMonth()+r);break;case Ext.Date.YEAR:f=t.getDate();f>28&&(f=Math.min(f,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(t),Ext.Date.YEAR,r)).getDate()));u.setDate(f);u.setFullYear(t.getFullYear()+r)}if(o){switch(i.toLowerCase()){case Ext.Date.MILLI:e=1;break;case Ext.Date.SECOND:e=1e3;break;case Ext.Date.MINUTE:e=6e4;break;case Ext.Date.HOUR:e=36e5;break;case Ext.Date.DAY:e=864e5;break;case Ext.Date.MONTH:f=n.getDaysInMonth(u);e=864e5*f;break;case Ext.Date.YEAR:f=n.isLeapYear(u)?366:365;e=864e5*f}e&&u.setTime(u.getTime()+e*o)}return u},subtract:function(t,i,r){return n.add(t,i,-r)},between:function(n,t,i){var r=n.getTime();return t.getTime()<=r&&r<=i.getTime()},compat:function(){for(var f=window.Date,t,e=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],o=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],s=e.length,h=o.length,r,u,i=0;i<s;i++)r=e[i],f[r]=n[r];for(t=0;t<h;t++)u=o[t],f.prototype[u]=function(){var t=Array.prototype.slice.call(arguments);return t.unshift(this),n[u].apply(n,t)}}})},function(n){var i=[],t=function(){},r=function(n,t,i,r){var u=function(){var t=this.callParent(arguments);return n.apply(this,arguments),t};return u.$name=i,u.$owner=r,t&&(u.$previous=t.$previous,t.$previous=u),u};Ext.apply(t,{$className:"Ext.Base",$isClass:!0,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},extend:function(n){var f=n.prototype,e,t,i,o,r,u;if(t=this.prototype=Ext.Object.chain(f),t.self=this,this.superclass=t.superclass=f,!n.$isClass){e=Ext.Base.prototype;for(i in e)i in t&&(t[i]=e[i])}if(u=f.$inheritableStatics,u)for(i=0,o=u.length;i<o;i++)r=u[i],this.hasOwnProperty(r)||(this[r]=n[r]);n.$onExtended&&(this.$onExtended=n.$onExtended.slice());t.config=new t.configClass;t.initConfigList=t.initConfigList.slice();t.initConfigMap=Ext.clone(t.initConfigMap);t.configMap=Ext.Object.chain(t.configMap)},$onExtended:[],triggerExtended:function(){var i=this.$onExtended,r=i.length,n,t;if(r>0)for(n=0;n<r;n++)t=i[n],t.fn.apply(t.scope||this,arguments)},onExtended:function(n,t){return this.$onExtended.push({fn:n,scope:t}),this},addConfig:function(n,t){var r=this.prototype,h=Ext.Class.configNameCache,f=r.configMap,c=r.initConfigList,e=r.initConfigMap,u=r.config,o,i,s;for(i in n)n.hasOwnProperty(i)&&(f[i]||(f[i]=!0),s=n[i],o=h[i].initialized,e[i]||s===null||r[o]||(e[i]=!0,c.push(i)));t?Ext.merge(u,n):Ext.mergeIf(u,n);r.configClass=Ext.Object.classify(u)},addStatics:function(n){var t;for(var i in n)n.hasOwnProperty(i)&&(t=n[i],typeof t!="function"||t.$isClass||t===Ext.emptyFn||t===Ext.identityFn||(t.$owner=this,t.$name=i),this[i]=t);return this},addInheritableStatics:function(n){var i,r,u=this.prototype,t,f;i=u.$inheritableStatics;r=u.$hasInheritableStatics;i||(i=u.$inheritableStatics=[],r=u.$hasInheritableStatics={});for(t in n)n.hasOwnProperty(t)&&(f=n[t],this[t]=f,r[t]||(r[t]=!0,i.push(t)));return this},addMembers:function(n){var o=this.prototype,f=Ext.enumerables,r=[],u,e,i,t;for(i in n)r.push(i);for(f&&r.push.apply(r,f),u=0,e=r.length;u<e;u++)i=r[u],n.hasOwnProperty(i)&&(t=n[i],typeof t!="function"||t.$isClass||t===Ext.emptyFn||t===Ext.identityFn||(t.$owner=this,t.$name=i),o[i]=t);return this},addMember:function(n,t){return typeof t!="function"||t.$isClass||t===Ext.emptyFn||t===Ext.identityFn||(t.$owner=this,t.$name=n),this.prototype[n]=t,this},implement:function(){this.addMembers.apply(this,arguments)},borrow:function(n,t){var e=this.prototype,s=n.prototype,r,o,i,u,f;for(t=Ext.Array.from(t),r=0,o=t.length;r<o;r++)i=t[r],f=s[i],typeof f=="function"?(u=Ext.Function.clone(f),u.$owner=this,u.$name=i,e[i]=u):e[i]=f;return this},override:function(n){var u=this,f=Ext.enumerables,e=u.prototype,c=Ext.Function.clone,t,o,i,s,r,h;arguments.length===2&&(t=n,n={},n[t]=arguments[1],f=null);do{r=[];s=null;for(t in n)t=="statics"?s=n[t]:t=="inheritableStatics"?u.addInheritableStatics(n[t]):t=="config"?u.addConfig(n[t],!0):r.push(t);for(f&&r.push.apply(r,f),o=r.length;o--;)t=r[o],n.hasOwnProperty(t)&&(i=n[t],typeof i!="function"||i.$className||i===Ext.emptyFn||i===Ext.identityFn||(typeof i.$owner!="undefined"&&(i=c(i)),i.$owner=u,i.$name=t,h=e[t],h&&(i.$previous=h)),e[t]=i);e=u;n=s}while(n);return this},callParent:function(n){var t;return(t=this.callParent.caller)&&(t.$previous||(t=t.$owner?t:t.caller)&&t.$owner.superclass.self[t.$name]).apply(this,n||i)},callSuper:function(n){var t;return(t=this.callSuper.caller)&&((t=t.$owner?t:t.caller)&&t.$owner.superclass.self[t.$name]).apply(this,n||i)},mixin:function(n,t){var u=this,f=t.prototype,i=u.prototype,e,h,c,v,l,s,o,a;typeof f.onClassMixedIn!="undefined"&&f.onClassMixedIn.call(t,u);i.hasOwnProperty("mixins")||(i.mixins="mixins"in i?Ext.Object.chain(i.mixins):{});for(e in f)if(s=f[e],e==="mixins")Ext.merge(i.mixins,s);else if(e==="xhooks")for(o in s)a=s[o],a.$previous=Ext.emptyFn,i.hasOwnProperty(o)?r(a,i[o],o,u):i[o]=r(a,null,o,u);else e==="mixinId"||e==="config"||i[e]!==undefined||(i[e]=s);if(h=f.$inheritableStatics,h)for(c=0,v=h.length;c<v;c++)l=h[c],u.hasOwnProperty(l)||(u[l]=t[l]);return"config"in f&&u.addConfig(f.config,!1),i.mixins[n]=f,u},getName:function(){return Ext.getClassName(this)},createAlias:n(function(n,t){this.override(n,function(){return this[t].apply(this,arguments)})}),addXtype:function(n){var t=this.prototype,i=t.xtypesMap,r=t.xtypes,u=t.xtypesChain;return t.hasOwnProperty("xtypesMap")||(i=t.xtypesMap=Ext.merge({},t.xtypesMap||{}),r=t.xtypes=t.xtypes?[].concat(t.xtypes):[],u=t.xtypesChain=t.xtypesChain?[].concat(t.xtypesChain):[],t.xtype=n),i[n]||(i[n]=!0,r.push(n),u.push(n),Ext.ClassManager.setAlias(this,"widget."+n)),this}});t.implement({isInstance:!0,$className:"Ext.Base",configClass:Ext.emptyFn,initConfigList:[],configMap:{},initConfigMap:{},statics:function(){var n=this.statics.caller,t=this.self;return n?n.$owner:t},callParent:function(n){var t,r=(t=this.callParent.caller)&&(t.$previous||(t=t.$owner?t:t.caller)&&t.$owner.superclass[t.$name]);return r.apply(this,n||i)},callSuper:function(n){var t,r=(t=this.callSuper.caller)&&(t=t.$owner?t:t.caller)&&t.$owner.superclass[t.$name];return r.apply(this,n||i)},self:t,constructor:function(){return this},initConfig:function(n){var i=n,o=Ext.Class.configNameCache,s=new this.configClass,r=this.initConfigList,c=this.configMap,f,u,h,t,e;if(this.initConfig=Ext.emptyFn,this.initialConfig=i||{},this.config=n=i?Ext.merge(s,n):s,i){r=r.slice();for(t in i)c[t]&&i[t]!==null&&(r.push(t),this[o[t].initialized]=!1)}for(u=0,h=r.length;u<h;u++)t=r[u],f=o[t],e=f.initialized,this[e]||(this[e]=!0,this[f.set].call(this,n[t]));return this},hasConfig:function(n){return Boolean(this.configMap[n])},setConfig:function(n,t){if(!n)return this;var u=Ext.Class.configNameCache,f=this.config,e=this.configMap,o=this.initialConfig,i,r;t=Boolean(t);for(i in n)t&&o.hasOwnProperty(i)||(r=n[i],f[i]=r,e[i]&&this[u[i].set](r));return this},getConfig:function(n){var t=Ext.Class.configNameCache;return this[t[n].get]()},getInitialConfig:function(n){var t=this.config;return n?t[n]:t},onConfigUpdate:function(n,t,i){var h=this.self,r,e,o,u,s,f;for(n=Ext.Array.from(n),i=i||this,r=0,e=n.length;r<e;r++)o=n[r],u="update"+Ext.String.capitalize(o),s=this[u]||Ext.emptyFn,f=function(){s.apply(this,arguments);i[t].apply(i,arguments)},f.$name=u,f.$owner=h,this[u]=f},destroy:function(){this.destroy=Ext.emptyFn}});t.prototype.callOverridden=t.prototype.callParent;Ext.Base=t}(Ext.Function.flexSetter),function(){function f(){function n(){return this.constructor.apply(this,arguments)||null}return n}var n,t=Ext.Base,i=[],r,u;for(r in t)t.hasOwnProperty(r)&&i.push(r);u=i.length;Ext.Class=n=function(t,i,r){return typeof t!="function"&&(r=i,i=t,t=null),i||(i={}),t=n.create(t,i),n.process(t,i,r),t};Ext.apply(n,{onBeforeCreated:function(n,t,i){n.addMembers(t);i.onCreated.call(n,n)},create:function(n){var e,r;for(n||(n=f()),r=0;r<u;r++)e=i[r],n[e]=t[e];return n},process:function(t,i,r){var c=i.preprocessors||n.defaultPreprocessors,y=this.preprocessors,h={onBeforeCreated:this.onBeforeCreated},e=[],u,f,o,l,s,a,v;for(delete i.preprocessors,o=0,l=c.length;o<l;o++)if(u=c[o],typeof u=="string"){if(u=y[u],f=u.properties,f===!0)e.push(u.fn);else if(f)for(s=0,a=f.length;s<a;s++)if(v=f[s],i.hasOwnProperty(v)){e.push(u.fn);break}}else e.push(u);h.onCreated=r?r:Ext.emptyFn;h.preprocessors=e;this.doProcess(t,i,h)},doProcess:function(n,t,i){for(var r=this,f=i.preprocessors,u=f.shift(),e=r.doProcess;u;u=f.shift())if(u.call(r,n,t,i,e)===!1)return;i.onBeforeCreated.apply(r,arguments)},preprocessors:{},registerPreprocessor:function(n,t,i,r,u){return r||(r="last"),i||(i=[n]),this.preprocessors[n]={name:n,properties:i||!1,fn:t},this.setDefaultPreprocessorPosition(n,r,u),this},getPreprocessor:function(n){return this.preprocessors[n]},getPreprocessors:function(){return this.preprocessors},defaultPreprocessors:[],getDefaultPreprocessors:function(){return this.defaultPreprocessors},setDefaultPreprocessors:function(n){return this.defaultPreprocessors=Ext.Array.from(n),this},setDefaultPreprocessorPosition:function(n,t,i){var r=this.defaultPreprocessors,u;if(typeof t=="string"){if(t==="first")return r.unshift(n),this;if(t==="last")return r.push(n),this;t=t==="after"?1:-1}return u=Ext.Array.indexOf(r,i),u!==-1&&Ext.Array.splice(r,Math.max(0,u+t),0,n),this},configNameCache:{},getConfigNameMap:function(n){var r=this.configNameCache,i=r[n],t;return i||(t=n.charAt(0).toUpperCase()+n.substr(1),i=r[n]={internal:n,initialized:"_is"+t+"Initialized",apply:"apply"+t,update:"update"+t,set:"set"+t,get:"get"+t,doSet:"doSet"+t,changeEvent:n.toLowerCase()+"change"}),i}});n.registerPreprocessor("extend",function(n,t){var e=Ext.Base,o=e.prototype,u=t.extend,i,f,r;if(delete t.extend,i=u&&u!==Object?u:e,f=i.prototype,!i.$isClass)for(r in o)f[r]||(f[r]=o[r]);if(n.extend(i),n.triggerExtended.apply(n,arguments),t.onClassExtended){n.onExtended(t.onClassExtended,n);delete t.onClassExtended}},!0);n.registerPreprocessor("statics",function(n,t){n.addStatics(t.statics);delete t.statics});n.registerPreprocessor("inheritableStatics",function(n,t){n.addInheritableStatics(t.inheritableStatics);delete t.inheritableStatics});n.registerPreprocessor("config",function(t,i){var u=i.config,r=t.prototype;delete i.config;Ext.Object.each(u,function(t,u){var f=n.getConfigNameMap(t),s=f.internal,e=f.initialized,l=f.apply,a=f.update,h=f.set,o=f.get,y=h in r||i.hasOwnProperty(h),p=l in r||i.hasOwnProperty(l),w=a in r||i.hasOwnProperty(a),c,v;u!==null&&(y||p||w)?r[e]=!1:(r[s]=u,r[e]=!0);y||(i[h]=function(n){var t=this[s],i=this[l],r=this[a];return this[e]||(this[e]=!0),i&&(n=i.call(this,n,t)),typeof n!="undefined"&&(this[s]=n,r&&n!==t&&r.call(this,n,t)),this});o in r&&!i.hasOwnProperty(o)||(v=i[o]||!1,c=v?function(){return v.apply(this,arguments)}:function(){return this[s]},i[o]=function(){var n;return this[e]||(this[e]=!0,this[h](this.config[t])),n=this[o],"$previous"in n?n.$previous=c:this[o]=c,c.apply(this,arguments)})});t.addConfig(u,!0)});n.registerPreprocessor("mixins",function(n,t,i){var r=t.mixins,e,u,f,o;delete t.mixins;Ext.Function.interceptBefore(i,"onCreated",function(){if(r instanceof Array)for(f=0,o=r.length;f<o;f++)u=r[f],e=u.prototype.mixinId||u.$className,n.mixin(e,u);else for(var t in r)r.hasOwnProperty(t)&&n.mixin(t,r[t])})});Ext.extend=function(t,i,r){arguments.length===2&&Ext.isObject(i)&&(r=i,i=t,t=null);var u;if(!i)throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.");return r.extend=i,r.preprocessors=["extend","statics","inheritableStatics","mixins","config"],t?(u=new n(t,r),u.prototype.constructor=t):u=new n(r),u.prototype.override=function(n){for(var t in n)n.hasOwnProperty(t)&&(this[t]=n[t])},u}}(),function(n,t,i,r,u){function e(){function n(){return this.constructor.apply(this,arguments)||null}return n}var f=Ext.ClassManager={classes:{},existCache:{},namespaceRewrites:[{from:"Ext.",to:Ext}],maps:{alternateToName:{},aliasToName:{},nameToAliases:{},nameToAlternates:{}},enableNamespaceParseCache:!0,namespaceParseCache:{},instantiators:[],isCreated:function(n){var e=this.existCache,r,o,i,t,f;if(this.classes[n]||e[n])return!0;for(t=u,f=this.parseNamespace(n),r=0,o=f.length;r<o;r++)if(i=f[r],typeof i!="string")t=i;else{if(!t||!t[i])return!1;t=t[i]}return e[n]=!0,this.triggerCreated(n),!0},createdListeners:[],nameCreatedListeners:{},triggerCreated:function(n){for(var i=this.createdListeners,s=this.nameCreatedListeners,h=this.maps.nameToAlternates[n],u=[n],e,c,r,o,t=0,f=i.length;t<f;t++)r=i[t],r.fn.call(r.scope,n);for(h&&u.push.apply(u,h),t=0,f=u.length;t<f;t++)if(o=u[t],i=s[o],i){for(e=0,c=i.length;e<c;e++)r=i[e],r.fn.call(r.scope,o);delete s[o]}},onCreated:function(n,t,i){var f=this.createdListeners,r=this.nameCreatedListeners,u={fn:n,scope:t};if(i){if(this.isCreated(i)){n.call(t,i);return}r[i]||(r[i]=[]);r[i].push(u)}else f.push(u)},parseNamespace:function(n){var o=this.namespaceParseCache,t,s,h,i,c,r,f,e,l;if(this.enableNamespaceParseCache&&o.hasOwnProperty(n))return o[n];for(t=[],s=this.namespaceRewrites,h=u,i=n,e=0,l=s.length;e<l;e++)if(c=s[e],r=c.from,f=c.to,i===r||i.substring(0,r.length)===r){i=i.substring(r.length);typeof f!="string"?h=f:t=t.concat(f.split("."));break}return t.push(h),t=t.concat(i.split(".")),this.enableNamespaceParseCache&&(o[n]=t),t},setNamespace:function(n,t){for(var i=u,e=this.parseNamespace(n),o=e.length-1,s=e[o],r,f=0;f<o;f++)r=e[f],typeof r!="string"?i=r:(i[r]||(i[r]={}),i=i[r]);return i[s]=t,i[s]},createNamespaces:function(){for(var n=u,f,t,r,o,i=0,e=arguments.length;i<e;i++)for(f=this.parseNamespace(arguments[i]),r=0,o=f.length;r<o;r++)t=f[r],typeof t!="string"?n=t:(n[t]||(n[t]={}),n=n[t]);return n},set:function(n,t){var r=this,u=r.maps,f=u.nameToAlternates,i=r.getName(t),e;return r.classes[n]=r.setNamespace(n,t),i&&i!==n&&(u.alternateToName[n]=i,e=f[i]||(f[i]=[]),e.push(n)),this},get:function(n){var e=this.classes,t,f,i,r,o;if(e[n])return e[n];for(t=u,f=this.parseNamespace(n),r=0,o=f.length;r<o;r++)if(i=f[r],typeof i!="string")t=i;else{if(!t||!t[i])return null;t=t[i]}return t},setAlias:function(n,t){var u=this.maps.aliasToName,r=this.maps.nameToAliases,i;return i=typeof n=="string"?n:this.getName(n),t&&u[t]!==i&&(u[t]=i),r[i]||(r[i]=[]),t&&Ext.Array.include(r[i],t),this},addNameAliasMappings:function(n){var u=this.maps.aliasToName,f=this.maps.nameToAliases,t,e,i,r;for(t in n)for(e=f[t]||(f[t]=[]),r=0;r<n[t].length;r++)i=n[t][r],u[i]||(u[i]=t,e.push(i));return this},addNameAlternateMappings:function(n){var u=this.maps.alternateToName,f=this.maps.nameToAlternates,t,e,i,r;for(t in n)for(e=f[t]||(f[t]=[]),r=0;r<n[t].length;r++)i=n[t][r],u[i]||(u[i]=t,e.push(i));return this},getByAlias:function(n){return this.get(this.getNameByAlias(n))},getNameByAlias:function(n){return this.maps.aliasToName[n]||""},getNameByAlternate:function(n){return this.maps.alternateToName[n]||""},getAliasesByName:function(n){return this.maps.nameToAliases[n]||[]},getName:function(n){return n&&n.$className||""},getClass:function(n){return n&&n.self||null},create:function(t,i,r){var u=e();return typeof i=="function"&&(i=i(u)),i.$className=t,new n(u,i,function(){var h=i.postprocessors||f.defaultPostprocessors,v=f.postprocessors,e=[],n,o,c,s,l,u,a;for(delete i.postprocessors,o=0,c=h.length;o<c;o++)if(n=h[o],typeof n=="string"){if(n=v[n],u=n.properties,u===!0)e.push(n.fn);else if(u)for(s=0,l=u.length;s<l;s++)if(a=u[s],i.hasOwnProperty(a)){e.push(n.fn);break}}else e.push(n);i.postprocessors=e;i.createdFn=r;f.processCreate(t,this,i)})},processCreate:function(n,t,i){var r=this,u=i.postprocessors.shift(),f=i.createdFn;if(!u){n&&r.set(n,t);f&&f.call(t,t);n&&r.triggerCreated(n);return}u.call(r,n,t,i,r.processCreate)!==!1&&r.processCreate(n,t,i)},createOverride:function(n,t,i){var r=this,f=t.override,u=t.requires,e=t.uses,o=function(){var s,h;u?(h=u,u=null,Ext.Loader.require(h,o)):(s=r.get(f),delete t.override,delete t.requires,delete t.uses,Ext.override(s,t),r.triggerCreated(n),e&&Ext.Loader.addUsedClasses(e),i&&i.call(s))};r.existCache[n]=!0;r.onCreated(o,r,f);return r},instantiateByAlias:function(){var t=arguments[0],r=i.call(arguments),n=this.getNameByAlias(t);return n||(n=this.maps.aliasToName[t],Ext.syncRequire(n)),r[0]=n,this.instantiate.apply(this,r)},instantiate:function(){var n=arguments[0],f=typeof n,u=i.call(arguments,1),e=n,r,t;return f!="function"?(f!="string"&&u.length===0&&(u=[n],n=n.xclass),t=this.get(n)):t=n,t||(r=this.getNameByAlias(n),r&&(n=r,t=this.get(n))),t||(r=this.getNameByAlternate(n),r&&(n=r,t=this.get(n))),t||(Ext.syncRequire(n),t=this.get(n)),this.getInstantiator(u.length)(t,u)},dynInstantiate:function(n,t){return t=r(t,!0),t.unshift(n),this.instantiate.apply(this,t)},getInstantiator:function(n){var u=this.instantiators,i,t,r;if(i=u[n],!i){for(t=n,r=[],t=0;t<n;t++)r.push("a["+t+"]");i=u[n]=new Function("c","a","return new c("+r.join(",")+")")}return i},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(n,t,i,r,u){return r||(r="last"),i||(i=[n]),this.postprocessors[n]={name:n,properties:i||!1,fn:t},this.setDefaultPostprocessorPosition(n,r,u),this},setDefaultPostprocessors:function(n){return this.defaultPostprocessors=r(n),this},setDefaultPostprocessorPosition:function(n,t,i){var r=this.defaultPostprocessors,u;if(typeof t=="string"){if(t==="first")return r.unshift(n),this;if(t==="last")return r.push(n),this;t=t==="after"?1:-1}return u=Ext.Array.indexOf(r,i),u!==-1&&Ext.Array.splice(r,Math.max(0,u+t),0,n),this},getNamesByExpression:function(n){var f=this.maps.nameToAliases,t=[],i,s,e,r,o,u,h;if(n.indexOf("*")!==-1){n=n.replace(/\*/g,"(.*?)");o=new RegExp("^"+n+"$");for(i in f)if(f.hasOwnProperty(i))if(e=f[i],i.search(o)!==-1)t.push(i);else for(u=0,h=e.length;u<h;u++)if(s=e[u],s.search(o)!==-1){t.push(i);break}}else r=this.getNameByAlias(n),r?t.push(r):(r=this.getNameByAlternate(n),r?t.push(r):t.push(n));return t}};f.registerPostprocessor("alias",function(n,i,r){for(var f=r.alias,u=0,e=f.length;u<e;u++)t=f[u],this.setAlias(i,t)},["xtype","alias"]);f.registerPostprocessor("singleton",function(n,t,i,r){if(i.singleton)r.call(this,n,new t,i);else return!0;return!1});f.registerPostprocessor("alternateClassName",function(n,t,i){var r=i.alternateClassName,u,f,e;for(r instanceof Array||(r=[r]),u=0,f=r.length;u<f;u++)e=r[u],this.set(e,t)});Ext.apply(Ext,{create:t(f,"instantiate"),widget:function(n,t){var i=n,r,u,e,o;return(typeof i!="string"?(t=n,i=t.xtype):t=t||{},t.isComponent)?t:(r="widget."+i,u=f.getNameByAlias(r),u||(o=!0),e=f.get(u),o||!e)?f.instantiateByAlias(r,t):new e(t)},createByAlias:t(f,"instantiateByAlias"),define:function(n,t){return t.override?f.createOverride.apply(f,arguments):f.create.apply(f,arguments)},undefine:function(n){var l=f.classes,u=f.maps,a=u.aliasToName,h=u.nameToAliases,v=u.alternateToName,c=u.nameToAlternates,o=h[n],s=c[n],i,e,r,t;if(delete f.namespaceParseCache[n],delete h[n],delete c[n],delete l[n],o)for(t=o.length;t--;)delete a[o[t]];if(s)for(t=s.length;t--;)delete v[s[t]];for(i=f.parseNamespace(n),e=i.length-1,r=i[0],t=1;t<e;t++)if(r=r[i[t]],!r)return;try{delete r[i[e]]}catch(y){r[i[e]]=undefined}},getClassName:t(f,"getName"),getDisplayName:function(n){if(n){if(n.displayName)return n.displayName;if(n.$name&&n.$class)return Ext.getClassName(n.$class)+"#"+n.$name;if(n.$className)return n.$className}return"Anonymous"},getClass:t(f,"getClass"),namespace:t(f,"createNamespaces")});Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;n.registerPreprocessor("className",function(n,t){t.$className&&(n.$className=t.$className)},!0,"first");n.registerPreprocessor("alias",function(n,t){for(var h=n.prototype,f=r(t.xtype),s=r(t.alias),c="widget.",v=c.length,l=Array.prototype.slice.call(h.xtypesChain||[]),o=Ext.merge({},h.xtypesMap||{}),a,u,i=0,e=s.length;i<e;i++)a=s[i],a.substring(0,v)===c&&(u=a.substring(v),Ext.Array.include(f,u));for(n.xtype=t.xtype=f[0],t.xtypes=f,i=0,e=f.length;i<e;i++)u=f[i],o[u]||(o[u]=!0,l.push(u));for(t.xtypesChain=l,t.xtypesMap=o,Ext.Function.interceptAfter(t,"onClassCreated",function(){var n=h.mixins,t,r;for(t in n)if(n.hasOwnProperty(t)&&(r=n[t],f=r.xtypes,f))for(i=0,e=f.length;i<e;i++)u=f[i],o[u]||(o[u]=!0,l.push(u))}),i=0,e=f.length;i<e;i++)u=f[i],Ext.Array.include(s,c+u);t.alias=s},["xtype","alias"])}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global);Ext._alternatesMetadata&&(Ext.ClassManager.addNameAlternateMappings(Ext._alternatesMetadata),Ext._alternatesMetadata=null);Ext._aliasMetadata&&(Ext.ClassManager.addNameAliasMappings(Ext._aliasMetadata),Ext._aliasMetadata=null);Ext.Loader=new function(){var n=this,t=Ext.ClassManager,b=Ext.Class,k=Ext.Function.flexSetter,s=Ext.Function.alias,a=Ext.Function.pass,v=Ext.Function.defer,y=Ext.Array.erase,o=["extend","mixins","requires"],h={},p=[],d=/\/\.\//g,g=/\./g,c=0;Ext.apply(n,{isInHistory:h,history:p,config:{enabled:!1,scriptChainDelay:!1,disableCaching:!0,disableCachingParam:"_dc",garbageCollect:!1,paths:{Ext:"."},preserveScripts:!0,scriptCharset:undefined},setConfig:function(t,i){return Ext.isObject(t)&&arguments.length===1?(Ext.merge(n.config,t),"paths"in t&&Ext.app.collectNamespaces(t.paths)):(n.config[t]=Ext.isObject(i)?Ext.merge(n.config[t],i):i,t==="paths"&&Ext.app.collectNamespaces(i)),n},getConfig:function(t){return t?n.config[t]:n.config},setPath:k(function(t,i){return n.config.paths[t]=i,Ext.app.namespaces[t]=!0,c++,n}),addClassPathMappings:function(t){var i;if(c==0)n.config.paths=t;else for(i in t)n.config.paths[i]=t[i];return c++,n},getPath:function(t){var r="",u=n.config.paths,i=n.getPrefix(t);if(i.length>0){if(i===t)return u[i];r=u[i];t=t.substring(i.length+1)}return r.length>0&&(r+="/"),r.replace(d,"/")+t.replace(g,"/")+".js"},getPrefix:function(t){var r=n.config.paths,i,u="";if(r.hasOwnProperty(t))return t;for(i in r)r.hasOwnProperty(i)&&i+"."===t.substring(0,i.length+1)&&i.length>u.length&&(u=i);return u},isAClassNameWithAKnownPrefix:function(t){var i=n.getPrefix(t);return i!==""&&i!==t},require:function(n,t,i){t&&t.call(i)},syncRequire:function(){},exclude:function(t){return{require:function(i,r,u){return n.require(i,r,u,t)},syncRequire:function(i,r,u){return n.syncRequire(i,r,u,t)}}},onReady:function(n,t,i,r){var u;i!==!1&&Ext.onDocumentReady&&(u=n,n=function(){Ext.onDocumentReady(u,t,r)});n.call(t)}});var u=[],i={},l={},w={},r={},f=[],e=[],nt=function(n,t){return t.priority-n.priority};Ext.apply(n,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:!1,queue:u,isClassFileLoaded:i,isFileLoaded:l,readyListeners:f,optionalRequires:e,requiresMap:{},numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:!1,classNameToFilePathMap:w,scriptsLoading:0,syncModeEnabled:!1,scriptElements:r,refreshQueue:function(){var o=u.length,r,i,f,e;if(!o&&!n.scriptsLoading)return n.triggerReady();for(r=0;r<o;r++)if(i=u[r],i){if(e=i.requires,e.length>n.numLoadedFiles)continue;for(f=0;f<e.length;)t.isCreated(e[f])?y(e,f,1):f++;if(i.requires.length===0){y(u,r,1);i.callback.call(i.scope);n.refreshQueue();break}}return n},injectScriptElement:function(t,i,r,u,f){var e=document.createElement("script"),h=!1,o=n.config,s=function(){h||(h=!0,e.onload=e.onreadystatechange=e.onerror=null,typeof o.scriptChainDelay=="number"?v(i,o.scriptChainDelay,u):i.call(u),n.cleanupScriptElement(e,o.preserveScripts===!1,o.garbageCollect))},c=function(){v(r,1,u);n.cleanupScriptElement(e,o.preserveScripts===!1,o.garbageCollect)};return e.type="text/javascript",e.onerror=c,f=f||o.scriptCharset,f&&(e.charset=f),"addEventListener"in e?e.onload=s:"readyState"in e?e.onreadystatechange=function(){(this.readyState=="loaded"||this.readyState=="complete")&&s()}:e.onload=s,e.src=t,(n.documentHead||document.getElementsByTagName("head")[0]).appendChild(e),e},removeScriptElement:function(t){return r[t]&&(n.cleanupScriptElement(r[t],!0,!!n.getConfig("garbageCollect")),delete r[t]),n},cleanupScriptElement:function(t,i,r){var u;if(t.onload=t.onreadystatechange=t.onerror=null,i&&(Ext.removeNode(t),r))for(u in t)try{u!="src"&&(t[u]=null);delete t[u]}catch(f){}return n},loadScript:function(t){var f=n.getConfig(),i=typeof t=="string",u=i?t:t.url,e=!i&&t.onError,o=!i&&t.onLoad,s=!i&&t.scope,c=function(){n.numPendingFiles--;n.scriptsLoading--;e&&e.call(s,"Failed loading '"+u+"', please verify that the file exists");n.numPendingFiles+n.scriptsLoading===0&&n.refreshQueue()},l=function(){n.numPendingFiles--;n.scriptsLoading--;o&&o.call(s);n.numPendingFiles+n.scriptsLoading===0&&n.refreshQueue()},h;n.isLoading=!0;n.numPendingFiles++;n.scriptsLoading++;h=f.disableCaching?u+"?"+f.disableCachingParam+"="+Ext.Date.now():u;r[u]=n.injectScriptElement(h,l,c)},loadScriptFile:function(t,i,u,f,e){if(l[t])return n;var c=n.getConfig(),a=t+(c.disableCaching?"?"+c.disableCachingParam+"="+Ext.Date.now():""),h=!1,o,s,v,y="";if(f=f||n,n.isLoading=!0,e){o=typeof XMLHttpRequest!="undefined"?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");try{o.open("GET",a,!1);o.send(null)}catch(p){h=!0}s=o.status===1223?204:o.status===0&&((self.location||{}).protocol=="file:"||(self.location||{}).protocol=="ionp:")?200:o.status;h=h||s===0;h||(s>=200&&s<300||s===304)&&(Ext.isIE||(y="\n//@ sourceURL="+t),Ext.globalEval(o.responseText+y),i.call(f));o=null}else v=function(){},r[t]=n.injectScriptElement(a,i,v,f)},syncRequire:function(){var t=n.syncModeEnabled;t||(n.syncModeEnabled=!0);n.require.apply(n,arguments);t||(n.syncModeEnabled=!1);n.refreshQueue()},require:function(r,f,e,o){var ut={},ft={},tt=[],it=[],l=[],rt=[],k,b,p,d,g,h,v,s,c,y,nt;if(o)for(o=typeof o=="string"?[o]:o,s=0,y=o.length;s<y;s++)if(g=o[s],typeof g=="string"&&g.length>0)for(tt=t.getNamesByExpression(g),c=0,nt=tt.length;c<nt;c++)ut[tt[c]]=!0;for(r=typeof r=="string"?[r]:r?r:[],k=f?f.length>0?function(){for(var i=[],n=0,r=rt.length;n<r;n++)i.push(t.get(rt[n]));return f.apply(this,i)}:f:Ext.emptyFn,e=e||Ext.global,s=0,y=r.length;s<y;s++)if(d=r[s],typeof d=="string"&&d.length>0)for(it=t.getNamesByExpression(d),nt=it.length,c=0;c<nt;c++)v=it[c],ut[v]!==!0&&(rt.push(v),t.isCreated(v)||ft[v]||(ft[v]=!0,l.push(v)));if(l.length>0){if(!n.config.enabled)throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+(l.length>1?"es":"")+": "+l.join(", "));}else return k.call(e),n;for(b=n.syncModeEnabled,b||u.push({requires:l.slice(),callback:k,scope:e}),y=l.length,s=0;s<y;s++)h=l[s],p=n.getPath(h),b&&i.hasOwnProperty(h)&&(i[h]||(n.numPendingFiles--,n.removeScriptElement(p),delete i[h])),i.hasOwnProperty(h)||(i[h]=!1,w[h]=p,n.numPendingFiles++,n.loadScriptFile(p,a(n.onFileLoaded,[h,p],n),a(n.onFileLoadError,[h,p],n),n,b));return b&&(k.call(e),y===1)?t.get(h):n},onFileLoaded:function(t,r){var u=i[t];n.numLoadedFiles++;i[t]=!0;l[r]=!0;u||n.numPendingFiles--;n.numPendingFiles===0&&n.refreshQueue()},onFileLoadError:function(){n.numPendingFiles--;n.hasFileLoadError=!0},addUsedClasses:function(t){var i,r,u;if(t)for(t=typeof t=="string"?[t]:t,r=0,u=t.length;r<u;r++)i=t[r],typeof i!="string"||Ext.Array.contains(e,i)||e.push(i);return n},triggerReady:function(){var i,t=e;if(n.isLoading&&(n.isLoading=!1,t.length!==0))return t=t.slice(),e.length=0,n.require(t,n.triggerReady,n),n;for(Ext.Array.sort(f,nt);f.length&&!n.isLoading;)i=f.shift(),i.fn.call(i.scope);return n},onReady:function(t,i,r,u){var e;r!==!1&&Ext.onDocumentReady&&(e=t,t=function(){Ext.onDocumentReady(e,i,u)});n.isLoading?f.push({fn:t,scope:i,priority:u&&u.priority||0}):t.call(i)},historyPush:function(t){return t&&i.hasOwnProperty(t)&&!h[t]&&(h[t]=!0,p.push(t)),n}});Ext.disableCacheBuster=function(n,t){var i=new Date;i.setTime(i.getTime()+(n?3650:-1)*864e5);i=i.toGMTString();document.cookie="ext-cache=1; expires="+i+"; path="+(t||"/")};Ext.require=s(n,"require");Ext.syncRequire=s(n,"syncRequire");Ext.exclude=s(n,"exclude");Ext.onReady=function(t,i,r){n.onReady(t,i,!0,r)};b.registerPreprocessor("loader",function(i,r,u,f){for(var p=this,a=[],w=t.getName(i),s,y,h,c,e,l=0,v=o.length;l<v;l++)if(c=o[l],r.hasOwnProperty(c))if(e=r[c],typeof e=="string")a.push(e);else if(e instanceof Array)for(s=0,y=e.length;s<y;s++)h=e[s],typeof h=="string"&&a.push(h);else if(typeof e!="function")for(s in e)e.hasOwnProperty(s)&&(h=e[s],typeof h=="string"&&a.push(h));if(a.length!==0)return n.require(a,function(){for(l=0,v=o.length;l<v;l++)if(c=o[l],r.hasOwnProperty(c))if(e=r[c],typeof e=="string")r[c]=t.get(e);else if(e instanceof Array)for(s=0,y=e.length;s<y;s++)h=e[s],typeof h=="string"&&(r[c][s]=t.get(h));else if(typeof e!="function")for(var n in e)e.hasOwnProperty(n)&&(h=e[n],typeof h=="string"&&(r[c][n]=t.get(h)));f.call(p,i,r,u)}),!1},!0,"after","className");t.registerPostprocessor("uses",function(t,i,r){var u=r.uses;u&&n.addUsedClasses(u)});t.onCreated(n.historyPush)};Ext._classPathMetadata&&(Ext.Loader.addClassPathMappings(Ext._classPathMetadata),Ext._classPathMetadata=null),function(){var n=document.getElementsByTagName("script"),i=n[n.length-1],t=i.src,r=t.substring(0,t.lastIndexOf("/")+1),u=Ext.Loader;u.setConfig({enabled:!0,disableCaching:!0,paths:{Ext:r+"src"}})}();Ext._endTime=(new Date).getTime();Ext._beforereadyhandler&&Ext._beforereadyhandler();Ext.Error=Ext.extend(Error,{statics:{ignore:!1,raise:function(n){n=n||{};Ext.isString(n)&&(n={msg:n});var t=this.raise.caller,i;if(t&&(t.$name&&(n.sourceMethod=t.$name),t.$owner&&(n.sourceClass=t.$owner.$className)),Ext.Error.handle(n)!==!0){i=Ext.Error.prototype.toString.call(n);Ext.log({msg:i,level:"error",dump:n,stack:!0});throw new Ext.Error(n);}},handle:function(){return Ext.Error.ignore}},name:"Ext.Error",constructor:function(n){Ext.isString(n)&&(n={msg:n});var t=this;Ext.apply(t,n);t.message=t.message||t.msg},toString:function(){var n=this,t=n.sourceClass?n.sourceClass:"",i=n.sourceMethod?"."+n.sourceMethod+"(): ":"",r=n.msg||"(No description provided)";return t+i+r}});Ext.deprecated=function(){return Ext.emptyFn};Ext.JSON=new function(){var n=this,i,r,u=null,e=!!{}.hasOwnProperty,f=function(){return u===null&&(u=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"),u},t=function(n){return n<10?"0"+n:n},o=function(json){return eval("("+json+")")},s=function(n,t){return n===null||n===undefined?"null":Ext.isDate(n)?Ext.JSON.encodeDate(n):Ext.isString(n)?Ext.JSON.encodeString(n):typeof n=="number"?isFinite(n)?String(n):"null":Ext.isBoolean(n)?String(n):n.toJSON?n.toJSON():Ext.isArray(n)?a(n,t):Ext.isObject(n)?v(n,t):typeof n=="function"?"null":"undefined"},h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\v":"\\u000b"},c=/[\\\"\x00-\x1f\x7f-\uffff]/g,l=function(n){return'"'+n.replace(c,function(n){var t=h[n];return typeof t=="string"?t:"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})+'"'},a=function(n){for(var t=["[",""],r=n.length,i=0;i<r;i+=1)t.push(Ext.JSON.encodeValue(n[i]),",");return t[t.length-1]="]",t.join("")},v=function(n){var t=["{",""],i,r;for(i in n)if(r=n[i],!e||n.hasOwnProperty(i)){if(typeof r=="function"||r===undefined)continue;t.push(Ext.JSON.encodeValue(i),":",Ext.JSON.encodeValue(r),",")}return t[t.length-1]="}",t.join("")};n.encodeString=l;n.encodeValue=s;n.encodeDate=function(n){return'"'+n.getFullYear()+"-"+t(n.getMonth()+1)+"-"+t(n.getDate())+"T"+t(n.getHours())+":"+t(n.getMinutes())+":"+t(n.getSeconds())+'"'};n.encode=function(t){return i||(i=f()?JSON.stringify:n.encodeValue),i(t)};n.decode=function(n,t){r||(r=f()?JSON.parse:o);try{return r(n)}catch(i){if(t===!0)return null;Ext.Error.raise({sourceClass:"Ext.JSON",sourceMethod:"decode",msg:"You're trying to decode an invalid JSON String: "+n})}}};Ext.encode=Ext.JSON.encode;Ext.decode=Ext.JSON.decode;Ext.apply(Ext,{userAgent:navigator.userAgent.toLowerCase(),cache:{},idSeed:1e3,windowId:"ext-window",documentId:"ext-document",isReady:!1,enableGarbageCollector:!0,enableListenerCollection:!0,rootHierarchyState:{},addCacheEntry:function(n,t,i){i=i||t.dom;var u=Ext.cache,f=n||t&&t.id||i.id,r=u[f]||(u[f]={data:{},events:{},dom:i,skipGarbageCollection:!!(i.getElementById||i.navigator)});return t&&(t.$cache=r,r.el=t),r},updateCacheEntry:function(n,t){return n.dom=t,n.el&&(n.el.dom=t),n},id:function(n,t){var i=this,r="";return n=Ext.getDom(n,!0)||{},n===document?n.id=i.documentId:n===window&&(n.id=i.windowId),n.id||(i.isSandboxed&&(r=Ext.sandboxName.toLowerCase()+"-"),n.id=r+(t||"ext-gen")+ ++Ext.idSeed),n.id},escapeId:function(){var n=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,t=/([\W]{1})/g,i=/^(\d)/g,r=function(n,t){return"\\"+t},u=function(n,t){return"\\00"+t.charCodeAt(0).toString(16)+" "};return function(f){return n.test(f)?f:f.replace(t,r).replace(i,u)}}(),getBody:function(){var n;return function(){return n||(n=Ext.get(document.body))}}(),getHead:function(){var n;return function(){return n||(n=Ext.get(document.getElementsByTagName("head")[0]))}}(),getDoc:function(){var n;return function(){return n||(n=Ext.get(document))}}(),getOrientation:function(){return window.innerHeight>window.innerWidth?"portrait":"landscape"},destroy:function(){for(var i=arguments.length,n,t=0;t<i;t++)n=arguments[t],n&&(Ext.isArray(n)?this.destroy.apply(this,n):n.isStore?n.destroyStore():Ext.isFunction(n.destroy)?n.destroy():n.dom&&n.remove())},callback:function(n,t,i,r){var u,f;return Ext.isFunction(n)?u=n:t&&Ext.isString(n)&&(u=t[n]),u&&(i=i||[],t=t||window,r?Ext.defer(u,r,t,i):f=u.apply(t,i)),f},resolveMethod:function(n,t){return Ext.isFunction(n)?n:t[n]},htmlEncode:function(n){return Ext.String.htmlEncode(n)},htmlDecode:function(n){return Ext.String.htmlDecode(n)},urlAppend:function(n,t){return Ext.String.urlAppend(n,t)}});Ext.ns=Ext.namespace;window.undefined=window.undefined,function(){var n=function(n){return n.test(Ext.userAgent)},w=document.compatMode=="CSS1Compat",s=function(n,t){var i;return n&&(i=t.exec(Ext.userAgent))?parseFloat(i[1]):0},t=document.documentMode,a=n(/opera/),g=a&&n(/version\/10\.5/),b=n(/\bchrome\b/),y=n(/webkit/),e=!b&&n(/safari/),nt=e&&n(/applewebkit\/4/),tt=e&&n(/version\/3/),it=e&&n(/version\/4/),rt=e&&n(/version\/5\.0/),ut=e&&n(/version\/5/),i=!a&&n(/msie/),u=i&&(n(/msie 7/)&&t!=8&&t!=9&&t!=10||t==7),f=i&&(n(/msie 8/)&&t!=7&&t!=9&&t!=10||t==8),h=i&&(n(/msie 9/)&&t!=7&&t!=8&&t!=10||t==9),k=i&&(n(/msie 10/)&&t!=7&&t!=8&&t!=9||t==10),r=i&&n(/msie 6/),c=!y&&n(/gecko/),v=c&&n(/rv:1\.9/),ft=c&&n(/rv:2\.0/),et=c&&n(/rv:5\./),ot=c&&n(/rv:10\./),st=v&&n(/rv:1\.9\.0/),ht=v&&n(/rv:1\.9\.1/),ct=v&&n(/rv:1\.9\.2/),lt=n(/windows|win32/),at=n(/macintosh|mac os x/),vt=n(/linux/),p=null,yt=s(!0,/\bchrome\/(\d+\.\d+)/),o=s(!0,/\bfirefox\/(\d+\.\d+)/),pt=s(i,/msie (\d+\.\d+)/),wt=s(a,/version\/(\d+\.\d+)/),bt=s(e,/version\/(\d+\.\d+)/),kt=s(y,/webkit\/(\d+\.\d+)/),d=/^https/i.test(window.location.protocol),l;try{document.execCommand("BackgroundImageCache",!1,!0)}catch(dt){}l=function(){};l.info=l.warn=l.error=Ext.emptyFn;Ext.setVersion("extjs","4.2.1.883");Ext.apply(Ext,{SSL_SECURE_URL:d&&i?"javascript:''":"about:blank",plainTableCls:Ext.buildSettings.baseCSSPrefix+"table-plain",plainListCls:Ext.buildSettings.baseCSSPrefix+"list-plain",enableNestedListenerRemoval:!1,USE_NATIVE_JSON:!1,getDom:function(n,t){if(!n||!document)return null;if(n.dom)return n.dom;if(typeof n=="string"){var r=Ext.getElementById(n);return r&&i&&t?n==r.getAttribute("id")?r:null:r}return n},removeNode:r||u||f?function(){var n;return function(t){if(t&&t.tagName.toUpperCase()!="BODY"){Ext.enableNestedListenerRemoval?Ext.EventManager.purgeElement(t):Ext.EventManager.removeAll(t);var i=Ext.cache,r=t.id;i[r]&&(delete i[r].dom,delete i[r]);f&&t.parentNode&&t.parentNode.removeChild(t);n=n||document.createElement("div");n.appendChild(t);n.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName.toUpperCase()!="BODY"){Ext.enableNestedListenerRemoval?Ext.EventManager.purgeElement(n):Ext.EventManager.removeAll(n);var t=Ext.cache,i=n.id;t[i]&&(delete t[i].dom,delete t[i]);n.parentNode.removeChild(n)}},isStrict:w,isIEQuirks:i&&!w&&(r||u||f||h),isOpera:a,isOpera10_5:g,isWebKit:y,isChrome:b,isSafari:e,isSafari3:tt,isSafari4:it,isSafari5:ut,isSafari5_0:rt,isSafari2:nt,isIE:i,isIE6:r,isIE7:u,isIE7m:r||u,isIE7p:i&&!r,isIE8:f,isIE8m:r||u||f,isIE8p:i&&!(r||u),isIE9:h,isIE9m:r||u||f||h,isIE9p:i&&!(r||u||f),isIE10:k,isIE10m:r||u||f||h||k,isIE10p:i&&!(r||u||f||h),isGecko:c,isGecko3:v,isGecko4:ft,isGecko5:et,isGecko10:ot,isFF3_0:st,isFF3_5:ht,isFF3_6:ct,isFF4:4<=o&&o<5,isFF5:5<=o&&o<6,isFF10:10<=o&&o<11,isLinux:vt,isWindows:lt,isMac:at,chromeVersion:yt,firefoxVersion:o,ieVersion:pt,operaVersion:wt,safariVersion:bt,webKitVersion:kt,isSecure:d,BLANK_IMAGE_URL:r||u?"//www.sencha.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",value:function(n,t,i){return Ext.isEmpty(n,i)?t:n},escapeRe:function(n){return n.replace(/([-.*+?\^${}()|\[\]\/\\])/g,"\\$1")},addBehaviors:function(n){if(Ext.isReady){var i={},r,u,t;for(u in n)if((r=u.split("@"))[1]){t=r[0];i[t]||(i[t]=Ext.select(t));i[t].on(r[1],n[u])}i=null}else Ext.onReady(function(){Ext.addBehaviors(n)})},getScrollbarSize:function(n){if(!Ext.isReady)return{};if(n||!p){var i=document.body,t=document.createElement("div");t.style.width=t.style.height="100px";t.style.overflow="scroll";t.style.position="absolute";i.appendChild(t);p={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};i.removeChild(t)}return p},getScrollBarWidth:function(n){var t=Ext.getScrollbarSize(n);return t.width+2},copyTo:function(n,t,i,r){typeof i=="string"&&(i=i.split(/[,;\s]/));for(var e=i?i.length:0,f,u=0;u<e;u++)f=i[u],(r||t.hasOwnProperty(f))&&(n[f]=t[f]);return n},destroyMembers:function(n){for(var t=1,i=arguments,r=i.length;t<r;t++)Ext.destroy(n[i[t]]),delete n[i[t]]},log:l,partition:function(n,t){for(var u=[[],[]],r,f=n.length,i=0;i<f;i++)r=n[i],u[t&&t(r,i,n)||!t&&r?0:1].push(r);return u},invoke:function(n,t){for(var u=[],f=Array.prototype.slice.call(arguments,2),i,e=n.length,r=0;r<e;r++)i=n[r],i&&typeof i[t]=="function"?u.push(i[t].apply(i,f)):u.push(undefined);return u},zip:function(){for(var f=Ext.partition(arguments,function(n){return typeof n!="function"}),t=f[0],u=f[1][0],o=Ext.max(Ext.pluck(t,"length")),i=[],r,e,n=0;n<o;n++)if(i[n]=[],u)i[n]=u.apply(u,Ext.pluck(t,n));else for(r=0,e=t.length;r<e;r++)i[n].push(t[r][n]);return i},toSentence:function(n,t){var i=n.length,r,u;return i<=1?n[0]:(r=n.slice(0,i-1),u=n[i-1],Ext.util.Format.format("{0} {1} {2}",r.join(", "),t||"and",u))},setGlyphFontFamily:function(n){Ext._glyphFontFamily=n},useShims:r})}();Ext.application=function(n){var r,t,i;if(typeof n=="string")Ext.require(n,function(){r=Ext.ClassManager.get(n)});else{if(Ext.Loader.setPath(n.name,n.appFolder||"app"),t=n.paths)for(i in t)t.hasOwnProperty(i)&&Ext.Loader.setPath(i,t[i]);n["paths processed"]=!0;Ext.define(n.name+".$application",Ext.apply({extend:"Ext.app.Application"},n),function(){r=this})}Ext.onReady(function(){Ext.app.Application.instance=new r})},function(){Ext.ns("Ext.util");var n=Ext.util.Format={},r=/<\/?[^>]+>/gi,u=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,f=/\r?\n/g,e=/^#+$/,o=/[\d,\.#]+/,s=/[^\d\.#]/g,t,i={};Ext.apply(n,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:!1,undef:function(n){return n!==undefined?n:""},defaultValue:function(n,t){return n!==undefined&&n!==""?n:t},substr:"ab".substr(-1)!="b"?function(n,t,i){var r=String(n);return t<0?r.substr(Math.max(r.length+t,0),i):r.substr(t,i)}:function(n,t,i){return String(n).substr(t,i)},lowercase:function(n){return String(n).toLowerCase()},uppercase:function(n){return String(n).toUpperCase()},usMoney:function(t){return n.currency(t,"$",2)},currency:function(t,i,r,u){var f="",e=",0",o=0;for(t=+t,t<0&&(t=-t,f="-"),r=Ext.isDefined(r)?r:n.currencyPrecision,e+=r>0?".":"";o<r;o++)e+="0";return t=n.number(t,e),(u||n.currencyAtEnd)===!0?Ext.String.format("{0}{1}{2}",f,t,i||n.currencySign):Ext.String.format("{0}{1}{2}",f,i||n.currencySign,t)},date:function(n,t){return n?(Ext.isDate(n)||(n=new Date(Date.parse(n))),Ext.Date.dateFormat(n,t||Ext.Date.defaultFormat)):""},dateRenderer:function(t){return function(i){return n.date(i,t)}},stripTags:function(n){return n?String(n).replace(r,""):n},stripScripts:function(n){return n?String(n).replace(u,""):n},fileSize:function(){var n=1024,t=1048576,i=1073741824;return function(r){return r<n?r===1?"1 byte":r+" bytes":r<t?Math.round(r*10/n)/10+" KB":r<i?Math.round(r*10/t)/10+" MB":Math.round(r*10/i)/10+" GB"}}(),math:function(){var n={};return function(t,i){return n[i]||(n[i]=Ext.functionFactory("v","return v "+i+";")),n[i](t)}}(),round:function(n,t){var i=Number(n);return typeof t=="number"&&(t=Math.pow(10,t),i=Math.round(n*t)/t),i},number:function(r,u){var l;if(!u)return r;if(l=i[u],!l){var p=u,w=n.thousandSeparator,b=n.decimalSeparator,a,c,v,h=0,y,f;u.substr(u.length-2)=="/i"?(t||(t=new RegExp("[^\\d\\"+n.decimalSeparator+"]","g")),u=u.substr(0,u.length-2),a=u.indexOf(w)!=-1,c=u.replace(t,"").split(b)):(a=u.indexOf(",")!=-1,c=u.replace(s,"").split("."));v=u.replace(o,"");c.length>2||c.length===2&&(h=c[1].length,y=e.test(c[1]));f=["var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,fnum,parts"+(a?",thousandSeparator,thousands=[],j,n,i":"")+(v?',formatString="'+u+'",formatPattern=/[\\d,\\.#]+/':"")+(y?",trailingZeroes=/\\.?0+$/;":";")+'return function(v){if(typeof v!=="number"&&isNaN(v=extNumber.from(v,NaN)))return"";neg=v<0;',"fnum=Ext.Number.toFixed(Math.abs(v), "+h+");"];a?(h&&(f[f.length]='parts=fnum.split(".");',f[f.length]="fnum=parts[0];"),f[f.length]="if(v>=1000) {",f[f.length]="thousandSeparator=utilFormat.thousandSeparator;thousands.length=0;j=fnum.length;n=fnum.length%3||3;for(i=0;i<j;i+=n){if(i!==0){n=3;}thousands[thousands.length]=fnum.substr(i,n);}fnum=thousands.join(thousandSeparator);}",h&&(f[f.length]="fnum += utilFormat.decimalSeparator+parts[1];")):h&&(f[f.length]='if(utilFormat.decimalSeparator!=="."){parts=fnum.split(".");fnum=parts[0]+utilFormat.decimalSeparator+parts[1];}');y&&(f[f.length]='fnum=fnum.replace(trailingZeroes,"");');f[f.length]='if(neg&&fnum!=="'+(h?"0."+Ext.String.repeat("0",h):"0")+'")fnum="-"+fnum;';f[f.length]="return ";f[f.length]=v?"formatString.replace(formatPattern, fnum);":"fnum;";f[f.length]="};";l=i[p]=Ext.functionFactory("Ext",f.join(""))(Ext)}return l(r)},numberRenderer:function(t){return function(i){return n.number(i,t)}},attributes:function(n){if(typeof n=="object"){var i=[];for(var t in n)i.push(t,'="',t==="style"?Ext.DomHelper.generateStyles(n[t]):Ext.htmlEncode(n[t]),'"');n=i.join("")}return n||""},plural:function(n,t,i){return n+" "+(n==1?t:i?i:t+"s")},nl2br:function(n){return Ext.isEmpty(n)?"":n.replace(f,"<br/>")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(n){if(n=n||0,typeof n=="number")return{top:n,right:n,bottom:n,left:n};var t=n.split(" "),i=t.length;return i==1?t[1]=t[2]=t[3]=t[0]:i==2?(t[2]=t[0],t[3]=t[1]):i==3&&(t[3]=t[1]),{top:parseInt(t[0],10)||0,right:parseInt(t[1],10)||0,bottom:parseInt(t[2],10)||0,left:parseInt(t[3],10)||0}},escapeRegex:function(n){return n.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})}();Ext.cmd.derive("Ext.util.TaskRunner",Ext.Base,{interval:10,timerId:null,constructor:function(n){var t=this;typeof n=="number"?t.interval=n:n&&Ext.apply(t,n);t.tasks=[];t.timerFn=Ext.Function.bind(t.onTick,t)},newTask:function(n){var t=new Ext.util.TaskRunner.Task(n);return t.manager=this,t},start:function(n){var t=this,i=Ext.Date.now();return n.pending||(t.tasks.push(n),n.pending=!0),n.stopped=!1,n.taskStartTime=i,n.taskRunTime=n.fireOnStart!==!1?0:n.taskStartTime,n.taskRunCount=0,t.firing||(n.fireOnStart!==!1?t.startTimer(0,i):t.startTimer(n.interval,i)),n},stop:function(n){return n.stopped||(n.stopped=!0,n.onStop&&n.onStop.call(n.scope||n,n)),n},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:!1,nextExpires:1e99,onTick:function(){var t=this,o=t.tasks,f=Ext.Date.now(),h=1e99,c=o.length,e,i,r,n,s,u;for(t.timerId=null,t.firing=!0,r=0;r<c||r<(c=o.length);++r){if(n=o[r],!(u=n.stopped)){if(e=n.taskRunTime+n.interval,e<=f){s=1;try{s=n.run.apply(n.scope||n,n.args||[++n.taskRunCount])}catch(l){try{n.onError&&(s=n.onError.call(n.scope||n,n,l))}catch(a){}}n.taskRunTime=f;s===!1||n.taskRunCount===n.repeat?(t.stop(n),u=!0):(u=n.stopped,e=f+n.interval)}!u&&n.duration&&n.duration<=f-n.taskStartTime&&(t.stop(n),u=!0)}u?(n.pending=!1,i||(i=o.slice(0,r))):(i&&i.push(n),h>e&&(h=e))}i&&(t.tasks=i);t.firing=!1;t.tasks.length&&t.startTimer(h-f,Ext.Date.now());t.fireIdleEvent!==!1&&Ext.EventManager.idleEvent.fire()},startTimer:function(n,t){var i=this,u=t+n,r=i.timerId;r&&i.nextExpires-u>i.interval&&(clearTimeout(r),r=null);r||(n<i.interval&&(n=i.interval),i.timerId=setTimeout(i.timerFn,n),i.nextExpires=u)}},1,0,0,0,0,0,[Ext.util,"TaskRunner"],function(){var t=this,n=t.prototype;n.destroy=n.stopAll;Ext.util.TaskManager=Ext.TaskManager=new t;t.Task=new Ext.Class({isTask:!0,stopped:!0,fireOnStart:!1,constructor:function(n){Ext.apply(this,n)},restart:function(n){n!==undefined&&(this.interval=n);this.manager.start(this)},start:function(n){this.stopped&&this.restart(n)},stop:function(){this.manager.stop(this)}});n=t.Task.prototype;n.destroy=n.stop});Ext.cmd.derive("Ext.util.TaskManager",Ext.util.TaskRunner,{alternateClassName:["Ext.TaskManager"],singleton:!0},0,0,0,0,0,0,[Ext.util,"TaskManager",Ext,"TaskManager"],0);Ext.cmd.derive("Ext.perf.Accumulator",Ext.Base,function(){function u(n,t){n.sum+=t;n.min=Math.min(n.min,t);n.max=Math.max(n.max,t)}function o(i){var f=i?i:n()-this.time,e=this,r=e.accum;++r.count;--r.depth||u(r.total,f);u(r.pure,f-e.childTime);t=e.parent;t&&(++t.accum.childCount,t.childTime+=f)}function f(){return{min:Number.MAX_VALUE,max:0,sum:0}}function s(n,t){return function(){var i=n.enter(),r=t.apply(this,arguments);return i.leave(),r}}function e(n,t,i,r){var u={avg:0,min:r.min,max:r.max,sum:0};return n&&(i=i||0,u.sum=r.sum-t*i,u.avg=u.sum/n),u}var t=null,i=Ext.global.chrome,r,n=function(){n=function(){return(new Date).getTime()};var t,r;if(Ext.isChrome&&i&&i.Interval)t=new i.Interval,t.start(),n=function(){return t.microseconds()/1e3};else if(window.ActiveXObject)try{r=new ActiveXObject("SenchaToolbox.Toolbox");Ext.senchaToolbox=r;n=function(){return r.milliseconds}}catch(u){}else Date.now&&(n=Date.now);return Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=n,n()};return{constructor:function(n){var t=this;t.count=t.childCount=t.depth=t.maxDepth=0;t.pure=f();t.total=f();t.name=n},statics:{getTimestamp:n},format:function(n){r||(r=new Ext.XTemplate('{name} - {count} call(s)<tpl if="count"><tpl if="childCount"> ({childCount} children)<\/tpl><tpl if="depth - 1"> ({depth} deep)<\/tpl><tpl for="times">, {type}: {[this.time(values.sum)]} msec (avg={[this.time(values.sum / parent.count)]})<\/tpl><\/tpl>',{time:function(n){return Math.round(n*100)/100}}));var t=this.getData(n);return t.name=this.name,t.pure.type="Pure",t.total.type="Total",t.times=[t.pure,t.total],r.apply(t)},getData:function(n){var t=this;return{count:t.count,childCount:t.childCount,depth:t.maxDepth,pure:e(t.count,t.childCount,n,t.pure),total:e(t.count,t.childCount,n,t.total)}},enter:function(){var i=this,r={accum:i,leave:o,childTime:0,parent:t};return++i.depth,i.maxDepth<i.depth&&(i.maxDepth=i.depth),t=r,r.time=n(),r},monitor:function(n,t,i){var r=this.enter();i?n.apply(t,i):n.call(t);r.leave()},report:function(){Ext.log(this.format())},tap:function(n,t){var o=this,l=typeof t=="string"?[t]:t,r,f,i,h,e,u,c,a=function(){if(typeof n=="string")for(r=Ext.global,h=n.split("."),i=0,e=h.length;i<e;++i)r=r[h[i]];else r=n;for(i=0,e=l.length;i<e;++i)u=l[i],f=u.charAt(0)=="!",f?u=u.substring(1):f=!(u in r.prototype),c=f?r:r.prototype,c[u]=s(o,c[u])};Ext.ClassManager.onCreated(a,o,n);return o}}}(),1,0,0,0,0,0,[Ext.perf,"Accumulator"],function(){Ext.perf.getTimestamp=this.getTimestamp});Ext.cmd.derive("Ext.perf.Monitor",Ext.Base,{singleton:!0,alternateClassName:"Ext.Perf",constructor:function(){this.accumulators=[];this.accumulatorsByName={}},calibrate:function(){var n=new Ext.perf.Accumulator("$"),f=n.total,t=Ext.perf.Accumulator.getTimestamp,i=0,r,u,e=t();do r=n.enter(),r.leave(),++i;while(f.sum<100);return u=t(),(u-e)/i},get:function(n){var i=this,t=i.accumulatorsByName[n];return t||(i.accumulatorsByName[n]=t=new Ext.perf.Accumulator(n),i.accumulators.push(t)),t},enter:function(n){return this.get(n).enter()},monitor:function(n,t,i){this.get(n).monitor(t,i)},report:function(){var n=this,t=n.accumulators,i=n.calibrate();t.sort(function(n,t){return n.name<t.name?-1:t.name<n.name?1:0});n.updateGC();Ext.log("Calibration: "+Math.round(i*100)/100+" msec/sample");Ext.each(t,function(n){Ext.log(n.format(i))})},getData:function(n){var t={},i=this.accumulators;return Ext.each(i,function(i){(n||i.count)&&(t[i.name]=i.getData())}),t},reset:function(){Ext.each(this.accumulators,function(n){var t=n;t.count=t.childCount=t.depth=t.maxDepth=0;t.pure={min:Number.MAX_VALUE,max:0,sum:0};t.total={min:Number.MAX_VALUE,max:0,sum:0}})},updateGC:function(){var t=this.accumulatorsByName.GC,i=Ext.senchaToolbox,n;t&&(t.count=i.garbageCollectionCounter||0,t.count&&(n=t.pure,t.total.sum=n.sum=i.garbageCollectionMilliseconds,n.min=n.max=n.sum/t.count,n=t.total,n.min=n.max=n.sum/t.count))},watchGC:function(){Ext.perf.getTimestamp();var n=Ext.senchaToolbox;n&&(this.get("GC"),n.watchGarbageCollector(!1))},setup:function(n){n||(n={render:{"Ext.AbstractComponent":"render"},layout:{"Ext.layout.Context":"run"}});this.currentConfig=n;var t,i,u,r,f;for(t in n)if(n.hasOwnProperty(t)){i=n[t];u=Ext.Perf.get(t);for(r in i)i.hasOwnProperty(r)&&(f=i[r],u.tap(r,f))}this.watchGC()}},1,0,0,0,0,0,[Ext.perf,"Monitor",Ext,"Perf"],0);Ext.is={init:function(n){var r=this.platforms,u=r.length,t,i;for(n=n||window.navigator,t=0;t<u;t++)i=r[t],this[i.identity]=i.regex.test(n[i.property]);this.Desktop=this.Mac||this.Windows||this.Linux&&!this.Android;this.Tablet=this.iPad;this.Phone=!this.Desktop&&!this.Tablet;this.iOS=this.iPhone||this.iPad||this.iPod;this.Standalone=!!window.navigator.standalone},platforms:[{property:"platform",regex:/iPhone/i,identity:"iPhone"},{property:"platform",regex:/iPod/i,identity:"iPod"},{property:"userAgent",regex:/iPad/i,identity:"iPad"},{property:"userAgent",regex:/Blackberry/i,identity:"Blackberry"},{property:"userAgent",regex:/Android/i,identity:"Android"},{property:"platform",regex:/Mac/i,identity:"Mac"},{property:"platform",regex:/Win/i,identity:"Windows"},{property:"platform",regex:/Linux/i,identity:"Linux"}]};Ext.is.init(),function(){function i(){var n=Ext.isIE6?"IE6":Ext.isIE7?"IE7":Ext.isIE8?"IE8":Ext.isIE9?"IE9":Ext.isIE10?"IE10":"";return n?n+(Ext.isStrict?"-strict":"-quirks"):""}var n=function(n,t){var i=n.ownerDocument.defaultView,r=(i?i.getComputedStyle(n,null):n.currentStyle)||n.style;return r[t]},t={"IE6-quirks":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0],"IE6-strict":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,0,1,0,1,0,0,0],"IE7-quirks":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0],"IE7-strict":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0],"IE8-quirks":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0],"IE8-strict":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,1],"IE9-quirks":[0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0],"IE9-strict":[0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,0,0,0,0,1],"IE10-quirks":[1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1],"IE10-strict":[1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1]};Ext.supports={init:function(){var r=this,f=document,h=r.toRun||r.tests,e=h.length,n=e&&Ext.isReady&&f.createElement("div"),c=[],l=i(),u,o,s;for(n&&(n.innerHTML='<div style="height:30px;width:50px;"><div style="height:20px;width:20px;"><\/div><\/div><div style="width: 200px; height: 200px; position: relative; padding: 5px;"><div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"><\/div><\/div><div style="position: absolute; left: 10%; top: 10%;"><\/div><div style="float:left; background-color:transparent;"><\/div>',f.body.appendChild(n)),o=t[l];e--;)u=h[e],s=o&&o[e],s!==undefined?r[u.identity]=s:n||u.early?r[u.identity]=u.fn.call(r,f,n):c.push(u);n&&f.body.removeChild(n);r.toRun=c},PointerEvents:"pointerEvents"in document.documentElement.style,LocalStorage:function(){try{return"localStorage"in window&&window.localStorage!==null}catch(n){return!1}}(),CSS3BoxShadow:"boxShadow"in document.documentElement.style||"WebkitBoxShadow"in document.documentElement.style||"MozBoxShadow"in document.documentElement.style,ClassList:!!document.documentElement.classList,OrientationChange:typeof orientation!="undefined"&&"onorientationchange"in window,DeviceMotion:"ondevicemotion"in window,Touch:"ontouchstart"in window&&!Ext.is.Desktop,TimeoutActualLateness:function(){setTimeout(function(){Ext.supports.TimeoutActualLateness=arguments.length!==0},0)}(),tests:[{identity:"Transitions",fn:function(t,i){for(var r=["webkit","Moz","o","ms","khtml"],f="TransitionEnd",o=[r[0]+f,"transitionend",r[2]+f,r[3]+f,r[4]+f],s=r.length,u=0,e=!1;u<s;u++)if(n(i,r[u]+"TransitionProperty")){Ext.supports.CSS3Prefix=r[u];Ext.supports.CSS3TransitionEnd=o[u];e=!0;break}return e}},{identity:"RightMargin",fn:function(n,t){var i=n.defaultView;return!(i&&i.getComputedStyle(t.firstChild.firstChild,null).marginRight!="0px")}},{identity:"DisplayChangeInputSelectionBug",early:!0,fn:function(){var n=Ext.webKitVersion;return 0<n&&n<533}},{identity:"DisplayChangeTextAreaSelectionBug",early:!0,fn:function(){var n=Ext.webKitVersion;return 0<n&&n<534.24}},{identity:"TransparentColor",fn:function(n,t,i){return i=n.defaultView,!(i&&i.getComputedStyle(t.lastChild,null).backgroundColor!="transparent")}},{identity:"ComputedStyle",fn:function(n,t,i){return i=n.defaultView,i&&i.getComputedStyle}},{identity:"Svg",fn:function(n){return!!n.createElementNS&&!!n.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect}},{identity:"Canvas",fn:function(n){return!!n.createElement("canvas").getContext}},{identity:"Vml",fn:function(n){var t=n.createElement("div");return t.innerHTML="<!--[if vml]><br/><br/><![endif]-->",t.childNodes.length==2}},{identity:"Float",fn:function(n,t){return!!t.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(n){return!!n.createElement("audio").canPlayType}},{identity:"History",fn:function(){var n=window.history;return!!(n&&n.pushState)}},{identity:"CSS3DTransform",fn:function(){return typeof WebKitCSSMatrix!="undefined"&&(new WebKitCSSMatrix).hasOwnProperty("m41")}},{identity:"CSS3LinearGradient",fn:function(n,t){var i="background-image:",r="linear-gradient(left top, black, white)",u="-moz-"+r,f="-ms-"+r,e="-o-"+r,o=[i+"-webkit-gradient(linear, left top, right bottom, from(black), to(white))",i+r,i+u,i+f,i+e];return t.style.cssText=o.join(";"),(""+t.style.backgroundImage).indexOf("gradient")!==-1&&!Ext.isIE9}},{identity:"CSS3BorderRadius",fn:function(){for(var t=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],n=0;n<t.length;n++)if(document.body.style[t[n]]!==undefined)return!0;return!1}},{identity:"GeoLocation",fn:function(){return typeof navigator!="undefined"&&"geolocation"in navigator||typeof google!="undefined"&&typeof google.gears!="undefined"}},{identity:"MouseEnterLeave",fn:function(n,t){return"onmouseenter"in t&&"onmouseleave"in t}},{identity:"MouseWheel",fn:function(n,t){return"onmousewheel"in t}},{identity:"Opacity",fn:function(n,t){return Ext.isIE6||Ext.isIE7||Ext.isIE8?!1:(t.firstChild.style.cssText="opacity:0.73",t.firstChild.style.opacity=="0.73")}},{identity:"Placeholder",fn:function(n){return"placeholder"in n.createElement("input")}},{identity:"Direct2DBug",fn:function(){return Ext.isString(document.body.style.msTransformOrigin)&&Ext.isIE10m}},{identity:"BoundingClientRect",fn:function(n,t){return Ext.isFunction(t.getBoundingClientRect)}},{identity:"RotatedBoundingClientRect",fn:function(){var i=document.body,r=!1,t=document.createElement("div"),n=t.style;return t.getBoundingClientRect&&(n.WebkitTransform=n.MozTransform=n.OTransform=n.transform="rotate(90deg)",n.width="100px",n.height="30px",i.appendChild(t),r=t.getBoundingClientRect().height!==100,i.removeChild(t)),r}},{identity:"IncludePaddingInWidthCalculation",fn:function(n,t){return t.childNodes[1].firstChild.offsetWidth==210}},{identity:"IncludePaddingInHeightCalculation",fn:function(n,t){return t.childNodes[1].firstChild.offsetHeight==210}},{identity:"ArraySort",fn:function(){var n=[1,2,3,4,5].sort(function(){return 0});return n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5}},{identity:"Range",fn:function(){return!!document.createRange}},{identity:"CreateContextualFragment",fn:function(){var n=Ext.supports.Range?document.createRange():!1;return n&&!!n.createContextualFragment}},{identity:"WindowOnError",fn:function(){return Ext.isIE||Ext.isGecko||Ext.webKitVersion>=534.16}},{identity:"TextAreaMaxLength",fn:function(){var n=document.createElement("textarea");return"maxlength"in n}},{identity:"GetPositionPercentage",fn:function(t,i){return n(i.childNodes[2],"left")=="10%"}},{identity:"PercentageHeightOverflowBug",fn:function(n){var r=!1,i,t;return Ext.getScrollbarSize().height&&(t=n.createElement("div"),i=t.style,i.height="50px",i.width="50px",i.overflow="auto",i.position="absolute",t.innerHTML='<div style="display:table;height:100%;"><div style="width:51px;"><\/div><\/div>',n.body.appendChild(t),t.firstChild.offsetHeight===50&&(r=!0),n.body.removeChild(t)),r}},{identity:"xOriginBug",fn:function(n,t){t.innerHTML='<div id="b1" style="height:100px;width:100px;direction:rtl;position:relative;overflow:scroll"><div id="b2" style="position:relative;width:100%;height:20px;"><\/div><div id="b3" style="position:absolute;width:20px;height:20px;top:0px;right:0px"><\/div><\/div>';var i=document.getElementById("b1").getBoundingClientRect(),r=document.getElementById("b2").getBoundingClientRect(),u=document.getElementById("b3").getBoundingClientRect();return r.left!==i.left&&u.right!==i.right}},{identity:"ScrollWidthInlinePaddingBug",fn:function(n){var r=!1,t,i;return i=n.createElement("div"),t=i.style,t.height="50px",t.width="50px",t.padding="10px",t.overflow="hidden",t.position="absolute",i.innerHTML='<span style="display:inline-block;zoom:1;height:60px;width:60px;"><\/span>',n.body.appendChild(i),i.scrollWidth===70&&(r=!0),n.body.removeChild(i),r}}]}}();Ext.supports.init();Ext.util.DelayedTask=function(n,t,i,r){var u=this,f,e=function(){clearInterval(u.id);u.id=null;n.apply(t,i||[]);Ext.EventManager.idleEvent.fire()};r=typeof r=="boolean"?r:!0;u.id=null;u.delay=function(o,s,h,c){r&&u.cancel();f=o||f;n=s||n;t=h||t;i=c||i;u.id||(u.id=setInterval(e,f))};u.cancel=function(){u.id&&(clearInterval(u.id),u.id=null)}};Ext.cmd.derive("Ext.util.Event",Ext.Base,function(){var i=Array.prototype.slice,r=Ext.Array.insert,n=Ext.Array.toArray,t=Ext.util.DelayedTask;return{isEvent:!0,suspended:0,noOptions:{},constructor:function(n,t){this.name=t;this.observable=n;this.listeners=[]},addListener:function(n,t,i){var u=this,s,a,h,c,o,v,l,f,e,y;if(t=t||u.observable,!u.isListening(n,t)){if(a=u.createListener(n,t,i),u.firing&&(u.listeners=u.listeners.slice(0)),s=u.listeners,f=l=s.length,h=i&&i.priority,o=u._highestNegativePriorityIndex,v=o!==undefined,h)if(c=h<0,!c||v){for(e=c?o:0;e<l;e++)if(y=s[e].o?s[e].o.priority||0:0,y<h){f=e;break}}else u._highestNegativePriorityIndex=f;else v&&(f=o);!c&&f<=o&&u._highestNegativePriorityIndex++;f===l?u.listeners[l]=a:r(u.listeners,f,[a])}},createListener:function(n,t,i){t=t||this.observable;var f=this,u={fn:n,scope:t,ev:f},r=n;return i&&(u.o=i,i.single&&(r=f.createSingle(r,u,i,t)),i.target&&(r=f.createTargeted(r,u,i,t)),i.delay&&(r=f.createDelayed(r,u,i,t)),i.buffer&&(r=f.createBuffered(r,u,i,t))),u.fireFn=r,u},findListener:function(n,t){for(var u=this.listeners,r=u.length,i,f;r--;)if(i=u[r],i&&(f=i.scope,i.fn==n&&f==(t||this.observable)))return r;return-1},isListening:function(n,t){return this.findListener(n,t)!==-1},removeListener:function(n,t){var i=this,u,r,f,e;if(u=i.findListener(n,t),u!=-1){if(r=i.listeners[u],f=i._highestNegativePriorityIndex,i.firing&&(i.listeners=i.listeners.slice(0)),r.task&&(r.task.cancel(),delete r.task),e=r.tasks&&r.tasks.length,e){while(e--)r.tasks[e].cancel();delete r.tasks}return i.listeners.splice(u,1),f&&(u<f?i._highestNegativePriorityIndex--:u===f&&u===i.listeners.length&&delete i._highestNegativePriorityIndex),!0}return!1},clearListeners:function(){for(var n=this.listeners,t=n.length;t--;)this.removeListener(n[t].fn,n[t].scope)},suspend:function(){this.suspended+=1},resume:function(){this.suspended&&this.suspended--},fire:function(){var n=this,f=n.listeners,e=f.length,r,u,t,o;if(!n.suspended&&e>0)for(n.firing=!0,u=arguments.length?i.call(arguments,0):[],o=u.length,r=0;r<e;r++)if(t=f[r],t.o&&(u[o]=t.o),t&&t.fireFn.apply(t.scope||n.observable,u)===!1)return n.firing=!1;return n.firing=!1,!0},createTargeted:function(n,t,i,r){return function(){i.target===arguments[0]&&n.apply(r,arguments)}},createBuffered:function(i,r,u,f){return r.task=new t,function(){r.task.delay(u.buffer,i,f,n(arguments))}},createDelayed:function(i,r,u,f){return function(){var e=new t;r.tasks||(r.tasks=[]);r.tasks.push(e);e.delay(u.delay||10,i,f,n(arguments))}},createSingle:function(n,t,i,r){return function(){var i=t.ev;return i.removeListener(t.fn,r)&&i.observable&&i.observable.hasListeners[i.name]--,n.apply(r,arguments)}}}},1,0,0,0,0,0,[Ext.util,"Event"],0);Ext.EventManager=new function(){var n=this,t=document,r=window,e=/\\/g,u=Ext.baseCSSPrefix,f=!Ext.isIE9&&"addEventListener"in t,i,o=function(){function n(n){e.push(u+n)}var r=t.body||t.getElementsByTagName("body")[0],e=[u+"body"],i=[],o=Ext.supports.CSS3LinearGradient,s=Ext.supports.CSS3BorderRadius,f;return r?(f=r.parentNode,Ext.isIE&&Ext.isIE9m&&(n("ie"),Ext.isIE6?n("ie6"):(n("ie7p"),Ext.isIE7?n("ie7"):(n("ie8p"),Ext.isIE8?n("ie8"):(n("ie9p"),Ext.isIE9&&n("ie9")))),Ext.isIE7m&&n("ie7m"),Ext.isIE8m&&n("ie8m"),Ext.isIE9m&&n("ie9m"),(Ext.isIE7||Ext.isIE8)&&n("ie78")),Ext.isIE10&&n("ie10"),Ext.isGecko&&(n("gecko"),Ext.isGecko3&&n("gecko3"),Ext.isGecko4&&n("gecko4"),Ext.isGecko5&&n("gecko5")),Ext.isOpera&&n("opera"),Ext.isWebKit&&n("webkit"),Ext.isSafari&&(n("safari"),Ext.isSafari2&&n("safari2"),Ext.isSafari3&&n("safari3"),Ext.isSafari4&&n("safari4"),Ext.isSafari5&&n("safari5"),Ext.isSafari5_0&&n("safari5_0")),Ext.isChrome&&n("chrome"),Ext.isMac&&n("mac"),Ext.isLinux&&n("linux"),s||n("nbr"),o||n("nlg"),f&&(Ext.isBorderBox=Ext.isStrict&&(Ext.isIE6||Ext.isIE7)?!1:!0,Ext.isBorderBox||i.push(u+"content-box"),Ext.isStrict?i.push(u+"strict"):i.push(u+"quirks"),Ext.fly(f,"_internal").addCls(i)),Ext.fly(r,"_internal").addCls(e),!0):!1};Ext.apply(n,{hasBoundOnReady:!1,hasFiredReady:!1,deferReadyEvent:1,onReadyChain:[],readyEvent:function(){return i=new Ext.util.Event,i.fire=function(){Ext._beforeReadyTime=Ext._beforeReadyTime||(new Date).getTime();i.self.prototype.fire.apply(i,arguments);Ext._afterReadytime=(new Date).getTime()},i}(),idleEvent:new Ext.util.Event,isReadyPaused:function(){return/[?&]ext-pauseReadyFire\b/i.test(location.search)&&!Ext._continueFireReady},bindReadyEvent:function(){if(!n.hasBoundOnReady)if(t.readyState=="complete")n.onReadyEvent({type:t.readyState||"body"});else t.addEventListener("DOMContentLoaded",n.onReadyEvent,!1),r.addEventListener("load",n.onReadyEvent,!1),n.hasBoundOnReady=!0},onReadyEvent:function(i){i&&i.type&&n.onReadyChain.push(i.type);n.hasBoundOnReady&&(t.removeEventListener("DOMContentLoaded",n.onReadyEvent,!1),r.removeEventListener("load",n.onReadyEvent,!1));Ext.isReady||n.fireDocReady()},fireDocReady:function(){Ext.isReady||(Ext._readyTime=(new Date).getTime(),Ext.isReady=!0,Ext.supports.init(),n.onWindowUnload(),i.onReadyChain=n.onReadyChain,Ext.isNumber(n.deferReadyEvent)?(Ext.Function.defer(n.fireReadyEvent,n.deferReadyEvent),n.hasDocReadyTimer=!0):n.fireReadyEvent())},fireReadyEvent:function(){for(n.hasDocReadyTimer=!1,n.isFiring=!0;i.listeners.length&&!n.isReadyPaused();)i.fire();n.isFiring=!1;n.hasFiredReady=!0;Ext.EventManager.idleEvent.fire()},onDocumentReady:function(t,r,u){u=u||{};u.single=!0;i.addListener(t,r,u);n.isFiring||n.hasDocReadyTimer||(Ext.isReady?n.fireReadyEvent():n.bindReadyEvent())},stoppedMouseDownEvent:new Ext.util.Event,propRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|freezeEvent)$/,getId:function(n){var i;return n=Ext.getDom(n),i=n===t||n===r?n===t?Ext.documentId:Ext.windowId:Ext.id(n),Ext.cache[i]||Ext.addCacheEntry(i,null,n),i},prepareListenerConfig:function(t,i,r){var o=n.propRe,u,f,e;for(u in i)i.hasOwnProperty(u)&&(o.test(u)||(f=i[u],e=typeof f=="function"?[t,u,f,i.scope,i]:[t,u,f.fn,f.scope,f],r?n.removeListener.apply(n,e):n.addListener.apply(n,e)))},mouseEnterLeaveRe:/mouseenter|mouseleave/,normalizeEvent:function(t,i){return n.mouseEnterLeaveRe.test(t)&&!Ext.supports.MouseEnterLeave?(i&&(i=Ext.Function.createInterceptor(i,n.contains)),t=t=="mouseenter"?"mouseover":"mouseout"):t!="mousewheel"||Ext.supports.MouseWheel||Ext.isOpera||(t="DOMMouseScroll"),{eventName:t,fn:i}},contains:function(t){t=t.browserEvent||t;var r=t.currentTarget,i=n.getRelatedTarget(t);if(r&&r.firstChild)while(i){if(i===r)return!1;i=i.parentNode;i&&i.nodeType!=1&&(i=null)}return!0},addListener:function(i,r,u,e,o){if(typeof r!="string"){n.prepareListenerConfig(i,r);return}var s=i.dom||Ext.getDom(i),a,v,c,l,h,y,p;typeof u=="string"&&(u=Ext.resolveMethod(u,e||i));o=o||{};v=n.normalizeEvent(r,u);c=n.createListenerWrap(s,r,v.fn,e,o);l=n.getEventListenerCache(i.dom?i:s,r);r=v.eventName;a=f||Ext.isIE9&&!s.attachEvent;a||(h=n.normalizeId(s),h&&(y=Ext.cache[h][r],y&&y.firing&&(l=n.cloneEventListenerCache(s,r))));p=!!o.capture;l.push({fn:u,wrap:c,scope:e,capture:p});a?s.addEventListener(r,c,p):l.length===1&&(h=n.normalizeId(s,!0),u=Ext.Function.bind(n.handleSingleEvent,n,[h,r],!0),Ext.cache[h][r]={firing:!1,fn:u},s.attachEvent("on"+r,u));s==t&&r=="mousedown"&&n.stoppedMouseDownEvent.addListener(c)},normalizeId:function(t,i){var r;return r=t===document?Ext.documentId:t===window?Ext.windowId:t.id,!r&&i&&(r=n.getId(t)),r},handleSingleEvent:function(t,i,r){var e=n.getEventListenerCache(i,r),f=Ext.cache[i][r],o,u;if(!f.firing){for(f.firing=!0,u=0,o=e.length;u<o;++u)e[u].wrap(t);f.firing=!1}},removeListener:function(i,r,u,e){if(typeof r!="string"){n.prepareListenerConfig(i,r,!0);return}var s=Ext.getDom(i),y,b=i.dom?i:Ext.get(s),c=n.getEventListenerCache(b,r),l=n.normalizeEvent(r).eventName,p=c.length,a,v,w,h,o;if(s)for(w=f||Ext.isIE9&&!s.detachEvent,typeof u=="string"&&(u=Ext.resolveMethod(u,e||i));p--;)if(h=c[p],h&&(!u||h.fn==u)&&(!e||h.scope===e)){if(o=h.wrap,o.task&&(clearTimeout(o.task),delete o.task),a=o.tasks&&o.tasks.length,a){while(a--)clearTimeout(o.tasks[a]);delete o.tasks}w?s.removeEventListener(l,o,h.capture):(y=n.normalizeId(s,!0),v=Ext.cache[y][l],v&&v.firing&&(c=n.cloneEventListenerCache(s,l)),c.length===1&&(u=v.fn,delete Ext.cache[y][l],s.detachEvent("on"+l,u)));o&&s==t&&r=="mousedown"&&n.stoppedMouseDownEvent.removeListener(o);Ext.Array.erase(c,p,1)}},removeAll:function(t){var f=typeof t=="string"?t:t.id,i,r,u;if(f&&(i=Ext.cache[f])){r=i.events;for(u in r)r.hasOwnProperty(u)&&n.removeListener(t,u);i.events={}}},purgeElement:function(t,i){var r=Ext.getDom(t),u=0,e,f;if(i?n.removeListener(t,i):n.removeAll(t),r&&r.childNodes)for(f=r.childNodes,e=f.length;u<e;u++)n.purgeElement(f[u],i)},createListenerWrap:function(t,i,r,u,f){f=f||{};var o,s,h=function(c,l){return s||(o=["if(!"+Ext.name+") {return;}"],f.buffer||f.delay||f.freezeEvent?(f.freezeEvent&&o.push("e = X.EventObject.setEvent(e);"),o.push("e = new X.EventObjectImpl(e, "+(f.freezeEvent?"true":"false")+");")):o.push("e = X.EventObject.setEvent(e);"),f.delegate?(o.push('var result, t = e.getTarget("'+(f.delegate+"").replace(e,"\\\\")+'", this);'),o.push("if(!t) {return;}")):o.push("var t = e.target, result;"),f.target&&o.push("if(e.target !== options.target) {return;}"),f.stopEvent?o.push("e.stopEvent();"):(f.preventDefault&&o.push("e.preventDefault();"),f.stopPropagation&&o.push("e.stopPropagation();")),f.normalized===!1&&o.push("e = e.browserEvent;"),f.buffer&&(o.push("(wrap.task && clearTimeout(wrap.task));"),o.push("wrap.task = setTimeout(function() {")),f.delay&&(o.push("wrap.tasks = wrap.tasks || [];"),o.push("wrap.tasks.push(setTimeout(function() {")),o.push("result = fn.call(scope || dom, e, t, options);"),f.single&&o.push("evtMgr.removeListener(dom, ename, fn, scope);"),i!=="mousemove"&&i!=="unload"&&(o.push("if (evtMgr.idleEvent.listeners.length) {"),o.push("evtMgr.idleEvent.fire();"),o.push("}")),f.delay&&o.push("}, "+f.delay+"));"),f.buffer&&o.push("}, "+f.buffer+");"),o.push("return result;"),s=Ext.cacheableFunctionFactory("e","options","fn","scope","ename","dom","wrap","args","X","evtMgr",o.join("\n"))),s.call(t,c,f,r,u,i,t,h,l,Ext,n)};return h},getEventCache:function(t){var i,r;return t?(t.$cache?i=t.$cache:(r=typeof t=="string"?t:n.getId(t),i=Ext.cache[r]),i.events||(i.events={})):[]},getEventListenerCache:function(t,i){var r=n.getEventCache(t);return r[i]||(r[i]=[])},cloneEventListenerCache:function(t,i){var r=n.getEventCache(t),u;return u=r[i]?r[i].slice(0):[],r[i]=u,u},mouseLeaveRe:/(mouseout|mouseleave)/,mouseEnterRe:/(mouseover|mouseenter)/,stopEvent:function(t){n.stopPropagation(t);n.preventDefault(t)},stopPropagation:function(n){n=n.browserEvent||n;n.stopPropagation?n.stopPropagation():n.cancelBubble=!0},preventDefault:function(n){if(n=n.browserEvent||n,n.preventDefault)n.preventDefault();else{n.returnValue=!1;try{(n.ctrlKey||n.keyCode>111&&n.keyCode<124)&&(n.keyCode=-1)}catch(t){}}},getRelatedTarget:function(t){t=t.browserEvent||t;var i=t.relatedTarget;return i||(n.mouseLeaveRe.test(t.type)?i=t.toElement:n.mouseEnterRe.test(t.type)&&(i=t.fromElement)),n.resolveTextNode(i)},getPageX:function(t){return n.getPageXY(t)[0]},getPageY:function(t){return n.getPageXY(t)[1]},getPageXY:function(n){n=n.browserEvent||n;var u=n.pageX,f=n.pageY,i=t.documentElement,r=t.body;return u||u===0||(u=n.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),f=n.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),[u,f]},getTarget:function(t){return t=t.browserEvent||t,n.resolveTextNode(t.target||t.srcElement)},resolveTextNode:Ext.isGecko?function(n){if(n){var t=HTMLElement.prototype.toString.call(n);if(t!=="[xpconnect wrapped native prototype]"&&t!=="[object XULElement]")return n.nodeType==3?n.parentNode:n}}:function(n){return n&&n.nodeType==3?n.parentNode:n},curWidth:0,curHeight:0,onWindowResize:function(t,i,u){var f=n.resizeEvent;if(!f){n.resizeEvent=f=new Ext.util.Event;n.on(r,"resize",n.fireResize,null,{buffer:100})}f.addListener(t,i,u)},fireResize:function(){var t=Ext.Element.getViewWidth(),i=Ext.Element.getViewHeight();(n.curHeight!=i||n.curWidth!=t)&&(n.curHeight=i,n.curWidth=t,n.resizeEvent.fire(t,i))},removeResizeListener:function(t,i){var r=n.resizeEvent;r&&r.removeListener(t,i)},onWindowUnload:function(t,i,u){var f=n.unloadEvent;f||(n.unloadEvent=f=new Ext.util.Event,n.addListener(r,"unload",n.fireUnload));t&&f.addListener(t,i,u)},fireUnload:function(){try{t=r=undefined;var u,i,o,f,e;if(n.unloadEvent.fire(),Ext.isGecko3)for(u=Ext.ComponentQuery.query("gridview"),i=0,o=u.length;i<o;i++)u[i].scrollToTop();e=Ext.cache;for(f in e)e.hasOwnProperty(f)&&n.removeAll(f)}catch(s){}},removeUnloadListener:function(t,i){var r=n.unloadEvent;r&&r.removeListener(t,i)},useKeyDown:Ext.isWebKit?parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1],10)>=525:!(Ext.isGecko&&!Ext.isWindows||Ext.isOpera),getKeyEvent:function(){return n.useKeyDown?"keydown":"keypress"}});!f&&document.attachEvent&&Ext.apply(n,{pollScroll:function(){var t=!0;try{document.documentElement.doScroll("left")}catch(i){t=!1}if(t&&document.body)n.onReadyEvent({type:"doScroll"});else n.scrollTimeout=setTimeout(n.pollScroll,20);return t},scrollTimeout:null,readyStatesRe:/complete/i,checkReadyState:function(){var t=document.readyState;if(n.readyStatesRe.test(t))n.onReadyEvent({type:t})},bindReadyEvent:function(){var i=!0;if(!n.hasBoundOnReady){try{i=window.frameElement===undefined}catch(r){i=!1}if(i&&t.documentElement.doScroll||(n.pollScroll=Ext.emptyFn),n.pollScroll()!==!0)if(t.readyState=="complete")n.onReadyEvent({type:"already "+(t.readyState||"body")});else t.attachEvent("onreadystatechange",n.checkReadyState),window.attachEvent("onload",n.onReadyEvent),n.hasBoundOnReady=!0}},onReadyEvent:function(t){t&&t.type&&n.onReadyChain.push(t.type);n.hasBoundOnReady&&(document.detachEvent("onreadystatechange",n.checkReadyState),window.detachEvent("onload",n.onReadyEvent));Ext.isNumber(n.scrollTimeout)&&(clearTimeout(n.scrollTimeout),delete n.scrollTimeout);Ext.isReady||n.fireDocReady()},onReadyChain:[]});Ext.onReady=function(n,t,i){Ext.Loader.onReady(n,t,!0,i)};Ext.onDocumentReady=n.onDocumentReady;n.on=n.addListener;n.un=n.removeListener;Ext.onReady(o)};Ext.cmd.derive("Ext.util.Observable",Ext.Base,function(n){var u=[],f=Array.prototype,i=f.slice,r=Ext.util.Event,t=function(n){if(n instanceof t)return n;this.observable=n;arguments[1].isObservable&&(this.managedListeners=!0);this.args=i.call(arguments,1)};return t.prototype.destroy=function(){this.observable[this.managedListeners?"mun":"un"].apply(this.observable,this.args)},{statics:{releaseCapture:function(n){n.fireEventArgs=this.prototype.fireEventArgs},capture:function(n,t,i){var r=function(n,r){return t.apply(i,[n].concat(r))};this.captureArgs(n,r,i)},captureArgs:function(n,t,i){n.fireEventArgs=Ext.Function.createInterceptor(n.fireEventArgs,t,i)},observe:function(n,t){if(n&&(n.isObservable||(Ext.applyIf(n,new this),this.captureArgs(n.prototype,n.fireEventArgs,n)),Ext.isObject(t)))n.on(t);return n},prepareClass:function(t,i){if(!t.HasListeners){var r=function(){},u=t.superclass.HasListeners||i&&i.HasListeners||n.HasListeners;t.prototype.HasListeners=t.HasListeners=r;r.prototype=t.hasListeners=new u}}},isObservable:!0,eventsSuspended:0,constructor:function(n){var t=this;if(Ext.apply(t,n),t.hasListeners||(t.hasListeners=new t.HasListeners),t.events=t.events||{},t.listeners){t.on(t.listeners);t.listeners=null}t.bubbleEvents&&t.enableBubble(t.bubbleEvents)},onClassExtended:function(t){t.HasListeners||n.prepareClass(t)},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|destroyable|vertical|horizontal|freezeEvent|priority)$/,addManagedListener:function(n,i,r,u,f,e){var o=this,c=o.managedListeners=o.managedListeners||[],s,h;if(typeof i!="string"){h=arguments.length>4?f:i;f=i;for(i in f)f.hasOwnProperty(i)&&(s=f[i],o.eventOptionsRe.test(i)||o.addManagedListener(n,i,s.fn||s,s.scope||f.scope||u,s.fn?s:h,!0));if(f&&f.destroyable)return new t(o,n,f)}else{typeof r=="string"&&(u=u||o,r=Ext.resolveMethod(r,u));c.push({item:n,ename:i,fn:r,scope:u,options:f});n.on(i,r,u,f);if(!e&&f&&f.destroyable)return new t(o,n,i,r,u)}},removeManagedListener:function(n,t,i,r){var u=this,f,e,s,h,o;if(typeof t!="string"){f=t;for(t in f)f.hasOwnProperty(t)&&(e=f[t],u.eventOptionsRe.test(t)||u.removeManagedListener(n,t,e.fn||e,e.scope||f.scope||r))}else for(s=u.managedListeners?u.managedListeners.slice():[],typeof i=="string"&&(r=r||u,i=Ext.resolveMethod(i,r)),o=0,h=s.length;o<h;o++)u.removeManagedListenerItem(!1,s[o],n,t,i,r)},fireEvent:function(n){return this.fireEventArgs(n,i.call(arguments,1))},fireEventArgs:function(n,t){n=n.toLowerCase();var i=this,r=i.events,f=r&&r[n],e=!0;return f&&i.hasListeners[n]&&(e=i.continueFireEvent(n,t||u,f.bubble)),e},continueFireEvent:function(n,t,i){var r=this,e,u,f=!0;do{if(r.eventsSuspended)return(e=r.eventQueue)&&e.push([n,t,i]),f;if(u=r.events[n],u&&u!==!0&&(f=u.fire.apply(u,t))===!1)break}while(i&&(r=r.getBubbleParent()));return f},getBubbleParent:function(){var t=this,n=t.getBubbleTarget&&t.getBubbleTarget();return n&&n.isObservable?n:null},addListener:function(n,i,u,f){var e=this,s,o,h=0;if(typeof n!="string"){f=n;for(n in f)f.hasOwnProperty(n)&&(s=f[n],e.eventOptionsRe.test(n)||e.addListener(n,s.fn||s,s.scope||f.scope,s.fn?s:f));if(f&&f.destroyable)return new t(e,f)}else if(n=n.toLowerCase(),o=e.events[n],o&&o.isEvent?h=o.listeners.length:e.events[n]=o=new r(e,n),typeof i=="string"&&(u=u||e,i=Ext.resolveMethod(i,u)),o.addListener(i,u,f),o.listeners.length!==h&&e.hasListeners._incr_(n),f&&f.destroyable)return new t(e,n,i,u,f)},removeListener:function(n,t,i){var r=this,f,e,u;if(typeof n!="string"){u=n;for(n in u)u.hasOwnProperty(n)&&(f=u[n],r.eventOptionsRe.test(n)||r.removeListener(n,f.fn||f,f.scope||u.scope))}else n=n.toLowerCase(),e=r.events[n],e&&e.isEvent&&(typeof t=="string"&&(i=i||r,t=Ext.resolveMethod(t,i)),e.removeListener(t,i)&&r.hasListeners._decr_(n))},clearListeners:function(){var n=this.events,r=this.hasListeners,t;for(var i in n)n.hasOwnProperty(i)&&(t=n[i],t.isEvent&&(delete r[i],t.clearListeners()));this.clearManagedListeners()},clearManagedListeners:function(){for(var t=this.managedListeners||[],n=0,i=t.length;n<i;n++)this.removeManagedListenerItem(!0,t[n]);this.managedListeners=[]},removeManagedListenerItem:function(n,t,i,r,u,f){!n&&(t.item!==i||t.ename!==r||u&&t.fn!==u||f&&t.scope!==f)||(t.item.un(t.ename,t.fn,t.scope),n||Ext.Array.remove(this.managedListeners,t))},addEvents:function(n){var t=this,f=t.events||(t.events={}),i,r,u;if(typeof n=="string")for(r=arguments,u=r.length;u--;)i=r[u],f[i]||(f[i]=!0);else Ext.applyIf(t.events,n)},hasListener:function(n){return!!this.hasListeners[n.toLowerCase()]},suspendEvents:function(n){this.eventsSuspended+=1;n&&!this.eventQueue&&(this.eventQueue=[])},suspendEvent:function(){for(var i=arguments.length,t,n=0;n<i;n++)t=this.events[arguments[n]],t&&t.suspend&&t.suspend()},resumeEvent:function(){for(var i=arguments.length,t,n=0;n<i;n++)t=this.events[arguments[n]],t&&t.resume&&t.resume()},resumeEvents:function(){var n=this,i=n.eventQueue,r,t;if(n.eventsSuspended&&!--n.eventsSuspended&&(delete n.eventQueue,i))for(r=i.length,t=0;t<r;t++)n.continueFireEvent.apply(n,i[t])},relayEvents:function(n,i,r){for(var f=this,s=i.length,e=0,u,o={};e<s;e++)u=i[e],o[u]=f.createRelayer(r?r+u:u);return f.mon(n,o,null,null,undefined),new t(f,n,o)},createRelayer:function(n,t){var r=this;return function(){return r.fireEventArgs.call(r,n,t?i.apply(arguments,t):arguments)}},enableBubble:function(n){if(n)for(var f=this,e=typeof n=="string"?arguments:n,s=e.length,o=f.events,t,i,u=0;u<s;++u)t=e[u].toLowerCase(),i=o[t],i&&typeof i!="boolean"||(o[t]=i=new r(f,t)),f.hasListeners._incr_(t),i.bubble=!0}}},1,0,0,0,0,0,[Ext.util,"Observable"],function(){function f(n){var t=(this.methodEvents=this.methodEvents||{})[n],r,i,u,e=this,f;return t||(this.methodEvents[n]=t={},t.originalFn=this[n],t.methodName=n,t.before=[],t.after=[],f=function(n,t,f){(i=n.apply(t||e,f))!==undefined&&(typeof i=="object"?(r=i.returnValue!==undefined?i.returnValue:i,u=!!i.cancel):i===!1?u=!0:r=i)},this[n]=function(){var h=Array.prototype.slice.call(arguments,0),o,n,s;for(r=i=undefined,u=!1,n=0,s=t.before.length;n<s;n++)if(o=t.before[n],f(o.fn,o.scope,h),u)return r;for((i=t.originalFn.apply(e,h))!==undefined&&(r=i),n=0,s=t.after.length;n<s;n++)if(o=t.after[n],f(o.fn,o.scope,h),u)return r;return r}),t}var n=this,r=n.prototype,u=function(){},i=function(t){if(!t.HasListeners){var r=t.prototype;n.prepareClass(t,this);t.onExtended(function(t){n.prepareClass(t)});r.onClassMixedIn?Ext.override(t,{onClassMixedIn:function(n){i.call(this,n);this.callParent(arguments)}}):r.onClassMixedIn=function(n){i.call(this,n)}}},t;u.prototype={_decr_:function(n){--this[n]||delete this[n]},_incr_:function(n){this.hasOwnProperty(n)?++this[n]:this[n]=1}};r.HasListeners=n.HasListeners=u;n.createAlias({on:"addListener",un:"removeListener",mon:"addManagedListener",mun:"removeManagedListener"});n.observeClass=n.observe;Ext.globalEvents=t=new n({events:{idle:Ext.EventManager.idleEvent,ready:Ext.EventManager.readyEvent}});Ext.on=function(){return t.addListener.apply(t,arguments)};Ext.un=function(){return t.removeListener.apply(t,arguments)};Ext.apply(r,{onClassMixedIn:i,beforeMethod:function(n,t,i){f.call(this,n).before.push({fn:t,scope:i})},afterMethod:function(n,t,i){f.call(this,n).after.push({fn:t,scope:i})},removeMethodListener:function(n,t,i){for(var u=this.getMethodEvent(n),r=0,f=u.before.length;r<f;r++)if(u.before[r].fn==t&&u.before[r].scope==i){Ext.Array.erase(u.before,r,1);return}for(r=0,f=u.after.length;r<f;r++)if(u.after[r].fn==t&&u.after[r].scope==i){Ext.Array.erase(u.after,r,1);return}},toggleEventLogging:function(n){Ext.util.Observable[n?"capture":"releaseCapture"](this,function(n){Ext.isDefined(Ext.global.console)&&Ext.global.console.log(n,arguments)})}})});Ext.cmd.derive("Ext.EventObjectImpl",Ext.Base,{BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,WHEEL_SCALE:function(){return Ext.isGecko?3:Ext.isMac?(Ext.isSafari&&Ext.webKitVersion>=532?120:12)*3:120}(),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(n,t){n&&this.setEvent(n.browserEvent||n,t)},setEvent:function(n,t){var i=this,r,u;return n===i||n&&n.browserEvent?n:(i.browserEvent=n,n?(r=n.button?i.btnMap[n.button]:n.which?n.which-1:-1,i.clickRe.test(n.type)&&r==-1&&(r=0),u={type:n.type,button:r,shiftKey:n.shiftKey,ctrlKey:n.ctrlKey||n.metaKey||!1,altKey:n.altKey,keyCode:n.keyCode,charCode:n.charCode,target:Ext.EventManager.getTarget(n),relatedTarget:Ext.EventManager.getRelatedTarget(n),currentTarget:n.currentTarget,xy:t?i.getXY():null}):u={button:-1,shiftKey:!1,ctrlKey:!1,altKey:!1,keyCode:0,charCode:0,target:null,xy:[0,0]},Ext.apply(i,u),i)},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){this.browserEvent&&Ext.EventManager.preventDefault(this.browserEvent)},stopPropagation:function(){var n=this.browserEvent;n&&(n.type=="mousedown"&&Ext.EventManager.stoppedMouseDownEvent.fire(this),Ext.EventManager.stopPropagation(n))},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(n){return Ext.isWebKit?this.safariKeys[n]||n:n},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){return this.xy||(this.xy=Ext.EventManager.getPageXY(this.browserEvent)),this.xy},getTarget:function(n,t,i){return n?Ext.fly(this.target).findParent(n,t,i):i?Ext.get(this.target):this.target},getRelatedTarget:function(n,t,i){return n&&this.relatedTarget?Ext.fly(this.relatedTarget).findParent(n,t,i):i?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(n){var i=this.WHEEL_SCALE,t=Math.round(n/i);return!t&&n&&(t=n<0?-1:1),t},getWheelDeltas:function(){var i=this,n=i.browserEvent,r=0,t=0;return Ext.isDefined(n.wheelDeltaX)?(r=n.wheelDeltaX,t=n.wheelDeltaY):n.wheelDelta?t=n.wheelDelta:n.detail&&(t=-n.detail,t>100?t=3:t<-100&&(t=-3),Ext.isDefined(n.axis)&&n.axis===n.HORIZONTAL_AXIS&&(r=t,t=0)),{x:i.correctWheelDelta(r),y:i.correctWheelDelta(t)}},getWheelDelta:function(){var n=this.getWheelDeltas();return n.y},within:function(n,t,i){if(n){var u=t?this.getRelatedTarget():this.getTarget(),r;if(u)return r=Ext.fly(n,"_internal").contains(u),!r&&i&&(r=u==Ext.getDom(n)),r}return!1},isNavKeyPress:function(){var t=this,n=this.normalizeKey(t.keyCode);return n>=33&&n<=40||n==t.RETURN||n==t.TAB||n==t.ESC},isSpecialKey:function(){var n=this.normalizeKey(this.keyCode);return this.type=="keypress"&&this.ctrlKey||this.isNavKeyPress()||n==this.BACKSPACE||n>=16&&n<=20||n>=44&&n<=46},getPoint:function(){var n=this.getXY();return new Ext.util.Point(n[0],n[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:function(){function r(t,i){var r=t!="mousemove";return function(u,f){var e=f.getXY(),o=n.createMouseEvent(u.ownerDocument,t,!0,r,i,e[0],e[1],f.ctrlKey,f.altKey,f.shiftKey,f.metaKey,f.button,f.relatedTarget);n.fireEvent(u,t,o)}}function u(){}var n,t={},i;return!Ext.isIE9m&&document.createEvent?n={createHtmlEvent:function(n,t,i,r){var u=n.createEvent("HTMLEvents");return u.initEvent(t,i,r),u},createMouseEvent:function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=n.createEvent("MouseEvents"),y=n.defaultView||window;return v.initMouseEvent?v.initMouseEvent(t,i,r,y,u,f,e,f,e,o,s,h,c,l,a):(v=n.createEvent("UIEvents"),v.initEvent(t,i,r),v.view=y,v.detail=u,v.screenX=f,v.screenY=e,v.clientX=f,v.clientY=e,v.ctrlKey=o,v.altKey=s,v.metaKey=c,v.shiftKey=h,v.button=l,v.relatedTarget=a),v},createUIEvent:function(n,t,i,r,u){var f=n.createEvent("UIEvents"),e=n.defaultView||window;return f.initUIEvent(t,i,r,e,u),f},fireEvent:function(n,t,i){n.dispatchEvent(i)},fixTarget:function(n){return n==window&&!n.dispatchEvent?document:n}}:document.createEventObject&&(i={0:1,1:4,2:2},n={createHtmlEvent:function(n,t,i,r){var u=n.createEventObject();return u.bubbles=i,u.cancelable=r,u},createMouseEvent:function(n,t,r,u,f,e,o,s,h,c,l,a,v){var y=n.createEventObject();return y.bubbles=r,y.cancelable=u,y.detail=f,y.screenX=e,y.screenY=o,y.clientX=e,y.clientY=o,y.ctrlKey=s,y.altKey=h,y.shiftKey=c,y.metaKey=l,y.button=i[a]||a,y.relatedTarget=v,y},createUIEvent:function(n,t,i,r){var u=n.createEventObject();return u.bubbles=i,u.cancelable=r,u},fireEvent:function(n,t,i){n.fireEvent("on"+t,i)},fixTarget:function(n){return n==document?document.documentElement:n}}),Ext.Object.each({load:[!1,!1],unload:[!1,!1],select:[!0,!1],change:[!0,!1],submit:[!0,!0],reset:[!0,!1],resize:[!0,!1],scroll:[!0,!1]},function(i,r){var u=r[0],f=r[1];t[i]=function(t){var r=n.createHtmlEvent(i,u,f);n.fireEvent(t,i,r)}}),Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(n){t[n]=r(n,1)}),Ext.Object.each({focusin:[!0,!1],focusout:[!0,!1],activate:[!0,!0],focus:[!1,!1],blur:[!1,!1]},function(i,r){var u=r[0],f=r[1];t[i]=function(t){var r=n.createUIEvent(t.ownerDocument,i,u,f,1);n.fireEvent(t,i,r)}}),n||(t={},n={fixTarget:Ext.identityFn}),function(i){var r=this,e=t[r.type]||u,f=i?i.dom||i:r.getTarget();f=n.fixTarget(f);e(f,r)}}()},1,0,0,0,0,0,[Ext,"EventObjectImpl"],function(){Ext.EventObject=new Ext.EventObjectImpl});Ext.cmd.derive("Ext.dom.AbstractQuery",Ext.Base,{select:function(n,t){var f=[],r,i,u,e,o;for(t=t||document,typeof t=="string"&&(t=document.getElementById(t)),n=n.split(","),i=0,e=n.length;i<e;i++)if(typeof n[i]=="string")if(typeof n[i][0]=="@")r=t.getAttributeNode(n[i].substring(1)),f.push(r);else for(r=t.querySelectorAll(n[i]),u=0,o=r.length;u<o;u++)f.push(r[u]);return f},selectNode:function(n,t){return this.select(n,t)[0]},is:function(n,t){return typeof n=="string"&&(n=document.getElementById(n)),this.select(t).indexOf(n)!==-1}},0,0,0,0,0,0,[Ext.dom,"AbstractQuery"],0);Ext.cmd.derive("Ext.dom.AbstractHelper",Ext.Base,{emptyTags:/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,confRe:/^(?:tag|children|cn|html|tpl|tplData)$/i,endRe:/end/i,styleSepRe:/\s*(?::|;)\s*/,attributeTransform:{cls:"class",htmlFor:"for"},closeTags:{},decamelizeName:function(){function i(n,t,i){return t+"-"+i.toLowerCase()}var t=/([a-z])([A-Z])/g,n={};return function(r){return n[r]||(n[r]=r.replace(t,i))}}(),generateMarkup:function(n,t){var r=this,s=typeof n,u,i,f,e,o;if(s=="string"||s=="number")t.push(n);else if(Ext.isArray(n))for(e=0;e<n.length;e++)n[e]&&r.generateMarkup(n[e],t);else{f=n.tag||"div";t.push("<",f);for(u in n)n.hasOwnProperty(u)&&(i=n[u],r.confRe.test(u)||(typeof i=="object"?(t.push(" ",u,'="'),r.generateStyles(i,t).push('"')):t.push(" ",r.attributeTransform[u]||u,'="',i,'"')));r.emptyTags.test(f)?t.push("/>"):(t.push(">"),(i=n.tpl)&&i.applyOut(n.tplData,t),(i=n.html)&&t.push(i),(i=n.cn||n.children)&&r.generateMarkup(i,t),o=r.closeTags,t.push(o[f]||(o[f]="<\/"+f+">")))}return t},generateStyles:function(n,t){var r=t||[];for(var i in n)n.hasOwnProperty(i)&&r.push(this.decamelizeName(i),":",n[i],";");return t||r.join("")},markup:function(n){if(typeof n=="string")return n;var t=this.generateMarkup(n,[]);return t.join("")},applyStyles:function(n,t){if(t){var i=0,r;if(n=Ext.fly(n,"_applyStyles"),typeof t=="function"&&(t=t.call()),typeof t=="string")for(t=Ext.util.Format.trim(t).split(this.styleSepRe),r=t.length;i<r;)n.setStyle(t[i++],t[i++]);else Ext.isObject(t)&&n.setStyle(t)}},insertHtml:function(n,t,i){var f={},e,r,u,o;return n=n.toLowerCase(),f.beforebegin=["BeforeBegin","previousSibling"],f.afterend=["AfterEnd","nextSibling"],r=t.ownerDocument.createRange(),e="setStart"+(this.endRe.test(n)?"After":"Before"),f[n]?(r[e](t),u=r.createContextualFragment(i),t.parentNode.insertBefore(u,n=="beforebegin"?t:t.nextSibling),t[(n=="beforebegin"?"previous":"next")+"Sibling"]):(o=(n=="afterbegin"?"first":"last")+"Child",t.firstChild?(r[e](t[o]),u=r.createContextualFragment(i),n=="afterbegin"?t.insertBefore(u,t.firstChild):t.appendChild(u)):t.innerHTML=i,t[o])},insertBefore:function(n,t,i){return this.doInsert(n,t,i,"beforebegin")},insertAfter:function(n,t,i){return this.doInsert(n,t,i,"afterend","nextSibling")},insertFirst:function(n,t,i){return this.doInsert(n,t,i,"afterbegin","firstChild")},append:function(n,t,i){return this.doInsert(n,t,i,"beforeend","",!0)},overwrite:function(n,t,i){return n=Ext.getDom(n),n.innerHTML=this.markup(t),i?Ext.get(n.firstChild):n.firstChild},doInsert:function(n,t,i,r){var u=this.insertHtml(r,Ext.getDom(n),this.markup(t));return i?Ext.get(u,!0):u}},0,0,0,0,0,0,[Ext.dom,"AbstractHelper"],0);Ext.define("Ext.dom.AbstractElement_static",{override:"Ext.dom.AbstractElement",inheritableStatics:{unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,msRe:/^-ms-/,cssRe:/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*)?;?/gi,opacityRe:/alpha\(opacity=(.*)\)/i,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:function(n,t){return typeof n=="number"?n+(t||this.defaultUnit||"px"):n===""||n=="auto"||n===undefined||n===null?n||"":this.unitRe.test(n)?n:n||""},isAncestor:function(n,t){var i=!1;if(n=Ext.getDom(n),t=Ext.getDom(t),n&&t){if(n.contains)return n.contains(t);if(n.compareDocumentPosition)return!!(n.compareDocumentPosition(t)&16);while(t=t.parentNode)i=t==n||i}return i},parseBox:function(n){n=n||0;var r=typeof n,t,i;return r==="number"?{top:n,right:n,bottom:n,left:n}:r!=="string"?n:(t=n.split(" "),i=t.length,i==1?t[1]=t[2]=t[3]=t[0]:i==2?(t[2]=t[0],t[3]=t[1]):i==3&&(t[3]=t[1]),{top:parseFloat(t[0])||0,right:parseFloat(t[1])||0,bottom:parseFloat(t[2])||0,left:parseFloat(t[3])||0})},unitizeBox:function(n,t){var i=this.addUnits,r=this.parseBox(n);return i(r.top,t)+" "+i(r.right,t)+" "+i(r.bottom,t)+" "+i(r.left,t)},camelReplaceFn:function(n,t){return t.charAt(1).toUpperCase()},normalize:function(n){return n=="float"&&(n=Ext.supports.Float?"cssFloat":"styleFloat"),this.propertyCache[n]||(this.propertyCache[n]=n.replace(this.msRe,"ms-").replace(this.camelRe,this.camelReplaceFn))},getDocumentHeight:function(){return Math.max(Ext.isStrict?document.documentElement.scrollHeight:document.body.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(Ext.isStrict?document.documentElement.scrollWidth:document.body.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return window.innerHeight},getViewportWidth:function(){return window.innerWidth},getViewSize:function(){return{width:window.innerWidth,height:window.innerHeight}},getOrientation:function(){return Ext.supports.OrientationChange?window.orientation==0?"portrait":"landscape":window.innerHeight>window.innerWidth?"portrait":"landscape"},fromPoint:function(n,t){return Ext.get(document.elementFromPoint(n,t))},parseStyles:function(n){var i={},r=this.cssRe,t;if(n)for(r.lastIndex=0;t=r.exec(n);)i[t[1]]=t[2]||"";return i}}},function(){function r(n,t,i){return function(){n.selectionStart=t;n.selectionEnd=i}}var n=document,t=null,i=n.compatMode=="CSS1Compat";"activeElement"in n||!n.addEventListener||n.addEventListener("focus",function(i){i&&i.target&&(t=i.target==n?null:i.target)},!0);this.addInheritableStatics({getActiveElement:function(){var i;try{i=n.activeElement}catch(r){}return i=i||t,i||(i=t=document.body),i},getRightMarginFixCleaner:function(i){var s=Ext.supports,h=s.DisplayChangeInputSelectionBug,c=s.DisplayChangeTextAreaSelectionBug,u,f,e,o;return(h||c)&&(u=n.activeElement||t,f=u&&u.tagName,(c&&f=="TEXTAREA"||h&&f=="INPUT"&&u.type=="text")&&Ext.dom.Element.isAncestor(i,u)&&(e=u.selectionStart,o=u.selectionEnd,Ext.isNumber(e)&&Ext.isNumber(o)))?r(u,e,o):Ext.emptyFn},getViewWidth:function(n){return n?Ext.dom.Element.getDocumentWidth():Ext.dom.Element.getViewportWidth()},getViewHeight:function(n){return n?Ext.dom.Element.getDocumentHeight():Ext.dom.Element.getViewportHeight()},getDocumentHeight:function(){return Math.max(i?n.documentElement.scrollHeight:n.body.scrollHeight,Ext.dom.Element.getViewportHeight())},getDocumentWidth:function(){return Math.max(i?n.documentElement.scrollWidth:n.body.scrollWidth,Ext.dom.Element.getViewportWidth())},getViewportHeight:function(){return Ext.isIE9m?Ext.isStrict?n.documentElement.clientHeight:n.body.clientHeight:self.innerHeight},getViewportWidth:function(){return!Ext.isStrict&&!Ext.isOpera?n.body.clientWidth:Ext.isIE9m?n.documentElement.clientWidth:self.innerWidth},serializeForm:function(n){for(var c=n.elements||(document.forms[n]||Ext.getDom(n)).elements,l=!1,u=encodeURIComponent,f="",y=c.length,t,e,r,h,a,s,v,i,o=0;o<y;o++)if(t=c[o],e=t.name,r=t.type,h=t.options,!t.disabled&&e)if(/select-(one|multiple)/i.test(r))for(v=h.length,s=0;s<v;s++)i=h[s],i.selected&&(a=i.hasAttribute?i.hasAttribute("value"):i.getAttributeNode("value").specified,f+=Ext.String.format("{0}={1}&",u(e),u(a?i.value:i.text)));else/file|undefined|reset|button/i.test(r)||/radio|checkbox/i.test(r)&&!t.checked||r=="submit"&&l||(f+=u(e)+"="+u(t.value)+"&",l=/submit/i.test(r));return f.substr(0,f.length-1)}})});Ext.define("Ext.dom.AbstractElement_insertion",{override:"Ext.dom.AbstractElement",appendChild:function(n,t){var u=this,i,f,r,e;if(n.nodeType||n.dom||typeof n=="string")return n=Ext.getDom(n),u.dom.appendChild(n),t?n:Ext.get(n);if(n.length){for(i=Ext.fly(document.createDocumentFragment(),"_internal"),f=n.length,Ext.DomHelper.useDom=!0,r=0;r<f;r++)i.appendChild(n[r],t);return Ext.DomHelper.useDom=e,u.dom.appendChild(i.dom),t?i.dom:i}return u.createChild(n,null,t)},appendTo:function(n){return Ext.getDom(n).appendChild(this.dom),this},insertBefore:function(n){return n=Ext.getDom(n),n.parentNode.insertBefore(this.dom,n),this},insertAfter:function(n){return n=Ext.getDom(n),n.parentNode.insertBefore(this.dom,n.nextSibling),this},insertFirst:function(n,t){return n=n||{},n.nodeType||n.dom||typeof n=="string"?(n=Ext.getDom(n),this.dom.insertBefore(n,this.dom.firstChild),t?n:Ext.get(n)):this.createChild(n,this.dom.firstChild,t)},insertSibling:function(n,t,i){var r=this,f=Ext.core.DomHelper,c=f.useDom,e=(t||"before").toLowerCase()=="after",u,s,h,o;if(Ext.isArray(n)){for(s=Ext.fly(document.createDocumentFragment(),"_internal"),h=n.length,f.useDom=!0,o=0;o<h;o++)u=s.appendChild(n[o],i);return f.useDom=c,r.dom.parentNode.insertBefore(s.dom,e?r.dom.nextSibling:r.dom),u}return n=n||{},n.nodeType||n.dom?(u=r.dom.parentNode.insertBefore(Ext.getDom(n),e?r.dom.nextSibling:r.dom),i||(u=Ext.get(u))):u=e&&!r.dom.nextSibling?f.append(r.dom.parentNode,n,!i):f[e?"insertAfter":"insertBefore"](r.dom,n,!i),u},replace:function(n){return n=Ext.get(n),this.insertBefore(n),n.remove(),this},replaceWith:function(n){var t=this;return n.nodeType||n.dom||typeof n=="string"?(n=Ext.get(n),t.dom.parentNode.insertBefore(n.dom,t.dom)):n=Ext.core.DomHelper.insertBefore(t.dom,n),delete Ext.cache[t.id],Ext.removeNode(t.dom),t.id=Ext.id(t.dom=n),Ext.dom.AbstractElement.addToCache(t.isFlyweight?new Ext.dom.AbstractElement(t.dom):t),t},createChild:function(n,t,i){return n=n||{tag:"div"},t?Ext.core.DomHelper.insertBefore(t,n,i!==!0):Ext.core.DomHelper.append(this.dom,n,i!==!0)},wrap:function(n,t,i){var r=Ext.core.DomHelper.insertBefore(this.dom,n||{tag:"div"},!0),u=r;return i&&(u=Ext.DomQuery.selectNode(i,r.dom)),u.appendChild(this.dom),t?r.dom:r},insertHtml:function(n,t,i){var r=Ext.core.DomHelper.insertHtml(n,this.dom,t);return i?Ext.get(r):r}});Ext.define("Ext.dom.AbstractElement_style",{override:"Ext.dom.AbstractElement"},function(){var n=this,v=/\w/g,c=/\s+/,l=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,f=Ext.supports.ClassList,t="padding",i="margin",r="border",e="-left",o="-right",s="-top",h="-bottom",u="-width",y={l:r+e+u,r:r+o+u,t:r+s+u,b:r+h+u},p={l:t+e,r:t+o,t:t+s,b:t+h},w={l:i+e,r:i+o,t:i+s,b:i+h},a=new n.Fly;Ext.override(n,{styleHooks:{},addStyles:function(n,t){var o=0,r=(n||"").match(v),i,u=r.length,f,e=[];if(u==1)o=Math.abs(parseFloat(this.getStyle(t[r[0]]))||0);else if(u){for(i=0;i<u;i++)f=r[i],e.push(t[f]);for(e=this.getStyle(e),i=0;i<u;i++)f=r[i],o+=Math.abs(parseFloat(e[t[f]])||0)}return o},addCls:function(){var t=function(t){var e=this,r=e.dom,s=e.trimRe,l=t,o,i,f,h,u;if(typeof t=="string"&&(t=t.replace(s,"").split(c)),r&&t&&!!(h=t.length))if(r.className)if(o=r.classList,o){for(f=0;f<h;++f)u=t[f],u&&(o.contains(u)||(i?i.push(u):(i=r.className.replace(s,""),i=i?[i,u]:[u])));i&&(r.className=i.join(" "))}else n(l);else r.className=t.join(" ");return e},n=function(n){var r=this,t=r.dom,i;return t&&n&&n.length&&(i=Ext.Element.mergeClsList(t.className,n),i.changed&&(t.className=i.join(" "))),r};return f?t:n}(),removeCls:function(n){var i=this,t=i.dom,r,f,u;return typeof n=="string"&&(n=n.replace(i.trimRe,"").split(c)),t&&t.className&&n&&!!(f=n.length)&&(r=t.classList,f===1&&r?n[0]&&r.remove(n[0]):(u=Ext.Element.removeCls(t.className,n),u.changed&&(t.className=u.join(" ")))),i},radioCls:function(n){var r=this.dom.parentNode.childNodes,t,i,u;for(n=Ext.isArray(n)?n:[n],i=0,u=r.length;i<u;i++)t=r[i],t&&t.nodeType==1&&a.attach(t).removeCls(n);return this.addCls(n)},toggleCls:function(){var t=function(t){var i=this,u=i.dom,r;return u&&(t=t.replace(i.trimRe,""),t&&(r=u.classList,r?r.toggle(t):n(t))),i},n=function(n){return this.hasCls(n)?this.removeCls(n):this.addCls(n)};return f?t:n}(),hasCls:function(){var t=function(t){var r=this.dom,u=!1,i;return r&&t&&(i=r.classList,u=i?i.contains(t):n(t)),u},n=function(n){var t=this.dom;return t?n&&(" "+t.className+" ").indexOf(" "+n+" ")!==-1:!1};return f?t:n}(),replaceCls:function(n,t){return this.removeCls(n).addCls(t)},isStyle:function(n,t){return this.getStyle(n)==t},getStyle:function(t,i){var h=this,u=h.dom,v=typeof t!="string",y=h.styleHooks,r=t,c=r,p=1,l,w,o,f,s,e,a;if(v&&(o={},r=c[0],a=0,!(p=c.length)))return o;if(!u||u.documentElement)return o||"";l=u.style;i?e=l:(e=u.ownerDocument.defaultView.getComputedStyle(u,null),e||(i=!0,e=l));do{if(f=y[r],f||(y[r]=f={name:n.normalize(r)}),f.get?s=f.get(u,h,i,e):(w=f.name,s=e[w]),!v)return s;o[r]=s;r=c[++a]}while(a<p);return o},getStyles:function(){var n=Ext.Array.slice(arguments),t=n.length,i;return t&&typeof n[t-1]=="boolean"&&(i=n.pop()),this.getStyle(n,i)},isTransparent:function(n){var t=this.getStyle(n);return t?l.test(t):!1},setStyle:function(t,i){var f=this,e=f.dom,o=f.styleHooks,s=e.style,u=t,r;if(typeof u=="string")r=o[u],r||(o[u]=r={name:n.normalize(u)}),i=i==null?"":i,r.set?r.set(e,i,f):s[r.name]=i,r.afterSet&&r.afterSet(e,i,f);else for(u in t)t.hasOwnProperty(u)&&(r=o[u],r||(o[u]=r={name:n.normalize(u)}),i=t[u],i=i==null?"":i,r.set?r.set(e,i,f):s[r.name]=i,r.afterSet&&r.afterSet(e,i,f));return f},getHeight:function(n){var t=this.dom,i=n?t.clientHeight-this.getPadding("tb"):t.offsetHeight;return i>0?i:0},getWidth:function(n){var t=this.dom,i=n?t.clientWidth-this.getPadding("lr"):t.offsetWidth;return i>0?i:0},setWidth:function(t){var i=this;return i.dom.style.width=n.addUnits(t),i},setHeight:function(t){var i=this;return i.dom.style.height=n.addUnits(t),i},getBorderWidth:function(n){return this.addStyles(n,y)},getPadding:function(n){return this.addStyles(n,p)},margins:w,applyStyles:function(t){if(t){var i,r,u=this.dom;if(typeof t=="function"&&(t=t.call()),typeof t=="string")for(t=Ext.util.Format.trim(t).split(/\s*(?::|;)\s*/),i=0,r=t.length;i<r;)u.style[n.normalize(t[i++])]=t[i++];else typeof t=="object"&&this.setStyle(t)}},setSize:function(t,i){var r=this,u=r.dom.style;return Ext.isObject(t)&&(i=t.height,t=t.width),u.width=n.addUnits(t),u.height=n.addUnits(i),r},getViewSize:function(){var i=document,t=this.dom;return t==i||t==i.body?{width:n.getViewportWidth(),height:n.getViewportHeight()}:{width:t.clientWidth,height:t.clientHeight}},getSize:function(n){var t=this.dom;return{width:Math.max(0,n?t.clientWidth-this.getPadding("lr"):t.offsetWidth),height:Math.max(0,n?t.clientHeight-this.getPadding("tb"):t.offsetHeight)}},repaint:function(){var n=this.dom;return this.addCls(Ext.baseCSSPrefix+"repaint"),setTimeout(function(){a.attach(n).removeCls(Ext.baseCSSPrefix+"repaint")},1),this},getMargin:function(n){var t=this,f={t:"top",l:"left",r:"right",b:"bottom"},i,r,u;if(n)return t.addStyles(n,t.margins);u=[];for(i in t.margins)t.margins.hasOwnProperty(i)&&u.push(t.margins[i]);if(r=t.getStyle(u),r&&typeof r=="object")for(i in t.margins)t.margins.hasOwnProperty(i)&&(r[f[i]]=parseFloat(r[t.margins[i]])||0);return r},mask:function(n,t,i){var r=this,h=r.dom,o=(r.$cache||r.getCache()).data,s=o.mask,e,u,c="",f=Ext.baseCSSPrefix;if(r.addCls(f+"masked"),r.getStyle("position")=="static"&&r.addCls(f+"masked-relative"),s&&s.remove(),c=t&&typeof t=="string"?" "+t:" "+f+"mask-gray",e=r.createChild({cls:f+"mask"+(i!==!1?"":" "+f+"mask-gray"),html:n?'<div class="'+(t||f+"mask-message")+'">'+n+"<\/div>":""}),u=r.getSize(),o.mask=e,h===document.body){u.height=window.innerHeight;r.orientationHandler&&Ext.EventManager.unOrientationChange(r.orientationHandler,r);r.orientationHandler=function(){u=r.getSize();u.height=window.innerHeight;e.setSize(u)};Ext.EventManager.onOrientationChange(r.orientationHandler,r)}e.setSize(u);Ext.is.iPad&&Ext.repaint()},unmask:function(){var n=this,t=(n.$cache||n.getCache()).data,i=t.mask,r=Ext.baseCSSPrefix;i&&(i.remove(),delete t.mask);n.removeCls([r+"masked",r+"masked-relative"]);n.dom===document.body&&(Ext.EventManager.unOrientationChange(n.orientationHandler,n),delete n.orientationHandler)}});Ext.onReady(function(){function o(n,t,i,r){var u=r[this.name]||"";return l.test(u)?"transparent":u}function s(n,t,i,r){var f=r.marginRight,u,e;return f!="0px"&&(u=n.style,e=u.display,u.display="inline-block",f=(i?r:n.ownerDocument.defaultView.getComputedStyle(n,null)).marginRight,u.display=e),f}function h(t,i,r,u){var e=u.marginRight,f,o,s;return e!="0px"&&(f=t.style,o=n.getRightMarginFixCleaner(t),s=f.display,f.display="inline-block",e=(r?u:t.ownerDocument.defaultView.getComputedStyle(t,"")).marginRight,f.display=s,o()),e}var t=Ext.supports,i,r,u,f,e;if(i=n.prototype.styleHooks,t.init&&t.init(),t.RightMargin||(i.marginRight=i["margin-right"]={name:"marginRight",get:t.DisplayChangeInputSelectionBug||t.DisplayChangeTextAreaSelectionBug?h:s}),!t.TransparentColor)for(r=["background-color","border-color","color","outline-color"],u=r.length;u--;)f=r[u],e=n.normalize(f),i[f]=i[e]={name:e,get:o}})});Ext.define("Ext.dom.AbstractElement_traversal",{override:"Ext.dom.AbstractElement",findParent:function(n,t,i){var r=this.dom,e=document.documentElement,u=0,f;for(t=t||50,isNaN(t)&&(f=Ext.getDom(t),t=Number.MAX_VALUE);r&&r.nodeType==1&&u<t&&r!=e&&r!=f;){if(Ext.DomQuery.is(r,n))return i?Ext.get(r):r;u++;r=r.parentNode}return null},findParentNode:function(n,t,i){var r=Ext.fly(this.dom.parentNode,"_internal");return r?r.findParent(n,t,i):null},up:function(n,t,i){return this.findParentNode(n,t,!i)},select:function(n,t){return Ext.dom.Element.select(n,this.dom,t)},query:function(n){return Ext.DomQuery.select(n,this.dom)},down:function(n,t){var i=Ext.DomQuery.selectNode(n,this.dom);return t?i:Ext.get(i)},child:function(n,t){var r,u=this,i;return i=Ext.id(u.dom),i=Ext.escapeId(i),r=Ext.DomQuery.selectNode("#"+i+" > "+n,u.dom),t?r:Ext.get(r)},parent:function(n,t){return this.matchNode("parentNode","parentNode",n,t)},next:function(n,t){return this.matchNode("nextSibling","nextSibling",n,t)},prev:function(n,t){return this.matchNode("previousSibling","previousSibling",n,t)},first:function(n,t){return this.matchNode("nextSibling","firstChild",n,t)},last:function(n,t){return this.matchNode("previousSibling","lastChild",n,t)},matchNode:function(n,t,i,r){if(!this.dom)return null;for(var u=this.dom[t];u;){if(u.nodeType==1&&(!i||Ext.DomQuery.is(u,i)))return r?u:Ext.get(u);u=u[n]}return null},isAncestor:function(n){return this.self.isAncestor.call(this.self,this.dom,n)}});Ext.cmd.derive("Ext.dom.AbstractElement",Ext.Base,{trimRe:/^\s+|\s+$/g,whitespaceRe:/\s/,inheritableStatics:{trimRe:/^\s+|\s+$/g,whitespaceRe:/\s/,get:function(n){var i=this,r=window.document,u=Ext.dom.Element,t,f,o,e;return n?(n.isFly&&(n=n.dom),typeof n=="string")?n==Ext.windowId?u.get(window):n==Ext.documentId?u.get(r):(t=Ext.cache[n],t&&t.skipGarbageCollection)?t.el:(o=r.getElementById(n))?t&&t.el?Ext.updateCacheEntry(t,o).el:new u(o,!!t):null:n.tagName?((e=n.id)||(e=Ext.id(n)),t=Ext.cache[e],t&&t.el?Ext.updateCacheEntry(t,n).el:new u(n,!!t)):n instanceof i?(n!=i.docEl&&n!=i.winEl&&(e=n.id,t=Ext.cache[e],t&&Ext.updateCacheEntry(t,r.getElementById(e)||n.dom)),n):n.isComposite?n:Ext.isArray(n)?i.select(n):n===r?(i.docEl||(f=i.docEl=Ext.Object.chain(u.prototype),f.dom=r,f.el=f,f.id=Ext.id(r),i.addToCache(f)),i.docEl):n===window?(i.winEl||(i.winEl=Ext.Object.chain(u.prototype),i.winEl.dom=window,i.winEl.id=Ext.id(window),i.addToCache(i.winEl)),i.winEl):null:null},addToCache:function(n,t){return n&&Ext.addCacheEntry(t,n),n},addMethods:function(){this.override.apply(this,arguments)},mergeClsList:function(){for(var n,u={},r,o,i,f=[],s=!1,h=this.trimRe,c=this.whitespaceRe,t=0,e=arguments.length;t<e;t++)if(n=arguments[t],Ext.isString(n)&&(n=n.replace(h,"").split(c)),n)for(r=0,o=n.length;r<o;r++)i=n[r],u[i]||(t&&(s=!0),u[i]=!0);for(i in u)f.push(i);return f.changed=s,f},removeCls:function(n,t){var u={},i,f,r,e=[],o=!1,s=this.whitespaceRe;if(n)for(Ext.isString(n)&&(n=n.replace(this.trimRe,"").split(s)),i=0,f=n.length;i<f;i++)u[n[i]]=!0;if(t)for(Ext.isString(t)&&(t=t.split(s)),i=0,f=t.length;i<f;i++)r=t[i],u[r]&&(o=!0,delete u[r]);for(r in u)e.push(r);return e.changed=o,e},VISIBILITY:1,DISPLAY:2,OFFSETS:3,ASCLASS:4},constructor:function(n,t){var i=this,u=typeof n=="string"?document.getElementById(n):n,r;if(i.el=i,!u)return null;if(r=u.id,!t&&r&&Ext.cache[r])return Ext.cache[r].el;i.dom=u;i.id=r||Ext.id(u);i.self.addToCache(i)},set:function(n,t){var u=this.dom,i,r;for(i in n)n.hasOwnProperty(i)&&(r=n[i],i=="style"?this.applyStyles(r):i=="cls"?u.className=r:t!==!1?r===undefined?u.removeAttribute(i):u.setAttribute(i,r):u[i]=r);return this},defaultUnit:"px",is:function(n){return Ext.DomQuery.is(this.dom,n)},getValue:function(n){var t=this.dom.value;return n?parseInt(t,10):t},remove:function(){var n=this,t=n.dom;n.isAnimate&&n.stopAnimation();t&&(Ext.removeNode(t),delete n.dom)},contains:function(n){if(!n)return!1;var t=this,i=n.dom||n;return i===t.dom||Ext.dom.AbstractElement.isAncestor(t.dom,i)},getAttribute:function(n,t){var i=this.dom;return i.getAttributeNS(t,n)||i.getAttribute(t+":"+n)||i.getAttribute(n)||i[n]},update:function(n){return this.dom&&(this.dom.innerHTML=n),this},setHTML:function(n){return this.dom&&(this.dom.innerHTML=n),this},getHTML:function(){return this.dom?this.dom.innerHTML:""},hide:function(){return this.setVisible(!1),this},show:function(){return this.setVisible(!0),this},setVisible:function(n){var t=this,r=t.self,u=t.getVisibilityMode(),i=Ext.baseCSSPrefix;switch(u){case r.VISIBILITY:t.removeCls([i+"hidden-display",i+"hidden-offsets"]);t[n?"removeCls":"addCls"](i+"hidden-visibility");break;case r.DISPLAY:t.removeCls([i+"hidden-visibility",i+"hidden-offsets"]);t[n?"removeCls":"addCls"](i+"hidden-display");break;case r.OFFSETS:t.removeCls([i+"hidden-visibility",i+"hidden-display"]);t[n?"removeCls":"addCls"](i+"hidden-offsets")}return t},getVisibilityMode:function(){var t=(this.$cache||this.getCache()).data,n=t.visibilityMode;return n===undefined&&(t.visibilityMode=n=this.self.DISPLAY),n},setVisibilityMode:function(n){return(this.$cache||this.getCache()).data.visibilityMode=n,this},getCache:function(){var n=this,t=n.dom.id||Ext.id(n.dom);return n.$cache=Ext.cache[t]||Ext.addCacheEntry(t,null,n.dom),n.$cache}},1,0,0,0,0,0,[Ext.dom,"AbstractElement"],function(){var n=this;Ext.getDetachedBody=function(){var t=n.detachedBodyEl;return t||(t=document.createElement("div"),n.detachedBodyEl=t=new n.Fly(t),t.isDetachedBody=!0),t};Ext.getElementById=function(t){var i=document.getElementById(t),r;return!i&&(r=n.detachedBodyEl)&&(i=r.dom.querySelector("#"+Ext.escapeId(t))),i};Ext.get=function(n){return Ext.dom.Element.get(n)};this.addStatics({Fly:new Ext.Class({extend:n,isFly:!0,constructor:function(n){this.dom=n;this.el=this},attach:function(n){return this.dom=n,this.$cache=n.id?Ext.cache[n.id]:null,this}}),_flyweights:{},fly:function(t,i){var r=null,u=n._flyweights;return i=i||"_global",t=Ext.getDom(t),t&&(r=u[i]||(u[i]=new n.Fly),r.dom=t,r.$cache=t.id?Ext.cache[t.id]:null),r}});Ext.fly=function(){return n.fly.apply(n,arguments)},function(n){n.destroy=n.remove;n.getById=document.querySelector?function(n,t){var i=document.getElementById(n)||this.dom.querySelector("#"+Ext.escapeId(n));return t?i:i?Ext.get(i):null}:function(n,t){var i=document.getElementById(n);return t?i:i?Ext.get(i):null}}(this.prototype)});Ext.cmd.derive("Ext.dom.Helper",Ext.dom.AbstractHelper,function(){var t="afterbegin",h="afterend",i="beforebegin",c="beforeend",r="<table>",u="<\/table>",f=r+"<tbody>",e="<\/tbody>"+u,l=f+"<tr>",a="<\/tr>"+e,n=document.createElement("div"),o=["BeforeBegin","previousSibling"],s=["AfterEnd","nextSibling"],v={beforebegin:o,afterend:s},y={beforebegin:o,afterend:s,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};return{tableRe:/^(?:table|thead|tbody|tr|td)$/i,tableElRe:/td|tr|tbody|thead/i,useDom:!1,createDom:function(n,t){var i,e=document,o,r,u,s,f,h;if(Ext.isArray(n))for(i=e.createDocumentFragment(),f=0,h=n.length;f<h;f++)this.createDom(n[f],i);else if(typeof n=="string")i=e.createTextNode(n);else{i=e.createElement(n.tag||"div");o=!!i.setAttribute;for(r in n)this.confRe.test(r)||(u=n[r],r=="cls"?i.className=u:o?i.setAttribute(r,u):i[r]=u);Ext.DomHelper.applyStyles(i,n.style);(s=n.children||n.cn)?this.createDom(s,i):n.html&&(i.innerHTML=n.html)}return t&&t.appendChild(i),i},ieTable:function(t,i,r,u){n.innerHTML=[i,r,u].join("");for(var o=-1,f=n,e;++o<t;)f=f.firstChild;if(e=f.nextSibling,e)for(e=f,f=document.createDocumentFragment();e;)nx=e.nextSibling,f.appendChild(e),e=nx;return f},insertIntoTable:function(n,o,s,v){var b,d,y=o==i,p=o==t,k=o==c,w=o==h;return n=="td"&&(p||k)||!this.tableElRe.test(n)&&(y||w)?null:(d=y?s:w?s.nextSibling:p?s.firstChild:null,(y||w)&&(s=s.parentNode),b=n=="td"||n=="tr"&&(k||p)?this.ieTable(4,l,v,a):(n=="tbody"||n=="thead")&&(k||p)||n=="tr"&&(y||w)?this.ieTable(3,f,v,e):this.ieTable(2,r,v,u),s.insertBefore(b,d),b)},createContextualFragment:function(t){var r=document.createDocumentFragment(),u,i;for(n.innerHTML=t,i=n.childNodes,u=i.length;u--;)r.appendChild(i[0]);return r},applyStyles:function(n,t){t&&(typeof t=="function"&&(t=t.call()),typeof t=="string"&&(t=Ext.dom.Element.parseStyles(t)),typeof t=="object"&&Ext.fly(n,"_applyStyles").setStyle(t))},createHtml:function(n){return this.markup(n)},doInsert:function(n,t,i,r,u,f){n=n.dom||Ext.getDom(n);var e;return this.useDom?(e=this.createDom(t,null),f?n.appendChild(e):(u=="firstChild"?n:n.parentNode).insertBefore(e,n[u]||n)):e=this.insertHtml(r,n,this.markup(t)),i?Ext.get(e,!0):e},overwrite:function(n,t,i){var r;if(n=Ext.getDom(n),t=this.markup(t),Ext.isIE&&this.tableRe.test(n.tagName)){while(n.firstChild)n.removeChild(n.firstChild);return t?(r=this.insertHtml("afterbegin",n,t),i?Ext.get(r):r):null}return n.innerHTML=t,i?Ext.get(n.firstChild):n.firstChild},insertHtml:function(n,r,u){var o,e,s,h,f;if(n=n.toLowerCase(),r.insertAdjacentHTML){if(Ext.isIE&&this.tableRe.test(r.tagName)&&(f=this.insertIntoTable(r.tagName.toLowerCase(),n,r,u)))return f;if(o=y[n])return Ext.global.MSApp&&Ext.global.MSApp.execUnsafeLocalFunction?MSApp.execUnsafeLocalFunction(function(){r.insertAdjacentHTML(o[0],u)}):r.insertAdjacentHTML(o[0],u),r[o[1]]}else return r.nodeType===3&&(n=n==="afterbegin"?"beforebegin":n,n=n==="beforeend"?"afterend":n),e=Ext.supports.CreateContextualFragment?r.ownerDocument.createRange():undefined,h="setStart"+(this.endRe.test(n)?"After":"Before"),v[n]?(e?(e[h](r),f=e.createContextualFragment(u)):f=this.createContextualFragment(u),r.parentNode.insertBefore(f,n==i?r:r.nextSibling),r[(n==i?"previous":"next")+"Sibling"]):(s=(n==t?"first":"last")+"Child",r.firstChild?(e?(e[h](r[s]),f=e.createContextualFragment(u)):f=this.createContextualFragment(u),n==t?r.insertBefore(f,r.firstChild):r.appendChild(f)):r.innerHTML=u,r[s])},createTemplate:function(n){var t=this.markup(n);return new Ext.Template(t)}}}(),0,0,0,0,0,0,[Ext.dom,"Helper"],function(){Ext.ns("Ext.core");Ext.DomHelper=Ext.core.DomHelper=new this});Ext.cmd.derive("Ext.Template",Ext.Base,{inheritableStatics:{from:function(n,t){return n=Ext.getDom(n),new this(n.value||n.innerHTML,t||"")}},constructor:function(n){var t=this,r=arguments,f=[],e=0,u=r.length,i;if(t.initialConfig={},u===1&&Ext.isArray(n)&&(r=n,u=r.length),u>1)for(;e<u;e++)i=r[e],typeof i=="object"?(Ext.apply(t.initialConfig,i),Ext.apply(t,i)):f.push(i);else f.push(n);t.html=f.join("");t.compiled&&t.compile()},isTemplate:!0,disableFormats:!1,re:/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,apply:function(n){function f(t,f,e,o){return e&&u?(o=o?[n[f]].concat(Ext.functionFactory("return ["+o+"];")()):[n[f]],e.substr(0,5)=="this."?r[e.substr(5)].apply(r,o):i[e].apply(i,o)):n[f]!==undefined?n[f]:""}var t=this,u=t.disableFormats!==!0,i=Ext.util.Format,r=t;return t.compiled?t.compiled(n).join(""):t.html.replace(t.re,f)},applyOut:function(n,t){var i=this;return i.compiled?t.push.apply(t,i.compiled(n)):t.push(i.apply(n)),t},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(n,t){var i=this;return i.html=n,i.compiled=null,t?i.compile():i},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){function fn(n,t,i,r){return i&&useFormat?(r=r?","+r:"",i=i.substr(0,5)!="this."?"fm."+i+"(":"this."+i.substr(5)+"("):(r="",i="(values['"+t+"'] == undefined ? '' : "),"',"+i+"values['"+t+"']"+r+") ,'"}var me=this,fm=Ext.util.Format,useFormat=me.disableFormats!==!0,body,bodyReturn;return bodyReturn=me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn),body="this.compiled = function(values){ return ['"+bodyReturn+"'];};",eval(body),me},insertFirst:function(n,t,i){return this.doInsert("afterBegin",n,t,i)},insertBefore:function(n,t,i){return this.doInsert("beforeBegin",n,t,i)},insertAfter:function(n,t,i){return this.doInsert("afterEnd",n,t,i)},append:function(n,t,i){return this.doInsert("beforeEnd",n,t,i)},doInsert:function(n,t,i,r){var u=Ext.DomHelper.insertHtml(n,Ext.getDom(t),this.apply(i));return r?Ext.get(u):u},overwrite:function(n,t,i){var r=Ext.DomHelper.overwrite(Ext.getDom(n),this.apply(t));return i?Ext.get(r):r}},1,0,0,0,0,0,[Ext,"Template"],0);Ext.cmd.derive("Ext.XTemplateParser",Ext.Base,{constructor:function(n){Ext.apply(this,n)},doTpl:Ext.emptyFn,parse:function(n){var i=this,p=n.length,w={elseif:"elif"},y=i.topRe,b=i.actionsRe,o,u,s,r,f,a,l,v,h,e,t,c;for(i.level=0,i.stack=u=[],o=0;o<p;o=e){if(y.lastIndex=o,r=y.exec(n),!r){i.doText(n.substring(o,p));break}if(h=r.index,e=y.lastIndex,o<h&&i.doText(n.substring(o,h)),r[1])e=n.indexOf("%}",h+2),i.doEval(n.substring(h+2,e)),e+=2;else if(r[2])e=n.indexOf("]}",h+2),i.doExpr(n.substring(h+2,e)),e+=2;else if(r[3])i.doTag(r[3]);else if(r[4]){for(t=null;(v=b.exec(r[4]))!==null;)s=v[2]||v[3],s&&(s=Ext.String.htmlDecode(s),f=v[1],f=w[f]||f,t=t||{},a=t[f],typeof a=="string"?t[f]=[a,s]:a?t[f].push(s):t[f]=s);t?t["if"]?(i.doIf(t["if"],t),u.push({type:"if"})):t["switch"]?(i.doSwitch(t["switch"],t),u.push({type:"switch"})):t["case"]?i.doCase(t["case"],t):t.elif?i.doElseIf(t.elif,t):t["for"]?(++i.level,(c=i.propRe.exec(r[4]))&&(t.propName=c[1]||c[2]),i.doFor(t["for"],t),u.push({type:"for",actions:t})):t.foreach?(++i.level,(c=i.propRe.exec(r[4]))&&(t.propName=c[1]||c[2]),i.doForEach(t.foreach,t),u.push({type:"foreach",actions:t})):t.exec&&(i.doExec(t.exec,t),u.push({type:"exec",actions:t})):i.elseRe.test(r[4])?i.doElse():i.defaultRe.test(r[4])?i.doDefault():(i.doTpl(),u.push({type:"tpl"}))}else r[0].length===5?u.push({type:"tpl"}):(l=u.pop(),i.doEnd(l.type,l.actions),(l.type=="for"||l.type=="foreach")&&--i.level)}},topRe:/(?:(\{\%)|(\{\[)|\{([^{}]+)\})|(?:<tpl([^>]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|foreach|exec|switch|case|eval|between)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/},1,0,0,0,0,0,[Ext,"XTemplateParser"],0);Ext.cmd.derive("Ext.XTemplateCompiler",Ext.XTemplateParser,{useEval:Ext.isGecko,useIndex:Ext.isIE8m,useFormat:!0,propNameRe:/^[\w\d\$]*$/,compile:function(n){var t=this,i=t.generate(n);return t.useEval?t.evalTpl(i):new Function("Ext",i)(Ext)},generate:function(n){var t=this,i="var fm=Ext.util.Format,ts=Object.prototype.toString;",r;return t.maxLevel=0,t.body=["var c0=values, a0="+t.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, k0, v;\n"],t.definitions?typeof t.definitions=="string"?t.definitions=[t.definitions,i]:t.definitions.push(i):t.definitions=[i],t.switches=[],t.parse(n),t.definitions.push((t.useEval?"$=":"return")+" function ("+t.fnArgs+") {",t.body.join(""),"}"),r=t.definitions.join("\n"),t.definitions.length=t.body.length=t.switches.length=0,delete t.definitions,delete t.body,delete t.switches,r},doText:function(n){var t=this,i=t.body;n=n.replace(t.aposRe,"\\'").replace(t.newLineRe,"\\n");t.useIndex?i.push("out[out.length]='",n,"'\n"):i.push("out.push('",n,"')\n")},doExpr:function(n){var t=this.body;t.push("if ((v="+n+") != null) out");this.useIndex?t.push("[out.length]=v+''\n"):t.push(".push(v+'')\n")},doTag:function(n){var t=this.parseTag(n);t?this.doExpr(t):this.doText("{"+n+"}")},doElse:function(){this.body.push("} else {\n")},doEval:function(n){this.body.push(n,"\n")},doIf:function(n,t){var i=this;n==="."?i.body.push("if (values) {\n"):i.propNameRe.test(n)?i.body.push("if (",i.parseTag(n),") {\n"):i.body.push("if (",i.addFn(n),i.callFn,") {\n");t.exec&&i.doExec(t.exec)},doElseIf:function(n,t){var i=this;n==="."?i.body.push("else if (values) {\n"):i.propNameRe.test(n)?i.body.push("} else if (",i.parseTag(n),") {\n"):i.body.push("} else if (",i.addFn(n),i.callFn,") {\n");t.exec&&i.doExec(t.exec)},doSwitch:function(n){var t=this;n==="."?t.body.push("switch (values) {\n"):t.propNameRe.test(n)?t.body.push("switch (",t.parseTag(n),") {\n"):t.body.push("switch (",t.addFn(n),t.callFn,") {\n");t.switches.push(0)},doCase:function(n){var t=this,r=Ext.isArray(n)?n:[n],u=t.switches.length-1,f,i;for(t.switches[u]?t.body.push("break;\n"):t.switches[u]++,i=0,u=r.length;i<u;++i)f=t.intRe.exec(r[i]),r[i]=f?f[1]:"'"+r[i].replace(t.aposRe,"\\'")+"'";t.body.push("case ",r.join(": case "),":\n")},doDefault:function(){var n=this,t=n.switches.length-1;n.switches[t]?n.body.push("break;\n"):n.switches[t]++;n.body.push("default:\n")},doEnd:function(n,t){var i=this,r=i.level-1;n=="for"||n=="foreach"?(t.exec&&i.doExec(t.exec),i.body.push("}\n"),i.body.push("parent=p",r,";values=r",r+1,";xcount=n"+r+";xindex=i",r,"+1;xkey=k",r,";\n")):(n=="if"||n=="switch")&&i.body.push("}\n")},doFor:function(n,t){var r=this,f,i=r.level,u=i-1,e;f=n==="."?"values":r.propNameRe.test(n)?r.parseTag(n):r.addFn(n)+r.callFn;r.maxLevel<i&&(r.maxLevel=i,r.body.push("var "));e=n=="."?"c"+i:"a"+u+"?c"+u+"[i"+u+"]:c"+u;r.body.push("i",i,"=0,n",i,"=0,c",i,"=",f,",a",i,"=",r.createArrayTest(i),",r",i,"=values,p",i,",k",i,";\n","p",i,"=parent=",e,"\n","if (c",i,"){if(a",i,"){n",i,"=c",i,".length;}else if (c",i,".isMixedCollection){c",i,"=c",i,".items;n",i,"=c",i,".length;}else if(c",i,".isStore){c",i,"=c",i,".data.items;n",i,"=c",i,".length;}else{c",i,"=[c",i,"];n",i,"=1;}}\n","for (xcount=n",i,";i",i,"<n"+i+";++i",i,"){\n","values=c",i,"[i",i,"]");t.propName&&r.body.push(".",t.propName);r.body.push("\n","xindex=i",i,"+1\n");t.between&&r.body.push('if(xindex>1){ out.push("',t.between,'"); } \n')},doForEach:function(n,t){var r=this,f,i=r.level,u=i-1,e;f=n==="."?"values":r.propNameRe.test(n)?r.parseTag(n):r.addFn(n)+r.callFn;r.maxLevel<i&&(r.maxLevel=i,r.body.push("var "));e=n=="."?"c"+i:"a"+u+"?c"+u+"[i"+u+"]:c"+u;r.body.push("i",i,"=-1,n",i,"=0,c",i,"=",f,",a",i,"=",r.createArrayTest(i),",r",i,"=values,p",i,",k",i,";\n","p",i,"=parent=",e,"\n","for(k",i," in c",i,"){\n","xindex=++i",i,"+1;\n","xkey=k",i,";\n","values=c",i,"[k",i,"];");t.propName&&r.body.push(".",t.propName);t.between&&r.body.push('if(xindex>1){ out.push("',t.between,'"); } \n')},createArrayTest:"isArray"in Array?function(n){return"Array.isArray(c"+n+")"}:function(n){return"ts.call(c"+n+')==="[object Array]"'},doExec:function(n){var t=this,i="f"+t.definitions.length;t.definitions.push("function "+i+"("+t.fnArgs+") {"," try { with(values) {","  "+n," }} catch(e) {","}","}");t.body.push(i+t.callFn+"\n")},addFn:function(n){var t=this,i="f"+t.definitions.length;return n==="."?t.definitions.push("function "+i+"("+t.fnArgs+") {"," return values","}"):n===".."?t.definitions.push("function "+i+"("+t.fnArgs+") {"," return parent","}"):t.definitions.push("function "+i+"("+t.fnArgs+") {"," try { with(values) {","  return("+n+")"," }} catch(e) {","}","}"),i},parseTag:function(n){var u=this,f=u.tagRe.exec(n),t,i,e,o,r;if(!f)return null;if(t=f[1],i=f[2],e=f[3],o=f[4],t=="."?(u.validTypes||(u.definitions.push("var validTypes={string:1,number:1,boolean:1};"),u.validTypes=!0),r='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'):r=t=="#"?"xindex":t=="$"?"xkey":t.substr(0,7)=="parent."?t:isNaN(t)&&t.indexOf("-")==-1&&t.indexOf(".")!=-1?"values."+t:"values['"+t+"']",o&&(r="("+r+o+")"),i&&u.useFormat)e=e?","+e:"",i.substr(0,5)!="this."?i="fm."+i+"(":i+="(";else return r;return i+r+e+")"},evalTpl:function($){return eval($),$},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/^([\w-\.\#\$]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?$/},0,0,0,0,0,0,[Ext,"XTemplateCompiler"],function(){var n=this.prototype;n.fnArgs="out,values,parent,xindex,xcount,xkey";n.callFn=".call(this,"+n.fnArgs+")"});Ext.cmd.derive("Ext.XTemplate",Ext.Template,{emptyObj:{},apply:function(n,t){return this.applyOut(n,[],t).join("")},applyOut:function(n,t,i){var r=this,u;r.fn||(u=new Ext.XTemplateCompiler({useFormat:r.disableFormats!==!0,definitions:r.definitions}),r.fn=u.compile(r.html));try{r.fn(t,n,i||r.emptyObj,1,1)}catch(f){}return t},compile:function(){return this},statics:{getTpl:function(n,t){var r=n[t],i;if(r&&!r.isTemplate){if(r=Ext.ClassManager.dynInstantiate("Ext.XTemplate",r),n.hasOwnProperty(t))i=n;else for(i=n.self.prototype;i&&!i.hasOwnProperty(t);i=i.superclass);i[t]=r;r.owner=i}return r||null}}},0,0,0,0,0,0,[Ext,"XTemplate"],0);Ext.ns("Ext.core");Ext.dom.Query=Ext.core.DomQuery=Ext.DomQuery=function(){function children(n){for(var t=n.firstChild,r=-1,i;t;)i=t.nextSibling,t.nodeType!=3||nonSpace.test(t.nodeValue)?t.nodeIndex=++r:n.removeChild(t),t=i;return this}function attrValue(n,t){return(n.tagName||typeof n.length=="undefined"||(n=n[0]),!n)?null:t=="for"?n.htmlFor:t=="class"||t=="className"?n.className:n.getAttribute(t)||n[t]}function getNodes(n,t,i){var e=[],h=-1,l,r,o,f,c,v,s,u,a;if(!n)return e;if(i=i.replace("|",":")||"*",typeof n.getElementsByTagName!="undefined"&&(n=[n]),t){if(t=="/"||t==">")for(s=i.toUpperCase(),r=0;o=n[r];r++)for(v=o.childNodes,f=0;a=v[f];f++)(a.nodeName==s||a.nodeName==i||i=="*")&&(e[++h]=a);else if(t=="+")for(s=i.toUpperCase(),r=0;u=n[r];r++){while((u=u.nextSibling)&&u.nodeType!=1);u&&(u.nodeName==s||u.nodeName==i||i=="*")&&(e[++h]=u)}else if(t=="~")for(s=i.toUpperCase(),r=0;u=n[r];r++)while(u=u.nextSibling)(u.nodeName==s||u.nodeName==i||i=="*")&&(e[++h]=u)}else if(i=unescapeCssSelector(i),!supportsColonNsSeparator&&DQ.isXml(n[0])&&i.indexOf(":")!==-1)for(r=0;o=n[r];r++)for(l=o.getElementsByTagName(i.split(":").pop()),f=0;c=l[f];f++)c.tagName===i&&(e[++h]=c);else for(r=0;o=n[r];r++)for(l=o.getElementsByTagName(i),f=0;c=l[f];f++)e[++h]=c;return e}function concat(n,t){return n.push.apply(n,t),n}function byTag(n,t){if((n.tagName||n===doc)&&(n=[n]),!t)return n;var u=[],f=-1,r,i;for(t=t.toLowerCase(),r=0;i=n[r];r++)i.nodeType==1&&i.tagName.toLowerCase()==t&&(u[++f]=i);return u}function byId(n,t){if(t=unescapeCssSelector(t),(n.tagName||n===doc)&&(n=[n]),!t)return n;for(var r=[],f=-1,i,u=0;i=n[u];u++)if(i&&i.id==t)return r[++f]=i,r;return r}function byAttribute(n,t,i,r,u){var h=[],a=-1,v=u=="{",e=DQ.operators[r],o,c,l,s,f;for(i=unescapeCssSelector(i),s=0;f=n[s];s++)f.nodeType===1&&(l||(c=DQ.isXml(f),l=!0),o=c?f.getAttribute(t):v?DQ.getStyle(f,t):t=="class"||t=="className"?f.className:t=="for"?f.htmlFor:t=="href"?f.getAttribute("href",2):f.getAttribute(t),(e&&e(o,i)||!e&&o)&&(h[++a]=f));return h}function byPseudo(n,t,i){return i=unescapeCssSelector(i),DQ.pseudos[t](n,i)}function nodupIEXml(n){var f=++key,i,t,r,u;for(n[0].setAttribute("_nodup",f),i=[n[0]],t=1,r=n.length;t<r;t++)u=n[t],!u.getAttribute("_nodup")!=f&&(u.setAttribute("_nodup",f),i[i.length]=u);for(t=0,r=n.length;t<r;t++)n[t].removeAttribute("_nodup");return i}function nodup(n){if(!n)return[];var o=n.length,e,r,u=n,f,s=-1,i,t;if(!o||typeof n.nodeType!="undefined"||o==1)return n;if(isIE&&typeof n[0].selectSingleNode!="undefined")return nodupIEXml(n);for(i=++key,n[0]._nodup=i,r=1;e=n[r];r++)if(e._nodup!=i)e._nodup=i;else{for(u=[],t=0;t<r;t++)u[++s]=n[t];for(t=r+1;f=n[t];t++)f._nodup!=i&&(f._nodup=i,u[++s]=f);return u}return u}function quickDiffIEXml(n,t){for(var f=++key,u=[],i=0,r=n.length;i<r;i++)n[i].setAttribute("_qdiff",f);for(i=0,r=t.length;i<r;i++)t[i].getAttribute("_qdiff")!=f&&(u[u.length]=t[i]);for(i=0,r=n.length;i<r;i++)n[i].removeAttribute("_qdiff");return u}function quickDiff(n,t){var u=n.length,f=++key,r=[],i,e;if(!u)return t;if(isIE&&typeof n[0].selectSingleNode!="undefined")return quickDiffIEXml(n,t);for(i=0;i<u;i++)n[i]._qdiff=f;for(i=0,e=t.length;i<e;i++)t[i]._qdiff!=f&&(r[r.length]=t[i]);return r}function quickId(n,t,i,r){if(n==i){r=unescapeCssSelector(r);var u=i.ownerDocument||i;return u.getElementById(r)}return n=getNodes(n,t,"*"),byId(n,r)}var DQ,doc=document,cache={},simpleCache={},valueCache={},useClassList=!!doc.documentElement.classList,useElementPointer=!!doc.documentElement.firstElementChild,useChildrenCollection=function(){var n=doc.createElement("div");return n.innerHTML="<!-- -->text<!-- -->",n.children&&n.children.length===0}(),nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w\-\*\|\\]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*#/,isIE=window.ActiveXObject?!0:!1,key=30803,longHex=/\\([0-9a-fA-F]{6})/g,shortHex=/\\([0-9a-fA-F]{1,6})\s{0,1}/g,nonHex=/\\([^0-9a-fA-F]{1})/g,escapes=/\\/g,num,hasEscapes,supportsColonNsSeparator=function(){var n,t='<r><a:b xmlns:a="n"><\/a:b><\/r>';return window.DOMParser?n=(new DOMParser).parseFromString(t,"application/xml"):(n=new ActiveXObject("Microsoft.XMLDOM"),n.loadXML(t)),!!n.getElementsByTagName("a:b").length}(),longHexToChar=function(n,t){return String.fromCharCode(parseInt(t,16))},shortToLongHex=function(n,t){while(t.length<6)t="0"+t;return"\\"+t},charToLongHex=function(n,t){return num=t.charCodeAt(0).toString(16),num.length===1&&(num="0"+num),"\\0000"+num},unescapeCssSelector=function(n){return hasEscapes?n.replace(longHex,longHexToChar):n},setupEscapes=function(n){return hasEscapes=n.indexOf("\\")>-1,hasEscapes&&(n=n.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")),n};return eval("var batch = 30803, child, next, prev, byClassName;"),child=useChildrenCollection?function(n,t){return n.children[t]}:function(n,t){for(var r=0,i=n.firstChild;i;){if(i.nodeType==1&&++r==t)return i;i=i.nextSibling}return null},next=useElementPointer?function(n){return n.nextElementSibling}:function(n){while((n=n.nextSibling)&&n.nodeType!=1);return n},prev=useElementPointer?function(n){return n.previousElementSibling}:function(n){while((n=n.previousSibling)&&n.nodeType!=1);return n},byClassName=useClassList?function(n,t){if(t=unescapeCssSelector(t),!t)return n;for(var r=[],e=-1,i,f,u=0;i=n[u];u++)f=i.classList,f?f.contains(t)&&(r[++e]=i):(" "+i.className+" ").indexOf(t)!==-1&&(r[++e]=i);return r}:function(n,t){if(t=unescapeCssSelector(t),!t)return n;for(var u=[],f=-1,r,i=0;r=n[i];i++)(" "+r.className+" ").indexOf(t)!==-1&&(u[++f]=r);return u},DQ={getStyle:function(n,t){return Ext.fly(n,"_DomQuery").getStyle(t)},compile:function(path,type){type=type||"select";var fn=["var f = function(root) {\n var mode; ++batch; var n = root || document;\n"],lastPath,matchers=DQ.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe),tokenMatch,matched,j,t,m;for(path=setupEscapes(path),lmode&&lmode[1]&&(fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";',path=path.replace(lmode[1],""));path.substr(0,1)=="/";)path=path.substr(1);while(path&&lastPath!=path){for(lastPath=path,tokenMatch=path.match(tagTokenRe),type=="select"?tokenMatch?(fn[fn.length]=tokenMatch[1]=="#"?'n = quickId(n, mode, root, "'+tokenMatch[2]+'");':'n = getNodes(n, mode, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],"")):path.substr(0,1)!="@"&&(fn[fn.length]='n = getNodes(n, mode, "*");'):tokenMatch&&(fn[fn.length]=tokenMatch[1]=="#"?'n = byId(n, "'+tokenMatch[2]+'");':'n = byTag(n, "'+tokenMatch[2]+'");',path=path.replace(tokenMatch[0],""));!(modeMatch=path.match(modeRe));){for(matched=!1,j=0;j<matchersLn;j++)if(t=matchers[j],m=path.match(t.re),m){fn[fn.length]=t.select.replace(tplRe,function(n,t){return m[t]});path=path.replace(m[0],"");matched=!0;break}matched||Ext.Error.raise({sourceClass:"Ext.DomQuery",sourceMethod:"compile",msg:'Error parsing selector. Parsing failed at "'+path+'"'})}modeMatch[1]&&(fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";',path=path.replace(modeMatch[1],""))}return fn[fn.length]="return nodup(n);\n}",eval(fn.join("")),f},jsSelect:function(n,t,i){t=t||doc;typeof t=="string"&&(t=doc.getElementById(t));for(var o=n.split(","),u=[],r,e,f=0,s=o.length;f<s;f++)r=o[f].replace(trimRe,""),cache[r]?setupEscapes(r):(cache[r]=DQ.compile(r,i),cache[r]||Ext.Error.raise({sourceClass:"Ext.DomQuery",sourceMethod:"jsSelect",msg:r+" is not a valid selector"})),e=cache[r](t),e&&e!==doc&&(u=u.concat(e));return o.length>1?nodup(u):u},isXml:function(n){var t=(n?n.ownerDocument||n:0).documentElement;return t?t.nodeName!=="HTML":!1},select:doc.querySelectorAll?function(n,t,i,r){if(t=t||doc,!DQ.isXml(t))try{return t.parentNode&&t.nodeType!==9&&n.indexOf(",")===-1&&!startIdRe.test(n)&&(n="#"+Ext.escapeId(Ext.id(t))+" "+n,t=t.parentNode),r?[t.querySelector(n)]:Ext.Array.toArray(t.querySelectorAll(n))}catch(u){}return DQ.jsSelect.call(this,n,t,i)}:function(n,t,i){return DQ.jsSelect.call(this,n,t,i)},selectNode:function(n,t){return Ext.DomQuery.select(n,t,null,!0)[0]},selectValue:function(n,t,i){n=n.replace(trimRe,"");valueCache[n]?setupEscapes(n):valueCache[n]=DQ.compile(n,"select");var r=valueCache[n](t),u;return r=r[0]?r[0]:r,typeof r.normalize=="function"&&r.normalize(),u=r&&r.firstChild?r.firstChild.nodeValue:null,u===null||u===undefined||u===""?i:u},selectNumber:function(n,t,i){var r=DQ.selectValue(n,t,i||0);return parseFloat(r)},is:function(n,t){typeof n=="string"&&(n=doc.getElementById(n));var i=Ext.isArray(n),r=DQ.filter(i?n:[n],t);return i?r.length==n.length:r.length>0},filter:function(n,t,i){t=t.replace(trimRe,"");simpleCache[t]?setupEscapes(t):simpleCache[t]=DQ.compile(t,"simple");var r=simpleCache[t](n);return i?quickDiff(r,n):r},matchers:[{re:/^\.([\w\-\\]+)/,select:useClassList?'n = byClassName(n, "{1}");':'n = byClassName(n, " {1} ");'},{re:/^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w\-\\]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w\-\.]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(n,t){return n==t},"!=":function(n,t){return n!=t},"^=":function(n,t){return n&&n.substr(0,t.length)==t},"$=":function(n,t){return n&&n.substr(n.length-t.length)==t},"*=":function(n,t){return n&&n.indexOf(t)!==-1},"%=":function(n,t){return n%t==0},"|=":function(n,t){return n&&(n==t||n.substr(0,t.length+1)==t+"-")},"~=":function(n,t){return n&&(" "+n+" ").indexOf(" "+t+" ")!=-1}},pseudos:{"first-child":function(n){for(var r=[],f=-1,t,u,i=0;u=t=n[i];i++){while((t=t.previousSibling)&&t.nodeType!=1);t||(r[++f]=u)}return r},"last-child":function(n){for(var r=[],f=-1,t,u,i=0;u=t=n[i];i++){while((t=t.nextSibling)&&t.nodeType!=1);t||(r[++f]=u)}return r},"nth-child":function(n,t){for(var f=[],s=-1,h=nthRe.exec(t=="even"&&"2n"||t=="odd"&&"2n+1"||!nthRe2.test(t)&&"n+"+t||t),c=(h[1]||1)-0,e=h[2]-0,i,l,r,u,o=0;i=n[o];o++){if(u=i.parentNode,batch!=u._batch){for(l=0,r=u.firstChild;r;r=r.nextSibling)r.nodeType==1&&(r.nodeIndex=++l);u._batch=batch}c==1?(e===0||i.nodeIndex==e)&&(f[++s]=i):(i.nodeIndex+e)%c==0&&(f[++s]=i)}return f},"only-child":function(n){for(var r=[],u=-1,t,i=0;t=n[i];i++)prev(t)||next(t)||(r[++u]=t);return r},empty:function(n){for(var e=[],s=-1,i,o,r,u,f,t=0;i=n[t];t++){for(o=i.childNodes,r=0,f=!0;u=o[r];)if(++r,u.nodeType==1||u.nodeType==3){f=!1;break}f&&(e[++s]=i)}return e},contains:function(n,t){for(var u=[],f=-1,i,r=0;i=n[r];r++)(i.textContent||i.innerText||i.text||"").indexOf(t)!=-1&&(u[++f]=i);return u},nodeValue:function(n,t){for(var u=[],f=-1,i,r=0;i=n[r];r++)i.firstChild&&i.firstChild.nodeValue==t&&(u[++f]=i);return u},checked:function(n){for(var r=[],u=-1,i,t=0;i=n[t];t++)i.checked===!0&&(r[++u]=i);return r},not:function(n,t){return DQ.filter(n,t,!0)},any:function(n,t){for(var o=t.split("|"),f=[],s=-1,e,r,u,i=0;r=n[i];i++)for(u=0;e=o[u];u++)if(DQ.is(r,e)){f[++s]=r;break}return f},odd:function(n){return this["nth-child"](n,"odd")},even:function(n){return this["nth-child"](n,"even")},nth:function(n,t){return n[t-1]||[]},first:function(n){return n[0]||[]},last:function(n){return n[n.length-1]||[]},has:function(n,t){for(var f=DQ.select,u=[],e=-1,r,i=0;r=n[i];i++)f(t,r).length>0&&(u[++e]=r);return u},next:function(n,t){for(var e=DQ.is,f=[],o=-1,r,u,i=0;r=n[i];i++)u=next(r),u&&e(u,t)&&(f[++o]=r);return f},prev:function(n,t){for(var e=DQ.is,f=[],o=-1,r,u,i=0;r=n[i];i++)u=prev(r),u&&e(u,t)&&(f[++o]=r);return f},focusable:function(n){for(var u=n.length,r=[],t=0,i;t<u;t++)i=n[t],Ext.fly(i,"_DomQuery").isFocusable()&&r.push(i);return r},visible:function(n,t){for(var f=n.length,u=[],i=0,r;i<f;i++)r=n[i],Ext.fly(r,"_DomQuery").isVisible(t)&&u.push(r);return u}}}}();Ext.query=Ext.DomQuery.select;Ext.define("Ext.dom.Element_anim",{override:"Ext.dom.Element",animate:function(n){var t=this,i,r,u=t.dom.id||Ext.id(t.dom);if(!Ext.fx.Manager.hasFxBlock(u)){if(n.listeners&&(i=n.listeners,delete n.listeners),n.internalListeners&&(n.listeners=n.internalListeners,delete n.internalListeners),r=new Ext.fx.Anim(t.anim(n)),i)r.on(i);Ext.fx.Manager.queueFx(r)}return t},anim:function(n){if(!Ext.isObject(n))return n?{}:!1;var i=this,r=n.duration||Ext.fx.Anim.prototype.duration,u=n.easing||"ease",t;return n.stopAnimation&&i.stopAnimation(),Ext.applyIf(n,Ext.fx.Manager.getFxDefaults(i.id)),Ext.fx.Manager.setFxDefaults(i.id,{delay:0}),t={target:i.dom,remove:n.remove,alternate:n.alternate||!1,duration:r,easing:u,callback:n.callback,listeners:n.listeners,iterations:n.iterations||1,scope:n.scope,block:n.block,concurrent:n.concurrent,delay:n.delay||0,paused:!0,keyframes:n.keyframes,from:n.from||{},to:Ext.apply({},n)},Ext.apply(t.to,n.to),delete t.to.to,delete t.to.from,delete t.to.remove,delete t.to.alternate,delete t.to.keyframes,delete t.to.iterations,delete t.to.listeners,delete t.to.target,delete t.to.paused,delete t.to.callback,delete t.to.scope,delete t.to.duration,delete t.to.easing,delete t.to.concurrent,delete t.to.block,delete t.to.stopAnimation,delete t.to.delay,t},slideIn:function(n,t,i){var r=this,f=r.dom,o=f.style,s,u,e,h;return n=n||"t",t=t||{},s=function(){var p=this,v=t.listeners,a=Ext.fly(f,"_anim"),s,y,l,c;i||a.fixDisplay();s=a.getBox();(n=="t"||n=="b")&&s.height===0?s.height=f.scrollHeight:(n=="l"||n=="r")&&s.width===0&&(s.width=f.scrollWidth);y=a.getStyles("width","height","left","right","top","bottom","position","z-index",!0);a.setSize(s.width,s.height);t.preserveScroll&&(e=a.cacheScrollValues());c=a.wrap({id:Ext.id()+"-anim-wrap-for-"+a.dom.id,style:{visibility:i?"visible":"hidden"}});h=c.dom.parentNode;c.setPositioning(a.getPositioning(!0));c.isStyle("position","static")&&c.position("relative");a.clearPositioning("auto");c.clip();e&&e();a.setStyle({visibility:"",position:"absolute"});i&&c.setSize(s.width,s.height);switch(n){case"t":l={from:{width:s.width+"px",height:"0px"},to:{width:s.width+"px",height:s.height+"px"}};o.bottom="0px";break;case"l":l={from:{width:"0px",height:s.height+"px"},to:{width:s.width+"px",height:s.height+"px"}};r.anchorAnimX(n);break;case"r":l={from:{x:s.x+s.width,width:"0px",height:s.height+"px"},to:{x:s.x,width:s.width+"px",height:s.height+"px"}};r.anchorAnimX(n);break;case"b":l={from:{y:s.y+s.height,width:s.width+"px",height:"0px"},to:{y:s.y,width:s.width+"px",height:s.height+"px"}};break;case"tl":l={from:{x:s.x,y:s.y,width:"0px",height:"0px"},to:{width:s.width+"px",height:s.height+"px"}};o.bottom="0px";r.anchorAnimX("l");break;case"bl":l={from:{y:s.y+s.height,width:"0px",height:"0px"},to:{y:s.y,width:s.width+"px",height:s.height+"px"}};r.anchorAnimX("l");break;case"br":l={from:{x:s.x+s.width,y:s.y+s.height,width:"0px",height:"0px"},to:{x:s.x,y:s.y,width:s.width+"px",height:s.height+"px"}};r.anchorAnimX("r");break;case"tr":l={from:{x:s.x+s.width,width:"0px",height:"0px"},to:{x:s.x,width:s.width+"px",height:s.height+"px"}};o.bottom="0px";r.anchorAnimX("r")}c.show();u=Ext.apply({},t);delete u.listeners;u=new Ext.fx.Anim(Ext.applyIf(u,{target:c,duration:500,easing:"ease-out",from:i?l.to:l.from,to:i?l.from:l.to}));u.on("afteranimate",function(){var n=Ext.fly(f,"_anim");n.setStyle(y);i&&(t.useDisplay?n.setDisplayed(!1):n.hide());c.dom&&(c.dom.parentNode?c.dom.parentNode.insertBefore(n.dom,c.dom):h.appendChild(n.dom),c.remove());e&&e();p.end()});if(v)u.on(v)},r.animate({duration:t.duration?Math.max(t.duration,500)*2:1e3,listeners:{beforeanimate:s}}),r},slideOut:function(n,t){return this.slideIn(n,t,!0)},puff:function(n){var i=this,r=i.dom,u,t=i.getBox(),f=i.getStyles("width","height","left","right","top","bottom","position","z-index","font-size","opacity",!0);return n=Ext.applyIf(n||{},{easing:"ease-out",duration:500,useDisplay:!1}),u=function(){var i=Ext.fly(r,"_anim");i.clearOpacity();i.show();this.to={width:t.width*2,height:t.height*2,x:t.x-t.width/2,y:t.y-t.height/2,opacity:0,fontSize:"200%"};this.on("afteranimate",function(){var t=Ext.fly(r,"_anim");t&&(n.useDisplay?t.setDisplayed(!1):t.hide(),t.setStyle(f),Ext.callback(n.callback,n.scope))})},i.animate({duration:n.duration,easing:n.easing,listeners:{beforeanimate:{fn:u}}}),i},switchOff:function(n){var t=this,i=t.dom,r;return n=Ext.applyIf(n||{},{easing:"ease-in",duration:500,remove:!1,useDisplay:!1}),r=function(){var t=Ext.fly(i,"_anim"),o=this,r=t.getSize(),u=t.getXY(),f,e;t.clearOpacity();t.clip();e=t.getPositioning();f=new Ext.fx.Animator({target:i,duration:n.duration,easing:n.easing,keyframes:{33:{opacity:.3},66:{height:1,y:u[1]+r.height/2},100:{width:1,x:u[0]+r.width/2}}});f.on("afteranimate",function(){var t=Ext.fly(i,"_anim");n.useDisplay?t.setDisplayed(!1):t.hide();t.clearOpacity();t.setPositioning(e);t.setSize(r);o.end()})},t.animate({duration:Math.max(n.duration,500)*2,listeners:{beforeanimate:{fn:r}},callback:n.callback,scope:n.scope}),t},frame:function(n,t,i){var r=this,f=r.dom,u;return n=n||"#C3DAF9",t=t||1,i=i||{},u=function(){var u=Ext.fly(f,"_anim"),s=this,r,e,o;u.show();r=u.getBox();e=Ext.getBody().createChild({id:u.dom.id+"-anim-proxy",style:{position:"absolute","pointer-events":"none","z-index":35e3,border:"0px solid "+n}});o=new Ext.fx.Anim({target:e,duration:i.duration||1e3,iterations:t,from:{top:r.y,left:r.x,borderWidth:0,opacity:1,height:r.height,width:r.width},to:{top:r.y-20,left:r.x-20,borderWidth:10,opacity:0,height:r.height+40,width:r.width+40}});o.on("afteranimate",function(){e.remove();s.end()})},r.animate({duration:Math.max(i.duration,500)*2||2e3,listeners:{beforeanimate:{fn:u}},callback:i.callback,scope:i.scope}),r},ghost:function(n,t){var i=this,r=i.dom,u;return n=n||"b",u=function(){var e=Ext.fly(r,"_anim"),u=e.getWidth(),f=e.getHeight(),i=e.getXY(),o=e.getPositioning(),t={opacity:0};switch(n){case"t":t.y=i[1]-f;break;case"l":t.x=i[0]-u;break;case"r":t.x=i[0]+u;break;case"b":t.y=i[1]+f;break;case"tl":t.x=i[0]-u;t.y=i[1]-f;break;case"bl":t.x=i[0]-u;t.y=i[1]+f;break;case"br":t.x=i[0]+u;t.y=i[1]+f;break;case"tr":t.x=i[0]+u;t.y=i[1]-f}this.to=t;this.on("afteranimate",function(){var n=Ext.fly(r,"_anim");n&&(n.hide(),n.clearOpacity(),n.setPositioning(o))})},i.animate(Ext.applyIf(t||{},{duration:500,easing:"ease-out",listeners:{beforeanimate:u}})),i},highlight:function(n,t){var r=this,e=r.dom,h={},c,o,u,f,i,s;return e.tagName.match(r.tableTagRe)?r.select("div").highlight(n,t):(t=t||{},f=t.listeners||{},u=t.attr||"backgroundColor",h[u]=n||"ffff9c",t.to?o=t.to:(o={},o[u]=t.endColor||r.getColor(u,"ffffff","")),t.listeners=Ext.apply(Ext.apply({},f),{beforeanimate:function(){c=e.style[u];var n=Ext.fly(e,"_anim");return n.clearOpacity(),n.show(),i=f.beforeanimate,i?(s=i.fn||i,s.apply(i.scope||f.scope||window,arguments)):void 0},afteranimate:function(){e&&(e.style[u]=c);i=f.afteranimate;i&&(s=i.fn||i,s.apply(i.scope||f.scope||window,arguments))}}),r.animate(Ext.apply({},t,{duration:1e3,easing:"ease-in",from:h,to:o})),r)},pause:function(n){var t=this;return Ext.fx.Manager.setFxDefaults(t.id,{delay:n}),t},fadeIn:function(n){var t=this,i=t.dom;return t.animate(Ext.apply({},n,{opacity:1,internalListeners:{beforeanimate:function(){var n=Ext.fly(i,"_anim");n.isStyle("display","none")?n.setDisplayed(""):n.show()}}})),this},fadeOut:function(n){var t=this,i=t.dom;return n=Ext.apply({opacity:0,internalListeners:{afteranimate:function(t){if(i&&t.to.opacity===0){var r=Ext.fly(i,"_anim");n.useDisplay?r.setDisplayed(!1):r.hide()}}}},n),t.animate(n),t},scale:function(n,t,i){return this.animate(Ext.apply({},i,{width:n,height:t})),this},shift:function(n){return this.animate(n),this},anchorAnimX:function(n){var t=n==="l"?"right":"left";this.dom.style[t]="0px"}});Ext.define("Ext.dom.Element_dd",{override:"Ext.dom.Element",initDD:function(n,t,i){var r=new Ext.dd.DD(Ext.id(this.dom),n,t);return Ext.apply(r,i)},initDDProxy:function(n,t,i){var r=new Ext.dd.DDProxy(Ext.id(this.dom),n,t);return Ext.apply(r,i)},initDDTarget:function(n,t,i){var r=new Ext.dd.DDTarget(Ext.id(this.dom),n,t);return Ext.apply(r,i)}});Ext.define("Ext.dom.Element_fx",{override:"Ext.dom.Element"},function(){var n=Ext.dom.Element,r="visibility",t="display",i="none",u="hidden",h="offsets",c="asclass",l="nosize",f="originalDisplay",e="visibilityMode",a="isVisible",v=Ext.baseCSSPrefix+"hide-offsets",o=function(n){var i=(n.$cache||n.getCache()).data,t=i[f];return t===undefined&&(i[f]=t=""),t},s=function(t){var r=(t.$cache||t.getCache()).data,i=r[e];return i===undefined&&(r[e]=i=n.VISIBILITY),i};n.override({originalDisplay:"",visibilityMode:1,setVisible:function(i,f){var e=this,y=e.dom,o=s(e);if(typeof f=="string"){switch(f){case t:o=n.DISPLAY;break;case r:o=n.VISIBILITY;break;case h:o=n.OFFSETS;break;case l:case c:o=n.ASCLASS}e.setVisibilityMode(o);f=!1}if(f&&e.anim)i&&(e.setOpacity(.01),e.setVisible(!0)),Ext.isObject(f)||(f={duration:350,easing:"ease-in"}),e.animate(Ext.applyIf({callback:function(){i||Ext.fly(y,"_internal").setVisible(!1).setOpacity(1)},to:{opacity:i?1:0}},f));else{if(o==n.DISPLAY)return e.setDisplayed(i);o==n.OFFSETS?e[i?"removeCls":"addCls"](v):o==n.VISIBILITY?(e.fixDisplay(),y.style.visibility=i?"":u):o==n.ASCLASS&&e[i?"removeCls":"addCls"](e.visibilityCls||n.visibilityCls)}return(e.$cache||e.getCache()).data[a]=i,e},hasMetrics:function(){var t=s(this);return this.isVisible()||t==n.OFFSETS||t==n.VISIBILITY},toggle:function(n){var t=this;return t.setVisible(!t.isVisible(),t.anim(n)),t},setDisplayed:function(n){return typeof n=="boolean"&&(n=n?o(this):i),this.setStyle(t,n),this},fixDisplay:function(){var n=this;n.isStyle(t,i)&&(n.setStyle(r,u),n.setStyle(t,o(n)),n.isStyle(t,i)&&n.setStyle(t,"block"))},hide:function(n){return typeof n=="string"?(this.setVisible(!1,n),this):(this.setVisible(!1,this.anim(n)),this)},show:function(n){return typeof n=="string"?(this.setVisible(!0,n),this):(this.setVisible(!0,this.anim(n)),this)}})});Ext.define("Ext.dom.Element_position",{override:"Ext.dom.Element"},function(){var u,n=this,p="left",w="right",b="top",k="bottom",s="position",h="static",d="relative",g="z-index",nt="BODY",f="padding",e="border",c="-left",l="-right",a="-top",v="-bottom",o="-width",t={l:e+c+o,r:e+l+o,t:e+a+o,b:e+v+o},i={l:f+c,r:f+l,t:f+a,b:f+v},tt=[i.l,i.r,i.t,i.b],it=[t.l,t.r,t.t,t.b],y=Math.round,r=document,rt=function(n){return u||(u=new Ext.Element.Fly),u.attach(n),u};n.override({pxRe:/^\d+(?:\.\d*)?px$/i,inheritableStatics:{getX:function(t){return n.getXY(t)[0]},getXY:function(n){var i=r.body,f=r.documentElement,e=0,o=0,s=[0,0],t,u;if(n=Ext.getDom(n),n!=r&&n!=i){if(Ext.isIE)try{t=n.getBoundingClientRect();o=f.clientTop||i.clientTop;e=f.clientLeft||i.clientLeft}catch(h){t={left:0,top:0}}else t=n.getBoundingClientRect();u=rt(r).getScroll();s=[y(t.left+u.left-e),y(t.top+u.top-o)]}return s},getY:function(t){return n.getXY(t)[1]},setX:function(t,i){n.setXY(t,[i,!1])},setXY:function(n,t){(n=Ext.fly(n,"_setXY")).position();var r=n.translatePoints(t),u=n.dom.style,i;u.right="auto";for(i in r)isNaN(r[i])||(u[i]=r[i]+"px")},setY:function(t,i){n.setXY(t,[!1,i])}},center:function(n){return this.alignTo(n||r,"c-c")},clearPositioning:function(n){return n=n||"",this.setStyle({left:n,right:n,top:n,bottom:n,"z-index":"",position:h})},getAnchorToXY:function(n,t,i,r){return n.getAnchorXY(t,i,r)},getBottom:function(n){return(n?this.getLocalY():this.getY())+this.getHeight()},getBorderPadding:function(){var n=this.getStyle(tt),r=this.getStyle(it);return{beforeX:(parseFloat(r[t.l])||0)+(parseFloat(n[i.l])||0),afterX:(parseFloat(r[t.r])||0)+(parseFloat(n[i.r])||0),beforeY:(parseFloat(r[t.t])||0)+(parseFloat(n[i.t])||0),afterY:(parseFloat(r[t.b])||0)+(parseFloat(n[i.b])||0)}},getCenterXY:function(){return this.getAlignToXY(r,"c-c")},getLeft:function(n){return n?this.getLocalX():this.getX()},getLocalX:function(){var i=this,r=i.dom.offsetParent,t=i.getStyle("left");return t&&t!=="auto"?i.pxRe.test(t)?t=parseFloat(t):(t=i.getX(),r&&(t-=n.getX(r))):t=0,t},getLocalXY:function(){var r=this,u=r.dom.offsetParent,f=r.getStyle(["left","top"]),t=f.left,i=f.top;return t&&t!=="auto"?r.pxRe.test(t)?t=parseFloat(t):(t=r.getX(),u&&(t-=n.getX(u))):t=0,i&&i!=="auto"?r.pxRe.test(i)?i=parseFloat(i):(i=r.getY(),u&&(i-=n.getY(u))):i=0,[t,i]},getLocalY:function(){var i=this,r=i.dom.offsetParent,t=i.getStyle("top");return t&&t!=="auto"?i.pxRe.test(t)?t=parseFloat(t):(t=i.getY(),r&&(t-=n.getY(r))):t=0,t},getPageBox:function(n){var r=this,i=r.dom,u=i.nodeName==nt,f=u?Ext.Element.getViewWidth():i.offsetWidth,e=u?Ext.Element.getViewHeight():i.offsetHeight,t=r.getXY(),o=t[1],s=t[0]+f,h=t[1]+e,c=t[0];return n?new Ext.util.Region(o,s,h,c):{left:c,top:o,width:f,height:e,right:s,bottom:h}},getPositioning:function(n){var t=this.getStyle(["left","top","position","z-index"]),i=this.dom;return n&&(t.left==="auto"&&(t.left=i.offsetLeft+"px"),t.top==="auto"&&(t.top=i.offsetTop+"px")),t},getRight:function(n){return(n?this.getLocalX():this.getX())+this.getWidth()},getTop:function(n){return n?this.getLocalY():this.getY()},getX:function(){return n.getX(this.dom)},getXY:function(){return n.getXY(this.dom)},getY:function(){return n.getY(this.dom)},moveTo:function(n,t,i){return this.setXY([n,t],i)},position:function(n,t,i,r){var u=this;!n&&u.isStyle(s,h)?u.setStyle(s,d):n&&u.setStyle(s,n);t&&u.setStyle(g,t);(i||r)&&u.setXY([i||!1,r||!1])},setBottom:function(n){return this.dom.style[k]=this.addUnits(n),this},setBounds:function(n,t,i,r,u){return this.setBox({x:n,y:t,width:i,height:r},u)},setLeft:function(n){return this.dom.style[p]=this.addUnits(n),this},setLeftTop:function(n,t){var i=this,r=i.dom.style;return r.left=i.addUnits(n),r.top=i.addUnits(t),i},setLocalX:function(n){var t=this.dom.style;t.right="auto";t.left=n===null?"auto":n+"px"},setLocalXY:function(n,t){var i=this.dom.style;i.right="auto";n&&n.length&&(t=n[1],n=n[0]);n===null?i.left="auto":n!==undefined&&(i.left=n+"px");t===null?i.top="auto":t!==undefined&&(i.top=t+"px")},setLocalY:function(n){this.dom.style.top=n===null?"auto":n+"px"},setLocation:function(n,t,i){return this.setXY([n,t],i)},setPositioning:function(n){return this.setStyle(n)},setRight:function(n){return this.dom.style[w]=this.addUnits(n),this},setTop:function(n){return this.dom.style[b]=this.addUnits(n),this},setX:function(n,t){return this.setXY([n,this.getY()],t)},setXY:function(t,i){var r=this;return i&&r.anim?(Ext.isObject(i)||(i={}),r.animate(Ext.applyIf({to:{x:t[0],y:t[1]}},i))):n.setXY(r.dom,t),this},setY:function(n,t){return this.setXY([this.getX(),n],t)}});n.getTrueXY=n.getXY});Ext.define("Ext.dom.Element_scroll",{override:"Ext.dom.Element",isScrollable:function(){var n=this.dom;return n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth},getScroll:function(){var e=this,t=e.dom,i=document,n=i.body,f=i.documentElement,r,u;return t===i||t===n?(r=f.scrollLeft||(n?n.scrollLeft:0),u=f.scrollTop||(n?n.scrollTop:0)):(r=t.scrollLeft,u=t.scrollTop),{left:r,top:u}},getScrollLeft:function(){var n=this.dom,t=document;return n===t||n===t.body?this.getScroll().left:n.scrollLeft},getScrollTop:function(){var n=this.dom,t=document;return n===t||n===t.body?this.getScroll().top:n.scrollTop},setScrollLeft:function(n){return this.dom.scrollLeft=n,this},setScrollTop:function(n){return this.dom.scrollTop=n,this},scrollBy:function(n,t,i){var r=this,u=r.dom;return n.length?(i=t,t=n[1],n=n[0]):typeof n!="number"&&(i=t,t=n.y,n=n.x),n&&r.scrollTo("left",r.constrainScrollLeft(u.scrollLeft+n),i),t&&r.scrollTo("top",r.constrainScrollTop(u.scrollTop+t),i),r},scrollTo:function(n,t,i){var o=/top/i.test(n),r=this,f=o?"scrollTop":"scrollLeft",e=r.dom,u;return i&&r.anim?(u={to:{}},u.to[f]=t,Ext.isObject(i)&&Ext.applyIf(u,i),r.animate(u)):(e[f]=t,e[f]=t),r},scrollIntoView:function(n,t,i,r){var f=this,e=f.dom,c=f.getOffsetsTo(n=Ext.getDom(n)||Ext.getBody().dom),o=c[0]+n.scrollLeft,s=c[1]+n.scrollTop,l=s+e.offsetHeight,a=o+e.offsetWidth,h=n.clientHeight,v=parseInt(n.scrollTop,10),y=parseInt(n.scrollLeft,10),p=v+h,w=y+n.clientWidth,u;return r&&(i?i=Ext.apply({listeners:{afteranimate:function(){f.scrollChildFly.attach(e).highlight()}}},i):f.scrollChildFly.attach(e).highlight()),e.offsetHeight>h||s<v?u=s:l>p&&(u=l-h),u!=null&&f.scrollChildFly.attach(n).scrollTo("top",u,i),t!==!1&&(u=null,e.offsetWidth>n.clientWidth||o<y?u=o:a>w&&(u=a-n.clientWidth),u!=null&&f.scrollChildFly.attach(n).scrollTo("left",u,i)),f},scrollChildIntoView:function(n,t){this.scrollChildFly.attach(Ext.getDom(n)).scrollIntoView(this,t)},scroll:function(n,t,i){if(!this.isScrollable())return!1;var f=this,e=f.dom,o=n==="r"||n==="l"?"left":"top",s=!1,r,u;return n==="r"&&(t=-t),o==="left"?(r=e.scrollLeft,u=f.constrainScrollLeft(r+t)):(r=e.scrollTop,u=f.constrainScrollTop(r+t)),u!==r&&(this.scrollTo(o,u,i),s=!0),s},constrainScrollLeft:function(n){var t=this.dom;return Math.max(Math.min(n,t.scrollWidth-t.clientWidth),0)},constrainScrollTop:function(n){var t=this.dom;return Math.max(Math.min(n,t.scrollHeight-t.clientHeight),0)}},function(){this.prototype.scrollChildFly=new this.Fly;this.prototype.scrolltoFly=new this.Fly});Ext.define("Ext.dom.Element_style",{override:"Ext.dom.Element"},function(){var n=this,w=document.defaultView,d=/table-row|table-.*-group/,u="_internal",l="hidden",a="height",f="width",e="isClipped",o="overflow",s="overflow-x",h="overflow-y",b="originalClip",k=/#document|body/i,r,t,i,v,y,c,p;if(w&&w.getComputedStyle||(n.prototype.getStyle=function(t,i){var h=this,o=h.dom,y=typeof t!="string",p=h.styleHooks,u=t,c=u,w=1,b=i,l,a,s,f,e,r,v;if(y&&(s={},u=c[0],v=0,!(w=c.length)))return s;if(!o||o.documentElement)return s||"";a=o.style;i?r=a:(r=o.currentStyle,r||(b=!0,r=a));do{if(f=p[u],f||(p[u]=f={name:n.normalize(u)}),f.get)e=f.get(o,h,b,r);else if(l=f.name,f.canThrow)try{e=r[l]}catch(k){e=""}else e=r?r[l]:"";if(!y)return e;s[u]=e;u=c[++v]}while(v<w);return s}),n.override({getHeight:function(n,t){var r=this,f=r.isStyle("display","none"),i,u;return f?0:(i=r.dom.offsetHeight,Ext.supports.Direct2DBug&&(u=r.adjustDirect2DDimension(a),t?i+=u:u>0&&u<.5&&i++),n&&(i-=r.getBorderWidth("tb")+r.getPadding("tb")),i<0?0:i)},getWidth:function(n,t){var i=this,o=i.dom,s=i.isStyle("display","none"),u,r,e;return s?0:(t&&Ext.supports.BoundingClientRect?(u=o.getBoundingClientRect(),r=i.vertical&&!Ext.isIE9&&!Ext.supports.RotatedBoundingClientRect?u.bottom-u.top:u.right-u.left):r=o.offsetWidth,Ext.supports.Direct2DBug&&!i.vertical&&(e=i.adjustDirect2DDimension(f),t?r+=e:e>0&&e<.5&&r++),n&&(r-=i.getBorderWidth("lr")+i.getPadding("lr")),r<0?0:r)},setWidth:function(n,t){var i=this;return n=i.adjustWidth(n),t&&i.anim?(Ext.isObject(t)||(t={}),i.animate(Ext.applyIf({to:{width:n}},t))):i.dom.style.width=i.addUnits(n),i},setHeight:function(n,t){var i=this;return n=i.adjustHeight(n),t&&i.anim?(Ext.isObject(t)||(t={}),i.animate(Ext.applyIf({to:{height:n}},t))):i.dom.style.height=i.addUnits(n),i},applyStyles:function(n){return Ext.DomHelper.applyStyles(this.dom,n),this},setSize:function(n,t,i){var r=this;return Ext.isObject(n)&&(i=t,t=n.height,n=n.width),n=r.adjustWidth(n),t=r.adjustHeight(t),i&&r.anim?(i===!0&&(i={}),r.animate(Ext.applyIf({to:{width:n,height:t}},i))):(r.dom.style.width=r.addUnits(n),r.dom.style.height=r.addUnits(t)),r},getViewSize:function(){var i=this,t=i.dom,r=k.test(t.nodeName);return r?{width:n.getViewWidth(),height:n.getViewHeight()}:{width:t.clientWidth,height:t.clientHeight}},getSize:function(n){return{width:this.getWidth(n),height:this.getHeight(n)}},adjustWidth:function(n){var t=this,i=typeof n=="number";return i&&t.autoBoxAdjust&&!t.isBorderBox()&&(n-=t.getBorderWidth("lr")+t.getPadding("lr")),i&&n<0?0:n},adjustHeight:function(n){var t=this,i=typeof n=="number";return i&&t.autoBoxAdjust&&!t.isBorderBox()&&(n-=t.getBorderWidth("tb")+t.getPadding("tb")),i&&n<0?0:n},getColor:function(n,t,i){var r=this.getStyle(n),u=i||i===""?i:"#",f,o,e=0;if(!r||/transparent|inherit/.test(r))return t;if(/^r/.test(r))for(r=r.slice(4,r.length-1).split(","),o=r.length;e<o;e++)f=parseInt(r[e],10),u+=(f<16?"0":"")+f.toString(16);else r=r.replace("#",""),u+=r.length==3?r.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):r;return u.length>5?u.toLowerCase():t},setOpacity:function(n,t){var i=this;return i.dom?(t&&i.anim?(typeof t!="object"&&(t={duration:350,easing:"ease-in"}),i.animate(Ext.applyIf({to:{opacity:n}},t))):i.setStyle("opacity",n),i):i},clearOpacity:function(){return this.setOpacity("")},adjustDirect2DDimension:function(n){var r=this,t=r.dom,i=r.getStyle("display"),o=t.style.display,s=t.style.position,h=n===f?0:1,u=t.currentStyle,e;return i==="inline"&&(t.style.display="inline-block"),t.style.position=i.match(d)?"absolute":"static",e=(parseFloat(u[n])||parseFloat(u.msTransformOrigin.split(" ")[h])*2)%1,t.style.position=s,i==="inline"&&(t.style.display=o),e},clip:function(){var n=this,i=(n.$cache||n.getCache()).data,t;return i[e]||(i[e]=!0,t=n.getStyle([o,s,h]),i[b]={o:t[o],x:t[s],y:t[h]},n.setStyle(o,l),n.setStyle(s,l),n.setStyle(h,l)),n},unclip:function(){var t=this,i=(t.$cache||t.getCache()).data,n;return i[e]&&(i[e]=!1,n=i[b],n.o&&t.setStyle(o,n.o),n.x&&t.setStyle(s,n.x),n.y&&t.setStyle(h,n.y)),t},boxWrap:function(t){t=t||Ext.baseCSSPrefix+"box";var i=Ext.get(this.insertHtml("beforeBegin","<div class='"+t+"'>"+Ext.String.format(n.boxMarkup,t)+"<\/div>"));return Ext.DomQuery.selectNode("."+t+"-mc",i.dom).appendChild(this.dom),i},getComputedHeight:function(){var n=this,t=Math.max(n.dom.offsetHeight,n.dom.clientHeight);return t||(t=parseFloat(n.getStyle(a))||0,n.isBorderBox()||(t+=n.getFrameWidth("tb"))),t},getComputedWidth:function(){var n=this,t=Math.max(n.dom.offsetWidth,n.dom.clientWidth);return t||(t=parseFloat(n.getStyle(f))||0,n.isBorderBox()||(t+=n.getFrameWidth("lr"))),t},getFrameWidth:function(n,t){return t&&this.isBorderBox()?0:this.getPadding(n)+this.getBorderWidth(n)},addClsOnOver:function(n,t,i){var r=this,f=r.dom,e=Ext.isFunction(t);return r.hover(function(){e&&t.call(i||r,r)===!1||Ext.fly(f,u).addCls(n)},function(){Ext.fly(f,u).removeCls(n)}),r},addClsOnFocus:function(n,t,i){var r=this,f=r.dom,e=Ext.isFunction(t);r.on("focus",function(){if(e&&t.call(i||r,r)===!1)return!1;Ext.fly(f,u).addCls(n)});r.on("blur",function(){Ext.fly(f,u).removeCls(n)});return r},addClsOnClick:function(n,t,i){var r=this,f=r.dom,e=Ext.isFunction(t);r.on("mousedown",function(){if(e&&t.call(i||r,r)===!1)return!1;Ext.fly(f,u).addCls(n);var o=Ext.getDoc(),s=function(){Ext.fly(f,u).removeCls(n);o.removeListener("mouseup",s)};o.on("mouseup",s)});return r},getStyleSize:function(){var t=this,e=this.dom,o=k.test(e.nodeName),i,r,u;return o?{width:n.getViewWidth(),height:n.getViewHeight()}:(i=t.getStyle([a,f],!0),i.width&&i.width!="auto"&&(r=parseFloat(i.width),t.isBorderBox()&&(r-=t.getFrameWidth("lr"))),i.height&&i.height!="auto"&&(u=parseFloat(i.height),t.isBorderBox()&&(u-=t.getFrameWidth("tb"))),{width:r||t.getWidth(!0),height:u||t.getHeight(!0)})},statics:{selectableCls:Ext.baseCSSPrefix+"selectable",unselectableCls:Ext.baseCSSPrefix+"unselectable"},selectable:function(){var t=this;return t.dom.unselectable="",t.removeCls(n.unselectableCls),t.addCls(n.selectableCls),t},unselectable:function(){var t=this;return Ext.isOpera&&(t.dom.unselectable="on"),t.removeCls(n.selectableCls),t.addCls(n.unselectableCls),t},setVertical:function(t,i){var r=this,u=n.prototype;r.vertical=!0;i&&r.addCls(r.verticalCls=i);r.setWidth=u.setHeight;r.setHeight=u.setWidth;Ext.isIE9m||(r.getWidth=u.getHeight,r.getHeight=u.getWidth);r.styleHooks=t===270?n.prototype.verticalStyleHooks270:n.prototype.verticalStyleHooks90},setHorizontal:function(){var n=this,t=n.verticalCls;delete n.vertical;t&&(delete n.verticalCls,n.removeCls(t));delete n.setWidth;delete n.setHeight;Ext.isIE9m||(delete n.getWidth,delete n.getHeight);delete n.styleHooks}}),n.prototype.styleHooks=r=Ext.dom.AbstractElement.prototype.styleHooks,n.prototype.verticalStyleHooks90=t=Ext.Object.chain(n.prototype.styleHooks),n.prototype.verticalStyleHooks270=i=Ext.Object.chain(n.prototype.styleHooks),t.width={name:"height"},t.height={name:"width"},t["margin-top"]={name:"marginLeft"},t["margin-right"]={name:"marginTop"},t["margin-bottom"]={name:"marginRight"},t["margin-left"]={name:"marginBottom"},t["padding-top"]={name:"paddingLeft"},t["padding-right"]={name:"paddingTop"},t["padding-bottom"]={name:"paddingRight"},t["padding-left"]={name:"paddingBottom"},t["border-top"]={name:"borderLeft"},t["border-right"]={name:"borderTop"},t["border-bottom"]={name:"borderRight"},t["border-left"]={name:"borderBottom"},i.width={name:"height"},i.height={name:"width"},i["margin-top"]={name:"marginRight"},i["margin-right"]={name:"marginBottom"},i["margin-bottom"]={name:"marginLeft"},i["margin-left"]={name:"marginTop"},i["padding-top"]={name:"paddingRight"},i["padding-right"]={name:"paddingBottom"},i["padding-bottom"]={name:"paddingLeft"},i["padding-left"]={name:"paddingTop"},i["border-top"]={name:"borderRight"},i["border-right"]={name:"borderBottom"},i["border-bottom"]={name:"borderLeft"},i["border-left"]={name:"borderTop"},Ext.isIE7m&&(r.fontSize=r["font-size"]={name:"fontSize",canThrow:!0},r.fontStyle=r["font-style"]={name:"fontStyle",canThrow:!0},r.fontFamily=r["font-family"]={name:"fontFamily",canThrow:!0}),Ext.isIEQuirks||Ext.isIE&&Ext.ieVersion<=8){function g(n,t,i,r){return r[this.styleName]=="none"?"0px":r[this.name]}for(v=["Top","Right","Bottom","Left"],y=v.length;y--;)c=v[y],p="border"+c+"Width",r["border-"+c.toLowerCase()+"-width"]=r[p]={name:p,styleName:"border"+c+"Style",get:g}}Ext.getDoc().on("selectstart",function(t,i){var f=document.documentElement,e=n.selectableCls,o=n.unselectableCls,r=i&&i.tagName,u;if(r=r&&r.toLowerCase(),r!=="input"&&r!=="textarea")while(i&&i.nodeType===1&&i!==f){if(u=Ext.fly(i),u.hasCls(e))return;if(u.hasCls(o)){t.stopEvent();return}i=i.parentNode}})});Ext.onReady(function(){var n=/alpha\(opacity=(.*)\)/i,i=/^\s+|\s+$/g,t=Ext.dom.Element.prototype.styleHooks;t.opacity={name:"opacity",afterSet:function(n,t,i){if(i.isLayer)i.onOpacitySet(t)}};!Ext.supports.Opacity&&Ext.isIE&&Ext.apply(t.opacity,{get:function(t){var u=t.style.filter,r,i;return u.match&&(r=u.match(n),r&&(i=parseFloat(r[1]),!isNaN(i)))?i?i/100:0:1},set:function(t,r){var u=t.style,f=u.filter.replace(n,"").replace(i,"");u.zoom=1;typeof r=="number"&&r>=0&&r<1?(r*=100,u.filter=f+(f.length?" ":"")+"alpha(opacity="+r+")"):u.filter=f}})});Ext.cmd.derive("Ext.util.Positionable",Ext.Base,{_positionTopLeft:["position","top","left"],_alignRe:/^([a-z]+)-([a-z]+)(\?)?$/,afterSetPosition:Ext.emptyFn,adjustForConstraints:function(n,t){var i=this.getConstrainVector(t,n);return i&&(n[0]+=i[0],n[1]+=i[1]),n},alignTo:function(n,t,i,r){var u=this,f=u.el;return u.setXY(u.getAlignToXY(n,t,i),f.anim&&!!r?f.anim(r):!1)},anchorTo:function(n,t,i,r,u,f){var e=this,s=!Ext.isEmpty(u),o=function(){e.alignTo(n,t,i,r);Ext.callback(f,e)},h=e.getAnchor();e.removeAnchor();Ext.apply(h,{fn:o,scroll:s});Ext.EventManager.onWindowResize(o,null);if(s)Ext.EventManager.on(window,"scroll",o,null,{buffer:isNaN(u)?50:u});return o(),e},calculateAnchorXY:function(n,t,i,r){var s=this,h=s.el,c=document,l=h.dom==c.body||h.dom==c,e=Math.round,u,f,o;n=(n||"tl").toLowerCase();r=r||{};f=r.width||l?Ext.Element.getViewWidth():s.getWidth();o=r.height||l?Ext.Element.getViewHeight():s.getHeight();switch(n){case"tl":u=[0,0];break;case"bl":u=[0,o];break;case"tr":u=[f,0];break;case"c":u=[e(f*.5),e(o*.5)];break;case"t":u=[e(f*.5),0];break;case"l":u=[0,e(o*.5)];break;case"r":u=[f,e(o*.5)];break;case"b":u=[e(f*.5),o];break;case"tc":u=[e(f*.5),0];break;case"bc":u=[e(f*.5),o];break;case"br":u=[f,o]}return[u[0]+t,u[1]+i]},convertPositionSpec:Ext.identityFn,getAlignToXY:function(n,t,i){var r=this,tt=Ext.Element.getViewWidth()-10,it=Ext.Element.getViewHeight()-10,rt=document,ut=rt.documentElement,ft=rt.body,h=ut.scrollLeft||ft.scrollLeft||0,c=ut.scrollTop||ft.scrollTop||0,l,y,p,a,v,e,w,b,et,o,s,k,d,g,nt,u,f;return n=Ext.get(n.el||n),!n||!n.dom,i=i||[0,0],t=(!t||t=="?"?"tl-bl?":!/-/.test(t)&&t!==""?"tl-"+t:t||"tl-bl").toLowerCase(),t=r.convertPositionSpec(t),l=t.match(r._alignRe),o=l[1],s=l[2],et=!!l[3],y=r.getAnchorXY(o,!0),p=r.getAnchorToXY(n,s,!1),u=p[0]-y[0]+i[0],f=p[1]-y[1]+i[1],et&&(a=r.getWidth(),v=r.getHeight(),e=n.getRegion(),k=o.charAt(0),d=o.charAt(o.length-1),g=s.charAt(0),nt=s.charAt(s.length-1),w=k=="t"&&g=="b"||k=="b"&&g=="t",b=d=="r"&&nt=="l"||d=="l"&&nt=="r",u+a>tt+h&&(u=b?e.left-a:tt+h-a),u<h&&(u=b?e.right:h),f+v>it+c&&(f=w?e.top-v:it+c-v),f<c&&(f=w?e.bottom:c)),[u,f]},getAnchor:function(){var t=this.el,i=(t.$cache||t.getCache()).data,n;if(t.dom)return n=i._anchor,n||(n=i._anchor={}),n},getAnchorXY:function(n,t,i){var r=this,f=r.getXY(),u=r.el,e=document,o=u.dom==e.body||u.dom==e,s=u.getScroll(),h=o?s.left:t?0:f[0],c=o?s.top:t?0:f[1];return r.calculateAnchorXY(n,h,c,i)},getBox:function(n,t){var i=this,c=t?i.getLocalXY():i.getXY(),r=c[0],u=c[1],e=i.getWidth(),o=i.getHeight(),f,s,h;return n&&(f=i.getBorderPadding(),s=f.beforeX,h=f.beforeY,r+=s,u+=h,e-=s+f.afterX,o-=h+f.afterY),{x:r,left:r,0:r,y:u,top:u,1:u,width:e,height:o,right:r+e,bottom:u+o}},calculateConstrainedPosition:function(n,t,i,r){var u=this,e,s=u.floatParent,h=s?s.getTargetEl():null,f,c,l,o=!1;return i&&s?(f=h.getXY(),c=h.getBorderPadding(),f[0]+=c.beforeX,f[1]+=c.beforeY,t&&(l=[t[0]+f[0],t[1]+f[1]])):l=t,n=n||u.constrainTo||h||u.container||u.el.parent(),e=(u.constrainHeader?u.header:u).getConstrainVector(n,l,r),e&&(o=t||u.getPosition(i),o[0]+=e[0],o[1]+=e[1]),o},getConstrainVector:function(n,t,i){var r=this.getRegion(),f=[0,0],e=this.shadow&&this.constrainShadow&&!this.shadowDisabled?this.shadow.getShadowSize():undefined,o=!1,u=this.constraintInsets;return n instanceof Ext.util.Region||(n=Ext.get(n.el||n).getViewRegion()),u&&(u=Ext.isObject(u)?u:Ext.Element.parseBox(u),n.adjust(u.top,u.right,u.bottom,u.length)),t&&r.translateBy(t[0]-r.x,t[1]-r.y),i&&(r.right=r.left+i[0],r.bottom=r.top+i[1]),e&&n.adjust(e[0],-e[1],-e[2],e[3]),r.right>n.right&&(o=!0,f[0]=n.right-r.right),r.left+f[0]<n.left&&(o=!0,f[0]=n.left-r.left),r.bottom>n.bottom&&(o=!0,f[1]=n.bottom-r.bottom),r.top+f[1]<n.top&&(o=!0,f[1]=n.top-r.top),o?f:!1},getOffsetsTo:function(n){var t=this.getXY(),i=Ext.fly(n.el||n,"_internal").getXY();return[t[0]-i[0],t[1]-i[1]]},getRegion:function(){var n=this.getBox();return new Ext.util.Region(n.top,n.right,n.bottom,n.left)},getViewRegion:function(){var n=this,s=n.el,h=s.dom.nodeName==="BODY",r,u,f,t,i,e,o;return h?(u=s.getScroll(),i=u.left,t=u.top,e=Ext.dom.AbstractElement.getViewportWidth(),o=Ext.dom.AbstractElement.getViewportHeight()):(r=n.getBorderPadding(),f=n.getXY(),i=f[0]+r.beforeX,t=f[1]+r.beforeY,e=n.getWidth(!0),o=n.getHeight(!0)),new Ext.util.Region(t,i+e,t+o,i)},move:function(n,t,i){var o=this,s=o.getXY(),r=s[0],u=s[1],h=[r-t,u],c=[r+t,u],f=[r,u-t],e=[r,u+t],l={l:h,left:h,r:c,right:c,t:f,top:f,up:f,b:e,bottom:e,down:e};n=n.toLowerCase();o.setXY([l[n][0],l[n][1]],i)},removeAnchor:function(){var n=this.getAnchor();return n&&n.fn&&(Ext.EventManager.removeResizeListener(n.fn),n.scroll&&Ext.EventManager.un(window,"scroll",n.fn),delete n.fn),this},setBox:function(n,t){var i=this,f=i.el,r=n.x,u=n.y,c=[r,u],e=n.width,o=n.height,h=i.constrain||i.constrainHeader,s=h&&i.calculateConstrainedPosition(null,[r,u],!1,[e,o]);return s&&(r=s[0],u=s[1]),t&&f.anim?i.animate(Ext.applyIf({to:{x:r,y:u,width:f.adjustWidth(e),height:f.adjustHeight(o)},listeners:{afteranimate:Ext.Function.bind(i.afterSetPosition,i,[r,u])}},t)):(i.setSize(e,o),i.setXY([r,u]),i.afterSetPosition(r,u)),i},setRegion:function(n,t){return this.setBox({x:n.left,y:n.top,width:n.right-n.left,height:n.bottom-n.top},t)},translatePoints:function(n,t){var i=this.translateXY(n,t);return{left:i.x,top:i.y}},translateXY:function(n,t){var u=this,f=u.el,e=f.getStyle(u._positionTopLeft),o=e.position=="relative",i=parseFloat(e.left),r=parseFloat(e.top),s=u.getXY();return Ext.isArray(n)&&(t=n[1],n=n[0]),isNaN(i)&&(i=o?0:f.dom.offsetLeft),isNaN(r)&&(r=o?0:f.dom.offsetTop),i=typeof n=="number"?n-s[0]+i:undefined,r=typeof t=="number"?t-s[1]+r:undefined,{x:i,y:r}}},0,0,0,0,0,0,[Ext.util,"Positionable"],0);Ext.cmd.derive("Ext.dom.Element",Ext.dom.AbstractElement,function(n){var s="hidden",i=document,h="visibility",r="display",u="none",f=Ext.baseCSSPrefix+"masked",e=Ext.baseCSSPrefix+"masked-relative",o=Ext.baseCSSPrefix+"mask-msg",c=/^body/i,t,l=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1},a=function(n){for(var r=[],u=-1,t,i=0;t=n[i];i++)(t.scrollTop>0||t.scrollLeft>0)&&(r[++u]=t);return r};return{alternateClassName:["Ext.Element","Ext.core.Element"],tableTagRe:/^(?:tr|td|table|tbody)$/i,addUnits:function(){return n.addUnits.apply(n,arguments)},focus:function(n,t){var i=this;t=t||i.dom;try{Number(n)?Ext.defer(i.focus,n,i,[null,t]):t.focus()}catch(r){}return i},blur:function(){var n=this,t=n.dom;if(t!==document.body){try{t.blur()}catch(i){}return n}return n.focus(undefined,t)},isBorderBox:function(){var n=Ext.isBorderBox;return n&&Ext.isIE7m&&(n=!((this.dom.tagName||"").toLowerCase()in l)),n},hover:function(n,t,i,r){var u=this;u.on("mouseenter",n,i||u.dom,r);u.on("mouseleave",t,i||u.dom,r);return u},getAttributeNS:function(n,t){return this.getAttribute(t,n)},getAttribute:Ext.isIE&&!(Ext.isIE9p&&i.documentMode>=9)?function(n,t){var i=this.dom,r;return t?(r=typeof i[t+":"+n],r!="undefined"&&r!="unknown")?i[t+":"+n]||null:null:(n==="for"&&(n="htmlFor"),i[n]||null)}:function(n,t){var i=this.dom;return t?i.getAttributeNS(t,n)||i.getAttribute(t+":"+n):i.getAttribute(n)||i[n]||null},cacheScrollValues:function(){var u=this,i,t,n,r=[],f=function(){for(n=0;n<i.length;n++)t=i[n],t.scrollLeft=r[n][0],t.scrollTop=r[n][1]};for(Ext.DomQuery.pseudos.isScrolled||(Ext.DomQuery.pseudos.isScrolled=a),i=u.query(":isScrolled"),n=0;n<i.length;n++)t=i[n],r[n]=[t.scrollLeft,t.scrollTop];return f},autoBoxAdjust:!0,isVisible:function(i){var e=this,f=e.dom,o=f.ownerDocument.documentElement;for(t||(t=new n.Fly);f!==o;){if(!f||f.nodeType===11||t.attach(f).isStyle(h,s)||t.isStyle(r,u))return!1;if(!i)break;f=f.parentNode}return!0},isDisplayed:function(){return!this.isStyle(r,u)},enableDisplayMode:function(t){var i=this;return i.setVisibilityMode(n.DISPLAY),Ext.isEmpty(t)||((i.$cache||i.getCache()).data.originalDisplay=t),i},mask:function(n,t,r){var s=this,a=s.dom,w=a.style.setExpression,v=(s.$cache||s.getCache()).data,u=v.maskShimEl,h=v.maskEl,l=v.maskMsg,y,p;if(c.test(a.tagName)&&s.getStyle("position")=="static"||s.addCls(e),h&&h.remove(),l&&l.remove(),u&&u.remove(),Ext.isIE6&&(u=Ext.DomHelper.append(a,{tag:"iframe",cls:Ext.baseCSSPrefix+"shim "+Ext.baseCSSPrefix+"mask-shim"},!0),v.maskShimEl=u,u.setDisplayed(!0)),Ext.DomHelper.append(a,[{cls:Ext.baseCSSPrefix+"mask",style:"top:0;left:0;"},{cls:t?o+" "+t:o,cn:{tag:"div",cls:Ext.baseCSSPrefix+"mask-msg-inner",cn:{tag:"div",cls:Ext.baseCSSPrefix+"mask-msg-text",html:n||""}}}]),l=Ext.get(a.lastChild),h=Ext.get(l.dom.previousSibling),v.maskMsg=l,v.maskEl=h,s.addCls(f),h.setDisplayed(!0),typeof n=="string"?(l.setDisplayed(!0),l.center(s)):l.setDisplayed(!1),!Ext.supports.IncludePaddingInWidthCalculation&&w)try{h.dom.style.setExpression("width",'this.parentNode.clientWidth + "px"');y='this.parentNode.clientWidth + "px"';u&&u.dom.style.setExpression("width",y);h.dom.style.setExpression("width",y)}catch(b){}if(!Ext.supports.IncludePaddingInHeightCalculation&&w)try{p="this.parentNode."+(a==i.body?"scrollHeight":"offsetHeight")+' + "px"';u&&u.dom.style.setExpression("height",p);h.dom.style.setExpression("height",p)}catch(b){}else!Ext.isIE9m||Ext.isIE7&&Ext.isStrict||s.getStyle("height")!="auto"||(u&&u.setSize(undefined,r||s.getHeight()),h.setSize(undefined,r||s.getHeight()));return h},unmask:function(){var r=this,t=(r.$cache||r.getCache()).data,i=t.maskEl,u=t.maskShimEl,o=t.maskMsg,n;i&&(n=i.dom.style,n.clearExpression&&(n.clearExpression("width"),n.clearExpression("height")),i&&(i.remove(),delete t.maskEl),o&&(o.remove(),delete t.maskMsg),r.removeCls([f,e]),u&&(n=u.dom.style,n.clearExpression&&(n.clearExpression("width"),n.clearExpression("height")),u.remove(),delete t.maskShimEl))},isMasked:function(){var n=this,t=(n.$cache||n.getCache()).data,i=t.maskEl,r=t.maskMsg,u=!1;return i&&i.isVisible()&&(r&&r.center(n),u=!0),u},createShim:function(){var n=i.createElement("iframe"),t;return n.frameBorder="0",n.className=Ext.baseCSSPrefix+"shim",n.src=Ext.SSL_SECURE_URL,t=Ext.get(this.dom.parentNode.insertBefore(n,this.dom)),t.autoBoxAdjust=!1,t},addKeyListener:function(n,t,i){var r;return r=typeof n!="object"||Ext.isArray(n)?{target:this,key:n,fn:t,scope:i}:{target:this,key:n.key,shift:n.shift,ctrl:n.ctrl,alt:n.alt,fn:t,scope:i},new Ext.util.KeyMap(r)},addKeyMap:function(n){return new Ext.util.KeyMap(Ext.apply({target:this},n))},on:function(n,t,i,r){Ext.EventManager.on(this,n,t,i||this,r);return this},un:function(n,t,i){return Ext.EventManager.un(this,n,t,i||this),this},removeAllListeners:function(){return Ext.EventManager.removeAll(this),this},purgeAllListeners:function(){return Ext.EventManager.purgeElement(this),this},select:function(t){return n.select(t,!1,this.dom)}}},0,0,0,0,0,[[Ext.util.Positionable.prototype.mixinId||Ext.util.Positionable.$className,Ext.util.Positionable]],[Ext.dom,"Element",Ext,"Element",Ext.core,"Element"],function(){function a(){if(Ext.enableGarbageCollector){var i,r,u,f;for(i in t)t.hasOwnProperty(i)&&((u=t[i],u.skipGarbageCollection)||(r=u.dom,!r||r.parentNode&&(r.offsetParent||Ext.getElementById(i))||(Ext.enableListenerCollection&&Ext.EventManager.removeAll(r),delete t[i])));if(Ext.isIE){f={};for(i in t)t.hasOwnProperty(i)&&(f[i]=t[i]);t=Ext.cache=f}}else clearInterval(n.collectorThreadId)}var i=document,t=Ext.cache,n=this,r=Ext.dom.AbstractElement,f=/^a|button|embed|iframe|input|object|select|textarea$/i,e=/\S/,o=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,s=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,h=/\ssrc=([\'\"])(.*?)\1/i,c=/\stype=([\'\"])(.*?)\1/i,l=!Ext.isIE8m,u;n.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"><\/div><\/div><\/div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"><\/div><\/div><\/div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"><\/div><\/div><\/div>';n.collectorThreadId=setInterval(a,3e4);n.addMethods({monitorMouseLeave:function(n,t,i){var r=this,u,f={mouseleave:function(f){u=setTimeout(Ext.Function.bind(t,i||r,[f]),n)},mouseenter:function(){clearTimeout(u)},freezeEvent:!0};r.on(f);return f},swallowEvent:function(n,t){var i=this,r,u,f=function(n){n.stopPropagation();t&&n.preventDefault()};if(Ext.isArray(n)){for(u=n.length,r=0;r<u;r++)i.on(n[r],f);return i}i.on(n,f);return i},relayEvent:function(n,t){this.on(n,function(i){t.fireEvent(n,i)})},clean:function(n){var r=this,f=r.dom,o=(r.$cache||r.getCache()).data,t=f.firstChild,s=-1,i;if(o.isCleaned&&n!==!0)return r;while(t)i=t.nextSibling,t.nodeType==3?e.test(t.nodeValue)?i&&i.nodeType==3&&(t.appendData(Ext.String.trim(i.data)),f.removeChild(i),i=t.nextSibling,t.nodeIndex=++s):f.removeChild(t):(u.attach(t).clean(),t.nodeIndex=++s),t=i;return o.isCleaned=!0,r},load:function(n){return this.getLoader().load(n),this},getLoader:function(){var n=this,i=(n.$cache||n.getCache()).data,t=i.loader;return t||(i.loader=t=new Ext.ElementLoader({target:n})),t},syncContent:function(n){n=Ext.getDom(n);var h=n.childNodes,c=h.length,f=this.dom,l=f.childNodes,v=l.length,t,r,i,e,o,a,s;if(Ext.isIE9m&&f.mergeAttributes)f.mergeAttributes(n,!0),f.src=n.src;else for(o=n.attributes,a=o.length,t=0;t<a;t++)s=o[t].name,s!=="id"&&f.setAttribute(s,o[t].value);if(c!==v){f.innerHTML=n.innerHTML;return}for(t=0;t<c;t++){if(i=h[t],r=l[t],e=i.nodeType,e!==r.nodeType||e===1&&i.tagName!==r.tagName){f.innerHTML=n.innerHTML;return}e===3?r.data=i.data:(i.id&&r.id!==i.id&&(r.id=i.id),r.style.cssText=i.style.cssText,r.className=i.className,u.attach(r).syncContent(i))}},update:function(n,t,r){var u=this,f,e,l;return u.dom?(n=n||"",e=u.dom,t!==!0)?(e.innerHTML=n,Ext.callback(r,u),u):(f=Ext.id(),n+='<span id="'+f+'"><\/span>',l=setInterval(function(){var hd,match,attrs,srcMatch,typeMatch,el,s;if(!(el=i.getElementById(f)))return!1;for(clearInterval(l),Ext.removeNode(el),hd=Ext.getHead().dom;match=o.exec(n);)attrs=match[1],srcMatch=attrs?attrs.match(h):!1,srcMatch&&srcMatch[2]?(s=i.createElement("script"),s.src=srcMatch[2],typeMatch=attrs.match(c),typeMatch&&typeMatch[2]&&(s.type=typeMatch[2]),hd.appendChild(s)):match[2]&&match[2].length>0&&(window.execScript?window.execScript(match[2]):window.eval(match[2]));Ext.callback(r,u)},20),e.innerHTML=n.replace(s,""),u):u},removeAllListeners:function(){return this.removeAnchor(),Ext.EventManager.removeAll(this.dom),this},createProxy:function(t,i,r){t=typeof t=="object"?t:{tag:"div",cls:t};var u=this,f=i?Ext.DomHelper.append(i,t,!0):Ext.DomHelper.insertBefore(u.dom,t,!0);return f.setVisibilityMode(n.DISPLAY),f.hide(),r&&u.setBox&&u.getBox&&f.setBox(u.getBox()),f},needsTabIndex:function(){if(this.dom)return this.dom.nodeName==="a"&&!this.dom.href?!0:!f.test(this.dom.nodeName)},isFocusable:function(n){var i=this.dom,u=i.getAttributeNode("tabIndex"),r,e=i.nodeName,t=!1;return u&&u.specified&&(r=u.value),i&&!i.disabled&&(r==-1?t=Ext.FocusManager&&Ext.FocusManager.enabled&&n:f.test(e)?(e!=="a"||i.href)&&(t=!0):t=r!=null&&r>=0,t=t&&this.isVisible(!0)),t}});Ext.isIE&&(n.prototype.getById=function(r,u){var s=this.dom,e,f,o;return s&&(f=l&&i.getElementById(r)||s.all[r],f)?(u?o=f:(e=t[r],o=e&&e.el?Ext.updateCacheEntry(e,f).el:new n(f)),o):u?Ext.getDom(r):n.get(r)});n.createAlias({addListener:"on",removeListener:"un",clearListeners:"removeAllListeners",focusable:"isFocusable"});n.Fly=r.Fly=new Ext.Class({extend:n,isFly:!0,constructor:function(n){this.dom=n;this.el=this},attach:r.Fly.prototype.attach});u=new n.Fly;Ext.isIE?Ext.getElementById=function(n){var t=i.getElementById(n),u;return!t&&(u=r.detachedBodyEl)&&(t=u.dom.all[n]),t}:i.querySelector||(Ext.getDetachedBody=Ext.getBody,Ext.getElementById=function(n){return i.getElementById(n)})});Ext.cmd.derive("Ext.dom.CompositeElementLite",Ext.Base,{alternateClassName:"Ext.CompositeElementLite",statics:{importElementMethods:function(){var n,i=Ext.dom.Element.prototype,t=this.prototype;for(n in i)typeof i[n]=="function"&&function(n){t[n]=t[n]||function(){return this.invoke(n,arguments)}}.call(t,n)}},constructor:function(n,t){this.elements=[];this.add(n,t);this.el=new Ext.dom.AbstractElement.Fly},isComposite:!0,getElement:function(n){return this.el.attach(n)},transformElement:function(n){return Ext.getDom(n)},getCount:function(){return this.elements.length},add:function(n,t){var u=this.elements,i,r;if(!n)return this;for(typeof n=="string"?n=Ext.dom.Element.selectorFunction(n,t):n.isComposite?n=n.elements:Ext.isIterable(n)||(n=[n]),i=0,r=n.length;i<r;++i)u.push(this.transformElement(n[i]));return this},invoke:function(n,t){var u=this.elements,f=u.length,r,i;for(n=Ext.dom.Element.prototype[n],i=0;i<f;i++)r=u[i],r&&n.apply(this.getElement(r),t);return this},item:function(n){var t=this.elements[n],i=null;return t&&(i=this.getElement(t)),i},slice:function(){return this.elements.slice.apply(this.elements,arguments)},addListener:function(n,t,i,r){for(var e=this.elements,o=e.length,f,u=0;u<o;u++)if(f=e[u],f)Ext.EventManager.on(f,n,t,i||f,r);return this},each:function(n,t){for(var u=this,f=u.elements,e=f.length,i,r=0;r<e;r++)if(i=f[r],i&&(i=this.getElement(i),n.call(t||i,i,u,r)===!1))break;return u},fill:function(n){var t=this;return t.elements=[],t.add(n),t},insert:function(n,t){Ext.Array.insert(this.elements,n,t)},filter:function(n){for(var i=this,f=i.elements,o=f.length,e=[],r=0,s=typeof n=="function",u,t;r<o;r++)t=f[r],u=!1,t&&(t=i.getElement(t),u=s?n.call(t,t,i,r)!==!1:t.is(n),u&&e.push(i.transformElement(t)));return i.elements=e,i},indexOf:function(n){return Ext.Array.indexOf(this.elements,this.transformElement(n))},replaceElement:function(n,t,i){var u=isNaN(n)?this.indexOf(n):n,r;return u>-1&&(t=Ext.getDom(t),i&&(r=this.elements[u],r.parentNode.insertBefore(t,r),Ext.removeNode(r)),Ext.Array.splice(this.elements,u,1,t)),this},clear:function(n){var r=this,i=r.elements,t=i.length-1;if(n)for(;t>=0;t--)Ext.removeNode(i[t]);this.elements=[]},addElements:function(n,t){if(!n)return this;typeof n=="string"&&(n=Ext.dom.Element.selectorFunction(n,t));for(var r=this.elements,u=n.length,i=0;i<u;i++)r.push(Ext.get(n[i]));return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(n){return this.indexOf(n)!=-1},removeElement:function(n,t){n=[].concat(n);for(var f=this,e=f.elements,o=n.length,i,r,u=0;u<o;u++)i=n[u],(r=e[i]||e[i=f.indexOf(i)])&&(t&&(r.dom?r.remove():Ext.removeNode(r)),Ext.Array.erase(e,i,1));return f}},1,0,0,0,0,0,[Ext.dom,"CompositeElementLite",Ext,"CompositeElementLite"],function(){this.importElementMethods();this.prototype.on=this.prototype.addListener;Ext.DomQuery&&(Ext.dom.Element.selectorFunction=Ext.DomQuery.select);Ext.dom.Element.select=function(n,t){var i;return typeof n=="string"?i=Ext.dom.Element.selectorFunction(n,t):n.length!==undefined&&(i=n),new Ext.CompositeElementLite(i)};Ext.select=function(){return Ext.dom.Element.select.apply(Ext.dom.Element,arguments)}});Ext.cmd.derive("Ext.dom.CompositeElement",Ext.dom.CompositeElementLite,{alternateClassName:"Ext.CompositeElement",getElement:function(n){return n},transformElement:function(n){return Ext.get(n)}},0,0,0,0,0,0,[Ext.dom,"CompositeElement",Ext,"CompositeElement"],function(){Ext.dom.Element.select=function(n,t,i){var r;return typeof n=="string"?r=Ext.dom.Element.selectorFunction(n,i):n.length!==undefined&&(r=n),t===!0?new Ext.CompositeElement(r):new Ext.CompositeElementLite(r)}});Ext.select=Ext.Element.select;Ext.cmd.derive("Ext.util.HashMap",Ext.Base,{generation:0,constructor:function(n){n=n||{};var t=this,i=n.keyFn;t.initialConfig=n;t.addEvents("add","clear","remove","replace");t.mixins.observable.constructor.call(t,n);t.clear(!0);i&&(t.getKey=i)},getCount:function(){return this.length},getData:function(n,t){return t===undefined&&(t=n,n=this.getKey(t)),[n,t]},getKey:function(n){return n.id},add:function(n,t){var i=this;return(arguments.length===1&&(t=n,n=i.getKey(t)),i.containsKey(n))?i.replace(n,t):(i.map[n]=t,++i.length,i.generation++,i.hasListeners.add&&i.fireEvent("add",i,n,t),t)},replace:function(n,t){var i=this,r=i.map,u;return arguments.length===1&&(t=n,n=i.getKey(t)),i.containsKey(n)||i.add(n,t),u=r[n],r[n]=t,i.generation++,i.hasListeners.replace&&i.fireEvent("replace",i,n,t,u),t},remove:function(n){var t=this.findKey(n);return t!==undefined?this.removeAtKey(t):!1},removeAtKey:function(n){var t=this,i;return t.containsKey(n)?(i=t.map[n],delete t.map[n],--t.length,t.generation++,t.hasListeners.remove&&t.fireEvent("remove",t,n,i),!0):!1},get:function(n){var t=this.map;return t.hasOwnProperty(n)?t[n]:undefined},clear:function(n){var t=this;return(n||t.generation)&&(t.map={},t.length=0,t.generation=n?0:t.generation+1),n!==!0&&t.hasListeners.clear&&t.fireEvent("clear",t),t},containsKey:function(n){var t=this.map;return t.hasOwnProperty(n)&&t[n]!==undefined},contains:function(n){return this.containsKey(this.findKey(n))},getKeys:function(){return this.getArray(!0)},getValues:function(){return this.getArray(!1)},getArray:function(n){var r=[],t,i=this.map;for(t in i)i.hasOwnProperty(t)&&r.push(n?t:i[t]);return r},each:function(n,t){var r=Ext.apply({},this.map),i,u=this.length;t=t||this;for(i in r)if(r.hasOwnProperty(i)&&n.call(t,i,r[i],u)===!1)break;return this},clone:function(){var n=new this.self(this.initialConfig),i=this.map,t;n.suspendEvents();for(t in i)i.hasOwnProperty(t)&&n.add(t,i[t]);return n.resumeEvents(),n},findKey:function(n){var t,i=this.map;for(t in i)if(i.hasOwnProperty(t)&&i[t]===n)return t;return undefined}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.util,"HashMap"],0);Ext.cmd.derive("Ext.AbstractManager",Ext.Base,{typeName:"type",constructor:function(n){Ext.apply(this,n||{});this.all=new Ext.util.HashMap;this.types={}},get:function(n){return this.all.get(n)},register:function(n){this.all.add(n)},unregister:function(n){this.all.remove(n)},registerType:function(n,t){this.types[n]=t;t[this.typeName]=n},isRegistered:function(n){return this.types[n]!==undefined},create:function(n,t){var i=n[this.typeName]||n.type||t,r=this.types[i];return new r(n)},onAvailable:function(n,t,i){var r=this.all,u,f;if(r.containsKey(n))u=r.get(n),t.call(i||u,u);else{f=function(u,e,o){e==n&&(t.call(i||o,o),r.un("add",f))};r.on("add",f)}},each:function(n,t){this.all.each(n,t||this)},getCount:function(){return this.all.getCount()}},1,0,0,0,0,0,[Ext,"AbstractManager"],0);Ext.cmd.derive("Ext.ComponentManager",Ext.AbstractManager,{alternateClassName:"Ext.ComponentMgr",singleton:!0,typeName:"xtype",create:function(n,t){return typeof n=="string"?Ext.widget(n):n.isComponent?n:Ext.widget(n.xtype||t,n)},registerType:function(n,t){this.types[n]=t;t[this.typeName]=n;t.prototype[this.typeName]=n}},0,0,0,0,0,0,[Ext,"ComponentManager",Ext,"ComponentMgr"],function(){Ext.getCmp=function(n){return Ext.ComponentManager.get(n)}});Ext.cmd.derive("Ext.ComponentQuery",Ext.Base,{singleton:!0},0,0,0,0,0,0,[Ext,"ComponentQuery"],function(){var n=this,t=Ext.dom.Query.operators,o=/(\d*)n\+?(\d*)/,s=/\D/,h="var r = [],i = 0,it = items,l = it.length,c;for (; i < l; i++) {c = it[i];if (c.{0}) {r.push(c);}}return r;",i=function(n,t){return t.method.apply(this,[n].concat(t.args))},r=function(n,t){for(var i=[],r=0,f=n.length,u,e=t!==">";r<f;r++)u=n[r],u.getRefItems&&(i=i.concat(u.getRefItems(e)));return i},c=function(n){for(var r=[],i=0,u=n.length,t;i<u;i++)for(t=n[i];!!(t=t.getRefOwner());)r.push(t);return r},u=function(n,t,i){if(t==="*")return n.slice();for(var f=[],r=0,e=n.length,u;r<e;r++)u=n[r],u.isXType(t,i)&&f.push(u);return f},l=function(n,t){for(var u=[],i=0,f=n.length,r;i<f;i++)r=n[i],r.hasCls(t)&&u.push(r);return u},a=function(n,i,r,u){var o=[],h=0,v=n.length,c,l,e,f,s,a;for(i.charAt(0)==="@"&&(c=!0,i=i.substr(1)),i.charAt(0)==="?"&&(c=!0,l=!0,i=i.substr(1));h<v;h++)if(e=n[h],!c||e.hasOwnProperty(i))if(f=e[i],l)o.push(e);else if(r==="~="){if(f)for(Ext.isArray(f)||(f=f.split(" ")),s=0,a=f.length;s<a;s++)if(t[r](Ext.coerce(f[s],u),u)){o.push(e);break}}else(u?t[r](Ext.coerce(f,u),u):!!e[i])&&o.push(e);return o},f=function(n,t){for(var u=[],i=0,f=n.length,r;i<f;i++)r=n[i],r.getItemId()===t&&u.push(r);return u},v=function(t,i,r){return n.pseudos[i](t,r)},y=/^(\s?([>\^])\s?|\s|$)/,p=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,e=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:u},{re:/^(?:\[((?:@|\?)?[\w\-\$]*[^\^\$\*~%!])\s?(?:(=|.=)\s?['"]?(.*?)["']?)?\])/,method:a},{re:/^#([\w\-]+)/,method:f},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:v},{re:/^(?:\{([^\}]+)\})/,method:h}];n.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(n){var e=this.operations,f=0,o=e.length,u,t;for(n?Ext.isIterable(n)?t=n:n.isMixedCollection&&(t=n.items):t=Ext.ComponentManager.all.getArray();f<o;f++)if(u=e[f],t=u.mode==="^"?c(t||[n]):u.mode?r(t||[n],u.mode):i(t||r([n]),u),f===o-1)return t;return[]},is:function(n){var u=this.operations,t=Ext.isArray(n)?n:[n],e=t.length,o=u[u.length-1],f,r;if(t=i(t,o),t.length===e){if(u.length>1)for(r=0,f=t.length;r<f;r++)if(Ext.Array.indexOf(this.execute(),t[r])===-1)return!1;return!0}return!1}});Ext.apply(this,{cache:{},pseudos:{not:function(n,t){for(var f=Ext.ComponentQuery,i=0,e=n.length,u=[],o=-1,r;i<e;++i)r=n[i],f.is(r,t)||(u[++o]=r);return u},first:function(n){var t=[];return n.length>0&&t.push(n[0]),t},last:function(n){var t=n.length,i=[];return t>0&&i.push(n[t-1]),i},focusable:function(n){for(var u=n.length,r=[],t=0,i;t<u;t++)i=n[t],i.isFocusable()&&r.push(i);return r},"nth-child":function(n,t){for(var r=[],h=o.exec(t=="even"&&"2n"||t=="odd"&&"2n+1"||!s.test(t)&&"n+"+t||t),c=(h[1]||1)-0,u=h[2]-0,f,e,i=0;f=n[i];i++)e=i+1,c==1?(u==0||e==u)&&r.push(f):(e+u)%c==0&&r.push(f);return r}},query:function(n,t){for(var f=n.split(","),e=f.length,i=0,r=[],o=[],s={},h,c,u;i<e;i++)n=Ext.String.trim(f[i]),h=this.cache[n]||(this.cache[n]=this.parse(n)),r=r.concat(h.execute(t));if(e>1){for(c=r.length,i=0;i<c;i++)u=r[i],s[u.id]||(o.push(u),s[u.id]=!0);r=o}return r},is:function(n,t){if(!t)return!0;for(var r=t.split(","),f=r.length,i=0,u;i<f;i++)if(t=Ext.String.trim(r[i]),u=this.cache[t]||(this.cache[t]=this.parse(t)),u.is(n))return!0;return!1},parse:function(t){for(var r=[],v=e.length,w,i,a,o,s,h,c,b;t&&w!==t;){for(w=t,i=t.match(p),i&&(a=i[1],a==="#"?r.push({method:f,args:[Ext.String.trim(i[2])]}):a==="."?r.push({method:l,args:[Ext.String.trim(i[2])]}):r.push({method:u,args:[Ext.String.trim(i[2]),Boolean(i[3])]}),t=t.replace(i[0],""));!(o=t.match(y));)for(h=0;t&&h<v;h++){if(c=e[h],s=t.match(c.re),b=c.method,s){r.push({method:Ext.isString(c.method)?Ext.functionFactory("items",Ext.String.format.apply(Ext.String,[b].concat(s.slice(1)))):c.method,args:s.slice(1)});t=t.replace(s[0],"");break}h===v-1&&Ext.Error.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}o[1]&&(r.push({mode:o[2]||o[1]}),t=t.replace(o[0],""))}return new n.Query({operations:r})}})});Ext.cmd.derive("Ext.util.ProtoElement",Ext.Base,function(){var n=Ext.String.splitWords,t=Ext.Array.toMap;return{isProtoEl:!0,clsProp:"cls",styleProp:"style",removedProp:"removed",styleIsText:!1,constructor:function(i){var r=this;Ext.apply(r,i);r.classList=n(r.cls);r.classMap=t(r.classList);delete r.cls;Ext.isFunction(r.style)?(r.styleFn=r.style,delete r.style):typeof r.style=="string"?r.style=Ext.Element.parseStyles(r.style):r.style&&(r.style=Ext.apply({},r.style))},flush:function(){this.flushClassList=[];this.removedClasses={};delete this.style;delete this.unselectableAttr},addCls:function(t){for(var r=this,f=typeof t=="string"?n(t):t,s=f.length,h=r.classList,e=r.classMap,o=r.flushClassList,u=0,i;u<s;++u)i=f[u],e[i]||(e[i]=!0,h.push(i),o&&(o.push(i),delete r.removedClasses[i]));return r},hasCls:function(n){return n in this.classMap},removeCls:function(i){for(var u=this,e=u.classList,h=u.classList=[],c=t(n(i)),l=e.length,o=u.classMap,s=u.removedClasses,r,f=0;f<l;++f)r=e[f],c[r]?(s&&o[r]&&(s[r]=!0,Ext.Array.remove(u.flushClassList,r)),delete o[r]):h.push(r);return u},setStyle:function(n,t){var i=this,r=i.style||(i.style={});return typeof n=="string"?arguments.length===1?i.setStyle(Ext.Element.parseStyles(n)):r[n]=t:Ext.apply(r,n),i},unselectable:function(){this.addCls(Ext.dom.Element.unselectableCls);Ext.isOpera&&(this.unselectableAttr=!0)},writeTo:function(n){var t=this,u=t.flushClassList||t.classList,r=t.removedClasses,i;return t.styleFn?(i=Ext.apply({},t.styleFn()),Ext.apply(i,t.style)):i=t.style,n[t.clsProp]=u.join(" "),i&&(n[t.styleProp]=t.styleIsText?Ext.DomHelper.generateStyles(i):i),r&&(r=Ext.Object.getKeys(r),r.length&&(n[t.removedProp]=r.join(" "))),t.unselectableAttr&&(n.unselectable="on"),n}}}(),1,0,0,0,0,0,[Ext.util,"ProtoElement"],0);Ext.cmd.derive("Ext.PluginManager",Ext.AbstractManager,{alternateClassName:"Ext.PluginMgr",singleton:!0,typeName:"ptype",create:function(n,t,i){var r;return n.init?r=n:(i?(n=Ext.apply({},n),n.cmp=i):i=n.cmp,n.xclass?r=Ext.create(n):(r=Ext.ClassManager.getByAlias("plugin."+(n.ptype||t)),typeof r=="function"&&(r=new r(n)))),r&&i&&r.setCmp&&!r.setCmpCalled&&(r.setCmp(i),r.setCmpCalled=!0),r},findByType:function(n,t){var f=[],r=this.types,u,i;for(u in r)r.hasOwnProperty(u)&&(i=r[u],i.type==n&&(!t||t===!0&&i.isDefault)&&f.push(i));return f}},0,0,0,0,0,0,[Ext,"PluginManager",Ext,"PluginMgr"],function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.cmd.derive("Ext.util.Filter",Ext.Base,{id:null,anyMatch:!1,exactMatch:!1,caseSensitive:!1,disabled:!1,operator:null,statics:{createFilterFn:function(n){return n&&n.length?function(t){for(var r=!0,f=n.length,i,u=0;r&&u<f;u++)i=n[u],i.disabled||(r=r&&i.filterFn.call(i.scope||i,t));return r}:function(){return!0}}},operatorFns:{"<":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)<this.value},"<=":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)<=this.value},"=":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)==this.value},">=":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)>=this.value},">":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)>this.value},"!=":function(n){return Ext.coerce(this.getRoot(n)[this.property],this.value)!=this.value}},constructor:function(n){var t=this;t.initialConfig=n;Ext.apply(t,n);t.filter=t.filter||t.filterFn;t.filter===undefined&&t.setValue(n.value)},setValue:function(n){var t=this;t.value=n;t.property===undefined||t.value===undefined||(t.filter=t.createFilterFn());t.filterFn=t.filter},setFilterFn:function(n){this.filterFn=this.filter=n},createFilterFn:function(){var n=this,t=n.createValueMatcher(),i=n.property;return n.operator?n.operatorFns[n.operator]:function(r){var u=n.getRoot(r)[i];return t===null?u===null:t.test(u)}},getRoot:function(n){var t=this.root;return t===undefined?n:n[t]},createValueMatcher:function(){var t=this,n=t.value,r=t.anyMatch,u=t.exactMatch,f=t.caseSensitive,i=Ext.String.escapeRegex;return n===null?n:(n.exec||(n=String(n),r===!0?n=i(n):(n="^"+i(n),u===!0&&(n+="$")),n=new RegExp(n,f?"":"i")),n)},serialize:function(){var n=this,t=Ext.apply({},n.initialConfig);return t.value=n.value,t}},1,0,0,0,0,0,[Ext.util,"Filter"],function(){this.prototype.operatorFns["=="]=this.prototype.operatorFns["="]});Ext.cmd.derive("Ext.util.AbstractMixedCollection",Ext.Base,{isMixedCollection:!0,generation:0,indexGeneration:0,constructor:function(n,t){var i=this;arguments.length===1&&Ext.isObject(n)?(i.initialConfig=n,Ext.apply(i,n)):(i.allowFunctions=n===!0,t&&(i.getKey=t),i.initialConfig={allowFunctions:i.allowFunctions,getKey:i.getKey});i.items=[];i.map={};i.keys=[];i.indexMap={};i.length=0;i.mixins.observable.constructor.call(i)},allowFunctions:!1,add:function(n,t){var i=this.length;return arguments.length===1?this.insert(i,n):this.insert(i,n,t)},getKey:function(n){return n.id},replace:function(n,t){var i=this,r,u;return(arguments.length==1&&(t=arguments[0],n=i.getKey(t)),r=i.map[n],typeof n=="undefined"||n===null||typeof r=="undefined")?i.add(n,t):(i.generation++,u=i.indexOfKey(n),i.items[u]=t,i.map[n]=t,i.hasListeners.replace&&i.fireEvent("replace",n,r,t),t)},updateKey:function(n,t){var i=this,r=i.map,f=i.indexMap,u=i.indexOfKey(n),e;u>-1&&(e=r[n],delete r[n],delete f[n],r[t]=e,f[t]=u,i.keys[u]=t,i.generation++)},addAll:function(n){var i=this,t;if(arguments.length>1||Ext.isArray(n))i.insert(i.length,arguments.length>1?arguments:n);else for(t in n)n.hasOwnProperty(t)&&(i.allowFunctions||typeof n[t]!="function")&&i.add(t,n[t])},each:function(n,t){for(var u=Ext.Array.push([],this.items),i=0,f=u.length,r;i<f;i++)if(r=u[i],n.call(t||r,r,i,f)===!1)break},eachKey:function(n,t){for(var r=this.keys,f=this.items,i=0,u=r.length;i<u;i++)n.call(t||window,r[i],f[i],i,u)},findBy:function(n,t){for(var u=this.keys,r=this.items,i=0,f=r.length;i<f;i++)if(n.call(t||window,r[i],u[i]))return r[i];return null},find:function(){return Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead."),this.findBy.apply(this,arguments)},insert:function(n,t,i){var r;return Ext.isIterable(t)?r=this.doInsert(n,t,i):(r=arguments.length>2?this.doInsert(n,[t],[i]):this.doInsert(n,[t]),r=r[0]),r},doInsert:function(n,t,i){var u=this,f,s,r,e=t.length,h=e,y=u.hasListeners.add,c,o={},l,a,v;if(i!=null)u.useLinearSearch=!0;else for(i=t,t=new Array(e),r=0;r<e;r++)t[r]=this.getKey(i[r]);for(u.suspendEvents(),r=0;r<e;r++)f=t[r],s=u.indexOfKey(f),s!==-1&&(s<n&&n--,u.removeAt(s)),f!=null&&(o[f]!=null&&(l=!0,h--),o[f]=r);if(u.resumeEvents(),l){a=t;v=i;t=new Array(h);i=new Array(h);r=0;for(f in o)t[r]=a[o[f]],i[r]=v[o[f]],r++;e=h}for(c=n===u.length&&u.indexGeneration===u.generation,Ext.Array.insert(u.items,n,i),Ext.Array.insert(u.keys,n,t),u.length+=e,u.generation++,c&&(u.indexGeneration=u.generation),r=0;r<e;r++,n++)f=t[r],f!=null&&(u.map[f]=i[r],c&&(u.indexMap[f]=n)),y&&u.fireEvent("add",n,i[r],f);return i},remove:function(n){var t=this,r,i;return i=!t.useLinearSearch&&(r=t.getKey(n))?t.indexOfKey(r):Ext.Array.indexOf(t.items,n),i===-1?!1:t.removeAt(i)},removeAll:function(n){var t=this,i;if(n||t.hasListeners.remove)if(n)for(i=n.length-1;i>=0;--i)t.remove(n[i]);else while(t.length)t.removeAt(0);else t.length=t.items.length=t.keys.length=0,t.map={},t.indexMap={},t.generation++,t.indexGeneration=t.generation},removeAt:function(n){var t=this,r,i;return n<t.length&&n>=0?(t.length--,r=t.items[n],Ext.Array.erase(t.items,n,1),i=t.keys[n],typeof i!="undefined"&&delete t.map[i],Ext.Array.erase(t.keys,n,1),t.hasListeners.remove&&t.fireEvent("remove",r,i),t.generation++,r):!1},removeRange:function(n,t){var i=this,s,u,r,f,e,o;if(n<i.length&&n>=0){for(t||(t=1),f=Math.min(n+t,i.length),t=f-n,o=f===i.length,e=o&&i.indexGeneration===i.generation,r=n;r<f;r++)u=i.keys[r],u!=null&&(delete i.map[u],e&&delete i.indexMap[u]);return s=i.items[r-1],i.length-=t,i.generation++,e&&(i.indexGeneration=i.generation),o?i.items.length=i.keys.length=i.length:(i.items.splice(n,t),i.keys.splice(n,t)),s}return!1},removeAtKey:function(n){var i=this,r=i.keys,t;if(n==null)for(t=r.length-1;t>=0;t--)r[t]==null&&i.removeAt(t);else return i.removeAt(i.indexOfKey(n))},getCount:function(){return this.length},indexOf:function(n){var t=this,i;return n!=null?!t.useLinearSearch&&(i=t.getKey(n))?this.indexOfKey(i):Ext.Array.indexOf(t.items,n):-1},indexOfKey:function(n){return this.map.hasOwnProperty(n)?(this.indexGeneration!==this.generation&&this.rebuildIndexMap(),this.indexMap[n]):-1},rebuildIndexMap:function(){for(var t=this,r=t.indexMap={},i=t.keys,u=i.length,n=0;n<u;n++)r[i[n]]=n;t.indexGeneration=t.generation},get:function(n){var t=this,i=t.map[n],r=i!==undefined?i:typeof n=="number"?t.items[n]:undefined;return typeof r!="function"||t.allowFunctions?r:null},getAt:function(n){return this.items[n]},getByKey:function(n){return this.map[n]},contains:function(n){var t=this,i;return n!=null?!t.useLinearSearch&&(i=t.getKey(n))?this.map[i]!=null:Ext.Array.indexOf(this.items,n)!==-1:!1},containsKey:function(n){return this.map.hasOwnProperty(n)},clear:function(){var n=this;n.generation&&(n.length=0,n.items=[],n.keys=[],n.map={},n.indexMap={},n.generation++,n.indexGeneration=n.generation);n.hasListeners.clear&&n.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(n,t,i,r){var f=this.extractValues(n,t),o=f.length,e=0,u;for(i=i||0,r=r||r===0?r:o-1,u=i;u<=r;u++)e+=f[u];return e},collect:function(n,t,i){for(var e=this.extractValues(n,t),h=e.length,o={},s=[],r,f,u=0;u<h;u++)r=e[u],f=String(r),!i&&Ext.isEmpty(r)||o[f]||(o[f]=!0,s.push(r));return s},extractValues:function(n,t){var i=this.items;return t&&(i=Ext.Array.pluck(i,t)),Ext.Array.pluck(i,n)},hasRange:function(n,t){return t<this.length},getRange:function(n,t){var o=this,u=o.items,i=[],r=u.length,f,e;return r<1?i:(n>t&&(e=!0,f=n,n=t,t=f),n<0&&(n=0),(t==null||t>=r)&&(t=r-1),i=u.slice(n,t+1),e&&i.length&&i.reverse(),i)},filter:function(n,t,i,r){var u=[];return Ext.isString(n)?u.push(new Ext.util.Filter({property:n,value:t,anyMatch:i,caseSensitive:r})):(Ext.isArray(n)||n instanceof Ext.util.Filter)&&(u=u.concat(n)),this.filterBy(Ext.util.Filter.createFilterFn(u))},filterBy:function(n,t){var r=this,u=new r.self(r.initialConfig),e=r.keys,f=r.items,o=f.length,i;for(u.getKey=r.getKey,i=0;i<o;i++)n.call(t||r,f[i],e[i])&&u.add(e[i],f[i]);return u},findIndex:function(n,t,i,r,u){return Ext.isEmpty(t,!1)?-1:(t=this.createValueMatcher(t,r,u),this.findIndexBy(function(i){return i&&t.test(i[n])},null,i))},findIndexBy:function(n,t,i){for(var u=this,e=u.keys,f=u.items,r=i||0,o=f.length;r<o;r++)if(n.call(t||u,f[r],e[r]))return r;return-1},createValueMatcher:function(n,t,i,r){if(!n.exec){var u=Ext.String.escapeRegex;n=String(n);t===!0?n=u(n):(n="^"+u(n),r===!0&&(n+="$"));n=new RegExp(n,i?"":"i")}return n},clone:function(){var n=this,t=new this.self(n.initialConfig);return t.add(n.keys,n.items),t}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.util,"AbstractMixedCollection"],0);Ext.cmd.derive("Ext.util.Sorter",Ext.Base,{direction:"ASC",constructor:function(n){var t=this;Ext.apply(t,n);t.updateSortFunction()},createSortFunction:function(n){var t=this,i=t.direction||"ASC",r=i.toUpperCase()=="DESC"?-1:1;return function(i,u){return r*n.call(t,i,u)}},defaultSorterFn:function(n,t){var i=this,f=i.transform,r=i.getRoot(n)[i.property],u=i.getRoot(t)[i.property];return f&&(r=f(r),u=f(u)),r>u?1:r<u?-1:0},getRoot:function(n){return this.root===undefined?n:n[this.root]},setDirection:function(n){var t=this;t.direction=n?n.toUpperCase():n;t.updateSortFunction()},toggle:function(){var n=this;n.direction=Ext.String.toggle(n.direction,"ASC","DESC");n.updateSortFunction()},updateSortFunction:function(n){var t=this;n=n||t.sorterFn||t.defaultSorterFn;t.sort=t.createSortFunction(n)},serialize:function(){return{root:this.root,property:this.property,direction:this.direction}}},1,0,0,0,0,0,[Ext.util,"Sorter"],0);Ext.cmd.derive("Ext.util.Sortable",Ext.Base,{isSortable:!0,defaultSortDirection:"ASC",statics:{createComparator:function(n){return n&&n.length?function(t,i){for(var r=n[0].sort(t,i),f=n.length,u=1;u<f;u++)r=r||n[u].sort.call(this,t,i);return r}:function(){return 0}}},initSortable:function(){var n=this,t=n.sorters;n.sorters=new Ext.util.AbstractMixedCollection(!1,function(n){return n.id||n.property});t&&n.sorters.addAll(n.decodeSorters(t))},sort:function(n,t,i,r){var u=this,e,f;if(Ext.isArray(n)?(r=i,i=t,f=n):Ext.isObject(n)?(r=i,i=t,f=[n]):Ext.isString(n)&&(e=u.sorters.get(n),e?t===undefined?e.toggle():e.setDirection(t):(e={property:n,direction:t},f=[e])),f&&f.length&&(f=u.decodeSorters(f),Ext.isString(i)?i==="prepend"?u.sorters.insert(0,f):u.sorters.addAll(f):(u.sorters.clear(),u.sorters.addAll(f))),r!==!1){u.fireEvent("beforesort",u,f);u.onBeforeSort(f);n=u.sorters.items;n.length&&u.doSort(u.generateComparator())}return n},generateComparator:function(){var n=this.sorters.getRange();return n.length?this.createComparator(n):this.emptyComparator},emptyComparator:function(){return 0},onBeforeSort:Ext.emptyFn,decodeSorters:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var f=n.length,e=Ext.util.Sorter,u=this.model?this.model.prototype.fields:null,r,t,i=0;i<f;i++)t=n[i],t instanceof e||(Ext.isString(t)&&(t={property:t}),Ext.applyIf(t,{root:this.sortRoot,direction:"ASC"}),t.fn&&(t.sorterFn=t.fn),typeof t=="function"&&(t={sorterFn:t}),u&&!t.transform&&(r=u.get(t.property),t.transform=r&&r.sortType!==Ext.identityFn?r.sortType:undefined),n[i]=new Ext.util.Sorter(t));return n},getSorters:function(){return this.sorters.items},getFirstSorter:function(){for(var i=this.sorters.items,r=i.length,n=0,t;n<r;++n)if(t=i[n],!t.isGrouper)return t;return null}},0,0,0,0,0,0,[Ext.util,"Sortable"],function(){this.prototype.createComparator=this.createComparator});Ext.cmd.derive("Ext.util.MixedCollection",Ext.util.AbstractMixedCollection,{constructor:function(){var n=this;n.callParent(arguments);n.addEvents("sort");n.mixins.sortable.initSortable.call(n)},doSort:function(n){this.sortBy(n)},_sort:function(n,t,i){var u=this,r,e,c=String(t).toUpperCase()=="DESC"?-1:1,f=[],h=u.keys,s=u.items,o;for(i=i||function(n,t){return n-t},r=0,e=s.length;r<e;r++)f[f.length]={key:h[r],value:s[r],index:r};for(Ext.Array.sort(f,function(t,r){return i(t[n],r[n])*c||(t.index<r.index?-1:1)}),r=0,e=f.length;r<e;r++)o=f[r],s[r]=o.value,h[r]=o.key,u.indexMap[o.key]=r;u.generation++;u.indexGeneration=u.generation;u.fireEvent("sort",u)},sortBy:function(n){for(var i=this,r=i.items,f,e=i.keys,u,o=r.length,t=0;t<o;t++)r[t].$extCollectionIndex=t;for(Ext.Array.sort(r,function(t,i){return n(t,i)||(t.$extCollectionIndex<i.$extCollectionIndex?-1:1)}),t=0;t<o;t++)f=r[t],u=i.getKey(f),e[t]=u,i.indexMap[u]=t,delete r.$extCollectionIndex;i.generation++;i.indexGeneration=i.generation;i.fireEvent("sort",i,r,e)},findInsertionIndex:function(n,t){var e=this,o=e.items,i=0,u=o.length-1,r,f;for(t||(t=e.generateComparator());i<=u;)r=i+u>>1,f=t(n,o[r]),f>=0?i=r+1:f<0&&(u=r-1);return i},reorder:function(n){var i=this,u=i.items,t=0,e=u.length,r=[],o=[],f;i.suspendEvents();for(f in n)r[n[f]]=u[f];for(t=0;t<e;t++)n[t]==undefined&&o.push(u[t]);for(t=0;t<e;t++)r[t]==undefined&&(r[t]=o.shift());i.clear();i.addAll(r);i.resumeEvents();i.fireEvent("sort",i)},sortByKey:function(n,t){this._sort("key",n,t||function(n,t){var i=String(n).toUpperCase(),r=String(t).toUpperCase();return i>r?1:i<r?-1:0})}},1,0,0,0,0,[["sortable",Ext.util.Sortable]],[Ext.util,"MixedCollection"],0);Ext.cmd.derive("Ext.fx.target.Target",Ext.Base,{isAnimTarget:!0,constructor:function(n){this.target=n;this.id=this.getId()},getId:function(){return this.target.id}},1,0,0,0,0,0,[Ext.fx.target,"Target"],0);Ext.cmd.derive("Ext.fx.target.Element",Ext.fx.target.Target,{type:"element",getElVal:function(n,t,i){return i==undefined&&(i=t==="x"?n.getX():t==="y"?n.getY():t==="scrollTop"?n.getScroll().top:t==="scrollLeft"?n.getScroll().left:t==="height"?n.getHeight():t==="width"?n.getWidth():n.getStyle(t)),i},getAttr:function(n,t){var i=this.target;return[[i,this.getElVal(i,n,t)]]},setAttr:function(n){for(var s=this.target,o=n.length,t,i,f,u,e,r=0;r<o;r++){t=n[r].attrs;for(i in t)if(t.hasOwnProperty(i))for(e=t[i].length,u=0;u<e;u++)f=t[i][u],this.setElVal(f[0],i,f[1])}},setElVal:function(n,t,i){t==="x"?n.setX(i):t==="y"?n.setY(i):t==="scrollTop"?n.scrollTo("top",i):t==="scrollLeft"?n.scrollTo("left",i):t==="width"?n.setWidth(i):t==="height"?n.setHeight(i):n.setStyle(t,i)}},0,0,0,0,0,0,[Ext.fx.target,"Element"],0);Ext.cmd.derive("Ext.fx.target.ElementCSS",Ext.fx.target.Element,{setAttr:function(n,t){for(var f={attrs:[],duration:[],easing:[]},c=n.length,l,i,e,o,s,r,h,a,u=0;u<c;u++){i=n[u];s=i.duration;o=i.easing;i=i.attrs;for(e in i)Ext.Array.indexOf(f.attrs,e)==-1&&(f.attrs.push(e.replace(/[A-Z]/g,function(n){return"-"+n.toLowerCase()})),f.duration.push(s+"ms"),f.easing.push(o))}for(l=f.attrs.join(","),s=f.duration.join(","),o=f.easing.join(", "),u=0;u<c;u++){i=n[u].attrs;for(e in i)for(a=i[e].length,h=0;h<a;h++)if(r=i[e][h],r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",t?"":l),r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",t?"":s),r[0].setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",t?"":o),r[0].setStyle(e,r[1]),t)r=r[0].dom.offsetWidth;else r[0].on(Ext.supports.CSS3TransitionEnd,function(){this.setStyle(Ext.supports.CSS3Prefix+"TransitionProperty",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionDuration",null);this.setStyle(Ext.supports.CSS3Prefix+"TransitionTimingFunction",null)},r[0],{single:!0})}}},0,0,0,0,0,0,[Ext.fx.target,"ElementCSS"],0);Ext.cmd.derive("Ext.fx.target.CompositeElement",Ext.fx.target.Element,{isComposite:!0,constructor:function(n){n.id=n.id||Ext.id(null,"ext-composite-");this.callParent([n])},getAttr:function(n,t){for(var u=[],f=this.target,e=f.elements,o=e.length,i,r=0;r<o;r++)i=e[r],i&&(i=f.getElement(i),u.push([i,this.getElVal(i,n,t)]));return u},setAttr:function(n){for(var e=this.target,c=n.length,o=e.elements,l=o.length,s,r,t,i,f,h,u=0;u<c;u++){t=n[u].attrs;for(i in t)if(t.hasOwnProperty(i))for(h=t[i].length,f=0;f<h;f++)for(s=t[i][f][1],r=0;r<l;++r)el=o[r],el&&(el=e.getElement(el),this.setElVal(el,i,s))}}},1,0,0,0,0,0,[Ext.fx.target,"CompositeElement"],0);Ext.cmd.derive("Ext.fx.target.CompositeElementCSS",Ext.fx.target.CompositeElement,{setAttr:function(){return Ext.fx.target.ElementCSS.prototype.setAttr.apply(this,arguments)}},0,0,0,0,0,0,[Ext.fx.target,"CompositeElementCSS"],0);Ext.cmd.derive("Ext.fx.target.Sprite",Ext.fx.target.Target,{type:"draw",getFromPrim:function(n,t){var i;switch(t){case"rotate":case"rotation":return i=n.attr.rotation,{x:i.x||0,y:i.y||0,degrees:i.degrees||0};case"scale":case"scaling":return i=n.attr.scaling,{x:i.x||1,y:i.y||1,cx:i.cx||0,cy:i.cy||0};case"translate":case"translation":return i=n.attr.translation,{x:i.x||0,y:i.y||0};default:return n.attr[t]}},getAttr:function(n,t){return[[this.target,t!=undefined?t:this.getFromPrim(this.target,n)]]},setAttr:function(n){for(var l=n.length,e=[],a,t,h,i,v,c,o,s,u,f,y,r=0;r<l;r++){a=n[r].attrs;for(t in a)for(h=a[t],y=h.length,s=0;s<y;s++)v=h[s][0],i=h[s][1],t==="translate"||t==="translation"?o={x:i.x,y:i.y}:t==="rotate"||t==="rotation"?(u=i.x,isNaN(u)&&(u=null),f=i.y,isNaN(f)&&(f=null),o={degrees:i.degrees,x:u,y:f}):t==="scale"||t==="scaling"?(u=i.x,isNaN(u)&&(u=null),f=i.y,isNaN(f)&&(f=null),o={x:u,y:f,cx:i.cx,cy:i.cy}):o=t==="width"||t==="height"||t==="x"||t==="y"?parseFloat(i):i,c=Ext.Array.indexOf(e,v),c==-1&&(e.push([v,{}]),c=e.length-1),e[c][1][t]=o}for(l=e.length,r=0;r<l;r++)e[r][0].setAttributes(e[r][1]);this.target.redraw()}},0,0,0,0,0,0,[Ext.fx.target,"Sprite"],0);Ext.cmd.derive("Ext.fx.target.CompositeSprite",Ext.fx.target.Sprite,{getAttr:function(n,t){for(var u=[],f=[].concat(this.target.items),e=f.length,r,i=0;i<e;i++)r=f[i],u.push([r,t!=undefined?t:this.getFromPrim(r,n)]);return u}},0,0,0,0,0,0,[Ext.fx.target,"CompositeSprite"],0);Ext.cmd.derive("Ext.fx.target.Component",Ext.fx.target.Target,{type:"component",getPropMethod:{top:function(){return this.getPosition(!0)[1]},left:function(){return this.getPosition(!0)[0]},x:function(){return this.getPosition()[0]},y:function(){return this.getPosition()[1]},height:function(){return this.getHeight()},width:function(){return this.getWidth()},opacity:function(){return this.el.getStyle("opacity")}},setMethods:{top:"setPosition",left:"setPosition",x:"setPagePosition",y:"setPagePosition",height:"setSize",width:"setSize",opacity:"setOpacity"},getAttr:function(n,t){return[[this.target,t!==undefined?t:this.getPropMethod[n].call(this.target)]]},setAttr:function(n,t,i){for(var h=this,w=n.length,e,f,r,s,v,y,p,c,l,u={},a,o=0;o<w;o++){e=n[o].attrs;for(f in e)for(v=e[f].length,s=0;s<v;s++)r=e[f][s],a=u[h.setMethods[f]]||(u[h.setMethods[f]]={}),a.target=r[0],a[f]=r[1];if(u.setPosition&&(r=u.setPosition,y=r.left===undefined?undefined:parseFloat(r.left),p=r.top===undefined?undefined:parseFloat(r.top),r.target.setPosition(y,p)),u.setPagePosition&&(r=u.setPagePosition,r.target.setPagePosition(r.x,r.y)),u.setSize&&(r=u.setSize,c=r.width===undefined?r.target.getWidth():parseFloat(r.width),l=r.height===undefined?r.target.getHeight():parseFloat(r.height),r.target.el.setSize(c,l),i||h.dynamic))Ext.globalEvents.on({idle:Ext.Function.bind(r.target.setSize,r.target,[c,l]),single:!0});u.setOpacity&&(r=u.setOpacity,r.target.el.setStyle("opacity",r.opacity))}}},0,0,0,0,0,0,[Ext.fx.target,"Component"],0);Ext.cmd.derive("Ext.fx.Queue",Ext.Base,{constructor:function(){this.targets=new Ext.util.HashMap;this.fxQueue={}},getFxDefaults:function(n){var t=this.targets.get(n);return t?t.fxDefaults:{}},setFxDefaults:function(n,t){var i=this.targets.get(n);i&&(i.fxDefaults=Ext.apply(i.fxDefaults||{},t))},stopAnimation:function(n){for(var r=this,i=r.getFxQueue(n),t=i.length;t;)i[t-1].end(),t--},getActiveAnimation:function(n){var t=this.getFxQueue(n);return t&&!!t.length?t[0]:!1},hasFxBlock:function(n){var t=this.getFxQueue(n);return t&&t[0]&&t[0].block},getFxQueue:function(n){if(!n)return!1;var t=this,r=t.fxQueue[n],i=t.targets.get(n);if(!i)return!1;if(!r&&(t.fxQueue[n]=[],i.type!="element"))i.target.on("destroy",function(){t.fxQueue[n]=[]});return t.fxQueue[n]},queueFx:function(n){var r=this,i=n.target,t,u;if(i){if(t=r.getFxQueue(i.getId()),u=t.length,u)if(n.concurrent)n.paused=!1;else t[u-1].on("afteranimate",function(){n.paused=!1});else n.paused=!1;n.on("afteranimate",function(){if(Ext.Array.remove(t,n),t.length===0&&r.targets.remove(n.target),n.remove&&i.type=="element"){var u=Ext.get(i.id);u&&u.remove()}},r,{single:!0});t.push(n)}}},1,0,0,0,0,0,[Ext.fx,"Queue"],0);Ext.cmd.derive("Ext.fx.Manager",Ext.Base,{singleton:!0,constructor:function(){var n=this;n.items=new Ext.util.MixedCollection;n.mixins.queue.constructor.call(n);n.taskRunner=new Ext.util.TaskRunner},interval:16,forceJS:!0,createTarget:function(n){var r=this,i=!r.forceJS&&Ext.supports.Transitions,t;if(r.useCSS3=i,n){if(n.tagName||Ext.isString(n)||n.isFly)n=Ext.get(n),t=new Ext.fx.target["Element"+(i?"CSS":"")](n);else if(n.dom)t=new Ext.fx.target["Element"+(i?"CSS":"")](n);else if(n.isComposite)t=new Ext.fx.target["CompositeElement"+(i?"CSS":"")](n);else if(n.isSprite)t=new Ext.fx.target.Sprite(n);else if(n.isCompositeSprite)t=new Ext.fx.target.CompositeSprite(n);else if(n.isComponent)t=new Ext.fx.target.Component(n);else return n.isAnimTarget?n:null;return r.targets.add(t),t}return null},addAnim:function(n){var t=this,r=t.items,i=t.task;r.add(n.id,n);!i&&r.length&&(i=t.task={run:t.runner,interval:t.interval,scope:t},t.taskRunner.start(i))},removeAnim:function(n){var t=this,i=t.items,r=t.task;i.removeAtKey(n.id);r&&!i.length&&(t.taskRunner.stop(r),delete t.task)},runner:function(){var t=this,r=t.items.getRange(),n=0,u=r.length,i;for(t.targetArr={},t.timestamp=new Date;n<u;n++)i=r[n],i.isReady()&&t.startAnim(i);for(n=0;n<u;n++)i=r[n],i.isRunning()&&t.runAnim(i);t.applyPendingAttrs()},startAnim:function(n){n.start(this.timestamp)},runAnim:function(n){if(n){var r=this,u=r.useCSS3&&n.target.type=="element",f=r.timestamp-n.startTime,e=f>=n.duration,t,i;if(t=this.collectTargetData(n,f,u,e),u){n.target.setAttr(t.anims[n.id].attributes,!0);r.collectTargetData(n,n.duration,u,e);n.paused=!0;t=n.target.target;n.target.isComposite&&(t=n.target.target.last());i={};i[Ext.supports.CSS3TransitionEnd]=n.lastFrame;i.scope=n;i.single=!0;t.on(i)}}},collectTargetData:function(n,t,i,r){var f=n.target.getId(),u=this.targetArr[f];return u||(u=this.targetArr[f]={id:f,el:n.target,anims:{}}),u.anims[n.id]={id:n.id,anim:n,elapsed:t,isLastFrame:r,attributes:[{duration:n.duration,easing:i&&n.reverse?n.easingFn.reverse().toCSS3():n.easing,attrs:n.runAnim(t)}]},u},applyPendingAttrs:function(){var i=this.targetArr,t,r,n,u,f;for(r in i)if(i.hasOwnProperty(r)){t=i[r];for(f in t.anims)t.anims.hasOwnProperty(f)&&(n=t.anims[f],u=n.anim,n.attributes&&u.isRunning()&&(t.el.setAttr(n.attributes,!1,n.isLastFrame),n.isLastFrame&&u.lastFrame()))}}},1,0,0,0,0,[["queue",Ext.fx.Queue]],[Ext.fx,"Manager"],0);Ext.cmd.derive("Ext.fx.Animator",Ext.Base,{isAnimator:!0,duration:250,delay:0,delayStart:0,dynamic:!1,easing:"ease",running:!1,paused:!1,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(n){var t=this;n=Ext.apply(t,n||{});t.config=n;t.id=Ext.id(null,"ext-animator-");t.addEvents("beforeanimate","keyframe","afteranimate");t.mixins.observable.constructor.call(t,n);t.timeline=[];t.createTimeline(t.keyframes);t.target&&(t.applyAnimator(t.target),Ext.fx.Manager.addAnim(t))},sorter:function(n,t){return n.pct-t.pct},createTimeline:function(n){var u=this,i=[],c=u.to||{},e=u.duration,o,s,r,h,t,f;for(t in n)n.hasOwnProperty(t)&&u.animKeyFramesRE.test(t)&&(f={attrs:Ext.apply(n[t],c)},t=="from"?t=0:t=="to"&&(t=100),f.pct=parseInt(t,10),i.push(f));for(Ext.Array.sort(i,u.sorter),h=i.length,r=0;r<h;r++)o=i[r-1]?e*(i[r-1].pct/100):0,s=e*(i[r].pct/100),u.timeline.push({duration:s-o,attrs:i[r].attrs})},applyAnimator:function(n){var i=this,f=[],o=i.timeline,e=o.length,t,s,h,u,r;if(i.fireEvent("beforeanimate",i)!==!1){for(r=0;r<e;r++)t=o[r],u=t.attrs,s=u.easing||i.easing,h=u.damper||i.damper,delete u.easing,delete u.damper,t=new Ext.fx.Anim({target:n,easing:s,damper:h,duration:t.duration,paused:!0,to:u}),f.push(t);for(i.animations=f,i.target=t.target,r=0;r<e-1;r++){t=f[r];t.nextAnim=f[r+1];t.on("afteranimate",function(){this.nextAnim.paused=!1});t.on("afteranimate",function(){this.fireEvent("keyframe",this,++this.keyframeStep)},i)}f[e-1].on("afteranimate",function(){this.lastFrame()},i)}},start:function(n){var t=this,i=t.delay,r=t.delayStart,u;if(i)if(r){if(u=n-r,u<i)return;n=new Date(r.getTime()+i)}else{t.delayStart=n;return}t.fireEvent("beforeanimate",t)!==!1&&(t.startTime=n,t.running=!0,t.animations[t.keyframeStep].paused=!1)},lastFrame:function(){var n=this,i=n.iterations,t=n.currentIteration;t++;t<i?(n.startTime=new Date,n.currentIteration=t,n.keyframeStep=0,n.applyAnimator(n.target),n.animations[n.keyframeStep].paused=!1):(n.currentIteration=0,n.end())},end:function(){var n=this;n.fireEvent("afteranimate",n,n.startTime,new Date-n.startTime)},isReady:function(){return this.paused===!1&&this.running===!1&&this.iterations>0},isRunning:function(){return!1}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.fx,"Animator"],0);Ext.cmd.derive("Ext.fx.CubicBezier",Ext.Base,{singleton:!0,cubicBezierAtTime:function(n,t,i,r,u,f){function l(n){return((h*n+o)*n+e)*n}function v(n,t){var i=y(n,t);return((a*i+c)*i+s)*i}function y(n,t){for(var r,u,f,s,i=n,c=0;c<8;c++){if(f=l(i)-n,Math.abs(f)<t)return i;if(s=(3*h*i+2*o)*i+e,Math.abs(s)<1e-6)break;i=i-f/s}if(r=0,u=1,i=n,i<r)return r;if(i>u)return u;while(r<u){if(f=l(i),Math.abs(f-n)<t)return i;n>f?r=i:u=i;i=(u-r)/2+r}return i}var e=3*t,o=3*(r-t)-e,h=1-e-o,s=3*i,c=3*(u-i)-s,a=1-s-c;return v(n,1/(200*f))},cubicBezier:function(n,t,i,r){var u=function(u){return Ext.fx.CubicBezier.cubicBezierAtTime(u,n,t,i,r,1)};return u.toCSS3=function(){return"cubic-bezier("+[n,t,i,r].join(",")+")"},u.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-i,1-r,1-n,1-t)},u}},0,0,0,0,0,0,[Ext.fx,"CubicBezier"],0);Ext.require("Ext.fx.CubicBezier",function(){var t=Math,f=t.PI,n=t.pow,e=t.sin,u=t.sqrt,i=t.abs,r=1.70158;Ext.define("Ext.fx.Easing",{singleton:!0,linear:Ext.identityFn,ease:function(t){var f=.07813-t/2,e=u(.0066+f*f),o=e-f,h=n(i(o),1/3)*(o<0?-1:1),s=-e-f,c=n(i(s),1/3)*(s<0?-1:1),r=h+c+.25;return n(1-r,2)*3*r*.1+(1-r)*3*r*r+r*r*r},easeIn:function(t){return n(t,1.7)},easeOut:function(t){return n(t,.48)},easeInOut:function(t){var f=.48-t/1.04,e=u(.1734+f*f),o=e-f,h=n(i(o),1/3)*(o<0?-1:1),s=-e-f,c=n(i(s),1/3)*(s<0?-1:1),r=h+c+.5;return(1-r)*3*r*r+r*r*r},backIn:function(n){return n*n*((r+1)*n-r)},backOut:function(n){return n=n-1,n*n*((r+1)*n+r)+1},elasticIn:function(t){if(t===0||t===1)return t;var i=.3,r=i/4;return n(2,-10*t)*e((t-r)*2*f/i)+1},elasticOut:function(n){return 1-Ext.fx.Easing.elasticIn(1-n)},bounceIn:function(n){return 1-Ext.fx.Easing.bounceOut(1-n)},bounceOut:function(n){var r=7.5625,t=2.75,i;return n<1/t?i=r*n*n:n<2/t?(n-=1.5/t,i=r*n*n+.75):n<2.5/t?(n-=2.25/t,i=r*n*n+.9375):(n-=2.625/t,i=r*n*n+.984375),i}},function(){var t=Ext.fx.Easing.self,n=t.prototype;t.implement({"back-in":n.backIn,"back-out":n.backOut,"ease-in":n.easeIn,"ease-out":n.easeOut,"elastic-in":n.elasticIn,"elastic-out":n.elasticOut,"bounce-in":n.bounceIn,"bounce-out":n.bounceOut,"ease-in-out":n.easeInOut})})});Ext.cmd.derive("Ext.draw.Color",Ext.Base,{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:.2,constructor:function(n,t,i){var r=this,u=Ext.Number.constrain;r.r=u(n,0,255);r.g=u(t,0,255);r.b=u(i,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var n=this;return[n.r,n.g,n.b]},getHSL:function(){var o=this,i=o.r/255,r=o.g/255,e=o.b/255,n=Math.max(i,r,e),u=Math.min(i,r,e),f=n-u,t,s=0,h=.5*(n+u);return u!=n&&(s=h<.5?f/(n+u):f/(2-n-u),t=i==n?60*(r-e)/f:r==n?120+60*(e-i)/f:240+60*(i-r)/f,t<0&&(t+=360),t>=360&&(t-=360)),[t,s,h]},getLighter:function(n){var t=this.getHSL();return n=n||this.lightnessFactor,t[2]=Ext.Number.constrain(t[2]+n,0,1),this.fromHSL(t[0],t[1],t[2])},getDarker:function(n){return n=n||this.lightnessFactor,this.getLighter(-n)},toString:function(){var r=this,u=Math.round,n=u(r.r).toString(16),t=u(r.g).toString(16),i=u(r.b).toString(16);return n=n.length==1?"0"+n:n,t=t.length==1?"0"+t:t,i=i.length==1?"0"+i:i,["#",n,t,i].join("")},toHex:function(n){if(Ext.isArray(n)&&(n=n[0]),!Ext.isString(n))return"";if(n.substr(0,1)==="#")return n;var t=this.colorToHexRe.exec(n),i,r,u,f;return Ext.isArray(t)?(i=parseInt(t[2],10),r=parseInt(t[3],10),u=parseInt(t[4],10),f=u|r<<8|i<<16,t[1]+"#"+("000000"+f.toString(16)).slice(-6)):n},fromString:function(n){var t,i,r,u,f=parseInt;return(n.length==4||n.length==7)&&n.substr(0,1)==="#"?(t=n.match(this.hexRe),t&&(i=f(t[1],16)>>0,r=f(t[2],16)>>0,u=f(t[3],16)>>0,n.length==4&&(i+=i*16,r+=r*16,u+=u*16))):(t=n.match(this.rgbRe),t&&(i=t[1],r=t[2],u=t[3])),typeof i=="undefined"?undefined:new Ext.draw.Color(i,r,u)},getGrayscale:function(){return this.r*.3+this.g*.59+this.b*.11},fromHSL:function(n,t,i){var u,f,e,r=[],o=Math.abs,s=Math.floor;if(t==0||n==null)r=[i,i,i];else{n/=60;u=t*(1-o(2*i-1));f=u*(1-o(n-2*s(n/2)-1));e=i-u/2;switch(s(n)){case 0:r=[u,f,0];break;case 1:r=[f,u,0];break;case 2:r=[0,u,f];break;case 3:r=[0,f,u];break;case 4:r=[f,0,u];break;case 5:r=[u,0,f]}r=[r[0]+e,r[1]+e,r[2]+e]}return new Ext.draw.Color(r[0]*255,r[1]*255,r[2]*255)}},3,0,0,0,0,0,[Ext.draw,"Color"],function(){var n=this.prototype;this.addStatics({fromHSL:function(){return n.fromHSL.apply(n,arguments)},fromString:function(){return n.fromString.apply(n,arguments)},toHex:function(){return n.toHex.apply(n,arguments)}})});Ext.cmd.derive("Ext.draw.Draw",Ext.Base,{singleton:!0,pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(n,t){return t=String(t).toLowerCase(),t=="object"&&n===Object(n)||t=="undefined"&&typeof n==t||t=="null"&&n===null||t=="array"&&Array.isArray&&Array.isArray(n)||Object.prototype.toString.call(n).toLowerCase().slice(8,-1)==t},ellipsePath:function(n){var t=n.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",t.x,t.y-t.ry,t.rx,t.ry,t.y+t.ry)},rectPath:function(n){var t=n.attr;return t.radius?Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",t.x+t.radius,t.y,t.width-t.radius*2,t.radius,-t.radius,t.height-t.radius*2,t.radius*2-t.width,t.radius*2-t.height):Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z",t.x,t.y,t.width+t.x,t.height+t.y)},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(n){return n.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(n){if(!n)return null;var r={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},t=[],i=this;return i.is(n,"array")&&i.is(n[0],"array")&&(t=i.pathClone(n)),t.length||String(n).replace(i.pathCommandRE,function(n,u,f){var e=[],o=u.toLowerCase();for(f.replace(i.pathValuesRE,function(n,t){t&&e.push(+t)}),o=="m"&&e.length>2&&(t.push([u].concat(Ext.Array.splice(e,0,2))),o="l",u=u=="m"?"l":"L");e.length>=r[o];)if(t.push([u].concat(Ext.Array.splice(e,0,r[o]))),!r[o])break}),t.toString=i.path2string,t},mapPath:function(n,t){if(!t)return n;var f,e,u,o,i,s,r;for(n=this.path2curve(n),u=0,o=n.length;u<o;u++)for(r=n[u],i=1,s=r.length;i<s-1;i+=2)f=t.x(r[i],r[i+1]),e=t.y(r[i],r[i+1]),r[i]=f,r[i+1]=e;return n},pathClone:function(n){var r=[],i,u,t,f;for(this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n)),t=0,f=n.length;t<f;t++)for(r[t]=[],i=0,u=n[t].length;i<u;i++)r[t][i]=n[t][i];return r.toString=this.path2string,r},pathToAbsolute:function(n){this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n));var s=[],u=0,f=0,h=0,c=0,o=0,l=n.length,i,t,r,e;for(l&&n[0][0]=="M"&&(u=+n[0][1],f=+n[0][2],h=u,c=f,o++,s[0]=["M",u,f]);o<l;o++){if(i=s[o]=[],t=n[o],t[0]!=t[0].toUpperCase()){i[0]=t[0].toUpperCase();switch(i[0]){case"A":i[1]=t[1];i[2]=t[2];i[3]=t[3];i[4]=t[4];i[5]=t[5];i[6]=+(t[6]+u);i[7]=+(t[7]+f);break;case"V":i[1]=+t[1]+f;break;case"H":i[1]=+t[1]+u;break;case"M":h=+t[1]+u;c=+t[2]+f;default:for(r=1,e=t.length;r<e;r++)i[r]=+t[r]+(r%2?u:f)}}else for(r=0,e=t.length;r<e;r++)s[o][r]=t[r];switch(i[0]){case"Z":u=h;f=c;break;case"H":u=i[1];break;case"V":f=i[1];break;case"M":t=s[o];e=t.length;h=t[e-2];c=t[e-1];default:t=s[o];e=t.length;u=t[e-2];f=t[e-1]}}return s.toString=this.path2string,s},pathToRelative:function(n){this.is(n,"array")&&this.is(n&&n[0],"array")||(n=this.parsePathString(n));var u=[],e=0,f=0,c=0,l=0,a=0,i,t,r,o,s,h,v,y,p;for(n[0][0]=="M"&&(e=n[0][1],f=n[0][2],c=e,l=f,a++,u.push(["M",e,f])),r=a,v=n.length;r<v;r++){if(i=u[r]=[],t=n[r],t[0]!=t[0].toLowerCase()){i[0]=t[0].toLowerCase();switch(i[0]){case"a":i[1]=t[1];i[2]=t[2];i[3]=t[3];i[4]=t[4];i[5]=t[5];i[6]=+(t[6]-e).toFixed(3);i[7]=+(t[7]-f).toFixed(3);break;case"v":i[1]=+(t[1]-f).toFixed(3);break;case"m":c=t[1];l=t[2];default:for(o=1,y=t.length;o<y;o++)i[o]=+(t[o]-(o%2?e:f)).toFixed(3)}}else for(i=u[r]=[],t[0]=="m"&&(c=t[1]+e,l=t[2]+f),s=0,p=t.length;s<p;s++)u[r][s]=t[s];h=u[r].length;switch(u[r][0]){case"z":e=c;f=l;break;case"h":e+=+u[r][h-1];break;case"v":f+=+u[r][h-1];break;default:e+=+u[r][h-2];f+=+u[r][h-1]}}return u.toString=this.path2string,u},path2curve:function(n){for(var o=this,i=o.pathToAbsolute(n),s=i.length,r={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u,f,e,t=0;t<s;t++){if(i[t]=o.command2curve(i[t],r),i[t].length>7){for(i[t].shift(),e=i[t];e.length;)Ext.Array.splice(i,t++,0,["C"].concat(Ext.Array.splice(e,0,6)));Ext.Array.erase(i,t,1);s=i.length;t--}u=i[t];f=u.length;r.x=u[f-2];r.y=u[f-1];r.bx=parseFloat(u[f-4])||r.x;r.by=parseFloat(u[f-3])||r.y}return i},interpolatePaths:function(n,t){for(var l=this,r=l.pathToAbsolute(n),u=l.pathToAbsolute(t),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},v=function(n,t){if(n[t].length>7){n[t].shift();for(var i=n[t];i.length;)Ext.Array.splice(n,t++,0,["C"].concat(Ext.Array.splice(i,0,6)));Ext.Array.erase(n,t,1);a=Math.max(r.length,u.length||0)}},y=function(n,t,i,f,e){n&&t&&n[e][0]=="M"&&t[e][0]!="M"&&(Ext.Array.splice(t,e,0,["M",f.x,f.y]),i.bx=0,i.by=0,i.x=n[e][1],i.y=n[e][2],a=Math.max(r.length,u.length||0))},o,s,h,c,i=0,a=Math.max(r.length,u.length||0);i<a;i++)r[i]=l.command2curve(r[i],f),v(r,i),u[i]=l.command2curve(u[i],e),v(u,i),y(r,u,f,e,i),y(u,r,e,f,i),o=r[i],s=u[i],h=o.length,c=s.length,f.x=o[h-2],f.y=o[h-1],f.bx=parseFloat(o[h-4])||f.x,f.by=parseFloat(o[h-3])||f.y,e.bx=parseFloat(s[c-4])||e.x,e.by=parseFloat(s[c-3])||e.y,e.x=s[c-2],e.y=s[c-1];return[r,u]},command2curve:function(n,t){var i=this;if(!n)return["C",t.x,t.y,t.x,t.y,t.x,t.y];n[0]!="T"&&n[0]!="Q"&&(t.qx=t.qy=null);switch(n[0]){case"M":t.X=n[1];t.Y=n[2];break;case"A":n=["C"].concat(i.arc2curve.apply(i,[t.x,t.y].concat(n.slice(1))));break;case"S":n=["C",t.x+(t.x-(t.bx||t.x)),t.y+(t.y-(t.by||t.y))].concat(n.slice(1));break;case"T":t.qx=t.x+(t.x-(t.qx||t.x));t.qy=t.y+(t.y-(t.qy||t.y));n=["C"].concat(i.quadratic2curve(t.x,t.y,t.qx,t.qy,n[1],n[2]));break;case"Q":t.qx=n[1];t.qy=n[2];n=["C"].concat(i.quadratic2curve(t.x,t.y,n[1],n[2],n[3],n[4]));break;case"L":n=["C"].concat(t.x,t.y,n[1],n[2],n[1],n[2]);break;case"H":n=["C"].concat(t.x,t.y,n[1],t.y,n[1],t.y);break;case"V":n=["C"].concat(t.x,t.y,t.x,n[1],t.x,n[1]);break;case"Z":n=["C"].concat(t.x,t.y,t.X,t.Y,t.X,t.Y)}return n},quadratic2curve:function(n,t,i,r,u,f){var e=1/3,o=2/3;return[e*n+o*i,e*t+o*r,e*u+o*i,e*f+o*r,u,f]},rotate:function(n,t,i){var r=Math.cos(i),u=Math.sin(i),f=n*r-t*u,e=n*u+t*r;return{x:f,y:e}},arc2curve:function(n,t,i,r,u,f,e,o,s,h){var k=this,w=Math.PI,si=k.radian,bt=w*120/180,rt=si*(+u||0),a=[],d=Math,ot=d.cos,st=d.sin,kt=d.sqrt,dt=d.abs,gt=d.asin,g,y,p,nt,ut,ft,ht,tt,it,l,c,et,ni,ti,ii,ri,ct,lt,at,vt,b,yt,pt,wt,v,ui,fi,ei,oi;if(h?(l=h[0],c=h[1],tt=h[2],it=h[3]):(g=k.rotate(n,t,-rt),n=g.x,t=g.y,g=k.rotate(o,s,-rt),o=g.x,s=g.y,y=(n-o)/2,p=(t-s)/2,nt=y*y/(i*i)+p*p/(r*r),nt>1&&(nt=kt(nt),i=nt*i,r=nt*r),ut=i*i,ft=r*r,ht=(f==e?-1:1)*kt(dt((ut*ft-ut*p*p-ft*y*y)/(ut*p*p+ft*y*y))),tt=ht*i*p/r+(n+o)/2,it=ht*-r*y/i+(t+s)/2,l=gt(((t-it)/r).toFixed(7)),c=gt(((s-it)/r).toFixed(7)),l=n<tt?w-l:l,c=o<tt?w-c:c,l<0&&(l=w*2+l),c<0&&(c=w*2+c),e&&l>c&&(l=l-w*2),!e&&c>l&&(c=c-w*2)),et=c-l,dt(et)>bt&&(fi=c,ei=o,oi=s,c=l+bt*(e&&c>l?1:-1),o=tt+i*ot(c),s=it+r*st(c),a=k.arc2curve(o,s,i,r,u,0,e,ei,oi,[c,fi,tt,it])),et=c-l,ni=ot(l),ti=st(l),ii=ot(c),ri=st(c),ct=d.tan(et/4),lt=4/3*i*ct,at=4/3*r*ct,vt=[n,t],b=[n+lt*ti,t-at*ni],yt=[o+lt*ri,s-at*ii],pt=[o,s],b[0]=2*vt[0]-b[0],b[1]=2*vt[1]-b[1],h)return[b,yt,pt].concat(a);for(a=[b,yt,pt].concat(a).join().split(","),wt=[],ui=a.length,v=0;v<ui;v++)wt[v]=v%2?k.rotate(a[v-1],a[v],rt).y:k.rotate(a[v],a[v+1],rt).x;return wt},rotateAndTranslatePath:function(n){var o=n.rotation.degrees,h=n.rotation.x,c=n.rotation.y,u=n.translation.x,f=n.translation.y,s,e,t,r,i,l=[];if(!o&&!u&&!f)return this.pathToAbsolute(n.attr.path);for(u=u||0,f=f||0,s=this.pathToAbsolute(n.attr.path),e=s.length;e--;)if(t=l[e]=s[e].slice(),t[0]=="A")r=this.rotatePoint(t[6],t[7],o,h,c),t[6]=r.x+u,t[7]=r.y+f;else for(i=1;t[i+1]!=null;)r=this.rotatePoint(t[i],t[i+1],o,h,c),t[i]=r.x+u,t[i+1]=r.y+f,i+=2;return l},rotatePoint:function(n,t,i,r,u){if(!i)return{x:n,y:t};r=r||0;u=u||0;n=n-r;t=t-u;i=i*this.radian;var f=Math.cos(i),e=Math.sin(i);return{x:n*f-t*e+r,y:n*e+t*f+u}},pathDimensions:function(n){if(!n||!(n+""))return{x:0,y:0,width:0,height:0};n=this.path2curve(n);for(var f=0,e=0,i=[],r=[],o=0,a=n.length,t,s,h,c,l,u;o<a;o++)t=n[o],t[0]=="M"?(f=t[1],e=t[2],i.push(f),r.push(e)):(u=this.curveDim(f,e,t[1],t[2],t[3],t[4],t[5],t[6]),i=i.concat(u.min.x,u.max.x),r=r.concat(u.min.y,u.max.y),f=t[5],e=t[6]);return s=Math.min.apply(0,i),h=Math.min.apply(0,r),c=Math.max.apply(0,i),l=Math.max.apply(0,r),{x:Math.round(s),y:Math.round(h),path:n,width:Math.round(c-s),height:Math.round(l-h)}},intersectInside:function(n,t,i){return(i[0]-t[0])*(n[1]-t[1])>(i[1]-t[1])*(n[0]-t[0])},intersectIntersection:function(n,t,i,r){var u=[],f=i[0]-r[0],e=i[1]-r[1],o=n[0]-t[0],s=n[1]-t[1],h=i[0]*r[1]-i[1]*r[0],c=n[0]*t[1]-n[1]*t[0],l=1/(f*s-e*o);return u[0]=(h*o-c*f)*l,u[1]=(h*s-c*e)*l,u},intersect:function(n,t){for(var o=this,c=0,l=t.length,r=t[l-1],u=n,i,f,e,a,s,h;c<l;++c){for(i=t[c],s=u,u=[],f=s[s.length-1],h=0,a=s.length;h<a;h++)e=s[h],o.intersectInside(e,r,i)?(o.intersectInside(f,r,i)||u.push(o.intersectIntersection(f,e,r,i)),u.push(e)):o.intersectInside(f,r,i)&&u.push(o.intersectIntersection(f,e,r,i)),f=e;r=i}return u},bezier:function(n,t,i,r,u){if(u===0)return n;if(u===1)return r;var f=1-u,o=f*f*f,e=u/f;return o*(n+e*(3*t+e*(3*i+r*e)))},bezierDim:function(n,t,i,r){var f=[],u,s,e,y,h,c,v,l,a,o;for(n+3*i==r+3*t?(u=n-t,u/=2*(n-t-t+i),u<1&&u>0&&f.push(u)):(s=n-3*t+3*i-r,e=2*(n-t-t+i),y=n-t,h=e*e-4*s*y,c=s+s,h===0?(u=e/c,u<1&&u>0&&f.push(u)):h>0&&(v=Math.sqrt(h),u=(v+e)/c,u<1&&u>0&&f.push(u),u=(e-v)/c,u<1&&u>0&&f.push(u))),l=Math.min(n,r),a=Math.max(n,r),o=0;o<f.length;o++)l=Math.min(l,this.bezier(n,t,i,r,f[o])),a=Math.max(a,this.bezier(n,t,i,r,f[o]));return[l,a]},curveDim:function(n,t,i,r,u,f,e,o){var s=this.bezierDim(n,i,u,e),h=this.bezierDim(t,r,f,o);return{min:{x:s[0],y:h[0]},max:{x:s[1],y:h[1]}}},getAnchors:function(n,t,i,r,u,f,e){e=e||4;var l=Math,a=l.PI,b=a/2,y=l.abs,g=l.sin,nt=l.cos,tt=l.atan,k,d,o,s,p,h,w,c,v;return k=(i-n)/e,d=(u-i)/e,r>=t&&r>=f||r<=t&&r<=f?o=s=b:(o=tt((i-n)/y(r-t)),t<r&&(o=a-o),s=tt((u-i)/y(r-f)),f<r&&(s=a-s)),v=b-(o+s)%(a*2)/2,v>b&&(v-=a),o+=v,s+=v,p=i-k*g(o),h=r+k*nt(o),w=i+d*g(s),c=r+d*nt(s),(r>t&&h<t||r<t&&h>t)&&(p+=y(t-h)*(p-i)/(h-r),h=t),(r>f&&c<f||r<f&&c>f)&&(w-=y(f-c)*(w-i)/(c-r),c=f),{x1:p,y1:h,x2:w,y2:c}},smooth:function(n,t){for(var e=this.path2curve(n),r=[e[0]],y=e[0][1],p=e[0][2],w,o,s=1,d=e.length,h=1,l=y,a=p,i,u,c,v,f,b,k;s<d;s++){if(i=e[s],u=i.length,c=e[s-1],v=c.length,f=e[s+1],b=f&&f.length,i[0]=="M"){for(l=i[1],a=i[2],w=s+1;e[w][0]!="C";)w++;r.push(["M",l,a]);h=r.length;y=l;p=a;continue}i[u-2]!=l||i[u-1]!=a||f&&f[0]!="M"?o=f&&f[0]!="M"?this.getAnchors(c[v-2],c[v-1],i[u-2],i[u-1],f[b-2],f[b-1],t):{x1:i[u-2],y1:i[u-1]}:(k=r[h].length,o=this.getAnchors(c[v-2],c[v-1],l,a,r[h][k-2],r[h][k-1],t),r[h][1]=o.x2,r[h][2]=o.y2);r.push(["C",y,p,o.x1,o.y1,i[u-2],i[u-1]]);y=o.x2;p=o.y2}return r},findDotAtSegment:function(n,t,i,r,u,f,e,o,s){var h=1-s;return{x:Math.pow(h,3)*n+Math.pow(h,2)*3*s*i+h*3*s*s*u+Math.pow(s,3)*e,y:Math.pow(h,3)*t+Math.pow(h,2)*3*s*r+h*3*s*s*f+Math.pow(s,3)*o}},snapEnds:function(n,t,i,r){if(Ext.isDate(n))return this.snapEndsByDate(n,t,i);var f=(t-n)/i,e=Math.floor(Math.log(f)/Math.LN10)+1,o=Math.pow(10,e),u,s,y=Math.round(f%o*Math.pow(10,2-e)),a=[[0,15],[10,1],[20,4],[25,2],[50,9],[100,15]],h=0,l,v,c,p,w=1e9,b=a.length;if(s=Math.floor(n/o)*o,n==s&&s>0&&(s=Math.floor((n-o/10)/o)*o),r){for(c=0;c<b;c++)l=a[c][0],v=l-y<0?1e6:(l-y)/a[c][1],v<w&&(p=l,w=v);if(f=Math.floor(f*Math.pow(10,-e))*Math.pow(10,e)+p*Math.pow(10,e-2),n<0&&t>=0){for(u=0;u>n;)u-=f,h++;for(n=+u.toFixed(10),u=0;u<t;)u+=f,h++;t=+u.toFixed(10)}else for(u=n=s;u<t;)u+=f,h++;t=+u.toFixed(10)}else n=s,h=i;return{from:n,to:t,power:e,step:f,steps:h}},snapEndsByDate:function(n,t,i,r){for(var e=!1,s=[[Ext.Date.MILLI,[1,2,5,10,20,50,100,200,250,500]],[Ext.Date.SECOND,[1,2,5,10,15,30]],[Ext.Date.MINUTE,[1,2,5,10,15,30]],[Ext.Date.HOUR,[1,2,3,4,6,12]],[Ext.Date.DAY,[1,2,7,14]],[Ext.Date.MONTH,[1,2,3,6]]],l=s.length,h=!1,u,f,c,o=0;o<l;o++)if(u=s[o],!h)for(f=0;f<u[1].length;f++)if(t<Ext.Date.add(n,u[0],u[1][f]*i)){e=[u[0],u[1][f]];h=!0;break}return e||(c=this.snapEnds(n.getFullYear(),t.getFullYear()+1,i,r),e=[Date.YEAR,Math.round(c.step)]),this.snapEndsByDateAndStep(n,t,e,r)},snapEndsByDateAndStep:function(n,t,i,r){var u=[n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()],h,s,o,a,c,l,e,v,y=i[0],f=i[1];if(r)s=n;else switch(y){case Ext.Date.MILLI:s=new Date(u[0],u[1],u[2],u[3],u[4],u[5],Math.floor(u[6]/f)*f);break;case Ext.Date.SECOND:s=new Date(u[0],u[1],u[2],u[3],u[4],Math.floor(u[5]/f)*f,0);break;case Ext.Date.MINUTE:s=new Date(u[0],u[1],u[2],u[3],Math.floor(u[4]/f)*f,0,0);break;case Ext.Date.HOUR:s=new Date(u[0],u[1],u[2],Math.floor(u[3]/f)*f,0,0,0);break;case Ext.Date.DAY:s=new Date(u[0],u[1],Math.floor((u[2]-1)/f)*f+1,0,0,0,0);break;case Ext.Date.MONTH:s=new Date(u[0],Math.floor(u[1]/f)*f,1,0,0,0,0);break;default:s=new Date(Math.floor(u[0]/f)*f,0,1,0,0,0,0)}for(v=y===Ext.Date.MONTH&&(f==1/2||f==1/3||f==1/4),h=v?[]:0,o=new Date(s);o<t;)if(v){a=new Date(o);c=a.getFullYear();l=a.getMonth();e=a.getDate();switch(f){case 1/2:e>=15?(e=1,++l>11&&c++):e=15;break;case 1/3:e>=20?(e=1,++l>11&&c++):e=e>=10?20:10;break;case 1/4:e>=22?(e=1,++l>11&&c++):e=e>=15?22:e>=8?15:8}o.setYear(c);o.setMonth(l);o.setDate(e);h.push(new Date(o))}else o=Ext.Date.add(o,y,f),h++;return r&&(o=t),v?{from:+s,to:+o,steps:h}:{from:+s,to:+o,step:(o-s)/h,steps:h}},sorter:function(n,t){return n.offset-t.offset},rad:function(n){return n%360*Math.PI/180},degrees:function(n){return n*180/Math.PI%360},withinBox:function(n,t,i){return i=i||{},n>=i.x&&n<=i.x+i.width&&t>=i.y&&t<=i.y+i.height},parseGradient:function(n){var e=this,r=n.type||"linear",s=n.angle||0,h=e.radian,u=n.stops,f=[],i,t,o,c;r=="linear"&&(t=[0,0,Math.cos(s*h),Math.sin(s*h)],o=1/(Math.max(Math.abs(t[2]),Math.abs(t[3]))||1),t[2]*=o,t[3]*=o,t[2]<0&&(t[0]=-t[2],t[2]=0),t[3]<0&&(t[1]=-t[3],t[3]=0));for(i in u)u.hasOwnProperty(i)&&e.stopsRE.test(i)&&(c={offset:parseInt(i,10),color:Ext.draw.Color.toHex(u[i].color)||"#ffffff",opacity:u[i].opacity||1},f.push(c));return Ext.Array.sort(f,e.sorter),r=="linear"?{id:n.id,type:r,vector:t,stops:f}:{id:n.id,type:r,centerX:n.centerX,centerY:n.centerY,focalX:n.focalX,focalY:n.focalY,radius:n.radius,vector:t,stops:f}}},0,0,0,0,0,0,[Ext.draw,"Draw"],0);Ext.cmd.derive("Ext.fx.PropertyHandler",Ext.Base,{statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(n,t,i,r,u){i=typeof i=="number"?i:1;var o=this.unitRE,f=o.exec(n),s,e;return f&&(n=f[1],e=f[2],this.scrollRE.test(u)||e||!this.pixelDefaultsRE.test(u)||(e="px")),n=+n||0,f=o.exec(t),f&&(t=f[1],e=f[2]||e),t=+t||0,s=r!=null?r:n,{from:n,delta:(t-s)*i,units:e}},get:function(n,t,i,r,u){for(var l=n.length,o=[],s,h,e,c,f=0;f<l;f++)if(r&&(s=r[f][1].from),Ext.isArray(n[f][1])&&Ext.isArray(t)){for(h=[],e=0,c=n[f][1].length;e<c;e++)h.push(this.computeDelta(n[f][1][e],t[e],i,s,u));o.push([n[f][0],h])}else o.push([n[f][0],this.computeDelta(n[f][1],t,i,s,u)]);return o},set:function(n,t){for(var s=n.length,f=[],i,e,o,u,r=0;r<s;r++)if(i=n[r][1],Ext.isArray(i)){for(e=[],u=0,o=i.length;u<o;u++)e.push(i[u].from+i[u].delta*t+(i[u].units||0));f.push([n[r][0],e])}else f.push([n[r][0],i.from+i.delta*t+(i.units||0)]);return f}},stringHandler:{computeDelta:function(n,t){return{from:n,delta:t}},get:function(n,t,i,r,u){for(var o=n.length,e=[],s,f=0;f<o;f++)e.push([n[f][0],this.computeDelta(n[f][1],t,i,s,u)]);return e},set:function(n){for(var u=n.length,i=[],r,t=0;t<u;t++)r=n[t][1],i.push([n[t][0],r.delta]);return i}},color:{rgbRE:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,hexRE:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,hex3RE:/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,parseColor:function(n,t){t=typeof t=="number"?t:1;for(var f=!1,e=[this.hexRE,this.rgbRE,this.hex3RE],s=e.length,i,u,o,r=0;r<s;r++)if(o=e[r],u=r%2==0?16:10,i=o.exec(n),i&&i.length===4){r===2&&(i[1]+=i[1],i[2]+=i[2],i[3]+=i[3]);f={red:parseInt(i[1],u),green:parseInt(i[2],u),blue:parseInt(i[3],u)};break}return f||n},computeDelta:function(n,t,i,r){n=this.parseColor(n);t=this.parseColor(t,i);var u=r?r:n,f=typeof u,e=typeof t;return f=="string"||f=="undefined"||e=="string"||e=="undefined"?t||u:{from:n,delta:{red:Math.round((t.red-u.red)*i),green:Math.round((t.green-u.green)*i),blue:Math.round((t.blue-u.blue)*i)}}},get:function(n,t,i,r){for(var o=n.length,f=[],e,u=0;u<o;u++)r&&(e=r[u][1].from),f.push([n[u][0],this.computeDelta(n[u][1],t,i,e)]);return f},set:function(n,t){for(var s=n.length,e=[],i,o,u,f,r=0;r<s;r++)if(i=n[r][1],i){if(u=i.from,f=i.delta,i=typeof i=="object"&&"red"in i?"rgb("+i.red+", "+i.green+", "+i.blue+")":i,i=typeof i=="object"&&i.length?i[0]:i,typeof i=="undefined")return[];o=typeof i=="string"?i:"rgb("+[(u.red+Math.round(f.red*t))%256,(u.green+Math.round(f.green*t))%256,(u.blue+Math.round(f.blue*t))%256].join(",")+")";e.push([n[r][0],o])}return e}},object:{interpolate:function(n,t){t=typeof t=="number"?t:1;var i={};for(var r in n)i[r]=parseFloat(n[r])*t;return i},computeDelta:function(n,t,i,r){n=this.interpolate(n);t=this.interpolate(t,i);var e=r?r:n,f={};for(var u in t)f[u]=t[u]-e[u];return{from:n,delta:f}},get:function(n,t,i,r){for(var o=n.length,f=[],e,u=0;u<o;u++)r&&(e=r[u][1].from),f.push([n[u][0],this.computeDelta(n[u][1],t,i,e)]);return f},set:function(n,t){for(var h=n.length,e=[],o={},u,s,f,r,i=0;i<h;i++){f=n[i][1];u=f.from;s=f.delta;for(r in u)o[r]=u[r]+s[r]*t;e.push([n[i][0],o])}return e}},path:{computeDelta:function(n,t,i,r){i=typeof i=="number"?i:1;var u;return n=+n||0,t=+t||0,u=r!=null?r:n,{from:n,delta:(t-u)*i}},forcePath:function(n){return Ext.isArray(n)||Ext.isArray(n[0])||(n=Ext.draw.Draw.parsePathString(n)),n},get:function(n,t,i,r){for(var h=this.forcePath(t),l=[],p=n.length,a,v,e,y,u,o,c,f,s=0;s<p;s++){for(f=this.forcePath(n[s][1]),e=Ext.draw.Draw.interpolatePaths(f,h),f=e[0],h=e[1],a=f.length,c=[],u=0;u<a;u++){for(e=[f[u][0]],v=f[u].length,o=1;o<v;o++)y=r&&r[0][1][u][o].from,e.push(this.computeDelta(f[u][o],h[u][o],i,y));c.push(e)}l.push([n[s][0],c])}return l},set:function(n,t){for(var l=n.length,s=[],i,f,e,o,r,h,c,u=0;u<l;u++){for(r=n[u][1],e=[],h=r.length,i=0;i<h;i++){for(o=[r[i][0]],c=r[i].length,f=1;f<c;f++)o.push(r[i][f].from+r[i][f].delta*t);e.push(o.join(","))}s.push([n[u][0],e.join(",")])}return s}}}},0,0,0,0,0,0,[Ext.fx,"PropertyHandler"],function(){for(var t=["outlineColor","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","fill","stroke"],r=t.length,n=0,i;n<r;n++)i=t[n],this[i]=this.color;for(t=["cursor"],r=t.length,n=0;n<r;n++)i=t[n],this[i]=this.stringHandler});Ext.cmd.derive("Ext.fx.Anim",Ext.Base,{isAnimation:!0,duration:250,delay:0,delayStart:0,dynamic:!1,easing:"ease",damper:1,bezierRE:/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,reverse:!1,running:!1,paused:!1,iterations:1,alternate:!1,currentIteration:0,startTime:0,frameCount:0,constructor:function(n){var t=this,i;if(n=n||{},n.keyframes)return new Ext.fx.Animator(n);Ext.apply(t,n);t.from===undefined&&(t.from={});t.propHandlers={};t.config=n;t.target=Ext.fx.Manager.createTarget(t.target);t.easingFn=Ext.fx.Easing[t.easing];t.target.dynamic=t.dynamic;t.easingFn||(t.easingFn=String(t.easing).match(t.bezierRE),t.easingFn&&t.easingFn.length==5&&(i=t.easingFn,t.easingFn=Ext.fx.CubicBezier.cubicBezier(+i[1],+i[2],+i[3],+i[4])));t.id=Ext.id(null,"ext-anim-");t.addEvents("beforeanimate","afteranimate","lastframe");t.mixins.observable.constructor.call(t);Ext.fx.Manager.addAnim(t)},setAttr:function(n,t){return Ext.fx.Manager.items.get(this.id).setAttr(this.target,n,t)},initAttrs:function(){var t=this,o=t.from,i=t.to,s=t.initialFrom||{},u={},f,r,e;for(var n in i)i.hasOwnProperty(n)&&(f=t.target.getAttr(n,o[n]),r=i[n],e=Ext.fx.PropertyHandler[n]?t.propHandlers[n]=Ext.fx.PropertyHandler[n]:Ext.isObject(r)?t.propHandlers[n]=Ext.fx.PropertyHandler.object:t.propHandlers[n]=Ext.fx.PropertyHandler.defaultHandler,u[n]=e.get(f,r,t.damper,s[n],n));t.currentAttrs=u},start:function(n){var t=this,i=t.delay,r=t.delayStart,u;if(i)if(r){if(u=n-r,u<i)return;n=new Date(r.getTime()+i)}else{t.delayStart=n;return}t.fireEvent("beforeanimate",t)!==!1&&(t.startTime=n,t.paused||t.currentAttrs||t.initAttrs(),t.running=!0,t.frameCount=0)},runAnim:function(n){var t=this,u=t.currentAttrs,r=t.duration,h=t.easingFn,c=t.propHandlers,f={},e,o,i,s;n>=r&&(n=r,s=!0);t.reverse&&(n=r-n);for(i in u)u.hasOwnProperty(i)&&(o=u[i],e=s?1:h(n/r),f[i]=c[i].set(o,e));return t.frameCount++,f},lastFrame:function(){var n=this,i=n.iterations,t=n.currentIteration;t++;t<i?(n.alternate&&(n.reverse=!n.reverse),n.startTime=new Date,n.currentIteration=t,n.paused=!1):(n.currentIteration=0,n.end(),n.fireEvent("lastframe",n,n.startTime))},endWasCalled:0,end:function(){if(!this.endWasCalled++){var n=this;n.startTime=0;n.paused=!1;n.running=!1;Ext.fx.Manager.removeAnim(n);n.fireEvent("afteranimate",n,n.startTime);Ext.callback(n.callback,n.scope,[n,n.startTime])}},isReady:function(){return this.paused===!1&&this.running===!1&&this.iterations>0},isRunning:function(){return this.paused===!1&&this.running===!0&&this.isAnimator!==!0}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.fx,"Anim"],0);Ext.enableFx=!0;Ext.cmd.derive("Ext.util.Animate",Ext.Base,{isAnimate:!0,animate:function(n){var t=this;return Ext.fx.Manager.hasFxBlock(t.id)?t:(Ext.fx.Manager.queueFx(new Ext.fx.Anim(t.anim(n))),this)},anim:function(n){if(!Ext.isObject(n))return n?{}:!1;var t=this;return n.stopAnimation&&t.stopAnimation(),Ext.applyIf(n,Ext.fx.Manager.getFxDefaults(t.id)),Ext.apply({target:t,paused:!0},n)},stopFx:Ext.Function.alias(Ext.util.Animate,"stopAnimation"),stopAnimation:function(){return Ext.fx.Manager.stopAnimation(this.id),this},syncFx:function(){return Ext.fx.Manager.setFxDefaults(this.id,{concurrent:!0}),this},sequenceFx:function(){return Ext.fx.Manager.setFxDefaults(this.id,{concurrent:!1}),this},hasActiveFx:Ext.Function.alias(Ext.util.Animate,"getActiveAnimation"),getActiveAnimation:function(){return Ext.fx.Manager.getActiveAnimation(this.id)}},0,0,0,0,0,0,[Ext.util,"Animate"],function(){Ext.applyIf(Ext.Element.prototype,this.prototype);Ext.CompositeElementLite.importElementMethods()});Ext.cmd.derive("Ext.util.ElementContainer",Ext.Base,{childEls:[],constructor:function(){var n=this,t;n.hasOwnProperty("childEls")&&(t=n.childEls,delete n.childEls,n.addChildEls.apply(n,t))},destroy:function(){for(var t=this,u=t.getChildEls(),i,n,r=u.length;r--;)n=u[r],typeof n!="string"&&(n=n.name),i=t[n],i&&(t[n]=null,i.remove())},addChildEls:function(){var n=this,t=arguments;n.hasOwnProperty("childEls")?n.childEls.push.apply(n.childEls,t):n.childEls=n.getChildEls().concat(Array.prototype.slice.call(t));n.prune(n.childEls,!1)},applyChildEls:function(n,t){for(var u=this,s=u.getChildEls(),i,r,o,f=(t||u.id)+"-",e=s.length;e--;)i=s[e],typeof i=="string"?o=n.getById(f+i):(o=(r=i.select)?Ext.select(r,!0,n.dom):(r=i.selectNode)?Ext.get(Ext.DomQuery.selectNode(r,n.dom)):n.getById(i.id||f+i.itemId),i=i.name),u[i]=o},getChildEls:function(){var n=this,t;return n.hasOwnProperty("childEls")?n.childEls:(t=n.self,t.$childEls||n.getClassChildEls(t))},getClassChildEls:function(n){var h=this,t=n.$childEls,u,f,v,c,l,e,o,r,s,i,a;if(!t){i=n.superclass;i?(i=i.self,r=[i.$childEls||h.getClassChildEls(i)],a=i.prototype.mixins||{}):(r=[],a={});s=n.prototype;e=s.mixins;for(o in e)e.hasOwnProperty(o)&&!a.hasOwnProperty(o)&&(l=e[o].self,r.push(l.$childEls||h.getClassChildEls(l)));for(r.push(s.hasOwnProperty("childEls")&&s.childEls),f=0,v=r.length;f<v;++f)u=r[f],u&&u.length&&(t?(c||(c=!0,t=t.slice(0)),t.push.apply(t,u)):t=u);n.$childEls=t=t?h.prune(t,!c):[]}return t},prune:function(n,t){for(var r=n.length,u={},i;r--;)i=n[r],typeof i!="string"&&(i=i.name),u[i]?(t&&(t=!1,n=n.slice(0)),Ext.Array.erase(n,r,1)):u[i]=1;return n},removeChildEls:function(n){for(var r=this,u=r.getChildEls(),e=r.childEls=[],i,t=0,f=u.length;t<f;++t)i=u[t],n(i)||e.push(i)}},1,0,0,0,0,0,[Ext.util,"ElementContainer"],0);Ext.cmd.derive("Ext.util.Renderable",Ext.Base,{frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[\-]frame\d+[TMB][LCR]$/,frameElNames:["TL","TC","TR","ML","MC","MR","BL","BC","BR"],frameTpl:["{%this.renderDockedItems(out,values,0);%}",'<tpl if="top">','<tpl if="left"><div id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<div id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc<\/tpl>{frameElCls}" role="presentation"><\/div>','<tpl if="right"><\/div><\/tpl>','<tpl if="left"><\/div><\/tpl>',"<\/tpl>",'<tpl if="left"><div id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<div id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc<\/tpl>{frameElCls}" role="presentation">',"{%this.applyRenderTpl(out, values)%}","<\/div>",'<tpl if="right"><\/div><\/tpl>','<tpl if="left"><\/div><\/tpl>','<tpl if="bottom">','<tpl if="left"><div id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<tpl if="right"><div id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br<\/tpl>{frameElCls}" role="presentation"><\/tpl>','<div id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc<\/tpl>{frameElCls}" role="presentation"><\/div>','<tpl if="right"><\/div><\/tpl>','<tpl if="left"><\/div><\/tpl>',"<\/tpl>","{%this.renderDockedItems(out,values,1);%}"],frameTableTpl:["{%this.renderDockedItems(out,values,0);%}",'<table class="',Ext.plainTableCls,'" cellpadding="0"><tbody>','<tpl if="top">',"<tr>",'<tpl if="left"><td id="{fgid}TL" class="{frameCls}-tl {baseCls}-tl {baseCls}-{ui}-tl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tl<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>','<td id="{fgid}TC" class="{frameCls}-tc {baseCls}-tc {baseCls}-{ui}-tc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tc<\/tpl>{frameElCls}" role="presentation"><\/td>','<tpl if="right"><td id="{fgid}TR" class="{frameCls}-tr {baseCls}-tr {baseCls}-{ui}-tr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-tr<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>',"<\/tr>","<\/tpl>","<tr>",'<tpl if="left"><td id="{fgid}ML" class="{frameCls}-ml {baseCls}-ml {baseCls}-{ui}-ml<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-ml<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>','<td id="{fgid}MC" class="{frameCls}-mc {baseCls}-mc {baseCls}-{ui}-mc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mc<\/tpl>{frameElCls}" role="presentation">',"{%this.applyRenderTpl(out, values)%}","<\/td>",'<tpl if="right"><td id="{fgid}MR" class="{frameCls}-mr {baseCls}-mr {baseCls}-{ui}-mr<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-mr<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>',"<\/tr>",'<tpl if="bottom">',"<tr>",'<tpl if="left"><td id="{fgid}BL" class="{frameCls}-bl {baseCls}-bl {baseCls}-{ui}-bl<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bl<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>','<td id="{fgid}BC" class="{frameCls}-bc {baseCls}-bc {baseCls}-{ui}-bc<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-bc<\/tpl>{frameElCls}" role="presentation"><\/td>','<tpl if="right"><td id="{fgid}BR" class="{frameCls}-br {baseCls}-br {baseCls}-{ui}-br<tpl for="uiCls"> {parent.baseCls}-{parent.ui}-{.}-br<\/tpl>{frameElCls}" role="presentation"><\/td><\/tpl>',"<\/tr>","<\/tpl>","<\/tbody><\/table>","{%this.renderDockedItems(out,values,1);%}"],afterRender:function(){var n=this,i={},o=n.protoEl,u=n.el,t,f,r,e;n.finishRenderChildren();n.contentEl&&(f=Ext.baseCSSPrefix,r=f+"hide-",e=Ext.get(n.contentEl),e.removeCls([f+"hidden",r+"display",r+"offsets",r+"nosize"]),n.getContentTarget().appendChild(e.dom));o.writeTo(i);t=i.removed;t&&u.removeCls(t);t=i.cls;t.length&&u.addCls(t);t=i.style;i.style&&u.setStyle(t);n.protoEl=null;n.ownerCt||n.updateLayout()},afterFirstLayout:function(n,t){var i=this,o=i.x,s=i.y,f,e,r,u;i.ownerLayout||(f=Ext.isDefined(o),e=Ext.isDefined(s));!i.floating||f&&e||(i.floatParent?(r=i.floatParent.getTargetEl().getViewRegion(),u=i.el.getAlignToXY(i.floatParent.getTargetEl(),"c-c"),r.x=u[0]-r.x,r.y=u[1]-r.y):(u=i.el.getAlignToXY(i.container,"c-c"),r=i.container.translateXY(u[0],u[1])),o=f?o:r.x,s=e?s:r.y,f=e=!0);(f||e)&&i.setPosition(o,s);i.onBoxReady(n,t)},applyRenderSelectors:function(){var i=this,n=i.renderSelectors,r=i.el,u=r.dom,t;if(i.applyChildEls(r),n)for(t in n)n.hasOwnProperty(t)&&n[t]&&(i[t]=Ext.get(Ext.DomQuery.selectNode(n[t],u)))},beforeRender:function(){var n=this,u=n.getTargetEl(),t=n.getOverflowEl(),i=n.getComponentLayout(),r=n.getOverflowStyle();n.frame=n.frame||n.alwaysFramed;i.initialized||i.initLayout();t&&(t.setStyle(r),n.overflowStyleSet=!0);n.setUI(n.ui);n.disabled&&n.disable(!0)},doApplyRenderTpl:function(n,t){var i=t.$comp,r;i.rendered||(r=i.initRenderTpl(),r.applyOut(t.renderData,n))},doAutoRender:function(){var n=this;n.rendered||(n.floating?n.render(document.body):n.render(Ext.isBoolean(n.autoRender)?Ext.getBody():n.autoRender))},doRenderContent:function(n,t){var i=t.$comp;i.html&&(Ext.DomHelper.generateMarkup(i.html,n),delete i.html);i.tpl&&(i.tpl.isTemplate||(i.tpl=new Ext.XTemplate(i.tpl)),i.data&&(i.tpl.applyOut(i.data,n),delete i.data))},doRenderFramingDockedItems:function(n,t,i){var r=t.$comp;!r.rendered&&r.doRenderDockedItems&&(t.renderData.$skipDockedItems=!0,r.doRenderDockedItems.call(this,n,t,i))},finishRender:function(n){var t=this,r,u,i;!t.el||t.$pid?(i=t.container?t.container.getById(t.id,!0):Ext.getDom(t.id),t.el?(delete t.$pid,t.el.dom||t.wrapPrimaryEl(t.el),i.parentNode.insertBefore(t.el.dom,i),Ext.removeNode(i)):t.wrapPrimaryEl(i)):t.rendering||(r=t.initRenderTpl(),r&&(u=t.initRenderData(),r.insertFirst(t.getTargetEl(),u)));t.container||(t.container=Ext.get(t.el.dom.parentNode));t.ctCls&&t.container.addCls(t.ctCls);t.onRender(t.container,n);t.overflowStyleSet||t.getOverflowEl().setStyle(t.getOverflowStyle());t.el.setVisibilityMode(Ext.Element[t.hideMode.toUpperCase()]);t.overCls&&t.el.hover(t.addOverCls,t.removeOverCls,t);t.hasListeners.render&&t.fireEvent("render",t);t.afterRender();t.hasListeners.afterrender&&t.fireEvent("afterrender",t);t.initEvents();t.hidden&&t.el.hide()},finishRenderChildren:function(){var n=this.getComponentLayout();n.finishRender()},getElConfig:function(){var n=this,r=n.autoEl,u=n.getFrameInfo(),t={tag:"div",tpl:u?n.initFramingTpl(u.table):n.initRenderTpl()},f=n.protoEl,i,e,c,o,s,h;if(n.initStyles(f),f.writeTo(t),f.flush(),Ext.isString(r)?t.tag=r:Ext.apply(t,r),t.id=n.id,t.tpl)if(u){for(e=n.frameElNames,c=e.length,t.tplData=h=n.getFrameRenderData(),h.renderData=n.initRenderData(),s=h.fgid,i=0;i<c;i++)o=e[i],n.addChildEls({name:"frame"+o,id:s+o});n.addChildEls({name:"frameBody",id:s+"MC"})}else t.tplData=n.initRenderData();return t},initFramingTpl:function(n){var t=this.getFrameTpl(n);return t&&!t.applyRenderTpl&&this.setupFramingTpl(t),t},setupFramingTpl:function(n){n.applyRenderTpl=this.doApplyRenderTpl;n.renderDockedItems=this.doRenderFramingDockedItems},getInsertPosition:function(n){return n!==undefined&&(n=Ext.isNumber(n)?this.container.dom.childNodes[n]:Ext.getDom(n)),n},getRenderTree:function(){var n=this;return!n.hasListeners.beforerender||n.fireEvent("beforerender",n)!==!1?(n.beforeRender(),n.rendering=!0,n.el)?{tag:"div",id:n.$pid=Ext.id()}:n.getElConfig():null},initContainer:function(n){var t=this;return!n&&t.el&&(n=t.el.dom.parentNode,t.allowDomMove=!1),t.container=n.dom?n:Ext.get(n),t.container},initRenderData:function(){var n=this;return Ext.apply({$comp:n,id:n.id,ui:n.ui,uiCls:n.uiCls,baseCls:n.baseCls,componentCls:n.componentCls,frame:n.frame,childElCls:""},n.renderData)},initRenderTpl:function(){var n=this.getTpl("renderTpl");return n&&!n.renderContent&&this.setupRenderTpl(n),n},onRender:function(){var n=this,u=n.x,f=n.y,t=null,i,r,e=n.el;n.applyRenderSelectors();n.rendering=null;n.rendered=!0;u!=null&&(t={x:u});f!=null&&((t=t||{}).y=f);!n.getFrameInfo()&&Ext.isBorderBox&&(i=n.width,r=n.height,typeof i=="number"&&(t=t||{},t.width=i),typeof r=="number"&&(t=t||{},t.height=r));n.lastBox=e.lastBox=t},render:function(n,t){var i=this,r=i.el&&(i.el=Ext.get(i.el)),e,u,f;Ext.suspendLayouts();n=i.initContainer(n);f=i.getInsertPosition(t);r?i.hasListeners.beforerender&&i.fireEvent("beforerender",i)===!1?e=!0:(i.beforeRender(),i.initStyles(r),i.allowDomMove!==!1&&(f?n.dom.insertBefore(r.dom,f):n.dom.appendChild(r.dom))):(u=i.getRenderTree(),i.ownerLayout&&i.ownerLayout.transformItemRenderTree&&(u=i.ownerLayout.transformItemRenderTree(u)),u&&(r=f?Ext.DomHelper.insertBefore(f,u):Ext.DomHelper.append(n,u),i.wrapPrimaryEl(r)));r&&!e&&i.finishRender(t);Ext.resumeLayouts(!i.hidden&&!n.isDetachedBody)},ensureAttachedToBody:function(n){for(var t=this,i;t.ownerCt;)t=t.ownerCt;t.container.isDetachedBody&&(t.container=i=Ext.getBody(),i.appendChild(t.el.dom),n&&t.updateLayout(),(typeof t.x=="number"||typeof t.y=="number")&&t.setPosition(t.x,t.y))},setupRenderTpl:function(n){n.renderBody=n.renderContent=this.doRenderContent},wrapPrimaryEl:function(n){this.el=Ext.get(n,!0)},initFrame:function(){if(!Ext.supports.CSS3BorderRadius&&this.frame){var n=this,u=n.getFrameInfo(),f,e,o=n.frameElNames,s=o.length,t,i,r;if(u)for(f=n.getFrameTpl(u.table),i=n.getFrameRenderData(),e=i.fgid,f.insertFirst(n.el,i),n.frameBody=n.el.down("."+n.frameCls+"-mc"),n.removeChildEls(function(t){return t.id&&n.frameIdRegex.test(t.id)}),t=0;t<s;t++)r=o[t],n["frame"+r]=n.el.getById(e+r)}},getFrameRenderData:function(){var n=this,t=n.frameSize,i=(n.frameGenId||0)+1;return n.frameGenId=i,{$comp:n,fgid:n.id+"-frame"+i,ui:n.ui,uiCls:n.uiCls,frameCls:n.frameCls,baseCls:n.baseCls,top:!!t.top,left:!!t.left,right:!!t.right,bottom:!!t.bottom,frameElCls:""}},updateFrame:function(){if(!Ext.supports.CSS3BorderRadius&&this.frame){var n=this,e=n.frameSize&&n.frameSize.table,i=n.frameTL,r=n.frameBL,u=n.frameML,t=n.frameMC,f;n.initFrame();t?n.frame&&(f=n.frameMC.dom.className,t.insertAfter(n.frameMC),n.frameMC.remove(),n.frameBody=n.frameMC=t,t.dom.className=f,e?n.el.query("> table")[1].remove():(i&&i.remove(),r&&r.remove(),u&&u.remove())):n.frame&&n.applyRenderSelectors()}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame)return!1;var r=this,nt=r.frameInfoCache,w=r.getFramingInfoCls()+"-frameInfo",i=nt[w],t=Math.max,tt,n,u,f,e,o,s,h,c,l,b,k,d,g,a,v,y,p;return i==null&&(tt=Ext.fly(r.getStyleProxy(w),"frame-style-el"),n=tt.getStyle("font-family"),n?(n=n.split("-"),a=parseInt(n[1],10),v=parseInt(n[2],10),y=parseInt(n[3],10),p=parseInt(n[4],10),s=parseInt(n[5],10),h=parseInt(n[6],10),c=parseInt(n[7],10),l=parseInt(n[8],10),b=parseInt(n[9],10),k=parseInt(n[10],10),d=parseInt(n[11],10),g=parseInt(n[12],10),u=t(s,t(a,v)),f=t(h,t(v,y)),e=t(c,t(p,y)),o=t(l,t(a,p)),i={table:n[0].charAt(0)==="t",vertical:n[0].charAt(1)==="v",top:u,right:f,bottom:e,left:o,width:o+f,height:u+e,maxWidth:t(u,f,e,o),border:{top:s,right:h,bottom:c,left:l,width:l+h,height:s+c},padding:{top:b,right:k,bottom:d,left:g,width:g+k,height:b+d},radius:{tl:a,tr:v,br:y,bl:p}}):i=!1,nt[w]=i),r.frame=!!i,r.frameSize=i,i},getFramingInfoCls:function(){return this.baseCls+"-"+this.ui},getStyleProxy:function(n){var t=this.styleProxyEl||(Ext.AbstractComponent.prototype.styleProxyEl=Ext.getBody().createChild({style:{position:"absolute",top:"-10000px"}},null,!0));return t.className=n,t},getFrameTpl:function(n){return this.getTpl(n?"frameTableTpl":"frameTpl")},frameInfoCache:{}},0,0,0,0,0,0,[Ext.util,"Renderable"],0);Ext.cmd.derive("Ext.state.Provider",Ext.Base,{prefix:"ext-",constructor:function(n){n=n||{};var t=this;Ext.apply(t,n);t.addEvents("statechange");t.state={};t.mixins.observable.constructor.call(t)},get:function(n,t){return typeof this.state[n]=="undefined"?t:this.state[n]},clear:function(n){var t=this;delete t.state[n];t.fireEvent("statechange",t,n,null)},set:function(n,t){var i=this;i.state[n]=t;i.fireEvent("statechange",i,n,t)},decodeValue:function(n){var o=this,u=/^(a|n|d|b|s|o|e)\:(.*)$/.exec(unescape(n)),i,s,e,r,f,t;if(u&&u[1]){s=u[1];n=u[2];switch(s){case"e":return null;case"n":return parseFloat(n);case"d":return new Date(Date.parse(n));case"b":return n=="1";case"a":if(i=[],n!="")for(r=n.split("^"),f=r.length,t=0;t<f;t++)n=r[t],i.push(o.decodeValue(n));return i;case"o":if(i={},n!="")for(r=n.split("^"),f=r.length,t=0;t<f;t++)n=r[t],e=n.split("="),i[e[0]]=o.decodeValue(e[1]);return i;default:return n}}},encodeValue:function(n){var i="",u=0,t,f,r;if(n==null)return"e:1";if(typeof n=="number")t="n:"+n;else if(typeof n=="boolean")t="b:"+(n?"1":"0");else if(Ext.isDate(n))t="d:"+n.toGMTString();else if(Ext.isArray(n)){for(f=n.length;u<f;u++)i+=this.encodeValue(n[u]),u!=f-1&&(i+="^");t="a:"+i}else if(typeof n=="object"){for(r in n)typeof n[r]!="function"&&n[r]!==undefined&&(i+=r+"="+this.encodeValue(n[r])+"^");t="o:"+i.substring(0,i.length-1)}else t="s:"+n;return escape(t)}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.state,"Provider"],0);Ext.cmd.derive("Ext.state.Manager",Ext.Base,{singleton:!0,constructor:function(){this.provider=new Ext.state.Provider},setProvider:function(n){this.provider=n},get:function(n,t){return this.provider.get(n,t)},set:function(n,t){this.provider.set(n,t)},clear:function(n){this.provider.clear(n)},getProvider:function(){return this.provider}},1,0,0,0,0,0,[Ext.state,"Manager"],0);Ext.cmd.derive("Ext.state.Stateful",Ext.Base,{stateful:!1,saveDelay:100,constructor:function(n){var t=this;n=n||{};n.stateful!==undefined&&(t.stateful=n.stateful);n.saveDelay!==undefined&&(t.saveDelay=n.saveDelay);t.stateId=t.stateId||n.stateId;t.stateEvents||(t.stateEvents=[]);n.stateEvents&&t.stateEvents.concat(n.stateEvents);this.addEvents("beforestaterestore","staterestore","beforestatesave","statesave");t.mixins.observable.constructor.call(t);t.stateful!==!1&&(t.addStateEvents(t.stateEvents),t.initState())},addStateEvents:function(n){var t=this,r,i,u;if(t.stateful&&t.getStateId())for(typeof n=="string"&&(n=Array.prototype.slice.call(arguments,0)),u=t.stateEventsByName||(t.stateEventsByName={}),r=n.length;r--;)if(i=n[r],!u[i]){u[i]=1;t.on(i,t.onStateChange,t)}},onStateChange:function(){var n=this,i=n.saveDelay,t,r;n.stateful&&(i?(n.stateTask||(t=Ext.state.Stateful,r=t.runner||(t.runner=new Ext.util.TaskRunner),n.stateTask=r.newTask({run:n.saveState,scope:n,interval:i,repeat:1})),n.stateTask.start()):n.saveState())},saveState:function(){var n=this,i=n.stateful&&n.getStateId(),r=n.hasListeners,t;i&&(t=n.getState()||{},r.beforestatesave&&n.fireEvent("beforestatesave",n,t)===!1||(Ext.state.Manager.set(i,t),r.statesave&&n.fireEvent("statesave",n,t)))},getState:function(){return null},applyState:function(n){n&&Ext.apply(this,n)},getStateId:function(){var n=this;return n.stateId||(n.autoGenId?null:n.id)},initState:function(){var n=this,i=n.stateful&&n.getStateId(),r=n.hasListeners,t;i&&(t=Ext.state.Manager.get(i),t&&(t=Ext.apply({},t),r.beforestaterestore&&n.fireEvent("beforestaterestore",n,t)===!1||(n.applyState(t),r.staterestore&&n.fireEvent("staterestore",n,t))))},savePropToState:function(n,t,i){var r=this,u=r[n],f=r.initialConfig;return r.hasOwnProperty(n)&&(!f||f[n]!==u)?(t&&(t[i||n]=u),!0):!1},savePropsToState:function(n,t){var r=this,i,u;if(typeof n=="string")r.savePropToState(n,t);else for(i=0,u=n.length;i<u;++i)r.savePropToState(n[i],t);return t},destroy:function(){var n=this,t=n.stateTask;t&&(t.destroy(),n.stateTask=null);n.clearListeners()}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.state,"Stateful"],0);Ext.cmd.derive("Ext.AbstractComponent",Ext.Base,{statics:{AUTO_ID:1e3,pendingLayouts:null,layoutSuspendCount:0,cancelLayout:function(n,t){var i=this.runningLayoutContext||this.pendingLayouts;i&&i.cancelComponent(n,!1,t)},flushLayouts:function(){var t=this,n=t.pendingLayouts;n&&n.invalidQueue.length&&(t.pendingLayouts=null,t.runningLayoutContext=n,Ext.override(n,{runComplete:function(){t.runningLayoutContext=null;var n=this.callParent();return Ext.globalEvents.hasListeners.afterlayout&&Ext.globalEvents.fireEvent("afterlayout"),n}}),n.run())},resumeLayouts:function(n){this.layoutSuspendCount&&!--this.layoutSuspendCount&&(n&&this.flushLayouts(),Ext.globalEvents.hasListeners.resumelayouts&&Ext.globalEvents.fireEvent("resumelayouts"))},suspendLayouts:function(){++this.layoutSuspendCount},updateLayout:function(n,t){var i=this,r=i.runningLayoutContext,u;r?r.queueInvalidate(n):(u=i.pendingLayouts||(i.pendingLayouts=new Ext.layout.Context),u.queueInvalidate(n),t||i.layoutSuspendCount||n.isLayoutSuspended()||i.flushLayouts())}},isComponent:!0,getAutoId:function(){return this.autoGenId=!0,++Ext.AbstractComponent.AUTO_ID},deferLayouts:!1,autoGenId:!1,renderTpl:"{%this.renderContent(out,values)%}",frameSize:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:!1,disabled:!1,draggable:!1,floating:!1,hideMode:"display",autoShow:!1,autoRender:!1,allowDomMove:!0,rendered:!1,componentLayoutCounter:0,shrinkWrap:2,weight:0,maskOnDisable:!0,_isLayoutRoot:!1,contentPaddingProperty:"padding",horizontalPosProp:"left",borderBoxCls:Ext.baseCSSPrefix+"border-box",constructor:function(n){var t=this,i,u,r;if(n?(Ext.apply(t,n),r=t.xhooks,r&&(delete t.xhooks,Ext.override(t,r))):n={},t.initialConfig=n,t.mixins.elementCt.constructor.call(t),t.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","boxready","beforedestroy","destroy","resize","move","focus","blur"),t.getId(),t.setupProtoEl(),t.cls&&(t.initialCls=t.cls,t.protoEl.addCls(t.cls)),t.style&&(t.initialStyle=t.style,t.protoEl.setStyle(t.style)),t.renderData=t.renderData||{},t.renderSelectors=t.renderSelectors||{},t.plugins&&(t.plugins=t.constructPlugins()),t.hasListeners||(t.hasListeners=new t.HasListeners),t.initComponent(),Ext.ComponentManager.register(t),t.mixins.observable.constructor.call(t),t.mixins.state.constructor.call(t,n),this.addStateEvents("resize"),t.plugins)for(i=0,u=t.plugins.length;i<u;i++)t.plugins[i]=t.initPlugin(t.plugins[i]);t.loader=t.getLoader();t.renderTo&&t.render(t.renderTo);t.autoShow&&!t.isContained&&t.show()},initComponent:function(){this.plugins=this.constructPlugins();this.setSize(this.width,this.height)},getState:function(){var t=this,n=null,i=t.getSizeModel();return i.width.configured&&(n=t.addPropertyToState(n,"width")),i.height.configured&&(n=t.addPropertyToState(n,"height")),n},addPropertyToState:function(n,t,i){var r=this,u=arguments.length;return(u==3||r.hasOwnProperty(t))&&(u<3&&(i=r[t]),i!==r.initialConfig[t]&&((n||(n={}))[t]=i)),n},show:Ext.emptyFn,animate:function(n){var t=this,r,u,f,e,i,w,b,o,l,s,a,h,v,y,p,c;return(n=n||{},i=n.to||{},Ext.fx.Manager.hasFxBlock(t.id))?t:(r=Ext.isDefined(i.width),r&&(e=Ext.Number.constrain(i.width,t.minWidth,t.maxWidth)),u=Ext.isDefined(i.height),u&&(f=Ext.Number.constrain(i.height,t.minHeight,t.maxHeight)),!n.dynamic&&(r||u)&&(o=(n.from?n.from.width:undefined)||t.getWidth(),l=o,s=(n.from?n.from.height:undefined)||t.getHeight(),a=s,h=!1,u&&f>s&&(a=f,h=!0),r&&e>o&&(l=e,h=!0),(u||r)&&(c=t.el.getStyle("overtflow"),c!=="hidden"&&t.el.setStyle("overflow","hidden")),h&&(w=!Ext.isNumber(t.width),b=!Ext.isNumber(t.height),t.setSize(l,a),t.el.setSize(o,s),w&&delete t.width,b&&delete t.height),r&&(i.width=e),u&&(i.height=f)),v=t.constrain,y=t.constrainHeader,(v||y)&&(t.constrain=t.constrainHeader=!1,p=n.callback,n.callback=function(){t.constrain=v;t.constrainHeader=y;p&&p.call(n.scope||t,arguments);c!=="hidden"&&t.el.setStyle("overflow",c)}),t.mixins.animate.animate.apply(t,arguments))},setHiddenState:function(n){var t=this.getHierarchyState();this.hidden=n;n?t.hidden=!0:delete t.hidden},onHide:function(){this.ownerLayout&&this.updateLayout({isRoot:!1})},onShow:function(){this.updateLayout({isRoot:!1})},constructPlugin:function(n){var t=this;return typeof n=="string"?Ext.PluginManager.create({},n,t):Ext.PluginManager.create(n,null,t)},constructPlugins:function(){var i=this,n=i.plugins,r,t,u;if(n)for(r=[],Ext.isArray(n)||(n=[n]),t=0,u=n.length;t<u;t++)r[t]=i.constructPlugin(n[t]);return i.pluginsInitialized=!0,r},initPlugin:function(n){return n.init(this),n},addPlugin:function(n){var t=this;return n=t.constructPlugin(n),t.plugins?t.plugins.push(n):t.plugins=[n],t.pluginsInitialized&&t.initPlugin(n),n},removePlugin:function(n){Ext.Array.remove(this.plugins,n);n.destroy()},findPlugin:function(n){for(var i=this.plugins,r=i&&i.length,t=0;t<r;t++)if(i[t].ptype===n)return i[t]},getPlugin:function(n){for(var i=this.plugins,r=i&&i.length,t=0;t<r;t++)if(i[t].pluginId===n)return i[t]},beforeLayout:Ext.emptyFn,updateAria:Ext.emptyFn,registerFloatingItem:function(n){var t=this;t.floatingDescendants||(t.floatingDescendants=new Ext.ZIndexManager(t));t.floatingDescendants.register(n)},unregisterFloatingItem:function(n){var t=this;t.floatingDescendants&&t.floatingDescendants.unregister(n)},layoutSuspendCount:0,suspendLayouts:function(){var n=this;n.rendered&&++n.layoutSuspendCount==1&&(n.suspendLayout=!0)},resumeLayouts:function(n){var t=this;t.rendered&&(--t.layoutSuspendCount||(t.suspendLayout=!1,n&&!t.isLayoutSuspended()&&t.updateLayout(n)))},setupProtoEl:function(){var n=this.initCls();this.protoEl=new Ext.util.ProtoElement({cls:n.join(" ")})},initCls:function(){var n=this,t=[n.baseCls,n.getComponentLayout().targetCls];return Ext.isDefined(n.cmpCls)&&(Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls."),n.componentCls=n.cmpCls,delete n.cmpCls),n.componentCls?t.push(n.componentCls):n.componentCls=n.baseCls,t},setUI:function(n){var t=this,r=t.uiCls,u=t.activeUI,i;n!==u&&(u?(i=t.removeClsWithUI(r,!0),i.length&&t.removeCls(i),t.removeUIFromElement()):t.uiCls=[],t.ui=n,t.activeUI=n,t.addUIToElement(),i=t.addClsWithUI(r,!0),i.length&&t.addCls(i),t.rendered&&t.updateLayout())},addClsWithUI:function(n,t){var i=this,u=[],f=0,s=i.uiCls=Ext.Array.clone(i.uiCls),e=i.activeUI,o,r;for(typeof n=="string"&&(n=n.indexOf(" ")<0?[n]:Ext.String.splitWords(n)),o=n.length;f<o;f++)r=n[f],r&&!i.hasUICls(r)&&(s.push(r),e&&(u=u.concat(i.addUIClsToElement(r))));return t!==!0&&e&&i.addCls(u),u},removeClsWithUI:function(n,t){var i=this,u=[],f=0,e=Ext.Array,h=e.remove,c=i.uiCls=e.clone(i.uiCls),o=i.activeUI,s,r;for(typeof n=="string"&&(n=n.indexOf(" ")<0?[n]:Ext.String.splitWords(n)),s=n.length,f=0;f<s;f++)r=n[f],r&&i.hasUICls(r)&&(h(c,r),o&&(u=u.concat(i.removeUIClsFromElement(r))));return t!==!0&&o&&i.removeCls(u),u},hasUICls:function(n){var t=this,i=t.uiCls||[];return Ext.Array.contains(i,n)},frameElementsArray:["tl","tc","tr","ml","mc","mr","bl","bc","br"],addUIClsToElement:function(n){var t=this,e=t.baseCls+"-"+t.ui+"-"+n,s=[Ext.baseCSSPrefix+n,t.baseCls+"-"+n,e],r,o,i,u,f;if(t.rendered&&t.frame&&!Ext.supports.CSS3BorderRadius)for(r=t.frameElementsArray,o=r.length,i=0;i<o;i++)f=r[i],u=t["frame"+f.toUpperCase()],u&&u.addCls(e+"-"+f);return s},removeUIClsFromElement:function(n){var t=this,e=t.baseCls+"-"+t.ui+"-"+n,s=[Ext.baseCSSPrefix+n,t.baseCls+"-"+n,e],r,o,i,u,f;if(t.rendered&&t.frame&&!Ext.supports.CSS3BorderRadius)for(r=t.frameElementsArray,o=r.length,i=0;i<o;i++)f=r[i],u=t["frame"+f.toUpperCase()],u&&u.removeCls(e+"-"+f);return s},addUIToElement:function(){var n=this,f=n.baseCls+"-"+n.ui,i,e,t,r,u;if(n.addCls(f),n.rendered&&n.frame&&!Ext.supports.CSS3BorderRadius)for(i=n.frameElementsArray,e=i.length,t=0;t<e;t++)u=i[t],r=n["frame"+u.toUpperCase()],r&&r.addCls(f+"-"+u)},removeUIFromElement:function(){var n=this,f=n.baseCls+"-"+n.ui,i,e,t,r,u;if(n.removeCls(f),n.rendered&&n.frame&&!Ext.supports.CSS3BorderRadius)for(i=n.frameElementsArray,e=i.length,t=0;t<e;t++)u=i[t],r=n["frame"+u.toUpperCase()],r&&r.removeCls(f+"-"+u)},getTpl:function(n){return Ext.XTemplate.getTpl(this,n)},initStyles:function(n){var t=this,c=Ext.Element,e=t.margin,h=t.border,o=t.cls,s=t.style,u=t.x,f=t.y,i,r;t.initPadding(n);e!=null&&n.setStyle("margin",this.unitizeBox(e===!0?5:e));h!=null&&t.setBorder(h,n);o&&o!=t.initialCls&&(n.addCls(o),t.cls=t.initialCls=null);s&&s!=t.initialStyle&&(n.setStyle(s),t.style=t.initialStyle=null);u!=null&&n.setStyle(t.horizontalPosProp,typeof u=="number"?u+"px":u);f!=null&&n.setStyle("top",typeof f=="number"?f+"px":f);Ext.isBorderBox&&(!t.ownerCt||t.floating)&&n.addCls(t.borderBoxCls);t.getFrameInfo()||(i=t.width,r=t.height,i!=null&&(typeof i=="number"?Ext.isBorderBox&&n.setStyle("width",i+"px"):n.setStyle("width",i)),r!=null&&(typeof r=="number"?Ext.isBorderBox&&n.setStyle("height",r+"px"):n.setStyle("height",r)))},initPadding:function(n){var t=this,i=t.padding;i!=null&&(t.layout&&t.layout.managePadding&&t.contentPaddingProperty==="padding"?n.setStyle("padding",0):n.setStyle("padding",this.unitizeBox(i===!0?5:i)))},parseBox:function(n){return Ext.dom.Element.parseBox(n)},unitizeBox:function(n){return Ext.dom.Element.unitizeBox(n)},setMargin:function(n,t){var i=this;i.rendered?(n||n===0?(n===!0&&(n=5),n=this.unitizeBox(n)):n="",i.getTargetEl().setStyle("margin",n),t||i.updateLayout()):i.margin=n},initEvents:function(){var n=this,r=n.afterRenderEvents,u,t,f,i,e;if(r)for(f in r)if(t=n[f],t&&t.on)for(u=r[f],i=0,e=u.length;i<e;++i)n.mon(t,u[i]);n.addFocusListener()},addFocusListener:function(){var n=this,t=n.getFocusEl(),i;if(t){if(t.isComponent)return t.addFocusListener();if(i=t.needsTabIndex(),!n.focusListenerAdded&&(!i||Ext.FocusManager.enabled)){i&&(t.dom.tabIndex=-1);t.on({focus:n.onFocus,blur:n.onBlur,scope:n});n.focusListenerAdded=!0}}},getFocusEl:Ext.emptyFn,isFocusable:function(){var n=this,t;if(n.focusable!==!1&&(t=n.getFocusEl())&&n.rendered&&!n.destroying&&!n.isDestroyed&&!n.disabled&&n.isVisible(!0))return t.isFocusable(!0)},beforeFocus:Ext.emptyFn,onFocus:function(n){var t=this,i=t.focusCls,r=t.getFocusEl();t.disabled||(t.beforeFocus(n),i&&r&&r.addCls(t.addClsWithUI(i,!0)),t.hasFocus||(t.hasFocus=!0,t.fireEvent("focus",t,n)))},beforeBlur:Ext.emptyFn,onBlur:function(n){var t=this,i=t.focusCls,r=t.getFocusEl();t.destroying||(t.beforeBlur(n),i&&r&&r.removeCls(t.removeClsWithUI(i,!0)),t.validateOnBlur&&t.validate(),t.hasFocus=!1,t.fireEvent("blur",t,n),t.postBlur(n))},postBlur:Ext.emptyFn,is:function(n){return Ext.ComponentQuery.is(this,n)},up:function(n,t){var i=this.getRefOwner(),u=typeof t=="string",f=typeof t=="number",e=t&&t.isComponent,r=0;if(n)for(;i;i=i.getRefOwner()){if(r++,n.isComponent){if(i===n)return i}else if(Ext.ComponentQuery.is(i,n))return i;if(u&&i.is(t))return;if(f&&r===t)return;if(e&&i===t)return}return i},nextSibling:function(n){var r=this.ownerCt,i,u,t,f;if(r&&(i=r.items,t=i.indexOf(this)+1,t))if(n){for(u=i.getCount();t<u;t++)if((f=i.getAt(t)).is(n))return f}else if(t<i.getCount())return i.getAt(t);return null},previousSibling:function(n){var r=this.ownerCt,i,t,u;if(r&&(i=r.items,t=i.indexOf(this),t!=-1))if(n){for(--t;t>=0;t--)if((u=i.getAt(t)).is(n))return u}else if(t)return i.getAt(--t);return null},previousNode:function(n,t){var u=this,e=u.ownerCt,i,o,f,r;if(t&&u.is(n))return u;if(e){for(o=e.items.items,f=Ext.Array.indexOf(o,u)-1;f>-1;f--){if(r=o[f],r.query&&(i=r.query(n),i=i[i.length-1],i))return i;if(r.is(n))return r}return e.previousNode(n,!0)}return null},nextNode:function(n,t){var r=this,e=r.ownerCt,o,u,s,f,i;if(t&&r.is(n))return r;if(e){for(u=e.items.items,f=Ext.Array.indexOf(u,r)+1,s=u.length;f<s;f++){if(i=u[f],i.is(n))return i;if(i.down&&(o=i.down(n),o))return o}return e.nextNode(n)}return null},getId:function(){return this.id||(this.id="ext-comp-"+this.getAutoId())},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.frameBody||this.el},getOverflowEl:function(){return this.getTargetEl()},getOverflowStyle:function(){var i=this,r=null,n,t,u;return typeof i.autoScroll=="boolean"?(r={overflow:u=i.autoScroll?"auto":""},i.scrollFlags={overflowX:u,overflowY:u,x:!0,y:!0,both:!0}):(n=i.overflowX,t=i.overflowY,n!==undefined||t!==undefined?(r={overflowX:n=n||"",overflowY:t=t||""},i.scrollFlags={overflowX:n,overflowY:t,x:n=n==="auto"||n==="scroll",y:t=t==="auto"||t==="scroll",both:n&&t}):i.scrollFlags={overflowX:"",overflowY:"",x:!1,y:!1,both:!1}),r&&Ext.isIE7m&&(r.position="relative"),r},isXType:function(n,t){return t?this.xtype===n:this.xtypesMap[n]},getXTypes:function(){var i=this.self,n,t,r;if(!i.xtypes){for(n=[],t=this;t;)r=t.xtypes,r!==undefined&&n.unshift.apply(n,r),t=t.superclass;i.xtypeChain=n;i.xtypes=n.join("/")}return i.xtypes},update:function(n,t,i){var r=this,f=r.tpl&&!Ext.isString(n),u;f?r.data=n:r.html=Ext.isObject(n)?Ext.DomHelper.markup(n):n;r.rendered&&(u=r.isContainer?r.layout.getRenderTarget():r.getTargetEl(),f?r.tpl[r.tplWriteMode](u,n||{}):u.update(r.html,t,i),r.updateLayout())},setVisible:function(n){return this[n?"show":"hide"]()},isVisible:function(n){var t=this,i;return t.hidden||!t.rendered||t.isDestroyed?i=!0:n&&(i=t.isHierarchicallyHidden()),!i},isHierarchicallyHidden:function(){for(var n=this,t=!1,i,r;i=n.ownerCt||n.floatParent;n=i){if(r=i.getHierarchyState(),r.hidden){t=!0;break}if(n.getHierarchyState().collapseImmune){if(i.collapsed&&!n.collapseImmune){t=!0;break}}else{t=!!r.collapsed;break}}return t},onBoxReady:function(n,t){var i=this;i.disableOnBoxReady?i.onDisable():i.enableOnBoxReady&&i.onEnable();i.resizable&&i.initResizable(i.resizable);i.draggable&&i.initDraggable();i.hasListeners.boxready&&i.fireEvent("boxready",i,n,t)},enable:function(n){var t=this;return delete t.disableOnBoxReady,t.removeCls(t.disabledCls),t.rendered?t.onEnable():t.enableOnBoxReady=!0,t.disabled=!1,delete t.resetDisable,n!==!0&&t.fireEvent("enable",t),t},disable:function(n){var t=this;return delete t.enableOnBoxReady,t.addCls(t.disabledCls),t.rendered?t.onDisable():t.disableOnBoxReady=!0,t.disabled=!0,n!==!0&&(delete t.resetDisable,t.fireEvent("disable",t)),t},onEnable:function(){this.maskOnDisable&&(this.el.dom.disabled=!1,this.unmask())},onDisable:function(){var n=this,t=n.focusCls,i=n.getFocusEl();t&&i&&i.removeCls(n.removeClsWithUI(t,!0));n.maskOnDisable&&(n.el.dom.disabled=!0,n.mask())},mask:function(){var n=this.lastBox,t=this.getMaskTarget(),i=[];n&&(i[2]=n.height);t.mask.apply(t,i)},unmask:function(){this.getMaskTarget().unmask()},getMaskTarget:function(){return this.el},isDisabled:function(){return this.disabled},setDisabled:function(n){return this[n?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.addCls.apply(t,arguments),n},addClass:function(){return this.addCls.apply(this,arguments)},hasCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.hasCls.apply(t,arguments)},removeCls:function(){var n=this,t=n.rendered?n.el:n.protoEl;return t.removeCls.apply(t,arguments),n},addOverCls:function(){var n=this;n.disabled||n.el.addCls(n.overCls)},removeOverCls:function(){this.el.removeCls(this.overCls)},addListener:function(n,t,i,r){var u=this,e,f;if(Ext.isString(n)&&(Ext.isObject(t)||r&&r.element)){if(r.element){e=t;t={};t[n]=e;n=r.element;i&&(t.scope=i);for(f in r)r.hasOwnProperty(f)&&u.eventOptionsRe.test(f)&&(t[f]=r[f])}u[n]&&u[n].on?u.mon(u[n],t):(u.afterRenderEvents=u.afterRenderEvents||{},u.afterRenderEvents[n]||(u.afterRenderEvents[n]=[]),u.afterRenderEvents[n].push(t));return}return u.mixins.observable.addListener.apply(u,arguments)},removeManagedListenerItem:function(n,t,i,r,u,f){var o=this,e=t.options?t.options.element:null;if(e)e=o[e],e&&e.un&&(!n&&(t.item!==i||t.ename!==r||u&&t.fn!==u||f&&t.scope!==f)||(e.un(t.ename,t.fn,t.scope),n||Ext.Array.remove(o.managedListeners,t)));else return o.mixins.observable.removeManagedListenerItem.apply(o,arguments)},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return!!this.draggable},isDroppable:function(){return!!this.droppable},onAdded:function(n,t){var i=this;i.ownerCt=n;i.hierarchyState&&(i.hierarchyState.invalid=!0,delete i.hierarchyState);i.hasListeners.added&&i.fireEvent("added",i,n,t)},onRemoved:function(){var n=this;n.hasListeners.removed&&n.fireEvent("removed",n,n.ownerCt);delete n.ownerCt;delete n.ownerLayout},beforeDestroy:Ext.emptyFn,onResize:function(n,t,i,r){var u=this;u.floating&&u.constrain&&u.doConstrain();u.hasListeners.resize&&u.fireEvent("resize",u,n,t,i,r)},setSize:function(n,t){var i=this;return n&&typeof n=="object"&&(t=n.height,n=n.width),typeof n=="number"?i.width=Ext.Number.constrain(n,i.minWidth,i.maxWidth):n===null&&delete i.width,typeof t=="number"?i.height=Ext.Number.constrain(t,i.minHeight,i.maxHeight):t===null&&delete i.height,i.rendered&&i.isVisible()&&i.updateLayout({isRoot:!1}),i},isLayoutRoot:function(){var n=this,t=n.ownerLayout;return!t||n._isLayoutRoot||n.floating?!0:t.isItemLayoutRoot(n)},isLayoutSuspended:function(){for(var n=this,t;n;){if(n.layoutSuspendCount||n.suspendLayout)return!0;if(t=n.ownerLayout,!t)break;n=t.owner}return!1},updateLayout:function(n){var t=this,r,u=t.lastBox,i=n&&n.isRoot;(u&&(u.invalid=!0),!t.rendered||t.layoutSuspendCount||t.suspendLayout)||(t.hidden?Ext.AbstractComponent.cancelLayout(t):typeof i!="boolean"&&(i=t.isLayoutRoot()),!i&&t.ownerLayout&&t.ownerLayout.onContentChange(t)||t.isLayoutSuspended()||(r=n&&n.hasOwnProperty("defer")?n.defer:t.deferLayouts,Ext.AbstractComponent.updateLayout(t,r)))},getSizeModel:function(n){var r=this,t=Ext.layout.SizeModel,o=r.componentLayout.ownerContext,a=r.width,v=r.height,y,p,s,h,f,c,u,i,l,e;return o&&(e=o.widthModel,f=o.heightModel),e&&f||(s=(y=typeof a)=="number",h=(p=typeof v)=="number",l=r.floating||!(c=r.ownerLayout),l?(u=Ext.layout.Layout.prototype.autoSizePolicy,i=r.floating?3:r.shrinkWrap,s&&(e=t.configured),h&&(f=t.configured)):(u=c.getItemSizePolicy(r,n),i=c.isItemShrinkWrap(r)),o&&(o.ownerSizePolicy=u),i=i===!0?3:i||0,l&&i&&(a&&y=="string"&&(i&=2),v&&p=="string"&&(i&=1)),i!==3&&(n||(n=r.ownerCt&&r.ownerCt.getSizeModel()),n&&(i|=(n.width.shrinkWrap?1:0)|(n.height.shrinkWrap?2:0))),e||(e=u.setsWidth?u.readsWidth?s?t.calculatedFromConfigured:i&1?t.calculatedFromShrinkWrap:t.calculatedFromNatural:t.calculated:s?t.configured:i&1?t.shrinkWrap:t.natural),f||(f=u.setsHeight?u.readsHeight?h?t.calculatedFromConfigured:i&2?t.calculatedFromShrinkWrap:t.calculatedFromNatural:t.calculated:h?t.configured:i&2?t.shrinkWrap:t.natural)),e.pairsByHeightOrdinal[f.ordinal]},isDescendant:function(n){if(n.isContainer)for(var t=this.ownerCt;t;t=t.ownerCt)if(t===n)return!0;return!1},doComponentLayout:function(){return this.updateLayout(),this},forceComponentLayout:function(){this.updateLayout()},setComponentLayout:function(n){var t=this.componentLayout;t&&t.isLayout&&t!=n&&t.setOwner(null);this.componentLayout=n;n.setOwner(this)},getComponentLayout:function(){var n=this;return n.componentLayout&&n.componentLayout.isLayout||n.setComponentLayout(Ext.layout.Layout.create(n.componentLayout,"autocomponent")),n.componentLayout},afterComponentLayout:function(n,t,i,r){var u=this;if(++u.componentLayoutCounter==1&&u.afterFirstLayout(n,t),n!==i||t!==r)u.onResize(n,t,i,r)},beforeComponentLayout:function(){return!0},setPosition:function(n,t,i){var r=this,u=r.beforeSetPosition.apply(r,arguments);return u&&r.rendered&&(n=u.x,t=u.y,i?(n!==r.getLocalX()||t!==r.getLocalY())&&(r.stopAnimation(),r.animate(Ext.apply({duration:1e3,listeners:{afteranimate:Ext.Function.bind(r.afterSetPosition,r,[n,t])},to:{x:n,y:t}},i))):(r.setLocalXY(n,t),r.afterSetPosition(n,t))),r},beforeSetPosition:function(n,t,i){var r,u;return n&&(Ext.isNumber(u=n[0])?(i=t,t=n[1],n=u):(u=n.x)!==undefined&&(i=t,t=n.y,n=u)),(this.constrain||this.constrainHeader)&&(r=this.calculateConstrainedPosition(null,[n,t],!0),r&&(n=r[0],t=r[1])),r={x:this.x=n,y:this.y=t,anim:i,hasX:n!==undefined,hasY:t!==undefined},r.hasX||r.hasY?r:null},afterSetPosition:function(n,t){var i=this;i.onPosition(n,t);i.hasListeners.move&&i.fireEvent("move",i,n,t)},onPosition:Ext.emptyFn,setWidth:function(n){return this.setSize(n)},setHeight:function(n){return this.setSize(undefined,n)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getLoader:function(){var n=this,i=n.autoLoad?Ext.isObject(n.autoLoad)?n.autoLoad:{url:n.autoLoad}:null,t=n.loader||i;return t?(t.isLoader?t.setTarget(n):n.loader=new Ext.ComponentLoader(Ext.apply({target:n,autoLoad:i},t)),n.loader):null},setDocked:function(n,t){var i=this;return i.dock=n,t&&i.ownerCt&&i.rendered&&i.ownerCt.updateLayout(),i},setBorder:function(n,t){var i=this,r=!!t;(i.rendered||r)&&(r||(t=i.el),n=n?n===!0?"1px":this.unitizeBox(n):0,t.setStyle("border-width",n),r||i.updateLayout());i.border=n},onDestroy:function(){var n=this;n.monitorResize&&Ext.EventManager.resizeEvent&&Ext.EventManager.resizeEvent.removeListener(n.setSize,n);Ext.destroy(n.componentLayout,n.loadMask,n.floatingDescendants)},destroy:function(){var n=this,i=n.renderSelectors,t,r;if(!n.isDestroyed&&(!n.hasListeners.beforedestroy||n.fireEvent("beforedestroy",n)!==!1)){if(n.destroying=!0,n.beforeDestroy(),n.floating?(delete n.floatParent,n.zIndexManager&&n.zIndexManager.unregister(n)):n.ownerCt&&n.ownerCt.remove&&n.ownerCt.remove(n,!1),n.stopAnimation(),n.onDestroy(),Ext.destroy(n.plugins),n.hasListeners.destroy&&n.fireEvent("destroy",n),Ext.ComponentManager.unregister(n),n.mixins.state.destroy.call(n),n.clearListeners(),n.rendered){if(n.preserveElOnDestroy||n.el.remove(),n.mixins.elementCt.destroy.call(n),i)for(t in i)i.hasOwnProperty(t)&&(r=n[t],r&&(delete n[t],r.remove()));delete n.el;delete n.frameBody;delete n.rendered}n.destroying=!1;n.isDestroyed=!0}},isDescendantOf:function(n){return!!this.findParentBy(function(t){return t===n})},getHierarchyState:function(n){var t=this,i=n&&t.hierarchyStateInner||t.hierarchyState,e=t.ownerCt,u,r,f,o;return(!i||i.invalid)&&(u=t.getRefOwner(),e&&(o=t.ownerLayout===e.layout),t.hierarchyState=i=Ext.Object.chain(u?u.getHierarchyState(o):Ext.rootHierarchyState),t.initHierarchyState(i),(r=t.componentLayout).initHierarchyState&&r.initHierarchyState(i),t.isContainer&&(t.hierarchyStateInner=f=Ext.Object.chain(i),r=t.layout,r&&r.initHierarchyState&&r.initHierarchyState(f,i),n&&(i=f))),i},initHierarchyState:function(n){var t=this;t.collapsed&&(n.collapsed=!0);t.hidden&&(n.hidden=!0);t.collapseImmune&&(n.collapseImmune=!0)},getAnchorToXY:function(n,t,i,r){return n.getAnchorXY(t,i,r)},getBorderPadding:function(){return this.el.getBorderPadding()},getLocalX:function(){return this.el.getLocalX()},getLocalXY:function(){return this.el.getLocalXY()},getLocalY:function(){return this.el.getLocalY()},getX:function(){return this.el.getX()},getXY:function(){return this.el.getXY()},getY:function(){return this.el.getY()},setLocalX:function(n){this.el.setLocalX(n)},setLocalXY:function(n,t){this.el.setLocalXY(n,t)},setLocalY:function(n){this.el.setLocalY(n)},setX:function(n,t){this.el.setX(n,t)},setXY:function(n,t){this.el.setXY(n,t)},setY:function(n,t){this.el.setY(n,t)}},1,0,0,0,0,[["positionable",Ext.util.Positionable],["observable",Ext.util.Observable],["animate",Ext.util.Animate],["elementCt",Ext.util.ElementContainer],["renderable",Ext.util.Renderable],["state",Ext.state.Stateful]],[Ext,"AbstractComponent"],function(){var n=this;n.createAlias({on:"addListener",prev:"previousSibling",next:"nextSibling"});Ext.resumeLayouts=function(t){n.resumeLayouts(t)};Ext.suspendLayouts=function(){n.suspendLayouts()};Ext.batchLayouts=function(t,i){n.suspendLayouts();t.call(i);n.resumeLayouts(!0)}});Ext.cmd.derive("Ext.AbstractPlugin",Ext.Base,{disabled:!1,isPlugin:!0,constructor:function(n){this.pluginConfig=n;Ext.apply(this,n)},clonePlugin:function(n){return new this.self(Ext.apply({},n,this.pluginConfig))},setCmp:function(n){this.cmp=n},getCmp:function(){return this.cmp},init:Ext.emptyFn,destroy:Ext.emptyFn,enable:function(){this.disabled=!1},disable:function(){this.disabled=!0},onClassExtended:function(n,t){var i=t.alias;i&&!t.ptype&&(Ext.isArray(i)&&(i=i[0]),n.prototype.ptype=i.split("plugin.")[1])}},1,0,0,0,0,0,[Ext,"AbstractPlugin"],0);Ext.cmd.derive("Ext.Action",Ext.Base,{constructor:function(n){this.initialConfig=n;this.itemId=n.itemId=n.itemId||n.id||Ext.id();this.items=[]},isAction:!0,setText:function(n){this.initialConfig.text=n;this.callEach("setText",[n])},getText:function(){return this.initialConfig.text},setIconCls:function(n){this.initialConfig.iconCls=n;this.callEach("setIconCls",[n])},getIconCls:function(){return this.initialConfig.iconCls},setDisabled:function(n){this.initialConfig.disabled=n;this.callEach("setDisabled",[n])},enable:function(){this.setDisabled(!1)},disable:function(){this.setDisabled(!0)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(n){this.initialConfig.hidden=n;this.callEach("setVisible",[!n])},show:function(){this.setHidden(!1)},hide:function(){this.setHidden(!0)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(n,t){this.initialConfig.handler=n;this.initialConfig.scope=t;this.callEach("setHandler",[n,t])},each:function(n,t){Ext.each(this.items,n,t)},callEach:function(n,t){var u=this.items,i=0,f=u.length,r;for(Ext.suspendLayouts();i<f;i++)r=u[i],r[n].apply(r,t);Ext.resumeLayouts(!0)},addComponent:function(n){this.items.push(n);n.on("destroy",this.removeComponent,this)},removeComponent:function(n){Ext.Array.remove(this.items,n)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||Ext.global,arguments)}},1,0,0,0,0,0,[Ext,"Action"],0);Ext.cmd.derive("Ext.data.flash.BinaryXhr",Ext.Base,{statics:{flashPluginActivated:function(){Ext.data.flash.BinaryXhr.flashPluginActive=!0;Ext.data.flash.BinaryXhr.flashPlugin=document.getElementById("ext-flash-polyfill");Ext.globalEvents.fireEvent("flashready")},flashPluginActive:!1,flashPluginInjected:!1,connectionIndex:1,liveConnections:{},flashPlugin:null,onFlashStateChange:function(n,t,i){var r;if(r=this.liveConnections[Number(n)],r)r.onFlashStateChange(t,i)},registerConnection:function(n){var t=this.connectionIndex;return this.conectionIndex=this.connectionIndex+1,this.liveConnections[t]=n,t},injectFlashPlugin:function(){var n,i,r,t,e=this,f,u;t=document.createElement("img");t.setAttribute("src",window.location.protocol+"//www.adobe.com/images/shared/download_buttons/get_flash_player.gif");t.setAttribute("alt","Get Adobe Flash player");r=document.createElement("a");r.setAttribute("href","http://www.adobe.com/go/getflashplayer");r.appendChild(t);i=document.createElement("p");i.innerHTML="To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed.";n=document.createElement("div");n.setAttribute("id","ext-flash-polyfill");n.appendChild(i);n.appendChild(t);Ext.getBody().dom.appendChild(n);f=[Ext.Loader.getPath("Ext.data.Connection"),"../../../plugins/flash/swfobject.js"].join("/");u="/plugins/flash/FlashPlugin.swf";Ext.flashPluginPath&&(u=Ext.flashPluginPath);Ext.Loader.loadScript({url:f,onLoad:function(){var n={},t;n.quality="high";n.bgcolor="#ffffff";n.allowscriptaccess="sameDomain";n.allowfullscreen="true";t={};t.id="ext-flash-polyfill";t.name="polyfill";t.align="middle";swfobject.embedSWF(u,"ext-flash-polyfill","0","0","11.4.0","playerProductInstall.swf",{},n,t)},onError:function(){},scope:e});Ext.globalEvents.addEvents("flashready");Ext.data.flash.BinaryXhr.flashPluginInjected=!0}},readyState:0,status:0,statusText:"",responseBytes:null,javascriptId:null,constructor:function(n){Ext.data.flash.BinaryXhr.flashPluginInjected||Ext.data.flash.BinaryXhr.injectFlashPlugin();var t=this;Ext.apply(t,n);t.requestHeaders={}},abort:function(){var n=this;if(n.readyState!=4){if(n.aborted=!0,!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.globalEvents.removeListener("flashready",n.onFlashReady,n);return}Ext.data.flash.BinaryXhr.flashPlugin.abortRequest(n.javascriptId);delete Ext.data.flash.BinaryXhr.liveConnections[n.javascriptId]}},getAllResponseHeaders:function(){var n=[];return Ext.Object.each(this.responseHeaders,function(t,i){n.push(t+": "+i)}),n.join("\r\n")},getResponseHeader:function(n){var t=this.responseHeaders;return t&&t[n]||null},open:function(n,t,i,r,u){var f=this;f.method=n;f.url=t;f.async=i!==!1;f.user=r;f.password=u},overrideMimeType:function(n){this.mimeType=n},send:function(n){var t=this;t.body=n;Ext.data.flash.BinaryXhr.flashPluginActive?this.onFlashReady():Ext.globalEvents.addListener("flashready",t.onFlashReady,t)},onFlashReady:function(){var n=this,t,i;n.javascriptId=Ext.data.flash.BinaryXhr.registerConnection(n);t={method:n.method,url:n.url,user:n.user,password:n.password,mimeType:n.mimeType,requestHeaders:n.requestHeaders,body:n.body,javascriptId:n.javascriptId};i=Ext.data.flash.BinaryXhr.flashPlugin.postBinary(t)},setReadyState:function(n){var t=this;t.readyState!=n&&(t.readyState=n,t.onreadystatechange())},setRequestHeader:function(n,t){this.requestHeaders[n]=t},onreadystatechange:Ext.emptyFn,parseData:function(n){var t=this;this.status=n.status||0;t.responseHeaders={};t.mimeType&&(t.responseHeaders["content-type"]=t.mimeType);n.reason=="complete"?(this.responseBytes=n.data,t.responseHeaders["content-length"]=n.data.length):(n.reason=="error"||n.reason=="securityError")&&(this.statusText=n.text,t.responseHeaders["content-length"]=0)},onFlashStateChange:function(n,t){var i=this;n==4&&(i.parseData(t),delete Ext.data.flash.BinaryXhr.liveConnections[i.javascriptId]);i.setReadyState(n)}},1,0,0,0,0,0,[Ext.data.flash,"BinaryXhr"],0);Ext.cmd.derive("Ext.data.Connection",Ext.Base,{statics:{requestId:0},url:null,async:!0,method:null,username:"",password:"",disableCaching:!0,withCredentials:!1,binary:!1,cors:!1,isXdr:!1,defaultXdrContentType:"text/plain",disableCachingParam:"_dc",timeout:3e4,useDefaultHeader:!0,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:!0,defaultXhrHeader:"XMLHttpRequest",constructor:function(n){n=n||{};Ext.apply(this,n);this.requests={};this.mixins.observable.constructor.call(this)},request:function(n){n=n||{};var t=this,o=n.scope||window,s=n.username||t.username,h=n.password||t.password||"",f,r,i,e,u;return t.fireEvent("beforerequest",t,n)!==!1?(r=t.setOptions(n,o),t.isFormUpload(n))?(t.upload(n.form,r.url,r.data,n),null):((n.autoAbort||t.autoAbort)&&t.abort(),f=n.async!==!1?n.async||t.async:!1,u=t.openRequest(n,r,f,s,h),t.isXdr||(e=t.setupHeaders(u,n,r.data,r.params)),i={id:++Ext.data.Connection.requestId,xhr:u,headers:e,options:n,async:f,binary:n.binary||t.binary,timeout:setTimeout(function(){i.timedout=!0;t.abort(i)},n.timeout||t.timeout)},t.requests[i.id]=i,t.latestId=i.id,f&&(t.isXdr||(u.onreadystatechange=Ext.Function.bind(t.onStateChange,t,[i]))),t.isXdr&&t.processXdrRequest(i,u),u.send(r.data),!f)?t.onComplete(i):i:(Ext.callback(n.callback,n.scope,[n,undefined,undefined]),null)},processXdrRequest:function(n,t){var i=this;delete n.headers;n.contentType=n.options.contentType||i.defaultXdrContentType;t.onload=Ext.Function.bind(i.onStateChange,i,[n,!0]);t.onerror=t.ontimeout=Ext.Function.bind(i.onStateChange,i,[n,!1])},processXdrResponse:function(n,t){n.getAllResponseHeaders=function(){return[]};n.getResponseHeader=function(){return""};n.contentType=t.contentType||this.defaultXdrContentType},upload:function(n,t,i,r){n=Ext.getDom(n);r=r||{};var u=Ext.id(),o=document.createElement("iframe"),a=[],v="multipart/form-data",y={target:n.target,method:n.method,encoding:n.encoding,enctype:n.enctype,action:n.action},p=function(t,i){s=document.createElement("input");Ext.fly(s).set({type:"hidden",value:i,name:t});n.appendChild(s);a.push(s)},s,h,f,e,w,c,b,l;if(Ext.fly(o).set({id:u,name:u,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL}),document.body.appendChild(o),document.frames&&(document.frames[u].name=u),Ext.fly(n).set({target:u,method:"POST",enctype:v,encoding:v,action:t||y.action}),i){h=Ext.Object.fromQueryString(i)||{};for(e in h)if(h.hasOwnProperty(e))if(f=h[e],Ext.isArray(f))for(w=f.length,c=0;c<w;c++)p(e,f[c]);else p(e,f)}Ext.fly(o).on("load",Ext.Function.bind(this.onUploadComplete,this,[o,r]),null,{single:!Ext.isOpera});for(n.submit(),Ext.fly(n).set(y),b=a.length,l=0;l<b;l++)Ext.removeNode(a[l])},onUploadComplete:function(n,t){var o=this,r={responseText:"",responseXML:null},f,e,i,u;try{if(i=n.contentWindow.document||n.contentDocument||window.frames[n.id].document,i){if(Ext.isOpera&&i.location=="about:blank")return;i.body&&(r.responseText=(u=i.body.firstChild)&&/pre/i.test(u.tagName)?u.textContent:(u=i.getElementsByTagName("textarea")[0])?u.value:i.body.textContent||i.body.innerText);r.responseXML=i.XMLDocument||i;f=t.success;e=!0}}catch(s){r.responseText='{success:false,message:"'+Ext.String.trim(s.message||s.description)+'"}';f=t.failure;e=!1}o.fireEvent("requestcomplete",o,r,t);Ext.callback(f,t.scope,[r,t]);Ext.callback(t.callback,t.scope,[t,e,r]);setTimeout(function(){Ext.removeNode(n)},100)},isFormUpload:function(n){var t=this.getForm(n);return t?n.isUpload||/multipart\/form-data/i.test(t.getAttribute("enctype")):!1},getForm:function(n){return Ext.getDom(n.form)||null},setOptions:function(n,t){var f=this,i=n.params||{},o=f.extraParams,e=n.urlParams,r=n.url||f.url,h=n.jsonData,s,c,u;return Ext.isFunction(i)&&(i=i.call(t,n)),Ext.isFunction(r)&&(r=r.call(t,n)),r=this.setupUrl(n,r),u=n.rawData||n.binaryData||n.xmlData||h||null,h&&!Ext.isPrimitive(h)&&(u=Ext.encode(u)),n.binaryData&&f.nativeBinaryPostSupport()&&(u=new Uint8Array(n.binaryData),(Ext.isChrome&&Ext.chromeVersion<22||Ext.isSafari||Ext.isGecko)&&(u=u.buffer)),Ext.isObject(i)&&(i=Ext.Object.toQueryString(i)),Ext.isObject(o)&&(o=Ext.Object.toQueryString(o)),i=i+(o?(i?"&":"")+o:""),e=Ext.isObject(e)?Ext.Object.toQueryString(e):e,i=this.setupParams(n,i),s=(n.method||f.method||(i||u?"POST":"GET")).toUpperCase(),this.setupMethod(n,s),c=n.disableCaching!==!1?n.disableCaching||f.disableCaching:!1,s==="GET"&&c&&(r=Ext.urlAppend(r,(n.disableCachingParam||f.disableCachingParam)+"="+(new Date).getTime())),(s=="GET"||u)&&i&&(r=Ext.urlAppend(r,i),i=null),e&&(r=Ext.urlAppend(r,e)),{url:r,method:s,data:u||i||null}},setupUrl:function(n,t){var i=this.getForm(n);return i&&(t=t||i.action),t},setupParams:function(n,t){var r=this.getForm(n),i;return r&&!this.isFormUpload(n)&&(i=Ext.Element.serializeForm(r),t=t?t+"&"+i:i),t},setupMethod:function(n,t){return this.isFormUpload(n)?"POST":t},setupHeaders:function(n,t,i,r){var f=this,u=Ext.apply({},t.headers||{},f.defaultHeaders||{}),o=f.defaultPostHeader,h=t.jsonData,c=t.xmlData,e,s;!u["Content-Type"]&&(i||r)&&(i&&(t.rawData?o="text/plain":c&&Ext.isDefined(c)?o="text/xml":h&&Ext.isDefined(h)&&(o="application/json")),u["Content-Type"]=o);f.useDefaultXhrHeader&&!u["X-Requested-With"]&&(u["X-Requested-With"]=f.defaultXhrHeader);try{for(e in u)u.hasOwnProperty(e)&&(s=u[e],n.setRequestHeader(e,s))}catch(l){f.fireEvent("exception",e,s)}return u},newRequest:function(n){var t=this,i;return n.binaryData?i=t.nativeBinaryPostSupport()?this.getXhrInstance():new Ext.data.flash.BinaryXhr:(n.cors||t.cors)&&Ext.isIE&&Ext.ieVersion<=9?(i=t.getXdrInstance(),t.isXdr=!0):i=t.getXhrInstance(),i},openRequest:function(n,t,i,r,u){var e=this,f=e.newRequest(n);return r?f.open(t.method,t.url,i,r,u):e.isXdr?f.open(t.method,t.url):f.open(t.method,t.url,i),(n.binary||e.binary)&&(window.Uint8Array?f.responseType="arraybuffer":f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined")),(n.withCredentials||e.withCredentials)&&(f.withCredentials=!0),f},getXdrInstance:function(){var n;return Ext.ieVersion>=8?n=new XDomainRequest:Ext.Error.raise({msg:"Your browser does not support CORS"}),n},getXhrInstance:function(){for(var i=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],n=0,r=i.length,t;n<r;++n)try{t=i[n];t();break}catch(u){}return t}(),isLoading:function(n){if(n||(n=this.getLatest()),!(n&&n.xhr))return!1;var t=n.xhr.readyState;return n.xhr instanceof Ext.data.flash.BinaryXhr&&t!=4||!(t===0||t==4)},abort:function(n){var t=this,i;if(n||(n=t.getLatest()),n&&t.isLoading(n)){i=n.xhr;try{i.onreadystatechange=null}catch(r){i.onreadystatechange=Ext.emptyFn}i.abort();t.clearTimeout(n);n.timedout||(n.aborted=!0);t.onComplete(n);t.cleanup(n)}},abortAll:function(){var n=this.requests;for(var t in n)n.hasOwnProperty(t)&&this.abort(n[t])},getLatest:function(){var n=this.latestId,t;return n&&(t=this.requests[n]),t||null},onStateChange:function(n,t){var i=this;if(n.xhr&&n.xhr.readyState==4||i.isXdr){i.clearTimeout(n);i.onComplete(n,t);i.cleanup(n);Ext.EventManager.idleEvent.fire()}},clearTimeout:function(n){clearTimeout(n.timeout);delete n.timeout},cleanup:function(n){n.xhr=null;delete n.xhr},onComplete:function(n,t){var r=this,i=n.options,f,e,u;try{f=r.parseStatus(n.xhr.status)}catch(o){f={success:!1,isException:!1}}return e=r.isXdr?t:f.success,e?(u=r.createResponse(n),r.fireEvent("requestcomplete",r,u,i),Ext.callback(i.success,i.scope,[u,i])):(u=f.isException||n.aborted||n.timedout?r.createException(n):r.createResponse(n),r.fireEvent("requestexception",r,u,i),Ext.callback(i.failure,i.scope,[u,i])),Ext.callback(i.callback,i.scope,[i,e,u]),delete r.requests[n.id],u},parseStatus:function(n){n=n==1223?204:n;var t=n>=200&&n<300||n==304,i=!1;if(!t)switch(n){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:i=!0}return{success:t,isException:i}},createResponse:function(n){for(var f=this,t=n.xhr,o=f.isXdr,e={},s=o?[]:t.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),h=s.length,u,i,c,r;h--;)u=s[h],i=u.indexOf(":"),i>=0&&(c=u.substr(0,i).toLowerCase(),u.charAt(i+1)==" "&&++i,e[c]=u.substr(i+1));return n.xhr=null,delete n.xhr,r={request:n,requestId:n.id,status:t.status,statusText:t.statusText,getResponseHeader:function(n){return e[n.toLowerCase()]},getAllResponseHeaders:function(){return e}},o&&f.processXdrResponse(r,t),n.binary?r.responseBytes=f.getByteArray(t):(r.responseText=t.responseText,r.responseXML=t.responseXML),t=null,r},createException:function(n){return{request:n,requestId:n.id,status:n.aborted?-1:0,statusText:n.aborted?"transaction aborted":"communication failure",aborted:n.aborted,timedout:n.timedout}},getByteArray:function(n){var u=n.response,e=n.responseBody,t,r,f,i;if(n instanceof Ext.data.flash.BinaryXhr)t=n.responseBytes;else if(window.Uint8Array)t=u?new Uint8Array(u):[];else if(Ext.isIE9p)try{t=new VBArray(e).toArray()}catch(o){t=[]}else if(Ext.isIE)this.self.vbScriptInjected||this.injectVBScript(),getIEByteArray(n.responseBody,t=[]);else for(t=[],r=n.responseText,f=r.length,i=0;i<f;i++)t.push(r.charCodeAt(i)&255);return t},injectVBScript:function(){var n=document.createElement("script");n.type="text/vbscript";n.text="Function getIEByteArray(byteArray, out)\nDim len, i\nlen = LenB(byteArray)\nFor i = 1 to len\nout.push(AscB(MidB(byteArray, i, 1)))\nNext\nEnd Function";Ext.getHead().dom.appendChild(n);this.self.vbScriptInjected=!0},nativeBinaryPostSupport:function(){return Ext.isChrome||Ext.isSafari&&Ext.isDefined(window.Uint8Array)||Ext.isGecko&&Ext.isDefined(window.Uint8Array)}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.data,"Connection"],0);Ext.cmd.derive("Ext.Ajax",Ext.data.Connection,{singleton:!0,autoAbort:!1},0,0,0,0,0,0,[Ext,"Ajax"],0);Ext.cmd.derive("Ext.util.Floating",Ext.Base,{focusOnToFront:!0,shadow:"sides",constrain:!1,constructor:function(n){var t=this;t.fixed=t.fixed&&!(Ext.isIE6||Ext.isIEQuirks);t.el=new Ext.dom.Layer(Ext.apply({preventSync:!0,hideMode:t.hideMode,hidden:t.hidden,shadow:typeof t.shadow!="undefined"?t.shadow:"sides",shadowOffset:t.shadowOffset,constrain:!1,fixed:t.fixed,shim:t.shim===!1?!1:undefined},t.floating),n);!t.modal||Ext.FocusManager&&Ext.FocusManager.enabled||t.mon(t.el,{keydown:t.onKeyDown,scope:t});t.mon(t.el,{mousedown:t.onMouseDown,scope:t});t.floating=!0;t.registerWithOwnerCt();t.initHierarchyEvents()},initHierarchyEvents:function(){var n=this,t=this.syncHidden;n.hasHierarchyEventListeners||(n.mon(n.hierarchyEventSource,{hide:t,collapse:t,show:t,expand:t,added:t,scope:n}),n.hasHierarchyEventListeners=!0)},registerWithOwnerCt:function(){var n=this,i=n.ownerCt,t=n.zIndexParent;t&&t.unregisterFloatingItem(n);t=n.zIndexParent=n.up("[floating]");n.setFloatParent(i||t);delete n.ownerCt;t?t.registerFloatingItem(n):Ext.WindowManager.register(n)},onKeyDown:function(n){var f=this,u,t,i,r;n.getKey()==Ext.EventObject.TAB&&(u=n.shiftKey,t=f.el.query(":focusable"),i=t[0],r=t[t.length-1],i&&r&&n.target===(u?i:r)&&(n.stopEvent(),(u?r:i).focus(!1,!0)))},onMouseDown:function(n){var t=this.focusTask;!this.floating||t&&t.id||this.toFront(!!n.getTarget(":focusable"))},setFloatParent:function(n){var t=this;t.floatParent=n;(t.constrain||t.constrainHeader)&&!t.constrainTo&&(t.constrainTo=n?n.getTargetEl():t.container)},syncShadow:function(){this.floating&&this.el.sync(!0)},onBeforeFloatLayout:function(){this.el.preventSync=!0},onAfterFloatLayout:function(){delete this.el.preventSync;this.syncShadow()},syncHidden:function(){var n=this,r=n.hidden||!n.rendered,i=n.hierarchicallyHidden=n.isHierarchicallyHidden(),t=n.pendingShow;r!==i&&(i?(n.hide(),n.pendingShow=!0):t&&(delete n.pendingShow,t.length?n.show.apply(n,t):n.show()))},setZIndex:function(n){var t=this;return t.el.setZIndex(n),n+=10,t.floatingDescendants&&(n=Math.floor(t.floatingDescendants.setBase(n)/100)*100+1e4),n},doConstrain:function(n){var t=this,i=t.calculateConstrainedPosition(n,null,!0);i&&t.setPosition(i)},toFront:function(n){var t=this,i=t.zIndexParent,r=t.preventFocusOnActivate;return i&&t.bringParentToFront!==!1&&i.toFront(!0),Ext.isDefined(n)||(n=!t.focusOnToFront),n&&(t.preventFocusOnActivate=!0),t.zIndexManager.bringToFront(t,n)&&(n||t.focus(!1,!0)),t.preventFocusOnActivate=r,t},setActive:function(n,t){var i=this;n?(i.el.shadow&&!i.maximized&&i.el.enableShadow(!0),i.preventFocusOnActivate||i.focus(!1,!0),i.fireEvent("activate",i)):(i.isWindow&&t&&t.isWindow&&i.hideShadowOnDeactivate&&i.el.disableShadow(),i.fireEvent("deactivate",i))},toBack:function(){return this.zIndexManager.sendToBack(this),this},center:function(){var n=this,t;return n.isVisible()?(t=n.getAlignToXY(n.container,"c-c"),n.setPagePosition(t)):n.needsCenter=!0,n},onFloatShow:function(){this.needsCenter&&this.center();delete this.needsCenter},fitContainer:function(n){var t=this,i=t.floatParent,r=i?i.getTargetEl():t.container,u=r.getViewSize(!1),f=i||r.dom!==document.body?[0,0]:r.getXY();u.x=f[0];u.y=f[1];t.setBox(u,n)}},1,0,0,0,0,0,[Ext.util,"Floating"],0);Ext.cmd.derive("Ext.Component",Ext.AbstractComponent,{statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:!1,defaultAlign:"tl-bl?",toFrontOnShow:!0,hideMode:"display",offsetsCls:Ext.baseCSSPrefix+"hide-offsets",bubbleEvents:[],defaultComponentLayoutType:"autocomponent",constructor:function(n){var t=this;n=n||{};n.initialConfig?(n.isAction&&(t.baseAction=n),n=n.initialConfig):(n.tagName||n.dom||Ext.isString(n))&&(n={applyTo:n,id:n.id||n});t.callParent([n]);t.baseAction&&t.baseAction.addComponent(t)},initComponent:function(){var n=this;if(n.callParent(),n.listeners){n.on(n.listeners);n.listeners=null}n.enableBubble(n.bubbleEvents)},afterRender:function(){var n=this;n.callParent();n.x&&n.y||!(n.pageX||n.pageY)||n.setPagePosition(n.pageX,n.pageY)},setAutoScroll:function(n){var t=this;return t.autoScroll=!!n,t.rendered&&t.getOverflowEl().setStyle(t.getOverflowStyle()),t.updateLayout(),t},setOverflowXY:function(n,t){var i=this,r=arguments.length;return r&&(i.overflowX=n||"",r>1&&(i.overflowY=t||"")),i.rendered&&i.getOverflowEl().setStyle(i.getOverflowStyle()),i.updateLayout(),i},beforeRender:function(){var n=this,i=n.floating,t;return i&&(n.addCls(Ext.baseCSSPrefix+"layer"),t=i.cls,t&&n.addCls(t)),n.callParent()},beforeLayout:function(){this.callParent(arguments);this.floating&&this.onBeforeFloatLayout()},afterComponentLayout:function(){this.callParent(arguments);this.floating&&this.onAfterFloatLayout()},makeFloating:function(n){this.mixins.floating.constructor.call(this,n)},wrapPrimaryEl:function(n){this.floating?this.makeFloating(n):this.callParent(arguments)},initResizable:function(n){var t=this;n=Ext.apply({target:t,dynamic:!1,constrainTo:t.constrainTo||(t.floatParent?t.floatParent.getTargetEl():null),handles:t.resizeHandles},n);n.target=t;t.resizer=new Ext.resizer.Resizer(n)},getDragEl:function(){return this.el},initDraggable:function(){var n=this,i=n.resizer&&n.resizer.el!==n.el?n.resizerComponent=new Ext.Component({el:n.resizer.el,rendered:!0,container:n.container}):n,t=Ext.applyIf({el:i.getDragEl(),constrainTo:n.constrain||n.draggable.constrain?n.constrainTo||(n.floatParent?n.floatParent.getTargetEl():n.container):undefined},n.draggable);(n.constrain||n.constrainDelegate)&&(t.constrain=n.constrain,t.constrainDelegate=n.constrainDelegate);n.dd=new Ext.util.ComponentDragger(i,t)},scrollBy:function(){var n;(n=this.getTargetEl())&&n.dom&&n.scrollBy.apply(n,arguments)},setLoading:function(n,t){var i=this,r={target:i};return i.rendered&&(Ext.destroy(i.loadMask),i.loadMask=null,n===!1||i.collapsed||(Ext.isObject(n)?Ext.apply(r,n):Ext.isString(n)&&(r.msg=n),t&&Ext.applyIf(r,{useTargetEl:!0}),i.loadMask=new Ext.LoadMask(r),i.loadMask.show())),i.loadMask},beforeSetPosition:function(){var i=this,n=i.callParent(arguments),t;return n&&(t=i.adjustPosition(n.x,n.y),n.x=t.x,n.y=t.y),n||null},afterSetPosition:function(n,t){this.onPosition(n,t);this.fireEvent("move",this,n,t)},showAt:function(n,t,i){var r=this;if(!r.rendered&&(r.autoRender||r.floating))return r.x=n,r.y=t,r.show();r.floating?r.setPosition(n,t,i):r.setPagePosition(n,t,i);r.show()},showBy:function(n,t,i){var r=this;return r.floating&&n&&(r.show(),r.rendered&&!r.hidden&&r.alignTo(n,t||r.defaultAlign,i)),r},setPagePosition:function(n,t,i){var r=this,u,f;return Ext.isArray(n)&&(t=n[1],n=n[0]),r.pageX=n,r.pageY=t,r.floating?(r.isContainedFloater()?(f=r.floatParent.getTargetEl().getViewRegion(),Ext.isNumber(n)&&Ext.isNumber(f.left)&&(n-=f.left),Ext.isNumber(t)&&Ext.isNumber(f.top)&&(t-=f.top)):(u=r.el.translateXY(n,t),n=u.x,t=u.y),r.setPosition(n,t,i)):(u=r.el.translateXY(n,t),r.setPosition(u.x,u.y,i)),r},isContainedFloater:function(){return this.floating&&this.floatParent},updateBox:function(n){return this.setSize(n.width,n.height),this.setPagePosition(n.x,n.y),this},getOuterSize:function(){var n=this.el;return{width:n.getWidth()+n.getMargin("lr"),height:n.getHeight()+n.getMargin("tb")}},adjustPosition:function(n,t){var r=this,i;return r.isContainedFloater()&&(i=r.floatParent.getTargetEl().getViewRegion(),n+=i.left,t+=i.top),{x:n,y:t}},getPosition:function(n){var t=this,i,u=t.isContainedFloater(),r;return n===!0&&!u?[t.getLocalX(),t.getLocalY()]:(i=t.getXY(),n===!0&&u&&(r=t.floatParent.getTargetEl().getViewRegion(),i[0]-=r.left,i[1]-=r.top),i)},getId:function(){var n=this,t;return n.id||(t=n.getXType(),t=t?t.replace(Ext.Component.INVALID_ID_CHARS_Re,"-"):Ext.name.toLowerCase()+"-comp",n.id=t+"-"+n.getAutoId()),n.id},show:function(){var n=this,t=n.rendered;return n.hierarchicallyHidden||n.floating&&!t&&n.isHierarchicallyHidden()?(t||n.initHierarchyEvents(),arguments.length>1?(arguments[0]=null,n.pendingShow=arguments):n.pendingShow=!0):t&&n.isVisible()?n.toFrontOnShow&&n.floating&&n.toFront():n.fireEvent("beforeshow",n)!==!1?(n.hidden=!1,delete this.getHierarchyState().hidden,Ext.suspendLayouts(),!t&&(n.autoRender||n.floating)&&(n.doAutoRender(),t=n.rendered),t?(n.beforeShow(),Ext.resumeLayouts(),n.onShow.apply(n,arguments),n.afterShow.apply(n,arguments)):Ext.resumeLayouts(!0)):n.onShowVeto(),n},onShowVeto:Ext.emptyFn,beforeShow:Ext.emptyFn,onShow:function(){var n=this;n.el.show();n.callParent(arguments);n.floating&&(n.maximized?n.fitContainer():n.constrain&&n.doConstrain())},getAnimateTarget:function(n){return n=n||this.animateTarget,n&&(n=n.isComponent?n.getEl():Ext.get(n)),n||null},afterShow:function(n,t,i){var r=this,u=r.el,o,e,f;if(n=r.getAnimateTarget(n),r.ghost||(n=null),n)e={x:u.getX(),y:u.getY(),width:u.dom.offsetWidth,height:u.dom.offsetHeight},o={x:n.getX(),y:n.getY(),width:n.dom.offsetWidth,height:n.dom.offsetHeight},u.addCls(r.offsetsCls),f=r.ghost(),f.el.stopAnimation(),f.setX(-1e4),r.ghostBox=e,f.el.animate({from:o,to:e,listeners:{afteranimate:function(){delete f.componentLayout.lastComponentSize;r.unghost();delete r.ghostBox;u.removeCls(r.offsetsCls);r.onShowComplete(t,i)}}});else r.onShowComplete(t,i);r.fireHierarchyEvent("show")},onShowComplete:function(n,t){var i=this;i.floating&&(i.toFront(),i.onFloatShow());Ext.callback(n,t||i);i.fireEvent("show",i);delete i.hiddenByLayout},hide:function(){var n=this,t;return n.pendingShow&&delete n.pendingShow,n.rendered&&!n.isVisible()||(t=n.fireEvent("beforehide",n)!==!1,(n.hierarchicallyHidden||t)&&(n.hidden=!0,n.getHierarchyState().hidden=!0,n.rendered&&n.onHide.apply(n,arguments))),n},onHide:function(n,t,i){var r=this,u,f,e;n=r.getAnimateTarget(n);r.ghost||(n=null);n&&(e={x:n.getX(),y:n.getY(),width:n.dom.offsetWidth,height:n.dom.offsetHeight},u=r.ghost(),u.el.stopAnimation(),f=r.getSize(),u.el.animate({to:e,listeners:{afteranimate:function(){delete u.componentLayout.lastComponentSize;u.el.hide();u.el.setSize(f);r.afterHide(t,i)}}}));r.el.hide();n||r.afterHide(t,i)},afterHide:function(n,t){var i=this,r=Ext.Element.getActiveElement();i.hiddenByLayout=null;Ext.AbstractComponent.prototype.onHide.call(i);(r===i.el||i.el.contains(r))&&Ext.fly(r).blur();Ext.callback(n,t||i);i.fireEvent("hide",i);i.fireHierarchyEvent("hide")},onDestroy:function(){var n=this;n.rendered&&Ext.destroy(n.dd,n.resizer,n.proxy,n.proxyWrap,n.resizerComponent);delete n.focusTask;n.callParent()},deleteMembers:function(){for(var t=arguments,i=t.length,n=0;n<i;++n)delete this[t[n]]},focus:function(n,t,i,r){var u=this,f,e,o;if(t)return u.focusTask||(Ext.Component.prototype.focusTask=new Ext.util.DelayedTask(u.focus)),u.focusTask.delay(Ext.isNumber(t)?t:10,null,u,[n,!1,i,r]),u;if(u.focusTask&&u.focusTask.cancel(),u.rendered&&!u.isDestroyed&&u.isVisible(!0)&&(f=u.getFocusEl())){if(f.isComponent)return f.focus(n,t);(e=f.dom)&&(f.needsTabIndex()&&(e.tabIndex=-1),u.floating&&(o=u.container.dom.scrollTop),f.focus(),n===!0&&e.select(),Ext.callback(i,r));u.floating&&(u.toFront(!0),o!==undefined&&(u.container.dom.scrollTop=o))}return u},cancelFocus:function(){var n=this.focusTask;n&&n.cancel()},blur:function(){var n;return this.rendered&&(n=this.getFocusEl())&&n.blur(),this},getEl:function(){return this.el},getResizeEl:function(){return this.el},getPositionEl:function(){return this.el},getActionEl:function(){return this.el},getVisibilityEl:function(){return this.el},getRefOwner:function(){return this.ownerCt||this.floatParent},getBubbleTarget:function(){return this.getRefOwner()},getContentTarget:function(){return this.el},cloneConfig:function(n){n=n||{};var r=n.id||Ext.id(),t=Ext.applyIf(n,this.initialConfig),i;return t.id=r,i=Ext.getClass(this),new i(t)},getXType:function(){return this.self.xtype},findParentBy:function(n){for(var t=this.getBubbleTarget();t&&!n(t,this);t=t.getBubbleTarget());return t||null},findParentByType:function(n){return Ext.isFunction(n)?this.findParentBy(function(t){return t.constructor===n}):this.up(n)},bubble:function(n,t,i){for(var r=this;r;){if(n.apply(t||r,i||[r])===!1)break;r=r.getBubbleTarget()}return this},getProxy:function(){var n=this,t;return n.proxy||(t=Ext.getBody(),n.proxy=n.el.createProxy(Ext.baseCSSPrefix+"proxy-el",t,!0)),n.proxy},fireHierarchyEvent:function(n){this.hierarchyEventSource.fireEvent(n,this)},onAdded:function(){this.callParent(arguments);this.hierarchyEventSource.hasListeners.added&&this.fireHierarchyEvent("added")}},1,["component","box"],["component","box"],{component:!0,box:!0},["widget.box","widget.component"],[["floating",Ext.util.Floating]],[Ext,"Component"],function(){this.hierarchyEventSource=this.prototype.hierarchyEventSource=new Ext.util.Observable({events:{hide:!0,show:!0,collapse:!0,expand:!0,added:!0}})});Ext.define("Ext.layout.container.border.Region",{override:"Ext.Component",initBorderRegion:function(){var n=this;n._borderRegionInited||(n._borderRegionInited=!0,n.addStateEvents(["changeregion","changeweight"]),Ext.override(n,{getState:function(){var t=n.callParent();return t=n.addPropertyToState(t,"region"),n.addPropertyToState(t,"weight")}}))},getOwningBorderContainer:function(){var n=this.getOwningBorderLayout();return n&&n.owner},getOwningBorderLayout:function(){var n=this.ownerLayout;return n&&n.isBorderLayout?n:null},setBorderRegion:function(n){var t=this,f,e=t.region;if(n!==e)if(f=t.getOwningBorderLayout(),f){var h=f.regionFlags[n],c=t.placeholder,i=t.splitter,o=f.owner,a=f.regionMeta,l=t.collapsed||t.floated,s,r,u;if(t.fireEventArgs("beforechangeregion",[t,n])===!1)return e;Ext.suspendLayouts();t.region=n;Ext.apply(t,h);t.updateCollapseTool&&t.updateCollapseTool();i&&(Ext.apply(i,h),i.updateOrientation(),r=o.items,u=r.indexOf(t),u>=0&&(s=a[n].splitterDelta,r.getAt(u+s)!==i&&(r.remove(i),u=r.indexOf(t),s>0&&++u,r.insert(u,i))));c&&(l&&t.expand(!1),o.remove(c),t.placeholder=null,l&&t.collapse(null,!1));o.updateLayout();Ext.resumeLayouts(!0);t.fireEventArgs("changeregion",[t,e])}else t.region=n;return e},setRegionWeight:function(n){var t=this,r=t.getOwningBorderContainer(),u=t.placeholder,i=t.weight;return n!==i&&t.fireEventArgs("beforechangeweight",[t,n])!==!1&&(t.weight=n,u&&(u.weight=n),r&&r.updateLayout(),t.fireEventArgs("changeweight",[t,i])),i}});Ext.cmd.derive("Ext.ElementLoader",Ext.Base,{statics:{Renderer:{Html:function(n,t,i){return n.getTarget().update(t.responseText,i.scripts===!0),!0}}},url:null,params:null,baseParams:null,autoLoad:!1,target:null,loadMask:!1,ajaxOptions:null,scripts:!1,isLoader:!0,constructor:function(n){var t=this,i;n=n||{};Ext.apply(t,n);t.setTarget(t.target);t.addEvents("beforeload","exception","load");t.mixins.observable.constructor.call(t);t.autoLoad&&(i=t.autoLoad,i===!0&&(i={}),t.load(i))},setTarget:function(n){var t=this;n=Ext.get(n);t.target&&t.target!=n&&t.abort();t.target=n},getTarget:function(){return this.target||null},abort:function(){var n=this.active;n!==undefined&&(Ext.Ajax.abort(n.request),n.mask&&this.removeMask(),delete this.active)},removeMask:function(){this.target.unmask()},addMask:function(n){this.target.mask(n===!0?null:n)},load:function(n){n=Ext.apply({},n);var t=this,i=Ext.isDefined(n.loadMask)?n.loadMask:t.loadMask,r=Ext.apply({},n.params),u=Ext.apply({},n.ajaxOptions),f=n.callback||t.callback,e=n.scope||t.scope||t;(Ext.applyIf(u,t.ajaxOptions),Ext.applyIf(n,u),Ext.applyIf(r,t.params),Ext.apply(r,t.baseParams),Ext.applyIf(n,{url:t.url}),Ext.apply(n,{scope:t,params:r,callback:t.onComplete}),t.fireEvent("beforeload",t,n)!==!1)&&(i&&t.addMask(i),t.active={options:n,mask:i,scope:e,callback:f,success:n.success||t.success,failure:n.failure||t.failure,renderer:n.renderer||t.renderer,scripts:Ext.isDefined(n.scripts)?n.scripts:t.scripts},t.active.request=Ext.Ajax.request(n),t.setOptions(t.active,n))},setOptions:Ext.emptyFn,onComplete:function(n,t,i){var r=this,u=r.active,f;u&&(f=u.scope,t&&(t=r.getRenderer(u.renderer).call(r,r,i,u)!==!1),t?(Ext.callback(u.success,f,[r,i,n]),r.fireEvent("load",r,i,n)):(Ext.callback(u.failure,f,[r,i,n]),r.fireEvent("exception",r,i,n)),Ext.callback(u.callback,f,[r,t,i,n]),u.mask&&r.removeMask());delete r.active},getRenderer:function(n){return Ext.isFunction(n)?n:this.statics().Renderer.Html},startAutoRefresh:function(n,t){var i=this;i.stopAutoRefresh();i.autoRefresh=setInterval(function(){i.load(t)},n)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var n=this;n.stopAutoRefresh();delete n.target;n.abort();n.clearListeners()}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext,"ElementLoader"],0);Ext.cmd.derive("Ext.ComponentLoader",Ext.ElementLoader,{statics:{Renderer:{Data:function(n,t){var i=!0;try{n.getTarget().update(Ext.decode(t.responseText))}catch(r){i=!1}return i},Component:function(n,t,i){var u=!0,r=n.getTarget(),f=[];try{f=Ext.decode(t.responseText)}catch(e){u=!1}return u&&(r.suspendLayouts(),i.removeAll&&r.removeAll(),r.add(f),r.resumeLayouts(!0)),u}}},target:null,loadMask:!1,renderer:"html",setTarget:function(n){var t=this;Ext.isString(n)&&(n=Ext.getCmp(n));t.target&&t.target!=n&&t.abort();t.target=n},removeMask:function(){this.target.setLoading(!1)},addMask:function(n){this.target.setLoading(n)},setOptions:function(n,t){n.removeAll=Ext.isDefined(t.removeAll)?t.removeAll:this.removeAll},getRenderer:function(n){if(Ext.isFunction(n))return n;var t=this.statics().Renderer;switch(n){case"component":return t.Component;case"data":return t.Data;default:return Ext.ElementLoader.Renderer.Html}}},0,0,0,0,0,0,[Ext,"ComponentLoader"],0);Ext.cmd.derive("Ext.layout.SizeModel",Ext.Base,{constructor:function(n){var t=this,i=t.self,u=i.sizeModelsArray,r;Ext.apply(t,n);t[r=t.name]=!0;t.fixed=!(t.auto=t.natural||t.shrinkWrap);u[t.ordinal=u.length]=i[r]=i.sizeModels[r]=t},statics:{sizeModelsArray:[],sizeModels:{}},calculated:!1,configured:!1,constrainedMax:!1,constrainedMin:!1,natural:!1,shrinkWrap:!1,calculatedFromConfigured:!1,calculatedFromNatural:!1,calculatedFromShrinkWrap:!1,names:null},1,0,0,0,0,0,[Ext.layout,"SizeModel"],function(){var n=this,r=n.sizeModelsArray,t,i,u,e,f;for(new n({name:"calculated"}),new n({name:"configured",names:{width:"width",height:"height"}}),new n({name:"natural"}),new n({name:"shrinkWrap"}),new n({name:"calculatedFromConfigured",configured:!0,names:{width:"width",height:"height"}}),new n({name:"calculatedFromNatural",natural:!0}),new n({name:"calculatedFromShrinkWrap",shrinkWrap:!0}),new n({name:"constrainedMax",configured:!0,constrained:!0,names:{width:"maxWidth",height:"maxHeight"}}),new n({name:"constrainedMin",configured:!0,constrained:!0,names:{width:"minWidth",height:"minHeight"}}),new n({name:"constrainedDock",configured:!0,constrained:!0,constrainedByMin:!0,names:{width:"dockConstrainedWidth",height:"dockConstrainedHeight"}}),t=0,u=r.length;t<u;++t)for(f=r[t],f.pairsByHeightOrdinal=e=[],i=0;i<u;++i)e.push({width:f,height:r[i]})});Ext.cmd.derive("Ext.layout.Layout",Ext.Base,{isLayout:!0,initialized:!1,running:!1,autoSizePolicy:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},statics:{layoutsByType:{},create:function(n,t){var f=Ext.ClassManager,s=this.layoutsByType,e,o,u,i,r,h;if(n&&typeof n!="string"){if(n.isLayout)return n;u=n;r=n.type||t}else r=n||t,u={};if(!(i=s[r])){if(e="layout."+r,o=f.getNameByAlias(e),o||(h=!0),i=f.get(o),h||!i)return f.instantiateByAlias(e,u||{});s[r]=i}return new i(u)}},constructor:function(n){var t=this;t.id=Ext.id(null,t.type+"-");Ext.apply(t,n);t.layoutCount=0},beginLayout:Ext.emptyFn,beginLayoutCycle:function(n){var t=this,r=t.context,i;t.lastWidthModel!=n.widthModel&&(t.lastWidthModel&&(i=!0),t.lastWidthModel=n.widthModel);t.lastHeightModel!=n.heightModel&&(t.lastWidthModel&&(i=!0),t.lastHeightModel=n.heightModel);i&&((r=n.context).clearTriggers(t,!1),r.clearTriggers(t,!0),t.triggerCount=0)},finishedLayout:function(n){this.lastWidthModel=n.widthModel;this.lastHeightModel=n.heightModel;this.ownerContext=null},redoLayout:Ext.emptyFn,undoLayout:Ext.emptyFn,getAnimatePolicy:function(){return this.animatePolicy},getItemSizePolicy:function(){return this.autoSizePolicy},isItemBoxParent:function(){return!1},isItemLayoutRoot:function(n){var t=n.getSizeModel(),i=t.width,r=t.height;return!n.componentLayout.lastComponentSize&&(i.calculated||r.calculated)?!1:!i.shrinkWrap&&!r.shrinkWrap},isItemShrinkWrap:function(n){return n.shrinkWrap},isRunning:function(){return!!this.ownerContext},getItemsRenderTree:function(n,t){var e=n.length,u,i,r,f;if(e)for(f=[],u=0;u<e;++u)i=n[u],i.rendered||(t&&t[i.id]!==undefined?r=t[i.id]:(this.configureItem(i),r=i.getRenderTree(),t&&(t[i.id]=r)),r&&f.push(r));return f},finishRender:Ext.emptyFn,finishRenderItems:function(n,t){for(var u=t.length,r,i=0;i<u;i++)r=t[i],r.rendering&&(r.finishRender(i),this.afterRenderItem(r))},renderChildren:function(){var n=this,t=n.getLayoutItems(),i=n.getRenderTarget();n.renderItems(t,i)},renderItems:function(n,t){var u=this,f=n.length,r=0,i;if(f){for(Ext.suspendLayouts();r<f;r++)i=n[r],i&&!i.rendered?u.renderItem(i,t,r):u.isValidParent(i,t,r)?u.configureItem(i):u.moveItem(i,t,r);Ext.resumeLayouts(!0)}},isValidParent:function(n,t,i){var r=n.el?n.el.dom:Ext.getDom(n),u=t&&t.dom||t,e=r.parentNode,f;return(e&&(f=e.className,f&&f.indexOf(Ext.baseCSSPrefix+"resizable-wrap")!==-1&&(r=r.parentNode)),r&&u)?typeof i=="number"?(i=this.getPositionOffset(i),r===u.childNodes[i]):r.parentNode===u:!1},getPositionOffset:function(n){return n},configureItem:function(n){n.ownerLayout=this},renderItem:function(n,t,i){var r=this;n.rendered||(r.configureItem(n),n.render(t,i),r.afterRenderItem(n))},moveItem:function(n,t,i){t=t.dom||t;typeof i=="number"&&(i=t.childNodes[i]);t.insertBefore(n.el.dom,i||null);n.container=Ext.get(t);this.configureItem(n)},onContentChange:function(){return this.owner.updateLayout(),!0},initLayout:function(){this.initialized=!0},setOwner:function(n){this.owner=n},getLayoutItems:function(){return[]},onAdd:function(n){n.ownerLayout=this},afterRenderItem:Ext.emptyFn,onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,afterRemove:function(n){var i=this,u=n.el,r=i.owner,t;n.rendered&&(t=[].concat(i.itemCls||[]),r.itemCls&&(t=Ext.Array.push(t,r.itemCls)),t.length&&u.removeCls(t));delete n.ownerLayout},destroy:function(){var n=this,t;n.targetCls&&(t=n.getTarget(),t&&t.removeCls(n.targetCls));n.onDestroy()},sortWeightedItems:function(n,t){for(var i=0,r=n.length;i<r;++i)n[i].$i=i;for(Ext.Array.sort(n,function(n,i){var r=i.weight-n.weight;return r||(r=n.$i-i.$i,n[t]&&(r=-r)),r}),i=0;i<r;++i)delete n[i].$i}},1,0,0,0,0,0,[Ext.layout,"Layout"],function(){var n=this;n.prototype.sizeModels=n.sizeModels=Ext.layout.SizeModel.sizeModels});Ext.cmd.derive("Ext.layout.container.Container",Ext.layout.Layout,{alternateClassName:"Ext.layout.ContainerLayout",type:"container",beginCollapse:Ext.emptyFn,beginExpand:Ext.emptyFn,animatePolicy:null,childEls:["overflowPadderEl"],renderTpl:["{%this.renderBody(out,values)%}"],usesContainerHeight:!0,usesContainerWidth:!0,usesHeight:!0,usesWidth:!0,constructor:function(){this.callParent(arguments);this.mixins.elementCt.constructor.call(this)},destroy:function(){this.callParent();this.mixins.elementCt.destroy.call(this)},beginLayout:function(n){this.callParent(arguments);n.targetContext=n.paddingContext=n.getEl("getTarget",this);this.cacheChildItems(n)},beginLayoutCycle:function(n,t){var i=this;i.callParent(arguments);t&&(i.usesContainerHeight&&++n.consumersContainerHeight,i.usesContainerWidth&&++n.consumersContainerWidth)},cacheChildItems:function(n){var u=n.context,r=[],i=this.getVisibleItems(),f=i.length,t;for(n.childItems=r,n.visibleItems=i,t=0;t<f;++t)r.push(u.getCmp(i[t]))},cacheElements:function(){var n=this.owner;this.applyChildEls(n.el,n.id)},configureItem:function(n){var r=this,i=r.itemCls,u=r.owner.itemCls,t;n.ownerLayout=r;i&&(t=typeof i=="string"?[i]:i);u&&(t=Ext.Array.push(t||[],u));t&&n.addCls(t)},doRenderBody:function(n,t){this.renderItems(n,t);this.renderContent(n,t)},doRenderContainer:function(n,t){var i=t.$comp.layout,r=i.getRenderTpl(),u=i.getRenderData();r.applyOut(u,n)},doRenderItems:function(n,t){var r=t.$layout,i=r.getRenderTree();i&&Ext.DomHelper.generateMarkup(i,n)},finishRender:function(){var n=this,t,i;n.callParent();n.cacheElements();t=n.getRenderTarget();i=n.getLayoutItems();n.finishRenderItems(t,i)},notifyOwner:function(){this.owner.afterLayout(this)},getContainerSize:function(n,t){var u=n.targetContext,h=u.getFrameInfo(),c=n.paddingContext.getPaddingInfo(),f=0,e=0,o,s,i,r;return n.widthModel.shrinkWrap||(++e,i=t?u.getDomProp("width"):u.getProp("width"),o=typeof i=="number",o&&(++f,i-=h.width+c.width,i<0&&(i=0))),n.heightModel.shrinkWrap||(++e,r=t?u.getDomProp("height"):u.getProp("height"),s=typeof r=="number",s&&(++f,r-=h.height+c.height,r<0&&(r=0))),{width:i,height:r,needed:e,got:f,gotAll:f==e,gotWidth:o,gotHeight:s}},getPositionOffset:function(n){if(!this.createsInnerCt){var t=this.owner.itemNodeOffset;t&&(n+=t)}return n},getLayoutItems:function(){var n=this.owner,t=n&&n.items;return t&&t.items||[]},getRenderData:function(){var n=this.owner;return{$comp:n,$layout:this,ownerId:n.id}},getRenderedItems:function(){for(var i=this,f=i.getRenderTarget(),r=i.getLayoutItems(),e=r.length,u=[],t,n=0;n<e;n++)t=r[n],t.rendered&&i.isValidParent(t,f,n)&&u.push(t);return u},getRenderTarget:function(){return this.owner.getTargetEl()},getElementTarget:function(){return this.getRenderTarget()},getRenderTpl:function(){var t=this,n=Ext.XTemplate.getTpl(this,"renderTpl");return n.renderContent||t.owner.setupRenderTpl(n),n},getRenderTree:function(){var n,t=this.owner.items,i,r={};do i=t.generation,n=this.getItemsRenderTree(this.getLayoutItems(),r);while(t.generation!==i);return n},renderChildren:function(){var n=this,t=n.owner.items,u=n.getRenderTarget(),i,r;do i=t.generation,r=n.getLayoutItems(),n.renderItems(r,u);while(t.generation!==i)},getScrollbarsNeeded:function(n,t,i,r){var f=Ext.getScrollbarSize(),s=typeof n=="number",e=typeof t=="number",o=0,u=0;return f.width?(e&&t<r&&(u=2,n-=f.width),s&&n<i&&(o=1,!u&&e&&(t-=f.height,t<r&&(u=2))),u+o):0},getTarget:function(){return this.owner.getTargetEl()},getVisibleItems:function(){for(var u=this.getRenderTarget(),i=this.getLayoutItems(),f=i.length,r=[],t,n=0;n<f;n++)t=i[n],t.rendered&&this.isValidParent(t,u,n)&&t.hidden!==!0&&r.push(t);return r},setupRenderTpl:function(n){var t=this;n.renderBody=t.doRenderBody;n.renderContainer=t.doRenderContainer;n.renderItems=t.doRenderItems},getContentTarget:function(){return this.owner.getDefaultContentTarget()}},1,0,0,0,["layout.container"],[["elementCt",Ext.util.ElementContainer]],[Ext.layout.container,"Container",Ext.layout,"ContainerLayout"],0);Ext.cmd.derive("Ext.layout.container.Auto",Ext.layout.container.Container,{type:"autocontainer",childEls:["outerCt","innerCt","clearEl"],reserveScrollbar:!1,managePadding:!0,manageOverflow:!1,lastOverflowAdjust:{width:0,height:0},renderTpl:["{% if (!(Ext.isIEQuirks || Ext.isIE7m)) { %}",'<span id="{ownerId}-outerCt" style="display:table;">','<div id="{ownerId}-innerCt" style="display:table-cell;height:100%;','vertical-align:top;{%this.renderPadding(out, values)%}" class="{innerCtCls}">',"{%this.renderBody(out,values)%}","<\/div>","<\/span>","{% } else if (values.shrinkWrapWidth) { %}",'<table id="{ownerId}-outerCt" class="'+Ext.plainTableCls+'">',"<tr>",'<td id="{ownerId}-innerCt" style="vertical-align:top;padding:0;','{%this.renderPadding(out, values)%}" class="{innerCtCls}">',"{%this.renderBody(out,values)%}",'<div id="{ownerId}-clearEl" class="',Ext.baseCSSPrefix,'clear"','role="presentation"><\/div>',"<\/td>","<\/tr>","<\/table>","{% } else { %}",'<div id="{ownerId}-outerCt" style="zoom:1;{%this.renderPadding(out, values)%}">','<div id="{ownerId}-innerCt" style="zoom:1;height:100%;" class="{innerCtCls}">',"{%this.renderBody(out,values)%}",'<div id="{ownerId}-clearEl" class="',Ext.baseCSSPrefix,'clear"','role="presentation"><\/div>',"<\/div>","<\/div>","{% values.$layout.isShrinkWrapTpl = false %}","{% } %}"],tableTpl:['<table id="{ownerId}-outerCt" class="'+Ext.plainTableCls+'">',"<tr>",'<td id="{ownerId}-innerCt" style="vertical-align:top;padding:0;','{%this.renderPadding(out, values)%}" class="{innerCtCls}">',"<\/td>","<\/tr>","<\/table>"],isShrinkWrapTpl:!0,beginLayout:function(n){var t=this,i,r,u,f;t.callParent(arguments);t.initContextItems(n);t.isShrinkWrapTpl||(n.widthModel.shrinkWrap&&(f=!0),Ext.isStrict&&Ext.isIE7&&(u=t.getOverflowXStyle(n),(u==="auto"||u==="scroll")&&n.paddingContext.getPaddingInfo().right&&(f=!0)),f&&t.insertTableCt(n));!t.isShrinkWrapTpl&&Ext.isIE7&&Ext.isStrict&&!t.clearElHasPadding&&(i=n.paddingContext.getPaddingInfo().bottom,r=t.getOverflowYStyle(n),i&&(r==="auto"||r==="scroll")&&(t.clearEl.setStyle("height",i),t.clearElHasPadding=!0))},beforeLayoutCycle:function(n){var t=this.owner,i=t.hierarchyState,r=t.hierarchyStateInner;(!i||i.invalid)&&(i=t.getHierarchyState(),r=t.hierarchyStateInner);n.widthModel.shrinkWrap&&this.isShrinkWrapTpl?r.inShrinkWrapTable=!0:delete r.inShrinkWrapTable},beginLayoutCycle:function(n){var t=this,f=t.outerCt,l=t.lastOuterCtWidth||"",a=t.lastOuterCtHeight||"",v=t.lastOuterCtTableLayout||"",s=n.state,e,o,i,r,u,h,c;t.callParent(arguments);i=r=u="";!n.widthModel.shrinkWrap&&t.isShrinkWrapTpl&&(Ext.isIE7m&&Ext.isStrict&&(o=t.getOverflowYStyle(n),(o==="auto"||o==="scroll")&&(h=!0)),h||(i="100%"),c=t.owner.hierarchyStateInner,e=t.getOverflowXStyle(n),u=c.inShrinkWrapTable||e==="auto"||e==="scroll"?"":"fixed");n.heightModel.shrinkWrap||Ext.supports.PercentageHeightOverflowBug||(r="100%");(i!==l||t.hasOuterCtPxWidth)&&(f.setStyle("width",i),t.lastOuterCtWidth=i,t.hasOuterCtPxWidth=!1);u!==v&&(f.setStyle("table-layout",u),t.lastOuterCtTableLayout=u);(r!==a||t.hasOuterCtPxHeight)&&(f.setStyle("height",r),t.lastOuterCtHeight=r,t.hasOuterCtPxHeight=!1);t.hasInnerCtPxHeight&&(t.innerCt.setStyle("height",""),t.hasInnerCtPxHeight=!1);s.overflowAdjust=s.overflowAdjust||t.lastOverflowAdjust},calculate:function(n){var t=this,r=n.state,i=t.getContainerSize(n,!0),u=r.calculatedItems||(r.calculatedItems=t.calculateItems?t.calculateItems(n,i):!0);if(t.setCtSizeIfNeeded(n,i),u&&n.hasDomProp("containerChildrenSizeDone")&&(t.calculateContentSize(n),i.gotAll)){!t.manageOverflow||n.state.secondPass||t.reserveScrollbar||t.calculateOverflow(n,i);return}t.done=!1},calculateContentSize:function(n){var t=this,f=(n.widthModel.shrinkWrap?1:0)|(n.heightModel.shrinkWrap?2:0),i=f&1||undefined,r=f&2||undefined,u=0,e=n.props;i&&(isNaN(e.contentWidth)?++u:i=undefined);r&&(isNaN(e.contentHeight)?++u:r=undefined);u&&(i&&!n.setContentWidth(t.measureContentWidth(n))&&(t.done=!1),r&&!n.setContentHeight(t.measureContentHeight(n))&&(t.done=!1))},calculateOverflow:function(n){var i=this,u,f,e,t,o,s,r;o=i.getOverflowXStyle(n)==="auto";s=i.getOverflowYStyle(n)==="auto";(o||s)&&(e=Ext.getScrollbarSize(),r=n.overflowContext.el.dom,t=0,r.scrollWidth>r.clientWidth&&(t|=1),r.scrollHeight>r.clientHeight&&(t|=2),u=s&&t&2?e.width:0,f=o&&t&1?e.height:0,(u!==i.lastOverflowAdjust.width||f!==i.lastOverflowAdjust.height)&&(i.done=!1,n.invalidate({state:{overflowAdjust:{width:u,height:f},overflowState:t,secondPass:!0}})))},completeLayout:function(n){this.lastOverflowAdjust=n.state.overflowAdjust},doRenderPadding:function(n,t){var u=t.$layout,i=t.$layout.owner,r=i[i.contentPaddingProperty];u.managePadding&&r&&n.push("padding:",i.unitizeBox(r))},finishedLayout:function(){var n=this.innerCt;this.callParent(arguments);(Ext.isIEQuirks||Ext.isIE8m)&&n.repaint();Ext.isOpera&&(n.setStyle("position","relative"),n.dom.scrollWidth,n.setStyle("position",""))},getContainerSize:function(n){var t=this.callParent(arguments),i=n.state.overflowAdjust;return i&&(t.width-=i.width,t.height-=i.height),t},getRenderData:function(){var n=this.owner,t=this.callParent();return(Ext.isIEQuirks||Ext.isIE7m)&&(n.shrinkWrap&1||n.floating&&!n.width)&&(t.shrinkWrapWidth=!0),t},getRenderTarget:function(){return this.innerCt},getElementTarget:function(){return this.innerCt},getOverflowXStyle:function(n){return n.overflowXStyle||(n.overflowXStyle=this.owner.scrollFlags.overflowX||n.overflowContext.getStyle("overflow-x"))},getOverflowYStyle:function(n){return n.overflowYStyle||(n.overflowYStyle=this.owner.scrollFlags.overflowY||n.overflowContext.getStyle("overflow-y"))},initContextItems:function(n){var t=this,i=n.target,r=t.owner.customOverflowEl;n.outerCtContext=n.getEl("outerCt",t);n.innerCtContext=n.getEl("innerCt",t);n.overflowContext=r?n.getEl(r):n.targetContext;i[i.contentPaddingProperty]!==undefined&&(n.paddingContext=t.isShrinkWrapTpl?n.innerCtContext:n.outerCtContext)},initLayout:function(){var n=this,t=Ext.getScrollbarSize().width,i=n.owner;n.callParent();t&&n.manageOverflow&&!n.hasOwnProperty("lastOverflowAdjust")&&(i.autoScroll||n.reserveScrollbar)&&(n.lastOverflowAdjust={width:t,height:0})},insertTableCt:function(n){var t=this,e=t.owner,o=0,i,r,u,s,f;for(i=Ext.XTemplate.getTpl(this,"tableTpl"),i.renderPadding=t.doRenderPadding,t.outerCt.dom.removeChild(t.innerCt.dom),r=document.createDocumentFragment(),u=t.innerCt.dom.childNodes,s=u.length;o<s;o++)r.appendChild(u[0]);f=t.getTarget();f.dom.innerHTML=i.apply({$layout:t,ownerId:t.owner.id});f.down("td").dom.appendChild(r);t.applyChildEls(e.el,e.id);t.isShrinkWrapTpl=!0;n.removeEl(t.outerCt);n.removeEl(t.innerCt);t.initContextItems(n)},measureContentHeight:function(n){var t=this.outerCt.getHeight(),i=n.target;return this.managePadding&&i[i.contentPaddingProperty]===undefined&&(t+=n.targetContext.getPaddingInfo().height),t},measureContentWidth:function(n){var i,t,r,u,f;return this.chromeCellMeasureBug&&(i=this.innerCt.dom,t=i.style,r=t.display,r=="table-cell"&&(t.display="",i.offsetWidth,t.display=r)),u=this.outerCt.getWidth(),f=n.target,this.managePadding&&f[f.contentPaddingProperty]===undefined&&(u+=n.targetContext.getPaddingInfo().width),u},setCtSizeIfNeeded:function(n,t){var i=this,e=t.width,r=t.height,o=n.paddingContext.getPaddingInfo(),u=i.getTarget(),s=i.getOverflowXStyle(n),h=i.getOverflowYStyle(n),v=s==="auto"||s==="scroll",y=h==="auto"||h==="scroll",p=Ext.getScrollbarSize(),f=i.isShrinkWrapTpl,b=i.manageOverflow,c,l,a,w;e&&!n.widthModel.shrinkWrap&&(Ext.isIE7m&&Ext.isStrict&&f&&y||Ext.isIEQuirks&&!f&&!v)&&(b||y&&u.dom.scrollHeight>u.dom.clientHeight&&(e-=p.width),n.outerCtContext.setProp("width",e+o.width),i.hasOuterCtPxWidth=!0);r&&!n.heightModel.shrinkWrap&&(Ext.supports.PercentageHeightOverflowBug&&(l=!0),(Ext.isIE8&&Ext.isStrict||Ext.isIE7m&&Ext.isStrict&&f)&&(a=!0,w=!Ext.isIE8),(l||a)&&v&&u.dom.scrollWidth>u.dom.clientWidth&&(r=Math.max(r-p.height,0)),l&&(n.outerCtContext.setProp("height",r+o.height),i.hasOuterCtPxHeight=!0),a&&(w&&(r+=o.height),n.innerCtContext.setProp("height",r),i.hasInnerCtPxHeight=!0));Ext.isIE7&&Ext.isStrict&&!f&&h==="auto"&&(c=s==="auto"?"overflow-x":"overflow-y",u.setStyle(c,"hidden"),u.setStyle(c,"auto"))},setupRenderTpl:function(n){this.callParent(arguments);n.renderPadding=this.doRenderPadding},getContentTarget:function(){return this.innerCt}},0,0,0,0,["layout.auto","layout.autocontainer"],0,[Ext.layout.container,"Auto"],function(){this.prototype.chromeCellMeasureBug=Ext.isChrome&&Ext.chromeVersion>=26});Ext.cmd.derive("Ext.ZIndexManager",Ext.Base,{alternateClassName:"Ext.WindowGroup",statics:{zBase:9e3},constructor:function(n){var t=this;if(t.list={},t.zIndexStack=[],t.front=null,n)if(n.isContainer){n.on("resize",t._onContainerResize,t);t.zseed=Ext.Number.from(t.rendered?n.getEl().getStyle("zIndex"):undefined,t.getNextZSeed());t.targetEl=n.getTargetEl();t.container=n}else{Ext.EventManager.onWindowResize(t._onContainerResize,t);t.zseed=t.getNextZSeed();t.targetEl=Ext.get(n)}else{Ext.EventManager.onWindowResize(t._onContainerResize,t);t.zseed=t.getNextZSeed();Ext.onDocumentReady(function(){t.targetEl=Ext.getBody()})}},getNextZSeed:function(){return Ext.ZIndexManager.zBase+=1e4},setBase:function(n){this.zseed=n;var t=this.assignZIndices();return this._activateLast(),t},assignZIndices:function(){for(var u=this.zIndexStack,f=u.length,t=0,i=this.zseed,n,r;t<f;t++)n=u[t],n&&!n.hidden&&(i=n.setZIndex(i),n.modal&&(r=n));return r&&this._showModalMask(r),i},_setActiveChild:function(n,t){var i=this.front,r=n.preventFocusOnActivate;n!==i&&(i&&!i.destroying&&i.setActive(!1,n),this.front=n,n&&n!=t&&(n.preventFocusOnActivate=n.preventFocusOnActivate||t&&(t.preventFocusOnActivate||!t.focusOnToFront),n.setActive(!0),n.modal&&this._showModalMask(n),n.preventFocusOnActivate=r))},onComponentHide:function(){this._activateLast()},_activateLast:function(){for(var n=this,r=n.zIndexStack,t=r.length-1,i;t>=0&&r[t].hidden;--t);if(i=r[t]){if(n._setActiveChild(i,n.front),i.modal)return}else n.front&&!n.front.destroying&&n.front.setActive(!1),n.front=null;for(;t>=0;--t)if(i=r[t],i.isVisible()&&i.modal){n._showModalMask(i);return}n._hideModalMask()},_showModalMask:function(n){var i=this,f=n.el.getStyle("zIndex")-4,e=n.floatParent?n.floatParent.getTargetEl():n.container,t=i.mask,r=i.maskShim,u;if(!t){Ext.isIE6&&(r=i.maskShim=Ext.getBody().createChild({tag:"iframe",cls:Ext.baseCSSPrefix+"shim "+Ext.baseCSSPrefix+"mask-shim"}),r.setVisibilityMode(Ext.Element.DISPLAY));t=i.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask",style:"height:0;width:0"});t.setVisibilityMode(Ext.Element.DISPLAY);t.on("click",i._onMaskClick,i)}t.maskTarget=e;u=i.getMaskBox();r&&(r.setStyle("zIndex",f),r.show(),r.setBox(u));t.setStyle("zIndex",f);t.show();t.setBox(u)},_hideModalMask:function(){var n=this.mask,t=this.maskShim;n&&n.isVisible()&&(n.maskTarget=undefined,n.hide(),t&&t.hide())},_onMaskClick:function(){this.front&&this.front.focus()},getMaskBox:function(){var n=this.mask.maskTarget;return n.dom===document.body?{height:Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),width:Math.max(document.body.scrollWidth,document.documentElement.clientWidth),x:0,y:0}:n.getBox()},_onContainerResize:function(){var i=this,n=i.mask,t=i.maskShim,r;n&&n.isVisible()&&(n.hide(),t&&t.hide(),r=i.getMaskBox(),t&&(t.setSize(r),t.show()),n.setSize(r),n.show())},register:function(n){var t=this,i=n.afterHide;n.zIndexManager&&n.zIndexManager.unregister(n);n.zIndexManager=t;t.list[n.id]=n;t.zIndexStack.push(n);n.afterHide=function(){i.apply(n,arguments);t.onComponentHide(n)}},unregister:function(n){var t=this,i=t.list;delete n.zIndexManager;i&&i[n.id]&&(delete i[n.id],delete n.afterHide,Ext.Array.remove(t.zIndexStack,n),t._activateLast())},get:function(n){return n.isComponent?n:this.list[n]},bringToFront:function(n,t){var i=this,u=!1,r=i.zIndexStack;return n=i.get(n),n!==i.front&&(Ext.Array.remove(r,n),n.preventBringToFront?r.unshift(n):r.push(n),i.assignZIndices(),t||i._activateLast(),u=!0,i.front=n,n.modal&&i._showModalMask(n)),u},sendToBack:function(n){var t=this;return n=t.get(n),Ext.Array.remove(t.zIndexStack,n),t.zIndexStack.unshift(n),t.assignZIndices(),this._activateLast(),n},hideAll:function(){var t=this.list,n;for(var i in t)t.hasOwnProperty(i)&&(n=t[i],n.isComponent&&n.isVisible()&&n.hide())},hide:function(){var t=0,i=this.zIndexStack,r=i.length,n;for(this.tempHidden=[];t<r;t++)n=i[t],n.isVisible()&&(this.tempHidden.push(n),n.el.hide(),n.hidden=!0)},show:function(){for(var t=0,i=this.tempHidden,r=i?i.length:0,n;t<r;t++)n=i[t],n.el.show(),n.hidden=!1,n.setPosition(n.x,n.y);delete this.tempHidden},getActive:function(){return this.front},getBy:function(n,t){for(var u=[],r=0,f=this.zIndexStack,e=f.length,i;r<e;r++)i=f[r],n.call(t||i,i)!==!1&&u.push(i);return u},each:function(n,t){var r=this.list,u,i;for(u in r)if(r.hasOwnProperty(u)&&(i=r[u],i.isComponent&&n.call(t||i,i)===!1))return},eachBottomUp:function(n,t){for(var u=this.zIndexStack,r=0,f=u.length,i;r<f;r++)if(i=u[r],i.isComponent&&n.call(t||i,i)===!1)return},eachTopDown:function(n,t){for(var r=this.zIndexStack,u=r.length,i;u-->0;)if(i=r[u],i.isComponent&&n.call(t||i,i)===!1)return},destroy:function(){var n=this,t=n.list,i;for(var r in t)t.hasOwnProperty(r)&&(i=t[r],i.isComponent&&i.destroy());delete n.zIndexStack;delete n.list;delete n.container;delete n.targetEl}},1,0,0,0,0,0,[Ext,"ZIndexManager",Ext,"WindowGroup"],function(){Ext.WindowManager=Ext.WindowMgr=new this});Ext.cmd.derive("Ext.Queryable",Ext.Base,{isQueryable:!0,query:function(n){return n=n||"*",Ext.ComponentQuery.query(n,this)},queryBy:function(n,t){for(var u=[],f=this.getRefItems(!0),r=0,e=f.length,i;r<e;++r)i=f[r],n.call(t||i,i)!==!1&&u.push(i);return u},queryById:function(n){return this.down("#"+n)},child:function(n){return n&&n.isComponent&&(n="#"+Ext.escapeId(n.getItemId())),n=n||"",this.query("> "+n)[0]||null},down:function(n){return n&&n.isComponent&&(n="#"+Ext.escapeId(n.getItemId())),n=n||"",this.query(n)[0]||null},getRefItems:function(){return[]}},0,0,0,0,0,0,[Ext,"Queryable"],0);Ext.cmd.derive("Ext.layout.component.Component",Ext.layout.Layout,{type:"component",isComponentLayout:!0,nullBox:{},usesContentHeight:!0,usesContentWidth:!0,usesHeight:!0,usesWidth:!0,beginLayoutCycle:function(n,t){var r=this,u=r.owner,y=n.ownerCtContext,e=n.heightModel,o=n.widthModel,c=u.el.dom===document.body,s=u.lastBox||r.nullBox,f=u.el.lastBox||r.nullBox,h=!c,l,i,a,v;r.callParent(arguments);t&&(r.usesContentWidth&&++n.consumersContentWidth,r.usesContentHeight&&++n.consumersContentHeight,r.usesWidth&&++n.consumersWidth,r.usesHeight&&++n.consumersHeight,y&&!y.hasRawContent&&(l=u.ownerLayout,l.usesWidth&&++n.consumersWidth,l.usesHeight&&++n.consumersHeight));o.configured?(a=o.names.width,c||(h=t?u[a]!==f.width:o.constrained),n.setWidth(u[a],h)):n.isTopLevel&&(o.calculated&&(i=s.width,n.setWidth(i,i!=f.width)),i=s.x,n.setProp("x",i,i!=f.x));e.configured?(v=e.names.height,c||(h=t?u[v]!==f.height:e.constrained),n.setHeight(u[v],h)):n.isTopLevel&&(e.calculated&&(i=s.height,n.setHeight(i,i!=f.height)),i=s.y,n.setProp("y",i,i!=f.y))},finishedLayout:function(n){var r=this,f=n.children,e=r.owner,s,u,o,t,i;if(f)for(s=f.length,u=0;u<s;u++)o=f[u],o.el.lastBox=o.props;n.previousSize=r.lastComponentSize;r.lastComponentSize=e.el.lastBox=i=n.props;t=e.lastBox||(e.lastBox={});t.x=i.x;t.y=i.y;t.width=i.width;t.height=i.height;t.invalid=!1;r.callParent(arguments)},notifyOwner:function(n){var t=this,r=t.lastComponentSize,i=n.previousSize,u=[r.width,r.height];i&&u.push(i.width,i.height);t.owner.afterComponentLayout.apply(t.owner,u)},getTarget:function(){return this.owner.el},getRenderTarget:function(){return this.owner.el},cacheTargetInfo:function(n){var t=this,i=t.targetInfo,r;return i||(r=n.getEl("getTarget",t),t.targetInfo=i={padding:r.getPaddingInfo(),border:r.getBorderInfo()}),i},measureAutoDimensions:function(n,t){var h=this,b=h.owner,o=b.layout,k=n.heightModel,p=n.widthModel,f=n.boxParent,l=n.isBoxParent,a=n.props,w,i={gotWidth:!1,gotHeight:!1,isContainer:w=!n.hasRawContent},d=t||3,v,y,c=0,r=0,e,u,s;return p.shrinkWrap&&n.consumersContentWidth?(++c,v=!(d&1),w?v?(i.contentWidth=0,i.gotWidth=!0,++r):(i.contentWidth=n.getProp("contentWidth"))!==undefined&&(i.gotWidth=!0,++r):(u=a.contentWidth,typeof u=="number"?(i.contentWidth=u,i.gotWidth=!0,++r):(e=v?!0:n.hasDomProp("containerChildrenSizeDone")?l||!f||f.widthModel.shrinkWrap?!0:f.hasDomProp("width"):!1,e&&(s=v?0:o&&o.measureContentWidth?o.measureContentWidth(n):h.measureContentWidth(n),isNaN(i.contentWidth=s)||(n.setContentWidth(s,!0),i.gotWidth=!0,++r))))):p.natural&&n.consumersWidth&&(++c,u=a.width,typeof u=="number"?(i.width=u,i.gotWidth=!0,++r):(e=l||!f?!0:f.hasDomProp("width"),e&&(isNaN(i.width=h.measureOwnerWidth(n))||(n.setWidth(i.width,!1),i.gotWidth=!0,++r)))),k.shrinkWrap&&n.consumersContentHeight?(++c,y=!(d&2),w?y?(i.contentHeight=0,i.gotHeight=!0,++r):(i.contentHeight=n.getProp("contentHeight"))!==undefined&&(i.gotHeight=!0,++r):(u=a.contentHeight,typeof u=="number"?(i.contentHeight=u,i.gotHeight=!0,++r):(e=y?!0:n.hasDomProp("containerChildrenSizeDone")?b.noWrap?!0:p.shrinkWrap?l||!f||f.widthModel.shrinkWrap?!0:f.hasDomProp("width"):(n.bodyContext||n).hasDomProp("width"):!1,e&&(s=y?0:o&&o.measureContentHeight?o.measureContentHeight(n):h.measureContentHeight(n),isNaN(i.contentHeight=s)||(n.setContentHeight(s,!0),i.gotHeight=!0,++r))))):k.natural&&n.consumersHeight&&(++c,u=a.height,typeof u=="number"?(i.height=u,i.gotHeight=!0,++r):(e=l||!f?!0:f.hasDomProp("width"),e&&(isNaN(i.height=h.measureOwnerHeight(n))||(n.setHeight(i.height,!1),i.gotHeight=!0,++r)))),f&&n.onBoxMeasured(),i.gotAll=r==c,i},measureContentWidth:function(n){return n.el.getWidth()-n.getFrameInfo().width},measureContentHeight:function(n){return n.el.getHeight()-n.getFrameInfo().height},measureOwnerHeight:function(n){return n.el.getHeight()},measureOwnerWidth:function(n){return n.el.getWidth()}},0,0,0,0,0,0,[Ext.layout.component,"Component"],0);Ext.cmd.derive("Ext.layout.component.Auto",Ext.layout.component.Component,{type:"autocomponent",setHeightInDom:!1,setWidthInDom:!1,waitForOuterHeightInDom:!1,waitForOuterWidthInDom:!1,beginLayoutCycle:function(n){var t=this,i=t.lastWidthModel,r=t.lastHeightModel,u=t.owner.el;t.callParent(arguments);i&&i.fixed&&n.widthModel.shrinkWrap&&u.setWidth(null);r&&r.fixed&&n.heightModel.shrinkWrap&&u.setHeight(null)},calculate:function(n){var t=this,i=t.measureAutoDimensions(n),f=n.heightModel,e=n.widthModel,r,u;i.gotWidth?e.shrinkWrap?t.publishOwnerWidth(n,i.contentWidth):t.publishInnerWidth&&t.publishInnerWidth(n,i.width):!e.auto&&t.publishInnerWidth&&(r=t.waitForOuterWidthInDom?n.getDomProp("width"):n.getProp("width"),r===undefined?t.done=!1:t.publishInnerWidth(n,r));i.gotHeight?f.shrinkWrap?t.publishOwnerHeight(n,i.contentHeight):t.publishInnerHeight&&t.publishInnerHeight(n,i.height):!f.auto&&t.publishInnerHeight&&(u=t.waitForOuterHeightInDom?n.getDomProp("height"):n.getProp("height"),u===undefined?t.done=!1:t.publishInnerHeight(n,u));i.gotAll||(t.done=!1)},calculateOwnerHeightFromContentHeight:function(n,t){return t+n.getFrameInfo().height},calculateOwnerWidthFromContentWidth:function(n,t){return t+n.getFrameInfo().width},publishOwnerHeight:function(n,t){var r=this,e=r.owner,i=r.calculateOwnerHeightFromContentHeight(n,t),u,o,f;isNaN(i)?r.done=!1:(u=Ext.Number.constrain(i,e.minHeight,e.maxHeight),u==i?o=r.setHeightInDom:(f=r.sizeModels[u<i?"constrainedMax":"constrainedMin"],i=u,n.heightModel.calculatedFromShrinkWrap?n.heightModel=f:n.invalidate({heightModel:f})),n.setHeight(i,o))},publishOwnerWidth:function(n,t){var r=this,e=r.owner,i=r.calculateOwnerWidthFromContentWidth(n,t),u,o,f;isNaN(i)?r.done=!1:(u=Ext.Number.constrain(i,e.minWidth,e.maxWidth),u==i?o=r.setWidthInDom:(f=r.sizeModels[u<i?"constrainedMax":"constrainedMin"],i=u,n.widthModel.calculatedFromShrinkWrap?n.widthModel=f:n.invalidate({widthModel:f})),n.setWidth(i,o))}},0,0,0,0,["layout.autocomponent"],0,[Ext.layout.component,"Auto"],0);Ext.cmd.derive("Ext.container.AbstractContainer",Ext.Component,{renderTpl:"{%this.renderContainer(out,values)%}",suspendLayout:!1,autoDestroy:!0,defaultType:"panel",detachOnRemove:!0,isContainer:!0,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",defaultLayoutType:"auto",initComponent:function(){var n=this;n.addEvents("afterlayout","beforeadd","beforeremove","add","remove");n.callParent();n.getLayout();n.initItems()},initItems:function(){var n=this,t=n.items;n.items=new Ext.util.AbstractMixedCollection(!1,n.getComponentId);n.floatingItems=new Ext.util.MixedCollection(!1,n.getComponentId);t&&(Ext.isArray(t)||(t=[t]),n.add(t))},getFocusEl:function(){return this.getTargetEl()},finishRenderChildren:function(){this.callParent();var n=this.getLayout();n&&n.finishRender()},beforeRender:function(){var n=this,t=n.getLayout(),i;n.callParent();t.initialized||t.initLayout();i=t.targetCls;i&&n.applyTargetCls(i)},applyTargetCls:function(n){this.addCls(n)},afterComponentLayout:function(){var i=this.floatingItems.items,r=i.length,n,t;for(this.callParent(arguments),n=0;n<r;n++)t=i[n],!t.rendered&&t.autoShow&&t.show()},onPosition:function(){this.callParent(arguments);this.repositionFloatingItems()},onResize:function(){this.callParent(arguments);this.repositionFloatingItems()},repositionFloatingItems:function(){for(var i=this.floatingItems.items,r=i.length,n,t=0;t<r;t++)n=i[t],n.el&&!n.hidden&&n.setPosition(n.x,n.y)},setupRenderTpl:function(n){this.callParent(arguments);this.getLayout().setupRenderTpl(n)},getDefaultContentTarget:function(){return this.el},getContentTarget:function(){return this.getLayout().getContentTarget()},setLayout:function(n){var t=this.layout;t&&t.isLayout&&t!=n&&t.setOwner(null);this.layout=n;n.setOwner(this)},getLayout:function(){var n=this;return n.layout&&n.layout.isLayout||n.setLayout(Ext.layout.Layout.create(n.layout,n.self.prototype.layout||n.defaultLayoutType)),n.layout},doLayout:function(){return this.updateLayout(),this},afterLayout:function(n){var t=this;++t.layoutCounter;t.hasListeners.afterlayout&&t.fireEvent("afterlayout",t,n)},prepareItems:function(n,t){n=Ext.isArray(n)?n.slice():[n];for(var u=this,i=0,f=n.length,r;i<f;i++)r=n[i],r==null?(Ext.Array.erase(n,i,1),--i,--f):(t&&(r=this.applyDefaults(r)),r.isContained=u,n[i]=u.lookupComponent(r),delete r.isContained,delete n[i].isContained);return n},applyDefaults:function(n){var t=this.defaults;return t&&(Ext.isFunction(t)&&(t=t.call(this,n)),Ext.isString(n)&&(n=Ext.ComponentManager.get(n)),Ext.applyIf(n,t)),n},lookupComponent:function(n){return typeof n=="string"?Ext.ComponentManager.get(n):Ext.ComponentManager.create(n,this.defaultType)},getComponentId:function(n){return n.getItemId&&n.getItemId()},add:function(){var n=this,u=Ext.Array.slice(arguments),s=typeof u[0]=="number"?u.shift():-1,c=n.getLayout(),h,r,f,e,t,i,o;for(u.length==1&&Ext.isArray(u[0])?(r=u[0],h=!0):r=u,n.rendered&&Ext.suspendLayouts(),o=r=n.prepareItems(r,!0),e=r.length,h||e!=1||(o=r[0]),f=0;f<e;f++)if(t=r[f],i=s<0?n.items.length:s+f,t.floating){n.floatingItems.add(t);t.onAdded(n,i);n.hasListeners.add&&n.fireEvent("add",n,t,i)}else if((!n.hasListeners.beforeadd||n.fireEvent("beforeadd",n,t,i)!==!1)&&n.onBeforeAdd(t)!==!1){n.items.insert(i,t);t.onAdded(n,i);n.onAdd(t,i);c.onAdd(t,i);n.hasListeners.add&&n.fireEvent("add",n,t,i)}return n.updateLayout(),n.rendered&&Ext.resumeLayouts(!0),o},onAdd:Ext.emptyFn,onRemove:Ext.emptyFn,insert:function(n,t){var i;return t&&t.isComponent&&(i=this.items.indexOf(t),i!==-1)?this.move(i,n):this.add(n,t)},move:function(n,t){var r=this.items,i;if(n.isComponent&&(n=r.indexOf(n)),i=r.removeAt(n),i===!1)return!1;r.insert(t,i);this.onMove(i,n,t);return this.updateLayout(),i},onMove:Ext.emptyFn,onBeforeAdd:function(n){n.ownerCt&&n.ownerCt!==this&&n.ownerCt.remove(n,!1)},remove:function(n,t){var i=this,r=i.getComponent(n);return r&&(!i.hasListeners.beforeremove||i.fireEvent("beforeremove",i,r)!==!1)&&(i.doRemove(r,t),i.hasListeners.remove&&i.fireEvent("remove",i,r),i.destroying||r.floating||i.updateLayout()),r},doRemove:function(n,t){t=t===!0||t!==!1&&this.autoDestroy;var i=this,r=i.layout,e=r&&i.rendered,u=n.destroying||t,f=n.floating;if(f?i.floatingItems.remove(n):i.items.remove(n),e&&!f){r.running&&Ext.AbstractComponent.cancelLayout(n,u);r.onRemove(n,u)}n.onRemoved(u);i.onRemove(n,u);t?n.destroy():(e&&!f&&r.afterRemove(n),i.detachOnRemove&&n.rendered&&i.detachComponent(n))},detachComponent:function(n){Ext.getDetachedBody().appendChild(n.getEl())},removeAll:function(n){var t=this,u=t.items.items.slice().concat(t.floatingItems.items),f=[],r=0,e=u.length,i;for(t.suspendLayouts();r<e;r++)i=u[r],t.remove(i,n),i.ownerCt!==t&&f.push(i);return t.resumeLayouts(!!e),f},getRefItems:function(n){for(var e=this,u=e.items.items,f=u.length,r=0,i,t=[];r<f;r++)i=u[r],t[t.length]=i,n&&i.getRefItems&&t.push.apply(t,i.getRefItems(!0));for(u=e.floatingItems.items,f=u.length,r=0;r<f;r++)i=u[r],t[t.length]=i,n&&i.getRefItems&&t.push.apply(t,i.getRefItems(!0));return t},cascade:function(n,t,i){var r=this,e=r.items?r.items.items:[],s=e.length,o=0,u,f=i?i.concat(r):[r],h=f.length-1;if(n.apply(t||r,f)!==!1)for(;o<s;o++)u=e[o],u.cascade?u.cascade(n,t,i):(f[h]=u,n.apply(t||e,f));return this},isAncestor:function(n){while(n){if(n.ownerCt===this)return!0;n=n.ownerCt}},getComponent:function(n){Ext.isObject(n)&&(n=n.getItemId());var t=this.items.get(n);return t||typeof n=="number"||(t=this.floatingItems.get(n)),t},contains:function(n,t){var i=!1;return t?(this.cascade(function(t){if(t.contains&&t.contains(n))return i=!0,!1}),i):this.items.contains(n)||this.floatingItems.contains(n)},nextChild:function(n,t){var i=this,r,u=i.items.indexOf(n);return u!==-1&&(r=t?Ext.ComponentQuery(t,i.items.items.slice(u+1)):i.items.getAt(u+1),!r&&i.ownerCt&&(r=i.ownerCt.nextChild(i,t))),r},prevChild:function(n,t){var i=this,r,u=i.items.indexOf(n);return u!==-1&&(r=t?Ext.ComponentQuery(t,i.items.items.slice(u+1)):i.items.getAt(u+1),!r&&i.ownerCt&&(r=i.ownerCt.nextChild(i,t))),r},enable:function(){this.callParent(arguments);for(var i=this.getChildItemsToDisable(),r=i.length,t,n=0;n<r;n++)t=i[n],t.resetDisable&&t.enable();return this},disable:function(){this.callParent(arguments);for(var i=this.getChildItemsToDisable(),r=i.length,n,t=0;t<r;t++)n=i[t],n.resetDisable===!1||n.disabled||(n.disable(),n.resetDisable=!0);return this},getChildItemsToDisable:function(){return this.query("[isFormField],button")},beforeDestroy:function(){var n=this,i=n.items,r=n.floatingItems,t;if(i)while(t=i.first())n.doRemove(t,!0);if(r)while(t=r.first())n.doRemove(t,!0);Ext.destroy(n.layout);n.callParent()}},0,0,["component","box"],{component:!0,box:!0},0,[["queryable",Ext.Queryable]],[Ext.container,"AbstractContainer"],0);Ext.cmd.derive("Ext.container.Container",Ext.container.AbstractContainer,{alternateClassName:"Ext.Container",getChildByElement:function(n,t){var i,r,u=0,f=this.getRefItems(),e=f.length;for(n=Ext.getDom(n);u<e;u++)if(i=f[u],r=i.getEl(),r&&(r.dom===n||r.contains(n)))return t&&i.getChildByElement?i.getChildByElement(n,t):i;return null}},0,["container"],["component","container","box"],{component:!0,container:!0,box:!0},["widget.container"],0,[Ext.container,"Container",Ext,"Container"],0);Ext.cmd.derive("Ext.layout.container.Editor",Ext.layout.container.Container,{autoSizeDefault:{width:"field",height:"field"},sizePolicies:{$:{$:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},boundEl:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1}},boundEl:{$:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},boundEl:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1}}},getItemSizePolicy:function(){var r=this,t=r.owner.autoSize,i=t&&t.width,n=r.sizePolicies;return n=n[i]||n.$,i=t&&t.height,n[i]||n.$},calculate:function(n){var r=this,t=r.owner,i=t.autoSize,u,f;i===!0&&(i=r.autoSizeDefault);i&&(u=r.getDimension(t,i.width,"getWidth",t.width),f=r.getDimension(t,i.height,"getHeight",t.height));n.childItems[0].setSize(u,f);n.setWidth(u);n.setHeight(f);n.setContentSize(u||t.field.getWidth(),f||t.field.getHeight())},getDimension:function(n,t,i,r){switch(t){case"boundEl":return n.boundEl[i]();case"field":return undefined;default:return r}}},0,0,0,0,["layout.editor"],0,[Ext.layout.container,"Editor"],0);Ext.cmd.derive("Ext.Editor",Ext.container.Container,{layout:"editor",allowBlur:!0,revertInvalid:!0,value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:!1,swallowKeys:!0,completeOnEnter:!0,cancelOnEsc:!0,updateEl:!1,focusOnToFront:!1,hidden:!0,baseCls:Ext.baseCSSPrefix+"editor",initComponent:function(){var n=this,t=n.field=Ext.ComponentManager.create(n.field,"textfield");Ext.apply(t,{inEditor:!0,msgTarget:t.msgTarget=="title"?"title":"qtip"});n.mon(t,{scope:n,blur:n.onFieldBlur,specialkey:n.onSpecialKey});t.grow&&n.mon(t,"autosize",n.onFieldAutosize,n,{delay:1});n.floating={constrain:n.constrain};n.items=t;n.callParent(arguments);n.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onFieldAutosize:function(){this.updateLayout()},afterRender:function(){var n=this,i=n.field,t=i.inputEl;n.callParent(arguments);t&&(t.dom.name="",n.swallowKeys&&t.swallowEvent(["keypress","keydown"]))},onSpecialKey:function(n,t){var i=this,r=t.getKey(),u=i.completeOnEnter&&r==t.ENTER,f=i.cancelOnEsc&&r==t.ESC;(u||f)&&(t.stopEvent(),Ext.defer(function(){u?i.completeEdit():i.cancelEdit();n.triggerBlur&&n.triggerBlur(t)},10));i.fireEvent("specialkey",i,n,t)},startEdit:function(n,t){var i=this,r=i.field;i.completeEdit();i.boundEl=Ext.get(n);t=Ext.isDefined(t)?t:Ext.String.trim(i.boundEl.dom.innerText||i.boundEl.dom.innerHTML);i.rendered||(i.ownerCt&&(i.parentEl=i.ownerCt.el,i.parentEl.position()),i.render(i.parentEl||document.body));i.fireEvent("beforestartedit",i,i.boundEl,t)!==!1&&(i.startValue=t,i.show(),r.suspendEvents(),r.reset(),r.setValue(t),r.resumeEvents(),i.realign(!0),r.focus(),r.autoSize&&r.autoSize(),i.editing=!0)},realign:function(n){var t=this;n===!0&&t.updateLayout();t.alignTo(t.boundEl,t.alignment,t.offsets)},completeEdit:function(n){var t=this,r=t.field,i;if(t.editing){if(r.assertValue&&r.assertValue(),i=t.getValue(),!r.isValid()){t.revertInvalid!==!1&&t.cancelEdit(n);return}if(String(i)===String(t.startValue)&&t.ignoreNoChange){t.hideEdit(n);return}t.fireEvent("beforecomplete",t,i,t.startValue)!==!1&&(i=t.getValue(),t.updateEl&&t.boundEl&&t.boundEl.update(i),t.hideEdit(n),t.fireEvent("complete",t,i,t.startValue))}},onShow:function(){var n=this;n.callParent(arguments);n.hideEl!==!1&&n.boundEl.hide();n.fireEvent("startedit",n,n.boundEl,n.startValue)},cancelEdit:function(n){var t=this,i=t.startValue,r=t.field,u;t.editing&&(u=t.getValue(),r.suspendEvents(),t.setValue(i),r.resumeEvents(),t.hideEdit(n),t.fireEvent("canceledit",t,u,i))},hideEdit:function(n){n!==!0&&(this.editing=!1,this.hide())},onFieldBlur:function(){var n=this,t=Ext.Element.getActiveElement();n.allowBlur===!0&&n.editing&&n.selectSameEditor!==!0&&n.completeEdit();(Ext.fly(t).isFocusable()||t.getAttribute("tabIndex"))&&t.focus()},onHide:function(){var n=this,t=n.field;if(n.editing){n.completeEdit();return}t.hasFocus&&t.triggerBlur&&t.triggerBlur();t.collapse&&t.collapse();n.hideEl!==!1&&n.boundEl.show();n.callParent(arguments)},setValue:function(n){this.field.setValue(n)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){var n=this;Ext.destroy(n.field);delete n.field;delete n.parentEl;delete n.boundEl;n.callParent(arguments)}},0,["editor"],["editor","component","container","box"],{editor:!0,component:!0,container:!0,box:!0},["widget.editor"],0,[Ext,"Editor"],0);Ext.cmd.derive("Ext.util.KeyMap",Ext.Base,{alternateClassName:"Ext.KeyMap",eventName:"keydown",constructor:function(n){var t=this;if(arguments.length!==1||typeof n=="string"||n.dom||n.tagName||n===document||n.isComponent){t.legacyConstructor.apply(t,arguments);return}Ext.apply(t,n);t.bindings=[];t.target.isComponent||(t.target=Ext.get(t.target));t.binding?t.addBinding(t.binding):n.key&&t.addBinding(n);t.enable()},legacyConstructor:function(n,t,i){var r=this;Ext.apply(r,{target:Ext.get(n),eventName:i||r.eventName,bindings:[]});t&&r.addBinding(t);r.enable()},addBinding:function(n){var t=this,u=n.key,i,r;if(t.processing&&(t.bindings=bindings.slice(0)),Ext.isArray(n)){for(i=0,r=n.length;i<r;i++)t.addBinding(n[i]);return}t.bindings.push(Ext.apply({keyCode:t.processKeys(u)},n))},removeBinding:function(n){var i=this,u=i.bindings,e=u.length,r,t,f;for(i.processing&&(i.bindings=u.slice(0)),f=i.processKeys(n.key),r=0;r<e;++r)if(t=u[r],t.fn===n.fn&&t.scope===n.scope&&n.alt==t.alt&&n.crtl==t.crtl&&n.shift==t.shift&&Ext.Array.equals(t.keyCode,f)){Ext.Array.erase(i.bindings,r,1);return}},processKeys:function(n){var e=!1,r,u,f,i,t;if(Ext.isString(n)){for(u=[],f=n.toUpperCase(),t=0,i=f.length;t<i;++t)u.push(f.charCodeAt(t));n=u;e=!0}if(Ext.isArray(n)||(n=[n]),!e)for(t=0,i=n.length;t<i;++t)r=n[t],Ext.isString(r)&&(n[t]=r.toUpperCase().charCodeAt(0));return n},handleTargetEvent:function(){var n=/input|textarea/i;return function(t){var i=this,u,r,o,f,e;if(i.enabled){if(u=i.bindings,r=0,o=u.length,t=i.processEvent.apply(i||i.processEventScope,arguments),i.ignoreInputFields&&(f=t.target,e=f.contentEditable,n.test(f.tagName)||e===""||e==="true"))return;if(!t.getKey)return t;for(i.processing=!0;r<o;++r)i.processBinding(u[r],t);i.processing=!1}}}(),processEvent:Ext.identityFn,processBinding:function(n,t){if(this.checkModifiers(n,t))for(var r=t.getKey(),o=n.fn||n.handler,s=n.scope||this,u=n.keyCode,f=n.defaultEventAction,h=new Ext.EventObjectImpl(t),i=0,e=u.length;i<e;++i)if(r===u[i]){o.call(s,r,t)!==!0&&f&&h[f]();break}},checkModifiers:function(n,t){for(var f=["shift","ctrl","alt"],i=0,e=f.length,r,u;i<e;++i)if(u=f[i],r=n[u],!(r===undefined||r===t[u+"Key"]))return!1;return!0},on:function(n,t,i){var r,u,f,e;Ext.isObject(n)&&!Ext.isArray(n)?(r=n.key,u=n.shift,f=n.ctrl,e=n.alt):r=n;this.addBinding({key:r,shift:u,ctrl:f,alt:e,fn:t,scope:i})},un:function(n,t,i){var r,u,f,e;Ext.isObject(n)&&!Ext.isArray(n)?(r=n.key,u=n.shift,f=n.ctrl,e=n.alt):r=n;this.removeBinding({key:r,shift:u,ctrl:f,alt:e,fn:t,scope:i})},isEnabled:function(){return this.enabled},enable:function(){var n=this;if(!n.enabled){n.target.on(n.eventName,n.handleTargetEvent,n);n.enabled=!0}},disable:function(){var n=this;n.enabled&&(n.target.removeListener(n.eventName,n.handleTargetEvent,n),n.enabled=!1)},setDisabled:function(n){n?this.disable():this.enable()},destroy:function(n){var t=this,i=t.target;t.bindings=[];t.disable();n===!0&&(i.isComponent?i.destroy():i.remove());delete t.target}},1,0,0,0,0,0,[Ext.util,"KeyMap",Ext,"KeyMap"],0);Ext.cmd.derive("Ext.util.KeyNav",Ext.Base,{alternateClassName:"Ext.KeyNav",statics:{keyOptions:{left:37,right:39,up:38,down:40,space:32,pageUp:33,pageDown:34,del:46,backspace:8,home:36,end:35,enter:13,esc:27,tab:9}},constructor:function(n){var t=this;if(arguments.length===2){t.legacyConstructor.apply(t,arguments);return}t.setConfig(n)},legacyConstructor:function(n,t){this.setConfig(Ext.apply({target:n},t))},setConfig:function(n){var t=this,e={target:n.target,ignoreInputFields:n.ignoreInputFields,eventName:t.getKeyEvent("forceKeyDown"in n?n.forceKeyDown:t.forceKeyDown,n.eventName)},r,u,o,f,i;t.map&&t.map.destroy();n.processEvent&&(e.processEvent=n.processEvent,e.processEventScope=n.processEventScope||t);n.keyMap?r=t.map=n.keyMap:(r=t.map=new Ext.util.KeyMap(e),t.destroyKeyMap=!0);u=Ext.util.KeyNav.keyOptions;o=n.scope||t;for(f in u)u.hasOwnProperty(f)&&(i=n[f])&&(typeof i=="function"&&(i={handler:i,defaultEventAction:n.defaultEventAction!==undefined?n.defaultEventAction:t.defaultEventAction}),r.addBinding({key:u[f],handler:Ext.Function.bind(t.handleEvent,i.scope||o,i.handler||i.fn,!0),defaultEventAction:i.defaultEventAction!==undefined?i.defaultEventAction:t.defaultEventAction}));r.disable();n.disabled||r.enable()},handleEvent:function(n,t,i){return i.call(this,t)},disabled:!1,defaultEventAction:"stopEvent",forceKeyDown:!1,eventName:"keypress",destroy:function(n){this.destroyKeyMap&&this.map.destroy(n);delete this.map},enable:function(){this.map&&(this.map.enable(),this.disabled=!1)},disable:function(){this.map&&this.map.disable();this.disabled=!0},setDisabled:function(n){this.map.setDisabled(n);this.disabled=n},getKeyEvent:function(n,t){return n||Ext.EventManager.useKeyDown&&!t?"keydown":t||this.eventName}},1,0,0,0,0,0,[Ext.util,"KeyNav",Ext,"KeyNav"],0);Ext.cmd.derive("Ext.FocusManager",Ext.Base,{singleton:!0,alternateClassName:["Ext.FocusMgr"],enabled:!1,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],constructor:function(n){var t=this,i=Ext.ComponentQuery;t.mixins.observable.constructor.call(t,n);t.addEvents("beforecomponentfocus","componentfocus","disable","enable");t.focusTask=new Ext.util.DelayedTask(t.handleComponentFocus,t);Ext.override(Ext.AbstractComponent,{onFocus:function(){this.callParent(arguments);t.enabled&&this.hasFocus&&(Array.prototype.unshift.call(arguments,this),t.onComponentFocus.apply(t,arguments))},onBlur:function(){this.callParent(arguments);t.enabled&&!this.hasFocus&&(Array.prototype.unshift.call(arguments,this),t.onComponentBlur.apply(t,arguments))},onDestroy:function(){this.callParent(arguments);t.enabled&&(Array.prototype.unshift.call(arguments,this),t.onComponentDestroy.apply(t,arguments))}});Ext.override(Ext.Component,{afterHide:function(){this.callParent(arguments);t.enabled&&(Array.prototype.unshift.call(arguments,this),t.onComponentHide.apply(t,arguments))}});t.keyNav=new Ext.util.KeyNav(Ext.getDoc(),{disabled:!0,scope:t,backspace:t.focusLast,enter:t.navigateIn,esc:t.navigateOut,tab:t.navigateSiblings,space:t.navigateIn,del:t.focusLast,left:t.navigateSiblings,right:t.navigateSiblings,down:t.navigateSiblings,up:t.navigateSiblings});t.focusData={};t.subscribers=new Ext.util.HashMap;t.focusChain={};Ext.apply(i.pseudos,{nextFocus:function(n,t,i){i=i||1;t=parseInt(t,10);for(var u=n.length,r=t,f;;){if((r+=i)>=u?r=0:r<0&&(r=u-1),r===t)return[];if((f=n[r]).isFocusable())return[f]}return[]},prevFocus:function(n,t){return this.nextFocus(n,t,-1)},root:function(n){for(var u=n.length,r=[],t=0,i;t<u;t++)i=n[t],i.ownerCt||r.push(i);return r}})},addXTypeToWhitelist:function(n){var t=this;if(Ext.isArray(n)){Ext.Array.forEach(n,t.addXTypeToWhitelist,t);return}Ext.Array.contains(t.whitelist,n)||t.whitelist.push(n)},clearComponent:function(n){clearTimeout(this.cmpFocusDelay);n.isDestroyed||n.blur()},disable:function(){var n=this;n.enabled&&(delete n.options,n.enabled=!1,n.removeDOM(),n.keyNav.disable(),n.fireEvent("disable",n))},enable:function(n){var t=this;(n===!0&&(n={focusFrame:!0}),t.options=n=n||{},t.enabled)||(t.enabled=!0,t.initDOM(n),t.keyNav.enable(),t.focusEl.focus(),delete t.focusedCmp,t.fireEvent("enable",t))},focusLast:function(){var n=this;if(n.isWhitelisted(n.focusedCmp))return!0;n.previousFocusedCmp&&n.previousFocusedCmp.focus()},getRootComponents:function(){var n=Ext.ComponentQuery,i=n.query(":focusable:root:not([floating])"),t=n.query(":focusable:root[floating]");return t.sort(function(n,t){return n.el.getZIndex()>t.el.getZIndex()}),t.concat(i)},initDOM:function(n){var t=this,i=t.focusFrameCls,u=Ext.ComponentQuery.query("{getFocusEl()}:not([focusListenerAdded])"),r=0,f=u.length;if(!Ext.isReady)return Ext.onReady(t.initDOM,t);for(;r<f;r++)u[r].addFocusListener();t.focusEl||(t.focusEl=Ext.getBody(),t.focusEl.dom.tabIndex=-1);!t.focusFrame&&n.focusFrame&&(t.focusFrame=Ext.getBody().createChild({cls:i,children:[{cls:i+"-top"},{cls:i+"-bottom"},{cls:i+"-left"},{cls:i+"-right"}],style:"top: -100px; left: -100px;"}),t.focusFrame.setVisibilityMode(Ext.Element.DISPLAY),t.focusFrame.hide().setLocalXY(0,0))},isWhitelisted:function(n){return n&&Ext.Array.some(this.whitelist,function(t){return n.isXType(t)})},navigateIn:function(n){var i=this,t=i.focusedCmp,r,u;if(i.isWhitelisted(t))return!0;if(t){if(u=t.hasFocus?Ext.ComponentQuery.query(">:focusable",t)[0]:t,u)u.focus();else if(Ext.isFunction(t.onClick)){n.button=0;t.onClick(n);t.isVisible(!0)?t.focus():i.navigateOut()}}else r=i.getRootComponents()[0],r&&(r.getFocusEl()===i.focusEl&&i.focusEl.blur(),r.focus())},navigateOut:function(){var n=this,t;return n.focusedCmp&&(t=n.focusedCmp.up(":focusable"))?t.focus():n.focusEl.focus(),!0},navigateSiblings:function(n,t,i){var s=this,h=t||s,u=n.getKey(),f=Ext.EventObject,l=n.shiftKey||u==f.LEFT||u==f.UP,a=u==f.LEFT||u==f.RIGHT||u==f.UP||u==f.DOWN,v=l?"prev":"next",c,e,r,o;return(r=h.focusedCmp&&h.focusedCmp.comp||h.focusedCmp,!r&&!i)?!0:a&&s.isWhitelisted(r)?!0:(!r||r.is(":root")?o=s.getRootComponents():(i=i||r.up(),i&&(o=i.getRefItems())),o&&(c=r?Ext.Array.indexOf(o,r):-1,e=Ext.ComponentQuery.query(":"+v+"Focus("+c+")",o)[0],e&&r!==e)?(e.focus(),e):void 0)},onComponentBlur:function(n){var t=this;t.focusedCmp===n&&(t.previousFocusedCmp=n,delete t.focusedCmp);t.focusFrame&&t.focusFrame.hide()},onComponentFocus:function(n){var t=this,r=t.focusChain,i;if(!n.isFocusable()){if(t.clearComponent(n),r[n.id])return;i=n.up();i&&(r[n.id]=!0,i.focus());return}t.focusChain={};t.focusTask.delay(10,null,null,[n,n.getFocusEl()])},handleComponentFocus:function(n,t){var i=this,u,r,f,e,o,s,h,c,l,a,v;if(i.fireEvent("beforecomponentfocus",i,n,i.previousFocusedCmp)===!1){i.clearComponent(n);return}i.focusedCmp=n;i.shouldShowFocusFrame(n)&&(u="."+i.focusFrameCls+"-",r=i.focusFrame,f=(t.dom?t:t.el).getBox(),e=f.top,o=f.left,s=f.width,h=f.height,c=r.child(u+"top"),l=r.child(u+"bottom"),a=r.child(u+"left"),v=r.child(u+"right"),c.setWidth(s).setLocalXY(o,e),l.setWidth(s).setLocalXY(o,e+h-2),a.setHeight(h-2).setLocalXY(o,e+2),v.setHeight(h-2).setLocalXY(o+s-2,e+2),r.show());i.fireEvent("componentfocus",i,n,i.previousFocusedCmp)},onComponentHide:function(n){var t=this,i=!1,u=t.focusedCmp,r;u&&(i=n.hasFocus||n.isContainer&&n.isAncestor(t.focusedCmp));t.clearComponent(n);i&&(r=n.up(":focusable"))?r.focus():t.focusEl.focus()},onComponentDestroy:function(){},removeDOM:function(){var n=this;n.enabled||n.subscribers.length||(Ext.destroy(n.focusFrame),delete n.focusEl,delete n.focusFrame)},removeXTypeFromWhitelist:function(n){var t=this;if(Ext.isArray(n)){Ext.Array.forEach(n,t.removeXTypeFromWhitelist,t);return}Ext.Array.remove(t.whitelist,n)},setupSubscriberKeys:function(n,t){var i=this,u=n.getFocusEl(),f=t.scope,r={backspace:i.focusLast,enter:i.navigateIn,esc:i.navigateOut,scope:i},e=function(t){return i.focusedCmp===n?i.navigateSiblings(t,i,n):i.navigateSiblings(t)};return Ext.iterate(t,function(t,i){r[t]=function(t){var r=e(t);return Ext.isFunction(i)&&i.call(f||n,t,r)===!0?!0:r}},i),new Ext.util.KeyNav(u,r)},shouldShowFocusFrame:function(n){var t=this,i=t.options||{};return!t.focusFrame||!n?!1:i.focusFrame?!0:t.focusData[n.id].focusFrame?!0:!1}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext,"FocusManager",Ext,"FocusMgr"],0);Ext.cmd.derive("Ext.Img",Ext.Component,{autoEl:"img",baseCls:Ext.baseCSSPrefix+"img",src:"",alt:"",title:"",imgCls:"",initComponent:function(){this.glyph&&(this.autoEl="div");this.callParent()},getElConfig:function(){var n=this,i=n.callParent(),u=Ext._glyphFontFamily,r=n.glyph,t,f;return n.autoEl=="img"?t=i:n.glyph?(typeof r=="string"&&(f=r.split("@"),r=f[0],u=f[1]),i.html="&#"+r+";",u&&(i.style="font-family:"+u)):i.cn=[t={tag:"img",id:n.id+"-img"}],t&&(n.imgCls&&(t.cls=(t.cls?t.cls+" ":"")+n.imgCls),t.src=n.src||Ext.BLANK_IMAGE_URL),n.alt&&((t||i).alt=n.alt),n.title&&((t||i).title=n.title),i},onRender:function(){var n=this,t;n.callParent(arguments);t=n.el;n.imgEl=n.autoEl=="img"?t:t.getById(n.id+"-img")},onDestroy:function(){Ext.destroy(this.imgEl);this.imgEl=null;this.callParent()},setSrc:function(n){var t=this,i=t.imgEl;t.src=n;i&&(i.dom.src=n||Ext.BLANK_IMAGE_URL)},setGlyph:function(n){var u=this,t=Ext._glyphFontFamily,i,r;n!=u.glyph&&(typeof n=="string"&&(i=n.split("@"),n=i[0],t=i[1]),r=u.el.dom,r.innerHTML="&#"+n+";",t&&(r.style="font-family:"+t))}},0,["image","imagecomponent"],["component","image","box","imagecomponent"],{component:!0,image:!0,box:!0,imagecomponent:!0},["widget.image","widget.imagecomponent"],0,[Ext,"Img"],0);Ext.cmd.derive("Ext.util.Bindable",Ext.Base,{bindStore:function(n,t,i){i=i||"store";var r=this,u=r[i];if(!t&&u){r.onUnbindStore(u,t,i);n!==u&&u.autoDestroy?u.destroyStore():r.unbindStoreListeners(u)}if(n){n=Ext.data.StoreManager.lookup(n);r.bindStoreListeners(n);r.onBindStore(n,t,i)}return r[i]=n||null,r},getStore:function(){return this.store},unbindStoreListeners:function(n){var t=this.storeListeners;t&&n.un(t)},bindStoreListeners:function(n){var i=this,t=Ext.apply({},i.getStoreListeners(n));t.scope||(t.scope=i);i.storeListeners=t;n.on(t)},getStoreListeners:Ext.emptyFn,onUnbindStore:Ext.emptyFn,onBindStore:Ext.emptyFn},0,0,0,0,0,0,[Ext.util,"Bindable"],0);Ext.cmd.derive("Ext.LoadMask",Ext.Component,{msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",maskCls:Ext.baseCSSPrefix+"mask",useMsg:!0,useTargetEl:!1,baseCls:Ext.baseCSSPrefix+"mask-msg",childEls:["msgEl","msgTextEl"],renderTpl:['<div id="{id}-msgEl" class="{[values.$comp.msgCls]} ',Ext.baseCSSPrefix,'mask-msg-inner{childElCls}">','<div id="{id}-msgTextEl" class="',Ext.baseCSSPrefix,"mask-msg-text",'{childElCls}"><\/div>',"<\/div>"],floating:{shadow:"frame"},focusOnToFront:!1,bringParentToFront:!1,constructor:function(n){var i=this,t;arguments.length===2?(t=n,n=arguments[1]):t=n.target;t.isComponent||(t=Ext.get(t),this.isElement=!0);i.ownerCt=t;this.isElement||i.bindComponent(t);i.callParent([n]);i.store&&i.bindStore(i.store,!0)},bindComponent:function(n){var t=this,i={scope:this,resize:t.sizeMask,added:t.onComponentAdded,removed:t.onComponentRemoved};if(n.floating)i.move=t.sizeMask,t.activeOwner=n;else if(n.ownerCt)t.onComponentAdded(n.ownerCt);else t.preventBringToFront=!0;t.mon(n,i);t.mon(t.hierarchyEventSource,{show:t.onContainerShow,hide:t.onContainerHide,expand:t.onContainerExpand,collapse:t.onContainerCollapse,scope:t})},onComponentAdded:function(n){var t=this;delete t.activeOwner;t.floatParent=n;n.floating||(n=n.up("[floating]"));n?(t.activeOwner=n,t.mon(n,"move",t.sizeMask,t)):t.preventBringToFront=!0;n=t.floatParent.ownerCt;t.rendered&&t.isVisible()&&n&&(t.floatOwner=n,t.mon(n,"afterlayout",t.sizeMask,t,{single:!0}))},onComponentRemoved:function(){var n=this,t=n.activeOwner,i=n.floatOwner;t&&n.mun(t,"move",n.sizeMask,n);i&&n.mun(i,"afterlayout",n.sizeMask,n);delete n.activeOwner;delete n.floatOwner},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onContainerShow:function(n){this.isActiveContainer(n)&&this.onComponentShow()},onContainerHide:function(n){this.isActiveContainer(n)&&this.onComponentHide()},onContainerExpand:function(n){this.isActiveContainer(n)&&this.onComponentShow()},onContainerCollapse:function(n){this.isActiveContainer(n)&&this.onComponentHide()},isActiveContainer:function(n){return this.isDescendantOf(n)},onComponentHide:function(){var n=this;n.rendered&&n.isVisible()&&(n.hide(),n.showNext=!0)},onComponentShow:function(){this.showNext&&this.show();delete this.showNext},sizeMask:function(){var n=this,t;n.rendered&&n.isVisible()&&(n.center(),t=n.getMaskTarget(),n.getMaskEl().show().setSize(t.getSize()).alignTo(t,"tl-tl"))},bindStore:function(n){var t=this;t.mixins.bindable.bindStore.apply(t,arguments);n=t.store;n&&n.isLoading()&&t.onBeforeLoad()},getStoreListeners:function(n){var i=this.onLoad,r=this.onBeforeLoad,t={cachemiss:r,cachefilled:i};return n.proxy.isSynchronous||(t.beforeLoad=r,t.load=i),t},onDisable:function(){this.callParent(arguments);this.loading&&this.onLoad()},getOwner:function(){return this.ownerCt||this.floatParent},getMaskTarget:function(){var n=this.getOwner();return this.useTargetEl?n.getTargetEl():n.getEl()},onBeforeLoad:function(){var n=this,t=n.getOwner(),i;n.disabled||(n.loading=!0,t.componentLayoutCounter?n.maybeShow():(i=t.afterComponentLayout,t.afterComponentLayout=function(){t.afterComponentLayout=i;i.apply(t,arguments);n.maybeShow()}))},maybeShow:function(){var n=this,t=n.getOwner();t.isVisible(!0)?n.loading&&t.rendered&&n.show():n.showNext=!0},getMaskEl:function(){var n=this;return n.maskEl||(n.maskEl=n.el.insertSibling({cls:n.maskCls,style:{zIndex:n.el.getStyle("zIndex")-2}},"before"))},onShow:function(){var n=this,t=n.msgEl;n.callParent(arguments);n.loading=!0;n.useMsg?(t.show(),n.msgTextEl.update(n.msg)):t.parent().hide()},hide:function(){if(this.isElement){this.ownerCt.unmask();this.fireEvent("hide",this);return}return delete this.showNext,this.callParent(arguments)},onHide:function(){this.callParent();this.getMaskEl().hide()},show:function(){if(this.isElement){this.ownerCt.mask(this.useMsg?this.msg:"",this.msgCls);this.fireEvent("show",this);return}return this.callParent(arguments)},afterShow:function(){this.callParent(arguments);this.sizeMask()},setZIndex:function(n){var t=this,i=t.activeOwner;return i&&(n=parseInt(i.el.getStyle("zIndex"),10)+1),t.getMaskEl().setStyle("zIndex",n-1),t.mixins.floating.setZIndex.apply(t,arguments)},onLoad:function(){this.loading=!1;this.hide()},onDestroy:function(){var n=this;n.isElement&&n.ownerCt.unmask();Ext.destroy(n.maskEl);n.callParent()}},1,["loadmask"],["component","box","loadmask"],{component:!0,box:!0,loadmask:!0},["widget.loadmask"],[["floating",Ext.util.Floating],["bindable",Ext.util.Bindable]],[Ext,"LoadMask"],0);Ext.cmd.derive("Ext.data.association.Association",Ext.Base,{alternateClassName:"Ext.data.Association",primaryKey:"id",associationKeyFunction:null,defaultReaderType:"json",isAssociation:!0,initialConfig:null,statics:{AUTO_ID:1e3,create:function(n){Ext.isString(n)&&(n={type:n});switch(n.type){case"belongsTo":return new Ext.data.association.BelongsTo(n);case"hasMany":return new Ext.data.association.HasMany(n);case"hasOne":return new Ext.data.association.HasOne(n)}return n}},constructor:function(n){Ext.apply(this,n);var t=this,u=Ext.ModelManager.types,f=n.ownerModel,e=n.associatedModel,o=u[f],s=u[e],i=n.associationKey,r;i&&(r=String(i).search(/[\[\.]/),r>=0&&(t.associationKeyFunction=Ext.functionFactory("obj","return obj"+(r>0?".":"")+i)));t.initialConfig=n;t.ownerModel=o;t.associatedModel=s;Ext.applyIf(t,{ownerName:f,associatedName:e});t.associationId="association"+ ++t.statics().AUTO_ID},getReader:function(){var t=this,n=t.reader,i=t.associatedModel;return n&&(Ext.isString(n)&&(n={type:n}),n.isReader?n.setModel(i):Ext.applyIf(n,{model:i,type:t.defaultReaderType}),t.reader=Ext.createByAlias("reader."+n.type,n)),t.reader||null}},1,0,0,0,0,0,[Ext.data.association,"Association",Ext.data,"Association"],0);Ext.cmd.derive("Ext.ModelManager",Ext.AbstractManager,{alternateClassName:"Ext.ModelMgr",singleton:!0,typeName:"mtype",associationStack:[],registerType:function(n,t){var r=t.prototype,i;return r&&r.isModel?i=t:(t.extend||(t.extend="Ext.data.Model"),i=Ext.define(n,t)),this.types[n]=i,i},unregisterType:function(n){delete this.types[n]},onModelDefined:function(n){for(var r=this.associationStack,u=r.length,f=[],e,i,t=0;t<u;t++)e=r[t],e.associatedModel==n.modelName&&f.push(e);for(t=0,u=f.length;t<u;t++)i=f[t],this.types[i.ownerModel].prototype.associations.add(Ext.data.association.Association.create(i)),Ext.Array.remove(r,i)},registerDeferredAssociation:function(n){this.associationStack.push(n)},getModel:function(n){var t=n;return typeof t=="string"&&(t=this.types[t]),t},create:function(n,t,i){var r=typeof t=="function"?t:this.types[t||n.name];return new r(n,i)}},0,0,0,0,0,0,[Ext,"ModelManager",Ext,"ModelMgr"],function(){Ext.regModel=function(){return this.ModelManager.registerType.apply(this.ModelManager,arguments)}});Ext.cmd.derive("Ext.layout.component.ProgressBar",Ext.layout.component.Auto,{type:"progressbar",beginLayout:function(n){var r=this,i,t;if(r.callParent(arguments),!n.textEls)if(t=r.owner.textEl,t.isComposite)for(n.textEls=[],t=t.elements,i=t.length;i--;)n.textEls[i]=n.getEl(Ext.get(t[i]));else n.textEls=[n.getEl("textEl")]},calculate:function(n){var u=this,t,i,r;if(u.callParent(arguments),Ext.isNumber(r=n.getProp("width")))for(r-=n.getBorderInfo().width,i=n.textEls,t=i.length;t--;)i[t].setWidth(r);else u.done=!1}},0,0,0,0,["layout.progressbar"],0,[Ext.layout.component,"ProgressBar"],0);Ext.cmd.derive("Ext.ProgressBar",Ext.Component,{baseCls:Ext.baseCSSPrefix+"progress",animate:!1,text:"",waitTimer:null,childEls:["bar"],renderTpl:['<tpl if="internalText">','<div class="{baseCls}-text {baseCls}-text-back">{text}<\/div>',"<\/tpl>",'<div id="{id}-bar" class="{baseCls}-bar {baseCls}-bar-{ui}" style="width:{percentage}%">','<tpl if="internalText">','<div class="{baseCls}-text">',"<div>{text}<\/div>","<\/div>","<\/tpl>","<\/div>"],componentLayout:"progressbar",initComponent:function(){this.callParent();this.addEvents("update")},initRenderData:function(){var n=this;return Ext.apply(n.callParent(),{internalText:!n.hasOwnProperty("textEl"),text:n.text||"&#160;",percentage:n.value?n.value*100:0})},onRender:function(){var n=this;n.callParent(arguments);n.textEl?(n.textEl=Ext.get(n.textEl),n.updateText(n.text)):n.textEl=n.el.select("."+n.baseCls+"-text")},updateProgress:function(n,t,i){var r=this,u=r.value;return r.value=n||0,t&&r.updateText(t),r.rendered&&!r.isDestroyed&&(i===!0||i!==!1&&r.animate?(r.bar.stopAnimation(),r.bar.animate(Ext.apply({from:{width:u*100+"%"},to:{width:r.value*100+"%"}},r.animate))):r.bar.setStyle("width",r.value*100+"%")),r.fireEvent("update",r,r.value,t),r},updateText:function(n){var t=this;return t.text=n,t.rendered&&t.textEl.update(t.text),t},applyText:function(n){this.updateText(n)},getText:function(){return this.text},wait:function(n){var t=this,i;return t.waitTimer||(i=t,n=n||{},t.updateText(n.text),t.waitTimer=Ext.TaskManager.start({run:function(i){var r=n.increment||10;i-=1;t.updateProgress(((i+r)%r+1)*(100/r)*.01,null,n.animate)},interval:n.interval||1e3,duration:n.duration,onStop:function(){n.fn&&n.fn.apply(n.scope||t);t.reset()},scope:i})),t},isWaiting:function(){return this.waitTimer!==null},reset:function(n){var t=this;return t.updateProgress(0),t.clearTimer(),n===!0&&t.hide(),t},clearTimer:function(){var n=this;n.waitTimer&&(n.waitTimer.onStop=null,Ext.TaskManager.stop(n.waitTimer),n.waitTimer=null)},onDestroy:function(){var n=this,t=n.bar;n.clearTimer();n.rendered&&(n.textEl.isComposite&&n.textEl.clear(),Ext.destroyMembers(n,"textEl","progressBar"),t&&n.animate&&t.stopAnimation());n.callParent()}},0,["progressbar"],["component","progressbar","box"],{component:!0,progressbar:!0,box:!0},["widget.progressbar"],0,[Ext,"ProgressBar"],0);Ext.cmd.derive("Ext.ShadowPool",Ext.Base,{singleton:!0,markup:function(){return Ext.String.format('<div class="{0}{1}-shadow" role="presentation"><\/div>',Ext.baseCSSPrefix,Ext.isIE&&!Ext.supports.CSS3BoxShadow?"ie":"css")}(),shadows:[],pull:function(){var n=this.shadows.shift();return n||(n=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup)),n.autoBoxAdjust=!1),n},push:function(n){this.shadows.push(n)},reset:function(){for(var t=[].concat(this.shadows),i=t.length,n=0;n<i;n++)t[n].remove();this.shadows=[]}},0,0,0,0,0,0,[Ext,"ShadowPool"],0);Ext.cmd.derive("Ext.Shadow",Ext.Base,{localXYNames:{get:"getLocalXY",set:"setLocalXY"},constructor:function(n){var r=this,u,t,i;Ext.apply(r,n);Ext.isString(r.mode)||(r.mode=r.defaultMode);t=r.offset;i=Math.floor(t/2);r.opacity=50;switch(r.mode.toLowerCase()){case"drop":u=Ext.supports.CSS3BoxShadow?{t:t,l:t,h:-t,w:-t}:{t:-i,l:-i,h:-i,w:-i};break;case"sides":u=Ext.supports.CSS3BoxShadow?{t:t,l:0,h:-t,w:0}:{t:-(1+i),l:1+i-2*t,h:-1,w:i-1};break;case"frame":u=Ext.supports.CSS3BoxShadow?{t:0,l:0,h:0,w:0}:{t:1+i-2*t,l:1+i-2*t,h:t-i-1,w:t-i-1};break;case"bottom":u=Ext.supports.CSS3BoxShadow?{t:t,l:0,h:-t,w:0}:{t:t,l:0,h:0,w:0}}r.adjusts=u},getShadowSize:function(){var n=this,t=n.el?n.offset:0,i=[t,t,t,t],r=n.mode.toLowerCase();return n.el&&r!=="frame"&&(i[0]=0,r=="drop"&&(i[3]=0)),i},offset:4,defaultMode:"drop",boxShadowProperty:function(){var n="boxShadow",t=document.documentElement.style;return"boxShadow"in t||("WebkitBoxShadow"in t?n="WebkitBoxShadow":"MozBoxShadow"in t&&(n="MozBoxShadow")),n}(),show:function(n){var t=this,r,i;n=Ext.get(n);r=parseInt(n.getStyle("z-index"),10)-1||0;i=n[t.localXYNames.get]();t.el||(t.el=Ext.ShadowPool.pull(),t.el.dom.style.position=t.fixed?"fixed":"",t.el.dom.nextSibling!=n.dom&&t.el.insertBefore(n));t.el.setStyle("z-index",t.zIndex||r);Ext.isIE&&!Ext.supports.CSS3BoxShadow&&(t.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+t.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+t.offset+")");t.realign(i[0],i[1],n.dom.offsetWidth,n.dom.offsetHeight);t.el.dom.style.display="block"},isVisible:function(){return this.el?!0:!1},realign:function(n,t,i,r){if(this.el){var f=this.adjusts,s=this.el,u=s.dom.style,h,c,e,o;s[this.localXYNames.set](n+f.l,t+f.t);h=Math.max(i+f.w,0);c=Math.max(r+f.h,0);e=h+"px";o=c+"px";(u.width!=e||u.height!=o)&&(u.width=e,u.height=o,Ext.supports.CSS3BoxShadow&&(u[this.boxShadowProperty]="0 0 "+(this.offset+2)+"px #888"))}},hide:function(){var n=this;n.el&&(n.el.dom.style.display="none",Ext.ShadowPool.push(n.el),delete n.el)},setZIndex:function(n){this.zIndex=n;this.el&&this.el.setStyle("z-index",n)},setOpacity:function(n){this.el&&(Ext.isIE&&!Ext.supports.CSS3BoxShadow&&(n=Math.floor(n*50)/100),this.opacity=n,this.el.setOpacity(n))}},1,0,0,0,0,0,[Ext,"Shadow"],0);Ext.cmd.derive("Ext.app.EventDomain",Ext.Base,{statics:{instances:{}},isEventDomain:!0,constructor:function(){var n=this;Ext.app.EventDomain.instances[n.type]=n;n.bus={};n.monitoredClasses=[]},dispatch:function(n,t,i){var c=this,a=c.bus,r=a[t],u,f,o,s,h,e,l;if(!r)return!0;for(u in r)if(r.hasOwnProperty(u)&&c.match(n,u)){f=r[u];for(o in f)if(f.hasOwnProperty(o))for(s=f[o],e=0,l=s.length;e<l;e++)if(h=s[e],h.fire.apply(h,i)===!1)return!1}return!0},listen:function(n,t){var h=this,a=h.bus,p=h.idProperty,v=h.monitoredClasses,w=v.length,c,e,y,i,u,r,o,l,s,f;for(i in n)if(n.hasOwnProperty(i)&&(s=n[i])){p&&(i=i==="*"?i:i.substring(1));for(f in s)if(s.hasOwnProperty(f)){for(u=null,r=s[f],o=t,l=new Ext.util.Event(t,f),Ext.isObject(r)&&(u=r,r=u.fn,o=u.scope||t,delete u.fn,delete u.scope),typeof r=="string"&&(r=o[r]),l.addListener(r,o,u),c=w;c-->0;)v[c].hasListeners._incr_(f);e=a[f]||(a[f]={});e=e[i]||(e[i]={});y=e[t.id]||(e[t.id]=[]);y.push(l)}}},match:function(n,t){var i=this.idProperty;return i?t==="*"||n[i]===t:!1},monitor:function(n){var t=this,i=n.isInstance?n:n.prototype,r=i.fireEventArgs;t.monitoredClasses.push(n);i.fireEventArgs=function(n,i){var u=r.apply(this,arguments);return u!==!1&&(u=t.dispatch(this,n,i)),u}},unlisten:function(n){var t=this.bus,u,i,f,r;for(i in t)if(t.hasOwnProperty(i)&&(r=t[i]))for(f in r)u=r[f],delete u[n]}},1,0,0,0,0,0,[Ext.app,"EventDomain"],0);Ext.cmd.derive("Ext.app.domain.Component",Ext.app.EventDomain,{singleton:!0,type:"component",constructor:function(){var n=this;n.callParent();n.monitor(Ext.Component)},match:function(n,t){return n.is(t)}},1,0,0,0,0,0,[Ext.app.domain,"Component"],0);Ext.cmd.derive("Ext.app.EventBus",Ext.Base,{singleton:!0,constructor:function(){var n=this,t=Ext.app.EventDomain.instances;n.callParent();n.domains=t;n.bus=t.component.bus},control:function(n,t){return this.domains.component.listen(n,t)},listen:function(n,t){var r=this.domains;for(var i in n)n.hasOwnProperty(i)&&r[i].listen(n[i],t)},unlisten:function(n){var t=Ext.app.EventDomain.instances;for(var i in t)t[i].unlisten(n)}},1,0,0,0,0,0,[Ext.app,"EventBus"],0);Ext.cmd.derive("Ext.data.StoreManager",Ext.util.MixedCollection,{alternateClassName:["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],singleton:!0,register:function(){for(var n=0,t;t=arguments[n];n++)this.add(t)},unregister:function(){for(var n=0,t;t=arguments[n];n++)this.remove(this.lookup(t))},lookup:function(n){if(Ext.isArray(n)){var u=["field1"],f=!Ext.isArray(n[0]),r=n,t,i;if(f)for(r=[],t=0,i=n.length;t<i;++t)r.push([n[t]]);else for(t=2,i=n[0].length;t<=i;++t)u.push("field"+t);return new Ext.data.ArrayStore({data:r,fields:u,autoDestroy:!0,autoCreated:!0,expanded:f})}return Ext.isString(n)?this.get(n):Ext.data.AbstractStore.create(n)},getKey:function(n){return n.storeId}},0,0,0,0,0,0,[Ext.data,"StoreManager",Ext,"StoreMgr",Ext.data,"StoreMgr",Ext,"StoreManager"],function(){Ext.regStore=function(n,t){var i;return Ext.isObject(n)?t=n:t.storeId=n,i=t instanceof Ext.data.Store?t:new Ext.data.Store(t),Ext.data.StoreManager.register(i)};Ext.getStore=function(n){return Ext.data.StoreManager.lookup(n)}});Ext.cmd.derive("Ext.app.domain.Global",Ext.app.EventDomain,{singleton:!0,type:"global",constructor:function(){var n=this;n.callParent();n.monitor(Ext.globalEvents)},listen:function(n,t){this.callParent([{global:n},t])},match:function(){return!0}},1,0,0,0,0,0,[Ext.app.domain,"Global"],0);Ext.cmd.derive("Ext.data.ResultSet",Ext.Base,{loaded:!0,count:0,total:0,success:!1,constructor:function(n){Ext.apply(this,n);this.totalRecords=this.total;n.count===undefined&&(this.count=this.records.length)}},1,0,0,0,0,0,[Ext.data,"ResultSet"],0);Ext.cmd.derive("Ext.data.reader.Reader",Ext.Base,{alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],totalProperty:"total",successProperty:"success",root:"",implicitIncludes:!0,readRecordsOnFailure:!0,isReader:!0,applyDefaults:!0,lastFieldGeneration:null,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t,n);t.fieldCount=0;t.model=Ext.ModelManager.getModel(t.model);t.model&&t.model.prototype.fields&&t.buildExtractors();this.addEvents("exception")},setModel:function(n,t){var i=this;i.model=Ext.ModelManager.getModel(n);n&&i.buildExtractors(!0);t&&i.proxy&&i.proxy.setModel(i.model,!0)},read:function(n){var t;return n&&(t=n.responseText?this.getResponseData(n):this.readRecords(n)),t||this.nullResultSet},readRecords:function(n){var t=this,u,f,e,r,o,i,s;return t.lastFieldGeneration!==t.model.prototype.fields.generation&&t.buildExtractors(!0),t.rawData=n,n=t.getData(n),u=!0,f=0,e=[],t.successProperty&&(i=t.getSuccess(n),(i===!1||i==="false")&&(u=!1)),t.messageProperty&&(s=t.getMessage(n)),(t.readRecordsOnFailure||u)&&(r=Ext.isArray(n)?n:t.getRoot(n),r&&(o=r.length),t.totalProperty&&(i=parseInt(t.getTotal(n),10),isNaN(i)||(o=i)),r&&(e=t.extractData(r),f=e.length)),new Ext.data.ResultSet({total:o||f,count:f,records:e,success:u,message:s})},extractData:function(n){var r=this,s=r.model,f=n.length,e=new Array(f),o,t,u,i;for(!n.length&&Ext.isObject(n)&&(n=[n],f=1),i=0;i<f;i++)t=n[i],t.isModel?e[i]=t:(e[i]=u=new s(undefined,r.getId(t),t,o={}),u.phantom=!1,r.convertRecordData(o,t,u),r.implicitIncludes&&u.associations.length&&r.readAssociated(u,t));return e},readAssociated:function(n,t){for(var o=n.associations.items,u=0,s=o.length,i,f,e,r;u<s;u++)i=o[u],f=this.getAssociatedDataRoot(t,i.associationKeyFunction||i.associationKey||i.name),f&&(r=i.getReader(),r||(e=i.associatedModel.getProxy(),r=e?e.getReader():new this.constructor({model:i.associatedName})),i.read(n,r,f))},getAssociatedDataRoot:function(n,t){return Ext.isFunction(t)?t(n):n[t]},getFields:function(){return this.model.prototype.fields.items},getData:Ext.identityFn,getRoot:Ext.identityFn,getResponseData:function(){},onMetaChange:function(n){var t=this,u=n.fields||t.getFields(),i,r;t.metaData=n;t.root=n.root||t.root;t.idProperty=n.idProperty||t.idProperty;t.totalProperty=n.totalProperty||t.totalProperty;t.successProperty=n.successProperty||t.successProperty;t.messageProperty=n.messageProperty||t.messageProperty;r=n.clientIdProperty;t.model?(t.model.setFields(u,t.idProperty,r),t.setModel(t.model,!0)):(i=Ext.define("Ext.data.reader.Json-Model"+Ext.id(),{extend:"Ext.data.Model",fields:u,clientIdProperty:r}),t.idProperty&&(i.idProperty=t.idProperty),t.setModel(i,!0))},getIdProperty:function(){var t=this.model.prototype.idField,n=this.idProperty;return!n&&t&&(n=t.mapping)==null&&(n=t.name),n},buildExtractors:function(n){var t=this,i=t.getIdProperty(),r=t.totalProperty,u=t.successProperty,f=t.messageProperty,e;(n===!0&&delete t.convertRecordData,t.convertRecordData)||(r&&(t.getTotal=t.createAccessor(r)),u&&(t.getSuccess=t.createAccessor(u)),f&&(t.getMessage=t.createAccessor(f)),i?(e=t.createAccessor(i),t.getId=function(n){var i=e.call(t,n);return i===undefined||i===""?null:i}):t.getId=function(){return null},t.convertRecordData=t.buildRecordDataExtractor(),t.lastFieldGeneration=t.model.prototype.fields.generation)},recordDataExtractorTemplate:["var me = this\n","    ,fields = me.model.prototype.fields\n","    ,value\n","    ,internalId\n",'<tpl for="fields">','    ,__field{#} = fields.map["{name}"]\n',"<\/tpl>",";\n","return function(dest, source, record) {\n",'<tpl for="fields">','{% var fieldAccessExpression =  this.createFieldAccessExpression(values, "__field" + xindex, "source");',"   if (fieldAccessExpression) { %}",'    value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n','<tpl if="hasCustomConvert">','    dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n','<tpl elseif="defaultValue !== undefined">',"    if (value === undefined) {\n","        if (me.applyDefaults) {\n",'<tpl if="convert">','            dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n',"<tpl else>",'            dest["{name}"] = __field{#}.defaultValue\n',"<\/tpl>","        };\n","    } else {\n",'<tpl if="convert">','        dest["{name}"] = __field{#}.convert(value, record);\n',"<tpl else>",'        dest["{name}"] = value;\n',"<\/tpl>","    };\n","<tpl else>","    if (value !== undefined) {\n",'<tpl if="convert">','        dest["{name}"] = __field{#}.convert(value, record);\n',"<tpl else>",'        dest["{name}"] = value;\n',"<\/tpl>","    }\n","<\/tpl>","{% } else { %}",'<tpl if="defaultValue !== undefined">','<tpl if="convert">','    dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n',"<tpl else>",'    dest["{name}"] = __field{#}.defaultValue\n',"<\/tpl>","<\/tpl>","{% } %}","<\/tpl>",'<tpl if="clientIdProp">','    if (record && (internalId = {[ this.createFieldAccessExpression({mapping: values.clientIdProp}, null, "source") ]})) {\n','        record.{["internalId"]} = internalId;\n',"    }\n","<\/tpl>","};"],buildRecordDataExtractor:function(){var n=this,t=n.model.prototype,i={clientIdProp:t.clientIdProperty,fields:t.fields.items};return n.recordDataExtractorTemplate.createFieldAccessExpression=function(){return n.createFieldAccessExpression.apply(n,arguments)},Ext.functionFactory(n.recordDataExtractorTemplate.apply(i)).call(n)},destroyReader:function(){var n=this;delete n.proxy;delete n.model;delete n.convertRecordData;delete n.getId;delete n.getTotal;delete n.getSuccess;delete n.getMessage}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.data.reader,"Reader",Ext.data,"Reader",Ext.data,"DataReader"],function(){var n=this.prototype;Ext.apply(n,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:!0,message:""}),recordDataExtractorTemplate:new Ext.XTemplate(n.recordDataExtractorTemplate)})});Ext.cmd.derive("Ext.data.reader.Json",Ext.data.reader.Reader,{alternateClassName:"Ext.data.JsonReader",root:"",metaProperty:"metaData",useSimpleAccessors:!1,readRecords:function(n){var t=this,i;if(t.getMeta){if(i=t.getMeta(n),i)t.onMetaChange(i)}else if(n.metaData)t.onMetaChange(n.metaData);return t.jsonData=n,t.callParent([n])},getResponseData:function(n){var i,t;try{return i=Ext.decode(n.responseText),this.readRecords(i)}catch(r){return t=new Ext.data.ResultSet({total:0,count:0,records:[],success:!1,message:r.message}),this.fireEvent("exception",this,n,t),Ext.Logger.warn("Unable to parse the JSON returned by the server"),t}},buildExtractors:function(){var n=this,t=n.metaProperty;n.callParent(arguments);n.getRoot=n.root?n.createAccessor(n.root):Ext.identityFn;t&&(n.getMeta=n.createAccessor(t))},extractData:function(n){var u=this.record,r=[],i,t;if(u)for(i=n.length,!i&&Ext.isObject(n)&&(i=1,n=[n]),t=0;t<i;t++)r[t]=n[t][u];else r=n;return this.callParent([r])},createAccessor:function(){var n=/[\[\.]/;return function(t){if(Ext.isEmpty(t))return Ext.emptyFn;if(Ext.isFunction(t))return t;if(this.useSimpleAccessors!==!0){var i=String(t).search(n);if(i>=0)return Ext.functionFactory("obj","return obj"+(i>0?".":"")+t)}return function(n){return n[t]}}}(),createFieldAccessExpression:function(){var n=/[\[\.]/;return function(t,i,r){var e=t.mapping,c=e||e===0,u=c?e:t.name,f,l;if(e!==!1){if(typeof u=="function")f=i+".mapping("+r+", this)";else if(this.useSimpleAccessors===!0||(l=String(u).search(n))<0)(!c||isNaN(u))&&(u='"'+u+'"'),f=r+"["+u+"]";else if(l===0)f=r+u;else{for(var o=u.split("."),v=o.length,s=1,h=r+"."+o[0],a=[h];s<v;s++)h+="."+o[s],a.push(h);f=a.join(" && ")}return f}}}()},0,0,0,0,["reader.json"],0,[Ext.data.reader,"Json",Ext.data,"JsonReader"],0);Ext.cmd.derive("Ext.data.writer.Writer",Ext.Base,{alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:!0,nameProperty:"name",writeRecordId:!0,isWriter:!0,constructor:function(n){Ext.apply(this,n)},write:function(n){for(var i=n.operation,r=i.records||[],f=r.length,t=0,u=[];t<f;t++)u.push(this.getRecordData(r[t],i));return this.writeRecords(n,u)},getRecordData:function(n,t){var s=n.phantom===!0,v=this.writeAllFields||s,f=n.fields,h=f.items,r={},c=n.clientIdProperty,e,i,o,l,u,a;if(v)for(a=h.length,u=0;u<a;u++)i=h[u],i.persist&&this.writeValue(r,i,n);else{e=n.getChanges();for(o in e)e.hasOwnProperty(o)&&(i=f.get(o),i.persist&&this.writeValue(r,i,n))}return s?c&&t&&t.records.length>1&&(r[c]=n.internalId):this.writeRecordId&&(l=f.get(n.idProperty)[this.nameProperty]||n.idProperty,r[l]=n.getId()),r},writeValue:function(n,t,i){var u=t[this.nameProperty],f=this.dateFormat||t.dateWriteFormat||t.dateFormat,r=i.get(t.name);u==null&&(u=t.name);n[u]=t.serialize?t.serialize(r,i):t.type===Ext.data.Types.DATE&&f&&Ext.isDate(r)?Ext.Date.format(r,f):r}},1,0,0,0,["writer.base"],0,[Ext.data.writer,"Writer",Ext.data,"DataWriter",Ext.data,"Writer"],0);Ext.cmd.derive("Ext.data.writer.Json",Ext.data.writer.Writer,{alternateClassName:"Ext.data.JsonWriter",root:undefined,encode:!1,allowSingle:!0,expandData:!1,getExpandedData:function(n){for(var o=n.length,e=0,t,r,i,u,f,s=function(n,t){var i={};return i[n]=t,i};e<o;e++){t=n[e];for(r in t)if(t.hasOwnProperty(r)&&(i=r.split("."),u=i.length-1,u>0)){for(f=t[r];u>0;u--)f=s(i[u],f);t[i[0]]=t[i[0]]||{};Ext.Object.merge(t[i[0]],f);delete t[r]}}return n},writeRecords:function(n,t){var i=this.root;return this.expandData&&(t=this.getExpandedData(t)),this.allowSingle&&t.length===1&&(t=t[0]),this.encode?i&&(n.params[i]=Ext.encode(t)):(n.jsonData=n.jsonData||{},i?n.jsonData[i]=t:n.jsonData=t),n}},0,0,0,0,["writer.json"],0,[Ext.data.writer,"Json",Ext.data,"JsonWriter"],0);Ext.cmd.derive("Ext.data.proxy.Proxy",Ext.Base,{alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],batchOrder:"create,update,destroy",batchActions:!0,defaultReaderType:"json",defaultWriterType:"json",isProxy:!0,isSynchronous:!1,constructor:function(n){var t=this;n=n||{};t.proxyConfig=n;t.mixins.observable.constructor.call(t,n);t.model===undefined||t.model instanceof Ext.data.Model?(t.reader&&t.setReader(t.reader),t.writer&&t.setWriter(t.writer)):t.setModel(t.model)},setModel:function(n,t){var i=this;i.model=Ext.ModelManager.getModel(n);i.setReader(this.reader);i.setWriter(this.writer);t&&i.store&&i.store.setModel(i.model)},getModel:function(){return this.model},setReader:function(n){var t=this,i=!0,r=t.reader;return(n===undefined||typeof n=="string")&&(n={type:n},i=!1),n.isReader?n.setModel(t.model):(i&&(n=Ext.apply({},n)),Ext.applyIf(n,{proxy:t,model:t.model,type:t.defaultReaderType}),n=Ext.createByAlias("reader."+n.type,n)),n!==r&&n.onMetaChange&&(n.onMetaChange=Ext.Function.createSequence(n.onMetaChange,this.onMetaChange,this)),t.reader=n,t.reader},getReader:function(){return this.reader},onMetaChange:function(n){this.fireEvent("metachange",this,n)},setWriter:function(n){var t=this,i=!0;return(n===undefined||typeof n=="string")&&(n={type:n},i=!1),n.isWriter||(i&&(n=Ext.apply({},n)),Ext.applyIf(n,{model:t.model,type:t.defaultWriterType}),n=Ext.createByAlias("writer."+n.type,n)),t.writer=n,t.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(n,t){var r=this,a=r.batchActions,i,u,s,h,f,e,o,c,l;n.operations===undefined&&(n={operations:n,listeners:t});n.batch?Ext.isDefined(n.batch.runOperation)&&(i=Ext.applyIf(n.batch,{proxy:r,listeners:{}})):n.batch={proxy:r,listeners:n.listeners||{}};i||(i=new Ext.data.Batch(n.batch));i.on("complete",Ext.bind(r.onBatchComplete,r,[n],0));for(s=r.batchOrder.split(","),h=s.length,e=0;e<h;e++)if(f=s[e],u=n.operations[f],u)if(a)i.add(new Ext.data.Operation({action:f,records:u}));else for(c=u.length,o=0;o<c;o++)l=u[o],i.add(new Ext.data.Operation({action:f,records:[l]}));return i.start(),i},onBatchComplete:function(n,t){var i=n.scope||this;t.hasException?Ext.isFunction(n.failure)&&Ext.callback(n.failure,i,[t,n]):Ext.isFunction(n.success)&&Ext.callback(n.success,i,[t,n]);Ext.isFunction(n.callback)&&Ext.callback(n.callback,i,[t,n])},clone:function(){return new this.self(this.proxyConfig)}},1,0,0,0,["proxy.proxy"],[["observable",Ext.util.Observable]],[Ext.data.proxy,"Proxy",Ext.data,"DataProxy",Ext.data,"Proxy"],0);Ext.cmd.derive("Ext.data.Operation",Ext.Base,{synchronous:!0,action:undefined,filters:undefined,sorters:undefined,groupers:undefined,start:undefined,limit:undefined,batch:undefined,callback:undefined,scope:undefined,started:!1,running:!1,complete:!1,success:undefined,exception:!1,error:undefined,actionCommitRecordsRe:/^(?:create|update)$/i,actionSkipSyncRe:/^destroy$/i,constructor:function(n){Ext.apply(this,n||{})},commitRecords:function(n){var i=this,e=i.actionCommitRecordsRe.test(i.action),c,r,t,o,u,s,l,f,h;if(!i.actionSkipSyncRe.test(i.action)&&(t=i.records,t&&t.length)){if(e&&(h=[]),t.length>1)if(i.action=="update"||t[0].clientIdProperty)for(c=new Ext.util.MixedCollection,c.addAll(n),r=t.length;r--;)u=t[r],o=c.findBy(i.matchClientRec,u),f=u.copyFrom(o),e&&h.push(f);else for(s=0,l=t.length;s<l;++s)u=t[s],o=n[s],u&&o&&(f=i.updateRecord(u,o),e&&h.push(f));else f=i.updateRecord(t[0],n[0]),e&&(h[0]=f);if(e)for(r=t.length;r--;)t[r].commit(!1,h[r])}},updateRecord:function(n,t){return t&&(n.phantom||n.getId()===t.getId())?n.copyFrom(t):[]},matchClientRec:function(n){var t=this,i=t.getId();return i&&n.getId()===i?!0:n.internalId===t.internalId},setStarted:function(){this.started=!0;this.running=!0},setCompleted:function(){this.complete=!0;this.running=!1},setSuccessful:function(){this.success=!0},setException:function(n){this.exception=!0;this.success=!1;this.running=!1;this.error=n},hasException:function(){return this.exception===!0},getError:function(){return this.error},getRecords:function(){var n=this.getResultSet();return this.records||(n?n.records:null)},getResultSet:function(){return this.resultSet},isStarted:function(){return this.started===!0},isRunning:function(){return this.running===!0},isComplete:function(){return this.complete===!0},wasSuccessful:function(){return this.isComplete()&&this.success===!0},setBatch:function(n){this.batch=n},allowWrite:function(){return this.action!="read"}},1,0,0,0,0,0,[Ext.data,"Operation"],0);Ext.cmd.derive("Ext.data.AbstractStore",Ext.Base,{statics:{create:function(n){return n.isStore||(n.type||(n.type="store"),n=Ext.createByAlias("store."+n.type,n)),n}},onClassExtended:function(n,t,i){var r=t.model,u;typeof r=="string"&&(u=i.onBeforeCreated,i.onBeforeCreated=function(){var n=this,t=arguments;Ext.require(r,function(){u.apply(n,t)})})},remoteSort:!1,remoteFilter:!1,autoLoad:undefined,autoSync:!1,batchUpdateMode:"operation",filterOnLoad:!0,sortOnLoad:!0,implicitModel:!1,defaultProxyType:"memory",isDestroyed:!1,isStore:!0,sortRoot:"data",constructor:function(n){var t=this,i;if(Ext.apply(t,n),t.removed=[],t.mixins.observable.constructor.apply(t,arguments),t.model=Ext.ModelManager.getModel(t.model),Ext.applyIf(t,{modelDefaults:null}),!t.model&&t.fields&&(t.model=Ext.define("Ext.data.Store.ImplicitModel-"+(t.storeId||Ext.id()),{extend:"Ext.data.Model",fields:t.fields,proxy:t.proxy||t.defaultProxyType}),delete t.fields,t.implicitModel=!0),t.setProxy(t.proxy||t.model.getProxy()),!t.disableMetaChangeEvent)t.proxy.on("metachange",t.onMetaChange,t);t.id&&!t.storeId&&(t.storeId=t.id,delete t.id);t.storeId&&Ext.data.StoreManager.register(t);t.mixins.sortable.initSortable.call(t);i=t.decodeFilters(t.filters);t.filters=new Ext.util.MixedCollection;t.filters.addAll(i)},setProxy:function(n){var t=this;return n instanceof Ext.data.proxy.Proxy?n.setModel(t.model):(Ext.isString(n)&&(n={type:n}),Ext.applyIf(n,{model:t.model}),n=Ext.createByAlias("proxy."+n.type,n)),t.proxy=n,t.proxy},getProxy:function(){return this.proxy},onMetaChange:function(n,t){this.fireEvent("metachange",this,t)},create:function(n,t){var i=this,r=Ext.ModelManager.create(Ext.applyIf(n,i.modelDefaults),i.model.modelName),u;return t=t||{},Ext.applyIf(t,{action:"create",records:[r]}),u=new Ext.data.Operation(t),i.proxy.create(u,i.onProxyWrite,i),r},read:function(){return this.load.apply(this,arguments)},update:function(n){var t=this,i;return n=n||{},Ext.applyIf(n,{action:"update",records:t.getUpdatedRecords()}),i=new Ext.data.Operation(n),t.proxy.update(i,t.onProxyWrite,t)},onProxyWrite:function(n){var t=this,i=n.wasSuccessful(),r=n.getRecords();switch(n.action){case"create":t.onCreateRecords(r,n,i);break;case"update":t.onUpdateRecords(r,n,i);break;case"destroy":t.onDestroyRecords(r,n,i)}i&&(t.fireEvent("write",t,n),t.fireEvent("datachanged",t),t.fireEvent("refresh",t));Ext.callback(n.callback,n.scope||t,[r,n,i])},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(n,t,i){i&&(this.removed=[])},destroy:function(n){var t=this,i;return n=n||{},Ext.applyIf(n,{action:"destroy",records:t.getRemovedRecords()}),i=new Ext.data.Operation(n),t.proxy.destroy(i,t.onProxyWrite,t)},onBatchOperationComplete:function(n,t){return this.onProxyWrite(t)},onBatchComplete:function(n){var t=this,r=n.operations,u=r.length,i;for(t.suspendEvents(),i=0;i<u;i++)t.onProxyWrite(r[i]);t.resumeEvents();t.fireEvent("datachanged",t);t.fireEvent("refresh",t)},onBatchException:function(){},filterNew:function(n){return n.phantom===!0&&n.isValid()},getNewRecords:function(){return[]},getUpdatedRecords:function(){return[]},getModifiedRecords:function(){return[].concat(this.getNewRecords(),this.getUpdatedRecords())},filterUpdated:function(n){return n.dirty===!0&&n.phantom!==!0&&n.isValid()},getRemovedRecords:function(){return this.removed},filter:function(){},decodeFilters:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var u=n.length,r=Ext.util.Filter,t,i=0;i<u;i++)t=n[i],t instanceof r||(Ext.apply(t,{root:"data"}),t.fn&&(t.filterFn=t.fn),typeof t=="function"&&(t={filterFn:t}),n[i]=new r(t));return n},clearFilter:function(){},isFiltered:function(){},filterBy:function(){},sync:function(n){var t=this,i={},u=t.getNewRecords(),f=t.getUpdatedRecords(),e=t.getRemovedRecords(),r=!1;return u.length>0&&(i.create=u,r=!0),f.length>0&&(i.update=f,r=!0),e.length>0&&(i.destroy=e,r=!0),r&&t.fireEvent("beforesync",i)!==!1&&(n=n||{},t.proxy.batch(Ext.apply(n,{operations:i,listeners:t.getBatchListeners()}))),t},getBatchListeners:function(){var n=this,t={scope:n,exception:n.onBatchException};return n.batchUpdateMode=="operation"?t.operationcomplete=n.onBatchOperationComplete:t.complete=n.onBatchComplete,t},save:function(){return this.sync.apply(this,arguments)},load:function(n){var t=this,i;return n=Ext.apply({action:"read",filters:t.filters.items,sorters:t.getSorters()},n),t.lastOptions=n,i=new Ext.data.Operation(n),t.fireEvent("beforeload",t,i)!==!1&&(t.loading=!0,t.proxy.read(i,t.onProxyLoad,t)),t},reload:function(n){return this.load(Ext.apply(this.lastOptions,n))},afterEdit:function(n,t){var i=this,r,u;if(i.autoSync&&!i.autoSyncSuspended){for(r=t.length;r--;)if(n.fields.get(t[r]).persist){u=!0;break}u&&i.sync()}i.onUpdate(n,Ext.data.Model.EDIT,t);i.fireEvent("update",i,n,Ext.data.Model.EDIT,t)},afterReject:function(n){this.onUpdate(n,Ext.data.Model.REJECT,null);this.fireEvent("update",this,n,Ext.data.Model.REJECT,null)},afterCommit:function(n,t){t||(t=null);this.onUpdate(n,Ext.data.Model.COMMIT,t);this.fireEvent("update",this,n,Ext.data.Model.COMMIT,t)},onUpdate:Ext.emptyFn,onIdChanged:function(n,t,i,r){this.fireEvent("idchanged",this,n,t,i,r)},destroyStore:function(){var t,n=this;n.isDestroyed||(n.clearListeners(),n.storeId&&Ext.data.StoreManager.unregister(n),n.clearData(),n.data=n.tree=n.sorters=n.filters=n.groupers=null,n.reader&&n.reader.destroyReader(),n.proxy=n.reader=n.writer=null,n.isDestroyed=!0,n.implicitModel?(t=Ext.getClassName(n.model),Ext.undefine(t),Ext.ModelManager.unregisterType(t)):n.model=null)},getState:function(){var n=this,i,t,e=!!n.groupers,r=[],u=[],f=[];return e&&n.groupers.each(function(n){r[r.length]=n.serialize();i=!0}),n.sorters&&n.sorters.each(function(t){e&&!n.groupers.contains(t)&&(u[u.length]=t.serialize(),i=!0)}),n.filters&&n.statefulFilters&&n.filters.each(function(n){f[f.length]=n.serialize();i=!0}),i?(t={},r.length&&(t.groupers=r),u.length&&(t.sorters=u),f.length&&(t.filters=f),t):void 0},applyState:function(n){var t=this,i=!!t.sorters,r=!!t.groupers,u=!!t.filters,f;r&&n.groupers&&(t.groupers.clear(),t.groupers.addAll(t.decodeGroupers(n.groupers)));i&&n.sorters&&(t.sorters.clear(),t.sorters.addAll(t.decodeSorters(n.sorters)));u&&n.filters&&(t.filters.clear(),t.filters.addAll(t.decodeFilters(n.filters)));i&&r&&t.sorters.insert(0,t.groupers.getRange());t.autoLoad&&(t.remoteSort||t.remoteGroup||t.remoteFilter)&&(t.autoLoad===!0?t.reload():t.reload(t.autoLoad));u&&t.filters.length&&!t.remoteFilter&&(t.filter(),f=t.sortOnFilter);i&&t.sorters.length&&!t.remoteSort&&!f&&t.sort()},doSort:function(n){var t=this;t.remoteSort?t.load():(t.data.sortBy(n),t.fireEvent("datachanged",t),t.fireEvent("refresh",t));t.fireEvent("sort",t,t.sorters.getRange())},clearData:Ext.emptyFn,getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return!!this.loading},suspendAutoSync:function(){this.autoSyncSuspended=!0},resumeAutoSync:function(){this.autoSyncSuspended=!1}},1,0,0,0,0,[["observable",Ext.util.Observable],["sortable",Ext.util.Sortable]],[Ext.data,"AbstractStore"],0);Ext.cmd.derive("Ext.app.domain.Store",Ext.app.EventDomain,{singleton:!0,type:"store",idProperty:"storeId",constructor:function(){var n=this;n.callParent();n.monitor(Ext.data.AbstractStore)}},1,0,0,0,0,0,[Ext.app.domain,"Store"],0);Ext.cmd.derive("Ext.app.Controller",Ext.Base,{statics:{strings:{model:{getter:"getModel",upper:"Model"},view:{getter:"getView",upper:"View"},controller:{getter:"getController",upper:"Controller"},store:{getter:"getStore",upper:"Store"}},controllerRegex:/^(.*)\.controller\./,createGetter:function(n,t){return function(){return this[n](t)}},getGetterName:function(n,t){for(var r="get",u=n.split("."),f=u.length,i=0;i<f;i++)r+=Ext.String.capitalize(u[i]);return r+t},processDependencies:function(n,t,i,r,u){if(u&&u.length){var f=this,h=f.strings[r],o,c,l,s,e,a,v,y;for(Ext.isArray(u)||(u=[u]),e=0,a=u.length;e<a;e++)s=u[e],o=f.getFullName(s,r,i),c=o.absoluteName,l=o.shortName,t.push(c),v=f.getGetterName(l,h.upper),n[v]=y=f.createGetter(h.getter,s),r!=="controller"&&(y["Ext.app.getter"]=!0)}},getFullName:function(n,t,i){var u=n,f,r;return(f=n.indexOf("@"))>0?(u=n.substring(0,f),r=n.substring(f+1)+"."+u):n.indexOf(".")>0&&(Ext.ClassManager.isCreated(n)||Ext.Loader.isAClassNameWithAKnownPrefix(n))?r=n:i?(r=i+"."+t+"."+n,u=n):r=n,{absoluteName:r,shortName:u}}},application:null,onClassExtended:function(n,t,i){var r=i.onBeforeCreated;i.onBeforeCreated=function(n,t){var f=Ext.app.Controller,h=f.controllerRegex,e=[],o,i,u,s;u=n.prototype;o=Ext.getClassName(n);i=t.$namespace||Ext.app.getNamespace(o)||(s=h.exec(o))&&s[1];i&&(u.$namespace=i);f.processDependencies(u,e,i,"model",t.models);f.processDependencies(u,e,i,"view",t.views);f.processDependencies(u,e,i,"store",t.stores);f.processDependencies(u,e,i,"controller",t.controllers);Ext.require(e,Ext.Function.pass(r,arguments,this))}},constructor:function(n){var t=this;t.mixins.observable.constructor.call(t,n);t.refs&&t.ref(t.refs);t.eventbus=Ext.app.EventBus;t.initAutoGetters()},initAutoGetters:function(){var t=this.self.prototype,i,n;for(i in t)n=t[i],n&&n["Ext.app.getter"]&&n.call(this)},doInit:function(n){var t=this;t._initialized||(t.init(n),t._initialized=!0)},finishInit:function(n){var r=this,t=r.controllers,u,i,f;if(r._initialized&&t&&t.length)for(i=0,f=t.length;i<f;i++)u=r.getController(t[i]),u.finishInit(n)},init:Ext.emptyFn,onLaunch:Ext.emptyFn,ref:function(n){var t=this,r=0,e=n.length,u,i,f;for(n=Ext.Array.from(n),t.references=t.references||[];r<e;r++)u=n[r],i=u.ref,f="get"+Ext.String.capitalize(i),t[f]||(t[f]=Ext.Function.pass(t.getRef,[i,u],t)),t.references.push(i.toLowerCase())},addRef:function(n){this.ref(n)},getRef:function(n,t,i){var f=this,u=f.refCache||(f.refCache={}),r=u[n];if(t=t||{},i=i||{},Ext.apply(t,i),t.forceCreate)return Ext.ComponentManager.create(t,"component");if(!r&&(t.selector&&(u[n]=r=Ext.ComponentQuery.query(t.selector)[0]),!r&&t.autoCreate&&(u[n]=r=Ext.ComponentManager.create(t,"component")),r))r.on("beforedestroy",function(){u[n]=null});return r},hasRef:function(n){var t=this.references;return t&&Ext.Array.indexOf(t,n.toLowerCase())!==-1},control:function(n,t,i){var u=this,f=i,r;Ext.isString(n)?(r={},r[n]=t):(r=n,f=t);u.eventbus.control(r,f||u)},listen:function(n,t){this.eventbus.listen(n,t||this)},getController:function(n){var t=this,i=t.application;return n===t.id?t:i&&i.getController(n)},getStore:function(n){var i,t;return i=n.indexOf("@")==-1?n:n.split("@")[0],t=Ext.StoreManager.get(i),t||(n=Ext.app.Controller.getFullName(n,"store",this.$namespace),n&&(t=Ext.create(n.absoluteName,{storeId:i}))),t},getModel:function(n){var t=Ext.app.Controller.getFullName(n,"model",this.$namespace);return t&&Ext.ModelManager.getModel(t.absoluteName)},getView:function(n){var t=Ext.app.Controller.getFullName(n,"view",this.$namespace);return t&&Ext.ClassManager.get(t.absoluteName)},getApplication:function(){return this.application}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.app,"Controller"],0);Ext.cmd.derive("Ext.container.DockingContainer",Ext.Base,{isDockingContainer:!0,defaultDockWeights:{top:{render:1,visual:1},left:{render:3,visual:5},right:{render:5,visual:7},bottom:{render:7,visual:3}},dockOrder:{top:-1,left:-1,right:1,bottom:1},horizontalDocks:0,addDocked:function(n,t){var i=this,u=0,r,f;for(n=i.prepareItems(n),f=n.length;u<f;u++){r=n[u];r.dock=r.dock||"top";(r.dock==="left"||r.dock==="right")&&i.horizontalDocks++;t!==undefined?(u+=t,i.dockedItems.insert(u,r)):i.dockedItems.add(r);r.onAdded(i,u);if(i.hasListeners.dockedadd&&i.fireEvent("dockedadd",i,r,u),i.onDockedAdd!==Ext.emptyFn)i.onDockedAdd(r)}return i.rendered&&!i.suspendLayout&&i.updateLayout(),n},destroyDockedItems:function(){var n=this.dockedItems,t;if(n)while(t=n.first())this.removeDocked(t,!0)},doRenderDockedItems:function(n,t,i){var e=t.$comp,r=e.componentLayout,u,f;r.getDockedItems&&!t.$skipDockedItems&&(u=r.getDockedItems("render",!i),f=u&&r.getItemsRenderTree(u),f&&Ext.DomHelper.generateMarkup(f,n))},getDockedComponent:function(n){return Ext.isObject(n)&&(n=n.getItemId()),this.dockedItems.get(n)},getDockedItems:function(n,t){var i=this.getComponentLayout().getDockedItems("render",t);return n&&i.length&&(i=Ext.ComponentQuery.query(n,i)),i},getDockingRefItems:function(n,t){var r=n&&"*,* *",i=this.getDockedItems(r,!0),u;return i.push.apply(i,t),u=this.getDockedItems(r,!1),i.push.apply(i,u),i},initDockingItems:function(){var n=this,t=n.dockedItems;n.dockedItems=new Ext.util.AbstractMixedCollection(!1,n.getComponentId);t&&n.addDocked(t)},insertDocked:function(n,t){this.addDocked(t,n)},onDockedAdd:Ext.emptyFn,onDockedRemove:Ext.emptyFn,removeDocked:function(n,t){var i=this,r,u;if(t=t===!0||t!==!1&&i.autoDestroy,!i.dockedItems.contains(n))return n;if((n.dock==="left"||n.dock==="right")&&i.horizontalDocks--,r=i.componentLayout,u=r&&i.rendered,u)r.onRemove(n);i.dockedItems.remove(n);n.onRemoved(n.destroying||t);i.onDockedRemove(n);return t?n.destroy():u&&r.afterRemove(n),i.hasListeners.dockedremove&&i.fireEvent("dockedremove",i,n),i.destroying||i.suspendLayout||i.updateLayout(),n},setupDockingRenderTpl:function(n){n.renderDockedItems=this.doRenderDockedItems}},0,0,0,0,0,0,[Ext.container,"DockingContainer"],0);Ext.cmd.derive("Ext.toolbar.Fill",Ext.Component,{alternateClassName:"Ext.Toolbar.Fill",isFill:!0,flex:1},0,["tbfill"],["component","box","tbfill"],{component:!0,box:!0,tbfill:!0},["widget.tbfill"],0,[Ext.toolbar,"Fill",Ext.Toolbar,"Fill"],0);Ext.cmd.derive("Ext.layout.container.boxOverflow.None",Ext.Base,{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(n,t){this.layout=n;Ext.apply(this,t)},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,beginLayout:Ext.emptyFn,beginLayoutCycle:Ext.emptyFn,calculate:function(n){var i=this,r=n.state.boxPlan,t;r&&r.tooNarrow?(t=i.handleOverflow(n),t&&t.reservedSpace&&i.layout.publishInnerCtSize(n,t.reservedSpace)):i.clearOverflow()},completeLayout:Ext.emptyFn,finishedLayout:function(){var n=this,i=n.layout.owner,r,t;i.hasListeners.overflowchange&&(r=i.query(">[hidden]"),t=r.length,t!==n.lastHiddenCount&&(i.fireEvent("overflowchange",n.lastHiddenCount,t,r),n.lastHiddenCount=t))},onRemove:Ext.emptyFn,getItem:function(n){return this.layout.owner.getComponent(n)},getOwnerType:function(n){return n.isToolbar?"toolbar":n.isTabBar?"tabbar":n.isMenu?"menu":n.getXType()},getPrefixConfig:Ext.emptyFn,getSuffixConfig:Ext.emptyFn,getOverflowCls:function(){return""}},1,0,0,0,0,0,[Ext.layout.container.boxOverflow,"None",Ext.layout.boxOverflow,"None"],0);Ext.cmd.derive("Ext.toolbar.Item",Ext.Component,{alternateClassName:"Ext.Toolbar.Item",enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn},0,["tbitem"],["tbitem","component","box"],{tbitem:!0,component:!0,box:!0},["widget.tbitem"],0,[Ext.toolbar,"Item",Ext.Toolbar,"Item"],0);Ext.cmd.derive("Ext.toolbar.Separator",Ext.toolbar.Item,{alternateClassName:"Ext.Toolbar.Separator",baseCls:Ext.baseCSSPrefix+"toolbar-separator",focusable:!1},0,["tbseparator"],["tbitem","component","box","tbseparator"],{tbitem:!0,component:!0,box:!0,tbseparator:!0},["widget.tbseparator"],0,[Ext.toolbar,"Separator",Ext.Toolbar,"Separator"],0);Ext.cmd.derive("Ext.button.Manager",Ext.Base,{singleton:!0,alternateClassName:"Ext.ButtonToggleManager",groups:{},pressedButton:null,buttonSelector:"."+Ext.baseCSSPrefix+"btn",init:function(){var n=this;if(!n.initialized){Ext.getDoc().on({keydown:n.onDocumentKeyDown,mouseup:n.onDocumentMouseUp,scope:n});n.initialized=!0}},onDocumentKeyDown:function(n){var i=n.getKey(),t;if((i===n.SPACE||i===n.ENTER)&&(t=n.getTarget(this.buttonSelector),t))Ext.getCmp(t.id).onClick(n)},onButtonMousedown:function(n,t){var i=this.pressedButton;if(i)i.onMouseUp(t);this.pressedButton=n},onDocumentMouseUp:function(n){var t=this.pressedButton;if(t){t.onMouseUp(n);this.pressedButton=null}},toggleGroup:function(n,t){if(t)for(var r=this.groups[n.toggleGroup],u=r.length,i=0;i<u;i++)r[i]!==n&&r[i].toggle(!1)},register:function(n){var t=this,r=this.groups,i=r[n.toggleGroup];if(t.init(),n.toggleGroup){i||(i=r[n.toggleGroup]=[]);i.push(n);n.on("toggle",t.toggleGroup,t)}},unregister:function(n){if(n.toggleGroup){var t=this,i=t.groups[n.toggleGroup];i&&(Ext.Array.remove(i,n),n.un("toggle",t.toggleGroup,t))}},getPressed:function(n){var t=this.groups[n],i=0,r;if(t)for(r=t.length;i<r;i++)if(t[i].pressed===!0)return t[i];return null}},0,0,0,0,0,0,[Ext.button,"Manager",Ext,"ButtonToggleManager"],0);Ext.cmd.derive("Ext.menu.Manager",Ext.Base,{singleton:!0,alternateClassName:"Ext.menu.MenuMgr",menuSelector:"."+Ext.baseCSSPrefix+"menu",menus:{},groups:{},attached:!1,lastShow:new Date,init:function(){var n=this;n.active=new Ext.util.MixedCollection;Ext.getDoc().addKeyListener(27,function(){n.active.length>0&&n.hideAll()},n)},hideAll:function(){var t=this.active,i,n,r;if(t&&t.length>0){for(i=Ext.Array.slice(t.items),r=i.length,n=0;n<r;n++)i[n].hide();return!0}return!1},onHide:function(n){var t=this,i=t.active;i.remove(n);i.length<1&&(Ext.getDoc().un("mousedown",t.onMouseDown,t),t.attached=!1)},onShow:function(n){var t=this,i=t.active,r=t.attached;if(t.lastShow=new Date,i.add(n),!r){Ext.getDoc().on("mousedown",t.onMouseDown,t,{buffer:Ext.isIE9m?10:undefined});t.attached=!0}n.toFront()},onBeforeHide:function(n){n.activeChild&&n.activeChild.hide();n.autoHideTimer&&(clearTimeout(n.autoHideTimer),delete n.autoHideTimer)},onBeforeShow:function(n){var i=this.active,t=n.parentMenu;i.remove(n);t||n.allowOtherMenus?t&&t.activeChild&&n!=t.activeChild&&t.activeChild.hide():this.hideAll()},onMouseDown:function(n){var t=this,r=t.active,u=t.lastShow,i=!0;Ext.Date.getElapsed(u)>50&&r.length>0&&!n.getTarget(t.menuSelector)&&(Ext.isIE9m&&!Ext.getDoc().contains(n.target)&&(i=!1),i&&t.hideAll())},register:function(n){var t=this;if(t.active||t.init(),n.floating){t.menus[n.id]=n;n.on({beforehide:t.onBeforeHide,hide:t.onHide,beforeshow:t.onBeforeShow,show:t.onShow,scope:t})}},get:function(n){var t=this.menus;return typeof n=="string"?t?t[n]:null:n.isMenu?n:Ext.isArray(n)?new Ext.menu.Menu({items:n}):Ext.ComponentManager.create(n,"menu")},unregister:function(n){var t=this,i=t.menus,r=t.active;delete i[n.id];r.remove(n);n.un({beforehide:t.onBeforeHide,hide:t.onHide,beforeshow:t.onBeforeShow,show:t.onShow,scope:t})},registerCheckable:function(n){var i=this.groups,t=n.group;t&&(i[t]||(i[t]=[]),i[t].push(n))},unregisterCheckable:function(n){var i=this.groups,t=n.group;t&&Ext.Array.remove(i[t],n)},onCheckChange:function(n,t){var o=this.groups,f=n.group,i=0,r,e,u;if(f&&t)for(r=o[f],e=r.length;i<e;i++)u=r[i],u!=n&&u.setChecked(!1)}},0,0,0,0,0,0,[Ext.menu,"Manager",Ext.menu,"MenuMgr"],0);Ext.cmd.derive("Ext.util.ClickRepeater",Ext.util.Observable,{constructor:function(n,t){var i=this;if(i.el=Ext.get(n),i.el.unselectable(),Ext.apply(i,t),i.callParent(),i.addEvents("mousedown","click","mouseup"),i.disabled||(i.disabled=!0,i.enable()),i.handler)i.on("click",i.handler,i.scope||i)},interval:20,delay:250,preventDefault:!0,stopDefault:!1,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE&&!(Ext.isIE10p||Ext.isStrict&&Ext.isIE9))this.el.on("dblclick",this.handleDblClick,this);if(this.preventDefault||this.stopDefault)this.el.on("click",this.eventOptions,this)}this.disabled=!1},disable:function(n){(n||!this.disabled)&&(clearTimeout(this.timer),this.pressedCls&&this.el.removeCls(this.pressedCls),Ext.getDoc().un("mouseup",this.handleMouseUp,this),this.el.removeAllListeners());this.disabled=!0},setDisabled:function(n){this[n?"disable":"enable"]()},eventOptions:function(n){this.preventDefault&&n.preventDefault();this.stopDefault&&n.stopEvent()},destroy:function(){this.disable(!0);Ext.destroy(this.el);this.clearListeners()},handleDblClick:function(n){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,n);this.fireEvent("click",this,n)},handleMouseDown:function(n){clearTimeout(this.timer);this.el.blur();this.pressedCls&&this.el.addCls(this.pressedCls);this.mousedownTime=new Date;Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,n);this.fireEvent("click",this,n);this.accelerate&&(this.delay=400);n=new Ext.EventObjectImpl(n);this.timer=Ext.defer(this.click,this.delay||this.interval,this,[n])},click:function(n){this.fireEvent("click",this,n);this.timer=Ext.defer(this.click,this.accelerate?this.easeOutExpo(Ext.Date.getElapsed(this.mousedownTime),400,-390,12e3):this.interval,this,[n])},easeOutExpo:function(n,t,i,r){return n==r?t+i:i*(-Math.pow(2,-10*n/r)+1)+t},handleMouseOut:function(){clearTimeout(this.timer);this.pressedCls&&this.el.removeCls(this.pressedCls);this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);this.pressedCls&&this.el.addCls(this.pressedCls);this.click()},handleMouseUp:function(n){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.pressedCls&&this.el.removeCls(this.pressedCls);this.fireEvent("mouseup",this,n)}},1,0,0,0,0,0,[Ext.util,"ClickRepeater"],0);Ext.cmd.derive("Ext.layout.component.Button",Ext.layout.component.Auto,{type:"button",htmlRE:/<.*>/,beginLayout:function(n){var t=this,i=t.owner,r=i.text;t.callParent(arguments);n.btnWrapContext=n.getEl("btnWrap");n.btnElContext=n.getEl("btnEl");n.btnInnerElContext=n.getEl("btnInnerEl");n.btnIconElContext=n.getEl("btnIconEl");r&&t.htmlRE.test(r)&&(n.isHtmlText=!0,i.btnInnerEl.setStyle("line-height","normal"),i.btnInnerEl.setStyle("padding-top",""))},beginLayoutCycle:function(n){var t=this.owner,i=this.lastWidthModel;this.callParent(arguments);i&&!this.lastWidthModel.shrinkWrap&&n.widthModel.shrinkWrap&&(t.btnWrap.setStyle("height",""),t.btnEl.setStyle("height",""),t.btnInnerEl.setStyle("line-height",""))},calculate:function(n){var r=this,t=r.owner,c=n.btnElContext,s=n.btnInnerElContext,h=n.btnWrapContext,f=Math.max,u,e,i,o;r.callParent(arguments);n.heightModel.shrinkWrap?(i=t.btnEl.getHeight(),n.isHtmlText&&(r.centerInnerEl(n,i),r.ieCenterIcon(n,i))):(u=n.getProp("height"),u?(e=u-n.getFrameInfo().height-n.getPaddingInfo().height,i=e,(t.menu||t.split)&&t.arrowAlign==="bottom"&&(i-=h.getPaddingInfo().bottom),o=i,(t.icon||t.iconCls||t.glyph)&&(t.iconAlign==="top"||t.iconAlign==="bottom")&&(o-=s.getPaddingInfo().height),h.setProp("height",f(0,e)),c.setProp("height",f(0,i)),n.isHtmlText?r.centerInnerEl(n,i):s.setProp("line-height",f(0,o)+"px"),r.ieCenterIcon(n,i)):u!==0&&(r.done=!1))},centerInnerEl:function(n,t){var u=this,r=n.btnInnerElContext,i=u.owner.btnInnerEl.getHeight();n.heightModel.shrinkWrap&&t<i?n.btnElContext.setHeight(i):t>i&&r.setProp("padding-top",Math.round((t-i)/2)+r.getPaddingInfo().top)},ieCenterIcon:function(n,t){var i=this.owner.iconAlign;(Ext.isIEQuirks||Ext.isIE6)&&(i==="left"||i==="right")&&n.btnIconElContext.setHeight(t)},publishInnerWidth:function(n,t){this.owner.getFrameInfo().table&&n.btnInnerElContext.setWidth(t-n.getFrameInfo().width-n.getPaddingInfo().width-n.btnWrapContext.getPaddingInfo().width)}},0,0,0,0,["layout.button"],0,[Ext.layout.component,"Button"],0);Ext.cmd.derive("Ext.util.TextMetrics",Ext.Base,{statics:{shared:null,measure:function(n,t,i){var u=this,r=u.shared;return r||(r=u.shared=new u(n,i)),r.bind(n),r.setFixedWidth(i||"auto"),r.getSize(t)},destroy:function(){var n=this;Ext.destroy(n.shared);n.shared=null}},constructor:function(n,t){var r=this,i=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"textmetrics"});r.measure=i;n&&r.bind(n);i.position("absolute");i.setLocalXY(-1e3,-1e3);i.hide();t&&i.setWidth(t)},getSize:function(n){var t=this.measure,i;return t.update(n),i=t.getSize(),t.update(""),i},bind:function(n){var t=this;t.el=Ext.get(n);t.measure.setStyle(t.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(n){this.measure.setWidth(n)},getWidth:function(n){return this.measure.dom.style.width="auto",this.getSize(n).width},getHeight:function(n){return this.getSize(n).height},destroy:function(){var n=this;n.measure.remove();delete n.el;delete n.measure}},1,0,0,0,0,0,[Ext.util,"TextMetrics"],function(){Ext.Element.addMethods({getTextWidth:function(n,t,i){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(n,this.dom.innerHTML,!0)).width,t||0,i||1e6)}})});Ext.cmd.derive("Ext.button.Button",Ext.Component,{alternateClassName:"Ext.Button",isButton:!0,componentLayout:"button",hidden:!1,disabled:!1,pressed:!1,tabIndex:0,enableToggle:!1,menuAlign:"tl-bl?",showEmptyMenu:!1,textAlign:"center",clickEvent:"click",preventDefault:!0,handleMouseEvents:!0,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",hrefTarget:"_blank",childEls:["btnEl","btnWrap","btnInnerEl","btnIconEl"],renderTpl:['<span id="{id}-btnWrap" class="{baseCls}-wrap','<tpl if="splitCls"> {splitCls}<\/tpl>','{childElCls}" unselectable="on">','<span id="{id}-btnEl" class="{baseCls}-button">','<span id="{id}-btnInnerEl" class="{baseCls}-inner {innerCls}','{childElCls}" unselectable="on">',"{text}","<\/span>",'<span role="img" id="{id}-btnIconEl" class="{baseCls}-icon-el {iconCls}','{childElCls} {glyphCls}" unselectable="on" style="','<tpl if="iconUrl">background-image:url({iconUrl});<\/tpl>','<tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};<\/tpl>">','<tpl if="glyph">&#{glyph};<\/tpl><tpl if="iconCls || iconUrl">&#160;<\/tpl>',"<\/span>","<\/span>","<\/span>",'<tpl if="closable">','<span id="{id}-closeEl" class="{baseCls}-close-btn" title="{closeText}" tabIndex="0"><\/span>',"<\/tpl>"],scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:!1,shrinkWrap:3,frame:!0,_triggerRegion:{},initComponent:function(){var n=this;n.autoEl={tag:"a",role:"button",hidefocus:"on",unselectable:"on"};n.addCls("x-unselectable");n.callParent(arguments);n.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout","textchange","iconchange","glyphchange");n.menu&&(n.split=!0,n.menu=Ext.menu.Manager.get(n.menu),n.menu.ownerButton=n);n.url&&(n.href=n.url);n.href&&!n.hasOwnProperty("preventDefault")&&(n.preventDefault=!1);Ext.isString(n.toggleGroup)&&n.toggleGroup!==""&&(n.enableToggle=!0);n.html&&!n.text&&(n.text=n.html,delete n.html);n.glyphCls=n.baseCls+"-glyph"},getActionEl:function(){return this.el},getFocusEl:function(){return this.el},onDisable:function(){this.callParent(arguments)},setComponentCls:function(){var n=this,t=n.getComponentCls();Ext.isEmpty(n.oldCls)||(n.removeClsWithUI(n.oldCls),n.removeClsWithUI(n.pressedCls));n.oldCls=t;n.addClsWithUI(t)},getComponentCls:function(){var n=this,t;return t=n.iconCls||n.icon||n.glyph?[n.text?"icon-text-"+n.iconAlign:"icon"]:n.text?["noicon"]:[],n.pressed&&(t[t.length]=n.pressedCls),t},beforeRender:function(){var n=this,t=n.autoEl,i=n.getHref(),r=n.hrefTarget;n.disabled||(t.tabIndex=n.tabIndex);i&&(t.href=i,r&&(t.target=r));n.callParent();n.oldCls=n.getComponentCls();n.addClsWithUI(n.oldCls);Ext.applyIf(n.renderData,n.getTemplateArgs())},onRender:function(){var n=this,r,i,t;n.doc=Ext.getDoc();n.callParent(arguments);i=n.el;n.tooltip&&n.setTooltip(n.tooltip,!0);n.handleMouseEvents?(t={scope:n,mouseover:n.onMouseOver,mouseout:n.onMouseOut,mousedown:n.onMouseDown},n.split&&(t.mousemove=n.onMouseMove)):t={scope:n};n.menu&&(n.mon(n.menu,{scope:n,show:n.onMenuShow,hide:n.onMenuHide}),n.keyMap=new Ext.util.KeyMap({target:n.el,key:Ext.EventObject.DOWN,handler:n.onDownKey,scope:n}));n.repeat?n.mon(new Ext.util.ClickRepeater(i,Ext.isObject(n.repeat)?n.repeat:{}),"click",n.onRepeatClick,n):t[n.clickEvent]?r=!0:t[n.clickEvent]=n.onClick;n.mon(i,t);r&&n.mon(i,n.clickEvent,n.onClick,n);Ext.button.Manager.register(n)},getTemplateArgs:function(){var n=this,t=n.glyph,r=Ext._glyphFontFamily,i;return typeof t=="string"&&(i=t.split("@"),t=i[0],r=i[1]),{innerCls:n.getInnerCls(),splitCls:n.getSplitCls(),iconUrl:n.icon,iconCls:n.iconCls,glyph:t,glyphCls:t?n.glyphCls:"",glyphFontFamily:r,text:n.text||"&#160;"}},setHref:function(n){this.href=n;this.el.dom.href=this.getHref()},getHref:function(){var n=this,t=n.href;return t?Ext.urlAppend(t,Ext.Object.toQueryString(Ext.apply({},n.params,n.baseParams))):!1},setParams:function(n){this.params=n;this.el.dom.href=this.getHref()},getSplitCls:function(){var n=this;return n.split?n.baseCls+"-"+n.arrowCls+" "+(n.baseCls+"-"+n.arrowCls+"-"+n.arrowAlign):""},getInnerCls:function(){return this.textAlign?this.baseCls+"-inner-"+this.textAlign:""},setIcon:function(n){n=n||"";var t=this,r=t.btnIconEl,i=t.icon||"";return t.icon=n,n!=i&&(r&&(r.setStyle("background-image",n?"url("+n+")":""),t.setComponentCls(),t.didIconStateChange(i,n)&&t.updateLayout()),t.fireEvent("iconchange",t,i,n)),t},setIconCls:function(n){n=n||"";var t=this,r=t.btnIconEl,i=t.iconCls||"";return t.iconCls=n,i!=n&&(r&&(r.removeCls(i),r.addCls(n),t.setComponentCls(),t.didIconStateChange(i,n)&&t.updateLayout()),t.fireEvent("iconchange",t,i,n)),t},setGlyph:function(n){n=n||0;var t=this,i=t.btnIconEl,f=t.glyph,r,u;return t.glyph=n,i&&(typeof n=="string"&&(u=n.split("@"),n=u[0],r=u[1]||Ext._glyphFontFamily),n?f!=n&&(i.dom.innerHTML="&#"+n+";"):i.dom.innerHTML="",r&&i.setStyle("font-family",r)),t.fireEvent("glyphchange",t,t.glyph,f),t},setTooltip:function(n,t){var i=this;return i.rendered?(t&&n||i.clearTip(),n&&(Ext.quickTipsActive&&Ext.isObject(n)?(Ext.tip.QuickTipManager.register(Ext.apply({target:i.el.id},n)),i.tooltip=n):i.el.dom.setAttribute(i.getTipAttr(),n))):i.tooltip=n,i},setTextAlign:function(n){var t=this,i=t.btnEl;return i&&(i.removeCls(t.baseCls+"-inner-"+t.textAlign),i.addCls(t.baseCls+"-inner-"+n)),t.textAlign=n,t},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(n){var t=this.menu,i;return t&&(i=t.getRefItems(n),i.unshift(t)),i||[]},clearTip:function(){var n=this,t=n.el;Ext.quickTipsActive&&Ext.isObject(n.tooltip)?Ext.tip.QuickTipManager.unregister(t):t.dom.removeAttribute(n.getTipAttr())},beforeDestroy:function(){var n=this;n.rendered&&n.clearTip();n.menu&&n.destroyMenu!==!1&&Ext.destroy(n.menu);Ext.destroy(n.btnInnerEl,n.repeater);n.callParent()},onDestroy:function(){var n=this;n.rendered&&(n.doc.un("mouseover",n.monitorMouseOver,n),delete n.doc,Ext.destroy(n.keyMap),delete n.keyMap);Ext.button.Manager.unregister(n);n.callParent()},setHandler:function(n,t){return this.handler=n,this.scope=t,this},setText:function(n){n=n||"";var t=this,i=t.text||"";return n!=i&&(t.text=n,t.rendered&&(t.btnInnerEl.update(n||"&#160;"),t.setComponentCls(),Ext.isStrict&&Ext.isIE8&&t.el.repaint(),t.updateLayout()),t.fireEvent("textchange",t,i,n)),t},didIconStateChange:function(n,t){var i=Ext.isEmpty(t);return Ext.isEmpty(n)?!i:i},getText:function(){return this.text},toggle:function(n,t){var i=this;return n=n===undefined?!i.pressed:!!n,n!==i.pressed&&(i.rendered&&i[n?"addClsWithUI":"removeClsWithUI"](i.pressedCls),i.pressed=n,t||(i.fireEvent("toggle",i,n),Ext.callback(i.toggleHandler,i.scope||i,[i,n]))),i},maybeShowMenu:function(){var n=this;!n.menu||n.hasVisibleMenu()||n.ignoreNextClick||n.showMenu(!0)},showMenu:function(n){var t=this,i=t.menu;return t.rendered&&(t.tooltip&&Ext.quickTipsActive&&t.getTipAttr()!="title"&&Ext.tip.QuickTipManager.getQuickTip().cancelShow(t.el),i.isVisible()&&i.hide(),(!n||t.showEmptyMenu||i.items.getCount()>0)&&i.showBy(t.el,t.menuAlign)),t},hideMenu:function(){return this.hasVisibleMenu()&&this.menu.hide(),this},hasVisibleMenu:function(){var n=this.menu;return n&&n.rendered&&n.isVisible()},onRepeatClick:function(n,t){this.onClick(t)},onClick:function(n){var t=this;((t.preventDefault||t.disabled&&t.getHref()&&n)&&n.preventDefault(),n.type==="keydown"||n.button===0)&&(t.disabled||(t.doToggle(),t.maybeShowMenu(),t.fireHandler(n)))},fireHandler:function(n){var t=this,i=t.handler;t.fireEvent("click",t,n)!==!1&&i&&i.call(t.scope||t,t,n)},doToggle:function(){var n=this;n.enableToggle&&(n.allowDepress!==!1||!n.pressed)&&n.toggle()},onMouseOver:function(n){var t=this;if(!t.disabled&&!n.within(t.el,!0,!0))t.onMouseEnter(n)},onMouseOut:function(n){var t=this;if(!n.within(t.el,!0,!0)){if(t.overMenuTrigger)t.onMenuTriggerOut(n);t.onMouseLeave(n)}},onMouseMove:function(n){var t=this,f=t.el,u=t.overMenuTrigger,i,r;if(t.split)if(i=t.arrowAlign==="right"?n.getX()-t.getX():n.getY()-f.getY(),r=t.getTriggerRegion(),i>r.begin&&i<r.end){if(!u)t.onMenuTriggerOver(n)}else if(u)t.onMenuTriggerOut(n)},getTriggerRegion:function(){var n=this,t=n._triggerRegion,r=n.getTriggerSize(),i=n.arrowAlign==="right"?n.getWidth():n.getHeight();return t.begin=i-r,t.end=i,t},getTriggerSize:function(){var n=this,t=n.triggerSize,i,r;return t==null&&(i=n.arrowAlign,r=i.charAt(0),t=n.triggerSize=n.el.getFrameWidth(r)+n.getBtnWrapFrameWidth(r),n.frameSize&&(t=n.triggerSize+=n.frameSize[i])),t},getBtnWrapFrameWidth:function(n){return this.btnWrap.getFrameWidth(n)},addOverCls:function(){this.disabled||this.addClsWithUI(this.overCls)},removeOverCls:function(){this.removeClsWithUI(this.overCls)},onMouseEnter:function(n){this.fireEvent("mouseover",this,n)},onMouseLeave:function(n){this.fireEvent("mouseout",this,n)},onMenuTriggerOver:function(n){var t=this,i=t.arrowTooltip;t.overMenuTrigger=!0;t.split&&i&&t.btnWrap.dom.setAttribute(t.getTipAttr(),i);t.fireEvent("menutriggerover",t,t.menu,n)},onMenuTriggerOut:function(n){var t=this;delete t.overMenuTrigger;t.split&&t.arrowTooltip&&t.btnWrap.dom.setAttribute(t.getTipAttr(),"");t.fireEvent("menutriggerout",t,t.menu,n)},enable:function(){var n=this;return n.callParent(arguments),n.removeClsWithUI("disabled"),n.rendered&&n.el.dom.setAttribute("tabIndex",n.tabIndex),n},disable:function(){var n=this;return n.callParent(arguments),n.addClsWithUI("disabled"),n.removeClsWithUI(n.overCls),n.rendered&&n.el.dom.removeAttribute("tabIndex"),n.btnInnerEl&&Ext.isIE7m&&n.btnInnerEl.repaint(),n},setScale:function(n){var t=this,i=t.ui.replace("-"+t.scale,"");if(!Ext.Array.contains(t.allowedScales,n))throw"#setScale: scale must be an allowed scale ("+t.allowedScales.join(", ")+")";t.scale=n;t.setUI(i)},setUI:function(n){var t=this;t.scale&&!n.match(t.scale)&&(n=n+"-"+t.scale);t.callParent([n])},onMouseDown:function(n){var t=this;if(Ext.isIE&&t.getFocusEl().focus(),!t.disabled&&n.button===0){Ext.button.Manager.onButtonMousedown(t,n);t.addClsWithUI(t.pressedCls)}},onMouseUp:function(n){var t=this;n.button===0&&(t.pressed||t.removeClsWithUI(t.pressedCls))},onMenuShow:function(){var n=this;n.ignoreNextClick=0;n.addClsWithUI(n.menuActiveCls);n.fireEvent("menushow",n,n.menu)},onMenuHide:function(){var n=this;n.removeClsWithUI(n.menuActiveCls);n.ignoreNextClick=Ext.defer(n.restoreClick,250,n);n.fireEvent("menuhide",n,n.menu);n.focus()},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(n,t){var i=this;if(i.menu&&!i.disabled)return i.showMenu(),t.stopEvent(),!1}},0,["button"],["button","component","box"],{button:!0,component:!0,box:!0},["widget.button"],[["queryable",Ext.Queryable]],[Ext.button,"Button",Ext,"Button"],0);Ext.cmd.derive("Ext.layout.container.boxOverflow.Menu",Ext.layout.container.boxOverflow.None,{alternateClassName:"Ext.layout.boxOverflow.Menu",noItemsMenuText:'<div class="'+Ext.baseCSSPrefix+'toolbar-no-items">(None)<\/div>',constructor:function(){var n=this;n.callParent(arguments);n.triggerButtonCls=n.triggerButtonCls||Ext.baseCSSPrefix+"box-menu-after";n.menuItems=[]},beginLayout:function(n){this.callParent(arguments);this.clearOverflow(n)},beginLayoutCycle:function(n,t){this.callParent(arguments);t||(this.clearOverflow(n),this.layout.cacheChildItems(n))},onRemove:function(n){Ext.Array.remove(this.menuItems,n)},getSuffixConfig:function(){var n=this,i=n.layout,t=i.owner,r=t.id;return n.menu=new Ext.menu.Menu({listeners:{scope:n,beforeshow:n.beforeMenuShow}}),n.menuTrigger=new Ext.button.Button({id:r+"-menu-trigger",cls:Ext.layout.container.Box.prototype.innerCls+" "+n.triggerButtonCls+" "+Ext.baseCSSPrefix+"toolbar-item",plain:t.usePlainButtons,ownerCt:t,ownerLayout:i,iconCls:Ext.baseCSSPrefix+n.getOwnerType(t)+"-more-icon",ui:t instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:n.menu,showEmptyMenu:!0,getSplitCls:function(){return""}}),n.menuTrigger.getRenderTree()},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},handleOverflow:function(n){var t=this,u=t.layout,i=u.names,f=n.state.boxPlan,r=[null,null];return t.showTrigger(n),t.layout.direction!=="vertical"&&(r[i.heightIndex]=(f.maxSize-t.menuTrigger[i.getHeight]())/2,t.menuTrigger.setPosition.apply(t.menuTrigger,r)),{reservedSpace:t.triggerTotalWidth}},captureChildElements:function(){var t=this,n=t.menuTrigger,i=t.layout.names;n.rendering&&(n.finishRender(),t.triggerTotalWidth=n[i.getWidth]()+n.el.getMargin(i.parallelMargins))},_asLayoutRoot:{isRoot:!0},clearOverflow:function(){var n=this,i=n.menuItems,t,r=0,f=i.length,u=n.layout.owner,e=n._asLayoutRoot;for(u.suspendLayouts(),n.captureChildElements(),n.hideTrigger(),u.resumeLayouts();r<f;r++)t=i[r],t.suspendLayouts(),t.show(),t.resumeLayouts(e);i.length=0},showTrigger:function(n){var t=this,o=t.layout,s=o.owner,h=o.names,v=h.x,c=h.width,y=n.state.boxPlan,l=y.targetSize[c],a=n.childItems,p=a.length,r=t.menuTrigger,u,f,i,e;for(r.suspendLayouts(),r.show(),r.resumeLayouts(t._asLayoutRoot),l-=t.triggerTotalWidth,s.suspendLayouts(),t.menuItems.length=0,i=0;i<p;i++)u=a[i],e=u.props,e[v]+e[c]>l&&(f=u.target,t.menuItems.push(f),f.hide());s.resumeLayouts()},hideTrigger:function(){var n=this.menuTrigger;n&&n.hide()},beforeMenuShow:function(n){var i=this,f=i.menuItems,r=0,o=f.length,t,u,e=function(n,t){return n.isXType("buttongroup")&&!(t instanceof Ext.toolbar.Separator)};for(n.suspendLayouts(),i.clearMenu(),n.removeAll();r<o;r++)(t=f[r],!r&&t instanceof Ext.toolbar.Separator)||(u&&(e(t,u)||e(u,t))&&n.add("-"),i.addComponentToMenu(n,t),u=t);n.items.length<1&&n.add(i.noItemsMenuText);n.resumeLayouts()},createMenuConfig:function(n,t){var r=this,i=Ext.apply({},n.initialConfig),u=n.toggleGroup;if(Ext.copyTo(i,n,["iconCls","icon","itemId","disabled","handler","scope","menu","tabIndex"]),Ext.apply(i,{text:n.overflowText||n.text,hideOnClick:t,destroyMenu:!1,listeners:{}}),n.isFormField?(i.value=n.getValue(),i.listeners.change=function(t,i){n.setValue(i)}):(u||n.enableToggle)&&Ext.apply(i,{hideOnClick:!1,group:u,checked:n.pressed,handler:function(t,i){n.onClick(i)}}),n.isButton&&!n.changeListenersAdded){n.on({textchange:r.onButtonAttrChange,iconchange:r.onButtonAttrChange,toggle:r.onButtonToggle});n.changeListenersAdded=!0}return delete i.margin,delete i.ownerCt,delete i.xtype,delete i.id,delete i.itemId,i},onButtonAttrChange:function(n){var t=n.overflowClone;t.suspendLayouts();t.setText(n.text);t.setIcon(n.icon);t.setIconCls(n.iconCls);t.resumeLayouts(!0)},onButtonToggle:function(n,t){n.overflowClone.checked!==t&&n.overflowClone.setChecked(t)},addComponentToMenu:function(n,t){var i=this,r,u,f;if(t instanceof Ext.toolbar.Separator)n.add("-");else if(t.isComponent)if(t.isXType("splitbutton"))t.overflowClone=n.add(i.createMenuConfig(t,!0));else if(t.isXType("button"))t.overflowClone=n.add(i.createMenuConfig(t,!t.menu));else if(t.isXType("buttongroup"))for(u=t.items.items,f=u.length,r=0;r<f;r++)i.addComponentToMenu(n,u[r]);else t.overflowClone=n.add(Ext.create(Ext.getClassName(t),i.createMenuConfig(t)))},clearMenu:function(){var t=this.menu,i,n,u,r;if(t&&t.items)for(i=t.items.items,u=i.length,n=0;n<u;n++)r=i[n],r.setMenu&&r.setMenu(null)},destroy:function(){var n=this.menuTrigger;n&&!this.layout.owner.items.contains(n)&&delete n.ownerCt;Ext.destroy(this.menu,n)}},1,0,0,0,0,0,[Ext.layout.container.boxOverflow,"Menu",Ext.layout.boxOverflow,"Menu"],0);Ext.cmd.derive("Ext.layout.container.boxOverflow.Scroller",Ext.layout.container.boxOverflow.None,{alternateClassName:"Ext.layout.boxOverflow.Scroller",animateScroll:!1,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(n,t){var i=this;i.layout=n;Ext.apply(i,t||{});i.mixins.observable.constructor.call(i);i.addEvents("scroll");i.scrollPosition=0;i.scrollSize=0},getPrefixConfig:function(){var n=this,i=n.layout,r=i.owner,t;return n.initCSSClasses(),t=Ext.layout.container.Box.prototype.innerCls+" "+n.beforeCtCls,r.plain&&(t+=" "+n.scrollerCls+"-plain"),{cls:t,cn:{id:r.id+i.names.beforeScrollerSuffix,cls:n.scrollerCls+" "+n.beforeScrollerCls,style:"display:none"}}},getSuffixConfig:function(){var n=this,t=n.layout,i=t.owner,r=Ext.layout.container.Box.prototype.innerCls+" "+n.afterCtCls;return i.plain&&(r+=" "+n.scrollerCls+"-plain"),{cls:r,cn:{id:i.id+t.names.afterScrollerSuffix,cls:n.scrollerCls+" "+n.afterScrollerCls,style:"display:none"}}},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},initCSSClasses:function(){var n=this,t=Ext.baseCSSPrefix,i=n.layout,r=i.names,u=r.beforeX,f=r.afterX,e=n.getOwnerType(i.owner);n.beforeCtCls=n.beforeCtCls||t+"box-scroller-"+u;n.afterCtCls=n.afterCtCls||t+"box-scroller-"+f;n.beforeScrollerCls=n.beforeScrollerCls||t+e+"-scroll-"+u;n.afterScrollerCls=n.afterScrollerCls||t+e+"-scroll-"+f},beginLayout:function(n){var t=this.layout;n.innerCtScrollPos=this.getScrollPosition();this.callParent(arguments)},completeLayout:function(n){var t=this,r=n.state.boxPlan,u=t.layout.names,i;r&&r.tooNarrow&&(i=n.childItems[n.childItems.length-1],t.scrollSize=i.props[u.x]+i.props[u.width],t.updateScrollButtons());this.callParent(arguments)},finishedLayout:function(n){var t=this,i=t.layout,r=Math.min(t.getMaxScrollPosition(),n.innerCtScrollPos);i.innerCt[i.names.setScrollLeft](r)},handleOverflow:function(){var n=this,t=n.layout.names.getWidth;return n.showScrollers(),{reservedSpace:n.beforeCt[t]()+n.afterCt[t]()}},captureChildElements:function(){var n=this,o=n.layout.owner.el,t,i,f,r,e,u;n.beforeCt||(u="-hover",r="-pressed",f=n.scrollerCls+u,e=n.scrollerCls+r,t=n.beforeScroller=o.getById(n.layout.owner.id+"-before-scroller"),i=n.afterScroller=o.getById(n.layout.owner.id+"-after-scroller"),n.beforeCt=t.up(""),n.afterCt=i.up(""),n.createWheelListener(),t.addClsOnOver(f),t.addClsOnOver(n.beforeScrollerCls+u),t.addClsOnClick(e),t.addClsOnClick(n.beforeScrollerCls+r),i.addClsOnOver(f),i.addClsOnOver(n.afterScrollerCls+u),i.addClsOnClick(e),i.addClsOnClick(n.afterScrollerCls+r),t.setVisibilityMode(Ext.Element.DISPLAY),i.setVisibilityMode(Ext.Element.DISPLAY),n.beforeRepeater=new Ext.util.ClickRepeater(t,{interval:n.scrollRepeatInterval,handler:n.scrollLeft,scope:n}),n.afterRepeater=new Ext.util.ClickRepeater(i,{interval:n.scrollRepeatInterval,handler:n.scrollRight,scope:n}))},createWheelListener:function(){var n=this;n.layout.innerCt.on({mousewheel:function(t){n.scrollBy(n.getWheelDelta(t)*n.wheelIncrement*-1,!1)},stopEvent:!0})},getWheelDelta:function(n){return n.getWheelDelta()},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){var n=this;n.captureChildElements();n.beforeScroller.show();n.afterScroller.show();n.layout.owner.addClsWithUI(n.layout.direction==="vertical"?"vertical-scroller":"scroller")},hideScrollers:function(){var n=this;n.beforeScroller!==undefined&&(n.beforeScroller.hide(),n.afterScroller.hide(),n.layout.owner.removeClsWithUI(n.layout.direction==="vertical"?"vertical-scroller":"scroller"))},destroy:function(){var n=this;Ext.destroy(n.beforeRepeater,n.afterRepeater,n.beforeScroller,n.afterScroller,n.beforeCt,n.afterCt)},scrollBy:function(n,t){this.scrollTo(this.getScrollPosition()+n,t)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){var n=this,r,u,f,e,t,i="-disabled";n.beforeScroller!=null&&n.afterScroller!=null&&(r=n.atExtremeBefore()?"addCls":"removeCls",u=n.atExtremeAfter()?"addCls":"removeCls",t=n.scrollerCls+i,f=[t,n.beforeScrollerCls+i],e=[t,n.afterScrollerCls+i],n.beforeScroller[r](f),n.afterScroller[u](e),n.scrolling=!1)},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,!1)},scrollRight:function(){this.scrollBy(this.scrollIncrement,!1)},getScrollPosition:function(){var n=this,t=n.layout;return isNaN(n.scrollPosition)?t.innerCt[t.names.getScrollLeft]():n.scrollPosition},getMaxScrollPosition:function(){var n=this,t=n.layout,i=n.scrollSize-t.innerCt[t.names.getWidth]();return i<0?0:i},atExtremeBefore:function(){return!this.getScrollPosition()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(n,t){var i=this,u=i.layout,f=u.names,e=i.getScrollPosition(),r=Ext.Number.constrain(n,0,i.getMaxScrollPosition());r==e||i.scrolling||(i.scrollPosition=NaN,t===undefined&&(t=i.animateScroll),u.innerCt[f.scrollTo](f.beforeScrollX,r,t?i.getScrollAnim():!1),t?i.scrolling=!0:i.updateScrollButtons(),i.fireEvent("scroll",i,r,t?i.getScrollAnim():!1))},scrollToItem:function(n,t){var i=this,o=i.layout,s=o.owner,u=o.names,f,e,r;n=i.getItem(n);n!==undefined&&(n==s.items.first()?r=0:n===s.items.last()?r=i.getMaxScrollPosition():(f=i.getItemVisibility(n),f.fullyVisible||(e=n.getBox(!1,!0),r=e[u.x],f.hiddenEnd&&(r-=i.layout.innerCt[u.getWidth]()-e[u.width]))),r!==undefined&&i.scrollTo(r,t))},getItemVisibility:function(n){var t=this,f=t.getItem(n).getBox(!0,!0),e=t.layout,i=e.names,r=f[i.x],o=r+f[i.width],u=t.getScrollPosition(),s=u+e.innerCt[i.getWidth]();return{hiddenStart:r<u,hiddenEnd:o>s,fullyVisible:r>u&&o<s}}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.layout.container.boxOverflow,"Scroller",Ext.layout.boxOverflow,"Scroller"],0);Ext.cmd.derive("Ext.util.Offset",Ext.Base,{statics:{fromObject:function(n){return new this(n.x,n.y)}},constructor:function(n,t){return this.x=n!=null&&!isNaN(n)?n:0,this.y=t!=null&&!isNaN(t)?t:0,this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(n){this.x=n.x;this.y=n.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(n){return this.x==n.x&&this.y==n.y},round:function(n){if(isNaN(n))this.x=Math.round(this.x),this.y=Math.round(this.y);else{var t=Math.pow(10,n);this.x=Math.round(this.x*t)/t;this.y=Math.round(this.y*t)/t}},isZero:function(){return this.x==0&&this.y==0}},3,0,0,0,0,0,[Ext.util,"Offset"],0);Ext.cmd.derive("Ext.util.Region",Ext.Base,{statics:{getRegion:function(n){return Ext.fly(n).getRegion()},from:function(n){return new this(n.top,n.right,n.bottom,n.left)}},constructor:function(n,t,i,r){var u=this;u.y=u.top=u[1]=n;u.right=t;u.bottom=i;u.x=u.left=u[0]=r},contains:function(n){var t=this;return n.x>=t.x&&n.right<=t.right&&n.y>=t.y&&n.bottom<=t.bottom},intersect:function(n){var t=this,i=Math.max(t.y,n.y),r=Math.min(t.right,n.right),u=Math.min(t.bottom,n.bottom),f=Math.max(t.x,n.x);return u>i&&r>f?new this.self(i,r,u,f):!1},union:function(n){var t=this,i=Math.min(t.y,n.y),r=Math.max(t.right,n.right),u=Math.max(t.bottom,n.bottom),f=Math.min(t.x,n.x);return new this.self(i,r,u,f)},constrainTo:function(n){var t=this,i=Ext.Number.constrain;return t.top=t.y=i(t.top,n.y,n.bottom),t.bottom=i(t.bottom,n.y,n.bottom),t.left=t.x=i(t.left,n.x,n.right),t.right=i(t.right,n.x,n.right),t},adjust:function(n,t,i,r){var u=this;return u.top=u.y+=n,u.left=u.x+=r,u.right+=t,u.bottom+=i,u},getOutOfBoundOffset:function(n,t){if(Ext.isObject(n)){t=n;var i=new Ext.util.Offset;return i.x=this.getOutOfBoundOffsetX(t.x),i.y=this.getOutOfBoundOffsetY(t.y),i}return n=="x"?this.getOutOfBoundOffsetX(t):this.getOutOfBoundOffsetY(t)},getOutOfBoundOffsetX:function(n){return n<=this.x?this.x-n:n>=this.right?this.right-n:0},getOutOfBoundOffsetY:function(n){return n<=this.y?this.y-n:n>=this.bottom?this.bottom-n:0},isOutOfBound:function(n,t){return Ext.isObject(n)?(t=n,this.isOutOfBoundX(t.x)||this.isOutOfBoundY(t.y)):n=="x"?this.isOutOfBoundX(t):this.isOutOfBoundY(t)},isOutOfBoundX:function(n){return n<this.x||n>this.right},isOutOfBoundY:function(n){return n<this.y||n>this.bottom},restrict:function(n,t,i){if(Ext.isObject(n)){var r;return i=t,t=n,r=t.copy?t.copy():{x:t.x,y:t.y},r.x=this.restrictX(t.x,i),r.y=this.restrictY(t.y,i),r}return n=="x"?this.restrictX(t,i):this.restrictY(t,i)},restrictX:function(n,t){return t||(t=1),n<=this.x?n-=(n-this.x)*t:n>=this.right&&(n-=(n-this.right)*t),n},restrictY:function(n,t){return t||(t=1),n<=this.y?n-=(n-this.y)*t:n>=this.bottom&&(n-=(n-this.bottom)*t),n},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(n){var t=this;return t.top=t.y=t[1]=n.y,t.right=n.right,t.bottom=n.bottom,t.left=t.x=t[0]=n.x,this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(n,t){arguments.length==1&&(t=n.y,n=n.x);var i=this;return i.top=i.y+=t,i.right+=n,i.bottom+=t,i.left=i.x+=n,i},round:function(){var n=this;return n.top=n.y=Math.round(n.y),n.right=Math.round(n.right),n.bottom=Math.round(n.bottom),n.left=n.x=Math.round(n.x),n},equals:function(n){return this.top==n.top&&this.right==n.right&&this.bottom==n.bottom&&this.left==n.left}},3,0,0,0,0,0,[Ext.util,"Region"],0);Ext.cmd.derive("Ext.dd.DragDropManager",Ext.Base,{singleton:!0,alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:!0,stopPropagation:!0,initialized:!1,locked:!1,init:function(){this.initialized=!0},POINT:0,INTERSECT:1,mode:0,notifyOccluded:!1,dragCls:Ext.baseCSSPrefix+"dd-drag-current",_execOnAll:function(n,t){var r,u,i;for(r in this.ids)for(u in this.ids[r])(i=this.ids[r][u],this.isTypeOfDD(i))&&i[n].apply(i,t)},_onLoad:function(){this.init();var n=Ext.EventManager;n.on(document,"mouseup",this.handleMouseUp,this,!0);n.on(document,"mousemove",this.handleMouseMove,this,!0);n.on(window,"unload",this._onUnload,this,!0);n.on(window,"resize",this._onResize,this,!0)},_onResize:function(){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=!0},unlock:function(){this.locked=!1},isLocked:function(){return this.locked},locationCache:{},useCache:!0,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:!1,clickTimeout:null,startX:0,startY:0,regDragDrop:function(n,t){this.initialized||this.init();this.ids[t]||(this.ids[t]={});this.ids[t][n.id]=n},removeDDFromGroup:function(n,t){this.ids[t]||(this.ids[t]={});var i=this.ids[t];i&&i[n.id]&&delete i[n.id]},_remove:function(n){for(var t in n.groups)t&&this.ids[t]&&this.ids[t][n.id]&&delete this.ids[t][n.id];delete this.handleIds[n.id]},regHandle:function(n,t){this.handleIds[n]||(this.handleIds[n]={});this.handleIds[n][t]=t},isDragDrop:function(n){return this.getDDById(n)?!0:!1},getRelated:function(n,t){var r=[],u,f,i;for(u in n.groups)for(f in this.ids[u])(i=this.ids[u][f],this.isTypeOfDD(i))&&(!t||i.isTarget)&&(r[r.length]=i);return r},isLegalTarget:function(n,t){for(var r=this.getRelated(n,!0),i=0,u=r.length;i<u;++i)if(r[i].id==t.id)return!0;return!1},isTypeOfDD:function(n){return n&&n.__ygDragDrop},isHandle:function(n,t){return this.handleIds[n]&&this.handleIds[n][t]},getDDById:function(n){var i,t;for(i in this.ids)if(t=this.ids[i][n],t instanceof Ext.dd.DDTarget)return t;return null},handleMouseDown:function(n,t){var i=this,r;Ext.quickTipsActive&&Ext.tip.QuickTipManager.ddDisable();i.dragCurrent&&i.handleMouseUp(n);i.currentTarget=n.getTarget();i.dragCurrent=t;r=t.getEl();Ext.isIE9m&&r.setCapture&&r.setCapture();i.startX=n.getPageX();i.startY=n.getPageY();i.deltaX=i.startX-r.offsetLeft;i.deltaY=i.startY-r.offsetTop;i.dragThreshMet=!1;i.clickTimeout=setTimeout(function(){i.startDrag(i.startX,i.startY)},i.clickTimeThresh)},startDrag:function(n,t){var i=this,r=i.dragCurrent,u;clearTimeout(i.clickTimeout);r&&(r.b4StartDrag(n,t),r.startDrag(n,t),u=r.getDragEl(),u&&Ext.fly(u).addCls(i.dragCls));i.dragThreshMet=!0},handleMouseUp:function(n){var t=this;(Ext.quickTipsActive&&Ext.tip.QuickTipManager.ddEnable(),t.dragCurrent)&&(Ext.isIE&&document.releaseCapture&&document.releaseCapture(),clearTimeout(t.clickTimeout),t.dragThreshMet&&t.fireEvents(n,!0),t.stopDrag(n),t.stopEvent(n))},stopEvent:function(n){this.stopPropagation&&n.stopPropagation();this.preventDefault&&n.preventDefault()},stopDrag:function(n){var t=this,i=t.dragCurrent,r;if(i){t.dragThreshMet&&(r=i.getDragEl(),r&&Ext.fly(r).removeCls(t.dragCls),i.b4EndDrag(n),i.endDrag(n));t.dragCurrent.onMouseUp(n)}t.dragCurrent=null;t.dragOvers={}},handleMouseMove:function(n){var t=this,i=t.dragCurrent,r,u;if(!i)return!0;if(t.dragThreshMet||(r=Math.abs(t.startX-n.getPageX()),u=Math.abs(t.startY-n.getPageY()),(r>t.clickPixelThresh||u>t.clickPixelThresh)&&t.startDrag(t.startX,t.startY)),t.dragThreshMet){i.b4Drag(n);i.onDrag(n);i.moveOnly||t.fireEvents(n,!1)}return t.stopEvent(n),!0},fireEvents:function(n,t){var f=this,u=f.dragCurrent,a,w,b=n.getPoint(),r,y,c=[],k=[],o=[],h=[],s=[],l=[],p,d,i,e,v;if(u&&!u.isLocked()){f.notifyOccluded||Ext.supports.PointerEvents&&!Ext.isIE10m&&!Ext.isOpera||u.deltaX<0||u.deltaY<0||(a=u.getDragEl(),w=a.style.top,a.style.top="-10000px",p=n.getXY(),n.target=document.elementFromPoint(p[0],p[1]),a.style.top=w);for(i in f.dragOvers)(r=f.dragOvers[i],f.isTypeOfDD(r))&&(f.notifyOccluded?this.isOverTarget(b,r,f.mode)||o.push(r):n.within(r.getEl())||o.push(r),k[i]=!0,delete f.dragOvers[i]);for(v in u.groups)if("string"==typeof v)for(i in f.ids[v])if(r=f.ids[v][i],f.isTypeOfDD(r)&&(y=r.getEl())&&r.isTarget&&!r.isLocked()&&Ext.fly(y).isVisible(!0)&&(r!=u||u.ignoreSelf===!1))if(f.notifyOccluded)(r.zIndex=f.getZIndex(y))!==-1&&(d=!0),c.push(r);else if(n.within(r.getEl())){c.push(r);break}for(d&&Ext.Array.sort(c,f.byZIndex),i=0,e=c.length;i<e;i++)if(r=c[i],f.isOverTarget(b,r,f.mode)&&(t?s.push(r):(k[r.id]?h.push(r):l.push(r),f.dragOvers[r.id]=r),!f.notifyOccluded))break;if(f.mode){if(o.length){u.b4DragOut(n,o);u.onDragOut(n,o)}if(l.length)u.onDragEnter(n,l);if(h.length){u.b4DragOver(n,h);u.onDragOver(n,h)}if(s.length){u.b4DragDrop(n,s);u.onDragDrop(n,s)}}else{for(i=0,e=o.length;i<e;++i){u.b4DragOut(n,o[i].id);u.onDragOut(n,o[i].id)}for(i=0,e=l.length;i<e;++i)u.onDragEnter(n,l[i].id);for(i=0,e=h.length;i<e;++i){u.b4DragOver(n,h[i].id);u.onDragOver(n,h[i].id)}for(i=0,e=s.length;i<e;++i){u.b4DragDrop(n,s[i].id);u.onDragDrop(n,s[i].id)}}if(t&&!s.length)u.onInvalidDrop(n)}},getZIndex:function(n){var r=document.body,t,i=-1;for(n=Ext.getDom(n);n!==r;)isNaN(t=Number(Ext.fly(n).getStyle("zIndex")))||(i=t),n=n.parentNode;return i},byZIndex:function(n,t){return n.zIndex<t.zIndex},getBestMatch:function(n){var t=null,u=n.length,r,i;if(u==1)t=n[0];else for(r=0;r<u;++r)if(i=n[r],i.cursorIsOver){t=i;break}else(!t||t.overlap.getArea()<i.overlap.getArea())&&(t=i);return t},refreshCache:function(n){var i,u,t,r;for(i in n)if("string"==typeof i)for(u in this.ids[i])t=this.ids[i][u],this.isTypeOfDD(t)&&(r=this.getLocation(t),r?this.locationCache[t.id]=r:delete this.locationCache[t.id])},verifyEl:function(n){if(n){var t;if(Ext.isIE)try{t=n.offsetParent}catch(i){}else t=n.offsetParent;if(t)return!0}return!1},getLocation:function(n){if(!this.isTypeOfDD(n))return null;if(n.getRegion)return n.getRegion();var i=n.getEl(),t,r,f,u,e,o,s,h,c;try{t=Ext.Element.getXY(i)}catch(l){}return t?(r=t[0],f=r+i.offsetWidth,u=t[1],e=u+i.offsetHeight,o=u-n.padding[0],s=f+n.padding[1],h=e+n.padding[2],c=r-n.padding[3],new Ext.util.Region(o,s,h,c)):null},isOverTarget:function(n,t,i){var u=this.locationCache[t.id],r,f,e,s,o;return(u&&this.useCache||(u=this.getLocation(t),this.locationCache[t.id]=u),!u)?!1:(t.cursorIsOver=u.contains(n),r=this.dragCurrent,!r||!r.getTargetCoord||!i&&!r.constrainX&&!r.constrainY)?t.cursorIsOver:(t.overlap=null,f=r.getTargetCoord(n.x,n.y),e=r.getDragEl(),s=new Ext.util.Region(f.y,f.x+e.offsetWidth,f.y+e.offsetHeight,f.x),o=s.intersect(u),o?(t.overlap=o,i?!0:t.cursorIsOver):!1)},_onUnload:function(){Ext.dd.DragDropManager.unregAll()},unregAll:function(){this.dragCurrent&&(this.stopDrag(),this.dragCurrent=null);this._execOnAll("unreg",[]);for(var n in this.elementCache)delete this.elementCache[n];this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(n){var t=this.elementCache[n];return t&&t.el||(t=this.elementCache[n]=new this.ElementWrapper(Ext.getDom(n))),t},getElement:function(n){return Ext.getDom(n)},getCss:function(n){var t=Ext.getDom(n);return t?t.style:null},ElementWrapper:function(n){this.el=n||null;this.id=this.el&&n.id;this.css=this.el&&n.style},getPosX:function(n){return Ext.Element.getX(n)},getPosY:function(n){return Ext.Element.getY(n)},swapNode:function(n,t){if(n.swapNode)n.swapNode(t);else{var i=t.parentNode,r=t.nextSibling;r==n?i.insertBefore(n,t):t==n.nextSibling?i.insertBefore(t,n):(n.parentNode.replaceChild(t,n),i.insertBefore(n,r))}},getScroll:function(){var u=window.document,n=u.documentElement,r=u.body,t=0,i=0;return Ext.isGecko4?(t=window.scrollYOffset,i=window.scrollXOffset):n&&(n.scrollTop||n.scrollLeft)?(t=n.scrollTop,i=n.scrollLeft):r&&(t=r.scrollTop,i=r.scrollLeft),{top:t,left:i}},getStyle:function(n,t){return Ext.fly(n).getStyle(t)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(n,t){var i=Ext.Element.getXY(t);Ext.Element.setXY(n,i)},numericSort:function(n,t){return n-t},_timeoutCount:0,_addListeners:function(){document?this._onLoad():this._timeoutCount<=2e3&&(setTimeout(this._addListeners,10),document&&document.body&&(this._timeoutCount+=1))},handleWasClicked:function(n,t){if(this.isHandle(t,n.id))return!0;for(var i=n.parentNode;i;){if(this.isHandle(t,i.id))return!0;i=i.parentNode}return!1}},0,0,0,0,0,0,[Ext.dd,"DragDropManager",Ext.dd,"DragDropMgr",Ext.dd,"DDM"],function(){this._addListeners()});Ext.cmd.derive("Ext.layout.container.Box",Ext.layout.container.Container,{alternateClassName:"Ext.layout.BoxLayout",defaultMargins:{top:0,right:0,bottom:0,left:0},padding:0,pack:"start",flex:undefined,stretchMaxPartner:undefined,alignRoundingMethod:"round",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",targetElCls:Ext.baseCSSPrefix+"box-target",innerCls:Ext.baseCSSPrefix+"box-inner",availableSpaceOffset:0,reserveOffset:!0,manageMargins:!0,createsInnerCt:!0,childEls:["innerCt","targetEl"],renderTpl:["{%var oc,l=values.$comp.layout,oh=l.overflowHandler;","if (oh.getPrefixConfig!==Ext.emptyFn) {","if(oc=oh.getPrefixConfig())dh.generateMarkup(oc, out)","}%}",'<div id="{ownerId}-innerCt" class="{[l.innerCls]} {[oh.getOverflowCls()]}" role="presentation">','<div id="{ownerId}-targetEl" class="{targetElCls}">',"{%this.renderBody(out, values)%}","<\/div>","<\/div>","{%if (oh.getSuffixConfig!==Ext.emptyFn) {","if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)","}%}",{disableFormats:!0,definitions:"var dh=Ext.DomHelper;"}],constructor:function(){var n=this,t;n.callParent(arguments);n.flexSortFn=Ext.Function.bind(n.flexSort,n);n.initOverflowHandler();t=typeof n.padding;(t=="string"||t=="number")&&(n.padding=Ext.util.Format.parseBox(n.padding),n.padding.height=n.padding.top+n.padding.bottom,n.padding.width=n.padding.left+n.padding.right)},_percentageRe:/^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/,getItemSizePolicy:function(n,t){var i=this,u=i.sizePolicy,f=i.align,s=n.flex,e=f,r=i.names,y=n[r.width],h=n[r.height],o=i._percentageRe,c=o.test(y),l=f=="stretch",a=f=="stretchmax",v=i.constrainAlign;return!t&&(l||s||c||v&&!a)&&(t=i.owner.getSizeModel()),l?!o.test(h)&&t[r.height].shrinkWrap&&(e="stretchmax"):a||(e=o.test(h)?"stretch":v&&!t[r.height].shrinkWrap?"stretchmax":""),(s||c)&&(t[r.width].shrinkWrap||(u=u.flex)),u[e]},flexSort:function(n,t){var h=this.names.maxWidth,c=this.names.minWidth,l=Infinity,a=n.target,v=t.target,i=0,r,u,f,e,o,s;return f=a[h]||l,e=v[h]||l,r=a[c]||0,u=v[c]||0,o=isFinite(r)||isFinite(u),s=isFinite(f)||isFinite(e),(o||s)&&(s&&(i=f-e),i===0&&o&&(i=u-r)),i},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},roundFlex:function(n){return Math.ceil(n)},beginCollapse:function(n){var t=this;t.direction==="vertical"&&n.collapsedVertical()?(n.collapseMemento.capture(["flex"]),delete n.flex):t.direction==="horizontal"&&n.collapsedHorizontal()&&(n.collapseMemento.capture(["flex"]),delete n.flex)},beginExpand:function(n){n.collapseMemento.restore(["flex"])},beginLayout:function(n){var t=this,r=t.owner,i=r.stretchMaxPartner,f=t.innerCt.dom.style,u=t.names;n.boxNames=u;t.overflowHandler.beginLayout(n);typeof i=="string"&&(i=Ext.getCmp(i)||r.query(i)[0]);n.stretchMaxPartner=i&&n.context.getCmp(i);t.callParent(arguments);n.innerCtContext=n.getEl("innerCt",t);t.scrollParallel=r.scrollFlags[u.x];t.scrollPerpendicular=r.scrollFlags[u.y];t.scrollParallel&&(t.scrollPos=r.getTargetEl().dom[u.scrollLeft]);f.width="";f.height=""},beginLayoutCycle:function(n,t){var r=this,i=r.align,f=n.boxNames,u=r.pack,e=f.heightModel;r.overflowHandler.beginLayoutCycle(n,t);r.callParent(arguments);n.parallelSizeModel=n[f.widthModel];n.perpendicularSizeModel=n[e];n.boxOptions={align:i={stretch:i=="stretch",stretchmax:i=="stretchmax",center:i==f.center,bottom:i==f.afterY},pack:u={center:u=="center",end:u=="end"}};i.stretch&&n.perpendicularSizeModel.shrinkWrap&&(i.stretchmax=!0,i.stretch=!1);i.nostretch=!(i.stretch||i.stretchmax);n.parallelSizeModel.shrinkWrap&&(u.center=u.end=!1);r.cacheFlexes(n);r.targetEl.setWidth(2e4)},cacheFlexes:function(n){for(var o=this,i=n.boxNames,p=i.widthModel,w=i.heightModel,b=n.boxOptions.align.nostretch,s=0,h=n.childItems,c=h.length,f=[],l=0,k=i.minWidth,a=o._percentageRe,v=0,y=0,r,t,e,u;c--;)t=h[c],r=t.target,t[p].calculated&&(t.flex=e=r.flex,e?(s+=e,f.push(t),l+=r[k]||0):(u=a.exec(r[i.width]),t.percentageParallel=parseFloat(u[1])/100,++v)),b&&t[w].calculated&&(u=a.exec(r[i.height]),t.percentagePerpendicular=parseFloat(u[1])/100,++y);n.flexedItems=f;n.flexedMinSize=l;n.totalFlex=s;n.percentageWidths=v;n.percentageHeights=y;Ext.Array.sort(f,o.flexSortFn)},calculate:function(n){var t=this,f=t.getContainerSize(n),u=n.boxNames,i=n.state,r=i.boxPlan||(i.boxPlan={}),e=n.targetContext;if(r.targetSize=f,!n.parallelSizeModel.shrinkWrap&&!f[u.gotWidth]){t.done=!1;return}i.parallelDone||(i.parallelDone=t.calculateParallel(n,u,r));i.perpendicularDone||(i.perpendicularDone=t.calculatePerpendicular(n,u,r));i.parallelDone&&i.perpendicularDone?(t.owner.dock&&(Ext.isIE7m||Ext.isIEQuirks)&&!t.owner.width&&!t.horizontal&&(r.isIEVerticalDock=!0,r.calculatedWidth=r.maxSize+n.getPaddingInfo().width+n.getFrameInfo().width,e!==n&&(r.calculatedWidth+=e.getPaddingInfo().width)),t.publishInnerCtSize(n,t.reserveOffset?t.availableSpaceOffset:0),t.done&&(n.childItems.length>1||n.stretchMaxPartner)&&n.boxOptions.align.stretchmax&&!i.stretchMaxDone&&(t.calculateStretchMax(n,u,r),i.stretchMaxDone=!0),t.overflowHandler.calculate(n)):t.done=!1},calculateParallel:function(n,t,i){var e=this,l=t.width,a=n.childItems,g=t.beforeX,nt=t.afterX,ot=t.setWidth,p=a.length,tt=n.flexedItems,st=tt.length,it=n.boxOptions.pack,rt=e.padding,ut=i.targetSize[l],w=0,f=rt[g],o=f+rt[nt]+e.scrollOffset+(e.reserveOffset?e.availableSpaceOffset:0),ft=Ext.getScrollbarSize()[t.width],r,v,s,b,u,k,y,h,et,c,d;if(ft&&e.scrollPerpendicular&&n.parallelSizeModel.shrinkWrap&&!n.boxOptions.align.stretch&&!n.perpendicularSizeModel.shrinkWrap){if(!n.state.perpendicularDone)return!1;et=!0}for(r=0;r<p;++r)if(u=a[r],v=u.marginInfo||u.getMarginInfo(),w+=v[l],!u[t.widthModel].calculated&&(c=u.getProp(l),o+=c,isNaN(o)))return!1;if(o+=w,n.percentageWidths){if(d=ut-w,isNaN(d))return!1;for(r=0;r<p;++r)u=a[r],u.percentageParallel&&(c=Math.ceil(d*u.percentageParallel),c=u.setWidth(c),o+=c)}if(n.parallelSizeModel.shrinkWrap)i.availableSpace=0,i.tooNarrow=!1;else if(i.availableSpace=ut-o,i.tooNarrow=i.availableSpace<n.flexedMinSize,i.tooNarrow&&Ext.getScrollbarSize()[t.height]&&e.scrollParallel&&n.state.perpendicularDone)for(n.state.perpendicularDone=!1,r=0;r<p;++r)a[r].invalidate();for(h=o,s=i.availableSpace,b=n.totalFlex,r=0;r<st;r++)u=tt[r],k=u.flex,y=e.roundFlex(k/b*s),y=u[ot](y),h+=y,s=Math.max(0,s-y),b-=k;for(it.center?(f+=s/2,f<0&&(f=0)):it.end&&(f+=s),r=0;r<p;++r)u=a[r],v=u.marginInfo,f+=v[g],u.setProp(t.x,f),f+=v[nt]+u.props[l];return h+=n.targetContext.getPaddingInfo()[l],n.state.contentWidth=h,et&&n.peek(t.contentHeight)>i.targetSize[t.height]&&(h+=ft,n[t.hasOverflowY]=!0,n.target.componentLayout[t.setWidthInDom]=!0,n[t.invalidateScrollY]=Ext.isStrict&&Ext.isIE8),n[t.setContentWidth](h),!0},calculatePerpendicular:function(n,t,i){var o=this,l=n.perpendicularSizeModel.shrinkWrap,lt=i.targetSize,d=n.childItems,et=d.length,p=Math.max,f=t.height,at=t.setHeight,ot=t.beforeY,vt=t.y,st=o.padding,g=st[ot],s=lt[f]-g-st[t.afterY],w=n.boxOptions.align,nt=w.stretch,yt=w.stretchmax,tt=w.center,it=w.bottom,ht=o.constrainAlign,u=0,ct=0,pt=o.onBeforeConstrainInvalidateChild,wt=o.onAfterConstrainInvalidateChild,b=Ext.getScrollbarSize().height,v,h,e,c,rt,a,r,k,ut,ft,y;if((nt||(tt||it)&&!l)&&isNaN(s))return!1;if(o.scrollParallel&&i.tooNarrow&&(l?ft=!0:(s-=b,i.targetSize[f]-=b)),nt)a=s;else{for(h=0;h<et;h++){if(r=d[h],c=(r.marginInfo||r.getMarginInfo())[f],y=r.percentagePerpendicular)if(++ct,l)continue;else e=y*s-c,e=r[t.setHeight](e);else e=r.getProp(f);if(!l&&ht&&r[t.heightModel].shrinkWrap&&e>s&&(r.invalidate({before:pt,after:wt,layout:o,childHeight:s,names:t}),n.state.parallelDone=!1),isNaN(u=p(u,e+c,r.target[t.minHeight]||0)))return!1}if(ft&&(u+=b,n[t.hasOverflowX]=!0,n.target.componentLayout[t.setHeightInDom]=!0,n[t.invalidateScrollX]=Ext.isStrict&&Ext.isIE8),k=n.stretchMaxPartner,k&&(n.setProp("maxChildHeight",u),ut=k.childItems,ut&&ut.length&&(u=p(u,k.getProp("maxChildHeight")),isNaN(u))))return!1;n[t.setContentHeight](u+o.padding[f]+n.targetContext.getPaddingInfo()[f]);ft&&(u-=b);i.maxSize=u;yt?a=u:(tt||it||ct)&&(a=(ht?l?u:s:l?u:p(s,u))-n.innerCtContext.getBorderInfo()[f])}for(h=0;h<et;h++)r=d[h],c=r.marginInfo||r.getMarginInfo(),v=g+c[ot],nt?r[at](a-c[f]):(y=r.percentagePerpendicular,l&&y&&(c=r.marginInfo||r.getMarginInfo(),e=y*a-c[f],e=r.setHeight(e)),tt?(rt=a-r.props[f],rt>0&&(v=g+Math[o.alignRoundingMethod](rt/2))):it&&(v=p(0,a-v-r.props[f]))),r.setProp(vt,v);return!0},onBeforeConstrainInvalidateChild:function(n,t){var i=t.names.heightModel;n[i].constrainedMin||(n[i]=Ext.layout.SizeModel.calculated)},onAfterConstrainInvalidateChild:function(n,t){var i=t.names;n.setProp(i.beforeY,0);n[i.heightModel].calculated&&n[i.setHeight](t.childHeight)},calculateStretchMax:function(n,t,i){for(var e=this,s=t.height,c=t.width,h=n.childItems,l=h.length,a=i.maxSize,v=e.onBeforeStretchMaxInvalidateChild,y=e.onAfterStretchMaxInvalidateChild,r,u,o,f=0;f<l;++f)r=h[f],u=r.props,o=a-r.getMarginInfo()[s],(o!=u[s]||r[t.heightModel].constrained)&&r.invalidate({before:v,after:y,layout:e,childWidth:u[c],childHeight:o,childX:u.x,childY:u.y,names:t})},onBeforeStretchMaxInvalidateChild:function(n,t){var i=t.names.heightModel;n[i].constrainedMax||(n[i]=Ext.layout.SizeModel.calculated)},onAfterStretchMaxInvalidateChild:function(n,t){var i=t.names,r=t.childHeight,u=t.childWidth;n.setProp("x",t.childX);n.setProp("y",t.childY);n[i.heightModel].calculated&&n[i.setHeight](r);n[i.widthModel].calculated&&n[i.setWidth](u)},completeLayout:function(n){var i=this,h=n.boxNames,r=n.invalidateScrollX,u=n.invalidateScrollY,s,f,e,o,t;i.overflowHandler.completeLayout(n);(r||u)&&(f=i.getTarget(),s=f.dom,t=s.style,r&&(e=f.getStyle("overflowX"),e=="auto"?(e=t.overflowX,t.overflowX="scroll"):r=!1),u&&(o=f.getStyle("overflowY"),o=="auto"?(o=t.overflowY,t.overflowY="scroll"):u=!1),(r||u)&&(s.scrollWidth,r&&(t.overflowX=e),u&&(t.overflowY=o)));i.scrollParallel&&(i.owner.getTargetEl().dom[h.scrollLeft]=i.scrollPos)},finishedLayout:function(n){this.overflowHandler.finishedLayout(n);this.callParent(arguments);this.targetEl.setWidth(n.innerCtContext.props.width)},publishInnerCtSize:function(n,t){var f=this,i=n.boxNames,s=i.height,h=i.width,e=n.boxOptions.align,c=f.owner.dock,l=f.padding,u=n.state.boxPlan,a=u.targetSize,v=a[s],o=n.innerCtContext,y=(n.parallelSizeModel.shrinkWrap||u.tooNarrow&&f.scrollParallel?n.state.contentWidth-n.targetContext.getPaddingInfo()[h]:a[h])-(t||0),r;e.stretch?r=v:(r=u.maxSize+l[i.beforeY]+l[i.afterY]+o.getBorderInfo()[s],!n.perpendicularSizeModel.shrinkWrap&&(e.center||e.bottom)&&(r=Math.max(v,r)));o[i.setWidth](y);o[i.setHeight](r);isNaN(y+r)&&(f.done=!1);u.calculatedWidth&&(c=="left"||c=="right")&&n.setWidth(u.calculatedWidth,!0,!0)},onRemove:function(n){var t=this;if(t.callParent(arguments),t.overflowHandler)t.overflowHandler.onRemove(n);n.layoutMarginCap==t.id&&delete n.layoutMarginCap},initOverflowHandler:function(){var t=this,n=t.overflowHandler,i,r;typeof n=="string"&&(n={type:n});i="None";n&&n.type!==undefined&&(i=n.type);r=Ext.layout.container.boxOverflow[i];r[t.type]&&(r=r[t.type]);t.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+i,t,n)},getRenderTarget:function(){return this.targetEl},getElementTarget:function(){return this.innerCt},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)},getRenderData:function(){var n=this.callParent();return n.targetElCls=this.targetElCls,n}},1,0,0,0,["layout.box"],0,[Ext.layout.container,"Box",Ext.layout,"BoxLayout"],0);Ext.cmd.derive("Ext.layout.container.HBox",Ext.layout.container.Box,{alternateClassName:"Ext.layout.HBoxLayout",align:"top",constrainAlign:!1,type:"hbox",direction:"horizontal",horizontal:!0,names:{beforeX:"left",beforeScrollX:"left",beforeScrollerSuffix:"-before-scroller",afterScrollerSuffix:"-after-scroller",leftCap:"Left",afterX:"right",width:"width",contentWidth:"contentWidth",minWidth:"minWidth",maxWidth:"maxWidth",widthCap:"Width",widthModel:"widthModel",widthIndex:0,x:"x",scrollLeft:"scrollLeft",overflowX:"overflowX",hasOverflowX:"hasOverflowX",invalidateScrollX:"invalidateScrollX",parallelMargins:"lr",center:"middle",beforeY:"top",afterY:"bottom",height:"height",contentHeight:"contentHeight",minHeight:"minHeight",maxHeight:"maxHeight",heightCap:"Height",heightModel:"heightModel",heightIndex:1,y:"y",overflowY:"overflowY",hasOverflowY:"hasOverflowY",invalidateScrollY:"invalidateScrollY",perpendicularMargins:"tb",getWidth:"getWidth",getHeight:"getHeight",setWidth:"setWidth",setHeight:"setHeight",gotWidth:"gotWidth",gotHeight:"gotHeight",setContentWidth:"setContentWidth",setContentHeight:"setContentHeight",setWidthInDom:"setWidthInDom",setHeightInDom:"setHeightInDom",getScrollLeft:"getScrollLeft",setScrollLeft:"setScrollLeft",scrollTo:"scrollTo"},sizePolicy:{flex:{"":{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},stretch:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1},stretchmax:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:1}},"":{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},stretch:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1},stretchmax:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:1}}},0,0,0,0,["layout.hbox"],0,[Ext.layout.container,"HBox",Ext.layout,"HBoxLayout"],0);Ext.cmd.derive("Ext.layout.container.VBox",Ext.layout.container.Box,{alternateClassName:"Ext.layout.VBoxLayout",align:"left",constrainAlign:!1,type:"vbox",direction:"vertical",horizontal:!1,names:{beforeX:"top",beforeScrollX:"top",beforeScrollerSuffix:"-before-scroller",afterScrollerSuffix:"-after-scroller",leftCap:"Top",afterX:"bottom",width:"height",contentWidth:"contentHeight",minWidth:"minHeight",maxWidth:"maxHeight",widthCap:"Height",widthModel:"heightModel",widthIndex:1,x:"y",scrollLeft:"scrollTop",overflowX:"overflowY",hasOverflowX:"hasOverflowY",invalidateScrollX:"invalidateScrollY",parallelMargins:"tb",center:"center",beforeY:"left",afterY:"right",height:"width",contentHeight:"contentWidth",minHeight:"minWidth",maxHeight:"maxWidth",heightCap:"Width",heightModel:"widthModel",heightIndex:0,y:"x",overflowY:"overflowX",hasOverflowY:"hasOverflowX",invalidateScrollY:"invalidateScrollX",perpendicularMargins:"lr",getWidth:"getHeight",getHeight:"getWidth",setWidth:"setHeight",setHeight:"setWidth",gotWidth:"gotHeight",gotHeight:"gotWidth",setContentWidth:"setContentHeight",setContentHeight:"setContentWidth",setWidthInDom:"setHeightInDom",setHeightInDom:"setWidthInDom",getScrollLeft:"getScrollTop",setScrollLeft:"setScrollTop",scrollTo:"scrollTo"},sizePolicy:{flex:{"":{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1},stretch:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1},stretchmax:{readsWidth:1,readsHeight:0,setsWidth:1,setsHeight:1}},"":{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},stretch:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},stretchmax:{readsWidth:1,readsHeight:1,setsWidth:1,setsHeight:0}}},0,0,0,0,["layout.vbox"],0,[Ext.layout.container,"VBox",Ext.layout,"VBoxLayout"],0);Ext.cmd.derive("Ext.toolbar.Toolbar",Ext.container.Container,{alternateClassName:"Ext.Toolbar",isToolbar:!0,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:!1,enableOverflow:!1,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:!0,itemCls:Ext.baseCSSPrefix+"toolbar-item",statics:{shortcuts:{"-":"tbseparator"," ":"tbspacer"},shortcutsHV:{0:{"->":{xtype:"tbfill",height:0}},1:{"->":{xtype:"tbfill",width:0}}}},initComponent:function(){var n=this;!n.layout&&n.enableOverflow&&(n.layout={overflowHandler:"Menu"});(n.dock==="right"||n.dock==="left")&&(n.vertical=!0);n.layout=Ext.applyIf(Ext.isString(n.layout)?{type:n.layout}:n.layout||{},{type:n.vertical?"vbox":"hbox",align:n.vertical?"stretchmax":"middle"});n.vertical&&n.addClsWithUI("vertical");n.ui==="footer"&&(n.ignoreBorderManagement=!0);n.callParent();n.addEvents("overflowchange")},getRefItems:function(n){var i=this,r=i.callParent(arguments),u=i.layout,t;return n&&i.enableOverflow&&(t=u.overflowHandler,t&&t.menu&&(r=r.concat(t.menu.getRefItems(n)))),r},lookupComponent:function(n){var r=arguments,i,t;return typeof n=="string"&&(i=Ext.toolbar.Toolbar,t=i.shortcutsHV[this.vertical?1:0][n]||i.shortcuts[n],n=typeof t=="string"?{xtype:t}:t?Ext.apply({},t):{xtype:"tbtext",text:n},this.applyDefaults(n),r=[n]),this.callParent(r)},applyDefaults:function(n){return Ext.isString(n)||(n=this.callParent(arguments)),n},trackMenu:function(n,t){if(this.trackMenus&&n.menu){var r=t?"mun":"mon",i=this;i[r](n,"mouseover",i.onButtonOver,i);i[r](n,"menushow",i.onButtonMenuShow,i);i[r](n,"menuhide",i.onButtonMenuHide,i)}},onBeforeAdd:function(n){var t=this,i=n.isButton;i&&t.defaultButtonUI&&n.ui==="default"&&!n.hasOwnProperty("ui")?n.ui=t.defaultButtonUI:(i||n.isFormField)&&t.ui!=="footer"&&(n.ui=n.ui+"-toolbar",n.addCls(n.baseCls+"-toolbar"));n instanceof Ext.toolbar.Separator&&n.setUI(t.vertical?"vertical":"horizontal");t.callParent(arguments)},onAdd:function(n){this.callParent(arguments);this.trackMenu(n)},onRemove:function(n){this.callParent(arguments);this.trackMenu(n,!0)},getChildItemsToDisable:function(){return this.items.getRange()},onButtonOver:function(n){this.activeMenuBtn&&this.activeMenuBtn!=n&&(this.activeMenuBtn.hideMenu(),n.showMenu(),this.activeMenuBtn=n)},onButtonMenuShow:function(n){this.activeMenuBtn=n},onButtonMenuHide:function(){delete this.activeMenuBtn}},0,["toolbar"],["toolbar","component","container","box"],{toolbar:!0,component:!0,container:!0,box:!0},["widget.toolbar"],0,[Ext.toolbar,"Toolbar",Ext,"Toolbar"],0);Ext.cmd.derive("Ext.layout.component.Dock",Ext.layout.component.Component,{alternateClassName:"Ext.layout.component.AbstractDock",type:"dock",horzAxisProps:{name:"horz",oppositeName:"vert",dockBegin:"left",dockEnd:"right",horizontal:!0,marginBegin:"margin-left",maxSize:"maxWidth",minSize:"minWidth",pos:"x",setSize:"setWidth",shrinkWrapDock:"shrinkWrapDockWidth",size:"width",sizeModel:"widthModel"},vertAxisProps:{name:"vert",oppositeName:"horz",dockBegin:"top",dockEnd:"bottom",horizontal:!1,marginBegin:"margin-top",maxSize:"maxHeight",minSize:"minHeight",pos:"y",setSize:"setHeight",shrinkWrapDock:"shrinkWrapDockHeight",size:"height",sizeModel:"heightModel"},initializedBorders:-1,horizontalCollapsePolicy:{width:!0,x:!0},verticalCollapsePolicy:{height:!0,y:!0},finishRender:function(){var n=this,t,i;n.callParent();t=n.getRenderTarget();i=n.getDockedItems();n.finishRenderItems(t,i)},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},noBorderClasses:[Ext.baseCSSPrefix+"docked-noborder-top",Ext.baseCSSPrefix+"docked-noborder-right",Ext.baseCSSPrefix+"docked-noborder-bottom",Ext.baseCSSPrefix+"docked-noborder-left"],noBorderClassesSides:{top:Ext.baseCSSPrefix+"docked-noborder-top",right:Ext.baseCSSPrefix+"docked-noborder-right",bottom:Ext.baseCSSPrefix+"docked-noborder-bottom",left:Ext.baseCSSPrefix+"docked-noborder-left"},borderWidthProps:{top:"border-top-width",right:"border-right-width",bottom:"border-bottom-width",left:"border-left-width"},handleItemBorders:function(){var t=this,u=t.owner,n,s,h=t.lastDockedItems,c=t.borders,l=u.dockedItems.generation,a=t.noBorderClassesSides,v=t.borderWidthProps,i,o,r,e,f,y=t.collapsed;if(t.initializedBorders!=l&&(!u.border||u.manageBodyBorders)){for(t.initializedBorders=l,t.collapsed=!1,t.lastDockedItems=s=t.getLayoutItems(),t.collapsed=y,n={top:[],right:[],bottom:[],left:[]},i=0,o=s.length;i<o;i++)(r=s[i],e=r.dock,r.ignoreBorderManagement)||(n[e].satisfied||(n[e].push(r),n[e].satisfied=!0),n.top.satisfied||e==="bottom"||n.top.push(r),n.right.satisfied||e==="left"||n.right.push(r),n.bottom.satisfied||e==="top"||n.bottom.push(r),n.left.satisfied||e==="right"||n.left.push(r));if(h)for(i=0,o=h.length;i<o;i++)r=h[i],r.isDestroyed||r.ignoreBorderManagement||u.manageBodyBorders||r.removeCls(t.noBorderClasses);if(c)for(f in c)u.manageBodyBorders&&c[f].satisfied&&u.setBodyStyle(v[f],"");for(f in n)if(o=n[f].length,u.manageBodyBorders)n[f].satisfied&&u.setBodyStyle(v[f],"1px");else{for(i=0;i<o;i++)n[f][i].addCls(a[f]);(n[f].satisfied||u.bodyBorder)&&u.bodyBorder!==!1||u.addBodyCls(a[f])}t.borders=n}},beforeLayoutCycle:function(n){var f=this,i=f.owner,e=f.sizeModels.shrinkWrap,t=i.shrinkWrapDock,r,u;i.collapsed&&(i.collapsedVertical()?(u=!0,n.measureDimensions=1):(r=!0,n.measureDimensions=2));n.collapsedVert=u;n.collapsedHorz=r;u?n.heightModel=e:r&&(n.widthModel=e);t=t===!0?3:t||0;n.shrinkWrapDockHeight=t&1&&n.heightModel.shrinkWrap;n.shrinkWrapDockWidth=t&2&&n.widthModel.shrinkWrap},beginLayout:function(n){var t=this,r=t.owner,h=t.getLayoutItems(),l=n.context,a=h.length,c,e,u,f,i,o,s;for(t.callParent(arguments),o=r.getCollapsed(),o!==t.lastCollapsedState&&Ext.isDefined(t.lastCollapsedState)&&(t.owner.collapsed?(n.isCollapsingOrExpanding=1,r.addClsWithUI(r.collapsedCls)):(n.isCollapsingOrExpanding=2,r.removeClsWithUI(r.collapsedCls),n.lastCollapsedState=t.lastCollapsedState)),t.lastCollapsedState=o,n.dockedItems=c=[],e=0;e<a;e++)u=h[e],u.rendered&&(s=u.dock,f=l.getCmp(u),f.dockedAt={x:0,y:0},f.offsets=i=Ext.Element.parseBox(u.offsets||0),f.horizontal=s=="top"||s=="bottom",i.width=i.left+i.right,i.height=i.top+i.bottom,c.push(f));n.bodyContext=n.getEl("body")},beginLayoutCycle:function(n){var t=this,o=n.dockedItems,h=o.length,i=t.owner,r=i.frameBody,s=t.lastHeightModel,u,f,e;for(t.callParent(arguments),t.owner.manageHeight?t.lastBodyDisplay&&(i.body.dom.style.display=t.lastBodyDisplay=""):(t.lastBodyDisplay!=="inline-block"&&(i.body.dom.style.display=t.lastBodyDisplay="inline-block"),s&&s.shrinkWrap&&!n.heightModel.shrinkWrap&&(i.body.dom.style.marginBottom="")),n.widthModel.auto&&(n.widthModel.shrinkWrap&&i.el.setWidth(null),i.body.setWidth(null),r&&r.setWidth(null)),n.heightModel.auto&&(i.body.setHeight(null),r&&r.setHeight(null)),n.collapsedVert?n.setContentHeight(0):n.collapsedHorz&&n.setContentWidth(0),u=0;u<h;u++)if(f=o[u].target,e=f.dock,e=="right")f.setLocalX(0);else if(e!="left")continue},calculate:function(n){var t=this,l=t.measureAutoDimensions(n,n.measureDimensions),e=n.state,u=e.horzDone,f=e.vertDone,o=n.bodyContext,c,i,r,s,h;for(n.borderInfo||n.getBorderInfo(),n.paddingInfo||n.getPaddingInfo(),n.frameInfo||n.getFrameInfo(),o.borderInfo||o.getBorderInfo(),o.paddingInfo||o.getPaddingInfo(),n.frameBorder||((c=n.framing)?(n.frameBorder=c.border,n.framePadding=c.padding):(n.frameBorder=n.borderInfo,n.framePadding=n.paddingInfo)),i=!u&&t.createAxis(n,l.contentWidth,n.widthModel,t.horzAxisProps,n.collapsedHorz),r=!f&&t.createAxis(n,l.contentHeight,n.heightModel,t.vertAxisProps,n.collapsedVert),s=0,h=n.dockedItems.length;h--;++s)i&&t.dockChild(n,i,h,s),r&&t.dockChild(n,r,h,s);i&&t.finishAxis(n,i)&&(e.horzDone=u=i);r&&t.finishAxis(n,r)&&(e.vertDone=f=r);u&&f&&t.finishConstraints(n,u,f)?t.finishPositions(n,u,f):t.done=!1},createAxis:function(n,t,i,r,u){var a=this,e=0,v=a.owner,y=v[r.maxSize],p=v[r.minSize]||0,o=r.dockBegin,s=r.dockEnd,w=r.pos,h=r.size,b=y!=null,d=i.shrinkWrap,k,c,l,f;return d?u?f=0:(k=n.bodyContext,f=t+k.borderInfo[h]):(c=n.frameBorder,l=n.framePadding,e=c[o]+l[o],f=n.getProp(h)-(c[s]+l[s])),{shrinkWrap:i.shrinkWrap,sizeModel:i,initialBegin:e,begin:e,end:f,collapsed:u,horizontal:r.horizontal,ignoreFrameBegin:null,ignoreFrameEnd:null,initialSize:f-e,maxChildSize:0,hasMinMaxConstraints:(p||b)&&i.shrinkWrap,minSize:p,maxSize:b?y:1e9,bodyPosProp:a.owner.manageHeight?w:r.marginBegin,dockBegin:o,dockEnd:s,posProp:w,sizeProp:h,setSize:r.setSize,shrinkWrapDock:n[r.shrinkWrapDock],sizeModelName:r.sizeModel,dockedPixelsEnd:0}},dockChild:function(n,t,i,r){var e=this,u=n.dockedItems[t.shrinkWrap?i:r],f=u.target,s=f.dock,h=t.sizeProp,o,c;f.ignoreParentFrame&&n.isCollapsingOrExpanding&&u.clearMarginCache();u.marginInfo||u.getMarginInfo();s==t.dockBegin?o=t.shrinkWrap?e.dockOutwardBegin(n,u,f,t):e.dockInwardBegin(n,u,f,t):s==t.dockEnd?o=t.shrinkWrap?e.dockOutwardEnd(n,u,f,t):e.dockInwardEnd(n,u,f,t):t.shrinkWrapDock?(c=u.getProp(h)+u.marginInfo[h],t.maxChildSize=Math.max(t.maxChildSize,c),o=0):o=e.dockStretch(n,u,f,t);u.dockedAt[t.posProp]=o},dockInwardBegin:function(n,t,i,r){var e=r.begin,o=r.sizeProp,s=i.ignoreParentFrame,u,h,f;return s&&(r.ignoreFrameBegin=t,f=i.dock,u=n.frameBorder[f],e-=u+n.framePadding[f]),i.overlay||(h=t.getProp(o)+t.marginInfo[o],r.begin+=h,s&&(r.begin-=u)),e},dockInwardEnd:function(n,t,i,r){var e=r.sizeProp,o=t.getProp(e)+t.marginInfo[e],u=r.end-o,f;return i.overlay||(r.end=u),i.ignoreParentFrame&&(r.ignoreFrameEnd=t,f=n.frameBorder[i.dock],u+=f+n.framePadding[i.dock],r.end+=f),u},dockOutwardBegin:function(n,t,i,r){var u=r.begin,f=r.sizeProp,e;return r.collapsed?r.ignoreFrameBegin=r.ignoreFrameEnd=t:i.ignoreParentFrame&&(r.ignoreFrameBegin=t),i.overlay||(e=t.getProp(f)+t.marginInfo[f],u-=e,r.begin=u),u},dockOutwardEnd:function(n,t,i,r){var f=r.end,e=r.sizeProp,u;return u=t.getProp(e)+t.marginInfo[e],r.collapsed?r.ignoreFrameBegin=r.ignoreFrameEnd=t:i.ignoreParentFrame&&(r.ignoreFrameEnd=t),i.overlay||(r.end=f+u,r.dockedPixelsEnd+=u),f},dockStretch:function(n,t,i,r){var s=i.dock,f=r.sizeProp,h=s=="top"||s=="bottom",c=n.frameBorder,l=t.offsets,a=n.framePadding,y=h?"right":"bottom",e=h?"left":"top",o=r.begin+l[e],v,u;return i.stretch!==!1&&(u=r.end-o-l[y],i.ignoreParentFrame&&(o-=a[e]+c[e],u+=a[f]+c[f]),v=t.marginInfo,u-=v[f],t[r.setSize](u)),o},finishAxis:function(n,t){if(isNaN(t.maxChildSize))return!1;var e=t.begin,f=t.end-e,h=t.collapsed,nt=t.setSize,c=t.dockBegin,y=t.dockEnd,l=n.framePadding,p=n.frameBorder,i=p[c],s=n.framing,a=s&&s[c],o=h?0:l[c],tt=t.sizeProp,w=t.ignoreFrameBegin,b=t.ignoreFrameEnd,k=n.bodyContext,d=Math.max(i+o-a,0),r,v,u,g;return t.shrinkWrap?(v=t.initialSize,s?(u=-e+i+o,r=u-a-d):(r=-e,u=r+o),h||(f+=l[tt]),w?(u-=i,r-=i,w.dockedAt[t.posProp]-=o):f+=i,h||(b?b.dockedAt[t.posProp]+=l[y]:f+=p[y]),t.size=f,t.horizontal||this.owner.manageHeight||(g=!1)):(s?(u=0,r=e-a-d):(u=-i,r=e-o-i),v=f),t.delta=u,k[nt](v,g),k.setProp(t.bodyPosProp,r),!isNaN(f)},beforeInvalidateShrinkWrapDock:function(n,t){var i=t.axis.sizeModelName;n[i].constrainedMin||(n[i]=Ext.layout.SizeModel.calculated)},afterInvalidateShrinkWrapDock:function(n,t){var i=t.axis,u=t.layout,r;n[i.sizeModelName].calculated&&(r=u.dockStretch(t.ownerContext,n,n.target,i),n.setProp(i.posProp,i.delta+r))},finishConstraints:function(n,t,i){var v=this,o=v.sizeModels,p=t.shrinkWrap,w=i.shrinkWrap,y=v.owner,b,l,a,u,r,f,s,h,e,c;if(p&&(f=t.size,s=t.collapsed?0:t.minSize,h=t.maxSize,e=t.maxChildSize,c=Math.max(f,e),c>h?(r=o.constrainedMax,a=h):c<s?(r=o.constrainedMin,a=s):f<e?(r=o.constrainedDock,y.dockConstrainedWidth=a=e):a=f),w&&(f=i.size,s=i.collapsed?0:i.minSize,h=i.maxSize,e=i.maxChildSize,c=Math.max(f,e+f-i.initialSize),c>h?(u=o.constrainedMax,l=h):c<s?(u=o.constrainedMin,l=s):f<e?(u=o.constrainedDock,y.dockConstrainedHeight=l=e):(n.collapsedVert||y.manageHeight||(b=!1,n.bodyContext.setProp("margin-bottom",i.dockedPixelsEnd)),l=f)),r||u){if(r&&u&&r.constrainedMax&&u.constrainedByMin)return n.invalidate({widthModel:r}),!1;if(!n.widthModel.calculatedFromShrinkWrap&&!n.heightModel.calculatedFromShrinkWrap)return n.invalidate({widthModel:r,heightModel:u}),!1}else v.invalidateAxes(n,t,i);return p&&(n.setWidth(a),r&&(n.widthModel=r)),w&&(n.setHeight(l,b),u&&(n.heightModel=u)),!0},invalidateAxes:function(n,t,i){var p=this.beforeInvalidateShrinkWrapDock,w=this.afterInvalidateShrinkWrapDock,l=t.end-t.begin,a=i.initialSize,v=t.shrinkWrapDock&&t.maxChildSize<l,s=i.shrinkWrapDock&&i.maxChildSize<a,h,y,f,r,e,c,u,o;if(v||s)for(s&&(i.begin=i.initialBegin,i.end=i.begin+i.initialSize),h=n.dockedItems,f=0,y=h.length;f<y;++f)r=h[f],c=r.horizontal,u=null,v&&c?(o=t.sizeProp,e=l,u=t):s&&!c&&(o=i.sizeProp,e=a,u=i),u&&(e-=r.getMarginInfo()[o],e!==r.props[o]&&r.invalidate({before:p,after:w,axis:u,ownerContext:n,layout:this}))},finishPositions:function(n,t,i){for(var f=n.dockedItems,e=f.length,o=t.delta,s=i.delta,r,u=0;u<e;++u)r=f[u],r.setProp("x",o+r.dockedAt.x),r.setProp("y",s+r.dockedAt.y)},finishedLayout:function(n){var i=this,t=n.target;i.callParent(arguments);n.animatePolicy||(n.isCollapsingOrExpanding===1?t.afterCollapse(!1):n.isCollapsingOrExpanding===2&&t.afterExpand(!1))},getAnimatePolicy:function(n){var i=this,t,r;return n.isCollapsingOrExpanding==1?t=i.lastCollapsedState:n.isCollapsingOrExpanding==2&&(t=n.lastCollapsedState),t=="left"||t=="right"?r=i.horizontalCollapsePolicy:(t=="top"||t=="bottom")&&(r=i.verticalCollapsePolicy),r},getDockedItems:function(n,t){var r=this,h=n==="visual",i=h?Ext.ComponentQuery.query("[rendered]",r.owner.dockedItems.items):r.owner.dockedItems.items,e=i&&i.length&&n!==!1,c,o,u,f,s,l;if(t==null)u=e&&!h?i.slice():i;else{for(u=[],f=0,l=i.length;f<l;++f)o=i[f].dock,s=o=="top"||o=="left",(t?s:!s)&&u.push(i[f]);e=e&&u.length}return e&&(c=(n=n||"render")=="render",Ext.Array.sort(u,function(t,i){var u,f;return c&&(u=r.owner.dockOrder[t.dock])!==(f=r.owner.dockOrder[i.dock])&&!(u+f)?u-f:(u=r.getItemWeight(t,n),f=r.getItemWeight(i,n),u!==undefined&&f!==undefined)?u-f:0})),u||[]},getItemWeight:function(n,t){var i=n.weight||this.owner.defaultDockWeights[n.dock];return i[t]||i},getLayoutItems:function(){var i=this,r,f,u,n,t;if(i.owner.collapsed)t=i.owner.getCollapsedDockedItems();else for(r=i.getDockedItems("visual"),f=r.length,t=[],n=0;n<f;n++)u=r[n],u.hidden||t.push(u);return t},measureContentWidth:function(n){var t=n.bodyContext;return t.el.getWidth()-t.getBorderInfo().width},measureContentHeight:function(n){var t=n.bodyContext;return t.el.getHeight()-t.getBorderInfo().height},redoLayout:function(n){var i=this,t=i.owner;n.isCollapsingOrExpanding==1?(t.reExpander&&t.reExpander.el.show(),t.addClsWithUI(t.collapsedCls),n.redo(!0)):n.isCollapsingOrExpanding==2&&(t.removeClsWithUI(t.collapsedCls),n.bodyContext.redo())},renderChildren:function(){var n=this,t=n.getDockedItems(),i=n.getRenderTarget();n.handleItemBorders();n.renderItems(t,i)},renderItems:function(n,t){for(var f=this,s=n.length,e=0,r=0,c=0,l=f.getRenderTarget().dom.childNodes,a=l.length,h,i,o=0,u=0;o<a;o++){if(h=l[o],Ext.fly(h).hasCls(Ext.baseCSSPrefix+"resizable-handle"))break;for(u=0;u<s;u++)if(i=n[u],i.rendered&&i.el.dom===h)break;u===s&&c++}for(;e<s;e++,r++)i=n[e],e===r&&(i.dock==="right"||i.dock==="bottom")&&(r+=c),i&&!i.rendered?f.renderItem(i,t,r):f.isValidParent(i,t,r)||f.moveItem(i,t,r)},undoLayout:function(n){var i=this,t=i.owner;n.isCollapsingOrExpanding==1?(t.reExpander&&t.reExpander.el.hide(),t.removeClsWithUI(t.collapsedCls),n.undo(!0)):n.isCollapsingOrExpanding==2&&(t.addClsWithUI(t.collapsedCls),n.bodyContext.undo())},sizePolicy:{nostretch:{setsWidth:0,setsHeight:0},horz:{shrinkWrap:{setsWidth:1,setsHeight:0,readsWidth:1},stretch:{setsWidth:1,setsHeight:0}},vert:{shrinkWrap:{setsWidth:0,setsHeight:1,readsHeight:1},stretch:{setsWidth:0,setsHeight:1}},stretchV:{setsWidth:0,setsHeight:1},autoStretchH:{readsWidth:1,setsWidth:1,setsHeight:0},autoStretchV:{readsHeight:1,setsWidth:0,setsHeight:1}},getItemSizePolicy:function(n,t){var u=this,r=u.sizePolicy,i=u.owner.shrinkWrapDock,f,e;return n.stretch===!1?r.nostretch:(f=n.dock,e=f=="left"||f=="right",i=i===!0?3:i||0,e?(r=r.vert,i=i&1):(r=r.horz,i=i&2),i&&(t||(t=u.owner.getSizeModel()),t[e?"height":"width"].shrinkWrap))?r.shrinkWrap:r.stretch},configureItem:function(n){this.callParent(arguments);n.addCls(Ext.baseCSSPrefix+"docked");n.addClsWithUI(this.getDockCls(n.dock))},getDockCls:function(n){return"docked-"+n},afterRemove:function(n){this.callParent(arguments);this.itemCls&&n.el.removeCls(this.itemCls+"-"+n.dock);var t=n.el.dom;!n.destroying&&t&&t.parentNode.removeChild(t);this.childrenChanged=!0},borderCollapseMap:{},getBorderCollapseTable:function(){var u=this,t=u.borderCollapseMap,f=u.owner,n=f.baseCls,r=f.ui,i;return t=t[n]||(t[n]={}),i=t[r],i||(n+="-"+r+"-outer-border-",t[r]=i=[0,n+"l",n+"b",n+"bl",n+"r",n+"rl",n+"rb",n+"rbl",n+"t",n+"tl",n+"tb",n+"tbl",n+"tr",n+"trl",n+"trb",n+"trbl"]),i}},0,0,0,0,["layout.dock"],0,[Ext.layout.component,"Dock",Ext.layout.component,"AbstractDock"],0);Ext.cmd.derive("Ext.panel.AbstractPanel",Ext.container.Container,{baseCls:Ext.baseCSSPrefix+"panel",isPanel:!0,contentPaddingProperty:"bodyPadding",shrinkWrapDock:!1,componentLayout:"dock",childEls:["body"],renderTpl:["{% this.renderDockedItems(out,values,0); %}",Ext.isIE7m||Ext.isIEQuirks?'<div style="position:relative"><\/div>':"",'<div id="{id}-body" class="{baseCls}-body<tpl if="bodyCls"> {bodyCls}<\/tpl>',' {baseCls}-body-{ui}<tpl if="uiCls">','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl>','<\/tpl>{childElCls}"','<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values);%}","<\/div>","{% this.renderDockedItems(out,values,1); %}"],bodyPosProps:{x:"x",y:"y"},border:!0,emptyArray:[],initComponent:function(){this.initBorderProps();this.callParent()},initBorderProps:function(){var n=this;n.frame&&n.border&&n.bodyBorder===undefined&&(n.bodyBorder=!1);n.frame&&n.border&&(n.bodyBorder===!1||n.bodyBorder===0)&&(n.manageBodyBorders=!0)},beforeDestroy:function(){this.destroyDockedItems();this.callParent()},initItems:function(){this.callParent();this.initDockingItems()},initRenderData:function(){var n=this,t=n.callParent();return n.initBodyStyles(),n.protoBody.writeTo(t),delete n.protoBody,t},getComponent:function(n){var t=this.callParent(arguments);return t!==undefined||Ext.isNumber(n)||(t=this.getDockedComponent(n)),t},getProtoBody:function(){var n=this,t=n.protoBody;return t||(n.protoBody=t=new Ext.util.ProtoElement({cls:n.bodyCls,style:n.bodyStyle,clsProp:"bodyCls",styleProp:"bodyStyle",styleIsText:!0})),t},initBodyStyles:function(){var n=this,t=n.getProtoBody();n.bodyPadding!==undefined&&(n.layout.managePadding?t.setStyle("padding",0):t.setStyle("padding",this.unitizeBox(n.bodyPadding===!0?5:n.bodyPadding)));n.initBodyBorder()},initBodyBorder:function(){var n=this;n.frame&&n.bodyBorder&&(Ext.isNumber(n.bodyBorder)||(n.bodyBorder=1),n.getProtoBody().setStyle("border-width",this.unitizeBox(n.bodyBorder)))},getCollapsedDockedItems:function(){var n=this;return n.header===!1||n.collapseMode=="placeholder"?n.emptyArray:[n.getReExpander()]},setBodyStyle:function(n,t){var i=this,r=i.rendered?i.body:i.getProtoBody();return Ext.isFunction(n)&&(n=n()),arguments.length==1?(Ext.isString(n)&&(n=Ext.Element.parseStyles(n)),r.setStyle(n)):r.setStyle(n,t),i},addBodyCls:function(n){var t=this,i=t.rendered?t.body:t.getProtoBody();return i.addCls(n),t},removeBodyCls:function(n){var t=this,i=t.rendered?t.body:t.getProtoBody();return i.removeCls(n),t},addUIClsToElement:function(n){var t=this,i=t.callParent(arguments);return t.addBodyCls([Ext.baseCSSPrefix+n,t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n]),i},removeUIClsFromElement:function(n){var t=this,i=t.callParent(arguments);return t.removeBodyCls([Ext.baseCSSPrefix+n,t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n]),i},addUIToElement:function(){var n=this;n.callParent(arguments);n.addBodyCls(n.baseCls+"-body-"+n.ui)},removeUIFromElement:function(){var n=this;n.callParent(arguments);n.removeBodyCls(n.baseCls+"-body-"+n.ui)},getTargetEl:function(){return this.body},applyTargetCls:function(n){this.getProtoBody().addCls(n)},getRefItems:function(n){var t=this.callParent(arguments);return this.getDockingRefItems(n,t)},setupRenderTpl:function(n){this.callParent(arguments);this.setupDockingRenderTpl(n)}},0,0,["component","container","box"],{component:!0,container:!0,box:!0},0,[["docking",Ext.container.DockingContainer]],[Ext.panel,"AbstractPanel"],0);Ext.cmd.derive("Ext.panel.Header",Ext.container.Container,{isHeader:!0,defaultType:"tool",indicateDrag:!1,weight:-1,componentLayout:"body",childEls:["body"],renderTpl:['<div id="{id}-body" class="{headerCls}-body {baseCls}-body {bodyCls} {bodyTargetCls}','<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl>"','<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values)%}","<\/div>"],headingTpl:['<span id="{id}-textEl" class="{headerCls}-text {cls}-text {cls}-text-{ui}" unselectable="on">{title}<\/span>'],shrinkWrap:3,titlePosition:0,headerCls:Ext.baseCSSPrefix+"header",initComponent:function(){var n=this,u=n.hasOwnProperty("titlePosition"),t=n.items,i=u?n.titlePosition:t?t.length:0,f=[n.orientation,n.getDockName()],r=n.ownerCt;n.addEvents("click","dblclick");n.indicateDragCls=n.headerCls+"-draggable";n.title=n.title||"&#160;";n.tools=n.tools||[];t=n.items=t?Ext.Array.slice(t):[];n.orientation=n.orientation||"horizontal";n.dock=n.dock?n.dock:n.orientation=="horizontal"?"top":"left";(r?r.border||r.frame:n.border)||f.push(n.orientation+"-noborder");n.addClsWithUI(f);n.addCls([n.headerCls,n.headerCls+"-"+n.orientation]);n.indicateDrag&&n.addCls(n.indicateDragCls);(n.iconCls||n.icon||n.glyph)&&(n.initIconCmp(),u||t.length||++i,t.push(n.iconCmp));n.titleCmp=new Ext.Component({ariaRole:"heading",focusable:!1,noWrap:!0,flex:1,rtl:n.rtl,id:n.id+"_hd",style:n.titleAlign?"text-align:"+n.titleAlign:"",cls:n.headerCls+"-text-container "+n.baseCls+"-text-container "+n.baseCls+"-text-container-"+n.ui,renderTpl:n.getTpl("headingTpl"),renderData:{title:n.title,cls:n.baseCls,headerCls:n.headerCls,ui:n.ui},childEls:["textEl"],autoEl:{unselectable:"on"},listeners:{render:n.onTitleRender,scope:n}});n.layout=n.orientation=="vertical"?{type:"vbox",align:"center",alignRoundingMethod:"ceil"}:{type:"hbox",align:"middle",alignRoundingMethod:"floor"};Ext.Array.push(t,n.tools);n.tools.length=0;n.callParent();t.length<i&&(i=t.length);n.titlePosition=i;n.insert(i,n.titleCmp);n.on({dblclick:n.onDblClick,click:n.onClick,element:"el",scope:n})},initIconCmp:function(){var n=this,i=[n.headerCls+"-icon",n.baseCls+"-icon",n.iconCls],t;n.glyph&&i.push(n.baseCls+"-glyph");t={focusable:!1,src:Ext.BLANK_IMAGE_URL,cls:i,baseCls:n.baseCls+"-icon",id:n.id+"-iconEl",iconCls:n.iconCls,glyph:n.glyph};Ext.isEmpty(n.icon)||(delete t.iconCls,t.src=n.icon);n.iconCmp=new Ext.Img(t)},beforeRender:function(){this.protoEl.unselectable();this.callParent()},afterLayout:function(){var n=this,u,t,i,r;n.orientation==="vertical"&&(n.adjustTitlePosition(),t=n.frameTR,t&&(u=n.frameBR,i=n.frameTL,r=n.getWidth()-t.getPadding("r")-(i?i.getPadding("l"):n.el.getBorderWidth("l"))+"px",u.setStyle("background-position-x",r),t.setStyle("background-position-x",r)),Ext.isIE7&&Ext.isStrict&&n.frame&&n.el.repaint())},beforeLayout:function(){this.callParent();this.syncBeforeAfterTitleClasses()},adjustTitlePosition:function(){var t=this.titleCmp,n;!Ext.isIE9m&&t&&(n=t.el,n.setStyle("left",n.getWidth()+"px"))},onTitleRender:function(){this.orientation==="vertical"&&this.titleCmp.el.setVertical(90)},addUIClsToElement:function(n){var t=this,f=t.callParent(arguments),r=[t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n],u,i;if(t.bodyCls){for(u=t.bodyCls.split(" "),i=0;i<r.length;i++)Ext.Array.contains(u,r[i])||u.push(r[i]);t.bodyCls=u.join(" ")}else t.bodyCls=r.join(" ");return f},removeUIClsFromElement:function(n){var t=this,f=t.callParent(arguments),u=[t.baseCls+"-body-"+n,t.baseCls+"-body-"+t.ui+"-"+n],r,i;if(t.bodyCls){for(r=t.bodyCls.split(" "),i=0;i<u.length;i++)Ext.Array.remove(r,u[i]);t.bodyCls=r.join(" ")}return f},addUIToElement:function(){var n=this,i,t;n.callParent(arguments);t=n.baseCls+"-body-"+n.ui;n.rendered?n.bodyCls?n.body.addCls(n.bodyCls):n.body.addCls(t):n.bodyCls?(i=n.bodyCls.split(" "),Ext.Array.contains(i,t)||i.push(t),n.bodyCls=i.join(" ")):n.bodyCls=t;n.titleCmp&&n.titleCmp.rendered&&n.titleCmp.addCls(n.baseCls+"-text-container-"+n.ui)},removeUIFromElement:function(){var n=this,i,t;n.callParent(arguments);t=n.baseCls+"-body-"+n.ui;n.rendered?n.bodyCls?n.body.removeCls(n.bodyCls):n.body.removeCls(t):n.bodyCls?(i=n.bodyCls.split(" "),Ext.Array.remove(i,t),n.bodyCls=i.join(" ")):n.bodyCls=t;n.titleCmp&&n.titleCmp.rendered&&n.titleCmp.removeCls(n.baseCls+"-text-container-"+n.ui)},onClick:function(n){this.fireClickEvent("click",n)},onDblClick:function(n){this.fireClickEvent("dblclick",n)},fireClickEvent:function(n,t){var i="."+Ext.panel.Tool.prototype.baseCls;t.getTarget(i)||this.fireEvent(n,this,t)},getFocusEl:function(){return this.el},getTargetEl:function(){return this.body||this.frameBody||this.el},applyTargetCls:function(n){this.bodyTargetCls=n},setTitle:function(n){var t=this,i=t.titleCmp;if(t.title=n,i.rendered)i.textEl.update(t.title||"&#160;"),i.updateLayout();else t.titleCmp.on({render:function(){t.setTitle(n)},single:!0})},getMinWidth:function(){var t=this,u=t.titleCmp.textEl.dom,i,r=t.tools,f,n;if(u.style.display="inline",i=u.offsetWidth,u.style.display="",r&&(f=r.length))for(n=0;n<f;n++)r[n].el&&(i+=r[n].el.dom.offsetWidth);return t.iconCmp&&(i+=t.iconCmp.el.dom.offsetWidth),i+10},setIconCls:function(n){var t=this,r=!n||!n.length,i=t.iconCmp;t.iconCls=n;t.iconCmp||r?i&&(r?(t.iconCmp.destroy(),delete t.iconCmp):(i.removeCls(i.iconCls),i.addCls(n),i.iconCls=n)):(t.initIconCmp(),t.insert(0,t.iconCmp))},setIcon:function(n){var t=this,i=!n||!n.length,r=t.iconCmp;t.icon=n;t.iconCmp||i?r&&(i?(t.iconCmp.destroy(),delete t.iconCmp):r.setSrc(t.icon)):(t.initIconCmp(),t.insert(0,t.iconCmp))},setGlyph:function(n){var t=this,i=t.iconCmp;t.iconCmp?i&&(n?t.iconCmp.setGlyph(n):(t.iconCmp.destroy(),delete t.iconCmp)):(t.initIconCmp(),t.insert(0,t.iconCmp))},getTools:function(){return this.tools.slice()},addTool:function(n){this.add(Ext.ComponentManager.create(n,"tool"))},syncBeforeAfterTitleClasses:function(){var i=this,e=i.items,o=e.items,s=i.titlePosition,c=o.length,h=e.generation,r=i.syncBeforeAfterGen,u,f,t,n;if(r!==h)for(i.syncBeforeAfterGen=h,t=0;t<c;++t)n=o[t],u=n.afterTitleCls||(n.afterTitleCls=n.baseCls+"-after-title"),f=n.beforeTitleCls||(n.beforeTitleCls=n.baseCls+"-before-title"),!i.title||t<s?(r&&n.removeCls(u),n.addCls(f)):t>s&&(r&&n.removeCls(f),n.addCls(u))},onAdd:function(n){var t=this.tools;this.callParent(arguments);n.isTool&&(t.push(n),t[n.type]=n)},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyCls:this.bodyCls,bodyTargetCls:this.bodyTargetCls,headerCls:this.headerCls})},getDockName:function(){return this.dock},getFramingInfoCls:function(){var n=this,i=n.callParent(),t=n.ownerCt;return(!n.expanding&&t&&t.collapsed||n.isCollapsedExpander)&&(i+="-"+t.collapsedCls),i+"-"+n.dock}},0,["header"],["component","container","box","header"],{component:!0,container:!0,box:!0,header:!0},["widget.header"],0,[Ext.panel,"Header"],0);Ext.cmd.derive("Ext.dd.DragDrop",Ext.Base,{constructor:function(n,t,i){n&&this.init(n,t,i)},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:!1,lock:function(){this.locked=!0},moveOnly:!1,unlock:function(){this.locked=!1},isTarget:!0,padding:null,_domRef:null,__ygDragDrop:!0,constrainX:!1,constrainY:!1,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:!1,xTicks:null,yTicks:null,primaryButtonOnly:!0,available:!1,hasOuterHandles:!1,b4StartDrag:function(){},startDrag:function(){},b4Drag:function(){},onDrag:function(){},onDragEnter:function(){},b4DragOver:function(){},onDragOver:function(){},b4DragOut:function(){},onDragOut:function(){},b4DragDrop:function(){},onDragDrop:function(){},onInvalidDrop:function(){},b4EndDrag:function(){},endDrag:function(){},b4MouseDown:function(){},onMouseDown:function(){},onMouseUp:function(){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(n,t){Ext.isNumber(t)&&(t={left:t,right:t,top:t,bottom:t});t=t||this.defaultPadding;var r=Ext.get(this.getEl()).getBox(),u=Ext.get(n),h=u.getScroll(),i,f=u.dom,e,o,s;f==document.body?i={x:h.left,y:h.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}:(e=u.getXY(),i={x:e[0],y:e[1],width:f.clientWidth,height:f.clientHeight});o=r.y-i.y;s=r.x-i.x;this.resetConstraints();this.setXConstraint(s-(t.left||0),i.width-s-r.width-(t.right||0),this.xTickSize);this.setYConstraint(o-(t.top||0),i.height-o-r.height-(t.bottom||0),this.yTickSize)},getEl:function(){return this._domRef||(this._domRef=Ext.getDom(this.id)),this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(n,t,i){this.initTarget(n,t,i);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(n,t,i){this.config=i||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};typeof n!="string"&&(n=Ext.id(n));this.id=n;this.addToGroup(t?t:"default");this.handleElId=n;this.setDragElId(n);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=this.config.isTarget!==!1;this.maintainOffset=this.config.maintainOffset;this.primaryButtonOnly=this.config.primaryButtonOnly!==!1},handleOnAvailable:function(){this.available=!0;this.resetConstraints();this.onAvailable()},setPadding:function(n,t,i,r){this.padding=t||0===t?i||0===i?[n,t,i,r]:[n,t,n,t]:[n,n,n,n]},setInitPosition:function(n,t){var r=this.getEl(),u,f,i;this.DDMInstance.verifyEl(r)&&(u=n||0,f=t||0,i=Ext.Element.getXY(r),this.initPageX=i[0]-u,this.initPageY=i[1]-f,this.lastPageX=i[0],this.lastPageY=i[1],this.setStartPosition(i))},setStartPosition:function(n){var t=n||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=t[0];this.startPageY=t[1]},addToGroup:function(n){this.groups[n]=!0;this.DDMInstance.regDragDrop(this,n)},removeFromGroup:function(n){this.groups[n]&&delete this.groups[n];this.DDMInstance.removeDDFromGroup(this,n)},setDragElId:function(n){this.dragElId=n},setHandleElId:function(n){typeof n!="string"&&(n=Ext.id(n));this.handleElId=n;this.DDMInstance.regHandle(this.id,n)},setOuterHandleElId:function(n){typeof n!="string"&&(n=Ext.id(n));Ext.EventManager.on(n,"mousedown",this.handleMouseDown,this);this.setHandleElId(n);this.hasOuterHandles=!0},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return this.DDMInstance.isLocked()||this.locked},handleMouseDown:function(n){var t=this;if((!t.primaryButtonOnly||n.button==0)&&!t.isLocked()&&(t.DDMInstance.refreshCache(t.groups),(t.hasOuterHandles||t.DDMInstance.isOverTarget(n.getPoint(),t))&&t.clickValidator(n))){t.setStartPosition();t.b4MouseDown(n);t.onMouseDown(n);t.DDMInstance.handleMouseDown(n,t);t.DDMInstance.stopEvent(n)}},clickValidator:function(n){var t=n.getTarget();return this.isValidHandleChild(t)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(t,this.id))},addInvalidHandleType:function(n){var t=n.toUpperCase();this.invalidHandleTypes[t]=t},addInvalidHandleId:function(n){typeof n!="string"&&(n=Ext.id(n));this.invalidHandleIds[n]=n},addInvalidHandleClass:function(n){this.invalidHandleClasses.push(n)},removeInvalidHandleType:function(n){var t=n.toUpperCase();delete this.invalidHandleTypes[t]},removeInvalidHandleId:function(n){typeof n!="string"&&(n=Ext.id(n));delete this.invalidHandleIds[n]},removeInvalidHandleClass:function(n){for(var t=0,i=this.invalidHandleClasses.length;t<i;++t)this.invalidHandleClasses[t]==n&&delete this.invalidHandleClasses[t]},isValidHandleChild:function(n){var t=!0,r,i,u;try{r=n.nodeName.toUpperCase()}catch(f){r=n.nodeName}for(t=t&&!this.invalidHandleTypes[r],t=t&&!this.invalidHandleIds[n.id],i=0,u=this.invalidHandleClasses.length;t&&i<u;++i)t=!Ext.fly(n).hasCls(this.invalidHandleClasses[i]);return t},setXTicks:function(n,t){this.xTicks=[];this.xTickSize=t;for(var r={},i=this.initPageX;i>=this.minX;i=i-t)r[i]||(this.xTicks[this.xTicks.length]=i,r[i]=!0);for(i=this.initPageX;i<=this.maxX;i=i+t)r[i]||(this.xTicks[this.xTicks.length]=i,r[i]=!0);Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(n,t){this.yTicks=[];this.yTickSize=t;for(var r={},i=this.initPageY;i>=this.minY;i=i-t)r[i]||(this.yTicks[this.yTicks.length]=i,r[i]=!0);for(i=this.initPageY;i<=this.maxY;i=i+t)r[i]||(this.yTicks[this.yTicks.length]=i,r[i]=!0);Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(n,t,i){this.leftConstraint=n;this.rightConstraint=t;this.minX=this.initPageX-n;this.maxX=this.initPageX+t;i&&this.setXTicks(this.initPageX,i);this.constrainX=!0},clearConstraints:function(){this.constrainX=!1;this.constrainY=!1;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(n,t,i){this.topConstraint=n;this.bottomConstraint=t;this.minY=this.initPageY-n;this.maxY=this.initPageY+t;i&&this.setYTicks(this.initPageY,i);this.constrainY=!0},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var n=this.maintainOffset?this.lastPageX-this.initPageX:0,t=this.maintainOffset?this.lastPageY-this.initPageY:0;this.setInitPosition(n,t)}else this.setInitPosition();this.constrainX&&this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);this.constrainY&&this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)},getTick:function(n,t){if(t){if(t[0]>=n)return t[0];for(var r,f,e,i=0,u=t.length;i<u;++i)if(r=i+1,t[r]&&t[r]>=n)return f=n-t[i],e=t[r]-n,e>f?t[i]:t[r];return t[t.length-1]}return n},toString:function(){return"DragDrop "+this.id}},3,0,0,0,0,0,[Ext.dd,"DragDrop"],0);Ext.cmd.derive("Ext.dd.DD",Ext.dd.DragDrop,{constructor:function(n,t,i){n&&this.init(n,t,i)},scroll:!0,autoOffset:function(n,t){var i=n-this.startPageX,r=t-this.startPageY;this.setDelta(i,r)},setDelta:function(n,t){this.deltaX=n;this.deltaY=t},setDragElPos:function(n,t){var i=this.getDragEl();this.alignElWithMouse(i,n,t)},alignElWithMouse:function(n,t,i){var r=this.getTargetCoord(t,i),f=n.dom?n:Ext.fly(n,"_dd"),e=f.getSize(),o=Ext.Element,u,s,h,c;return this.deltaSetXY?(u=this.cachedViewportSize,this.setLocalXY(f,Math.max(0,Math.min(r.x+this.deltaSetXY[0],u.width-e.width)),Math.max(0,Math.min(r.y+this.deltaSetXY[1],u.height-e.height)))):(u=this.cachedViewportSize={width:o.getDocumentWidth(),height:o.getDocumentHeight()},s=[Math.max(0,Math.min(r.x,u.width-e.width)),Math.max(0,Math.min(r.y,u.height-e.height))],f.setXY(s),h=this.getLocalX(f),c=f.getLocalY(),this.deltaSetXY=[h-r.x,c-r.y]),this.cachePosition(r.x,r.y),this.autoScroll(r.x,r.y,n.offsetHeight,n.offsetWidth),r},cachePosition:function(n,t){if(n)this.lastPageX=n,this.lastPageY=t;else{var i=Ext.Element.getXY(this.getEl());this.lastPageX=i[0];this.lastPageY=i[1]}},autoScroll:function(n,t,i,r){if(this.scroll){var s=Ext.Element.getViewHeight(),h=Ext.Element.getViewWidth(),u=this.DDMInstance.getScrollTop(),f=this.DDMInstance.getScrollLeft(),c=i+t,l=r+n,a=s+u-t-this.deltaY,v=h+f-n-this.deltaX,e=40,o=document.all?80:30;c>s&&a<e&&window.scrollTo(f,u+o);t<u&&u>0&&t-u<e&&window.scrollTo(f,u-o);l>h&&v<e&&window.scrollTo(f+o,u);n<f&&f>0&&n-f<e&&window.scrollTo(f-o,u)}},getTargetCoord:function(n,t){var i=n-this.deltaX,r=t-this.deltaY;return this.constrainX&&(i<this.minX&&(i=this.minX),i>this.maxX&&(i=this.maxX)),this.constrainY&&(r<this.minY&&(r=this.minY),r>this.maxY&&(r=this.maxY)),i=this.getTick(i,this.xTicks),r=this.getTick(r,this.yTicks),{x:i,y:r}},applyConfig:function(){this.callParent();this.scroll=this.config.scroll!==!1},b4MouseDown:function(n){this.autoOffset(n.getPageX(),n.getPageY())},b4Drag:function(n){this.setDragElPos(n.getPageX(),n.getPageY())},toString:function(){return"DD "+this.id},getLocalX:function(n){return n.getLocalX()},setLocalXY:function(n,t,i){n.setLocalXY(t,i)}},3,0,0,0,0,0,[Ext.dd,"DD"],0);Ext.cmd.derive("Ext.dd.DDProxy",Ext.dd.DD,{statics:{dragElId:"ygddfdiv"},constructor:function(n,t,i){n&&(this.init(n,t,i),this.initFrame())},resizeFrame:!0,centerFrame:!1,createFrame:function(){var r=this,i=document.body,n,t;if(!i||!i.firstChild){setTimeout(function(){r.createFrame()},50);return}n=this.getDragEl();n||(n=document.createElement("div"),n.id=this.dragElId,t=n.style,t.position="absolute",t.visibility="hidden",t.cursor="move",t.border="2px solid #aaa",t.zIndex=999,i.insertBefore(n,i.firstChild))},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=this.config.resizeFrame!==!1;this.centerFrame=this.config.centerFrame;this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(n,t){var u=this.getEl(),i=this.getDragEl(),r=i.style;this._resizeProxy();this.centerFrame&&this.setDelta(Math.round(parseInt(r.width,10)/2),Math.round(parseInt(r.height,10)/2));this.setDragElPos(n,t);Ext.fly(i).show()},_resizeProxy:function(){if(this.resizeFrame){var n=this.getEl();Ext.fly(this.getDragEl()).setSize(n.offsetWidth,n.offsetHeight)}},b4MouseDown:function(n){var t=n.getPageX(),i=n.getPageY();this.autoOffset(t,i);this.setDragElPos(t,i)},b4StartDrag:function(n,t){this.showFrame(n,t)},b4EndDrag:function(){Ext.fly(this.getDragEl()).hide()},endDrag:function(){var n=this.getEl(),t=this.getDragEl();t.style.visibility="";this.beforeMove();n.style.visibility="hidden";Ext.dd.DDM.moveToEl(n,t);t.style.visibility="hidden";n.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return"DDProxy "+this.id}},3,0,0,0,0,0,[Ext.dd,"DDProxy"],0);Ext.cmd.derive("Ext.dd.StatusProxy",Ext.Component,{animRepair:!1,childEls:["ghost"],renderTpl:['<div class="'+Ext.baseCSSPrefix+'dd-drop-icon"><\/div><div id="{id}-ghost" class="'+Ext.baseCSSPrefix+'dd-drag-ghost"><\/div>'],repairCls:Ext.baseCSSPrefix+"dd-drag-repair",constructor:function(n){var t=this;n=n||{};Ext.apply(t,{hideMode:"visibility",hidden:!0,floating:!0,id:t.id||Ext.id(),cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:n.shadow||!1,renderTo:Ext.getDetachedBody()});t.callParent(arguments);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(n){n=n||this.dropNotAllowed;this.dropStatus!=n&&(this.el.replaceCls(this.dropStatus,n),this.dropStatus=n)},reset:function(n){var t=this,i=Ext.baseCSSPrefix+"dd-drag-proxy ";t.el.replaceCls(i+t.dropAllowed,i+t.dropNotAllowed);t.dropStatus=t.dropNotAllowed;n&&t.ghost.update("")},update:function(n){typeof n=="string"?this.ghost.update(n):(this.ghost.update(""),n.style.margin="0",this.ghost.dom.appendChild(n));var t=this.ghost.dom.firstChild;t&&Ext.fly(t).setStyle("float","none")},getGhost:function(){return this.ghost},hide:function(n){this.callParent();n&&this.reset(!0)},stop:function(){this.anim&&this.anim.isAnimated&&this.anim.isAnimated()&&this.anim.stop()},sync:function(){this.el.sync()},repair:function(n,t,i){var r=this;r.callback=t;r.scope=i;n&&r.animRepair!==!1?(r.el.addCls(r.repairCls),r.el.hideUnders(!0),r.anim=r.el.animate({duration:r.repairDuration||500,easing:"ease-out",to:{x:n[0],y:n[1]},stopAnimation:!0,callback:r.afterRepair,scope:r})):r.afterRepair()},afterRepair:function(){var n=this;n.hide(!0);n.el.removeCls(n.repairCls);typeof n.callback=="function"&&n.callback.call(n.scope||n);delete n.callback;delete n.scope}},1,0,["component","box"],{component:!0,box:!0},0,0,[Ext.dd,"StatusProxy"],0);Ext.cmd.derive("Ext.dd.DragSource",Ext.dd.DDProxy,{dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:!0,repairHighlightColor:"c3daf9",constructor:function(n,t){this.el=Ext.get(n);this.dragData||(this.dragData={});Ext.apply(this,t);this.proxy||(this.proxy=new Ext.dd.StatusProxy({id:this.el.id+"-drag-status-proxy",animRepair:this.animRepair}));this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:!1,isTarget:!1,scroll:this.scroll===!0}]);this.dragging=!1},getDragData:function(){return this.dragData},onDragEnter:function(n,t){var i=Ext.dd.DragDropManager.getDDById(t),r;this.cachedTarget=i;this.beforeDragEnter(i,n,t)!==!1&&(i.isNotifyTarget?(r=i.notifyEnter(this,n,this.dragData),this.proxy.setStatus(r)):this.proxy.setStatus(this.dropAllowed),this.afterDragEnter&&this.afterDragEnter(i,n,t))},beforeDragEnter:function(){return!0},onDragOver:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t),r;this.beforeDragOver(i,n,t)!==!1&&(i.isNotifyTarget&&(r=i.notifyOver(this,n,this.dragData),this.proxy.setStatus(r)),this.afterDragOver&&this.afterDragOver(i,n,t))},beforeDragOver:function(){return!0},onDragOut:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t);this.beforeDragOut(i,n,t)!==!1&&(i.isNotifyTarget&&i.notifyOut(this,n,this.dragData),this.proxy.reset(),this.afterDragOut&&this.afterDragOut(i,n,t));this.cachedTarget=null},beforeDragOut:function(){return!0},onDragDrop:function(n,t){var i=this.cachedTarget||Ext.dd.DragDropManager.getDDById(t);if(this.beforeDragDrop(i,n,t)!==!1){if(i.isNotifyTarget)if(i.notifyDrop(this,n,this.dragData)!==!1)this.onValidDrop(i,n,t);else this.onInvalidDrop(i,n,t);else this.onValidDrop(i,n,t);this.afterDragDrop&&this.afterDragDrop(i,n,t)}delete this.cachedTarget},beforeDragDrop:function(){return!0},onValidDrop:function(n,t,i){this.hideProxy();this.afterValidDrop&&this.afterValidDrop(n,t,i)},getRepairXY:function(){return this.el.getXY()},onInvalidDrop:function(n,t,i){var r=this;t||(t=n,n=null,i=t.getTarget().id);r.beforeInvalidDrop(n,t,i)!==!1&&(r.cachedTarget&&(r.cachedTarget.isNotifyTarget&&r.cachedTarget.notifyOut(r,t,r.dragData),r.cacheTarget=null),r.proxy.repair(r.getRepairXY(t,r.dragData),r.afterRepair,r),r.afterInvalidDrop&&r.afterInvalidDrop(t,i))},afterRepair:function(){var n=this;Ext.enableFx&&n.el.highlight(n.repairHighlightColor);n.dragging=!1},beforeInvalidDrop:function(){return!0},handleMouseDown:function(n){if(!this.dragging){var t=this.getDragData(n);t&&this.onBeforeDrag(t,n)!==!1&&(this.dragData=t,this.proxy.stop(),this.callParent(arguments))}},onBeforeDrag:function(){return!0},onStartDrag:Ext.emptyFn,alignElWithMouse:function(){return this.proxy.ensureAttachedToBody(!0),this.callParent(arguments)},startDrag:function(n,t){this.proxy.reset();this.proxy.hidden=!1;this.dragging=!0;this.proxy.update("");this.onInitDrag(n,t);this.proxy.show()},onInitDrag:function(n,t){var i=this.el.dom.cloneNode(!0);i.id=Ext.id();this.proxy.update(i);this.onStartDrag(n,t);return!0},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(!0);this.dragging=!1},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(){},endDrag:function(n){this.onEndDrag(this.dragData,n)},onEndDrag:function(){},autoOffset:function(){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}},1,0,0,0,0,0,[Ext.dd,"DragSource"],0);Ext.cmd.derive("Ext.panel.Proxy",Ext.Base,{alternateClassName:"Ext.dd.PanelProxy",moveOnDrag:!0,constructor:function(n,t){var i=this;i.panel=n;i.id=i.panel.id+"-ddproxy";Ext.apply(i,t)},insertProxy:!0,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){var n=this;n.ghost&&(n.proxy&&(n.proxy.remove(),delete n.proxy),n.panel.unghost(null,n.moveOnDrag),delete n.ghost)},show:function(){var n=this,t;n.ghost||(t=n.panel.getSize(),n.panel.el.setVisibilityMode(Ext.Element.DISPLAY),n.ghost=n.panel.ghost(),n.insertProxy&&(n.proxy=n.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"}),n.proxy.setSize(t)))},repair:function(n,t,i){this.hide();Ext.callback(t,i||this)},moveProxy:function(n,t){this.proxy&&n.insertBefore(this.proxy.dom,t)}},1,0,0,0,0,0,[Ext.panel,"Proxy",Ext.dd,"PanelProxy"],0);Ext.cmd.derive("Ext.panel.DD",Ext.dd.DragSource,{constructor:function(n,t){var i=this;i.panel=n;i.dragData={panel:n};i.panelProxy=new Ext.panel.Proxy(n,t);i.proxy=i.panelProxy.proxy;i.callParent([n.el,t]);i.setupEl(n)},setupEl:function(n){var t=this,i=n.header,r=n.body;if(i&&(t.setHandleElId(i.id),r=i.el),r)r.setStyle("cursor","move"),t.scroll=!1;else n.on("boxready",t.setupEl,t,{single:!0})},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(){this.panelProxy.show()},b4MouseDown:function(n){var t=n.getPageX(),i=n.getPageY();this.autoOffset(t,i)},onInitDrag:function(n,t){this.onStartDrag(n,t);return!0},createFrame:Ext.emptyFn,getDragEl:function(){var n=this.panelProxy.ghost;if(n)return n.el.dom},endDrag:function(){this.panelProxy.hide();this.panel.saveState()},autoOffset:function(n,t){n-=this.startPageX;t-=this.startPageY;this.setDelta(n,t)},onInvalidDrop:function(n,t,i){var r=this;r.beforeInvalidDrop(n,t,i)!==!1&&(r.cachedTarget&&(r.cachedTarget.isNotifyTarget&&r.cachedTarget.notifyOut(r,t,r.dragData),r.cacheTarget=null),r.afterInvalidDrop&&r.afterInvalidDrop(t,i))}},1,0,0,0,0,0,[Ext.panel,"DD"],0);Ext.cmd.derive("Ext.util.Memento",Ext.Base,function(){function i(n,t,i,r){n[r?r+i:i]=t[i]}function r(n,t,i){delete n[i]}function u(n,i,r,u){var f=u?u+r:r,e=n[f];(e||n.hasOwnProperty(f))&&t(i,r,e)}function t(n,t,i){Ext.isDefined(i)?n[t]=i:delete n[t]}function n(n,t,i,r,u){if(t)if(Ext.isArray(r))for(var e=r.length,f=0;f<e;f++)n(t,i,r[f],u);else n(t,i,r,u)}return{data:null,target:null,constructor:function(n,t){n&&(this.target=n,t&&this.capture(t))},capture:function(t,r,u){var f=this;n(i,f.data||(f.data={}),r||f.target,t,u)},remove:function(t){n(r,this.data,null,t)},restore:function(t,i,r,f){n(u,this.data,r||this.target,t,f);i!==!1&&this.remove(t)},restoreAll:function(n,i){var f=this,e=i||this.target,r=f.data;for(var u in r)r.hasOwnProperty(u)&&t(e,u,r[u]);n!==!1&&delete f.data}}}(),1,0,0,0,0,0,[Ext.util,"Memento"],0);Ext.cmd.derive("Ext.panel.Panel",Ext.panel.AbstractPanel,{alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:!1,collapseFirst:!0,hideCollapseTool:!1,titleCollapse:undefined,floatable:!0,collapsible:undefined,closable:!1,closeAction:"destroy",placeholderCollapseHideMode:Ext.Element.VISIBILITY,preventHeader:!1,header:undefined,headerPosition:"top",frame:!1,frameHeader:!0,manageHeight:!0,constrain:!1,constrainHeader:!1,initComponent:function(){var n=this;n.addEvents("beforeclose","close","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange","iconclschange","glyphchange","float","unfloat");n.collapsible&&this.addStateEvents(["expand","collapse"]);n.unstyled&&n.setUI("plain");n.frame&&n.setUI(n.ui+"-framed");n.bridgeToolbars();n.callParent();n.collapseDirection=n.collapseDirection||n.headerPosition||Ext.Component.DIRECTION_TOP;n.hiddenOnCollapse=new Ext.dom.CompositeElement},beforeDestroy:function(){var n=this;Ext.destroy(n.placeholder,n.ghostPanel,n.dd);n.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},getFocusEl:function(){return this.el},initHeaderAria:function(){var n=this,t=n.el,i=n.header;t&&i&&t.dom.setAttribute("aria-labelledby",i.titleCmp.id)},getHeader:function(){return this.header},setTitle:function(n){var t=this,f=t.title,i=t.header,u=t.reExpander,r=t.placeholder;t.title=n;i?i.isHeader?i.setTitle(n):i.title=n:t.rendered&&t.updateHeader();u&&u.setTitle(n);r&&r.setTitle&&r.setTitle(n);t.fireEvent("titlechange",t,n,f)},setIconCls:function(n){var t=this,u=t.iconCls,i=t.header,r=t.placeholder;t.iconCls=n;i?i.isHeader?i.setIconCls(n):i.iconCls=n:t.updateHeader();r&&r.setIconCls&&r.setIconCls(n);t.fireEvent("iconclschange",t,n,u)},setIcon:function(n){var t=this,u=t.icon,i=t.header,r=t.placeholder;t.icon=n;i?i.isHeader?i.setIcon(n):i.icon=n:t.updateHeader();r&&r.setIcon&&r.setIcon(n);t.fireEvent("iconchange",t,n,u)},setGlyph:function(n){var t=this,u=t.glyph,i=t.header,r=t.placeholder;t.glyph=n;i?i.isHeader?i.setGlyph(n):i.glyph=n:t.updateHeader();r&&r.setGlyph&&r.setIcon(n);t.fireEvent("glyphchange",t,n,u)},bridgeToolbars:function(){function r(t,i,r){return Ext.isArray(t)?t={xtype:"toolbar",items:t}:t.xtype||(t.xtype="toolbar"),t.dock=i,(i=="left"||i=="right")&&(t.vertical=!0),r&&(t.layout=Ext.applyIf(t.layout||{},{pack:{left:"start",center:"center"}[n.buttonAlign]||"end"})),t}var n=this,t=[],i,u,f=n.minButtonWidth;n.tbar&&(t.push(r(n.tbar,"top")),n.tbar=null);n.bbar&&(t.push(r(n.bbar,"bottom")),n.bbar=null);n.buttons&&(n.fbar=n.buttons,n.buttons=null);n.fbar&&(i=r(n.fbar,"bottom",!0),i.ui="footer",f&&(u=i.defaults,i.defaults=function(n){var t=u||{};return n.xtype&&n.xtype!=="button"&&(!n.isComponent||!n.isXType("button"))||"minWidth"in t||(t=Ext.apply({minWidth:f},t)),t}),t.push(i),n.fbar=null);n.lbar&&(t.push(r(n.lbar,"left")),n.lbar=null);n.rbar&&(t.push(r(n.rbar,"right")),n.rbar=null);n.dockedItems?(Ext.isArray(n.dockedItems)||(n.dockedItems=[n.dockedItems]),n.dockedItems=n.dockedItems.concat(t)):n.dockedItems=t},isPlaceHolderCollapse:function(){return this.collapseMode=="placeholder"},onBoxReady:function(){this.callParent();this.collapsed&&this.setHiddenDocked()},beforeRender:function(){var n=this,t;n.callParent();n.initTools();n.preventHeader||n.header===!1||n.updateHeader();n.collapsed&&(n.isPlaceHolderCollapse()?n.hidden||(n.setHiddenState(!0),n.preventCollapseFire=!0,n.placeholderCollapse(),delete n.preventCollapseFire,t=n.collapsed,n.collapsed=!1):(n.beginCollapse(),n.addClsWithUI(n.collapsedCls)));t&&(n.collapsed=t)},initTools:function(){var n=this,i=n.tools,t,r;for(n.tools=[],t=i&&i.length;t;)--t,n.tools[t]=r=i[t],r.toolOwner=n;!n.collapsible||n.hideCollapseTool||n.header===!1||n.preventHeader||(n.collapseDirection=n.collapseDirection||n.headerPosition||"top",n.collapseTool=n.expandTool=Ext.widget({xtype:"tool",handler:n.toggleCollapse,scope:n}),n.updateCollapseTool(),n.collapseFirst&&n.tools.unshift(n.collapseTool));n.addTools();n.closable&&(n.addClsWithUI("closable"),n.addTool(Ext.widget({xtype:"tool",type:"close",handler:Ext.Function.bind(n.close,n,[])})));n.collapseTool&&!n.collapseFirst&&n.addTool(n.collapseTool)},addTools:Ext.emptyFn,updateCollapseTool:function(){var n=this,t=n.collapseTool;t&&(n.collapsed&&!n.isPlaceHolderCollapse()?t.setType("expand-"+n.getOppositeDirection(n.collapseDirection)):t.setType("collapse-"+n.collapseDirection))},close:function(){this.fireEvent("beforeclose",this)!==!1&&this.doClose()},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},updateHeader:function(n){var t=this,i=t.header,u=t.title,r=t.tools,f=t.icon||t.iconCls,e=t.headerPosition==="left"||t.headerPosition==="right";Ext.isObject(i)||i!==!1&&(n||u||f||r&&r.length||t.collapsible&&!t.titleCollapse)?(i&&i.isHeader?i.show():(i=t.header=Ext.widget(Ext.apply({xtype:"header",title:u,titleAlign:t.titleAlign,orientation:e?"vertical":"horizontal",dock:t.headerPosition||"top",textCls:t.headerTextCls,iconCls:t.iconCls,icon:t.icon,glyph:t.glyph,baseCls:t.baseCls+"-header",tools:r,ui:t.ui,id:t.id+"_header",overCls:t.headerOverCls,indicateDrag:t.draggable,frame:(t.frame||t.alwaysFramed)&&t.frameHeader,ignoreParentFrame:t.frame||t.overlapHeader,ignoreBorderManagement:t.frame||t.ignoreHeaderBorderManagement,ownerCt:t,listeners:t.collapsible&&t.titleCollapse?{click:t.toggleCollapse,scope:t}:null},t.header)),t.addDocked(i,0)),t.initHeaderAria()):i&&i.hide()},setUI:function(n){var t=this;t.callParent(arguments);t.header&&t.header.rendered&&t.header.setUI(n)},getDefaultContentTarget:function(){return this.body},getTargetEl:function(){var n=this;return n.body||n.protoBody||n.frameBody||n.el},isVisible:function(n){var t=this;return t.collapsed&&t.placeholder?t.placeholder.isVisible(n):t.callParent(arguments)},onHide:function(){var n=this;n.collapsed&&n.placeholder?n.placeholder.hide():n.callParent(arguments)},onShow:function(){var n=this;n.collapsed&&n.isPlaceHolderCollapse()?(n.setHiddenState(!0),n.placeholderCollapse()):n.callParent(arguments)},onRemoved:function(n){var t=this;t.placeholder&&!n&&t.ownerCt.remove(t.placeholder,!1);t.callParent(arguments)},addTool:function(n){Ext.isArray(n)||(n=[n]);for(var t=this,u=t.header,f=n.length,r,i=0;i<f;i++)r=n[i],r.toolOwner=t,u&&u.isHeader?u.addTool(r):t.tools.push(r);t.updateHeader()},getOppositeDirection:function(n){var t=Ext.Component;switch(n){case t.DIRECTION_TOP:return t.DIRECTION_BOTTOM;case t.DIRECTION_RIGHT:return t.DIRECTION_LEFT;case t.DIRECTION_BOTTOM:return t.DIRECTION_TOP;case t.DIRECTION_LEFT:return t.DIRECTION_RIGHT}},getWidthAuthority:function(){return this.collapsed&&this.collapsedHorizontal()?1:this.callParent()},getHeightAuthority:function(){return this.collapsed&&this.collapsedVertical()?1:this.callParent()},collapsedHorizontal:function(){var n=this.getCollapsed();return n==="left"||n==="right"},collapsedVertical:function(){var n=this.getCollapsed();return n==="top"||n==="bottom"},restoreDimension:function(){var n=this.collapseDirection;return n==="top"||n==="bottom"?"height":"width"},getCollapsed:function(){var n=this;return n.collapsed===!0?n.collapseDirection:n.collapsed},getState:function(){var i=this,n=i.callParent(),t;return n=i.addPropertyToState(n,"collapsed"),i.collapsed&&(t=i.collapseMemento,t=t&&t.data,i.collapsedVertical()?(n&&delete n.height,t&&(n=i.addPropertyToState(n,"height",t.height))):(n&&delete n.width,t&&(n=i.addPropertyToState(n,"width",t.width)))),n},findReExpander:function(n){var f=this,r=Ext.Component,u=f.dockedItems.items,e=u.length,t,i;if(f.collapseMode!=="mini")switch(n){case r.DIRECTION_TOP:case r.DIRECTION_BOTTOM:for(i=0;i<e;i++)if(t=u[i],!t.hidden&&t.isHeader&&(!t.dock||t.dock==="top"||t.dock==="bottom"))return t;break;case r.DIRECTION_LEFT:case r.DIRECTION_RIGHT:for(i=0;i<e;i++)if(t=u[i],!t.hidden&&t.isHeader&&(t.dock==="left"||t.dock==="right"))return t;break;default:throw"Panel#findReExpander must be passed a valid collapseDirection";}},getReExpander:function(n){var t=this,i=n||t.collapseDirection,r=t.reExpander||t.findReExpander(i);return t.expandDirection=t.getOppositeDirection(i),r||(t.reExpander=r=t.createReExpander(i,{dock:i,cls:Ext.baseCSSPrefix+"docked "+t.baseCls+"-"+t.ui+"-collapsed",isCollapsedExpander:!0}),t.dockedItems.insert(0,r)),r},createReExpander:function(n,t){var i=this,u=n==="left",f=n==="right",e=u||f,r=Ext.apply({hideMode:"offsets",title:i.title||"&#160;",titleAlign:i.titleAlign,orientation:e?"vertical":"horizontal",textCls:i.headerTextCls,icon:i.icon,iconCls:i.iconCls,glyph:i.glyph,baseCls:i.self.prototype.baseCls+"-header",ui:i.ui,frame:i.frame&&i.frameHeader,ignoreParentFrame:i.frame||i.overlapHeader,indicateDrag:i.draggable,collapseImmune:!0,ownerCt:i.ownerCt,ownerLayout:i.componentLayout,margin:i.margin},t);return i.collapseMode==="mini"&&(e?r.width=1:r.height=1),i.hideCollapseTool||((u||f&&i.isPlaceHolderCollapse())&&(r.titlePosition=1),r.tools=[{xtype:"tool",type:"expand-"+i.getOppositeDirection(n),uiCls:["top"],handler:i.toggleCollapse,scope:i}]),r=new Ext.panel.Header(r),r.addClsWithUI(i.getHeaderCollapsedClasses(r)),r},getHeaderCollapsedClasses:function(n){var t=this,i=t.collapsedCls,r;return r=[i,i+"-"+n.getDockName()],t.border&&(!t.frame||t.frame&&Ext.supports.CSS3BorderRadius)&&r.push(i+"-border-"+n.getDockName()),r},beginCollapse:function(){var n=this,r=n.lastBox,u=n.rendered,f=n.collapseMemento||(n.collapseMemento=new Ext.util.Memento(n)),e=n.getSizeModel(),t=n.header,i;f.capture(["height","minHeight","width","minWidth"]);r&&f.capture(n.restoreDimension(),r,"last.");n.collapsedVertical()?(e.width.shrinkWrap&&(n.width=u?n.getWidth():n.width||n.minWidth||100),delete n.height,n.minHeight=0):n.collapsedHorizontal()&&(e.height.shrinkWrap&&(n.height=u?n.getHeight():n.height||n.minHeight||100),delete n.width,n.minWidth=0);n.ownerCt&&n.ownerCt.getLayout().beginCollapse(n);n.isPlaceHolderCollapse()||t===!1||(t===(i=n.getReExpander())?(t.collapseImmune=!0,t.getHierarchyState().collapseImmune=!0,t.addClsWithUI(n.getHeaderCollapsedClasses(t)),t.rendered&&t.updateFrame()):i.el&&(i.el.show(),i.hidden=!1));n.resizer&&n.resizer.disable()},beginExpand:function(){var n=this,u=n.lastBox,i=n.collapseMemento,f=this.restoreDimension(),t=n.header,r;i&&(i.restore(["minHeight","minWidth",f]),u&&i.restore(f,!0,u,"last."));n.ownerCt&&n.ownerCt.getLayout().beginExpand(n);n.isPlaceHolderCollapse()||t===!1||(t===(r=n.getReExpander())?(delete t.collapseImmune,delete t.getHierarchyState().collapseImmune,t.removeClsWithUI(n.getHeaderCollapsedClasses(t)),t.rendered&&(t.expanding=!0,t.updateFrame(),delete t.expanding)):(r.hidden=!0,r.el.hide()));n.resizer&&n.resizer.enable()},collapse:function(n,t){var i=this,r=n||i.collapseDirection,u=i.ownerCt;return i.isCollapsingOrExpanding?i:(arguments.length<2&&(t=i.animCollapse),i.collapsed||i.fireEvent("beforecollapse",i,n,t)===!1)?i:u&&i.isPlaceHolderCollapse()?i.placeholderCollapse(n,t):(i.collapsed=r,i.beginCollapse(),i.getHierarchyState().collapsed=!0,i.fireHierarchyEvent("collapse"),i.doCollapseExpand(1,t))},doCollapseExpand:function(n,t){var i=this,u=i.animCollapse,r=i.ownerLayout;if(i.animCollapse=t,i.isCollapsingOrExpanding=n,t&&i.addCls(Ext.baseCSSPrefix+"animating-size"),r&&!t)r.onContentChange(i);else i.updateLayout({isRoot:!0});return i.animCollapse=u,i},afterCollapse:function(n){var t=this,i=t.ownerLayout;if(t.isCollapsingOrExpanding=0,t.updateCollapseTool(),n&&t.removeCls(Ext.baseCSSPrefix+"animating-size"),i&&n)i.onContentChange(t);t.setHiddenDocked();t.fireEvent("collapse",t)},setHiddenDocked:function(){var n=this,i=n.hiddenOnCollapse,u=n.getDockedItems(),e=u.length,r=0,t,f;for(n.header!==!1&&(f=n.getReExpander()),i.add(n.body);r<e;r++)t=u[r],t&&t!==f&&t.el&&i.add(t.el);i.setStyle("visibility","hidden")},restoreHiddenDocked:function(){var n=this.hiddenOnCollapse;n.setStyle("visibility","");n.clear()},getPlaceholder:function(n){var t=this,r=n||t.collapseDirection,u=null,i=t.placeholder,f=t.floatable,e=t.titleCollapse;return i||((f||t.collapsible&&e)&&(u={click:{fn:!e&&f?t.floatCollapsedPanel:t.toggleCollapse,element:"el",scope:t}}),t.placeholder=i=Ext.widget(t.createReExpander(r,{id:t.id+"-placeholder",listeners:u}))),i.placeholderFor||(i.isComponent||(t.placeholder=i=t.lookupComponent(i)),Ext.applyIf(i,{margins:t.margins,placeholderFor:t}),i.addCls([Ext.baseCSSPrefix+"region-collapsed-placeholder",Ext.baseCSSPrefix+"region-collapsed-"+r+"-placeholder",t.collapsedCls])),i},placeholderCollapse:function(n,t){var i=this,u=i.ownerCt,f=n||i.collapseDirection,o=Ext.baseCSSPrefix+"border-region-slide-in",r=i.getPlaceholder(f),e;return i.isCollapsingOrExpanding=1,i.setHiddenState(!0),i.collapsed=f,r.rendered?(r.el.dom.parentNode!==i.el.dom.parentNode&&i.el.dom.parentNode.insertBefore(r.el.dom,i.el.dom),r.hidden=!1,r.el.show(),u.updateLayout()):u.insert(u.items.indexOf(i),r),i.rendered?(i.el.setVisibilityMode(i.placeholderCollapseHideMode),t?(i.el.addCls(o),r.el.hide(),e=i.convertCollapseDir(f),i.el.slideOut(e,{preserveScroll:!0,duration:Ext.Number.from(t,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){i.el.removeCls(o);r.el.show().setStyle("display","none").slideIn(e,{easing:"linear",duration:100,listeners:{afteranimate:function(){r.focus();i.isCollapsingOrExpanding=0;i.fireEvent("collapse",i)}}})}}})):(i.el.hide(),i.isCollapsingOrExpanding=0,i.fireEvent("collapse",i))):(i.isCollapsingOrExpanding=0,i.preventCollapseFire||i.fireEvent("collapse",i)),i},floatCollapsedPanel:function(){var n=this,i=n.placeholder,r=i.getSize(),t,u=Ext.baseCSSPrefix+"border-region-slide-in",o=n.collapsed,f=n.ownerCt||n,e;if(!n.isSliding){if(n.el.hasCls(u)){n.slideOutFloatedPanel();return}n.isSliding=!0;i.el.hide();i.hidden=!0;n.el.show();n.setHiddenState(!1);n.collapsed=!1;f.updateLayout();t=n.getBox(!1,!0);i.el.show();i.hidden=!1;n.el.hide();n.setHiddenState(!0);n.collapsed=o;f.updateLayout();n.slideOutTask=n.slideOutTask||new Ext.util.DelayedTask(n.slideOutFloatedPanel,n);i.el.on("mouseleave",n.onMouseLeaveFloated,n);n.el.on("mouseleave",n.onMouseLeaveFloated,n);i.el.on("mouseenter",n.onMouseEnterFloated,n);n.el.on("mouseenter",n.onMouseEnterFloated,n);n.el.addCls(u);n.floated=!0;n.collapseTool&&n.collapseTool.el.hide();switch(n.collapsed){case"top":n.setLocalXY(t.x,t.y+r.height-1);break;case"right":n.setLocalXY(t.x-r.width+1,t.y);break;case"bottom":n.setLocalXY(t.x,t.y-r.height+1);break;case"left":n.setLocalXY(t.x+r.width-1,t.y)}e=n.convertCollapseDir(n.collapsed);n.floatedFromCollapse=n.collapsed;n.collapsed=!1;n.setHiddenState(!1);n.el.slideIn(e,{preserveScroll:!0,duration:Ext.Number.from(n.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){n.isSliding=!1;n.fireEvent("float",n)}}})}},onMouseLeaveFloated:function(){this.slideOutTask.delay(500)},onMouseEnterFloated:function(){this.slideOutTask.cancel()},isLayoutRoot:function(){return this.floatedFromCollapse?!0:this.callParent()},slideOutFloatedPanel:function(){var n=this,i=this.el,t;n.isSliding||n.isDestroyed||(n.isSliding=!0,n.floated=!1,n.slideOutFloatedPanelBegin(),typeof n.collapsed=="string"&&(t=n.convertCollapseDir(n.collapsed)),i.slideOut(t,{preserveScroll:!0,duration:Ext.Number.from(n.animCollapse,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){n.slideOutFloatedPanelEnd();n.el.removeCls(Ext.baseCSSPrefix+"border-region-slide-in")}}}))},slideOutFloatedPanelBegin:function(){var n=this,t=n.placeholder.el,i=n.el;n.collapsed=n.floatedFromCollapse;n.setHiddenState(!0);n.floatedFromCollapse=null;t.un("mouseleave",n.onMouseLeaveFloated,n);i.un("mouseleave",n.onMouseLeaveFloated,n);t.un("mouseenter",n.onMouseEnterFloated,n);i.un("mouseenter",n.onMouseEnterFloated,n)},slideOutFloatedPanelEnd:function(){var n=this;n.collapseTool&&n.collapseTool.el.show();n.slideOutTask.cancel();n.isSliding=!1;n.fireEvent("unfloat",n)},expand:function(n){var t=this;return t.isCollapsingOrExpanding?t:(arguments.length||(n=t.animCollapse),!t.collapsed&&!t.floatedFromCollapse)?t:t.fireEvent("beforeexpand",t,n)===!1?t:(delete this.getHierarchyState().collapsed,t.isPlaceHolderCollapse())?t.placeholderExpand(n):(t.restoreHiddenDocked(),t.beginExpand(),t.collapsed=!1,t.doCollapseExpand(2,n))},placeholderExpand:function(n){var t=this,e=t.collapsed,r=Ext.baseCSSPrefix+"border-region-slide-in",u,i,f=t.ownerLayout?t.ownerLayout.centerRegion:null;return Ext.AbstractComponent.layoutSuspendCount&&(n=!1),t.floatedFromCollapse&&(i=t.getPosition(!0),t.slideOutFloatedPanelBegin(),t.slideOutFloatedPanelEnd(),t.floated=!1),n?(Ext.suspendLayouts(),t.placeholder.hide(),t.el.show(),t.collapsed=!1,t.setHiddenState(!1),f&&!i&&(f.hidden=!0),Ext.resumeLayouts(!0),f.hidden=!1,t.el.addCls(r),t.isCollapsingOrExpanding=2,i?(u=t.getXY(),t.setLocalXY(i[0],i[1]),t.setXY([u[0],u[1]],{duration:Ext.Number.from(n,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){t.el.removeCls(r);t.isCollapsingOrExpanding=0;t.fireEvent("expand",t)}}})):(t.el.hide(),t.placeholder.el.show(),t.placeholder.hidden=!1,t.setHiddenState(!1),t.el.slideIn(t.convertCollapseDir(e),{preserveScroll:!0,duration:Ext.Number.from(n,Ext.fx.Anim.prototype.duration),listeners:{afteranimate:function(){t.el.removeCls(r);t.placeholder.hide();t.updateLayout();t.isCollapsingOrExpanding=0;t.fireEvent("expand",t)}}}))):(t.floated=t.collapsed=!1,t.el.removeCls(r),Ext.suspendLayouts(),t.placeholder.hide(),t.show(),Ext.resumeLayouts(!0),t.fireEvent("expand",t)),t},afterExpand:function(n){var t=this,i=t.ownerLayout;if(t.isCollapsingOrExpanding=0,t.updateCollapseTool(),n&&t.removeCls(Ext.baseCSSPrefix+"animating-size"),i&&n)i.onContentChange(t);t.fireEvent("expand",t);t.fireHierarchyEvent("expand")},setBorder:function(n,t){if(!t){var i=this,r=i.header;n=n?n===!0?"1px":i.unitizeBox(n):0;r&&(r.isHeader?r.setBorder(n):r.border=n);i.rendered&&i.bodyBorder!==!1&&i.body.setStyle("border-width",n);i.updateLayout();i.border=n}},toggleCollapse:function(){return this.collapsed||this.floatedFromCollapse?this.expand():this.collapse()},getKeyMap:function(){return this.keyMap||(this.keyMap=new Ext.util.KeyMap(Ext.apply({target:this.el},this.keys)))},initDraggable:function(){this.simpleDrag?this.initSimpleDraggable():this.dd=new Ext.panel.DD(this,Ext.isBoolean(this.draggable)?null:this.draggable)},initSimpleDraggable:function(){var n=this,t,i;n.header||n.updateHeader(!0);n.header&&(t=Ext.applyIf({el:n.el,delegate:"#"+Ext.escapeId(n.header.id)},n.draggable),(n.constrain||n.constrainHeader)&&(t.constrain=n.constrain,t.constrainDelegate=n.constrainHeader,t.constrainTo=n.constrainTo||n.container),i=n.dd=new Ext.util.ComponentDragger(this,t),n.relayEvents(i,["dragstart","drag","dragend"]),n.maximized&&i.disable())},ghostTools:function(){var t=[],r=this.header,i=r?r.query("tool[hidden=false]"):[],n,u,f;if(i.length)for(n=0,u=i.length;n<u;n++)f=i[n],t.push({type:f.type});else t=[{type:"placeholder"}];return t},ghost:function(n){var t=this,i=t.ghostPanel,u=t.getBox(),r;return i?i.el.show():(i=new Ext.panel.Panel({renderTo:Ext.getBody(),floating:{shadow:!1},frame:t.frame&&!t.alwaysFramed,alwaysFramed:t.alwaysFramed,overlapHeader:t.overlapHeader,headerPosition:t.headerPosition,baseCls:t.baseCls,cls:t.baseCls+"-ghost "+(n||"")}),t.ghostPanel=i),t.ghostPanel.hidden=!1,i.floatParent=t.floatParent,t.floating?i.zIndexManager.assignZIndices():i.toFront(),t.preventHeader||t.header===!1||(r=i.header,r&&(r.suspendLayouts(),Ext.Array.forEach(r.query("tool"),r.remove,r),r.resumeLayouts()),i.addTool(t.ghostTools()),i.setTitle(t.title),t.iconCls?i.setIconCls(t.iconCls):t.icon?i.setIcon(t.icon):t.glyph&&i.setGlyph(t.glyph),i.header.addCls(Ext.baseCSSPrefix+"header-ghost")),i.setPagePosition(u.x,u.y),i.setSize(u.width,u.height),t.el.hide(),i},unghost:function(n,t){var i=this;i.ghostPanel&&(n!==!1&&(i.el.show(),t!==!1&&(i.setPagePosition(i.ghostPanel.getXY()),i.hideMode=="offsets"&&delete i.el.hideModeStyles),Ext.defer(i.focus,10,i)),i.ghostPanel.el.hide(),i.ghostPanel.hidden=!0)},beginDrag:function(){this.floatingDescendants&&this.floatingDescendants.hide()},endDrag:function(){this.floatingDescendants&&this.floatingDescendants.show()},initResizable:function(){this.callParent(arguments);this.collapsed&&this.resizer.disable()},convertCollapseDir:function(n){return n.substr(0,1)}},0,["panel"],["panel","component","container","box"],{panel:!0,component:!0,container:!0,box:!0},["widget.panel"],0,[Ext.panel,"Panel",Ext,"Panel"],function(){this.prototype.animCollapse=Ext.enableFx});Ext.cmd.derive("Ext.tip.Tip",Ext.panel.Panel,{alternateClassName:"Ext.Tip",minWidth:40,maxWidth:500,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:!0,autoRender:!0,hidden:!0,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:!0,shim:!0},focusOnToFront:!1,closeAction:"hide",ariaRole:"tooltip",alwaysFramed:!0,frameHeader:!1,initComponent:function(){var n=this;n.floating=Ext.apply({},{shadow:n.shadow,constrain:n.constrainPosition},n.self.prototype.floating);n.callParent(arguments);n.constrain=n.constrain||n.constrainPosition},showAt:function(n){var t=this;this.callParent(arguments);t.isVisible()&&(t.setPagePosition(n[0],n[1]),(t.constrainPosition||t.constrain)&&t.doConstrain(),t.toFront(!0))},initDraggable:function(){var n=this;n.draggable={el:n.getDragEl(),delegate:n.header.el,constrain:n,constrainTo:n.el.dom.parentNode};Ext.Component.prototype.initDraggable.call(n)},ghost:undefined,unghost:undefined},0,0,["panel","component","container","box"],{panel:!0,component:!0,container:!0,box:!0},0,0,[Ext.tip,"Tip",Ext,"Tip"],0);Ext.cmd.derive("Ext.tip.ToolTip",Ext.tip.Tip,{alternateClassName:"Ext.ToolTip",autoHide:!0,showDelay:500,hideDelay:200,dismissDelay:5e3,trackMouse:!1,anchorToTarget:!0,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var n=this;n.callParent(arguments);n.lastActive=new Date;n.setTarget(n.target);n.origAnchor=n.anchor},onRender:function(){var n=this;n.callParent(arguments);n.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+n.getAnchorPosition();n.anchorEl=n.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+n.anchorCls})},setTarget:function(n){var t=this,r=Ext.get(n),i;t.target&&(i=Ext.get(t.target),t.mun(i,"mouseover",t.onTargetOver,t),t.mun(i,"mouseout",t.onTargetOut,t),t.mun(i,"mousemove",t.onMouseMove,t));t.target=r;r&&t.mon(r,{freezeEvent:!0,mouseover:t.onTargetOver,mouseout:t.onTargetOut,mousemove:t.onMouseMove,scope:t});t.anchor&&(t.anchorTarget=t.target)},onMouseMove:function(n){var t=this,r=t.delegate?n.getTarget(t.delegate):t.triggerElement=!0,i;if(r)if(t.targetXY=n.getXY(),r===t.triggerElement)!t.hidden&&t.trackMouse&&(i=t.getTargetXY(),t.constrainPosition&&(i=t.el.adjustForConstraints(i,t.el.parent())),t.setPagePosition(i));else{t.hide();t.lastActive=new Date(0);t.onTargetOver(n)}else!t.closable&&t.isVisible()&&t.autoHide!==!1&&t.hide()},getTargetXY:function(){var n=this,i,r,u,s,h,f,e,c,l,t,o,a;if(n.delegate&&(n.anchorTarget=n.triggerElement),n.anchor){if(n.targetCounter++,r=n.getOffsets(),u=n.anchorToTarget&&!n.trackMouse?n.getAlignToXY(n.anchorTarget,n.getAnchorAlign()):n.targetXY,s=Ext.Element.getViewWidth()-5,h=Ext.Element.getViewHeight()-5,f=document.documentElement,e=document.body,c=(f.scrollLeft||e.scrollLeft||0)+5,l=(f.scrollTop||e.scrollTop||0)+5,t=[u[0]+r[0],u[1]+r[1]],o=n.getSize(),a=n.constrainPosition,n.anchorEl.removeCls(n.anchorCls),n.targetCounter<2&&a){if(t[0]<c)return n.anchorToTarget&&(n.defaultAlign="l-r",n.mouseOffset&&(n.mouseOffset[0]*=-1)),n.anchor="left",n.getTargetXY();if(t[0]+o.width>s)return n.anchorToTarget&&(n.defaultAlign="r-l",n.mouseOffset&&(n.mouseOffset[0]*=-1)),n.anchor="right",n.getTargetXY();if(t[1]<l)return n.anchorToTarget&&(n.defaultAlign="t-b",n.mouseOffset&&(n.mouseOffset[1]*=-1)),n.anchor="top",n.getTargetXY();if(t[1]+o.height>h)return n.anchorToTarget&&(n.defaultAlign="b-t",n.mouseOffset&&(n.mouseOffset[1]*=-1)),n.anchor="bottom",n.getTargetXY()}return n.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+n.getAnchorPosition(),n.anchorEl.addCls(n.anchorCls),n.targetCounter=0,t}return i=n.getMouseOffset(),n.targetXY?[n.targetXY[0]+i[0],n.targetXY[1]+i[1]]:i},getMouseOffset:function(){var n=this,t=n.anchor?[0,0]:[15,18];return n.mouseOffset&&(t[0]+=n.mouseOffset[0],t[1]+=n.mouseOffset[1]),t},getAnchorPosition:function(){var n=this,t;n.anchor?n.tipAnchor=n.anchor.charAt(0):(t=n.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/),n.tipAnchor=t[1].charAt(0));switch(n.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var t=this,i,n,r=t.getAnchorPosition().charAt(0);if(t.anchorToTarget&&!t.trackMouse)switch(r){case"t":n=[0,9];break;case"b":n=[0,-13];break;case"r":n=[-13,0];break;default:n=[9,0]}else switch(r){case"t":n=[-15-t.anchorOffset,30];break;case"b":n=[-19-t.anchorOffset,-13-t.el.dom.offsetHeight];break;case"r":n=[-15-t.el.dom.offsetWidth,-13-t.anchorOffset];break;default:n=[25,-13-t.anchorOffset]}return i=t.getMouseOffset(),n[0]+=i[0],n[1]+=i[1],n},onTargetOver:function(n){var t=this,r=t.delegate,i;t.disabled||n.within(t.target.dom,!0)||(i=r?n.getTarget(r):!0,i&&(t.triggerElement=i,t.triggerEvent=n,t.clearTimer("hide"),t.targetXY=n.getXY(),t.delayShow()))},delayShow:function(){var n=this;n.hidden&&!n.showTimer?Ext.Date.getElapsed(n.lastActive)<n.quickShowInterval?n.show():n.showTimer=Ext.defer(n.showFromDelay,n.showDelay,n):n.hidden||n.autoHide===!1||n.show()},showFromDelay:function(){this.fromDelayShow=!0;this.show();delete this.fromDelayShow},onShowVeto:function(){this.callParent();delete this.triggerElement;this.clearTimer("show")},onTargetOut:function(n){var t=this,i=t.triggerElement,r=i===!0?t.target:i;t.disabled||!i||n.within(r,!0)||(t.showTimer&&(t.clearTimer("show"),t.triggerElement=null),t.autoHide!==!1&&t.delayHide())},delayHide:function(){var n=this;n.hidden||n.hideTimer||(n.hideTimer=Ext.defer(n.hide,n.hideDelay,n))},hide:function(){var n=this;n.clearTimer("dismiss");n.lastActive=new Date;n.anchorEl&&n.anchorEl.hide();n.callParent(arguments);delete n.triggerElement},show:function(){var n=this;this.callParent();this.hidden===!1&&(n.setPagePosition(-1e4,-1e4),n.anchor&&(n.anchor=n.origAnchor),n.calledFromShowAt||n.showAt(n.getTargetXY()),n.anchor?(n.syncAnchor(),n.anchorEl.show()):n.anchorEl.hide())},showAt:function(n){var t=this;t.lastActive=new Date;t.clearTimers();t.calledFromShowAt=!0;t.isVisible()||this.callParent(arguments);t.isVisible()&&(t.setPagePosition(n[0],n[1]),(t.constrainPosition||t.constrain)&&t.doConstrain(),t.toFront(!0),t.el.sync(!0),t.dismissDelay&&t.autoHide!==!1&&(t.dismissTimer=Ext.defer(t.hide,t.dismissDelay,t)),t.anchor?(t.syncAnchor(),t.anchorEl.isVisible()||t.anchorEl.show()):t.anchorEl.hide());delete t.calledFromShowAt},syncAnchor:function(){var n=this,t,i,r;switch(n.tipAnchor.charAt(0)){case"t":t="b";i="tl";r=[20+n.anchorOffset,1];break;case"r":t="l";i="tr";r=[-1,12+n.anchorOffset];break;case"b":t="t";i="bl";r=[20+n.anchorOffset,-1];break;default:t="r";i="tl";r=[1,12+n.anchorOffset]}n.anchorEl.alignTo(n.el,t+"-"+i,r);n.anchorEl.setStyle("z-index",parseInt(n.el.getZIndex(),10)||1).setVisibilityMode(Ext.Element.DISPLAY)},setPagePosition:function(){var n=this;n.callParent(arguments);n.anchor&&n.syncAnchor()},_timerNames:{},clearTimer:function(n){var t=this,i=t._timerNames,r=i[n]||(i[n]=n+"Timer"),u=t[r];u&&(clearTimeout(u),t[r]=null)},clearTimers:function(){var n=this;n.clearTimer("show");n.clearTimer("dismiss");n.clearTimer("hide")},onShow:function(){var n=this;n.callParent();n.mon(Ext.getDoc(),"mousedown",n.onDocMouseDown,n)},onHide:function(){var n=this;n.callParent();n.mun(Ext.getDoc(),"mousedown",n.onDocMouseDown,n)},onDocMouseDown:function(n){var t=this;t.closable||n.within(t.el.dom)||(t.disable(),Ext.defer(t.doEnable,100,t))},doEnable:function(){this.isDestroyed||this.enable()},onDisable:function(){this.callParent();this.clearTimers();this.hide()},beforeDestroy:function(){var n=this;n.clearTimers();Ext.destroy(n.anchorEl);delete n.anchorEl;delete n.target;delete n.anchorTarget;delete n.triggerElement;n.callParent()},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);this.callParent()}},0,["tooltip"],["panel","component","container","box","tooltip"],{panel:!0,component:!0,container:!0,box:!0,tooltip:!0},["widget.tooltip"],0,[Ext.tip,"ToolTip",Ext,"ToolTip"],0);Ext.cmd.derive("Ext.tip.QuickTip",Ext.tip.ToolTip,{alternateClassName:"Ext.QuickTip",interceptTitles:!1,title:"&#160;",tagConfig:{namespace:"data-",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor",showDelay:"qshowDelay"},initComponent:function(){var n=this;n.target=n.target||Ext.getDoc();n.targets=n.targets||{};n.callParent()},register:function(n){for(var u=Ext.isArray(n)?n:arguments,r=0,e=u.length,t,i,f;r<e;r++)if(n=u[r],t=n.target,t)if(Ext.isArray(t))for(i=0,f=t.length;i<f;i++)this.targets[Ext.id(t[i])]=n;else this.targets[Ext.id(t)]=n},unregister:function(n){delete this.targets[Ext.id(n)]},cancelShow:function(n){var t=this,i=t.activeTarget;n=Ext.get(n).dom;t.isVisible()?i&&i.el==n&&t.hide():i&&i.el==n&&t.clearTimer("show")},getTipCfg:function(n){var t=n.getTarget(),r=t.title,i;return this.interceptTitles&&r&&Ext.isString(r)?(t.qtip=r,t.removeAttribute("title"),n.preventDefault(),{text:r}):(i=this.tagConfig,t=n.getTarget("["+i.namespace+i.attribute+"]"),t)?{target:t,text:t.getAttribute(i.namespace+i.attribute)}:void 0},onTargetOver:function(n){var t=this,i=n.getTarget(t.delegate),f,h,r,u,e,o,l,c,s,v,a;if(!t.disabled&&(t.targetXY=n.getXY(),i&&i.nodeType===1&&i!=document.documentElement&&i!=document.body)){if(t.activeTarget&&(i==t.activeTarget.el||Ext.fly(t.activeTarget.el).contains(i))){t.targetTextEmpty()?(t.onShowVeto(),delete t.activeTarget):(t.clearTimer("hide"),t.show());return}if(i){c=t.targets;for(a in c)if(c.hasOwnProperty(a)&&(v=c[a],s=Ext.fly(v.target),s&&(s.dom===i||s.contains(i)))){r=s.dom;break}if(r){t.activeTarget=t.targets[r.id];t.activeTarget.el=i;t.anchor=t.activeTarget.anchor;t.anchor&&(t.anchorTarget=i);f=parseInt(t.activeTarget.showDelay,10);f&&(h=t.showDelay,t.showDelay=f);t.delayShow();f&&(t.showDelay=h);return}}r=Ext.fly(i,"_quicktip-target");u=t.tagConfig;e=u.namespace;o=t.getTipCfg(n);o&&(o.target&&(i=o.target,r=Ext.fly(i,"_quicktip-target")),l=r.getAttribute(e+u.hide),t.activeTarget={el:i,text:o.text,width:+r.getAttribute(e+u.width)||null,autoHide:l!="user"&&l!=="false",title:r.getAttribute(e+u.title),cls:r.getAttribute(e+u.cls),align:r.getAttribute(e+u.align),showDelay:parseInt(r.getAttribute(e+u.showDelay),10)},t.anchor=r.getAttribute(e+u.anchor),t.anchor&&(t.anchorTarget=i),f=parseInt(t.activeTarget.showDelay,10),f&&(h=t.showDelay,t.showDelay=f),t.delayShow(),f&&(t.showDelay=h))}},onTargetOut:function(n){var t=this,r=t.activeTarget,i,u;r&&n.within(t.activeTarget.el)&&!t.getTipCfg(n)||(t.clearTimer("show"),delete t.activeTarget,t.autoHide!==!1&&(i=r&&parseInt(r.hideDelay,10),i&&(u=t.hideDelay,t.hideDelay=i),t.delayHide(),i&&(t.hideDelay=u)))},targetTextEmpty:function(){var n=this,t=n.activeTarget,r=n.tagConfig,i,u;return t&&(i=t.el,i&&(u=i.getAttribute(r.namespace+r.attribute),!u&&!n.targets[t.target]))?!0:!1},show:function(){var n=this,t=n.fromDelayShow;if(t&&n.targetTextEmpty()){n.onShowVeto();delete n.activeTarget;return}n.callParent(arguments)},showAt:function(n){var t=this,i=t.activeTarget,u=t.header,r;i&&(t.rendered||(t.render(Ext.getBody()),t.activeTarget=i),t.suspendLayouts(),i.title?(t.setTitle(i.title),u.show()):u&&u.hide(),t.update(i.text),t.autoHide=i.autoHide,t.dismissDelay=i.dismissDelay||t.dismissDelay,i.mouseOffset&&(n[0]+=i.mouseOffset[0],n[1]+=i.mouseOffset[1]),r=t.lastCls,r&&(t.removeCls(r),delete t.lastCls),r=i.cls,r&&(t.addCls(r),t.lastCls=r),t.setWidth(i.width),t.anchor?t.constrainPosition=!1:i.align?(n=t.getAlignToXY(i.el,i.align),t.constrainPosition=!1):t.constrainPosition=!0,t.resumeLayouts(!0));t.callParent([n])},hide:function(){delete this.activeTarget;this.callParent()}},0,["quicktip"],["panel","component","container","box","quicktip","tooltip"],{panel:!0,component:!0,container:!0,box:!0,quicktip:!0,tooltip:!0},["widget.quicktip"],0,[Ext.tip,"QuickTip",Ext,"QuickTip"],0);Ext.cmd.derive("Ext.tip.QuickTipManager",Ext.Base,{singleton:!0,alternateClassName:"Ext.QuickTips",disabled:!1,init:function(n,t){var r=this;if(!r.tip){if(!Ext.isReady){Ext.onReady(function(){Ext.tip.QuickTipManager.init(n,t)});return}var i=Ext.apply({disabled:r.disabled,id:"ext-quicktips-tip"},t),u=i.className,f=i.xtype;u?delete i.className:f&&(u="widget."+f,delete i.xtype);n!==!1&&(i.renderTo=document.body);r.tip=Ext.create(u||"Ext.tip.QuickTip",i);Ext.quickTipsActive=!0}},destroy:function(){Ext.destroy(this.tip);this.tip=undefined},ddDisable:function(){var n=this,t=n.tip;t&&!n.disabled&&t.disable()},ddEnable:function(){var n=this,t=n.tip;t&&!n.disabled&&t.enable()},enable:function(){var n=this,t=n.tip;t&&t.enable();n.disabled=!1},disable:function(){var n=this,t=n.tip;t&&t.disable();n.disabled=!0},isEnabled:function(){var n=this.tip;return n!==undefined&&!n.disabled},getQuickTip:function(){return this.tip},register:function(){var n=this.tip;n.register.apply(n,arguments)},unregister:function(){var n=this.tip;n.unregister.apply(n,arguments)},tips:function(){var n=this.tip;n.register.apply(n,arguments)}},0,0,0,0,0,0,[Ext.tip,"QuickTipManager",Ext,"QuickTips"],0);Ext.cmd.derive("Ext.app.Application",Ext.app.Controller,{scope:undefined,enableQuickTips:!0,appFolder:"app",appProperty:"app",namespaces:[],autoCreateViewport:!1,paths:null,onClassExtended:function(n,t,i){var h=Ext.app.Controller,c=n.prototype,e=[],s,u,r,f,o;if(r=t.name||n.superclass.name,o=t.appFolder||n.superclass.appFolder,r&&(t.$namespace=r,Ext.app.addNamespaces(r)),t.namespaces&&Ext.app.addNamespaces(t.namespaces),t["paths processed"])delete t["paths processed"];else if(r&&o&&Ext.Loader.setPath(r,o),u=t.paths,u)for(f in u)u.hasOwnProperty(f)&&Ext.Loader.setPath(f,u[f]);t.autoCreateViewport&&h.processDependencies(c,e,r,"view",["Viewport"]);e.length&&(s=i.onBeforeCreated,i.onBeforeCreated=function(){var n=Ext.Array.clone(arguments);Ext.require(e,function(){return s.apply(this,n)})})},constructor:function(){var n=this;n.callParent(arguments);n.doInit(n);n.initNamespace();n.initControllers();n.onBeforeLaunch();n.finishInitControllers()},initNamespace:function(){var t=this,i=t.appProperty,n;n=Ext.namespace(t.name);n&&(n.getApplication=function(){return t},i&&(n[i]||(n[i]=t)))},initControllers:function(){var t=this,i=Ext.Array.from(t.controllers),n,r;for(t.controllers=new Ext.util.MixedCollection,n=0,r=i.length;n<r;n++)t.getController(i[n])},finishInitControllers:function(){var i=this,t,n,r;for(t=i.controllers.getRange(),n=0,r=t.length;n<r;n++)t[n].finishInit(i)},launch:Ext.emptyFn,onBeforeLaunch:function(){var n=this,i,t,r,u;for(n.enableQuickTips&&n.initQuickTips(),n.autoCreateViewport&&n.initViewport(),n.launch.call(n.scope||n),n.launched=!0,n.fireEvent("launch",n),i=n.controllers.items,r=i.length,t=0;t<r;t++){u=i[t];u.onLaunch(n)}},getModuleClassName:function(n,t){return Ext.app.Controller.getFullName(n,t,this.name).absoluteName},initQuickTips:function(){Ext.tip.QuickTipManager.init()},initViewport:function(){var n=this.getView("Viewport");n&&n.create()},getController:function(n){var i=this,r=i.controllers,u,t;return t=r.get(n),t||(u=i.getModuleClassName(n,"controller"),t=Ext.create(u,{application:i,id:n}),r.add(t),i._initialized&&t.doInit(i)),t},getApplication:function(){return this}},1,0,0,0,0,0,[Ext.app,"Application"],0);Ext.cmd.derive("Ext.app.domain.Controller",Ext.app.EventDomain,{singleton:!0,type:"controller",idProperty:"id",constructor:function(){var n=this;n.callParent();n.monitor(Ext.app.Controller)}},1,0,0,0,0,0,[Ext.app.domain,"Controller"],0);Ext.cmd.derive("Ext.direct.Provider",Ext.Base,{isProvider:!0,constructor:function(n){var t=this;Ext.apply(t,n);Ext.applyIf(t,{id:Ext.id(null,"provider-")});t.addEvents("connect","disconnect","data","exception");t.mixins.observable.constructor.call(t,n)},isConnected:function(){return!1},connect:Ext.emptyFn,disconnect:Ext.emptyFn},1,0,0,0,["direct.provider"],[["observable",Ext.util.Observable]],[Ext.direct,"Provider"],0);Ext.cmd.derive("Ext.app.domain.Direct",Ext.app.EventDomain,{singleton:!0,type:"direct",idProperty:"id",constructor:function(){var n=this;n.callParent();n.monitor(Ext.direct.Provider)}},1,0,0,0,0,0,[Ext.app.domain,"Direct"],0);Ext.cmd.derive("Ext.button.Split",Ext.button.Button,{alternateClassName:"Ext.SplitButton",arrowCls:"split",split:!0,initComponent:function(){this.callParent();this.addEvents("arrowclick")},setArrowHandler:function(n,t){this.arrowHandler=n;this.scope=t},onClick:function(n){var t=this;n.preventDefault();t.disabled||(t.overMenuTrigger?(t.maybeShowMenu(),t.fireEvent("arrowclick",t,n),t.arrowHandler&&t.arrowHandler.call(t.scope||t,t,n)):(t.doToggle(),t.fireHandler(n)))}},0,["splitbutton"],["button","component","box","splitbutton"],{button:!0,component:!0,box:!0,splitbutton:!0},["widget.splitbutton"],0,[Ext.button,"Split",Ext,"SplitButton"],0);Ext.cmd.derive("Ext.button.Cycle",Ext.button.Split,{alternateClassName:"Ext.CycleButton",getButtonText:function(n){var t=this,i="";return n&&t.showText===!0?(t.prependText&&(i+=t.prependText),i+n.text):t.text},setActiveItem:function(n,t){var i=this;Ext.isObject(n)||(n=i.menu.getComponent(n));n&&(i.rendered?(i.setText(i.getButtonText(n)),i.setIconCls(n.iconCls),i.setGlyph(n.glyph)):(i.text=i.getButtonText(n),i.iconCls=n.iconCls,i.glyph=n.glyph),i.activeItem=n,n.checked||n.setChecked(!0,!1),i.forceIcon&&i.setIconCls(i.forceIcon),i.forceGlyph&&i.setGlyph(i.forceGlyph),t||i.fireEvent("change",i,n))},getActiveItem:function(){return this.activeItem},initComponent:function(){var n=this,u=0,r,t,f,i;if(n.addEvents("change"),n.changeHandler){n.on("change",n.changeHandler,n.scope||n);delete n.changeHandler}for(r=(n.menu.items||[]).concat(n.items||[]),n.menu=Ext.applyIf({cls:Ext.baseCSSPrefix+"cycle-menu",items:[]},n.menu),f=r.length,t=0;t<f;t++)i=r[t],i=Ext.applyIf({group:n.id,itemIndex:t,checkHandler:n.checkHandler,scope:n,checked:i.checked||!1},i),n.menu.items.push(i),i.checked&&(u=t);n.itemCount=n.menu.items.length;n.callParent(arguments);n.on("click",n.toggleSelected,n);n.setActiveItem(u,n);n.width&&n.showText&&n.addCls(Ext.baseCSSPrefix+"cycle-fixed-width")},checkHandler:function(n,t){t&&this.setActiveItem(n)},toggleSelected:function(){var n=this,i=n.menu,t;t=n.activeItem.next(":not([disabled])")||i.items.getAt(0);t.setChecked(!0)}},0,["cycle"],["cycle","button","component","box","splitbutton"],{cycle:!0,button:!0,component:!0,box:!0,splitbutton:!0},["widget.cycle"],0,[Ext.button,"Cycle",Ext,"CycleButton"],0);Ext.cmd.derive("Ext.chart.Callout",Ext.Base,{constructor:function(n){n.callouts&&(n.callouts.styles=Ext.applyIf(n.callouts.styles||{},{color:"#000",font:"11px Helvetica, sans-serif"}),this.callouts=Ext.apply(this.callouts||{},n.callouts),this.calloutsArray=[])},renderCallouts:function(){if(this.callouts){for(var r=this,c=r.items,p=r.chart.animate,u=r.callouts,w=u.styles,l=r.calloutsArray,a=r.chart.getChartStore(),v=a.getCount(),b=c.length/v,y=[],e,t,h,n,o,s,f=0,i=0;f<v;f++)for(e=0;e<b;e++){if(h=c[i],n=l[i],o=a.getAt(f),s=!u.filter||u.filter(o),!s&&!n){i++;continue}n||(l[i]=n=r.onCreateCallout(o,h,f,s,e,i));for(t in n)n[t]&&n[t].setAttributes&&n[t].setAttributes(w,!0);if(!s)for(t in n)n[t]&&(n[t].setAttributes?n[t].setAttributes({hidden:!0},!0):n[t].setVisible&&n[t].setVisible(!1));u&&u.renderer&&u.renderer(n,o);r.onPlaceCallout(n,o,h,f,s,p,e,i,y);y.push(n);i++}this.hideCallouts(i)}},onCreateCallout:function(){var t=this,s=t.calloutsGroup,i=t.callouts,n=i?i.styles:undefined,f=n?n.width:0,e=n?n.height:0,u=t.chart,o=u.surface,r={lines:!1};return r.lines=o.add(Ext.apply({},{type:"path",path:"M0,0",stroke:t.getLegendColor()||"#555"},n)),i.items&&(r.panel=new Ext.Panel({style:"position: absolute;",width:f,height:e,items:i.items,renderTo:u.el})),r},hideCallouts:function(n){for(var r=this.calloutsArray,u=r.length,t,i;u-->n;){t=r[u];for(i in t)t[i]&&t[i].hide(!0)}}},1,0,0,0,0,0,[Ext.chart,"Callout"],0);Ext.cmd.derive("Ext.draw.CompositeSprite",Ext.util.MixedCollection,{autoDestroy:!1,isCompositeSprite:!0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.addEvents("mousedown","mouseup","mouseover","mouseout","click");t.id=Ext.id(null,"ext-sprite-group-");t.callParent()},onClick:function(n){this.fireEvent("click",n)},onMouseUp:function(n){this.fireEvent("mouseup",n)},onMouseDown:function(n){this.fireEvent("mousedown",n)},onMouseOver:function(n){this.fireEvent("mouseover",n)},onMouseOut:function(n){this.fireEvent("mouseout",n)},attachEvents:function(n){var t=this;n.on({scope:t,mousedown:t.onMouseDown,mouseup:t.onMouseUp,mouseover:t.onMouseOver,mouseout:t.onMouseOut,click:t.onClick})},add:function(){var n=this.callParent(arguments);return this.attachEvents(n),n},insert:function(){return this.callParent(arguments)},remove:function(n){var t=this;return n.un({scope:t,mousedown:t.onMouseDown,mouseup:t.onMouseUp,mouseover:t.onMouseOver,mouseout:t.onMouseOut,click:t.onClick}),t.callParent(arguments)},getBBox:function(){for(var f=0,t,n,s=this.items,h=this.length,i=Infinity,r=i,e=-i,u=i,o=-i;f<h;f++)t=s[f],t.el&&!t.bboxExcluded&&(n=t.getBBox(),r=Math.min(r,n.x),u=Math.min(u,n.y),e=Math.max(e,n.height+n.y),o=Math.max(o,n.width+n.x));return{x:r,y:u,height:e-u,width:o-r}},setAttributes:function(n,t){for(var i=0,r=this.items,u=this.length;i<u;i++)r[i].setAttributes(n,t);return this},hide:function(n){for(var t=0,i=this.items,r=this.length;t<r;t++)i[t].hide(n);return this},show:function(n){for(var t=0,i=this.items,r=this.length;t<r;t++)i[t].show(n);return this},redraw:function(){var n=this,t=0,r=n.items,i=n.getSurface(),u=n.length;if(i)for(;t<u;t++)i.renderItem(r[t]);return n},setStyle:function(n){for(var t=0,u=this.items,f=this.length,r,i;t<f;t++)r=u[t],i=r.el,i&&i.setStyle(n)},addCls:function(n){var t=0,r=this.items,i=this.getSurface(),u=this.length;if(i)for(;t<u;t++)i.addCls(r[t],n)},removeCls:function(n){var t=0,r=this.items,i=this.getSurface(),u=this.length;if(i)for(;t<u;t++)i.removeCls(r[t],n)},getSurface:function(){var n=this.first();return n?n.surface:null},destroy:function(){var n=this,i=n.getSurface(),r=n.autoDestroy,t;if(i)while(n.getCount()>0)t=n.first(),n.remove(t),i.remove(t,r);n.clearListeners()}},1,0,0,0,0,[["animate",Ext.util.Animate]],[Ext.draw,"CompositeSprite"],0);Ext.cmd.derive("Ext.draw.Surface",Ext.Base,{separatorRe:/[, ]+/,enginePriority:["Svg","Vml"],statics:{create:function(n,t){t=t||this.prototype.enginePriority;for(var i=0,r=t.length;i<r;i++)if(Ext.supports[t[i]])return Ext.create("Ext.draw.engine."+t[i],n);return!1},save:function(n,t){t=t||{};var i={"image/png":"Image","image/jpeg":"Image","image/svg+xml":"Svg"}[t.type]||"Svg",r=Ext.draw.engine[i+"Exporter"];return r.generate(n,t)}},availableAttrs:{blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,"dominant-baseline":"auto",fill:"none","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:"",height:0,hidden:!1,href:"http://sencha.com/",opacity:1,path:"M0,0",radius:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"none","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank",text:"","text-anchor":"middle",title:"Ext Draw",width:0,x:0,y:0,zIndex:0},container:undefined,height:352,width:512,x:0,y:0,orderSpritesByZIndex:!0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.domRef=Ext.getDoc().dom;t.customAttributes={};t.addEvents("mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","click","dblclick");t.mixins.observable.constructor.call(t);t.getId();t.initGradients();t.initItems();t.renderTo&&(t.render(t.renderTo),delete t.renderTo);t.initBackground(n.background)},initSurface:Ext.emptyFn,renderItem:Ext.emptyFn,renderItems:Ext.emptyFn,setViewBox:function(n,t,i,r){isFinite(n)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(this.viewBox={x:n,y:t,width:i,height:r},this.applyViewBox())},addCls:Ext.emptyFn,removeCls:Ext.emptyFn,setStyle:Ext.emptyFn,initGradients:function(){if(this.hasOwnProperty("gradients")){var t=this.gradients,r=this.addGradient,n,i;if(t)for(n=0,i=t.length;n<i;n++)if(r.call(this,t[n],n,i)===!1)break}},initItems:function(){var n=this.items;this.items=new Ext.draw.CompositeSprite;this.items.autoDestroy=!0;this.groups=new Ext.draw.CompositeSprite;n&&this.add(n)},initBackground:function(n){var t=this,i=t.width,r=t.height,f,u;Ext.isString(n)&&(n={fill:n});n&&(n.gradient?(u=n.gradient,f=u.id,t.addGradient(u),t.background=t.add({type:"rect",x:0,y:0,width:i,height:r,fill:"url(#"+f+")",zIndex:-1})):n.fill?t.background=t.add({type:"rect",x:0,y:0,width:i,height:r,fill:n.fill,zIndex:-1}):n.image&&(t.background=t.add({type:"image",x:0,y:0,width:i,height:r,src:n.image,zIndex:-1})),t.background.bboxExcluded=!0)},setSize:function(){this.applyViewBox()},scrubAttrs:function(n){var t,i={},u={},r=n.attr;for(t in r)this.translateAttrs.hasOwnProperty(t)?(i[this.translateAttrs[t]]=r[t],u[this.translateAttrs[t]]=!0):this.availableAttrs.hasOwnProperty(t)&&!u[t]&&(i[t]=r[t]);return i},onClick:function(n){this.processEvent("click",n)},onDblClick:function(n){this.processEvent("dblclick",n)},onMouseUp:function(n){this.processEvent("mouseup",n)},onMouseDown:function(n){this.processEvent("mousedown",n)},onMouseOver:function(n){this.processEvent("mouseover",n)},onMouseOut:function(n){this.processEvent("mouseout",n)},onMouseMove:function(n){this.fireEvent("mousemove",n)},onMouseEnter:Ext.emptyFn,onMouseLeave:Ext.emptyFn,addGradient:Ext.emptyFn,add:function(){var n=Array.prototype.slice.call(arguments),t,e=n.length>1,u,f,i,o,r;if(e||Ext.isArray(n[0])){for(u=e?n:n[0],f=[],i=0,o=u.length;i<o;i++)r=u[i],r=this.add(r),f.push(r);return f}t=this.prepareItems(n[0],!0)[0];this.insertByZIndex(t);this.onAdd(t);return t},insertByZIndex:function(n){var f=this,i=f.items.items,e=i.length,h=Math.ceil,r=n.attr.zIndex,t=e,u=t-1,o=0,s;if(f.orderSpritesByZIndex&&e&&r<i[u].attr.zIndex){while(o<=u)if(t=h((o+u)/2),s=i[t].attr.zIndex,s>r)u=t-1;else if(s<r)o=t+1;else break;while(t<e&&i[t].attr.zIndex<=r)t++}return f.items.insert(t,n),t},onAdd:function(n){var t=n.group,f=n.draggable,r,u,i;if(t){for(r=[].concat(t),u=r.length,i=0;i<u;i++)t=r[i],this.getGroup(t).add(n);delete n.group}f&&n.initDraggable()},remove:function(n,t){if(n){this.items.remove(n);for(var r=[].concat(this.groups.items),u=r.length,i=0;i<u;i++)r[i].remove(n);n.onRemove();t===!0&&n.destroy()}},removeAll:function(n){for(var i=this.items.items,r=i.length,t=r-1;t>-1;t--)this.remove(i[t],n)},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var t=this,u=t.viewBox,i=t.width||1,r=t.height||1,f,e,o,s,h,c,n;u&&(i||r)?(f=u.x,e=u.y,o=u.width,s=u.height,h=r/s,c=i/o,n=Math.min(c,h),o*n<i&&(f-=(i-o*n)/2/n),s*n<r&&(e-=(r-s*n)/2/n),t.viewBoxShift={dx:-f,dy:-e,scale:n},t.background&&t.background.setAttributes(Ext.apply({},{x:f,y:e,width:i/n,height:r/n},{hidden:!1}),!0)):t.background&&i&&r&&t.background.setAttributes(Ext.apply({x:0,y:0,width:i,height:r},{hidden:!1}),!0)},getBBox:function(n,t){var i=this["getPath"+n.type](n);return t?(n.bbox.plain=n.bbox.plain||Ext.draw.Draw.pathDimensions(i),n.bbox.plain):(n.dirtyTransform&&this.applyTransformations(n,!0),n.bbox.transform=n.bbox.transform||Ext.draw.Draw.pathDimensions(Ext.draw.Draw.mapPath(i,n.matrix)),n.bbox.transform)},transformToViewBox:function(n,t){if(this.viewBoxShift){var r=this,i=r.viewBoxShift;return[n/i.scale-i.dx,t/i.scale-i.dy]}return[n,t]},applyTransformations:function(n,t){n.type=="text"&&(n.bbox.transform=0,this.transform(n,!1));n.dirtyTransform=!1;var r=this,i=n.attr;(i.translation.x!=null||i.translation.y!=null)&&r.translate(n);(i.scaling.x!=null||i.scaling.y!=null)&&r.scale(n);i.rotation.degrees!=null&&r.rotate(n);n.bbox.transform=0;this.transform(n,t);n.transformations=[]},rotate:function(n){var t,u=n.attr.rotation.degrees,i=n.attr.rotation.x,r=n.attr.rotation.y;Ext.isNumber(i)&&Ext.isNumber(r)||(t=this.getBBox(n,!0),i=Ext.isNumber(i)?i:t.x+t.width/2,r=Ext.isNumber(r)?r:t.y+t.height/2);n.transformations.push({type:"rotate",degrees:u,x:i,y:r})},translate:function(n){var t=n.attr.translation.x||0,i=n.attr.translation.y||0;n.transformations.push({type:"translate",x:t,y:i})},scale:function(n){var t,u=n.attr.scaling.x||1,f=n.attr.scaling.y||1,i=n.attr.scaling.centerX,r=n.attr.scaling.centerY;Ext.isNumber(i)&&Ext.isNumber(r)||(t=this.getBBox(n,!0),i=Ext.isNumber(i)?i:t.x+t.width/2,r=Ext.isNumber(r)?r:t.y+t.height/2);n.transformations.push({type:"scale",x:u,y:f,centerX:i,centerY:r})},rectPath:function(n,t,i,r,u){return u?[["M",n+u,t],["l",i-u*2,0],["a",u,u,0,0,1,u,u],["l",0,r-u*2],["a",u,u,0,0,1,-u,u],["l",u*2-i,0],["a",u,u,0,0,1,-u,-u],["l",0,u*2-r],["a",u,u,0,0,1,u,-u],["z"]]:[["M",n,t],["l",i,0],["l",0,r],["l",-i,0],["z"]]},ellipsePath:function(n,t,i,r){return r==null&&(r=i),[["M",n,t],["m",0,-r],["a",i,r,0,1,1,0,2*r],["a",i,r,0,1,1,0,-2*r],["z"]]},getPathpath:function(n){return n.attr.path},getPathcircle:function(n){var t=n.attr;return this.ellipsePath(t.x,t.y,t.radius,t.radius)},getPathellipse:function(n){var t=n.attr;return this.ellipsePath(t.x,t.y,t.radiusX||t.width/2||0,t.radiusY||t.height/2||0)},getPathrect:function(n){var t=n.attr;return this.rectPath(t.x||0,t.y||0,t.width||0,t.height||0,t.r||0)},getPathimage:function(n){var t=n.attr;return this.rectPath(t.x||0,t.y||0,t.width,t.height)},getPathtext:function(n){var t=this.getBBoxText(n);return this.rectPath(t.x,t.y,t.width,t.height)},createGroup:function(n){var t=this.groups.get(n);return t||(t=new Ext.draw.CompositeSprite({surface:this}),t.id=n||Ext.id(null,"ext-surface-group-"),this.groups.add(t)),t},getGroup:function(n){var t;return typeof n=="string"?(t=this.groups.get(n),t||(t=this.createGroup(n))):t=n,t},prepareItems:function(n){n=[].concat(n);for(var t,i=0,r=n.length;i<r;i++)t=n[i],t instanceof Ext.draw.Sprite?t.surface=this:(t.surface=this,n[i]=this.createItem(t));return n},setText:Ext.emptyFn,createItem:Ext.emptyFn,getId:function(){return this.id||(this.id=Ext.id(null,"ext-surface-"))},destroy:function(){var n=this;delete n.domRef;n.background&&n.background.destroy();n.removeAll(!0);Ext.destroy(n.groups.items)}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.draw,"Surface"],0);Ext.cmd.derive("Ext.layout.component.Draw",Ext.layout.component.Auto,{setHeightInDom:!0,setWidthInDom:!0,type:"draw",measureContentWidth:function(n){var r=n.target,t=n.getPaddingInfo(),i=this.getBBox(n);return r.viewBox?n.heightModel.shrinkWrap?t.width:i.width/i.height*(n.getProp("contentHeight")-t.height)+t.width:r.autoSize?i.width+t.width:i.x+i.width+t.width},measureContentHeight:function(n){var r=n.target,t=n.getPaddingInfo(),i=this.getBBox(n);return n.target.viewBox?n.widthModel.shrinkWrap?t.height:i.height/i.width*(n.getProp("contentWidth")-t.width)+t.height:r.autoSize?i.height+t.height:i.y+i.height+t.height},getBBox:function(n){var t=n.surfaceBBox;return t||(t=n.target.surface.items.getBBox(),t.width===-Infinity&&t.height===-Infinity&&(t.width=t.height=t.x=t.y=0),n.surfaceBBox=t),t},publishInnerWidth:function(n,t){n.setContentWidth(t-n.getFrameInfo().width,!0)},publishInnerHeight:function(n,t){n.setContentHeight(t-n.getFrameInfo().height,!0)},finishedLayout:function(n){var t=n.props,i=n.getPaddingInfo();this.owner.setSurfaceSize(t.contentWidth-i.width,t.contentHeight-i.height);this.callParent(arguments)}},0,0,0,0,["layout.draw"],0,[Ext.layout.component,"Draw"],0);Ext.cmd.derive("Ext.draw.Component",Ext.Component,{enginePriority:["Svg","Vml"],baseCls:Ext.baseCSSPrefix+"surface",componentLayout:"draw",viewBox:!0,shrinkWrap:3,autoSize:!1,initComponent:function(){this.callParent(arguments);this.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave","click","dblclick")},onRender:function(){var n=this,o=n.viewBox,s=n.autoSize,t,i,r,u,f,e;n.callParent(arguments);n.createSurface()!==!1&&(i=n.surface.items,(o||s)&&(t=i.getBBox(),r=t.width,u=t.height,f=t.x,e=t.y,n.viewBox?n.surface.setViewBox(f,e,r,u):n.autoSizeSurface()))},autoSizeSurface:function(){var n=this.surface.items.getBBox();this.setSurfaceSize(n.width,n.height)},setSurfaceSize:function(n,t){if(this.surface.setSize(n,t),this.autoSize){var i=this.surface.items.getBBox();this.surface.setViewBox(i.x,i.y-+Ext.isOpera,n,t)}},createSurface:function(){function t(t){return function(i){n.fireEvent(t,i)}}var n=this,i=Ext.applyIf({renderTo:n.el,height:n.height,width:n.width,items:n.items},n.initialConfig),r;if(delete i.listeners,i.gradients||(i.gradients=n.gradients),r=Ext.draw.Surface.create(i,n.enginePriority),!r)return!1;n.surface=r;r.on({scope:n,mouseup:t("mouseup"),mousedown:t("mousedown"),mousemove:t("mousemove"),mouseenter:t("mouseenter"),mouseleave:t("mouseleave"),click:t("click"),dblclick:t("dblclick")})},onDestroy:function(){Ext.destroy(this.surface);this.callParent(arguments)}},0,["draw"],["draw","component","box"],{draw:!0,component:!0,box:!0},["widget.draw"],0,[Ext.draw,"Component"],0);Ext.chart=Ext.chart||{};Ext.cmd.derive("Ext.chart.theme.Theme",Ext.Base,function(){return function(){Ext.chart.theme=function(n,t){n=n||{};var r=0,y=Ext.Date.now(),e,f,s,o,c,l,a,u,v=[],i,h;if(n.baseColor&&(i=Ext.draw.Color.fromString(n.baseColor),h=i.getHSL()[2],h<.15?i=i.getLighter(.3):h<.3?i=i.getLighter(.15):h>.85?i=i.getDarker(.3):h>.7&&(i=i.getDarker(.15)),n.colors=[i.getDarker(.3).toString(),i.getDarker(.15).toString(),i.toString(),i.getLighter(.15).toString(),i.getLighter(.3).toString()],delete n.baseColor),n.colors){for(f=n.colors.slice(),c=t.markerThemes,o=t.seriesThemes,e=f.length,t.colors=f;r<e;r++)s=f[r],a=c[r]||{},l=o[r]||{},a.fill=l.fill=a.stroke=l.stroke=s,c[r]=a,o[r]=l;t.markerThemes=c.slice(0,e);t.seriesThemes=o.slice(0,e)}for(u in t)u in n&&(Ext.isObject(n[u])&&Ext.isObject(t[u])?Ext.apply(t[u],n[u]):t[u]=n[u]);if(n.useGradients){for(f=t.colors||function(){var n=[];for(r=0,o=t.seriesThemes,e=o.length;r<e;r++)n.push(o[r].fill||o[r].stroke);return n}(),r=0,e=f.length;r<e;r++)i=Ext.draw.Color.fromString(f[r]),i&&(s=i.getDarker(.1).toString(),i=i.toString(),u="theme-"+i.substr(1)+"-"+s.substr(1)+"-"+y,v.push({id:u,angle:45,stops:{0:{color:i.toString()},100:{color:s.toString()}}}),f[r]="url(#"+u+")");t.gradients=v;t.colors=f}Ext.apply(this,t)}}(),{theme:"Base",themeAttrs:!1,initTheme:function(n){var t=this,u=Ext.chart.theme,i,r;if(n){n=n.split(":");for(i in u)if(i==n[0]){r=n[1]=="gradients";t.themeAttrs=new u[i]({useGradients:r});r&&(t.gradients=t.themeAttrs.gradients);t.themeAttrs.background&&(t.background=t.themeAttrs.background);return}}}}}(),0,0,0,0,0,0,[Ext.chart.theme,"Theme"],0);Ext.cmd.derive("Ext.chart.MaskLayer",Ext.Component,{constructor:function(n){n=Ext.apply(n||{},{style:"position:absolute;background-color:#ff9;cursor:crosshair;opacity:0.5;border:1px solid #00f;"});this.callParent([n])},initComponent:function(){var n=this;n.callParent(arguments);n.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave")},initDraggable:function(){this.callParent(arguments);this.dd.onStart=function(){var n=this,t=n.comp;this.startPosition=t.getPosition(!0);t.ghost&&!t.liveDrag&&(n.proxy=t.ghost(),n.dragTarget=n.proxy.header.el);(n.constrain||n.constrainDelegate)&&(n.constrainTo=n.calculateConstrainRegion())}}},1,0,["component","box"],{component:!0,box:!0},0,0,[Ext.chart,"MaskLayer"],0);Ext.cmd.derive("Ext.chart.Mask",Ext.Base,{constructor:function(n){var t=this;if(t.addEvents("select"),n&&Ext.apply(t,n),t.enableMask)t.on("afterrender",function(){var n=new Ext.chart.MaskLayer({renderTo:t.el,hidden:!0});n.el.on({mousemove:function(n){t.onMouseMove(n)},mouseup:function(n){t.onMouseUp(n)}});n.initDraggable();t.maskType=t.mask;t.mask=n;t.maskSprite=t.surface.add({type:"path",path:["M",0,0],zIndex:1001,opacity:.6,hidden:!0,stroke:"#00f",cursor:"crosshair"})},t,{single:!0})},onMouseUp:function(n){var t=this,r=t.bbox||t.chartBBox,i;t.maskMouseDown=!1;t.mouseDown=!1;t.mouseMoved&&(t.handleMouseEvent(n),t.mouseMoved=!1,i=t.maskSelection,t.fireEvent("select",t,{x:i.x-r.x,y:i.y-r.y,width:i.width,height:i.height}))},onMouseDown:function(n){this.handleMouseEvent(n)},onMouseMove:function(n){this.handleMouseEvent(n)},handleMouseEvent:function(n){var t=this,e=t.maskType,c=t.bbox||t.chartBBox,o=c.x,s=c.y,l=Math,v=l.floor,y=l.abs,p=l.min,w=l.max,f=v(s+c.height),u=v(o+c.width),i=n.getPageX()-t.el.getX(),r=n.getPageY()-t.el.getY(),h=t.maskMouseDown,a;i=w(i,o);r=w(r,s);i=p(i,u);r=p(r,f);n.type==="mousedown"?(t.mouseDown=!0,t.mouseMoved=!1,t.maskMouseDown={x:i,y:r}):(t.mouseMoved=t.mouseDown,h&&t.mouseDown?(e=="horizontal"?(r=s,h.y=f):e=="vertical"&&(i=o,h.x=u),u=h.x-i,f=h.y-r,a=["M",i,r,"l",u,0,0,f,-u,0,"z"],t.maskSelection={x:(u>0?i:i+u)+t.el.getX(),y:(f>0?r:r+f)+t.el.getY(),width:y(u),height:y(f)},t.mask.updateBox(t.maskSelection),t.mask.show(),t.maskSprite.setAttributes({hidden:!0},!0)):(a=e=="horizontal"?["M",i,s,"L",i,f]:e=="vertical"?["M",o,r,"L",u,r]:["M",i,s,"L",i,f,"M",o,r,"L",u,r],t.maskSprite.setAttributes({path:a,"stroke-width":e===!0?1:1,hidden:!1},!0)))},onMouseLeave:function(){var n=this;n.mouseMoved=!1;n.mouseDown=!1;n.maskMouseDown=!1;n.mask.hide();n.maskSprite.hide(!0)}},1,0,0,0,0,0,[Ext.chart,"Mask"],0);Ext.cmd.derive("Ext.chart.Navigation",Ext.Base,{setZoom:function(n){for(var u=this,a=u.axes.items,i,y=u.chartBBox,p=y.width,w=y.height,o={x:n.x-u.el.getX(),y:n.y-u.el.getY(),width:n.width,height:n.height},t,r,f,e,l,b,s,k,c,h=0,v=a.length;h<v;h++)i=a[h],c=i.position=="bottom"||i.position=="top",i.type=="Category"?(l||(l=u.getChartStore(),b=l.data.items.length),t=o,k=i.length,s=Math.round(k/b),c?(f=t.x?Math.floor(t.x/s)+1:0,e=(t.x+t.width)/s):(f=t.y?Math.floor(t.y/s)+1:0,e=(t.y+t.height)/s)):(t={x:o.x/p,y:o.y/w,width:o.width/p,height:o.height/w},r=i.calcEnds(),c?(f=(r.to-r.from)*t.x+r.from,e=(r.to-r.from)*t.width+f):(e=(r.to-r.from)*(1-t.y)+r.from,f=e-(r.to-r.from)*t.height)),i.minimum=f,i.maximum=e,c?i.doConstrain&&u.maskType!="vertical"&&i.doConstrain():i.doConstrain&&u.maskType!="horizontal"&&i.doConstrain();u.redraw(!1)},restoreZoom:function(){var t=this,r=t.axes.items,n,u,i;for(t.setSubStore(null),n=0,u=r.length;n<u;n++)i=r[n],delete i.minimum,delete i.maximum;t.redraw(!1)}},0,0,0,0,0,0,[Ext.chart,"Navigation"],0);Ext.cmd.derive("Ext.chart.Shape",Ext.Base,{singleton:!0,circle:function(n,t){return n.add(Ext.apply({type:"circle",x:t.x,y:t.y,stroke:null,radius:t.radius},t))},line:function(n,t){return n.add(Ext.apply({type:"rect",x:t.x-t.radius,y:t.y-t.radius,height:2*t.radius,width:2*t.radius/5},t))},square:function(n,t){return n.add(Ext.applyIf({type:"rect",x:t.x-t.radius,y:t.y-t.radius,height:2*t.radius,width:2*t.radius,radius:null},t))},triangle:function(n,t){return t.radius*=1.75,n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x,",",t.y,"m0-",t.radius*.58,"l",t.radius*.5,",",t.radius*.87,"-",t.radius,",0z")},t))},diamond:function(n,t){var i=t.radius;return i*=1.5,n.add(Ext.apply({type:"path",stroke:null,path:["M",t.x,t.y-i,"l",i,i,-i,i,-i,-i,i,-i,"z"]},t))},cross:function(n,t){var i=t.radius;return i=i/1.7,n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x-i,",",t.y,"l",[-i,-i,i,-i,i,i,i,-i,i,i,-i,i,i,i,-i,i,-i,-i,-i,i,-i,-i,"z"])},t))},plus:function(n,t){var i=t.radius/1.3;return n.add(Ext.apply({type:"path",stroke:null,path:"M".concat(t.x-i/2,",",t.y-i/2,"l",[0,-i,i,0,0,i,i,0,0,i,-i,0,0,i,-i,0,0,-i,-i,0,0,-i,"z"])},t))},arrow:function(n,t){var i=t.radius;return n.add(Ext.apply({type:"path",path:"M".concat(t.x-i*.7,",",t.y-i*.4,"l",[i*.6,0,0,-i*.4,i,i*.8,-i,i*.8,0,-i*.4,-i*.6,0],"z")},t))},drop:function(n,t,i,r,u,f){u=u||30;f=f||0;n.add({type:"path",path:["M",t,i,"l",u,0,"A",u*.4,u*.4,0,1,0,t+u*.7,i-u*.7,"z"],fill:"#000",stroke:"none",rotate:{degrees:22.5-f,x:t,y:i}});f=(f+90)*Math.PI/180;n.add({type:"text",x:t+u*Math.sin(f)-10,y:i+u*Math.cos(f)+5,text:r,"font-size":u*12/40,stroke:"none",fill:"#fff"})}},0,0,0,0,0,0,[Ext.chart,"Shape"],0);Ext.cmd.derive("Ext.chart.LegendItem",Ext.draw.CompositeSprite,{hiddenSeries:!1,label:undefined,x:0,y:0,zIndex:500,boldRe:/bold\s\d{1,}.*/i,constructor:function(n){this.callParent(arguments);this.createLegend(n)},createLegend:function(n){var t=this,r=t.series,i=n.yFieldIndex;t.label=t.createLabel(n);t.createSeriesMarkers(n);t.setAttributes({hidden:!1},!0);t.yFieldIndex=i;t.on("mouseover",t.onMouseOver,t);t.on("mouseout",t.onMouseOut,t);t.on("mousedown",t.onMouseDown,t);r.visibleInLegend(i)||(t.hiddenSeries=!0,t.label.setAttributes({opacity:.5},!0));t.updatePosition({x:0,y:0})},getLabelText:function(){function t(n){var t=i[n];return Ext.isArray(t)?t[r]:t}var n=this,i=n.series,r=n.yFieldIndex;return t("title")||t("yField")},createLabel:function(){var n=this,t=n.legend;return n.add("label",n.surface.add({type:"text",x:20,y:0,zIndex:(n.zIndex||0)+2,fill:t.labelColor,font:t.labelFont,text:n.getLabelText(),style:{cursor:"pointer"}}))},createSeriesMarkers:function(n){var i=this,u=n.yFieldIndex,t=i.series,r=t.type,s=i.surface,f=i.zIndex,e,o;r==="line"||r==="scatter"?(r==="line"&&(e=Ext.apply(t.seriesStyle,t.style),i.drawLine(.5,.5,16.5,.5,f,e,u)),(t.showMarkers||r==="scatter")&&(o=Ext.apply(t.markerStyle,t.markerConfig||{},{fill:t.getLegendColor(u)}),i.drawMarker(8.5,.5,f,o))):i.drawFilledBox(12,12,f,u)},drawLine:function(n,t,i,r,u,f,e){var o=this,h=o.surface,s=o.series;return o.add("line",h.add({type:"path",path:"M"+n+","+t+"L"+i+","+r,zIndex:(u||0)+2,"stroke-width":s.lineWidth,"stroke-linejoin":"round","stroke-dasharray":s.dash,stroke:f.stroke||s.getLegendColor(e)||"#000",style:{cursor:"pointer"}}))},drawMarker:function(n,t,i,r){var u=this,f=u.surface,e=u.series;return u.add("marker",Ext.chart.Shape[r.type](f,{fill:r.fill,x:n,y:t,zIndex:(i||0)+2,radius:r.radius||r.size,style:{cursor:"pointer"}}))},drawFilledBox:function(n,t,i,r){var u=this,f=u.surface,e=u.series;return u.add("box",f.add({type:"rect",zIndex:(i||0)+2,x:0,y:0,width:n,height:t,fill:e.getLegendColor(r),style:{cursor:"pointer"}}))},onMouseOver:function(){var n=this;n.label.setStyle({"font-weight":"bold"});n.series._index=n.yFieldIndex;n.series.highlightItem()},onMouseOut:function(){var n=this,t=n.legend,i=n.boldRe;n.label.setStyle({"font-weight":t.labelFont&&i.test(t.labelFont)?"bold":"normal"});n.series._index=n.yFieldIndex;n.series.unHighlightItem()},onMouseDown:function(){var n=this,t=n.yFieldIndex;n.hiddenSeries?(n.series.showAll(t),n.label.setAttributes({opacity:1},!0)):(n.series.hideAll(t),n.label.setAttributes({opacity:.5},!0));n.hiddenSeries=!n.hiddenSeries;n.legend.chart.redraw()},updatePosition:function(n){var t=this,u=t.items,f=u.length,r=0,i;for(n||(n=t.legend);r<f;r++){i=u[r];switch(i.type){case"text":i.setAttributes({x:20+n.x+t.x,y:n.y+t.y},!0);break;case"rect":i.setAttributes({translate:{x:n.x+t.x,y:n.y+t.y-6}},!0);break;default:i.setAttributes({translate:{x:n.x+t.x,y:n.y+t.y}},!0)}}}},1,0,0,0,0,0,[Ext.chart,"LegendItem"],0);Ext.cmd.derive("Ext.chart.Legend",Ext.Base,{visible:!0,update:!0,position:"bottom",x:0,y:0,labelColor:"#000",labelFont:"12px Helvetica, sans-serif",boxStroke:"#000",boxStrokeWidth:1,boxFill:"#FFF",itemSpacing:10,padding:5,width:0,height:0,boxZIndex:100,constructor:function(n){var t=this;n&&Ext.apply(t,n);t.items=[];t.isVertical="left|right|float".indexOf(t.position)!==-1;t.origX=t.x;t.origY=t.y},create:function(){var n=this,i=n.chart.series.items,t,r,u;if(n.createBox(),n.rebuild!==!1&&n.createItems(),!n.created&&n.isDisplayed())for(n.created=!0,t=0,r=i.length;t<r;t++){u=i[t];u.on("titlechange",n.redraw,n)}},redraw:function(){var n=this;n.create();n.updatePosition()},isDisplayed:function(){return this.visible&&this.chart.series.findIndex("showInLegend",!0)!==-1},createItems:function(){var n=this,u=n.chart.series.items,h=n.items,f,t,e,i,o,r,s;for(n.removeItems(),t=0,e=u.length;t<e;t++)if(r=u[t],r.showInLegend)for(f=[].concat(r.yField),i=0,o=f.length;i<o;i++)s=n.createLegendItem(r,i),h.push(s);n.alignItems()},removeItems:function(){var r=this,n=r.items,i=n?n.length:0,t;if(i)for(t=0;t<i;t++)n[t].destroy();n.length=[]},alignItems:function(){var n=this,i=n.padding,r=n.isVertical,u=Math.floor,t,f,e,o,s;t=n.updateItemDimensions();f=t.maxWidth;e=t.maxHeight;o=t.totalWidth;s=t.totalHeight;n.width=u((r?f:o)+i*2);n.height=u((r?s:e)+i*2)},updateItemDimensions:function(){for(var i=this,l=i.items,a=i.padding,b=i.itemSpacing,f=0,e=0,o=0,s=0,v=i.isVertical,y=Math.floor,p=Math.max,n=0,r,h,c,u,t=0,w=l.length;t<w;t++)r=l[t],h=r.getBBox(),c=h.width,u=h.height,n=t===0?0:b,r.x=a+y(v?0:o+n),r.y=a+y(v?s+n:0)+u/2,o+=n+c,s+=n+u,f=p(f,c),e=p(e,u);return{totalWidth:o,totalHeight:s,maxWidth:f,maxHeight:e}},createLegendItem:function(n,t){var i=this;return new Ext.chart.LegendItem({legend:i,series:n,surface:i.chart.surface,yFieldIndex:t})},getBBox:function(){var n=this;return{x:Math.round(n.x)-n.boxStrokeWidth/2,y:Math.round(n.y)-n.boxStrokeWidth/2,width:n.width+n.boxStrokeWidth,height:n.height+n.boxStrokeWidth}},createBox:function(){var n=this,i,t;if(n.boxSprite&&n.boxSprite.destroy(),t=n.getBBox(),isNaN(t.width)||isNaN(t.height)){n.boxSprite=!1;return}i=n.boxSprite=n.chart.surface.add(Ext.apply({type:"rect",stroke:n.boxStroke,"stroke-width":n.boxStrokeWidth,fill:n.boxFill,zIndex:n.boxZIndex},t));i.redraw()},calcPosition:function(){var i=this,r,u,e=i.width,o=i.height,s=i.chart,f=s.chartBBox,n=s.insetPadding,h=f.width-n*2,c=f.height-n*2,l=f.x+n,a=f.y+n,v=s.surface,t=Math.floor;switch(i.position){case"left":r=n;u=t(a+c/2-o/2);break;case"right":r=t(v.width-e)-n;u=t(a+c/2-o/2);break;case"top":r=t(l+h/2-e/2);u=n;break;case"bottom":r=t(l+h/2-e/2);u=t(v.height-o)-n;break;default:r=t(i.origX)+n;u=t(i.origY)+n}return{x:r,y:u}},updatePosition:function(){var n=this,u=n.items,r,t,f,i;if(n.isDisplayed()){for(r=n.calcPosition(),n.x=r.x,n.y=r.y,t=0,f=u.length;t<f;t++)u[t].updatePosition();i=n.getBBox();isNaN(i.width)||isNaN(i.height)?n.boxSprite&&n.boxSprite.hide(!0):(n.boxSprite||n.createBox(),n.boxSprite.setAttributes(i,!0),n.boxSprite.show(!0))}},toggle:function(n){var t=this,i=0,r=t.items,u=r.length;for(t.boxSprite&&(n?t.boxSprite.show(!0):t.boxSprite.hide(!0));i<u;++i)n?r[i].show(!0):r[i].hide(!0);t.visible=n}},1,0,0,0,0,0,[Ext.chart,"Legend"],0);Ext.cmd.derive("Ext.chart.theme.Base",Ext.Base,{constructor:function(n){var t=Ext.identityFn;Ext.chart.theme.call(this,n,{background:!1,axis:{stroke:"#444","stroke-width":1},axisLabelTop:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:t},axisLabelRight:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:t},axisLabelBottom:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:t},axisLabelLeft:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:t},axisTitleTop:{font:"bold 18px Arial",fill:"#444"},axisTitleRight:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},axisTitleBottom:{font:"bold 18px Arial",fill:"#444"},axisTitleLeft:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},series:{"stroke-width":0},seriesLabel:{font:"12px Arial",fill:"#333"},marker:{stroke:"#555",radius:3,size:3},colors:["#94ae0a","#115fa6","#a61120","#ff8809","#ffd13e","#a61187","#24ad9a","#7c7474","#a66111"],seriesThemes:[{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#a66111"}],markerThemes:[{fill:"#115fa6",type:"circle"},{fill:"#94ae0a",type:"cross"},{fill:"#115fa6",type:"plus"},{fill:"#94ae0a",type:"circle"},{fill:"#a61120",type:"cross"}]})}},1,0,0,0,0,0,[Ext.chart.theme,"Base"],function(){for(var i=["#b1da5a","#4ce0e7","#e84b67","#da5abd","#4d7fe6","#fec935"],u=["Green","Sky","Red","Purple","Blue","Yellow"],n=0,f=i.length,t=Ext.chart.theme,r=[["#f0a50a","#c20024","#2044ba","#810065","#7eae29"],["#6d9824","#87146e","#2a9196","#d39006","#1e40ac"],["#fbbc29","#ce2e4e","#7e0062","#158b90","#57880e"],["#ef5773","#fcbd2a","#4f770d","#1d3eaa","#9b001f"],["#7eae29","#fdbe2a","#910019","#27b4bc","#d74dbc"],["#44dce1","#0b2592","#996e05","#7fb325","#b821a1"]],e=r.length;n<f;n++)t[u[n]]=function(n){return Ext.extend(t.Base,{constructor:function(i){t.Base.prototype.constructor.call(this,Ext.apply({baseColor:n},i))}})}(i[n]);for(n=0;n<e;n++)t["Category"+(n+1)]=function(n){return Ext.extend(t.Base,{constructor:function(i){t.Base.prototype.constructor.call(this,Ext.apply({colors:n},i))}})}(r[n])});Ext.cmd.derive("Ext.chart.Chart",Ext.draw.Component,{viewBox:!1,animate:!1,legend:!1,insetPadding:10,background:!1,constructor:function(n){var t=this,i;n=Ext.apply({},n);t.initTheme(n.theme||t.theme);t.gradients&&Ext.apply(n,{gradients:t.gradients});t.background&&Ext.apply(n,{background:t.background});n.animate&&(i={easing:"ease",duration:500},n.animate=Ext.isObject(n.animate)?Ext.applyIf(n.animate,i):i);t.mixins.observable.constructor.call(t,n);n.enableMask&&t.mixins.mask.constructor.call(t);t.mixins.navigation.constructor.call(t);t.callParent([n])},getChartStore:function(){return this.substore||this.store},initComponent:function(){var n=this,t,i;n.callParent();n.addEvents("itemmousedown","itemmouseup","itemmouseover","itemmouseout","itemclick","itemdblclick","itemdragstart","itemdrag","itemdragend","beforerefresh","refresh");Ext.applyIf(n,{zoom:{width:1,height:1,x:0,y:0}});n.maxGutters={left:0,right:0,bottom:0,top:0};n.store=Ext.data.StoreManager.lookup(n.store);t=n.axes;n.axes=new Ext.util.MixedCollection(!1,function(n){return n.position});t&&n.axes.addAll(t);i=n.series;n.series=new Ext.util.MixedCollection(!1,function(n){return n.seriesId||(n.seriesId=Ext.id(null,"ext-chart-series-"))});i&&n.series.addAll(i);n.legend!==!1&&(n.legend=new Ext.chart.Legend(Ext.applyIf({chart:n},n.legend)));n.on({mousemove:n.onMouseMove,mouseleave:n.onMouseLeave,mousedown:n.onMouseDown,mouseup:n.onMouseUp,click:n.onClick,dblclick:n.onDblClick,scope:n})},afterComponentLayout:function(n,t,i,r){var u=this;Ext.isNumber(n)&&Ext.isNumber(t)&&(n!==i||t!==r?(u.curWidth=n,u.curHeight=t,u.redraw(!0),u.needsRedraw=!1):u.needsRedraw&&(u.redraw(),u.needsRedraw=!1));this.callParent(arguments)},redraw:function(n){var i=this,o=i.series.items,h=o.length,f=i.axes.items,e=f.length,s=0,t,r,c=i.chartBBox={x:0,y:0,height:i.curHeight,width:i.curWidth},u=i.legend,l;for(i.surface.setSize(c.width,c.height),t=0;t<h;t++)r=o[t],l=r.initialized?r:i.initializeSeries(r,t,s),l.onRedraw(),Ext.isArray(r.yField)?s+=r.yField.length:++s;for(t=0;t<e;t++)r=f[t],r.initialized||i.initializeAxis(r);for(t=0;t<e;t++)f[t].processView();for(t=0;t<e;t++)f[t].drawAxis(!0);for(u!==!1&&u.visible&&(u.update||!u.created)&&u.create(),i.alignAxes(),u!==!1&&u.visible&&u.updatePosition(),i.getMaxGutters(),i.resizing=!!n,t=0;t<e;t++)f[t].drawAxis();for(t=0;t<h;t++)i.drawCharts(o[t]);i.resizing=!1},afterRender:function(){var n=this;if(n.callParent(arguments),n.categoryNames&&n.setCategoryNames(n.categoryNames),n.bindStore(n.store,!0),n.refresh(),n.surface.engine==="Vml"){n.on("added",n.onAddedVml,n);n.mon(n.hierarchyEventSource,"added",n.onContainerAddedVml,n)}},onAddedVml:function(){this.needsRedraw=!0},onContainerAddedVml:function(n){this.isDescendantOf(n)&&(this.needsRedraw=!0)},getEventXY:function(n){var f=this,t=this.surface.getRegion(),i=n.getXY(),r=i[0]-t.left,u=i[1]-t.top;return[r,u]},onClick:function(n){this.handleClick("itemclick",n)},onDblClick:function(n){this.handleClick("itemdblclick",n)},handleClick:function(n,t){for(var e=this,r=e.getEventXY(t),o=e.series.items,i,f,u=0,s=o.length;u<s;u++)i=o[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent(n,f))},onMouseDown:function(n){var t=this,r=t.getEventXY(n),e=t.series.items,u,o,i,f;for(t.enableMask&&t.mixins.mask.onMouseDown.call(t,n),u=0,o=e.length;u<o;u++)i=e[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent("itemmousedown",f))},onMouseUp:function(n){var t=this,r=t.getEventXY(n),e=t.series.items,u,o,i,f;for(t.enableMask&&t.mixins.mask.onMouseUp.call(t,n),u=0,o=e.length;u<o;u++)i=e[u],Ext.draw.Draw.withinBox(r[0],r[1],i.bbox)&&i.getItemForPoint&&(f=i.getItemForPoint(r[0],r[1]),f&&i.fireEvent("itemmouseup",f))},onMouseMove:function(n){var u=this,f=u.getEventXY(n),o=u.series.items,e,s,t,i,r,h,c;for(u.enableMask&&u.mixins.mask.onMouseMove.call(u,n),e=0,s=o.length;e<s;e++)t=o[e],Ext.draw.Draw.withinBox(f[0],f[1],t.bbox)?t.getItemForPoint&&(i=t.getItemForPoint(f[0],f[1]),r=t._lastItemForPoint,h=t._lastStoreItem,c=t._lastStoreField,(i!==r||i&&(i.storeItem!=h||i.storeField!=c))&&(r&&(t.fireEvent("itemmouseout",r),delete t._lastItemForPoint,delete t._lastStoreField,delete t._lastStoreItem),i&&(t.fireEvent("itemmouseover",i),t._lastItemForPoint=i,t._lastStoreItem=i.storeItem,t._lastStoreField=i.storeField))):(r=t._lastItemForPoint,r&&(t.fireEvent("itemmouseout",r),delete t._lastItemForPoint,delete t._lastStoreField,delete t._lastStoreItem))},onMouseLeave:function(n){var t=this,r=t.series.items,i,u,f;for(t.enableMask&&t.mixins.mask.onMouseLeave.call(t,n),i=0,u=r.length;i<u;i++)f=r[i],delete f._lastItemForPoint},delayRefresh:function(){var n=this;n.refreshTask||(n.refreshTask=new Ext.util.DelayedTask(n.refresh,n));n.refreshTask.delay(n.refreshBuffer)},refresh:function(){var n=this;if(n.rendered&&n.curWidth!==undefined&&n.curHeight!==undefined){if(!n.isVisible(!0)){n.refreshPending||(n.setShowListeners("mon"),n.refreshPending=!0);return}n.fireEvent("beforerefresh",n)!==!1&&(n.redraw(),n.fireEvent("refresh",n))}},onShow:function(){var n=this;n.callParent(arguments);n.refreshPending&&(n.delayRefresh(),n.setShowListeners("mun"));delete n.refreshPending},setShowListeners:function(n){var t=this;t[n](t.hierarchyEventSource,{scope:t,single:!0,show:t.forceRefresh,expand:t.forceRefresh})},doRefresh:function(){this.setSubStore(null);this.refresh()},forceRefresh:function(n){var t=this;t.isDescendantOf(n)&&t.refreshPending&&(t.setShowListeners("mun"),t.delayRefresh());delete t.refreshPending},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);i.store&&!t&&i.refresh()},getStoreListeners:function(){var t=this.doRefresh,n=this.delayRefresh;return{refresh:t,add:n,bulkremove:n,update:n,clear:t}},setSubStore:function(n){this.substore=n},initializeAxis:function(n){var f=this,e=f.chartBBox,u=e.width,r=e.height,o=e.x,s=e.y,i=f.themeAttrs,t={chart:f};i&&(t.axisStyle=Ext.apply({},i.axis),t.axisLabelLeftStyle=Ext.apply({},i.axisLabelLeft),t.axisLabelRightStyle=Ext.apply({},i.axisLabelRight),t.axisLabelTopStyle=Ext.apply({},i.axisLabelTop),t.axisLabelBottomStyle=Ext.apply({},i.axisLabelBottom),t.axisTitleLeftStyle=Ext.apply({},i.axisTitleLeft),t.axisTitleRightStyle=Ext.apply({},i.axisTitleRight),t.axisTitleTopStyle=Ext.apply({},i.axisTitleTop),t.axisTitleBottomStyle=Ext.apply({},i.axisTitleBottom));switch(n.position){case"top":Ext.apply(t,{length:u,width:r,x:o,y:s});break;case"bottom":Ext.apply(t,{length:u,width:r,x:o,y:r});break;case"left":Ext.apply(t,{length:r,width:u,x:o,y:r});break;case"right":Ext.apply(t,{length:r,width:u,x:u,y:r})}n.chart?Ext.apply(n,t):(Ext.apply(t,n),n=f.axes.replace(Ext.createByAlias("axis."+n.type.toLowerCase(),t)));n.initialized=!0},getInsets:function(){var t=this,n=t.insetPadding;return{top:n,right:n,bottom:n,left:n}},calculateInsets:function(){function l(n){var t=s.findIndex("position",n);return t<0?null:s.getAt(t)}var i=this,e=i.legend,s=i.axes,h=["top","right","bottom","left"],r,u,c,n,o,f,t;for(r=i.getInsets(),u=0,c=h.length;u<c;u++)n=h[u],o=n==="left"||n==="right",f=l(n),e!==!1&&e.position===n&&(t=e.getBBox(),r[n]+=(o?t.width:t.height)+i.insetPadding),f&&f.bbox&&(t=f.bbox,r[n]+=o?t.width:t.height);return r},alignAxes:function(){var r=this,o=r.axes.items,t,n,f,s,i,u,e;for(t=r.calculateInsets(),n={x:t.left,y:t.top,width:r.curWidth-t.left-t.right,height:r.curHeight-t.top-t.bottom},r.chartBBox=n,f=0,s=o.length;f<s;f++)i=o[f],u=i.position,e=u==="left"||u==="right",i.x=u==="right"?n.x+n.width:n.x,i.y=u==="top"?n.y:n.y+n.height,i.width=e?n.width:n.height,i.length=e?n.height:n.width},initializeSeries:function(n,t,r){var h=this,f=h.themeAttrs,l,a,e,o,c,s=[],y=(n instanceof Ext.chart.series.Series).i=0,v,u;if(!n.initialized){if(u={chart:h,seriesId:n.seriesId},f){if(e=f.seriesThemes,c=f.markerThemes,l=Ext.apply({},f.series),a=Ext.apply({},f.marker),u.seriesStyle=Ext.apply(l,e[r%e.length]),u.seriesLabelStyle=Ext.apply({},f.seriesLabel),u.markerStyle=Ext.apply(a,c[r%c.length]),f.colors)u.colorArrayStyle=f.colors;else{for(s=[],v=e.length;i<v;i++)o=e[i],(o.fill||o.stroke)&&s.push(o.fill||o.stroke);s.length&&(u.colorArrayStyle=s)}u.seriesIdx=t;u.themeIdx=r}y?Ext.applyIf(n,u):(Ext.applyIf(u,n),n=h.series.replace(Ext.createByAlias("series."+n.type.toLowerCase(),u)))}return n.initialize&&n.initialize(),n.initialized=!0,n},getMaxGutters:function(){for(var e=this,o=e.series.items,n,i=0,r=0,u=0,f=0,t=0,s=o.length;t<s;t++)n=o[t].getGutters(),n&&(n.verticalAxis?(u=Math.max(u,n.lower),f=Math.max(f,n.upper)):(i=Math.max(i,n.lower),r=Math.max(r,n.upper)));e.maxGutters={left:i,right:r,bottom:u,top:f}},drawAxis:function(n){n.drawAxis()},drawCharts:function(n){n.triggerafterrender=!1;n.drawSeries();this.animate||n.fireEvent("afterrender")},save:function(n){return Ext.draw.Surface.save(this.surface,n)},destroy:function(){Ext.destroy(this.surface);this.bindStore(null);this.callParent(arguments)}},1,["chart"],["draw","component","chart","box"],{draw:!0,component:!0,chart:!0,box:!0},["widget.chart"],[["themeManager",Ext.chart.theme.Theme],["mask",Ext.chart.Mask],["navigation",Ext.chart.Navigation],["bindable",Ext.util.Bindable],["observable",Ext.util.Observable]],[Ext.chart,"Chart"],0);Ext.cmd.derive("Ext.chart.Highlight",Ext.Base,{highlight:!1,highlightCfg:{fill:"#fdd","stroke-width":5,stroke:"#f55"},constructor:function(n){n.highlight&&typeof n.highlight!="boolean"&&(this.highlightCfg=Ext.merge({},this.highlightCfg,n.highlight))},highlightItem:function(n){if(n){var o=this,t=n.sprite,f=Ext.merge({},o.highlightCfg,o.highlight),s=o.chart.surface,h=o.chart.animate,i,e,u,r;if(o.highlight&&t&&!t._highlighted){if(t._anim&&(t._anim.paused=!0),t._highlighted=!0,!t._defaults){t._defaults=Ext.apply({},t.attr);e={};u={};for(i in f)if(i in t._defaults||(t._defaults[i]=s.availableAttrs[i]),e[i]=t._defaults[i],u[i]=f[i],Ext.isObject(f[i])){e[i]={};u[i]={};Ext.apply(t._defaults[i],t.attr[i]);Ext.apply(e[i],t._defaults[i]);for(r in t._defaults[i])u[i][r]=r in f[i]?f[i][r]:e[i][r];for(r in f[i])r in u[i]||(u[i][r]=f[i][r])}t._from=e;t._to=u;t._endStyle=u}h?t._anim=new Ext.fx.Anim({target:t,from:t._from,to:t._to,duration:150}):t.setAttributes(t._to,!0)}}},unHighlightItem:function(){if(this.highlight&&this.items)for(var r=this,f=r.items,e=f.length,o=Ext.merge({},r.highlightCfg,r.highlight),s=r.chart.animate,u=0,t,i,n;u<e;u++)if(f[u]&&(n=f[u].sprite,n&&n._highlighted)){n._anim&&(n._anim.paused=!0);t={};for(i in o)t[i]=Ext.isObject(n._defaults[i])?Ext.apply({},n._defaults[i]):n._defaults[i];s?(n._endStyle=t,n._anim=new Ext.fx.Anim({target:n,to:t,duration:150})):n.setAttributes(t,!0);delete n._highlighted}},cleanHighlights:function(){if(this.highlight){for(var r=this.group,i=this.markerGroup,n=0,t=r.getCount();n<t;n++)delete r.getAt(n)._defaults;if(i)for(t=i.getCount();n<t;n++)delete i.getAt(n)._defaults}}},1,0,0,0,0,0,[Ext.chart,"Highlight"],0);Ext.cmd.derive("Ext.chart.Label",Ext.Base,{colorStringRe:/url\s*\(\s*#([^\/)]+)\s*\)/,constructor:function(){var n=this;n.label=Ext.applyIf(n.label||{},{display:"none",stackedDisplay:"none",color:"#000",field:"name",minMargin:50,font:"11px Helvetica, sans-serif",orientation:"horizontal",renderer:Ext.identityFn});n.label.display!=="none"&&(n.labelsGroup=n.chart.surface.getGroup(n.seriesId+"-labels"))},renderLabels:function(){var i=this,at=i.chart,it=at.gradients,rt=i.items,v=at.animate,f=i.label,ut=f.display,ft=f.stackedDisplay,p=f.renderer,kt=f.color,dt=[].concat(f.field),s=i.labelsGroup,w=(s||0)&&s.length,vt=i.chart.getChartStore(),yt=vt.getCount(),pt=(rt||0)&&rt.length,gt=pt/yt,ni=(it||0)&&it.length,e=Ext.draw.Color,et=[],b,u,ot,r,h,k,d,st,wt,ht,t,n,c,l,ct,g,a,o,bt,nt,tt,y,lt;if(ut!="none"&&s){if(pt==0)while(w--)et.push(w);else{for(u=0,ot=0,r=0;u<yt;u++)for(h=0,k=0;k<gt;k++){for(t=rt[ot],n=s.getAt(r),c=vt.getAt(u);this.__excludes&&this.__excludes[h];)h++;if(!t&&n&&(n.hide(!0),r++),t&&dt[k]){if(!n&&(n=i.onCreateLabel(c,t,u,ut),!n))break;n.setAttributes({fill:String(kt)},!0);i.onPlaceLabel(n,c,t,u,ut,v,h);if(r++,f.contrast&&t.sprite){if(l=t.sprite,o=v&&l._endStyle?l._endStyle.fill:v&&l._to?l._to.fill:l.attr.fill,o=o||l.attr.fill,ct=e.fromString(o),o&&!ct){for(o=o.match(i.colorStringRe)[1],d=0;d<ni;d++)if(b=it[d],b.id==o){ht=0;st=0;for(wt in b.stops)ht++,st+=e.fromString(b.stops[wt].color).getGrayscale();g=st/ht/255;break}}else g=ct.getGrayscale()/255;n.isOutside&&(g=1);a=e.fromString(n.attr.fill||n.attr.color).getHSL();a[2]=g>.5?.2:.8;n.setAttributes({fill:String(e.fromHSL.apply({},a))},!0)}if(i.stacked&&ft&&(t.totalPositiveValues||t.totalNegativeValues)){if(nt=t.totalPositiveValues||0,tt=t.totalNegativeValues||0,bt=nt+tt,ft=="total"?y=p(bt):ft=="balances"&&(nt==0&&tt==0?y=p(0):(y=p(nt),lt=p(tt))),y){n=s.getAt(r);n||(n=i.onCreateLabel(c,t,u,"over"));a=e.fromString(n.attr.color||n.attr.fill).getHSL();n.setAttributes({text:y,style:f.font,fill:String(e.fromHSL.apply({},a))},!0);i.onPlaceLabel(n,c,t,u,"over",v,h);r++}if(lt){n=s.getAt(r);n||(n=i.onCreateLabel(c,t,u,"under"));a=e.fromString(n.attr.color||n.attr.fill).getHSL();n.setAttributes({text:lt,style:f.font,fill:String(e.fromHSL.apply({},a))},!0);i.onPlaceLabel(n,c,t,u,"under",v,h);r++}}}ot++;h++}for(w=s.length;w>r;)et.push(r),r++}i.hideLabels(et)}},hideLabels:function(n){var i=this.labelsGroup,t=!!n&&n.length;if(i)if(t===!1)for(t=i.getCount();t--;)i.getAt(t).hide(!0);else while(t--)i.getAt(n[t]).hide(!0)}},1,0,0,0,0,0,[Ext.chart,"Label"],0);Ext.cmd.derive("Ext.chart.TipSurface",Ext.draw.Component,{spriteArray:!1,renderFirst:!0,constructor:function(n){this.callParent([n]);n.sprites&&(this.spriteArray=[].concat(n.sprites),delete n.sprites)},onRender:function(){var n=this,i=0,r=0,u,t;if(this.callParent(arguments),t=n.spriteArray,n.renderFirst&&t)for(n.renderFirst=!1,r=t.length;i<r;i++)u=n.surface.add(t[i]),u.setAttributes({hidden:!1},!0)}},1,0,["draw","component","box"],{draw:!0,component:!0,box:!0},0,0,[Ext.chart,"TipSurface"],0);Ext.cmd.derive("Ext.chart.Tip",Ext.Base,{constructor:function(n){var t=this,i,u,r;if(n.tips){t.tipTimeout=null;t.tipConfig=Ext.apply({},n.tips,{renderer:Ext.emptyFn,constrainPosition:!0,autoHide:!0});t.tooltip=new Ext.tip.ToolTip(t.tipConfig);t.chart.surface.on("mousemove",t.tooltip.onMouseMove,t.tooltip);t.chart.surface.on("mouseleave",function(){t.hideTip()});t.tipConfig.surface&&(i=t.tipConfig.surface,u=i.sprites,r=new Ext.chart.TipSurface({id:"tipSurfaceComponent",sprites:u}),i.width&&i.height&&r.setSize(i.width,i.height),t.tooltip.add(r),t.spriteTip=r)}},showTip:function(n){var r=this,t,u,f,e,i,h,o,s,c,l;r.tooltip&&(clearTimeout(r.tipTimeout),t=r.tooltip,u=r.spriteTip,f=r.tipConfig,e=t.trackMouse,e||(t.trackMouse=!0,i=n.sprite,h=i.surface,o=Ext.get(h.getId()),o&&(s=o.getXY(),c=s[0]+(i.attr.x||0)+(i.attr.translation&&i.attr.translation.x||0),l=s[1]+(i.attr.y||0)+(i.attr.translation&&i.attr.translation.y||0),t.targetXY=[c,l])),u?f.renderer.call(t,n.storeItem,n,u.surface):f.renderer.call(t,n.storeItem,n),t.show(),t.trackMouse=e)},hideTip:function(){var n=this.tooltip;n&&(clearTimeout(this.tipTimeout),this.tipTimeout=setTimeout(function(){n.hide()},0))}},1,0,0,0,0,0,[Ext.chart,"Tip"],0);Ext.cmd.derive("Ext.chart.axis.Abstract",Ext.Base,{constructor:function(n){n=n||{};var t=this,i=n.position||"left";i=i.charAt(0).toUpperCase()+i.substring(1);n.label=Ext.apply(n["axisLabel"+i+"Style"]||{},n.label||{});n.axisTitleStyle=Ext.apply(n["axisTitle"+i+"Style"]||{},n.labelTitle||{});Ext.apply(t,n);t.fields=Ext.Array.from(t.fields);this.callParent();t.labels=[];t.getId();t.labelGroup=t.chart.surface.getGroup(t.axisId+"-labels")},alignment:null,grid:!1,steps:10,x:0,y:0,minValue:0,maxValue:0,getId:function(){return this.axisId||(this.axisId=Ext.id(null,"ext-axis-"))},processView:Ext.emptyFn,drawAxis:Ext.emptyFn,addDisplayAndLabels:Ext.emptyFn},1,0,0,0,0,0,[Ext.chart.axis,"Abstract"],0);Ext.cmd.derive("Ext.chart.axis.Axis",Ext.chart.axis.Abstract,{alternateClassName:"Ext.chart.Axis",hidden:!1,forceMinMax:!1,dashSize:3,position:"bottom",skipFirst:!1,length:0,width:0,adjustEnd:!0,majorTickSteps:!1,nullGutters:{lower:0,upper:0,verticalAxis:undefined},applyData:Ext.emptyFn,getRange:function(){var e=this,nt=e.chart,ut=nt.getChartStore(),tt=ut.data.items,u=nt.series.items,k=e.position,l,a=Ext.chart.series,h=[],i=Infinity,r=-Infinity,v=e.position==="left"||e.position==="right"||e.position==="radial",n,y,d,t,o,ft=tt.length,p,it={},c={},w=!0,f,g,rt,b,s;for(f=e.fields,t=0,y=f.length;t<y;t++)c[f[t]]=!0;for(n=0,y=u.length;n<y;n++)if(!u[n].seriesIsHidden&&u[n].getAxesForXAndYFields&&(l=u[n].getAxesForXAndYFields(),!l.xAxis||l.xAxis===k||!l.yAxis||l.yAxis===k)){if(f=a.Bar&&u[n]instanceof a.Bar&&!u[n].column?v?Ext.Array.from(u[n].xField):Ext.Array.from(u[n].yField):v?Ext.Array.from(u[n].yField):Ext.Array.from(u[n].xField),e.fields.length){for(t=0,d=f.length;t<d;t++)if(c[f[t]])break;if(t==d)continue}if((p=u[n].stacked)&&(a.Bar&&u[n]instanceof a.Bar?u[n].column!=v&&(p=!1,w=!1):v||(p=!1,w=!1)),p){for(g={},t=0;t<f.length;t++)w&&u[n].__excludes&&u[n].__excludes[t]||(c[f[t]]||Ext.Logger.warn("Field `"+f[t]+"` is not included in the "+k+" axis config."),c[f[t]]=g[f[t]]=!0);h.push({fields:g,positiveValue:0,negativeValue:0})}else for(f&&f.length!=0||(f=e.fields),t=0;t<f.length;t++)w&&u[n].__excludes&&u[n].__excludes[t]||(c[f[t]]=it[f[t]]=!0)}for(n=0;n<ft;n++){for(rt=tt[n],o=0;o<h.length;o++)h[o].positiveValue=0,h[o].negativeValue=0;for(b in c)if(s=rt.get(b),e.type=="Time"&&typeof s=="string"&&(s=Date.parse(s)),!isNaN(s))for(s=s===undefined?0:Number(s),it[b]&&(i>s&&(i=s),r<s&&(r=s)),o=0;o<h.length;o++)h[o].fields[b]&&(s>=0?(h[o].positiveValue+=s,r<h[o].positiveValue&&(r=h[o].positiveValue),i>0&&(i=0)):(h[o].negativeValue+=s,i>h[o].negativeValue&&(i=h[o].negativeValue),r<0&&(r=0)))}return isFinite(r)||(r=e.prevMax||0),isFinite(i)||(i=e.prevMin||0),typeof i=="number"&&(i=Ext.Number.correctFloat(i)),typeof r=="number"&&(r=Ext.Number.correctFloat(r)),i!=r&&(r!=Math.floor(r)||i!=Math.floor(i))&&(i=Math.floor(i),r=Math.floor(r)+1),isNaN(e.minimum)||(i=e.minimum),isNaN(e.maximum)||(r=e.maximum),i>=r&&(i=Math.floor(i),r=i+1),{min:i,max:r}},calcEnds:function(){var n=this,f=n.getRange(),r=f.min,u=f.max,e,o,t,i;return e=Ext.isNumber(n.majorTickSteps)?n.majorTickSteps+1:n.steps,o=!(Ext.isNumber(n.maximum)&&Ext.isNumber(n.minimum)&&Ext.isNumber(n.majorTickSteps)&&n.majorTickSteps>0),t=Ext.draw.Draw.snapEnds(r,u,e,o),Ext.isNumber(n.maximum)&&(t.to=n.maximum,i=!0),Ext.isNumber(n.minimum)&&(t.from=n.minimum,i=!0),n.adjustMaximumByMajorUnit&&(t.to=Math.ceil(t.to/t.step)*t.step,i=!0),n.adjustMinimumByMajorUnit&&(t.from=Math.floor(t.from/t.step)*t.step,i=!0),i&&(t.steps=Math.ceil((t.to-t.from)/t.step)),n.prevMin=r==u?0:r,n.prevMax=u,t},drawAxis:function(n){var t=this,s,b=t.x,k=t.y,wt=t.dashSize,d=t.length,a=t.position,y=a=="left"||a=="right",ut=[],ft=t.isNumericAxis,g=t.applyData(),et=g.step,i=g.steps,ot=Ext.isArray(i),st=g.from,ht=g.to,nt=ht-st||1,v,f,e,h,at=t.minorTickSteps||0,vt=t.minorTickSteps||0,kt=Math.max(at+1,0),dt=Math.max(vt+1,0),bt=a=="left"||a=="top"?-1:1,tt=wt*bt,c=t.chart.series.items,yt=c[0],u=yt?yt.nullGutters:t.nullGutters,p,o,l,it=0,r,w,pt,rt,ct,lt;if((t.from=st,t.to=ht,!t.hidden&&!(st>ht))&&(!ot||i.length!=0)&&(ot||!isNaN(et))){if(ot)i=Ext.Array.filter(i,function(n){return+n>+t.from&&+n<+t.to},this),i=Ext.Array.union([t.from],i,[t.to]);else{for(i=[],rt=+t.from;rt<+t.to;rt+=et)i.push(rt);i.push(+t.to)}for(it=i.length,s=0,pt=c.length;s<pt;s++)if(!c[s].seriesIsHidden&&c[s].getAxesForXAndYFields&&(w=c[s].getAxesForXAndYFields(),!w.xAxis||!w.yAxis||w.xAxis===a||w.yAxis===a)){u=c[s].getGutters();u.verticalAxis!==undefined&&u.verticalAxis!=y&&(p=c[s].getPadding(),u=y?{lower:p.bottom,upper:p.top,verticalAxis:!0}:{lower:p.left,upper:p.right,verticalAxis:!1});break}if(ft&&(t.labels=[]),u)if(y)for(f=Math.floor(b),h=["M",f+.5,k,"l",0,-d],v=d-(u.lower+u.upper),r=0;r<it;r++)e=k-u.lower-(i[r]-i[0])*v/nt,h.push("M",f,Math.floor(e)+.5,"l",tt*2,0),ut.push([f,Math.floor(e)]),ft&&t.labels.push(i[r]);else for(e=Math.floor(k),h=["M",b,e+.5,"l",d,0],v=d-(u.lower+u.upper),r=0;r<it;r++)f=b+u.lower+(i[r]-i[0])*v/nt,h.push("M",Math.floor(f)+.5,e,"l",0,tt*2+1),ut.push([Math.floor(f),e]),ft&&t.labels.push(i[r]);if(o=y?vt:at,Ext.isArray(o)?l=o.length==2?+Ext.Date.add(new Date,o[0],o[1])-Date.now():o[0]:Ext.isNumber(o)&&o>0&&(l=et/(o+1)),u&&l)for(r=0;r<it-1;r++)if(ct=+i[r],lt=+i[r+1],y)for(value=ct+l;value<lt;value+=l)e=k-u.lower-(value-i[0])*v/nt,h.push("M",f,Math.floor(e)+.5,"l",tt,0);else for(value=ct+l;value<lt;value+=l)f=b+u.upper+(value-i[0])*v/nt,h.push("M",Math.floor(f)+.5,e,"l",0,tt+1);t.axis||(t.axis=t.chart.surface.add(Ext.apply({type:"path",path:h},t.axisStyle)));t.axis.setAttributes({path:h},!0);t.inflections=ut;!n&&t.grid&&t.drawGrid();t.axisBBox=t.axis.getBBox();t.drawLabel()}},drawGrid:function(){var i=this,p=i.chart.surface,w=i.grid,s=w.odd,h=w.even,v=i.inflections,b=v.length-(s||h?0:1),e=i.position,l=i.chart.maxGutters,f=i.width-2,t,r,o=1,u=[],y,n,k,c=[],a=[];for(((l.bottom!==0||l.top!==0)&&(e=="left"||e=="right")||(l.left!==0||l.right!==0)&&(e=="top"||e=="bottom"))&&(o=0,b++);o<b;o++)t=v[o],r=v[o-1],s||h?(u=o%2?c:a,y=(o%2?s:h)||{},n=(y.lineWidth||y["stroke-width"]||0)/2,k=2*n,e=="left"?u.push("M",r[0]+1+n,r[1]+.5-n,"L",r[0]+1+f-n,r[1]+.5-n,"L",t[0]+1+f-n,t[1]+.5+n,"L",t[0]+1+n,t[1]+.5+n,"Z"):e=="right"?u.push("M",r[0]-n,r[1]+.5-n,"L",r[0]-f+n,r[1]+.5-n,"L",t[0]-f+n,t[1]+.5+n,"L",t[0]-n,t[1]+.5+n,"Z"):e=="top"?u.push("M",r[0]+.5+n,r[1]+1+n,"L",r[0]+.5+n,r[1]+1+f-n,"L",t[0]+.5-n,t[1]+1+f-n,"L",t[0]+.5-n,t[1]+1+n,"Z"):u.push("M",r[0]+.5+n,r[1]-n,"L",r[0]+.5+n,r[1]-f+n,"L",t[0]+.5-n,t[1]-f+n,"L",t[0]+.5-n,t[1]-n,"Z")):u=e=="left"?u.concat(["M",t[0]+.5,t[1]+.5,"l",f,0]):e=="right"?u.concat(["M",t[0]-.5,t[1]+.5,"l",-f,0]):e=="top"?u.concat(["M",t[0]+.5,t[1]+.5,"l",0,f]):u.concat(["M",t[0]+.5,t[1]-.5,"l",0,-f]);s||h?(c.length&&(!i.gridOdd&&c.length&&(i.gridOdd=p.add({type:"path",path:c})),i.gridOdd.setAttributes(Ext.apply({path:c,hidden:!1},s||{}),!0)),a.length&&(i.gridEven||(i.gridEven=p.add({type:"path",path:a})),i.gridEven.setAttributes(Ext.apply({path:a,hidden:!1},h||{}),!0))):u.length?(i.gridLines||(i.gridLines=i.chart.surface.add({type:"path",path:u,"stroke-width":i.lineWidth||1,stroke:i.gridColor||"#ccc"})),i.gridLines.setAttributes({hidden:!1,path:u},!0)):i.gridLines&&i.gridLines.hide(!0)},getOrCreateLabel:function(n,t){var r=this,u=r.labelGroup,i=u.getAt(n),f=r.chart.surface;return i?t!=i.attr.text&&(i.setAttributes(Ext.apply({text:t},r.label),!0),i._bbox=i.getBBox()):(i=f.add(Ext.apply({group:u,type:"text",x:0,y:0,text:t},r.label)),f.renderItem(i),i._bbox=i.getBBox()),r.label.rotation?(i.setAttributes({rotation:{degrees:0}},!0),i._ubbox=i.getBBox(),i.setAttributes(r.label,!0)):i._ubbox=i._bbox,i},rect2pointArray:function(n){var l=this.chart.surface,i=l.getBBox(n,!0),r=[i.x,i.y],o=r.slice(),u=[i.x+i.width,i.y],s=u.slice(),f=[i.x+i.width,i.y+i.height],h=f.slice(),e=[i.x,i.y+i.height],c=e.slice(),t=n.matrix;return r[0]=t.x.apply(t,o),r[1]=t.y.apply(t,o),u[0]=t.x.apply(t,s),u[1]=t.y.apply(t,s),f[0]=t.x.apply(t,h),f[1]=t.y.apply(t,h),e[0]=t.x.apply(t,c),e[1]=t.y.apply(t,c),[r,u,f,e]},intersect:function(n,t){var i=this.rect2pointArray(n),r=this.rect2pointArray(t);return!!Ext.draw.Draw.intersect(i,r).length},drawHorizontalLabels:function(){var n=this,c=n.label,g=Math.floor,nt=Math.max,l=n.chart.axes,tt=n.chart.insetPadding,a=n.chart.maxGutters,it=n.position,e=n.inflections,v=e.length,y=n.labels,o=0,p,i,r,s,w,rt=n.adjustEnd,ut=l.findIndex("position","left")!=-1,ft=l.findIndex("position","right")!=-1,u,b,h,f,k,t,d;for(h=v-1,r=e[0],d=n.getOrCreateLabel(0,n.label.renderer(y[0])),p=Math.floor(Math.abs(Math.sin(c.rotate&&c.rotate.degrees*Math.PI/180||0))),t=0;t<v;t++){if(r=e[t],b=n.label.renderer(y[t]),u=n.getOrCreateLabel(t,b),i=u._bbox,o=nt(o,i.height+n.dashSize+n.label.padding),f=g(r[0]-(p?i.height:i.width)/2),rt&&a.left==0&&a.right==0&&(t!=0||ut?t!=h||ft||(f=Math.min(f,r[0]-i.width+tt)):f=r[0]),k=it=="top"?r[1]-n.dashSize*2-n.label.padding-i.height/2:r[1]+n.dashSize*2+n.label.padding+i.height/2,u.setAttributes({hidden:!1,x:f,y:k},!0),t!=0&&(n.intersect(u,s)||n.intersect(u,d)))if(t===h&&w!==0)s.hide(!0);else{u.hide(!0);continue}s=u;w=t}return o},drawVerticalLabels:function(){for(var n=this,h=n.inflections,w=n.position,c=h.length,b=n.chart,k=b.insetPadding,d=n.labels,e=0,g=Math.max,nt=Math.floor,tt=Math.ceil,l=n.chart.axes,o=n.chart.maxGutters,i,f,s,a,it=l.findIndex("position","top")!=-1,rt=l.findIndex("position","bottom")!=-1,ut=n.adjustEnd,r,v,y=c-1,p,u,t=0;t<c;t++){if(f=h[t],v=n.label.renderer(d[t]),r=n.getOrCreateLabel(t,v),i=r._bbox,e=g(e,i.width+n.dashSize+n.label.padding),u=f[1],ut&&o.bottom+o.top<i.height/2&&(t!=y||it?t!=0||rt||(u=n.y+o.bottom-nt(i.height/2)):u=Math.max(u,n.y-n.length+tt(i.height/2)-k)),p=w=="left"?f[0]-i.width-n.dashSize-n.label.padding-2:f[0]+n.dashSize+n.label.padding+2,r.setAttributes(Ext.apply({hidden:!1,x:p,y:u},n.label),!0),t!=0&&n.intersect(r,s))if(t===y&&a!==0)s.hide(!0);else{r.hide(!0);continue}s=r;a=t}return e},drawLabel:function(){var n=this,u=n.position,f=n.labelGroup,o=n.inflections,i=0,r=0,e,t;for(u=="left"||u=="right"?i=n.drawVerticalLabels():r=n.drawHorizontalLabels(),e=f.getCount(),t=o.length;t<e;t++)f.getAt(t).hide(!0);n.bbox={};Ext.apply(n.bbox,n.axisBBox);n.bbox.height=r;n.bbox.width=i;Ext.isString(n.title)&&n.drawTitle(i,r)},setTitle:function(n){this.title=n;this.drawLabel()},drawTitle:function(n,t){var i=this,e=i.position,h=i.chart.surface,u=i.displaySprite,c=i.title,a=e=="left"||e=="right",o=i.x,s=i.y,l,r,f;u?u.setAttributes({text:c},!0):(l={type:"text",x:0,y:0,text:c},u=i.displaySprite=h.add(Ext.apply(l,i.axisTitleStyle,i.labelTitle)),h.renderItem(u));r=u.getBBox();f=i.dashSize+i.label.padding;a?(s-=i.length/2-r.height/2,e=="left"?o-=n+f+r.width/2:o+=n+f+r.width-r.width/2,i.bbox.width+=r.width+10):(o+=i.length/2-r.width*.5,e=="top"?s-=t+f+r.height*.3:s+=t+f+r.height*.8,i.bbox.height+=r.height+10);u.setAttributes({translate:{x:o,y:s}},!0)}},0,0,0,0,0,0,[Ext.chart.axis,"Axis",Ext.chart,"Axis"],0);Ext.cmd.derive("Ext.chart.axis.Category",Ext.chart.axis.Axis,{alternateClassName:"Ext.chart.CategoryAxis",categoryNames:null,calculateCategoryCount:!1,doConstrain:function(){for(var t=this,i=t.chart,u=i.getChartStore(),e=u.data.items,r=i.series.items,o=r.length,f=[],n=0;n<o;n++)if(r[n].type==="bar"&&r[n].stacked)return;for(n=t.minimum;n<t.maximum;n++)f.push(e[n]);i.setSubStore(new Ext.data.Store({model:u.model,data:f}))},setLabels:function(){var s=this.chart.getChartStore(),i=s.data.items,n,r,u,f=this.fields,h=f.length,e,o,t;for(e=this.labels=[],n=0,r=i.length;n<r;n++)for(u=i[n],t=0;t<h;t++)o=u.get(f[t]),e.push(o)},applyData:function(){this.callParent();this.setLabels();var n=this.chart.getChartStore().getCount();return{from:0,to:n-1,power:1,step:1,steps:n-1}}},0,0,0,0,["axis.category"],0,[Ext.chart.axis,"Category",Ext.chart,"CategoryAxis"],0);Ext.cmd.derive("Ext.chart.axis.Gauge",Ext.chart.axis.Abstract,{position:"gauge",drawAxis:function(){var l=this.chart,v=l.surface,u=l.chartBBox,e=u.x+u.width/2,o=u.y+u.height,f=this.margin||10,r=Math.min(u.width,2*u.height)/2+f,s=[],a,i=this.steps,t,n=Math.PI,h=Math.cos,c=Math.sin;if(this.sprites&&!l.resizing){this.drawLabel();return}if(this.margin>=0)if(this.sprites)for(s=this.sprites,t=0;t<=i;t++)s[t].setAttributes({path:["M",e+(r-f)*h(t/i*n-n),o+(r-f)*c(t/i*n-n),"L",e+r*h(t/i*n-n),o+r*c(t/i*n-n),"Z"],stroke:"#ccc"},!0);else for(t=0;t<=i;t++)a=v.add({type:"path",path:["M",e+(r-f)*h(t/i*n-n),o+(r-f)*c(t/i*n-n),"L",e+r*h(t/i*n-n),o+r*c(t/i*n-n),"Z"],stroke:"#ccc"}),a.setAttributes({hidden:!1},!0),s.push(a);this.sprites=s;this.drawLabel();this.title&&this.drawTitle()},drawTitle:function(){var n=this,u=n.chart,f=u.surface,i=u.chartBBox,t=n.titleSprite,r;t||(n.titleSprite=t=f.add(Ext.apply({type:"text",zIndex:2},n.axisTitleStyle,n.labelTitle)));t.setAttributes(Ext.apply({text:n.title},n.label||{}),!0);r=t.getBBox();t.setAttributes({x:i.x+i.width/2-r.width/2,y:i.y+i.height-r.height/2-4},!0)},setTitle:function(n){this.title=n;this.drawTitle()},drawLabel:function(){var h=this.chart,b=h.surface,r=h.chartBBox,c=r.x+r.width/2,l=r.y+r.height,k=this.margin||10,u=Math.min(r.width,2*r.height)/2+2*k,a=Math.round,f=[],s,v=this.maximum||0,e=this.minimum||0,t=this.steps,n=0,o,i=Math.PI,y=Math.cos,p=Math.sin,d=this.label,w=d.renderer||Ext.identityFn;if(this.labelArray)for(f=this.labelArray,n=0;n<=t;n++)o=n===0||n===t?7:0,f[n].setAttributes({text:w(a(e+n/t*(v-e))),x:c+u*y(n/t*i-i),y:l+u*p(n/t*i-i)-o},!0);else for(n=0;n<=t;n++)o=n===0||n===t?7:0,s=b.add({type:"text",text:w(a(e+n/t*(v-e))),x:c+u*y(n/t*i-i),y:l+u*p(n/t*i-i)-o,"text-anchor":"middle","stroke-width":.2,zIndex:10,stroke:"#333"}),s.setAttributes({hidden:!1},!0),f.push(s);this.labelArray=f}},0,0,0,0,["axis.gauge"],0,[Ext.chart.axis,"Gauge"],0);Ext.cmd.derive("Ext.chart.axis.Numeric",Ext.chart.axis.Axis,{alternateClassName:"Ext.chart.NumericAxis",type:"Numeric",isNumericAxis:!0,constructor:function(n){var t=this,r=!!(n.label&&n.label.renderer),i;t.callParent([n]);i=t.label;n.constrain==null&&(t.constrain=n.minimum!=null&&n.maximum!=null);r||(i.renderer=function(n){return t.roundToDecimal(n,t.decimals)})},roundToDecimal:function(n,t){var i=Math.pow(10,t||0);return Math.round(n*i)/i},minimum:NaN,maximum:NaN,constrain:!0,decimals:2,scale:"linear",doConstrain:function(){for(var t=this,f=t.chart,o=f.getChartStore(),s=o.data.items,e,w=f.series.items,c=t.fields,v=c.length,l=t.calcEnds(),y=l.from,p=l.to,r,n,a=[],u,i=0,h=s.length;i<h;i++){for(u=!0,e=s[i],r=0;r<v;r++){if(n=e.get(c[r]),t.type=="Time"&&typeof n=="string"&&(n=Date.parse(n)),+n<+y){u=!1;break}if(+n>+p){u=!1;break}}u&&a.push(e)}f.setSubStore(new Ext.data.Store({model:o.model,data:a}))},position:"left",adjustMaximumByMajorUnit:!1,adjustMinimumByMajorUnit:!1,processView:function(){for(var n=this,u=n.chart,i=u.series.items,t=0,r=i.length;t<r;t++)if(i[t].stacked){delete n.minimum;delete n.maximum;n.constrain=!1;break}n.constrain&&n.doConstrain()},applyData:function(){return this.callParent(),this.calcEnds()}},1,0,0,0,["axis.numeric"],0,[Ext.chart.axis,"Numeric",Ext.chart,"NumericAxis"],0);Ext.cmd.derive("Ext.chart.axis.Radial",Ext.chart.axis.Numeric,{position:"radial",drawAxis:function(){var h=this.chart,a=h.surface,t=h.chartBBox,p=h.getChartStore(),i=p.getCount(),r=t.x+t.width/2,u=t.y+t.height/2,f=Math.min(t.width,t.height)/2,e=[],o,c=this.steps,n,s,l=Math.PI*2,v=Math.cos,y=Math.sin;if(this.sprites&&!h.resizing){this.drawLabel();return}if(this.sprites){for(e=this.sprites,n=0;n<c;n++)e[n].setAttributes({x:r,y:u,radius:Math.max(f*(n+1)/c,0),stroke:"#ccc"},!0);for(s=0;s<i;s++)e[n+s].setAttributes({path:["M",r,u,"L",r+f*v(s/i*l),u+f*y(s/i*l),"Z"],stroke:"#ccc"},!0)}else{for(n=1;n<=c;n++)o=a.add({type:"circle",x:r,y:u,radius:Math.max(f*n/c,0),stroke:"#ccc"}),o.setAttributes({hidden:!1},!0),e.push(o);for(n=0;n<i;n++)o=a.add({type:"path",path:["M",r,u,"L",r+f*v(n/i*l),u+f*y(n/i*l),"Z"],stroke:"#ccc"}),o.setAttributes({hidden:!1},!0),e.push(o)}this.sprites=e;this.drawLabel()},drawLabel:function(){var c=this.chart,nt=c.series.items,k,tt=c.surface,f=c.chartBBox,st=c.getChartStore(),it=st.data.items,l,d,a=f.x+f.width/2,v=f.y+f.height/2,e=Math.min(f.width,f.height)/2,ht=Math.max,rt=Math.round,u=[],o,g=[],ut,s=[],ft,ct=!this.maximum,y=this.maximum||0,i=this.steps,n=0,t,r,p,w=Math.PI*2,et=Math.cos,ot=Math.sin,h=this.label.display,lt=h!=="none",b=10;if(lt){for(n=0,l=nt.length;n<l;n++)k=nt[n],g.push(k.yField),ft=k.xField;for(t=0,l=it.length;t<l;t++)if(d=it[t],s.push(d.get(ft)),ct)for(n=0,ut=g.length;n<ut;n++)y=ht(+d.get(g[n]),y);if(this.labelArray){if(u=this.labelArray,h!="categories")for(n=0;n<i;n++)u[n].setAttributes({text:rt((n+1)/i*y),x:a,y:v-e*(n+1)/i,"text-anchor":"middle","stroke-width":.1,stroke:"#333"},!0);if(h!="scale")for(t=0,i=s.length;t<i;t++)r=et(t/i*w)*(e+b),p=ot(t/i*w)*(e+b),u[n+t]&&u[n+t].setAttributes({type:"text",text:s[t],x:a+r,y:v+p,"text-anchor":r*r<=.001?"middle":r<0?"end":"start"},!0)}else{if(h!="categories")for(n=1;n<=i;n++)o=tt.add({type:"text",text:rt(n/i*y),x:a,y:v-e*n/i,"text-anchor":"middle","stroke-width":.1,stroke:"#333"}),o.setAttributes({hidden:!1},!0),u.push(o);if(h!="scale")for(t=0,i=s.length;t<i;t++)r=et(t/i*w)*(e+b),p=ot(t/i*w)*(e+b),o=tt.add({type:"text",text:s[t],x:a+r,y:v+p,"text-anchor":r*r<=.001?"middle":r<0?"end":"start"}),o.setAttributes({hidden:!1},!0),u.push(o)}this.labelArray=u}},getRange:function(){var n=this.callParent();return n.min=0,n},processView:function(){for(var n=this,r=n.chart.series.items,f,i,e=[],t=0,u=r.length;t<u;t++)f=r[t],e.push(f.yField);n.fields=e;i=n.calcEnds();n.maximum=i.to;n.steps=i.steps}},0,0,0,0,["axis.radial"],0,[Ext.chart.axis,"Radial"],0);Ext.cmd.derive("Ext.chart.axis.Time",Ext.chart.axis.Numeric,{alternateClassName:"Ext.chart.TimeAxis",type:"Time",dateFormat:!1,fromDate:!1,toDate:!1,step:[Ext.Date.DAY,1],constrain:!1,constructor:function(n){var u=this,t,r,i;u.callParent([n]);t=u.label||{};i=this.dateFormat;i&&(t.renderer?(r=t.renderer,t.renderer=function(n){return n=r(n),Ext.Date.format(new Date(r(n)),i)}):t.renderer=function(n){return Ext.Date.format(new Date(n>>0),i)})},processView:function(){var n=this;n.fromDate&&(n.minimum=+n.fromDate);n.toDate&&(n.maximum=+n.toDate);n.constrain&&n.doConstrain()},calcEnds:function(){var n=this,t,i=n.step;return i?(t=n.getRange(),t=Ext.draw.Draw.snapEndsByDateAndStep(new Date(t.min),new Date(t.max),Ext.isNumber(i)?[Date.MILLI,i]:i),n.minimum&&(t.from=n.minimum),n.maximum&&(t.to=n.maximum),t):n.callParent(arguments)}},1,0,0,0,["axis.time"],0,[Ext.chart.axis,"Time",Ext.chart,"TimeAxis"],0);Ext.cmd.derive("Ext.chart.series.Series",Ext.Base,{type:null,title:null,showInLegend:!0,renderer:function(n,t,i){return i},shadowAttributes:null,animating:!1,nullGutters:{lower:0,upper:0,verticalAxis:undefined},nullPadding:{left:0,right:0,width:0,bottom:0,top:0,height:0},constructor:function(n){var t=this;n&&Ext.apply(t,n);t.shadowGroups=[];t.mixins.labels.constructor.call(t,n);t.mixins.highlights.constructor.call(t,n);t.mixins.tips.constructor.call(t,n);t.mixins.callouts.constructor.call(t,n);t.addEvents({scope:t,itemclick:!0,itemmouseover:!0,itemmouseout:!0,itemmousedown:!0,itemmouseup:!0,mouseleave:!0,afterdraw:!0,titlechange:!0});t.mixins.observable.constructor.call(t,n);t.on({scope:t,itemmouseover:t.onItemMouseOver,itemmouseout:t.onItemMouseOut,mouseleave:t.onMouseLeave});t.style&&Ext.apply(t.seriesStyle,t.style)},onRedraw:Ext.emptyFn,eachRecord:function(n,t){var i=this.chart;i.getChartStore().each(n,t)},getRecordCount:function(){var t=this.chart,n=t.getChartStore();return n?n.getCount():0},isExcluded:function(n){var t=this.__excludes;return!!(t&&t[n])},setBBox:function(n){var f=this,t=f.chart,u=t.chartBBox,i=n?{left:0,right:0,bottom:0,top:0}:t.maxGutters,r,e;r={x:u.x,y:u.y,width:u.width,height:u.height};f.clipBox=r;e={x:r.x+i.left-t.zoom.x*t.zoom.width,y:r.y+i.bottom-t.zoom.y*t.zoom.height,width:(r.width-(i.left+i.right))*t.zoom.width,height:(r.height-(i.bottom+i.top))*t.zoom.height};f.bbox=e},onAnimate:function(n,t){var i=this;return n.stopAnimation(),i.animating?n.animate(Ext.applyIf(t,i.chart.animate)):(i.animating=!0,n.animate(Ext.apply(Ext.applyIf(t,i.chart.animate),{callback:function(){i.animating=!1;i.fireEvent("afterrender")}})))},getGutters:function(){return this.nullGutters},getPadding:function(){return this.nullPadding},onItemMouseOver:function(n){var t=this;n.series===t&&(t.highlight&&t.highlightItem(n),t.tooltip&&t.showTip(n))},onItemMouseOut:function(n){var t=this;n.series===t&&(t.unHighlightItem(),t.tooltip&&t.hideTip(n))},onMouseLeave:function(){var n=this;n.unHighlightItem();n.tooltip&&n.hideTip()},getItemForPoint:function(n,t){if(!this.items||!this.items.length||this.seriesIsHidden)return null;var u=this,r=u.items,e=u.bbox,i,f;if(!Ext.draw.Draw.withinBox(n,t,e))return null;for(i=0,f=r.length;i<f;i++)if(r[i]&&this.isItemInPoint(n,t,r[i],i))return r[i];return null},isItemInPoint:function(){return!1},hideAll:function(){var n=this,f=n.items,e,o,i,r,s,t,u;for(n.seriesIsHidden=!0,n._prevShowMarkers=n.showMarkers,n.showMarkers=!1,n.hideLabels(0),i=0,o=f.length;i<o;i++)if(e=f[i],t=e.sprite,t&&t.setAttributes({hidden:!0},!0),t&&t.shadows)for(u=t.shadows,r=0,s=u.length;r<s;++r)u[r].setAttributes({hidden:!0},!0)},showAll:function(){var n=this,t=n.chart.animate;n.chart.animate=!1;n.seriesIsHidden=!1;n.showMarkers=n._prevShowMarkers;n.drawSeries();n.chart.animate=t},hide:function(){if(this.items){var u=this,n=u.items,t,i,f,e,r;if(n&&n.length){for(t=0,e=n.length;t<e;++t)if(n[t].sprite&&(n[t].sprite.hide(!0),r=n[t].shadows||n[t].sprite.shadows,r))for(i=0,f=r.length;i<f;++i)r[i].hide(!0);u.hideLabels()}}},getLegendColor:function(){var n=this,t,i;if(n.seriesStyle){if(t=n.seriesStyle.fill,i=n.seriesStyle.stroke,t&&t!="none")return t;if(i)return i}return n.colorArrayStyle?n.colorArrayStyle[n.themeIdx%n.colorArrayStyle.length]:"#000"},visibleInLegend:function(n){var t=this.__excludes;return t?!t[n]:!this.seriesIsHidden},setTitle:function(n,t){var i=this,r=i.title;Ext.isString(n)&&(t=n,n=0);Ext.isArray(r)?r[n]=t:i.title=t;i.fireEvent("titlechange",t,n)}},1,0,0,0,0,[["observable",Ext.util.Observable],["labels",Ext.chart.Label],["highlights",Ext.chart.Highlight],["tips",Ext.chart.Tip],["callouts",Ext.chart.Callout]],[Ext.chart.series,"Series"],0);Ext.cmd.derive("Ext.chart.series.Cartesian",Ext.chart.series.Series,{alternateClassName:["Ext.chart.CartesianSeries","Ext.chart.CartesianChart"],xField:null,yField:null,axis:"left",getLegendLabels:function(){var e=this,t=[],o,n,u,i=e.combinations,f,r,s,h;for(o=[].concat(e.yField),n=0,u=o.length;n<u;n++)f=e.title,t.push((Ext.isArray(f)?f[n]:f)||o[n]);if(i)for(i=Ext.Array.from(i),n=0,u=i.length;n<u;n++)r=i[n],s=t[r[0]],h=t[r[1]],t[r[1]]=s+" & "+h,t.splice(r[0],1);return t},eachYValue:function(n,t,i){for(var o=this,u=o.getYValueAccessors(),e,r=0,f=u.length;r<f;r++)e=u[r],t.call(i,e(n),r)},getYValueCount:function(){return this.getYValueAccessors().length},combine:function(n,t){var r=this,i=r.getYValueAccessors(),u=i[n],f=i[t];i[t]=function(n){return u(n)+f(n)};i.splice(n,1);r.callParent([n,t])},clearCombinations:function(){delete this.yValueAccessors;this.callParent()},getYValueAccessors:function(){var i=this,n=i.yValueAccessors,r,u,t,f;if(!n)for(n=i.yValueAccessors=[],r=[].concat(i.yField),t=0,f=r.length;t<f;t++)u=r[t],n.push(function(n){return n.get(u)});return n},getMinMaxXValues:function(){var u=this,h=u.chart,c=h.getChartStore(),f=c.data.items,e=u.getRecordCount(),r,o,s,n,t,l=u.xField,i;if(e>0){for(n=Infinity,t=-n,r=0,o=f.length;r<o;r++)s=f[r],i=s.get(l),i>t&&(t=i),i<n&&(n=i);n==Infinity&&(n=0);t==-Infinity&&(t=e-1)}else n=t=0;return[n,t]},getMinMaxYValues:function(){function v(n,t){i.isExcluded(t)||(n<0?f+=n:u+=n)}function y(r,u){i.isExcluded(u)||(r>t&&(t=r),r<n&&(n=r))}var i=this,c=i.chart,l=c.getChartStore(),o=l.data.items,s=i.getRecordCount(),r,h,e,a=i.stacked,n,t,u,f;if(s>0){for(n=Infinity,t=-n,r=0,h=o.length;r<h;r++)e=o[r],a?(u=0,f=0,i.eachYValue(e,v),u>t&&(t=u),f<n&&(n=f)):i.eachYValue(e,y);n==Infinity&&(n=0);t==-Infinity&&(t=s-1)}else n=t=0;return[n,t]},getAxesForXAndYFields:function(){var e=this,i=e.chart.axes,o=[].concat(e.axis),c={},s=[].concat(e.yField),l={},h=[].concat(e.xField),t,u,f,n,r,a;if(a=e.type==="bar"&&e.column===!1,a&&(t=s,s=h,h=t),Ext.Array.indexOf(o,"top")>-1)u="top";else if(Ext.Array.indexOf(o,"bottom")>-1)u="bottom";else if(i.get("top")&&i.get("bottom")){for(n=0,r=h.length;n<r;n++)l[h[n]]=!0;for(t=[].concat(i.get("bottom").fields),n=0,r=t.length;n<r;n++)if(l[t[n]]){u="bottom";break}for(t=[].concat(i.get("top").fields),n=0,r=t.length;n<r;n++)if(l[t[n]]){u="top";break}}else i.get("top")?u="top":i.get("bottom")&&(u="bottom");if(Ext.Array.indexOf(o,"left")>-1)f="left";else if(Ext.Array.indexOf(o,"right")>-1)f="right";else if(i.get("left")&&i.get("right")){for(n=0,r=s.length;n<r;n++)c[s[n]]=!0;for(t=[].concat(i.get("right").fields),n=0,r=t.length;n<r;n++)if(c[t[n]])break;for(t=[].concat(i.get("left").fields),n=0,r=t.length;n<r;n++)if(c[t[n]]){f="left";break}}else i.get("left")?f="left":i.get("right")&&(f="right");return a?{xAxis:f,yAxis:u}:{xAxis:u,yAxis:f}}},0,0,0,0,0,0,[Ext.chart.series,"Cartesian",Ext.chart,"CartesianSeries",Ext.chart,"CartesianChart"],0);Ext.cmd.derive("Ext.chart.series.Area",Ext.chart.series.Cartesian,{type:"area",stacked:!0,style:{},constructor:function(n){this.callParent(arguments);var t=this,i=t.chart.surface;n.highlightCfg=Ext.Object.merge({},{lineWidth:3,stroke:"#55c",opacity:.8,color:"#f00"},n.highlightCfg);Ext.apply(t,n,{__excludes:[]});t.highlight&&(t.highlightSprite=i.add({type:"path",path:["M",0,0],zIndex:1e3,opacity:.3,lineWidth:5,hidden:!0,stroke:"#444"}));t.group=i.getGroup(t.seriesId)},shrink:function(n,t,i){for(var h=n.length,o=Math.floor(h/i),u,s=0,e=this.areas.length,f=[],c=[],l=[],r=0;r<e;++r)f[r]=0;for(u=0;u<h;++u){for(s+=+n[u],r=0;r<e;++r)f[r]+=+t[u][r];if(u%o==0){for(c.push(s/o),r=0;r<e;++r)f[r]/=o;for(l.push(f),s=0,r=0,f=[];r<e;++r)f[r]=0}}return{x:c,y:l}},getBounds:function(){var n=this,p=n.chart,ht=p.getChartStore(),w=ht.data.items,f,b,k,it=[].concat(n.yField),rt=it.length,e=[],v=[],y=Infinity,o=y,i=y,d=-y,s=-y,ut=Math,vt=ut.min,yt=ut.max,ft=n.getAxesForXAndYFields(),ct=ft.xAxis,lt=ft.yAxis,r,h,c,u,et,ot,l,g,a,at,st,nt,tt,t;for(n.setBBox(),u=n.bbox,(t=p.axes.get(ct))&&(t.type==="Time"&&(h=!0),r=t.applyData(),o=r.from,d=r.to),(t=p.axes.get(lt))&&(r=t.applyData(),i=r.from,s=r.to),n.xField&&!Ext.isNumber(o)&&(t=n.getMinMaxXValues(),h=!0,o=t[0],d=t[1]),n.yField&&!Ext.isNumber(i)&&(t=n.getMinMaxYValues(),i=t[0],s=t[1]),Ext.isNumber(i)||(i=0),Ext.isNumber(s)||(s=0),b=w.length,b>0&&h&&(c=w[0].get(n.xField),typeof c!="number"&&(c=+c,isNaN(c)&&(h=!1))),f=0;f<b;f++){for(k=w[f],l=k.get(n.xField),g=[],typeof l!="number"&&(l=h?+l:f),e.push(l),at=0,a=0;a<rt;a++)n.__excludes[a]||(tt=k.get(it[a]),typeof tt=="number"&&g.push(tt));v.push(g)}return et=u.width/(d-o||1),ot=u.height/(s-i||1),st=e.length,st>u.width&&n.areas&&(nt=n.shrink(e,v,u.width),e=nt.x,v=nt.y),{bbox:u,minX:o,minY:i,xValues:e,yValues:v,xScale:et,yScale:ot,areasLen:rt}},getPaths:function(){for(var e=this,nt=e.chart,tt=nt.getChartStore(),w=!0,i=e.getBounds(),f=i.bbox,l=e.items=[],h=[],u,y=0,c=[],r,o,b,k,p,n,d,g,s,v,a=i.xValues.length,t=0;t<a;t++)for(b=i.xValues[t],k=i.yValues[t],r=f.x+(b-i.minX)*i.xScale,v===undefined&&(v=r),p=0,y=0,n=0;n<i.areasLen;n++)e.__excludes[n]||(h[n]||(h[n]=[]),g=k[y],p+=g,o=f.y+f.height-(p-i.minY)*i.yScale,c[n]?(c[n].push("L",r,o),h[n].push(["L",r,o])):(c[n]=["M",r,o],h[n].push(["L",r,o])),l[n]||(l[n]={pointsUp:[],pointsDown:[],series:e}),l[n].pointsUp.push([r,o]),y++);for(n=0;n<i.areasLen;n++)if(!e.__excludes[n]){if(s=c[n],n==0||w)w=!1,s.push("L",r,f.y+f.height,"L",v,f.y+f.height,"Z");else{for(u=h[d],u.reverse(),s.push("L",r,u[0][2]),t=0;t<a;t++)s.push(u[t][0],u[t][1],u[t][2]),l[n].pointsDown[a-t-1]=[u[t][1],u[t][2]];s.push("L",v,s[2],"Z")}d=n}return{paths:c,areasLen:i.areasLen}},drawSeries:function(){var n=this,c=n.chart,f=c.getChartStore(),a=c.surface,v=c.animate,y=n.group,e=Ext.apply(n.seriesStyle,n.style),i=n.colorArrayStyle,r=i&&i.length||0,p=n.themeIdx,t,o,s,l,h,u;if(n.unHighlightItem(),n.cleanHighlights(),!f||!f.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(s=n.getPaths(),n.areas||(n.areas=[]),t=0;t<s.areasLen;t++)n.__excludes[t]||(u=p+t,n.areas[t]||(n.items[t].sprite=n.areas[t]=a.add(Ext.apply({},{type:"path",group:y,path:s.paths[t],stroke:e.stroke||i[u%r],fill:i[u%r]},e||{}))),o=n.areas[t],l=s.paths[t],v?(h=n.renderer(o,!1,{path:l,fill:i[t%r],stroke:e.stroke||i[t%r]},t,f),n.animation=n.onAnimate(o,{to:h})):(h=n.renderer(o,!1,{path:l,hidden:!1,fill:i[u%r],stroke:e.stroke||i[u%r]},t,f),n.areas[t].setAttributes(h,!0)));n.renderLabels();n.renderCallouts()},onAnimate:function(n){return n.show(),this.callParent(arguments)},onCreateLabel:function(){return null},onPlaceLabel:function(n,t,i,r,u,f,e){var s=this,p=s.chart,w=p.resizing,y=s.label,b=y.renderer,k=y.field,o=s.bbox,c=Number(i.point[r][0]),h=Number(i.point[r][1]),v,a,l;if(n.setAttributes({text:b(t.get(k[e]),n,t,i,r,u,f,e),hidden:!0},!0),v=n.getBBox(),a=v.width/2,l=v.height/2,c<o.x+a?c=o.x+a:c+a>o.x+o.width&&(c=o.x+o.width-a),h=h-l,h<o.y+l?h+=2*l:h+l>o.y+o.height&&(h-=2*l),s.chart.animate&&!s.chart.resizing){n.show(!0);s.onAnimate(n,{to:{x:c,y:h}})}else if(n.setAttributes({x:c,y:h},!0),w&&s.animation)s.animation.on("afteranimate",function(){n.show(!0)});else n.show(!0)},onPlaceCallout:function(n,t,i,r){var b=this,ut=b.chart,et=ut.surface,ot=ut.resizing,st=b.callouts,tt=b.items,s=r==0?!1:tt[r-1].point,h=r==tt.length-1?!1:tt[r+1].point,f=i.point,it,rt,u,k,v,y,e=n&&n.label?n.label.getBBox():{width:0,height:0},d=30,o=3,p,w,g,nt,ft,c=b.clipRect,l,a;if(e.width&&e.height){s||(s=f);h||(h=f);k=(h[1]-s[1])/(h[0]-s[0]);v=(f[1]-s[1])/(f[0]-s[0]);y=(h[1]-f[1])/(h[0]-f[0]);rt=Math.sqrt(1+k*k);it=[1/rt,k/rt];u=[-it[1],it[0]];v>0&&y<0&&u[1]<0||v<0&&y>0&&u[1]>0?(u[0]*=-1,u[1]*=-1):(Math.abs(v)<Math.abs(y)&&u[0]<0||Math.abs(v)>Math.abs(y)&&u[0]>0)&&(u[0]*=-1,u[1]*=-1);l=f[0]+u[0]*d;a=f[1]+u[1]*d;p=l+(u[0]>0?0:-(e.width+2*o));w=a-e.height/2-o;g=e.width+2*o;nt=e.height+2*o;(p<c[0]||p+g>c[0]+c[2])&&(u[0]*=-1);(w<c[1]||w+nt>c[1]+c[3])&&(u[1]*=-1);l=f[0]+u[0]*d;a=f[1]+u[1]*d;p=l+(u[0]>0?0:-(e.width+2*o));w=a-e.height/2-o;g=e.width+2*o;nt=e.height+2*o;n.lines.setAttributes({path:["M",f[0],f[1],"L",l,a,"Z"]},!0);n.box.setAttributes({x:p,y:w,width:g,height:nt},!0);n.label.setAttributes({x:l+(u[0]>0?o:-(e.width+o)),y:a},!0);for(ft in n)n[ft].show(!0)}},isItemInPoint:function(n,t,i,r){for(var l=this,e=i.pointsUp,o=i.pointsDown,a=Math.abs,s=!1,h=!1,v=Infinity,f,u=0,c=e.length;u<c;u++)if(f=[e[u][0],e[u][1]],s=!1,h=u==c-1,v>a(n-f[0])&&(v=a(n-f[0]),s=!0,h&&++u),!s||s&&h){if(f=e[u-1],t>=f[1]&&(!o.length||t<=o[u-1][1]))return i.storeIndex=u-1,i.storeField=l.yField[r],i.storeItem=l.chart.getChartStore().getAt(u-1),i._points=o.length?[f,o[u-1]]:[f],!0;break}return!1},highlightSeries:function(){var n,t,i;this._index!==undefined&&(n=this.areas[this._index],n.__highlightAnim&&(n.__highlightAnim.paused=!0),n.__highlighted=!0,n.__prevOpacity=n.__prevOpacity||n.attr.opacity||1,n.__prevFill=n.__prevFill||n.attr.fill,n.__prevLineWidth=n.__prevLineWidth||n.attr.lineWidth,i=Ext.draw.Color.fromString(n.__prevFill),t={lineWidth:(n.__prevLineWidth||0)+2},i?t.fill=i.getLighter(.2).toString():t.opacity=Math.max(n.__prevOpacity-.3,0),this.chart.animate?n.__highlightAnim=new Ext.fx.Anim(Ext.apply({target:n,to:t},this.chart.animate)):n.setAttributes(t,!0))},unHighlightSeries:function(){var n;this._index!==undefined&&(n=this.areas[this._index],n.__highlightAnim&&(n.__highlightAnim.paused=!0),n.__highlighted&&(n.__highlighted=!1,n.__highlightAnim=new Ext.fx.Anim({target:n,to:{fill:n.__prevFill,opacity:n.__prevOpacity,lineWidth:n.__prevLineWidth}})))},highlightItem:function(n){var i=this,t,r;if(!n){this.highlightSeries();return}t=n._points;r=t.length==2?["M",t[0][0],t[0][1],"L",t[1][0],t[1][1]]:["M",t[0][0],t[0][1],"L",t[0][0],i.bbox.y+i.bbox.height];i.highlightSprite.setAttributes({path:r,hidden:!1},!0)},unHighlightItem:function(n){n||this.unHighlightSeries();this.highlightSprite&&this.highlightSprite.hide(!0)},hideAll:function(n){var t=this;n=(isNaN(t._index)?n:t._index)||0;t.__excludes[n]=!0;t.areas[n].hide(!0);t.redraw()},showAll:function(n){var t=this;n=(isNaN(t._index)?n:t._index)||0;t.__excludes[n]=!1;t.areas[n].show(!0);t.redraw()},redraw:function(){var n=this,t;t=n.chart.legend.rebuild;n.chart.legend.rebuild=!1;n.chart.redraw();n.chart.legend.rebuild=t},hide:function(){if(this.areas){var i=this,n=i.areas,t,r;if(n&&n.length){for(t=0,r=n.length;t<r;++t)n[t]&&n[t].hide(!0);i.hideLabels()}}},getLegendColor:function(n){var t=this;return n+=t.themeIdx,t.colorArrayStyle[n%t.colorArrayStyle.length]}},1,0,0,0,["series.area"],0,[Ext.chart.series,"Area"],0);Ext.cmd.derive("Ext.chart.series.Bar",Ext.chart.series.Cartesian,{alternateClassName:["Ext.chart.BarSeries","Ext.chart.BarChart","Ext.chart.StackedBarChart"],type:"bar",column:!1,style:{},gutter:38.2,groupGutter:38.2,xPadding:0,yPadding:10,constructor:function(n){this.callParent(arguments);var t=this,r=t.chart.surface,f=t.chart.shadow,i,u;if(n.highlightCfg=Ext.Object.merge({lineWidth:3,stroke:"#55c",opacity:.8,color:"#f00"},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:1.2}},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:.9}},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:.6}}]}),t.group=r.getGroup(t.seriesId+"-bars"),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},getPadding:function(){var r=this,t=r.xPadding,i=r.yPadding,n={};return Ext.isNumber(t)?(n.left=t,n.right=t):Ext.isObject(t)?(n.left=t.left,n.right=t.right):(n.left=0,n.right=0),n.width=n.left+n.right,Ext.isNumber(i)?(n.bottom=i,n.top=i):Ext.isObject(i)?(n.bottom=i.bottom,n.top=i.top):(n.bottom=0,n.top=0),n.height=n.bottom+n.top,n},getBarGirth:function(){var n=this,u=n.chart.getChartStore(),f=n.column,e=u.getCount(),i=n.gutter/100,r,t;return n.style&&n.style.width?n.style.width:(r=n.getPadding(),t=f?"width":"height",(n.chart.chartBBox[t]-r[t])/(e*(i+1)-i))},getGutters:function(){var t=this,i=t.column,n=t.getPadding(),r=t.getBarGirth()/2,u=Math.ceil((i?n.left:n.bottom)+r),f=Math.ceil((i?n.right:n.top)+r);return{lower:u,upper:f,verticalAxis:!i}},getBounds:function(){var n=this,ut=n.chart,dt=ut.getChartStore(),d=dt.data.items,t,g,nt,ft=[].concat(n.yField),et,ot=ft.length,tt=ot,it=n.groupGutter/100,h=n.column,o=n.getPadding(),st=n.stacked,ht=n.getBarGirth(),vt=h?"width":"height",p=Math,gt=p.min,yt=p.max,ct=p.abs,pt=n.getAxesForXAndYFields(),ni=pt.yAxis,s,w,wt,bt,rt,c,lt,l,u,i,f,a,v,b,y,r,k,e,kt,at;if(n.setBBox(!0),u=n.bbox,n.__excludes)for(e=0,r=n.__excludes.length;e<r;e++)n.__excludes[e]&&tt--;if(a=ut.axes.get(ni),a&&(c=a.applyData(),i=c.from,f=c.to),n.yField&&!Ext.isNumber(i)&&(v=n.getMinMaxYValues(),i=v[0],f=v[1]),Ext.isNumber(i)||(i=0),Ext.isNumber(f)||(f=0),b=(h?u.height-o.height:u.width-o.width)/(f-i),lt=ht,l=ht/((st?1:tt)*(it+1)-it),vt in n.style&&(l=gt(l,n.style[vt]),lt=l*((st?1:tt)*(it+1)-it)),y=h?u.y+u.height-o.bottom:u.x+o.left,st){for(r=[[],[]],t=0,g=d.length;t<g;t++)for(nt=d[t],r[0][t]=r[0][t]||0,r[1][t]=r[1][t]||0,e=0;e<ot;e++)n.__excludes&&n.__excludes[e]||(k=nt.get(ft[e]),r[+(k>0)][t]+=ct(k));r[+(f>0)].push(ct(f));r[+(i>0)].push(ct(i));at=yt.apply(p,r[0]);kt=yt.apply(p,r[1]);b=(h?u.height-o.height:u.width-o.width)/(kt+at);y=y+at*b*(h?-1:1)}else i/f<0&&(y=y-i*b*(h?-1:1));if(n.boundColumn)for(a=ut.axes.get(pt.xAxis),a&&(c=a.applyData(),s=c.from,w=c.to),n.xField&&!Ext.isNumber(s)&&(v=n.getMinMaxYValues(),s=v[0],w=v[1]),Ext.isNumber(s)||(s=0),Ext.isNumber(w)||(w=0),rt=n.getGutters(),wt=(u.width-(rt.lower+rt.upper))/(w-s||1),bt=u.x+rt.lower,et=[],t=0,g=d.length;t<g;t++)nt=d[t],k=nt.get(n.xField),et[t]=bt+(k-s)*wt-l/2;return{bars:ft,barsLoc:et,bbox:u,shrunkBarWidth:lt,barsLen:ot,groupBarsLen:tt,barWidth:ht,groupBarWidth:l,scale:b,zero:y,padding:o,signed:i/f<0,minY:i,maxY:f}},getPaths:function(){for(var t=this,p=t.chart,ni=p.getChartStore(),tt=ni.data.items,w,r=t.bounds=t.getBounds(),c=t.items=[],ti=Ext.isArray(t.yField)?t.yField:[t.yField],vt=t.gutter/100,yt=t.groupGutter/100,ii=p.animate,l=t.column,ri=t.group,ui=p.shadow,it=t.shadowGroups,oi=t.shadowAttributes,pt=it.length,wt=r.bbox,b=r.barWidth,bt=r.shrunkBarWidth,kt=t.getPadding(),o=t.stacked,k=r.barsLen,rt=t.colorArrayStyle,fi=rt&&rt.length||0,ei=t.themeIdx,ut=Math,ft=ut.max,si=ut.min,d=ut.abs,f,s,u,et,ot,a,g,st,n,ht,e,ct,lt,h,v,at,dt,nt,gt,i=0,y=tt.length;i<y;i++){for(w=tt[i],a=r.zero,g=r.zero,et=0,ot=0,ct=lt=0,st=!1,f=0,e=0;f<k;f++)if(!t.__excludes||!t.__excludes[f]){if(s=w.get(r.bars[f]),s>=0?ct+=s:lt+=s,u=Math.round((s-ft(r.minY,0))*r.scale),gt=ei+(k>1?f:0),n={fill:rt[gt%fi]},l?Ext.apply(n,{height:u,width:ft(r.groupBarWidth,0),x:t.boundColumn?r.barsLoc[i]:wt.x+kt.left+(b-bt)*.5+i*b*(1+vt)+e*r.groupBarWidth*(1+yt)*!o,y:a-u}):(dt=y-1-i,Ext.apply(n,{height:ft(r.groupBarWidth,0),width:u+(a==r.zero),x:a+(a!=r.zero),y:wt.y+kt.top+(b-bt)*.5+dt*b*(1+vt)+e*r.groupBarWidth*(1+yt)*!o+1})),u<0&&(l?(n.y=g,n.height=d(u)):(n.x=g+u,n.width=d(u))),o&&(u<0?g+=u*(l?-1:1):a+=u*(l?-1:1),et+=d(u),u<0&&(ot+=d(u))),n.x=Math.floor(n.x)+1,nt=Math.floor(n.y),Ext.isIE8m&&n.y>nt&&nt--,n.y=nt,n.width=Math.floor(n.width),n.height=Math.floor(n.height),c.push({series:t,yField:ti[f],storeItem:w,value:[w.get(t.xField),s],attr:n,point:l?[n.x+n.width/2,s>=0?n.y:n.y+n.height]:[s>=0?n.x+n.width:n.x,n.y+n.height/2]}),ii&&p.resizing){if(ht=l?{x:n.x,y:r.zero,width:n.width,height:0}:{x:r.zero,y:n.y,width:0,height:n.height},ui&&(o&&!st||!o))for(st=!0,h=0;h<pt;h++)v=it[h].getAt(o?i:i*k+f),v&&v.setAttributes(ht,!0);at=ri.getAt(i*k+f);at&&at.setAttributes(ht,!0)}e++}o&&c.length&&(c[i*e].totalDim=et,c[i*e].totalNegDim=ot,c[i*e].totalPositiveValues=ct,c[i*e].totalNegativeValues=lt)}if(o&&e==0)for(i=0,y=tt.length;i<y;i++)for(h=0;h<pt;h++)v=it[h].getAt(i),v&&v.hide(!0)},renderShadows:function(n,t,i,r){var u=this,l=u.chart,d=l.surface,g=l.animate,s=u.stacked,a=u.shadowGroups,nt=u.shadowAttributes,tt=a.length,p=l.getChartStore(),it=u.column,w=u.items,b=[],k=r.zero,o,f,e,h,v,y,c;if(s&&n%r.groupBarsLen==0||!s)for(y=n/r.groupBarsLen,o=0;o<tt;o++){if(f=Ext.apply({},nt[o]),e=a[o].getAt(s?y:n),Ext.copyTo(f,t,"x,y,width,height"),e||(e=d.add(Ext.apply({type:"rect",group:a[o]},Ext.apply({},i,f)))),s&&(h=w[n].totalDim,v=w[n].totalNegDim,it?(f.y=k+v-h-1,f.height=h):(f.x=k-v,f.width=h)),c=u.renderer(e,p.getAt(y),f,n,p),c.hidden=!!t.hidden,g)u.onAnimate(e,{to:c});else e.setAttributes(c,!0);b.push(e)}return b},drawSeries:function(){var n=this,h=n.chart,e=h.getChartStore(),rt=h.surface,ut=h.animate,ft=n.stacked,et=n.column,g=h.axes,nt=n.getAxesForXAndYFields(),v=nt.xAxis,st=nt.yAxis,w=h.shadow,b=n.shadowGroups,tt=b.length,y=n.group,ot=n.seriesStyle,c,o,t,i,k,r,l,f,d,s,u,a,p,it;if(!e||!e.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(u=Ext.apply({},this.style,ot),delete u.fill,delete u.x,delete u.y,delete u.width,delete u.height,n.unHighlightItem(),n.cleanHighlights(),n.boundColumn=v&&Ext.Array.contains(n.axis,v)&&g.get(v)&&g.get(v).isNumericAxis,n.getPaths(),s=n.bounds,c=n.items,k=et?{y:s.zero,height:0}:{x:s.zero,width:0},o=c.length,t=0;t<o;t++){if(r=y.getAt(t),a=c[t].attr,w&&(c[t].shadows=n.renderShadows(t,a,k,s)),r||(p=Ext.apply({},k,a),p=Ext.apply(p,u||{}),r=rt.add(Ext.apply({},{type:"rect",group:y},p))),ut){if(l=n.renderer(r,e.getAt(t),a,t,e),r._to=l,it=n.onAnimate(r,{to:Ext.apply(l,u)}),w&&ft&&t%s.barsLen==0)for(i=t/s.barsLen,f=0;f<tt;f++)it.on("afteranimate",function(){this.show(!0)},b[f].getAt(i))}else l=n.renderer(r,e.getAt(t),Ext.apply(a,{hidden:!1}),t,e),r.setAttributes(Ext.apply(l,u),!0);c[t].sprite=r}for(o=y.getCount(),i=t;i<o;i++)y.getAt(i).hide(!0);if(n.stacked&&(t=e.getCount()),w)for(f=0;f<tt;f++)for(d=b[f],o=d.getCount(),i=t;i<o;i++)d.getAt(i).hide(!0);n.renderLabels()},onCreateLabel:function(){var n=this,t=n.chart.surface,i=n.labelsGroup,r=n.label,u=Ext.apply({},r,n.seriesLabelStyle||{});return t.add(Ext.apply({type:"text",group:i},u||{}))},onPlaceLabel:function(n,t,i,r,u,f,e){var w=this,ht=w.bounds,y=ht.groupBarWidth,ut=w.column,ct=w.chart,d=ct.chartBBox,vt=ct.resizing,bt=i.value[0],ft=i.value[1],o=i.attr,et=w.label,g=w.stacked,yt=et.stackedDisplay,s=et.orientation=="vertical",pt=[].concat(et.field),wt=et.renderer,nt,tt,a,h,it=ht.zero,rt="insideStart",k="insideEnd",v="outside",lt="over",at="under",p=4,b=2,kt=ht.signed,c,l,ot,st;if(u==rt||u==k||u==v){if(g&&u==v){n.hide(!0);return}if(n.setAttributes({style:undefined}),nt=Ext.isNumber(e)?wt(t.get(pt[e]),n,t,i,r,u,f,e):"",n.setAttributes({text:nt}),tt=w.getLabelSize(nt,n.attr.style),a=tt.width,h=tt.height,ut){if(!a||!h||g&&o.height<h){n.hide(!0);return}if(c=o.x+(s?y/2:(y-a)/2),u==v&&(st=ft>=0?o.y-d.y:d.y+d.height-o.y-o.height,st<h+b&&(u=k)),g||u==v||h+b>o.height&&(u=v),!l)if(l=o.y,ft>=0)switch(u){case rt:l+=o.height+(s?-b:-h/2);break;case k:l+=s?h+p:h/2;break;case v:l+=s?-b:-h/2}else switch(u){case rt:l+=s?h+b:h/2;break;case k:l+=s?o.height-b:o.height-h/2;break;case v:l+=s?o.height+h+b:o.height+h/2}}else{if(!a||!h||g&&!o.width){n.hide(!0);return}if(l=o.y+(s?(y+h)/2:y/2),u==v&&(st=ft>=0?d.x+d.width-o.x-o.width:o.x-d.x,st<a+p&&(u=k)),u!=v&&!s&&a+p>o.width)if(g){if(h>o.width){n.hide(!0);return}c=o.x+o.width/2;l=o.y+o.height-(o.height-a)/2;s=!0}else u=v;if(!c)if(c=o.x,ft>=0)switch(u){case rt:c+=s?a/2:p;break;case k:c+=o.width+(s?-a/2:-a-p);break;case v:c+=o.width+(s?a/2:p)}else switch(u){case rt:c+=o.width+(s?-a/2:-a-p);break;case k:c+=s?a/2:p;break;case v:c+=s?-a/2:-a-p}}}else if((u==lt||u==at)&&g&&yt){nt=n.attr.text;n.setAttributes({style:Ext.applyIf(n.attr&&n.attr.style||{},{"font-weight":"bold","font-size":"14px"})});tt=w.getLabelSize(nt,n.attr.style);a=tt.width;h=tt.height;switch(u){case lt:ut?(c=o.x+(s?y/2:(y-a)/2),l=it-(i.totalDim-i.totalNegDim)-h/2-b):(c=it+(i.totalDim-i.totalNegDim)+p,l=o.y+(s?(y+h)/2:y/2));break;case at:ut?(c=o.x+(s?y/2:(y-a)/2),l=it+i.totalNegDim+h/2):(c=it-i.totalNegDim-a-p,l=o.y+(s?(y+h)/2:y/2))}}if(c==undefined||l==undefined){n.hide(!0);return}if(n.isOutside=u==v,n.setAttributes({text:nt}),ot={x:c,y:l},s&&(ot.rotate={x:c,y:l,degrees:270}),f&&vt&&(ut?(c=o.x+o.width/2,l=it):(c=it,l=o.y+o.height/2),n.setAttributes({x:c,y:l},!0),s&&n.setAttributes({rotate:{x:c,y:l,degrees:270}},!0)),f)w.onAnimate(n,{to:ot});else n.setAttributes(Ext.apply(ot,{hidden:!1}),!0)},getLabelSize:function(n,t){var i=this.testerLabel,e=this.label,s=Ext.apply({},e,t,this.seriesLabelStyle||{}),o=e.orientation==="vertical",r,u,f;return i||(i=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},s))),i.setAttributes({style:t,text:n},!0),r=i.getBBox(),u=r.width,f=r.height,{width:o?f:u,height:o?u:f}},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r=i.sprite.getBBox();return r.x<=n&&r.y<=t&&r.x+r.width>=n&&r.y+r.height>=t},hideAll:function(n){var r=this.chart.axes,i=r.items,u=i.length,t=0;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes||(this.__excludes=[]),this.__excludes[n]=!0,this.drawSeries(),t;t<u;t++)i[t].drawAxis()},showAll:function(n){var r=this.chart.axes,i=r.items,u=i.length,t=0;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes||(this.__excludes=[]),this.__excludes[n]=!1,this.drawSeries(),t;t<u;t++)i[t].drawAxis()},getLegendColor:function(n){var t=this,i=t.colorArrayStyle.length;return t.style&&t.style.fill?t.style.fill:t.colorArrayStyle[n%i]},highlightItem:function(){this.callParent(arguments);this.renderLabels()},unHighlightItem:function(){this.callParent(arguments);this.renderLabels()},cleanHighlights:function(){this.callParent(arguments);this.renderLabels()}},1,0,0,0,["series.bar"],0,[Ext.chart.series,"Bar",Ext.chart,"BarSeries",Ext.chart,"BarChart",Ext.chart,"StackedBarChart"],0);Ext.cmd.derive("Ext.chart.series.Column",Ext.chart.series.Bar,{alternateClassName:["Ext.chart.ColumnSeries","Ext.chart.ColumnChart","Ext.chart.StackedColumnChart"],type:"column",column:!0,boundColumn:!1,xPadding:10,yPadding:0},0,0,0,0,["series.column"],0,[Ext.chart.series,"Column",Ext.chart,"ColumnSeries",Ext.chart,"ColumnChart",Ext.chart,"StackedColumnChart"],0);Ext.cmd.derive("Ext.chart.series.Gauge",Ext.chart.series.Series,{type:"gauge",rad:Math.PI/180,highlightDuration:150,angleField:!1,needle:!1,donut:!1,showInLegend:!1,style:{},constructor:function(n){this.callParent(arguments);var t=this,r=t.chart,u=r.surface,o=r.store,e=r.shadow,i,f;if(Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:1}}]}),t.group=u.getGroup(t.seriesId),e)for(i=0,f=t.shadowAttributes.length;i<f;i++)t.shadowGroups.push(u.getGroup(t.seriesId+"-shadows"+i));u.customAttributes.segment=function(n){return t.getSegment(n)}},initialize:function(){var n=this,r=n.chart.getChartStore(),i=r.data.items,t=n.label,u=i.length;n.yField=[];t&&t.field&&u>0&&n.yField.push(i[0].get(t.field))},getSegment:function(n){var l=this,a=l.rad,t=Math.cos,i=Math.sin,v=Math.abs,r=l.centerX,u=l.centerY,f=0,y=0,p=0,w=0,e=0,b=0,k=0,d=0,nt=.01,ut=n.endRho-n.startRho,o=n.startAngle,s=n.endAngle,tt=(o+s)/2*a,it=n.margin||0,g=v(s-o)>180,h=Math.min(o,s)*a,c=Math.max(o,s)*a,rt=!1;return r+=it*t(tt),u+=it*i(tt),f=r+n.startRho*t(h),e=u+n.startRho*i(h),y=r+n.endRho*t(h),b=u+n.endRho*i(h),p=r+n.startRho*t(c),k=u+n.startRho*i(c),w=r+n.endRho*t(c),d=u+n.endRho*i(c),v(f-p)<=nt&&v(e-k)<=nt&&(rt=!0),rt?{path:[["M",f,e],["L",y,b],["A",n.endRho,n.endRho,0,+g,1,w,d],["Z"]]}:{path:[["M",f,e],["L",y,b],["A",n.endRho,n.endRho,0,+g,1,w,d],["L",p,k],["A",n.startRho,n.startRho,0,+g,0,f,e],["Z"]]}},calcMiddle:function(n){var t=this,r=t.rad,i=n.slice,s=t.centerX,h=t.centerY,u=i.startAngle,f=i.endAngle,v=Math.max("rho"in i?i.rho:t.radius,t.label.minMargin),y=+t.donut,e=Math.min(u,f)*r,c=Math.max(u,f)*r,o=-(e+(c-e)/2),l=s+(n.endRho+n.startRho)/2*Math.cos(o),a=h-(n.endRho+n.startRho)/2*Math.sin(o);n.middle={x:l,y:a}},drawSeries:function(){var n=this,g=n.chart,y=g.getChartStore(),rt=n.group,ut=n.chart.animate,b=n.chart.axes.get(0),k=b&&b.minimum||n.minimum||0,ft=b&&b.maximum||n.maximum||0,ct=n.angleField||n.field||n.xField,lt=g.surface,c=g.chartBBox,vt=n.rad,h=+n.donut,et=[],nt=n.seriesStyle,yt=n.seriesLabelStyle,e=n.colorArrayStyle,tt=e&&e.length||0,l=Math.cos,a=Math.sin,r,o,s,u,p,f,v,it,ot,w,i,st,at,t,d,ht;if(Ext.apply(nt,n.style||{}),n.setBBox(),at=n.bbox,n.colorSet&&(e=n.colorSet,tt=e.length),!y||!y.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(o=n.centerX=c.x+c.width/2,s=n.centerY=c.y+c.height,n.radius=Math.min(o-c.x,s-c.y),n.slices=p=[],n.items=et=[],n.value||(w=y.getAt(0),n.value=w.get(ct)),v=n.value,n.needle?(d={series:n,value:v,startAngle:-180,endAngle:0,rho:n.radius},t=-180*(1-(v-k)/(ft-k)),p.push(d)):(t=-180*(1-(v-k)/(ft-k)),d={series:n,value:v,startAngle:-180,endAngle:t,rho:n.radius},ht={series:n,value:n.maximum-v,startAngle:t,endAngle:0,rho:n.radius},p.push(d,ht)),i=0,ot=p.length;i<ot;i++)if(u=p[i],f=rt.getAt(i),r=Ext.apply({segment:{startAngle:u.startAngle,endAngle:u.endAngle,margin:0,rho:u.rho,startRho:u.rho*+h/100,endRho:u.rho}},Ext.apply(nt,e&&{fill:e[i%tt]}||{})),it=Ext.apply({},r.segment,{slice:u,series:n,storeItem:w,index:i}),et[i]=it,f||(st=Ext.apply({type:"path",group:rt},Ext.apply(nt,e&&{fill:e[i%tt]}||{})),f=lt.add(Ext.apply(st,r))),u.sprite=u.sprite||[],it.sprite=f,u.sprite.push(f),ut){r=n.renderer(f,w,r,i,y);f._to=r;n.onAnimate(f,{to:r})}else r=n.renderer(f,w,Ext.apply(r,{hidden:!1}),i,y),f.setAttributes(r,!0);if(n.needle){if(t=t*Math.PI/180,n.needleSprite)if(ut)n.onAnimate(n.needleSprite,{to:{path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))]}});else n.needleSprite.setAttributes({type:"path",path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))]});else n.needleSprite=n.chart.surface.add({type:"path",path:["M",o+n.radius*+h/100*l(t),s+-Math.abs(n.radius*+h/100*a(t)),"L",o+n.radius*l(t),s+-Math.abs(n.radius*a(t))],"stroke-width":4,stroke:"#222"});n.needleSprite.setAttributes({hidden:!1},!0)}delete n.value},setValue:function(n){this.value=n;this.drawSeries()},onCreateLabel:function(){},onPlaceLabel:function(){},onPlaceCallout:function(){},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i,r){var u=this,f=u.centerX,e=u.centerY,o=Math.abs,s=o(n-f),h=o(t-e),a=i.startAngle,v=i.endAngle,c=Math.sqrt(s*s+h*h),l=Math.atan2(t-e,n-f)/u.rad;return r===0&&l>=a&&l<v&&c>=i.startRho&&c<=i.endRho},getLegendColor:function(n){var t=this.colorSet||this.colorArrayStyle;return t[n%t.length]}},1,0,0,0,["series.gauge"],0,[Ext.chart.series,"Gauge"],0);Ext.cmd.derive("Ext.chart.series.Line",Ext.chart.series.Cartesian,{alternateClassName:["Ext.chart.LineSeries","Ext.chart.LineChart"],type:"line",selectionTolerance:20,showMarkers:!0,markerConfig:{},style:{},smooth:!1,defaultSmoothness:3,fill:!1,constructor:function(n){this.callParent(arguments);var t=this,r=t.chart.surface,f=t.chart.shadow,i,u;if(n.highlightCfg=Ext.Object.merge({"stroke-width":3},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}}]}),t.group=r.getGroup(t.seriesId),t.showMarkers&&(t.markerGroup=r.getGroup(t.seriesId+"-markers")),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},shrink:function(n,t,i){for(var o=n.length,u=Math.floor(o/i),r=1,f=0,e=0,s=[+n[0]],h=[+t[0]];r<o;++r)f+=+n[r]||0,e+=+t[r]||0,r%u==0&&(s.push(f/u),h.push(e/u),f=0,e=0);return{x:s,y:h}},drawSeries:function(){var n=this,a=n.chart,k=a.axes,b=a.getChartStore(),ki=b.data.items,ui,vt=b.getCount(),wt=n.chart.surface,r={},fi=n.group,bt=n.showMarkers,s=n.markerGroup,kt=a.shadow,di=n.shadowGroups,cr=n.shadowAttributes,dt=n.smooth,tt=di.length,d=["M"],h=["M"],it=["M"],gi=["M"],nr=a.markerIndex,wr=[].concat(n.axis),gt,et=[],ei={},ni=[],oi=!1,tr=[],lr=Ext.apply({},n.markerStyle),ar=n.seriesStyle,rt=n.colorArrayStyle,ti=rt&&rt.length||0,vr=Ext.isNumber,br=n.seriesIdx,ir=n.getAxesForXAndYFields(),ot=ir.xAxis,st=ir.yAxis,yr=ot?k.get(ot).type:"",pr=st?k.get(st).type:"",c,ht,yt,pt,rr,si,l,p,g,ur,fr,hi,ci,li,t,u,nt,w,ct,y,ai,e,o,f,vi,yi,pi,ut,wi,ft,bi,lt,er,at,i,or,v,sr,ii,ri,hr;if(n.fireEvent("beforedraw",n)!==!1){if(!vt||n.seriesIsHidden){if(n.hide(),n.items=[],n.line){if(n.line.hide(!0),n.line.shadows)for(c=n.line.shadows,u=0,tt=c.length;u<tt;u++)ht=c[u],ht.hide(!0);n.fillPath&&n.fillPath.hide(!0)}n.line=null;n.fillPath=null;return}if(at=Ext.apply(lr||{},n.markerConfig,{fill:n.seriesStyle.fill||rt[n.themeIdx%rt.length]}),or=at.type,delete at.type,i=ar,i["stroke-width"]||(i["stroke-width"]=.5),sr="opacity"in i?i.opacity:1,hr="opacity"in i?i.opacity:.3,ii="lineOpacity"in i?i.lineOpacity:sr,ri="fillOpacity"in i?i.fillOpacity:hr,nr&&s&&s.getCount())for(t=0;t<nr;t++)y=s.getAt(t),s.remove(y),s.add(y),ai=s.getAt(s.getCount()-2),y.setAttributes({x:0,y:0,translate:{x:ai.attr.translation.x,y:ai.attr.translation.y}},!0);for(n.unHighlightItem(),n.cleanHighlights(),n.setBBox(),r=n.bbox,n.clipRect=[r.x,r.y,r.width,r.height],(w=k.get(ot))&&(ct=w.applyData(),ut=ct.from,wi=ct.to),(w=k.get(st))&&(ct=w.applyData(),ft=ct.from,bi=ct.to),n.xField&&!Ext.isNumber(ut)&&(w=n.getMinMaxXValues(),ut=w[0],wi=w[1]),n.yField&&!Ext.isNumber(ft)&&(w=n.getMinMaxYValues(),ft=w[0],bi=w[1]),isNaN(ut)?(ut=0,yi=r.width/(vt-1||1)):yi=r.width/(wi-ut||vt-1||1),isNaN(ft)?(ft=0,pi=r.height/(vt-1||1)):pi=r.height/(bi-ft||vt-1||1),t=0,nt=ki.length;t<nt;t++)(ui=ki[t],o=ui.get(n.xField),yr=="Time"&&typeof o=="string"&&(o=Date.parse(o)),(typeof o=="string"||typeof o=="object"&&!Ext.isDate(o)||ot&&k.get(ot)&&k.get(ot).type=="Category")&&(o=o in ei?ei[o]:ei[o]=t),f=ui.get(n.yField),pr=="Time"&&typeof f=="string"&&(f=Date.parse(f)),typeof f!="undefined"&&(typeof f!="string"||f))&&((typeof f=="string"||typeof f=="object"&&!Ext.isDate(f)||st&&k.get(st)&&k.get(st).type=="Category")&&(f=t),tr.push(t),et.push(o),ni.push(f));for(nt=et.length,nt>r.width&&(vi=n.shrink(et,ni,r.width),et=vi.x,ni=vi.y),n.items=[],v=0,nt=et.length,t=0;t<nt;t++){if(o=et[t],f=ni[t],f===!1){h.length==1&&(h=[]);oi=!0;n.items.push(!1);continue}else p=(r.x+(o-ut)*yi).toFixed(2),g=(r.y+r.height-(f-ft)*pi).toFixed(2),oi&&(oi=!1,h.push("M")),h=h.concat([p,g]);if(typeof ci=="undefined"&&typeof g!="undefined"&&(ci=g,hi=p),(!n.line||a.resizing)&&(d=d.concat([p,r.y+r.height/2])),a.animate&&a.resizing&&n.line&&(n.line.setAttributes({path:d,opacity:ii},!0),n.fillPath&&n.fillPath.setAttributes({path:d,opacity:ri},!0),n.line.shadows))for(c=n.line.shadows,u=0,tt=c.length;u<tt;u++)ht=c[u],ht.setAttributes({path:d},!0);bt&&(y=s.getAt(v++),y?(y.setAttributes({value:'"'+o+", "+f+'"',x:0,y:0,hidden:!1},!0),y._to={translate:{x:+p,y:+g}}):(y=Ext.chart.Shape[or](wt,Ext.apply({group:[fi,s],x:0,y:0,translate:{x:+(ur||p),y:fr||r.y+r.height/2},value:'"'+o+", "+f+'"',zIndex:4e3},at)),y._to={translate:{x:+p,y:+g}}));n.items.push({series:n,value:[o,f],point:[p,g],sprite:y,storeItem:b.getAt(tr[t])});ur=p;fr=g}if(!(h.length<=1)){if(n.smooth&&(gi=Ext.draw.Draw.smooth(h,vr(dt)?dt:n.defaultSmoothness)),it=dt?gi:h,a.markerIndex&&n.previousPath?(pt=n.previousPath,dt||Ext.Array.erase(pt,1,2)):pt=h,!n.line&&(n.line=wt.add(Ext.apply({type:"path",group:fi,path:d,stroke:i.stroke||i.fill},i||{})),n,n.line.setAttributes({opacity:ii},!0),kt&&n.line.setAttributes(Ext.apply({},n.shadowOptions),!0),n.line.setAttributes({fill:"none",zIndex:3e3}),!i.stroke&&ti&&n.line.setAttributes({stroke:rt[n.themeIdx%ti]},!0),kt))for(c=n.line.shadows=[],yt=0;yt<tt;yt++)gt=cr[yt],gt=Ext.apply({},gt,{path:d}),ht=wt.add(Ext.apply({},{type:"path",group:di[yt]},gt)),c.push(ht);if(n.fill&&(si=it.concat([["L",p,r.y+r.height],["L",hi,r.y+r.height],["L",hi,ci]]),n.fillPath||(n.fillPath=wt.add({group:fi,type:"path",fill:i.fill||rt[n.themeIdx%ti],path:d}))),li=bt&&s.getCount(),a.animate){if(rr=n.fill,lt=n.line,l=n.renderer(lt,!1,{path:it},t,b),Ext.apply(l,i||{},{stroke:i.stroke||i.fill}),delete l.fill,lt.show(!0),n.animation=a.markerIndex&&n.previousPath?er=n.onAnimate(lt,{to:l,from:{path:pt}}):er=n.onAnimate(lt,{to:l}),kt)for(c=lt.shadows,u=0;u<tt;u++)if(c[u].show(!0),a.markerIndex&&n.previousPath)n.onAnimate(c[u],{to:{path:it},from:{path:pt}});else n.onAnimate(c[u],{to:{path:it}});if(rr){n.fillPath.show(!0);n.onAnimate(n.fillPath,{to:Ext.apply({},{path:si,fill:i.fill||rt[n.themeIdx%ti],"stroke-width":0,opacity:ri},i||{})})}if(bt){for(v=0,t=0;t<nt;t++)if(n.items[t]&&(e=s.getAt(v++),e)){l=n.renderer(e,b.getAt(t),e._to,t,b);n.onAnimate(e,{to:Ext.applyIf(l,at||{})});e.show(!0)}for(;v<li;v++)e=s.getAt(v),e.hide(!0)}}else{if(l=n.renderer(n.line,!1,{path:it,hidden:!1},t,b),Ext.apply(l,i||{},{stroke:i.stroke||i.fill}),delete l.fill,n.line.setAttributes(l,!0),n.line.setAttributes({opacity:ii},!0),kt)for(c=n.line.shadows,u=0;u<tt;u++)c[u].setAttributes({path:it,hidden:!1},!0);if(n.fill&&n.fillPath.setAttributes({path:si,hidden:!1,opacity:ri},!0),bt){for(v=0,t=0;t<nt;t++)n.items[t]&&(e=s.getAt(v++),e&&(l=n.renderer(e,b.getAt(t),e._to,t,b),e.setAttributes(Ext.apply(at||{},l||{}),!0),e.attr.hidden||e.show(!0)));for(;v<li;v++)e=s.getAt(v),e.hide(!0)}}a.markerIndex&&(n.smooth?Ext.Array.erase(h,1,2):Ext.Array.splice(h,1,0,h[1],h[2]),n.previousPath=h);n.renderLabels();n.renderCallouts();n.fireEvent("draw",n)}}},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,r=i.bbox,e=Ext.apply({},f,i.seriesLabelStyle||{});return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:Number(t.point[0]),y:r.y+r.height/2},e||{}))},onPlaceLabel:function(n,t,i,r,u,f,e){var c=this,d=c.chart,g=d.resizing,b=c.label,nt=b.renderer,tt=b.field,o=c.bbox,s=Number(i.point[0]),h=Number(i.point[1]),k=i.sprite.attr.radius,w,l,a,v,p,y;if(n.setAttributes({text:nt(t.get(tt),n,t,i,r,u,f,e),hidden:!0},!0),l=i.sprite.getBBox(),l.width=l.width||k*2,l.height=l.height||k*2,w=n.getBBox(),a=w.width/2,v=w.height/2,u=="rotate"?(p=l.width/2+a+v/2,s+p+a>o.x+o.width?s-=p:s+=p,n.setAttributes({rotation:{x:s,y:h,degrees:-45}},!0)):(u=="under"||u=="over")&&(n.setAttributes({rotation:{degrees:0}},!0),s<o.x+a?s=o.x+a:s+a>o.x+o.width&&(s=o.x+o.width-a),y=l.height/2+v,h=h+(u=="over"?-y:y),h<o.y+v?h+=2*y:h+v>o.y+o.height&&(h-=2*y)),c.chart.animate&&!c.chart.resizing){n.show(!0);c.onAnimate(n,{to:{x:s,y:h}})}else if(n.setAttributes({x:s,y:h},!0),g&&c.animation)c.animation.on("afteranimate",function(){n.show(!0)});else n.show(!0)},highlightItem:function(){var t=this,n=t.line;t.callParent(arguments);n&&!t.highlighted&&("__strokeWidth"in n||(n.__strokeWidth=parseFloat(n.attr["stroke-width"])||0),n.__anim&&(n.__anim.paused=!0),n.__anim=new Ext.fx.Anim({target:n,to:{"stroke-width":n.__strokeWidth+3}}),t.highlighted=!0)},unHighlightItem:function(){var t=this,n=t.line,i;t.callParent(arguments);n&&t.highlighted&&(i=n.__strokeWidth||parseFloat(n.attr["stroke-width"])||0,n.__anim=new Ext.fx.Anim({target:n,to:{"stroke-width":i}}),t.highlighted=!1)},onPlaceCallout:function(n,t,i,r,u){if(u){var w=this,tt=w.chart,st=tt.surface,ht=tt.resizing,b=w.callouts,it=w.items,h=r==0?!1:it[r-1].point,c=r==it.length-1?!1:it[r+1].point,e=[+i.point[0],+i.point[1]],rt,ut,f,g,k,d,nt=b.offsetFromViz||30,ct=b.offsetToSide||10,o=b.offsetBox||3,l,a,ft,et,ot,v=w.clipRect,s={width:b.styles.width||10,height:b.styles.height||10},y,p;if(h||(h=e),c||(c=e),g=(c[1]-h[1])/(c[0]-h[0]),k=(e[1]-h[1])/(e[0]-h[0]),d=(c[1]-e[1])/(c[0]-e[0]),ut=Math.sqrt(1+g*g),rt=[1/ut,g/ut],f=[-rt[1],rt[0]],k>0&&d<0&&f[1]<0||k<0&&d>0&&f[1]>0?(f[0]*=-1,f[1]*=-1):(Math.abs(k)<Math.abs(d)&&f[0]<0||Math.abs(k)>Math.abs(d)&&f[0]>0)&&(f[0]*=-1,f[1]*=-1),y=e[0]+f[0]*nt,p=e[1]+f[1]*nt,l=y+(f[0]>0?0:-(s.width+2*o)),a=p-s.height/2-o,ft=s.width+2*o,et=s.height+2*o,(l<v[0]||l+ft>v[0]+v[2])&&(f[0]*=-1),(a<v[1]||a+et>v[1]+v[3])&&(f[1]*=-1),y=e[0]+f[0]*nt,p=e[1]+f[1]*nt,l=y+(f[0]>0?0:-(s.width+2*o)),a=p-s.height/2-o,ft=s.width+2*o,et=s.height+2*o,tt.animate){w.onAnimate(n.lines,{to:{path:["M",e[0],e[1],"L",y,p,"Z"]}});n.panel&&n.panel.setPosition(l,a,!0)}else n.lines.setAttributes({path:["M",e[0],e[1],"L",y,p,"Z"]},!0),n.panel&&n.panel.setPosition(l,a);for(ot in n)n[ot].show(!0)}},isItemInPoint:function(n,t,i,r){var w=this,s=w.items,h=w.selectionTolerance,u,f,e,o,b,c,l,a,v,y,k,p,d=Math.sqrt,g=Math.abs;return(f=s[r],u=r&&s[r-1],r>=b&&(u=s[b-1]),e=u&&u.point,o=f&&f.point,c=u?e[0]:o[0]-h,l=u?e[1]:o[1],a=f?o[0]:e[0]+h,v=f?o[1]:e[1],y=d((n-c)*(n-c)+(t-l)*(t-l)),k=d((n-a)*(n-a)+(t-v)*(t-v)),p=Math.min(y,k),p<=h)?p==y?u:f:!1},toggleAll:function(n){var t=this,i,u,f,r;if(n?Ext.chart.series.Cartesian.prototype.showAll.call(t):Ext.chart.series.Cartesian.prototype.hideAll.call(t),t.line&&(t.line.setAttributes({hidden:!n},!0),t.line.shadows))for(i=0,r=t.line.shadows,u=r.length;i<u;i++)f=r[i],f.setAttributes({hidden:!n},!0);t.fillPath&&t.fillPath.setAttributes({hidden:!n},!0)},hideAll:function(){this.toggleAll(!1)},showAll:function(){this.toggleAll(!0)}},1,0,0,0,["series.line"],0,[Ext.chart.series,"Line",Ext.chart,"LineSeries",Ext.chart,"LineChart"],0);Ext.cmd.derive("Ext.chart.series.Pie",Ext.chart.series.Series,{alternateClassName:["Ext.chart.PieSeries","Ext.chart.PieChart"],type:"pie",accuracy:1e5,rad:Math.PI/5e4,highlightDuration:150,angleField:!1,lengthField:!1,donut:!1,showInLegend:!1,style:{},constructor:function(n){this.callParent(arguments);var t=this,r=t.chart,u=r.surface,o=r.store,e=r.shadow,i,f;if(n.highlightCfg=Ext.merge({segment:{margin:20}},n.highlightCfg),Ext.apply(t,n,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:.6,y:1}}]}),t.group=u.getGroup(t.seriesId),e)for(i=0,f=t.shadowAttributes.length;i<f;i++)t.shadowGroups.push(u.getGroup(t.seriesId+"-shadows"+i));u.customAttributes.segment=function(n){var i=t.getSegment(n);return i.path&&i.path.length!==0||(i.path=["M",0,0]),i};t.__excludes=t.__excludes||[]},onRedraw:function(){this.initialize()},initialize:function(){var n=this,f=n.chart.getChartStore(),i=f.data.items,t,r,u;if(n.yField=[],n.label.field)for(t=0,r=i.length;t<r;t++)u=i[t],n.yField.push(u.get(n.label.field))},getSegment:function(n){var o=this,s=o.rad,h=Math.cos,c=Math.sin,t=o.centerX,i=o.centerY,l=0,a=0,ut=0,r=0,v=0,y=0,ft=0,u=0,p=0,w=0,f=0,e=0,b=n.startAngle,k=n.endAngle,et=(b+k)/2*s,d=n.margin||0,g=Math.min(b,k)*s,nt=Math.max(b,k)*s,ot=h(g),st=c(g),ht=h(nt),ct=c(nt),tt=h(et),it=c(et),rt=0;return nt-g<.01?{path:""}:(d!==0&&(t+=d*tt,i+=d*it),a=t+n.endRho*ot,y=i+n.endRho*st,r=t+n.endRho*ht,u=i+n.endRho*ct,f=t+n.endRho*tt,e=i+n.endRho*it,n.startRho!==0?(l=t+n.startRho*ot,v=i+n.startRho*st,ut=t+n.startRho*ht,ft=i+n.startRho*ct,p=t+n.startRho*tt,w=i+n.startRho*it,{path:[["M",a,y],["A",n.endRho,n.endRho,0,0,1,f,e],["L",f,e],["A",n.endRho,n.endRho,0,rt,1,r,u],["L",r,u],["L",ut,ft],["A",n.startRho,n.startRho,0,rt,0,p,w],["L",p,w],["A",n.startRho,n.startRho,0,0,0,l,v],["L",l,v],["Z"]]}):{path:[["M",t,i],["L",a,y],["A",n.endRho,n.endRho,0,0,1,f,e],["L",f,e],["A",n.endRho,n.endRho,0,rt,1,r,u],["L",r,u],["L",t,i],["Z"]]})},calcMiddle:function(n){var t=this,f=t.rad,i=n.slice,e=t.centerX,o=t.centerY,s=i.startAngle,h=i.endAngle,a=+t.donut,r=-(s+h)*f/2,u=(n.endRho+n.startRho)/2,c=e+u*Math.cos(r),l=o-u*Math.sin(r);n.middle={x:c,y:l}},drawSeries:function(){var n=this,o=n.chart.getChartStore(),rt=o.data.items,b,k=n.group,wt=n.chart.animate,bt=n.angleField||n.field||n.xField,l=[].concat(n.lengthField),ut=0,ft=n.chart,ri=ft.surface,d=ft.chartBBox,ct=ft.shadow,g=n.shadowGroups,ui=n.shadowAttributes,lt=g.length,c=l.length,y=0,kt=+n.donut,et=[],dt=[],tt=0,at=0,ot=0,vt=n.seriesStyle,a=n.colorArrayStyle,yt=a&&a.length||0,u,nt,st,p,e,gt,ni,w,ht=0,i,h,f,it,v,ti,s,t,r,pt,ii,fi;if(Ext.apply(vt,n.style||{}),n.setBBox(),fi=n.bbox,n.colorSet&&(a=n.colorSet,yt=a.length),!o||!o.getCount()||n.seriesIsHidden){n.hide();n.items=[];return}for(n.unHighlightItem(),n.cleanHighlights(),gt=n.centerX=d.x+d.width/2,ni=n.centerY=d.y+d.height/2,n.radius=Math.min(gt-d.x,ni-d.y),n.slices=h=[],n.items=dt=[],t=0,s=rt.length;t<s;t++)if((b=rt[t],!this.__excludes||!this.__excludes[t])&&(tt+=+b.get(bt),l[0])){for(r=0,ut=0;r<c;r++)ut+=+b.get(l[r]);et[t]=ut;at=Math.max(at,ut)}for(tt=tt||1,t=0,s=rt.length;t<s;t++){if(b=rt[t],this.__excludes&&this.__excludes[t]?it=0:(it=b.get(bt),ht==0&&(ht=1)),ht==1)for(ht=2,n.firstAngle=ot=n.accuracy*it/tt/2,r=0;r<t;r++)h[r].startAngle=h[r].endAngle=n.firstAngle;pt=ot-n.accuracy*it/tt;i={series:n,value:it,startAngle:ot,endAngle:pt,storeItem:b};l[0]?(ti=+et[t],i.rho=Math.floor(n.radius/at*ti)):i.rho=n.radius;h[t]=i,function(){ot=pt}()}if(ct)for(t=0,s=h.length;t<s;t++)for(i=h[t],i.shadowAttrs=[],r=0,y=0,st=[];r<c;r++){for(f=k.getAt(t*c+r),w=l[r]?o.getAt(t).get(l[r])/et[t]*i.rho:i.rho,u={segment:{startAngle:i.startAngle,endAngle:i.endAngle,margin:0,rho:i.rho,startRho:y+w*kt/100,endRho:y+w},hidden:!i.value&&i.startAngle%n.accuracy==i.endAngle%n.accuracy},e=0,st=[];e<lt;e++){if(nt=ui[e],p=g[e].getAt(t),p||(p=ft.surface.add(Ext.apply({},{type:"path",group:g[e],strokeLinejoin:"round"},u,nt))),nt=n.renderer(p,o.getAt(t),Ext.apply({},u,nt),t,o),wt)n.onAnimate(p,{to:nt});else p.setAttributes(nt,!0);st.push(p)}i.shadowAttrs[r]=st}for(t=0,s=h.length;t<s;t++)for(i=h[t],r=0,y=0;r<c;r++){if(f=k.getAt(t*c+r),w=l[r]?o.getAt(t).get(l[r])/et[t]*i.rho:i.rho,u=Ext.apply({segment:{startAngle:i.startAngle,endAngle:i.endAngle,margin:0,rho:i.rho,startRho:y+w*kt/100,endRho:y+w},hidden:!i.value&&i.startAngle%n.accuracy==i.endAngle%n.accuracy},Ext.apply(vt,a&&{fill:a[(c>1?r:t)%yt]}||{})),v=Ext.apply({},u.segment,{slice:i,series:n,storeItem:i.storeItem,index:t}),n.calcMiddle(v),ct&&(v.shadows=i.shadowAttrs[r]),dt[t]=v,f||(ii=Ext.apply({type:"path",group:k,middle:v.middle},Ext.apply(vt,a&&{fill:a[(c>1?r:t)%yt]}||{})),f=ri.add(Ext.apply(ii,u))),i.sprite=i.sprite||[],v.sprite=f,i.sprite.push(f),i.point=[v.middle.x,v.middle.y],wt){u=n.renderer(f,o.getAt(t),u,t,o);f._to=u;f._animating=!0;n.onAnimate(f,{to:u,listeners:{afteranimate:{fn:function(){this._animating=!1},scope:f}}})}else u=n.renderer(f,o.getAt(t),Ext.apply(u,{hidden:!1}),t,o),f.setAttributes(u,!0);y+=w}for(s=k.getCount(),t=0;t<s;t++)!h[t/c>>0]&&k.getAt(t)&&k.getAt(t).hide(!0);if(ct)for(lt=g.length,e=0;e<s;e++)if(!h[e/c>>0])for(r=0;r<lt;r++)g[r].getAt(e)&&g[r].getAt(e).hide(!0);n.renderLabels();n.renderCallouts()},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,o=i.centerX,s=i.centerY,r=t.middle,e=Ext.apply(i.seriesLabelStyle||{},f||{});return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:r.x,y:r.y},e))},onPlaceLabel:function(n,t,i,r,u,f,e){function tt(n){return n<0&&(n+=360),n%360}var h=this,it=h.chart,rt=it.resizing,d=h.label,ut=d.renderer,ft=d.field,g=h.centerX,nt=h.centerY,a=i.middle,s={x:a.x,y:a.y},y=a.x-g,p=a.y-nt,v=1,c=Math.atan2(p,y||1),o=c*180/Math.PI,l,w,b,k;s.hidden=!1;this.__excludes&&this.__excludes[r]&&(s.hidden=!0);n.setAttributes({text:ut(t.get(ft),n,t,i,r,u,f,e)},!0);switch(u){case"outside":v=Math.sqrt(y*y+p*p)*2;n.setAttributes({rotation:{degrees:0}},!0);w=n.getBBox();b=w.width/2*Math.cos(c)+4;k=w.height/2*Math.sin(c)+4;v+=Math.sqrt(b*b+k*k);s.x=v*Math.cos(c)+g;s.y=v*Math.sin(c)+nt;break;case"rotate":o=tt(o);o=o>90&&o<270?o+180:o;l=n.attr.rotation.degrees;l!=null&&Math.abs(l-o)>180*.5?(o>l?o-=360:o+=360,o=o%360):o=tt(o);s.rotate={degrees:o,x:s.x,y:s.y}}if(s.translate={x:0,y:0},f&&!rt&&(u!="rotate"||l!=null))h.onAnimate(n,{to:s});else n.setAttributes(s,!0);n._from={}},onPlaceCallout:function(n,t,i){var h=this,b=h.chart,c=h.centerX,l=h.centerY,a=i.middle,r={x:a.x,y:a.y},o=a.x-c,s=a.y-l,y=1,p,v=Math.atan2(s,o||1),u=n&&n.label?n.label.getBBox():{width:0,height:0},e=10,f=10,w;if(u.width&&u.height){if(y=i.endRho+20,p=(i.endRho+i.startRho)/2+(i.endRho-i.startRho)/3,r.x=y*Math.cos(v)+c,r.y=y*Math.sin(v)+l,o=p*Math.cos(v),s=p*Math.sin(v),b.animate){h.onAnimate(n.lines,{to:{path:["M",o+c,s+l,"L",r.x,r.y,"Z","M",r.x,r.y,"l",o>0?e:-e,0,"z"]}});h.onAnimate(n.box,{to:{x:r.x+(o>0?e:-(e+u.width+2*f)),y:r.y+(s>0?-u.height-f/2:-u.height-f/2),width:u.width+2*f,height:u.height+2*f}});h.onAnimate(n.label,{to:{x:r.x+(o>0?e+f:-(e+u.width+f)),y:r.y+(s>0?-u.height/4:-u.height/4)}})}else n.lines.setAttributes({path:["M",o+c,s+l,"L",r.x,r.y,"Z","M",r.x,r.y,"l",o>0?e:-e,0,"z"]},!0),n.box.setAttributes({x:r.x+(o>0?e:-(e+u.width+2*f)),y:r.y+(s>0?-u.height-f/2:-u.height-f/2),width:u.width+2*f,height:u.height+2*f},!0),n.label.setAttributes({x:r.x+(o>0?e+f:-(e+u.width+f)),y:r.y+(s>0?-u.height/4:-u.height/4)},!0);for(w in n)n[w].show(!0)}},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r=this,f=r.centerX,e=r.centerY,o=Math.abs,s=o(n-f),h=o(t-e),l=i.startAngle,a=i.endAngle,c=Math.sqrt(s*s+h*h),u=Math.atan2(t-e,n-f)/r.rad;return u>r.firstAngle&&(u-=r.accuracy),u<=l&&u>a&&c>=i.startRho&&c<=i.endRho},hideAll:function(n){var i,o,u,f,t,r,e;for(n=(isNaN(this._index)?n:this._index)||0,this.__excludes=this.__excludes||[],this.__excludes[n]=!0,e=this.slices[n].sprite,t=0,r=e.length;t<r;t++)e[t].setAttributes({hidden:!0},!0);if(this.slices[n].shadowAttrs)for(i=0,f=this.slices[n].shadowAttrs,o=f.length;i<o;i++)for(u=f[i],t=0,r=u.length;t<r;t++)u[t].setAttributes({hidden:!0},!0);this.drawSeries()},showAll:function(n){n=(isNaN(this._index)?n:this._index)||0;this.__excludes[n]=!1;this.drawSeries()},highlightItem:function(n){var t=this,k=t.rad,s,h,c,u,l,f,w,a,v,e,b,d,o,y,p,i,r;if((n=n||this.items[this._index],this.unHighlightItem(),n&&!t.animating&&(!n.sprite||!n.sprite._animating))&&(t.callParent([n]),t.highlight)&&"segment"in t.highlightCfg&&(s=t.highlightCfg.segment,h=t.chart.animate,t.labelsGroup&&(b=t.labelsGroup,d=t.label.display,o=b.getAt(n.index),y=(n.startAngle+n.endAngle)/2*k,p=s.margin||0,i=p*Math.cos(y),r=p*Math.sin(y),Math.abs(i)<1e-10&&(i=0),Math.abs(r)<1e-10&&(r=0),h?(o.stopAnimation(),o.animate({to:{translate:{x:i,y:r}},duration:t.highlightDuration})):o.setAttributes({translate:{x:i,y:r}},!0)),t.chart.shadow&&n.shadows))for(u=0,l=n.shadows,w=l.length;u<w;u++){f=l[u];a={};v=n.sprite._from.segment;for(e in v)e in s||(a[e]=v[e]);c={segment:Ext.applyIf(a,t.highlightCfg.segment)};h?(f.stopAnimation(),f.animate({to:c,duration:t.highlightDuration})):f.setAttributes(c,!0)}},unHighlightItem:function(){var n=this,s,h,w,c,b,u,f,k,d,e,r,l,a,v,y,o,t,i,p;if(n.highlight){if("segment"in n.highlightCfg&&n.items)for(s=n.items,h=n.chart.animate,w=!!n.chart.shadow,c=n.labelsGroup,b=s.length,u=0,f=0,k=n.label.display;u<b;u++)if((t=s[u],t)&&(v=t.sprite,v&&v._highlighted&&(c&&(i=c.getAt(t.index),p=Ext.apply({translate:{x:0,y:0}},k=="rotate"?{rotate:{x:i.attr.x,y:i.attr.y,degrees:i.attr.rotation.degrees}}:{}),h?(i.stopAnimation(),i.animate({to:p,duration:n.highlightDuration})):i.setAttributes(p,!0)),w)))for(y=t.shadows,d=y.length;f<d;f++){r={};l=t.sprite._to.segment;a=t.sprite._from.segment;Ext.apply(r,a);for(e in l)e in a||(r[e]=l[e]);o=y[f];h?(o.stopAnimation(),o.animate({to:{segment:r},duration:n.highlightDuration})):o.setAttributes({segment:r},!0)}n.callParent(arguments)}},getLegendColor:function(n){var t=this;return t.colorSet&&t.colorSet[n%t.colorSet.length]||t.colorArrayStyle[n%t.colorArrayStyle.length]}},1,0,0,0,["series.pie"],0,[Ext.chart.series,"Pie",Ext.chart,"PieSeries",Ext.chart,"PieChart"],0);Ext.cmd.derive("Ext.chart.series.Radar",Ext.chart.series.Series,{type:"radar",rad:Math.PI/180,showInLegend:!1,style:{},constructor:function(){this.callParent(arguments);var n=this,t=n.chart.surface;n.group=t.getGroup(n.seriesId);n.showMarkers&&(n.markerGroup=t.getGroup(n.seriesId+"-markers"))},drawSeries:function(){var n=this,v=n.chart.getChartStore(),g=v.data.items,y,l,ht=n.group,i=n.chart,nt=i.series.items,p,tt,it,ct=n.field||n.yField,lt=i.surface,r=i.chartBBox,rt=n.colorArrayStyle,u,f,ut,ft,e=0,b=[],at=Math.max,vt=Math.cos,yt=Math.sin,et=Math.PI*2,w=v.getCount(),a,o,s,h,k,t,ot,c=n.seriesStyle,d=i.axes&&i.axes.get(0),st=!(d&&d.maximum);if(n.setBBox(),e=st?0:d.maximum||0,Ext.apply(c,n.style||{}),!v||!v.getCount()||n.seriesIsHidden){n.hide();n.items=[];n.radar&&n.radar.hide(!0);n.radar=null;return}if(c.stroke||(c.stroke=rt[n.themeIdx%rt.length]),n.unHighlightItem(),n.cleanHighlights(),u=n.centerX=r.x+r.width/2,f=n.centerY=r.y+r.height/2,n.radius=ft=Math.min(r.width,r.height)/2,n.items=ut=[],st){for(p=0,tt=nt.length;p<tt;p++)it=nt[p],b.push(it.yField);for(y=0;y<w;y++)for(l=g[y],t=0,ot=b.length;t<ot;t++)e=at(+l.get(b[t]),e)}for(e=e||1,a=[],o=[],t=0;t<w;t++)l=g[t],k=ft*l.get(ct)/e,s=k*vt(t/w*et),h=k*yt(t/w*et),t==0?(o.push("M",s+u,h+f),a.push("M",.01*s+u,.01*h+f)):(o.push("L",s+u,h+f),a.push("L",.01*s+u,.01*h+f)),ut.push({sprite:!1,point:[u+s,f+h],storeItem:l,series:n});if(o.push("Z"),n.radar||(n.radar=lt.add(Ext.apply({type:"path",group:ht,path:a},c||{}))),i.resizing&&n.radar.setAttributes({path:a},!0),i.animate)n.onAnimate(n.radar,{to:Ext.apply({path:o},c||{})});else n.radar.setAttributes(Ext.apply({path:o},c||{}),!0);n.showMarkers&&n.drawMarkers();n.renderLabels();n.renderCallouts()},drawMarkers:function(){var n=this,u=n.chart,v=u.surface,o=u.getChartStore(),y=Ext.apply({},n.markerStyle||{}),f=Ext.apply(y,n.markerConfig,{fill:n.colorArrayStyle[n.themeIdx%n.colorArrayStyle.length]}),s=n.items,p=f.type,h=n.markerGroup,c=n.centerX,l=n.centerY,e,i,a,t,r;for(delete f.type,i=0,a=s.length;i<a;i++)if(e=s[i],t=h.getAt(i),t?t.show():t=Ext.chart.Shape[p](v,Ext.apply({group:h,x:0,y:0,translate:{x:c,y:l}},f)),e.sprite=t,u.resizing&&t.setAttributes({x:0,y:0,translate:{x:c,y:l}},!0),t._to={translate:{x:e.point[0],y:e.point[1]}},r=n.renderer(t,o.getAt(i),t._to,i,o),r=Ext.applyIf(r||{},f||{}),u.animate)n.onAnimate(t,{to:r});else t.setAttributes(r,!0)},isItemInPoint:function(n,t,i){var r,u=10,f=Math.abs;return r=i.point,f(r[0]-n)<=u&&f(r[1]-t)<=u},onCreateLabel:function(){var n=this,t=n.labelsGroup,i=n.label,r=n.centerX,u=n.centerY,f=Ext.apply({},i,n.seriesLabelStyle||{});return n.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:t,x:r,y:u},f||{}))},onPlaceLabel:function(n,t,i,r,u,f,e){function tt(n){return n<0&&(n+=360),n%360}var h=this,p=h.chart,w=p.resizing,a=h.label,b=a.renderer,k=a.field,v=h.centerX,y=h.centerY,s={x:Number(i.point[0]),y:Number(i.point[1])},d=s.x-v,g=s.y-y,nt=Math.atan2(g,d||1),o=nt*180/Math.PI,l,c;if(n.setAttributes({text:b(t.get(k),n,t,i,r,u,f,e),hidden:!0},!0),l=n.getBBox(),o=tt(o),o>45&&o<135||o>225&&o<315?(c=o>45&&o<135?1:-1,s.y+=c*l.height/2):(c=o>=135&&o<=225?-1:1,s.x+=c*l.width/2),w&&n.setAttributes({x:v,y:y},!0),f){n.show(!0);h.onAnimate(n,{to:s})}else n.setAttributes(s,!0),n.show(!0)},toggleAll:function(n){var t=this,i,u,f,r;if(n?Ext.chart.series.Radar.superclass.showAll.call(t):Ext.chart.series.Radar.superclass.hideAll.call(t),t.radar&&(t.radar.setAttributes({hidden:!n},!0),t.radar.shadows))for(i=0,r=t.radar.shadows,u=r.length;i<u;i++)f=r[i],f.setAttributes({hidden:!n},!0)},hideAll:function(){this.toggleAll(!1);this.hideMarkers(0)},showAll:function(){this.toggleAll(!0)},hideMarkers:function(n){for(var t=this,r=t.markerGroup&&t.markerGroup.getCount()||0,i=n||0;i<r;i++)t.markerGroup.getAt(i).hide(!0)},getAxesForXAndYFields:function(){var t=this,i=t.chart,n=i.axes,r=[].concat(n&&n.get(0));return{yAxis:r}}},1,0,0,0,["series.radar"],0,[Ext.chart.series,"Radar"],0);Ext.cmd.derive("Ext.chart.series.Scatter",Ext.chart.series.Cartesian,{type:"scatter",constructor:function(n){this.callParent(arguments);var t=this,f=t.chart.shadow,r=t.chart.surface,i,u;if(Ext.apply(t,n,{style:{},markerConfig:{},shadowAttributes:[{"stroke-width":6,"stroke-opacity":.05,stroke:"rgb(0, 0, 0)"},{"stroke-width":4,"stroke-opacity":.1,stroke:"rgb(0, 0, 0)"},{"stroke-width":2,"stroke-opacity":.15,stroke:"rgb(0, 0, 0)"}]}),t.group=r.getGroup(t.seriesId),f)for(i=0,u=t.shadowAttributes.length;i<u;i++)t.shadowGroups.push(r.getGroup(t.seriesId+"-shadows"+i))},getBounds:function(){var t=this,l=t.chart,e=l.getChartStore(),a=l.axes,v=t.getAxesForXAndYFields(),y=v.xAxis,p=v.yAxis,u,h,c,i,r,o,s,n,f;return t.setBBox(),u=t.bbox,(n=a.get(y))&&(f=n.applyData(),i=f.from,o=f.to),(n=a.get(p))&&(f=n.applyData(),r=f.from,s=f.to),t.xField&&!Ext.isNumber(i)&&(n=t.getMinMaxXValues(),i=n[0],o=n[1]),t.yField&&!Ext.isNumber(r)&&(n=t.getMinMaxYValues(),r=n[0],s=n[1]),isNaN(i)?(i=0,o=e.getCount()-1,h=u.width/(e.getCount()-1)):h=u.width/(o-i),isNaN(r)?(r=0,s=e.getCount()-1,c=u.height/(e.getCount()-1)):c=u.height/(s-r),{bbox:u,minX:i,minY:r,xScale:h,yScale:c}},getPaths:function(){for(var n=this,u=n.chart,y=u.shadow,p=u.getChartStore(),l=p.data.items,f,w=n.group,e=n.bounds=n.getBounds(),s=n.bbox,b=e.xScale,k=e.yScale,d=e.minX,g=e.minY,nt=s.x,tt=s.y,it=s.height,rt=n.items=[],v=[],h,c,i,t,o,r=0,a=l.length;r<a;r++)(f=l[r],i=f.get(n.xField),t=f.get(n.yField),typeof t!="undefined"&&(typeof t!="string"||t)&&i!=null&&t!=null)&&(typeof i!="string"&&(typeof i!="object"||Ext.isDate(i))||(i=r),typeof t!="string"&&(typeof t!="object"||Ext.isDate(t))||(t=r),h=nt+(i-d)*b,c=tt+it-(t-g)*k,v.push({x:h,y:c}),n.items.push({series:n,value:[i,t],point:[h,c],storeItem:f}),u.animate&&u.resizing&&(o=w.getAt(r),o&&(n.resetPoint(o),y&&n.resetShadow(o))));return v},resetPoint:function(n){var t=this.bbox;n.setAttributes({translate:{x:(t.x+t.width)/2,y:(t.y+t.height)/2}},!0)},resetShadow:function(n){for(var u=this,f=n.shadows,e=u.shadowAttributes,o=u.shadowGroups.length,t=u.bbox,i,r=0;r<o;r++)i=Ext.apply({},e[r]),i.translate?(i.translate.x+=(t.x+t.width)/2,i.translate.y+=(t.y+t.height)/2):i.translate={x:(t.x+t.width)/2,y:(t.y+t.height)/2},f[r].setAttributes(i,!0)},createPoint:function(n,t){var r=this,u=r.chart,f=r.group,i=r.bbox;return Ext.chart.Shape[t](u.surface,Ext.apply({},{x:0,y:0,group:f,translate:{x:(i.x+i.width)/2,y:(i.y+i.height)/2}},n))},createShadow:function(n,t,i){var e=this,c=e.chart,o=e.shadowGroups,l=e.shadowAttributes,a=o.length,r=e.bbox,f,s,h,u;for(n.shadows=h=[],f=0;f<a;f++)u=Ext.apply({},l[f]),u.translate?(u.translate.x+=(r.x+r.width)/2,u.translate.y+=(r.y+r.height)/2):Ext.apply(u,{translate:{x:(r.x+r.width)/2,y:(r.y+r.height)/2}}),Ext.apply(u,t),s=Ext.chart.Shape[i](c.surface,Ext.apply({},{x:0,y:0,group:o[f]},u)),h.push(s)},drawSeries:function(){var n=this,a=n.chart,f=a.getChartStore(),v=n.group,b=a.shadow,k=n.shadowGroups,p=n.shadowAttributes,w=k.length,i,c,o,l,t,s,r,y,h,e,u;if(s=Ext.apply(n.markerStyle,n.markerConfig),y=s.type||"circle",delete s.type,!f||!f.getCount()){n.hide();n.items=[];return}for(n.unHighlightItem(),n.cleanHighlights(),c=n.getPaths(),l=c.length,t=0;t<l;t++){if(o=c[t],i=v.getAt(t),Ext.apply(o,s),i||(i=n.createPoint(o,y),b&&n.createShadow(i,s,y)),h=i.shadows,a.animate){e=n.renderer(i,f.getAt(t),{translate:o},t,f);i._to=e;n.onAnimate(i,{to:e});for(r=0;r<w;r++){u=Ext.apply({},p[r]);e=n.renderer(h[r],f.getAt(t),Ext.apply({},{hidden:!1,translate:{x:o.x+(u.translate?u.translate.x:0),y:o.y+(u.translate?u.translate.y:0)}},u),t,f);n.onAnimate(h[r],{to:e})}}else for(e=n.renderer(i,f.getAt(t),{translate:o},t,f),i._to=e,i.setAttributes(e,!0),r=0;r<w;r++)u=Ext.apply({},p[r]),e=n.renderer(h[r],f.getAt(t),Ext.apply({},{hidden:!1,translate:{x:o.x+(u.translate?u.translate.x:0),y:o.y+(u.translate?u.translate.y:0)}},u),t,f),h[r].setAttributes(e,!0);n.items[t].sprite=i}for(l=v.getCount(),t=c.length;t<l;t++)v.getAt(t).hide(!0);n.renderLabels();n.renderCallouts()},onCreateLabel:function(n,t){var i=this,u=i.labelsGroup,f=i.label,e=Ext.apply({},f,i.seriesLabelStyle),r=i.bbox;return i.chart.surface.add(Ext.apply({type:"text","text-anchor":"middle",group:u,x:Number(t.point[0]),y:r.y+r.height/2},e))},onPlaceLabel:function(n,t,i,r,u,f,e){var y=this,k=y.chart,nt=k.resizing,d=y.label,tt=d.renderer,it=d.field,o=y.bbox,s=Number(i.point[0]),h=Number(i.point[1]),g=i.sprite.attr.radius,w,c,l,a,p,v,b;if(n.setAttributes({text:tt(t.get(it),n,t,i,r,u,f,e),hidden:!0},!0),c=i.sprite.getBBox(),c.width=c.width||g*2,c.height=c.height||g*2,w=n.getBBox(),l=w.width/2,a=w.height/2,u=="rotate"?(p=c.width/2+l+a/2,s+p+l>o.x+o.width?s-=p:s+=p,n.setAttributes({rotation:{x:s,y:h,degrees:-45}},!0)):(u=="under"||u=="over")&&(n.setAttributes({rotation:{degrees:0}},!0),s<o.x+l?s=o.x+l:s+l>o.x+o.width&&(s=o.x+o.width-l),v=c.height/2+a,h=h+(u=="over"?-v:v),h<o.y+a?h+=2*v:h+a>o.y+o.height&&(h-=2*v)),k.animate)if(nt)if(b=i.sprite.getActiveAnimation(),b)b.on("afteranimate",function(){n.setAttributes({x:s,y:h},!0);n.show(!0)});else n.show(!0);else y.onAnimate(n,{to:{x:s,y:h}});else n.setAttributes({x:s,y:h},!0),n.show(!0)},onPlaceCallout:function(n,t,i){var h=this,w=h.chart,k=w.surface,d=w.resizing,g=h.callouts,nt=h.items,e=i.point,u,f=n.label.getBBox(),p=30,r=3,c,l,v,y,b,a=h.bbox,o,s;if(u=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)],o=e[0]+u[0]*p,s=e[1]+u[1]*p,c=o+(u[0]>0?0:-(f.width+2*r)),l=s-f.height/2-r,v=f.width+2*r,y=f.height+2*r,(c<a[0]||c+v>a[0]+a[2])&&(u[0]*=-1),(l<a[1]||l+y>a[1]+a[3])&&(u[1]*=-1),o=e[0]+u[0]*p,s=e[1]+u[1]*p,c=o+(u[0]>0?0:-(f.width+2*r)),l=s-f.height/2-r,v=f.width+2*r,y=f.height+2*r,w.animate){h.onAnimate(n.lines,{to:{path:["M",e[0],e[1],"L",o,s,"Z"]}},!0);h.onAnimate(n.box,{to:{x:c,y:l,width:v,height:y}},!0);h.onAnimate(n.label,{to:{x:o+(u[0]>0?r:-(f.width+r)),y:s}},!0)}else n.lines.setAttributes({path:["M",e[0],e[1],"L",o,s,"Z"]},!0),n.box.setAttributes({x:c,y:l,width:v,height:y},!0),n.label.setAttributes({x:o+(u[0]>0?r:-(f.width+r)),y:s},!0);for(b in n)n[b].show(!0)},onAnimate:function(n){return n.show(),this.callParent(arguments)},isItemInPoint:function(n,t,i){var r,u=10,f=Math.abs;return r=i.point,r[0]-u<=n&&r[0]+u>=n&&r[1]-u<=t&&r[1]+u>=t}},1,0,0,0,["series.scatter"],0,[Ext.chart.series,"Scatter"],0);Ext.cmd.derive("Ext.layout.container.Table",Ext.layout.container.Container,{alternateClassName:"Ext.layout.TableLayout",monitorResize:!1,type:"table",createsInnerCt:!0,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,getItemSizePolicy:function(){return this.autoSizePolicy},initHierarchyState:function(n){n.inShrinkWrapTable=!0},getLayoutItems:function(){for(var u=this,i=[],r=u.callParent(),t,f=r.length,n=0;n<f;n++)t=r[n],t.hidden||i.push(t);return i},getHiddenItems:function(){for(var i=[],r=this.owner.items.items,u=r.length,t=0,n;t<u;++t)n=r[t],n.rendered&&n.hidden&&i.push(n);return i},renderChildren:function(){for(var n=this,c=n.getLayoutItems(),s=n.owner.getTargetEl().child("table",!0).tBodies[0],y=s.rows,i=0,l=c.length,v=n.getHiddenItems(),a,r,f,t,u,e,o,h=n.calculateCells(c);i<l;i++)if(a=h[i],r=a.rowIdx,f=a.cellIdx,t=c[i],u=y[r],u||(u=s.insertRow(r),n.trAttrs&&u.set(n.trAttrs)),o=e=Ext.get(u.cells[f]||u.insertCell(f)),n.needsDivWrap()&&(o=e.first()||e.createChild({tag:"div"}),o.setWidth(null)),t.rendered?n.isValidParent(t,o,r,f,s)||n.moveItem(t,o,0):n.renderItem(t,o,0),n.tdAttrs&&e.set(n.tdAttrs),t.tdAttrs&&e.set(t.tdAttrs),e.set({colSpan:t.colspan||1,rowSpan:t.rowspan||1,id:t.cellId||"",cls:n.cellCls+" "+(t.cellCls||"")}),!h[i+1]||h[i+1].rowIdx!==r)for(f++;u.cells[f];)u.deleteCell(f);for(r++;s.rows[r];)s.deleteRow(r);for(i=0,l=v.length;i<l;++i)n.ensureInDocument(v[i].getEl())},ensureInDocument:function(n){for(var t=n.dom.parentNode;t;){if(t.tagName.toUpperCase()=="BODY")return;t=t.parentNode}Ext.getDetachedBody().appendChild(n)},calculate:function(n){if(n.hasDomProp("containerChildrenSizeDone")){var t=n.targetContext,i=n.widthModel.shrinkWrap,r=n.heightModel.shrinkWrap,u=r||i,f=u&&t.el.child("table",!0),e=u&&t.getPaddingInfo();i&&n.setContentWidth(f.offsetWidth+e.width,!0);r&&n.setContentHeight(f.offsetHeight+e.height,!0)}else this.done=!1},finalizeLayout:function(){if(this.needsDivWrap())for(var i=this.getLayoutItems(),r=i.length,t,n=0;n<r;n++)t=i[n],Ext.fly(t.el.dom.parentNode).setWidth(t.getWidth());(Ext.isIE6||Ext.isIEQuirks)&&this.owner.getTargetEl().child("table").repaint()},calculateCells:function(n){for(var s=[],h=0,i=0,u=0,f=this.columns||Infinity,r=[],e=0,t,c=n.length,o;e<c;e++){for(o=n[e];i>=f||r[i]>0;)if(i>=f)for(i=0,u=0,h++,t=0;t<f;t++)r[t]>0&&r[t]--;else i++;for(s.push({rowIdx:h,cellIdx:u}),t=o.colspan||1;t;--t)r[i]=o.rowspan||1,++i;++u}return s},getRenderTree:function(){for(var n=this,f=n.getLayoutItems(),e=[],a=Ext.apply({tag:"table",role:"presentation",cls:n.tableCls,cellspacing:0,cellpadding:0,cn:{tag:"tbody",cn:e}},n.tableAttrs),c=n.tdAttrs,v=n.needsDivWrap(),y=f.length,t,o,u,s,l,i,h=n.calculateCells(f),r=0;r<y;r++)t=f[r],o=h[r],s=o.rowIdx,l=o.cellIdx,u=e[s],u||(u=e[s]={tag:"tr",cn:[]},n.trAttrs&&Ext.apply(u,n.trAttrs)),i=u.cn[l]={tag:"td"},c&&Ext.apply(i,c),Ext.apply(i,{colSpan:t.colspan||1,rowSpan:t.rowspan||1,id:t.cellId||"",cls:n.cellCls+" "+(t.cellCls||"")}),v&&(i=i.cn={tag:"div"}),n.configureItem(t),i.cn=t.getRenderTree();return a},isValidParent:function(n,t,i,r){var f,e,u;return arguments.length===3?(u=n.el.up("table"),u&&u.dom.parentNode===t.dom):(f=this.owner.getTargetEl().child("table",!0).tBodies[0],e=f.rows[i].cells[r],n.el.dom.parentNode===e)},needsDivWrap:function(){return Ext.isOpera10_5}},0,0,0,0,["layout.table"],0,[Ext.layout.container,"Table",Ext.layout,"TableLayout"],0);Ext.cmd.derive("Ext.container.ButtonGroup",Ext.panel.Panel,{alternateClassName:"Ext.ButtonGroup",baseCls:Ext.baseCSSPrefix+"btn-group",layout:{type:"table"},defaultType:"button",frame:!0,frameHeader:!1,titleAlign:"center",noTitleCls:"notitle",initComponent:function(){var n=this,t=n.columns;t&&(n.layout=Ext.apply({},{columns:t},n.layout));n.title||n.addClsWithUI(n.noTitleCls);n.callParent(arguments)},onBeforeAdd:function(n){n.isButton&&(n.ui=this.defaultButtonUI&&n.ui==="default"&&!n.hasOwnProperty("ui")?this.defaultButtonUI:n.ui+"-toolbar");this.callParent(arguments)},applyDefaults:function(n){return Ext.isString(n)||(n=this.callParent(arguments)),n}},0,["buttongroup"],["buttongroup","panel","component","container","box"],{buttongroup:!0,panel:!0,component:!0,container:!0,box:!0},["widget.buttongroup"],0,[Ext.container,"ButtonGroup",Ext,"ButtonGroup"],0);Ext.cmd.derive("Ext.container.Monitor",Ext.Base,{target:null,selector:"",scope:null,addHandler:null,removeHandler:null,disabled:0,constructor:function(n){Ext.apply(this,n)},bind:function(n){var t=this;t.target=n;n.on("beforedestroy",t.disable,t);t.onContainerAdd(n)},unbind:function(){var n=this,t=n.target;t&&t.un("beforedestroy",n.disable,n);n.items=null},disable:function(){++this.disabled},enable:function(){this.disabled>0&&--this.disabled},handleAdd:function(n,t){if(!this.disabled){if(t.is(this.selector))this.onItemAdd(t.ownerCt,t);if(t.isQueryable)this.onContainerAdd(t)}},onItemAdd:function(n,t){var i=this,r=i.items,u=i.addHandler;i.disabled||(u&&u.call(i.scope||t,t),r&&r.add(t))},onItemRemove:function(n,t){var i=this,r=i.items,u=i.removeHandler;i.disabled||(u&&u.call(i.scope||t,t),r&&r.remove(t))},onContainerAdd:function(n,t){var i=this,u,f,o=i.handleAdd,s=i.handleRemove,r,e;if(n.isContainer){n.on("add",o,i);n.on("dockedadd",o,i);n.on("remove",s,i);n.on("dockedremove",s,i)}if(t!==!0)for(u=n.query(i.selector),r=0,f=u.length;r<f;++r){e=u[r];i.onItemAdd(e.ownerCt,e)}for(u=n.query("container"),r=0,f=u.length;r<f;++r)i.onContainerAdd(u[r],!0)},handleRemove:function(n,t){var i=this;if(!i.disabled){if(t.is(i.selector))i.onItemRemove(n,t);if(t.isQueryable)i.onContainerRemove(n,t)}},onContainerRemove:function(n,t){var u=this,r,i,f,e;if(t.isDestroyed||t.destroying||!t.isContainer)u.invalidateItems();else{for(u.removeCtListeners(t),r=t.query(u.selector),i=0,f=r.length;i<f;++i){e=r[i];u.onItemRemove(e.ownerCt,e)}for(r=t.query("container"),i=0,f=r.length;i<f;++i)u.removeCtListeners(r[i])}},removeCtListeners:function(n){var t=this;n.un("add",t.handleAdd,t);n.un("dockedadd",t.handleAdd,t);n.un("remove",t.handleRemove,t);n.un("dockedremove",t.handleRemove,t)},getItems:function(){var n=this,t=n.items;return t||(t=n.items=new Ext.util.MixedCollection,t.addAll(n.target.query(n.selector))),t},invalidateItems:function(){this.items=null}},1,0,0,0,0,0,[Ext.container,"Monitor"],0);Ext.cmd.derive("Ext.container.Viewport",Ext.container.Container,{alternateClassName:"Ext.Viewport",isViewport:!0,ariaRole:"application",preserveElOnDestroy:!0,viewportCls:Ext.baseCSSPrefix+"viewport",initComponent:function(){var n=this,i=document.body.parentNode,t=n.el=Ext.getBody();Ext.getScrollbarSize();n.width=n.height=undefined;n.callParent(arguments);Ext.fly(i).addCls(n.viewportCls);n.autoScroll&&(Ext.fly(i).setStyle(n.getOverflowStyle()),delete n.autoScroll);t.setHeight=t.setWidth=Ext.emptyFn;t.dom.scroll="no";n.allowDomMove=!1;n.renderTo=n.el},applyTargetCls:function(n){this.el.addCls(n)},onRender:function(){var n=this;n.callParent(arguments);n.width=Ext.Element.getViewportWidth();n.height=Ext.Element.getViewportHeight()},afterFirstLayout:function(){var n=this;n.callParent(arguments);setTimeout(function(){Ext.EventManager.onWindowResize(n.fireResize,n)},1)},fireResize:function(n,t){(n!=this.width||t!=this.height)&&this.setSize(n,t)},initHierarchyState:function(){this.callParent([this.hierarchyState=Ext.rootHierarchyState])},beforeDestroy:function(){var n=this;n.removeUIFromElement();n.el.removeCls(n.baseCls);Ext.fly(document.body.parentNode).removeCls(n.viewportCls);n.callParent()}},0,["viewport"],["viewport","component","container","box"],{viewport:!0,component:!0,container:!0,box:!0},["widget.viewport"],0,[Ext.container,"Viewport",Ext,"Viewport"],0);Ext.cmd.derive("Ext.data.IdGenerator",Ext.Base,{isGenerator:!0,constructor:function(n){var t=this;Ext.apply(t,n);t.id&&(Ext.data.IdGenerator.all[t.id]=t)},getRecId:function(n){return n.modelName+"-"+n.internalId},statics:{all:{},get:function(n){var t,i,r;if(typeof n=="string")i=r=n,n=null;else{if(n.isGenerator)return n;i=n.id||n.type;r=n.type}return t=this.all[i],t||(t=Ext.create("idgen."+r,n)),t}}},1,0,0,0,0,0,[Ext.data,"IdGenerator"],0);Ext.cmd.derive("Ext.data.SortTypes",Ext.Base,{singleton:!0,none:Ext.identityFn,stripTagsRE:/<\/?[^>]+>/gi,asText:function(n){return String(n).replace(this.stripTagsRE,"")},asUCText:function(n){return String(n).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(n){return String(n).toUpperCase()},asDate:function(n){return n?Ext.isDate(n)?n.getTime():Date.parse(String(n)):0},asFloat:function(n){var t=parseFloat(String(n).replace(/,/g,""));return isNaN(t)?0:t},asInt:function(n){var t=parseInt(String(n).replace(/,/g,""),10);return isNaN(t)?0:t}},0,0,0,0,0,0,[Ext.data,"SortTypes"],0);Ext.cmd.derive("Ext.data.Types",Ext.Base,{singleton:!0},0,0,0,0,0,0,[Ext.data,"Types"],function(){var n=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{sortType:n.none,type:"auto"},STRING:{convert:function(n){var t=this.useNull?null:"";return n===undefined||n===null?t:String(n)},sortType:n.asUCString,type:"string"},INT:{convert:function(n){return typeof n=="number"?parseInt(n):n!==undefined&&n!==null&&n!==""?parseInt(String(n).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:n.none,type:"int"},FLOAT:{convert:function(n){return typeof n=="number"?n:n!==undefined&&n!==null&&n!==""?parseFloat(String(n).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:n.none,type:"float"},BOOL:{convert:function(n){return typeof n=="boolean"?n:this.useNull&&(n===undefined||n===null||n==="")?null:n==="true"||n==1},sortType:n.none,type:"bool"},DATE:{convert:function(n){var i=this.dateReadFormat||this.dateFormat,t;return n?n instanceof Date?n:i?Ext.Date.parse(n,i):(t=Date.parse(n),t?new Date(t):null):null},sortType:n.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.cmd.derive("Ext.data.Field",Ext.Base,{isField:!0,constructor:function(n){var t=this,r=Ext.data.Types,i;Ext.isString(n)&&(n={name:n});Ext.apply(t,n);i=t.sortType;t.type?Ext.isString(t.type)&&(t.type=r[t.type.toUpperCase()]||r.AUTO):t.type=r.AUTO;Ext.isString(i)?t.sortType=Ext.data.SortTypes[i]:Ext.isEmpty(i)&&(t.sortType=t.type.sortType);n.hasOwnProperty("convert")?t.convert||!t.type.convert||n.hasOwnProperty("defaultValue")||(t.defaultValue=t.type.convert(t.defaultValue)):t.convert=t.type.convert;n.convert&&(t.hasCustomConvert=!0)},dateFormat:null,dateReadFormat:null,dateWriteFormat:null,useNull:!1,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:!0,persist:!0},1,0,0,0,["data.field"],0,[Ext.data,"Field"],0);Ext.cmd.derive("Ext.data.Errors",Ext.util.MixedCollection,{isValid:function(){return this.length===0},getByField:function(n){for(var r=[],i,t=0;t<this.length;t++)i=this.items[t],i.field==n&&r.push(i);return r}},0,0,0,0,0,0,[Ext.data,"Errors"],0);Ext.cmd.derive("Ext.data.validations",Ext.Base,{singleton:!0,presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address",emailRe:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,presence:function(n,t){return arguments.length===1&&(t=n),!!t||t===0||t===!1},length:function(n,t){if(t===undefined||t===null)return!1;var i=t.length,r=n.min,u=n.max;return r&&i<r||u&&i>u?!1:!0},email:function(n,t){return Ext.data.validations.emailRe.test(t)},format:function(n,t){return!!(n.matcher&&n.matcher.test(t))},inclusion:function(n,t){return n.list&&Ext.Array.indexOf(n.list,t)!=-1},exclusion:function(n,t){return n.list&&Ext.Array.indexOf(n.list,t)==-1}},0,0,0,0,0,0,[Ext.data,"validations"],0);Ext.cmd.derive("Ext.data.Model",Ext.Base,{alternateClassName:"Ext.data.Record",compareConvertFields:function(n,t){var i=n.convert&&n.type&&n.convert!==n.type.convert,r=t.convert&&t.type&&t.convert!==t.type.convert;return i&&!r?1:!i&&r?-1:0},itemNameFn:function(n){return n.name},onClassExtended:function(n,t,i){var r=i.onBeforeCreated;i.onBeforeCreated=function(n,t){var ot=this,a=Ext.getClassName(n),e=n.prototype,b=n.prototype.superclass,k=t.validations||[],v=t.fields||[],y,o=t.associations||[],d=function(n,t){var r=0,u,i;if(n)for(n=Ext.Array.from(n),u=n.length;r<u;++r)i=n[r],Ext.isObject(i)||(i={model:i}),i.type=t,o.push(i)},nt=t.idgen,s=new Ext.util.MixedCollection(!1,e.itemNameFn),tt=new Ext.util.MixedCollection(!1,e.itemNameFn),it=b.validations,rt=b.fields,ut=b.associations,f,u,l,p=[],w="idProperty"in t?t.idProperty:e.idProperty,h=w?w.isField?w:new Ext.data.Field(w):null,ft=!1,et=function(n,t,i){var r,u;s.events.add.firing?(u=n,r=t):(r=i,u=t.originalIndex);r.originalIndex=u;h&&(r.mapping&&r.mapping===h.mapping||r.name===h.name)&&(e.idField=r,ft=!0,r.defaultValue=undefined)},c=t.proxy,g=function(){s.sortBy(e.compareConvertFields)};n.modelName=a;e.modelName=a;it&&(k=it.concat(k));t.validations=k;rt&&(v=rt.items.concat(v));s.on({add:et,replace:et});for(u=0,l=v.length;u<l;++u)y=v[u],s.add(y.isField?y:new Ext.data.Field(y));h&&!ft&&(e.idField=h,h.defaultValue=undefined,s.add(h));g();s.on({add:g,replace:g});for(t.fields=s,nt&&(t.idgen=Ext.data.IdGenerator.get(nt)),d(t.belongsTo,"belongsTo"),delete t.belongsTo,d(t.hasMany,"hasMany"),delete t.hasMany,d(t.hasOne,"hasOne"),delete t.hasOne,ut&&(o=ut.items.concat(o)),u=0,l=o.length;u<l;++u)p.push("association."+o[u].type.toLowerCase());c?c.isProxy||p.push("proxy."+(c.type||c)):n.prototype.proxy||(n.prototype.proxy=n.prototype.defaultProxyType,p.push("proxy."+n.prototype.defaultProxyType));Ext.require(p,function(){for(Ext.ModelManager.registerType(a,n),u=0,l=o.length;u<l;++u)f=o[u],f.isAssociation?f=Ext.applyIf({ownerModel:a,associatedModel:f.model},f.initialConfig):Ext.apply(f,{ownerModel:a,associatedModel:f.model}),Ext.ModelManager.getModel(f.model)===undefined?Ext.ModelManager.registerDeferredAssociation(f):tt.add(Ext.data.association.Association.create(f));t.associations=tt;r.call(ot,n,t,i);c&&c.isProxy&&n.setProxy(c);Ext.ModelManager.onModelDefined(n)})}},inheritableStatics:{setProxy:function(n){return n.isProxy||(typeof n=="string"&&(n={type:n}),n=Ext.createByAlias("proxy."+n.type,n)),n.setModel(this),this.proxy=this.prototype.proxy=n,n},getProxy:function(){var n=this.proxy;return n?n:(n=this.prototype.proxy,n.isProxy&&(n=n.clone()),this.setProxy(n))},setFields:function(n,t,i){var s=this,f,r,h=!1,e=s.prototype,u=e.fields,c=e.superclass.fields,l,o;for(t&&(e.idProperty=t,r=t.isField?t:new Ext.data.Field(t)),i&&(e.clientIdProperty=i),u?u.clear():u=s.prototype.fields=new Ext.util.MixedCollection(!1,function(n){return n.name}),c&&(n=c.items.concat(n)),o=0,l=n.length;o<l;o++)f=new Ext.data.Field(n[o]),r&&(f.mapping&&f.mapping===r.mapping||f.name===r.name)&&(h=!0,f.defaultValue=undefined),u.add(f);return r&&!h&&(r.defaultValue=undefined,u.add(r)),s.fields=u,u},getFields:function(){return this.prototype.fields.items},load:function(n,t){t=Ext.apply({},t);t=Ext.applyIf(t,{action:"read",id:n});var u=new Ext.data.Operation(t),i=t.scope||this,r;r=function(r){var u=null,f=r.wasSuccessful();f?(u=r.getRecords()[0],u.hasId()||u.setId(n),Ext.callback(t.success,i,[u,r])):Ext.callback(t.failure,i,[u,r]);Ext.callback(t.callback,i,[u,r,f])};this.getProxy().read(u,r,this)}},statics:{PREFIX:"ext-record",AUTO_ID:1,EDIT:"edit",REJECT:"reject",COMMIT:"commit",id:function(n){var t=[this.PREFIX,"-",this.AUTO_ID++].join("");return n.phantom=!0,n.internalId=t,t}},idgen:{isGenerator:!0,type:"default",generate:function(){return null},getRecId:function(n){return n.modelName+"-"+n.internalId}},editing:!1,dirty:!1,persistenceProperty:"data",evented:!1,isModel:!0,phantom:!1,idProperty:"id",clientIdProperty:null,defaultProxyType:"ajax",emptyData:[],constructor:function(n,t,i,r){var u=this,w=t||t===0,h,c,a,e,s,f,v,l,y=u.idProperty,p=u.idField,o;if(u.raw=i||n,u.modified={},l=u[u.persistenceProperty]=r||{},u.data=u[u.persistenceProperty],u.mixins.observable.constructor.call(u),!r)if(n?!w&&y&&(t=n[y],h=t||t===0):n=u.emptyData,c=u.fields.items,a=c.length,o=0,Ext.isArray(n))for(;o<a;o++)e=c[o],s=e.name,f=n[e.originalIndex],f===undefined&&(f=e.defaultValue),e.convert&&(f=e.convert(f,u)),f!==undefined&&(l[s]=f);else for(;o<a;o++)e=c[o],s=e.name,f=n[s],f===undefined&&(f=e.defaultValue),e.convert&&(f=e.convert(f,u)),f!==undefined&&(l[s]=f);u.stores=[];w?(h=!0,l[y]=p&&p.convert?p.convert(t):t):h||(v=u.idgen.generate(),v!=null&&(u.preventInternalUpdate=!0,u.setId(v),delete u.preventInternalUpdate));u.internalId=h?t:Ext.data.Model.id(u);typeof u.init=="function"&&u.init();u.id=u.idgen.getRecId(u)},get:function(n){return this[this.persistenceProperty][n]},_singleProp:{},set:function(n,t){var i=this,c=i[i.persistenceProperty],l=i.fields,e=i.modified,a=typeof n=="string",h,o,v,y,s,r,p,w,u,f;a?(f=i._singleProp,f[n]=t):f=n;for(r in f)if(f.hasOwnProperty(r)){if(u=f[r],l&&(o=l.get(r))&&o.convert&&(u=o.convert(u,i)),h=c[r],i.isEqual(h,u))continue;if(c[r]=u,(s||(s=[])).push(r),o&&o.persist)if(e.hasOwnProperty(r)){if(i.isEqual(e[r],u)){delete e[r];i.dirty=!1;for(y in e)if(e.hasOwnProperty(y)){i.dirty=!0;break}}}else i.dirty=!0,e[r]=h;r==i.idProperty&&(v=!0,p=h,w=u)}return a&&delete f[n],v&&i.changeId(p,w),!i.editing&&s&&i.afterEdit(s),s||null},copyFrom:function(n){var t=this,e=t.fields.items,c=e.length,o=[],s,u=0,f,h,l=t.idProperty,i,r;if(n){for(f=t[t.persistenceProperty],h=n[n.persistenceProperty];u<c;u++)s=e[u],i=s.name,i!=l&&(r=h[i],r===undefined||t.isEqual(f[i],r)||(f[i]=r,o.push(i)));t.phantom&&!n.phantom&&(t.beginEdit(),t.setId(n.getId()),t.endEdit(!0),t.commit(!0))}return o},isEqual:function(n,t){return n instanceof Date&&t instanceof Date?n.getTime()===t.getTime():n===t},beginEdit:function(){var n=this,t,r,i;if(!n.editing){n.editing=!0;n.dirtySave=n.dirty;i=n[n.persistenceProperty];r=n.dataSave={};for(t in i)i.hasOwnProperty(t)&&(r[t]=i[t]);i=n.modified;r=n.modifiedSave={};for(t in i)i.hasOwnProperty(t)&&(r[t]=i[t])}},cancelEdit:function(){var n=this;n.editing&&(n.editing=!1,n.modified=n.modifiedSave,n[n.persistenceProperty]=n.dataSave,n.dirty=n.dirtySave,n.modifiedSave=n.dataSave=n.dirtySave=null)},endEdit:function(n,t){var i=this,r,u;n=n===!0;i.editing&&(i.editing=!1,r=i.dataSave,i.modifiedSave=i.dataSave=i.dirtySave=null,n||(t||(t=i.getModifiedFieldNames(r)),u=i.dirty||t.length>0,u&&i.afterEdit(t)))},getModifiedFieldNames:function(n){var i=this,r=i[i.persistenceProperty],u=[],t;n=n||i.dataSave;for(t in r)r.hasOwnProperty(t)&&(i.isEqual(r[t],n[t])||u.push(t));return u},getChanges:function(){var t=this.modified,i={};for(var n in t)t.hasOwnProperty(n)&&(i[n]=this.get(n));return i},isModified:function(n){return this.modified.hasOwnProperty(n)},setDirty:function(){var n=this,u=n.fields.items,f=u.length,i,r,t;for(n.dirty=!0,t=0;t<f;t++)i=u[t],i.persist&&(r=i.name,n.modified[r]=n.get(r))},reject:function(n){var t=this,i=t.modified;for(var r in i)i.hasOwnProperty(r)&&typeof i[r]!="function"&&(t[t.persistenceProperty][r]=i[r]);t.dirty=!1;t.editing=!1;t.modified={};n!==!0&&t.afterReject()},commit:function(n,t){var i=this;i.phantom=i.dirty=i.editing=!1;i.modified={};n!==!0&&i.afterCommit(t)},copy:function(n){var t=this;return new t.self(t.raw,n,null,Ext.apply({},t[t.persistenceProperty]))},setProxy:function(n){return n.isProxy||(typeof n=="string"&&(n={type:n}),n=Ext.createByAlias("proxy."+n.type,n)),n.setModel(this.self),this.proxy=n,n},getProxy:function(){return this.hasOwnProperty("proxy")?this.proxy:this.self.getProxy()},validate:function(){var f=new Ext.data.Errors,i=this.validations,e=Ext.data.validations,o,n,r,s,u,t;if(i)for(o=i.length,t=0;t<o;t++)n=i[t],r=n.field||n.name,u=n.type,s=e[u](n,this.get(r)),s||f.add({field:r,message:n.message||e[u+"Message"]});return f},isValid:function(){return this.validate().isValid()},save:function(n){n=Ext.apply({},n);var t=this,f=t.phantom?"create":"update",r=n.scope||t,e=t.stores,u=0,o,i,s,h;return Ext.apply(n,{records:[t],action:f}),s=new Ext.data.Operation(n),h=function(f){var s=f.wasSuccessful();if(s){for(o=e.length;u<o;u++)i=e[u],i.fireEvent("write",i,f),i.fireEvent("datachanged",i);Ext.callback(n.success,r,[t,f])}else Ext.callback(n.failure,r,[t,f]);Ext.callback(n.callback,r,[t,f,s])},t.getProxy()[f](s,h,t),t},destroy:function(n){n=Ext.apply({records:[this],action:"destroy"},n);var t=this,h=t.phantom!==!0,f=n.scope||t,e,o=0,c,i,u,r,s;return r=new Ext.data.Operation(n),s=function(r){if(u=[t,r],e=Ext.Array.clone(t.stores),r.wasSuccessful()){for(c=e.length;o<c;o++)i=e[o],i.remove&&i.remove(t,!0),i.fireEvent("bulkremove",i,[t],[i.indexOf(t)],!1),h&&i.fireEvent("write",i,r);t.clearListeners();Ext.callback(n.success,f,u)}else Ext.callback(n.failure,f,u);Ext.callback(n.callback,f,u)},h?t.getProxy().destroy(r,s,t):(r.complete=r.success=!0,r.resultSet=t.getProxy().reader.nullResultSet,s(r)),t},getId:function(){return this.get(this.idField.name)},getObservableId:function(){return this.id},setId:function(n){this.set(this.idProperty,n)},changeId:function(n,t){var i=this,u,r,f;i.preventInternalUpdate||(u=i.hasId(n),r=i.hasId(t),f=i.internalId,i.phantom=!r,(r!==u||r&&u)&&(i.internalId=r?t:Ext.data.Model.id(i)),i.fireEvent("idchanged",i,n,t,f),i.callStore("onIdChanged",n,t,f))},hasId:function(n){return arguments.length===0&&(n=this.getId()),!!(n||n===0)},join:function(n){var t=this;t.stores.length?Ext.Array.include(this.stores,n):t.stores[0]=n;this.store=this.stores[0]},unjoin:function(n){Ext.Array.remove(this.stores,n);this.store=this.stores[0]||null},afterEdit:function(n){this.callStore("afterEdit",n)},afterReject:function(){this.callStore("afterReject")},afterCommit:function(n){this.callStore("afterCommit",n)},callStore:function(n){var r=Ext.Array.clone(arguments),u=this.stores,i=0,f=u.length,t;for(r[0]=this;i<f;++i)t=u[i],t&&Ext.isFunction(t[n])&&t[n].apply(t,r)},getData:function(n){for(var i=this,f=i.fields.items,e=f.length,r={},u,t=0;t<e;t++)u=f[t].name,r[u]=i.get(u);return n===!0&&Ext.apply(r,i.getAssociatedData()),r},getAssociatedData:function(){return this.prepareAssociatedData({},1)},prepareAssociatedData:function(n,t){for(var a=this,nt=a.associations.items,tt=nt.length,o={},s=[],v=[],y=[],h,p,r,w,b,k,d,g,c,u,f,l,e,i=0;i<tt;i++)if(u=nt[i],g=u.associationId,d=n[g],!d||d===t)if(n[g]=t,l=u.type,e=u.name,l=="hasMany"){if(h=a[u.storeName],o[e]=[],h&&h.getCount()>0)for(p=h.data.items,c=p.length,f=0;f<c;f++)r=p[f],o[e][f]=r.getData(),s.push(r),v.push(e),y.push(f)}else(l=="belongsTo"||l=="hasOne")&&(r=a[u.instanceName],r!==undefined&&(o[e]=r.getData(),s.push(r),v.push(e),y.push(-1)));for(i=0,c=s.length;i<c;++i)r=s[i],w=o[v[i]],b=y[i],k=r.prepareAssociatedData(n,t+1),b===-1?Ext.apply(w,k):Ext.apply(w[b],k);return o}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.data,"Model",Ext.data,"Record"],0);Ext.cmd.derive("Ext.data.proxy.Server",Ext.data.proxy.Proxy,{alternateClassName:"Ext.data.ServerProxy",pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",idParam:"id",simpleSortMode:!1,simpleGroupMode:!1,noCache:!0,cacheString:"_dc",timeout:3e4,constructor:function(n){var t=this;n=n||{};t.callParent([n]);t.extraParams=n.extraParams||{};t.api=Ext.apply({},n.api||t.api);t.nocache=t.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(n,t){this.extraParams[n]=t},buildRequest:function(n){var t=this,r=n.params=Ext.apply({},n.params,t.extraParams),i;return Ext.applyIf(r,t.getParams(n)),n.id!==undefined&&r[t.idParam]===undefined&&(r[t.idParam]=n.id),i=new Ext.data.Request({params:r,action:n.action,records:n.records,operation:n,url:n.url,proxy:t}),i.url=t.buildUrl(i),n.request=i,i},processResponse:function(n,t,i,r,u,f){var e=this,s,o;n===!0?(s=e.getReader(),s.applyDefaults=t.action==="read",o=s.read(e.extractResponseData(r)),o.success!==!1?(Ext.apply(t,{response:r,resultSet:o}),t.commitRecords(o.records),t.setCompleted(),t.setSuccessful()):(t.setException(o.message),e.fireEvent("exception",this,r,t))):(e.setException(t,r),e.fireEvent("exception",this,r,t));typeof u=="function"&&u.call(f||e,t);e.afterRequest(i,n)},setException:function(n,t){n.setException({status:t.status,statusText:t.statusText})},extractResponseData:Ext.identityFn,applyEncoding:function(n){return Ext.encode(n)},encodeSorters:function(n){for(var i=[],r=n.length,t=0;t<r;t++)i[t]={property:n[t].property,direction:n[t].direction};return this.applyEncoding(i)},encodeFilters:function(n){for(var i=[],r=n.length,t=0;t<r;t++)i[t]={property:n[t].property,value:n[t].value};return this.applyEncoding(i)},getParams:function(n){var t=this,i={},e=Ext.isDefined,u=n.groupers,r=n.sorters,o=n.filters,l=n.page,a=n.start,v=n.limit,k=t.simpleSortMode,d=t.simpleGroupMode,y=t.pageParam,p=t.startParam,w=t.limitParam,s=t.groupParam,g=t.groupDirectionParam,h=t.sortParam,b=t.filterParam,nt=t.directionParam,c,f;return y&&e(l)&&(i[y]=l),p&&e(a)&&(i[p]=a),w&&e(v)&&(i[w]=v),c=s&&u&&u.length>0,c&&(d?(i[s]=u[0].property,i[g]=u[0].direction||"ASC"):i[s]=t.encodeSorters(u)),h&&r&&r.length>0&&(k?(f=0,r.length>1&&c&&(f=1),i[h]=r[f].property,i[nt]=r[f].direction):i[h]=t.encodeSorters(r)),b&&o&&o.length>0&&(i[b]=t.encodeFilters(o)),i},buildUrl:function(n){var t=this,i=t.getUrl(n);return t.noCache&&(i=Ext.urlAppend(i,Ext.String.format("{0}={1}",t.cacheString,Ext.Date.now()))),i},getUrl:function(n){return n.url||this.api[n.action]||this.url},doRequest:function(){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}},1,0,0,0,["proxy.server"],0,[Ext.data.proxy,"Server",Ext.data,"ServerProxy"],0);Ext.cmd.derive("Ext.data.proxy.Ajax",Ext.data.proxy.Server,{alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},binary:!1,doRequest:function(n,t,i){var u=this.getWriter(),r=this.buildRequest(n);return n.allowWrite()&&(r=u.write(r)),Ext.apply(r,{binary:this.binary,headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(r,n,t,i),method:this.getMethod(r),disableCaching:!1}),Ext.Ajax.request(r),r},getMethod:function(n){return this.actionMethods[n.action]},createRequestCallback:function(n,t,i,r){var u=this;return function(f,e,o){u.processResponse(e,t,n,o,i,r)}}},0,0,0,0,["proxy.ajax"],0,[Ext.data.proxy,"Ajax",Ext.data,"HttpProxy",Ext.data,"AjaxProxy"],function(){Ext.data.HttpProxy=this});Ext.cmd.derive("Ext.data.proxy.Client",Ext.data.proxy.Proxy,{alternateClassName:"Ext.data.ClientProxy",isSynchronous:!0,clear:function(){}},0,0,0,0,0,0,[Ext.data.proxy,"Client",Ext.data,"ClientProxy"],0);Ext.cmd.derive("Ext.data.proxy.Memory",Ext.data.proxy.Client,{alternateClassName:"Ext.data.MemoryProxy",constructor:function(n){this.callParent([n]);this.setReader(this.reader)},updateOperation:function(n,t,i){var r=0,u=n.getRecords(),f=u.length;for(r;r<f;r++)u[r].commit();n.setCompleted();n.setSuccessful();Ext.callback(t,i||this,[n])},create:function(){this.updateOperation.apply(this,arguments)},update:function(){this.updateOperation.apply(this,arguments)},destroy:function(){this.updateOperation.apply(this,arguments)},read:function(n,t,i){var f=this,r=n.resultSet=f.getReader().read(f.data),e=r.records,u=n.sorters,o=n.groupers,s=n.filters;n.setCompleted();r.success&&(s&&s.length&&(e=r.records=Ext.Array.filter(e,Ext.util.Filter.createFilterFn(s))),o&&o.length&&(u=u?u.concat(o):u),u&&u.length&&(r.records=Ext.Array.sort(e,Ext.util.Sortable.createComparator(u))),f.enablePaging&&n.start!==undefined&&n.limit!==undefined&&(n.start>=r.total?(r.success=!1,r.count=0,r.records=[]):(r.records=Ext.Array.slice(r.records,n.start,n.start+n.limit),r.count=r.records.length)));r.success?n.setSuccessful():f.fireEvent("exception",f,null,n);Ext.callback(t,i||f,[n])},clear:Ext.emptyFn},1,0,0,0,["proxy.memory"],0,[Ext.data.proxy,"Memory",Ext.data,"MemoryProxy"],0);Ext.cmd.derive("Ext.util.LruCache",Ext.util.HashMap,{constructor:function(n){Ext.apply(this,n);this.callParent([n])},add:function(n,t){var i=this,u=i.findKey(t),r;return u?(i.unlinkEntry(r=i.map[u]),r.prev=i.last,r.next=null):r={prev:i.last,next:null,key:n,value:t},i.last?i.last.next=r:i.first=r,i.last=r,i.callParent([n,r]),i.prune(),t},insertBefore:function(n,t,i){var u=this,f,r;return(i=this.map[this.findKey(i)])?(f=u.findKey(t),f?u.unlinkEntry(r=u.map[f]):r={prev:i.prev,next:i,key:n,value:t},i.prev?r.prev.next=r:u.first=r,r.next=i,i.prev=r,u.prune(),t):u.add(n,t)},get:function(n){var t=this.map[n];if(t)return t.next&&this.moveToEnd(t),t.value},removeAtKey:function(n){return this.unlinkEntry(this.map[n]),this.callParent(arguments)},clear:function(){return this.first=this.last=null,this.callParent(arguments)},unlinkEntry:function(n){n&&(n.next?n.next.prev=n.prev:this.last=n.prev,n.prev?n.prev.next=n.next:this.first=n.next,n.prev=n.next=null)},moveToEnd:function(n){this.unlinkEntry(n);(n.prev=this.last)?this.last.next=n:this.first=n;this.last=n},getArray:function(n){for(var i=[],t=this.first;t;)i.push(n?t.key:t.value),t=t.next;return i},each:function(n,t,i){var u=this,r=i?u.last:u.first,f=u.length;for(t=t||u;r;){if(n.call(t,r.key,r.value,f)===!1)break;r=i?r.prev:r.next}return u},findKey:function(n){var t,i=this.map;for(t in i)if(i.hasOwnProperty(t)&&i[t].value===n)return t;return undefined},clone:function(){var n=new this.self(this.initialConfig),i=this.map,t;n.suspendEvents();for(t in i)i.hasOwnProperty(t)&&n.add(t,i[t].value);return n.resumeEvents(),n},prune:function(){var n=this,t=n.maxSize?n.length-n.maxSize:0;if(t>0)for(;n.first&&t;t--)n.removeAtKey(n.first.key)}},1,0,0,0,0,0,[Ext.util,"LruCache"],0);Ext.cmd.derive("Ext.data.PageMap",Ext.util.LruCache,{clear:function(){var n=this;n.pageMapGeneration=(n.pageMapGeneration||0)+1;n.callParent(arguments)},forEach:function(n,t){for(var f=this,r=Ext.Object.getKeys(f.map),s=r.length,u,e,o,h,i=0;i<s;i++)r[i]=Number(r[i]);for(Ext.Array.sort(r),t=t||f,i=0;i<s;i++)for(e=r[i],o=f.getPage(e),h=o.length,u=0;u<h;u++)if(n.call(t,o[u],(e-1)*f.pageSize+u)===!1)return},findBy:function(n,t){var i=this,r=null;return t=t||i,i.forEach(function(i,u){if(n.call(t,i,u))return r=i,!1}),r},findIndexBy:function(n,t){var i=this,r=-1;return t=t||i,i.forEach(function(i,u){if(n.call(t,i))return r=u,!1}),r},getPageFromRecordIndex:function(){return Ext.data.Store.prototype.getPageFromRecordIndex.apply(this,arguments)},addAll:function(n){this.addPage(1,n)},addPage:function(n,t){for(var i=this,f=n+Math.floor((t.length-1)/i.pageSize),u,r=0;n<=f;n++,r+=i.pageSize)u=Ext.Array.slice(t,r,r+i.pageSize),i.add(n,u),i.fireEvent("pageAdded",n,u)},getCount:function(){var n=this.callParent();return n&&(n=(n-1)*this.pageSize+this.last.value.length),n},indexOf:function(n){return n?n.index:-1},insert:function(){},remove:function(){},removeAt:function(){},getPage:function(n){return this.get(n)},hasRange:function(n,t){for(var i=this.getPageFromRecordIndex(n),r=this.getPageFromRecordIndex(t);i<=r;i++)if(!this.hasPage(i))return!1;return!0},hasPage:function(n){return!!this.get(n)},getAt:function(n){return this.getRange(n,n)[0]},getRange:function(n,t){this.hasRange(n,t)||Ext.Error.raise("PageMap asked for range which it does not have");for(var i=this,e=i.getPageFromRecordIndex(n),o=i.getPageFromRecordIndex(t),a=(e-1)*i.pageSize,v=o*i.pageSize-1,r=e,u=[],s,c,f,h=0,l;r<=o;r++)r==e?(s=n-a,f=!0):(s=0,f=!1),r==o&&(c=i.pageSize-(v-t),f=!0),f?Ext.Array.push(u,Ext.Array.slice(i.getPage(r),s,c)):Ext.Array.push(u,i.getPage(r));for(l=u.length;h<l;h++)u[h].index=n++;return u}},0,0,0,0,0,0,[Ext.data,"PageMap"],0);Ext.cmd.derive("Ext.data.Group",Ext.util.Observable,{key:undefined,dirty:!0,constructor:function(){this.callParent(arguments);this.records=[]},contains:function(n){return Ext.Array.indexOf(this.records,n)!==-1},add:function(n){Ext.Array.push(this.records,n);this.dirty=!0},remove:function(n){Ext.isArray(n)||(n=[n]);for(var i=n.length,t=0;t<i;++t)Ext.Array.remove(this.records,n[t]);this.dirty=!0},isDirty:function(){return this.dirty},hasAggregate:function(){return!!this.aggregate},setDirty:function(){this.dirty=!0},commit:function(){this.dirty=!1},isCollapsed:function(){return this.collapsed},getAggregateRecord:function(n){var t=this,i;return(n===!0||t.dirty||!t.aggregate)&&(i=t.store.model,t.aggregate=new i,t.aggregate.isSummary=!0),t.aggregate}},1,0,0,0,0,0,[Ext.data,"Group"],0);Ext.cmd.derive("Ext.data.Store",Ext.data.AbstractStore,{remoteSort:!1,remoteFilter:!1,remoteGroup:!1,groupField:undefined,groupDir:"ASC",trailingBufferZone:25,leadingBufferZone:200,pageSize:undefined,currentPage:1,clearOnPageLoad:!0,loading:!1,sortOnFilter:!0,buffered:!1,purgePageCount:5,clearRemovedOnLoad:!0,defaultPageSize:25,defaultViewSize:100,addRecordsOptions:{addRecords:!0},statics:{recordIdFn:function(n){return n.internalId},recordIndexFn:function(n){return n.index},grouperIdFn:function(n){return n.id||n.property},groupIdFn:function(n){return n.key}},constructor:function(n){n=Ext.apply({},n);var t=this,r=n.groupers||t.groupers,f=n.groupField||t.groupField,u,i;i=n.data||t.data;i&&(t.inlineData=i,delete n.data);!r&&f&&(r=[{property:f,direction:n.groupDir||t.groupDir}],(n.getGroupString||t.getGroupString!==Ext.data.Store.prototype.getGroupString)&&(r[0].getGroupString=function(n){return t.getGroupString(n)}));delete n.groupers;t.groupers=new Ext.util.MixedCollection(!1,Ext.data.Store.grouperIdFn);t.groupers.addAll(t.decodeGroupers(r));t.groups=new Ext.util.MixedCollection(!1,Ext.data.Store.groupIdFn);t.callParent([n]);t.buffered?(t.data=new Ext.data.PageMap({store:t,keyFn:Ext.data.Store.recordIdFn,pageSize:t.pageSize,maxSize:t.purgePageCount,listeners:{clear:t.onPageMapClear,scope:t}}),t.pageRequests={},t.remoteSort=t.remoteGroup=t.remoteFilter=!0,t.sortOnLoad=!1,t.filterOnLoad=!1):(t.data=new Ext.util.MixedCollection({getKey:Ext.data.Store.recordIdFn,maintainIndices:!0}),t.data.pageSize=t.pageSize);t.remoteGroup&&(t.remoteSort=!0);t.sorters.insert(0,t.groupers.getRange());u=t.proxy;i=t.inlineData;t.buffered||t.pageSize||(t.pageSize=t.defaultPageSize);i?(u instanceof Ext.data.proxy.Memory?(u.data=i,t.read()):t.add.apply(t,[i]),t.sorters.items.length&&!t.remoteSort&&t.group(null,null,!0),delete t.inlineData):t.autoLoad&&Ext.defer(t.load,1,t,[typeof t.autoLoad=="object"?t.autoLoad:undefined])},onBeforeSort:function(){var n=this.groupers;n.getCount()>0&&this.sort(n.items,"prepend",!1)},decodeGroupers:function(n){Ext.isArray(n)||(n=n===undefined?[]:[n]);for(var f=n.length,u=Ext.util.Grouper,t,r=[],i=0;i<f;i++)t=n[i],t instanceof u?r.push(t):(Ext.isString(t)&&(t={property:t}),t=Ext.apply({root:"data",direction:"ASC"},t),t.fn&&(t.sorterFn=t.fn),typeof t=="function"&&(t={sorterFn:t}),r.push(new u(t)));return r},group:function(n,t,i){var r=this,u,f;n&&(r.sorters.removeAll(r.groupers.items),Ext.isArray(n)?f=n:Ext.isObject(n)?f=[n]:Ext.isString(n)&&(u=r.groupers.get(n),u?t===undefined?u.toggle():u.setDirection(t):(u={property:n,direction:t||"ASC"},f=[u])),f&&f.length&&(r.groupers.clear(),r.groupers.addAll(r.decodeGroupers(f))),r.sorters.insert(0,r.groupers.items));r.remoteGroup?r.buffered?(r.data.clear(),r.loadPage(1,{groupChange:!0})):r.load({scope:r,callback:i?null:r.fireGroupChange}):(r.doSort(r.generateComparator()),r.constructGroups(),i||r.fireGroupChange())},getGroupField:function(){var n=this.groupers.first(),t;return n&&(t=n.property),t},constructGroups:function(){var t=this,e=this.data.items,o=e.length,u=t.groups,i,r,n,f;if(u.clear(),t.isGrouped())for(r=0;r<o;++r)f=e[r],i=t.getGroupString(f),n=u.get(i),n||(n=new Ext.data.Group({key:i,store:t}),u.add(i,n)),n.add(f)},clearGrouping:function(){for(var n=this,i=n.groupers.items,r=i.length,t=0;t<r;t++)n.sorters.remove(i[t]);n.groupers.clear();n.remoteGroup?n.buffered?(n.data.clear(),n.loadPage(1,{groupChange:!0})):n.load({scope:n,callback:n.fireGroupChange}):(n.groups.clear(),n.sorters.length?n.sort():(n.fireEvent("datachanged",n),n.fireEvent("refresh",n)),n.fireGroupChange())},isGrouped:function(){return this.groupers.getCount()>0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(n){for(var e=this.data.items,s=e.length,o=[],u={},f,i,t,r=0;r<s;r++)f=e[r],i=this.getGroupString(f),t=u[i],t===undefined&&(t={name:i,children:[]},o.push(t),u[i]=t),t.children.push(f);return n?u[n]:o},getGroupsForGrouper:function(n,t){for(var s=n.length,e=[],o,i,u,f,r=0;r<s;r++)u=n[r],i=t.getGroupString(u),i!==o&&(f={name:i,grouper:t,records:[]},e.push(f)),f.records.push(u),o=i;return e},getGroupsForGrouperIndex:function(n,t){var u=this,f=u.groupers,o=f.getAt(t),r=u.getGroupsForGrouper(n,o),e=r.length,i;if(t+1<f.length)for(i=0;i<e;i++)r[i].children=u.getGroupsForGrouperIndex(r[i].records,t+1);for(i=0;i<e;i++)r[i].depth=t;return r},getGroupData:function(n){var t=this;return n!==!1&&t.sort(),t.getGroupsForGrouperIndex(t.data.items,0)},getGroupString:function(n){var t=this.groupers.first();return t?t.getGroupString(n):""},insert:function(n,t){var i=this,e=!1,f,o,r,s=i.modelDefaults,u;if(u=Ext.isIterable(t)?[]:t=[t],o=t.length,o){for(f=0;f<o;f++)r=t[f],r.isModel||(r=i.createModel(r)),u[f]=r,s&&r.set(s),r.join(i),e=e||r.phantom===!0;i.data.insert(n,u);i.snapshot&&i.snapshot.addAll(u);i.requireSort&&(i.suspendEvents(),i.sort(),i.resumeEvents());i.isGrouped()&&i.updateGroupsOnAdd(u);i.fireEvent("add",i,u,n);i.fireEvent("datachanged",i);i.autoSync&&e&&!i.autoSyncSuspended&&i.sync()}return u},updateGroupsOnAdd:function(n){for(var r=this,e=r.groups,o=n.length,u,i,f,t=0;t<o;++t)f=n[t],u=r.getGroupString(f),i=e.getByKey(u),i||(i=e.add(new Ext.data.Group({key:u,store:r}))),i.add(f)},updateGroupsOnRemove:function(n){for(var u=this,f=u.groups,o=n.length,e,t,r,i=0;i<o;++i)r=n[i],e=u.getGroupString(r),t=f.getByKey(e),t&&(t.remove(r),t.records.length===0&&f.remove(t))},updateGroupsOnUpdate:function(n,t){var i=this,h=i.getGroupField(),o=i.getGroupString(n),f=i.groups,e,r,s,u;if(t&&Ext.Array.indexOf(t,h)!==-1){for(i.buffered&&Ext.Error.raise({msg:"Cannot move records between groups in a buffered store record"}),s=f.items,r=0,e=s.length;r<e;++r)if(u=s[r],u.contains(n)){u.remove(n);break}for(u=f.getByKey(o),u||(u=f.add(new Ext.data.Group({key:o,store:i}))),u.add(n),i.data.remove(n),i.data.insert(i.data.findInsertionIndex(n,i.generateComparator()),n),r=0,e=this.getCount();r<e;r++)i.data.items[r].index=r}else f.getByKey(o).setDirty()},add:function(n){var t=this,i,u,r;return(i=Ext.isArray(n)?n:arguments,u=i.length,r=!t.remoteSort&&t.sorters&&t.sorters.items.length,r&&u===1)?[t.addSorted(t.createModel(i[0]))]:(r&&(t.requireSort=!0),i=t.insert(t.data.length,i),delete t.requireSort,i)},addSorted:function(n){var t=this,i=t.data.findInsertionIndex(n,t.generateComparator());return t.insert(i,n),n},createModel:function(n){return n.isModel||(n=Ext.ModelManager.create(n,this.model)),n},onUpdate:function(n,t,i){this.isGrouped()&&this.updateGroupsOnUpdate(n,i)},each:function(n,t){for(var u=this.data.items,f=u.length,r,i=0;i<f;i++)if(r=u[i],n.call(t||r,r,i,f)===!1)break},remove:function(n,t,i){t=t===!0;var u=this,l=!1,y=u.snapshot,c=u.data,f=0,o,s=[],p=[],w=[],a,v,e,r,h,b,k=!i&&u.hasListeners.remove;if(n.isModel?(n=[n],o=1):Ext.isIterable(n)?o=n.length:typeof n=="object"&&(h=!0,f=n.start,o=n.end+1,b=o-f),!h){for(f=0;f<o;++f)r=n[f],typeof r=="number"?(e=r,r=c.getAt(e)):e=u.indexOf(r),r&&e>-1&&s.push({record:r,index:e}),y&&y.remove(r);s=Ext.Array.sort(s,function(n,t){var i=n.index,r=t.index;return i===t.index2?0:i<r?-1:1});f=0;o=s.length}for(;f<o;f++)h?(r=c.getAt(f),e=f):(a=s[f],r=a.record,e=a.index),p.push(r),w.push(e),v=r.phantom!==!0,!t&&v&&(r.removedFrom=e,u.removed.push(r)),r.unjoin(u),e-=f,l=l||v,h||(c.removeAt(e),k&&u.fireEvent("remove",u,r,e,!!t));h&&c.removeRange(n.start,b);i||(u.fireEvent("bulkremove",u,p,w,!!t),u.fireEvent("datachanged",u));!t&&u.autoSync&&l&&!u.autoSyncSuspended&&u.sync()},removeAt:function(n,t){var i=this,r=i.getCount();n<=r&&(arguments.length===1?i.remove([n]):t&&i.remove({start:n,end:Math.min(n+t,r)-1}))},removeAll:function(n){var t=this,r=t.snapshot,i=t.data;r&&r.removeAll(i.getRange());t.buffered?i&&(n&&t.suspendEvent("clear"),i.clear(),n&&t.resumeEvent("clear")):(t.remove({start:0,end:t.getCount()-1},!1,n),n!==!0&&t.fireEvent("clear",t))},load:function(n){var t=this;return(n=n||{},typeof n=="function"&&(n={callback:n}),n.groupers=n.groupers||t.groupers.items,n.page=n.page||t.currentPage,n.start=n.start!==undefined?n.start:(n.page-1)*t.pageSize,n.limit=n.limit||t.pageSize,n.addRecords=n.addRecords||!1,t.buffered)?(n.limit=t.viewSize||t.defaultViewSize,t.loadToPrefetch(n)):t.callParent([n])},reload:function(n){var t=this,i,r,s,h,u,f,e,c,o=t.getCount();if(n||(n={}),t.buffered){if(delete t.totalCount,f=function(){t.rangeCached(i,r)&&(t.loading=!1,t.data.un("pageAdded",f),c=t.data.getRange(i,r),t.fireEvent("load",t,c,!0))},e=Math.ceil((t.leadingBufferZone+t.trailingBufferZone)/2),i=n.start||(o?t.getAt(0).index:0),r=i+(n.count||(o?o:t.pageSize))-1,s=t.getPageFromRecordIndex(Math.max(i-e,0)),h=t.getPageFromRecordIndex(r+e),t.data.clear(!0),t.fireEvent("beforeload",t,n)!==!1){t.loading=!0;t.data.on("pageAdded",f);for(u=s;u<=h;u++)t.prefetchPage(u,n)}}else return t.callParent(arguments)},onProxyLoad:function(n){var t=this,u=n.getResultSet(),i=n.getRecords(),r=n.wasSuccessful();t.isDestroyed||(u&&(t.totalCount=u.total),t.loading=!1,r&&t.loadRecords(i,n),t.hasListeners.load&&t.fireEvent("load",t,i,r),t.hasListeners.read&&t.fireEvent("read",t,i,r),Ext.callback(n.callback,n.scope||t,[i,n,r]))},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(n,t){Ext.isString(n)&&(n={property:n,value:t});for(var i=this,u=i.decodeFilters(n),f=i.sorters.length&&i.sortOnFilter&&!i.remoteSort,e=u.length,r=0;r<e;r++)i.filters.replace(u[r]);n=i.filters.items;n.length&&(i.remoteFilter?(delete i.totalCount,i.buffered?(i.data.clear(),i.loadPage(1)):(i.currentPage=1,i.load())):(i.snapshot=i.snapshot||i.data.clone(),i.data=i.snapshot.filter(n),i.constructGroups(),f?i.sort():(i.fireEvent("datachanged",i),i.fireEvent("refresh",i))),i.fireEvent("filterchange",i,n))},clearFilter:function(n){var t=this;if(t.filters.clear(),t.remoteFilter){if(n)return;delete t.totalCount;t.buffered?(t.data.clear(),t.loadPage(1)):(t.currentPage=1,t.load())}else t.isFiltered()&&(t.data=t.snapshot,delete t.snapshot,t.constructGroups(),n!==!0&&(t.fireEvent("datachanged",t),t.fireEvent("refresh",t)));t.fireEvent("filterchange",t,t.filters.items)},removeFilter:function(n,t){var i=this;!i.remoteFilter&&i.isFiltered()&&(n instanceof Ext.util.Filter?i.filters.remove(n):i.filters.removeAtKey(n),t!==!1?i.filters.length?i.filter():i.clearFilter():i.fireEvent("filterchange",i,i.filters.items))},addFilter:function(n,t){var i=this,u,r,f;for(u=i.decodeFilters(n),f=u.length,r=0;r<f;r++)i.filters.replace(u[r]);t!==!1&&i.filters.length?i.filter():i.fireEvent("filterchange",i,i.filters.items)},isFiltered:function(){var n=this.snapshot;return!!(n&&n!==this.data)},filterBy:function(n,t){var i=this;i.snapshot=i.snapshot||i.data.clone();i.data=i.queryBy(n,t||i);i.fireEvent("datachanged",i);i.fireEvent("refresh",i)},queryBy:function(n,t){var i=this;return(i.snapshot||i.data).filterBy(n,t||i)},query:function(n,t,i,r,u){var e=this,o=e.createFilterFn(n,t,i,r,u),f=e.queryBy(o);return f||(f=new Ext.util.MixedCollection),f},loadData:function(n,t){for(var u=n.length,r=[],i=0;i<u;i++)r.push(this.createModel(n[i]));this.loadRecords(r,t?this.addRecordsOptions:undefined)},loadRawData:function(n,t){var i=this,r=i.proxy.reader.read(n),u=r.records;r.success&&(i.totalCount=r.total,i.loadRecords(u,t?i.addRecordsOptions:undefined))},loadRecords:function(n,t){var i=this,r=0,f=n.length,u,e,o=i.snapshot;if(t&&(u=t.start,e=t.addRecords),e?o&&o.addAll(n):(delete i.snapshot,i.clearData(!0)),i.data.addAll(n),u!==undefined)for(;r<f;r++)n[r].index=u+r,n[r].join(i);else for(;r<f;r++)n[r].join(i);i.suspendEvents();i.filterOnLoad&&!i.remoteFilter&&i.filter();i.sortOnLoad&&!i.remoteSort&&i.sort(undefined,undefined,undefined,!0);i.resumeEvents();i.isGrouped()&&i.constructGroups();i.fireEvent("datachanged",i);i.fireEvent("refresh",i)},loadPage:function(n,t){var i=this;if(i.currentPage=n,t=Ext.apply({page:n,start:(n-1)*i.pageSize,limit:i.pageSize,addRecords:!i.clearOnPageLoad},t),i.buffered)return t.limit=i.viewSize||i.defaultViewSize,i.loadToPrefetch(t);i.read(t)},nextPage:function(n){this.loadPage(this.currentPage+1,n)},previousPage:function(n){this.loadPage(this.currentPage-1,n)},clearData:function(n){var t=this,i,r;if(!t.buffered&&t.data)for(i=t.data.items,r=i.length;r--;)i[r].unjoin(t);t.data&&t.data.clear();(n!==!0||t.clearRemovedOnLoad)&&(t.removed.length=0)},loadToPrefetch:function(n){var t=this,u,e,o,f=n,r=n.start,s=n.start+n.limit-1,i=Math.min(s,n.start+(t.viewSize||n.limit)-1),h=t.getPageFromRecordIndex(Math.max(r-t.trailingBufferZone,0)),c=t.getPageFromRecordIndex(s+t.leadingBufferZone),l=function(){t.rangeCached(r,i)&&(t.loading=!1,e=t.data.getRange(r,i),t.data.un("pageAdded",l),t.hasListeners.guaranteedrange&&t.guaranteeRange(r,i,n.callback,n.scope),n.callback&&n.callback.call(n.scope||t,e,r,s,n),t.fireEvent("datachanged",t),t.fireEvent("refresh",t),t.fireEvent("load",t,e,!0),n.groupChange&&t.fireGroupChange())};if(t.fireEvent("beforeload",t,n)!==!1){delete t.totalCount;t.loading=!0;n.callback&&(f=Ext.apply({},n),delete f.callback);t.on("prefetch",function(n,r,e){if(e)if(o=t.getTotalCount()){t.data.on("pageAdded",l);for(i=Math.min(i,o-1),c=t.getPageFromRecordIndex(Math.min(i+t.leadingBufferZone,o-1)),u=h+1;u<=c;++u)t.prefetchPage(u,f)}else t.fireEvent("datachanged",t),t.fireEvent("refresh",t),t.fireEvent("load",t,r,!0);else t.fireEvent("load",t,r,!1)},null,{single:!0});t.prefetchPage(h,f)}},prefetch:function(n){var t=this,i=t.pageSize,r,u;return i?(t.lastPageSize&&i!=t.lastPageSize&&Ext.Error.raise("pageSize cannot be dynamically altered"),t.data.pageSize||(t.data.pageSize=i)):t.pageSize=t.data.pageSize=i=n.limit,t.lastPageSize=i,n.page||(n.page=t.getPageFromRecordIndex(n.start),n.start=(n.page-1)*i,n.limit=Math.ceil(n.limit/i)*i),t.pageRequests[n.page]||(n=Ext.apply({action:"read",filters:t.filters.items,sorters:t.sorters.items,groupers:t.groupers.items,pageMapGeneration:t.data.pageMapGeneration},n),u=new Ext.data.Operation(n),t.fireEvent("beforeprefetch",t,u)!==!1&&(r=t.proxy,t.pageRequests[n.page]=r.read(u,t.onProxyPrefetch,t),r.isSynchronous&&delete t.pageRequests[n.page])),t},onPageMapClear:function(){var n=this,u=n.wasLoading,t=n.pageRequests,r,i;n.data.events.pageadded&&n.data.events.pageadded.clearListeners();n.loading=!0;n.totalCount=0;for(i in t)t.hasOwnProperty(i)&&(r=t[i],delete t[i],delete r.callback);n.fireEvent("clear",n);n.loading=u},prefetchPage:function(n,t){var i=this,u=i.pageSize||i.defaultPageSize,f=(n-1)*i.pageSize,r=i.totalCount;(r===undefined||i.getCount()!==r)&&i.prefetch(Ext.applyIf({page:n,start:f,limit:u},t))},onProxyPrefetch:function(n){var t=this,u=n.getResultSet(),i=n.getRecords(),r=n.wasSuccessful(),f=n.page;n.pageMapGeneration===t.data.pageMapGeneration&&(u&&(t.totalCount=u.total,t.fireEvent("totalcountchange",t.totalCount)),f!==undefined&&delete t.pageRequests[f],t.loading=!1,t.fireEvent("prefetch",t,i,r,n),r&&t.cachePage(i,n.page),Ext.callback(n.callback,n.scope||t,[i,n,r]))},cachePage:function(n,t){var i=this,u=n.length,r;for(Ext.isDefined(i.totalCount)||(i.totalCount=n.length,i.fireEvent("totalcountchange",i.totalCount)),r=0;r<u;r++)n[r].join(i);i.data.addPage(t,n)},rangeCached:function(n,t){return this.data&&this.data.hasRange(n,t)},pageCached:function(n){return this.data&&this.data.hasPage(n)},pagePending:function(n){return!!this.pageRequests[n]},rangeSatisfied:function(n,t){return this.rangeCached(n,t)},getPageFromRecordIndex:function(n){return Math.floor(n/this.pageSize)+1},onGuaranteedRange:function(n){var i=this,f=i.getTotalCount(),r=n.prefetchStart,t=n.prefetchEnd>f-1?f-1:n.prefetchEnd,u;t=Math.max(0,t);u=i.data.getRange(r,t);n.fireEvent!==!1&&i.fireEvent("guaranteedrange",u,r,t,n);n.callback&&n.callback.call(n.scope||i,u,r,t,n)},guaranteeRange:function(n,t,i,r,u){u=Ext.apply({callback:i,scope:r},u);this.getRange(n,t,u)},prefetchRange:function(n,t){var i=this,u,f,r;if(!i.rangeCached(n,t))for(u=i.getPageFromRecordIndex(n),f=i.getPageFromRecordIndex(t),i.data.maxSize=i.purgePageCount?f-u+1+i.purgePageCount:0,r=u;r<=f;r++)i.pageCached(r)||i.prefetchPage(r)},primeCache:function(n,t,i){var r=this;i===-1?(n=Math.max(n-r.leadingBufferZone,0),t=Math.min(t+r.trailingBufferZone,r.totalCount-1)):i===1?(n=Math.max(Math.min(n-r.trailingBufferZone,r.totalCount-r.pageSize),0),t=Math.min(t+r.leadingBufferZone,r.totalCount-1)):(n=Math.min(Math.max(Math.floor(n-(r.leadingBufferZone+r.trailingBufferZone)/2),0),r.totalCount-r.pageSize),t=Math.min(Math.max(Math.ceil(t+(r.leadingBufferZone+r.trailingBufferZone)/2),0),r.totalCount-1));r.prefetchRange(n,t)},sort:function(){var n=this;return n.buffered&&n.remoteSort&&n.data.clear(),n.callParent(arguments)},doSort:function(n){var t=this,r,u,i;if(t.remoteSort)t.buffered?(t.data.clear(),t.loadPage(1)):t.load();else{if(t.data.sortBy(n),!t.buffered)for(r=t.getRange(),u=r.length,i=0;i<u;i++)r[i].index=i;t.fireEvent("datachanged",t);t.fireEvent("refresh",t)}},find:function(n,t,i,r,u,f){var e=this.createFilterFn(n,t,r,u,f);return e?this.data.findIndexBy(e,null,i):-1},findRecord:function(){var n=this,t=n.find.apply(n,arguments);return t!==-1?n.getAt(t):null},createFilterFn:function(n,t,i,r,u){return Ext.isEmpty(t)?!1:(t=this.data.createValueMatcher(t,i,r,u),function(i){return t.test(i.data[n])})},findExact:function(n,t,i){return this.data.findIndexBy(function(i){return i.isEqual(i.get(n),t)},this,i)},findBy:function(n,t,i){return this.data.findIndexBy(n,t,i)},collect:function(n,t,i){var r=this,u=i===!0&&r.snapshot?r.snapshot:r.data;return u.collect(n,"data",t)},getCount:function(){return this.data.getCount()},getTotalCount:function(){return this.totalCount||0},getAt:function(n){return this.data.getAt(n)},getRange:function(n,t,i){var r=this,f,e,s=r.totalCount-1,h=r.lastRequestStart,o,u;if(i=Ext.apply({prefetchStart:n,prefetchEnd:t},i),r.buffered){if(t=t>=r.totalCount?s:t,f=n===0?0:n-1,e=t===s?t:t+1,r.lastRequestStart=n,r.rangeCached(f,e)){r.onGuaranteedRange(i);u=r.data.getRange(n,t)}else{r.fireEvent("cachemiss",r,n,t);o=function(){if(r.rangeCached(f,e)){r.fireEvent("cachefilled",r,n,t);r.data.un("pageAdded",o);r.onGuaranteedRange(i)}};r.data.on("pageAdded",o);r.prefetchRange(n,t)}r.primeCache(n,t,n<h?-1:1)}else u=r.data.getRange(n,t),i.callback&&i.callback.call(i.scope||r,u,n,t,i);return u},getById:function(n){return(this.snapshot||this.data).findBy(function(t){return t.getId()===n})},indexOf:function(n){return this.data.indexOf(n)},indexOfTotal:function(n){var t=n.index;return t||t===0?t:this.indexOf(n)},indexOfId:function(n){return this.indexOf(this.getById(n))},first:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){return n.length?n[0]:undefined},t,!0):t.data.first()},last:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){var t=n.length;return t?n[t-1]:undefined},t,!0):t.data.last()},sum:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getSum,i,!0,[n]):i.getSum(i.data.items,n)},getSum:function(n,t){for(var r=0,i=0,u=n.length;i<u;++i)r+=n[i].get(t);return r},count:function(n){var t=this;return n&&t.isGrouped()?t.aggregate(function(n){return n.length},t,!0):t.getCount()},min:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getMin,i,!0,[n]):i.getMin(i.data.items,n)},getMin:function(n,t){var r=1,f=n.length,u,i;for(f>0&&(i=n[0].get(t));r<f;++r)u=n[r].get(t),u<i&&(i=u);return i},max:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getMax,i,!0,[n]):i.getMax(i.data.items,n)},getMax:function(n,t){var r=1,f=n.length,u,i;for(f>0&&(i=n[0].get(t));r<f;++r)u=n[r].get(t),u>i&&(i=u);return i},average:function(n,t){var i=this;return t&&i.isGrouped()?i.aggregate(i.getAverage,i,!0,[n]):i.getAverage(i.data.items,n)},getAverage:function(n,t){var i=0,r=n.length,u=0;if(n.length>0){for(;i<r;++i)u+=n[i].get(t);return u/r}return 0},aggregate:function(n,t,i,r){if(r=r||[],i&&this.isGrouped()){for(var e=this.getGroups(),s=e.length,o={},f,u=0;u<s;++u)f=e[u],o[f.name]=this.getAggregate(n,t||this,f.children,r);return o}return this.getAggregate(n,t,this.data.items,r)},getAggregate:function(n,t,i,r){return r=r||[],n.apply(t||this,[i].concat(r))},onIdChanged:function(n,t,i,r){var u=this.snapshot;u&&u.updateKey(r,i);this.data.updateKey(r,i);this.callParent(arguments)},commitChanges:function(){for(var t=this,i=t.getModifiedRecords(),r=i.length,n=0;n<r;n++)i[n].commit();t.removed.length=0},filterNewOnly:function(n){return n.phantom===!0},getRejectRecords:function(){return Ext.Array.push(this.data.filterBy(this.filterNewOnly).items,this.getUpdatedRecords())},rejectChanges:function(){for(var i=this,r=i.getRejectRecords(),u=r.length,t=0,n;t<u;t++)n=r[t],n.reject(),n.phantom&&i.remove(n);for(r=i.removed,u=r.length,t=0;t<u;t++)n=r[t],i.insert(n.removedFrom||0,n),n.reject();i.removed.length=0}},1,0,0,0,["store.store"],0,[Ext.data,"Store"],function(){Ext.regStore("ext-empty-store",{fields:[],proxy:"memory"})});Ext.cmd.derive("Ext.data.reader.Array",Ext.data.reader.Json,{alternateClassName:"Ext.data.ArrayReader",totalProperty:undefined,successProperty:undefined,createFieldAccessExpression:function(n,t,i){var r=n.mapping==null?n.originalIndex:n.mapping,u;return typeof r=="function"?u=t+".mapping("+i+", this)":(isNaN(r)&&(r='"'+r+'"'),u=i+"["+r+"]"),u}},0,0,0,0,["reader.array"],0,[Ext.data.reader,"Array",Ext.data,"ArrayReader"],0);Ext.cmd.derive("Ext.data.ArrayStore",Ext.data.Store,{constructor:function(n){n=Ext.apply({proxy:{type:"memory",reader:"array"}},n);this.callParent([n])},loadData:function(n,t){if(this.expandData===!0){for(var i=[],r=0,u=n.length;r<u;r++)i[i.length]=[n[r]];n=i}this.callParent([n,t])}},1,0,0,0,["store.array"],0,[Ext.data,"ArrayStore"],function(){Ext.data.SimpleStore=Ext.data.ArrayStore});Ext.cmd.derive("Ext.data.Batch",Ext.Base,{autoStart:!1,pauseOnException:!1,current:-1,total:0,isRunning:!1,isComplete:!1,hasException:!1,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t,n);t.operations=[];t.exceptions=[]},add:function(n){return this.total++,n.setBatch(this),this.operations.push(n),this},start:function(n){var t=this;return t.isRunning?t:(t.exceptions.length=0,t.hasException=!1,t.isRunning=!0,t.runOperation(Ext.isDefined(n)?n:t.current+1))},retry:function(){return this.start(this.current)},runNextOperation:function(){return this.runOperation(this.current+1)},pause:function(){return this.isRunning=!1,this},runOperation:function(n){var t=this,r=t.operations,i=r[n],u;return i===undefined?(t.isRunning=!1,t.isComplete=!0,t.fireEvent("complete",t,r[r.length-1])):(t.current=n,u=function(n){var i=n.hasException();i&&(t.hasException=!0,t.exceptions.push(n),t.fireEvent("exception",t,n));i&&t.pauseOnException?t.pause():(n.setCompleted(),t.fireEvent("operationcomplete",t,n),t.runNextOperation())},i.setStarted(),t.proxy[i.action](i,u,t)),t}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.data,"Batch"],0);Ext.cmd.derive("Ext.data.BufferStore",Ext.data.Store,{sortOnLoad:!1,filterOnLoad:!1,constructor:function(){Ext.Error.raise("The BufferStore class has been deprecated. Instead, specify the buffered config option on Ext.data.Store")}},1,0,0,0,["store.buffer"],0,[Ext.data,"BufferStore"],0);Ext.cmd.derive("Ext.direct.Manager",Ext.Base,{singleton:!0,exceptions:{TRANSPORT:"xhr",PARSE:"parse",DATA:"data",LOGIN:"login",SERVER:"exception"},constructor:function(){var n=this;n.addEvents("event","exception");n.transactions=new Ext.util.MixedCollection;n.providers=new Ext.util.MixedCollection;n.mixins.observable.constructor.call(n)},addProvider:function(n){var t=this,r=arguments,f=t.relayers||(t.relayers={}),i,u;if(r.length>1){for(i=0,u=r.length;i<u;++i)t.addProvider(r[i]);return}n.isProvider||(n=Ext.create("direct."+n.type+"provider",n));t.providers.add(n);n.on("data",t.onProviderData,t);return n.relayedEvents&&(f[n.id]=t.relayEvents(n,n.relayedEvents)),n.isConnected()||n.connect(),n},getProvider:function(n){return n.isProvider?n:this.providers.get(n)},removeProvider:function(n){var t=this,u=t.providers,r=t.relayers,i;return(n=n.isProvider?n:u.get(n),n)?(n.un("data",t.onProviderData,t),i=n.id,r[i]&&(r[i].destroy(),delete r[i]),u.remove(n),n):null},addTransaction:function(n){return this.transactions.add(n),n},removeTransaction:function(n){var t=this;return n=t.getTransaction(n),t.transactions.remove(n),n},getTransaction:function(n){return typeof n=="object"?n:this.transactions.get(n)},onProviderData:function(n,t){var i=this,r,u;if(Ext.isArray(t)){for(r=0,u=t.length;r<u;++r)i.onProviderData(n,t[r]);return}t.name&&t.name!="event"&&t.name!="exception"?i.fireEvent(t.name,t):t.status===!1&&i.fireEvent("exception",t);i.fireEvent("event",t,n)},parseMethod:function(n){if(Ext.isString(n)){for(var r=n.split("."),i=0,u=r.length,t=Ext.global;t&&i<u;)t=t[r[i]],++i;n=Ext.isFunction(t)?t:null}return n||null}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.direct,"Manager"],function(){Ext.Direct=Ext.direct.Manager});Ext.cmd.derive("Ext.data.proxy.Direct",Ext.data.proxy.Server,{alternateClassName:"Ext.data.DirectProxy",paramOrder:undefined,paramsAsHash:!0,directFn:undefined,paramOrderRe:/[\s,|]/,constructor:function(){var n=this,t;n.callParent(arguments);t=n.paramOrder;Ext.isString(t)&&(n.paramOrder=t.split(n.paramOrderRe))},resolveMethods:function(){var r=this,n=r.directFn,t=r.api,u=Ext.direct.Manager,i;if(n)i=r.directFn=u.parseMethod(n),Ext.isFunction(i)||Ext.Error.raise("Cannot resolve directFn "+n);else if(t)for(n in t)t.hasOwnProperty(n)&&(i=t[n],t[n]=u.parseMethod(i),Ext.isFunction(t[n])||Ext.Error.raise("Cannot resolve Direct api "+n+" method "+i));r.methodsResolved=!0},doRequest:function(n,t,i){var r=this,s=r.getWriter(),u=r.buildRequest(n),h=u.params,f=[],e,o;r.methodsResolved||r.resolveMethods();e=r.api[u.action]||r.directFn;n.allowWrite()&&(u=s.write(u));n.action=="read"?(o=e.directCfg.method,f=o.getArgs(h,r.paramOrder,r.paramsAsHash)):f.push(u.jsonData);Ext.apply(u,{args:f,directFn:e});f.push(r.createRequestCallback(u,n,t,i),r);e.apply(window,f)},applyEncoding:Ext.identityFn,createRequestCallback:function(n,t,i,r){var u=this;return function(f,e){u.processResponse(e.status,t,n,e,i,r)}},extractResponseData:function(n){return Ext.isDefined(n.result)?n.result:n.data},setException:function(n,t){n.setException(t.message)},buildUrl:function(){return""}},1,0,0,0,["proxy.direct"],0,[Ext.data.proxy,"Direct",Ext.data,"DirectProxy"],0);Ext.cmd.derive("Ext.data.DirectStore",Ext.data.Store,{constructor:function(n){if(n=Ext.apply({},n),!n.proxy){var t={type:"direct",reader:{type:"json"}};Ext.copyTo(t,n,"paramOrder,paramsAsHash,directFn,api,simpleSortMode");Ext.copyTo(t.reader,n,"totalProperty,root,idProperty");n.proxy=t}this.callParent([n])}},1,0,0,0,["store.direct"],0,[Ext.data,"DirectStore"],0);Ext.cmd.derive("Ext.data.JsonP",Ext.Base,{singleton:!0,requestCount:0,requests:{},timeout:3e4,disableCaching:!0,disableCachingParam:"_dc",callbackKey:"callback",request:function(n){n=Ext.apply({},n);var t=this,l=Ext.isDefined(n.disableCaching)?n.disableCaching:t.disableCaching,e=n.disableCachingParam||t.disableCachingParam,u=++t.requestCount,f=n.callbackName||"callback"+u,o=n.callbackKey||t.callbackKey,s=Ext.isDefined(n.timeout)?n.timeout:t.timeout,r=Ext.apply({},n.params),h=n.url,a=Ext.name,i,c;return l&&!r[e]&&(r[e]=Ext.Date.now()),n.params=r,r[o]=a+".data.JsonP."+f,c=t.createScript(h,r,n),t.requests[u]=i={url:h,params:r,script:c,id:u,scope:n.scope,success:n.success,failure:n.failure,callback:n.callback,callbackKey:o,callbackName:f},s>0&&(i.timeout=setTimeout(Ext.bind(t.handleTimeout,t,[i]),s)),t.setupErrorHandling(i),t[f]=Ext.bind(t.handleResponse,t,[i],!0),t.loadScript(i),i},abort:function(n){var i=this,t=i.requests,r;if(n)n.id||(n=t[n]),i.handleAbort(n);else for(r in t)t.hasOwnProperty(r)&&i.abort(t[r])},setupErrorHandling:function(n){n.script.onerror=Ext.bind(this.handleError,this,[n])},handleAbort:function(n){n.errorType="abort";this.handleResponse(null,n)},handleError:function(n){n.errorType="error";this.handleResponse(null,n)},cleanupErrorHandling:function(n){n.script.onerror=null},handleTimeout:function(n){n.errorType="timeout";this.handleResponse(null,n)},handleResponse:function(n,t){var i=!0;t.timeout&&clearTimeout(t.timeout);delete this[t.callbackName];delete this.requests[t.id];this.cleanupErrorHandling(t);Ext.fly(t.script).remove();t.errorType?(i=!1,Ext.callback(t.failure,t.scope,[t.errorType])):Ext.callback(t.success,t.scope,[n]);Ext.callback(t.callback,t.scope,[i,n,t.errorType]);Ext.EventManager.idleEvent.fire()},createScript:function(n,t){var i=document.createElement("script");return i.setAttribute("src",Ext.urlAppend(n,Ext.Object.toQueryString(t))),i.setAttribute("async",!0),i.setAttribute("type","text/javascript"),i},loadScript:function(n){Ext.getHead().appendChild(n.script)}},0,0,0,0,0,0,[Ext.data,"JsonP"],0);Ext.cmd.derive("Ext.data.proxy.JsonP",Ext.data.proxy.Server,{alternateClassName:"Ext.data.ScriptTagProxy",defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:!0,constructor:function(){this.addEvents("exception");this.callParent(arguments)},doRequest:function(n,t,i){var u=this,r=u.buildRequest(n),f=r.params;return Ext.apply(r,{callbackKey:u.callbackKey,timeout:u.timeout,scope:u,disableCaching:!1,callback:u.createRequestCallback(r,n,t,i)}),u.autoAppendParams&&(r.params={}),r.jsonp=Ext.data.JsonP.request(r),r.params=f,n.setStarted(),u.lastRequest=r,r},createRequestCallback:function(n,t,i,r){var u=this;return function(f,e){delete u.lastRequest;u.processResponse(f,t,n,e,i,r)}},setException:function(n){n.setException(n.request.jsonp.errorType)},buildUrl:function(n){var i=this,o=i.callParent(arguments),s=n.records,u=i.getWriter(),t,r,f,e;if(u&&n.operation.allowWrite()&&(n=u.write(n)),t=n.params,r=t.filters,delete t.filters,r&&r.length)for(e=0;e<r.length;e++)f=r[e],f.value&&(t[f.property]=f.value);return(!u||!u.encode)&&Ext.isArray(s)&&s.length>0&&(t[i.recordParam]=i.encodeRecords(s)),i.autoAppendParams&&(o=Ext.urlAppend(o,Ext.Object.toQueryString(t))),o},abort:function(){var n=this.lastRequest;n&&Ext.data.JsonP.abort(n.jsonp)},encodeRecords:function(n){for(var i=[],t=0,r=n.length;t<r;t++)i.push(Ext.encode(n[t].getData()));return i}},1,0,0,0,["proxy.jsonp","proxy.scripttag"],0,[Ext.data.proxy,"JsonP",Ext.data,"ScriptTagProxy"],0);Ext.cmd.derive("Ext.data.JsonPStore",Ext.data.Store,{constructor:function(n){n=Ext.apply({proxy:{type:"jsonp",reader:"json"}},n);this.callParent([n])}},1,0,0,0,["store.jsonp"],0,[Ext.data,"JsonPStore"],0);Ext.cmd.derive("Ext.data.JsonStore",Ext.data.Store,{constructor:function(n){n=Ext.apply({proxy:{type:"ajax",reader:"json",writer:"json"}},n);this.callParent([n])}},1,0,0,0,["store.json"],0,[Ext.data,"JsonStore"],0);Ext.cmd.derive("Ext.data.NodeInterface",Ext.Base,{statics:{decorate:function(n){var t,i,r;(typeof n=="string"?n=Ext.ModelManager.getModel(n):n.isModel&&(n=Ext.ModelManager.getModel(n.modelName)),n.prototype.isNode)||(t=n.prototype.idProperty,i=n.prototype.fields.get(t),r=n.prototype.fields.get(t).type.type,n.override(this.getPrototypeBody()),this.applyFields(n,[{name:"parentId",type:r,defaultValue:null,useNull:i.useNull},{name:"index",type:"int",defaultValue:0,persist:!1,convert:null},{name:"depth",type:"int",defaultValue:0,persist:!1,convert:null},{name:"expanded",type:"bool",defaultValue:!1,persist:!1,convert:null},{name:"expandable",type:"bool",defaultValue:!0,persist:!1,convert:null},{name:"checked",type:"auto",defaultValue:null,persist:!1,convert:null},{name:"leaf",type:"bool",defaultValue:!1},{name:"cls",type:"string",defaultValue:"",persist:!1,convert:null},{name:"iconCls",type:"string",defaultValue:"",persist:!1,convert:null},{name:"icon",type:"string",defaultValue:"",persist:!1,convert:null},{name:"root",type:"boolean",defaultValue:!1,persist:!1,convert:null},{name:"isLast",type:"boolean",defaultValue:!1,persist:!1,convert:null},{name:"isFirst",type:"boolean",defaultValue:!1,persist:!1,convert:null},{name:"allowDrop",type:"boolean",defaultValue:!0,persist:!1,convert:null},{name:"allowDrag",type:"boolean",defaultValue:!0,persist:!1,convert:null},{name:"loaded",type:"boolean",defaultValue:!1,persist:!1,convert:null},{name:"loading",type:"boolean",defaultValue:!1,persist:!1,convert:null},{name:"href",type:"string",defaultValue:"",persist:!1,convert:null},{name:"hrefTarget",type:"string",defaultValue:"",persist:!1,convert:null},{name:"qtip",type:"string",defaultValue:"",persist:!1,convert:null},{name:"qtitle",type:"string",defaultValue:"",persist:!1,convert:null},{name:"qshowDelay",type:"int",defaultValue:0,persist:!1,convert:null},{name:"children",type:"auto",defaultValue:null,persist:!1,convert:null}]))},applyFields:function(n,t){for(var f=n.prototype,u=f.fields,e=u.keys,o=t.length,r,i=0;i<o;i++)r=t[i],Ext.Array.contains(e,r.name)||u.add(new Ext.data.Field(r))},getPrototypeBody:function(){var n={idchanged:!0,append:!0,remove:!0,move:!0,insert:!0,beforeappend:!0,beforeremove:!0,beforemove:!0,beforeinsert:!0,expand:!0,collapse:!0,beforeexpand:!0,beforecollapse:!0,sort:!0,rootchange:!0};return{isNode:!0,constructor:function(){var n=this;return n.callParent(arguments),n.firstChild=n.lastChild=n.parentNode=n.previousSibling=n.nextSibling=null,n.childNodes=[],n},createNode:function(n){return n.isModel||(n=Ext.ModelManager.create(n,this.modelName)),n.childNodes||(n.firstChild=n.lastChild=n.parentNode=n.previousSibling=n.nextSibling=null,n.childNodes=[]),n},isLeaf:function(){return this.get("leaf")===!0},setFirstChild:function(n){this.firstChild=n},setLastChild:function(n){this.lastChild=n},updateInfo:function(n,t){var i=this,c=i.data.depth,o={},s=i.childNodes,l=s.length,u,a=i.phantom,h=i[i.persistenceProperty],r,f,e;t||Ext.Error.raise("NodeInterface expects update info to be passed");for(r in t)e=i.fields.get(r),f=t[r],e&&e.persist&&(i.dirty=i.dirty||!i.isEqual(h[r],f)),h[r]=f;if(n&&(i.commit(),i.phantom=a),i.data.depth!==c)for(o={depth:i.data.depth+1},u=0;u<l;u++)s[u].updateInfo(n,o)},isLast:function(){return this.get("isLast")},isFirst:function(){return this.get("isFirst")},hasChildNodes:function(){return!this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var n=this;return n.get("expandable")?!(n.isLeaf()||n.isLoaded()&&!n.hasChildNodes()):!1},triggerUIUpdate:function(){this.afterEdit([])},appendChild:function(n,t,i){var r=this,o,s,u,f,e,h={isLast:!0,parentId:r.getId(),depth:(r.data.depth||0)+1};if(Ext.isArray(n)){for(r.callStore("suspendAutoSync"),o=0,s=n.length-1;o<s;o++)r.appendChild(n[o],t,i);r.callStore("resumeAutoSync");r.appendChild(n[s],t,i)}else{if(n=r.createNode(n),t!==!0&&r.fireEventArgs("beforeappend",[r,n])===!1)return!1;if(u=r.childNodes.length,f=n.parentNode,f){if(t!==!0&&n.fireEventArgs("beforemove",[n,f,r,u])===!1)return!1;f.removeChild(n,!1,!1,!0)}return Ext.suspendLayouts(),u=r.childNodes.length,u===0&&r.setFirstChild(n),r.childNodes[u]=n,n.parentNode=r,n.nextSibling=null,r.setLastChild(n),e=r.childNodes[u-1],e?(n.previousSibling=e,e.nextSibling=n,e.updateInfo(i,{isLast:!1}),e.triggerUIUpdate()):n.previousSibling=null,h.isFirst=u===0,h.index=u,n.updateInfo(i,h),r.isLoaded()?r.childNodes.length===1&&r.triggerUIUpdate():r.set("loaded",!0),u&&r.childNodes[u-1].isExpanded()&&r.childNodes[u-1].cascadeBy(r.triggerUIUpdate),!n.isLeaf()&&n.phantom&&n.set("loaded",!0),Ext.resumeLayouts(!0),t!==!0&&(r.fireEventArgs("append",[r,n,u]),f&&n.fireEventArgs("move",[n,f,r,u])),n}},getOwnerTree:function(){for(var t=this,n;t.parentNode;)t=t.parentNode;return(n=t.store,n&&(n.treeStore&&(n=n.treeStore),n.tree))?n.ownerTree:undefined},removeChild:function(n,t,i,r){var u=this,o=u.indexOf(n),e,s,f;if(o===-1||i!==!0&&u.fireEventArgs("beforeremove",[u,n,!!r])===!1)return!1;if(Ext.suspendLayouts(),Ext.Array.erase(u.childNodes,o,1),u.firstChild===n&&u.setFirstChild(n.nextSibling),u.lastChild===n&&u.setLastChild(n.previousSibling),(f=n.previousSibling)&&(n.previousSibling.nextSibling=n.nextSibling),n.nextSibling)for(n.nextSibling.previousSibling=n.previousSibling,o===0&&n.nextSibling.updateInfo(!1,{isFirst:!0}),e=o,s=u.childNodes.length;e<s;e++)u.childNodes[e].updateInfo(!1,{index:e});else f&&(f.updateInfo(!1,{isLast:!0}),f.isExpanded()?f.cascadeBy(u.triggerUIUpdate):f.triggerUIUpdate());return u.childNodes.length||u.triggerUIUpdate(),Ext.resumeLayouts(!0),i!==!0&&(n.removeContext={parentNode:n.parentNode,previousSibling:n.previousSibling,nextSibling:n.nextSibling},n.previousSibling=n.nextSibling=n.parentNode=null,u.fireEventArgs("remove",[u,n,!!r]),n.removeContext=null),t?n.destroy(!0):n.clear(),n},copy:function(n,t){var i=this,u=i.callParent(arguments),f=i.childNodes?i.childNodes.length:0,r;if(t)for(r=0;r<f;r++)u.appendChild(i.childNodes[r].copy(undefined,!0));return u},clear:function(n){var t=this;t.parentNode=t.previousSibling=t.nextSibling=null;n&&(t.firstChild=t.lastChild=null)},destroy:function(n){var t=this,u=t.destroyOptions,r=t.childNodes,f=r.length,i;if(n===!0){for(t.clear(!0),i=0;i<f;i++)r[i].destroy(!0);t.childNodes=null;delete t.destroyOptions;t.callParent([u])}else t.destroyOptions=n,t.remove(!0)},insertBefore:function(n,t,i){var r=this,s=r.indexOf(t),f=n.parentNode,u=s,h,o,e;if(!t)return r.appendChild(n);if(n===t||(n=r.createNode(n),i!==!0&&r.fireEventArgs("beforeinsert",[r,n,t])===!1))return!1;if(f===r&&r.indexOf(n)<s&&u--,f){if(i!==!0&&n.fireEventArgs("beforemove",[n,f,r,s,t])===!1)return!1;f.removeChild(n,!1,!1,!0)}for(u===0&&r.setFirstChild(n),Ext.Array.splice(r.childNodes,u,0,n),n.parentNode=r,n.nextSibling=t,t.previousSibling=n,o=r.childNodes[u-1],o?(n.previousSibling=o,o.nextSibling=n):n.previousSibling=null,n.updateInfo(!1,{parentId:r.getId(),index:u,isFirst:u===0,isLast:!1,depth:(r.data.depth||0)+1}),e=u+1,h=r.childNodes.length;e<h;e++)r.childNodes[e].updateInfo(!1,{index:e});return r.isLoaded()?r.childNodes.length===1&&r.triggerUIUpdate():r.set("loaded",!0),!n.isLeaf()&&n.phantom&&n.set("loaded",!0),i!==!0&&(r.fireEventArgs("insert",[r,n,t]),f&&n.fireEventArgs("move",[n,f,r,u,t])),n},insertChild:function(n,t){var i=this.childNodes[n];return i?this.insertBefore(t,i):this.appendChild(t)},remove:function(n,t){var i=this,r=i.parentNode;return r?r.removeChild(i,n,t):n&&i.destroy(!0),i},removeAll:function(n,t,i){var u=this,f=u.childNodes,e=0,o=f.length,r;if(o){for(u.fireEventArgs("bulkremove",[u,f,!1]);e<o;++e)r=f[e],r.removeContext={parentNode:r.parentNode,previousSibling:r.previousSibling,nextSibling:r.nextSibling},r.previousSibling=r.nextSibling=r.parentNode=null,u.fireEventArgs("remove",[u,r,!1]),r.removeContext=null,n?r.destroy(!0):r.removeAll(!1,t,!0);return u.firstChild=u.lastChild=null,i?u.childNodes=null:(u.childNodes.length=0,u.triggerUIUpdate()),u}},getChildAt:function(n){return this.childNodes[n]},replaceChild:function(n,t,i){var r=t?t.nextSibling:null;return this.removeChild(t,!1,i),this.insertBefore(n,r,i),t},indexOf:function(n){return Ext.Array.indexOf(this.childNodes,n)},indexOfId:function(n){for(var i=this.childNodes,r=i.length,t=0;t<r;++t)if(i[t].getId()===n)return t;return-1},getPath:function(n,t){n=n||this.idProperty;t=t||"/";for(var r=[this.get(n)],i=this.parentNode;i;)r.unshift(i.get(n)),i=i.parentNode;return t+r.join(t)},getDepth:function(){return this.get("depth")},bubble:function(n,t,i){for(var r=this;r;){if(n.apply(t||r,i||[r])===!1)break;r=r.parentNode}},cascade:function(){return Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.data.Node: cascade has been deprecated. Please use cascadeBy instead."),this.cascadeBy.apply(this,arguments)},cascadeBy:function(n,t,i){if(n.apply(t||this,i||[this])!==!1)for(var u=this.childNodes,f=u.length,r=0;r<f;r++)u[r].cascadeBy(n,t,i)},eachChild:function(n,t,i){for(var u=this.childNodes,f=u.length,r=0;r<f;r++)if(n.apply(t||this,i||[u[r]])===!1)break},findChild:function(n,t,i){return this.findChildBy(function(){return this.get(n)==t},null,i)},findChildBy:function(n,t,i){for(var e=this.childNodes,o=e.length,u=0,r,f;u<o;u++){if(r=e[u],n.call(t||r,r)===!0)return r;if(i&&(f=r.findChildBy(n,t,i),f!==null))return f}return null},contains:function(n){return n.isAncestor(this)},isAncestor:function(n){for(var t=this.parentNode;t;){if(t===n)return!0;t=t.parentNode}return!1},sort:function(n,t,i){var r=this.childNodes,e=r.length,u,f,o={isFirst:!0};if(e>0){for(Ext.Array.sort(r,n),this.setFirstChild(r[0]),this.setLastChild(r[e-1]),u=0;u<e;u++)f=r[u],f.previousSibling=r[u-1],f.nextSibling=r[u+1],o.isLast=u===e-1,o.index=u,f.updateInfo(!1,o),o.isFirst=!1,t&&!f.isLeaf()&&f.sort(n,!0,!0);i!==!0&&this.fireEventArgs("sort",[this,r])}},isExpanded:function(){return this.get("expanded")},isLoaded:function(){return this.get("loaded")},isLoading:function(){return this.get("loading")},isRoot:function(){return!this.parentNode},isVisible:function(){for(var n=this.parentNode;n;){if(!n.isExpanded())return!1;n=n.parentNode}return!0},expand:function(n,t,i){var r=this,u;if(r.isLeaf())Ext.callback(t,i||r);else if(r.isLoading())r.on("expand",function(){r.expand(n,t,i)},r,{single:!0});else r.isExpanded()?n?(u=r.getOwnerTree(),r.expandChildren(!0,u?u.singleExpand:!1,t,i)):Ext.callback(t,i||r,[r.childNodes]):r.fireEventArgs("beforeexpand",[r,r.onChildNodesAvailable,r,[n,t,i]])},onChildNodesAvailable:function(n,t,i,r){var u=this,f;Ext.suspendLayouts();u.set("expanded",!0);u.fireEventArgs("expand",[u,u.childNodes,!1]);t?(f=u.getOwnerTree(),u.expandChildren(!0,f?f.singleExpand:!1,i,r)):Ext.callback(i,r||u,[u.childNodes]);Ext.resumeLayouts(!0)},expandChildren:function(n,t,i,r){for(var e=this,o=e.childNodes,f=[],s=t?Math.min(o.length,1):o.length,h,u=0;u<s;++u)h=o[u],h.isLeaf()||(f[f.length]=h);for(s=f.length,u=0;u<s;++u)f[u].expand(n);i&&Ext.callback(i,r||e,[e.childNodes])},collapse:function(n,t,i){var r=this,o=r.isExpanded(),e=r.childNodes.length,u,f;if(!r.isLeaf()&&(!o&&n||r.fireEventArgs("beforecollapse",[r])!==!1)){if(Ext.suspendLayouts(),r.isExpanded())n&&(f=function(){for(u=0;u<e;u++)r.childNodes[u].setCollapsed(!0)},t=t?Ext.Function.createSequence(f,t):f),r.set("expanded",!1),r.fireEventArgs("collapse",[r,r.childNodes,!1,t?Ext.Function.bind(t,i,[r.childNodes]):null,null]),t=null;else if(n)for(u=0;u<e;u++)r.childNodes[u].setCollapsed(!0);Ext.resumeLayouts(!0)}Ext.callback(t,i||r,[r.childNodes])},setCollapsed:function(n){var t=this,r=t.childNodes.length,i;if(!t.isLeaf()&&t.fireEventArgs("beforecollapse",[t,Ext.emptyFn])!==!1&&(t.data.expanded=!1,t.fireEventArgs("collapse",[t,t.childNodes,!1,null,null]),n))for(i=0;i<r;i++)t.childNodes[i].setCollapsed(!0)},collapseChildren:function(n,t,i){for(var s=this,o=s.childNodes,f=o.length,e=[],u,r=0;r<f;++r)u=o[r],!u.isLeaf()&&u.isLoaded()&&u.isExpanded()&&e.push(u);for(f=e.length,r=0;r<f;++r)u=e[r],r===f-1?u.collapse(n,t,i):u.collapse(n)},fireEventArgs:function(t,i){var o=Ext.data.Model.prototype.fireEventArgs,r,u,f,e,s;if(n[t]){for(u=this;r!==!1&&u;u=(s=u).parentNode)u.hasListeners[t]&&(r=o.call(u,t,i));return f=s.rootOf,r!==!1&&f&&(e=f.treeStore,e&&e.hasListeners[t]&&(r=e.fireEventArgs.call(e,t,i)),r!==!1&&f.hasListeners[t]&&(r=f.fireEventArgs.call(f,t,i))),r}return o.apply(this,arguments)},serialize:function(){var i=Ext.data.writer.Json.prototype.getRecordData(this),r=this.childNodes,u=r.length,t,n;if(u>0){for(t=[],n=0;n<u;n++)t.push(r[n].serialize());i.children=t}return i}}}}},0,0,0,0,0,0,[Ext.data,"NodeInterface"],0);Ext.cmd.derive("Ext.data.NodeStore",Ext.data.Store,{isNodeStore:!0,node:null,recursive:!1,rootVisible:!1,isExpandingOrCollapsing:0,constructor:function(n){var t=this,i;n=n||{};Ext.apply(t,n);n.proxy={type:"proxy"};t.callParent([n]);i=t.node;i&&(t.node=null,t.setNode(i))},getTotalCount:function(){return this.getCount()},setNode:function(n){var t=this;if(t.node&&t.node!=n&&(t.mun(t.node,{expand:t.onNodeExpand,collapse:t.onNodeCollapse,append:t.onNodeAppend,insert:t.onNodeInsert,bulkremove:t.onBulkRemove,remove:t.onNodeRemove,sort:t.onNodeSort,scope:t}),t.node=null),n&&(Ext.data.NodeInterface.decorate(n.self),t.removeAll(),t.rootVisible?t.add(n):n.isExpanded()||t.treeStore.autoLoad===!1||n.expand(),t.mon(n,{expand:t.onNodeExpand,collapse:t.onNodeCollapse,append:t.onNodeAppend,insert:t.onNodeInsert,bulkremove:t.onBulkRemove,remove:t.onNodeRemove,sort:t.onNodeSort,scope:t}),t.node=n,n.isExpanded()&&n.isLoaded()))t.onNodeExpand(n,n.childNodes,!0)},onNodeSort:function(n,t){var i=this;if(i.indexOf(n)!==-1||n===i.node&&!i.rootVisible&&n.isExpanded()){Ext.suspendLayouts();i.onNodeCollapse(n,t,!0);i.onNodeExpand(n,t,!0);Ext.resumeLayouts(!0)}},onNodeExpand:function(n,t,i){var r=this,u=r.indexOf(n)+1,f=[];i||r.fireEvent("beforeexpand",n,t,u);r.handleNodeExpand(n,t,f);r.insert(u,f);i||r.fireEvent("expand",n,t)},handleNodeExpand:function(n,t,i){var u=this,e=t?t.length:0,f,r;if((u.recursive||n===u.node)&&(n===this.node||u.isVisible(n))&&e)for(f=0;f<e;f++)r=t[f],i.push(r),r.isExpanded()&&(r.isLoaded()?u.handleNodeExpand(r,r.childNodes,i):(r.set("expanded",!1),r.expand()))},onBulkRemove:function(n,t){this.onNodeCollapse(n,t,!0)},onNodeCollapse:function(n,t,i,r,u){var f=this,o=f.indexOf(n)+1,e,s,h,c;if(f.recursive||n===f.node){if(i||f.fireEvent("beforecollapse",n,t,o,r,u),t.length&&f.data.contains(t[0])){for(e=n;e.parentNode;)if(h=e.nextSibling,h){c=!0;s=f.indexOf(h);break}else e=e.parentNode;c||(s=f.getCount());f.removeAt(o,s-o)}i||f.fireEvent("collapse",n,t,o)}},onNodeAppend:function(n,t,i){var u=this,f,r;if(u.isVisible(t)){if(i===0)f=n;else{for(r=t.previousSibling;r.isExpanded()&&r.lastChild;)r=r.lastChild;f=r}if(u.insert(u.indexOf(f)+1,t),!t.isLeaf()&&t.isExpanded())if(t.isLoaded())u.onNodeExpand(t,t.childNodes,!0);else u.treeStore.fillCount||(t.set("expanded",!1),t.expand())}},onNodeInsert:function(n,t,i){var r=this,u=this.indexOf(i);if(u!=-1&&r.isVisible(t)&&(r.insert(u,t),!t.isLeaf()&&t.isExpanded()))if(t.isLoaded())r.onNodeExpand(t,t.childNodes,!0);else t.set("expanded",!1),t.expand()},onNodeRemove:function(n,t){var i=this;if(i.indexOf(t)!=-1){if(!t.isLeaf()&&t.isExpanded()){t.parentNode=t.removeContext.parentNode;t.nextSibling=t.removeContext.nextSibling;i.onNodeCollapse(t,t.childNodes,!0);t.parentNode=t.nextSibling=null}i.remove(t)}},isVisible:function(n){for(var t=n.parentNode;t;){if(t===this.node&&t.data.expanded)return!0;if(!t.data.expanded)return!1;t=t.parentNode}return!1}},1,0,0,0,["store.node"],0,[Ext.data,"NodeStore"],0);Ext.cmd.derive("Ext.data.Request",Ext.Base,{action:undefined,params:undefined,method:"GET",url:undefined,constructor:function(n){Ext.apply(this,n)}},1,0,0,0,0,0,[Ext.data,"Request"],0);Ext.cmd.derive("Ext.data.SequentialIdGenerator",Ext.data.IdGenerator,{constructor:function(){var n=this;n.callParent(arguments);n.parts=[n.prefix,""]},prefix:"",seed:1,generate:function(){var n=this,t=n.parts;return t[1]=n.seed++,t.join("")}},1,0,0,0,["idgen.sequential"],0,[Ext.data,"SequentialIdGenerator"],0);Ext.cmd.derive("Ext.data.Tree",Ext.Base,{root:null,constructor:function(n){var t=this;t.mixins.observable.constructor.call(t);n&&t.setRootNode(n);t.on({scope:t,idchanged:t.onNodeIdChanged,insert:t.onNodeInsert,append:t.onNodeAppend,remove:t.onNodeRemove})},getRootNode:function(){return this.root},setRootNode:function(n){var t=this;return t.root=n,n.rootOf?n.rootOf.removeRootNode():n.parentNode&&n.parentNode.removeChild(n),n.rootOf=t,n.fireEventArgs("beforeappend",[null,n])!==!1&&(n.set("root",!0),n.updateInfo(!0,{isFirst:!0,isLast:!0,depth:0,index:0,parentId:null}),t.nodeHash={},n.fireEvent("append",null,n),n.fireEvent("rootchange",n)),n},removeRootNode:function(){var t=this,n=t.root;return n.set("root",!1),n.fireEvent("remove",null,n,!1),n.fireEvent("rootchange",null),n.rootOf=t.root=null,n},flatten:function(){return Ext.Object.getValues(this.nodeHash)},onNodeInsert:function(n,t){this.registerNode(t,!0)},onNodeAppend:function(n,t){this.registerNode(t,!0)},onNodeRemove:function(n,t){this.unregisterNode(t,!0)},onNodeIdChanged:function(n,t,i,r){var u=this.nodeHash;u[n.internalId]=n;delete u[r]},getNodeById:function(n){return this.nodeHash[n]},registerNode:function(n,t){var u=this,r,f,i;if(u.nodeHash[n.internalId]=n,t===!0)for(r=n.childNodes,f=r.length,i=0;i<f;i++)u.registerNode(r[i],!0)},unregisterNode:function(n,t){var u=this,r,f,i;if(delete u.nodeHash[n.internalId],t===!0)for(r=n.childNodes,f=r.length,i=0;i<f;i++)u.unregisterNode(r[i],!0)},sort:function(n,t){this.getRootNode().sort(n,t)},filter:function(n,t){this.getRootNode().filter(n,t)}},1,0,0,0,["data.tree"],[["observable",Ext.util.Observable]],[Ext.data,"Tree"],0);Ext.cmd.derive("Ext.data.TreeModel",Ext.data.Model,{},0,0,0,0,0,0,[Ext.data,"TreeModel"],function(){Ext.data.NodeInterface.decorate(this)});Ext.cmd.derive("Ext.data.TreeStore",Ext.data.AbstractStore,{clearOnLoad:!0,clearRemovedOnLoad:!0,nodeParam:"node",defaultRootId:"root",defaultRootText:"Root",defaultRootProperty:"children",rootProperty:"children",fillCount:0,folderSort:!1,constructor:function(n){var t=this,i,u,r;n=Ext.apply({},n);u=n.fields||t.fields;u||(n.fields=[{name:"text",type:"string"}],r=n.defaultRootProperty||t.defaultRootProperty,r!==t.defaultRootProperty&&n.fields.push({name:r,type:"auto",defaultValue:null,persist:!1}));t.callParent([n]);t.tree=new Ext.data.Tree;t.tree.treeStore=t;t.tree.on({scope:t,remove:t.onNodeRemove,beforeexpand:t.onBeforeNodeExpand,append:t.onNodeAdded,insert:t.onNodeAdded,sort:t.onNodeSort});t.onBeforeSort();i=t.root;i&&(delete t.root,t.setRootNode(i));Ext.isDefined(t.nodeParameter)&&(Ext.isDefined(Ext.global.console)&&Ext.global.console.warn("Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead."),t.nodeParam=t.nodeParameter,delete t.nodeParameter)},setProxy:function(n){var t,i;return n instanceof Ext.data.proxy.Proxy?i=Ext.isEmpty(n.getReader().root):Ext.isString(n)?i=!0:(t=n.reader,i=!(t&&!Ext.isEmpty(t.root))),n=this.callParent(arguments),n.idParam=this.nodeParam,i&&(t=n.getReader(),t.root=this.defaultRootProperty,t.buildExtractors(!0)),n},onBeforeSort:function(){this.folderSort&&this.sort({property:"leaf",direction:"ASC"},"prepend",!1)},onBeforeNodeExpand:function(n,t,i,r){var f=this,e,o,s,u;if(n.isLoaded())u=[n.childNodes],r&&u.push.apply(u,r),Ext.callback(t,i||n,u);else if(o=s=(n.raw||n[n.persistenceProperty])[(e=f.getProxy().getReader()).root])f.fillNode(n,e.extractData(o)),delete s[e.root],u=[n.childNodes],r&&u.push.apply(u,r),Ext.callback(t,i||n,u);else if(n.isLoading())f.on("load",function(){u=[n.childNodes];r&&u.push.apply(u,r);Ext.callback(t,i||n,u)},f,{single:!0});else f.read({node:n,callback:function(){delete f.lastOptions.callback;u=[n.childNodes];r&&u.push.apply(u,r);Ext.callback(t,i||n,u)}})},getNewRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterNew)},getUpdatedRecords:function(){return Ext.Array.filter(this.tree.flatten(),this.filterUpdated)},onNodeRemove:function(n,t,i){var r=this;t.unjoin(r);t.phantom||i||Ext.Array.include(r.removed,t);!r.autoSync||r.autoSyncSuspended||i||r.sync()},onNodeAdded:function(n,t){var i=this,e=i.getProxy(),r=e.getReader(),f=t.raw||t[t.persistenceProperty],u;Ext.Array.remove(i.removed,t);t.join(i);t.isLeaf()||i.lazyFill||(u=r.getRoot(f),u&&(i.fillNode(t,r.extractData(u)),delete f[r.root]));i.autoSync&&!i.autoSyncSuspended&&(t.phantom||t.dirty)&&i.sync()},onNodeSort:function(){this.autoSync&&!this.autoSyncSuspended&&this.sync()},setRootNode:function(n,t){var i=this,r=i.model,u=r.prototype.idProperty;return n=n||{},n.isModel?n.isModel&&!n.isNode&&Ext.data.NodeInterface.decorate(r):(n=Ext.apply({},n),Ext.applyIf(n,{id:i.defaultRootId,text:i.defaultRootText,allowDrag:!1}),n[u]===undefined&&(n[u]=i.defaultRootId),Ext.data.NodeInterface.decorate(r),n=Ext.ModelManager.create(n,r)),i.getProxy().getReader().buildExtractors(!0),i.tree.setRootNode(n),t!==!0&&!n.isLoaded()&&(i.autoLoad===!0||n.isExpanded())&&(n.data.expanded=!1,n.expand()),n},getRootNode:function(){return this.tree.getRootNode()},getNodeById:function(n){return this.tree.getNodeById(n)},getById:function(n){return this.getNodeById(n)},load:function(n){n=n||{};n.params=n.params||{};var t=this,i=n.node||t.tree.getRootNode();if(i||(i=t.setRootNode({expanded:!0},!0)),n.id=i.getId(),t.clearOnLoad){t.clearRemovedOnLoad&&t.clearRemoved(i);t.tree.un("remove",t.onNodeRemove,t);i.removeAll(!1);t.tree.on("remove",t.onNodeRemove,t)}return Ext.applyIf(n,{node:i}),t.callParent([n]),t.loading&&i&&i.set("loading",!0),t},clearRemoved:function(n){var u=this,f=u.removed,l=n.getId(),e=f.length,i=e,s={},h=[],c={},t,r,o;if(n===u.getRootNode()){u.removed=[];return}for(;i--;)t=f[i],c[t.getId()]=t;for(i=e;i--;){for(t=f[i],r=t;r&&r.getId()!==l;)o=r.get("parentId"),r=r.parentNode||u.getNodeById(o)||c[o];r&&(s[t.getId()]=t)}for(i=0;i<e;i++)t=f[i],s[t.getId()]||h.push(t);u.removed=h},fillNode:function(n,t){for(var i=this,c=t?t.length:0,e=i.sorters,u,f=!1,l=c&&i.sortOnLoad&&!i.remoteSort&&e&&e.items&&e.items.length,o,s,h,r=1;r<c;r++)if(o=t[r],s=t[r-1],f=o[o.persistenceProperty].index!=s[s.persistenceProperty].index,f)break;return l?(f&&i.sorters.insert(0,i.indexSorter),u=new Ext.util.MixedCollection,u.addAll(t),u.sort(i.sorters.items),t=u.items,i.sorters.remove(i.indexSorter)):f&&Ext.Array.sort(t,i.sortByIndex),n.set("loaded",!0),h=i.fillCount===0,h&&i.fireEvent("beforefill",i,n,t),++i.fillCount,t.length&&n.appendChild(t,undefined,!0),h&&i.fireEvent("fillcomplete",i,n,t),--i.fillCount,t},sortByIndex:function(n,t){return n[n.persistenceProperty].index-t[t.persistenceProperty].index},onIdChanged:function(n,t,i,r){this.tree.onNodeIdChanged(n,t,i,r);this.callParent(arguments)},onProxyLoad:function(n){var t=this,r=n.wasSuccessful(),i=n.getRecords(),u=n.node;t.loading=!1;u.set("loading",!1);r&&(t.clearOnLoad||(i=t.cleanRecords(u,i)),i=t.fillNode(u,i));t.fireEvent("read",t,n.node,i,r);t.fireEvent("load",t,n.node,i,r);Ext.callback(n.callback,n.scope||t,[i,n,r])},cleanRecords:function(n,t){for(var f={},e=n.childNodes,i=0,r=e.length,o=[],u;i<r;++i)f[e[i].getId()]=!0;for(i=0,r=t.length;i<r;++i)u=t[i],f[u.getId()]||o.push(u);return o},removeAll:function(){var n=this.getRootNode();n&&n.destroy(!0);this.fireEvent("clear",this)},doSort:function(n){var t=this;t.remoteSort?t.load():(t.tree.sort(n,!0),t.fireEvent("datachanged",t),t.fireEvent("refresh",t));t.fireEvent("sort",t,t.sorters.getRange())}},1,0,0,0,["store.tree"],0,[Ext.data,"TreeStore"],function(){var n=this.prototype;n.indexSorter=new Ext.util.Sorter({sorterFn:n.sortByIndex})});Ext.cmd.derive("Ext.data.UuidGenerator",Ext.data.IdGenerator,function(){function n(n,t){var i=n.toString(16);return i.length>t?i=i.substring(i.length-t):i.length<t&&(i=Ext.String.leftPad(i,t,"0")),i}function i(n,t){var i=Math.random()*(t-n+1);return Math.floor(i)+n}function r(n){if(typeof n=="number"){var i=Math.floor(n/t);return{lo:Math.floor(n-i*t),hi:i}}return n}var u=Math.pow(2,14),f=Math.pow(2,16),e=Math.pow(2,28),t=Math.pow(2,32);return{id:"uuid",version:4,constructor:function(){var n=this;n.callParent(arguments);n.parts=[];n.init()},generate:function(){var i=this,u=i.parts,r=i.timestamp;return u[0]=n(r.lo,8),u[1]=n(r.hi&65535,4),u[2]=n(r.hi>>>16&4095|i.version<<12,4),u[3]=n(128|i.clockSeq>>>8&63,2)+n(i.clockSeq&255,2),u[4]=n(i.salt.hi,4)+n(i.salt.lo,8),i.version==4?i.init():(++r.lo,r.lo>=t&&(r.lo=0,++r.hi)),u.join("-").toLowerCase()},getRecId:function(n){return n.getId()},init:function(){var n=this,o,s;n.version==4?(n.clockSeq=i(0,u-1),o=n.salt||(n.salt={}),s=n.timestamp||(n.timestamp={}),o.lo=i(0,t-1),o.hi=i(0,f-1),s.lo=i(0,t-1),s.hi=i(0,e-1)):(n.salt=r(n.salt),n.timestamp=r(n.timestamp),n.salt.hi|=256)},reconfigure:function(n){Ext.apply(this,n);this.init()}}}(),1,0,0,0,["idgen.uuid"],0,[Ext.data,"UuidGenerator"],0);Ext.cmd.derive("Ext.data.reader.Xml",Ext.data.reader.Reader,{alternateClassName:"Ext.data.XmlReader",createAccessor:function(n){var t=this;return Ext.isEmpty(n)?Ext.emptyFn:Ext.isFunction(n)?n:function(i){return t.getNodeValue(Ext.DomQuery.selectNode(n,i))}},getNodeValue:function(n){return n&&(typeof n.normalize=="function"&&n.normalize(),n=n.firstChild,n)?n.nodeValue:undefined},getResponseData:function(n){var r=n.responseXML,t,i;return r?this.readRecords(r):(i="XML data not found in the response",t=new Ext.data.ResultSet({total:0,count:0,records:[],success:!1,message:i}),this.fireEvent("exception",this,n,t),Ext.Logger.warn(i),t)},getData:function(n){return n.documentElement||n},getRoot:function(n){var i=n.nodeName,t=this.root;return!t||i&&i==t?n:Ext.DomQuery.isXml(n)?Ext.DomQuery.selectNode(t,n):void 0},extractData:function(n){var t=this.record;return n=t!=n.nodeName?Ext.DomQuery.select(t,n):[n],this.callParent([n])},getAssociatedDataRoot:function(n,t){return Ext.DomQuery.select(t,n)[0]},readRecords:function(n){return Ext.isArray(n)&&(n=n[0]),this.xmlData=n,this.callParent([n])},createFieldAccessExpression:function(n,t,i){var u=this.namespace,r;return r=n.mapping||(u?u+"|":"")+n.name,typeof r=="function"?t+".mapping("+i+", this)":'me.getNodeValue(Ext.DomQuery.selectNode("'+r+'", '+i+"))"}},0,0,0,0,["reader.xml"],0,[Ext.data.reader,"Xml",Ext.data,"XmlReader"],0);Ext.cmd.derive("Ext.data.writer.Xml",Ext.data.writer.Writer,{alternateClassName:"Ext.data.XmlWriter",documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record",writeRecords:function(n,t){var f=this,i=[],o=0,h=t.length,r=f.documentRoot,s=f.record,c=t.length!==1,e,u;for(i.push(f.header||""),!r&&c&&(r=f.defaultDocumentRoot),r&&i.push("<",r,">");o<h;++o){e=t[o];i.push("<",s,">");for(u in e)e.hasOwnProperty(u)&&i.push("<",u,">",e[u],"<\/",u,">");i.push("<\/",s,">")}return r&&i.push("<\/",r,">"),n.xmlData=i.join(""),n}},0,0,0,0,["writer.xml"],0,[Ext.data.writer,"Xml",Ext.data,"XmlWriter"],0);Ext.cmd.derive("Ext.data.XmlStore",Ext.data.Store,{constructor:function(n){n=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},n);this.callParent([n])}},1,0,0,0,["store.xml"],0,[Ext.data,"XmlStore"],0);Ext.cmd.derive("Ext.data.association.BelongsTo",Ext.data.association.Association,{alternateClassName:"Ext.data.BelongsToAssociation",constructor:function(){this.callParent(arguments);var n=this,i=n.ownerModel.prototype,t=n.associatedName,r=n.getterName||"get"+t,u=n.setterName||"set"+t;Ext.applyIf(n,{name:t,foreignKey:t.toLowerCase()+"_id",instanceName:t+"BelongsToInstance",associationKey:t.toLowerCase()});i[r]=n.createGetter();i[u]=n.createSetter()},createSetter:function(){var t=this,i=t.foreignKey,n=t.instanceName;return function(t,r,u){var f=t&&t.isModel,e=f?t.getId():t;return f?this[n]=t:this[n]instanceof Ext.data.Model&&!this.isEqual(this.get(i),e)&&delete this[n],this.set(i,e),Ext.isFunction(r)&&(r={callback:r,scope:u||this}),Ext.isObject(r)?this.save(r):void 0}},createGetter:function(){var n=this,i=n.associatedName,r=n.associatedModel,u=n.foreignKey,f=n.primaryKey,t=n.instanceName;return function(n,e){n=n||{};var o=this,l=o.get(u),c,s,h;return n.reload===!0||o[t]===undefined?(s=Ext.ModelManager.create({},i),s.set(f,l),typeof n=="function"&&(n={callback:n,scope:e||o}),c=n.success,n.success=function(n){o[t]=n;c&&c.apply(this,arguments)},r.load(l,n),o[t]=s,s):(s=o[t],h=[s],e=e||n.scope||o,Ext.callback(n,e,h),Ext.callback(n.success,e,h),Ext.callback(n.failure,e,h),Ext.callback(n.callback,e,h),s)}},read:function(n,t,i){n[this.instanceName]=t.read([i]).records[0]}},1,0,0,0,["association.belongsto"],0,[Ext.data.association,"BelongsTo",Ext.data,"BelongsToAssociation"],0);Ext.cmd.derive("Ext.util.Inflector",Ext.Base,{singleton:!0,plurals:[[/(quiz)$/i,"$1zes"],[/^(ox)$/i,"$1en"],[/([m|l])ouse$/i,"$1ice"],[/(matr|vert|ind)ix|ex$/i,"$1ices"],[/(x|ch|ss|sh)$/i,"$1es"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/(hive)$/i,"$1s"],[/(?:([^f])fe|([lr])f)$/i,"$1$2ves"],[/sis$/i,"ses"],[/([ti])um$/i,"$1a"],[/(buffal|tomat|potat)o$/i,"$1oes"],[/(bu)s$/i,"$1ses"],[/(alias|status|sex)$/i,"$1es"],[/(octop|vir)us$/i,"$1i"],[/(ax|test)is$/i,"$1es"],[/^person$/,"people"],[/^man$/,"men"],[/^(child)$/,"$1ren"],[/s$/i,"s"],[/$/,"s"]],singulars:[[/(quiz)zes$/i,"$1"],[/(matr)ices$/i,"$1ix"],[/(vert|ind)ices$/i,"$1ex"],[/^(ox)en/i,"$1"],[/(alias|status)es$/i,"$1"],[/(octop|vir)i$/i,"$1us"],[/(cris|ax|test)es$/i,"$1is"],[/(shoe)s$/i,"$1"],[/(o)es$/i,"$1"],[/(bus)es$/i,"$1"],[/([m|l])ice$/i,"$1ouse"],[/(x|ch|ss|sh)es$/i,"$1"],[/(m)ovies$/i,"$1ovie"],[/(s)eries$/i,"$1eries"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/([lr])ves$/i,"$1f"],[/(tive)s$/i,"$1"],[/(hive)s$/i,"$1"],[/([^f])ves$/i,"$1fe"],[/(^analy)ses$/i,"$1sis"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i,"$1$2sis"],[/([ti])a$/i,"$1um"],[/(n)ews$/i,"$1ews"],[/people$/i,"person"],[/s$/i,""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(n,t){this.singulars.unshift([n,t])},plural:function(n,t){this.plurals.unshift([n,t])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(n){return Ext.Array.indexOf(this.uncountable,n)!=-1},pluralize:function(n){if(this.isTransnumeral(n))return n;for(var u=this.plurals,f=u.length,r,t,i=0;i<f;i++)if(r=u[i],t=r[0],t==n||t.test&&t.test(n))return n.replace(t,r[1]);return n},singularize:function(n){if(this.isTransnumeral(n))return n;for(var u=this.singulars,f=u.length,r,t,i=0;i<f;i++)if(r=u[i],t=r[0],t==n||t.test&&t.test(n))return n.replace(t,r[1]);return n},classify:function(n){return Ext.String.capitalize(this.singularize(n))},ordinalize:function(n){var t=parseInt(n,10),r=t%10,i=t%100;if(11<=i&&i<=13)return n+"th";switch(r){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd";default:return n+"th"}}},0,0,0,0,0,0,[Ext.util,"Inflector"],function(){var t={alumnus:"alumni",cactus:"cacti",focus:"foci",nucleus:"nuclei",radius:"radii",stimulus:"stimuli",ellipsis:"ellipses",paralysis:"paralyses",oasis:"oases",appendix:"appendices",index:"indexes",beau:"beaux",bureau:"bureaux",tableau:"tableaux",woman:"women",child:"children",man:"men",corpus:"corpora",criterion:"criteria",curriculum:"curricula",genus:"genera",memorandum:"memoranda",phenomenon:"phenomena",foot:"feet",goose:"geese",tooth:"teeth",antenna:"antennae",formula:"formulae",nebula:"nebulae",vertebra:"vertebrae",vita:"vitae"};for(var n in t)this.plural(n,t[n]),this.singular(t[n],n)});Ext.cmd.derive("Ext.data.association.HasMany",Ext.data.association.Association,{alternateClassName:"Ext.data.HasManyAssociation",constructor:function(){var n=this,i,t;n.callParent(arguments);n.name=n.name||Ext.util.Inflector.pluralize(n.associatedName.toLowerCase());i=n.ownerModel.prototype;t=n.name;Ext.applyIf(n,{storeName:t+"Store",foreignKey:n.ownerName.toLowerCase()+"_id"});i[t]=n.createStore()},createStore:function(){var n=this,f=n.associatedModel,t=n.storeName,r=n.foreignKey,u=n.primaryKey,i=n.filterProperty,e=n.autoLoad,o=n.storeConfig||{};return function(){var n=this,s,h,c={};return n[t]===undefined&&(h=i?{property:i,value:n.get(i),exactMatch:!0}:{property:r,value:n.get(u),exactMatch:!0},c[r]=n.get(u),s=Ext.apply({},o,{model:f,filters:[h],remoteFilter:!1,modelDefaults:c,disableMetaChangeEvent:!0}),n[t]=Ext.data.AbstractStore.create(s),e&&n[t].load()),n[t]}},read:function(n,t,i){var e=n[this.name](),u,f,o,r;if(e.add(t.read(i).records),u=this.associatedModel.prototype.associations.findBy(function(t){return t.type==="belongsTo"&&t.associatedName===n.$className}),u)for(f=e.data.items,o=f.length,r=0;r<o;r++)f[r][u.instanceName]=n}},1,0,0,0,["association.hasmany"],0,[Ext.data.association,"HasMany",Ext.data,"HasManyAssociation"],0);Ext.cmd.derive("Ext.data.association.HasOne",Ext.data.association.Association,{alternateClassName:"Ext.data.HasOneAssociation",constructor:function(){this.callParent(arguments);var n=this,i=n.ownerModel.prototype,t=n.associatedName,r=n.getterName||"get"+t,u=n.setterName||"set"+t;Ext.applyIf(n,{name:t,foreignKey:t.toLowerCase()+"_id",instanceName:t+"HasOneInstance",associationKey:t.toLowerCase()});i[r]=n.createGetter();i[u]=n.createSetter()},createSetter:function(){var t=this,i=t.foreignKey,n=t.instanceName;return function(t,r,u){var f=t&&t.isModel,e=f?t.getId():t;return f?this[n]=t:this[n]instanceof Ext.data.Model&&!this.isEqual(this.get(i),e)&&delete this[n],this.set(i,e),Ext.isFunction(r)&&(r={callback:r,scope:u||this}),Ext.isObject(r)?this.save(r):void 0}},createGetter:function(){var n=this,e=n.ownerModel,i=n.associatedName,r=n.associatedModel,u=n.foreignKey,f=n.primaryKey,t=n.instanceName;return function(n,e){n=n||{};var o=this,l=o.get(u),c,s,h;return n.reload===!0||o[t]===undefined?(s=Ext.ModelManager.create({},i),s.set(f,l),typeof n=="function"&&(n={callback:n,scope:e||o}),c=n.success,n.success=function(n){o[t]=n;c&&c.apply(this,arguments)},r.load(l,n),o[t]=s,s):(s=o[t],h=[s],e=e||n.scope||o,Ext.callback(n,e,h),Ext.callback(n.success,e,h),Ext.callback(n.failure,e,h),Ext.callback(n.callback,e,h),s)}},read:function(n,t,i){var r=this.associatedModel.prototype.associations.findBy(function(t){return t.type==="belongsTo"&&t.associatedName===n.$className}),u=t.read([i]).records[0];n[this.instanceName]=u;r&&(u[r.instanceName]=n)}},1,0,0,0,["association.hasone"],0,[Ext.data.association,"HasOne",Ext.data,"HasOneAssociation"],0);Ext.cmd.derive("Ext.data.proxy.WebStorage",Ext.data.proxy.Client,{alternateClassName:"Ext.data.WebStorageProxy",id:undefined,constructor:function(){this.callParent(arguments);this.cache={};this.id=this.id||(this.store?this.store.storeId:undefined);this.initialize()},create:function(n,t,i){var r=this,o=n.records,h=o.length,s=r.getIds(),f,u,e;for(n.setStarted(),r.isHierarchical===undefined&&(r.isHierarchical=!!o[0].isNode,r.isHierarchical&&r.getStorageObject().setItem(r.getTreeKey(),!0)),e=0;e<h;e++)u=o[e],u.phantom?(u.phantom=!1,f=r.getNextId()):f=u.getId(),r.setRecord(u,f),u.commit(),s.push(f);r.setIds(s);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||r,n)},read:function(n,t,i){var r=this,e=[],o=0,c=!0,l=r.model,s,a,h,u,f;if(n.setStarted(),r.isHierarchical)e=r.getTreeData();else if(s=r.getIds(),a=s.length,f=n.id,f)u=r.getRecord(f),u!==null&&(h=new l(u,f,u)),h?e.push(h):c=!1;else for(;o<a;o++)f=s[o],u=r.getRecord(f),e.push(new l(u,f,u));c&&n.setSuccessful();n.setCompleted();n.resultSet=Ext.create("Ext.data.ResultSet",{records:e,total:e.length,loaded:!0});typeof t=="function"&&t.call(i||r,n)},update:function(n,t,i){var o=n.records,s=o.length,e=this.getIds(),r,u,f;for(n.setStarted(),f=0;f<s;f++)r=o[f],this.setRecord(r),r.commit(),u=r.getId(),u!==undefined&&Ext.Array.indexOf(e,u)==-1&&e.push(u);this.setIds(e);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||this,n)},destroy:function(n,t,i){var u=this,e=n.records,o=u.getIds(),c=o.length,s=[],h={},r=e.length,f;for(n.setStarted();r--;)Ext.apply(h,u.removeRecord(e[r]));for(r=0;r<c;r++)f=o[r],h[f]||s.push(f);u.setIds(s);n.setCompleted();n.setSuccessful();typeof t=="function"&&t.call(i||u,n)},getRecord:function(n){var t=this,r=t.cache,i=r[n]?r[n]:Ext.decode(t.getStorageObject().getItem(t.getRecordKey(n)));return i?(r[n]=i,i[t.model.prototype.idProperty]=n,i):null},setRecord:function(n,t){t?n.setId(t):t=n.getId();for(var i=this,c=n.data,r={},l=i.model,h=l.prototype.fields.items,a=h.length,u=0,f,e,o,s;u<a;u++)f=h[u],e=f.name,f.persist&&(r[e]=c[e]);delete r[i.model.prototype.idProperty];n.isNode&&n.get("depth")===1&&delete r.parentId;o=i.getStorageObject();s=i.getRecordKey(t);i.cache[t]=r;o.removeItem(s);o.setItem(s,Ext.encode(r))},removeRecord:function(n){var t=this,i=n.getId(),r={},u,f;if(r[i]=n,t.getStorageObject().removeItem(t.getRecordKey(i)),delete t.cache[i],n.childNodes)for(f=n.childNodes,u=f.length;u--;)Ext.apply(r,t.removeRecord(f[u]));return r},getRecordKey:function(n){return n.isModel&&(n=n.getId()),Ext.String.format("{0}-{1}",this.id,n)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.id)},getTreeKey:function(){return Ext.String.format("{0}-tree",this.id)},getIds:function(){var i=this,n=(i.getStorageObject().getItem(i.id)||"").split(","),r=i.model,u=n.length,f=r.prototype.fields.get(r.prototype.idProperty).type.type==="string",t;if(u==1&&n[0]==="")n=[];else for(t=0;t<u;t++)n[t]=f?n[t]:+n[t];return n},setIds:function(n){var t=this.getStorageObject(),i=n.join(",");t.removeItem(this.id);Ext.isEmpty(i)||t.setItem(this.id,i)},getNextId:function(){var t=this,r=t.getStorageObject(),u=t.getRecordCounterKey(),i=t.model,f=i.prototype.fields.get(i.prototype.idProperty).type.type==="string",n;return n=t.idGenerator.generate(),r.setItem(u,n),f||(n=+n),n},getTreeData:function(){for(var r=this,c=r.getIds(),e=c.length,u=[],l={},i=[],t=0,a=r.model,v=a.prototype.idProperty,o,n,f,s,y,h;t<e;t++)h=c[t],n=r.getRecord(h),u.push(n),l[h]=n,n.parentId||i.push(n);for(o=i.length,Ext.Array.sort(u,r.sortByParentId),t=o;t<e;t++)n=u[t],s=n.parentId,f&&f[v]===s||(f=l[s],f.children=y=[]),y.push(n);for(t=e;t--;)n=u[t],n.children||n.leaf||(n.loaded=!0);for(t=o;t--;)n=i[t],i[t]=new a(n,n[v],n);return i},sortByParentId:function(n,t){return(n.parentId||0)-(t.parentId||0)},initialize:function(){var n=this,t=n.getStorageObject(),i=+t.getItem(n.getRecordCounterKey());t.setItem(n.id,t.getItem(n.id)||"");t.getItem(n.getTreeKey())&&(n.isHierarchical=!0);n.idGenerator=new Ext.data.SequentialIdGenerator({seed:i?i+1:1})},clear:function(){for(var n=this,t=n.getStorageObject(),r=n.getIds(),u=r.length,i=0;i<u;i++)t.removeItem(n.getRecordKey(r[i]));t.removeItem(n.getRecordCounterKey());t.removeItem(n.getTreeKey());t.removeItem(n.id);n.cache={}},getStorageObject:function(){}},1,0,0,0,0,0,[Ext.data.proxy,"WebStorage",Ext.data,"WebStorageProxy"],0);Ext.cmd.derive("Ext.data.proxy.LocalStorage",Ext.data.proxy.WebStorage,{alternateClassName:"Ext.data.LocalStorageProxy",getStorageObject:function(){return window.localStorage}},0,0,0,0,["proxy.localstorage"],0,[Ext.data.proxy,"LocalStorage",Ext.data,"LocalStorageProxy"],0);Ext.cmd.derive("Ext.data.proxy.Rest",Ext.data.proxy.Ajax,{alternateClassName:"Ext.data.RestProxy",actionMethods:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},appendId:!0,batchActions:!1,buildUrl:function(n){var i=this,r=n.operation,o=r.records||[],u=o[0],f=i.format,t=i.getUrl(n),e=u?u.getId():r.id;return i.appendId&&i.isValidId(e)&&(t.match(/\/$/)||(t+="/"),t+=e),f&&(t.match(/\.$/)||(t+="."),t+=f),n.url=t,i.callParent(arguments)},isValidId:function(n){return n||n===0}},0,0,0,0,["proxy.rest"],0,[Ext.data.proxy,"Rest",Ext.data,"RestProxy"],0);Ext.cmd.derive("Ext.data.proxy.SessionStorage",Ext.data.proxy.WebStorage,{alternateClassName:"Ext.data.SessionStorageProxy",getStorageObject:function(){return window.sessionStorage}},0,0,0,0,["proxy.sessionstorage"],0,[Ext.data.proxy,"SessionStorage",Ext.data,"SessionStorageProxy"],0);Ext.cmd.derive("Ext.dd.DDTarget",Ext.dd.DragDrop,{constructor:function(n,t,i){n&&this.initTarget(n,t,i)},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return"DDTarget "+this.id}},3,0,0,0,0,0,[Ext.dd,"DDTarget"],0);Ext.cmd.derive("Ext.dd.DragTracker",Ext.Base,{active:!1,trackOver:!1,tolerance:5,autoStart:!1,constructor:function(n){var t=this;Ext.apply(t,n);t.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");t.dragRegion=new Ext.util.Region(0,0,0,0);t.el&&t.initEl(t.el);t.mixins.observable.constructor.call(t);t.disabled&&t.disable()},initEl:function(n){var t=this;t.el=Ext.get(n);t.handle=Ext.get(t.delegate);t.delegate=t.handle?undefined:t.delegate;t.handle||(t.handle=t.el);t.handleListeners={scope:t,delegate:t.delegate,mousedown:t.onMouseDown};(t.trackOver||t.overCls)&&Ext.apply(t.handleListeners,{mouseover:t.onMouseOver,mouseout:t.onMouseOut});t.mon(t.handle,t.handleListeners)},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1},destroy:function(){var n=this;n.active&&n.endDrag({});n.clearListeners();n.mun(n.handle,n.handleListeners);n.el=n.handle=null},onMouseOver:function(n,t){var i=this;i.disabled||(Ext.EventManager.contains(n)||i.delegate)&&(i.mouseIsOut=!1,i.overCls&&i.el.addCls(i.overCls),i.fireEvent("mouseover",i,n,i.delegate?n.getTarget(i.delegate,t):i.handle))},onMouseOut:function(n){var t=this;t.mouseIsDown?t.mouseIsOut=!0:(t.overCls&&t.el.removeCls(t.overCls),t.fireEvent("mouseout",t,n))},onMouseDown:function(n,t){var i=this,r;if(!i.disabled&&!n.dragTracked&&(i.dragTarget=i.delegate?t:i.handle.dom,i.startXY=i.lastXY=n.getXY(),i.startRegion=Ext.fly(i.dragTarget).getRegion(),i.fireEvent("mousedown",i,n)!==!1&&i.fireEvent("beforedragstart",i,n)!==!1&&i.onBeforeStart(n)!==!1)){i.mouseIsDown=!0;n.dragTracked=!0;r=i.el.dom;Ext.isIE&&r.setCapture&&r.setCapture();i.preventDefault!==!1&&n.preventDefault();Ext.getDoc().on({scope:i,mouseup:i.onMouseUp,mousemove:i.onMouseMove,selectstart:i.stopSelect});i.autoStart&&(i.timer=Ext.defer(i.triggerStart,i.autoStart===!0?1e3:i.autoStart,i,[n]))}},onMouseMove:function(n){var t=this,i=n.getXY(),r=t.startXY;if(n.preventDefault(),t.lastXY=i,!t.active)if(Math.max(Math.abs(r[0]-i[0]),Math.abs(r[1]-i[1]))>t.tolerance)t.triggerStart(n);else return;if(t.fireEvent("mousemove",t,n)===!1)t.onMouseUp(n);else{t.onDrag(n);t.fireEvent("drag",t,n)}},onMouseUp:function(n){var t=this;if(t.mouseIsDown=!1,t.mouseIsOut){t.mouseIsOut=!1;t.onMouseOut(n)}n.preventDefault();Ext.isIE&&document.releaseCapture&&document.releaseCapture();t.fireEvent("mouseup",t,n);t.endDrag(n)},endDrag:function(n){var t=this,i=t.active;if(Ext.getDoc().un({mousemove:t.onMouseMove,mouseup:t.onMouseUp,selectstart:t.stopSelect,scope:t}),t.clearStart(),t.active=!1,i){t.onEnd(n);t.fireEvent("dragend",t,n)}t._constrainRegion=Ext.EventObject.dragTracked=null},triggerStart:function(n){var t=this;t.clearStart();t.active=!0;t.onStart(n);t.fireEvent("dragstart",t,n)},clearStart:function(){var n=this.timer;n&&(clearTimeout(n),this.timer=null)},stopSelect:function(n){return n.stopEvent(),!1},onBeforeStart:function(){},onStart:function(){},onDrag:function(){},onEnd:function(){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){var n=this;if(n.constrainTo){if(n.constrainTo instanceof Ext.util.Region)return n.constrainTo;n._constrainRegion||(n._constrainRegion=Ext.fly(n.constrainTo).getViewRegion())}else n._constrainRegion||(n._constrainRegion=n.getDragCt().getViewRegion());return n._constrainRegion},getXY:function(n){return n?this.constrainModes[n](this,this.lastXY):this.lastXY},getOffset:function(n){var t=this.getXY(n),i=this.startXY;return[t[0]-i[0],t[1]-i[1]]},constrainModes:{point:function(n,t){var i=n.dragRegion,r=n.getConstrainRegion();return r?(i.x=i.left=i[0]=i.right=t[0],i.y=i.top=i[1]=i.bottom=t[1],i.constrainTo(r),[i.left,i.top]):t},dragTarget:function(n,t){var f=n.startXY,i=n.startRegion.copy(),r=n.getConstrainRegion(),u;return r?(i.translateBy(t[0]-f[0],t[1]-f[1]),i.right>r.right&&(t[0]+=u=r.right-i.right,i.left+=u),i.left<r.left&&(t[0]+=r.left-i.left),i.bottom>r.bottom&&(t[1]+=u=r.bottom-i.bottom,i.top+=u),i.top<r.top&&(t[1]+=r.top-i.top),t):t}}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.dd,"DragTracker"],0);Ext.cmd.derive("Ext.dd.DragZone",Ext.dd.DragSource,{constructor:function(n,t){var i=this,r=i.containerScroll;i.callParent([n,t]);r&&(n=i.scrollEl||n,n=Ext.get(n),Ext.isObject(r)&&(n.ddScrollConfig=r),Ext.dd.ScrollManager.register(n))},getDragData:function(n){return Ext.dd.Registry.getHandleFromEvent(n)},onInitDrag:function(n,t){this.proxy.update(this.dragData.ddel.cloneNode(!0));this.onStartDrag(n,t);return!0},getRepairXY:function(){return Ext.fly(this.dragData.ddel).getXY()},destroy:function(){this.callParent();this.containerScroll&&Ext.dd.ScrollManager.unregister(this.scrollEl||this.el)}},1,0,0,0,0,0,[Ext.dd,"DragZone"],0);Ext.cmd.derive("Ext.dd.ScrollManager",Ext.Base,{singleton:!0,constructor:function(){var n=Ext.dd.DragDropManager;n.fireEvents=Ext.Function.createSequence(n.fireEvents,this.onFire,this);n.stopDrag=Ext.Function.createSequence(n.stopDrag,this.onStop,this);this.doScroll=Ext.Function.bind(this.doScroll,this);this.ddmInstance=n;this.els={};this.dragEl=null;this.proc={}},onStop:function(){var n=Ext.dd.ScrollManager;n.dragEl=null;n.clearProc()},triggerRefresh:function(){this.ddmInstance.dragCurrent&&this.ddmInstance.refreshCache(this.ddmInstance.dragCurrent.groups)},doScroll:function(){if(this.ddmInstance.dragCurrent){var n=this.proc,t=n.el,i=n.el.ddScrollConfig,r=i?i.increment:this.increment;this.animate?t.scroll(n.dir,r,!0,this.animDuration,this.triggerRefresh):t.scroll(n.dir,r)&&this.triggerRefresh()}},clearProc:function(){var n=this.proc;n.id&&clearInterval(n.id);n.id=0;n.el=null;n.dir=""},startProc:function(n,t){this.clearProc();this.proc.el=n;this.proc.dir=t;var i=n.ddScrollConfig?n.ddScrollConfig.ddGroup:undefined,r=n.ddScrollConfig&&n.ddScrollConfig.frequency?n.ddScrollConfig.frequency:this.frequency;(i===undefined||this.ddmInstance.dragCurrent.ddGroup==i)&&(this.proc.id=setInterval(this.doScroll,r))},onFire:function(n,t){if(!t&&this.ddmInstance.dragCurrent){this.dragEl&&this.dragEl==this.ddmInstance.dragCurrent||(this.dragEl=this.ddmInstance.dragCurrent,this.refreshCache());var h=n.getXY(),u=n.getPoint(),e=this.proc,o=this.els,s,i,r,f;for(s in o)if(i=o[s],r=i._region,f=i.ddScrollConfig?i.ddScrollConfig:this,r&&r.contains(u)&&i.isScrollable()){if(r.bottom-u.y<=f.vthresh){e.el!=i&&this.startProc(i,"down");return}if(r.right-u.x<=f.hthresh){e.el!=i&&this.startProc(i,"left");return}if(u.y-r.top<=f.vthresh){e.el!=i&&this.startProc(i,"up");return}if(u.x-r.left<=f.hthresh){e.el!=i&&this.startProc(i,"right");return}}this.clearProc()}},register:function(n){if(Ext.isArray(n))for(var t=0,i=n.length;t<i;t++)this.register(n[t]);else n=Ext.get(n),this.els[n.id]=n},unregister:function(n){if(Ext.isArray(n))for(var t=0,i=n.length;t<i;t++)this.unregister(n[t]);else n=Ext.get(n),delete this.els[n.id]},vthresh:25,hthresh:25,increment:100,frequency:500,animate:!0,animDuration:.4,ddGroup:undefined,refreshCache:function(){var n=this.els;for(var t in n)typeof n[t]=="object"&&(n[t]._region=n[t].getRegion())}},1,0,0,0,0,0,[Ext.dd,"ScrollManager"],0);Ext.cmd.derive("Ext.dd.DropTarget",Ext.dd.DDTarget,{constructor:function(n,t){this.el=Ext.get(n);Ext.apply(this,t);this.containerScroll&&Ext.dd.ScrollManager.register(this.el);this.callParent([this.el.dom,this.ddGroup||this.group,{isTarget:!0}])},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",isTarget:!0,isNotifyTarget:!0,notifyEnter:function(){return this.overClass&&this.el.addCls(this.overClass),this.dropAllowed},notifyOver:function(){return this.dropAllowed},notifyOut:function(){this.overClass&&this.el.removeCls(this.overClass)},notifyDrop:function(){return!1},destroy:function(){this.callParent();this.containerScroll&&Ext.dd.ScrollManager.unregister(this.el)}},1,0,0,0,0,0,[Ext.dd,"DropTarget"],0);Ext.cmd.derive("Ext.dd.Registry",Ext.Base,{singleton:!0,constructor:function(){this.elements={};this.handles={};this.autoIdSeed=0},getId:function(n,t){if(typeof n=="string")return n;var i=n.id;return i||t===!1||(i="extdd-"+ ++this.autoIdSeed,n.id=i),i},register:function(n,t){if(t=t||{},typeof n=="string"&&(n=document.getElementById(n)),t.ddel=n,this.elements[this.getId(n)]=t,t.isHandle!==!1&&(this.handles[t.ddel.id]=t),t.handles)for(var r=t.handles,i=0,u=r.length;i<u;i++)this.handles[this.getId(r[i])]=t},unregister:function(n){var u=this.getId(n,!1),i=this.elements[u],r,t,f;if(i&&(delete this.elements[u],i.handles))for(r=i.handles,t=0,f=r.length;t<f;t++)delete this.handles[this.getId(r[t],!1)]},getHandle:function(n){return typeof n!="string"&&(n=n.id),this.handles[n]},getHandleFromEvent:function(n){var t=n.getTarget();return t?this.handles[t.id]:null},getTarget:function(n){return typeof n!="string"&&(n=n.id),this.elements[n]},getTargetFromEvent:function(n){var t=n.getTarget();return t?this.elements[t.id]||this.handles[t.id]:null}},1,0,0,0,0,0,[Ext.dd,"Registry"],0);Ext.cmd.derive("Ext.dd.DropZone",Ext.dd.DropTarget,{getTargetFromEvent:function(n){return Ext.dd.Registry.getTargetFromEvent(n)},onNodeEnter:function(){},onNodeOver:function(){return this.dropAllowed},onNodeOut:function(){},onNodeDrop:function(){return!1},onContainerOver:function(){return this.dropNotAllowed},onContainerDrop:function(){return!1},notifyEnter:function(){return this.dropNotAllowed},notifyOver:function(n,t,i){var r=this.getTargetFromEvent(t);if(!r){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,n,t,i);this.lastOverNode=null}return this.onContainerOver(n,t,i)}if(this.lastOverNode!=r){if(this.lastOverNode)this.onNodeOut(this.lastOverNode,n,t,i);this.onNodeEnter(r,n,t,i);this.lastOverNode=r}return this.onNodeOver(r,n,t,i)},notifyOut:function(n,t,i){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,n,t,i);this.lastOverNode=null}},notifyDrop:function(n,t,i){var r=this,u=r.getTargetFromEvent(t),f=u?r.onNodeDrop(u,n,t,i):r.onContainerDrop(n,t,i);if(r.lastOverNode){r.onNodeOut(r.lastOverNode,n,t,i);r.lastOverNode=null}return f},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}},0,0,0,0,0,0,[Ext.dd,"DropZone"],0);Ext.cmd.derive("Ext.direct.Event",Ext.Base,{status:!0,constructor:function(n){Ext.apply(this,n)},getName:function(){return this.name},getData:function(){return this.data}},1,0,0,0,["direct.event"],0,[Ext.direct,"Event"],0);Ext.cmd.derive("Ext.direct.RemotingEvent",Ext.direct.Event,{getTransaction:function(){var n=this;return n.transaction||Ext.direct.Manager.getTransaction(n.tid)}},0,0,0,0,["direct.rpc"],0,[Ext.direct,"RemotingEvent"],0);Ext.cmd.derive("Ext.direct.ExceptionEvent",Ext.direct.RemotingEvent,{status:!1},0,0,0,0,["direct.exception"],0,[Ext.direct,"ExceptionEvent"],0);Ext.cmd.derive("Ext.direct.JsonProvider",Ext.direct.Provider,{parseResponse:function(n){return Ext.isEmpty(n.responseText)?null:Ext.isObject(n.responseText)?n.responseText:Ext.decode(n.responseText)},createEvents:function(n){var r=this,t=null,u=[],f,i,e;try{t=r.parseResponse(n)}catch(o){return f=new Ext.direct.ExceptionEvent({data:o,xhr:n,code:Ext.direct.Manager.exceptions.PARSE,message:"Error parsing json response: \n\n "+o}),[f]}if(Ext.isArray(t))for(i=0,e=t.length;i<e;++i)u.push(r.createEvent(t[i]));else Ext.isObject(t)&&u.push(r.createEvent(t));return u},createEvent:function(n){return typeof n!="object"||!("type"in n)?new Ext.direct.ExceptionEvent({data:n,code:Ext.direct.Manager.exceptions.DATA,message:"Invalid data: event type is not specified"}):Ext.create("direct."+n.type,n)}},0,0,0,0,["direct.jsonprovider"],0,[Ext.direct,"JsonProvider"],0);Ext.cmd.derive("Ext.direct.PollingProvider",Ext.direct.JsonProvider,{interval:3e3,constructor:function(){var n=this;n.callParent(arguments);n.addEvents("beforepoll","poll")},isConnected:function(){return!!this.pollTask},connect:function(){var n=this,t=n.url;t&&!n.pollTask&&(n.pollTask=Ext.TaskManager.start({run:n.runPoll,interval:n.interval,scope:n}),n.fireEvent("connect",n))},disconnect:function(){var n=this;n.pollTask&&(Ext.TaskManager.stop(n.pollTask),delete n.pollTask,n.fireEvent("disconnect",n))},runPoll:function(){var n=this,t=n.url;n.fireEvent("beforepoll",n)!==!1&&(Ext.isFunction(t)?t(n.baseParams):Ext.Ajax.request({url:t,callback:n.onData,scope:n,params:n.baseParams}),n.fireEvent("poll",n))},onData:function(n,t,i){var r=this,f,e,u;if(t)for(u=r.createEvents(i),f=0,e=u.length;f<e;++f)r.fireEvent("data",r,u[f]);else u=new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:i}),r.fireEvent("data",r,u)}},1,0,0,0,["direct.pollingprovider"],0,[Ext.direct,"PollingProvider"],0);Ext.cmd.derive("Ext.direct.RemotingMethod",Ext.Base,{constructor:function(n){var t=this,i=Ext.isDefined(n.params)?n.params:n.len,f,e,r,u;if(t.name=n.name,t.formHandler=n.formHandler,Ext.isNumeric(i))t.len=i,t.ordered=!0;else for(t.params={},e=i.length,r=0;r<e;r++)u=i[r],f=Ext.isObject(u)?u.name:u,t.params[f]=!0},getArgs:function(n,t,i){var f=this,r=[],u,e;if(f.ordered){if(f.len>0)if(t)for(u=0,e=t.length;u<e;u++)r.push(n[t[u]]);else i&&r.push(n)}else r.push(n);return r},getCallData:function(n){var u=this,t=null,i=u.len,s=u.params,f,e,r,o;if(u.ordered)f=n[i],e=n[i+1],o=n[i+2],i!==0&&(t=n.slice(0,i));else{t=Ext.apply({},n[0]);f=n[1];e=n[2];o=n[3];for(r in t)t.hasOwnProperty(r)&&!s[r]&&delete t[r]}return{data:t,callback:f,scope:e,options:o}}},1,0,0,0,0,0,[Ext.direct,"RemotingMethod"],0);Ext.cmd.derive("Ext.direct.Transaction",Ext.Base,{alternateClassName:"Ext.Direct.Transaction",statics:{TRANSACTION_ID:0},constructor:function(n){var t=this;Ext.apply(t,n);t.id=t.tid=++t.self.TRANSACTION_ID;t.retryCount=0},send:function(){var n=this;n.provider.queueTransaction(n)},retry:function(){var n=this;n.retryCount++;n.send()},getProvider:function(){return this.provider}},1,0,0,0,["direct.transaction"],0,[Ext.direct,"Transaction",Ext.Direct,"Transaction"],0);Ext.cmd.derive("Ext.direct.RemotingProvider",Ext.direct.JsonProvider,{enableBuffer:10,maxRetries:1,constructor:function(){var n=this;n.callParent(arguments);n.addEvents("beforecall","call","beforecallback");n.namespace=Ext.isString(n.namespace)?Ext.ns(n.namespace):n.namespace||Ext.global;n.transactions=new Ext.util.MixedCollection;n.callBuffer=[]},getNamespace:function(n,t){var r,u,i,f;for(n=n||Ext.global,r=t.toString().split("."),i=0,f=r.length;i<f;i++)if(u=r[i],n=n[u],typeof n=="undefined")return n;return n},createNamespaces:function(n,t){var u,i,r,f;for(n=n||Ext.global,u=t.toString().split("."),r=0,f=u.length;r<f;r++)i=u[r],n[i]=n[i]||{},n=n[i];return n},initAPI:function(){var i=this,f=i.actions,r=i.namespace,n,t,e,u,s,o;for(n in f)if(f.hasOwnProperty(n))for(i.disableNestedActions?(t=r[n],t||(t=r[n]={})):(t=i.getNamespace(r,n),t||(t=i.createNamespaces(r,n))),e=f[n],u=0,s=e.length;u<s;++u)o=new Ext.direct.RemotingMethod(e[u]),t[o.name]=i.createHandler(n,o)},createHandler:function(n,t){var r=this,u=Array.prototype.slice,i;return i=t.formHandler?function(i,u,f){r.configureFormRequest(n,t,i,u,f)}:function(){r.configureRequest(n,t,u.call(arguments,0))},i.directCfg={action:n,method:t},i},isConnected:function(){return!!this.connected},connect:function(){var n=this;n.url&&(n.initAPI(),n.connected=!0,n.fireEvent("connect",n))},disconnect:function(){var n=this;n.connected&&(n.connected=!1,n.fireEvent("disconnect",n))},runCallback:function(n,t){var r=!!t.status,e=r?"success":"failure",i,u,f;n&&n.callback&&(i=n.callback,u=n.callbackOptions,f=typeof t.result!="undefined"?t.result:t.data,Ext.isFunction(i)?i(f,t,r,u):(Ext.callback(i[e],i.scope,[f,t,r,u]),Ext.callback(i.callback,i.scope,[f,t,r,u])))},onData:function(n,t,i){var r=this,f,o,s,e,u,h;if(t)for(s=r.createEvents(i),f=0,o=s.length;f<o;++f)e=s[f],u=r.getTransaction(e),r.fireEvent("data",r,e),u&&r.fireEvent("beforecallback",r,e,u)!==!1&&(r.runCallback(u,e,!0),Ext.direct.Manager.removeTransaction(u));else for(h=[].concat(n.transaction),f=0,o=h.length;f<o;++f)u=r.getTransaction(h[f]),u&&u.retryCount<r.maxRetries?u.retry():(e=new Ext.direct.ExceptionEvent({data:null,transaction:u,code:Ext.direct.Manager.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:i}),r.fireEvent("data",r,e),u&&r.fireEvent("beforecallback",r,u)!==!1&&(r.runCallback(u,e,!1),Ext.direct.Manager.removeTransaction(u)))},getTransaction:function(n){return n&&n.tid?Ext.direct.Manager.getTransaction(n.tid):null},configureRequest:function(n,t,i){var r=this,u,c,e,s,o,f,h;u=t.getCallData(i);c=u.data;e=u.callback;s=u.scope;o=u.options||{};h=Ext.apply({},{provider:r,args:i,action:n,method:t.name,data:c,callbackOptions:o,callback:s&&Ext.isFunction(e)?Ext.Function.bind(e,s):e});o.timeout&&Ext.applyIf(h,{timeout:o.timeout});f=new Ext.direct.Transaction(h);r.fireEvent("beforecall",r,f,t)!==!1&&(Ext.direct.Manager.addTransaction(f),r.queueTransaction(f),r.fireEvent("call",r,f,t))},getCallData:function(n){return{action:n.action,method:n.method,data:n.data,type:"rpc",tid:n.id}},sendRequest:function(n){var t=this,i,r,f,e=t.enableUrlEncode,u,o;if(i={url:t.url,callback:t.onData,scope:t,transaction:n,timeout:t.timeout},n.timeout&&(i.timeout=n.timeout),Ext.isArray(n))for(r=[],u=0,o=n.length;u<o;++u)r.push(t.getCallData(n[u]));else r=t.getCallData(n);e?(f={},f[Ext.isString(e)?e:"data"]=Ext.encode(r),i.params=f):i.jsonData=r;Ext.Ajax.request(i)},queueTransaction:function(n){var t=this,i=t.enableBuffer;if(n.form){t.sendFormRequest(n);return}if(i===!1||typeof n.timeout!="undefined"){t.sendRequest(n);return}t.callBuffer.push(n);i?(t.callTask||(t.callTask=new Ext.util.DelayedTask(t.combineAndSend,t)),t.callTask.delay(Ext.isNumber(i)?i:10)):t.combineAndSend()},combineAndSend:function(){var n=this,t=n.callBuffer,i=t.length;i>0&&(n.sendRequest(i==1?t[0]:t),n.callBuffer=[])},configureFormRequest:function(n,t,i,r,u){var e=this,f,o,s;f=new Ext.direct.Transaction({provider:e,action:n,method:t.name,args:[i,r,u],callback:u&&Ext.isFunction(r)?Ext.Function.bind(r,u):r,isForm:!0});e.fireEvent("beforecall",e,f,t)!==!1&&(Ext.direct.Manager.addTransaction(f),o=String(i.getAttribute("enctype")).toLowerCase()=="multipart/form-data",s={extTID:f.id,extAction:n,extMethod:t.name,extType:"rpc",extUpload:String(o)},Ext.apply(f,{form:Ext.getDom(i),isUpload:o,params:r&&Ext.isObject(r.params)?Ext.apply(s,r.params):s}),e.fireEvent("call",e,f,t),e.sendFormRequest(f))},sendFormRequest:function(n){var t=this;Ext.Ajax.request({url:t.url,params:n.params,callback:t.onData,scope:t,form:n.form,isUpload:n.isUpload,transaction:n})}},1,0,0,0,["direct.remotingprovider"],0,[Ext.direct,"RemotingProvider"],0);Ext.cmd.derive("Ext.dom.Layer",Ext.Element,{alternateClassName:"Ext.Layer",statics:{shims:[]},isLayer:!0,localXYNames:{get:"getLocalXY",set:"setLocalXY"},constructor:function(n,t){n=n||{};var i=this,o=Ext.DomHelper,r=n.parentEl,u=r?Ext.getDom(r):document.body,f=n.hideMode,e=Ext.baseCSSPrefix+(n.fixed&&!(Ext.isIE6||Ext.isIEQuirks)?"fixed-layer":"layer");i.el=i;t&&(i.dom=Ext.getDom(t));i.dom?(i.addCls(e),i.dom.parentNode||u.appendChild(i.dom)):i.dom=o.append(u,n.dh||{tag:"div",cls:e});n.preventSync&&(i.preventSync=!0);i.id=n.id?i.dom.id=n.id:Ext.id(i.dom);Ext.Element.addToCache(i);n.cls&&i.addCls(n.cls);i.constrain=n.constrain!==!1;f?(i.setVisibilityMode(Ext.Element[f.toUpperCase()]),i.visibilityMode==Ext.Element.ASCLASS&&(i.visibilityCls=n.visibilityCls)):n.useDisplay?i.setVisibilityMode(Ext.Element.DISPLAY):i.setVisibilityMode(Ext.Element.VISIBILITY);n.shadow?(i.shadowOffset=n.shadowOffset||4,i.shadow=new Ext.Shadow({offset:i.shadowOffset,mode:n.shadow,fixed:n.fixed}),i.disableShadow()):i.shadowOffset=0;i.useShim=n.shim!==!1&&Ext.useShims;n.hidden===!0?i.hide():i.show()},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var n=this,t,i;return n.useShim?(n.shim||(t=n.self.shims.shift(),t||(t=n.createShim(),t.enableDisplayMode("block"),t.hide()),i=n.dom.parentNode,t.dom.parentNode!=i&&i.insertBefore(t.dom,n.dom),n.shim=t),n.shim):null},hideShim:function(){var n=this;n.shim&&(n.shim.setDisplayed(!1),n.self.shims.push(n.shim),delete n.shim)},disableShadow:function(){var n=this;n.shadow&&!n.shadowDisabled&&(n.shadowDisabled=!0,n.shadow.hide(),n.lastShadowOffset=n.shadowOffset,n.shadowOffset=0)},enableShadow:function(n){var t=this;t.shadow&&t.shadowDisabled&&(t.shadowDisabled=!1,t.shadowOffset=t.lastShadowOffset,delete t.lastShadowOffset,n&&t.sync(!0))},sync:function(n){var t=this,r=t.shadow,u,f,e,i,a,o,s,h,c,l;if(!t.preventSync)return!t.updating&&t.isVisible()&&(r||t.useShim)&&(i=t.getShim(),a=t[t.localXYNames.get](),o=a[0],s=a[1],h=t.dom.offsetWidth,c=t.dom.offsetHeight,r&&!t.shadowDisabled?(n&&!r.isVisible()?r.show(t):r.realign(o,s,h,c),i&&(l=i.getStyle("z-index"),l>t.zindex&&t.shim.setStyle("z-index",t.zindex-2),i.show(),r.isVisible()?(u=r.el.getXY(),f=i.dom.style,e=r.el.getSize(),Ext.supports.CSS3BoxShadow&&(e.height+=6,e.width+=4,u[0]-=2,u[1]-=4),f.left=u[0]+"px",f.top=u[1]+"px",f.width=e.width+"px",f.height=e.height+"px"):(i.setSize(h,c),i[t.localXYNames.set](o,s)))):i&&(l=i.getStyle("z-index"),l>t.zindex&&t.shim.setStyle("z-index",t.zindex-2),i.show(),i.setSize(h,c),i[t.localXYNames.set](o,s))),t},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=!0},endUpdate:function(){this.updating=!1;this.sync(!0)},hideUnders:function(){this.shadow&&this.shadow.hide();this.hideShim()},constrainXY:function(){if(this.constrain){var f=Ext.Element.getViewWidth(),e=Ext.Element.getViewHeight(),n=Ext.getDoc().getScroll(),o=this.getXY(),t=o[0],i=o[1],u=this.shadowOffset,s=this.dom.offsetWidth+u,h=this.dom.offsetHeight+u,r=!1;t+s>f+n.left&&(t=f-s-u,r=!0);i+h>e+n.top&&(i=e-h-u,r=!0);t<n.left&&(t=n.left,r=!0);i<n.top&&(i=n.top,r=!0);r&&(Ext.Layer.superclass.setXY.call(this,[t,i]),this.sync())}return this},getConstrainOffset:function(){return this.shadowOffset},setVisible:function(n,t,i,r,u){var f=this,e;return e=function(){n&&f.sync(!0);r&&r()},n||f.hideUnders(!0),f.callParent([n,t,i,r,u]),t||e(),f},beforeFx:function(){return this.beforeAction(),this.callParent(arguments)},afterFx:function(){this.callParent(arguments);this.sync(this.isVisible())},beforeAction:function(){!this.updating&&this.shadow&&this.shadow.hide()},setLeft:function(){return this.callParent(arguments),this.sync()},setTop:function(){return this.callParent(arguments),this.sync()},setLeftTop:function(){return this.callParent(arguments),this.sync()},setLocalX:function(){return this.callParent(arguments),this.sync()},setLocalXY:function(){return this.callParent(arguments),this.sync()},setLocalY:function(){return this.callParent(arguments),this.sync()},setXY:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.fixDisplay(),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},createCB:function(n){var t=this,i=t.shadow&&t.shadow.isVisible();return function(){t.constrainXY();t.sync(i);n&&n()}},setX:function(n,t,i,r,u){return this.setXY([n,this.getY()],t,i,r,u),this},setY:function(n,t,i,r,u){return this.setXY([this.getX(),n],t,i,r,u),this},setSize:function(n,t,i,r,u,f){var e=this;return u=e.createCB(u),e.beforeAction(),e.callParent([n,t,i,r,u,f]),i||u(),e},setWidth:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},setHeight:function(n,t,i,r,u){var f=this;return r=f.createCB(r),f.beforeAction(),f.callParent([n,t,i,r,u]),t||r(),f},setBounds:function(n,t,i,r,u,f,e,o){var s=this;return e=s.createCB(e),s.beforeAction(),u?s.callParent([n,t,i,r,u,f,e,o]):(Ext.Layer.superclass.setXY.call(s,[n,t]),Ext.Layer.superclass.setSize.call(s,i,r),e()),s},setZIndex:function(n){var t=this;return t.zindex=n,t.getShim()&&t.shim.setStyle("z-index",n++),t.shadow&&t.shadow.setZIndex(n++),t.setStyle("z-index",n)},onOpacitySet:function(n){var t=this.shadow;t&&t.setOpacity(n)}},1,0,0,0,0,0,[Ext.dom,"Layer",Ext,"Layer"],0);Ext.cmd.derive("Ext.draw.Matrix",Ext.Base,{constructor:function(n,t,i,r,u,f){this.matrix=n!=null?[[n,i,u],[t,r,f],[0,0,1]]:[[1,0,0],[0,1,0],[0,0,1]]},add:function(n,t,i,r,u,f){for(var c=this,l=[[],[],[]],a=[[n,i,u],[t,r,f],[0,0,1]],o,s,h,e=0;e<3;e++)for(o=0;o<3;o++){for(h=0,s=0;s<3;s++)h+=c.matrix[e][s]*a[s][o];l[e][o]=h}c.matrix=l},prepend:function(n,t,i,r,u,f){for(var c=this,l=[[],[],[]],a=[[n,i,u],[t,r,f],[0,0,1]],o,s,h,e=0;e<3;e++)for(o=0;o<3;o++){for(h=0,s=0;s<3;s++)h+=a[e][s]*c.matrix[s][o];l[e][o]=h}c.matrix=l},invert:function(){var n=this.matrix,i=n[0][0],r=n[1][0],u=n[0][1],f=n[1][1],e=n[0][2],o=n[1][2],t=i*f-r*u;return new Ext.draw.Matrix(f/t,-r/t,-u/t,i/t,(u*o-f*e)/t,(r*e-i*o)/t)},clone:function(){var n=this.matrix,t=n[0][0],i=n[1][0],r=n[0][1],u=n[1][1],f=n[0][2],e=n[1][2];return new Ext.draw.Matrix(t,i,r,u,f,e)},translate:function(n,t){this.prepend(1,0,0,1,n,t)},scale:function(n,t,i,r){var u=this;t==null&&(t=n);u.add(n,0,0,t,i*(1-n),r*(1-t))},rotate:function(n,t,i){n=Ext.draw.Draw.rad(n);var f=this,r=+Math.cos(n).toFixed(9),u=+Math.sin(n).toFixed(9);f.add(r,u,-u,r,t-r*t+u*i,-(u*t)+i-r*i)},x:function(n,t){var i=this.matrix;return n*i[0][0]+t*i[0][1]+i[0][2]},y:function(n,t){var i=this.matrix;return n*i[1][0]+t*i[1][1]+i[1][2]},get:function(n,t){return+this.matrix[n][t].toFixed(4)},toString:function(){var n=this;return[n.get(0,0),n.get(0,1),n.get(1,0),n.get(1,1),0,0].join()},toSvg:function(){var n=this;return"matrix("+[n.get(0,0),n.get(1,0),n.get(0,1),n.get(1,1),n.get(0,2),n.get(1,2)].join()+")"},toFilter:function(n,t){var i=this;return n=n||0,t=t||0,"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11="+i.get(0,0)+", M12="+i.get(0,1)+", M21="+i.get(1,0)+", M22="+i.get(1,1)+", Dx="+(i.get(0,2)+n)+", Dy="+(i.get(1,2)+t)+")"},offset:function(){var n=this.matrix;return[(n[0][2]||0).toFixed(4),(n[1][2]||0).toFixed(4)]},split:function(){function r(n){return n[0]*n[0]+n[1]*n[1]}function u(n){var t=Math.sqrt(r(n));n[0]/=t;n[1]/=t}var i=this.matrix,t={translateX:i[0][2],translateY:i[1][2]},n;return n=[[i[0][0],i[0][1]],[i[1][1],i[1][1]]],t.scaleX=Math.sqrt(r(n[0])),u(n[0]),t.shear=n[0][0]*n[1][0]+n[0][1]*n[1][1],n[1]=[n[1][0]-n[0][0]*t.shear,n[1][1]-n[0][1]*t.shear],t.scaleY=Math.sqrt(r(n[1])),u(n[1]),t.shear/=t.scaleY,t.rotate=Math.asin(-n[0][1]),t.isSimple=!+t.shear.toFixed(9)&&(t.scaleX.toFixed(9)==t.scaleY.toFixed(9)||!t.rotate),t}},3,0,0,0,0,0,[Ext.draw,"Matrix"],0);Ext.cmd.derive("Ext.draw.SpriteDD",Ext.dd.DragSource,{constructor:function(n,t){var i=this,r=n.el;i.sprite=n;i.el=r;i.dragData={el:r,sprite:n};i.callParent([r,t]);i.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(){return this.el},getRegion:function(){var u=this,s=u.el,n,t,f,i,e,r,o;o=u.sprite;r=o.getBBox();try{n=Ext.Element.getXY(s)}catch(h){}return n?(t=n[0],f=t+r.width,i=n[1],e=i+r.height,new Ext.util.Region(i,f,e,t)):null},startDrag:function(n,t){var i=this,r=i.sprite.attr;i.prev=i.sprite.surface.transformToViewBox(n,t)},onDrag:function(n){var t=n.getXY(),i=this,r=i.sprite,u=r.attr,f,e;t=i.sprite.surface.transformToViewBox(t[0],t[1]);f=t[0]-i.prev[0];e=t[1]-i.prev[1];r.setAttributes({translate:{x:u.translation.x+f,y:u.translation.y+e}},!0);i.prev=t},setDragElPos:function(){return!1}},1,0,0,0,0,0,[Ext.draw,"SpriteDD"],0);Ext.cmd.derive("Ext.draw.Sprite",Ext.Base,{dirty:!1,dirtyHidden:!1,dirtyTransform:!1,dirtyPath:!0,dirtyFont:!0,zIndexDirty:!0,isSprite:!0,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(n){var t=this;n=Ext.merge({},n||{});t.id=Ext.id(null,"ext-sprite-");t.transformations=[];Ext.copyTo(this,n,"surface,group,type,draggable");t.bbox={};t.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete n.surface;delete n.group;delete n.type;delete n.draggable;t.setAttributes(n);t.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");t.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var n=this;n.el||n.surface.createSpriteElement(n);n.dd=new Ext.draw.SpriteDD(n,Ext.isBoolean(n.draggable)?null:n.draggable);n.on("beforedestroy",n.dd.destroy,n.dd)},setAttributes:function(n,t){var i=this,y=i.fontProperties,b=y.length,p=i.pathProperties,k=p.length,w=!!i.surface,v=w&&i.surface.customAttributes||{},f=i.attr,a=!1,u,s,h,l,e,c,r,o;n=Ext.apply({},n);for(u in v)n.hasOwnProperty(u)&&typeof v[u]=="function"&&Ext.apply(n,v[u].apply(i,[].concat(n[u])));for(!!n.hidden!=!!f.hidden&&(i.dirtyHidden=!0),s=0;s<k;s++)if(u=p[s],u in n&&n[u]!==f[u]){i.dirtyPath=!0;a=!0;break}for(("zIndex"in n)&&(i.zIndexDirty=!0),("text"in n)&&(i.dirtyFont=!0,a=!0),s=0;s<b;s++)if(u=y[s],u in n&&n[u]!==f[u]){i.dirtyFont=!0;a=!0;break}return h=n.translation||n.translate,delete n.translate,delete n.translation,l=f.translation,h&&("x"in h&&h.x!==l.x||"y"in h&&h.y!==l.y)&&(i.dirtyTransform=!0,l.x=h.x,l.y=h.y),e=n.rotation||n.rotate,c=f.rotation,delete n.rotate,delete n.rotation,e&&("x"in e&&e.x!==c.x||"y"in e&&e.y!==c.y||"degrees"in e&&e.degrees!==c.degrees)&&(i.dirtyTransform=!0,c.x=e.x,c.y=e.y,c.degrees=e.degrees),r=n.scaling||n.scale,o=f.scaling,delete n.scale,delete n.scaling,r&&("x"in r&&r.x!==o.x||"y"in r&&r.y!==o.y||"cx"in r&&r.cx!==o.cx||"cy"in r&&r.cy!==o.cy)&&(i.dirtyTransform=!0,o.x=r.x,o.y=r.y,o.cx=r.cx,o.cy=r.cy),!i.dirtyTransform&&a&&(f.scaling.x===null||f.scaling.y===null||f.rotation.y===null||f.rotation.y===null)&&(i.dirtyTransform=!0),Ext.apply(f,n),i.dirty=!0,t===!0&&w&&i.redraw(),this},getBBox:function(){return this.surface.getBBox(this)},setText:function(n){return this.surface.setText(this,n)},hide:function(n){return this.setAttributes({hidden:!0},n),this},show:function(n){return this.setAttributes({hidden:!1},n),this},remove:function(){return this.surface?(this.surface.remove(this),!0):!1},onRemove:function(){this.surface.onRemove(this)},destroy:function(){var n=this;if(n.fireEvent("beforedestroy",n)!==!1){n.remove();n.surface.onDestroy(n);n.clearListeners();n.fireEvent("destroy")}},redraw:function(){return this.surface.renderItem(this),this},setStyle:function(){return this.el.setStyle.apply(this.el,arguments),this},addCls:function(n){return this.surface.addCls(this,n),this},removeCls:function(n){return this.surface.removeCls(this,n),this}},1,0,0,0,0,[["observable",Ext.util.Observable],["animate",Ext.util.Animate]],[Ext.draw,"Sprite"],0);Ext.cmd.derive("Ext.draw.Text",Ext.draw.Component,{text:"",focusable:!1,viewBox:!1,autoSize:!0,baseCls:Ext.baseCSSPrefix+"surface "+Ext.baseCSSPrefix+"draw-text",initComponent:function(){var n=this;n.textConfig=Ext.apply({type:"text",text:n.text,rotate:{degrees:n.degrees||0}},n.textStyle);Ext.apply(n.textConfig,n.getStyles(n.styleSelectors||n.styleSelector));n.initialConfig.items=[n.textConfig];n.callParent(arguments)},getStyles:function(n){n=Ext.Array.from(n);for(var i=0,f=n.length,r,t,u={};i<f;i++)r=Ext.util.CSS.getRule(n[i]),r&&(t=r.style,t&&Ext.apply(u,{"font-family":t.fontFamily,"font-weight":t.fontWeight,"line-height":t.lineHeight,"font-size":t.fontSize,fill:t.color}));return u},setAngle:function(n){var t=this,i,r;t.rendered?(i=t.surface,r=i.items.items[0],t.degrees=n,r.setAttributes({rotate:{degrees:n}},!0),(t.autoSize||t.viewBox)&&t.updateLayout()):t.degrees=n},setText:function(n){var t=this,i,r;if(t.rendered)i=t.surface,r=i.items.items[0],t.text=n||"",i.remove(r),t.textConfig.type="text",t.textConfig.text=t.text,r=i.add(t.textConfig),r.setAttributes({rotate:{degrees:t.degrees}},!0),(t.autoSize||t.viewBox)&&t.updateLayout();else t.on({render:function(){t.setText(n)},single:!0})}},0,["text"],["draw","text","component","box"],{draw:!0,text:!0,component:!0,box:!0},["widget.text"],0,[Ext.draw,"Text"],0);Ext.cmd.derive("Ext.draw.engine.ImageExporter",Ext.Base,{singleton:!0,defaultUrl:"http://svg.sencha.io",supportedTypes:["image/png","image/jpeg"],widthParam:"width",heightParam:"height",typeParam:"type",svgParam:"svg",formCls:Ext.baseCSSPrefix+"hide-display",generate:function(n,t){t=t||{};var i=this,u=t.type,r;return Ext.Array.indexOf(i.supportedTypes,u)===-1?!1:(r=Ext.getBody().createChild({tag:"form",method:"POST",action:t.url||i.defaultUrl,cls:i.formCls,children:[{tag:"input",type:"hidden",name:t.widthParam||i.widthParam,value:t.width||n.width},{tag:"input",type:"hidden",name:t.heightParam||i.heightParam,value:t.height||n.height},{tag:"input",type:"hidden",name:t.typeParam||i.typeParam,value:u},{tag:"input",type:"hidden",name:t.svgParam||i.svgParam}]}),r.last(null,!0).value=Ext.draw.engine.SvgExporter.generate(n),r.dom.submit(),r.remove(),!0)}},0,0,0,0,0,0,[Ext.draw.engine,"ImageExporter"],0);Ext.cmd.derive("Ext.draw.engine.Svg",Ext.draw.Surface,{engine:"Svg",trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,xlink:"http://www.w3.org/1999/xlink",translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",path:"d",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},parsers:{},minDefaults:{circle:{cx:0,cy:0,r:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start","font-family":null,"font-size":null,"font-weight":null,"font-style":null,fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},createSvgElement:function(n,t){var r=this.domRef.createElementNS("http://www.w3.org/2000/svg",n),i;if(t)for(i in t)r.setAttribute(i,String(t[i]));return r},createSpriteElement:function(n){var t=this.createSvgElement(n.type);return t.id=n.id,t.style&&(t.style.webkitTapHighlightColor="rgba(0,0,0,0)"),n.el=Ext.get(t),this.applyZIndex(n),n.matrix=new Ext.draw.Matrix,n.bbox={plain:0,transform:0},this.applyAttrs(n),this.applyTransformations(n),n.fireEvent("render",n),t},getBBoxText:function(n){var t={},i,f,e,r,o,u;if(n&&n.el){u=n.el.dom;try{return u.getBBox()}catch(s){}for(t={x:t.x,y:Infinity,width:0,height:0},o=u.getNumberOfChars(),r=0;r<o;r++)i=u.getExtentOfChar(r),t.y=Math.min(i.y,t.y),f=i.y+i.height-t.y,t.height=Math.max(t.height,f),e=i.x+i.width-t.x,t.width=Math.max(t.width,e);return t}},hide:function(){Ext.get(this.el).hide()},show:function(){Ext.get(this.el).show()},hidePrim:function(n){this.addCls(n,Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(n){this.removeCls(n,Ext.baseCSSPrefix+"hide-visibility")},getDefs:function(){return this._defs||(this._defs=this.createSvgElement("defs"))},transform:function(n,t){for(var s=this,r=new Ext.draw.Matrix,e=n.transformations,o=e.length,f=0,i,u;f<o;f++)i=e[f],u=i.type,u=="translate"?r.translate(i.x,i.y):u=="rotate"?r.rotate(i.degrees,i.x,i.y):u=="scale"&&r.scale(i.x,i.y,i.centerX,i.centerY);n.matrix=r;t||n.el.set({transform:r.toSvg()})},setSize:function(n,t){var i=this,r=i.el;n=+n||i.width;t=+t||i.height;i.width=n;i.height=t;r.setSize(n,t);r.set({width:n,height:t});i.callParent([n,t])},getRegion:function(){var n=this.el.getXY(),t=this.bgRect.getXY(),i=Math.max,r=i(n[0],t[0]),u=i(n[1],t[1]);return{left:r,top:u,right:r+this.width,bottom:u+this.height}},onRemove:function(n){n.el&&(n.el.destroy(),delete n.el);this.callParent(arguments)},setViewBox:function(n,t,i,r){isFinite(n)&&isFinite(t)&&isFinite(i)&&isFinite(r)&&(this.callParent(arguments),this.el.dom.setAttribute("viewBox",[n,t,i,r].join(" ")))},render:function(n){var t=this,f,e,i,o,r,u;if(!t.el){f=t.width||0;e=t.height||0;i=t.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:f,height:e});o=t.getDefs();r=t.createSvgElement("rect",{width:"100%",height:"100%",fill:"#000",stroke:"none",opacity:0});Ext.isSafari3&&(u=t.createSvgElement("rect",{x:-10,y:-10,width:"110%",height:"110%",fill:"none",stroke:"#000"}));i.appendChild(o);Ext.isSafari3&&i.appendChild(u);i.appendChild(r);n.appendChild(i);t.el=Ext.get(i);t.bgRect=Ext.get(r);Ext.isSafari3&&(t.webkitRect=Ext.get(u),t.webkitRect.hide());t.el.on({scope:t,mouseup:t.onMouseUp,mousedown:t.onMouseDown,mouseover:t.onMouseOver,mouseout:t.onMouseOut,mousemove:t.onMouseMove,mouseenter:t.onMouseEnter,mouseleave:t.onMouseLeave,click:t.onClick,dblclick:t.onDblClick})}t.renderAll()},onMouseEnter:function(n){this.el.parent().getRegion().contains(n.getPoint())&&this.fireEvent("mouseenter",n)},onMouseLeave:function(n){this.el.parent().getRegion().contains(n.getPoint())||this.fireEvent("mouseleave",n)},processEvent:function(n,t){var i=t.getTarget(),u=this.surface,r;this.fireEvent(n,t);i.nodeName=="tspan"&&i.parentNode&&(i=i.parentNode);r=this.items.get(i.id);r&&r.fireEvent(n,r,t)},tuneText:function(n,t){var h=n.el.dom,i=[],u,f,r,e,o,s;if(t.hasOwnProperty("text")&&(f=n.tspans&&Ext.Array.map(n.tspans,function(n){return n.textContent}).join(""),n.tspans&&t.text==f?i=n.tspans||[]:(i=this.setText(n,t.text),n.tspans=i)),i.length){for(u=this.getBBoxText(n).height,s=n.el.dom.getAttribute("x"),r=0,e=i.length;r<e;r++)o=Ext.isFF3_0||Ext.isFF3_5?2:4,i[r].setAttribute("x",s),i[r].setAttribute("dy",r?u*1.2:u/o);n.dirty=!0}},setText:function(n,t){for(var h=this,r=n.el.dom,o=[],u,f,i,s,e;r.firstChild;)r.removeChild(r.firstChild);for(e=String(t).split("\n"),i=0,s=e.length;i<s;i++)f=e[i],f&&(u=h.createSvgElement("tspan"),u.appendChild(document.createTextNode(Ext.htmlDecode(f))),r.appendChild(u),o[i]=u);return o},renderAll:function(){this.items.each(this.renderItem,this)},renderItem:function(n){this.el&&(n.el||this.createSpriteElement(n),n.zIndexDirty&&this.applyZIndex(n),n.dirty&&(this.applyAttrs(n),n.dirtyTransform&&this.applyTransformations(n)))},redraw:function(n){n.dirty=n.zIndexDirty=!0;this.renderItem(n)},applyAttrs:function(n){var r=this,u=n.el,f=n.group,h=n.attr,c=r.parsers,l=r.gradientsMap||{},v=Ext.isSafari&&!Ext.isStrict,o,e,a,t,i,s;if(f){for(o=[].concat(f),a=o.length,e=0;e<a;e++)f=o[e],r.getGroup(f).add(n);delete n.group}t=r.scrubAttrs(n)||{};n.bbox.plain=0;n.bbox.transform=0;n.type=="circle"||n.type=="ellipse"?(t.cx=t.cx||t.x,t.cy=t.cy||t.y):n.type=="rect"?t.rx=t.ry=t.r:n.type=="path"&&t.d&&(t.d=Ext.draw.Draw.pathToString(Ext.draw.Draw.pathToAbsolute(t.d)));n.dirtyPath=!1;t["clip-rect"]&&(r.setClip(n,t),delete t["clip-rect"]);n.type=="text"&&t.font&&n.dirtyFont&&u.set({style:"font: "+t.font});n.type=="image"&&u.dom.setAttributeNS(r.xlink,"href",t.src);Ext.applyIf(t,r.minDefaults[n.type]);n.dirtyHidden&&(h.hidden?r.hidePrim(n):r.showPrim(n),n.dirtyHidden=!1);for(i in t)if(t.hasOwnProperty(i)&&t[i]!=null){if(v&&"color|stroke|fill".indexOf(i)>-1&&t[i]in l&&(t[i]=l[t[i]]),i=="hidden"&&n.type=="text")continue;i in c?u.dom.setAttribute(i,c[i](t[i],n,r)):u.dom.setAttribute(i,t[i])}n.type=="text"&&r.tuneText(n,t);n.dirtyFont=!1;s=h.style;s&&u.setStyle(s);n.dirty=!1;Ext.isSafari3&&(r.webkitRect.show(),setTimeout(function(){r.webkitRect.hide()}))},setClip:function(n,t){var f=this,r=t["clip-rect"],u,i;r&&(n.clip&&n.clip.parentNode.parentNode.removeChild(n.clip.parentNode),u=f.createSvgElement("clipPath"),i=f.createSvgElement("rect"),u.id=Ext.id(null,"ext-clip-"),i.setAttribute("x",r.x),i.setAttribute("y",r.y),i.setAttribute("width",r.width),i.setAttribute("height",r.height),u.appendChild(i),f.getDefs().appendChild(u),n.el.dom.setAttribute("clip-path","url(#"+u.id+")"),n.clip=i)},applyZIndex:function(n){var i=this,u=i.items,t=u.indexOf(n),f=n.el,r;if(i.el.dom.childNodes[t+2]!==f.dom){if(t>0)do r=u.getAt(--t).el;while(!r&&t>0);f.insertAfter(r||i.bgRect)}n.zIndexDirty=!1},createItem:function(n){var t=new Ext.draw.Sprite(n);return t.surface=this,t},addGradient:function(n){n=Ext.draw.Draw.parseGradient(n);var i=this,s=n.stops.length,u=n.vector,h=Ext.isSafari&&!Ext.isStrict,t,f,r,e,o;if(o=i.gradientsMap||{},h)o["url(#"+n.id+")"]=n.stops[0].color;else for(n.type=="linear"?(t=i.createSvgElement("linearGradient"),t.setAttribute("x1",u[0]),t.setAttribute("y1",u[1]),t.setAttribute("x2",u[2]),t.setAttribute("y2",u[3])):(t=i.createSvgElement("radialGradient"),t.setAttribute("cx",n.centerX),t.setAttribute("cy",n.centerY),t.setAttribute("r",n.radius),Ext.isNumber(n.focalX)&&Ext.isNumber(n.focalY)&&(t.setAttribute("fx",n.focalX),t.setAttribute("fy",n.focalY))),t.id=n.id,i.getDefs().appendChild(t),e=0;e<s;e++)f=n.stops[e],r=i.createSvgElement("stop"),r.setAttribute("offset",f.offset+"%"),r.setAttribute("stop-color",f.color),r.setAttribute("stop-opacity",f.opacity),t.appendChild(r);i.gradientsMap=o},hasCls:function(n,t){return t&&(" "+(n.el.dom.getAttribute("class")||"")+" ").indexOf(" "+t+" ")!=-1},addCls:function(n,t){var u=n.el,i,e,r,f=[],o=u.getAttribute("class")||"";if(Ext.isArray(t)){for(i=0,e=t.length;i<e;i++)r=t[i],typeof r=="string"&&(" "+o+" ").indexOf(" "+r+" ")==-1&&f.push(r);f.length&&u.set({"class":" "+f.join(" ")})}else typeof t!="string"||this.hasCls(n,t)||u.set({"class":o+" "+t})},removeCls:function(n,t){var f=this,o=n.el,s=o.getAttribute("class")||"",r,e,h,i,u;if(Ext.isArray(t)||(t=[t]),s){for(u=s.replace(f.trimRe," ").split(f.spacesRe),r=0,h=t.length;r<h;r++)i=t[r],typeof i=="string"&&(i=i.replace(f.trimRe,""),e=Ext.Array.indexOf(u,i),e!=-1&&Ext.Array.erase(u,e,1));o.set({"class":u.join(" ")})}},destroy:function(){var n=this;n.callParent();n.el&&n.el.remove();n._defs&&Ext.get(n._defs).destroy();n.bgRect&&Ext.get(n.bgRect).destroy();n.webkitRect&&Ext.get(n.webkitRect).destroy();delete n.el}},0,0,0,0,0,0,[Ext.draw.engine,"Svg"],0);Ext.cmd.derive("Ext.draw.engine.SvgExporter",Ext.Base,function(){var f=/,/g,e=/(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)\s('*.*'*)/,o=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,s=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,([\d\.]+)\)/g,n,h,i,r,c=function(t){n=t;h=n.length;i=n.width;r=n.height},u={path:function(n){var i=n.attr,r=i.path,e="",o,u,s;if(Ext.isArray(r[0]))for(s=r.length,u=0;u<s;u++)e+=r[u].join(" ");else e=Ext.isArray(r)?r.join(" "):r.replace(f," ");return o=t({d:e,fill:i.fill||"none",stroke:i.stroke,"fill-opacity":i.opacity,"stroke-width":i["stroke-width"],"stroke-opacity":i["stroke-opacity"],"z-index":i.zIndex,transform:n.matrix.toSvg()}),"<path "+o+"/>"},text:function(n){var i=n.attr,r=e.exec(i.font),f=r&&r[1]||"12",s=r&&r[3]||"Arial",h=i.text,c=Ext.isFF3_0||Ext.isFF3_5?2:4,u="",o;return n.getBBox(),u+='<tspan x="'+(i.x||"")+'" dy="',u+=f/c+'">',u+=Ext.htmlEncode(h)+"<\/tspan>",o=t({x:i.x,y:i.y,"font-size":f,"font-family":s,"font-weight":i["font-weight"],"text-anchor":i["text-anchor"],fill:i.fill||"#000","fill-opacity":i.opacity,transform:n.matrix.toSvg()}),"<text "+o+">"+u+"<\/text>"},rect:function(n){var i=n.attr,r=t({x:i.x,y:i.y,rx:i.rx,ry:i.ry,width:i.width,height:i.height,fill:i.fill||"none","fill-opacity":i.opacity,stroke:i.stroke,"stroke-opacity":i["stroke-opacity"],"stroke-width":i["stroke-width"],transform:n.matrix&&n.matrix.toSvg()});return"<rect "+r+"/>"},circle:function(n){var i=n.attr,r=t({cx:i.x,cy:i.y,r:i.radius,fill:i.translation.fill||i.fill||"none","fill-opacity":i.opacity,stroke:i.stroke,"stroke-opacity":i["stroke-opacity"],"stroke-width":i["stroke-width"],transform:n.matrix.toSvg()});return"<circle "+r+" />"},image:function(n){var i=n.attr,r=t({x:i.x-(i.width/2>>0),y:i.y-(i.height/2>>0),width:i.width,height:i.height,"xlink:href":i.src,transform:n.matrix.toSvg()});return"<image "+r+" />"}},l=function(){return'<?xml version="1.0" standalone="yes"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'},a=function(){var l='<svg width="'+i+'px" height="'+r+'px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">',e="",a,v,h,it,w,b,k,y,d,rt,c,ut,g,et,t,ft,p,nt,tt,f;if(h=n.items.items,v=h.length,w=function(n){for(var s=n.childNodes,c=s.length,u=0,h,r,t="",i,f,e,o;u<c;u++){for(i=s[u],f=i.attributes,e=i.tagName,t+="<"+e,r=0,h=f.length;r<h;r++)o=f.item(r),t+=" "+o.name+'="'+o.value+'"';t+=">";i.childNodes.length>0&&(t+=w(i));t+="<\/"+e+">"}return t},n.getDefs)e=w(n.getDefs());else for(y=n.gradientsColl,y&&(d=y.keys,rt=y.items,c=0,ut=d.length);c<ut;c++){for(g=d[c],et=rt[c],it=n.gradientsColl.getByKey(g),e+='<linearGradient id="'+g+'" x1="0" y1="0" x2="1" y2="1">',f=it.colors.replace(o,"rgb($1|$2|$3)"),f=f.replace(s,"rgba($1|$2|$3|$4)"),b=f.split(","),t=0,ft=b.length;t<ft;t++)k=b[t].split(" "),f=Ext.draw.Color.fromString(k[1].replace(/\|/g,",")),e+='<stop offset="'+k[0]+'" stop-color="'+f.toString()+'" stop-opacity="1"><\/stop>';e+="<\/linearGradient>"}for(l+="<defs>"+e+"<\/defs>",l+=u.rect({attr:{width:"100%",height:"100%",fill:"#fff",stroke:"none",opacity:"0"}}),p=new Array(v),t=0;t<v;t++)p[t]=t;for(p.sort(function(n,t){return(nt=h[n].attr.zIndex||0,tt=h[t].attr.zIndex||0,nt==tt)?n-t:nt-tt}),t=0;t<v;t++)a=h[p[t]],a.attr.hidden||(l+=u[a.type](a));return l+"<\/svg>"},t=function(n){var i="";for(var t in n)n.hasOwnProperty(t)&&n[t]!=null&&(i+=t+'="'+n[t]+'" ');return i};return{singleton:!0,generate:function(n,t){return t=t||{},c(n),l()+a()}}},0,0,0,0,0,0,[Ext.draw.engine,"SvgExporter"],0);Ext.cmd.derive("Ext.draw.engine.Vml",Ext.draw.Surface,{engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s\-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1e3,coordorigin:"0 0",zIndexShift:0,orderSpritesByZIndex:!1,path2vml:function(n){var t=this,a=t.NonVmlPathRe,h=t.map,v=t.valRe,y=t.zoom,p=t.bitesRe,c=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),e,f,o,i,r,l,u,s;if(String(n).match(a))c=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw);else if(!String(n).match(t.partialPathRe))return String(n).replace(p,function(n,t,i){var r=[],f=t.toLowerCase()=="m",u=h[t];return i.replace(v,function(n){f&&r.length===2&&(u+=r+h[t=="m"?"l":"L"],r=[]);r.push(Math.round(n*y))}),u+r});for(f=c(n),e=[],r=0,l=f.length;r<l;r++){for(o=f[r],i=f[r][0].toLowerCase(),i=="z"&&(i="x"),u=1,s=o.length;u<s;u++)i+=Math.round(o[u]*t.zoom)+(u!=s-1?",":"");e.push(i)}return e.join(" ")},translateAttrs:{radius:"r",radiusX:"rx",radiusY:"ry",lineWidth:"stroke-width",fillOpacity:"fill-opacity",strokeOpacity:"stroke-opacity",strokeLinejoin:"stroke-linejoin"},minDefaults:{circle:{fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},ellipse:{cx:0,cy:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},rect:{x:0,y:0,width:0,height:0,rx:0,ry:0,fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},text:{x:0,y:0,"text-anchor":"start",font:'10px "Arial"',fill:"#000",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},path:{d:"M0,0",fill:"none",stroke:null,"stroke-width":null,opacity:null,"fill-opacity":null,"stroke-opacity":null},image:{x:0,y:0,width:0,height:0,preserveAspectRatio:"none",opacity:null}},onMouseEnter:function(n){this.fireEvent("mouseenter",n)},onMouseLeave:function(n){this.fireEvent("mouseleave",n)},processEvent:function(n,t){var r=t.getTarget(),u=this.surface,i;this.fireEvent(n,t);i=this.items.get(r.id);i&&i.fireEvent(n,i,t)},createSpriteElement:function(n){var t=this,h=n.attr,u=n.type,o=t.zoom,s=n.vml||(n.vml={}),c=Math.round,i=u==="image"?t.createNode("image"):t.createNode("shape"),f,r,e;return i.coordsize=o+" "+o,i.coordorigin=h.coordorigin||"0 0",Ext.get(i).addCls(t.spriteCls),u=="text"&&(s.path=f=t.createNode("path"),f.textpathok=!0,s.textpath=e=t.createNode("textpath"),e.on=!0,i.appendChild(e),i.appendChild(f)),i.id=n.id,n.el=Ext.get(i),n.el.setStyle("zIndex",-t.zIndexShift),t.el.appendChild(i),u!=="image"&&(r=t.createNode("skew"),r.on=!0,i.appendChild(r),n.skew=r),n.matrix=new Ext.draw.Matrix,n.bbox={plain:null,transform:null},this.applyAttrs(n),this.applyTransformations(n),n.fireEvent("render",n),n.el},getBBoxText:function(n){var t=n.vml;return{x:t.X+(t.bbx||0)-t.W/2,y:t.Y-t.H/2,width:t.W,height:t.H}},applyAttrs:function(n){var i=this,p=n.vml,u=n.group,y=n.attr,o=n.el,r=o.dom,s,h,f,v,t,e,c,l,a;if(u){for(h=[].concat(u),v=h.length,f=0;f<v;f++)u=h[f],i.getGroup(u).add(n);delete n.group}t=i.scrubAttrs(n)||{};n.zIndexDirty&&i.setZIndex(n);Ext.applyIf(t,i.minDefaults[n.type]);n.type=="image"&&(Ext.apply(n.attr,{x:t.x,y:t.y,width:t.width,height:t.height}),o.setStyle({width:t.width+"px",height:t.height+"px"}),r.src=t.src);r.href&&(r.href=t.href);r.title&&(r.title=t.title);r.target&&(r.target=t.target);r.cursor&&(r.cursor=t.cursor);n.dirtyHidden&&(t.hidden?i.hidePrim(n):i.showPrim(n),n.dirtyHidden=!1);n.dirtyPath&&(n.type=="circle"||n.type=="ellipse"?(e=t.x,c=t.y,l=t.rx||t.r||0,a=t.ry||t.r||0,r.path=Ext.String.format("ar{0},{1},{2},{3},{4},{1},{4},{1}",Math.round((e-l)*i.zoom),Math.round((c-a)*i.zoom),Math.round((e+l)*i.zoom),Math.round((c+a)*i.zoom),Math.round(e*i.zoom)),n.dirtyPath=!1):n.type!=="text"&&n.type!=="image"&&(n.attr.path=t.path=i.setPaths(n,t)||t.path,r.path=i.path2vml(t.path),n.dirtyPath=!1));"clip-rect"in t&&i.setClip(n,t);n.type=="text"&&i.setTextAttributes(n,t);(t.opacity||t["stroke-opacity"]||t.fill)&&i.setFill(n,t);(t.stroke||t["stroke-opacity"]||t.fill)&&i.setStroke(n,t);s=y.style;s&&o.setStyle(s);n.dirty=!1},setZIndex:function(n){var e=this,r=n.attr.zIndex,i=e.zIndexShift,f,o,u,t;if(r<i){for(f=e.items.items,o=f.length,t=0;t<o;t++)(r=f[t].attr.zIndex)&&r<i&&(i=r);for(e.zIndexShift=i,t=0;t<o;t++)u=f[t],u.el&&u.el.setStyle("zIndex",u.attr.zIndex-i),u.zIndexDirty=!1}else n.el&&(n.el.setStyle("zIndex",r-i),n.zIndexDirty=!1)},setPaths:function(n,t){var i=n.attr,r=n.attr["stroke-width"]||1;return(n.bbox.plain=null,n.bbox.transform=null,n.type=="circle")?(i.rx=i.ry=t.r,Ext.draw.Draw.ellipsePath(n)):n.type=="ellipse"?(i.rx=t.rx,i.ry=t.ry,Ext.draw.Draw.ellipsePath(n)):n.type=="rect"?(i.rx=i.ry=t.r,Ext.draw.Draw.rectPath(n)):n.type=="path"&&i.path?Ext.draw.Draw.pathToAbsolute(i.path):!1},setFill:function(n,t){var e=this,o=n.el.dom,i=o.fill,h=!1,u,r,s,f;i||(i=o.fill=e.createNode("fill"),h=!0);Ext.isArray(t.fill)&&(t.fill=t.fill[0]);t.fill=="none"?i.on=!1:(typeof t.opacity=="number"&&(i.opacity=t.opacity),typeof t["fill-opacity"]=="number"&&(i.opacity=t["fill-opacity"]),i.on=!0,typeof t.fill=="string"&&(r=t.fill.match(e.fillUrlRe),r?(r=r[1],r.charAt(0)=="#"&&(u=e.gradientsColl.getByKey(r.substring(1))),u?(s=t.rotation,f=-(u.angle+270+(s?s.degrees:0))%360,f===0&&(f=180),i.angle=f,i.type="gradient",i.method="sigma",i.colors?i.colors.value=u.colors:i.colors=u.colors):(i.src=r,i.type="tile")):(i.color=Ext.draw.Color.toHex(t.fill),i.src="",i.type="solid")));h&&o.appendChild(i)},setStroke:function(n,t){var f=this,o=n.el.dom,i=n.strokeEl,e=!1,r,u;i||(i=n.strokeEl=f.createNode("stroke"),e=!0);Ext.isArray(t.stroke)&&(t.stroke=t.stroke[0]);t.stroke&&t.stroke!="none"&&t.stroke!=0&&t["stroke-width"]!=0?(i.on=!0,t.stroke&&!t.stroke.match(f.fillUrlRe)&&(i.color=Ext.draw.Color.toHex(t.stroke)),i.dashstyle=t["stroke-dasharray"]?"dash":"solid",i.joinstyle=t["stroke-linejoin"],i.endcap=t["stroke-linecap"]||"round",i.miterlimit=t["stroke-miterlimit"]||8,r=parseFloat(t["stroke-width"]||1)*.75,u=t["stroke-opacity"]||1,Ext.isNumber(r)&&r<1?(i.weight=1,i.opacity=u*r):(i.weight=r,i.opacity=u)):i.on=!1;e&&o.appendChild(i)},setClip:function(n,t){var u=this,f=n.el,r=n.clipEl,i=String(t["clip-rect"]).split(u.separatorRe);r||(r=n.clipEl=u.el.insertFirst(Ext.getDoc().dom.createElement("div")),r.addCls(Ext.baseCSSPrefix+"vml-sprite"));i.length==4?(i[2]=+i[2]+ +i[0],i[3]=+i[3]+ +i[1],r.setStyle("clip",Ext.String.format("rect({1}px {2}px {3}px {0}px)",i[0],i[1],i[2],i[3])),r.setSize(u.el.width,u.el.height)):r.setStyle("clip","")},setTextAttributes:function(n,t){var r=this,i=n.vml,u=i.textpath.style,e=r.span.style,o=r.zoom,c=Math.round,h={fontSize:"font-size",fontWeight:"font-weight",fontStyle:"font-style"},f,s;if(n.dirtyFont){t.font&&(u.font=e.font=t.font);t["font-family"]&&(u.fontFamily='"'+t["font-family"].split(",")[0].replace(r.fontFamilyRe,"")+'"',e.fontFamily=t["font-family"]);for(f in h)s=t[h[f]],s&&(u[f]=e[f]=s);r.setText(n,t.text);i.textpath.string&&(r.span.innerHTML=String(i.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br/>"));i.W=r.span.offsetWidth;i.H=r.span.offsetHeight+2;t["text-anchor"]=="middle"?u["v-text-align"]="center":t["text-anchor"]=="end"?(u["v-text-align"]="right",i.bbx=-Math.round(i.W/2)):(u["v-text-align"]="left",i.bbx=Math.round(i.W/2))}i.X=t.x;i.Y=t.y;i.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(i.X*o),Math.round(i.Y*o),Math.round(i.X*o)+1);n.bbox.plain=null;n.bbox.transform=null;n.dirtyFont=!1},setText:function(n,t){n.vml.textpath.string=Ext.htmlDecode(t)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(n){n.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(n){n.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(n,t){var i=this;n=n||i.width;t=t||i.height;i.width=n;i.height=t;i.el&&(n!=undefined&&i.el.setWidth(n),t!=undefined&&i.el.setHeight(t));i.callParent(arguments)},applyViewBox:function(){var n=this,u=n.viewBox,f=n.width,e=n.height,i,r,t;if(n.callParent(),u&&(f||e))for(i=n.items.items,r=i.length,t=0;t<r;t++)n.applyTransformations(i[t])},onAdd:function(n){this.callParent(arguments);this.el&&this.renderItem(n)},onRemove:function(n){n.el&&(n.el.remove(),delete n.el);this.callParent(arguments)},render:function(n){var t=this,i=Ext.getDoc().dom,r;if(!t.createNode)try{i.namespaces.rvml||i.namespaces.add("rvml","urn:schemas-microsoft-com:vml");t.createNode=function(n){return i.createElement("<rvml:"+n+' class="rvml">')}}catch(u){t.createNode=function(n){return i.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}if(!t.el){r=i.createElement("div");t.el=Ext.get(r);t.el.addCls(t.baseVmlCls);t.span=i.createElement("span");Ext.get(t.span).addCls(t.measureSpanCls);r.appendChild(t.span);t.el.setSize(t.width||0,t.height||0);n.appendChild(r);t.el.on({scope:t,mouseup:t.onMouseUp,mousedown:t.onMouseDown,mouseover:t.onMouseOver,mouseout:t.onMouseOut,mousemove:t.onMouseMove,mouseenter:t.onMouseEnter,mouseleave:t.onMouseLeave,click:t.onClick,dblclick:t.onDblClick})}t.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(n){n.dirty=!0;this.renderItem(n)},renderItem:function(n){this.el&&(n.el||this.createSpriteElement(n),n.dirty&&(this.applyAttrs(n),n.dirtyTransform&&this.applyTransformations(n)))},rotationCompensation:function(n,t,i){var r=new Ext.draw.Matrix;return r.rotate(-n,.5,.5),{x:r.x(t,i),y:r.y(t,i)}},transform:function(n,t){for(var h=this,i=h.getBBox(n,!0),d=i.x+i.width*.5,g=i.y+i.height*.5,r=new Ext.draw.Matrix,a=n.transformations,v=a.length,c=0,y=0,p=1,w=1,b=n.el,k=b.dom,l=k.style,nt=h.zoom,o=n.skew,e=h.viewBoxShift,u,s,f;c<v;c++)u=a[c],s=u.type,s=="translate"?r.translate(u.x,u.y):s=="rotate"?(r.rotate(u.degrees,u.x,u.y),y+=u.degrees):s=="scale"&&(r.scale(u.x,u.y,u.centerX,u.centerY),p*=u.x,w*=u.y);(n.matrix=r.clone(),t)||(e&&r.prepend(e.scale,0,0,e.scale,e.dx*e.scale,e.dy*e.scale),n.type!="image"&&o?(o.origin="0,0",o.matrix=r.toString(),f=r.offset(),f[0]>32767?f[0]=32767:f[0]<-32768&&(f[0]=-32768),f[1]>32767?f[1]=32767:f[1]<-32768&&(f[1]=-32768),o.offset=f):(l.filter=r.toFilter(),l.left=Math.min(r.x(i.x,i.y),r.x(i.x+i.width,i.y),r.x(i.x,i.y+i.height),r.x(i.x+i.width,i.y+i.height))+"px",l.top=Math.min(r.y(i.x,i.y),r.y(i.x+i.width,i.y),r.y(i.x,i.y+i.height),r.y(i.x+i.width,i.y+i.height))+"px"))},createItem:function(n){return Ext.create("Ext.draw.Sprite",n)},getRegion:function(){return this.el.getRegion()},addCls:function(n,t){n&&n.el&&n.el.addCls(t)},removeCls:function(n,t){n&&n.el&&n.el.removeCls(t)},addGradient:function(n){var h=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),u=[],i=Ext.create("Ext.util.MixedCollection"),r,f,e,o,s,t;for(i.addAll(n.stops),i.sortByKey("ASC",function(n,t){return n=parseInt(n,10),t=parseInt(t,10),n>t?1:n<t?-1:0}),r=i.keys,f=i.items,e=r.length,t=0;t<e;t++)o=r[t],s=f[t],u.push(o+"% "+s.color);h.add(n.id,{colors:u.join(","),angle:n.angle})},destroy:function(){var n=this;n.callParent(arguments);n.el&&n.el.remove();delete n.el}},0,0,0,0,0,0,[Ext.draw.engine,"Vml"],0);Ext.cmd.derive("Ext.flash.Component",Ext.Component,{alternateClassName:"Ext.FlashComponent",flashVersion:"9.0.115",backgroundColor:"#ffffff",wmode:"opaque",swfWidth:"100%",swfHeight:"100%",expressInstall:!1,renderTpl:['<div id="{swfId}"><\/div>'],initComponent:function(){this.callParent();this.addEvents("success","failure")},beforeRender:function(){this.callParent();Ext.applyIf(this.renderData,{swfId:this.getSwfId()})},afterRender:function(){var n=this,t=Ext.apply({},n.flashParams),i=Ext.apply({},n.flashVars);n.callParent();t=Ext.apply({allowScriptAccess:"always",bgcolor:n.backgroundColor,wmode:n.wmode},t);i=Ext.apply({allowedDomain:document.location.hostname},i);new swfobject.embedSWF(n.url,n.getSwfId(),n.swfWidth,n.swfHeight,n.flashVersion,n.expressInstall?n.statics.EXPRESS_INSTALL_URL:undefined,i,t,n.flashAttributes,Ext.bind(n.swfCallback,n))},swfCallback:function(n){var t=this;n.success?(t.swf=Ext.get(n.ref),t.onSuccess(),t.fireEvent("success",t)):(t.onFailure(),t.fireEvent("failure",t))},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var n=this,t=n.swf;t&&(swfobject.removeSWF(n.getSwfId()),Ext.destroy(t),delete n.swf);n.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}},0,["flash"],["flash","component","box"],{flash:!0,component:!0,box:!0},["widget.flash"],0,[Ext.flash,"Component",Ext,"FlashComponent"],0);Ext.cmd.derive("Ext.form.action.Action",Ext.Base,{alternateClassName:"Ext.form.Action",submitEmptyText:!0,constructor:function(n){n&&Ext.apply(this,n);var t=n.params;Ext.isString(t)&&(this.params=Ext.Object.fromQueryString(t))},run:Ext.emptyFn,onFailure:function(n){this.response=n;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,!1)},processResponse:function(n){return(this.response=n,!n.responseText&&!n.responseXML)?!0:this.result=this.handleResponse(n)},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var n=this,i,t=n.form;return{success:n.onSuccess,failure:n.onFailure,scope:n,timeout:this.timeout*1e3||t.timeout*1e3,upload:t.fileUpload?n.onSuccess:i}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}},1,0,0,0,0,0,[Ext.form.action,"Action",Ext.form,"Action"],0);Ext.cmd.derive("Ext.form.action.Load",Ext.form.action.Action,{alternateClassName:"Ext.form.Action.Load",type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(),{method:this.getMethod(),url:this.getUrl(),headers:this.headers,params:this.getParams()}))},onSuccess:function(n){var t=this.processResponse(n),i=this.form;if(t===!0||!t.success||!t.data){this.failureType=Ext.form.action.Action.LOAD_FAILURE;i.afterAction(this,!1);return}i.clearInvalid();i.setValues(t.data);i.afterAction(this,!0)},handleResponse:function(n){var i=this.form.reader,t,r;return i?(t=i.read(n),r=t.records&&t.records[0]?t.records[0].data:null,{success:t.success,data:r}):Ext.decode(n.responseText)}},0,0,0,0,["formaction.load"],0,[Ext.form.action,"Load",Ext.form.Action,"Load"],0);Ext.cmd.derive("Ext.form.action.Submit",Ext.form.action.Action,{alternateClassName:"Ext.form.Action.Submit",type:"submit",run:function(){var n=this,t=n.form;n.clientValidation===!1||t.isValid()?n.doSubmit():(n.failureType=Ext.form.action.Action.CLIENT_INVALID,t.afterAction(n,!1))},doSubmit:function(){var n=this,t=Ext.apply(n.createCallback(),{url:n.getUrl(),method:n.getMethod(),headers:n.headers}),r=n.form,u=n.jsonSubmit||r.jsonSubmit,f=u?"jsonData":"params",i;r.hasUpload()?(i=n.buildForm(),t.form=i.formEl,t.isUpload=!0):t[f]=n.getParams(u);Ext.Ajax.request(t);i&&n.cleanup(i)},cleanup:function(n){for(var r=n.formEl,f=n.uploadEls,u=n.uploadFields,e=u.length,i,t=0;t<e;++t)i=u[t],i.clearOnSubmit||i.restoreInput(f[t]);r&&Ext.removeNode(r)},getParams:function(n){var t=!1,i=this.callParent(),r=this.form.getValues(t,t,this.submitEmptyText!==t,n);return Ext.apply({},r,i)},buildForm:function(){for(var t=this,s=[],f,h,w=t.form,c=t.getParams(),i=[],v=[],y=w.getFields().items,l=y.length,e,r,u,o,p,a,n=0;n<l;++n)e=y[n],e.rendered&&e.isFileUpload()&&i.push(e);for(r in c)if(c.hasOwnProperty(r))if(u=c[r],Ext.isArray(u))for(p=u.length,o=0;o<p;o++)s.push(t.getFieldConfig(r,u[o]));else s.push(t.getFieldConfig(r,u));for(f={tag:"form",action:t.getUrl(),method:t.getMethod(),target:t.target||"_self",style:"display:none",cn:s},i.length&&(f.encoding=f.enctype="multipart/form-data"),h=Ext.DomHelper.append(Ext.getBody(),f),l=i.length,n=0;n<l;++n)a=i[n].extractFileInput(),h.appendChild(a),v.push(a);return{formEl:h,uploadFields:i,uploadEls:v}},getFieldConfig:function(n,t){return{tag:"input",type:"hidden",name:n,value:Ext.String.htmlEncode(t)}},onSuccess:function(n){var i=this.form,r=!0,t=this.processResponse(n);t===!0||t.success||(t.errors&&i.markInvalid(t.errors),this.failureType=Ext.form.action.Action.SERVER_INVALID,r=!1);i.afterAction(this,r)},handleResponse:function(n){var s=this.form,e=s.errorReader,f,t,i,o,r,u;if(e){if(f=e.read(n),r=f.records,t=[],r)for(i=0,o=r.length;i<o;i++)t[i]=r[i].data;t.length<1&&(t=null);u={success:f.success,errors:t}}else try{u=Ext.decode(n.responseText)}catch(h){u={success:!1,errors:[]}}return u}},0,0,0,0,["formaction.submit"],0,[Ext.form.action,"Submit",Ext.form.Action,"Submit"],0);Ext.cmd.derive("Ext.util.ComponentDragger",Ext.dd.DragTracker,{autoStart:500,constructor:function(n,t){this.comp=n;this.initialConstrainTo=t.constrainTo;this.callParent([t])},onStart:function(){var n=this,t=n.comp;n.startPosition=t.getXY();t.ghost&&!t.liveDrag&&(n.proxy=t.ghost(),n.dragTarget=n.proxy.header.el);(n.constrain||n.constrainDelegate)&&(n.constrainTo=n.calculateConstrainRegion());t.beginDrag&&t.beginDrag()},calculateConstrainRegion:function(){var i=this,o=i.comp,n=i.initialConstrainTo,t=o.constraintInsets,s,r,u,e=i.proxy?i.proxy.el:o.el,f=!i.constrainDelegate&&e.shadow&&o.constrainShadow&&!e.shadowDisabled?e.shadow.getShadowSize():0;return n instanceof Ext.util.Region?n=n.copy():(s=Ext.fly(n),n=s.getViewRegion(),n.right=n.left+s.dom.clientWidth),t&&(t=Ext.isObject(t)?t:Ext.Element.parseBox(t),n.adjust(t.top,t.right,t.bottom,t.length)),f&&n.adjust(f[0],-f[1],-f[2],f[3]),i.constrainDelegate||(r=Ext.fly(i.dragTarget).getRegion(),u=e.getRegion(),n.adjust(r.top-u.top,r.right-u.right,r.bottom-u.bottom,r.left-u.left)),n},onDrag:function(){var n=this,i=n.proxy&&!n.comp.liveDrag?n.proxy:n.comp,t=n.getOffset(n.constrain||n.constrainDelegate?"dragTarget":null);i.setPagePosition(n.startPosition[0]+t[0],n.startPosition[1]+t[1])},onEnd:function(){var n=this.comp;n.isDestroyed||n.destroying||(this.proxy&&!n.liveDrag&&n.unghost(),n.endDrag&&n.endDrag())}},1,0,0,0,0,0,[Ext.util,"ComponentDragger"],0);Ext.cmd.derive("Ext.window.Window",Ext.panel.Panel,{alternateClassName:"Ext.Window",baseCls:Ext.baseCSSPrefix+"window",resizable:!0,draggable:!0,constrain:!1,constrainHeader:!1,plain:!1,minimizable:!1,maximizable:!1,minHeight:50,minWidth:50,expandOnShow:!0,collapsible:!1,closable:!0,hidden:!0,autoRender:!0,hideMode:"offsets",floating:!0,itemCls:Ext.baseCSSPrefix+"window-item",initialAlphaNum:/^[a-z0-9]/,overlapHeader:!0,ignoreHeaderBorderManagement:!0,alwaysFramed:!0,isRootCfg:{isRoot:!0},isWindow:!0,initComponent:function(){var n=this;n.frame=!1;n.callParent();n.addEvents("resize","maximize","minimize","restore");n.plain&&n.addClsWithUI("plain");n.modal&&(n.ariaRole="dialog");n.addStateEvents(["maximize","restore","resize","dragend"])},getElConfig:function(){var t=this,n;return n=t.callParent(),n.tabIndex=-1,n},getState:function(){var n=this,t=n.callParent()||{},i=!!n.maximized,r=n.ghostBox,u;return t.maximized=i,u=i?n.restorePos:r?[r.x,r.y]:n.getPosition(),Ext.apply(t,{size:i?n.restoreSize:n.getSize(),pos:u}),t},applyState:function(n){var t=this;n&&(t.maximized=n.maximized,t.maximized?(t.hasSavedRestore=!0,t.restoreSize=n.size,t.restorePos=n.pos):Ext.apply(t,{width:n.size.width,height:n.size.height,x:n.pos[0],y:n.pos[1]}))},onRender:function(){var n=this;if(n.callParent(arguments),n.focusEl=n.el,n.maximizable)n.header.on({scope:n,dblclick:n.toggleMaximize})},afterRender:function(){var n=this,i=n.header,t;if(n.callParent(),n.maximized&&(n.maximized=!1,n.maximize(),i&&i.removeCls(i.indicateDragCls)),n.closable){t=n.getKeyMap();t.on(27,n.onEsc,n)}else t=n.keyMap;t&&n.hidden&&t.disable()},initDraggable:function(){this.initSimpleDraggable()},initResizable:function(){this.callParent(arguments);this.maximized&&this.resizer.disable()},onEsc:function(n,t){Ext.FocusManager&&Ext.FocusManager.enabled&&Ext.FocusManager.focusedCmp!==this||(t.stopEvent(),this.close())},beforeDestroy:function(){var n=this;n.rendered&&(delete this.animateTarget,n.hide(),Ext.destroy(n.keyMap));n.callParent()},addTools:function(){var n=this;n.callParent();n.minimizable&&n.addTool({type:"minimize",handler:Ext.Function.bind(n.minimize,n,[])});n.maximizable&&(n.addTool({type:"maximize",handler:Ext.Function.bind(n.maximize,n,[])}),n.addTool({type:"restore",handler:Ext.Function.bind(n.restore,n,[]),hidden:!0}))},getFocusEl:function(){return this.getDefaultFocus()},getDefaultFocus:function(){var n=this,i,t=n.defaultButton||n.defaultFocus,r;return t!==undefined&&(Ext.isNumber(t)?i=n.query("button")[t]:Ext.isString(t)?(r=t,r.match(n.initialAlphaNum)&&(i=n.down("#"+r)),i||(i=n.down(r))):t.focus&&(i=t)),i||n.el},onFocus:function(){var n=this,t;Ext.FocusManager&&Ext.FocusManager.enabled||(t=n.getDefaultFocus())===n?n.callParent(arguments):t.focus()},onShow:function(){var n=this;n.callParent(arguments);n.expandOnShow&&n.expand(!1);n.syncMonitorWindowResize();n.keyMap&&n.keyMap.enable()},doClose:function(){var n=this;n.hidden?(n.fireEvent("close",n),n.closeAction=="destroy"&&this.destroy()):n.hide(n.animateTarget,n.doClose,n)},afterHide:function(){var n=this;n.syncMonitorWindowResize();n.keyMap&&n.keyMap.disable();n.callParent(arguments)},onWindowResize:function(){var n=this,t;n.maximized?n.fitContainer():(t=n.getSizeModel(),(t.width.natural||t.height.natural)&&n.updateLayout(),n.doConstrain())},minimize:function(){return this.fireEvent("minimize",this),this},resumeHeaderLayout:function(n){this.header.resumeLayouts(n?this.isRootCfg:null)},afterCollapse:function(){var n=this,t=n.header,i=n.tools;t&&n.maximizable&&(t.suspendLayouts(),i.maximize.hide(),i.restore.hide(),this.resumeHeaderLayout(!0));n.resizer&&n.resizer.disable();n.callParent(arguments)},afterExpand:function(){var n=this,i=n.header,r=n.tools,t;i&&(i.suspendLayouts(),n.maximized?(r.restore.show(),t=!0):n.maximizable&&(r.maximize.show(),t=!0),this.resumeHeaderLayout(t));n.resizer&&n.resizer.enable();n.callParent(arguments)},maximize:function(n){var t=this,i=t.header,r=t.tools,u;return t.maximized||(t.expand(!1),t.hasSavedRestore||(t.restoreSize=t.getSize(),t.restorePos=t.getPosition(!0)),i&&(i.suspendLayouts(),r.maximize&&(r.maximize.hide(),u=!0),r.restore&&(r.restore.show(),u=!0),t.collapseTool&&(t.collapseTool.hide(),u=!0),t.resumeHeaderLayout(u)),t.maximized=!0,t.el.disableShadow(),t.dd&&(t.dd.disable(),i&&i.removeCls(i.indicateDragCls)),t.resizer&&t.resizer.disable(),t.el.addCls(Ext.baseCSSPrefix+"window-maximized"),t.container.addCls(Ext.baseCSSPrefix+"window-maximized-ct"),t.syncMonitorWindowResize(),t.fitContainer(n=n||!!t.animateTarget?{callback:function(){t.fireEvent("maximize",t)}}:null),n||t.fireEvent("maximize",t)),t},restore:function(n){var t=this,r=t.tools,i=t.header,f=t.restoreSize,u;return t.maximized&&(t.hasSavedRestore=null,t.removeCls(Ext.baseCSSPrefix+"window-maximized"),i&&(i.suspendLayouts(),r.restore&&(r.restore.hide(),u=!0),r.maximize&&(r.maximize.show(),u=!0),t.collapseTool&&(t.collapseTool.show(),u=!0),t.resumeHeaderLayout(u)),t.maximized=!1,f.x=t.restorePos[0],f.y=t.restorePos[1],t.setBox(f,n=n||!!t.animateTarget?{callback:function(){t.el.enableShadow(!0);t.fireEvent("restore",t)}}:null),t.restorePos=t.restoreSize=null,t.dd&&(t.dd.enable(),i&&i.addCls(i.indicateDragCls)),t.resizer&&t.resizer.enable(),t.container.removeCls(Ext.baseCSSPrefix+"window-maximized-ct"),t.syncMonitorWindowResize(),n||(t.el.enableShadow(!0),t.fireEvent("restore",t))),t},syncMonitorWindowResize:function(){var n=this,t=n._monitoringResize,i=n.monitorResize||n.constrain||n.constrainHeader||n.maximized,r=n.hidden||n.destroying||n.isDestroyed;if(i&&!r){if(!t){Ext.EventManager.onWindowResize(n.onWindowResize,n,{delay:1});n._monitoringResize=!0}}else t&&(Ext.EventManager.removeResizeListener(n.onWindowResize,n),n._monitoringResize=!1)},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()}},0,["window"],["panel","window","component","container","box"],{panel:!0,window:!0,component:!0,container:!0,box:!0},["widget.window"],0,[Ext.window,"Window",Ext,"Window"],0);Ext.cmd.derive("Ext.form.Labelable",Ext.Base,{autoEl:{tag:"table",cellpadding:0},childEls:["labelCell","labelEl","bodyEl","sideErrorCell","errorEl","inputRow"],labelableRenderTpl:['<tr role="presentation" id="{id}-inputRow" <tpl if="inFormLayout">id="{id}"<\/tpl> class="{inputRowCls}">','<tpl if="labelOnLeft">','<td role="presentation" id="{id}-labelCell" style="{labelCellStyle}" {labelCellAttrs}>',"{beforeLabelTpl}",'<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"<\/tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"<\/tpl>',' unselectable="on"',">","{beforeLabelTextTpl}",'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}<\/tpl>',"{afterLabelTextTpl}","<\/label>","{afterLabelTpl}","<\/td>","<\/tpl>",'<td role="presentation" class="{baseBodyCls} {fieldBodyCls} {extraFieldBodyCls}" id="{id}-bodyEl" colspan="{bodyColspan}" role="presentation">',"{beforeBodyEl}","<tpl if=\"labelAlign=='top'\">","{beforeLabelTpl}",'<div role="presentation" id="{id}-labelCell" style="{labelCellStyle}">','<label id="{id}-labelEl" {labelAttrTpl}<tpl if="inputId"> for="{inputId}"<\/tpl> class="{labelCls}"','<tpl if="labelStyle"> style="{labelStyle}"<\/tpl>',' unselectable="on"',">","{beforeLabelTextTpl}",'<tpl if="fieldLabel">{fieldLabel}{labelSeparator}<\/tpl>',"{afterLabelTextTpl}","<\/label>","<\/div>","{afterLabelTpl}","<\/tpl>","{beforeSubTpl}","{[values.$comp.getSubTplMarkup(values)]}","{afterSubTpl}","<tpl if=\"msgTarget==='side'\">","{afterBodyEl}","<\/td>","<td role=\"presentation\" id=\"{id}-sideErrorCell\" vAlign=\"{[values.labelAlign==='top' && !values.hideLabel ? 'bottom' : 'middle']}\" style=\"{[values.autoFitErrors ? 'display:none' : '']}\" width=\"{errorIconWidth}\">",'<div role="presentation" id="{id}-errorEl" class="{errorMsgCls}" style="display:none"><\/div>',"<\/td>","<tpl elseif=\"msgTarget=='under'\">",'<div role="presentation" id="{id}-errorEl" class="{errorMsgClass}" colspan="2" style="display:none"><\/div>',"{afterBodyEl}","<\/td>","<\/tpl>","<\/tr>",{disableFormats:!0}],activeErrorsTpl:undefined,htmlActiveErrorsTpl:['<tpl if="errors && errors.length">','<ul class="{listCls}"><tpl for="errors"><li role="alert">{.}<\/li><\/tpl><\/ul>',"<\/tpl>"],plaintextActiveErrorsTpl:['<tpl if="errors && errors.length">','<tpl for="errors"><tpl if="xindex &gt; 1">\n<\/tpl>{.}<\/tpl>',"<\/tpl>"],isFieldLabelable:!0,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",inputRowCls:Ext.baseCSSPrefix+"form-item-input-row",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:!1,hideEmptyLabel:!0,preventMark:!1,autoFitErrors:!0,msgTarget:"qtip",noWrap:!0,labelableInsertions:["beforeBodyEl","afterBodyEl","beforeLabelTpl","afterLabelTpl","beforeSubTpl","afterSubTpl","beforeLabelTextTpl","afterLabelTextTpl","labelAttrTpl"],labelableRenderProps:["allowBlank","id","labelAlign","fieldBodyCls","extraFieldBodyCls","baseBodyCls","clearCls","labelSeparator","msgTarget","inputRowCls"],initLabelable:function(){var n=this,t=n.padding;t&&(n.padding=undefined,n.extraMargins=Ext.Element.parseBox(t));n.activeErrorsTpl||(n.activeErrorsTpl=n.msgTarget=="title"?n.plaintextActiveErrorsTpl:n.htmlActiveErrorsTpl);n.addCls(Ext.plainTableCls);n.addCls(n.formItemCls);n.lastActiveError="";n.addEvents("errorchange");n.enableBubble("errorchange")},trimLabelSeparator:function(){var t=this,i=t.labelSeparator,n=t.fieldLabel||"",r=n.substr(n.length-1);return r===i?n.slice(0,-1):n},getFieldLabel:function(){return this.trimLabelSeparator()},setFieldLabel:function(n){n=n||"";var t=this,r=t.labelSeparator,i=t.labelEl;t.fieldLabel=n;t.rendered&&(Ext.isEmpty(n)&&t.hideEmptyLabel?i.parent().setDisplayed("none"):(r&&(n=t.trimLabelSeparator()+r),i.update(n),i.parent().setDisplayed("")),t.updateLayout())},getInsertionRenderData:function(n,t){for(var u=t.length,r,i;u--;)r=t[u],i=this[r],i&&typeof i!="string"&&(i.isTemplate||(i=Ext.XTemplate.getTpl(this,r)),i=i.apply(n)),n[r]=i||"";return n},getLabelableRenderData:function(){var n=this,i,t,r=n.labelAlign==="top";return Ext.form.Labelable.errorIconWidth||(t=Ext.getBody().createChild({style:"position:absolute",cls:Ext.baseCSSPrefix+"form-invalid-icon"}),Ext.form.Labelable.errorIconWidth=t.getWidth()+t.getMargin("l"),t.remove()),i=Ext.copyTo({inFormLayout:n.ownerLayout&&n.ownerLayout.type==="form",inputId:n.getInputId(),labelOnLeft:!r,hideLabel:!n.hasVisibleLabel(),fieldLabel:n.getFieldLabel(),labelCellStyle:n.getLabelCellStyle(),labelCellAttrs:n.getLabelCellAttrs(),labelCls:n.getLabelCls(),labelStyle:n.getLabelStyle(),bodyColspan:n.getBodyColspan(),externalError:!n.autoFitErrors,errorMsgCls:n.getErrorMsgCls(),errorIconWidth:Ext.form.Labelable.errorIconWidth},n,n.labelableRenderProps,!0),n.getInsertionRenderData(i,n.labelableInsertions),i},xhooks:{beforeRender:function(){var n=this;n.setFieldDefaults(n.getHierarchyState().fieldDefaults);n.ownerLayout&&n.addCls(Ext.baseCSSPrefix+n.ownerLayout.type+"-form-item")},onRender:function(){var t=this,i,n,r={};if(t.extraMargins){i=t.el.getMargin();for(n in i)i.hasOwnProperty(n)&&(r["margin-"+n]=i[n]+t.extraMargins[n]+"px");t.el.setStyle(r)}}},hasVisibleLabel:function(){return this.hideLabel?!1:!(this.hideEmptyLabel&&!this.getFieldLabel())},getLabelWidth:function(){var n=this;return n.hasVisibleLabel()?n.labelWidth+n.labelPad:0},getBodyColspan:function(){var n=this,t;return t=n.msgTarget==="side"&&(!n.autoFitErrors||n.hasActiveError())?1:2,n.labelAlign==="top"||n.hasVisibleLabel()||t++,t},getLabelCls:function(){var n=this.labelCls+" "+Ext.dom.Element.unselectableCls,t=this.labelClsExtra;return t?n+" "+t:n},getLabelCellStyle:function(){var n=this,t=n.hideLabel||!n.getFieldLabel()&&n.hideEmptyLabel;return t?"display:none;":""},getErrorMsgCls:function(){var n=this,t=n.hideLabel||!n.fieldLabel&&n.hideEmptyLabel;return n.errorMsgCls+(!t&&n.labelAlign==="top"?" "+Ext.baseCSSPrefix+"lbl-top-err-icon":"")},getLabelCellAttrs:function(){var n=this,t=n.labelAlign,i="";return t!=="top"&&(i='valign="top" halign="'+t+'" width="'+(n.labelWidth+n.labelPad)+'"'),i+' class="'+Ext.baseCSSPrefix+'field-label-cell"'},getLabelStyle:function(){var n=this,i=n.labelPad,t="";return n.labelAlign!=="top"&&(n.labelWidth&&(t="width:"+n.labelWidth+"px;"),i&&(t+="margin-right:"+i+"px;")),t+(n.labelStyle||"")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return!!this.getActiveError()},setActiveError:function(n){this.setActiveErrors(n)},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(n){n=Ext.Array.from(n);this.activeError=n[0];this.activeErrors=n;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:n,listCls:Ext.plainListCls});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var n=this,t=n.getActiveError(),i=!!t;t!==n.lastActiveError&&(n.fireEvent("errorchange",n,t),n.lastActiveError=t);!n.rendered||n.isDestroyed||n.preventMark||(n.el[i?"addCls":"removeCls"](n.invalidCls),n.getActionEl().dom.setAttribute("aria-invalid",i),n.errorEl&&(n.errorEl.dom.innerHTML=t))},setFieldDefaults:function(n){for(var t in n)this.hasOwnProperty(t)||(this[t]=n[t])}},0,0,0,0,0,0,[Ext.form,"Labelable"],0);Ext.cmd.derive("Ext.form.field.Field",Ext.Base,{isFormField:!0,disabled:!1,submitValue:!0,validateOnChange:!0,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var n=this;n.value=n.transformOriginalValue(n.value);n.originalValue=n.lastValue=n.value;n.suspendCheckChange++;n.setValue(n.value);n.suspendCheckChange--},transformOriginalValue:Ext.identityFn,getName:function(){return this.name},getValue:function(){return this.value},setValue:function(n){var t=this;return t.value=n,t.checkChange(),t},isEqual:function(n,t){return String(n)===String(t)},isEqualAsString:function(n,t){return String(Ext.value(n,""))===String(Ext.value(t,""))},getSubmitData:function(){var n=this,t=null;return n.disabled||!n.submitValue||n.isFileUpload()||(t={},t[n.getName()]=""+n.getValue()),t},getModelData:function(){var n=this,t=null;return n.disabled||n.isFileUpload()||(t={},t[n.getName()]=n.getValue()),t},reset:function(){var n=this;n.beforeReset();n.setValue(n.originalValue);n.clearInvalid();delete n.wasValid},beforeReset:Ext.emptyFn,resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var n=this,t=n.getValue(),i=n.lastValue;if(!n.isEqual(t,i)&&!n.isDestroyed){n.lastValue=t;n.fireEvent("change",n,t,i);n.onChange(t,i)}}},onChange:function(){this.validateOnChange&&this.validate();this.checkDirty()},isDirty:function(){var n=this;return!n.disabled&&!n.isEqual(n.getValue(),n.originalValue)},checkDirty:function(){var n=this,t=n.isDirty();if(t!==n.wasDirty){n.fireEvent("dirtychange",n,t);n.onDirtyChange(t);n.wasDirty=t}},onDirtyChange:Ext.emptyFn,getErrors:function(){return[]},isValid:function(){var n=this;return n.disabled||Ext.isEmpty(n.getErrors())},validate:function(){var n=this,t=n.isValid();return t!==n.wasValid&&(n.wasValid=t,n.fireEvent("validitychange",n,t)),t},batchChanges:function(n){try{this.suspendCheckChange++;n()}catch(t){throw t;}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return!1},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn},0,0,0,0,0,0,[Ext.form.field,"Field"],0);Ext.cmd.derive("Ext.layout.component.field.Field",Ext.layout.component.Auto,{type:"field",naturalSizingProp:"size",beginLayout:function(n){var t=this,i=t.owner;t.callParent(arguments);n.labelStrategy=t.getLabelStrategy();n.errorStrategy=t.getErrorStrategy();n.labelContext=n.getEl("labelEl");n.bodyCellContext=n.getEl("bodyEl");n.inputContext=n.getEl("inputEl");n.errorContext=n.getEl("errorEl");Ext.isIE7m&&Ext.isStrict&&n.inputContext&&(t.ieInputWidthAdjustment=n.inputContext.getPaddingInfo().width+n.inputContext.getBorderInfo().width);n.labelStrategy.prepare(n,i);n.errorStrategy.prepare(n,i)},beginLayoutCycle:function(n){var t=this,i=t.owner,r=n.widthModel,u=i[t.naturalSizingProp],f;t.callParent(arguments);r.shrinkWrap?t.beginLayoutShrinkWrap(n):r.natural?(typeof u!="number"||i.inputWidth?t.beginLayoutShrinkWrap(n):t.beginLayoutFixed(n,f=u*6.5+20,"px"),n.setWidth(f,!1)):t.beginLayoutFixed(n,"100","%")},beginLayoutFixed:function(n,t,i){var r=n.target,u=r.inputEl,f=r.inputWidth;r.el.setStyle("table-layout","fixed");r.bodyEl.setStyle("width",t+i);u&&(f?u.setStyle("width",f+"px"):u.setStyle("width",r.stretchInputElFixed?"100%":""));n.isFixed=!0},beginLayoutShrinkWrap:function(n){var i=n.target,t=i.inputEl,r=i.inputWidth;t&&t.dom&&(t.dom.removeAttribute("size"),r?t.setStyle("width",r+"px"):t.setStyle("width",""));i.el.setStyle("table-layout","auto");i.bodyEl.setStyle("width","")},finishedLayout:function(n){var t=this.owner;this.callParent(arguments);n.labelStrategy.finishedLayout(n,t);n.errorStrategy.finishedLayout(n,t)},calculateOwnerHeightFromContentHeight:function(n,t){return t},measureContentHeight:function(n){return n.el.getHeight()},measureContentWidth:function(n){return n.el.getWidth()},measureLabelErrorHeight:function(n){return n.labelStrategy.getHeight(n)+n.errorStrategy.getHeight(n)},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},getLabelStrategy:function(){var n=this,t=n.labelStrategies,i=n.owner.labelAlign;return t[i]||t.base},getErrorStrategy:function(){var t=this,i=t.owner,n=t.errorStrategies,r=i.msgTarget;return!i.preventMark&&Ext.isString(r)?n[r]||n.elementId:n.none},labelStrategies:function(){var n={prepare:function(n,t){var r=t.labelCls+"-"+t.labelAlign,i=t.labelEl;i&&i.addCls(r)},getHeight:function(){return 0},finishedLayout:Ext.emptyFn};return{base:n,top:Ext.applyIf({getHeight:function(n){var i=n.labelContext,r=i.props,t=r.height;return t===undefined&&(r.height=t=i.el.getHeight()),t}},n),left:n,right:n}}(),errorStrategies:function(){function i(n){var t=Ext.layout.component.field.Field.tip,i;t&&t.isVisible()&&(i=t.activeTarget,i&&i.el===n.getActionEl().dom&&t.toFront(!0))}var t=Ext.applyIf,r=Ext.emptyFn,u=Ext.baseCSSPrefix+"form-invalid-icon",f,n={prepare:function(n,t){var i=t.errorEl;i&&i.setDisplayed(!1)},getHeight:function(){return 0},onFocus:r,finishedLayout:r};return{none:n,side:t({prepare:function(n,t){var i=t.errorEl,e=t.sideErrorCell,r=t.hasActiveError(),o;f||(f=(o=Ext.getBody().createChild({style:"position:absolute",cls:u})).getWidth(),o.remove());i.addCls(u);i.set({"data-errorqtip":t.getActiveError()||""});t.autoFitErrors?i.setDisplayed(r):i.setVisible(r);e&&t.autoFitErrors&&e.setDisplayed(r);t.bodyEl.dom.colSpan=t.getBodyColspan();Ext.layout.component.field.Field.initTip()},onFocus:i},n),under:t({prepare:function(n,t){var i=t.errorEl,r=Ext.baseCSSPrefix+"form-invalid-under";i.addCls(r);i.setDisplayed(t.hasActiveError())},getHeight:function(n){var t=0,i,r;return n.target.hasActiveError()&&(i=n.errorContext,r=i.props,t=r.height,t===undefined&&(r.height=t=i.el.getHeight())),t}},n),qtip:t({prepare:function(n,t){Ext.layout.component.field.Field.initTip();t.getActionEl().dom.setAttribute("data-errorqtip",t.getActiveError()||"")},onFocus:i},n),title:t({prepare:function(n,t){t.getActionEl().dom.setAttribute("title",t.getActiveError()||"")}},n),elementId:t({prepare:function(n,t){var i=Ext.fly(t.msgTarget);i&&(i.dom.innerHTML=t.getActiveError()||"",i.setDisplayed(t.hasActiveError()))}},n)}}(),statics:{initTip:function(){var n=this.tip;n||(n=this.tip=Ext.create("Ext.tip.QuickTip",{ui:"form-invalid"}),n.tagConfig=Ext.apply({},{attribute:"errorqtip"},n.tagConfig))},destroyTip:function(){var n=this.tip;n&&(n.destroy(),delete this.tip)}}},0,0,0,0,["layout.field"],0,[Ext.layout.component.field,"Field"],0);Ext.cmd.derive("Ext.form.field.Base",Ext.Component,{alternateClassName:["Ext.form.Field","Ext.form.BaseField"],fieldSubTpl:['<input id="{id}" type="{type}" {inputAttrTpl}',' size="1"','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="value"> value="{[Ext.util.Format.htmlEncode(values.value)]}"<\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','{%if (values.maxLength !== undefined){%} maxlength="{maxLength}"{%}%}','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' class="{fieldCls} {typeCls} {editableCls} {inputCls}" autocomplete="off"/>',{disableFormats:!0}],subTplInsertions:["inputAttrTpl"],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange","keyup"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:!1,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:!0,hasFocus:!1,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:!1,stretchInputElFixed:!0,initComponent:function(){var n=this;n.callParent();n.subTplData=n.subTplData||{};n.addEvents("specialkey","writeablechange");n.initLabelable();n.initField();n.name||(n.name=n.getInputId());n.readOnly&&n.addCls(n.readOnlyCls);n.addCls(Ext.baseCSSPrefix+"form-type-"+n.inputType)},getInputId:function(){return this.inputId||(this.inputId=this.id+"-inputEl")},getSubTplData:function(){var n=this,t=n.inputType,r=n.getInputId(),i;return i=Ext.apply({id:r,cmpId:n.id,name:n.name||r,disabled:n.disabled,readOnly:n.readOnly,value:n.getRawValue(),type:t,fieldCls:n.fieldCls,fieldStyle:n.getFieldStyle(),tabIdx:n.tabIndex,inputCls:n.inputCls,typeCls:Ext.baseCSSPrefix+"form-"+(t==="password"?"text":t)},n.subTplData),n.getInsertionRenderData(i,n.subTplInsertions),i},applyRenderSelectors:function(){var n=this;n.callParent();n.addChildEls("inputEl");n.inputEl=n.el.getById(n.getInputId())},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var n=this;return n.hasOwnProperty("renderTpl")||(n.renderTpl=n.getTpl("labelableRenderTpl")),n.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(n){var t=this,i=t.inputEl;i&&i.applyStyles(n);t.fieldStyle=n},getFieldStyle:function(){return Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||""},onRender:function(){this.callParent(arguments);this.renderActiveError()},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},getSubmitData:function(){var n=this,t=null,i;return n.disabled||!n.submitValue||n.isFileUpload()||(i=n.getSubmitValue(),i!==null&&(t={},t[n.getName()]=i)),t},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var n=this,t=n.inputEl?n.inputEl.getValue():Ext.value(n.rawValue,"");return n.rawValue=t,t},setRawValue:function(n){var t=this;return n=Ext.value(t.transformRawValue(n),""),t.rawValue=n,t.inputEl&&(t.inputEl.dom.value=n),n},transformRawValue:Ext.identityFn,valueToRaw:function(n){return""+Ext.value(n,"")},rawToValue:Ext.identityFn,processRawValue:Ext.identityFn,getValue:function(){var n=this,t=n.rawToValue(n.processRawValue(n.getRawValue()));return n.value=t,t},setValue:function(n){var t=this;return t.setRawValue(t.valueToRaw(n)),t.mixins.field.setValue.call(t,n)},onBoxReady:function(){var n=this;n.callParent();n.setReadOnlyOnBoxReady&&n.setReadOnly(n.readOnly)},onDisable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=!0,n.hasActiveError()&&(n.clearInvalid(),n.needsValidateOnEnable=!0))},onEnable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=!1,n.needsValidateOnEnable&&(delete n.needsValidateOnEnable,n.forceValidation=!0,n.isValid(),delete n.forceValidation))},setReadOnly:function(n){var t=this,i=t.inputEl;n=!!n;t[n?"addCls":"removeCls"](t.readOnlyCls);t.readOnly=n;i?i.dom.readOnly=n:t.rendering&&(t.setReadOnlyOnBoxReady=!0);t.fireEvent("writeablechange",t,n)},fireKey:function(n){n.isSpecialKey()&&this.fireEvent("specialkey",this,new Ext.EventObjectImpl(n))},initEvents:function(){var n=this,i=n.inputEl,u,f,e=n.checkChangeEvents,t,o=e.length,r;if(i)for(n.mon(i,Ext.EventManager.getKeyEvent(),n.fireKey,n),u=new Ext.util.DelayedTask(n.checkChange,n),n.onChangeEvent=f=function(){u.delay(n.checkChangeBuffer)},t=0;t<o;t++)r=e[t],r==="propertychange"&&(n.usesPropertychange=!0),n.mon(i,r,f);n.callParent()},doComponentLayout:function(){var n=this,t=n.inputEl,i=n.usesPropertychange,r="propertychange",u=n.onChangeEvent;i&&n.mun(t,r,u);n.callParent(arguments);i&&n.mon(t,r,u)},onDirtyChange:function(n){this[n?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var n=this,t=n.disabled,i=n.forceValidation||!t;return i?n.validateValue(n.processRawValue(n.getRawValue())):t},validateValue:function(n){var t=this,i=t.getErrors(n),r=Ext.isEmpty(i);return t.preventMark||(r?t.clearInvalid():t.markInvalid(i)),r},markInvalid:function(n){var t=this,r=t.getActiveError(),i;t.setActiveErrors(Ext.Array.from(n));i=t.getActiveError();r!==i&&t.setError(i)},clearInvalid:function(){var n=this,t=n.hasActiveError();delete n.needsValidateOnEnable;n.unsetActiveError();t&&n.setError("")},setError:function(n){var t=this,i=t.msgTarget,r;t.rendered&&(i=="title"||i=="qtip"?(t.rendered&&(r=i=="qtip"?"data-errorqtip":"title"),t.getActionEl().dom.setAttribute(r,n||"")):t.updateLayout())},renderActiveError:function(){var n=this,t=n.hasActiveError();n.inputEl&&n.inputEl[t?"addCls":"removeCls"](n.invalidCls+"-field");n.mixins.labelable.renderActiveError.call(n)},getActionEl:function(){return this.inputEl||this.el}},0,["field"],["field","component","box"],{field:!0,component:!0,box:!0},["widget.field"],[["labelable",Ext.form.Labelable],["field",Ext.form.field.Field]],[Ext.form.field,"Base",Ext.form,"Field",Ext.form,"BaseField"],0);Ext.cmd.derive("Ext.form.field.VTypes",Ext.Base,function(){var n=/^[a-zA-Z_]+$/,t=/^[a-zA-Z0-9_]+$/,i=/^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+/=?^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,r=/(((^https?)|(^ftp)):\/\/((([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*)|(localhost|LOCALHOST))\/?)/i;return{singleton:!0,alternateClassName:"Ext.form.VTypes",email:function(n){return i.test(n)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[\w.\-@'"!#$%&'*+/=?^_`{|}~]/i,url:function(n){return r.test(n)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(t){return n.test(t)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(n){return t.test(n)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}(),0,0,0,0,0,0,[Ext.form.field,"VTypes",Ext.form,"VTypes"],0);Ext.cmd.derive("Ext.layout.component.field.Text",Ext.layout.component.field.Field,{type:"textfield",canGrowWidth:!0,beginLayoutCycle:function(n){this.callParent(arguments);n.heightModel.shrinkWrap&&n.inputContext.el.setStyle("height","")},measureContentWidth:function(n){var r=this,t=r.owner,f=r.callParent(arguments),e=n.inputContext,o,s,u,i,h;return t.grow&&r.canGrowWidth&&!n.state.growHandled&&(o=t.inputEl,s=Ext.util.Format.htmlEncode(o.dom.value||(t.hasFocus?"":t.emptyText)||""),s+=t.growAppend,u=o.getTextWidth(s)+e.getFrameInfo().width,i=t.growMax,h=Math.min(i,f),i=Math.max(t.growMin,i,h),u=Ext.Number.constrain(u,t.growMin,i),e.setWidth(u),n.state.growHandled=!0,e.domBlock(r,"width"),f=NaN),f},publishInnerHeight:function(n,t){n.inputContext.setHeight(t-this.measureLabelErrorHeight(n))},beginLayoutFixed:function(n,t,i){var r=this,u=r.ieInputWidthAdjustment;u&&(r.adjustIEInputPadding(n),i==="px"&&(t-=u));r.callParent(arguments)},adjustIEInputPadding:function(){this.owner.bodyEl.setStyle("padding-right",this.ieInputWidthAdjustment+"px")}},0,0,0,0,["layout.textfield"],0,[Ext.layout.component.field,"Text"],0);Ext.cmd.derive("Ext.form.field.Text",Ext.form.field.Base,{alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",allowBlank:!0,validateBlank:!1,allowOnlyWhitespace:!0,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",requiredCls:Ext.baseCSSPrefix+"form-required-field",componentLayout:"textfield",valueContainsPlaceholder:!1,initComponent:function(){var n=this;n.allowOnlyWhitespace===!1&&(n.allowBlank=!1);n.callParent();n.addEvents("autosize","keydown","keyup","keypress");n.addStateEvents("change");n.setGrowSizePolicy()},setGrowSizePolicy:function(){this.grow&&(this.shrinkWrap|=1)},initEvents:function(){var n=this,t=n.inputEl;n.callParent();(n.selectOnFocus||n.emptyText)&&n.mon(t,"mousedown",n.onMouseDown,n);(n.maskRe||n.vtype&&n.disableKeyFilter!==!0&&(n.maskRe=Ext.form.field.VTypes[n.vtype+"Mask"]))&&n.mon(t,"keypress",n.filterKeys,n);n.enableKeyEvents&&n.mon(t,{scope:n,keyup:n.onKeyUp,keydown:n.onKeyDown,keypress:n.onKeyPress})},isEqual:function(n,t){return this.isEqualAsString(n,t)},onChange:function(){this.callParent(arguments);this.autoSize()},getSubTplData:function(){var n=this,t=n.getRawValue(),u=n.emptyText&&t.length<1,i=n.maxLength,r;return n.enforceMaxLength?i===Number.MAX_VALUE&&(i=undefined):i=undefined,u&&(Ext.supports.Placeholder?r=n.emptyText:(t=n.emptyText,n.valueContainsPlaceholder=!0)),Ext.apply(n.callParent(),{maxLength:i,readOnly:n.readOnly,placeholder:r,value:t,fieldCls:n.fieldCls+(u&&(r||t)?" "+n.emptyCls:"")+(n.allowBlank?"":" "+n.requiredCls)})},afterRender:function(){this.autoSize();this.callParent()},onMouseDown:function(){var n=this;n.hasFocus||n.mon(n.inputEl,"mouseup",Ext.emptyFn,n,{single:!0,preventDefault:!0})},processRawValue:function(n){var i=this,r=i.stripCharsRe,t;return r&&(t=n.replace(r,""),t!==n&&(i.setRawValue(t),n=t)),n},onDisable:function(){this.callParent();Ext.isIE&&(this.inputEl.dom.unselectable="on")},onEnable:function(){this.callParent();Ext.isIE&&(this.inputEl.dom.unselectable="")},onKeyDown:function(n){this.fireEvent("keydown",this,n)},onKeyUp:function(n){this.fireEvent("keyup",this,n)},onKeyPress:function(n){this.fireEvent("keypress",this,n)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var n=this,t=n.emptyText,i;n.rendered&&t&&(i=n.getRawValue().length<1&&!n.hasFocus,Ext.supports.Placeholder?n.inputEl.dom.placeholder=t:i&&(n.setRawValue(t),n.valueContainsPlaceholder=!0),i&&n.inputEl.addCls(n.emptyCls),n.autoSize())},afterFirstLayout:function(){if(this.callParent(),Ext.isIE&&this.disabled){var n=this.inputEl;n&&(n.dom.unselectable="on")}},beforeFocus:function(){var n=this,t=n.inputEl,r=n.emptyText,i;n.callParent(arguments);r&&!Ext.supports.Placeholder&&t.dom.value===n.emptyText&&n.valueContainsPlaceholder?(n.setRawValue(""),i=!0,t.removeCls(n.emptyCls),n.valueContainsPlaceholder=!1):Ext.supports.Placeholder&&n.inputEl.removeCls(n.emptyCls);(n.selectOnFocus||i)&&(Ext.isWebKit?(n.inputFocusTask||(n.inputFocusTask=new Ext.util.DelayedTask(n.focusInput,n)),n.inputFocusTask.delay(1)):t.dom.select())},focusInput:function(){var n=this.inputEl;n&&(n=n.dom,n&&n.select())},onFocus:function(){var n=this;n.callParent(arguments);n.emptyText&&n.autoSize()},postBlur:function(){this.callParent(arguments);this.applyEmptyText()},filterKeys:function(n){if(!n.ctrlKey||n.altKey){var t=n.getKey(),i=String.fromCharCode(n.getCharCode());(Ext.isGecko||Ext.isOpera)&&(n.isNavKeyPress()||t===n.BACKSPACE||t===n.DELETE&&n.button===-1)||(Ext.isGecko||Ext.isOpera||!n.isSpecialKey()||i)&&(this.maskRe.test(i)||n.stopEvent())}},getState:function(){return this.addPropertyToState(this.callParent(),"value")},applyState:function(n){this.callParent(arguments);n.hasOwnProperty("value")&&this.setValue(n.value)},getRawValue:function(){var n=this,t=n.callParent();return t===n.emptyText&&n.valueContainsPlaceholder&&(t=""),t},setValue:function(n){var t=this,i=t.inputEl;return i&&t.emptyText&&!Ext.isEmpty(n)&&(i.removeCls(t.emptyCls),t.valueContainsPlaceholder=!1),t.callParent(arguments),t.applyEmptyText(),t},getErrors:function(n){var t=this,i=t.callParent(arguments),f=t.validator,r=t.vtype,e=Ext.form.field.VTypes,o=t.regex,s=Ext.String.format,u,h,c;if(n=n||t.processRawValue(t.getRawValue()),Ext.isFunction(f)&&(u=f.call(t,n),u!==!0&&i.push(u)),h=t.allowOnlyWhitespace?n:Ext.String.trim(n),h.length<1||n===t.emptyText&&t.valueContainsPlaceholder){if(t.allowBlank||i.push(t.blankText),!t.validateBlank)return i;c=!0}return!c&&n.length<t.minLength&&i.push(s(t.minLengthText,t.minLength)),n.length>t.maxLength&&i.push(s(t.maxLengthText,t.maxLength)),r&&(e[r](n,t)||i.push(t.vtypeText||e[r+"Text"])),o&&!o.test(n)&&i.push(t.regexText||t.invalidText),i},selectText:function(n,t){var u=this,f=u.getRawValue(),e=!0,i=u.inputEl.dom,o,r;f.length>0&&(n=n===o?0:n,t=t===o?f.length:t,i.setSelectionRange?i.setSelectionRange(n,t):i.createTextRange&&(r=i.createTextRange(),r.moveStart("character",n),r.moveEnd("character",t-f.length),r.select()),e=Ext.isGecko||Ext.isOpera);e&&u.focus()},autoSize:function(){var n=this;n.grow&&n.rendered&&(n.autoSizing=!0,n.updateLayout())},afterComponentLayout:function(){var n=this,t;n.callParent(arguments);n.autoSizing&&(t=n.inputEl.getWidth(),t!==n.lastInputWidth&&(n.fireEvent("autosize",n,t),n.lastInputWidth=t,delete n.autoSizing))},onDestroy:function(){var n=this;n.callParent();n.inputFocusTask&&(n.inputFocusTask.cancel(),n.inputFocusTask=null)}},0,["textfield"],["field","textfield","component","box"],{field:!0,textfield:!0,component:!0,box:!0},["widget.textfield"],0,[Ext.form.field,"Text",Ext.form,"TextField",Ext.form,"Text"],0);Ext.cmd.derive("Ext.layout.component.field.TextArea",Ext.layout.component.field.Text,{type:"textareafield",canGrowWidth:!1,naturalSizingProp:"cols",beginLayout:function(n){this.callParent(arguments);n.target.inputEl.setStyle("height","")},measureContentHeight:function(n){var e=this,t=e.owner,o=e.callParent(arguments),i,u,r,s,f;return t.grow&&!n.state.growHandled&&(i=n.inputContext,u=t.inputEl,s=u.getWidth(!0),r=Ext.util.Format.htmlEncode(u.dom.value)||"&#160;",r+=t.growAppend,r=r.replace(/\n/g,"<br/>"),f=Ext.util.TextMetrics.measure(u,r,s).height+i.getBorderInfo().height+i.getPaddingInfo().height,f=Ext.Number.constrain(f,t.growMin,t.growMax),i.setHeight(f),n.state.growHandled=!0,i.domBlock(e,"height"),o=NaN),o}},0,0,0,0,["layout.textareafield"],0,[Ext.layout.component.field,"TextArea"],0);Ext.cmd.derive("Ext.form.field.TextArea",Ext.form.field.Text,{alternateClassName:"Ext.form.TextArea",fieldSubTpl:['<textarea id="{id}" {inputAttrTpl}','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="rows"> rows="{rows}" <\/tpl>','<tpl if="cols"> cols="{cols}" <\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','<tpl if="size"> size="{size}"<\/tpl>','<tpl if="maxLength !== undefined"> maxlength="{maxLength}"<\/tpl>','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>',' class="{fieldCls} {typeCls} {inputCls}" ','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' autocomplete="off">\n','<tpl if="value">{[Ext.util.Format.htmlEncode(values.value)]}<\/tpl>',"<\/textarea>",{disableFormats:!0}],growMin:60,growMax:1e3,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:!1,preventScrollbars:!1,componentLayout:"textareafield",setGrowSizePolicy:Ext.emptyFn,returnRe:/\r/g,inputCls:Ext.baseCSSPrefix+"form-textarea",getSubTplData:function(){var n=this,i=n.getFieldStyle(),t=n.callParent();return n.grow&&n.preventScrollbars&&(t.fieldStyle=(i||"")+";overflow:hidden;height:"+n.growMin+"px"),Ext.applyIf(t,{cols:n.cols,rows:n.rows}),t},afterRender:function(){var n=this;if(n.callParent(arguments),n.needsMaxCheck=n.enforceMaxLength&&n.maxLength!==Number.MAX_VALUE&&!Ext.supports.TextAreaMaxLength,n.needsMaxCheck)n.inputEl.on("paste",n.onPaste,n)},transformRawValue:function(n){return this.stripReturns(n)},transformOriginalValue:function(n){return this.stripReturns(n)},getValue:function(){return this.stripReturns(this.callParent())},valueToRaw:function(n){return n=this.stripReturns(n),this.callParent([n])},stripReturns:function(n){return n&&typeof n=="string"&&(n=n.replace(this.returnRe,"")),n},onPaste:function(){var n=this;n.pasteTask||(n.pasteTask=new Ext.util.DelayedTask(n.pasteCheck,n));n.pasteTask.delay(1)},pasteCheck:function(){var t=this,n=t.getValue(),i=t.maxLength;n.length>i&&(n=n.substr(0,i),t.setValue(n))},fireKey:function(n){var t=this,i=n.getKey(),r;n.isSpecialKey()&&(t.enterIsSpecial||i!==n.ENTER||n.hasModifier())&&t.fireEvent("specialkey",t,n);!t.needsMaxCheck||i===n.BACKSPACE||i===n.DELETE||n.isNavKeyPress()||t.isCutCopyPasteSelectAll(n,i)||(r=t.getValue(),r.length>=t.maxLength&&n.stopEvent())},isCutCopyPasteSelectAll:function(n,t){return n.ctrlKey?t===n.A||t===n.C||t===n.V||t===n.X:!1},autoSize:function(){var n=this,t;n.grow&&n.rendered&&(n.updateLayout(),t=n.inputEl.getHeight(),t!==n.lastInputHeight&&(n.fireEvent("autosize",n,t),n.lastInputHeight=t))},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",!0)},beforeDestroy:function(){var n=this.pasteTask;n&&(n.cancel(),this.pasteTask=null);this.callParent()}},0,["textarea","textareafield"],["field","textfield","component","textarea","box","textareafield"],{field:!0,textfield:!0,component:!0,textarea:!0,box:!0,textareafield:!0},["widget.textarea","widget.textareafield"],0,[Ext.form.field,"TextArea",Ext.form,"TextArea"],0);Ext.cmd.derive("Ext.form.field.Display",Ext.form.field.Base,{alternateClassName:["Ext.form.DisplayField","Ext.form.Display"],fieldSubTpl:['<div id="{id}" role="input" ','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',' class="{fieldCls}">{value}<\/div>',{compiled:!0,disableFormats:!0}],readOnly:!0,fieldCls:Ext.baseCSSPrefix+"form-display-field",fieldBodyCls:Ext.baseCSSPrefix+"form-display-field-body",htmlEncode:!1,noWrap:!1,validateOnChange:!1,initEvents:Ext.emptyFn,submitValue:!1,isDirty:function(){return!1},isValid:function(){return!0},validate:function(){return!0},getRawValue:function(){return this.rawValue},setRawValue:function(n){var t=this;return n=Ext.value(n,""),t.rawValue=n,t.rendered&&(t.inputEl.dom.innerHTML=t.getDisplayValue(),t.updateLayout()),n},getDisplayValue:function(){var n=this,t=this.getRawValue();return n.renderer?n.renderer.call(n.scope||n,t,n):n.htmlEncode?Ext.util.Format.htmlEncode(t):t},getSubTplData:function(){var n=this.callParent(arguments);return n.value=this.getDisplayValue(),n}},0,["displayfield"],["displayfield","field","component","box"],{displayfield:!0,field:!0,component:!0,box:!0},["widget.displayfield"],0,[Ext.form.field,"Display",Ext.form,"DisplayField",Ext.form,"Display"],0);Ext.cmd.derive("Ext.layout.container.Anchor",Ext.layout.container.Auto,{alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,manageOverflow:!0,beginLayoutCycle:function(n){var o=this,t=0,i,r,f,u,e;for(o.callParent(arguments),f=n.childItems,e=f.length,u=0;u<e;++u)if(r=f[u],i=r.target.anchorSpec,i&&(r.widthModel.calculated&&i.right&&(t|=1),r.heightModel.calculated&&i.bottom&&(t|=2),t==3))break;n.anchorDimensions=t},calculateItems:function(n,t){var h=this,c=n.childItems,v=c.length,l=t.gotHeight,a=t.gotWidth,y=t.height,p=t.width,w=(a?1:0)|(l?2:0),e=n.anchorDimensions,o,i,s,r,u,f;if(!e)return!0;for(u=0;u<v;u++)i=c[u],s=i.getMarginInfo(),o=i.target.anchorSpec,a&&i.widthModel.calculated&&(f=o.right(p)-s.width,f=h.adjustWidthAnchor(f,i),i.setWidth(f)),l&&i.heightModel.calculated&&(r=o.bottom(y)-s.height,r=h.adjustHeightAnchor(r,i),i.setHeight(r));return(w&e)===e},anchorFactory:{offset:function(n){return function(t){return t+n}},ratio:function(n){return function(t){return Math.floor(t*n)}},standard:function(n){return function(t){return t-n}}},parseAnchor:function(n,t,i){if(n&&n!="none"){var r=this.anchorFactory,u;if(this.parseAnchorRE.test(n))return r.standard(i-t);if(n.indexOf("%")!=-1)return r.ratio(parseFloat(n.replace("%",""))*.01);if(u=parseInt(n,10),!isNaN(u))return r.offset(u)}return null},adjustWidthAnchor:function(n){return n},adjustHeightAnchor:function(n){return n},configureItem:function(n){var i=this,t=i.owner,u=n.anchor,f,r,e;i.callParent(arguments);n.anchor||!n.items||Ext.isNumber(n.width)||Ext.isIE6&&Ext.isStrict||(n.anchor=u=i.defaultAnchor);t.anchorSize?typeof t.anchorSize=="number"?r=t.anchorSize:(r=t.anchorSize.width,e=t.anchorSize.height):(r=t.initialConfig.width,e=t.initialConfig.height);u&&(f=u.split(" "),n.anchorSpec={right:i.parseAnchor(f[0],n.initialConfig.width,r),bottom:i.parseAnchor(f[1],n.initialConfig.height,e)})},sizePolicy:{$:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},b:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1},r:{$:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},b:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1}}},getItemSizePolicy:function(n){var t=n.anchorSpec,u="$",i=this.sizePolicy,r;return t&&(r=this.owner.getSizeModel(),t.right&&!r.width.shrinkWrap&&(i=i.r),t.bottom&&!r.height.shrinkWrap&&(u="b")),i[u]}},0,0,0,0,["layout.anchor"],0,[Ext.layout.container,"Anchor",Ext.layout,"AnchorLayout"],0);Ext.cmd.derive("Ext.window.MessageBox",Ext.window.Window,{OK:1,YES:2,NO:4,CANCEL:8,OKCANCEL:9,YESNO:6,YESNOCANCEL:14,INFO:Ext.baseCSSPrefix+"message-box-info",WARNING:Ext.baseCSSPrefix+"message-box-warning",QUESTION:Ext.baseCSSPrefix+"message-box-question",ERROR:Ext.baseCSSPrefix+"message-box-error",hideMode:"offsets",closeAction:"hide",resizable:!1,title:"&#160;",defaultMinWidth:250,defaultMaxWidth:600,defaultMinHeight:110,defaultMaxHeight:500,minWidth:null,maxWidth:null,minHeight:null,maxHeight:null,constrain:!0,cls:[Ext.baseCSSPrefix+"message-box",Ext.baseCSSPrefix+"hide-offsets"],layout:{type:"vbox",align:"stretch"},shrinkWrapDock:!0,defaultTextHeight:75,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",yes:"Yes",no:"No",cancel:"Cancel"},buttonIds:["ok","yes","no","cancel"],titleText:{confirm:"Confirm",prompt:"Prompt",wait:"Loading...",alert:"Attention"},iconHeight:35,iconWidth:50,makeButton:function(n){var t=this.buttonIds[n];return new Ext.button.Button({handler:this.btnCallback,itemId:t,scope:this,text:this.buttonText[t],minWidth:75})},btnCallback:function(n){var t=this,r,i;(t.cfg.prompt||t.cfg.multiline)&&(i=t.cfg.multiline?t.textArea:t.textField,r=i.getValue(),i.reset());t.hide();t.userCallback(n.itemId,r,t.cfg)},hide:function(){var n=this,t=n.cfg.cls;n.dd.endDrag();n.progressBar.reset();t&&n.removeCls(t);n.callParent(arguments)},constructor:function(){var n=this;n.callParent(arguments);n.minWidth=n.defaultMinWidth=n.minWidth||n.defaultMinWidth;n.maxWidth=n.defaultMaxWidth=n.maxWidth||n.defaultMaxWidth;n.minHeight=n.defaultMinHeight=n.minHeight||n.defaultMinHeight;n.maxHeight=n.defaultMaxHeight=n.maxHeight||n.defaultMaxHeight},initComponent:function(){var n=this,t=n.id,i,r;for(n.title="&#160;",n.topContainer=new Ext.container.Container({layout:"hbox",padding:10,style:{overflow:"hidden"},items:[n.iconComponent=new Ext.Component({width:n.iconWidth,height:n.iconHeight}),n.promptContainer=new Ext.container.Container({flex:1,layout:"anchor",items:[n.msg=new Ext.form.field.Display({id:t+"-displayfield",cls:n.baseCls+"-text"}),n.textField=new Ext.form.field.Text({id:t+"-textfield",anchor:"100%",enableKeyEvents:!0,listeners:{keydown:n.onPromptKey,scope:n}}),n.textArea=new Ext.form.field.TextArea({id:t+"-textarea",anchor:"100%",height:75})]})]}),n.progressBar=new Ext.ProgressBar({id:t+"-progressbar",margins:"0 10 10 10"}),n.items=[n.topContainer,n.progressBar],n.msgButtons=[],i=0;i<4;i++)r=n.makeButton(i),n.msgButtons[r.itemId]=r,n.msgButtons.push(r);n.bottomTb=new Ext.toolbar.Toolbar({id:t+"-toolbar",ui:"footer",dock:"bottom",layout:{pack:"center"},items:[n.msgButtons[0],n.msgButtons[1],n.msgButtons[2],n.msgButtons[3]]});n.dockedItems=[n.bottomTb];n.on("close",n.onClose,n);n.callParent()},onClose:function(){var n=this.header.child("[type=close]");n.itemId="cancel";this.btnCallback(n);delete n.itemId},onPromptKey:function(n,t){var i=this;(t.keyCode===t.RETURN||t.keyCode===10)&&(i.msgButtons.ok.isVisible()?i.msgButtons.ok.handler.call(i,i.msgButtons.ok):i.msgButtons.yes.isVisible()&&i.msgButtons.yes.handler.call(i,i.msgButtons.yes))},reconfigure:function(n){var t=this,e=0,v=!0,y=t.buttonText,u=t.resizer,o,s,h,i,r,f,c,l,a;for(t.updateButtonText(),n=n||{},t.cfg=n,n.width&&(s=n.width),n.height&&(h=n.height),t.minWidth=n.minWidth||t.defaultMinWidth,t.maxWidth=n.maxWidth||t.defaultMaxWidth,t.minHeight=n.minHeight||t.defaultMinHeight,t.maxHeight=n.maxHeight||t.defaultMaxHeight,u&&(o=u.resizeTracker,u.minWidth=o.minWidth=t.minWidth,u.maxWidth=o.maxWidth=t.maxWidth,u.minHeight=o.minHeight=t.minHeight,u.maxHeight=o.maxHeight=t.maxHeight),delete t.defaultFocus,n.defaultFocus&&(t.defaultFocus=n.defaultFocus),t.animateTarget=n.animateTarget||undefined,t.modal=n.modal!==!1,t.setTitle(n.title||""),t.setIconCls(n.iconCls||""),Ext.isObject(n.buttons)?(t.buttonText=n.buttons,e=0):(t.buttonText=n.buttonText||t.buttonText,e=Ext.isNumber(n.buttons)?n.buttons:0),e=e|t.updateButtonText(),t.buttonText=y,Ext.suspendLayouts(),delete t.width,delete t.height,(s||h)&&(s&&t.setWidth(s),h&&t.setHeight(h)),t.hidden=!1,t.rendered||t.render(Ext.getBody()),t.closable=n.closable!==!1&&!n.wait,t.header.child("[type=close]").setVisible(t.closable),n.title||t.closable||n.iconCls?t.header.show():t.header.hide(),t.liveDrag=!n.proxyDrag,t.userCallback=Ext.Function.bind(n.callback||n.fn||Ext.emptyFn,n.scope||Ext.global),t.setIcon(n.icon,n.iconWidth,n.iconHeight),c=t.msg,n.msg?(c.setValue(n.msg),c.show()):c.hide(),r=t.textArea,f=t.textField,n.prompt||n.multiline?(t.multiline=n.multiline,n.multiline?(r.setValue(n.value),r.setHeight(n.defaultTextHeight||t.defaultTextHeight),r.show(),f.hide(),t.defaultFocus=r):(f.setValue(n.value),r.hide(),f.show(),t.defaultFocus=f)):(r.hide(),f.hide()),l=t.progressBar,n.progress||n.wait?(l.show(),t.updateProgress(0,n.progressText),n.wait===!0&&l.wait(n.waitConfig)):l.hide(),a=t.msgButtons,i=0;i<4;i++)e&Math.pow(2,i)?(t.defaultFocus||(t.defaultFocus=a[i]),a[i].show(),v=!1):a[i].hide();v?t.bottomTb.hide():t.bottomTb.show();Ext.resumeLayouts(!0)},updateButtonText:function(){var t=this,i=t.buttonText,u=0,n,r;for(n in i)i.hasOwnProperty(n)&&(r=t.msgButtons[n],r&&(t.cfg&&t.cfg.buttonText&&(u=u|Math.pow(2,Ext.Array.indexOf(t.buttonIds,n))),r.text!=i[n]&&r.setText(i[n])));return u},show:function(n){var t=this,i;if(Ext.AbstractComponent.layoutSuspendCount){Ext.on({resumelayouts:function(){t.show(n)},single:!0});return t}return t.reconfigure(n),n.cls&&t.addCls(n.cls),i=t.query("textfield:not([hidden]),textarea:not([hidden]),button:not([hidden])"),t.preventFocusOnActivate=!i.length,t.hidden=!0,t.callParent(),t},onShow:function(){this.callParent(arguments);this.center()},updateText:function(n){this.msg.setValue(n)},setIcon:function(n,t,i){var u=this,r=u.iconComponent,f=u.messageIconCls;return f&&r.removeCls(f),n?(r.show(),r.setSize(t||u.iconWidth,i||u.iconHeight),r.addCls(Ext.baseCSSPrefix+"dlg-icon"),r.addCls(u.messageIconCls=n)):(r.removeCls(Ext.baseCSSPrefix+"dlg-icon"),r.hide()),u},updateProgress:function(n,t,i){return this.progressBar.updateProgress(n,t),i&&this.updateText(i),this},onEsc:function(){this.closable!==!1&&this.callParent(arguments)},confirm:function(n,t,i,r){return Ext.isString(n)&&(n={title:n,icon:this.QUESTION,msg:t,buttons:this.YESNO,callback:i,scope:r}),this.show(n)},prompt:function(n,t,i,r,u,f){return Ext.isString(n)&&(n={prompt:!0,title:n,minWidth:this.minPromptWidth,msg:t,buttons:this.OKCANCEL,callback:i,scope:r,multiline:u,value:f}),this.show(n)},wait:function(n,t,i){return Ext.isString(n)&&(n={title:t,msg:n,closable:!1,wait:!0,modal:!0,minWidth:this.minProgressWidth,waitConfig:i}),this.show(n)},alert:function(n,t,i,r){return Ext.isString(n)&&(n={title:n,msg:t,buttons:this.OK,fn:i,scope:r,minWidth:this.minWidth}),this.show(n)},progress:function(n,t,i){return Ext.isString(n)&&(n={title:n,msg:t,progress:!0,progressText:i}),this.show(n)}},1,["messagebox"],["panel","window","messagebox","component","container","box"],{panel:!0,window:!0,messagebox:!0,component:!0,container:!0,box:!0},["widget.messagebox"],0,[Ext.window,"MessageBox"],function(){Ext.MessageBox=Ext.Msg=new this});Ext.cmd.derive("Ext.form.Basic",Ext.util.Observable,{alternateClassName:"Ext.form.BasicForm",constructor:function(n,t){var i=this,r;i.owner=n;i.checkValidityTask=new Ext.util.DelayedTask(i.checkValidity,i);i.checkDirtyTask=new Ext.util.DelayedTask(i.checkDirty,i);i.monitor=new Ext.container.Monitor({selector:"[isFormField]",scope:i,addHandler:i.onFieldAdd,removeHandler:i.onFieldRemove});i.monitor.bind(n);Ext.apply(i,t);Ext.isString(i.paramOrder)&&(i.paramOrder=i.paramOrder.split(/[\s,|]/));r=i.reader;r&&!r.isReader&&(typeof r=="string"&&(r={type:r}),i.reader=Ext.createByAlias("reader."+r.type,r));r=i.errorReader;r&&!r.isReader&&(typeof r=="string"&&(r={type:r}),i.errorReader=Ext.createByAlias("reader."+r.type,r));i.addEvents("beforeaction","actionfailed","actioncomplete","validitychange","dirtychange");i.callParent()},initialize:function(){this.initialized=!0;this.onValidityChange(!this.hasInvalidField())},timeout:30,paramsAsHash:!1,waitTitle:"Please Wait...",trackResetOnLoad:!1,wasDirty:!1,destroy:function(){var n=this,t=n.monitor;t&&(t.unbind(),n.monitor=null);n.clearListeners();n.checkValidityTask.cancel();n.checkDirtyTask.cancel()},onFieldAdd:function(n){var t=this;t.mon(n,"validitychange",t.checkValidityDelay,t);t.mon(n,"dirtychange",t.checkDirtyDelay,t);t.initialized&&t.checkValidityDelay()},onFieldRemove:function(n){var t=this;t.mun(n,"validitychange",t.checkValidityDelay,t);t.mun(n,"dirtychange",t.checkDirtyDelay,t);t.initialized&&t.checkValidityDelay()},getFields:function(){return this.monitor.getItems()},getBoundItems:function(){var n=this._boundItems;return n&&n.getCount()!==0||(n=this._boundItems=new Ext.util.MixedCollection,n.addAll(this.owner.query("[formBind]"))),n},hasInvalidField:function(){return!!this.getFields().findBy(function(n){var i=n.preventMark,t;return n.preventMark=!0,t=n.isValid(),n.preventMark=i,!t})},isValid:function(){var t=this,n;return Ext.suspendLayouts(),n=t.getFields().filterBy(function(n){return!n.validate()}),Ext.resumeLayouts(!0),n.length<1},checkValidity:function(){var n=this,t=!n.hasInvalidField();if(t!==n.wasValid){n.onValidityChange(t);n.fireEvent("validitychange",n,t);n.wasValid=t}},checkValidityDelay:function(){this.checkValidityTask.delay(10)},onValidityChange:function(n){var u=this.getBoundItems(),i,t,f,r;if(u)for(i=u.items,f=i.length,t=0;t<f;t++)r=i[t],r.disabled===n&&r.setDisabled(!n)},isDirty:function(){return!!this.getFields().findBy(function(n){return n.isDirty()})},checkDirtyDelay:function(){this.checkDirtyTask.delay(10)},checkDirty:function(){var n=this.isDirty();n!==this.wasDirty&&(this.fireEvent("dirtychange",this,n),this.wasDirty=n)},hasUpload:function(){return!!this.getFields().findBy(function(n){return n.isFileUpload()})},doAction:function(n,t){return Ext.isString(n)&&(n=Ext.ClassManager.instantiateByAlias("formaction."+n,Ext.apply({},t,{form:this}))),this.fireEvent("beforeaction",this,n)!==!1&&(this.beforeAction(n),Ext.defer(n.run,100,n)),this},submit:function(n){n=n||{};var t=this,i;return i=n.standardSubmit||t.standardSubmit?"standardsubmit":t.api?"directsubmit":"submit",t.doAction(i,n)},load:function(n){return this.doAction(this.api?"directload":"load",n)},updateRecord:function(n){if(n=n||this._record,!n)return this;for(var r=n.fields.items,u=this.getFieldValues(),f={},i=0,e=r.length,t;i<e;++i)t=r[i].name,u.hasOwnProperty(t)&&(f[t]=u[t]);return n.beginEdit(),n.set(f),n.endEdit(),this},loadRecord:function(n){return this._record=n,this.setValues(n.getData())},getRecord:function(){return this._record},beforeAction:function(n){for(var t=this,r=n.waitMsg,e=Ext.baseCSSPrefix+"mask-loading",o=t.getFields().items,s=o.length,f,i,u=0;u<s;u++)f=o[u],f.isFormField&&f.syncValue&&f.syncValue();r&&(i=t.waitMsgTarget,i===!0?t.owner.el.mask(r,e):i?(i=t.waitMsgTarget=Ext.get(i),i.mask(r,e)):(t.floatingAncestor=t.owner.up("[floating]"),t.floatingAncestor&&(t.savePreventFocusOnActivate=t.floatingAncestor.preventFocusOnActivate,t.floatingAncestor.preventFocusOnActivate=!0),Ext.MessageBox.wait(r,n.waitTitle||t.waitTitle)))},afterAction:function(n,t){var i=this,u,r;n.waitMsg&&(u=Ext.MessageBox,r=i.waitMsgTarget,r===!0?i.owner.el.unmask():r?r.unmask():u.hide());i.floatingAncestor&&(i.floatingAncestor.preventFocusOnActivate=i.savePreventFocusOnActivate);t?(n.reset&&i.reset(),Ext.callback(n.success,n.scope||n,[i,n]),i.fireEvent("actioncomplete",i,n)):(Ext.callback(n.failure,n.scope||n,[i,n]),i.fireEvent("actionfailed",i,n))},findField:function(n){return this.getFields().findBy(function(t){return t.id===n||t.getName()===n})},markInvalid:function(n){function f(n,t){var i=o.findField(n);i&&i.markInvalid(t)}var o=this,t,r,i,e,u;if(Ext.isArray(n))for(r=n.length,t=0;t<r;t++)i=n[t],f(i.id,i.msg);else if(n instanceof Ext.data.Errors)for(r=n.items.length,t=0;t<r;t++)i=n.items[t],f(i.field,i.message);else for(u in n)n.hasOwnProperty(u)&&(e=n[u],f(u,e,n));return this},setValues:function(n){function f(n,t){var i=r.findField(n);i&&(i.setValue(t),r.trackResetOnLoad&&i.resetOriginalValue())}var r=this,t,u,i;if(Ext.suspendLayouts(),Ext.isArray(n))for(u=n.length,t=0;t<u;t++)i=n[t],f(i.id,i.value);else Ext.iterate(n,f);return Ext.resumeLayouts(!0),this},getValues:function(n,t,i,r){for(var u={},l=this.getFields().items,v=l.length,a=Ext.isArray,c,s,e,o,f,h=0;h<v;h++)if(c=l[h],(!t||c.isDirty())&&(s=c[r?"getModelData":"getSubmitData"](i),Ext.isObject(s)))for(f in s)s.hasOwnProperty(f)&&(e=s[f],i&&e===""&&(e=c.emptyText||""),u.hasOwnProperty(f)?(o=u[f],a(o)||(o=u[f]=[o]),a(e)?u[f]=o.concat(e):o.push(e)):u[f]=e);return n&&(u=Ext.Object.toQueryString(u)),u},getFieldValues:function(n){return this.getValues(!1,n,!1,!0)},clearInvalid:function(){Ext.suspendLayouts();for(var t=this,i=t.getFields().items,r=i.length,n=0;n<r;n++)i[n].clearInvalid();return Ext.resumeLayouts(!0),t},reset:function(n){Ext.suspendLayouts();for(var i=this,r=i.getFields().items,u=r.length,t=0;t<u;t++)r[t].reset();return Ext.resumeLayouts(!0),n===!0&&delete i._record,i},applyToFields:function(n){for(var i=this.getFields().items,r=i.length,t=0;t<r;t++)Ext.apply(i[t],n);return this},applyIfToFields:function(n){for(var i=this.getFields().items,r=i.length,t=0;t<r;t++)Ext.applyIf(i[t],n);return this}},1,0,0,0,0,0,[Ext.form,"Basic",Ext.form,"BasicForm"],0);Ext.cmd.derive("Ext.form.FieldAncestor",Ext.Base,{xhooks:{initHierarchyState:function(n){this.fieldDefaults&&(n.fieldDefaults=n.fieldDefaults?Ext.apply(Ext.Object.chain(n.fieldDefaults),this.fieldDefaults):this.fieldDefaults)}},initFieldAncestor:function(){var n=this;n.addEvents("fieldvaliditychange","fielderrorchange");n.monitor=new Ext.container.Monitor({scope:n,selector:"[isFormField]",addHandler:n.onChildFieldAdd,removeHandler:n.onChildFieldRemove});n.initFieldDefaults()},initMonitor:function(){this.monitor.bind(this)},onChildFieldAdd:function(n){var t=this;t.mon(n,"errorchange",t.handleFieldErrorChange,t);t.mon(n,"validitychange",t.handleFieldValidityChange,t)},onChildFieldRemove:function(n){var t=this;t.mun(n,"errorchange",t.handleFieldErrorChange,t);t.mun(n,"validitychange",t.handleFieldValidityChange,t)},initFieldDefaults:function(){this.fieldDefaults||(this.fieldDefaults={})},handleFieldValidityChange:function(n,t){var i=this;if(n!==i){i.fireEvent("fieldvaliditychange",i,n,t);i.onFieldValidityChange(n,t)}},handleFieldErrorChange:function(n,t){var i=this;if(n!==i){i.fireEvent("fielderrorchange",i,n,t);i.onFieldErrorChange(n,t)}},onFieldValidityChange:Ext.emptyFn,onFieldErrorChange:Ext.emptyFn,beforeDestroy:function(){this.monitor.unbind();this.callParent()}},0,0,0,0,0,0,[Ext.form,"FieldAncestor"],0);Ext.cmd.derive("Ext.layout.component.field.FieldContainer",Ext.layout.component.field.Field,{type:"fieldcontainer",waitForOuterHeightInDom:!0,waitForOuterWidthInDom:!0,beginLayout:function(n){var t=this.owner;this.callParent(arguments);n.hasRawContent=!0;t.bodyEl.setStyle("height","");t.containerEl.setStyle("height","");n.containerElContext=n.getEl("containerEl")},measureContentHeight:function(n){return n.hasDomProp("containerLayoutDone")?this.callParent(arguments):NaN},measureContentWidth:function(n){return n.hasDomProp("containerLayoutDone")?this.callParent(arguments):NaN},publishInnerWidth:function(n){var t=n.bodyCellContext,i=t.el.getWidth();t.setWidth(i,!1);n.containerElContext.setWidth(i,!1)},publishInnerHeight:function(n,t){var i=n.bodyCellContext,r=n.containerElContext;t-=this.measureLabelErrorHeight(n);i.setHeight(t);r.setHeight(t)}},0,0,0,0,["layout.fieldcontainer"],0,[Ext.layout.component.field,"FieldContainer"],0);Ext.cmd.derive("Ext.form.FieldContainer",Ext.container.Container,{componentLayout:"fieldcontainer",componentCls:Ext.baseCSSPrefix+"form-fieldcontainer",customOverflowEl:"containerEl",childEls:["containerEl"],combineLabels:!1,labelConnector:", ",combineErrors:!1,maskOnDisable:!1,invalidCls:"",fieldSubTpl:'<div id="{id}-containerEl" class="{containerElCls}">{%this.renderContainer(out,values)%}<\/div>',initComponent:function(){var n=this;n.initLabelable();n.initFieldAncestor();n.callParent();n.initMonitor()},getOverflowEl:function(){return this.containerEl},onAdd:function(n){var t=this;Ext.isGecko&&t.layout.type==="absolute"&&!t.hideLabel&&t.labelAlign!=="top"&&(n.x+=t.labelWidth+t.labelPad);t.callParent(arguments);t.combineLabels&&(n.oldHideLabel=n.hideLabel,n.hideLabel=!0);t.updateLabel()},onRemove:function(n,t){var i=this;i.callParent(arguments);t||(i.combineLabels&&(n.hideLabel=n.oldHideLabel),i.updateLabel())},initRenderTpl:function(){var n=this;return n.hasOwnProperty("renderTpl")||(n.renderTpl=n.getTpl("labelableRenderTpl")),n.callParent()},initRenderData:function(){var n=this,t=n.callParent();return t.containerElCls=n.containerElCls,Ext.applyIf(t,n.getLabelableRenderData())},getFieldLabel:function(){var n=this.fieldLabel||"";return!n&&this.combineLabels&&(n=Ext.Array.map(this.query("[isFieldLabelable]"),function(n){return n.getFieldLabel()}).join(this.labelConnector)),n},getSubTplData:function(){var n=this.initRenderData();return Ext.apply(n,this.subTplData),n},getSubTplMarkup:function(){var n=this,t=n.getTpl("fieldSubTpl");return t.renderContent||n.setupRenderTpl(t),t.apply(n.getSubTplData())},updateLabel:function(){var n=this,t=n.labelEl;t&&n.setFieldLabel(n.getFieldLabel())},onFieldErrorChange:function(){if(this.combineErrors){var n=this,i=n.getActiveError(),r=Ext.Array.filter(n.query("[isFormField]"),function(n){return n.hasActiveError()}),t=n.getCombinedErrors(r);t?n.setActiveErrors(t):n.unsetActiveError();i!==n.getActiveError()&&n.doComponentLayout()}},getCombinedErrors:function(n){for(var e=[],h=n.length,r,u,i,o,s,f,t=0;t<h;t++)for(r=n[t],u=r.getActiveErrors(),o=u.length,i=0;i<o;i++)s=u[i],f=r.getFieldLabel(),e.push((f?f+": ":"")+s);return e},getTargetEl:function(){return this.containerEl},applyTargetCls:function(n){var t=this.containerElCls;this.containerElCls=t?t+" "+n:n}},0,["fieldcontainer"],["component","container","fieldcontainer","box"],{component:!0,container:!0,fieldcontainer:!0,box:!0},["widget.fieldcontainer"],[["labelable",Ext.form.Labelable],["fieldAncestor",Ext.form.FieldAncestor]],[Ext.form,"FieldContainer"],0);Ext.cmd.derive("Ext.layout.container.CheckboxGroup",Ext.layout.container.Container,{autoFlex:!0,type:"checkboxgroup",createsInnerCt:!0,childEls:["innerCt"],renderTpl:['<table id="{ownerId}-innerCt" class="'+Ext.plainTableCls+'" cellpadding="0"','role="presentation" style="{tableStyle}"><tbody><tr>','<tpl for="columns">','<td class="{parent.colCls}" valign="top" style="{style}">',"{% this.renderColumn(out,parent,xindex-1) %}","<\/td>","<\/tpl>","<\/tr><\/tbody><\/table>"],lastOwnerItemsGeneration:null,beginLayout:function(n){var i=this,e,f,t,u,o,h=0,s=0,c=i.autoFlex,r=i.innerCt.dom.style;if(i.callParent(arguments),e=i.columnNodes,n.innerCtContext=n.getEl("innerCt",i),n.widthModel.shrinkWrap)r.tableLayout="auto",r.width="";else{if(f=e.length,i.columnsArray){for(t=0;t<f;t++)u=i.owner.columns[t],u<1&&(h+=u,s++);for(t=0;t<f;t++)u=i.owner.columns[t],o=u<1?u/h*100+"%":u+"px",e[t].style.width=o}else for(t=0;t<f;t++)o=c?100/f+"%":"",e[t].style.width=o,s++;s?s<f?(r.tableLayout="fixed",r.width="100%"):(r.tableLayout="auto",r.width=c?"100%":""):(r.tableLayout="fixed",r.width="")}},cacheElements:function(){var n=this;n.callParent();n.rowEl=n.innerCt.down("tr");n.columnNodes=n.rowEl.dom.childNodes},calculate:function(n){var o=this,t,i,r,e,u,f;n.getDomProp("containerChildrenSizeDone")?(t=n.innerCtContext,i=n.widthModel.shrinkWrap,r=n.heightModel.shrinkWrap,e=r||i,u=t.el.dom,f=e&&t.getPaddingInfo(),i&&n.setContentWidth(u.offsetWidth+f.width,!0),r&&n.setContentHeight(u.offsetHeight+f.height,!0)):o.done=!1},doRenderColumn:function(n,t,i){var s=t.$layout,h=s.owner,c=t.columnCount,l=h.items.items,u=l.length,f,r,e,o,a;for(h.vertical?(e=Math.ceil(u/c),r=i*e,u=Math.min(u,r+e),o=1):(r=i,o=c);r<u;r+=o)f=l[r],s.configureItem(f),a=f.getRenderTree(),Ext.DomHelper.generateMarkup(a,n)},getColumnCount:function(){var t=this,i=t.owner,n=i.columns;return t.columnsArray?n.length:Ext.isNumber(n)?n:i.items.length},getItemSizePolicy:function(){return this.autoSizePolicy},getRenderData:function(){var t=this,r=t.callParent(),h=t.owner,n,u=t.getColumnCount(),i,e,o,c=t.autoFlex,s=0,f=0;if(t.columnsArray)for(n=0;n<u;n++)i=t.owner.columns[n],i<1&&(s+=i,f++);for(r.colCls=h.groupCls,r.columnCount=u,r.columns=[],n=0;n<u;n++)e=r.columns[n]={},t.columnsArray?(i=t.owner.columns[n],o=i<1?i/s*100+"%":i+"px",e.style="width:"+o):(e.style="width:"+100/u+"%",f++);return r.tableStyle=f?f<u?"table-layout:fixed;width:100%":c?"table-layout:auto;width:100%":"table-layout:auto;":"table-layout:fixed;",r},initLayout:function(){var n=this,t=n.owner;n.columnsArray=Ext.isArray(t.columns);n.autoColumns=!t.columns||t.columns==="auto";n.vertical=t.vertical;n.callParent()},isValidParent:function(){return!0},setupRenderTpl:function(n){this.callParent(arguments);n.renderColumn=this.doRenderColumn},renderChildren:function(){var n=this,t=n.owner.items.generation;n.lastOwnerItemsGeneration!==t&&(n.lastOwnerItemsGeneration=t,n.renderItems(n.getLayoutItems()))},renderItems:function(n){var t=this,r=n.length,i,u,s,f,e,o;if(r){for(Ext.suspendLayouts(),t.autoColumns&&t.addMissingColumns(r),f=t.columnNodes.length,s=Math.ceil(r/f),i=0;i<r;i++)u=n[i],e=t.getRenderRowIndex(i,s,f),o=t.getRenderColumnIndex(i,s,f),u.rendered?t.isItemAtPosition(u,e,o)||t.moveItem(u,e,o):t.renderItem(u,e,o);t.autoColumns&&t.removeExceedingColumns(r);Ext.resumeLayouts(!0)}},isItemAtPosition:function(n,t,i){return n.el.dom===this.getNodeAt(t,i)},getRenderColumnIndex:function(n,t,i){return this.vertical?Math.floor(n/t):n%i},getRenderRowIndex:function(n,t,i){var r=this;return r.vertical?n%t:Math.floor(n/i)},getNodeAt:function(n,t){return this.columnNodes[t].childNodes[n]},addMissingColumns:function(n){var t=this,r=t.columnNodes.length,u,f,e,i;if(r<n)for(u=n-r,f=t.rowEl,e=t.owner.groupCls,i=0;i<u;i++)f.createChild({cls:e,tag:"td",vAlign:"top"})},removeExceedingColumns:function(n){var i=this,r=i.columnNodes.length,u,f,t;if(r>n)for(u=r-n,f=i.rowEl,t=0;t<u;t++)f.last().remove()},renderItem:function(n,t,i){var r=this;r.configureItem(n);n.render(Ext.get(r.columnNodes[i]),t);r.afterRenderItem(n)},moveItem:function(n,t,i){var u=this,r=u.columnNodes[i],f=r.childNodes[t];r.insertBefore(n.el.dom,f||null)}},0,0,0,0,["layout.checkboxgroup"],0,[Ext.layout.container,"CheckboxGroup"],0);Ext.cmd.derive("Ext.form.CheckboxManager",Ext.util.MixedCollection,{singleton:!0,getByName:function(n,t){return this.filterBy(function(i){return i.name==n&&i.getFormId()==t})}},0,0,0,0,0,0,[Ext.form,"CheckboxManager"],0);Ext.cmd.derive("Ext.form.field.Checkbox",Ext.form.field.Base,{alternateClassName:"Ext.form.Checkbox",componentLayout:"field",stretchInputElFixed:!1,childEls:["boxLabelEl"],fieldSubTpl:["<tpl if=\"boxLabel && boxLabelAlign == 'before'\">","{beforeBoxLabelTpl}",'<label id="{cmpId}-boxLabelEl" {boxLabelAttrTpl} class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">',"{beforeBoxLabelTextTpl}","{boxLabel}","{afterBoxLabelTextTpl}","<\/label>","{afterBoxLabelTpl}","<\/tpl>",'<input type="{inputTypeAttr}" id="{id}" {inputAttrTpl}','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>','<tpl if="ariaAttrs"> {ariaAttrs}<\/tpl>',' class="{fieldCls} {typeCls} {inputCls} {childElCls}" autocomplete="off" hidefocus="true" />',"<tpl if=\"boxLabel && boxLabelAlign == 'after'\">","{beforeBoxLabelTpl}",'<label id="{cmpId}-boxLabelEl" {boxLabelAttrTpl} class="{boxLabelCls} {boxLabelCls}-{boxLabelAlign}" for="{id}">',"{beforeBoxLabelTextTpl}","{boxLabel}","{afterBoxLabelTextTpl}","<\/label>","{afterBoxLabelTpl}","<\/tpl>",{disableFormats:!0,compiled:!0}],subTplInsertions:["beforeBoxLabelTpl","afterBoxLabelTpl","beforeBoxLabelTextTpl","afterBoxLabelTextTpl","boxLabelAttrTpl","inputAttrTpl"],isCheckbox:!0,focusCls:"form-checkbox-focus",extraFieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:!1,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",inputTypeAttr:"button",onRe:/^on$/i,inputCls:Ext.baseCSSPrefix+"form-cb",initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var n=this,t=!!n.checked;n.originalValue=n.lastValue=t;n.setValue(t)},getElConfig:function(){var n=this;return n.isChecked(n.rawValue,n.inputValue)&&n.addCls(n.checkedCls),n.callParent()},getFieldStyle:function(){return Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||""},getSubTplData:function(){var n=this;return Ext.apply(n.callParent(),{disabled:n.readOnly||n.disabled,boxLabel:n.boxLabel,boxLabelCls:n.boxLabelCls,boxLabelAlign:n.boxLabelAlign,inputTypeAttr:n.inputTypeAttr})},initEvents:function(){var n=this;n.callParent();n.mon(n.inputEl,"click",n.onBoxClick,n)},setBoxLabel:function(n){var t=this;t.boxLabel=n;t.rendered&&t.boxLabelEl.update(n)},onBoxClick:function(){var n=this;n.disabled||n.readOnly||this.setValue(!this.checked)},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var n=this.uncheckedValue,t=Ext.isDefined(n)?n:null;return this.checked?this.inputValue:t},isChecked:function(n,t){return n===!0||n==="true"||n==="1"||n===1||((Ext.isString(n)||Ext.isNumber(n))&&t?n==t:this.onRe.test(n))},setRawValue:function(n){var t=this,r=t.inputEl,i=t.isChecked(n,t.inputValue);return r&&t[i?"addCls":"removeCls"](t.checkedCls),t.checked=t.rawValue=i,i},setValue:function(n){var t=this,r,i,f,u;if(Ext.isArray(n))for(r=t.getManager().getByName(t.name,t.getFormId()).items,f=r.length,i=0;i<f;++i)u=r[i],u.setValue(Ext.Array.contains(n,u.inputValue));else t.callParent(arguments);return t},valueToRaw:function(n){return n},onChange:function(n){var t=this,i=t.handler;i&&i.call(t.scope||t,t,n);t.callParent(arguments)},resetOriginalValue:function(n){var t=this,r,u,f,i;if(!n)for(r=t.getManager().getByName(t.name,t.getFormId()).items,f=r.length,i=0;i<f;++i)u=r[i],u!==t&&r[i].resetOriginalValue(!0);t.callParent()},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var n=this,t=n.inputEl;n.callParent();t&&(t.dom.disabled=n.readOnly)},setReadOnly:function(n){var t=this,i=t.inputEl;i&&(i.dom.disabled=!!n||t.disabled);t.callParent(arguments)},getFormId:function(){var n=this,t;return n.formId||(t=n.up("form"),t&&(n.formId=t.id)),n.formId}},0,["checkbox","checkboxfield"],["field","component","checkbox","box","checkboxfield"],{field:!0,component:!0,checkbox:!0,box:!0,checkboxfield:!0},["widget.checkbox","widget.checkboxfield"],0,[Ext.form.field,"Checkbox",Ext.form,"Checkbox"],0);Ext.cmd.derive("Ext.form.CheckboxGroup",Ext.form.FieldContainer,{columns:"auto",vertical:!1,allowBlank:!0,blankText:"You must select at least one item in this group",defaultType:"checkboxfield",groupCls:Ext.baseCSSPrefix+"form-check-group",extraFieldBodyCls:Ext.baseCSSPrefix+"form-checkboxgroup-body",layout:"checkboxgroup",componentCls:Ext.baseCSSPrefix+"form-checkboxgroup",initComponent:function(){var n=this;n.callParent();n.initField()},initValue:function(){var n=this,t=n.value;n.originalValue=n.lastValue=t||n.getValue();t&&n.setValue(t)},onAdd:function(n){var t=this,r,u,i;if(n.isCheckbox)t.mon(n,"change",t.checkChange,t);else if(n.isContainer)for(r=n.items.items,i=0,u=r.length;i<u;i++)t.onAdd(r[i]);t.callParent(arguments)},onRemove:function(n){var t=this,r,u,i;if(n.isCheckbox)t.mun(n,"change",t.checkChange,t);else if(n.isContainer)for(r=n.items.items,i=0,u=r.length;i<u;i++)t.onRemove(r[i]);t.callParent(arguments)},isEqual:function(n,t){var i=Ext.Object.toQueryString;return i(n)===i(t)},getErrors:function(){var n=[];return!this.allowBlank&&Ext.isEmpty(this.getChecked())&&n.push(this.blankText),n},getBoxes:function(n){return this.query("[isCheckbox]"+(n||""))},eachBox:function(n,t){Ext.Array.forEach(this.getBoxes(),n,t||this)},getChecked:function(){return this.getBoxes("[checked]")},isDirty:function(){for(var t=this.getBoxes(),i=t.length,n=0;n<i;n++)if(t[n].isDirty())return!0},setReadOnly:function(n){for(var i=this.getBoxes(),r=i.length,t=0;t<r;t++)i[t].setReadOnly(n);this.readOnly=n},reset:function(){var n=this,t=n.hasActiveError(),i=n.preventMark;n.preventMark=!0;n.batchChanges(function(){for(var i=n.getBoxes(),r=i.length,t=0;t<r;t++)i[t].reset()});n.preventMark=i;n.unsetActiveError();t&&n.updateLayout()},resetOriginalValue:function(){for(var n=this,i=n.getBoxes(),r=i.length,t=0;t<r;t++)i[t].resetOriginalValue();n.originalValue=n.getValue();n.checkDirty()},setValue:function(n){var f=this,e=f.getBoxes(),i,o=e.length,r,t,u;return f.batchChanges(function(){for(i=0;i<o;i++)r=e[i],t=r.getName(),u=!1,n&&n.hasOwnProperty(t)&&(u=Ext.isArray(n[t])?Ext.Array.contains(n[t],r.inputValue):n[t]),r.setValue(u)}),f},getValue:function(){for(var n={},e=this.getBoxes(),o=e.length,u,t,f,i,r=0;r<o;r++)u=e[r],t=u.getName(),f=u.inputValue,u.getValue()&&(n.hasOwnProperty(t)?(i=n[t],Ext.isArray(i)||(i=n[t]=[i]),i.push(f)):n[t]=f);return n},getSubmitData:function(){return null},getModelData:function(){return null},validate:function(){var n=this,i,t,r;return n.disabled?t=!0:(i=n.getErrors(),t=Ext.isEmpty(i),r=n.wasValid,t?n.unsetActiveError():n.setActiveError(i)),t!==r&&(n.wasValid=t,n.fireEvent("validitychange",n,t),n.updateLayout()),t}},0,["checkboxgroup"],["checkboxgroup","component","container","fieldcontainer","box"],{checkboxgroup:!0,component:!0,container:!0,fieldcontainer:!0,box:!0},["widget.checkboxgroup"],[["field",Ext.form.field.Field]],[Ext.form,"CheckboxGroup"],function(){this.borrow(Ext.form.field.Base,["markInvalid","clearInvalid","setError"])});Ext.cmd.derive("Ext.form.FieldSet",Ext.container.Container,{collapsed:!1,toggleOnTitleClick:!0,baseCls:Ext.baseCSSPrefix+"fieldset",layout:"anchor",componentLayout:"fieldset",autoEl:"fieldset",childEls:["body"],renderTpl:["{%this.renderLegend(out,values);%}",'<div id="{id}-body" class="{baseCls}-body {bodyTargetCls}"<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values);%}","<\/div>"],stateEvents:["collapse","expand"],maskOnDisable:!1,beforeDestroy:function(){var n=this,t=n.legend;t&&(delete t.ownerCt,t.destroy(),n.legend=null);n.callParent()},initComponent:function(){var n=this,t=n.baseCls;n.initFieldAncestor();n.callParent();n.layout.managePadding=n.layout.manageOverflow=!1;n.addEvents("beforeexpand","beforecollapse","expand","collapse");n.collapsed&&(n.addCls(t+"-collapsed"),n.collapse());(n.title||n.checkboxToggle||n.collapsible)&&(n.addTitleClasses(),n.legend=Ext.widget(n.createLegendCt()));n.initMonitor()},initPadding:function(n){var i=this,u=i.getProtoBody(),t=i.padding,r;t!==undefined&&((Ext.isIEQuirks||Ext.isIE8m)&&(t=i.parseBox(t),r=Ext.Element.parseBox(0),r.top=t.top,t.top=0,u.setStyle("padding",i.unitizeBox(r))),n.setStyle("padding",i.unitizeBox(t)))},getProtoBody:function(){var t=this,n=t.protoBody;return n||(t.protoBody=n=new Ext.util.ProtoElement({styleProp:"bodyStyle",styleIsText:!0})),n},initRenderData:function(){var n=this,t=n.callParent();return t.bodyTargetCls=n.bodyTargetCls,n.protoBody.writeTo(t),delete n.protoBody,t},getState:function(){var n=this.callParent();return this.addPropertyToState(n,"collapsed")},afterCollapse:Ext.emptyFn,afterExpand:Ext.emptyFn,collapsedHorizontal:function(){return!0},collapsedVertical:function(){return!0},createLegendCt:function(){var n=this,t=[],i={xtype:"container",baseCls:n.baseCls+"-header",id:n.id+"-legend",autoEl:"legend",items:t,ownerCt:n,shrinkWrap:!0,ownerLayout:n.componentLayout};return n.checkboxToggle?t.push(n.createCheckboxCmp()):n.collapsible&&t.push(n.createToggleCmp()),t.push(n.createTitleCmp()),i},createTitleCmp:function(){var n=this,t={xtype:"component",html:n.title,cls:n.baseCls+"-header-text",id:n.id+"-legendTitle"};return n.collapsible&&n.toggleOnTitleClick&&(t.listeners={click:{element:"el",scope:n,fn:n.toggle}},t.cls+=" "+n.baseCls+"-header-text-collapsible"),n.titleCmp=Ext.widget(t)},createCheckboxCmp:function(){var n=this,t="-checkbox";return n.checkboxCmp=Ext.widget({xtype:"checkbox",hideEmptyLabel:!0,name:n.checkboxName||n.id+t,cls:n.baseCls+"-header"+t,id:n.id+"-legendChk",checked:!n.collapsed,listeners:{change:n.onCheckChange,scope:n}}),n.checkboxCmp},createToggleCmp:function(){var n=this;return n.toggleCmp=Ext.widget({xtype:"tool",height:15,width:15,type:"toggle",handler:n.toggle,id:n.id+"-legendToggle",scope:n}),n.toggleCmp},doRenderLegend:function(n,t){var u=t.$comp,i=u.legend,r;i&&(i.ownerLayout.configureItem(i),r=i.getRenderTree(),Ext.DomHelper.generateMarkup(r,n))},finishRender:function(){var n=this.legend;this.callParent();n&&n.finishRender()},getCollapsed:function(){return this.collapsed?"top":!1},getCollapsedDockedItems:function(){var n=this.legend;return n?[n]:[]},setTitle:function(n){var t=this,i=t.legend,r=t.baseCls;return t.title=n,t.rendered?(i||(t.legend=i=Ext.widget(t.createLegendCt()),t.addTitleClasses(),i.ownerLayout.configureItem(i),i.render(t.el,0)),t.titleCmp.update(n)):i?t.titleCmp.update(n):(t.addTitleClasses(),t.legend=Ext.widget(t.createLegendCt())),t},addTitleClasses:function(){var n=this,t=n.title,i=n.baseCls;t&&n.addCls(i+"-with-title");(t||n.checkboxToggle||n.collapsible)&&n.addCls(i+"-with-header")},applyTargetCls:function(n){this.bodyTargetCls=n},getTargetEl:function(){return this.body||this.frameBody||this.el},getDefaultContentTarget:function(){return this.body},expand:function(){return this.setExpanded(!0)},collapse:function(){return this.setExpanded(!1)},setExpanded:function(n){var t=this,i=t.checkboxCmp,r=n?"expand":"collapse";return t.rendered&&t.fireEvent("before"+r,t)===!1||(n=!!n,i&&i.setValue(n),n?t.removeCls(t.baseCls+"-collapsed"):t.addCls(t.baseCls+"-collapsed"),t.collapsed=!n,n?delete t.getHierarchyState().collapsed:t.getHierarchyState().collapsed=!0,t.rendered&&(t.updateLayout({isRoot:!1}),t.fireEvent(r,t))),t},getRefItems:function(n){var t=this.callParent(arguments),i=this.legend;return i&&(t.unshift(i),n&&t.unshift.apply(t,i.getRefItems(!0))),t},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(n,t){this.setExpanded(t)},setupRenderTpl:function(n){this.callParent(arguments);n.renderLegend=this.doRenderLegend}},0,["fieldset"],["component","container","box","fieldset"],{component:!0,container:!0,box:!0,fieldset:!0},["widget.fieldset"],[["fieldAncestor",Ext.form.FieldAncestor]],[Ext.form,"FieldSet"],0);Ext.cmd.derive("Ext.form.Label",Ext.Component,{autoEl:"label",maskOnDisable:!1,getElConfig:function(){var n=this;return n.html=n.text?Ext.util.Format.htmlEncode(n.text):n.html||"",Ext.apply(n.callParent(),{htmlFor:n.forId||""})},setText:function(n,t){var i=this;return t=t!==!1,t?(i.text=n,delete i.html):(i.html=n,delete i.text),i.rendered&&(i.el.dom.innerHTML=t!==!1?Ext.util.Format.htmlEncode(n):n,i.updateLayout()),i}},0,["label"],["component","label","box"],{component:!0,label:!0,box:!0},["widget.label"],0,[Ext.form,"Label"],0);Ext.cmd.derive("Ext.form.Panel",Ext.panel.Panel,{alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],layout:"anchor",ariaRole:"form",basicFormConfigs:["api","baseParams","errorReader","jsonSubmit","method","paramOrder","paramsAsHash","reader","standardSubmit","timeout","trackResetOnLoad","url","waitMsgTarget","waitTitle"],initComponent:function(){var n=this;n.frame&&(n.border=!1);n.initFieldAncestor();n.callParent();n.relayEvents(n.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);n.pollForChanges&&n.startPolling(n.pollInterval||500)},initItems:function(){this.callParent();this.initMonitor();this.form=this.createForm()},afterFirstLayout:function(){this.callParent(arguments);this.form.initialize()},createForm:function(){for(var i={},r=this.basicFormConfigs,u=r.length,n=0,t;n<u;++n)t=r[n],i[t]=this[t];return new Ext.form.Basic(this,i)},getForm:function(){return this.form},loadRecord:function(n){return this.getForm().loadRecord(n)},getRecord:function(){return this.getForm().getRecord()},updateRecord:function(n){return this.getForm().updateRecord(n)},getValues:function(n,t,i,r){return this.getForm().getValues(n,t,i,r)},isDirty:function(){return this.form.isDirty()},isValid:function(){return this.form.isValid()},hasInvalidField:function(){return this.form.hasInvalidField()},beforeDestroy:function(){this.stopPolling();this.form.destroy();this.callParent()},load:function(n){this.form.load(n)},submit:function(n){this.form.submit(n)},startPolling:function(n){this.stopPolling();var t=new Ext.util.TaskRunner(n);t.start({interval:0,run:this.checkChange,scope:this});this.pollTask=t},stopPolling:function(){var n=this.pollTask;n&&(n.stopAll(),delete this.pollTask)},checkChange:function(){for(var t=this.form.getFields().items,i=t.length,n=0;n<i;n++)t[n].checkChange()}},0,["form"],["panel","form","component","container","box"],{panel:!0,form:!0,component:!0,container:!0,box:!0},["widget.form"],[["fieldAncestor",Ext.form.FieldAncestor]],[Ext.form,"Panel",Ext,"FormPanel",Ext.form,"FormPanel"],0);Ext.cmd.derive("Ext.form.RadioManager",Ext.util.MixedCollection,{singleton:!0,getByName:function(n,t){return this.filterBy(function(i){return i.name==n&&i.getFormId()==t})},getWithValue:function(n,t,i){return this.filterBy(function(r){return r.name==n&&r.inputValue==t&&r.getFormId()==i})},getChecked:function(n,t){return this.findBy(function(i){return i.name==n&&i.checked&&i.getFormId()==t})}},0,0,0,0,0,0,[Ext.form,"RadioManager"],0);Ext.cmd.derive("Ext.form.field.Radio",Ext.form.field.Checkbox,{alternateClassName:"Ext.form.Radio",isRadio:!0,focusCls:"form-radio-focus",inputType:"radio",ariaRole:"radio",formId:null,getGroupValue:function(){var n=this.getManager().getChecked(this.name,this.getFormId());return n?n.inputValue:null},onBoxClick:function(){var n=this;n.disabled||n.readOnly||this.setValue(!0)},onRemoved:function(){this.callParent(arguments);this.formId=null},setValue:function(n){var t=this,i;return Ext.isBoolean(n)?t.callParent(arguments):(i=t.getManager().getWithValue(t.name,n,t.getFormId()).getAt(0),i&&i.setValue(!0)),t},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(n){var t=this,i,f,r,u;if(t.callParent(arguments),n)for(u=t.getManager().getByName(t.name,t.getFormId()).items,f=u.length,i=0;i<f;i++)r=u[i],r!==t&&r.setValue(!1)},getManager:function(){return Ext.form.RadioManager}},0,["radiofield","radio"],["field","component","radiofield","checkbox","radio","box","checkboxfield"],{field:!0,component:!0,radiofield:!0,checkbox:!0,radio:!0,box:!0,checkboxfield:!0},["widget.radio","widget.radiofield"],0,[Ext.form.field,"Radio",Ext.form,"Radio"],0);Ext.cmd.derive("Ext.form.RadioGroup",Ext.form.CheckboxGroup,{allowBlank:!0,blankText:"You must select one item in this group",defaultType:"radiofield",groupCls:Ext.baseCSSPrefix+"form-radio-group",getBoxes:function(n){return this.query("[isRadio]"+(n||""))},checkChange:function(){var n=this.getValue(),t=Ext.Object.getKeys(n)[0];Ext.isArray(n[t])||this.callParent(arguments)},setValue:function(n){var f,r,e,u,t,o,i;if(Ext.isObject(n))for(i in n)if(n.hasOwnProperty(i))for(f=n[i],r=this.items.first(),e=r?r.getFormId():null,u=Ext.form.RadioManager.getWithValue(i,f,e).items,o=u.length,t=0;t<o;++t)u[t].setValue(!0);return this}},0,["radiogroup"],["radiogroup","checkboxgroup","component","container","fieldcontainer","box"],{radiogroup:!0,checkboxgroup:!0,component:!0,container:!0,fieldcontainer:!0,box:!0},["widget.radiogroup"],0,[Ext.form,"RadioGroup"],0);Ext.cmd.derive("Ext.form.action.DirectLoad",Ext.form.action.Load,{alternateClassName:"Ext.form.Action.DirectLoad",type:"directload",run:function(){var t=this,i=t.form,u=i.api,n=u.load,f,r;typeof n!="function"&&(u.load=n=Ext.direct.Manager.parseMethod(n));f=n.directCfg.method;r=f.getArgs(t.getParams(),i.paramOrder,i.paramsAsHash);r.push(t.onComplete,t);n.apply(window,r)},processResponse:function(n){return this.result=n},onComplete:function(n){if(n)this.onSuccess(n);else this.onFailure(null)}},0,0,0,0,["formaction.directload"],0,[Ext.form.action,"DirectLoad",Ext.form.Action,"DirectLoad"],0);Ext.cmd.derive("Ext.form.action.DirectSubmit",Ext.form.action.Submit,{alternateClassName:"Ext.form.Action.DirectSubmit",type:"directsubmit",doSubmit:function(){var n=this,i=n.form,r=i.api,t=r.submit,e=Ext.Function.bind(n.onComplete,n),u=n.buildForm(),f;typeof t!="function"&&(r.submit=t=Ext.direct.Manager.parseMethod(t));(n.timeout||i.timeout)&&(f={timeout:n.timeout*1e3||i.timeout*1e3});t.call(window,u.formEl,e,n,f);n.cleanup(u)},processResponse:function(n){return this.result=n},onComplete:function(n){if(n)this.onSuccess(n);else this.onFailure(null)}},0,0,0,0,["formaction.directsubmit"],0,[Ext.form.action,"DirectSubmit",Ext.form.Action,"DirectSubmit"],0);Ext.cmd.derive("Ext.form.action.StandardSubmit",Ext.form.action.Submit,{doSubmit:function(){var n=this.buildForm();n.formEl.submit();this.cleanup(n)}},0,0,0,0,["formaction.standardsubmit"],0,[Ext.form.action,"StandardSubmit"],0);Ext.cmd.derive("Ext.layout.component.field.Trigger",Ext.layout.component.field.Field,{type:"triggerfield",borderWidths:{},beginLayout:function(n){var t=this,i=t.owner,r;n.triggerWrap=n.getEl("triggerWrap");t.callParent(arguments);r=i.getTriggerStateFlags();r!=i.lastTriggerStateFlags&&(i.lastTriggerStateFlags=r,t.updateEditState())},beginLayoutCycle:function(n){this.callParent(arguments);n.widthModel.shrinkWrap&&!this.owner.inputWidth&&n.inputContext.el.setStyle("width","")},beginLayoutFixed:function(n,t,i){var u=this,r=n.target,e=u.ieInputWidthAdjustment||0,f="100%",o=r.triggerWrap;u.callParent(arguments);r.inputCell.setStyle("width","100%");e&&(u.adjustIEInputPadding(n),i==="px"&&(f=(r.inputWidth?r.inputWidth-u.getExtraWidth(n):t-e-u.getExtraWidth(n))+"px"));r.inputEl.setStyle("width",f);f=r.inputWidth;f?o.setStyle("width",f+e+"px"):o.setStyle("width",t+i);o.setStyle("table-layout","fixed")},adjustIEInputPadding:function(){this.owner.inputCell.setStyle("padding-right",this.ieInputWidthAdjustment+"px")},getExtraWidth:function(n){var u=this,t=u.owner,i=u.borderWidths,r=t.ui+t.triggerEl.getCount();return r in i||(i[r]=n.triggerWrap.getBorderInfo().width),i[r]+t.getTriggerWidth()},beginLayoutShrinkWrap:function(n){var t=n.target,r="",i=t.inputWidth,u=t.triggerWrap;this.callParent(arguments);i?(u.setStyle("width",i+"px"),i=i-this.getExtraWidth(n)+"px",t.inputEl.setStyle("width",i),t.inputCell.setStyle("width",i)):(t.inputCell.setStyle("width",r),t.inputEl.setStyle("width",r),u.setStyle("width",r),u.setStyle("table-layout","auto"))},getTextWidth:function(){var r=this,n=r.owner,t=n.inputEl,i;return i=(t.dom.value||(n.hasFocus?"":n.emptyText)||"")+n.growAppend,t.getTextWidth(i)},publishOwnerWidth:function(n,t){var i=this.owner;this.callParent(arguments);i.grow||i.inputWidth||(t-=this.getExtraWidth(n),i.labelAlign!="top"&&(t-=i.getLabelWidth()),n.inputContext.setWidth(t))},publishInnerHeight:function(n,t){n.inputContext.setHeight(t-this.measureLabelErrorHeight(n))},measureContentWidth:function(n){var t=this,i=t.owner,u=t.callParent(arguments),e=n.inputContext,f,r,o;return i.grow&&!n.state.growHandled?(f=t.getTextWidth()+n.inputContext.getFrameInfo().width,r=i.growMax,o=Math.min(r,u),r=Math.max(i.growMin,r,o),f=Ext.Number.constrain(f,i.growMin,r),e.setWidth(f),n.state.growHandled=!0,e.domBlock(t,"width"),u=NaN):i.inputWidth||(u-=t.getExtraWidth(n)),u},updateEditState:function(){var n=this,f=n.owner,t=f.inputEl,r=Ext.baseCSSPrefix+"trigger-noedit",u,i;n.owner.readOnly?(t.addCls(r),i=!0,u=!1):(n.owner.editable?(t.removeCls(r),i=!1):(t.addCls(r),i=!0),u=!n.owner.hideTrigger);f.triggerCell.setDisplayed(u);t.dom.readOnly=i}},0,0,0,0,["layout.triggerfield"],0,[Ext.layout.component.field,"Trigger"],0);Ext.cmd.derive("Ext.form.field.Trigger",Ext.form.field.Text,{alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],childEls:[{name:"triggerCell",select:"."+Ext.baseCSSPrefix+"trigger-cell"},{name:"triggerEl",select:"."+Ext.baseCSSPrefix+"form-trigger"},"triggerWrap","inputCell"],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",triggerNoEditCls:Ext.baseCSSPrefix+"trigger-noedit",hideTrigger:!1,editable:!0,readOnly:!1,repeatTriggerClick:!1,autoSize:Ext.emptyFn,monitorTab:!0,mimicing:!1,triggerIndexRe:/trigger-index-(\d+)/,extraTriggerCls:"",componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},getSubTplMarkup:function(n){var t=this,i=n.childElCls,r=t.callParent(arguments);return'<table id="'+t.id+'-triggerWrap" class="'+Ext.baseCSSPrefix+"form-trigger-wrap"+i+'" cellpadding="0" cellspacing="0"><tbody><tr><td id="'+t.id+'-inputCell" class="'+Ext.baseCSSPrefix+"form-trigger-input-cell"+i+'">'+r+"<\/td>"+t.getTriggerMarkup()+"<\/tr><\/tbody><\/table>"},getSubTplData:function(){var n=this,r=n.callParent(),t=n.readOnly===!0,i=n.editable!==!1;return Ext.apply(r,{editableCls:t||!i?" "+n.triggerNoEditCls:"",readOnly:!i||t})},getLabelableRenderData:function(){var n=this,t=n.triggerWrapCls,i=n.callParent(arguments);return Ext.applyIf(i,{triggerWrapCls:t,triggerMarkup:n.getTriggerMarkup()})},getTriggerMarkup:function(){var n=this,t=0,f=n.readOnly||n.hideTrigger,r,u=n.triggerBaseCls,i=[],e=Ext.dom.Element.unselectableCls,o="width:"+n.triggerWidth+"px;"+(f?"display:none;":""),s=n.extraTriggerCls+" "+Ext.baseCSSPrefix+"trigger-cell "+e;for(n.trigger1Cls||(n.trigger1Cls=n.triggerCls),t=0;(r=n["trigger"+(t+1)+"Cls"])||t<1;t++)i.push({tag:"td",valign:"top",cls:s,style:o,cn:{cls:[Ext.baseCSSPrefix+"trigger-index-"+t,u,r].join(" "),role:"button"}});return i[0].cn.cls+=" "+u+"-first",Ext.DomHelper.markup(i)},disableCheck:function(){return!this.disabled},beforeRender:function(){var n=this,i=n.triggerBaseCls,t;n.triggerWidth||(t=Ext.getBody().createChild({style:"position: absolute;",cls:Ext.baseCSSPrefix+"form-trigger"}),Ext.form.field.Trigger.prototype.triggerWidth=t.getWidth(),t.remove());n.callParent();i!=Ext.baseCSSPrefix+"form-trigger"&&n.addChildEls({name:"triggerEl",select:"."+i});n.lastTriggerStateFlags=n.getTriggerStateFlags()},onRender:function(){var n=this;n.callParent(arguments);n.doc=Ext.getDoc();n.initTrigger()},getTriggerWidth:function(){var n=this,t=0;return!n.triggerWrap||n.hideTrigger||n.readOnly||(t=n.triggerEl.getCount()*n.triggerWidth),t},setHideTrigger:function(n){n!=this.hideTrigger&&(this.hideTrigger=n,this.updateLayout())},setEditable:function(n){n!=this.editable&&(this.editable=n,this.updateLayout())},setReadOnly:function(n){var t=this,i=t.readOnly;t.callParent(arguments);n!=i&&t.updateLayout()},initTrigger:function(){var n=this,o=n.triggerWrap,i=n.triggerEl,r=n.disableCheck,u,s,f,t,e;for(n.repeatTriggerClick?n.triggerRepeater=new Ext.util.ClickRepeater(o,{preventDefault:!0,handler:n.onTriggerWrapClick,listeners:{mouseup:n.onTriggerWrapMouseup,scope:n},scope:n}):n.mon(o,{click:n.onTriggerWrapClick,mouseup:n.onTriggerWrapMouseup,scope:n}),i.setVisibilityMode(Ext.Element.DISPLAY),i.addClsOnOver(n.triggerBaseCls+"-over",r,n),u=i.elements,s=u.length,t=0;t<s;t++)f=u[t],e=t+1,f.addClsOnOver(n["trigger"+e+"Cls"]+"-over",r,n),f.addClsOnClick(n["trigger"+e+"Cls"]+"-click",r,n);i.addClsOnClick(n.triggerBaseCls+"-click",r,n)},onDestroy:function(){var n=this;Ext.destroyMembers(n,"triggerRepeater","triggerWrap","triggerEl");delete n.doc;n.callParent()},onFocus:function(){var n=this;if(n.callParent(arguments),!n.mimicing&&(n.bodyEl.addCls(n.wrapFocusCls),n.mimicing=!0,n.mon(n.doc,"mousedown",n.mimicBlur,n,{delay:10}),n.monitorTab))n.on("specialkey",n.checkTab,n)},checkTab:function(n,t){this.ignoreMonitorTab||t.getKey()!=t.TAB||this.triggerBlur()},getTriggerStateFlags:function(){var t=this,n=0;return t.readOnly&&(n+=1),t.editable&&(n+=2),t.hideTrigger&&(n+=4),n},onBlur:Ext.emptyFn,mimicBlur:function(n){this.isDestroyed||this.bodyEl.contains(n.target)||!this.validateBlur(n)||this.triggerBlur(n)},triggerBlur:function(n){var t=this;t.mimicing=!1;t.mun(t.doc,"mousedown",t.mimicBlur,t);t.monitorTab&&t.inputEl&&t.un("specialkey",t.checkTab,t);Ext.form.field.Trigger.superclass.onBlur.call(t,n);t.bodyEl&&t.bodyEl.removeCls(t.wrapFocusCls)},validateBlur:function(){return!0},onTriggerWrapClick:function(){var n=this,i,r,u,t;t=arguments[n.triggerRepeater?1:0];!t||n.readOnly||n.disabled||(i=t.getTarget("."+n.triggerBaseCls,null),r=i&&i.className.match(n.triggerIndexRe),r&&(u=n["onTrigger"+(parseInt(r[1],10)+1)+"Click"]||n.onTriggerClick,u&&u.call(n,t)))},onTriggerWrapMouseup:Ext.emptyFn,onTriggerClick:Ext.emptyFn},0,["trigger","triggerfield"],["field","trigger","textfield","component","box","triggerfield"],{field:!0,trigger:!0,textfield:!0,component:!0,box:!0,triggerfield:!0},["widget.trigger","widget.triggerfield"],0,[Ext.form.field,"Trigger",Ext.form,"TriggerField",Ext.form,"TwinTriggerField",Ext.form,"Trigger"],0);Ext.cmd.derive("Ext.form.field.Picker",Ext.form.field.Trigger,{alternateClassName:"Ext.form.Picker",matchFieldWidth:!0,pickerAlign:"tl-bl?",openCls:Ext.baseCSSPrefix+"pickerfield-open",editable:!0,initComponent:function(){this.callParent();this.addEvents("expand","collapse","select")},initEvents:function(){var n=this;n.callParent();n.keyNav=new Ext.util.KeyNav(n.inputEl,{down:n.onDownArrow,esc:{handler:n.onEsc,scope:n,defaultEventAction:!1},scope:n,forceKeyDown:!0});n.editable||n.mon(n.inputEl,"click",n.onTriggerClick,n);Ext.isGecko&&n.inputEl.dom.setAttribute("autocomplete","off")},onEsc:function(n){Ext.isIE&&n.preventDefault();this.isExpanded&&(this.collapse(),n.stopEvent())},onDownArrow:function(){this.isExpanded||this.onTriggerClick()},expand:function(){var n=this,i,r,t;if(n.rendered&&!n.isExpanded&&!n.isDestroyed){n.expanding=!0;i=n.bodyEl;r=n.getPicker();t=n.collapseIf;r.show();n.isExpanded=!0;n.alignPicker();i.addCls(n.openCls);n.mon(Ext.getDoc(),{mousewheel:t,mousedown:t,scope:n});Ext.EventManager.onWindowResize(n.alignPicker,n);n.fireEvent("expand",n);n.onExpand();delete n.expanding}},onExpand:Ext.emptyFn,alignPicker:function(){var n=this,t=n.getPicker();n.isExpanded&&(n.matchFieldWidth&&t.setWidth(n.bodyEl.getWidth()),t.isFloating()&&n.doAlign())},doAlign:function(){var n=this,t=n.picker,r="-above",i;n.picker.alignTo(n.triggerWrap,n.pickerAlign,n.pickerOffset);i=t.el.getY()<n.inputEl.getY();n.bodyEl[i?"addCls":"removeCls"](n.openCls+r);t[i?"addCls":"removeCls"](t.baseCls+r)},collapse:function(){if(this.isExpanded&&!this.isDestroyed){var n=this,i=n.openCls,t=n.picker,r=Ext.getDoc(),u=n.collapseIf,f="-above";t.hide();n.isExpanded=!1;n.bodyEl.removeCls([i,i+f]);t.el.removeCls(t.baseCls+f);r.un("mousewheel",u,n);r.un("mousedown",u,n);Ext.EventManager.removeResizeListener(n.alignPicker,n);n.fireEvent("collapse",n);n.onCollapse()}},onCollapse:Ext.emptyFn,collapseIf:function(n){var t=this;t.isDestroyed||n.within(t.bodyEl,!1,!0)||n.within(t.picker.el,!1,!0)||t.isEventWithinPickerLoadMask(n)||t.collapse()},getPicker:function(){var n=this;return n.picker||(n.picker=n.createPicker())},createPicker:Ext.emptyFn,onTriggerClick:function(){var n=this;n.readOnly||n.disabled||(n.isExpanded?n.collapse():n.expand(),n.inputEl.focus())},triggerBlur:function(){var n=this.picker;this.callParent(arguments);n&&n.isVisible()&&n.hide()},mimicBlur:function(n){var t=this,i=t.picker;i&&(n.within(i.el,!1,!0)||t.isEventWithinPickerLoadMask(n))||t.callParent(arguments)},onDestroy:function(){var n=this,t=n.picker;Ext.EventManager.removeResizeListener(n.alignPicker,n);Ext.destroy(n.keyNav);t&&(delete t.pickerField,t.destroy());n.callParent()},isEventWithinPickerLoadMask:function(n){var t=this.picker.loadMask;return t?n.within(t.maskEl,!1,!0)||n.within(t.el,!1,!0):!1}},0,["pickerfield"],["field","trigger","textfield","pickerfield","component","box","triggerfield"],{field:!0,trigger:!0,textfield:!0,pickerfield:!0,component:!0,box:!0,triggerfield:!0},["widget.pickerfield"],0,[Ext.form.field,"Picker",Ext.form,"Picker"],0);Ext.cmd.derive("Ext.selection.Model",Ext.util.Observable,{alternateClassName:"Ext.AbstractSelectionModel",allowDeselect:undefined,toggleOnClick:!0,selected:null,pruneRemoved:!0,suspendChange:0,constructor:function(n){var t=this;n=n||{};Ext.apply(t,n);t.addEvents("selectionchange","focuschange");t.modes={SINGLE:!0,SIMPLE:!0,MULTI:!0};t.setSelectionMode(n.mode||t.mode);t.selected=new Ext.util.MixedCollection(null,t.getSelectionId);t.callParent(arguments)},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);i.store&&!t&&i.refresh()},getStoreListeners:function(){var n=this;return{add:n.onStoreAdd,clear:n.onStoreClear,bulkremove:n.onStoreRemove,update:n.onStoreUpdate,load:n.onStoreLoad,idchanged:n.onModelIdChanged,refresh:n.onStoreRefresh}},suspendChanges:function(){++this.suspendChange},resumeChanges:function(){this.suspendChange&&--this.suspendChange},selectAll:function(n){var t=this,r=t.store.getRange(),i=0,u=r.length,f=t.getSelection().length;for(t.suspendChanges();i<u;i++)t.doSelect(r[i],!0,n);t.resumeChanges();n||t.maybeFireSelectionChange(t.getSelection().length!==f)},deselectAll:function(n){for(var t=this,i=t.getSelection(),u={},o=t.store,s=i.length,f,r=0,e=i.length;r<e;r++)f=i[r],u[f.internalId]=o.indexOf(f);i=Ext.Array.sort(i,function(n,t){var i=u[n.internalId],r=u[t.internalId];return i<r?-1:1});t.suspendChanges();t.doDeselect(i,n);t.resumeChanges();n||t.maybeFireSelectionChange(t.getSelection().length!==s)},selectWithEvent:function(n,t){var i=this,r=i.isSelected(n),e=t.shiftKey,u=t.ctrlKey,c=i.selectionStart,l=i.getSelection(),a=l.length,o=i.allowDeselect,s,f,h;switch(i.selectionMode){case"MULTI":if(e&&c)i.selectRange(c,n,u);else if(u&&r)i.doDeselect(n,!1);else if(u)i.doSelect(n,!0,!1);else if(r&&!e&&!u&&a>1){for(s=[],f=0;f<a;++f)h=l[f],h!==n&&s.push(h);i.doDeselect(s)}else r||i.doSelect(n,!1);break;case"SIMPLE":r?i.doDeselect(n):i.doSelect(n,!0);break;case"SINGLE":o&&!u&&(o=i.toggleOnClick);o&&r?i.doDeselect(n):i.doSelect(n,!1)}e||(i.selectionStart=i.isSelected(n)?n:null)},afterKeyNavigate:function(n,t){var i=this,r,o,u=i.isSelected(t),f=i.selectionStart&&i.isSelected(i.lastFocused)?i.selectionStart:i.selectionStart=i.lastFocused,e=n.getCharCode(),s=e===n.SPACE,h=e===n.UP||e===n.PAGE_UP?"up":e===n.DOWN||e===n.DOWN?"down":null;switch(i.selectionMode){case"MULTI":s?n.shiftKey?i.selectRange(f,t,n.ctrlKey):u?(i.doDeselect(t,n.ctrlKey),i.setLastFocused(null),i.setLastFocused(t)):i.doSelect(t,n.ctrlKey):n.shiftKey&&f?(o=i.store.indexOf(f),r=i.store.indexOf(t),h==="up"&&o<=r?i.deselectRange(i.lastFocused,r+1):h==="down"&&o>=r?i.deselectRange(i.lastFocused,r-1):f!==t&&i.selectRange(f,t,n.ctrlKey),i.lastSelected=t,i.setLastFocused(t)):n.ctrlKey&&u?i.setLastFocused(t):n.ctrlKey?i.setLastFocused(t):i.doSelect(t,!1);break;case"SIMPLE":u?i.doDeselect(t):i.doSelect(t,!0);break;case"SINGLE":s?u?(i.doDeselect(t),i.setLastFocused(t)):i.doSelect(t):n.ctrlKey?i.setLastFocused(t):i.allowDeselect&&u?i.doDeselect(t):i.doSelect(t,!1)}n.shiftKey||i.isSelected(t)&&(i.selectionStart=t)},selectRange:function(n,t,i){var u=this,o=u.store,a=u.selected.items,s,r,f,h,e,c,l;if(!u.isLocked()){for(s=u.normalizeRowRange(n,t),n=s[0],t=s[1],h=[],r=n;r<=t;r++)u.isSelected(o.getAt(r))||h.push(o.getAt(r));if(!i){for(e=[],u.suspendChanges(),r=0,f=a.length;r<f;++r)l=a[r],c=o.indexOf(l),(c<n||c>t)&&e.push(l);for(r=0,f=e.length;r<f;++r)u.doDeselect(e[r]);u.resumeChanges()}u.doMultiSelect(h,!0)}},deselectRange:function(n,t){var i=this,o=i.store,u,r,f,e;if(!i.isLocked()){for(u=i.normalizeRowRange(n,t),n=u[0],t=u[1],f=[],r=n;r<=t;r++)e=o.getAt(r),i.isSelected(e)&&f.push(e);i.doDeselect(f)}},normalizeRowRange:function(n,t){var i=this.store,r;return Ext.isNumber(n)||(n=i.indexOf(n)),n=Math.max(0,n),Ext.isNumber(t)||(t=i.indexOf(t)),t=Math.min(t,i.getCount()-1),n>t&&(r=t,t=n,n=r),[n,t]},onModelIdChanged:function(n,t,i,r,u){this.selected.updateKey(u,r)},select:function(n,t,i){Ext.isDefined(n)&&this.doSelect(n,t,i)},deselect:function(n,t){this.doDeselect(n,t)},doSelect:function(n,t,i){var r=this,u;if(!r.locked&&r.store){if(typeof n=="number"){if(u=r.store.getAt(n),!u)return;n=[u]}r.selectionMode=="SINGLE"&&n?(u=n.length?n[0]:n,r.doSingleSelect(u,i)):r.doMultiSelect(n,t,i)}},doMultiSelect:function(n,t,i){var r=this,e=r.selected,s=!1,o,f,h,u,c;if(!r.locked){if(n=Ext.isArray(n)?n:[n],h=n.length,!t&&e.getCount()>0&&(o=r.deselectDuringSelect(n,e.getRange(),i),o[0])){r.maybeFireSelectionChange(o[1]>0&&!i);return}for(c=function(){e.add(u);s=!0},f=0;f<h;f++)if(u=n[f],!r.isSelected(u)){r.lastSelected=u;r.onSelectChange(u,!0,i,c)}r.preventFocus||r.setLastFocused(u,i);r.maybeFireSelectionChange(s&&!i)}},deselectDuringSelect:function(n,t,i){var u=this,s=t.length,e=0,o=!1,f,r;for(u.suspendChanges(),r=0;r<s;++r)f=t[r],Ext.Array.contains(n,f)||(u.doDeselect(f,i)?++e:o=!0);return u.resumeChanges(),[o,e]},doDeselect:function(n,t){var i=this,e=i.selected,u=0,o,r,s=0,f=0,h;if(i.locked||!i.store)return!1;if(typeof n=="number"){if(r=i.store.getAt(n),!r)return!1;n=[r]}else Ext.isArray(n)||(n=[n]);for(h=function(){++f;e.remove(r)},o=n.length,i.suspendChanges();u<o;u++)if(r=n[u],i.isSelected(r)){i.lastSelected===r&&(i.lastSelected=e.last(),i.lastFocused===r&&i.setLastFocused(null));++s;i.onSelectChange(r,!1,t,h)}return i.resumeChanges(),i.maybeFireSelectionChange(f>0&&!t),f===s},doSingleSelect:function(n,t){var i=this,r=!1,u=i.selected,f;if(!i.locked&&!i.isSelected(n)){if(u.getCount()){if(i.suspendChanges(),!i.doDeselect(i.lastSelected,t)){i.resumeChanges();return}i.resumeChanges()}f=function(){u.add(n);i.lastSelected=n;r=!0};i.onSelectChange(n,!0,t,f);r&&(t||i.preventFocus||i.setLastFocused(n),i.maybeFireSelectionChange(!t))}},setLastFocused:function(n,t){var i=this,r=i.lastFocused;if(n!==r){i.lastFocused=n;i.onLastFocusChanged(r,n,t)}},isFocused:function(n){return n===this.getLastFocused()},maybeFireSelectionChange:function(n){var t=this;n&&!t.suspendChange&&t.fireEvent("selectionchange",t,t.getSelection())},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(n){n=n?n.toUpperCase():"SINGLE";this.selectionMode=this.modes[n]?n:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(n){this.locked=!!n},isRangeSelected:function(n,t){var r=this,f=r.store,i,u;for(u=r.normalizeRowRange(n,t),n=u[0],t=u[1],i=n;i<=t;i++)if(!r.isSelected(f.getAt(i)))return!1;return!0},isSelected:function(n){return n=Ext.isNumber(n)?this.store.getAt(n):n,this.selected.contains(n)},hasSelection:function(){return this.selected.getCount()>0},getSelectionId:function(n){return n.internalId},pruneIf:function(){var i=this,r=i.selected,t=[],u=r.length,n,f;if(i.pruneRemoved){for(n=0;n<u;n++)f=r.getAt(n),this.storeHasSelected(f)||t.push(f);if(t.length){for(n=0,u=t.length;n<u;n++)r.remove(t[n]);i.maybeFireSelectionChange(!0)}}},storeHasSelected:function(n){var r=this.store,i,u,f,t;if(n.hasId()&&r.getById(n))return!0;for(i=r.data.items,u=i.length,f=n.internalId,t=0;t<u;++t)if(f===i[t].internalId)return!0;return!1},refresh:function(){var n=this,u=n.store,f,i=[],t=[],o=n.getSelection(),c=o.length,r,s,e=0,h=n.getLastFocused();if(u){for(;e<c;e++)if(r=o[e],u.indexOf(r)!==-1?i.push(r):n.pruneRemoved||(f=u.getById(r.getId()),f?i.push(f):t.push(r)),n.mode==="SINGLE"&&t.length)break;n.selected.getCount()!=i.length+t.length&&(s=!0);n.clearSelections();u.indexOf(h)!==-1&&n.setLastFocused(h,!0);i.length&&n.doSelect(i,!1,!0);t.length&&(n.selected.addAll(t),n.lastSelected||(n.lastSelected=t[t.length-1]));n.maybeFireSelectionChange(s)}},clearSelections:function(){this.selected.clear();this.lastSelected=null;this.setLastFocused(null)},onStoreAdd:Ext.emptyFn,onStoreClear:function(){this.selected.getCount()>0&&(this.clearSelections(),this.maybeFireSelectionChange(!0))},onStoreRemove:function(n,t,i,r){var u=this;(u.selectionStart&&Ext.Array.contains(t,u.selectionStart)&&(u.selectionStart=null),r||u.locked||!u.pruneRemoved)||u.deselectDeletedRecords(t)},deselectDeletedRecords:function(n){for(var t=this,f=t.selected,e=n.length,u=0,r,i=0;i<e;i++)r=n[i],f.remove(r)&&(t.lastSelected==r&&(t.lastSelected=null),t.getLastFocused()==r&&t.setLastFocused(null),++u);u&&t.maybeFireSelectionChange(!0)},getCount:function(){return this.selected.getCount()},onUpdate:Ext.emptyFn,destroy:function(){this.clearListeners()},onStoreUpdate:Ext.emptyFn,onStoreRefresh:Ext.emptyFn,onStoreLoad:Ext.emptyFn,onSelectChange:function(n,t,i,r){var u=this,f=t?"select":"deselect";(i||u.fireEvent("before"+f,u,n))!==!1&&r()!==!1&&(i||u.fireEvent(f,u,n))},onLastFocusChanged:function(n,t){this.fireEvent("focuschange",this,n,t)},onEditorKey:Ext.emptyFn,beforeViewRender:function(n){this.views=this.views||[];this.views.push(n);this.bindStore(n.getStore(),!0)},bindComponent:Ext.emptyFn},1,0,0,0,0,[["bindable",Ext.util.Bindable]],[Ext.selection,"Model",Ext,"AbstractSelectionModel"],0);Ext.cmd.derive("Ext.selection.DataViewModel",Ext.selection.Model,{deselectOnContainerClick:!0,enableKeyNav:!0,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(n){var t=this,i={refresh:t.refresh,scope:t};t.view=n;t.bindStore(n.getStore());i[n.triggerEvent]=t.onItemClick;i[n.triggerCtEvent]=t.onContainerClick;n.on(i);t.enableKeyNav&&t.initKeyNav(n)},onUpdate:function(n){var t=this.view;if(t&&this.isSelected(n))t.onItemSelect(n)},onItemClick:function(n,t,i,r,u){this.selectWithEvent(t,u)},onContainerClick:function(){this.deselectOnContainerClick&&this.deselectAll()},initKeyNav:function(n){var t=this;if(!n.rendered){n.on({render:Ext.Function.bind(t.initKeyNav,t,[n]),single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n.el,ignoreInputFields:!0,down:Ext.pass(t.onNavKey,[1],t),right:Ext.pass(t.onNavKey,[1],t),left:Ext.pass(t.onNavKey,[-1],t),up:Ext.pass(t.onNavKey,[-1],t),scope:t})},onNavKey:function(n){n=n||1;var i=this,r=i.view,u=i.getSelection()[0],f=i.view.store.getCount(),t;t=u?r.indexOf(r.getNode(u))+n:0;t<0?t=f-1:t>=f&&(t=0);i.select(t)},onSelectChange:function(n,t,i,r){var u=this,f=u.view,e=t?"select":"deselect";if((i||u.fireEvent("before"+e,u,n))!==!1&&r()!==!1){if(f)if(t)f.onItemSelect(n);else f.onItemDeselect(n);i||u.fireEvent(e,u,n)}},onLastFocusChanged:function(n,t,i){var r=this.view;r&&!i&&t&&(r.focusNode(t),this.fireEvent("focuschange",this,n,t))},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}},1,0,0,0,0,0,[Ext.selection,"DataViewModel"],0);Ext.cmd.derive("Ext.view.AbstractView",Ext.Component,{inheritableStatics:{getRecord:function(n){return this.getBoundView(n).getRecord(n)},getBoundView:function(n){return Ext.getCmp(n.boundView)}},deferInitialRefresh:!0,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:!0,loadingUseMsg:!0,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:!0,trackOver:!1,blockRefresh:!1,preserveScrollOnRefresh:!1,last:!1,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var n=this,r=Ext.isDefined,t=n.itemTpl,i={};t&&(Ext.isArray(t)?t=t.join(""):Ext.isObject(t)&&(i=Ext.apply(i,t.initialConfig),t=t.html),n.itemSelector||(n.itemSelector="."+n.itemCls),t=Ext.String.format('<tpl for="."><div class="{0}">{1}<\/div><\/tpl>',n.itemCls,t),n.tpl=new Ext.XTemplate(t,i));n.callParent();n.tpl=n.getTpl("tpl");n.overItemCls&&(n.trackOver=!0);n.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");n.addCmpEvents();n.store=Ext.data.StoreManager.lookup(n.store||"ext-empty-store");n.dataSource||(n.dataSource=n.store);n.bindStore(n.dataSource,!0,"dataSource");n.all||(n.all=new Ext.CompositeElementLite);n.scrollState={top:0,left:0};n.on({scroll:n.onViewScroll,element:"el",scope:n})},onRender:function(){var n=this,t=n.loadMask,r=n.getMaskStore(),i={target:n,msg:n.loadingText,msgCls:n.loadingCls,useMsg:n.loadingUseMsg,store:r};if(n.callParent(arguments),t&&!r.proxy.isSynchronous){Ext.isObject(t)&&(i=Ext.apply(i,t));n.loadMask=new Ext.LoadMask(i);n.loadMask.on({scope:n,beforeshow:n.onMaskBeforeShow,hide:n.onMaskHide})}},finishRender:function(){var n=this;n.callParent(arguments);n.up("[collapsed],[hidden]")||n.doFirstRefresh(n.dataSource)},onBoxReady:function(){var n=this;n.callParent(arguments);n.firstRefreshDone||n.doFirstRefresh(n.dataSource)},getMaskStore:function(){return this.store},onMaskBeforeShow:function(){var n=this,t=n.loadingHeight;t&&t>n.getHeight()&&(n.hasLoadingHeight=!0,n.oldMinHeight=n.minHeight,n.minHeight=t,n.updateLayout())},onMaskHide:function(){var n=this;!n.destroying&&n.hasLoadingHeight&&(n.minHeight=n.oldMinHeight,n.updateLayout(),delete n.hasLoadingHeight)},beforeRender:function(){this.callParent(arguments);this.getSelectionModel().beforeViewRender(this)},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var n=this,t="SINGLE";return n.simpleSelect?t="SIMPLE":n.multiSelect&&(t="MULTI"),n.selModel&&n.selModel.events||(n.selModel=new Ext.selection.DataViewModel(Ext.apply({allowDeselect:n.allowDeselect,mode:t},n.selModel))),n.selModel.hasRelaySetup||(n.relayEvents(n.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect","focuschange"]),n.selModel.hasRelaySetup=!0),n.disableSelection&&(n.selModel.locked=!0),n.selModel},refresh:function(){var n=this,i,r,f,e,t,u;n.rendered&&!n.isDestroyed&&(n.hasListeners.beforerefresh&&n.fireEvent("beforerefresh",n)===!1||(i=n.getTargetEl(),u=n.getViewRange(),t=i.dom,n.preserveScrollOnRefresh||(r=t.parentNode,f=t.style.display,t.style.display="none",e=t.nextSibling,r.removeChild(t)),n.refreshCounter?n.clearViewEl():(n.fixedNodes=i.dom.childNodes.length,n.refreshCounter=1),n.tpl.append(i,n.collectData(u,n.all.startIndex)),u.length<1?(this.store.loading||n.deferEmptyText&&!n.hasFirstRefresh||Ext.core.DomHelper.insertHtml("beforeEnd",i.dom,n.emptyText),n.all.clear()):(n.collectNodes(i.dom),n.updateIndexes(0)),n.hasFirstRefresh&&(n.refreshSelmodelOnRefresh!==!1?n.selModel.refresh():n.selModel.pruneIf()),n.hasFirstRefresh=!0,n.preserveScrollOnRefresh||(r.insertBefore(t,e),t.style.display=f),this.refreshSize(),n.fireEvent("refresh",n),n.viewReady||(n.viewReady=!0,n.fireEvent("viewready",n))))},collectNodes:function(n){this.all.fill(Ext.query(this.getItemSelector(),Ext.getDom(n)),this.all.startIndex)},getViewRange:function(){return this.dataSource.getRange()},refreshSize:function(){var n=this.getSizeModel();(n.height.shrinkWrap||n.width.shrinkWrap)&&this.updateLayout()},clearViewEl:function(){var n=this,t=n.getTargetEl();if(n.fixedNodes)while(t.dom.childNodes[n.fixedNodes])t.dom.removeChild(t.dom.childNodes[n.fixedNodes]);else t.update("");n.refreshCounter++},onViewScroll:Ext.emptyFn,onIdChanged:Ext.emptyFn,saveScrollState:function(){if(this.rendered){var n=this.el.dom,t=this.scrollState;t.left=n.scrollLeft;t.top=n.scrollTop}},restoreScrollState:function(){if(this.rendered){var n=this.el.dom,t=this.scrollState;n.scrollLeft=t.left;n.scrollTop=t.top}},prepareData:function(n,t,i){var r,u,f;if(i){r=i.getAssociatedData();for(u in r)r.hasOwnProperty(u)&&(f||(n=Ext.Object.chain(n),f=!0),n[u]=r[u])}return n},collectData:function(n,t){for(var u=[],i=0,f=n.length,r;i<f;i++)r=n[i],u[i]=this.prepareData(r.data,t+i,r);return u},bufferRender:function(n,t){var i=this,r=i.renderBuffer||(i.renderBuffer=document.createElement("div"));return i.tpl.overwrite(r,i.collectData(n,t)),Ext.DomQuery.select(i.getItemSelector(),r)},getNodeContainer:function(){return this.getTargetEl()},onUpdate:function(n,t){var i=this,r,u;if(i.viewReady&&(r=i.dataSource.indexOf(t),r>-1&&(u=i.bufferRender([t],r)[0],i.getNode(t)))){i.all.replaceElement(r,u,!0);i.updateIndexes(r,r);i.selModel.onUpdate(t);return i.hasListeners.itemupdate&&i.fireEvent("itemupdate",t,r,u),u}},onAdd:function(n,t,i){var r=this,u;r.rendered&&(r.all.getCount()===0?(r.refresh(),u=r.all.slice()):(u=r.doAdd(t,i),r.refreshSelmodelOnRefresh!==!1&&r.selModel.refresh(),r.updateIndexes(i),r.refreshSize()),r.hasListeners.itemadd&&r.fireEvent("itemadd",t,i,u))},doAdd:function(n,t){var f=this,i=f.bufferRender(n,t,!0),r=f.all,e=r.getCount(),u,o;if(e===0)for(u=0,o=i.length;u<o;u++)this.getNodeContainer().appendChild(i[u]);else t<e?t===0?r.item(t).insertSibling(i,"before",!0):r.item(t-1).insertSibling(i,"after",!0):r.last().insertSibling(i,"after",!0);return r.insert(t,i),i},onRemove:function(n,t,i){var u=this,o=u.hasListeners.itemremove,r,f,e;if(u.all.getCount()){if(u.dataSource.getCount()===0){if(o)for(r=i.length-1;r>=0;--r)u.fireEvent("itemremove",t[r],i[r]);u.refresh()}else{for(r=i.length-1;r>=0;--r)f=t[r],e=i[r],u.doRemove(f,e),o&&u.fireEvent("itemremove",f,e);u.updateIndexes(i[0])}this.refreshSize()}},doRemove:function(n,t){this.all.removeElement(t,!0)},refreshNode:function(n){this.onUpdate(this.dataSource,this.dataSource.getAt(n))},updateIndexes:function(n,t){var r=this.all.elements,u=this.getViewRange(),i;for(n=n||0,t=t||(t===0?0:r.length-1),i=n;i<=t;i++)r[i].viewIndex=i,r[i].viewRecordId=u[i].internalId,r[i].boundView||(r[i].boundView=this.id)},getStore:function(){return this.store},bindStore:function(n,t){var i=this;i.mixins.bindable.bindStore.apply(i,arguments);t||i.getSelectionModel().bindStore(n);i.componentLayoutCounter&&i.doFirstRefresh(n)},doFirstRefresh:function(n){var t=this;t.firstRefreshDone=!0;n&&!n.loading&&(t.deferInitialRefresh?t.applyFirstRefresh():t.refresh())},applyFirstRefresh:function(){var n=this;n.isDestroyed||(n.up("[isCollapsingOrExpanding]")?Ext.Function.defer(n.applyFirstRefresh,100,n):Ext.Function.defer(function(){n.isDestroyed||n.refresh()},1))},onUnbindStore:function(){this.setMaskBind(null)},onBindStore:function(n,t,i){this.setMaskBind(n);t||i!=="store"||this.bindStore(n,!1,"dataSource")},setMaskBind:function(n){var t=this.loadMask;t&&t.bindStore&&t.bindStore(n)},getStoreListeners:function(){var n=this;return{idchanged:n.onIdChanged,refresh:n.onDataRefresh,add:n.onAdd,bulkremove:n.onRemove,update:n.onUpdate,clear:n.refresh}},onDataRefresh:function(){this.refreshView()},refreshView:function(){var n=this,t=!n.firstRefreshDone&&(!n.rendered||n.up("[collapsed],[isCollapsingOrExpanding],[hidden]"));t?n.deferInitialRefresh=!1:n.blockRefresh!==!0&&(n.firstRefreshDone=!0,n.refresh())},findItemByChild:function(n){return Ext.fly(n).findParent(this.getItemSelector(),this.getTargetEl())},findTargetByEvent:function(n){return n.getTarget(this.getItemSelector(),this.getTargetEl())},getSelectedNodes:function(){for(var t=[],i=this.selModel.getSelection(),r=i.length,n=0;n<r;n++)t.push(this.getNode(i[n]));return t},getRecords:function(n){for(var t=[],i=0,r=n.length,u=this.dataSource.data;i<r;i++)t[t.length]=u.getByKey(n[i].viewRecordId);return t},getRecord:function(n){return this.dataSource.data.getByKey(Ext.getDom(n).viewRecordId)},isSelected:function(n){var t=this.getRecord(n);return this.selModel.isSelected(t)},select:function(n,t,i){this.selModel.select(n,t,i)},deselect:function(n,t){this.selModel.deselect(n,t)},getNode:function(n){return!n&&n!==0||!this.rendered?null:Ext.isString(n)?document.getElementById(n):Ext.isNumber(n)?this.all.elements[n]:n.isModel?this.getNodeByRecord(n):n},getNodeByRecord:function(n){for(var i=this.all.elements,r=i.length,t=0;t<r;t++)if(i[t].viewRecordId===n.internalId)return i[t];return null},getNodes:function(n,t){var i=this.all;return t===undefined?t=i.getCount():t++,i.slice(n||0,t)},indexOf:function(n){return(n=this.getNode(n),!n&&n!==0)?-1:Ext.isNumber(n.viewIndex)?n.viewIndex:this.all.indexOf(n)},onDestroy:function(){var n=this;n.all.clear();n.callParent();n.bindStore(null);n.selModel.destroy()},onItemSelect:function(n){var t=this.getNode(n);t&&Ext.fly(t).addCls(this.selectedItemCls)},onItemDeselect:function(n){var t=this.getNode(n);t&&Ext.fly(t).removeCls(this.selectedItemCls)},getItemSelector:function(){return this.itemSelector}},0,0,["component","box"],{component:!0,box:!0},0,[["bindable",Ext.util.Bindable]],[Ext.view,"AbstractView"],function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){return Ext.global.console&&Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel"),this.selModel.getSelection().length},getSelectedRecords:function(){return Ext.global.console&&Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel"),this.selModel.getSelection()},select:function(){Ext.global.console&&Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()");var n=this.getSelectionModel();return n.select.apply(n,arguments)},clearSelections:function(){Ext.global.console&&Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()");var n=this.getSelectionModel();return n.deselectAll()}})})});Ext.cmd.derive("Ext.view.View",Ext.view.AbstractView,{alternateClassName:"Ext.DataView",deferHighlight:Ext.isIE7m?100:0,mouseOverOutBuffer:20,inputTagRe:/^textarea$|^input$/i,inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},initComponent:function(){var n=this;n.callParent();n.mouseOverOutBuffer?(n.handleMouseOverOrOut=Ext.Function.createBuffered(n.handleMouseOverOrOut,n.mouseOverOutBuffer,n),n.lastMouseOverOutEvent=new Ext.EventObjectImpl):n.deferHighlight&&(n.setHighlightedItem=Ext.Function.createBuffered(n.setHighlightedItem,n.deferHighlight,n))},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect","beforedeselect","select","deselect","focuschange","highlightitem","unhighlightitem")},getFocusEl:function(){return this.getTargetEl()},afterRender:function(){var n=this,t=n.mouseOverOutBuffer?n.onMouseOverOut:n.handleMouseOverOrOut;n.callParent();n.mon(n.getTargetEl(),{scope:n,freezeEvent:!0,click:n.handleEvent,mousedown:n.handleEvent,mouseup:n.handleEvent,dblclick:n.handleEvent,contextmenu:n.handleEvent,keydown:n.handleEvent,mouseover:t,mouseout:t})},onMouseOverOut:function(n){var t=this;t.lastMouseOverOutEvent.setEvent(n.browserEvent,!0);t.handleMouseOverOrOut(t.lastMouseOverOutEvent)},handleMouseOverOrOut:function(n){var t=this,u=n.type==="mouseout",i=u?n.getRelatedTarget:n.getTarget,r=i.call(n,t.itemSelector)||i.call(n,t.dataRowSelector);t.mouseOverItem&&r===t.mouseOverItem||(t.mouseOverItem&&(n.item=t.mouseOverItem,n.newType="mouseleave",t.handleEvent(n)),t.mouseOverItem=r,t.mouseOverItem&&(n.item=t.mouseOverItem,n.newType="mouseenter",t.handleEvent(n)))},handleEvent:function(n){var t=this,i=n.type=="keydown"&&n.getKey();t.processUIEvent(n)!==!1&&t.processSpecialEvent(n);i===n.SPACE&&(t.inputTagRe.test(n.getTarget().tagName)||n.stopEvent())},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,processUIEvent:function(n){if(Ext.getBody().isAncestor(n.target)){var t=this,r=n.getTarget(t.getItemSelector(),t.getTargetEl()),o=this.statics().EventMap,u,i,f=n.type,e=n.type,s;if(n.newType&&(e=n.newType,r=n.item),r||f!="keydown"||(s=t.getSelectionModel(),i=s.lastFocused||s.getLastSelected(),i&&(r=t.getNode(i,!0))),r){if((i||(i=t.getRecord(r)),u=t.indexInStore?t.indexInStore(i):t.indexOf(r),!i||t.processItemEvent(i,r,u,n)===!1)||t["onBeforeItem"+o[e]](i,r,u,n)===!1||t.fireEvent("beforeitem"+e,t,i,r,u,n)===!1||t["onItem"+o[e]](i,r,u,n)===!1)return!1;t.fireEvent("item"+e,t,i,r,u,n)}else{if(t.processContainerEvent(n)===!1||t["onBeforeContainer"+o[f]](n)===!1||t.fireEvent("beforecontainer"+f,t,n)===!1||t["onContainer"+o[f]](n)===!1)return!1;t.fireEvent("container"+f,t,n)}return!0}},onItemMouseEnter:function(n,t){this.trackOver&&this.highlightItem(t)},onItemMouseLeave:function(){this.trackOver&&this.clearHighlight()},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,setHighlightedItem:function(n){var t=this,r=t.highlightedItem,f=t.overItemCls,u=t.beforeOverItemCls,i;r!=n&&(r&&(Ext.fly(r).removeCls(f),i=r.previousSibling,u&&i&&Ext.fly(i).removeCls(u),t.fireEvent("unhighlightitem",t,r)),t.highlightedItem=n,n&&(Ext.fly(n).addCls(t.overItemCls),i=n.previousSibling,u&&i&&Ext.fly(i).addCls(u),t.fireEvent("highlightitem",t,n)))},highlightItem:function(n){this.setHighlightedItem(n)},clearHighlight:function(){this.setHighlightedItem(undefined)},onUpdate:function(n,t){var i=this,f,r,u;i.viewReady&&(f=i.getNode(t),r=i.callParent(arguments),u=i.highlightedItem,u&&u===f&&(delete i.highlightedItem,r&&i.highlightItem(r)))},refresh:function(){this.clearHighlight();this.callParent(arguments)},focusNode:function(n){var e=this,o=e.getNode(n,!0),r=e.el,u=0,f=0,t=r.getRegion(),i;t.bottom=t.top+r.dom.clientHeight;t.right=t.left+r.dom.clientWidth;o&&(i=Ext.fly(o).getRegion(),i.top<t.top?u=i.top-t.top:i.bottom>t.bottom&&(u=i.bottom-t.bottom),i.left<t.left?f=i.left-t.left:i.right>t.right&&(f=i.right-t.right),(f||u)&&e.scrollBy(f,u,!1),r.focus())}},0,["dataview"],["component","box","dataview"],{component:!0,box:!0,dataview:!0},["widget.dataview"],0,[Ext.view,"View",Ext,"DataView"],0);Ext.cmd.derive("Ext.layout.component.BoundList",Ext.layout.component.Auto,{type:"component",beginLayout:function(n){var i=this,t=i.owner,r=t.pagingToolbar;i.callParent(arguments);t.floating&&(n.savedXY=t.getXY(),t.setXY([0,-9999]));r&&(n.toolbarContext=n.context.getCmp(r));n.listContext=n.getEl("listEl")},beginLayoutCycle:function(n){var t=this.owner;this.callParent(arguments);n.heightModel.auto&&(t.el.setHeight("auto"),t.listEl.setHeight("auto"))},getLayoutItems:function(){var n=this.owner.pagingToolbar;return n?[n]:[]},isValidParent:function(){return!0},finishedLayout:function(n){var t=n.savedXY;this.callParent(arguments);t&&this.owner.setXY(t)},measureContentWidth:function(){return this.owner.listEl.getWidth()},measureContentHeight:function(){return this.owner.listEl.getHeight()},publishInnerHeight:function(n,t){var r=n.toolbarContext,i=0;r&&(i=r.getProp("height"));i===undefined?this.done=!1:n.listContext.setHeight(t-n.getFrameInfo().height-i)},calculateOwnerHeightFromContentHeight:function(n){var t=this.callParent(arguments),i=n.toolbarContext;return i&&(t+=i.getProp("height")),t}},0,0,0,0,["layout.boundlist"],0,[Ext.layout.component,"BoundList"],0);Ext.cmd.derive("Ext.toolbar.TextItem",Ext.toolbar.Item,{alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",beforeRender:function(){var n=this;n.callParent();Ext.apply(n.renderData,{text:n.text})},setText:function(n){var t=this;t.text=n;t.rendered&&(t.el.update(n),t.updateLayout())}},0,["tbtext"],["tbitem","component","box","tbtext"],{tbitem:!0,component:!0,box:!0,tbtext:!0},["widget.tbtext"],0,[Ext.toolbar,"TextItem",Ext.Toolbar,"TextItem"],0);Ext.cmd.derive("Ext.form.field.Spinner",Ext.form.field.Trigger,{alternateClassName:"Ext.form.Spinner",trigger1Cls:Ext.baseCSSPrefix+"form-spinner-up",trigger2Cls:Ext.baseCSSPrefix+"form-spinner-down",spinUpEnabled:!0,spinDownEnabled:!0,keyNavEnabled:!0,mouseWheelEnabled:!0,repeatTriggerClick:!0,onSpinUp:Ext.emptyFn,onSpinDown:Ext.emptyFn,triggerTpl:'<td style="{triggerStyle}" class="{triggerCls}"><div class="'+Ext.baseCSSPrefix+"trigger-index-0 "+Ext.baseCSSPrefix+"form-trigger "+Ext.baseCSSPrefix+'form-spinner-up {spinnerUpCls} {childElCls}" role="button"><\/div><div class="'+Ext.baseCSSPrefix+"trigger-index-1 "+Ext.baseCSSPrefix+"form-trigger "+Ext.baseCSSPrefix+'form-spinner-down {spinnerDownCls} {childElCls}" role="button"><\/div><\/td><\/tr>',initComponent:function(){this.callParent();this.addEvents("spin","spinup","spindown")},onRender:function(){var n=this,t;n.callParent(arguments);t=n.triggerEl;n.spinUpEl=t.item(0);n.spinDownEl=t.item(1);n.triggerCell=n.spinUpEl.parent();n.keyNavEnabled&&(n.spinnerKeyNav=new Ext.util.KeyNav(n.inputEl,{scope:n,up:n.spinUp,down:n.spinDown}));n.mouseWheelEnabled&&n.mon(n.bodyEl,"mousewheel",n.onMouseWheel,n)},getSubTplMarkup:function(n){var t=this,i=n.childElCls,r=Ext.form.field.Base.prototype.getSubTplMarkup.apply(t,arguments);return'<table id="'+t.id+'-triggerWrap" class="'+Ext.baseCSSPrefix+"form-trigger-wrap"+i+'" cellpadding="0" cellspacing="0"><tbody><tr><td id="'+t.id+'-inputCell" class="'+Ext.baseCSSPrefix+"form-trigger-input-cell"+i+'">'+r+"<\/td>"+t.getTriggerMarkup()+"<\/tbody><\/table>"},getTriggerMarkup:function(){return this.getTpl("triggerTpl").apply(this.getTriggerData())},getTriggerData:function(){var n=this,t=n.readOnly||n.hideTrigger;return{triggerCls:Ext.baseCSSPrefix+"trigger-cell",triggerStyle:t?"display:none":"",spinnerUpCls:n.spinUpEnabled?"":n.trigger1Cls+"-disabled",spinnerDownCls:n.spinDownEnabled?"":n.trigger2Cls+"-disabled"}},getTriggerWidth:function(){var n=this,t=0;return!n.triggerWrap||n.hideTrigger||n.readOnly||(t=n.triggerWidth),t},onTrigger1Click:function(){this.spinUp()},onTrigger2Click:function(){this.spinDown()},onTriggerWrapMouseup:function(){this.inputEl.focus()},spinUp:function(){var n=this;n.spinUpEnabled&&!n.disabled&&(n.fireEvent("spin",n,"up"),n.fireEvent("spinup",n),n.onSpinUp())},spinDown:function(){var n=this;n.spinDownEnabled&&!n.disabled&&(n.fireEvent("spin",n,"down"),n.fireEvent("spindown",n),n.onSpinDown())},setSpinUpEnabled:function(n){var t=this,i=t.spinUpEnabled;t.spinUpEnabled=n;i!==n&&t.rendered&&t.spinUpEl[n?"removeCls":"addCls"](t.trigger1Cls+"-disabled")},setSpinDownEnabled:function(n){var t=this,i=t.spinDownEnabled;t.spinDownEnabled=n;i!==n&&t.rendered&&t.spinDownEl[n?"removeCls":"addCls"](t.trigger2Cls+"-disabled")},onMouseWheel:function(n){var t=this,i;t.hasFocus&&(i=n.getWheelDelta(),i>0?t.spinUp():i<0&&t.spinDown(),n.stopEvent())},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}},0,["spinnerfield"],["field","trigger","textfield","component","box","spinnerfield","triggerfield"],{field:!0,trigger:!0,textfield:!0,component:!0,box:!0,spinnerfield:!0,triggerfield:!0},["widget.spinnerfield"],0,[Ext.form.field,"Spinner",Ext.form,"Spinner"],0);Ext.cmd.derive("Ext.form.field.Number",Ext.form.field.Spinner,{alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowExponential:!0,allowDecimals:!0,decimalSeparator:".",submitLocaleSeparator:!0,decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:!1,initComponent:function(){var n=this;n.callParent();n.setMinValue(n.minValue);n.setMaxValue(n.maxValue)},getErrors:function(n){var t=this,i=t.callParent(arguments),u=Ext.String.format,r;return(n=Ext.isDefined(n)?n:this.processRawValue(this.getRawValue()),n.length<1)?i:(n=String(n).replace(t.decimalSeparator,"."),isNaN(n)&&i.push(u(t.nanText,n)),r=t.parseValue(n),t.minValue===0&&r<0?i.push(this.negativeText):r<t.minValue&&i.push(u(t.minText,t.minValue)),r>t.maxValue&&i.push(u(t.maxText,t.maxValue)),i)},rawToValue:function(n){var t=this.fixPrecision(this.parseValue(n));return t===null&&(t=n||null),t},valueToRaw:function(n){var t=this,i=t.decimalSeparator;return n=t.parseValue(n),n=t.fixPrecision(n),n=Ext.isNumber(n)?n:parseFloat(String(n).replace(i,".")),isNaN(n)?"":String(n).replace(".",i)},getSubmitValue:function(){var n=this,t=n.callParent();return n.submitLocaleSeparator||(t=t.replace(n.decimalSeparator,".")),t},onChange:function(){this.toggleSpinners();this.callParent(arguments)},toggleSpinners:function(){var n=this,i=n.getValue(),r=i===null,t;(n.spinUpEnabled||n.spinUpDisabledByToggle)&&(t=r||i<n.maxValue,n.setSpinUpEnabled(t,!0));(n.spinDownEnabled||n.spinDownDisabledByToggle)&&(t=r||i>n.minValue,n.setSpinDownEnabled(t,!0))},setMinValue:function(n){var t=this,i;t.minValue=Ext.Number.from(n,Number.NEGATIVE_INFINITY);t.toggleSpinners();t.disableKeyFilter!==!0&&(i=t.baseChars+"",t.allowExponential?i+=t.decimalSeparator+"e+-":(t.allowDecimals&&(i+=t.decimalSeparator),t.minValue<0&&(i+="-")),i=Ext.String.escapeRegex(i),t.maskRe=new RegExp("["+i+"]"),t.autoStripChars&&(t.stripCharsRe=new RegExp("[^"+i+"]","gi")))},setMaxValue:function(n){this.maxValue=Ext.Number.from(n,Number.MAX_VALUE);this.toggleSpinners()},parseValue:function(n){return n=parseFloat(String(n).replace(this.decimalSeparator,".")),isNaN(n)?null:n},fixPrecision:function(n){var i=this,r=isNaN(n),t=i.decimalPrecision;return r||!n?r?"":n:((!i.allowDecimals||t<=0)&&(t=0),parseFloat(Ext.Number.toFixed(parseFloat(n),t)))},beforeBlur:function(){var n=this,t=n.parseValue(n.getRawValue());Ext.isEmpty(t)||n.setValue(t)},setSpinUpEnabled:function(n,t){this.callParent(arguments);t?this.spinUpDisabledByToggle=!n:delete this.spinUpDisabledByToggle},onSpinUp:function(){var n=this;n.readOnly||n.setSpinValue(Ext.Number.constrain(n.getValue()+n.step,n.minValue,n.maxValue))},setSpinDownEnabled:function(n,t){this.callParent(arguments);t?this.spinDownDisabledByToggle=!n:delete this.spinDownDisabledByToggle},onSpinDown:function(){var n=this;n.readOnly||n.setSpinValue(Ext.Number.constrain(n.getValue()-n.step,n.minValue,n.maxValue))},setSpinValue:function(n){var t=this;t.enforceMaxLength&&t.fixPrecision(n).toString().length>t.maxLength||t.setValue(n)}},0,["numberfield"],["field","trigger","textfield","component","box","numberfield","spinnerfield","triggerfield"],{field:!0,trigger:!0,textfield:!0,component:!0,box:!0,numberfield:!0,spinnerfield:!0,triggerfield:!0},["widget.numberfield"],0,[Ext.form.field,"Number",Ext.form,"NumberField",Ext.form,"Number"],0);Ext.cmd.derive("Ext.toolbar.Paging",Ext.toolbar.Toolbar,{alternateClassName:"Ext.PagingToolbar",displayInfo:!1,prependButtons:!1,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",inputItemWidth:30,getPagingItems:function(){var n=this;return[{itemId:"first",tooltip:n.firstText,overflowText:n.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:!0,handler:n.moveFirst,scope:n},{itemId:"prev",tooltip:n.prevText,overflowText:n.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:!0,handler:n.movePrevious,scope:n},"-",n.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:!1,minValue:1,hideTrigger:!0,enableKeyEvents:!0,keyNavEnabled:!1,selectOnFocus:!0,submitValue:!1,isFormField:!1,width:n.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:n,keydown:n.onPagingKeyDown,blur:n.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(n.afterPageText,1)},"-",{itemId:"next",tooltip:n.nextText,overflowText:n.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:!0,handler:n.moveNext,scope:n},{itemId:"last",tooltip:n.lastText,overflowText:n.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:!0,handler:n.moveLast,scope:n},"-",{itemId:"refresh",tooltip:n.refreshText,overflowText:n.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:n.doRefresh,scope:n}]},initComponent:function(){var n=this,t=n.getPagingItems(),i=n.items||n.buttons||[];n.items=n.prependButtons?i.concat(t):t.concat(i);delete n.buttons;n.displayInfo&&(n.items.push("->"),n.items.push({xtype:"tbtext",itemId:"displayItem"}));n.callParent();n.addEvents("change","beforechange");n.on("beforerender",n.onLoad,n,{single:!0});n.bindStore(n.store||"ext-empty-store",!0)},updateInfo:function(){var n=this,i=n.child("#displayItem"),f=n.store,t=n.getPageData(),r,u;i&&(r=f.getCount(),u=r===0?n.emptyMsg:Ext.String.format(n.displayMsg,t.fromRecord,t.toRecord,t.total),i.setText(u))},onLoad:function(){var n=this,f,t,r,e,o,i,u;o=n.store.getCount();i=o===0;i?(t=0,r=0,e=Ext.String.format(n.afterPageText,0)):(f=n.getPageData(),t=f.currentPage,r=f.pageCount,e=Ext.String.format(n.afterPageText,isNaN(r)?1:r));Ext.suspendLayouts();u=n.child("#afterTextItem");u&&u.setText(e);u=n.getInputItem();u&&u.setDisabled(i).setValue(t);n.setChildDisabled("#first",t===1||i);n.setChildDisabled("#prev",t===1||i);n.setChildDisabled("#next",t===r||i);n.setChildDisabled("#last",t===r||i);n.setChildDisabled("#refresh",!1);n.updateInfo();Ext.resumeLayouts(!0);n.rendered&&n.fireEvent("change",n,f)},setChildDisabled:function(n,t){var i=this.child(n);i&&i.setDisabled(t)},getPageData:function(){var n=this.store,t=n.getTotalCount();return{total:t,currentPage:n.currentPage,pageCount:Math.ceil(t/n.pageSize),fromRecord:(n.currentPage-1)*n.pageSize+1,toRecord:Math.min(n.currentPage*n.pageSize,t)}},onLoadError:function(){this.rendered&&this.setChildDisabled("#refresh",!1)},getInputItem:function(){return this.child("#inputItem")},readPageFromInput:function(n){var t=this.getInputItem(),i=!1,r;return t&&(r=t.getValue(),i=parseInt(r,10),!r||isNaN(i))?(t.setValue(n.currentPage),!1):i},onPagingFocus:function(){var n=this.getInputItem();n&&n.select()},onPagingBlur:function(){var n=this.getInputItem(),t;n&&(t=this.getPageData().currentPage,n.setValue(t))},onPagingKeyDown:function(n,t){var u=this,r=t.getKey(),f=u.getPageData(),e=t.shiftKey?10:1,i;r==t.RETURN?(t.stopEvent(),i=u.readPageFromInput(f),i!==!1&&(i=Math.min(Math.max(1,i),f.pageCount),u.fireEvent("beforechange",u,i)!==!1&&u.store.loadPage(i))):r==t.HOME||r==t.END?(t.stopEvent(),i=r==t.HOME?1:f.pageCount,n.setValue(i)):(r==t.UP||r==t.PAGE_UP||r==t.DOWN||r==t.PAGE_DOWN)&&(t.stopEvent(),i=u.readPageFromInput(f),i&&((r==t.DOWN||r==t.PAGE_DOWN)&&(e*=-1),i+=e,i>=1&&i<=f.pageCount&&n.setValue(i)))},beforeLoad:function(){this.rendered&&this.setChildDisabled("#refresh",!0)},moveFirst:function(){this.fireEvent("beforechange",this,1)!==!1&&this.store.loadPage(1)},movePrevious:function(){var n=this,t=n.store.currentPage-1;t>0&&n.fireEvent("beforechange",n,t)!==!1&&n.store.previousPage()},moveNext:function(){var n=this,i=n.getPageData().pageCount,t=n.store.currentPage+1;t<=i&&n.fireEvent("beforechange",n,t)!==!1&&n.store.nextPage()},moveLast:function(){var n=this,t=n.getPageData().pageCount;n.fireEvent("beforechange",n,t)!==!1&&n.store.loadPage(t)},doRefresh:function(){var n=this,t=n.store.currentPage;n.fireEvent("beforechange",n,t)!==!1&&n.store.loadPage(t)},getStoreListeners:function(){return{beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError}},unbind:function(){this.bindStore(null)},bind:function(n){this.bindStore(n)},onDestroy:function(){this.unbind();this.callParent()}},0,["pagingtoolbar"],["toolbar","component","container","pagingtoolbar","box"],{toolbar:!0,component:!0,container:!0,pagingtoolbar:!0,box:!0},["widget.pagingtoolbar"],[["bindable",Ext.util.Bindable]],[Ext.toolbar,"Paging",Ext,"PagingToolbar"],0);Ext.cmd.derive("Ext.view.BoundList",Ext.view.View,{alternateClassName:"Ext.BoundList",pageSize:0,baseCls:Ext.baseCSSPrefix+"boundlist",itemCls:Ext.baseCSSPrefix+"boundlist-item",listItemCls:"",shadow:!1,trackOver:!0,refreshed:0,deferInitialRefresh:!1,componentLayout:"boundlist",childEls:["listEl"],renderTpl:['<div id="{id}-listEl" class="{baseCls}-list-ct ',Ext.dom.Element.unselectableCls,'" style="overflow:auto"><\/div>',"{%","var me=values.$comp, pagingToolbar=me.pagingToolbar;","if (pagingToolbar) {","pagingToolbar.ownerLayout = me.componentLayout;","Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);","}","%}",{disableFormats:!0}],initComponent:function(){var n=this,t=n.baseCls,i=n.itemCls;n.selectedItemCls=t+"-selected";n.trackOver&&(n.overItemCls=t+"-item-over");n.itemSelector="."+i;n.floating&&n.addCls(t+"-floating");n.tpl?n.tpl.isTemplate||(n.tpl=new Ext.XTemplate(n.tpl)):n.tpl=new Ext.XTemplate('<ul class="'+Ext.plainListCls+'"><tpl for=".">','<li role="option" unselectable="on" class="'+i+'">'+n.getInnerTpl(n.displayField)+"<\/li>","<\/tpl><\/ul>");n.pageSize&&(n.pagingToolbar=n.createPagingToolbar());n.callParent()},beforeRender:function(){var n=this;n.callParent(arguments);n.up("menu")&&n.addCls(Ext.baseCSSPrefix+"menu")},getRefOwner:function(){return this.pickerField||this.callParent()},getRefItems:function(){return this.pagingToolbar?[this.pagingToolbar]:[]},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{id:this.id+"-paging-toolbar",pageSize:this.pageSize,store:this.dataSource,border:!1,ownerCt:this,ownerLayout:this.getComponentLayout()})},finishRenderChildren:function(){var n=this.pagingToolbar;this.callParent(arguments);n&&n.finishRender()},refresh:function(){var n=this,t=n.tpl,i=n.pagingToolbar,r=n.rendered;t.field=n.pickerField;t.store=n.store;n.callParent();t.field=t.store=null;r&&i&&i.rendered&&!n.preserveScrollOnRefresh&&n.el.appendChild(i.el);r&&Ext.isIE6&&Ext.isStrict&&n.listEl.repaint()},bindStore:function(n,t){var i=this.pagingToolbar;this.callParent(arguments);i&&i.bindStore(n,t)},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(n){return"{"+n+"}"},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}},0,["boundlist"],["component","boundlist","box","dataview"],{component:!0,boundlist:!0,box:!0,dataview:!0},["widget.boundlist"],[["queryable",Ext.Queryable]],[Ext.view,"BoundList",Ext,"BoundList"],0);Ext.cmd.derive("Ext.view.BoundListKeyNav",Ext.util.KeyNav,{constructor:function(n,t){var i=this;i.boundList=t.boundList;i.callParent([n,Ext.apply({},t,i.defaultHandlers)])},defaultHandlers:{up:function(){var t=this,n=t.boundList,u=n.all,i=n.highlightedItem,r=i?n.indexOf(i):-1,f=r>0?r-1:u.getCount()-1;t.highlightAt(f)},down:function(){var t=this,n=t.boundList,u=n.all,i=n.highlightedItem,r=i?n.indexOf(i):-1,f=r<u.getCount()-1?r+1:0;t.highlightAt(f)},pageup:function(){},pagedown:function(){},home:function(){this.highlightAt(0)},end:function(){var n=this;n.highlightAt(n.boundList.all.getCount()-1)},enter:function(n){this.selectHighlighted(n)}},highlightAt:function(n){var i=this.boundList,t=i.all.item(n);t&&(t=t.dom,i.highlightItem(t),i.getTargetEl().scrollChildIntoView(t,!1))},selectHighlighted:function(n){var r=this,t=r.boundList,i=t.highlightedItem,u=t.getSelectionModel();i&&u.selectWithEvent(t.getRecord(i),n)}},1,0,0,0,0,0,[Ext.view,"BoundListKeyNav"],0);Ext.cmd.derive("Ext.layout.component.field.ComboBox",Ext.layout.component.field.Trigger,{type:"combobox",startingWidth:null,getTextWidth:function(){for(var t=this,n=t.owner,e=n.store,h=n.displayField,c=e.data.length,o="",r=0,s=0,u,f,i;r<c;r++)f=e.getAt(r).data[h],u=f.length,u>s&&(s=u,o=f);return i=Math.max(t.callParent(arguments),n.inputEl.getTextWidth(o+n.growAppend)),(!t.startingWidth||n.removingRecords)&&(t.startingWidth=i,i<n.growMin&&(n.defaultListConfig.minWidth=n.growMin),n.removingRecords=!1),i<t.startingWidth?t.startingWidth:i}},0,0,0,0,["layout.combobox"],0,[Ext.layout.component.field,"ComboBox"],0);Ext.cmd.derive("Ext.form.field.ComboBox",Ext.form.field.Picker,{alternateClassName:"Ext.form.ComboBox",componentLayout:"combobox",triggerCls:Ext.baseCSSPrefix+"form-arrow-trigger",hiddenName:"",hiddenDataCls:Ext.baseCSSPrefix+"hide-display "+Ext.baseCSSPrefix+"form-data-hidden",fieldSubTpl:['<div class="{hiddenDataCls}" role="presentation"><\/div>','<input id="{id}" type="{type}" {inputAttrTpl} class="{fieldCls} {typeCls} {editableCls}" autocomplete="off"','<tpl if="value"> value="{[Ext.util.Format.htmlEncode(values.value)]}"<\/tpl>','<tpl if="name"> name="{name}"<\/tpl>','<tpl if="placeholder"> placeholder="{placeholder}"<\/tpl>','<tpl if="size"> size="{size}"<\/tpl>','<tpl if="maxLength !== undefined"> maxlength="{maxLength}"<\/tpl>','<tpl if="readOnly"> readonly="readonly"<\/tpl>','<tpl if="disabled"> disabled="disabled"<\/tpl>','<tpl if="tabIdx"> tabIndex="{tabIdx}"<\/tpl>','<tpl if="fieldStyle"> style="{fieldStyle}"<\/tpl>',"/>",{compiled:!0,disableFormats:!0}],getSubTplData:function(){var n=this;return Ext.applyIf(n.subTplData,{hiddenDataCls:n.hiddenDataCls}),n.callParent(arguments)},afterRender:function(){var n=this;n.callParent(arguments);n.setHiddenValue(n.value)},multiSelect:!1,delimiter:", ",displayField:"text",triggerAction:"all",allQuery:"",queryParam:"query",queryMode:"remote",queryCaching:!0,pageSize:0,anyMatch:!1,caseSensitive:!1,autoSelect:!0,typeAhead:!1,typeAheadDelay:250,selectOnTab:!0,forceSelection:!1,growToLongestValue:!0,defaultListConfig:{loadingHeight:70,minWidth:70,maxHeight:300,shadow:"sides"},ignoreSelection:0,removingRecords:null,resizeComboToGrow:function(){var n=this;return n.grow&&n.growToLongestValue},initComponent:function(){var n=this,r=Ext.isDefined,i=n.store,f=n.transform,t,u;Ext.applyIf(n.renderSelectors,{hiddenDataEl:"."+n.hiddenDataCls.split(" ").join(".")});this.addEvents("beforequery","select","beforeselect","beforedeselect");f&&(t=Ext.getDom(f),t&&(n.store||(i=Ext.Array.map(Ext.Array.from(t.options),function(n){return[n.value,n.text]})),n.name||(n.name=t.name),"value"in n||(n.value=t.value)));n.bindStore(i||"ext-empty-store",!0);i=n.store;i.autoCreated&&(n.queryMode="local",n.valueField=n.displayField="field1",i.expanded||(n.displayField="field2"));r(n.valueField)||(n.valueField=n.displayField);u=n.queryMode==="local";r(n.queryDelay)||(n.queryDelay=u?10:500);r(n.minChars)||(n.minChars=u?0:4);n.displayTpl?Ext.isString(n.displayTpl)&&(n.displayTpl=new Ext.XTemplate(n.displayTpl)):n.displayTpl=new Ext.XTemplate('<tpl for=".">{[typeof values === "string" ? values : values["'+n.displayField+'"]]}<tpl if="xindex < xcount">'+n.delimiter+"<\/tpl><\/tpl>");n.callParent();n.doQueryTask=new Ext.util.DelayedTask(n.doRawQuery,n);n.store.getCount()>0&&n.setValue(n.value);t&&(n.render(t.parentNode,t),Ext.removeNode(t),delete n.renderTo)},getStore:function(){return this.store},beforeBlur:function(){this.doQueryTask.cancel();this.assertValue()},assertValue:function(){var n=this,i=n.getRawValue(),t,r;n.forceSelection&&(n.multiSelect?i!==n.getDisplayValue()&&n.setValue(n.lastSelection):(t=n.findRecordByDisplay(i),t?(r=n.value,n.findRecordByValue(r)||n.select(t,!0)):n.setValue(n.lastSelection)));n.collapse()},onTypeAhead:function(){var n=this,u=n.displayField,r=n.store.findRecord(u,n.getRawValue()),f=n.getPicker(),t,e,i;r&&(t=r.get(u),e=t.length,i=n.getRawValue().length,f.highlightItem(f.getNode(r)),i!==0&&i!==e&&(n.setRawValue(t),n.selectText(i,t.length)))},resetToDefault:Ext.emptyFn,beforeReset:function(){this.callParent();this.queryFilter&&!this.queryFilter.disabled&&(this.queryFilter.disabled=!0,this.store.filter())},onUnbindStore:function(n){var t=this,i=t.picker;t.queryFilter&&t.store.removeFilter(t.queryFilter);!n&&i&&i.bindStore(null)},onBindStore:function(n,t){var i=this.picker;t||this.resetToDefault();i&&i.bindStore(n)},getStoreListeners:function(){var n=this;return{beforeload:n.onBeforeLoad,clear:n.onClear,datachanged:n.onDataChanged,load:n.onLoad,exception:n.onException,remove:n.onRemove}},onBeforeLoad:function(){++this.ignoreSelection},onDataChanged:function(){var n=this;n.resizeComboToGrow()&&n.updateLayout()},onClear:function(){var n=this;n.resizeComboToGrow()&&(n.removingRecords=!0,n.onDataChanged())},onRemove:function(){var n=this;n.resizeComboToGrow()&&(n.removingRecords=!0)},onException:function(){this.ignoreSelection>0&&--this.ignoreSelection;this.collapse()},onLoad:function(n,t,i){var r=this;r.ignoreSelection>0&&--r.ignoreSelection;i&&!n.lastOptions.rawQuery&&(r.value==null?r.store.getCount()?r.doAutoSelect():r.setValue(r.value):r.setValue(r.value))},doRawQuery:function(){this.doQuery(this.getRawValue(),!1,!0)},doQuery:function(n,t,i){var r=this,u=r.beforeQuery({query:n||"",rawQuery:i,forceAll:t,combo:r,cancel:!1});return u===!1||u.cancel?!1:(r.queryCaching&&u.query===r.lastQuery?r.expand():(r.lastQuery=u.query,r.queryMode==="local"?r.doLocalQuery(u):r.doRemoteQuery(u)),!0)},beforeQuery:function(n){var t=this;return t.fireEvent("beforequery",n)===!1?n.cancel=!0:n.cancel||n.query.length<t.minChars&&!n.forceAll&&(n.cancel=!0),n},doLocalQuery:function(n){var t=this,i=n.query;t.queryFilter||(t.queryFilter=new Ext.util.Filter({id:t.id+"-query-filter",anyMatch:t.anyMatch,caseSensitive:t.caseSensitive,root:"data",property:t.displayField}),t.store.addFilter(t.queryFilter,!1));i||!n.forceAll?(t.queryFilter.disabled=!1,t.queryFilter.setValue(t.enableRegEx?new RegExp(i):i)):t.queryFilter.disabled=!0;t.store.filter();t.store.getCount()?t.expand():t.collapse();t.afterQuery(n)},doRemoteQuery:function(n){var t=this,i=function(){t.afterQuery(n)};t.expand();t.pageSize?t.loadPage(1,{rawQuery:n.rawQuery,callback:i}):t.store.load({params:t.getParams(n.query),rawQuery:n.rawQuery,callback:i})},afterQuery:function(n){var t=this;t.store.getCount()&&(t.typeAhead&&t.doTypeAhead(),t.getRawValue()!==t.getDisplayValue()&&(t.ignoreSelection++,t.picker.getSelectionModel().deselectAll(),t.ignoreSelection--),n.rawQuery?(t.syncSelection(),t.picker&&!t.picker.getSelectionModel().hasSelection()&&t.doAutoSelect()):t.doAutoSelect())},loadPage:function(n,t){this.store.loadPage(n,Ext.apply({params:this.getParams(this.lastQuery)},t))},onPageChange:function(n,t){return this.loadPage(t),!1},getParams:function(n){var t={},i=this.queryParam;return i&&(t[i]=n),t},doAutoSelect:function(){var i=this,n=i.picker,r,t;n&&i.autoSelect&&i.store.getCount()>0&&(r=n.getSelectionModel().lastSelected,t=n.getNode(r||0),t&&(n.highlightItem(t),n.listEl.scrollChildIntoView(t,!1)))},doTypeAhead:function(){this.typeAheadTask||(this.typeAheadTask=new Ext.util.DelayedTask(this.onTypeAhead,this));this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE&&this.typeAheadTask.delay(this.typeAheadDelay)},onTriggerClick:function(){var n=this;if(!n.readOnly&&!n.disabled){if(n.isExpanded)n.collapse();else{n.onFocus({});n.triggerAction==="all"?n.doQuery(n.allQuery,!0):n.triggerAction==="last"?n.doQuery(n.lastQuery,!0):n.doQuery(n.getRawValue(),!1,!0)}n.inputEl.focus()}},onPaste:function(){var n=this;n.readOnly||n.disabled||!n.editable||n.doQueryTask.delay(n.queryDelay)},onKeyUp:function(n){var t=this,i=n.getKey();t.readOnly||t.disabled||!t.editable||(t.lastKey=i,n.isSpecialKey()&&i!=n.BACKSPACE&&i!=n.DELETE||t.doQueryTask.delay(t.queryDelay));t.enableKeyEvents&&t.callParent(arguments)},initEvents:function(){var n=this;n.callParent();n.enableKeyEvents||n.mon(n.inputEl,"keyup",n.onKeyUp,n);n.mon(n.inputEl,"paste",n.onPaste,n)},onDestroy:function(){Ext.destroy(this.listKeyNav);this.bindStore(null);this.callParent()},onAdded:function(){var n=this;n.callParent(arguments);n.picker&&(n.picker.ownerCt=n.up("[floating]"),n.picker.registerWithOwnerCt())},createPicker:function(){var n=this,t,i=Ext.apply({xtype:"boundlist",pickerField:n,selModel:{mode:n.multiSelect?"SIMPLE":"SINGLE"},floating:!0,hidden:!0,store:n.store,displayField:n.displayField,focusOnToFront:!1,pageSize:n.pageSize,tpl:n.tpl},n.listConfig,n.defaultListConfig);if(t=n.picker=Ext.widget(i),n.pageSize)t.pagingToolbar.on("beforechange",n.onPageChange,n);return n.mon(t,{itemclick:n.onItemClick,refresh:n.onListRefresh,scope:n}),n.mon(t.getSelectionModel(),{beforeselect:n.onBeforeSelect,beforedeselect:n.onBeforeDeselect,selectionchange:n.onListSelectionChange,scope:n}),t},alignPicker:function(){var t=this,n=t.getPicker(),i=t.getPosition()[1]-Ext.getBody().getScroll().top,u=Ext.Element.getViewHeight()-i-t.getHeight(),r=Math.max(i,u);n.height&&(delete n.height,n.updateLayout());n.getHeight()>r-5&&n.setHeight(r-5);t.callParent()},onListRefresh:function(){this.expanding||this.alignPicker();this.syncSelection()},onItemClick:function(n,t){var i=this,r=i.picker.getSelectionModel().getSelection(),u=i.valueField;!i.multiSelect&&r.length&&t.get(u)===r[0].get(u)&&(i.displayTplData=[t.data],i.setRawValue(i.getDisplayValue()),i.collapse())},onBeforeSelect:function(n,t){return this.fireEvent("beforeselect",this,t,t.index)},onBeforeDeselect:function(n,t){return this.fireEvent("beforedeselect",this,t,t.index)},onListSelectionChange:function(n,t){var i=this,r=i.multiSelect,u=t.length>0;!i.ignoreSelection&&i.isExpanded&&(r||Ext.defer(i.collapse,1,i),(r||u)&&i.setValue(t,!1),u&&i.fireEvent("select",i,t),i.inputEl.focus())},onExpand:function(){var n=this,t=n.listKeyNav,i=n.selectOnTab,r=n.getPicker();t?t.enable():t=n.listKeyNav=new Ext.view.BoundListKeyNav(this.inputEl,{boundList:r,forceKeyDown:!0,tab:function(t){return i&&(this.selectHighlighted(t),n.triggerBlur()),!0},enter:function(t){var i=r.getSelectionModel(),u=i.getCount();this.selectHighlighted(t);n.multiSelect||u!==i.getCount()||n.collapse()}});i&&(n.ignoreMonitorTab=!0);Ext.defer(t.enable,1,t);n.inputEl.focus()},onCollapse:function(){var n=this,t=n.listKeyNav;t&&(t.disable(),n.ignoreMonitorTab=!1)},select:function(n,t){var i=this,r=i.picker,u;n&&n.isModel&&t===!0&&r&&(u=!r.getSelectionModel().isSelected(n));i.setValue(n,!0);u&&i.fireEvent("select",i,n)},findRecord:function(n,t){var i=this.store,r=i.findExact(n,t);return r!==-1?i.getAt(r):!1},findRecordByValue:function(n){return this.findRecord(this.valueField,n)},findRecordByDisplay:function(n){return this.findRecord(this.displayField,n)},setValue:function(n,t){var i=this,s=i.valueNotFoundText,h=i.inputEl,u,c,r,o,l=[],e=[],f=[];if(i.store.loading)return i.value=n,i.setHiddenValue(i.value),i;for(n=Ext.Array.from(n),u=0,c=n.length;u<c;u++)r=n[u],r&&r.isModel||(r=i.findRecordByValue(r)),r?(l.push(r),e.push(r.data),f.push(r.get(i.valueField))):i.forceSelection?Ext.isDefined(s)&&e.push(s):(f.push(n[u]),o={},o[i.displayField]=n[u],e.push(o));return i.setHiddenValue(f),i.value=i.multiSelect?f:f[0],Ext.isDefined(i.value)||(i.value=null),i.displayTplData=e,i.lastSelection=i.valueModels=l,h&&i.emptyText&&!Ext.isEmpty(n)&&h.removeCls(i.emptyCls),i.setRawValue(i.getDisplayValue()),i.checkChange(),t!==!1&&i.syncSelection(),i.applyEmptyText(),i},setHiddenValue:function(n){var e=this,s=e.hiddenName,i,r,u,o,f,t;if(e.hiddenDataEl&&s){for(n=Ext.Array.from(n),r=e.hiddenDataEl.dom,u=r.childNodes,o=u[0],f=n.length,t=u.length,!o&&f>0&&(e.hiddenDataEl.update(Ext.DomHelper.markup({tag:"input",type:"hidden",name:s})),t=1,o=r.firstChild);t>f;)r.removeChild(u[0]),--t;while(t<f)r.appendChild(o.cloneNode(!0)),++t;for(i=0;i<f;i++)u[i].value=n[i]}},getDisplayValue:function(){return this.displayTpl.apply(this.displayTplData)},getValue:function(){var n=this,t=n.picker,i=n.getRawValue(),r=n.value;return n.getDisplayValue()!==i&&(r=i,n.value=n.displayTplData=n.valueModels=null,t&&(n.ignoreSelection++,t.getSelectionModel().deselectAll(),n.ignoreSelection--)),r},getSubmitValue:function(){var n=this.getValue();return Ext.isEmpty(n)&&(n=""),n},isEqual:function(n,t){var u=Ext.Array.from,i,r;if(n=u(n),t=u(t),r=n.length,r!==t.length)return!1;for(i=0;i<r;i++)if(t[i]!==n[i])return!1;return!0},clearValue:function(){this.setValue([])},syncSelection:function(){var n=this,f=n.picker,i,u,e=n.valueModels||[],o=e.length,r,t;if(f){for(i=[],r=0;r<o;r++)t=e[r],t&&t.isModel&&n.store.indexOf(t)>=0&&i.push(t);n.ignoreSelection++;u=f.getSelectionModel();u.deselectAll();i.length&&u.select(i,undefined,!0);n.ignoreSelection--}},onEditorTab:function(n){var t=this.listKeyNav;this.selectOnTab&&t&&t.selectHighlighted(n)}},0,["combobox","combo"],["field","trigger","combobox","textfield","pickerfield","component","combo","box","triggerfield"],{field:!0,trigger:!0,combobox:!0,textfield:!0,pickerfield:!0,component:!0,combo:!0,box:!0,triggerfield:!0},["widget.combo","widget.combobox"],[["bindable",Ext.util.Bindable]],[Ext.form.field,"ComboBox",Ext.form,"ComboBox"],0);Ext.cmd.derive("Ext.picker.Month",Ext.Component,{alternateClassName:"Ext.MonthPicker",childEls:["bodyEl","prevEl","nextEl","buttonsEl","monthEl","yearEl"],renderTpl:['<div id="{id}-bodyEl" class="{baseCls}-body">','<div id="{id}-monthEl" class="{baseCls}-months">','<tpl for="months">','<div class="{parent.baseCls}-item {parent.baseCls}-month">','<a style="{parent.monthStyle}" hidefocus="on" class="{parent.baseCls}-item-inner" href="#">{.}<\/a>',"<\/div>","<\/tpl>","<\/div>",'<div id="{id}-yearEl" class="{baseCls}-years">','<div class="{baseCls}-yearnav">','<div class="{baseCls}-yearnav-button-ct">','<a id="{id}-prevEl" class="{baseCls}-yearnav-button {baseCls}-yearnav-prev" href="#" hidefocus="on" ><\/a>',"<\/div>",'<div class="{baseCls}-yearnav-button-ct">','<a id="{id}-nextEl" class="{baseCls}-yearnav-button {baseCls}-yearnav-next" href="#" hidefocus="on" ><\/a>',"<\/div>","<\/div>",'<tpl for="years">','<div class="{parent.baseCls}-item {parent.baseCls}-year">','<a hidefocus="on" class="{parent.baseCls}-item-inner" href="#">{.}<\/a>',"<\/div>","<\/tpl>","<\/div>",'<div class="'+Ext.baseCSSPrefix+'clear"><\/div>',"<\/div>",'<tpl if="showButtons">','<div id="{id}-buttonsEl" class="{baseCls}-buttons">{%',"var me=values.$comp, okBtn=me.okBtn, cancelBtn=me.cancelBtn;","okBtn.ownerLayout = cancelBtn.ownerLayout = me.componentLayout;","okBtn.ownerCt = cancelBtn.ownerCt = me;","Ext.DomHelper.generateMarkup(okBtn.getRenderTree(), out);","Ext.DomHelper.generateMarkup(cancelBtn.getRenderTree(), out);","%}<\/div>","<\/tpl>"],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:!0,measureWidth:35,measureMaxHeight:20,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var n=this;n.selectedCls=n.baseCls+"-selected";n.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");n.small&&n.addCls(n.smallCls);n.setValue(n.value);n.activeYear=n.getYear((new Date).getFullYear()-4,-4);n.showButtons&&(n.okBtn=new Ext.button.Button({text:n.okText,handler:n.onOkClick,scope:n}),n.cancelBtn=new Ext.button.Button({text:n.cancelText,handler:n.onCancelClick,scope:n}));this.callParent()},beforeRender:function(){var n=this,t=0,i=[],r=Ext.Date.getShortMonthName,u=n.monthOffset,f=n.monthMargin,e="";for(n.callParent();t<u;++t)i.push(r(t),r(t+u));Ext.isDefined(f)&&(e="margin: 0 "+f+"px;");Ext.apply(n.renderData,{months:i,years:n.getYears(),showButtons:n.showButtons,monthStyle:e})},afterRender:function(){var n=this,t=n.bodyEl,i=n.buttonsEl;n.callParent();n.mon(t,"click",n.onBodyClick,n);n.mon(t,"dblclick",n.onBodyClick,n);n.years=t.select("."+n.baseCls+"-year a");n.months=t.select("."+n.baseCls+"-month a");n.backRepeater=new Ext.util.ClickRepeater(n.prevEl,{handler:Ext.Function.bind(n.adjustYear,n,[-n.totalYears])});n.prevEl.addClsOnOver(n.baseCls+"-yearnav-prev-over");n.nextRepeater=new Ext.util.ClickRepeater(n.nextEl,{handler:Ext.Function.bind(n.adjustYear,n,[n.totalYears])});n.nextEl.addClsOnOver(n.baseCls+"-yearnav-next-over");n.updateBody();Ext.isDefined(n.monthMargin)||(Ext.picker.Month.prototype.monthMargin=n.calculateMonthMargin())},calculateMonthMargin:function(){for(var n=this,u=n.monthEl,i=n.months,r=i.first(),t=r.getMargin("l");t&&n.getLargest()>n.measureMaxHeight;)--t,i.setStyle("margin","0 "+t+"px");return t},getLargest:function(){var n=0;return this.months.each(function(t){var i=t.getHeight();i>n&&(n=i)}),n},setValue:function(n){var t=this,r=t.activeYear,u=t.monthOffset,i;return t.value=n?Ext.isDate(n)?[n.getMonth(),n.getFullYear()]:[n[0],n[1]]:[null,null],t.rendered&&(i=t.value[1],i!==null&&(i<r||i>r+t.yearOffset)&&(t.activeYear=i-t.yearOffset+1),t.updateBody()),t},getValue:function(){return this.value},hasSelection:function(){var n=this.value;return n[0]!==null&&n[1]!==null},getYears:function(){for(var t=this,i=t.yearOffset,r=t.activeYear,f=r+i,n=r,u=[];n<f;++n)u.push(n,n+i);return u},updateBody:function(){var n=this,o=n.years,s=n.months,l=n.getYears(),r=n.selectedCls,a=n.getYear(null),t=n.value[0],h=n.monthOffset,u,f,i,c,e;if(n.rendered){for(o.removeCls(r),s.removeCls(r),f=o.elements,c=f.length,i=0;i<c;i++)e=Ext.fly(f[i]),u=l[i],e.dom.innerHTML=u,u==a&&e.addCls(r);t!==null&&(t=t<h?t*2:(t-h)*2+1,s.item(t).addCls(r))}},getYear:function(n,t){var i=this.value[1];return t=t||0,i===null?n:i+t},onBodyClick:function(n,t){var i=this,r=n.type=="dblclick";if(n.getTarget("."+i.baseCls+"-month")){n.stopEvent();i.onMonthClick(t,r)}else if(n.getTarget("."+i.baseCls+"-year")){n.stopEvent();i.onYearClick(t,r)}},adjustYear:function(n){typeof n!="number"&&(n=this.totalYears);this.activeYear+=n;this.updateBody()},onOkClick:function(){this.fireEvent("okclick",this,this.value)},onCancelClick:function(){this.fireEvent("cancelclick",this)},onMonthClick:function(n,t){var i=this;i.value[0]=i.resolveOffset(i.months.indexOf(n),i.monthOffset);i.updateBody();i.fireEvent("month"+(t?"dbl":"")+"click",i,i.value);i.fireEvent("select",i,i.value)},onYearClick:function(n,t){var i=this;i.value[1]=i.activeYear+i.resolveOffset(i.years.indexOf(n),i.yearOffset);i.updateBody();i.fireEvent("year"+(t?"dbl":"")+"click",i,i.value);i.fireEvent("select",i,i.value)},resolveOffset:function(n,t){return n%2==0?n/2:t+Math.floor(n/2)},beforeDestroy:function(){var n=this;n.years=n.months=null;Ext.destroyMembers(n,"backRepeater","nextRepeater","okBtn","cancelBtn");n.callParent()},finishRenderChildren:function(){var n=this;this.callParent(arguments);this.showButtons&&(n.okBtn.finishRender(),n.cancelBtn.finishRender())},onDestroy:function(){Ext.destroyMembers(this,"okBtn","cancelBtn");this.callParent()}},0,["monthpicker"],["monthpicker","component","box"],{monthpicker:!0,component:!0,box:!0},["widget.monthpicker"],0,[Ext.picker,"Month",Ext,"MonthPicker"],0);Ext.cmd.derive("Ext.picker.Date",Ext.Component,{alternateClassName:"Ext.DatePicker",childEls:["innerEl","eventEl","prevEl","nextEl","middleBtnEl","footerEl"],border:!0,renderTpl:['<div id="{id}-innerEl" role="grid">','<div role="presentation" class="{baseCls}-header">','<a id="{id}-prevEl" class="{baseCls}-prev {baseCls}-arrow" href="#" role="button" title="{prevText}" hidefocus="on" ><\/a>','<div class="{baseCls}-month" id="{id}-middleBtnEl">{%this.renderMonthBtn(values, out)%}<\/div>','<a id="{id}-nextEl" class="{baseCls}-next {baseCls}-arrow" href="#" role="button" title="{nextText}" hidefocus="on" ><\/a>',"<\/div>",'<table id="{id}-eventEl" class="{baseCls}-inner" cellspacing="0" role="grid">','<thead role="presentation"><tr role="row">','<tpl for="dayNames">','<th role="columnheader" class="{parent.baseCls}-column-header" title="{.}">','<div class="{parent.baseCls}-column-header-inner">{.:this.firstInitial}<\/div>',"<\/th>","<\/tpl>","<\/tr><\/thead>",'<tbody role="presentation"><tr role="row">','<tpl for="days">',"{#:this.isEndOfWeek}",'<td role="gridcell" id="{[Ext.id()]}">','<a role="presentation" hidefocus="on" class="{parent.baseCls}-date" href="#"><\/a>',"<\/td>","<\/tpl>","<\/tr><\/tbody>","<\/table>",'<tpl if="showToday">','<div id="{id}-footerEl" role="presentation" class="{baseCls}-footer">{%this.renderTodayBtn(values, out)%}<\/div>',"<\/tpl>","<\/div>",{firstInitial:function(n){return Ext.picker.Date.prototype.getDayInitial(n)},isEndOfWeek:function(n){n--;var t=n%7==0&&n!==0;return t?'<\/tr><tr role="row">':""},renderTodayBtn:function(n,t){Ext.DomHelper.generateMarkup(n.$comp.todayBtn.getRenderTree(),t)},renderMonthBtn:function(n,t){Ext.DomHelper.generateMarkup(n.$comp.monthBtn.getRenderTree(),t)}}],todayText:"Today",ariaTitle:"Date Picker: {0}",ariaTitleDateFormat:"F d, Y",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",monthYearFormat:"F Y",startDay:0,showToday:!0,disableAnim:!1,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:!1,focusOnSelect:!0,initHour:12,numDays:42,initComponent:function(){var n=this,t=Ext.Date.clearTime;n.selectedCls=n.baseCls+"-selected";n.disabledCellCls=n.baseCls+"-disabled";n.prevCls=n.baseCls+"-prevday";n.activeCls=n.baseCls+"-active";n.cellCls=n.baseCls+"-cell";n.nextCls=n.baseCls+"-prevday";n.todayCls=n.baseCls+"-today";n.format||(n.format=Ext.Date.defaultFormat);n.dayNames||(n.dayNames=Ext.Date.dayNames);n.dayNames=n.dayNames.slice(n.startDay).concat(n.dayNames.slice(0,n.startDay));n.callParent();n.value=n.value?t(n.value,!0):t(new Date);n.addEvents("select");n.initDisabledDays()},beforeRender:function(){var n=this,i=new Array(n.numDays),t=Ext.Date.format(new Date,n.format);n.up("menu")&&n.addCls(Ext.baseCSSPrefix+"menu");n.monthBtn=new Ext.button.Split({ownerCt:n,ownerLayout:n.getComponentLayout(),text:"",tooltip:n.monthYearText,listeners:{click:n.showMonthPicker,arrowclick:n.showMonthPicker,scope:n}});n.showToday&&(n.todayBtn=new Ext.button.Button({ownerCt:n,ownerLayout:n.getComponentLayout(),text:Ext.String.format(n.todayText,t),tooltip:Ext.String.format(n.todayTip,t),tooltipType:"title",handler:n.selectToday,scope:n}));n.callParent();Ext.applyIf(n,{renderData:{}});Ext.apply(n.renderData,{dayNames:n.dayNames,showToday:n.showToday,prevText:n.prevText,nextText:n.nextText,days:i});n.protoEl.unselectable()},finishRenderChildren:function(){var n=this;n.callParent();n.monthBtn.finishRender();n.showToday&&n.todayBtn.finishRender()},onRender:function(){var n=this;n.callParent(arguments);n.cells=n.eventEl.select("tbody td");n.textNodes=n.eventEl.query("tbody td a");n.mon(n.eventEl,{scope:n,mousewheel:n.handleMouseWheel,click:{fn:n.handleDateClick,delegate:"a."+n.baseCls+"-date"}})},initEvents:function(){var n=this,t=Ext.Date,i=t.DAY;n.callParent();n.prevRepeater=new Ext.util.ClickRepeater(n.prevEl,{handler:n.showPrevMonth,scope:n,preventDefault:!0,stopDefault:!0});n.nextRepeater=new Ext.util.ClickRepeater(n.nextEl,{handler:n.showNextMonth,scope:n,preventDefault:!0,stopDefault:!0});n.keyNav=new Ext.util.KeyNav(n.eventEl,Ext.apply({scope:n,left:function(r){r.ctrlKey?n.showPrevMonth():n.update(t.add(n.activeDate,i,-1))},right:function(r){r.ctrlKey?n.showNextMonth():n.update(t.add(n.activeDate,i,1))},up:function(r){r.ctrlKey?n.showNextYear():n.update(t.add(n.activeDate,i,-7))},down:function(r){r.ctrlKey?n.showPrevYear():n.update(t.add(n.activeDate,i,7))},pageUp:function(t){t.altKey?n.showPrevYear():n.showPrevMonth()},pageDown:function(t){t.altKey?n.showNextYear():n.showNextMonth()},tab:function(t){return n.doCancelFieldFocus=!0,n.handleTabClick(t),delete n.doCancelFieldFocus,!0},enter:function(n){return n.stopPropagation(),!0},home:function(){n.update(t.getFirstDateOfMonth(n.activeDate))},end:function(){n.update(t.getLastDateOfMonth(n.activeDate))}},n.keyNavConfig));n.showToday&&(n.todayKeyListener=n.eventEl.addKeyListener(Ext.EventObject.SPACE,n.selectToday,n));n.update(n.value)},handleTabClick:function(){var n=this,t=n.getSelectedDate(n.activeDate),i=n.handler;n.disabled||!t.dateValue||Ext.fly(t.parentNode).hasCls(n.disabledCellCls)||(n.doCancelFocus=n.focusOnSelect===!1,n.setValue(new Date(t.dateValue)),delete n.doCancelFocus,n.fireEvent("select",n,n.value),i&&i.call(n.scope||n,n,n.value),n.onSelect())},getSelectedDate:function(n){var r=this,e=n.getTime(),u=r.cells,o=r.selectedCls,f=u.elements,t,s=f.length,i;for(u.removeCls(o),t=0;t<s;t++)if(i=Ext.fly(f[t]),i.dom.firstChild.dateValue==e)return i.dom.firstChild;return null},initDisabledDays:function(){var t=this,i=t.disabledDates,u="(?:",f,n,e,r;if(!t.disabledDatesRE&&i){for(f=i.length-1,e=i.length,n=0;n<e;n++)r=i[n],u+=Ext.isDate(r)?"^"+Ext.String.escapeRegex(Ext.Date.dateFormat(r,t.format))+"$":r,n!=f&&(u+="|");t.disabledDatesRE=new RegExp(u+")")}},setDisabledDates:function(n){var t=this;return Ext.isArray(n)?(t.disabledDates=n,t.disabledDatesRE=null):t.disabledDatesRE=n,t.initDisabledDays(),t.update(t.value,!0),t},setDisabledDays:function(n){return this.disabledDays=n,this.update(this.value,!0)},setMinDate:function(n){return this.minDate=n,this.update(this.value,!0)},setMaxDate:function(n){return this.maxDate=n,this.update(this.value,!0)},setValue:function(n){return this.value=Ext.Date.clearTime(n,!0),this.update(this.value)},getValue:function(){return this.value},getDayInitial:function(n){return n.substr(0,1)},focus:function(){this.update(this.activeDate)},onEnable:function(){this.callParent();this.setDisabledStatus(!1);this.update(this.activeDate)},onDisable:function(){this.callParent();this.setDisabledStatus(!0)},setDisabledStatus:function(n){var t=this;t.keyNav.setDisabled(n);t.prevRepeater.setDisabled(n);t.nextRepeater.setDisabled(n);t.showToday&&(t.todayKeyListener.setDisabled(n),t.todayBtn.setDisabled(n))},getActive:function(){return this.activeDate||this.value},runAnimation:function(n){var t=this.monthPicker,i={duration:200,callback:function(){n?t.hide():t.show()}};n?t.el.slideOut("t",i):t.el.slideIn("t",i)},hideMonthPicker:function(n){var t=this,i=t.monthPicker;return i&&(t.shouldAnimate(n)?t.runAnimation(!0):i.hide()),t},showMonthPicker:function(n){var t=this,i;return t.rendered&&!t.disabled&&(i=t.createMonthPicker(),i.setValue(t.getActive()),i.setSize(t.getSize()),i.setPosition(-1,-1),t.shouldAnimate(n)?t.runAnimation(!1):i.show()),t},shouldAnimate:function(n){return Ext.isDefined(n)?n:!this.disableAnim},createMonthPicker:function(){var n=this,t=n.monthPicker;if(!t){n.monthPicker=t=new Ext.picker.Month({renderTo:n.el,floating:!0,shadow:!1,small:n.showToday===!1,listeners:{scope:n,cancelclick:n.onCancelClick,okclick:n.onOkClick,yeardblclick:n.onOkClick,monthdblclick:n.onOkClick}});n.disableAnim||t.el.setStyle("display","none");n.on("beforehide",Ext.Function.bind(n.hideMonthPicker,n,[!1]))}return t},onOkClick:function(n,t){var i=this,r=t[0],f=t[1],u=new Date(f,r,i.getActive().getDate());u.getMonth()!==r&&(u=Ext.Date.getLastDateOfMonth(new Date(f,r,1)));i.setValue(u);i.hideMonthPicker()},onCancelClick:function(){this.selectedUpdate(this.activeDate);this.hideMonthPicker()},showPrevMonth:function(){return this.setValue(Ext.Date.add(this.activeDate,Ext.Date.MONTH,-1))},showNextMonth:function(){return this.setValue(Ext.Date.add(this.activeDate,Ext.Date.MONTH,1))},showPrevYear:function(){return this.setValue(Ext.Date.add(this.activeDate,Ext.Date.YEAR,-1))},showNextYear:function(){return this.setValue(Ext.Date.add(this.activeDate,Ext.Date.YEAR,1))},handleMouseWheel:function(n){if(n.stopEvent(),!this.disabled){var t=n.getWheelDelta();t>0?this.showPrevMonth():t<0&&this.showNextMonth()}},handleDateClick:function(n,t){var i=this,r=i.handler;n.stopEvent();i.disabled||!t.dateValue||Ext.fly(t.parentNode).hasCls(i.disabledCellCls)||(i.doCancelFocus=i.focusOnSelect===!1,i.setValue(new Date(t.dateValue)),delete i.doCancelFocus,i.fireEvent("select",i,i.value),r&&r.call(i.scope||i,i,i.value),i.onSelect())},onSelect:function(){this.hideOnSelect&&this.hide()},selectToday:function(){var n=this,t=n.todayBtn,i=n.handler;return t&&!t.disabled&&(n.setValue(Ext.Date.clearTime(new Date)),n.fireEvent("select",n,n.value),i&&i.call(n.scope||n,n,n.value),n.onSelect()),n},selectedUpdate:function(n){var t=this,o=n.getTime(),u=t.cells,f=t.selectedCls,e=u.elements,r,s=e.length,i;for(u.removeCls(f),r=0;r<s;r++)if(i=Ext.fly(e[r]),i.dom.firstChild.dateValue==o){t.fireEvent("highlightitem",t,i);i.addCls(f);t.isVisible()&&!t.doCancelFocus&&Ext.fly(i.dom.firstChild).focus(50);break}},fullUpdate:function(n){var t=this,tt=t.cells.elements,it=t.textNodes,s=t.disabledCellCls,i=Ext.Date,r=0,rt=0,ut=t.isVisible(),ft=+i.clearTime(n,!0),et=+i.clearTime(new Date),k=t.minDate?i.clearTime(t.minDate,!0):Number.NEGATIVE_INFINITY,d=t.maxDate?i.clearTime(t.maxDate,!0):Number.POSITIVE_INFINITY,h=t.disabledDatesRE,ot=t.disabledDatesText,c=t.disabledDays?t.disabledDays.join(""):!1,st=t.disabledDaysText,l=t.format,g=i.getDaysInMonth(n),ht=i.getFirstDateOfMonth(n),f=ht.getDay()-t.startDay,y=i.add(n,i.MONTH,-1),ct=t.longDayFormat,p,u,w,o,nt,a,v,b,e;for(f<0&&(f+=7),g+=f,p=i.getDaysInMonth(y)-f,u=new Date(y.getFullYear(),y.getMonth(),p,t.initHour),t.showToday&&(o=i.clearTime(new Date),w=o<k||o>d||h&&l&&h.test(i.dateFormat(o,l))||c&&c.indexOf(o.getDay())!=-1,t.disabled||(t.todayBtn.setDisabled(w),t.todayKeyListener.setDisabled(w))),nt=function(n,r){e=+i.clearTime(u,!0);n.title=i.format(u,ct);n.firstChild.dateValue=e;e==et&&(r+=" "+t.todayCls,n.title=t.todayText,t.todayElSpan=Ext.DomHelper.append(n.firstChild,{tag:"span",cls:Ext.baseCSSPrefix+"hide-clip",html:t.todayText},!0));e==ft&&(r+=" "+t.selectedCls,t.fireEvent("highlightitem",t,n),ut&&t.floating&&Ext.fly(n.firstChild).focus(50));e<k?(r+=" "+s,n.title=t.minText):e>d?(r+=" "+s,n.title=t.maxText):c&&c.indexOf(u.getDay())!==-1?(n.title=st,r+=" "+s):h&&l&&(b=i.dateFormat(u,l),h.test(b)&&(n.title=ot.replace("%0",b),r+=" "+s));n.className=r+" "+t.cellCls};r<t.numDays;++r)r<f?(a=++p,v=t.prevCls):r>=g?(a=++rt,v=t.nextCls):(a=r-f+1,v=t.activeCls),it[r].innerHTML=a,u.setDate(u.getDate()+1),nt(tt[r],v);t.monthBtn.setText(Ext.Date.format(n,t.monthYearFormat))},update:function(n,t){var i=this,r=i.activeDate;return i.rendered&&(i.activeDate=n,!t&&r&&i.el&&r.getMonth()==n.getMonth()&&r.getFullYear()==n.getFullYear()?i.selectedUpdate(n,r):i.fullUpdate(n,r)),i},beforeDestroy:function(){var n=this;n.rendered&&(Ext.destroy(n.todayKeyListener,n.keyNav,n.monthPicker,n.monthBtn,n.nextRepeater,n.prevRepeater,n.todayBtn),delete n.textNodes,delete n.cells.elements);n.callParent()},onShow:function(){this.callParent(arguments);this.focusOnShow&&this.focus()}},0,["datepicker"],["datepicker","component","box"],{datepicker:!0,component:!0,box:!0},["widget.datepicker"],0,[Ext.picker,"Date",Ext,"DatePicker"],0);Ext.cmd.derive("Ext.form.field.Date",Ext.form.field.Picker,{alternateClassName:["Ext.form.DateField","Ext.form.Date"],format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:!0,useStrict:undefined,initTime:"12",initTimeFormat:"H",matchFieldWidth:!1,startDay:0,initComponent:function(){var n=this,r=Ext.isString,t,i;t=n.minValue;i=n.maxValue;r(t)&&(n.minValue=n.parseDate(t));r(i)&&(n.maxValue=n.parseDate(i));n.disabledDatesRE=null;n.initDisabledDays();n.callParent()},initValue:function(){var n=this,t=n.value;Ext.isString(t)&&(n.value=n.rawToValue(t));n.callParent()},initDisabledDays:function(){if(this.disabledDates){for(var i=this.disabledDates,u=i.length-1,r="(?:",f=i.length,t,n=0;n<f;n++)t=i[n],r+=Ext.isDate(t)?"^"+Ext.String.escapeRegex(t.dateFormat(this.format))+"$":t,n!==u&&(r+="|");this.disabledDatesRE=new RegExp(r+")")}},setDisabledDates:function(n){var t=this,i=t.picker;t.disabledDates=n;t.initDisabledDays();i&&i.setDisabledDates(t.disabledDatesRE)},setDisabledDays:function(n){var t=this.picker;this.disabledDays=n;t&&t.setDisabledDays(n)},setMinValue:function(n){var t=this,i=t.picker,r=Ext.isString(n)?t.parseDate(n):n;t.minValue=r;i&&(i.minText=Ext.String.format(t.minText,t.formatDate(t.minValue)),i.setMinDate(r))},setMaxValue:function(n){var t=this,i=t.picker,r=Ext.isString(n)?t.parseDate(n):n;t.maxValue=r;i&&(i.maxText=Ext.String.format(t.maxText,t.formatDate(t.maxValue)),i.setMaxDate(r))},getErrors:function(n){var t=this,r=Ext.String.format,c=Ext.Date.clearTime,i=t.callParent(arguments),u=t.disabledDays,l=t.disabledDatesRE,f=t.minValue,e=t.maxValue,y=u?u.length:0,o=0,a,s,v,h;if(n=t.formatDate(n||t.processRawValue(t.getRawValue())),n===null||n.length<1)return i;if(a=n,n=t.parseDate(n),!n)return i.push(r(t.invalidText,a,Ext.Date.unescapeFormat(t.format))),i;if(h=n.getTime(),f&&h<c(f).getTime()&&i.push(r(t.minText,t.formatDate(f))),e&&h>c(e).getTime()&&i.push(r(t.maxText,t.formatDate(e))),u)for(v=n.getDay();o<y;o++)if(v===u[o]){i.push(t.disabledDaysText);break}return s=t.formatDate(n),l&&l.test(s)&&i.push(r(t.disabledDatesText,s)),i},rawToValue:function(n){return this.parseDate(n)||n||null},valueToRaw:function(n){return this.formatDate(this.parseDate(n))},safeParse:function(n,t){var r=this,i=Ext.Date,u=null,e=r.useStrict,f;return i.formatContainsHourInfo(t)?u=i.parse(n,t,e):(f=i.parse(n+" "+r.initTime,t+" "+r.initTimeFormat,e),f&&(u=i.clearTime(f))),u},getSubmitValue:function(){var t=this.submitFormat||this.format,n=this.getValue();return n?Ext.Date.format(n,t):""},parseDate:function(n){if(!n||Ext.isDate(n))return n;var t=this,i=t.safeParse(n,t.format),f=t.altFormats,r=t.altFormatsArray,u=0,e;if(!i&&f)for(r=r||f.split("|"),e=r.length;u<e&&!i;++u)i=t.safeParse(n,r[u]);return i},formatDate:function(n){return Ext.isDate(n)?Ext.Date.dateFormat(n,this.format):n},createPicker:function(){var n=this,t=Ext.String.format;return new Ext.picker.Date({pickerField:n,ownerCt:n.ownerCt,renderTo:document.body,floating:!0,hidden:!0,focusOnShow:!0,minDate:n.minValue,maxDate:n.maxValue,disabledDatesRE:n.disabledDatesRE,disabledDatesText:n.disabledDatesText,disabledDays:n.disabledDays,disabledDaysText:n.disabledDaysText,format:n.format,showToday:n.showToday,startDay:n.startDay,minText:t(n.minText,n.formatDate(n.minValue)),maxText:t(n.maxText,n.formatDate(n.maxValue)),listeners:{scope:n,select:n.onSelect},keyNavConfig:{esc:function(){n.collapse()}}})},onDownArrow:function(){this.callParent(arguments);this.isExpanded&&this.getPicker().focus()},onSelect:function(n,t){var i=this;i.setValue(t);i.fireEvent("select",i,t);i.collapse()},onExpand:function(){var n=this.getValue();this.picker.setValue(Ext.isDate(n)?n:new Date)},onCollapse:function(){this.focus(!1,60)},beforeBlur:function(){var n=this,t=n.parseDate(n.getRawValue()),i=n.focusTask;i&&i.cancel();t&&n.setValue(t)}},0,["datefield"],["field","trigger","textfield","pickerfield","component","datefield","box","triggerfield"],{field:!0,trigger:!0,textfield:!0,pickerfield:!0,component:!0,datefield:!0,box:!0,triggerfield:!0},["widget.datefield"],0,[Ext.form.field,"Date",Ext.form,"DateField",Ext.form,"Date"],0);Ext.cmd.derive("Ext.form.field.FileButton",Ext.button.Button,{childEls:["btnEl","btnWrap","btnInnerEl","btnIconEl","fileInputEl"],inputCls:Ext.baseCSSPrefix+"form-file-input",cls:Ext.baseCSSPrefix+"form-file-btn",preventDefault:!1,renderTpl:['<span id="{id}-btnWrap" class="{baseCls}-wrap','<tpl if="splitCls"> {splitCls}<\/tpl>','{childElCls}" unselectable="on">','<span id="{id}-btnEl" class="{baseCls}-button">','<span id="{id}-btnInnerEl" class="{baseCls}-inner {innerCls}','{childElCls}" unselectable="on">',"{text}","<\/span>",'<span role="img" id="{id}-btnIconEl" class="{baseCls}-icon-el {iconCls}','{childElCls} {glyphCls}" unselectable="on" style="','<tpl if="iconUrl">background-image:url({iconUrl});<\/tpl>','<tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};<\/tpl>">','<tpl if="glyph">&#{glyph};<\/tpl><tpl if="iconCls || iconUrl">&#160;<\/tpl>',"<\/span>","<\/span>","<\/span>",'<input id="{id}-fileInputEl" class="{childElCls} {inputCls}" type="file" size="1" name="{inputName}">'],getTemplateArgs:function(){var n=this.callParent();return n.inputCls=this.inputCls,n.inputName=this.inputName,n},afterRender:function(){var n=this;n.callParent(arguments);n.fileInputEl.on("change",n.fireChange,n)},fireChange:function(n){this.fireEvent("change",this,n,this.fileInputEl.dom.value)},createFileInput:function(n){var t=this;t.fileInputEl=t.el.createChild({name:t.inputName,id:n?undefined:t.id+"-fileInputEl",cls:t.inputCls,tag:"input",type:"file",size:1});t.fileInputEl.on("change",t.fireChange,t)},reset:function(n){n&&this.fileInputEl.remove();this.createFileInput(!n)},restoreInput:function(n){this.fileInputEl.remove();n=Ext.get(n);this.el.appendChild(n);this.fileInputEl=n},onDisable:function(){this.callParent();this.fileInputEl.dom.disabled=!0},onEnable:function(){this.callParent();this.fileInputEl.dom.disabled=!1}},0,["filebutton"],["filebutton","button","component","box"],{filebutton:!0,button:!0,component:!0,box:!0},["widget.filebutton"],0,[Ext.form.field,"FileButton"],0);Ext.cmd.derive("Ext.form.field.File",Ext.form.field.Trigger,{alternateClassName:["Ext.form.FileUploadField","Ext.ux.form.FileUploadField","Ext.form.File"],buttonText:"Browse...",buttonOnly:!1,buttonMargin:3,clearOnSubmit:!0,extraFieldBodyCls:Ext.baseCSSPrefix+"form-file-wrap",readOnly:!0,triggerNoEditCls:"",componentLayout:"triggerfield",childEls:["browseButtonWrap"],onRender:function(){var n=this,t=n.id,i;n.callParent(arguments);i=n.inputEl;i.dom.name="";n.button=new Ext.form.field.FileButton(Ext.apply({renderTo:t+"-browseButtonWrap",ownerCt:n,ownerLayout:n.componentLayout,id:t+"-button",ui:n.ui,disabled:n.disabled,text:n.buttonText,style:n.buttonOnly?"":n.getButtonMarginProp()+n.buttonMargin+"px",inputName:n.getName(),listeners:{scope:n,change:n.onFileChange}},n.buttonConfig));n.fileInputEl=n.button.fileInputEl;n.buttonOnly&&n.inputCell.setDisplayed(!1);n.browseButtonWrap.dom.style.width=n.browseButtonWrap.dom.lastChild.offsetWidth+n.button.getEl().getMargin("lr")+"px";Ext.isIE&&n.button.getEl().repaint()},getTriggerMarkup:function(){return'<td id="'+this.id+'-browseButtonWrap"><\/td>'},onFileChange:function(n,t,i){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,i)},setValue:Ext.emptyFn,reset:function(){var n=this,t=n.clearOnSubmit;n.rendered&&(n.button.reset(t),n.fileInputEl=n.button.fileInputEl,t&&(n.inputEl.dom.value=""));n.callParent()},onShow:function(){this.callParent();this.button.updateLayout()},onDisable:function(){this.callParent();this.button.disable()},onEnable:function(){this.callParent();this.button.enable()},isFileUpload:function(){return!0},extractFileInput:function(){var n=this.button.fileInputEl.dom;return this.reset(),n},restoreInput:function(n){var t=this.button;t.restoreInput(n);this.fileInputEl=t.fileInputEl},onDestroy:function(){Ext.destroyMembers(this,"button");delete this.fileInputEl;this.callParent()},getButtonMarginProp:function(){return"margin-left:"}},0,["fileuploadfield","filefield"],["field","trigger","textfield","component","fileuploadfield","filefield","box","triggerfield"],{field:!0,trigger:!0,textfield:!0,component:!0,fileuploadfield:!0,filefield:!0,box:!0,triggerfield:!0},["widget.filefield","widget.fileuploadfield"],0,[Ext.form.field,"File",Ext.form,"FileUploadField",Ext.ux.form,"FileUploadField",Ext.form,"File"],0);Ext.cmd.derive("Ext.form.field.Hidden",Ext.form.field.Base,{alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:!0,hidden:!0,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},isEqual:function(n,t){return this.isEqualAsString(n,t)},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn},0,["hidden","hiddenfield"],["field","component","hidden","hiddenfield","box"],{field:!0,component:!0,hidden:!0,hiddenfield:!0,box:!0},["widget.hidden","widget.hiddenfield"],0,[Ext.form.field,"Hidden",Ext.form,"Hidden"],0);Ext.cmd.derive("Ext.picker.Color",Ext.Component,{alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",itemCls:Ext.baseCSSPrefix+"color-picker-item",value:null,clickEvent:"click",allowReselect:!1,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,renderTpl:['<tpl for="colors">','<a href="#" class="color-{.} {parent.itemCls}" hidefocus="on">','<span class="{parent.itemCls}-inner" style="background:#{.}">&#160;<\/span>',"<\/a>","<\/tpl>"],initComponent:function(){var n=this;if(n.callParent(arguments),n.addEvents("select"),n.handler)n.on("select",n.handler,n.scope,!0)},initRenderData:function(){var n=this;return Ext.apply(n.callParent(),{itemCls:n.itemCls,colors:n.colors})},onRender:function(){var n=this,t=n.clickEvent;n.callParent(arguments);n.mon(n.el,t,n.handleClick,n,{delegate:"a"});t!="click"&&n.mon(n.el,"click",Ext.emptyFn,n,{delegate:"a",stopEvent:!0})},afterRender:function(){var n=this,t;n.callParent(arguments);n.value&&(t=n.value,n.value=null,n.select(t,!0))},handleClick:function(n,t){var i=this,r;n.stopEvent();i.disabled||(r=t.className.match(i.colorRe)[1],i.select(r.toUpperCase()))},select:function(n,t){var i=this,u=i.selectedCls,f=i.value,r;if(n=n.replace("#",""),!i.rendered){i.value=n;return}(n!=f||i.allowReselect)&&(r=i.el,i.value&&r.down("a.color-"+f).removeCls(u),r.down("a.color-"+n).addCls(u),i.value=n,t!==!0&&i.fireEvent("select",i,n))},clear:function(){var n=this,t=n.value,i;t&&n.rendered&&(i=n.el.down("a.color-"+t),i.removeCls(n.selectedCls));n.value=null},getValue:function(){return this.value||null}},0,["colorpicker"],["component","box","colorpicker"],{component:!0,box:!0,colorpicker:!0},["widget.colorpicker"],0,[Ext.picker,"Color",Ext,"ColorPalette"],0);Ext.cmd.derive("Ext.layout.component.field.HtmlEditor",Ext.layout.component.field.FieldContainer,{type:"htmleditor",naturalHeight:150,naturalWidth:300,beginLayout:function(n){var t=this.owner,i;Ext.isGecko&&(i=t.textareaEl.dom,this.lastValue=i.value,i.value="");this.callParent(arguments);n.toolbarContext=n.context.getCmp(t.toolbar);n.inputCmpContext=n.context.getCmp(t.inputCmp);n.textAreaContext=n.getEl("textareaEl");n.iframeContext=n.getEl("iframeEl")},beginLayoutCycle:function(n){var t=this,i=n.widthModel,r=n.heightModel,u=t.owner,f=u.iframeEl,e=u.textareaEl;t.callParent(arguments);i.shrinkWrap?(f.setStyle("width",""),e.setStyle("width","")):i.natural&&n.bodyCellContext.setWidth(t.naturalWidth);(r.natural||r.shrinkWrap)&&(f.setHeight(t.naturalHeight),e.setHeight(t.naturalHeight))},finishedLayout:function(){var n=this.owner;this.callParent(arguments);Ext.isIE9m&&Ext.isIEQuirks&&n.el.repaint();Ext.isGecko&&(n.textareaEl.dom.value=this.lastValue)},publishOwnerWidth:function(n,t){this.callParent(arguments);t-=n.inputCmpContext.getBorderInfo().width;n.textAreaContext.setWidth(t);n.iframeContext.setWidth(t)},publishInnerWidth:function(n,t){var r=n.inputCmpContext.getBorderInfo().width,i=Ext.isStrict&&Ext.isIE8m,u=n.widthModel.natural;this.callParent(arguments);t=n.bodyCellContext.props.width-r;u?(i&&(t-=2),n.textAreaContext.setWidth(t),n.iframeContext.setWidth(t)):i&&n.textAreaContext.setWidth(t)},publishInnerHeight:function(n,t){var i=n.toolbarContext.getProp("height"),r=this.owner.sourceEditMode;this.callParent(arguments);t=n.bodyCellContext.props.height;i!==undefined?(t-=i+n.inputCmpContext.getFrameInfo().height,Ext.isIE8&&Ext.isStrict?t-=2:Ext.isIEQuirks&&(Ext.isIE8||Ext.isIE9)&&(t-=4),n.iframeContext.setHeight(t),n.textAreaContext.setHeight(t)):this.done=!1}},0,0,0,0,["layout.htmleditor"],0,[Ext.layout.component.field,"HtmlEditor"],0);Ext.cmd.derive("Ext.form.field.HtmlEditor",Ext.form.FieldContainer,{alternateClassName:"Ext.form.HtmlEditor",componentLayout:"htmleditor",componentTpl:["{beforeTextAreaTpl}",'<textarea id="{id}-textareaEl" name="{name}" tabIndex="-1" {inputAttrTpl}',' class="{textareaCls}" autocomplete="off">',"{[Ext.util.Format.htmlEncode(values.value)]}","<\/textarea>","{afterTextAreaTpl}","{beforeIFrameTpl}",'<iframe id="{id}-iframeEl" name="{iframeName}" frameBorder="0" {iframeAttrTpl}',' src="{iframeSrc}" class="{iframeCls}"><\/iframe>',"{afterIFrameTpl}",{disableFormats:!0}],stretchInputElFixed:!0,subTplInsertions:["beforeTextAreaTpl","afterTextAreaTpl","beforeIFrameTpl","afterIFrameTpl","iframeAttrTpl","inputAttrTpl"],enableFormat:!0,enableFontSize:!0,enableColors:!0,enableAlignments:!0,enableLists:!0,enableSourceEdit:!0,enableLinks:!0,enableFont:!0,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultValue:Ext.isOpera||Ext.isIE6?"&#160;":"&#8203;",extraFieldBodyCls:Ext.baseCSSPrefix+"html-editor-wrap",initialized:!1,activated:!1,sourceEditMode:!1,iframePad:3,hideMode:"offsets",maskOnDisable:!0,containerElCls:Ext.baseCSSPrefix+"html-editor-container",initComponent:function(){var n=this;n.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");n.items=[n.createToolbar(),n.createInputCmp()];n.layout={type:"vbox",align:"stretch"};n.callParent(arguments);n.initField()},createInputCmp:function(){return this.inputCmp=Ext.widget(this.getInputCmpCfg()),this.inputCmp},getInputCmpCfg:function(){var n=this,t=n.id+"-inputCmp",i={id:t,name:n.name,textareaCls:Ext.baseCSSPrefix+"hidden",value:n.value,iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,iframeCls:Ext.baseCSSPrefix+"htmleditor-iframe"};return n.getInsertionRenderData(i,n.subTplInsertions),{flex:1,xtype:"component",tpl:n.getTpl("componentTpl"),childEls:["iframeEl","textareaEl"],id:t,cls:Ext.baseCSSPrefix+"html-editor-input",data:i}},createToolbar:function(){return this.toolbar=Ext.widget(this.getToolbarCfg()),this.toolbar},getToolbarCfg:function(){function i(t,i,f){return{itemId:t,cls:r+"btn-icon",iconCls:r+"edit-"+t,enableToggle:i!==!1,scope:n,handler:f||n.relayBtnCmd,clickEvent:"mousedown",tooltip:e?n.buttonTips[t]||u:u,overflowText:n.buttonTips[t].title||u,tabIndex:-1}}var n=this,t=[],f,e=Ext.quickTipsActive&&Ext.tip.QuickTipManager.isEnabled(),r=Ext.baseCSSPrefix,o,u;for(n.enableFont&&!Ext.isSafari2&&(o=Ext.widget("component",{itemId:"fontSelect",renderTpl:['<select id="{id}-selectEl" class="'+r+'font-select">',"<\/select>"],childEls:["selectEl"],afterRender:function(){n.fontSelect=this.selectEl;Ext.Component.prototype.afterRender.apply(this,arguments)},onDisable:function(){var n=this.selectEl;n&&(n.dom.disabled=!0);Ext.Component.prototype.onDisable.apply(this,arguments)},onEnable:function(){var n=this.selectEl;n&&(n.dom.disabled=!1);Ext.Component.prototype.onEnable.apply(this,arguments)},listeners:{change:function(){n.win.focus();n.relayCmd("fontName",n.fontSelect.dom.value);n.deferFocus()},element:"selectEl"}}),t.push(o,"-")),n.enableFormat&&t.push(i("bold"),i("italic"),i("underline")),n.enableFontSize&&t.push("-",i("increasefontsize",!1,n.adjustFont),i("decreasefontsize",!1,n.adjustFont)),n.enableColors&&t.push("-",{itemId:"forecolor",cls:r+"btn-icon",iconCls:r+"edit-forecolor",overflowText:n.buttonTips.forecolor.title,tooltip:e?n.buttonTips.forecolor||u:u,tabIndex:-1,menu:Ext.widget("menu",{plain:!0,items:[{xtype:"colorpicker",allowReselect:!0,focus:Ext.emptyFn,value:"000000",plain:!0,clickEvent:"mousedown",handler:function(t,i){n.relayCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+i:i);this.up("menu").hide()}}]})},{itemId:"backcolor",cls:r+"btn-icon",iconCls:r+"edit-backcolor",overflowText:n.buttonTips.backcolor.title,tooltip:e?n.buttonTips.backcolor||u:u,tabIndex:-1,menu:Ext.widget("menu",{plain:!0,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:!0,allowReselect:!0,clickEvent:"mousedown",handler:function(t,i){Ext.isGecko?(n.execCmd("useCSS",!1),n.execCmd("hilitecolor","#"+i),n.execCmd("useCSS",!0),n.deferFocus()):n.relayCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE||Ext.isOpera?"#"+i:i);this.up("menu").hide()}}]})}),n.enableAlignments&&t.push("-",i("justifyleft"),i("justifycenter"),i("justifyright")),Ext.isSafari2||(n.enableLinks&&t.push("-",i("createlink",!1,n.createLink)),n.enableLists&&t.push("-",i("insertorderedlist"),i("insertunorderedlist")),n.enableSourceEdit&&t.push("-",i("sourceedit",!0,function(){n.toggleSourceEdit(!n.sourceEditMode)}))),f=0;f<t.length;f++)t[f].itemId!=="sourceedit"&&(t[f].disabled=!0);return{xtype:"toolbar",defaultButtonUI:n.defaultButtonUI,cls:Ext.baseCSSPrefix+"html-editor-tb",enableOverflow:!0,items:t,listeners:{click:function(n){n.preventDefault()},element:"el"}}},getMaskTarget:function(){return Ext.isGecko?this.inputCmp.el:this.bodyEl},setReadOnly:function(n){var t=this,r=t.textareaEl,u=t.iframeEl,i;t.readOnly=n;r&&(r.dom.readOnly=n);t.initialized&&(i=t.getEditorBody(),Ext.isIE?(u.setDisplayed(!1),i.contentEditable=!n,u.setDisplayed(!0)):t.setDesignMode(!n),i&&(i.style.cursor=n?"default":"text"),t.disableItems(n))},getDocMarkup:function(){var n=this,i=n.iframeEl.getHeight()-n.iframePad*2,t=Ext.isIE8m;return Ext.String.format((t?"":"<!DOCTYPE html>")+'<html><head><style type="text/css">'+(Ext.isOpera?"p{margin:0}":"")+"body{border:0;margin:0;padding:{0}px;direction:"+(n.rtl?"rtl;":"ltr;")+(t?Ext.emptyString:"min-")+"height:{1}px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;cursor:text;background-color:white;"+(Ext.isIE?"":"font-size:12px;font-family:{2}")+"}<\/style><\/head><body><\/body><\/html>",n.iframePad,i,n.defaultFont)},getEditorBody:function(){var n=this.getDoc();return n.body||n.documentElement},getDoc:function(){return!Ext.isIE&&this.iframeEl.dom.contentDocument||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},initDefaultFont:function(){var t=this,o=0,i,n,u,f,r,s,e;if(!t.defaultFont){for(n=t.textareaEl.getStyle("font-family"),n=Ext.String.capitalize(n.split(",")[0]),i=Ext.Array.clone(t.fontFamilies),Ext.Array.include(i,n),i.sort(),t.defaultFont=n,u=t.down("#fontSelect").selectEl.dom,r=0,s=i.length;r<s;++r)n=i[r],e=n.toLowerCase(),f=new Option(n,e),n==t.defaultFont&&(o=r),f.style.fontFamily=e,Ext.isIE?u.add(f):u.options.add(f);u.options[o].selected=!0}},isEqual:function(n,t){return this.isEqualAsString(n,t)},afterRender:function(){var n=this,t=n.inputCmp;n.callParent(arguments);n.iframeEl=t.iframeEl;n.textareaEl=t.textareaEl;n.inputEl=n.iframeEl;n.enableFont&&n.initDefaultFont();n.monitorTask=Ext.TaskManager.start({run:n.checkDesignMode,scope:n,interval:100});n.relayCmd("fontName",n.defaultFont)},initFrameDoc:function(){var n=this,t,i;Ext.TaskManager.stop(n.monitorTask);t=n.getDoc();n.win=n.getWin();t.open();t.write(n.getDocMarkup());t.close();i={run:function(){var t=n.getDoc();(t.body||t.readyState==="complete")&&(Ext.TaskManager.stop(i),n.setDesignMode(!0),Ext.defer(n.initEditor,10,n))},interval:10,duration:1e4,scope:n};Ext.TaskManager.start(i)},checkDesignMode:function(){var n=this,t=n.getDoc();t&&(!t.editorInitialized||n.getDesignMode()!=="on")&&n.initFrameDoc()},setDesignMode:function(n){var t=this,i=t.getDoc();i&&(t.readOnly&&(n=!1),i.designMode=/on|true/i.test(String(n).toLowerCase())?"on":"off")},getDesignMode:function(){var n=this.getDoc();return n?String(n.designMode).toLowerCase():""},disableItems:function(n){for(var r=this.getToolbar().items.items,u=r.length,i,t=0;t<u;t++)i=r[t],i.getItemId()!=="sourceedit"&&i.setDisabled(n)},toggleSourceEdit:function(n){var t=this,u=t.iframeEl,i=t.textareaEl,r=Ext.baseCSSPrefix+"hidden",f=t.getToolbar().getComponent("sourceedit");Ext.isBoolean(n)||(n=!t.sourceEditMode);t.sourceEditMode=n;f.pressed!==n&&f.toggle(n);n?(t.disableItems(!0),t.syncValue(),u.addCls(r),i.removeCls(r),i.dom.removeAttribute("tabIndex"),i.focus(),t.inputEl=i):(t.initialized&&t.disableItems(t.readOnly),t.pushValue(),u.removeCls(r),i.addCls(r),i.dom.setAttribute("tabIndex",-1),t.deferFocus(),t.inputEl=u);t.fireEvent("editmodechange",t,n);t.updateLayout()},createLink:function(){var n=prompt(this.createLinkText,this.defaultLinkValue);n&&n!=="http://"&&this.relayCmd("createlink",n)},clearInvalid:Ext.emptyFn,setValue:function(n){var t=this,i=t.textareaEl,r=t.inputCmp;return t.mixins.field.setValue.call(t,n),(n===null||n===undefined)&&(n=""),i&&(i.dom.value=n),t.pushValue(),!t.rendered&&t.inputCmp&&(t.inputCmp.data.value=n),t},cleanHtml:function(n){return n=String(n),Ext.isWebKit&&(n=n.replace(/\sclass="(?:Apple-style-span|Apple-tab-span|khtml-block-placeholder)"/gi,"")),n.charCodeAt(0)===parseInt(this.defaultValue.replace(/\D/g,""),10)&&(n=n.substring(1)),n},syncValue:function(){var t=this,u,f,n,e,i,r;t.initialized&&(u=t.getEditorBody(),n=u.innerHTML,r=t.textareaEl.dom,Ext.isWebKit&&(e=u.getAttribute("style"),i=e.match(/text-align:(.*?);/i),i&&i[1]&&(n='<div style="'+i[0]+'">'+n+"<\/div>")),n=t.cleanHtml(n),t.fireEvent("beforesync",t,n)!==!1&&(Ext.isGecko&&r.value===""&&n==="<br>"&&(n=""),r.value!==n&&(r.value=n,f=!0),t.fireEvent("sync",t,n),f&&t.checkChange()))},getValue:function(){var n=this,t;return n.sourceEditMode||n.syncValue(),t=n.rendered?n.textareaEl.dom.value:n.value,n.value=t,t},pushValue:function(){var n=this,t;n.initialized&&(t=n.textareaEl.dom.value||"",!n.activated&&t.length<1&&(t=n.defaultValue),n.fireEvent("beforepush",n,t)!==!1&&(n.getEditorBody().innerHTML=t,Ext.isGecko&&(n.setDesignMode(!1),n.setDesignMode(!0)),n.fireEvent("push",n,t)))},deferFocus:function(){this.focus(!1,!0)},getFocusEl:function(){var n=this,t=n.win;return t&&!n.sourceEditMode?t:n.textareaEl},focus:function(n,t){var i=this,u,r;return t?(i.focusTask||(i.focusTask=new Ext.util.DelayedTask(i.focus)),i.focusTask.delay(Ext.isNumber(t)?t:10,null,i,[n,!1])):(n&&(i.textareaEl&&i.textareaEl.dom&&(u=i.textareaEl.dom.value),u&&u.length&&i.execCmd("selectall",!0)),r=i.getFocusEl(),r&&r.focus&&r.focus()),i},initEditor:function(){try{var n=this,r=n.getEditorBody(),u=n.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),t,i;if(u["background-attachment"]="fixed",r.bgProperties="fixed",Ext.DomHelper.applyStyles(r,u),t=n.getDoc(),t)try{Ext.EventManager.removeAll(t)}catch(f){}i=Ext.Function.bind(n.onEditorEvent,n);Ext.EventManager.on(t,{mousedown:i,dblclick:i,click:i,keyup:i,buffer:100});i=n.onRelayedEvent;Ext.EventManager.on(t,{mousedown:i,mousemove:i,mouseup:i,click:i,dblclick:i,scope:n});if(Ext.isGecko)Ext.EventManager.on(t,"keypress",n.applyCommand,n);if(n.fixKeys)Ext.EventManager.on(t,"keydown",n.fixKeys,n);if(n.fixKeysAfter)Ext.EventManager.on(t,"keyup",n.fixKeysAfter,n);if(Ext.isIE9&&Ext.isStrict)Ext.EventManager.on(t.documentElement,"focus",n.focus,n);if(Ext.isIE8m||Ext.isIE9&&!Ext.isStrict){Ext.EventManager.on(t,"focusout",function(){n.savedSelection=t.selection.type!=="None"?t.selection.createRange():null},n);Ext.EventManager.on(t,"focusin",function(){n.savedSelection&&n.savedSelection.select()},n)}Ext.EventManager.onWindowUnload(n.beforeDestroy,n);t.editorInitialized=!0;n.initialized=!0;n.pushValue();n.setReadOnly(n.readOnly);n.fireEvent("initialize",n)}catch(e){}},beforeDestroy:function(){var n=this,r=n.monitorTask,t,i;if(r&&Ext.TaskManager.stop(r),n.rendered){Ext.EventManager.removeUnloadListener(n.beforeDestroy,n);try{if(t=n.getDoc(),t){Ext.EventManager.removeAll(Ext.fly(t));for(i in t)t.hasOwnProperty&&t.hasOwnProperty(i)&&delete t[i]}}catch(u){}delete n.iframeEl;delete n.textareaEl;delete n.toolbar;delete n.inputCmp}n.callParent()},onRelayedEvent:function(n){var t=this.iframeEl,i=Ext.Element.getTrueXY(t),u=n.getXY(),r=Ext.EventManager.getPageXY(n.browserEvent);n.xy=[i[0]+r[0],i[1]+r[1]];n.injectEvent(t);n.xy=u},onFirstFocus:function(){var n=this,t,i;if(n.activated=!0,n.disableItems(n.readOnly),Ext.isGecko){n.win.focus();t=n.win.getSelection();t.focusNode&&t.focusNode.nodeType===3||(i=t.getRangeAt(0),i.selectNodeContents(n.getEditorBody()),i.collapse(!0),n.deferFocus());try{n.execCmd("useCSS",!0);n.execCmd("styleWithCSS",!1)}catch(r){}}n.fireEvent("activate",n)},adjustFont:function(n){var i=n.getItemId()==="increasefontsize"?1:-1,t=this.getDoc().queryCommandValue("FontSize")||"2",u=Ext.isString(t)&&t.indexOf("px")!==-1,r;t=parseInt(t,10);u?(t=t<=10?1+i:t<=13?2+i:t<=16?3+i:t<=18?4+i:t<=24?5+i:6+i,t=Ext.Number.constrain(t,1,6)):(r=Ext.isSafari,r&&(i*=2),t=Math.max(1,t+i)+(r?"px":0));this.relayCmd("FontSize",t)},onEditorEvent:function(){this.updateToolbar()},updateToolbar:function(){function o(){var n;for(t=0,s=arguments.length,i;t<s;t++){i=arguments[t];try{n=u.queryCommandState(i)}catch(r){n=!1}h[i].toggle(n)}}var n=this,t,s,h,u,i,r,f,e;if(!n.readOnly){if(!n.activated){n.onFirstFocus();return}for(h=n.getToolbar().items.map,u=n.getDoc(),n.enableFont&&!Ext.isSafari2&&(r=u.queryCommandValue("fontName"),i=(r?r.split(",")[0].replace(/^'/,"").replace(/'$/,""):n.defaultFont).toLowerCase(),f=n.fontSelect.dom,(i!==f.value||i!=r)&&(f.value=i)),n.enableFormat&&o("bold","italic","underline"),n.enableAlignments&&o("justifyleft","justifycenter","justifyright"),!Ext.isSafari2&&n.enableLists&&o("insertorderedlist","insertunorderedlist"),e=n.toolbar.query("menu"),t=0;t<e.length;t++)e[t].hide();n.syncValue()}},relayBtnCmd:function(n){this.relayCmd(n.getItemId())},relayCmd:function(n,t){Ext.defer(function(){var i=this;this.isDestroyed||(i.win.focus(),i.execCmd(n,t),i.updateToolbar())},10,this)},execCmd:function(n,t){var i=this,r=i.getDoc();r.execCommand(n,!1,t==undefined?null:t);i.syncValue()},applyCommand:function(n){if(n.ctrlKey){var r=this,i=n.getCharCode(),t;if(i>0){i=String.fromCharCode(i);switch(i){case"b":t="bold";break;case"i":t="italic";break;case"u":t="underline"}t&&(r.win.focus(),r.execCmd(t),r.deferFocus(),n.preventDefault())}}},insertAtCursor:function(n){var t=this,i;t.activated&&(t.win.focus(),Ext.isIE?(i=t.getDoc().selection.createRange(),i&&(i.pasteHTML(n),t.syncValue(),t.deferFocus())):(t.execCmd("InsertHTML",n),t.deferFocus()))},fixKeys:function(){return Ext.isIE?function(n){var i=this,u=n.getKey(),f=i.getDoc(),e=i.readOnly,t,r;u===n.TAB?(n.stopEvent(),e||(t=f.selection.createRange(),t&&(t.collapse&&(t.collapse(!0),t.pasteHTML("&#160;&#160;&#160;&#160;")),i.deferFocus()))):u===n.ENTER&&(e||(t=f.selection.createRange(),t&&(r=t.parentElement(),r&&r.tagName.toLowerCase()==="li"||(n.stopEvent(),t.pasteHTML("<br />"),t.collapse(!1),t.select()))))}:Ext.isOpera?function(n){var t=this,i=n.getKey(),r=t.readOnly;i===n.TAB&&(n.stopEvent(),r||(t.win.focus(),t.execCmd("InsertHTML","&#160;&#160;&#160;&#160;"),t.deferFocus()))}:null}(),fixKeysAfter:function(){return Ext.isIE?function(n){var i=this,r=n.getKey(),u=i.getDoc(),f=i.readOnly,t;f||r!==n.BACKSPACE&&r!==n.DELETE||(t=u.body.innerHTML,(t==="<p>&nbsp;<\/p>"||t==="<P>&nbsp;<\/P>")&&(u.body.innerHTML=""))}:null}(),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}},0,["htmleditor"],["htmleditor","component","container","fieldcontainer","box"],{htmleditor:!0,component:!0,container:!0,fieldcontainer:!0,box:!0},["widget.htmleditor"],[["field",Ext.form.field.Field]],[Ext.form.field,"HtmlEditor",Ext.form,"HtmlEditor"],0);Ext.cmd.derive("Ext.picker.Time",Ext.view.BoundList,{increment:15,format:"g:i A",displayField:"disp",initDate:[2008,0,1],componentCls:Ext.baseCSSPrefix+"timepicker",loadMask:!1,initComponent:function(){var n=this,i=Ext.Date,r=i.clearTime,t=n.initDate;n.absMin=r(new Date(t[0],t[1],t[2]));n.absMax=i.add(r(new Date(t[0],t[1],t[2])),"mi",1439);n.store=n.createStore();n.store.addFilter(n.rangeFilter=new Ext.util.Filter({id:"time-picker-filter"}),!1);n.updateList();n.callParent()},setMinValue:function(n){this.minValue=n;this.updateList()},setMaxValue:function(n){this.maxValue=n;this.updateList()},normalizeDate:function(n){var t=this.initDate;return n.setFullYear(t[0],t[1],t[2]),n},updateList:function(){var n=this,t=n.normalizeDate(n.minValue||n.absMin),i=n.normalizeDate(n.maxValue||n.absMax);n.rangeFilter.setFilterFn(function(n){var r=n.get("date");return r>=t&&r<=i});n.store.filter()},createStore:function(){for(var t=this,i=Ext.Date,r=[],n=t.absMin,u=t.absMax;n<=u;)r.push({disp:i.dateFormat(n,t.format),date:n}),n=i.add(n,"mi",t.increment);return new Ext.data.Store({fields:["disp","date"],data:r})},focusNode:function(){return!1}},0,["timepicker"],["timepicker","component","boundlist","box","dataview"],{timepicker:!0,component:!0,boundlist:!0,box:!0,dataview:!0},["widget.timepicker"],0,[Ext.picker,"Time"],0);Ext.cmd.derive("Ext.form.field.Time",Ext.form.field.ComboBox,{alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:!0,snapToIncrement:!1,initDate:"1/1/2008",initDateFormat:"j/n/Y",ignoreSelection:0,queryMode:"local",displayField:"disp",valueField:"date",initComponent:function(){var n=this,t=n.minValue,i=n.maxValue;t&&n.setMinValue(t);i&&n.setMaxValue(i);n.displayTpl=new Ext.XTemplate('<tpl for=".">{[typeof values === "string" ? values : this.formatDate(values["'+n.displayField+'"])]}<tpl if="xindex < xcount">'+n.delimiter+"<\/tpl><\/tpl>",{formatDate:Ext.Function.bind(n.formatDate,n)});this.callParent()},transformOriginalValue:function(n){return Ext.isString(n)?this.rawToValue(n):n},isEqual:function(n,t){return Ext.Date.isEqual(n,t)},setMinValue:function(n){var t=this,i=t.picker;t.setLimit(n,!0);i&&i.setMinValue(t.minValue)},setMaxValue:function(n){var t=this,i=t.picker;t.setLimit(n,!1);i&&i.setMaxValue(t.maxValue)},setLimit:function(n,t){var u=this,i,r;Ext.isString(n)?i=u.parseDate(n):Ext.isDate(n)&&(i=n);i?(r=Ext.Date.clearTime(new Date(u.initDate)),r.setHours(i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds())):r=null;u[t?"minValue":"maxValue"]=r},rawToValue:function(n){return this.parseDate(n)||n||null},valueToRaw:function(n){return this.formatDate(this.parseDate(n))},getErrors:function(n){var t=this,u=Ext.String.format,i=t.callParent(arguments),f=t.minValue,e=t.maxValue,r;return(n=t.formatDate(n||t.processRawValue(t.getRawValue())),n===null||n.length<1)?i:(r=t.parseDate(n),!r)?(i.push(u(t.invalidText,n,Ext.Date.unescapeFormat(t.format))),i):(f&&r<f&&i.push(u(t.minText,t.formatDate(f))),e&&r>e&&i.push(u(t.maxText,t.formatDate(e))),i)},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(n){var i=this,t=n,f=i.altFormats,r=i.altFormatsArray,u=0,e;if(n&&!Ext.isDate(n)&&(t=i.safeParse(n,i.format),!t&&f))for(r=r||f.split("|"),e=r.length;u<e&&!t;++u)t=i.safeParse(n,r[u]);return t&&i.snapToIncrement&&(t=new Date(Ext.Number.snap(t.getTime(),i.increment*6e4))),t},safeParse:function(n,t){var f=this,i=Ext.Date,r,u=null;return i.formatContainsDateInfo(t)?u=i.parse(n,t):(r=i.parse(f.initDate+" "+n,f.initDateFormat+" "+t),r&&(u=r)),u},getSubmitValue:function(){var n=this,i=n.submitFormat||n.format,t=n.getValue();return t?Ext.Date.format(t,i):null},createPicker:function(){var n=this,t;return n.listConfig=Ext.apply({xtype:"timepicker",selModel:{mode:"SINGLE"},cls:undefined,minValue:n.minValue,maxValue:n.maxValue,increment:n.increment,format:n.format,maxHeight:n.pickerMaxHeight},n.listConfig),t=n.callParent(),n.bindStore(t.store),t},onItemClick:function(n,t){var r=this,i=n.getSelectionModel().getSelection();i.length>0&&(i=i[0],i&&Ext.Date.isEqual(t.get("date"),i.get("date"))&&r.collapse())},onListSelectionChange:function(n,t){if(t.length){var i=this,r=t[0].get("date");i.ignoreSelection||(i.skipSync=!0,i.setValue(r),i.skipSync=!1,i.fireEvent("select",i,r),i.picker.clearHighlight(),i.collapse(),i.inputEl.focus())}},syncSelection:function(){var n=this,t=n.picker,o,u,i,f,r,s,e;if(t&&!n.skipSync){if(t.clearHighlight(),i=n.getValue(),u=t.getSelectionModel(),n.ignoreSelection++,i===null)u.deselectAll();else if(Ext.isDate(i)){for(f=t.store.data.items,s=f.length,r=0;r<s;r++)if(e=f[r],Ext.Date.isEqual(e.get("date"),i)){o=e;break}u.select(o)}n.ignoreSelection--}},postBlur:function(){var n=this,t=n.getValue();n.callParent(arguments);n.wasValid&&t&&n.setRawValue(n.formatDate(t))},setValue:function(){return this.getPicker(),this.callParent(arguments)},getValue:function(){return this.parseDate(this.callParent(arguments))}},0,["timefield"],["field","trigger","combobox","timefield","textfield","pickerfield","component","combo","box","triggerfield"],{field:!0,trigger:!0,combobox:!0,timefield:!0,textfield:!0,pickerfield:!0,component:!0,combo:!0,box:!0,triggerfield:!0},["widget.timefield"],0,[Ext.form.field,"Time",Ext.form,"TimeField",Ext.form,"Time"],0);Ext.cmd.derive("Ext.grid.CellContext",Ext.Base,{isCellContext:!0,constructor:function(n){this.view=n},setPosition:function(n,t){var i=this;return arguments.length===1&&(n.view&&(i.view=n.view),t=n.column,n=n.row),i.setRow(n),i.setColumn(t),i},setRow:function(n){var t=this;n!==undefined&&(typeof n=="number"?(t.row=Math.max(Math.min(n,t.view.dataSource.getCount()-1),0),t.record=t.view.dataSource.getAt(n)):n.isModel?(t.record=n,t.row=t.view.indexOf(n)):n.tagName&&(t.record=t.view.getRecord(n),t.row=t.view.indexOf(t.record)))},setColumn:function(n){var t=this,i=t.view.ownerCt.columnManager;n!==undefined&&(typeof n=="number"?(t.column=n,t.columnHeader=i.getHeaderAtIndex(n)):n.isHeader&&(t.columnHeader=n,t.column=i.getHeaderIndex(n)))}},1,0,0,0,0,0,[Ext.grid,"CellContext"],0);Ext.cmd.derive("Ext.grid.CellEditor",Ext.Editor,{constructor:function(n){n=Ext.apply({},n);n.field&&(n.field.monitorTab=!1);this.callParent([n])},onShow:function(){var n=this,t=n.boundEl.first();t&&(n.isForTree&&(t=t.child(n.treeNodeSelector)),t.hide());n.callParent(arguments)},onHide:function(){var n=this,t=n.boundEl.first();t&&(n.isForTree&&(t=t.child(n.treeNodeSelector)),t.show());n.callParent(arguments)},afterRender:function(){var n=this,t=n.field;n.callParent(arguments);t.isCheckbox&&t.mon(t.inputEl,{mousedown:n.onCheckBoxMouseDown,click:n.onCheckBoxClick,scope:n})},onCheckBoxMouseDown:function(){this.completeEdit=Ext.emptyFn},onCheckBoxClick:function(){delete this.completeEdit;this.field.focus(!1,10)},realign:function(n){var t=this,i=t.boundEl,f=i.first(),r=i.getWidth(),e=Ext.Array.clone(t.offsets),o=t.grid,u;t.isForTree&&(u=t.getTreeNodeOffset(f),r-=Math.abs(u),e[0]+=u);o.columnLines&&(r-=i.getBorderWidth("rl"));n===!0&&t.field.setWidth(r);t.alignTo(f,t.alignment,e)},getTreeNodeOffset:function(n){return n.child(this.treeNodeSelector).getOffsetsTo(n)[0]},onEditorTab:function(n){var t=this.field;if(t.onEditorTab)t.onEditorTab(n)},alignment:"l-l",hideEl:!1,cls:Ext.baseCSSPrefix+"small-editor "+Ext.baseCSSPrefix+"grid-editor "+Ext.baseCSSPrefix+"grid-cell-editor",treeNodeSelector:"."+Ext.baseCSSPrefix+"tree-node-text",shim:!1,shadow:!1},1,0,["editor","component","container","box"],{editor:!0,component:!0,container:!0,box:!0},0,0,[Ext.grid,"CellEditor"],0);Ext.cmd.derive("Ext.grid.ColumnComponentLayout",Ext.layout.component.Auto,{type:"columncomponent",setWidthInDom:!0,beginLayout:function(n){var t=this;t.callParent(arguments);n.titleContext=n.getEl("titleEl");n.triggerContext=n.getEl("triggerEl")},beginLayoutCycle:function(n){var i=this,t=i.owner,r;i.callParent(arguments);n.widthModel.shrinkWrap&&t.el.setWidth("");r=t.isLast&&t.isSubHeader?"0":"";r!==i.lastBorderRightWidth&&(t.el.dom.style.borderRightWidth=i.lasBorderRightWidth=r);t.titleEl.setStyle({paddingTop:"",paddingBottom:""})},publishInnerHeight:function(n,t){if(t){var o=this,u=o.owner,s=t-n.getBorderInfo().height,i=s,f,r,e,h;if(!u.noWrap&&!n.hasDomProp("width")){o.done=!1;return}n.hasRawContent?(r=i,f=u.textEl.getHeight(),f&&(i-=f,i>0&&(e=Math.floor(i/2),h=i-e,n.titleContext.setProp("padding-top",e),n.titleContext.setProp("padding-bottom",h)))):(r=u.titleEl.getHeight(),n.setProp("innerHeight",s-r,!1));(Ext.isIE6||Ext.isIEQuirks)&&n.triggerContext&&n.triggerContext.setHeight(r)}},measureContentHeight:function(n){return n.el.dom.offsetHeight},publishOwnerHeight:function(n,t){this.callParent(arguments);(Ext.isIE6||Ext.isIEQuirks)&&n.triggerContext&&n.triggerContext.setHeight(t)},publishInnerWidth:function(n,t){n.hasRawContent||n.setProp("innerWidth",t-n.getBorderInfo().width,!1)},calculateOwnerHeightFromContentHeight:function(n,t){var i=this.callParent(arguments);return n.hasRawContent?i:this.owner.noWrap||n.hasDomProp("width")?t+this.owner.titleEl.getHeight()+n.getBorderInfo().height:null},calculateOwnerWidthFromContentWidth:function(n,t){var i=this.owner,r=Math.max(t,i.textEl.getWidth()+n.titleContext.getPaddingInfo().width),u=n.getPaddingInfo().width,f=this.getTriggerOffset(i,n);return r+u+f},getTriggerOffset:function(n,t){var i=0;return t.widthModel.shrinkWrap&&!n.menuDisabled&&n.query(">:not([hidden])").length===0&&(i=n.self.triggerElWidth),i}},0,0,0,0,["layout.columncomponent"],0,[Ext.grid,"ColumnComponentLayout"],0);Ext.cmd.derive("Ext.grid.ColumnLayout",Ext.layout.container.HBox,{type:"gridcolumn",reserveOffset:!1,firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",initLayout:function(){this.scrollbarWidth||(this.self.prototype.scrollbarWidth=Ext.getScrollbarSize().width);this.grid=this.owner.up("[scrollerOwner]");this.callParent()},beginLayout:function(n){var i=this,e=i.owner,f=i.grid,t=f.view,o=i.getVisibleItems(),s=o.length,h=i.firstHeaderCls,c=i.lastHeaderCls,r,u;for(f.lockable&&(t=e.up("tablepanel")===t.normalGrid?t.normalGrid.getView():null),r=0;r<s;r++)u=o[r],u.isLast=!1,u.removeCls([h,c]),r===0&&u.addCls(h),r===s-1&&(u.addCls(c),u.isLast=!0);i.callParent(arguments);!e.isColumn&&Ext.getScrollbarSize().width&&!f.collapsed&&t&&t.rendered&&(n.viewTable=t.body.dom)&&(n.viewContext=n.context.getCmp(t))},roundFlex:function(n){return Math.floor(n)},calculate:function(n){this.callParent(arguments);n.state.parallelDone&&(!this.owner.forceFit||n.flexedItems.length)&&n.setProp("columnWidthsDone",!0);n.viewContext&&(n.state.tableHeight=n.viewTable.offsetHeight)},completeLayout:function(n){var t=this,i=t.owner,r=n.state;t.callParent(arguments);!n.flexedItems.length&&!r.flexesCalculated&&i.forceFit&&t.convertWidthsToFlexes(n)?(t.cacheFlexes(n),n.invalidate({state:{flexesCalculated:!0}})):n.setProp("columnWidthsDone",!0)},convertWidthsToFlexes:function(n){var o=this,f=0,s=o.sizeModels.calculated,u,e,t,i,r;for(u=n.childItems,e=u.length,t=0;t<e;t++)i=u[t],r=i.target,f+=i.props.width,r.fixed||r.resizable===!1||(r.flex=n.childItems[t].flex=i.props.width,r.width=null,i.widthModel=s);return f!==n.props.width},getContainerSize:function(n){var i=this,r,t=n.viewContext,u;return i.owner.isColumn?r=i.getColumnContainerSize(n):(r=i.callParent(arguments),t&&!t.heightModel.shrinkWrap&&t.target.componentLayout.ownerContext&&(u=t.getProp("height"),isNaN(u)?i.done=!1:n.state.tableHeight>u&&(r.width-=Ext.getScrollbarSize().width,n.state.parallelDone=!1,t.invalidate()))),r},getColumnContainerSize:function(n){var o=n.paddingContext.getPaddingInfo(),r=0,u=0,f,e,t,i;return n.widthModel.shrinkWrap||(++u,t=n.getProp("innerWidth"),f=typeof t=="number",f&&(++r,t-=o.width,t<0&&(t=0))),n.heightModel.shrinkWrap||(++u,i=n.getProp("innerHeight"),e=typeof i=="number",e&&(++r,i-=o.height,i<0&&(i=0))),{width:t,height:i,needed:u,got:r,gotAll:r==u,gotWidth:f,gotHeight:e}},publishInnerCtSize:function(n){var t=this,i=n.state.boxPlan.targetSize,r=n.peek("contentWidth"),u;return t.owner.tooNarrow=n.state.boxPlan.tooNarrow,r==null||t.owner.isColumn||(i.width=r,u=t.owner.ownerCt.view,u.scrollFlags.y&&(i.width+=Ext.getScrollbarSize().width)),t.callParent(arguments)}},0,0,0,0,["layout.gridcolumn"],0,[Ext.grid,"ColumnLayout"],0);Ext.cmd.derive("Ext.grid.ColumnManager",Ext.Base,{alternateClassName:["Ext.grid.ColumnModel"],columns:null,constructor:function(n,t){this.headerCt=n;t&&(this.secondHeaderCt=t)},getColumns:function(){return this.columns||this.cacheColumns(),this.columns},getHeaderIndex:function(n){return n.isGroupHeader&&(n=n.down(":not([isGroupHeader])")),Ext.Array.indexOf(this.getColumns(),n)},getHeaderAtIndex:function(n){var t=this.getColumns();return t.length?t[n]:null},getHeaderById:function(n){for(var r=this.getColumns(),u=r.length,i,t=0;t<u;++t)if(i=r[t],i.getItemId()===n)return i;return null},getVisibleHeaderClosestToIndex:function(n){var t=this.getHeaderAtIndex(n);return t&&t.hidden&&(t=t.next(":not([hidden])")||t.prev(":not([hidden])")),t},cacheColumns:function(){this.columns=this.headerCt.getVisibleGridColumns();this.secondHeaderCt&&Ext.Array.push(this.columns,this.secondHeaderCt.getVisibleGridColumns())},invalidate:function(){this.columns=null;this.rootColumns&&this.rootColumns.invalidate()}},1,0,0,0,0,0,[Ext.grid,"ColumnManager",Ext.grid,"ColumnModel"],function(){this.createAlias("indexOf","getHeaderIndex")});Ext.cmd.derive("Ext.layout.container.Fit",Ext.layout.container.Container,{alternateClassName:"Ext.layout.FitLayout",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit",defaultMargins:{top:0,right:0,bottom:0,left:0},manageMargins:!0,sizePolicies:{0:{readsWidth:1,readsHeight:1,setsWidth:0,setsHeight:0},1:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},2:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1},3:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1}},getItemSizePolicy:function(n,t){var i=t||this.owner.getSizeModel(),r=(i.width.shrinkWrap?0:1)|(i.height.shrinkWrap?0:2);return this.sizePolicies[r]},beginLayoutCycle:function(n,t){var r=this,s=r.lastHeightModel&&r.lastHeightModel.calculated,h=r.lastWidthModel&&r.lastWidthModel.calculated,c=h||s,l=0,a=0,i,v,o,u,w,y,f,e,p,b;for(r.callParent(arguments),c&&n.targetContext.el.dom.tagName.toUpperCase()!="TD"&&(c=h=s=!1),v=n.childItems,w=v.length,o=0;o<w;++o)u=v[o],t&&(i=u.target,f=i.minHeight,e=i.minWidth,(e||f)&&(y=u.marginInfo||u.getMarginInfo(),f+=y.height,e+=y.height,l<f&&(l=f),a<e&&(a=e))),c&&(p=u.el.dom.style,s&&(p.height=""),h&&(p.width=""));t&&(n.maxChildMinHeight=l,n.maxChildMinWidth=a);i=n.target;n.overflowX=!n.widthModel.shrinkWrap&&n.maxChildMinWidth&&i.scrollFlags.x||b;n.overflowY=!n.heightModel.shrinkWrap&&n.maxChildMinHeight&&i.scrollFlags.y||b},calculate:function(n){var t=this,a=n.childItems,v=a.length,i=t.getContainerSize(n),e={length:v,ownerContext:n,targetSize:i},y=n.widthModel.shrinkWrap,p=n.heightModel.shrinkWrap,o=n.overflowX,s=n.overflowY,r,u,h,f,c,l;for((o||s)&&(r=t.getScrollbarsNeeded(o&&i.width,s&&i.height,n.maxChildMinWidth,n.maxChildMinHeight),r&&(u=Ext.getScrollbarSize(),r&1&&(i.height-=u.height),r&2&&(i.width-=u.width))),f=0;f<v;++f)e.index=f,t.fitItem(a[f],e);(p||y)&&(h=n.targetContext.getPaddingInfo(),y&&(s&&!i.gotHeight?t.done=!1:(c=e.contentWidth+h.width,r&2&&(c+=u.width),n.setContentWidth(c)||(t.done=!1))),p&&(o&&!i.gotWidth?t.done=!1:(l=e.contentHeight+h.height,r&1&&(l+=u.height),n.setContentHeight(l)||(t.done=!1))))},fitItem:function(n,t){var i=this;if(n.invalid){i.done=!1;return}t.margins=n.getMarginInfo();t.needed=t.got=0;i.fitItemWidth(n,t);i.fitItemHeight(n,t);t.got!=t.needed&&(i.done=!1)},fitItemWidth:function(n,t){var i,r;t.ownerContext.widthModel.shrinkWrap?(r=n.getProp("width")+t.margins.width,i=t.contentWidth,t.contentWidth=i===undefined?r:Math.max(i,r)):n.widthModel.calculated&&(++t.needed,t.targetSize.gotWidth&&(++t.got,this.setItemWidth(n,t)));this.positionItemX(n,t)},fitItemHeight:function(n,t){var i,r;t.ownerContext.heightModel.shrinkWrap?(r=n.getProp("height")+t.margins.height,i=t.contentHeight,t.contentHeight=i===undefined?r:Math.max(i,r)):n.heightModel.calculated&&(++t.needed,t.targetSize.gotHeight&&(++t.got,this.setItemHeight(n,t)));this.positionItemY(n,t)},positionItemX:function(n,t){var i=t.margins;(t.index||i.left)&&n.setProp("x",i.left);i.width&&n.setProp("margin-right",i.width)},positionItemY:function(n,t){var i=t.margins;(t.index||i.top)&&n.setProp("y",i.top);i.height&&n.setProp("margin-bottom",i.height)},setItemHeight:function(n,t){n.setHeight(t.targetSize.height-t.margins.height)},setItemWidth:function(n,t){n.setWidth(t.targetSize.width-t.margins.width)}},0,0,0,0,["layout.fit"],0,[Ext.layout.container,"Fit",Ext.layout,"FitLayout"],0);Ext.cmd.derive("Ext.panel.Table",Ext.panel.Panel,{extraBaseCls:Ext.baseCSSPrefix+"grid",extraBodyCls:Ext.baseCSSPrefix+"grid-body",layout:"fit",hasView:!1,viewType:null,selType:"rowmodel",scroll:!0,deferRowRender:!0,sortableColumns:!0,enableLocking:!1,scrollerOwner:!0,enableColumnMove:!0,sealedColumns:!1,enableColumnResize:!0,rowLines:!0,colLinesCls:Ext.baseCSSPrefix+"grid-with-col-lines",rowLinesCls:Ext.baseCSSPrefix+"grid-with-row-lines",noRowLinesCls:Ext.baseCSSPrefix+"grid-no-row-lines",hiddenHeaderCtCls:Ext.baseCSSPrefix+"grid-header-ct-hidden",hiddenHeaderCls:Ext.baseCSSPrefix+"grid-header-hidden",resizeMarkerCls:Ext.baseCSSPrefix+"grid-resize-marker",emptyCls:Ext.baseCSSPrefix+"grid-empty",initComponent:function(){var n=this,t=n.columns||n.colModel,i,r,e,u=n.store=Ext.data.StoreManager.lookup(n.store||"ext-empty-store"),f;if(n.columnLines&&n.addCls(n.colLinesCls),n.addCls(n.rowLines?n.rowLinesCls:n.noRowLinesCls),t instanceof Ext.grid.header.Container?(t.isRootHeader=!0,n.headerCt=t):n.enableLocking||n.hasLockedColumns(t)?(n.self.mixin("lockable",Ext.grid.locking.Lockable),n.injectLockable()):(Ext.isArray(t)&&(t={items:t}),Ext.apply(t,{grid:n,forceFit:n.forceFit,sortable:n.sortableColumns,enableColumnMove:n.enableColumnMove,enableColumnResize:n.enableColumnResize,sealed:n.sealedColumns,isRootHeader:!0}),Ext.isDefined(n.enableColumnHide)&&(t.enableColumnHide=n.enableColumnHide),n.headerCt||(n.headerCt=new Ext.grid.header.Container(t))),n.columns=n.headerCt.getGridColumns(),n.scrollTask=new Ext.util.DelayedTask(n.syncHorizontalScroll,n),n.addEvents("reconfigure","viewready"),n.bodyCls=n.bodyCls||"",n.bodyCls+=" "+n.extraBodyCls,n.cls=n.cls||"",n.cls+=" "+n.extraBaseCls,delete n.autoScroll,!n.hasView){if(f=n.headerCt.getGridColumns(),u.buffered&&!u.remoteSort)for(r=0,e=f.length;r<e;r++)f[r].sortable=!1;if(n.hideHeaders&&(n.headerCt.height=0,n.headerCt.hiddenHeaders=!0,n.headerCt.addCls(n.hiddenHeaderCtCls),n.addCls(n.hiddenHeaderCls),Ext.isIEQuirks&&(n.headerCt.style={display:"none"})),n.relayHeaderCtEvents(n.headerCt),n.features=n.features||[],Ext.isArray(n.features)||(n.features=[n.features]),n.dockedItems=[].concat(n.dockedItems||[]),n.dockedItems.unshift(n.headerCt),n.viewConfig=n.viewConfig||{},i=n.getView(),n.items=[i],n.hasView=!0,!n.hideHeaders)i.on({scroll:{fn:n.onHorizontalScroll,element:"el",scope:n}});n.bindStore(u,!0);n.mon(i,{viewready:n.onViewReady,refresh:n.onRestoreHorzScroll,scope:n})}if(n.relayEvents(n.view,["beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","beforecellclick","cellclick","beforecelldblclick","celldblclick","beforecellcontextmenu","cellcontextmenu","beforecellmousedown","cellmousedown","beforecellmouseup","cellmouseup","beforecellkeydown","cellkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","selectionchange","beforeselect","select","beforedeselect","deselect"]),n.callParent(arguments),n.addStateEvents(["columnresize","columnmove","columnhide","columnshow","sortchange","filterchange"]),!n.lockable&&n.headerCt)n.headerCt.on("afterlayout",n.onRestoreHorzScroll,n)},hasLockedColumns:function(n){var t,r,i;for(Ext.isObject(n)&&(n=n.items),t=0,r=n.length;t<r;t++)if(i=n[t],!i.processed&&i.locked)return!0},relayHeaderCtEvents:function(n){this.relayEvents(n,["columnresize","columnmove","columnhide","columnshow","columnschanged","sortchange","headerclick","headercontextmenu","headertriggerclick"])},getState:function(){var n=this,t=n.callParent(),i=n.store.getState();return t=n.addPropertyToState(t,"columns",n.headerCt.getColumnsState()),i&&(t.storeState=i),t},applyState:function(n){var r=this,t=n.sort,u=n.storeState,i=r.store,f=n.columns;delete n.columns;r.callParent(arguments);f&&r.headerCt.applyColumnsState(f);t?i.remoteSort?i.sort({property:t.property,direction:t.direction,root:t.root},null,!1):i.sort(t.property,t.direction):u&&i.applyState(u)},getStore:function(){return this.store},getView:function(){var n=this,t;return n.view||(t=n.getSelectionModel(),Ext.widget(Ext.apply({grid:n,deferInitialRefresh:n.deferRowRender!==!1,trackOver:n.trackMouseOver!==!1,scroll:n.scroll,xtype:n.viewType,store:n.store,headerCt:n.headerCt,columnLines:n.columnLines,rowLines:n.rowLines,selModel:t,features:n.features,panel:n,emptyText:n.emptyText||""},n.viewConfig)),n.view.emptyText&&(n.view.emptyText='<div class="'+n.emptyCls+'">'+n.view.emptyText+"<\/div>"),n.view.getComponentLayout().headerCt=n.headerCt,n.mon(n.view,{uievent:n.processEvent,scope:n}),t.view=n.view,n.headerCt.view=n.view),n.view},setAutoScroll:Ext.emptyFn,processEvent:function(n,t,i,r,u){var e=this,f;if(u!==-1)return f=e.columnManager.getColumns()[u],f.processEvent.apply(f,arguments)},determineScrollbars:function(){},invalidateScroller:function(){},scrollByDeltaY:function(n,t){this.getView().scrollBy(0,n,t)},scrollByDeltaX:function(n,t){this.getView().scrollBy(n,0,t)},afterCollapse:function(){var n=this;n.saveScrollPos();n.saveScrollPos();n.callParent(arguments)},afterExpand:function(){var n=this;n.callParent(arguments);n.restoreScrollPos();n.restoreScrollPos()},saveScrollPos:Ext.emptyFn,restoreScrollPos:Ext.emptyFn,onHeaderResize:function(){this.delayScroll()},onHeaderMove:function(n,t,i,r,u){var f=this;f.optimizedColumnMove===!1?f.view.refresh():f.view.moveColumn(r,u,i);f.delayScroll()},onHeaderHide:function(){this.view.refresh();this.delayScroll()},onHeaderShow:function(){this.view.refresh();this.delayScroll()},delayScroll:function(){var n=this.getScrollTarget().el;n&&this.scrollTask.delay(10,null,null,[n.dom.scrollLeft])},onViewReady:function(){this.fireEvent("viewready",this)},onRestoreHorzScroll:function(){var n=this.scrollLeftPos;n&&this.syncHorizontalScroll(n,!0)},getScrollerOwner:function(){var n=this;return this.scrollerOwner||(n=this.up("[scrollerOwner]")),n},getLhsMarker:function(){var n=this;return n.lhsMarker||(n.lhsMarker=Ext.DomHelper.append(n.el,{cls:n.resizeMarkerCls},!0))},getRhsMarker:function(){var n=this;return n.rhsMarker||(n.rhsMarker=Ext.DomHelper.append(n.el,{cls:n.resizeMarkerCls},!0))},getSelectionModel:function(){var t=this,n=t.selModel,r,i,u;return n||(n={},r=!0),n.events||(u=n.selType||t.selType,r=!n.mode,n=t.selModel=Ext.create("selection."+u,n)),t.simpleSelect?i="SIMPLE":t.multiSelect&&(i="MULTI"),Ext.applyIf(n,{allowDeselect:t.allowDeselect}),i&&r&&n.setSelectionMode(i),n.hasRelaySetup||(t.relayEvents(n,["selectionchange","beforeselect","beforedeselect","select","deselect"]),n.hasRelaySetup=!0),t.disableSelection&&(n.locked=!0),n},getScrollTarget:function(){var t=this.getScrollerOwner(),n=t.query("tableview");return n[1]||n[0]},onHorizontalScroll:function(n,t){this.syncHorizontalScroll(t.scrollLeft)},syncHorizontalScroll:function(n,t){var i=this,r;t=t===!0;i.rendered&&(t||n!==i.scrollLeftPos)&&(t&&(r=i.getScrollTarget(),r.el.dom.scrollLeft=n),i.headerCt.el.dom.scrollLeft=n,i.scrollLeftPos=n)},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(n,t){var i=this,u=i.getView(),f=n&&n.buffered,r;i.store=n;r=i.findPlugin("bufferedrenderer");r?(i.verticalScroller=r,r.store&&r.bindStore(n)):f&&(i.verticalScroller=r=i.addPlugin(Ext.apply({ptype:"bufferedrenderer"},i.initialConfig.verticalScroller)));u.store!==n&&(t?u.bindStore(n,!1,"dataSource"):u.bindStore(n,!1));i.mon(n,{load:i.onStoreLoad,scope:i});i.storeRelayers=i.relayEvents(n,["filterchange"]);r&&(i.invalidateScrollerOnRefresh=!1);i.invalidateScrollerOnRefresh!==undefined&&(u.preserveScrollOnRefresh=!i.invalidateScrollerOnRefresh)},unbindStore:function(){var n=this,t=n.store;t&&(n.store=null,n.mun(t,{load:n.onStoreLoad,scope:n}),Ext.destroy(n.storeRelayers))},reconfigure:function(n,t){var i=this,u=i.getView(),e,f=i.store,r=i.headerCt,o=r?r.items.getRange():i.columns;t&&(t=Ext.Array.slice(t));i.fireEvent("beforereconfigure",i,n,t,f,o);i.lockable?i.reconfigureLockable(n,t):(Ext.suspendLayouts(),t&&(delete i.scrollLeftPos,r.removeAll(),r.add(t)),n&&(n=Ext.StoreManager.lookup(n))!==f?(i.store&&i.unbindStore(),e=u.deferInitialRefresh,u.deferInitialRefresh=!1,i.bindStore(n),u.deferInitialRefresh=e):i.getView().refresh(),r.setSortState(),Ext.resumeLayouts(!0));i.fireEvent("reconfigure",i,n,t,f,o)},beforeDestroy:function(){var n=this.scrollTask;n&&(n.cancel(),this.scrollTask=null);this.callParent()},onDestroy:function(){this.lockable&&this.destroyLockable();this.callParent()}},0,["tablepanel"],["panel","component","tablepanel","container","box"],{panel:!0,component:!0,tablepanel:!0,container:!0,box:!0},["widget.tablepanel"],0,[Ext.panel,"Table"],0);Ext.cmd.derive("Ext.util.CSS",Ext.Base,function(){var n,t=null,i=document,r=/(-[a-z])/gi,u=function(n,t){return t.charAt(1).toUpperCase()};return{singleton:!0,rules:t,initialized:!1,constructor:function(){n=this},createStyleSheet:function(t,r){var f,e=i.getElementsByTagName("head")[0],u=i.createElement("style");if(u.setAttribute("type","text/css"),r&&u.setAttribute("id",r),Ext.isIE)e.appendChild(u),f=u.styleSheet,f.cssText=t;else{try{u.appendChild(i.createTextNode(t))}catch(o){u.cssText=t}e.appendChild(u);f=u.styleSheet?u.styleSheet:u.sheet||i.styleSheets[i.styleSheets.length-1]}return n.cacheStyleSheet(f),f},removeStyleSheet:function(n){var t=i.getElementById(n);t&&t.parentNode.removeChild(t)},swapStyleSheet:function(t,r){var u;n.removeStyleSheet(t);u=i.createElement("link");u.setAttribute("rel","stylesheet");u.setAttribute("type","text/css");u.setAttribute("id",t);u.setAttribute("href",r);i.getElementsByTagName("head")[0].appendChild(u)},refreshCache:function(){return n.getRules(!0)},cacheStyleSheet:function(i){t||(t=n.rules={});try{for(var o=i.cssRules||i.rules,f=o.length-1,e=i.imports,s=e?e.length:0,r,u=0;u<s;++u)n.cacheStyleSheet(e[u]);for(;f>=0;--f)r=o[f],r.styleSheet&&n.cacheStyleSheet(r.styleSheet),n.cacheRule(r,i)}catch(h){}},cacheRule:function(i,r){if(i.styleSheet)return n.cacheStyleSheet(i.styleSheet);var u=i.selectorText,e,f;if(u)for(u=u.split(","),e=u.length,f=0;f<e;f++)t[Ext.String.trim(u[f]).toLowerCase()]={parentStyleSheet:r,cssRule:i}},getRules:function(i){var u={},r;(t===null||i)&&n.refreshCache();for(r in t)u[r]=t[r].cssRule;return u},refreshCache:function(){var u=i.styleSheets,r=0,f=u.length;for(t=n.rules={};r<f;r++)try{u[r].disabled||n.cacheStyleSheet(u[r])}catch(e){}},getRule:function(i,r,u){var f,e;if((!t||r)&&n.refreshCache(),!Ext.isArray(i))return e=t[i.toLowerCase()],e&&!u&&(e=e.cssRule),e||null;for(f=0;f<i.length;f++)if(t[i[f]])return u?t[i[f].toLowerCase()]:t[i[f].toLowerCase()].cssRule;return null},createRule:function(t,i,r){var u,f=t.cssRules||t.rules,e=f.length;return t.insertRule?t.insertRule(i+"{"+r+"}",e):t.addRule(i,r||" "),n.cacheRule(u=f[e],t),u},updateRule:function(t,i,f){var e,o,s;if(Ext.isArray(t)){for(o=0;o<t.length;o++)if(n.updateRule(t[o],i,f))return!0}else if(e=n.getRule(t),e){if(arguments.length==2){s=Ext.Element.parseStyles(i);for(i in s)e.style[i.replace(r,u)]=s[i]}else e.style[i.replace(r,u)]=f;return!0}return!1},deleteRule:function(i){var u=n.getRule(i,!1,!0),r,f;u&&(r=u.parentStyleSheet,f=Ext.Array.indexOf(r.cssRules||r.rules,u.cssRule),r.deleteRule?r.deleteRule(f):r.removeRule(f),delete t[i])}}},1,0,0,0,0,0,[Ext.util,"CSS"],0);Ext.cmd.derive("Ext.view.TableLayout",Ext.layout.component.Auto,{type:"tableview",beginLayout:function(n){var t=this,i=t.owner.lockingPartner,r=t.owner;t.callParent(arguments);i&&(t.lockedGrid=t.owner.up("[lockable]"),t.lockedGrid.needsRowHeightSync=!0,n.lockingPartner||(n.lockingPartner=n.context.getItem(i,i.el),n.lockingPartner&&!n.lockingPartner.lockingPartner&&(n.lockingPartner.lockingPartner=n)));n.headerContext=n.context.getCmp(t.headerCt);t.owner.body.dom&&(n.bodyContext=n.getEl(t.owner.body));Ext.isWebKit&&r.el.select(r.getBodySelector()).setStyle("table-layout","auto")},calculate:function(n){var t=this,u=t.lockingPartner,f=t.owner,i=0,r;if(n.headerContext.hasProp("columnWidthsDone")){if(!t.setColumnWidths(n)){t.done=!1;return}n.state.columnWidthsSynced=!0;n.bodyContext&&(r=t.owner.el.down("."+f.ownerCt.emptyCls,!0),r?i=r.offsetHeight:(i=n.bodyContext.el.dom.offsetHeight,n.bodyContext.setHeight(i,!1)),n.setProp("contentHeight",i));u&&!u.state.columnWidthsSynced?t.done=!1:t.callParent(arguments)}else t.done=!1},measureContentHeight:function(n){var t=n.lockingPartner;if(!n.bodyContext||n.state.columnWidthsSynced&&(!t||t.state.columnWidthsSynced))return this.callParent(arguments)},setColumnWidths:function(n){var e=this,t=e.owner,r=n.context,h=e.headerCt.getVisibleGridColumns(),u,f=0,l=h.length,c=0,o=0,s,i,a=!Ext.isBorderBox;for(r&&(r.currentLayout=e),f=0;f<l;f++){if(u=h[f],s=r.getCmp(u),i=s.props.width,isNaN(i))return s.getProp("width"),!1;c+=i;a&&t.columnLines&&(o||(o=r.getCmp(u).borderInfo.width||1),i-=o);t.body.select(t.getColumnSizerSelector(u)).setWidth(i)}return t.el.select(t.getBodySelector()).setWidth(c),!0},finishedLayout:function(){var n=this,t=n.owner;n.callParent(arguments);Ext.isWebKit&&t.el.select(t.getBodySelector()).setStyle("table-layout","");t.refreshCounter&&n.lockedGrid&&n.lockedGrid.syncRowHeight&&n.lockedGrid.needsRowHeightSync&&(n.lockedGrid.syncRowHeights(),n.lockedGrid.needsRowHeightSync=!1)}},0,0,0,0,["layout.tableview"],0,[Ext.view,"TableLayout"],0);Ext.cmd.derive("Ext.view.NodeCache",Ext.Base,{constructor:function(n){this.view=n;this.clear();this.el=new Ext.dom.AbstractElement.Fly},clear:function(n){var t=this,r=this.elements,u,i;if(n)for(u in r)i=r[u],i.parentNode.removeChild(i);t.elements={};t.count=t.startIndex=0;t.endIndex=-1},fill:function(n,t){var r=this,f=r.elements={},i,u=n.length;for(t||(t=0),i=0;i<u;i++)f[t+i]=n[i];return r.startIndex=t,r.endIndex=t+u-1,r.count=u,this},insert:function(n,t){var r=this,f=r.elements,i,u=t.length;if(r.count){if(n<r.count)for(i=r.endIndex+u;i>=n+u;i--)f[i]=f[i-u],f[i].setAttribute("data-recordIndex",i);r.endIndex=r.endIndex+u}else r.startIndex=n,r.endIndex=n+u-1;for(i=0;i<u;i++,n++)f[n]=t[i],f[n].setAttribute("data-recordIndex",n);r.count+=u},item:function(n,t){var r=this.elements[n],i=null;return r&&(i=t?this.elements[n]:this.el.attach(this.elements[n])),i},first:function(n){return this.item(this.startIndex,n)},last:function(n){return this.item(this.endIndex,n)},getCount:function(){return this.count},slice:function(n,t){var u=this.elements,r=[],i;for(t=arguments.length<2?this.endIndex:Math.min(this.endIndex,t-1),i=n||this.startIndex;i<=t;i++)r.push(u[i]);return r},replaceElement:function(n,t,i){var u=this.elements,r=typeof n=="number"?n:this.indexOf(n);return r>-1&&(t=Ext.getDom(t),i&&(n=u[r],n.parentNode.insertBefore(t,n),Ext.removeNode(n),t.setAttribute("data-recordIndex",r)),this.elements[r]=t),this},indexOf:function(n){var i=this.elements,t;for(n=Ext.getDom(n),t=this.startIndex;t<=this.endIndex;t++)if(i[t]===n)return t;return-1},removeRange:function(n,t,i){var u=this,f=u.elements,s,r,o,e;for(t=t===undefined?u.count:Math.min(u.endIndex+1,t+1),n||(n=0),o=t-n,r=n,e=t;r<u.endIndex;r++,e++)i&&r<t&&Ext.removeNode(f[r]),e<=u.endIndex?(s=f[r]=f[e],s.setAttribute("data-recordIndex",r)):delete f[r];u.count-=o;u.endIndex-=o},removeElement:function(n,t){var i=this,h,f,s=i.elements,c,e,r=0,u,o;if(Ext.isArray(n)){for(h=n,n=[],e=h.length,r=0;r<e;r++)f=h[r],typeof f!="number"&&(f=i.indexOf(f)),f>=i.startIndex&&f<=i.endIndex&&(n[n.length]=f);Ext.Array.sort(n);e=n.length}else{if(n<i.startIndex||n>i.endIndex)return;e=1;n=[n]}for(u=o=n[0],r=0;u<=i.endIndex;u++,o++)r<e&&u===n[r]&&(o++,r++,t&&Ext.removeNode(s[u])),o<=i.endIndex&&o>=i.startIndex?(c=s[u]=s[o],c.setAttribute("data-recordIndex",u)):delete s[u];i.endIndex-=e;i.count-=e},scroll:function(n,t,i){var u=this,f=u.elements,h=n.length,r,e,l,o,c=u.view.getNodeContainer(),s=document.createDocumentFragment();if(t==-1){for(r=u.endIndex-i+1;r<=u.endIndex;r++)e=f[r],delete f[r],e.parentNode.removeChild(e);for(u.endIndex-=i,o=u.view.bufferRender(n,u.startIndex-=h),r=0;r<h;r++)f[u.startIndex+r]=o[r],s.appendChild(o[r]);c.insertBefore(s,c.firstChild)}else{for(l=u.startIndex+i,r=u.startIndex;r<l;r++)e=f[r],delete f[r],e.parentNode.removeChild(e);for(u.startIndex=r,o=u.view.bufferRender(n,u.endIndex+1),r=0;r<h;r++)f[u.endIndex+=1]=o[r],s.appendChild(o[r]);c.appendChild(s)}u.count=u.endIndex-u.startIndex+1}},1,0,0,0,0,0,[Ext.view,"NodeCache"],0);Ext.cmd.derive("Ext.view.Table",Ext.view.View,{componentLayout:"tableview",baseCls:Ext.baseCSSPrefix+"grid-view",firstCls:Ext.baseCSSPrefix+"grid-cell-first",lastCls:Ext.baseCSSPrefix+"grid-cell-last",headerRowSelector:"tr."+Ext.baseCSSPrefix+"grid-header-row",selectedItemCls:Ext.baseCSSPrefix+"grid-row-selected",beforeSelectedItemCls:Ext.baseCSSPrefix+"grid-row-before-selected",selectedCellCls:Ext.baseCSSPrefix+"grid-cell-selected",focusedItemCls:Ext.baseCSSPrefix+"grid-row-focused",beforeFocusedItemCls:Ext.baseCSSPrefix+"grid-row-before-focused",tableFocusedFirstCls:Ext.baseCSSPrefix+"grid-table-focused-first",tableSelectedFirstCls:Ext.baseCSSPrefix+"grid-table-selected-first",tableOverFirstCls:Ext.baseCSSPrefix+"grid-table-over-first",overItemCls:Ext.baseCSSPrefix+"grid-row-over",beforeOverItemCls:Ext.baseCSSPrefix+"grid-row-before-over",altRowCls:Ext.baseCSSPrefix+"grid-row-alt",dirtyCls:Ext.baseCSSPrefix+"grid-dirty-cell",rowClsRe:new RegExp("(?:^|\\s*)"+Ext.baseCSSPrefix+"grid-row-(first|last|alt)(?:\\s+|$)","g"),cellRe:new RegExp(Ext.baseCSSPrefix+"grid-cell-([^\\s]+) ",""),positionBody:!0,trackOver:!0,getRowClass:null,stripeRows:!0,markDirty:!0,tpl:"{%values.view.tableTpl.applyOut(values, out)%}",tableTpl:["{%",'var view=values.view,tableCls=["'+Ext.baseCSSPrefix+'" + view.id + "-table '+Ext.baseCSSPrefix+'grid-table"];',"if (view.columnLines) tableCls[tableCls.length]=view.ownerCt.colLinesCls;","if (view.rowLines) tableCls[tableCls.length]=view.ownerCt.rowLinesCls;","%}",'<table role="presentation" id="{view.id}-table" class="{[tableCls.join(" ")]}" border="0" cellspacing="0" cellpadding="0" style="{tableStyle}" tabIndex="-1">',"{[view.renderColumnSizer(out)]}","{[view.renderTHead(values, out)]}","{[view.renderTFoot(values, out)]}",'<tbody id="{view.id}-body">',"{%","view.renderRows(values.rows, values.viewStartIndex, out);","%}","<\/tbody>","<\/table>",{priority:0}],rowTpl:["{%",'var dataRowCls = values.recordIndex === -1 ? "" : " '+Ext.baseCSSPrefix+'grid-data-row";',"%}",'<tr role="row" {[values.rowId ? ("id=\\"" + values.rowId + "\\"") : ""]} ','data-boundView="{view.id}" ','data-recordId="{record.internalId}" ','data-recordIndex="{recordIndex}" ','class="{[values.itemClasses.join(" ")]} {[values.rowClasses.join(" ")]}{[dataRowCls]}" ','{rowAttr:attributes} tabIndex="-1">','<tpl for="columns">{%',"parent.view.renderCell(values, parent.record, parent.recordIndex, xindex - 1, out, parent)","%}","<\/tpl>","<\/tr>",{priority:0}],cellTpl:['<td role="gridcell" class="{tdCls}" {tdAttr} id="{[Ext.id()]}">','<div {unselectableAttr} class="'+Ext.baseCSSPrefix+'grid-cell-inner {innerCls}"','style="text-align:{align};<tpl if="style">{style}<\/tpl>">{value}<\/div>',"<\/td>",{priority:0}],refreshSelmodelOnRefresh:!1,tableValues:{},rowValues:{itemClasses:[],rowClasses:[]},cellValues:{classes:[Ext.baseCSSPrefix+"grid-cell "+Ext.baseCSSPrefix+"grid-td"]},renderBuffer:document.createElement("div"),constructor:function(n){n.grid.isTree&&(n.baseCls=Ext.baseCSSPrefix+"tree-view");this.callParent([n])},initComponent:function(){var n=this,t=n.scroll;this.addEvents("beforecellclick","cellclick","beforecelldblclick","celldblclick","beforecellcontextmenu","cellcontextmenu","beforecellmousedown","cellmousedown","beforecellmouseup","cellmouseup","beforecellkeydown","cellkeydown");n.body=new Ext.dom.Element.Fly;n.body.id=n.id+"gridBody";n.autoScroll=undefined;n.trackOver||(n.overItemCls=null,n.beforeOverItemCls=null);t===!0||t==="both"?n.autoScroll=!0:t==="horizontal"?n.overflowX="auto":t==="vertical"&&(n.overflowY="auto");n.selModel.view=n;n.headerCt.view=n;n.grid.view=n;n.initFeatures(n.grid);delete n.grid;n.tpl=n.getTpl("tpl");n.itemSelector=n.getItemSelector();n.all=new Ext.view.NodeCache(n);n.callParent()},moveColumn:function(n,t,i){var r=this,o=i>1?document.createDocumentFragment():undefined,h=t,a=r.getGridColumns().length,c=a-1,p=(r.firstCls||r.lastCls)&&(t===0||t==a||n===0||n==c),e,s,v,l,f,u,y;if(r.rendered&&t!==n){for(v=r.el.query(r.getDataRowSelector()),t>n&&o&&(h-=i),e=0,l=v.length;e<l;e++){if(f=v[e],u=f.childNodes,p){if(u.length===1){Ext.fly(u[0]).addCls(r.firstCls);Ext.fly(u[0]).addCls(r.lastCls);continue}n===0?(Ext.fly(u[0]).removeCls(r.firstCls),Ext.fly(u[1]).addCls(r.firstCls)):n===c&&(Ext.fly(u[c]).removeCls(r.lastCls),Ext.fly(u[c-1]).addCls(r.lastCls));t===0?(Ext.fly(u[0]).removeCls(r.firstCls),Ext.fly(u[n]).addCls(r.firstCls)):t===a&&(Ext.fly(u[c]).removeCls(r.lastCls),Ext.fly(u[n]).addCls(r.lastCls))}if(o){for(s=0;s<i;s++)o.appendChild(u[n]);f.insertBefore(o,u[h]||null)}else f.insertBefore(u[n],u[h]||null)}for(y=r.el.query(r.getBodySelector()),e=0,l=y.length;e<l;e++)if(f=y[e],o){for(s=0;s<i;s++)o.appendChild(f.childNodes[n]);f.insertBefore(o,f.childNodes[h]||null)}else f.insertBefore(f.childNodes[n],f.childNodes[h]||null)}},scrollToTop:Ext.emptyFn,addElListener:function(n,t,i){this.mon(this,n,t,i,{element:"el"})},getGridColumns:function(){return this.ownerCt.columnManager.getColumns()},getHeaderAtIndex:function(n){return this.ownerCt.columnManager.getHeaderAtIndex(n)},getCell:function(n,t){var i=this.getNode(n,!0);return Ext.fly(i).down(t.getCellSelector())},getFeature:function(n){var t=this.featuresMC;if(t)return t.get(n)},findFeature:function(n){if(this.features)return Ext.Array.findBy(this.features,function(t){if(t.ftype===n)return!0})},initFeatures:function(n){var t=this,r,u,i,f;for(t.tableTpl=Ext.XTemplate.getTpl(this,"tableTpl"),t.rowTpl=Ext.XTemplate.getTpl(this,"rowTpl"),t.cellTpl=Ext.XTemplate.getTpl(this,"cellTpl"),t.featuresMC=new Ext.util.MixedCollection,u=t.features=t.constructFeatures(),f=u?u.length:0,r=0;r<f;r++)i=u[r],i.view=t,i.grid=n,t.featuresMC.add(i),i.init(n)},renderTHead:function(n,t){var r=n.view.headerFns,u,i;if(r)for(i=0,u=r.length;i<u;++i)r[i].call(this,n,t)},addHeaderFn:function(){var n=this.headerFns;n||(n=this.headerFns=[]);n.push(fn)},renderTFoot:function(n,t){var r=n.view.footerFns,u,i;if(r)for(i=0,u=r.length;i<u;++i)r[i].call(this,n,t)},addFooterFn:function(n){var t=this.footerFns;t||(t=this.footerFns=[]);t.push(n)},addTableTpl:function(n){return this.addTpl("tableTpl",n)},addRowTpl:function(n){return this.addTpl("rowTpl",n)},addCellTpl:function(n){return this.addTpl("cellTpl",n)},addTpl:function(n,t){var r=this,i,u;for(t=Ext.Object.chain(t),t.isTemplate||(t.applyOut=r.tplApplyOut),i=r[n];t.priority<i.priority;i=i.nextTpl)u=i;return u?u.nextTpl=t:r[n]=t,t.nextTpl=i,t},tplApplyOut:function(n,t){this.before&&this.before(n,t)===!1||(this.nextTpl.applyOut(n,t),this.after&&this.after(n,t))},constructFeatures:function(){var f=this,i=f.features,n,r,t=0,u;if(i)for(r=[],u=i.length;t<u;t++)n=i[t],n.isFeature||(n=Ext.create("feature."+n.ftype,n)),r[t]=n;return r},beforeRender:function(){var n=this;n.callParent();n.enableTextSelection||n.protoEl.unselectable()},onViewScroll:function(n,t){this.callParent(arguments);this.fireEvent("bodyscroll",n,t)},createRowElement:function(n,t){var i=this,r=i.renderBuffer;return i.tpl.overwrite(r,i.collectData([n],t)),Ext.fly(r).down(i.getNodeContainerSelector(),!0).firstChild},bufferRender:function(n,t){var i=this,r=i.renderBuffer;return i.tpl.overwrite(r,i.collectData(n,t)),Ext.Array.toArray(Ext.fly(r).down(i.getNodeContainerSelector(),!0).childNodes)},collectData:function(n,t){return this.rowValues.view=this,{view:this,rows:n,viewStartIndex:t,tableStyle:this.bufferedRenderer?"position:absolute;top:"+this.bufferedRenderer.bodyTop:""}},collectNodes:function(){this.all.fill(this.getNodeContainer().childNodes,this.all.startIndex)},refreshSize:function(){var n=this,t,i=n.getBodySelector();i&&n.body.attach(n.el.child(i,!0));n.hasLoadingHeight||(t=n.up("tablepanel"),Ext.suspendLayouts(),n.callParent(),t.updateLayout(),Ext.resumeLayouts(!0))},statics:{getBoundView:function(n){return Ext.getCmp(n.getAttribute("data-boundView"))}},getRecord:function(n){if(n=this.getNode(n),n){var t=n.getAttribute("data-recordIndex");return t&&(t=parseInt(t,10),t>-1)?this.store.data.getAt(t):this.dataSource.data.get(n.getAttribute("data-recordId"))}},indexOf:function(n){return(n=this.getNode(n,!1),!n&&n!==0)?-1:this.all.indexOf(n)},indexInStore:function(n){if(n=this.getNode(n,!0),!n&&n!==0)return-1;var t=n.getAttribute("data-recordIndex");return t?parseInt(t,10):this.dataSource.indexOf(this.getRecord(n))},renderRows:function(n,t,i){var r=this.rowValues,f=n.length,u;for(r.view=this,r.columns=this.ownerCt.columnManager.getColumns(),u=0;u<f;u++,t++)r.itemClasses.length=r.rowClasses.length=0,this.renderRow(n[u],t,i);r.view=r.columns=r.record=null},renderColumnSizer:function(n){for(var r=this.getGridColumns(),f=r.length,i,u,t=0;t<f;t++)i=r[t],u=i.hidden?0:i.lastBox?i.lastBox.width:Ext.grid.header.Container.prototype.defaultWidth,n.push('<colgroup><col class="',Ext.baseCSSPrefix,"grid-cell-",r[t].getItemId(),'" style="width:'+u+'px"><\/colgroup>')},renderRow:function(n,t,i){var r=this,c=t===-1,f=r.selModel,u=r.rowValues,e=u.itemClasses,o=u.rowClasses,s,h=r.rowTpl;if(u.record=n,u.recordId=n.internalId,u.recordIndex=t,u.rowId=r.getRowId(n),u.itemCls=u.rowCls="",u.columns||(u.columns=r.ownerCt.columnManager.getColumns()),e.length=o.length=0,c||(e[0]=Ext.baseCSSPrefix+"grid-row",f&&f.isRowSelected&&(f.isRowSelected(t+1)&&e.push(r.beforeSelectedItemCls),f.isRowSelected(n)&&e.push(r.selectedItemCls)),r.stripeRows&&t%2!=0&&o.push(r.altRowCls),r.getRowClass&&(s=r.getRowClass(n,t,null,r.dataSource),s&&o.push(s))),i)h.applyOut(u,i);else return h.apply(u)},renderCell:function(n,t,i,r,u){var e=this,c=e.selModel,f=e.cellValues,o=f.classes,l=t.data[n.dataIndex],a=e.cellTpl,h,s;f.record=t;f.column=n;f.recordIndex=i;f.columnIndex=r;f.cellIndex=r;f.align=n.align;f.tdCls=n.tdCls;f.innerCls=n.innerCls;f.style=f.tdAttr="";f.unselectableAttr=e.enableTextSelection?"":'unselectable="on"';n.renderer&&n.renderer.call?(h=n.renderer.call(n.scope||e.ownerCt,l,f,t,i,r,e.dataSource,e),f.css&&(t.cssWarning=!0,f.tdCls+=" "+f.css,delete f.css)):h=l;f.value=h==null||h===""?"&#160;":h;o[1]=Ext.baseCSSPrefix+"grid-cell-"+n.getItemId();s=2;n.tdCls&&(o[s++]=n.tdCls);e.markDirty&&t.isModified(n.dataIndex)&&(o[s++]=e.dirtyCls);n.isFirstVisible&&(o[s++]=e.firstCls);n.isLastVisible&&(o[s++]=e.lastCls);e.enableTextSelection||(o[s++]=Ext.baseCSSPrefix+"unselectable");o[s++]=f.tdCls;c&&c.isCellSelected&&c.isCellSelected(e,i,r)&&(o[s++]=e.selectedCellCls);o.length=s;f.tdCls=o.join(" ");a.applyOut(f,u);f.column=null},getNode:function(n,t){var r,i=this.callParent(arguments);if(i&&i.tagName)if(t){if(!(r=Ext.fly(i)).is(this.dataRowSelector))return r.down(this.dataRowSelector,!0)}else if(t===!1&&!(r=Ext.fly(i)).is(this.itemSelector))return r.up(this.itemSelector,null,!0);return i},getRowId:function(n){return this.id+"-record-"+n.internalId},constructRowId:function(n){return this.id+"-record-"+n},getNodeById:function(n,t){return n=this.constructRowId(n),this.retrieveNode(n,t)},getNodeByRecord:function(n,t){var i=this.getRowId(n);return this.retrieveNode(i,t)},retrieveNode:function(n,t){var i=this.el.getById(n,!0),r=this.itemSelector,u;return t===!1&&i&&!(u=Ext.fly(i)).is(r)?u.up(r,null,!0):i},updateIndexes:Ext.emptyFn,bodySelector:"table",nodeContainerSelector:"tbody",itemSelector:"tr."+Ext.baseCSSPrefix+"grid-row",dataRowSelector:"tr."+Ext.baseCSSPrefix+"grid-data-row",cellSelector:"td."+Ext.baseCSSPrefix+"grid-cell",sizerSelector:"col."+Ext.baseCSSPrefix+"grid-cell",innerSelector:"div."+Ext.baseCSSPrefix+"grid-cell-inner",getNodeContainer:function(){return this.el.down(this.nodeContainerSelector,!0)},getBodySelector:function(){return this.bodySelector+"."+Ext.baseCSSPrefix+this.id+"-table"},getNodeContainerSelector:function(){return this.nodeContainerSelector},getColumnSizerSelector:function(n){return this.sizerSelector+"-"+n.getItemId()},getItemSelector:function(){return this.itemSelector},getDataRowSelector:function(){return this.dataRowSelector},getCellSelector:function(n){var t=this.cellSelector;return n&&(t+="-"+n.getItemId()),t},getCellInnerSelector:function(n){return this.getCellSelector(n)+" "+this.innerSelector},addRowCls:function(n,t){var i=this.getNode(n,!1);i&&Ext.fly(i).addCls(t)},removeRowCls:function(n,t){var i=this.getNode(n,!1);i&&Ext.fly(i).removeCls(t)},setHighlightedItem:function(n){var t=this,i=t.highlightedItem;i&&t.el.isAncestor(i)&&t.isRowStyleFirst(i)&&t.getRowStyleTableEl(i).removeCls(t.tableOverFirstCls);n&&t.isRowStyleFirst(n)&&t.getRowStyleTableEl(n).addCls(t.tableOverFirstCls);t.callParent(arguments)},onRowSelect:function(n){var t=this;t.addRowCls(n,t.selectedItemCls);t.isRowStyleFirst(n)?t.getRowStyleTableEl(n).addCls(t.tableSelectedFirstCls):t.addRowCls(n-1,t.beforeSelectedItemCls)},onRowDeselect:function(n){var t=this;t.removeRowCls(n,[t.selectedItemCls,t.focusedItemCls]);t.isRowStyleFirst(n)?t.getRowStyleTableEl(n).removeCls([t.tableFocusedFirstCls,t.tableSelectedFirstCls]):t.removeRowCls(n-1,[t.beforeFocusedItemCls,t.beforeSelectedItemCls])},onCellSelect:function(n){var t=this.getCellByPosition(n);t&&(t.addCls(this.selectedCellCls),this.scrollCellIntoView(t))},onCellDeselect:function(n){var t=this.getCellByPosition(n,!0);t&&Ext.fly(t).removeCls(this.selectedCellCls)},getCellByPosition:function(n,t){if(n){var i=this.getNode(n.row,!0),r=this.ownerCt.columnManager.getHeaderAtIndex(n.column);if(r&&i)return Ext.fly(i).down(this.getCellSelector(r),t)}return!1},getFocusEl:function(){var n=this,t;if(n.refreshCounter)t=n.focusedRow,t&&n.el.contains(t)||(n.all.getCount()&&(t=n.getNode(n.all.item(0).dom,!0))?n.focusRow(t):t=n.body);else return n.el;return Ext.get(t)},onRowFocus:function(n,t,i){var r=this;t?(r.addRowCls(n,r.focusedItemCls),r.isRowStyleFirst(n)?r.getRowStyleTableEl(n).addCls(r.tableFocusedFirstCls):r.addRowCls(n-1,r.beforeFocusedItemCls),i||r.focusRow(n)):(r.removeRowCls(n,r.focusedItemCls),r.isRowStyleFirst(n)?r.getRowStyleTableEl(n).removeCls(r.tableFocusedFirstCls):r.removeRowCls(n-1,r.beforeFocusedItemCls));(Ext.isIE6||Ext.isIE7)&&!r.ownerCt.rowLines&&r.repaintRow(n)},focus:function(n,t){var i=this,r=Ext.isIE&&!t,u;r&&(u=i.el.dom.scrollLeft);this.callParent(arguments);r&&(i.el.dom.scrollLeft=u)},focusRow:function(n,t){var i=this,u,f=i.ownerCt&&i.ownerCt.collapsed,r;i.isVisible(!0)&&!f&&(n=i.getNode(n,!0))&&(i.scrollRowIntoView(n),r=i.getRecord(n),u=i.indexInStore(n),i.selModel.setLastFocused(r),i.focusedRow=n,i.focus(!1,t,function(){i.fireEvent("rowfocus",r,n,u)}))},scrollRowIntoView:function(n){n=this.getNode(n,!0);n&&Ext.fly(n).scrollIntoView(this.el,!1)},focusCell:function(n){var t=this,i=t.getCellByPosition(n),r=t.getRecord(n.row);t.focusRow(r);i&&(t.scrollCellIntoView(i),t.fireEvent("cellfocus",r,i,n))},scrollCellIntoView:function(n){n.row!=null&&n.column!=null&&(n=this.getCellByPosition(n));n&&Ext.fly(n).scrollIntoView(this.el,!0)},scrollByDelta:function(n,t){t=t||"scrollTop";var i=this.el.dom;i[t]=i[t]+=n},isDataRow:function(n){return Ext.fly(n).hasCls(Ext.baseCSSPrefix+"grid-data-row")},syncRowHeights:function(n,t){n=Ext.get(n);t=Ext.get(t);n.dom.style.height=t.dom.style.height="";var f=this,u=f.rowTpl,i=n.dom.offsetHeight,r=t.dom.offsetHeight;if(i!==r){while(u){if(u.syncRowHeights&&u.syncRowHeights(n,t)===!1)break;u=u.nextTpl}i=n.dom.offsetHeight;r=t.dom.offsetHeight;i!==r&&(n=n.down("[data-recordId]")||n,t=t.down("[data-recordId]")||t,n&&t&&(n.dom.style.height=t.dom.style.height="",i=n.dom.offsetHeight,r=t.dom.offsetHeight,i>r?(n.setHeight(i),t.setHeight(i)):r>i&&(n.setHeight(r),t.setHeight(r))))}},onIdChanged:function(n,t,i,r,u){var e=this,f;e.viewReady&&(f=e.getNodeById(u),f&&(f.setAttribute("data-recordId",t.internalId),f.id=e.getRowId(t)))},onUpdate:function(n,t,i,r){var u=this,s=u.rowTpl,l,o,e,f,c,g,a,h,v,y,p,w,b,k,d;if(u.viewReady&&(e=u.getNodeByRecord(t,!1),e)){if(v=u.overItemCls,y=u.overItemCls,p=u.focusedItemCls,w=u.beforeFocusedItemCls,b=u.selectedItemCls,k=u.beforeSelectedItemCls,l=u.indexInStore(t),o=Ext.fly(e,"_internal"),f=u.createRowElement(t,l),o.hasCls(v)&&Ext.fly(f).addCls(v),o.hasCls(y)&&Ext.fly(f).addCls(y),o.hasCls(p)&&Ext.fly(f).addCls(p),o.hasCls(w)&&Ext.fly(f).addCls(w),o.hasCls(b)&&Ext.fly(f).addCls(b),o.hasCls(k)&&Ext.fly(f).addCls(k),d=u.ownerCt.columnManager.getColumns(),Ext.isIE9m&&e.mergeAttributes)e.mergeAttributes(f,!0);else for(c=f.attributes,g=c.length,h=0;h<g;h++)a=c[h].name,a!=="id"&&e.setAttribute(a,c[h].value);for(d.length&&u.updateColumns(t,u.getNode(e,!0),u.getNode(f,!0),d,r);s;){if(s.syncContent&&s.syncContent(e,f)===!1)break;s=s.nextTpl}u.fireEvent("itemupdate",t,l,e);u.refreshSize()}},updateColumns:function(n,t,i,r,u){var f=this,s,p,c,e,b=r.length,h,l,o,a,v,w=f.editingPlugin||f.lockingPartner&&f.ownerCt.ownerLockable.view.editingPlugin,k=w&&w.editing,y=f.getCellSelector();if(t.mergeAttributes)t.mergeAttributes(i,!0);else for(s=i.attributes,p=s.length,e=0;e<p;e++)c=s[e].name,c!=="id"&&t.setAttribute(c,s[e].value);for(h=0;h<b;h++)l=r[h],f.shouldUpdateCell(n,l,u)&&(y=f.getCellSelector(l),o=Ext.DomQuery.selectNode(y,t),a=Ext.DomQuery.selectNode(y,i),k?Ext.fly(o).syncContent(a):(v=o.parentNode,v.insertBefore(a,o),v.removeChild(o)))},shouldUpdateCell:function(n,t,i){if(t.hasCustomRenderer||!i)return!0;if(i)for(var f=i.length,u,r=0;r<f;++r)if(u=i[r],u===t.dataIndex||u===n.idProperty)return!0;return!1},refresh:function(){var n=this,t=n.el&&n.el.isAncestor(Ext.Element.getActiveElement());if(n.callParent(arguments),n.headerCt.setSortState(),n.el&&!n.all.getCount()&&n.headerCt&&n.headerCt.tooNarrow&&n.el.createChild({style:"position:absolute;height:1px;width:1px;left:"+(n.headerCt.getFullWidth()-1)+"px"}),t)n.selModel.onLastFocusChanged(null,n.selModel.lastFocused)},processItemEvent:function(n,t,i,r){if(this.indexInStore(t)!==-1){var u=this,f=r.getTarget(u.getCellSelector(),t),o,c=u.statics().EventMap,l=u.getSelectionModel(),e=r.type,a=u.features,p=a.length,s,v,h,y;if(e=="keydown"&&!f&&l.getCurrentPosition&&(f=u.getCellByPosition(l.getCurrentPosition(),!0)),f){if(!f.parentNode)return!1;y=u.getHeaderByCell(f);o=Ext.Array.indexOf(u.getGridColumns(),y)}else o=-1;if(v=u.fireEvent("uievent",e,u,f,i,o,r,n,t),v===!1||u.callParent(arguments)===!1){u.selModel.onVetoUIEvent(e,u,f,i,o,r,n,t);return!1}for(s=0;s<p;++s)if(h=a[s],h.wrapsItem&&h.vetoEvent(n,t,i,r)===!1)return u.processSpecialEvent(r),!1;return e=="mouseover"||e=="mouseout"?!0:f?!(u["onBeforeCell"+c[e]](f,o,n,t,i,r)===!1||u.fireEvent("beforecell"+e,u,f,o,n,t,i,r)===!1||u["onCell"+c[e]](f,o,n,t,i,r)===!1||u.fireEvent("cell"+e,u,f,o,n,t,i,r)===!1):!0}return this.processSpecialEvent(r),!1},processSpecialEvent:function(n){var t=this,c=t.features,l=c.length,r=n.type,u,i,o,f,s,h,e=t.ownerCt;if(t.callParent(arguments),r!="mouseover"&&r!="mouseout"){for(u=0;u<l;u++)if(i=c[u],i.hasFeatureEvent&&(f=n.getTarget(i.eventSelector,t.getTargetEl()),f&&(o=i.eventPrefix,s=i.getFireEventArgs("before"+o+r,t,f,n),h=i.getFireEventArgs(o+r,t,f,n),t.fireEvent.apply(t,s)===!1||e.fireEvent.apply(e,s)===!1||t.fireEvent.apply(t,h)===!1||e.fireEvent.apply(e,h)===!1)))return!1;return!0}},onCellMouseDown:Ext.emptyFn,onCellMouseUp:Ext.emptyFn,onCellClick:Ext.emptyFn,onCellDblClick:Ext.emptyFn,onCellContextMenu:Ext.emptyFn,onCellKeyDown:Ext.emptyFn,onBeforeCellMouseDown:Ext.emptyFn,onBeforeCellMouseUp:Ext.emptyFn,onBeforeCellClick:Ext.emptyFn,onBeforeCellDblClick:Ext.emptyFn,onBeforeCellContextMenu:Ext.emptyFn,onBeforeCellKeyDown:Ext.emptyFn,expandToFit:function(n){this.autoSizeColumn(n)},autoSizeColumn:function(n){if(Ext.isNumber(n)&&(n=this.getGridColumns[n]),n){if(n.isGroupHeader){n.autoSize();return}delete n.flex;n.setWidth(this.getMaxContentWidth(n))}},getMaxContentWidth:function(n){var i=this,r=i.el.query(n.getCellInnerSelector()),c=n.getWidth(),u=0,f=r.length,e=Ext.supports.ScrollWidthInlinePaddingBug,o=i.body.select(i.getColumnSizerSelector(n)),s=Math.max,h,t;for(e&&f>0&&(h=i.getCellPaddingAfter(r[0])),o.setWidth(1),t=n.textEl.dom.offsetWidth+n.titleEl.getPadding("lr");u<f;u++)t=s(t,r[u].scrollWidth);return e&&(t+=h),t=s(t,40),o.setWidth(c),t},getPositionByEvent:function(n){var t=this,i=n.getTarget(t.cellSelector),r=n.getTarget(t.itemSelector),u=t.getRecord(r),f=t.getHeaderByCell(i);return t.getPosition(u,f)},getHeaderByCell:function(n){if(n){var t=n.className.match(this.cellRe);if(t&&t[1])return this.ownerCt.columnManager.getHeaderById(t[1])}return!1},walkCells:function(n,t,i,r,u,f){if(!n)return!1;var e=this,o=n.row,h=n.column,l=e.dataSource.getCount(),a=e.ownerCt.columnManager.getColumns().length-1,s=o,c=h,v=e.ownerCt.columnManager.getHeaderAtIndex(h);if(!v||v.hidden||!l)return!1;i=i||{};t=t.toLowerCase();switch(t){case"right":if(h===a){if(r||o===l-1)return!1;i.ctrlKey||(s=e.walkRows(o,1),s!==o&&(c=0))}else c=i.ctrlKey?a:h+1;break;case"left":if(h===0){if(r||o===0)return!1;i.ctrlKey||(s=e.walkRows(o,-1),s!==o&&(c=a))}else c=i.ctrlKey?0:h-1;break;case"up":if(o===0)return!1;s=i.ctrlKey?e.walkRows(-1,1):e.walkRows(o,-1);break;case"down":if(o===l-1)return!1;s=i.ctrlKey?e.walkRows(l,-1):e.walkRows(o,1)}return u&&u.call(f||e,{row:s,column:c})!==!0?!1:new Ext.grid.CellContext(e).setPosition(s,c)},walkRows:function(n,t){var r=this,f=0,e=n,o,h=(r.dataSource.buffered?r.dataSource.getTotalCount():r.dataSource.getCount())-1,u=t<0?0:h,s=u?1:-1,i=n;do{if(u?i>=u:i<=0)return e||u;i+=s;(o=Ext.fly(r.getNode(i,!0)))&&o.isVisible(!0)&&(f+=s,e=i)}while(f!==t);return i},walkRecs:function(n,t){var i=this,o=0,u=n,s,c=(i.store.buffered?i.store.getTotalCount():i.store.getCount())-1,f=t<0?0:c,h=f?1:-1,r=i.store.indexOf(n),e;do{if(f?r>=f:r<=0)return u;r+=h;e=i.store.getAt(r);(s=Ext.fly(i.getNodeByRecord(e,!0)))&&s.isVisible(!0)&&(o+=h,u=e)}while(o!==t);return u},getFirstVisibleRowIndex:function(){var n=this,i=n.dataSource.buffered?n.dataSource.getTotalCount():n.dataSource.getCount(),t=n.indexOf(n.all.first())-1;do if(t+=1,t===i)return;while(!Ext.fly(n.getNode(t,!0)).isVisible(!0));return t},getLastVisibleRowIndex:function(){var t=this,n=t.indexOf(t.all.last());do if(n-=1,n===-1)return;while(!Ext.fly(t.getNode(n,!0)).isVisible(!0));return n},getHeaderCt:function(){return this.headerCt},getPosition:function(n,t){return new Ext.grid.CellContext(this).setPosition(n,t)},beforeDestroy:function(){var n=this;n.rendered&&n.el.removeAllListeners();n.callParent(arguments)},onDestroy:function(){var i=this,t=i.featuresMC,r,n;if(t)for(n=0,r=t.getCount();n<r;++n)t.getAt(n).destroy();i.featuresMC=null;this.callParent(arguments)},onAdd:function(n,t,i){this.callParent(arguments);this.doStripeRows(i)},onRemove:function(n,t,i){this.callParent(arguments);this.doStripeRows(i[0])},doStripeRows:function(n,t){var i=this,f,e,r,u;if(i.rendered&&i.stripeRows)for(f=i.getNodes(n,t),r=0,e=f.length;r<e;r++)u=f[r],u.className=u.className.replace(i.rowClsRe," "),n++,n%2==0&&(u.className+=" "+i.altRowCls)},repaintRow:function(n){for(var r=this.getNode(n),t=r.childNodes,i=t.length;i--;)t[i].className=t[i].className},getRowStyleTableEl:function(n){var t=this;return n.tagName||(n=this.getNode(n)),(t.isGrouping?Ext.fly(n):this.el).down("table.x-grid-table")},isRowStyleFirst:function(n){var i=this,t;return n===-1?!1:(n.tagName?t=i.indexOf(n):(t=n,n=this.getNode(n)),!t||i.isGrouping&&Ext.fly(n).hasCls(Ext.baseCSSPrefix+"grid-group-row"))},getCellPaddingAfter:function(n){return Ext.fly(n).getPadding("r")}},1,["tableview"],["component","box","dataview","tableview"],{component:!0,box:!0,dataview:!0,tableview:!0},["widget.tableview"],0,[Ext.view,"Table"],0);Ext.cmd.derive("Ext.grid.View",Ext.view.Table,{stripeRows:!0,autoScroll:!0},0,["gridview"],["component","box","dataview","gridview","tableview"],{component:!0,box:!0,dataview:!0,gridview:!0,tableview:!0},["widget.gridview"],0,[Ext.grid,"View"],0);Ext.cmd.derive("Ext.grid.Panel",Ext.panel.Table,{alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:!1,rowLines:!0},0,["grid","gridpanel"],["panel","component","tablepanel","container","grid","box","gridpanel"],{panel:!0,component:!0,tablepanel:!0,container:!0,grid:!0,box:!0,gridpanel:!0},["widget.grid","widget.gridpanel"],0,[Ext.grid,"Panel",Ext.list,"ListView",Ext,"ListView",Ext.grid,"GridPanel"],0);Ext.define("Ext.grid.plugin.BufferedRendererTableView",{override:"Ext.view.Table",onAdd:function(n,t,i){var r=this,u=r.bufferedRenderer,f=r.all;r.rendered&&u&&f.getCount()+t.length>u.viewSize?i<f.startIndex+u.viewSize&&i+t.length>f.startIndex?r.refreshView():u.stretchView(r,u.getScrollHeight()):r.callParent([n,t,i])},onRemove:function(n,t,i){var r=this,u=r.bufferedRenderer;r.callParent([n,t,i]);r.rendered&&u&&(r.dataSource.getCount()>u.viewSize?r.refreshView():u.stretchView(r,u.getScrollHeight()))},onDataRefresh:function(){var n=this;n.bufferedRenderer&&(n.all.clear(),n.bufferedRenderer.onStoreClear());n.callParent()}});Ext.cmd.derive("Ext.grid.RowEditorButtons",Ext.container.Container,{frame:!0,shrinkWrap:!0,position:"bottom",constructor:function(n){var i=this,t=n.rowEditor,r=Ext.baseCSSPrefix,u=t.editingPlugin;n=Ext.apply({baseCls:r+"grid-row-editor-buttons",defaults:{xtype:"button",ui:t.buttonUI,scope:u,flex:1,minWidth:Ext.panel.Panel.prototype.minButtonWidth},items:[{cls:r+"row-editor-update-button",itemId:"update",handler:u.completeEdit,text:t.saveBtnText,disabled:t.updateButtonDisabled},{cls:r+"row-editor-cancel-button",handler:u.cancelEdit,text:t.cancelBtnText}]},n);i.callParent([n]);i.addClsWithUI(i.position)},setButtonPosition:function(n){var t=this;t.removeClsWithUI(t.position);t.position=n;t.addClsWithUI(n)},getFramingInfoCls:function(){return this.baseCls+"-"+this.ui+"-"+this.position},getFrameInfo:function(){var n=this.callParent();return n.top=!0,n}},1,["roweditorbuttons"],["component","container","box","roweditorbuttons"],{component:!0,container:!0,box:!0,roweditorbuttons:!0},["widget.roweditorbuttons"],0,[Ext.grid,"RowEditorButtons"],0);Ext.cmd.derive("Ext.grid.RowEditor",Ext.form.Panel,{saveBtnText:"Update",cancelBtnText:"Cancel",errorsText:"Errors",dirtyText:"You need to commit or cancel your changes",lastScrollLeft:0,lastScrollTop:0,border:!1,buttonUI:"default",hideMode:"offsets",initComponent:function(){var n=this,t=n.editingPlugin.grid,i=Ext.container.Container;n.cls=Ext.baseCSSPrefix+"grid-editor "+Ext.baseCSSPrefix+"grid-row-editor";n.layout={type:"hbox",align:"middle"};n.lockable=t.lockable;n.lockable?n.items=[n.lockedColumnContainer=new i({id:t.id+"-locked-editor-cells",layout:{type:"hbox",align:"middle"},margin:"0 1 0 0"}),n.normalColumnContainer=new i({flex:1,id:t.id+"-normal-editor-cells",layout:{type:"hbox",align:"middle"}})]:n.lockedColumnContainer=n.normalColumnContainer=n;n.callParent(arguments);n.fields&&(n.addFieldsForColumn(n.fields,!0),n.insertColumnEditor(n.fields),delete n.fields);n.mon(n.hierarchyEventSource,{scope:n,show:n.repositionIfVisible});n.getForm().trackResetOnLoad=!0},onGridResize:function(){var n=this,i=n.getClientWidth(),t=n.editingPlugin.grid,r=t.body,u=n.getFloatingButtons();n.setLocalX(r.getOffsetsTo(t)[0]+r.getBorderWidth("l")-t.el.getBorderWidth("l"));n.setWidth(i);u.setLocalX((i-u.getWidth())/2)},onFieldRender:function(n){var t=this,i=n.column;if(i.isVisible())t.syncFieldWidth(i);else if(!i.rendered)t.view.headerCt.on({afterlayout:Ext.Function.bind(t.syncFieldWidth,t,[i]),single:!0})},syncFieldWidth:function(n){var t=n.getEditor(),i;t._marginWidth=t._marginWidth||t.el.getMargin("lr");i=n.getWidth()-t._marginWidth;t.setWidth(i);t.xtype==="displayfield"&&(t.inputWidth=i)},onFieldChange:function(){var n=this,i=n.getForm(),t=i.isValid();n.errorSummary&&n.isVisible()&&n[t?"hideToolTip":"showToolTip"]();n.updateButton(t);n.isValid=t},updateButton:function(n){var t=this.floatingButtons;t?t.child("#update").setDisabled(!n):this.updateButtonDisabled=!n},afterRender:function(){var n=this,t=n.editingPlugin,i=t.grid,r=i.lockable?i.normalGrid.view:i.view;n.callParent(arguments);n.scrollingView=r;n.scrollingViewEl=r.el;r.mon(n.scrollingViewEl,"scroll",n.onViewScroll,n);n.mon(n.el,{click:Ext.emptyFn,stopPropagation:!0});n.mon(i,{resize:n.onGridResize,scope:n});n.el.swallowEvent(["keypress","keydown"]);n.fieldScroller=n.normalColumnContainer.layout.innerCt;n.fieldScroller.dom.style.overflow="hidden";n.fieldScroller.on({scroll:n.onFieldContainerScroll,scope:n});n.keyNav=new Ext.util.KeyNav(n.el,{enter:t.completeEdit,esc:t.onEscKey,scope:t});n.mon(t.view,{beforerefresh:n.onBeforeViewRefresh,refresh:n.onViewRefresh,itemremove:n.onViewItemRemove,scope:n});n.preventReposition=!0;Ext.Array.each(n.query("[isFormField]"),function(t){if(t.column.isVisible())n.onColumnShow(t.column)},n);delete n.preventReposition},onBeforeViewRefresh:function(n){var t=this,i=n.el.dom;t.el.dom.parentNode===i&&i.removeChild(t.el.dom)},onViewRefresh:function(n){var t=this,i=t.context,r;i&&(r=n.getNode(i.record,!0))?(i.row=r,t.reposition(),t.tooltip&&t.tooltip.isVisible()&&t.tooltip.setTarget(i.row)):t.editingPlugin.cancelEdit()},onViewItemRemove:function(n){var t=this.context;t&&n===t.record&&this.editingPlugin.cancelEdit()},onViewScroll:function(){var n=this,f=n.editingPlugin.view.el,i=n.scrollingViewEl,r=i.dom.scrollTop,u=i.getScrollLeft(),e=u!==n.lastScrollLeft,o=r!==n.lastScrollTop,t;n.lastScrollTop=r;n.lastScrollLeft=u;n.isVisible()&&(t=Ext.getDom(n.context.row.id),t&&f.contains(t)?o&&(n.context.row=t,n.reposition(null,!0),(n.tooltip&&n.tooltip.isVisible()||n.hiddenTip)&&n.repositionTip(),n.syncEditorClip()):n.setLocalY(-400));n.rendered&&e&&n.syncFieldsHorizontalScroll()},syncFieldsHorizontalScroll:function(){this.fieldScroller.setScrollLeft(this.lastScrollLeft)},onFieldContainerScroll:function(){this.scrollingViewEl.setScrollLeft(this.fieldScroller.getScrollLeft())},onColumnResize:function(n){var t=this;t.rendered&&(t.onGridResize(),t.onViewScroll(),n.isGroupHeader||(t.syncFieldWidth(n),t.repositionIfVisible()))},onColumnHide:function(n){n.isGroupHeader||(n.getEditor().hide(),this.repositionIfVisible())},onColumnShow:function(n){var t=this;t.rendered&&!n.isGroupHeader&&(n.getEditor().show(),t.syncFieldWidth(n),t.preventReposition||this.repositionIfVisible())},onColumnMove:function(n,t,i){var s=this,e,o=1,h,r,u,f=n.isLocked()?s.lockedColumnContainer:s.normalColumnContainer;if(n.isGroupHeader){for(Ext.suspendLayouts(),n=n.getGridColumns(),i>t&&(i--,o=0),this.addFieldsForColumn(n),e=0,h=n.length;e<h;e++,t+=o,i+=o)r=n[e].getEditor(),u=f.items.indexOf(r),u===-1?f.insert(i,r):u!=i&&f.move(t,i);Ext.resumeLayouts(!0)}else i>t&&i--,this.addFieldsForColumn(n),r=n.getEditor(),u=f.items.indexOf(r),u===-1?f.insert(i,r):u!=i&&f.move(t,i)},onColumnAdd:function(n){n.isGroupHeader&&(n=n.getGridColumns());this.addFieldsForColumn(n);this.insertColumnEditor(n);this.preventReposition=!1},insertColumnEditor:function(n){var i=this,r,u,t;if(Ext.isArray(n)){for(t=0,u=n.length;t<u;t++)i.insertColumnEditor(n[t]);return}n.getEditor&&(r=n.isLocked()?i.lockedColumnContainer:i.normalColumnContainer,r.insert(n.getVisibleIndex(),n.getEditor()))},onColumnRemove:function(n,t){t=t.isGroupHeader?t.getGridColumns():t;this.removeColumnEditor(t)},removeColumnEditor:function(n){var u=this,t,r,i;if(Ext.isArray(n)){for(i=0,r=n.length;i<r;i++)u.removeColumnEditor(n[i]);return}n.hasEditor()&&(t=n.getEditor(),t&&t.ownerCt&&t.ownerCt.remove(t,!1))},onColumnReplace:function(n,t,i,r){this.onColumnRemove(r.ownerCt,r)},getFloatingButtons:function(){var n=this,t=n.floatingButtons;return t||(n.floatingButtons=t=new Ext.grid.RowEditorButtons({rowEditor:n})),t},repositionIfVisible:function(n){var t=this,i=t.view;(!n||n!=t&&n.el.isAncestor(i.el))&&t.isVisible()&&i.isVisible(!0)&&t.reposition()},getRefOwner:function(){return this.editingPlugin.grid},getRefItems:function(){var t=this,n;return t.lockable?(n=t.lockedColumnContainer.getRefItems(),n.push.apply(n,t.normalColumnContainer.getRefItems())):n=t.callParent(),n.push.apply(n,t.getFloatingButtons().getRefItems()),n},reposition:function(n,t){var i=this,o=i.context,r=o&&Ext.get(o.row),s=0,h,f,e,u;r&&Ext.isElement(r.dom)&&(e=i.syncButtonPosition(i.getScrollDelta()),i.editingPlugin.grid.rowLines||(s=-parseInt(r.first().getStyle("border-bottom-width"))),h=i.calculateLocalRowTop(r),f=i.calculateEditorTop(h)+s,t||(u=function(){e&&i.scrollingViewEl.scrollBy(0,e,!0);i.focusContextCell()}),i.syncEditorClip(),n?i.animate(Ext.applyIf({to:{top:f},duration:n.duration||125,callback:u},n)):(i.setLocalY(f),u&&u()))},getScrollDelta:function(){var n=this,i=n.scrollingViewEl.dom,r=n.context,u=n.body,t=0;return r&&(t=Ext.fly(r.row).getOffsetsTo(i)[1]-u.getBorderPadding().beforeY,t>0&&(t=Math.max(t+n.getHeight()+n.floatingButtons.getHeight()-i.clientHeight-u.getBorderWidth("b"),0))),t},calculateLocalRowTop:function(n){var t=this.editingPlugin.grid;return Ext.fly(n).getOffsetsTo(t)[1]-t.el.getBorderWidth("t")+this.lastScrollTop},calculateEditorTop:function(n){return n-this.body.getBorderPadding().beforeY-this.lastScrollTop},getClientWidth:function(){var t=this,n=t.editingPlugin.grid;return t.lockable?n.lockedGrid.getWidth()+n.normalGrid.view.el.dom.clientWidth-1:n.view.el.dom.clientWidth},getEditor:function(n){var t=this;return Ext.isNumber(n)?t.query("[isFormField]")[n]:n.isHeader&&!n.isGroupHeader?n.getEditor():void 0},addFieldsForColumn:function(n,t){var i=this,u,f,r;if(Ext.isArray(n)){for(u=0,f=n.length;u<f;u++)i.addFieldsForColumn(n[u],t);return}if(n.getEditor)if(r=n.getEditor(null,{xtype:"displayfield",getModelData:function(){return null}}),n.align==="right"&&(r.fieldStyle="text-align:right"),n.xtype==="actioncolumn"&&(r.fieldCls+=" "+Ext.baseCSSPrefix+"form-action-col-field"),i.isVisible()&&i.context&&(r.is("displayfield")?i.renderColumnData(r,i.context.record,n):(r.suspendEvents(),r.setValue(i.context.record.get(n.dataIndex)),r.resumeEvents())),n.hidden)i.onColumnHide(n);else if(n.rendered&&!t)i.onColumnShow(n)},loadRecord:function(n){for(var i=this,u=i.getForm(),s=u.getFields(),f=s.items,r=f.length,e,o,t=0;t<r;t++)f[t].suspendEvents();for(u.loadRecord(n),t=0;t<r;t++)f[t].resumeEvents();for(o=u.isValid(),i.errorSummary&&(o?i.hideToolTip():i.showToolTip()),i.updateButton(o),e=i.query(">displayfield"),r=e.length,t=0;t<r;t++)i.renderColumnData(e[t],n)},renderColumnData:function(n,t,i){var f=this,v=f.editingPlugin.grid,e=v.headerCt,o=f.scrollingView,s=o.dataSource,r=i||n.column,u=t.get(r.dataIndex),h=r.editRenderer||r.renderer,c,l,a;h&&(c={tdCls:"",style:""},l=s.indexOf(t),a=e.getHeaderIndex(r),u=h.call(r.scope||e.ownerCt,u,c,t,l,a,s,o));n.setRawValue(u);n.resetOriginalValue()},beforeEdit:function(){var n=this,t;if(n.isVisible()&&n.errorSummary&&!n.autoCancel&&n.isDirty())return t=n.getScrollDelta(),t&&n.scrollingViewEl.scrollBy(0,t,!0),n.showToolTip(),!1},startEdit:function(n){var t=this,i=t.editingPlugin,r=i.grid,u=t.context=i.context;t.rendered?t.syncFieldsHorizontalScroll():(t.width=t.getClientWidth(),t.render(r.el,r.el.dom.firstChild),t.getFloatingButtons().render(t.el),t.onViewScroll());t.isVisible()?t.reposition(!0):t.show();t.onGridResize();u.grid.getSelectionModel().select(n);t.loadRecord(n)},syncButtonPosition:function(n){var t=this,r=t.getFloatingButtons(),i=t.scrollingViewEl.dom,u=this.getScrollDelta()-(i.scrollHeight-i.scrollTop-i.clientHeight);return u>0?(t._buttonsOnTop||(r.setButtonPosition("top"),t._buttonsOnTop=!0),n=0):t._buttonsOnTop&&(r.setButtonPosition("bottom"),t._buttonsOnTop=!1),n},syncEditorClip:function(){var n=this,t=n.getScrollDelta(),i;t?(n.isOverflowing=!0,i=n.floatingButtons.getHeight(),t>0?n.clipBottom(Math.max(n.getHeight()-t+i,-i)):t<0&&(t=Math.abs(t),n.clipTop(Math.max(t,0)))):n.isOverflowing&&(n.clearClip(),n.isOverflowing=!1)},focusContextCell:function(){var n=this.getEditor(this.context.column);n&&n.focus&&n.focus()},cancelEdit:function(){var r=this,t=r.getForm(),f=t.getFields(),i=f.items,u=i.length,n;for(r.hide(),t.clearInvalid(),n=0;n<u;n++)i[n].suspendEvents();for(t.reset(),n=0;n<u;n++)i[n].resumeEvents()},completeEdit:function(){var n=this,t=n.getForm();return t.isValid()?(t.updateRecord(n.context.record),n.hide(),!0):!1},onShow:function(){var n=this;n.callParent(arguments);n.reposition()},onHide:function(){var n=this;n.callParent(arguments);n.tooltip&&n.hideToolTip();n.context&&(n.context.view.focusRow(n.context.record),n.context=null)},isDirty:function(){var n=this,t=n.getForm();return t.isDirty()},getToolTip:function(){return this.tooltip||(this.tooltip=new Ext.tip.ToolTip({cls:Ext.baseCSSPrefix+"grid-row-editor-errors",title:this.errorsText,autoHide:!1,closable:!0,closeAction:"disable",anchor:"left",anchorToTarget:!1}))},hideToolTip:function(){var n=this,t=n.getToolTip();t.rendered&&t.disable();n.hiddenTip=!1},showToolTip:function(){var n=this,t=n.getToolTip();t.showAt([0,0]);t.update(n.getErrors());n.repositionTip();t.enable()},repositionTip:function(){var n=this,t=n.getToolTip(),e=n.context,i=Ext.get(e.row),r=n.scrollingViewEl,o=r.dom.clientHeight,u=n.lastScrollTop,s=u+o,h=i.getHeight(),f=i.getOffsetsTo(n.context.view.body)[1],c=f+h;c>u&&f<s?(t.showAt(t.getAlignToXY(r,"tl-tr",[15,i.getOffsetsTo(r)[1]])),n.hiddenTip=!1):(t.hide(),n.hiddenTip=!0)},getErrors:function(){for(var n=this,t=[],r=n.query(">[isFormField]"),u=r.length,i=0;i<u;i++)t=t.concat(Ext.Array.map(r[i].getErrors(),n.createErrorListItem));return t.length||n.autoCancel||!n.isDirty()||(t[0]=n.createErrorListItem(n.dirtyText)),'<ul class="'+Ext.plainListCls+'">'+t.join("")+"<\/ul>"},createErrorListItem:function(n){return'<li class="'+Ext.baseCSSPrefix+'grid-row-editor-errors-item">'+n+"<\/li>"},beforeDestroy:function(){Ext.destroy(this.floatingButtons,this.tooltip);this.callParent()},clipBottom:function(n){this.el.setStyle("clip","rect(-1000px auto "+n+"px auto)")},clipTop:function(n){this.el.setStyle("clip","rect("+n+"px auto 1000px auto)")},clearClip:function(){this.el.setStyle("clip",Ext.isIE8m||Ext.isIEQuirks?"rect(-1000px auto 1000px auto)":"auto")}},0,["roweditor"],["panel","form","component","container","roweditor","box"],{panel:!0,form:!0,component:!0,container:!0,roweditor:!0,box:!0},["widget.roweditor"],0,[Ext.grid,"RowEditor"],0);Ext.cmd.derive("Ext.view.DropZone",Ext.dd.DropZone,{indicatorHtml:'<div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-left"><\/div><div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-right"><\/div>',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",constructor:function(n){var t=this;Ext.apply(t,n);t.ddGroup||(t.ddGroup="view-dd-zone-"+t.view.id);t.callParent([t.view.el])},fireViewEvent:function(){var n=this,t;return n.lock(),t=n.view.fireEvent.apply(n.view,arguments),n.unlock(),t},getTargetFromEvent:function(n){var u=n.getTarget(this.view.getItemSelector()),f,i,r,t,e,o;if(!u)for(f=n.getPageY(),t=0,i=this.view.getNodes(),e=i.length;t<e;t++)if(r=i[t],o=Ext.fly(r).getBox(),f<=o.bottom)return r;return u},getIndicator:function(){var n=this;return n.indicator||(n.indicator=new Ext.Component({html:n.indicatorHtml,cls:n.indicatorCls,ownerCt:n.view,floating:!0,shadow:!1})),n.indicator},getPosition:function(n,t){var r=n.getXY()[1],i=Ext.fly(t).getRegion();return i.bottom-r>=(i.bottom-i.top)/2?"before":"after"},containsRecordAtOffset:function(n,t,i){if(!t)return!1;var r=this.view,e=r.indexOf(t),u=r.getNode(e+i,!0),f=u?r.getRecord(u):null;return f&&Ext.Array.contains(n,f)},positionIndicator:function(n,t,i){var r=this,e=r.view,u=r.getPosition(i,n),f=e.getRecord(n),o=t.records,s;Ext.Array.contains(o,f)||(u!="before"||r.containsRecordAtOffset(o,f,-1))&&(u!="after"||r.containsRecordAtOffset(o,f,1))?r.invalidateDrop():(r.valid=!0,(r.overRecord!=f||r.currentPosition!=u)&&(s=Ext.fly(n).getY()-e.el.getY()-1,u=="after"&&(s+=Ext.fly(n).getHeight()),r.getIndicator().setWidth(Ext.fly(e.el).getWidth()).showAt(0,s),r.overRecord=f,r.currentPosition=u))},invalidateDrop:function(){this.valid&&(this.valid=!1,this.getIndicator().hide())},onNodeOver:function(n,t,i,r){var u=this;return Ext.Array.contains(r.records,u.view.getRecord(n))||u.positionIndicator(n,r,i),u.valid?u.dropAllowed:u.dropNotAllowed},notifyOut:function(){var n=this;n.callParent(arguments);n.overRecord=n.currentPosition=null;n.valid=!1;n.indicator&&n.indicator.hide()},onContainerOver:function(n,t,i){var r=this,u=r.view,f=u.dataSource.getCount();return f?r.positionIndicator(u.all.last(),i,t):(r.overRecord=r.currentPosition=null,r.getIndicator().setWidth(Ext.fly(u.el).getWidth()).showAt(0,0),r.valid=!0),r.dropAllowed},onContainerDrop:function(n,t,i){return this.onNodeDrop(n,null,t,i)},onNodeDrop:function(n,t,i,r){var u=this,f=!1,e={wait:!1,processDrop:function(){u.invalidateDrop();u.handleNodeDrop(r,u.overRecord,u.currentPosition);f=!0;u.fireViewEvent("drop",n,r,u.overRecord,u.currentPosition)},cancelDrop:function(){u.invalidateDrop();f=!0}},o=!1;if(u.valid){if(o=u.fireViewEvent("beforedrop",n,r,u.overRecord,u.currentPosition,e),e.wait)return;o!==!1&&(f||e.processDrop())}return o},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}},1,0,0,0,0,0,[Ext.view,"DropZone"],0);Ext.cmd.derive("Ext.grid.ViewDropZone",Ext.view.DropZone,{indicatorHtml:'<div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-left"><\/div><div class="'+Ext.baseCSSPrefix+'grid-drop-indicator-right"><\/div>',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",handleNodeDrop:function(n,t,i){var u=this.view,f=u.getStore(),e,o,r,s;if(n.copy)for(o=n.records,n.records=[],r=0,s=o.length;r<s;r++)n.records.push(o[r].copy());else n.view.store.remove(n.records,n.view===u);t&&i?(e=f.indexOf(t),i!=="before"&&e++,f.insert(e,n.records)):f.add(n.records);u.getSelectionModel().select(n.records)}},0,0,0,0,0,0,[Ext.grid,"ViewDropZone"],0);Ext.cmd.derive("Ext.grid.plugin.HeaderResizer",Ext.AbstractPlugin,{disabled:!1,config:{dynamic:!1},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1e3,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(n){this.headerCt=n;n.on("render",this.afterHeaderRender,this,{single:!0})},destroy:function(){this.tracker&&this.tracker.destroy()},afterHeaderRender:function(){var n=this.headerCt,t=n.el;n.mon(t,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=new Ext.dd.DragTracker({disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:t})},onHeaderCtMouseMove:function(n){var i=this,f,e,r,t,o,u;i.headerCt.dragging?i.activeHd&&(i.activeHd.el.dom.style.cursor="",delete i.activeHd):(e=n.getTarget("."+i.colHeaderCls,3,!0),e&&(r=Ext.getCmp(e.id),r.isOnLeftEdge(n)?(t=r.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])"),t&&(u=i.headerCt.up("tablepanel"),o=t.up("tablepanel"),o===u||u.ownerCt.isXType("tablepanel")&&u.ownerCt.view.lockedGrid===o||(t=null))):t=r.isOnRightEdge(n)?r:null,t?(t.isGroupHeader&&(f=t.getGridColumns(),t=f[f.length-1]),!t||t.fixed||t.resizable===!1||i.disabled||(i.activeHd=t,r.el.dom.style.cursor=i.eResizeCursor,r.triggerEl&&(r.triggerEl.dom.style.cursor=i.eResizeCursor))):(r.el.dom.style.cursor="",r.triggerEl&&(r.triggerEl.dom.style.cursor=""),i.activeHd=null)))},onBeforeStart:function(){return this.dragHd=this.activeHd,!this.dragHd||this.headerCt.dragging?(this.headerCt.dragging=!1,!1):(this.tracker.constrainTo=this.getConstrainRegion(),!0)},getConstrainRegion:function(){var n=this,r=n.dragHd.el,i=0,t,u;return n.headerCt.forceFit?(t=n.dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])"),t&&(n.headerInSameGrid(t)||(t=null),i=t.getWidth()-n.minColWidth)):i=(u=n.dragHd.up("tablepanel")).isLocked?n.dragHd.up("[scrollerOwner]").getWidth()-u.getWidth()-30:n.maxColWidth-r.getWidth(),n.adjustConstrainRegion(r.getRegion(),0,i,0,n.minColWidth)},onStart:function(){var n=this,h=n.dragHd,c=h.el.getWidth(),f=h.getOwnerHeaderCt(),e,o,i,t,r,u,s;n.headerCt.dragging=!0;n.origWidth=c;n.dynamic||(i=t=f.up("tablepanel"),i.ownerLockable&&(t=i.ownerLockable),e=n.getLeftMarkerX(t),r=t.getLhsMarker(),u=t.getRhsMarker(),s=i.body.getHeight()+f.getHeight(),o=f.getOffsetsTo(t)[1],r.setLocalY(o),u.setLocalY(o),r.setHeight(s),u.setHeight(s),n.setMarkerX(r,e),n.setMarkerX(u,e+c))},onDrag:function(){var t=this,n;t.dynamic?t.doResize():(n=this.headerCt.up("tablepanel"),n.ownerLockable&&(n=n.ownerLockable),this.setMarkerX(this.getMovingMarker(n),this.calculateDragX(n)))},getMovingMarker:function(n){return n.getRhsMarker()},onEnd:function(){if(this.headerCt.dragging=!1,this.dragHd){if(!this.dynamic){var n=this.headerCt.up("tablepanel");n.ownerLockable&&(n=n.ownerLockable);this.setMarkerX(n.getLhsMarker(),-9999);this.setMarkerX(n.getRhsMarker(),-9999)}this.doResize()}},doResize:function(){var t=this,i=t.dragHd,n,r;i&&(r=t.tracker.getOffset("point"),i.flex&&delete i.flex,Ext.suspendLayouts(),t.adjustColumnWidth(r[0]),t.headerCt.forceFit&&(n=i.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])"),n&&!t.headerInSameGrid(n)&&(n=null),n&&(delete n.flex,n.setWidth(n.getWidth()-r[0]))),Ext.resumeLayouts(!0))},headerInSameGrid:function(n){var t=this.dragHd.up("tablepanel");return!!n.up(t)},disable:function(){this.disabled=!0;this.tracker&&this.tracker.disable()},enable:function(){this.disabled=!1;this.tracker&&this.tracker.enable()},calculateDragX:function(n){return this.tracker.getXY("point")[0]-n.getX()-n.el.getBorderWidth("l")},getLeftMarkerX:function(n){return this.dragHd.getX()-n.getX()-n.el.getBorderWidth("l")-1},setMarkerX:function(n,t){n.setLocalX(t)},adjustConstrainRegion:function(n,t,i,r,u){return n.adjust(t,i,r,u)},adjustColumnWidth:function(n){this.dragHd.setWidth(this.origWidth+n)}},0,0,0,0,["plugin.gridheaderresizer"],0,[Ext.grid.plugin,"HeaderResizer"],0);Ext.cmd.derive("Ext.grid.header.DragZone",Ext.dd.DragZone,{colHeaderSelector:"."+Ext.baseCSSPrefix+"column-header",colInnerSelector:"."+Ext.baseCSSPrefix+"column-header-inner",maxProxyWidth:120,constructor:function(n){this.headerCt=n;this.ddGroup=this.getDDGroup();this.callParent([n.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(n){if(n.getTarget(this.colInnerSelector)){var i=n.getTarget(this.colHeaderSelector),t,r;if(i&&(t=Ext.getCmp(i.id),!this.headerCt.dragging&&t.draggable&&!(t.isOnLeftEdge(n)||t.isOnRightEdge(n))))return r=document.createElement("div"),r.innerHTML=Ext.getCmp(i.id).text,{ddel:r,header:t}}return!1},onBeforeDrag:function(){return!(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=!0;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=!1;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=!1},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1}},1,0,0,0,0,0,[Ext.grid.header,"DragZone"],0);Ext.cmd.derive("Ext.grid.header.DropZone",Ext.dd.DropZone,{colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(n){this.headerCt=n;this.ddGroup=this.getDDGroup();this.callParent([n.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(n){return n.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){return this.topIndicator||(this.self.prototype.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:"&#160;"},!0),this.self.prototype.indicatorXOffset=Math.floor((this.topIndicator.dom.offsetWidth+1)/2)),this.topIndicator},getBottomIndicator:function(){return this.bottomIndicator||(this.self.prototype.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:"&#160;"},!0)),this.bottomIndicator},getLocation:function(n,t){var u=n.getXY()[0],i=Ext.fly(t).getRegion(),r;return r=i.right-u<=(i.right-i.left)/2?"after":"before",{pos:r,header:Ext.getCmp(t.id),node:t}},positionIndicator:function(n,t,i){var r=this,e=n.header,y=r.getLocation(i,t),u=y.header,f=y.pos,g,nt,o,s,p,w,h,c,l,b,k,d,tt,a,v;if(u!==r.lastTargetHeader||f!==r.lastDropPos){if(g=e.nextSibling("gridcolumn:not([hidden])"),nt=e.previousSibling("gridcolumn:not([hidden])"),r.lastTargetHeader=u,r.lastDropPos=f,!u.draggable&&f==="before"&&u.getIndex()===0)return!1;if(n.dropLocation=y,e===u||(f!=="before"||g===u)&&(f!=="after"||nt===u)||u.isDescendantOf(e))r.invalidateDrop();else{for(d=Ext.dd.DragDropManager.getRelated(r),tt=d.length,a=0;a<tt;a++)v=d[a],v!==r&&v.invalidateDrop&&v.invalidateDrop();r.valid=!0;o=r.getTopIndicator();s=r.getBottomIndicator();f==="before"?(p="bc-tl",w="tc-bl"):(p="bc-tr",w="tc-br");h=o.getAlignToXY(u.el,p);c=s.getAlignToXY(u.el,w);l=r.headerCt.el;b=l.getX()-r.indicatorXOffset;k=l.getX()+l.getWidth();h[0]=Ext.Number.constrain(h[0],b,k);c[0]=Ext.Number.constrain(c[0],b,k);o.setXY(h);s.setXY(c);o.show();s.show()}}},invalidateDrop:function(){this.valid=!1;this.hideIndicators()},onNodeOver:function(n,t,i,r){var u=this,e=r.header,f,o,s,h;return r.header.el.dom===n?f=!1:(r.isLock=r.isUnlock=!1,o=u.getLocation(i,n).header,f=e.ownerCt===o.ownerCt,f||e.ownerCt.sealed||o.ownerCt.sealed||(f=!0,s=e.up("tablepanel"),h=o.up("tablepanel"),r.isLock=h.isLocked&&!s.isLocked,r.isUnlock=!h.isLocked&&s.isLocked,(r.isUnlock&&e.lockable===!1||r.isLock&&!e.isLockable())&&(f=!1))),f?u.positionIndicator(r,n,i):u.valid=!1,u.valid?u.dropAllowed:u.dropNotAllowed},hideIndicators:function(){var n=this;n.getTopIndicator().hide();n.getBottomIndicator().hide();n.lastTargetHeader=n.lastDropPos=null},onNodeOut:function(){this.hideIndicators()},onNodeDrop:function(n,t,i,r){if(this.valid){var u=r.header,y=r.dropLocation,e=y.header,o=u.ownerCt,l=o.items.indexOf(u),s=e.ownerCt,f=s.items.indexOf(e),h=this.headerCt,p=h.columnManager,w=p.getHeaderIndex(u),a=p.getHeaderIndex(e),b=u.isGroupHeader?u.query(":not([isGroupHeader])").length:1,v=o===s,c,k;if(y.pos==="after"&&(f++,a+=e.isGroupHeader?e.query(":not([isGroupHeader])").length:1),r.isLock){c=o.up("[scrollerOwner]");c.lock(u,f);r.isLock=!1;this.onNodeDrop(n,t,i,r)}else if(r.isUnlock){c=o.up("[scrollerOwner]");c.unlock(u,f);r.isUnlock=!1;this.onNodeDrop(n,t,i,r)}else{if(this.invalidateDrop(),k=u.getWidth(),v){if(f===l){h.onHeaderMoved(u,b,w,a);return}f>l&&(f-=1)}Ext.suspendLayouts();v?s.move(l,f):(o.remove(u,!1),s.insert(f,u));s.isGroupHeader?v||(u.savedFlex=u.flex,delete u.flex,u.width=k):u.savedFlex&&(u.flex=u.savedFlex,delete u.width);h.purgeCache();Ext.resumeLayouts(!0);h.onHeaderMoved(u,b,w,a)}}}},1,0,0,0,0,0,[Ext.grid.header,"DropZone"],0);Ext.cmd.derive("Ext.grid.plugin.HeaderReorderer",Ext.AbstractPlugin,{init:function(n){this.headerCt=n;n.on({render:this.onHeaderCtRender,single:!0,scope:this})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){var n=this;n.dragZone=new Ext.grid.header.DragZone(n.headerCt);n.dropZone=new Ext.grid.header.DropZone(n.headerCt);n.disabled&&n.dragZone.disable()},enable:function(){this.disabled=!1;this.dragZone&&this.dragZone.enable()},disable:function(){this.disabled=!0;this.dragZone&&this.dragZone.disable()}},0,0,0,0,["plugin.gridheaderreorderer"],0,[Ext.grid.plugin,"HeaderReorderer"],0);Ext.cmd.derive("Ext.grid.header.Container",Ext.container.Container,{border:!0,baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",detachOnRemove:!1,defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",menuSortAscCls:Ext.baseCSSPrefix+"hmenu-sort-asc",menuSortDescCls:Ext.baseCSSPrefix+"hmenu-sort-desc",menuColsIcon:Ext.baseCSSPrefix+"cols-icon",triStateSort:!1,ddLock:!1,dragging:!1,sortable:!0,enableColumnHide:!0,initComponent:function(){var n=this;n.headerCounter=0;n.plugins=n.plugins||[];n.isColumn||(n.enableColumnResize&&(n.resizer=new Ext.grid.plugin.HeaderResizer,n.plugins.push(n.resizer)),n.enableColumnMove&&(n.reorderer=new Ext.grid.plugin.HeaderReorderer,n.plugins.push(n.reorderer)));n.isColumn&&(!n.items||n.items.length===0)?(n.isContainer=!1,n.layout={type:"container",calculate:Ext.emptyFn}):(n.layout=Ext.apply({type:"gridcolumn",align:"stretch"},n.initialConfig.layout),n.isRootHeader&&(n.grid.columnManager=n.columnManager=new Ext.grid.ColumnManager(n)));n.defaults=n.defaults||{};Ext.applyIf(n.defaults,{triStateSort:n.triStateSort,sortable:n.sortable});n.menuTask=new Ext.util.DelayedTask(n.updateMenuDisabledState,n);n.callParent();n.addEvents("columnresize","headerclick","headercontextmenu","headertriggerclick","columnmove","columnhide","columnshow","columnschanged","sortchange","menucreate")},isLayoutRoot:function(){return this.hiddenHeaders?!1:this.callParent()},getOwnerHeaderCt:function(){var n=this;return n.isRootHeader?n:n.up("[isRootHeader]")},onDestroy:function(){var n=this;n.menu&&n.menu.un("hide",n.onMenuHide,n);n.menuTask.cancel();Ext.destroy(n.resizer,n.reorderer);n.callParent()},applyColumnsState:function(n){if(n&&n.length)for(var e=this,o=e.items.items,s=o.length,u=0,h=n.length,t,f,i,r=0;r<h;r++)for(f=n[r],i=s;i--;)if(t=o[i],t.getStateId&&t.getStateId()==f.id){u!==i&&e.moveHeader(i,u);t.applyColumnState&&t.applyColumnState(f);++u;break}},getColumnsState:function(){var i=this,t=[],n;return i.items.each(function(i){n=i.getColumnState&&i.getColumnState();n&&t.push(n)}),t},onAdd:function(n){var t=this;n.headerId||(n.headerId=n.initialConfig.id||Ext.id(null,"header-"));n.getStateId()||(n.stateId=n.initialConfig.id||"h"+ ++t.headerCounter);t.callParent(arguments);t.onColumnsChanged()},onMove:function(){this.callParent(arguments);this.onColumnsChanged()},onShow:function(){this.callParent(arguments);this.onColumnsChanged()},onColumnsChanged:function(){for(var n=this;n;){if(n.purgeCache(),n.isRootHeader)break;n=n.ownerCt}n&&n.rendered&&n.fireEvent("columnschanged",n)},onRemove:function(n){var t=this,i=t.ownerCt;t.callParent(arguments);t.destroying||(t.onColumnsChanged(),t.isGroupHeader&&!t.items.getCount()&&i&&(t.detachComponent(n),Ext.suspendLayouts(),i.remove(t),Ext.resumeLayouts(!0)))},applyDefaults:function(n){var t;return n&&!n.isComponent&&n.xtype=="rownumberer"?t=n:(t=this.callParent(arguments),n.isGroupHeader||"width"in t||t.flex||(t.width=this.defaultWidth)),t},setSortState:function(){var i=this.up("[store]").store,n=i.getFirstSorter(),t;n?(t=this.down("gridcolumn[dataIndex="+n.property+"]"),t&&t.setSortState(n.direction,!1,!0)):this.clearOtherSortStates(null)},getHeaderMenu:function(){var t=this.getMenu(),n;return t&&(n=t.child("#columnItem"),n)?n.menu:null},onHeaderVisibilityChange:function(n,t){var i=this,r=i.getHeaderMenu(),u;i.purgeCache();r&&(u=i.getMenuItemForHeader(r,n),u&&u.setChecked(t,!0),r.isVisible()&&i.menuTask.delay(50))},updateMenuDisabledState:function(n){var r=this,e=r.query(":not([hidden])"),t,o=e.length,u,i,f;for(n||(n=r.getMenu()),t=0;t<o;++t)u=e[t],i=r.getMenuItemForHeader(n,u),i&&(f=u.isHideable()?"enable":"disable",i.menu&&(f+="CheckChange"),i[f]())},getMenuItemForHeader:function(n,t){return t?n.down("menucheckitem[headerId="+t.id+"]"):null},onHeaderShow:function(n){var t=this,i=t.ownerCt;t.forceFit&&delete t.flex;t.onHeaderVisibilityChange(n,!0);if(!n.isGroupHeader&&i)i.onHeaderShow(t,n);t.fireEvent("columnshow",t,n);t.fireEvent("columnschanged",this)},onHeaderHide:function(n){var t=this,i=t.ownerCt;t.onHeaderVisibilityChange(n,!1);if(!n.isGroupHeader&&i)i.onHeaderHide(t,n);t.fireEvent("columnhide",t,n);t.fireEvent("columnschanged",this)},tempLock:function(){this.ddLock=!0;Ext.Function.defer(function(){this.ddLock=!1},200,this)},onHeaderResize:function(n,t){var i=this,r=i.view,u=i.ownerCt;if(r&&r.body.dom&&(i.tempLock(),u))u.onHeaderResize(i,n,t);i.fireEvent("columnresize",this,n,t)},onHeaderClick:function(n,t,i){n.fireEvent("headerclick",this,n,t,i);this.fireEvent("headerclick",this,n,t,i)},onHeaderContextMenu:function(n,t,i){n.fireEvent("headercontextmenu",this,n,t,i);this.fireEvent("headercontextmenu",this,n,t,i)},onHeaderTriggerClick:function(n,t,i){var r=this;n.fireEvent("headertriggerclick",r,n,t,i)!==!1&&r.fireEvent("headertriggerclick",r,n,t,i)!==!1&&r.showMenuBy(i,n)},showMenuBy:function(n,t){var i=this.getMenu(),u=i.down("#ascItem"),f=i.down("#descItem"),r;i.activeHeader=i.ownerButton=t;t.setMenuActive(!0);r=t.sortable?"enable":"disable";u&&u[r]();f&&f[r]();i.showBy(n)},onMenuHide:function(n){n.activeHeader.setMenuActive(!1)},moveHeader:function(n,t){this.tempLock();this.onHeaderMoved(this.move(n,t),1,n,t)},purgeCache:function(){var n=this,t=n.menu;n.gridDataColumns=n.hideableColumns=null;n.columnManager&&n.columnManager.invalidate();t&&t.hidden&&(t.hide(),t.destroy(),n.menu=null)},onHeaderMoved:function(n,t,i,r){var u=this,f=u.ownerCt;if(f&&f.onHeaderMove)f.onHeaderMove(u,n,t,i,r);u.fireEvent("columnmove",u,n,i,r)},getMenu:function(){var n=this;return n.menu||(n.menu=new Ext.menu.Menu({hideOnParentHide:!1,items:n.getMenuItems(),listeners:{hide:n.onMenuHide,scope:n}}),n.fireEvent("menucreate",n,n.menu)),n.updateMenuDisabledState(n.menu),n.menu},getMenuItems:function(){var n=this,t=[],i=n.enableColumnHide?n.getColumnMenu(n):null;return n.sortable&&(t=[{itemId:"ascItem",text:n.sortAscText,cls:n.menuSortAscCls,handler:n.onSortAscClick,scope:n},{itemId:"descItem",text:n.sortDescText,cls:n.menuSortDescCls,handler:n.onSortDescClick,scope:n}]),i&&i.length&&(n.sortable&&t.push("-"),t.push({itemId:"columnItem",text:n.columnsText,cls:n.menuColsIcon,menu:i,hideOnClick:!1})),t},onSortAscClick:function(){var n=this.getMenu(),t=n.activeHeader;t.setSortState("ASC")},onSortDescClick:function(){var n=this.getMenu(),t=n.activeHeader;t.setSortState("DESC")},getColumnMenu:function(n){for(var u=[],r=0,t,f=n.query(">gridcolumn[hideable]"),e=f.length,i;r<e;r++){t=f[r];i=new Ext.menu.CheckItem({text:t.menuText||t.text,checked:!t.hidden,hideOnClick:!1,headerId:t.id,menu:t.isGroupHeader?this.getColumnMenu(t):undefined,checkHandler:this.onColumnCheckChange,scope:this});u.push(i);t.on({destroy:Ext.Function.bind(i.destroy,i)})}return u},onColumnCheckChange:function(n,t){var i=Ext.getCmp(n.headerId);i[t?"show":"hide"]()},getColumnCount:function(){return this.getGridColumns().length},getFullWidth:function(){for(var i=0,r=this.getVisibleGridColumns(),u=r.length,t=0,n;t<u;t++)n=r[t],i+=n.getDesiredWidth?n.getDesiredWidth()||0:n.getWidth();return i},clearOtherSortStates:function(n){for(var i=this.getGridColumns(),r=i.length,t=0;t<r;t++)i[t]!==n&&i[t].setSortState(null,!0)},getVisibleGridColumns:function(){for(var t=this.getGridColumns(),i=[],r=t.length,n=0;n<r;n++)t[n].hidden||(i[i.length]=t[n]);return i},getGridColumns:function(n,t){if(!n&&this.gridDataColumns)return this.gridDataColumns;var e=this,u=n||[],s,r,f,i,o;if(t=t||e.hidden,e.items)for(s=e.items.items,r=0,f=s.length;r<f;r++)i=s[r],i.isGroupHeader?i.getGridColumns(u,t):(i.hiddenAncestor=t,u.push(i));if(n||(e.gridDataColumns=u),!n&&f){for(r=0,f=u.length;r<f;r++)i=u[r],i.isFirstVisible=i.isLastVisible=!1,i.hidden||i.hiddenAncestor||(o||(i.isFirstVisible=!0),o=i);o&&(o.isLastVisible=!0)}return u},getHideableColumns:function(){var n=this,t=n.hideableColumns;return t||(t=n.hideableColumns=n.query("[hideable]")),t},getHeaderIndex:function(n){return this.columnManager.getHeaderIndex(n)},getHeaderAtIndex:function(n){return this.columnManager.getHeaderAtIndex(n)},getVisibleHeaderClosestToIndex:function(n){return this.columnManager.getVisibleHeaderClosestToIndex(n)},autoSizeColumn:function(n){var t=this.view;t&&t.autoSizeColumn(n)}},0,["headercontainer"],["component","container","box","headercontainer"],{component:!0,container:!0,box:!0,headercontainer:!0},["widget.headercontainer"],0,[Ext.grid.header,"Container"],0);Ext.cmd.derive("Ext.grid.column.Column",Ext.grid.header.Container,{alternateClassName:"Ext.grid.Column",baseCls:Ext.baseCSSPrefix+"column-header",hoverCls:Ext.baseCSSPrefix+"column-header-over",handleWidth:4,sortState:null,possibleSortStates:["ASC","DESC"],childEls:["titleEl","triggerEl","textEl"],noWrap:!0,renderTpl:'<div id="{id}-titleEl" {tipMarkup}class="'+Ext.baseCSSPrefix+'column-header-inner"><span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'column-header-text{childElCls}">{text}<\/span><tpl if="!menuDisabled"><div id="{id}-triggerEl" class="'+Ext.baseCSSPrefix+'column-header-trigger{childElCls}"><\/div><\/tpl><\/div>{%this.renderContainer(out,values)%}',dataIndex:null,text:"&#160;",menuText:null,emptyCellText:"&#160;",sortable:!0,resizable:!0,hideable:!0,menuDisabled:!1,renderer:!1,editRenderer:!1,align:"left",draggable:!0,tooltipType:"qtip",initDraggable:Ext.emptyFn,tdCls:"",isHeader:!0,isColumn:!0,ascSortCls:Ext.baseCSSPrefix+"column-header-sort-ASC",descSortCls:Ext.baseCSSPrefix+"column-header-sort-DESC",componentLayout:"columncomponent",groupSubHeaderCls:Ext.baseCSSPrefix+"group-sub-header",groupHeaderCls:Ext.baseCSSPrefix+"group-header",clickTargetName:"titleEl",detachOnRemove:!0,initResizable:Ext.emptyFn,initComponent:function(){var n=this,t,i;n.header!=null&&(n.text=n.header,n.header=null);n.triStateSort||(n.possibleSortStates.length=2);n.columns!=null?(n.isGroupHeader=!0,n.items=n.columns,n.columns=n.flex=n.width=null,n.cls=(n.cls||"")+" "+n.groupHeaderCls,n.sortable=n.resizable=!1,n.align="center"):n.flex&&(n.minWidth=n.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth);n.addCls(Ext.baseCSSPrefix+"column-header-align-"+n.align);t=n.renderer;t?(typeof t=="string"&&(n.renderer=Ext.util.Format[t]),n.hasCustomRenderer=!0):n.defaultRenderer&&(n.scope=n,n.renderer=n.defaultRenderer);n.callParent(arguments);i={element:n.clickTargetName,click:n.onTitleElClick,contextmenu:n.onTitleElContextMenu,mouseenter:n.onTitleMouseOver,mouseleave:n.onTitleMouseOut,scope:n};n.resizable&&(i.dblclick=n.onTitleElDblClick);n.on(i)},onAdd:function(n){n.isColumn&&(n.isSubHeader=!0,n.addCls(this.groupSubHeaderCls));this.hidden&&n.hide();this.callParent(arguments)},onRemove:function(n){n.isSubHeader&&(n.isSubHeader=!1,n.removeCls(this.groupSubHeaderCls));this.callParent(arguments)},initRenderData:function(){var n=this,t="",i=n.tooltip,r=n.tooltipType=="qtip"?"data-qtip":"title";return Ext.isEmpty(i)||(t=r+'="'+i+'" '),Ext.applyIf(n.callParent(arguments),{text:n.text,menuDisabled:n.menuDisabled,tipMarkup:t})},applyColumnState:function(n){var t=this;t.applyColumnsState(n.columns);n.hidden!=null&&(t.hidden=n.hidden);n.locked!=null&&(t.locked=n.locked);n.sortable!=null&&(t.sortable=n.sortable);n.width!=null?(t.flex=null,t.width=n.width):n.flex!=null&&(t.width=null,t.flex=n.flex)},getColumnState:function(){var n=this,r=n.items.items,f=r?r.length:0,i,u=[],t={id:n.getStateId()};if(n.savePropsToState(["hidden","sortable","locked","flex","width"],t),n.isGroupHeader){for(i=0;i<f;i++)u.push(r[i].getColumnState());u.length&&(t.columns=u)}else n.isSubHeader&&n.ownerCt.hidden&&delete n.hidden;return"width"in t&&delete t.flex,t},getStateId:function(){return this.stateId||this.headerId},setText:function(n){this.text=n;this.rendered&&this.textEl.update(n)},getIndex:function(){return this.isGroupColumn?!1:this.getOwnerHeaderCt().getHeaderIndex(this)},getVisibleIndex:function(){return this.isGroupColumn?!1:Ext.Array.indexOf(this.getOwnerHeaderCt().getVisibleGridColumns(),this)},beforeRender:function(){var n=this,t=n.up("tablepanel");n.callParent();!t||n.sortable&&t.sortableColumns!==!1||n.groupable||n.lockable||t.enableColumnHide!==!1&&n.getOwnerHeaderCt().getHideableColumns().length||(n.menuDisabled=!0);n.protoEl.unselectable()},afterRender:function(){var n=this,t=n.triggerEl;n.callParent(arguments);Ext.isIE8&&Ext.isStrict||n.mon(n.getFocusEl(),{focus:n.onTitleMouseOver,blur:n.onTitleMouseOut,scope:n});t&&n.self.triggerElWidth===undefined&&(t.setStyle("display","block"),n.self.triggerElWidth=t.getWidth(),t.setStyle("display",""));n.keyNav=new Ext.util.KeyNav(n.el,{enter:n.onEnterKey,down:n.onDownKey,scope:n})},afterComponentLayout:function(n,t,i){var r=this,u=r.getOwnerHeaderCt();if(r.callParent(arguments),u&&(i!=null||r.flex)&&n!==i)u.onHeaderResize(r,n,!0)},onDestroy:function(){var n=this;Ext.destroy(n.textEl,n.keyNav,n.field);n.keyNav=null;n.callParent(arguments)},onTitleMouseOver:function(){this.titleEl.addCls(this.hoverCls)},onTitleMouseOut:function(){this.titleEl.removeCls(this.hoverCls)},onDownKey:function(n){if(this.triggerEl)this.onTitleElClick(n,this.triggerEl.dom||this.el.dom)},onEnterKey:function(n){this.onTitleElClick(n,this.el.dom)},onTitleElDblClick:function(n){var t=this,i,r;if(t.isOnLeftEdge(n))i=t.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])"),i&&i.getOwnerHeaderCt()===t.getOwnerHeaderCt()&&i.autoSize();else if(t.isOnRightEdge(n)){if(t.isGroupHeader&&n.getPoint().isContainedBy(t.layout.innerCt)){r=t.query("gridcolumn:not([hidden]):not([isGroupHeader])");this.getOwnerHeaderCt().autoSizeColumn(r[r.length-1]);return}t.autoSize()}},autoSize:function(){var i=this,t,r,n,u;if(i.isGroupHeader){for(t=i.query("gridcolumn:not([hidden]):not([isGroupHeader])"),r=t.length,u=this.getOwnerHeaderCt(),Ext.suspendLayouts(),n=0;n<r;n++)u.autoSizeColumn(t[n]);Ext.resumeLayouts(!0);return}this.getOwnerHeaderCt().autoSizeColumn(this)},onTitleElClick:function(n,t){var i=this,r=i.getOwnerHeaderCt();if(r&&!r.ddLock)if(i.triggerEl&&(n.target===i.triggerEl.dom||t===i.triggerEl.dom||n.within(i.triggerEl)))r.onHeaderTriggerClick(i,n,t);else if(n.getKey()||!i.isOnLeftEdge(n)&&!i.isOnRightEdge(n)){i.toggleSortState();r.onHeaderClick(i,n,t)}},onTitleElContextMenu:function(n,t){var r=this,i=r.getOwnerHeaderCt();if(i&&!i.ddLock)i.onHeaderContextMenu(r,n,t)},processEvent:function(){return this.fireEvent.apply(this,arguments)},toggleSortState:function(){var n=this,t,i;n.sortable&&(t=Ext.Array.indexOf(n.possibleSortStates,n.sortState),i=(t+1)%n.possibleSortStates.length,n.setSortState(n.possibleSortStates[i]))},doSort:function(n){var t=this.up("tablepanel"),i=t.store;t.ownerLockable&&i.isNodeStore&&(i=t.ownerLockable.lockedGrid.store);i.sort({property:this.getSortParam(),direction:n})},getSortParam:function(){return this.dataIndex},setSortState:function(n,t,i){var r=this,f=r.ascSortCls,e=r.descSortCls,u=r.getOwnerHeaderCt(),o=r.sortState;if(n=n||null,!r.sorting&&o!==n&&r.getSortParam()!=null){n&&!i&&(r.sorting=!0,r.doSort(n),r.sorting=!1);switch(n){case"DESC":r.addCls(e);r.removeCls(f);break;case"ASC":r.addCls(f);r.removeCls(e);break;default:r.removeCls([f,e])}!u||r.triStateSort||t||u.clearOtherSortStates(r);r.sortState=n;(r.triStateSort||n!=null)&&u.fireEvent("sortchange",u,r,n)}},isHideable:function(){var n={hideCandidate:this,result:this.hideable};return n.result&&this.ownerCt.bubble(this.hasOtherMenuEnabledChildren,null,[n]),n.result},hasOtherMenuEnabledChildren:function(n){var t,i;if(!this.isXType("headercontainer"))return n.result=!1,!1;if(t=this.query(">:not([hidden]):not([menuDisabled])"),i=t.length,Ext.Array.contains(t,n.hideCandidate)&&i--,i)return!1;n.hideCandidate=this},isLockable:function(){var n={result:this.lockable!==!1};return n.result&&this.ownerCt.bubble(this.hasMultipleVisibleChildren,null,[n]),n.result},isLocked:function(){return this.locked||!!this.up("[isColumn][locked]","[isRootHeader]")},hasMultipleVisibleChildren:function(n){return this.isXType("headercontainer")?this.query(">:not([hidden])").length>1?!1:void 0:(n.result=!1,!1)},hide:function(n){var t=this,r=t.getOwnerHeaderCt(),e=t.ownerCt,o,f,i,s,u;if(!t.isVisible())return t;if(!r)return t.callParent(),t;if(r.forceFit&&(t.visibleSiblingCount=r.getVisibleGridColumns().length-1,t.flex&&(t.savedWidth=t.getWidth(),t.flex=null)),o=e.isGroupHeader,o&&!n&&(i=e.query(">:not([hidden])"),i.length===1&&i[0]==t)){t.ownerCt.hide();return}if(Ext.suspendLayouts(),t.isGroupHeader)for(i=t.items.items,u=0,s=i.length;u<s;u++)f=i[u],f.hidden||f.hide(!0);t.callParent();r.onHeaderHide(t);return Ext.resumeLayouts(!0),t},show:function(n,t){var i=this,o=i.getOwnerHeaderCt(),s=i.ownerCt,f,e,r,u,h,l,a,v,c=Ext.grid.header.Container.prototype.defaultWidth;if(i.isVisible())return i;if(!i.rendered){i.hidden=!1;return}if(l=o.el.getViewSize().width-(o.view.el.dom.scrollHeight>o.view.el.dom.clientHeight?Ext.getScrollbarSize().width:0),o.forceFit)if(f=Ext.ComponentQuery.query(":not([flex])",o.getVisibleGridColumns()),f.length)i.width=i.savedWidth||i.width||c;else{for(f=o.getVisibleGridColumns(),e=f.length,v=i.visibleSiblingCount,h=i.savedWidth||i.width||c,h=Math.min(h*(v/e),c,Math.max(l-e*c,c)),i.width=null,i.flex=h,l-=h,a=0,r=0;r<e;r++)u=f[r],u.flex=u.width||u.getWidth(),a+=u.flex,u.width=null;for(r=0;r<e;r++)u=f[r],u.flex=u.flex/a*l}if(Ext.suspendLayouts(),i.isSubHeader&&s.hidden&&s.show(!1,!0),i.callParent(arguments),i.isGroupHeader&&t!==!0&&!i.query(":not([hidden])").length)for(f=i.items.items,r=0,e=f.length;r<e;r++)u=f[r],u.hidden&&u.show(!0);if(Ext.resumeLayouts(!0),s=i.getOwnerHeaderCt(),s)s.onHeaderShow(i)},getDesiredWidth:function(){var n=this;return n.rendered&&n.componentLayout&&n.componentLayout.lastComponentSize?n.componentLayout.lastComponentSize.width:n.flex?n.width:n.width},getCellSelector:function(){return"."+Ext.baseCSSPrefix+"grid-cell-"+this.getItemId()},getCellInnerSelector:function(){return this.getCellSelector()+" ."+Ext.baseCSSPrefix+"grid-cell-inner"},isOnLeftEdge:function(n){return n.getXY()[0]-this.getX()<=this.handleWidth},isOnRightEdge:function(n){return this.getX()+this.getWidth()-n.getXY()[0]<=this.handleWidth},setMenuActive:function(n){this.titleEl[n?"addCls":"removeCls"](this.headerOpenCls)}},0,["gridcolumn"],["component","gridcolumn","container","box","headercontainer"],{component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0},["widget.gridcolumn"],0,[Ext.grid.column,"Column",Ext.grid,"Column"],0);Ext.cmd.derive("Ext.grid.column.Action",Ext.grid.column.Column,{alternateClassName:"Ext.grid.ActionColumn",actionIdRe:new RegExp(Ext.baseCSSPrefix+"action-col-(\\d+)"),altText:"",menuText:"<i>Actions<\/i>",sortable:!1,innerCls:Ext.baseCSSPrefix+"grid-cell-inner-action-col",constructor:function(n){var t=this,i=Ext.apply({},n),u=i.items||t.items||[t],f,r,e;for(t.origRenderer=i.renderer||t.renderer,t.origScope=i.scope||t.scope,t.renderer=t.scope=i.renderer=i.scope=null,i.items=null,t.callParent([i]),t.items=u,r=0,e=u.length;r<e;++r)if(u[r].getClass){f=!0;break}(t.origRenderer||f)&&(t.hasCustomRenderer=!0)},defaultRenderer:function(n,t,i,r,u,f,e){var s=this,l=Ext.baseCSSPrefix,c=s.origScope||s,p=s.items,w=p.length,h=0,o,a,v,y;for(a=Ext.isFunction(s.origRenderer)?s.origRenderer.apply(c,arguments)||"":"",t.tdCls+=" "+Ext.baseCSSPrefix+"action-col-cell";h<w;h++)o=p[h],v=o.disabled||(o.isDisabled?o.isDisabled.call(o.scope||c,e,r,u,o,i):!1),y=v?null:o.tooltip||(o.getTip?o.getTip.apply(o.scope||c,arguments):null),o.hasActionConfiguration||(o.stopSelection=s.stopSelection,o.disable=Ext.Function.bind(s.disableAction,s,[h],0),o.enable=Ext.Function.bind(s.enableAction,s,[h],0),o.hasActionConfiguration=!0),a+='<img role="button" alt="'+(o.altText||s.altText)+'" src="'+(o.icon||Ext.BLANK_IMAGE_URL)+'" class="'+l+"action-col-icon "+l+"action-col-"+String(h)+" "+(v?l+"item-disabled":" ")+" "+(Ext.isFunction(o.getClass)?o.getClass.apply(o.scope||c,arguments):o.iconCls||s.iconCls||"")+'"'+(y?' data-qtip="'+y+'"':"")+" />";return a},enableAction:function(n,t){var i=this;n?Ext.isNumber(n)||(n=Ext.Array.indexOf(i.items,n)):n=0;i.items[n].disabled=!1;i.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+n).removeCls(i.disabledCls);t||i.fireEvent("enable",i)},disableAction:function(n,t){var i=this;n?Ext.isNumber(n)||(n=Ext.Array.indexOf(i.items,n)):n=0;i.items[n].disabled=!0;i.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+n).addCls(i.disabledCls);t||i.fireEvent("disable",i)},destroy:function(){return delete this.items,delete this.renderer,this.callParent(arguments)},processEvent:function(n,t,i,r,u,f,e,o){var h=this,c=f.getTarget(),v,s,l,a=n=="keydown"&&f.getKey(),y;if(a&&!Ext.fly(c).findParent(t.getCellSelector())&&(c=Ext.fly(i).down("."+Ext.baseCSSPrefix+"action-col-icon",!0)),c&&(v=c.className.match(h.actionIdRe))&&(s=h.items[parseInt(v[1],10)],y=s.disabled||(s.isDisabled?s.isDisabled.call(s.scope||h.origScope||h,t,r,u,s,e):!1),s&&!y))if(n=="click"||a==f.ENTER||a==f.SPACE)l=s.handler||h.handler,l&&l.call(s.scope||h.origScope||h,t,r,u,s,f,e,o);else if(n=="mousedown"&&s.stopSelection!==!1)return!1;return h.callParent(arguments)},cascade:function(n,t){n.call(t||this,this)},getRefItems:function(){return[]}},1,["actioncolumn"],["component","gridcolumn","container","actioncolumn","box","headercontainer"],{component:!0,gridcolumn:!0,container:!0,actioncolumn:!0,box:!0,headercontainer:!0},["widget.actioncolumn"],0,[Ext.grid.column,"Action",Ext.grid,"ActionColumn"],0);Ext.cmd.derive("Ext.grid.column.Boolean",Ext.grid.column.Column,{alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:"&#160;",defaultRenderer:function(n){return n===undefined?this.undefinedText:!n||n==="false"?this.falseText:this.trueText}},0,["booleancolumn"],["booleancolumn","component","gridcolumn","container","box","headercontainer"],{booleancolumn:!0,component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0},["widget.booleancolumn"],0,[Ext.grid.column,"Boolean",Ext.grid,"BooleanColumn"],0);Ext.cmd.derive("Ext.grid.column.CheckColumn",Ext.grid.column.Column,{alternateClassName:"Ext.ux.CheckColumn",align:"center",stopSelection:!0,tdCls:Ext.baseCSSPrefix+"grid-cell-checkcolumn",innerCls:Ext.baseCSSPrefix+"grid-cell-inner-checkcolumn",clickTargetName:"el",constructor:function(){this.addEvents("beforecheckchange","checkchange");this.scope=this;this.callParent(arguments)},processEvent:function(n,t,i,r,u,f,e){var o=this,c=n==="keydown"&&f.getKey(),l=n=="mousedown",h,s;return!o.disabled&&(l||c==f.ENTER||c==f.SPACE)?(h=o.dataIndex,s=!e.get(h),o.fireEvent("beforecheckchange",o,r,s)!==!1?(e.set(h,s),o.fireEvent("checkchange",o,r,s),l&&f.stopEvent(),o.stopSelection||t.selModel.selectByPosition({row:r,column:u}),!1):!o.stopSelection):o.callParent(arguments)},onEnable:function(n){var t=this;t.callParent(arguments);t.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"grid-cell-"+t.id).removeCls(t.disabledCls);n||t.fireEvent("enable",t)},onDisable:function(n){var t=this;t.callParent(arguments);t.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"grid-cell-"+t.id).addCls(t.disabledCls);n||t.fireEvent("disable",t)},renderer:function(n,t){var i=Ext.baseCSSPrefix,r=[i+"grid-checkcolumn"];return this.disabled&&(t.tdCls+=" "+this.disabledCls),n&&r.push(i+"grid-checkcolumn-checked"),'<img class="'+r.join(" ")+'" src="'+Ext.BLANK_IMAGE_URL+'"/>'}},1,["checkcolumn"],["checkcolumn","component","gridcolumn","container","box","headercontainer"],{checkcolumn:!0,component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0},["widget.checkcolumn"],0,[Ext.grid.column,"CheckColumn",Ext.ux,"CheckColumn"],0);Ext.cmd.derive("Ext.grid.column.Date",Ext.grid.column.Column,{alternateClassName:"Ext.grid.DateColumn",initComponent:function(){this.format||(this.format=Ext.Date.defaultFormat);this.callParent(arguments)},defaultRenderer:function(n){return Ext.util.Format.date(n,this.format)}},0,["datecolumn"],["component","gridcolumn","container","datecolumn","box","headercontainer"],{component:!0,gridcolumn:!0,container:!0,datecolumn:!0,box:!0,headercontainer:!0},["widget.datecolumn"],0,[Ext.grid.column,"Date",Ext.grid,"DateColumn"],0);Ext.cmd.derive("Ext.grid.column.Number",Ext.grid.column.Column,{alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",defaultRenderer:function(n){return Ext.util.Format.number(n,this.format)}},0,["numbercolumn"],["component","gridcolumn","container","box","headercontainer","numbercolumn"],{component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0,numbercolumn:!0},["widget.numbercolumn"],0,[Ext.grid.column,"Number",Ext.grid,"NumberColumn"],0);Ext.cmd.derive("Ext.grid.column.RowNumberer",Ext.grid.column.Column,{alternateClassName:"Ext.grid.RowNumberer",text:"&#160",width:23,sortable:!1,draggable:!1,autoLock:!0,lockable:!1,align:"right",constructor:function(){var n=this;n.width=n.width;n.callParent(arguments);n.scope=n},resizable:!1,hideable:!1,menuDisabled:!0,dataIndex:"",cls:Ext.baseCSSPrefix+"row-numberer",tdCls:Ext.baseCSSPrefix+"grid-cell-row-numberer "+Ext.baseCSSPrefix+"grid-cell-special",innerCls:Ext.baseCSSPrefix+"grid-cell-inner-row-numberer",rowspan:undefined,renderer:function(n,t,i,r,u,f){var o=this.rowspan,s=f.currentPage,e=i.index;return o&&(t.tdAttr='rowspan="'+o+'"'),e==null&&(e=r,s>1&&(e+=(s-1)*f.pageSize)),e+1}},1,["rownumberer"],["rownumberer","component","gridcolumn","container","box","headercontainer"],{rownumberer:!0,component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0},["widget.rownumberer"],0,[Ext.grid.column,"RowNumberer",Ext.grid,"RowNumberer"],0);Ext.cmd.derive("Ext.grid.column.Template",Ext.grid.column.Column,{alternateClassName:"Ext.grid.TemplateColumn",initComponent:function(){var n=this;n.tpl=!Ext.isPrimitive(n.tpl)&&n.tpl.compile?n.tpl:new Ext.XTemplate(n.tpl);n.hasCustomRenderer=!0;n.callParent(arguments)},defaultRenderer:function(n,t,i){var r=Ext.apply({},i.data,i.getAssociatedData());return this.tpl.apply(r)}},0,["templatecolumn"],["templatecolumn","component","gridcolumn","container","box","headercontainer"],{templatecolumn:!0,component:!0,gridcolumn:!0,container:!0,box:!0,headercontainer:!0},["widget.templatecolumn"],0,[Ext.grid.column,"Template",Ext.grid,"TemplateColumn"],0);Ext.cmd.derive("Ext.grid.feature.Feature",Ext.util.Observable,{wrapsItem:!1,isFeature:!0,disabled:!1,hasFeatureEvent:!0,eventPrefix:null,eventSelector:null,view:null,grid:null,constructor:function(n){this.initialConfig=n;this.callParent(arguments)},clone:function(){return new this.self(this.initialConfig)},init:Ext.emptyFn,destroy:function(){this.clearListeners()},getFireEventArgs:function(n,t,i,r){return[n,t,i,r]},vetoEvent:Ext.emptyFn,enable:function(){this.disabled=!1},disable:function(){this.disabled=!0}},1,0,0,0,["feature.feature"],0,[Ext.grid.feature,"Feature"],0);Ext.cmd.derive("Ext.grid.feature.AbstractSummary",Ext.grid.feature.Feature,{summaryRowCls:Ext.baseCSSPrefix+"grid-row-summary",summaryTableCls:Ext.plainTableCls+" "+Ext.baseCSSPrefix+"grid-table",summaryRowSelector:"."+Ext.baseCSSPrefix+"grid-row-summary",summaryRowTpl:{before:function(n,t){if(n.record.isSummary)return this.summaryFeature.outputSummaryRecord(n.record,n,t),!1},priority:1e3},showSummaryRow:!0,init:function(){var n=this;n.view.summaryFeature=n;n.rowTpl=n.view.self.prototype.rowTpl;n.view.addRowTpl(n.summaryRowTpl).summaryFeature=n},toggleSummaryRow:function(n){this.showSummaryRow=!!n},outputSummaryRecord:function(n,t,i){for(var f=t.view,h=f.rowValues,e=t.columns||f.headerCt.getVisibleGridColumns(),o=e.length,r,s={view:f,record:n,rowStyle:"",rowClasses:[this.summaryRowCls],itemClasses:[],recordIndex:-1,rowId:f.getRowId(n),columns:e},u=0;u<o;u++)r=e[u],r.savedRenderer=r.renderer,r.summaryRenderer?r.renderer=r.summaryRenderer:r.summaryType||(r.renderer=Ext.emptyFn),r.dataIndex||(r.dataIndex=r.id);for(f.rowValues=s,f.self.prototype.rowTpl.applyOut(s,i),f.rowValues=h,u=0;u<o;u++)r=e[u],r.renderer=r.savedRenderer,r.savedRenderer=null},getSummary:function(n,t,i,r){var u=r.records;if(t){if(Ext.isFunction(t))return n.getAggregate(t,null,u,[i]);switch(t){case"count":return u.length;case"min":return n.getMin(u,i);case"max":return n.getMax(u,i);case"sum":return n.getSum(u,i);case"average":return n.getAverage(u,i);default:return""}}},generateSummaryData:function(){var t=this,c=t.view.store,l=c.groups.items,n=c.proxy.reader,f=l.length,y=t.getGroupField(),a={},p=t.lockingPartner,i,r,e,v,o,s,u,h;if(t.remoteRoot&&n.rawData){for(s=!0,h={},v=n.root,n.root=t.remoteRoot,n.buildExtractors(!0),o=n.getRoot(n.rawData)||[],f=o.length,n.convertRecordData||n.buildExtractors(),i=0;i<f;++i)u={},n.convertRecordData(u,o[i]),h[u[y]]=u;n.root=v;n.buildExtractors(!0)}for(i=0;i<f;++i)r=l[i],s||r.isDirty()||!r.hasAggregate()?(e=s?t.populateRemoteRecord(r,h):t.populateRecord(r),p&&t.view.ownerCt!==t.view.ownerCt.ownerLockable.normalGrid||r.commit()):e=r.getAggregateRecord(),a[r.key]=e;return a},populateRemoteRecord:function(n,t){var i=n.getAggregateRecord(!0),u=t[n.key],r;i.beginEdit();for(r in u)u.hasOwnProperty(r)&&r!==i.idProperty&&i.set(r,u[r]);return i.endEdit(!0),i.commit(!0),i},populateRecord:function(n){var t=this,o=t.grid.ownerLockable?t.grid.ownerLockable.view:t.view,s=t.view.store,i=n.getAggregateRecord(),e=o.headerCt.getGridColumns(),h=e.length,r,u,f;for(i.beginEdit(),r=0;r<h;++r)u=e[r],f=u.dataIndex||u.id,i.set(f,t.getSummary(s,u.summaryType,f,n));return i.endEdit(!0),i.commit(),i}},0,0,0,0,["feature.abstractsummary"],0,[Ext.grid.feature,"AbstractSummary"],0);Ext.cmd.derive("Ext.grid.feature.GroupStore",Ext.util.Observable,{isStore:!0,constructor:function(n,t){var i=this;i.superclass.constructor.apply(i,arguments);i.groupingFeature=n;i.bindStore(t);i.processStore(t);i.view.dataSource=i},bindStore:function(n){var t=this;t.store&&(Ext.destroy(t.storeListeners),t.store=null);n&&(t.storeListeners=n.on({bulkremove:t.onBulkRemove,add:t.onAdd,update:t.onUpdate,refresh:t.onRefresh,clear:t.onClear,scope:t,destroyable:!0}),t.store=n)},processStore:function(n){var i=this,e=n.getGroups(),s=e.length,f,t,r,u=i.data,o=i.groupingFeature.groupCache,h=i.groupingFeature.clearGroupCache(),c=i.groupingFeature.startCollapsed;if(u?u.clear():u=i.data=new Ext.util.MixedCollection(!1,Ext.data.Store.recordIdFn),n.getCount())for(i.groupingFeature.startCollapsed=!1,f=0;f<s;f++)t=e[f],h[t.name]=t,t.isCollapsed=c||o[t.name]&&o[t.name].isCollapsed,t.isCollapsed?(t.placeholder=r=new n.model(null,"group-"+t.name+"-placeholder"),r.set(i.getGroupField(),t.name),r.rows=r.children=t.children,r.isCollapsedPlaceholder=!0,u.add(r)):u.insert(i.data.length,t.children)},isCollapsed:function(n){return this.groupingFeature.groupCache[n].isCollapsed},isInCollapsedGroup:function(n){var t;return this.store.isGrouped()&&(t=this.groupingFeature.groupCache[n.get(this.getGroupField())])?t.isCollapsed||!1:!1},getCount:function(){return this.data.getCount()},getTotalCount:function(){return this.data.getCount()},rangeCached:function(n,t){return t<this.getCount()},getRange:function(n,t,i){var r=this.data.getRange(n,t);return i&&i.callback&&i.callback.call(i.scope||this,r,n,t,i),r},getAt:function(n){return this.getRange(n,n)[0]},getById:function(n){return this.store.getById(n)},expandGroup:function(n){var t=this,i;typeof n=="string"&&(n=t.groupingFeature.groupCache[n]);n&&n.children.length&&(i=t.indexOf(n.children[0],!0,!0))!==-1&&(n.isCollapsed=!1,t.isExpandingOrCollapsing=1,t.data.removeAt(i),t.fireEvent("bulkremove",t,[t.getGroupPlaceholder(n)],[i]),t.data.insert(i,n.children),t.fireEvent("add",t,n.children,i),t.fireEvent("groupexpand",t,n),t.isExpandingOrCollapsing=0)},collapseGroup:function(n){var t=this,i,o,r,f,u,e;if(typeof n=="string"&&(n=t.groupingFeature.groupCache[n]),n&&(u=n.children.length)&&(i=t.indexOf(n.children[0],!0))!==-1){for(n.isCollapsed=!0,t.isExpandingOrCollapsing=2,t.data.removeRange(i,u),e=new Array(u),r=0,f=i;r<u;r++,f++)e[r]=f;t.fireEvent("bulkremove",t,n.children,e);t.data.insert(i,o=t.getGroupPlaceholder(n));t.fireEvent("add",t,[o],i);t.fireEvent("groupcollapse",t,n);t.isExpandingOrCollapsing=0}},getGroupPlaceholder:function(n){if(!n.placeholder){var t=n.placeholder=new this.store.model(null,"group-"+n.name+"-placeholder");t.set(this.getGroupField(),n.name);t.rows=t.children=n.children;t.isCollapsedPlaceholder=!0}return n.placeholder},indexOf:function(n,t,i){var f=this,e,o,u,r,s,h=0;if(n&&(i||!f.isInCollapsedGroup(n)))for(e=f.store.getGroups(),o=e.length,u=0;u<o;u++){if(r=e[u],r.name===this.store.getGroupString(n))return s=Ext.Array.indexOf(r.children,n),h+s;h+=t&&f.isCollapsed(r.name)?1:r.children.length}return-1},indexOfTotal:function(n){var t=n.index;return t||t===0?t:this.istore.ndexOf(n)},onRefresh:function(){this.processStore(this.store);this.fireEvent("refresh",this)},onBulkRemove:function(){this.processStore(this.store);this.fireEvent("refresh",this)},onClear:function(){this.processStore(this.store);this.fireEvent("clear",this)},onAdd:function(){this.processStore(this.store);this.fireEvent("refresh",this)},onUpdate:function(n,t,i,r){var u=this,f=u.groupingFeature.getRecordGroup(t),e,o;if(n.isGrouped()){if(r&&Ext.Array.contains(r,u.groupingFeature.getGroupField()))return u.onRefresh(u.store);f.isCollapsed?u.fireEvent("update",u,f.placeholder):(Ext.suspendLayouts(),u.fireEvent("update",u,t,i,r),e=f.children[0],o=f.children[f.children.length-1],e!==t&&u.fireEvent("update",u,e,"edit"),o!==t&&o!==e&&u.fireEvent("update",u,o,"edit"),Ext.resumeLayouts(!0))}else u.fireEvent("update",u,t,i,r)}},1,0,0,0,0,0,[Ext.grid.feature,"GroupStore"],0);Ext.cmd.derive("Ext.grid.feature.Grouping",Ext.grid.feature.Feature,{eventPrefix:"group",groupCls:Ext.baseCSSPrefix+"grid-group-hd",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",refreshData:{},groupInfo:{},wrapsItem:!0,groupHeaderTpl:"{columnName}: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",hdNotCollapsibleCls:Ext.baseCSSPrefix+"grid-group-hd-not-collapsible",collapsibleCls:Ext.baseCSSPrefix+"grid-group-hd-collapsible",ctCls:Ext.baseCSSPrefix+"group-hd-container",groupByText:"Group by this field",showGroupsText:"Show in groups",hideGroupedHeader:!1,startCollapsed:!1,enableGroupingMenu:!0,enableNoGroups:!0,collapsible:!0,expandTip:"Click to expand. CTRL key collapses all others",collapseTip:"Click to collapse. CTRL/click collapses all others",showSummaryRow:!1,tableTpl:{before:function(n){this.groupingFeature.disabled||n.rows.length===1&&n.rows[0].isSummary||this.groupingFeature.setup(n.rows,n.view.rowValues)},after:function(n){this.groupingFeature.disabled||n.rows.length===1&&n.rows[0].isSummary||this.groupingFeature.cleanup(n.rows,n.view.rowValues)},priority:200},groupTpl:["{%","var me = this.groupingFeature;","if (me.disabled) {","values.needsWrap = false;","} else {","me.setupRowData(values.record, values.recordIndex, values);","values.needsWrap = !me.disabled && (values.isFirstRow || values.summaryRecord);","}","%}",'<tpl if="needsWrap">','<tr data-boundView="{view.id}" data-recordId="{record.internalId}" data-recordIndex="{[values.isCollapsedGroup ? -1 : values.recordIndex]}"','class="{[values.itemClasses.join(" ")]} '+Ext.baseCSSPrefix+'grid-wrap-row<tpl if="!summaryRecord"> '+Ext.baseCSSPrefix+'grid-group-row<\/tpl>">','<td class="'+Ext.baseCSSPrefix+'group-hd-container" colspan="{columns.length}">','<tpl if="isFirstRow">',"{%",'var groupTitleStyle = (!values.view.lockingPartner || (values.view.ownerCt === values.view.ownerCt.ownerLockable.lockedGrid) || (values.view.lockingPartner.headerCt.getVisibleGridColumns().length === 0)) ? "" : "visibility:hidden";',"%}",'<div id="{groupId}" class="'+Ext.baseCSSPrefix+'grid-group-hd {collapsibleCls}" tabIndex="0">','<div class="'+Ext.baseCSSPrefix+'grid-group-title" style="{[groupTitleStyle]}">','{[values.groupHeaderTpl.apply(values.groupInfo, parent) || "&#160;"]}',"<\/div>","<\/div>","<\/tpl>",'<tpl if="summaryRecord || !isCollapsedGroup">','<table class="',Ext.baseCSSPrefix,"{view.id}-table ",Ext.baseCSSPrefix,"grid-table",'<tpl if="summaryRecord"> ',Ext.baseCSSPrefix,'grid-table-summary<\/tpl>"','border="0" cellspacing="0" cellpadding="0" style="width:100%">',"{[values.view.renderColumnSizer(out)]}",'<tpl if="!isCollapsedGroup">',"{%","values.itemClasses.length = 0;","this.nextTpl.applyOut(values, out, parent);","%}","<\/tpl>",'<tpl if="summaryRecord">',"{%me.outputSummaryRecord(values.summaryRecord, values, out);%}","<\/tpl>","<\/table>","<\/tpl>","<\/td>","<\/tr>","<tpl else>","{%this.nextTpl.applyOut(values, out, parent);%}","<\/tpl>",{priority:200,syncRowHeights:function(n,t){n=Ext.fly(n,"syncDest");t=Ext.fly(t,"sycSrc");var u=this.owner,f=n.down(u.eventSelector,!0),e,o=n.down(u.summaryRowSelector,!0),s,i,r;f&&(e=t.down(u.eventSelector,!0))&&(f.style.height=e.style.height="",(i=f.offsetHeight)>(r=e.offsetHeight)?Ext.fly(e).setHeight(i):r>i&&Ext.fly(f).setHeight(r));o&&(s=t.down(u.summaryRowSelector,!0))&&(o.style.height=s.style.height="",(i=o.offsetHeight)>(r=s.offsetHeight)?Ext.fly(s).setHeight(i):r>i&&Ext.fly(o).setHeight(r))},syncContent:function(n,t){n=Ext.fly(n,"syncDest");t=Ext.fly(t,"sycSrc");var i=this.owner,r=n.down(i.eventSelector,!0),u=t.down(i.eventSelector,!0),f=n.down(i.summaryRowSelector,!0),e=t.down(i.summaryRowSelector,!0);r&&u&&Ext.fly(r).syncContent(u);f&&e&&Ext.fly(f).syncContent(e)}}],constructor:function(){this.groupCache={};this.callParent(arguments)},init:function(){var n=this,t=n.view;t.isGrouping=!0;n.lockingPartner&&n.lockingPartner.groupCache&&(n.groupCache=n.lockingPartner.groupCache);n.mixins.summary.init.call(n);n.callParent(arguments);t.headerCt.on({columnhide:n.onColumnHideShow,columnshow:n.onColumnHideShow,columnmove:n.onColumnMove,scope:n});t.addTableTpl(n.tableTpl).groupingFeature=n;t.addRowTpl(Ext.XTemplate.getTpl(n,"groupTpl")).groupingFeature=n;t.preserveScrollOnRefresh=!0;t.store.buffered?n.collapsible=!1:n.dataSource=this.lockingPartner&&this.lockingPartner.dataSource?t.dataSource=this.lockingPartner.dataSource:t.dataSource=new Ext.grid.feature.GroupStore(n,t.store);n.grid.on({reconfigure:n.onReconfigure});t.on({afterrender:n.afterViewRender,scope:n,single:!0})},clearGroupCache:function(){var n=this,t=n.groupCache={};return n.lockingPartner&&(n.lockingPartner.groupCache=t),t},vetoEvent:function(n,t,i,r){if(r.type!=="mouseover"&&r.type!=="mouseout"&&r.type!=="mouseenter"&&r.type!=="mouseleave"&&r.getTarget(this.eventSelector))return!1},enable:function(){var n=this,i=n.view,r=i.store,t;n.lastGroupField=n.getGroupField();i.isGrouping=!0;n.lastGroupIndex&&(n.block(),r.group(n.lastGroupIndex),n.unblock());n.callParent();t=n.view.headerCt.getMenu().down("#groupToggleMenuItem");t&&t.setChecked(!0,!0);n.refreshIf()},disable:function(){var n=this,r=n.view,u=r.store,t,i;r.isGrouping=!1;i=u.groupers.first();i&&(n.lastGroupIndex=i.property,n.block(),u.clearGrouping(),n.unblock());n.callParent();t=n.view.headerCt.getMenu().down("#groupToggleMenuItem");t&&t.setChecked(!1,!0);n.refreshIf()},refreshIf:function(){var n=this.grid.ownerCt,t=this.view;t.store.remoteGroup||this.blockRefresh||(n&&n.lockable?n.view.refresh():t.refresh())},afterViewRender:function(){var n=this,t=n.view;t.on({scope:n,groupclick:n.onGroupClick});n.enableGroupingMenu&&n.injectGroupingMenu();n.pruneGroupedHeader();n.lastGroupField=n.getGroupField();n.block();n.onGroupChange();n.unblock()},injectGroupingMenu:function(){var n=this,t=n.view.headerCt;t.showMenuBy=n.showMenuBy;t.getMenuItems=n.getMenuItems()},onColumnHideShow:function(){var t=this.view,i=t.headerCt,e=i.getMenu(),r=e.down("#groupMenuItem"),o=i.getGridColumns().length,u,f,n;if(r&&(i.getVisibleGridColumns().length>1?r.enable():r.disable()),t.rendered)for(u=t.el.query("."+this.ctCls),n=0,f=u.length;n<f;++n)u[n].colSpan=o},onColumnMove:function(){var o=this,n=o.view.store,r,t,e,i,u,f;if(n.isGrouped())for(r=n.getGroups(),e=r.length,t=0;t<e;t++)i=r[t],u=i.children[0],f=i.children[i.children.length-1],n.fireEvent("update",n,u,"edit",null),f!==u&&n.fireEvent("update",n,f,"edit",null)},showMenuBy:function(n,t){var r=this.getMenu(),f=r.down("#groupMenuItem"),e=t.groupable===!1||this.view.headerCt.getVisibleGridColumns().length<2?"disable":"enable",i=r.down("#groupToggleMenuItem"),u=this.view.store.isGrouped();f[e]();i&&(i.setChecked(u,!0),i[u?"enable":"disable"]());Ext.grid.header.Container.prototype.showMenuBy.apply(this,arguments)},getMenuItems:function(){var n=this,t=n.groupByText,i=n.disabled||!n.getGroupField(),r=n.showGroupsText,u=n.enableNoGroups,f=n.view.headerCt.getMenuItems;return function(){var e=f.call(this);return e.push("-",{iconCls:Ext.baseCSSPrefix+"group-by-icon",itemId:"groupMenuItem",text:t,handler:n.onGroupMenuItemClick,scope:n}),u&&e.push({itemId:"groupToggleMenuItem",text:r,checked:!i,checkHandler:n.onGroupToggleMenuItemClick,scope:n}),e}},onGroupMenuItemClick:function(n){var t=this,i=n.parentMenu,r=i.activeHeader,u=t.view,f=u.store;t.lastGroupIndex=null;t.block();t.enable();f.group(r.dataIndex);t.pruneGroupedHeader();t.unblock();t.refreshIf()},block:function(n){this.blockRefresh=this.view.blockRefresh=!0;this.lockingPartner&&!n&&this.lockingPartner.block(!0)},unblock:function(n){this.blockRefresh=this.view.blockRefresh=!1;this.lockingPartner&&!n&&this.lockingPartner.unblock(!0)},onGroupToggleMenuItemClick:function(n,t){this[t?"enable":"disable"]()},pruneGroupedHeader:function(){var n=this,t=n.getGroupedHeader();n.hideGroupedHeader&&t&&(Ext.suspendLayouts(),n.prunedHeader&&n.prunedHeader!==t&&n.prunedHeader.show(),n.prunedHeader=t,t.hide(),Ext.resumeLayouts(!0))},getHeaderNode:function(n){return Ext.get(this.createGroupId(n))},getGroup:function(n){var i=this.groupCache,t=i[n];return t||(t=i[n]={isCollapsed:!1}),t},isExpanded:function(n){return!this.getGroup(n).isCollapsed},expand:function(n,t){this.doCollapseExpand(!1,n,t)},expandAll:function(){var t=this,f=t.view,i=t.groupCache,n,r=t.lockingPartner,u;for(n in i)i.hasOwnProperty(n)&&(i[n].isCollapsed=!1);Ext.suspendLayouts();f.suspendEvent("beforerefresh","refresh");r&&(u=r.view,u.suspendEvent("beforerefresh","refresh"));t.dataSource.onRefresh();f.resumeEvent("beforerefresh","refresh");r&&u.resumeEvent("beforerefresh","refresh");Ext.resumeLayouts(!0);for(n in i)i.hasOwnProperty(n)&&(t.afterCollapseExpand(!1,n),r&&r.afterCollapseExpand(!1,n))},collapse:function(n,t){this.doCollapseExpand(!0,n,t)},isAllCollapsed:function(){var i=this,n=i.groupCache;for(var t in n)if(n.hasOwnProperty(t)&&!n[t].isCollapsed)return!1;return!0},isAllExpanded:function(){var i=this,n=i.groupCache;for(var t in n)if(n.hasOwnProperty(t)&&n[t].isCollapsed)return!1;return!0},collapseAll:function(){var i=this,f=i.view,r=i.groupCache,t,n=i.lockingPartner,u;for(t in r)r.hasOwnProperty(t)&&(r[t].isCollapsed=!0);Ext.suspendLayouts();f.suspendEvent("beforerefresh","refresh");n&&(u=n.view,u.suspendEvent("beforerefresh","refresh"));i.dataSource.onRefresh();f.resumeEvent("beforerefresh","refresh");n&&u.resumeEvent("beforerefresh","refresh");n&&!n.isAllCollapsed()&&n.collapseAll();Ext.resumeLayouts(!0);for(t in r)r.hasOwnProperty(t)&&(i.afterCollapseExpand(!0,t),n&&n.afterCollapseExpand(!0,t))},doCollapseExpand:function(n,t,i){var r=this,f=r.lockingPartner,u=r.groupCache[t];u.isCollapsed!=n&&(Ext.suspendLayouts(),n?r.dataSource.collapseGroup(u):r.dataSource.expandGroup(u),Ext.resumeLayouts(!0),r.afterCollapseExpand(n,t,i),f&&f.afterCollapseExpand(n,t,!1))},afterCollapseExpand:function(n,t,i){var f=this,r=f.view,u;u=Ext.get(this.getHeaderNode(t));r.fireEvent(n?"groupcollapse":"groupexpand",r,u,t);i&&u.up(r.getItemSelector()).scrollIntoView(r.el,null,!0)},onGroupChange:function(){var n=this,i=n.getGroupField(),t,r,u;n.hideGroupedHeader&&(n.lastGroupField&&(t=n.getMenuItem(n.lastGroupField),t&&t.setChecked(!0)),i&&(r=n.view.headerCt.getVisibleGridColumns(),u=r.length===1&&r[0].dataIndex==i,t=n.getMenuItem(i),t&&!u&&t.setChecked(!1)));n.refreshIf();n.lastGroupField=i},getMenuItem:function(n){var t=this.view,i=t.headerCt.down("gridcolumn[dataIndex="+n+"]"),r=t.headerCt.getMenu();return i?r.down("menuitem[headerId="+i.id+"]"):null},onGroupKey:function(n,t){var i=this,r=i.getGroupName(t.target);if(r)i.onGroupClick(i.view,t.target,r,t)},onGroupClick:function(n,t,i,r){var u=this,o=u.groupCache,e=!u.isExpanded(i),f;if(u.collapsible){if(r.ctrlKey){Ext.suspendLayouts();for(f in o)f===i?e&&u.expand(i):u.doCollapseExpand(!0,f,!1);Ext.resumeLayouts(!0);return}e?u.expand(i):u.collapse(i)}},setupRowData:function(n,t,i){var r=this,o=r.refreshData,u=r.groupInfo,h=o.header,e=o.groupField,c=r.view.dataSource,s,f,l,a;if(i.isCollapsedGroup=!1,i.summaryRecord=null,o.doGrouping){if(s=r.view.store.groupers.first(),n.children){f=s.getGroupString(n.children[0]);i.isFirstRow=i.isLastRow=!0;i.itemClasses.push(r.hdCollapsedCls);i.isCollapsedGroup=!0;i.groupInfo=u;u.groupField=e;u.name=f;u.groupValue=n.children[0].get(e);u.columnName=h?h.text:e;i.collapsibleCls=r.collapsible?r.collapsibleCls:r.hdNotCollapsibleCls;i.groupId=r.createGroupId(f);u.rows=u.children=n.children;r.showSummaryRow&&(i.summaryRecord=o.summaryData[f]);return}f=s.getGroupString(n);i.isFirstRow=t===0;i.isFirstRow||(l=c.getAt(t-1),l&&(i.isFirstRow=!l.isEqual(s.getGroupString(l),f)));i.isLastRow=t==c.getTotalCount()-1;i.isLastRow||(a=c.getAt(t+1),a&&(i.isLastRow=!a.isEqual(s.getGroupString(a),f)));i.isFirstRow&&(u.groupField=e,u.name=f,u.groupValue=n.get(e),u.columnName=h?h.text:e,i.collapsibleCls=r.collapsible?r.collapsibleCls:r.hdNotCollapsibleCls,i.groupId=r.createGroupId(f),r.isExpanded(f)||(i.itemClasses.push(r.hdCollapsedCls),i.isCollapsedGroup=!0),u.rows=c.buffered?u.children=[]:u.children=r.getRecordGroup(n).children,i.groupInfo=u);i.isLastRow&&r.showSummaryRow&&(i.summaryRecord=o.summaryData[f])}},setup:function(n,t){var i=this,r=i.refreshData,u=!i.disabled&&i.view.store.isGrouped();i.skippedRows=0;t.view.bufferedRenderer&&(t.view.bufferedRenderer.variableRowHeight=!0);r.groupField=i.getGroupField();r.header=i.getGroupedHeader(r.groupField);r.doGrouping=u;t.groupHeaderTpl=Ext.XTemplate.getTpl(i,"groupHeaderTpl");u&&i.showSummaryRow&&(r.summaryData=i.generateSummaryData())},cleanup:function(n,t){var i=this.refreshData;t.groupInfo=t.groupHeaderTpl=t.isFirstRow=null;i.groupField=i.header=null},getGroupName:function(n){var u=this,f=u.view,e=u.eventSelector,i,t,r;return t=Ext.fly(n).findParent(e),t||(r=Ext.fly(n).findParent(f.itemSelector),r&&(t=r.down(e,!0))),t&&(i=t.id.split(f.id+"-hd-"),i.length===2)?Ext.htmlDecode(i[1]):void 0},getRecordGroup:function(n){var t=this.view.store.groupers.first();if(t)return this.groupCache[t.getGroupString(n)]},createGroupId:function(n){return this.view.id+"-hd-"+Ext.htmlEncode(n)},createGroupCls:function(n){return this.view.id+"-"+Ext.htmlEncode(n)+"-item"},getGroupField:function(){return this.view.store.getGroupField()},getGroupedHeader:function(n){var r=this,f=r.view.headerCt,u=r.lockingPartner,i,t;return n=n||this.getGroupField(),n&&(i="[dataIndex="+n+"]",t=f.down(i),!t&&u&&(t=u.view.headerCt.down(i))),t||null},getFireEventArgs:function(n,t,i,r){return[n,t,i,this.getGroupName(i),r]},destroy:function(){var n=this,t=n.dataSource;n.view=n.prunedHeader=n.grid=n.groupCache=n.dataSource=null;n.callParent();t&&t.bindStore(null)},onReconfigure:function(n,t,i,r){var u=n;t&&t!==r&&(t.buffered!==r.buffered&&Ext.Error.raise("Cannot reconfigure grouping switching between buffered and non-buffered stores"),t.buffered&&(u.bindStore(t),u.dataSource.processStore(t)))}},1,0,0,0,["feature.grouping"],[["summary",Ext.grid.feature.AbstractSummary]],[Ext.grid.feature,"Grouping"],0);Ext.cmd.derive("Ext.grid.feature.GroupingSummary",Ext.grid.feature.Grouping,{showSummaryRow:!0,vetoEvent:function(n,t,i,r){var u=this.callParent(arguments);return u!==!1&&r.getTarget(this.summaryRowSelector)&&(u=!1),u}},0,0,0,0,["feature.groupingsummary"],0,[Ext.grid.feature,"GroupingSummary"],0);Ext.cmd.derive("Ext.grid.feature.RowBody",Ext.grid.feature.Feature,{rowBodyCls:Ext.baseCSSPrefix+"grid-row-body",rowBodyHiddenCls:Ext.baseCSSPrefix+"grid-row-body-hidden",rowBodyTdSelector:"td."+Ext.baseCSSPrefix+"grid-cell-rowbody",eventPrefix:"rowbody",eventSelector:"tr."+Ext.baseCSSPrefix+"grid-rowbody-tr",tableTpl:{before:function(n){var t=n.view,i=t.rowValues;this.rowBody.setup(n.rows,i)},after:function(n){var t=n.view,i=t.rowValues;this.rowBody.cleanup(n.rows,i)},priority:100},extraRowTpl:["{%","values.view.rowBodyFeature.setupRowData(values.record, values.recordIndex, values);","this.nextTpl.applyOut(values, out, parent);","%}",'<tr class="'+Ext.baseCSSPrefix+'grid-rowbody-tr {rowBodyCls}">','<td class="'+Ext.baseCSSPrefix+'grid-cell-rowbody" colspan="{rowBodyColspan}">','<div class="'+Ext.baseCSSPrefix+'grid-rowbody {rowBodyDivCls}">{rowBody}<\/div>',"<\/td>","<\/tr>",{priority:100,syncRowHeights:function(n,t){var e=this.owner,i=Ext.fly(n).down(e.eventSelector,!0),r,u,f;i&&(r=Ext.fly(t).down(e.eventSelector,!0))&&((u=i.offsetHeight)>(f=r.offsetHeight)?Ext.fly(r).setHeight(u):f>u&&Ext.fly(i).setHeight(f))},syncContent:function(n,t){var i=this.owner,r=Ext.fly(n).down(i.eventSelector,!0),u;r&&(u=Ext.fly(t).down(i.eventSelector,!0))&&Ext.fly(r).syncContent(u)}}],init:function(n){var t=this,i=t.view;i.rowBodyFeature=t;i.findFeature("rowwrap")||(n.mon(i,{element:"el",mousedown:t.onMouseDown,scope:t}),t.mon(n.getStore(),"remove",t.onStoreRemove,t));i.headerCt.on({columnschanged:t.onColumnsChanged,scope:t});i.addTableTpl(t.tableTpl).rowBody=t;i.addRowTpl(Ext.XTemplate.getTpl(this,"extraRowTpl"));t.callParent(arguments)},onStoreRemove:function(n,t,i){var u=this.view,r;u.rendered&&(r=u.getNode(i),r&&(r=Ext.fly(r).next(this.eventSelector),r&&r.remove()))},onMouseDown:function(n){var i=this,t=n.getTarget(i.eventSelector);t&&Ext.fly(t=t.previousSibling).is(i.view.getItemSelector())&&(n.target=t,i.view.handleEvent(n))},getSelectedRow:function(n,t){var i=n.getNode(t,!1);return i?Ext.fly(i).down(this.eventSelector):null},onColumnsChanged:function(n){for(var i=this.view.el.query(this.rowBodyTdSelector),r=n.getVisibleGridColumns().length,u=i.length,t=0;t<u;++t)i[t].colSpan=r},setupRowData:function(n,t,i){this.getAdditionalData&&Ext.apply(i,this.getAdditionalData(n.data,t,n,i))},setup:function(n,t){t.rowBodyCls=this.rowBodyCls;t.rowBodyColspan=t.view.getGridColumns().length},cleanup:function(n,t){t.rowBodyCls=t.rowBodyColspan=t.rowBody=null}},0,0,0,0,["feature.rowbody"],0,[Ext.grid.feature,"RowBody"],0);Ext.cmd.derive("Ext.grid.feature.RowWrap",Ext.grid.feature.Feature,{rowWrapTd:"td."+Ext.baseCSSPrefix+"grid-rowwrap",hasFeatureEvent:!1,tableTpl:{before:function(n){n.view.bufferedRenderer&&(n.view.bufferedRenderer.variableRowHeight=!0)},priority:200},wrapTpl:['<tr data-boundView="{view.id}" data-recordId="{record.internalId}" data-recordIndex="{recordIndex}" class="{[values.itemClasses.join(" ")]} '+Ext.baseCSSPrefix+'grid-wrap-row">','<td class="'+Ext.baseCSSPrefix+"grid-rowwrap "+Ext.baseCSSPrefix+'grid-td" colSpan="{columns.length}">','<table class="'+Ext.baseCSSPrefix+"{view.id}-table "+Ext.baseCSSPrefix+'grid-table" border="0" cellspacing="0" cellpadding="0">',"{[values.view.renderColumnSizer(out)]}","{%","values.itemClasses.length = 0;","this.nextTpl.applyOut(values, out, parent)","%}","<\/table>","<\/td>","<\/tr>",{priority:200}],init:function(){var n=this;n.view.addTableTpl(n.tableTpl);n.view.addRowTpl(Ext.XTemplate.getTpl(n,"wrapTpl"));n.view.headerCt.on({columnhide:n.onColumnHideShow,columnshow:n.onColumnHideShow,scope:n})},onColumnHideShow:function(){for(var t=this.view,i=t.el.query(this.rowWrapTd),r=t.headerCt.getVisibleGridColumns().length,u=i.length,n=0;n<u;++n)i[n].colSpan=r}},0,0,0,0,["feature.rowwrap"],0,[Ext.grid.feature,"RowWrap"],0);Ext.cmd.derive("Ext.grid.feature.Summary",Ext.grid.feature.AbstractSummary,{dock:undefined,dockedSummaryCls:Ext.baseCSSPrefix+"docked-summary",panelBodyCls:Ext.baseCSSPrefix+"summary-",init:function(n){var t=this,i=t.view;if(t.callParent(arguments),t.dock){n.headerCt.on({afterlayout:t.onStoreUpdate,scope:t});n.on({beforerender:function(){var r=[t.summaryTableCls];i.columnLines&&(r[r.length]=i.ownerCt.colLinesCls);t.summaryBar=n.addDocked({childEls:["innerCt"],renderTpl:['<div id="{id}-innerCt">','<table cellPadding="0" cellSpacing="0" class="'+r.join(" ")+'">','<tr class="'+t.summaryRowCls+'"><\/tr>',"<\/table>","<\/div>"],style:"overflow:hidden",itemId:"summaryBar",cls:[t.dockedSummaryCls,t.dockedSummaryCls+"-"+t.dock],xtype:"component",dock:t.dock,weight:1e7})[0]},afterrender:function(){n.body.addCls(t.panelBodyCls+t.dock);i.mon(i.el,{scroll:t.onViewScroll,scope:t});t.onStoreUpdate()},single:!0});n.headerCt.afterComponentLayout=Ext.Function.createSequence(n.headerCt.afterComponentLayout,function(){t.summaryBar.innerCt.setWidth(this.getFullWidth()+Ext.getScrollbarSize().width)})}else t.view.addFooterFn(t.renderTFoot);n.on({columnmove:t.onStoreUpdate,scope:t});i.mon(i.store,{update:t.onStoreUpdate,datachanged:t.onStoreUpdate,scope:t})},renderTFoot:function(n,t){var r=n.view,i=r.findFeature("summary");i.showSummaryRow&&(t.push("<tfoot>"),i.outputSummaryRecord(i.createSummaryRecord(r),n,t),t.push("<\/tfoot>"))},vetoEvent:function(n,t,i,r){return!r.getTarget(this.summaryRowSelector)},onViewScroll:function(){this.summaryBar.el.dom.scrollLeft=this.view.el.dom.scrollLeft},createSummaryRecord:function(n){var u=n.headerCt.getVisibleGridColumns(),f={records:n.store.getRange()},e=u.length,r,t,i=this.summaryRecord||(this.summaryRecord=new n.store.model(null,n.id+"-summary-record"));for(i.beginEdit(),r=0;r<e;r++)t=u[r],t.dataIndex||(t.dataIndex=t.id),i.set(t.dataIndex,this.getSummary(n.store,t.summaryType,t.dataIndex,f));return i.endEdit(!0),i.commit(!0),i.isSummary=!0,i},onStoreUpdate:function(){var n=this,r=n.view,f=n.createSummaryRecord(r),e=r.createRowElement(f,-1),i,t,u;r.rendered&&(i=n.dock?n.summaryBar.el.down("."+n.summaryRowCls,!0):n.view.getNode(f),i&&(u=i.parentNode,u.insertBefore(e,i),u.removeChild(i),t=n.lockingPartner,t&&t.grid.rendered&&!n.calledFromLockingPartner&&(t.calledFromLockingPartner=!0,t.onStoreUpdate(),t.calledFromLockingPartner=!1)),n.dock&&n.onColumnHeaderLayout())},onColumnHeaderLayout:function(){for(var r=this.view,u=r.headerCt.getVisibleGridColumns(),n,f=u.length,e=this.summaryBar.el,t,i=0;i<f;i++)n=u[i],t=e.down(r.getCellSelector(n)),t&&(n.hidden?t.setDisplayed(!1):(t.setDisplayed(!0),t.setWidth(n.width||(n.lastBox?n.lastBox.width:100))))}},0,0,0,0,["feature.summary"],0,[Ext.grid.feature,"Summary"],0);Ext.cmd.derive("Ext.grid.locking.HeaderContainer",Ext.grid.header.Container,{constructor:function(n){var t=this,r,u,f=[],i=n.lockedGrid,e=n.normalGrid;t.lockable=n;t.callParent();i.columnManager.rootColumns=e.columnManager.rootColumns=n.columnManager=t.columnManager=new Ext.grid.ColumnManager(i.headerCt,e.headerCt);r=i.headerCt.events;for(u in r)r.hasOwnProperty(u)&&f.push(u);t.relayEvents(i.headerCt,f);t.relayEvents(e.headerCt,f)},getRefItems:function(){return this.lockable.lockedGrid.headerCt.getRefItems().concat(this.lockable.normalGrid.headerCt.getRefItems())},getGridColumns:function(){return this.lockable.lockedGrid.headerCt.getGridColumns().concat(this.lockable.normalGrid.headerCt.getGridColumns())},getColumnsState:function(){var n=this,t=n.lockable.lockedGrid.headerCt.getColumnsState(),i=n.lockable.normalGrid.headerCt.getColumnsState();return t.concat(i)},applyColumnsState:function(n){for(var h=this,c=h.lockable.lockedGrid,i=c.headerCt,r=h.lockable.normalGrid.headerCt,a=Ext.Array.toValueMap(i.items.items,"headerId"),v=Ext.Array.toValueMap(r.items.items,"headerId"),e=[],o=[],l=1,y=n.length,t,s,f,u=0;u<y;u++)f=n[u],s=a[f.id],t=s||v[f.id],t&&(t.applyColumnState&&t.applyColumnState(f),t.locked===undefined&&(t.locked=!!s),t.locked?(e.push(t),t.hidden||typeof t.width!="number"||(l+=t.width)):o.push(t));e.length+o.length==i.items.getCount()+r.items.getCount()&&(i.removeAll(!1),r.removeAll(!1),i.add(e),r.add(o),c.setWidth(l))}},1,0,["component","container","box","headercontainer"],{component:!0,container:!0,box:!0,headercontainer:!0},0,0,[Ext.grid.locking,"HeaderContainer"],0);Ext.cmd.derive("Ext.grid.locking.View",Ext.Base,{alternateClassName:"Ext.grid.LockingView",isLockingView:!0,eventRelayRe:/^(beforeitem|beforecontainer|item|container|cell|refresh)/,constructor:function(n){var t=this,u=[],o=t.eventRelayRe,i=n.locked.getView(),f=n.normal.getView(),e,r;Ext.apply(t,{lockedView:i,normalView:f,lockedGrid:n.locked,normalGrid:n.normal,panel:n.panel});t.mixins.observable.constructor.call(t,n);e=i.events;for(r in e)e.hasOwnProperty(r)&&o.test(r)&&u.push(r);t.relayEvents(i,u);t.relayEvents(f,u);f.on({scope:t,itemmouseleave:t.onItemMouseLeave,itemmouseenter:t.onItemMouseEnter});i.on({scope:t,itemmouseleave:t.onItemMouseLeave,itemmouseenter:t.onItemMouseEnter});t.panel.on({render:t.onPanelRender,scope:t})},onPanelRender:function(){var n=this,t=n.loadMask,i={target:n.panel,msg:n.loadingText,msgCls:n.loadingCls,useMsg:n.loadingUseMsg,store:n.panel.store};n.el=n.panel.body;n.fireEvent("render",n);t&&(Ext.isObject(t)&&(i=Ext.apply(i,t)),n.loadMask=new Ext.LoadMask(i))},getGridColumns:function(){var n=this.lockedGrid.headerCt.getVisibleGridColumns();return n.concat(this.normalGrid.headerCt.getVisibleGridColumns())},getEl:function(n){return this.getViewForColumn(n).getEl()},getViewForColumn:function(n){var t=this.lockedView,i;return t.headerCt.cascade(function(t){if(t===n)return i=!0,!1}),i?t:this.normalView},onItemMouseEnter:function(n,t){var r=this,u=r.lockedView,i=r.normalView,f;n.trackOver&&(n!==u&&(i=u),f=i.getNode(t,!1),i.highlightItem(f))},onItemMouseLeave:function(n){var t=this,i=t.lockedView,r=t.normalView;n.trackOver&&(n!==i&&(r=i),r.clearHighlight())},relayFn:function(n,t){t=t||[];var i=this.lockedView;i[n].apply(i,t);i=this.normalView;i[n].apply(i,t)},getSelectionModel:function(){return this.panel.getSelectionModel()},getStore:function(){return this.panel.store},getNode:function(n,t){return this.normalView.getNode(n,t)},getCell:function(n,t){var i=this.getViewForColumn(t),r=i.getNode(n,!0);return Ext.fly(r).down(t.getCellSelector())},indexOf:function(n){var t=this.lockedView.indexOf(n);return t||(t=this.normalView.indexOf(n)),t},focus:function(){var n=this.getSelectionModel().getCurrentPosition(),t=n?n.view:this.normalView;t.focus()},focusRow:function(n){this.normalView.focusRow(n)},focusCell:function(n){n.view.focusCell(n)},isVisible:function(n){return this.panel.isVisible(n)},getRecord:function(n){var t=this.lockedView.getRecord(n);return t||(t=this.normalView.getRecord(n)),t},scrollBy:function(){var n=this.normalView;n.scrollBy.apply(n,arguments)},addElListener:function(){this.relayFn("addElListener",arguments)},refreshNode:function(){this.relayFn("refreshNode",arguments)},refresh:function(){this.relayFn("refresh",arguments)},bindStore:function(){this.relayFn("bindStore",arguments)},addRowCls:function(){this.relayFn("addRowCls",arguments)},removeRowCls:function(){this.relayFn("removeRowCls",arguments)},destroy:function(){var t=this,n=t.loadMask;t.clearListeners();n&&n.bindStore&&n.bindStore(null)}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.grid.locking,"View",Ext.grid,"LockingView"],0);Ext.cmd.derive("Ext.grid.locking.Lockable",Ext.Base,{alternateClassName:"Ext.grid.Lockable",syncRowHeight:!0,headerCounter:0,scrollDelta:40,lockedGridCls:Ext.baseCSSPrefix+"grid-inner-locked",unlockText:"Unlock",lockText:"Lock",bothCfgCopy:["invalidateScrollerOnRefresh","hideHeaders","enableColumnHide","enableColumnMove","enableColumnResize","sortableColumns","columnLines","rowLines"],normalCfgCopy:["verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:[],determineXTypeToCreate:function(n){var f=this,i,t,r,e,u;if(f.subGridXType)i=f.subGridXType;else{if(!n)return"gridpanel";t=this.getXTypes().split("/");r=t.length;e=t[r-1];u=t[r-2];i=u!=="tablepanel"?u:e}return i},injectLockable:function(){this.lockable=!0;this.hasView=!0;var n=this,h=Ext.getScrollbarSize().height,a=n.store=Ext.StoreManager.lookup(n.store),v=n.getSelectionModel(),y,c,i,t,r,f,e,l,u,o,s,p=n.findPlugin("bufferedrenderer");for(y=n.constructLockableFeatures(),n.features&&(n.features=null),c=n.constructLockablePlugins(),n.plugins=c.topPlugins,i=Ext.apply({id:n.id+"-locked",isLocked:!0,ownerLockable:n,xtype:n.determineXTypeToCreate(!0),store:a,scrollerOwner:!1,animate:!1,scroll:h?!1:"vertical",selModel:v,border:!1,cls:n.lockedGridCls,isLayoutRoot:function(){return!1},features:y.lockedFeatures,plugins:c.lockedPlugins},n.lockedGridConfig),t=Ext.apply({id:n.id+"-normal",isLocked:!1,ownerLockable:n,xtype:n.determineXTypeToCreate(),store:a,scrollerOwner:!1,selModel:v,border:!1,isLayoutRoot:function(){return!1},features:y.normalFeatures,plugins:c.normalPlugins},n.normalGridConfig),n.addCls(Ext.baseCSSPrefix+"grid-locked"),Ext.copyTo(t,n,n.bothCfgCopy,!0),Ext.copyTo(i,n,n.bothCfgCopy,!0),Ext.copyTo(t,n,n.normalCfgCopy,!0),Ext.copyTo(i,n,n.lockedCfgCopy,!0),r=0;r<n.normalCfgCopy.length;r++)delete n[n.normalCfgCopy[r]];for(r=0;r<n.lockedCfgCopy.length;r++)delete n[n.lockedCfgCopy[r]];if(n.addEvents("processcolumns","lockcolumn","unlockcolumn"),n.addStateEvents(["lockcolumn","unlockcolumn"]),f=n.processColumns(n.columns),i.width=f.lockedWidth+Ext.num(v.headerWidth,0)+(f.locked.items.length?1:0),i.columns=f.locked,t.columns=f.normal,t.flex=1,i.viewConfig=n.lockedViewConfig||{},i.viewConfig.loadingUseMsg=!1,i.viewConfig.loadMask=!1,h&&(i.viewConfig.style="border-bottom:"+h+"px solid #f6f6f6;"+(i.viewConfig.style||"")),t.viewConfig=n.normalViewConfig||{},t.viewConfig.loadMask=!1,Ext.applyIf(i.viewConfig,n.viewConfig),Ext.applyIf(t.viewConfig,n.viewConfig),n.lockedGrid=Ext.ComponentManager.create(i),n.isTree&&(n.lockedGrid.getView().animate=!1,t.store=n.lockedGrid.view.store,t.deferRowRender=!1,t.viewConfig.stripeRows=n.lockedGrid.view.stripeRows,t.rowLines=n.lockedGrid.rowLines),u=n.lockedGrid.getView(),t.viewConfig.lockingPartner=u,n.normalGrid=Ext.ComponentManager.create(t),u.lockingPartner=o=n.normalGrid.getView(),n.view=new Ext.grid.locking.View({loadingText:o.loadingText,loadingCls:o.loadingCls,loadingUseMsg:o.loadingUseMsg,loadMask:n.loadMask!==!1,locked:n.lockedGrid,normal:n.normalGrid,panel:n}),s=p?{}:{scroll:{fn:n.onLockedViewScroll,element:"el",scope:n}},h){n.lockedGrid.on({afterlayout:n.afterLockedViewLayout,scope:n});u.getOverflowStyle();u.scrollFlags.y?n.lockedGrid.headerCt.forceFit=!0:s.mousewheel={fn:n.onLockedViewMouseWheel,element:"el",scope:n}}u.on(s);s=p?{}:{scroll:{fn:n.onNormalViewScroll,element:"el",scope:n},scope:n};o.on(s);e=n.lockedGrid.headerCt;l=n.normalGrid.headerCt;n.headerCt=n.view.headerCt=new Ext.grid.locking.HeaderContainer(n);e.lockedCt=!0;e.lockableInjected=!0;l.lockableInjected=!0;e.on({add:{buffer:1,scope:n,fn:n.onLockedHeaderAdd},columnshow:n.onLockedHeaderShow,columnhide:n.onLockedHeaderHide,sortchange:n.onLockedHeaderSortChange,columnresize:n.onLockedHeaderResize,scope:n});l.on({sortchange:n.onNormalHeaderSortChange,scope:n});n.modifyHeaderCt();n.items=[n.lockedGrid,n.normalGrid];n.relayHeaderCtEvents(e);n.relayHeaderCtEvents(l);n.storeRelayers=n.relayEvents(a,["filterchange"]);n.layout={type:"hbox",align:"stretch"}},getLockingViewConfig:function(){return{xclass:"Ext.grid.locking.View",locked:this.lockedGrid,normal:this.normalGrid,panel:this}},processColumns:function(n){var i,e,t,r=this.dummyHdrCtr||(this.self.prototype.dummyHdrCtr=new Ext.grid.header.Container),u=[],f=[],o={itemId:"lockedHeaderCt",stretchMaxPartner:"^^>>#normalHeaderCt",items:u},s={itemId:"normalHeaderCt",stretchMaxPartner:"^^>>#lockedHeaderCt",items:f},h={lockedWidth:0,locked:o,normal:s};for(Ext.isObject(n)&&(Ext.applyIf(o,n),Ext.applyIf(s,n),Ext.apply(r,n),n=n.items),i=0,e=n.length;i<e;++i)t=n[i],t.isComponent||(t=r.lookupComponent(r.applyDefaults(t))),t.processed=!0,t.locked||t.autoLock?(t.hidden||(h.lockedWidth+=this.getColumnWidth(t)||r.defaultWidth),u.push(t)):f.push(t),t.headerId||(t.headerId=(t.initialConfig||t).id||"h"+ ++this.headerCounter);return this.fireEvent("processcolumns",this,u,f),h},getColumnWidth:function(n){var i=n.width||0,r,u,t;if(!i&&n.isGroupHeader)for(r=n.items.items,u=r.length,t=0;t<u;t++)i+=this.getColumnWidth(r[t]);return i},afterLockedViewLayout:function(){var t=this,n=t.lockedGrid.getView(),i=n.el.dom,r=t.normalGrid.headerCt.tooNarrow?Ext.getScrollbarSize().height:0;n.scrollFlags.x&&i.scrollWidth>i.clientWidth&&(r=0);n.el.dom.style.borderBottomWidth=r+"px";Ext.isBorderBox||n.el.setHeight(n.lastBox.height)},onLockedViewMouseWheel:function(n){var i=this,e=-i.scrollDelta,r=e*n.getWheelDeltas().y,t=i.lockedGrid.getView().el.dom,u,f;i.ignoreMousewheel||(t&&(u=t.scrollTop!==t.scrollHeight-t.clientHeight,f=t.scrollTop!==0),(r<0&&f||r>0&&u)&&(n.stopEvent(),t.scrollTop+=r,i.normalGrid.getView().el.dom.scrollTop=t.scrollTop,i.onNormalViewScroll()))},onLockedViewScroll:function(){var n=this,i=n.lockedGrid.getView(),r=n.normalGrid.getView(),u=r.el.dom,f=i.el.dom,t,e;u.scrollTop!==f.scrollTop&&(u.scrollTop=f.scrollTop,n.store.buffered&&(e=i.el.child("table",!0),t=r.el.child("table",!0),t.style.position="absolute",t.style.top=e.style.top))},onNormalViewScroll:function(){var n=this,i=n.lockedGrid.getView(),r=n.normalGrid.getView(),u=r.el.dom,f=i.el.dom,e,t;u.scrollTop!==f.scrollTop&&(f.scrollTop=u.scrollTop,n.store.buffered&&(t=i.el.child("table",!0),e=r.el.child("table",!0),t.style.position="absolute",t.style.top=e.style.top))},syncRowHeights:function(){var r=this,n,u=r.lockedGrid.getView(),t=r.normalGrid.getView(),f=u.all.slice(),e=t.all.slice(),o=f.length,i;if(e.length===o){for(n=0;n<o;n++)t.syncRowHeights(f[n],e[n]);i=t.el.dom.scrollTop;t.el.dom.scrollTop=i;u.el.dom.scrollTop=i}},modifyHeaderCt:function(){var n=this;n.lockedGrid.headerCt.getMenuItems=n.getMenuItems(n.lockedGrid.headerCt.getMenuItems,!0);n.normalGrid.headerCt.getMenuItems=n.getMenuItems(n.normalGrid.headerCt.getMenuItems,!1);n.lockedGrid.headerCt.showMenuBy=Ext.Function.createInterceptor(n.lockedGrid.headerCt.showMenuBy,n.showMenuBy);n.normalGrid.headerCt.showMenuBy=Ext.Function.createInterceptor(n.normalGrid.headerCt.showMenuBy,n.showMenuBy)},onUnlockMenuClick:function(){this.unlock()},onLockMenuClick:function(){this.lock()},showMenuBy:function(n,t){var u=this.getMenu(),i=u.down("#unlockItem"),r=u.down("#lockItem"),f=i.prev();t.lockable===!1?(f.hide(),i.hide(),r.hide()):(f.show(),i.show(),r.show(),i.initialConfig.disabled||i.setDisabled(t.lockable===!1),r.initialConfig.disabled||r.setDisabled(!t.isLockable()))},getMenuItems:function(n,t){var i=this,r=i.unlockText,u=i.lockText,f=Ext.baseCSSPrefix+"hmenu-unlock",e=Ext.baseCSSPrefix+"hmenu-lock",o=Ext.Function.bind(i.onUnlockMenuClick,i),s=Ext.Function.bind(i.onLockMenuClick,i);return function(){var i=n.call(this);return i.push("-",{itemId:"unlockItem",cls:f,text:r,handler:o,disabled:!t}),i.push({itemId:"lockItem",cls:e,text:u,handler:s,disabled:t}),i}},syncLockedWidth:function(){var t=this,n=t.lockedGrid,i=n.view,e=i.el.dom,r=t.normalGrid,u=n.headerCt.getVisibleGridColumns().length,f=r.headerCt.getVisibleGridColumns().length;return Ext.suspendLayouts(),f?(r.show(),u?(n.headerCt.forceFit||(delete n.flex,n.setWidth(n.headerCt.getFullWidth())),n.addCls(t.lockedGridCls),n.show()):(n.getView().refresh(),n.hide()),i.el.setStyle(i.getOverflowStyle()),t.ignoreMousewheel=i.scrollFlags.y):(r.hide(),e.style.borderBottomWidth="0",n.flex=1,delete n.width,n.removeCls(t.lockedGridCls),n.show(),i.el.setStyle(r.view.getOverflowStyle()),t.ignoreMousewheel=!0),Ext.resumeLayouts(!0),[u,f]},onLockedHeaderAdd:function(){this.ignoreAddLockedColumn||this.syncLockedWidth()},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(n,t,i){i&&this.normalGrid.headerCt.clearOtherSortStates(null,!0)},onNormalHeaderSortChange:function(n,t,i){i&&this.lockedGrid.headerCt.clearOtherSortStates(null,!0)},lock:function(n,t){var i=this,u=i.normalGrid,f=i.lockedGrid,s=u.headerCt,e=f.headerCt,r,o;(n=n||s.getMenu().activeHeader,o=n.ownerCt,n.isLockable())&&(n.flex&&(n.width=n.getWidth(),n.flex=null),Ext.suspendLayouts(),o.remove(n,!1),n.locked=!0,i.ignoreAddLockedColumn=!0,Ext.isDefined(t)?e.insert(t,n):e.add(n),i.ignoreAddLockedColumn=!1,r=i.syncLockedWidth(),r[0]&&f.getView().refresh(),r[1]&&u.getView().refresh(),Ext.resumeLayouts(!0),i.fireEvent("lockcolumn",i,n))},unlock:function(n,t){var i=this,u=i.normalGrid,f=i.lockedGrid,e=u.headerCt,o=f.headerCt,r;Ext.isDefined(t)||(t=0);n=n||o.getMenu().activeHeader;Ext.suspendLayouts();n.ownerCt.remove(n,!1);n.locked=!1;e.insert(t,n);r=i.syncLockedWidth();r[0]&&f.getView().refresh();r[1]&&u.getView().refresh();Ext.resumeLayouts(!0);i.fireEvent("unlockcolumn",i,n)},reconfigureLockable:function(n,t){var i=this,f=i.store,r=i.lockedGrid,u=i.normalGrid;Ext.suspendLayouts();t&&(r.headerCt.removeAll(),u.headerCt.removeAll(),t=i.processColumns(t),i.ignoreAddLockedColumn=!0,r.headerCt.add(t.locked.items),i.ignoreAddLockedColumn=!1,u.headerCt.add(t.normal.items),i.syncLockedWidth());n&&n!==f?(n=Ext.data.StoreManager.lookup(n),i.store=n,r.bindStore(n),u.bindStore(n)):(r.getView().refresh(),u.getView().refresh());Ext.resumeLayouts(!0)},constructLockableFeatures:function(){var r=this.features,n,u,t,i,f=0,e;if(r)for(t=[],i=[],e=r.length;f<e;f++){n=r[f];n.isFeature||(n=Ext.create("feature."+n.ftype,n));switch(n.lockableScope){case"locked":t.push(n);break;case"normal":i.push(n);break;default:n.lockableScope="both";t.push(n);i.push(u=n.clone());u.lockingPartner=n;n.lockingPartner=u}}return{normalFeatures:i,lockedFeatures:t}},constructLockablePlugins:function(){var r=this.plugins,n,u,f,e,t,i,o=0,s;if(r)for(e=[],t=[],i=[],s=r.length;o<s;o++){n=r[o];switch(n.lockableScope){case"both":t.push(f=n.clonePlugin());i.push(u=n.clonePlugin());f.lockingPartner=u;u.lockingPartner=f;Ext.destroy(n);break;case"locked":t.push(n);break;case"normal":i.push(n);break;default:e.push(n)}}return{topPlugins:e,normalPlugins:i,lockedPlugins:t}},destroyLockable:function(){Ext.destroy(this.view)}},0,0,0,0,0,0,[Ext.grid.locking,"Lockable",Ext.grid,"Lockable"],function(){this.borrow(Ext.AbstractComponent,["constructPlugin"])});Ext.cmd.derive("Ext.tree.View",Ext.view.Table,{isTreeView:!0,loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",leafCls:Ext.baseCSSPrefix+"grid-tree-node-leaf",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:!0,loadMask:!1,rootVisible:!0,deferInitialRefresh:!1,expandDuration:250,collapseDuration:250,toggleOnDblClick:!0,stripeRows:!1,uiFields:["expanded","loaded","checked","expandable","leaf","icon","iconCls","loading","qtip","qtitle"],treeRowTpl:["{%","this.processRowValues(values);","this.nextTpl.applyOut(values, out, parent);",'delete values.rowAttr["data-qtip"];','delete values.rowAttr["data-qtitle"];',"%}",{priority:10,processRowValues:function(n){var t=n.record,i=n.view,r=t.get("qtip"),u=t.get("qttle");n.rowAttr={};r&&(n.rowAttr["data-qtip"]=r);u&&(n.rowAttr["data-qtitle"]=u);t.isExpanded()&&n.rowClasses.push(i.expandedCls);t.isLeaf()&&n.rowClasses.push(i.leafCls);t.isLoading()&&n.rowClasses.push(i.loadingCls)}}],initComponent:function(){var n=this,i=n.panel.getStore(),t=n.store;n.initialConfig.animate===undefined&&(n.animate=Ext.enableFx);t&&t!==i||(n.store=t=new Ext.data.NodeStore({treeStore:i,recursive:!0,rootVisible:n.rootVisible}));n.node&&n.setRootNode(n.node);n.animQueue={};n.animWraps={};n.addEvents("afteritemexpand","afteritemcollapse","nodedragover");n.callParent(arguments);n.addRowTpl(Ext.XTemplate.getTpl(n,"treeRowTpl"))},onBeforeFill:function(){this.store.suspendEvents()},onFillComplete:function(n,t,i){var r=this,u=r.store,f=u.indexOf(i[0]);if(u.resumeEvents(),t.triggerUIUpdate(),i.length&&f!==-1){r.onAdd(r.store,i,f);r.refreshPartner()}},onBeforeSort:function(){this.store.suspendEvents()},onSort:function(n){n.isStore&&(this.store.resumeEvents(),this.refresh(),this.refreshPartner())},refreshPartner:function(){var n=this.lockingPartner;n&&n.refresh()},getMaskStore:function(){return this.panel.getStore()},afterRender:function(){var n=this;n.callParent(arguments);n.el.on({scope:n,delegate:n.expanderSelector,mouseover:n.onExpanderMouseOver,mouseout:n.onExpanderMouseOut,click:{delegate:n.checkboxSelector,fn:n.onCheckboxChange,scope:n}})},afterComponentLayout:function(){this.callParent(arguments);var n=this.stretcher;n&&n.setWidth(this.getWidth()-Ext.getScrollbarSize().width)},processUIEvent:function(n){return n.getTarget("."+this.nodeAnimWrapCls,this.el)?!1:this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(n){var t=this;t.store.setNode(n);t.node=n},onCheckboxChange:function(n){var t=this,i=n.getTarget(t.getItemSelector(),t.getTargetEl());if(i)t.onCheckChange(t.getRecord(i))},onCheckChange:function(n){var t=n.get("checked");Ext.isBoolean(t)&&(t=!t,n.set("checked",t),this.fireEvent("checkchange",n,t))},getChecked:function(){var n=[];return this.node.cascadeBy(function(t){t.get("checked")&&n.push(t)}),n},isItemChecked:function(n){return n.get("checked")},createAnimWrap:function(n){var t=this,r=t.getNode(n),i,u,f=[];return t.renderColumnSizer(f),u=Ext.get(r),i=u.insertSibling({tag:"tr",html:['<td colspan="'+t.panel.headerCt.getColumnCount()+'">','<div class="'+t.nodeAnimWrapCls+'">','<table class="'+Ext.baseCSSPrefix+t.id+"-table "+Ext.baseCSSPrefix+'grid-table" style="border:0" cellspacing="0" cellpadding="0">',f.join(""),"<tbody><\/tbody><\/table>","<\/div>","<\/td>"].join("")},"after"),{record:n,node:r,el:i,expanding:!1,collapsing:!1,animating:!1,animateEl:i.down("div"),targetEl:i.down("tbody")}},getAnimWrap:function(n,t){if(!this.animate)return null;var r=this.animWraps,i=r[n.internalId];if(t!==!1)while(!i&&n)n=n.parentNode,n&&(i=r[n.internalId]);return i},doAdd:function(n,t){var i=this,f=i.bufferRender(n,t,!0),c=n[0],u=c.parentNode,l=i.all,e,r=i.getAnimWrap(u),o,s,h;if(!r||!r.expanding)return i.callParent(arguments);if(u=r.record,o=r.targetEl,s=o.dom.childNodes,h=s.length,e=t-i.indexInStore(u)-1,!h||e>=h?o.appendChild(f):Ext.fly(s[e]).insertSibling(f,"before",!0),l.insert(t,f),r.isAnimating)i.onExpand(u)},onRemove:function(n,t,i){var u=this,f,r;if(u.viewReady){if(f=u.store.getCount()===0,f)u.refresh();else for(r=i.length-1;r>=0;--r)u.doRemove(t[r],i[r]);if(u.hasListeners.itemremove)for(r=i.length-1;r>=0;--r)u.fireEvent("itemremove",t[r],i[r])}},doRemove:function(n,t){var r=this,u=r.all,i=r.getAnimWrap(n),f=u.item(t),e=f?f.dom:null;if(!e||!i||!i.collapsing)return r.callParent(arguments);i.targetEl.dom.insertBefore(e,i.targetEl.dom.firstChild);u.removeElement(t)},onBeforeExpand:function(n){var t=this,i;t.rendered&&t.all.getCount()&&t.animate&&t.getNode(n)&&(i=t.getAnimWrap(n,!1),i?i.collapsing&&i.targetEl.select(t.itemSelector).remove():(i=t.animWraps[n.internalId]=t.createAnimWrap(n),i.animateEl.setHeight(0)),i.expanding=!0,i.collapsing=!1)},onExpand:function(n){var t=this,o=t.animQueue,s=n.getId(),r=t.getNode(n),f=r?t.indexOf(r):-1,i,u,e,h=Ext.isIEQuirks?1:0;if(t.singleExpand&&t.ensureSingleExpand(n),f!==-1){if(i=t.getAnimWrap(n,!1),!i){n.isExpandingOrCollapsing=!1;t.fireEvent("afteritemexpand",n,f,r);t.refreshSize();return}u=i.animateEl;e=i.targetEl;u.stopAnimation();o[s]=!0;u.dom.style.height=h+"px";u.animate({from:{height:h},to:{height:e.getHeight()},duration:t.expandDuration,listeners:{afteranimate:function(){var n=e.query(t.itemSelector);n.length&&i.el.insertSibling(n,"before",!0);i.el.remove();t.refreshSize();delete t.animWraps[i.record.internalId];delete o[s]}},callback:function(){n.isExpandingOrCollapsing=!1;t.fireEvent("afteritemexpand",n,f,r)}});i.isAnimating=!0}},onBeforeCollapse:function(n,t,i,r,u){var f=this,e;f.rendered&&f.all.getCount()&&(f.animate?Ext.Array.contains(n.stores,f.store)&&(e=f.getAnimWrap(n),e?e.expanding&&e.targetEl.select(this.itemSelector).remove():e=f.animWraps[n.internalId]=f.createAnimWrap(n,i),e.expanding=!1,e.collapsing=!0,e.callback=r,e.scope=u):(f.onCollapseCallback=r,f.onCollapseScope=u))},onCollapse:function(n){var t=this,f=t.animQueue,e=n.getId(),r=t.getNode(n),o=r?t.indexOf(r):-1,i=t.getAnimWrap(n),u;if(t.all.getCount()&&Ext.Array.contains(n.stores,t.store)){if(!i){n.isExpandingOrCollapsing=!1;t.fireEvent("afteritemcollapse",n,o,r);t.refreshSize();Ext.callback(t.onCollapseCallback,t.onCollapseScope);t.onCollapseCallback=t.onCollapseScope=null;return}u=i.animateEl;f[e]=!0;u.stopAnimation();u.animate({to:{height:Ext.isIEQuirks?1:0},duration:t.collapseDuration,listeners:{afteranimate:function(){i.el.remove();t.refreshSize();delete t.animWraps[i.record.internalId];delete f[e]}},callback:function(){n.isExpandingOrCollapsing=!1;t.fireEvent("afteritemcollapse",n,o,r);Ext.callback(i.callback,i.scope);i.callback=i.scope=null}});i.isAnimating=!0}},isAnimating:function(n){return!!this.animQueue[n.getId()]},expand:function(n,t,i,r){var e=this,u=!!e.animate,f;if(!u||!n.isExpandingOrCollapsing)return n.isLeaf()||(n.isExpandingOrCollapsing=u),Ext.suspendLayouts(),f=n.expand(t,i,r),Ext.resumeLayouts(!0),f},collapse:function(n,t,i,r){var f=this,u=!!f.animate;if(!u||!n.isExpandingOrCollapsing)return n.isLeaf()||(n.isExpandingOrCollapsing=u),n.collapse(t,i,r)},toggle:function(n,t,i,r){n.isExpanded()?this.collapse(n,t,i,r):this.expand(n,t,i,r)},onItemDblClick:function(n){var t=this,i=t.editingPlugin;t.callParent(arguments);!t.toggleOnDblClick||!n.isExpandable()||i&&i.clicksToEdit===2||t.toggle(n)},onBeforeItemMouseDown:function(n,t,i,r){return r.getTarget(this.expanderSelector,t)?!1:this.callParent(arguments)},onItemClick:function(n,t,i,r){return r.getTarget(this.expanderSelector,t)&&n.isExpandable()?(this.toggle(n,r.ctrlKey),!1):this.callParent(arguments)},onExpanderMouseOver:function(n){n.getTarget(this.cellSelector,10,!0).addCls(this.expanderIconOverCls)},onExpanderMouseOut:function(n){n.getTarget(this.cellSelector,10,!0).removeCls(this.expanderIconOverCls)},getStoreListeners:function(){var n=this,t=n.callParent(arguments);return Ext.apply(t,{beforeexpand:n.onBeforeExpand,expand:n.onExpand,beforecollapse:n.onBeforeCollapse,collapse:n.onCollapse,write:n.onStoreWrite,datachanged:n.onStoreDataChanged})},onBindStore:function(){var n=this,t=n.getTreeStore();n.callParent(arguments);n.mon(t,{scope:n,beforefill:n.onBeforeFill,fillcomplete:n.onFillComplete});t.remoteSort||n.mon(t,{scope:n,beforesort:n.onBeforeSort,sort:n.onSort})},onUnbindStore:function(){var n=this,t=n.getTreeStore();n.callParent(arguments);n.mun(t,{scope:n,beforefill:n.onBeforeFill,fillcomplete:n.onFillComplete});t.remoteSort||n.mun(t,{scope:n,beforesort:n.onBeforeSort,sort:n.onSort})},getTreeStore:function(){return this.panel.store},ensureSingleExpand:function(n){var t=n.parentNode;t&&t.eachChild(function(t){t!==n&&t.isExpanded()&&t.collapse()})},shouldUpdateCell:function(n,t,i){if(i)for(var r=0,u=i.length;r<u;++r)if(Ext.Array.contains(this.uiFields,i[r]))return!0;return this.callParent(arguments)},onStoreWrite:function(n,t){var i=this.panel.store;i.fireEvent("write",i,t)},onStoreDataChanged:function(){var n=this.panel.store;n.fireEvent("datachanged",n)}},0,["treeview"],["component","treeview","box","dataview","tableview"],{component:!0,treeview:!0,box:!0,dataview:!0,tableview:!0},["widget.treeview"],0,[Ext.tree,"View"],0);Ext.define("Ext.grid.plugin.BufferedRendererTreeView",{override:"Ext.tree.View",onRemove:function(n,t,i){var r=this;r.rendered&&r.bufferedRenderer?r.refreshView():r.callParent([n,t,i])}});Ext.cmd.derive("Ext.grid.plugin.BufferedRenderer",Ext.AbstractPlugin,{lockableScope:"both",percentageFromEdge:.35,variableRowHeight:!1,numFromEdge:8,trailingBufferZone:10,leadingBufferZone:20,synchronousRender:!0,scrollToLoadBuffer:200,viewSize:0,rowHeight:21,position:0,lastScrollDirection:1,bodyTop:0,init:function(n){var t=this,i=n.view,r={scroll:{fn:t.onViewScroll,element:"el",scope:t},boxready:t.onViewResize,resize:t.onViewResize,refresh:t.onViewRefresh,scope:t,destroyable:!0};!t.variableRowHeight&&n.ownerLockable&&(n.ownerLockable.syncRowHeight=!1);(n.isTree||n.ownerLockable&&n.ownerLockable.isTree)&&(i.blockRefresh=!1,i.loadMask=!0);i.positionBody&&(r.refresh=t.onViewRefresh);t.grid=n;t.view=i;i.bufferedRenderer=t;i.preserveScrollOnRefresh=!0;t.bindStore(i.dataSource);i.getViewRange=function(){return t.getViewRange()};t.position=0;t.gridListeners=n.on("reconfigure",t.onReconfigure,t);t.viewListeners=i.on(r)},bindStore:function(n){var t=this;if(t.store&&t.unbindStore(),t.storeListeners=n.on({scope:t,clear:t.onStoreClear,destroyable:!0}),t.store=n,t.view.componentLayout.layoutCount)t.onViewResize(t.view,0,t.view.getHeight())},onReconfigure:function(n,t){t&&t!==this.store&&this.bindStore(t)},unbindStore:function(){this.storeListeners.destroy();this.store=null},onStoreClear:function(){var n=this;n.view.rendered&&!n.store.isDestroyed&&(n.scrollTop!==0&&(n.ignoreNextScrollEvent=!0,n.view.el.dom.scrollTop=n.bodyTop=n.scrollTop=0),n.position=n.scrollHeight=0,n.lastScrollDirection=n.scrollOffset=null,delete n.rowHeight)},onViewRefresh:function(){var n=this,t=n.view,r=n.scrollHeight,i;if(t.all.getCount()&&delete n.rowHeight,i=n.getScrollHeight(),r&&i==r||n.stretchView(t,i),n.scrollTop!==t.el.dom.scrollTop)n.onViewScroll();else if(n.setBodyTop(n.bodyTop),t.all.getCount()){n.viewSize=0;n.onViewResize(t,null,t.getHeight())}},onViewResize:function(n,t,i,r,u){if(!u||i!==u){var f=this,e;e=Math.ceil(i/f.rowHeight)+f.trailingBufferZone+f.leadingBufferZone;f.viewSize=f.setViewSize(e)}},stretchView:function(n,t){var i=this,u=i.store.buffered?i.store.getTotalCount():i.store.getCount(),r;i.stretcher?i.stretcher.dom.style.marginTop=t-1+"px":(r=n.el,n.refreshCounter&&n.fixedNodes++,u&&i.view.all.endIndex===u-1&&(t=i.bodyTop+n.body.dom.offsetHeight),this.stretcher=r.createChild({style:{width:"1px",height:"1px",marginTop:t-1+"px",left:0,position:"absolute"}},r.dom.firstChild))},setViewSize:function(n){if(n!==this.viewSize){this.scrollTop=this.view.el.dom.scrollTop;var t=this,i=t.store,e=t.view.all.getCount(),u,f,r=t.lockingPartner;t.viewSize=i.viewSize=n;e&&(u=t.view.all.startIndex,f=Math.min(u+n-1,(i.buffered?i.getTotalCount():i.getCount())-1),r&&r.disable(),t.renderRange(u,f),r&&r.enable())}return n},getViewRange:function(){var n=this,t=n.view.all,i=n.store;return i.data.getCount()?i.getRange(t.startIndex,t.startIndex+(n.viewSize||n.store.defaultViewSize)-1):[]},scrollTo:function(n,t,i,r){var u=this,f=u.view,s=f.el.dom,e=u.store,l=e.buffered?e.getTotalCount():e.getCount(),h,a,c,v,o;n=Math.min(Math.max(n,0),l-1);h=Math.max(Math.min(n-(u.leadingBufferZone+u.trailingBufferZone)/2,l-u.viewSize+1),0);o=h*u.rowHeight;a=Math.min(h+u.viewSize-1,l-1);e.getRange(h,a,{callback:function(h,l,a){u.renderRange(l,a,!0);c=e.data.getRange(n,n)[0];v=f.getNode(c,!1);f.body.dom.style.top=o+"px";u.position=u.scrollTop=s.scrollTop=o=Math.min(Math.max(0,o-f.body.getOffsetsTo(v)[1]),s.scrollHeight-s.clientHeight);Ext.isIE&&(s.scrollTop=o);t&&f.selModel.select(c);i&&i.call(r||u,n,c)}})},onViewScroll:function(){var n=this,t=n.store,e=t.buffered?t.getTotalCount():t.getCount(),i,r,u=n.scrollTop=n.view.el.dom.scrollTop,f=!1;if(n.ignoreNextScrollEvent){n.ignoreNextScrollEvent=!1;return}n.disabled||e<n.viewSize||(i=u-n.position,r=i>0?1:-1,(Math.abs(i)>=20||r!==n.lastScrollDirection)&&(n.lastScrollDirection=r,n.handleViewScroll(n.lastScrollDirection),f=!0));f||n.lockingPartner&&n.lockingPartner.scrollTop!==u&&(n.lockingPartner.view.el.dom.scrollTop=u)},handleViewScroll:function(n){var t=this,i=t.view.all,u=t.store,e=t.viewSize,o=u.buffered?u.getTotalCount():u.getCount(),r,f;if(n==-1?i.startIndex&&t.getFirstVisibleRowIndex()-i.startIndex<t.numFromEdge&&(r=Math.max(0,t.getLastVisibleRowIndex()+t.trailingBufferZone-e)):i.endIndex<o-1&&i.endIndex-t.getLastVisibleRowIndex()<t.numFromEdge&&(r=Math.max(0,t.getFirstVisibleRowIndex()-t.trailingBufferZone)),r!=null&&(f=Math.min(r+e-1,o-1),r!==i.startIndex||f!==i.endIndex)){t.renderRange(r,f);return}t.lockingPartner&&t.lockingPartner.view.el&&t.lockingPartner.scrollTop!==t.scrollTop&&(t.lockingPartner.view.el.dom.scrollTop=t.scrollTop)},renderRange:function(n,t,i){var r=this,u=r.store;if(u.rangeCached(n,t))if(r.cancelLoad(),r.synchronousRender||i)r.onRangeFetched(null,n,t);else r.renderTask||(r.renderTask=new Ext.util.DelayedTask(r.onRangeFetched,r,null,!1)),r.renderTask.delay(1,null,null,[null,n,t]);else r.attemptLoad(n,t)},onRangeFetched:function(n,t,i,r){var f=this,s=f.view,l,u=s.all,e,a=0,h=t*f.rowHeight,c,o=f.lockingPartner;if(!s.isDestroyed&&(n||(n=f.store.getRange(t,i),n))&&((t>u.endIndex||i<u.startIndex)&&(u.clear(!0),c=h),u.getCount()?i>u.endIndex?(e=Math.max(t-u.startIndex,0),f.variableRowHeight&&(a=u.item(u.startIndex+e,!0).offsetTop),u.scroll(Ext.Array.slice(n,u.endIndex+1-t),1,e,t,i),c=f.variableRowHeight?f.bodyTop+a:h):(e=Math.max(u.endIndex-i,0),l=u.startIndex,u.scroll(Ext.Array.slice(n,0,u.startIndex-t),-1,e,t,i),c=f.variableRowHeight?f.bodyTop-u.item(l,!0).offsetTop:h):s.doAdd(n,t),f.position=f.scrollTop,s.positionBody&&f.setBodyTop(c,h),o&&!o.disabled&&!r)){o.onRangeFetched(n,t,i,!0);o.scrollTop!==f.scrollTop&&(o.view.el.dom.scrollTop=f.scrollTop)}},setBodyTop:function(n,t){var i=this,r=i.view,u=i.store,f=r.body.dom,e;n=Math.floor(n);t!==undefined&&(e=n-t,n=t);f.style.position="absolute";f.style.top=(i.bodyTop=n)+"px";e&&(i.scrollTop=i.position=r.el.dom.scrollTop-=e);r.all.endIndex===(u.buffered?u.getTotalCount():u.getCount())-1&&i.stretchView(r,i.bodyTop+f.offsetHeight)},getFirstVisibleRowIndex:function(n,t,i,r){var u=this,o=u.view,e=o.all,h=e.elements,c=o.el.dom.clientHeight,f,s;if(e.getCount()&&u.variableRowHeight){if(arguments.length)f=n+Math.floor((t-n)/2);else{if(n=e.startIndex,t=e.endIndex,i=u.scrollTop,r=i+c,u.bodyTop>r||u.bodyTop+o.body.getHeight()<i)return Math.floor(u.scrollTop/u.rowHeight);f=n+Math.min(u.numFromEdge+(u.lastScrollDirection==-1?u.leadingBufferZone:u.trailingBufferZone),Math.floor((t-n)/2))}if(s=u.bodyTop+h[f].offsetTop,s+h[f].offsetHeight<i)return u.getFirstVisibleRowIndex(f+1,t,i,r);if(s<=i)return f;if(f!==n)return u.getFirstVisibleRowIndex(n,f-1,i,r)}return Math.floor(u.scrollTop/u.rowHeight)},getLastVisibleRowIndex:function(n,t,i,r){var u=this,o=u.view,e=o.all,c=e.elements,s=o.el.dom.clientHeight,f,h,l;if(e.getCount()&&u.variableRowHeight){if(arguments.length)f=n+Math.floor((t-n)/2);else{if(n=e.startIndex,t=e.endIndex,i=u.scrollTop,r=i+s,u.bodyTop>r||u.bodyTop+o.body.getHeight()<i)return Math.floor(u.scrollTop/u.rowHeight)+Math.ceil(s/u.rowHeight);f=t-Math.min(u.numFromEdge+(u.lastScrollDirection==1?u.leadingBufferZone:u.trailingBufferZone),Math.floor((t-n)/2))}if(h=u.bodyTop+c[f].offsetTop,h>r)return u.getLastVisibleRowIndex(n,f-1,i,r);if(l=h+c[f].offsetHeight,l>=r)return f;if(f!==t)return u.getLastVisibleRowIndex(f+1,t,i,r)}return u.getFirstVisibleRowIndex()+Math.ceil(s/u.rowHeight)},getScrollHeight:function(){var n=this,t=n.view,i=n.store,r=!n.hasOwnProperty("rowHeight"),u=n.store.getCount();return u?(r&&t.all.getCount()&&(n.rowHeight=Math.floor(t.body.getHeight()/t.all.getCount())),this.scrollHeight=Math.floor((i.buffered?i.getTotalCount():i.getCount())*n.rowHeight)):0},attemptLoad:function(n,t){var i=this;i.scrollToLoadBuffer?(i.loadTask||(i.loadTask=new Ext.util.DelayedTask(i.doAttemptLoad,i,[])),i.loadTask.delay(i.scrollToLoadBuffer,i.doAttemptLoad,i,[n,t])):i.store.getRange(n,t,{callback:i.onRangeFetched,scope:i,fireEvent:!1})},cancelLoad:function(){this.loadTask&&this.loadTask.cancel()},doAttemptLoad:function(n,t){this.store.getRange(n,t,{callback:this.onRangeFetched,scope:this,fireEvent:!1})},destroy:function(){var n=this,t=n.view;t&&t.el&&t.el.un("scroll",n.onViewScroll,n);Ext.destroy(n.viewListeners,n.storeListeners,n.gridListeners)}},0,0,0,0,["plugin.bufferedrenderer"],0,[Ext.grid.plugin,"BufferedRenderer"],0);Ext.cmd.derive("Ext.grid.plugin.Editing",Ext.AbstractPlugin,{clicksToEdit:2,triggerEvent:undefined,relayedEvents:["beforeedit","edit","validateedit","canceledit"],defaultFieldXType:"textfield",editStyle:"",constructor:function(){var n=this;n.addEvents("beforeedit","edit","validateedit","canceledit");n.callParent(arguments);n.mixins.observable.constructor.call(n);n.on("edit",function(t,i){n.fireEvent("afteredit",t,i)})},init:function(n){var t=this;t.grid=n;t.view=n.view;t.initEvents();t.mon(n,{reconfigure:t.onReconfigure,scope:t,beforerender:{fn:t.onReconfigure,single:!0,scope:t}});n.relayEvents(t,t.relayedEvents);t.grid.ownerLockable&&t.grid.ownerLockable.relayEvents(t,t.relayedEvents);n.isEditable=!0;n.editingPlugin=n.view.editingPlugin=t},onReconfigure:function(){var n=this.grid;n=n.ownerLockable?n.ownerLockable:n;this.initFieldAccessors(n.getView().getGridColumns())},destroy:function(){var n=this,t=n.grid;Ext.destroy(n.keyNav);n.clearListeners();t&&(n.removeFieldAccessors(t.columnManager.getColumns()),t.editingPlugin=t.view.editingPlugin=n.grid=n.view=n.editor=n.keyNav=null)},getEditStyle:function(){return this.editStyle},initFieldAccessors:function(n){n.isGroupHeader?n=n.getGridColumns():Ext.isArray(n)||(n=[n]);for(var r=this,u=n.length,t,i=0;i<u;i++)t=n[i],t.getEditor||(t.getEditor=function(n,t){return r.getColumnField(this,t)}),t.hasEditor||(t.hasEditor=function(){return r.hasColumnField(this)}),t.setEditor||(t.setEditor=function(n){r.setColumnField(this,n)})},removeFieldAccessors:function(n){n.isGroupHeader?n=n.getGridColumns():Ext.isArray(n)||(n=[n]);for(var r=n.length,i,t=0;t<r;t++)i=n[t],i.getEditor=i.hasEditor=i.setEditor=null},getColumnField:function(n,t){var i=n.field;return i&&i.isFormField||(i=n.field=this.createColumnField(n,t)),i},hasColumnField:function(n){return!!n.field},setColumnField:function(n,t){n.field=t;n.field=this.createColumnField(n)},createColumnField:function(n,t){var i=n.field;return!i&&n.editor&&(i=n.editor,n.editor=null),!i&&t&&(i=t),i&&(i.isFormField?i.column=n:(i=Ext.isString(i)?{name:n.dataIndex,xtype:i,column:n}:Ext.apply({name:n.dataIndex,column:n},i),i=Ext.ComponentManager.create(i,this.defaultFieldXType)),n.field=i),i},initEvents:function(){var n=this;n.initEditTriggers();n.initCancelTriggers()},initCancelTriggers:Ext.emptyFn,initEditTriggers:function(){var n=this,t=n.view;n.triggerEvent=="cellfocus"?n.mon(t,"cellfocus",n.onCellFocus,n):n.triggerEvent=="rowfocus"?n.mon(t,"rowfocus",n.onRowFocus,n):(t.getSelectionModel().isCellModel&&(t.onCellFocus=Ext.Function.bind(n.beforeViewCellFocus,n)),n.mon(t,n.triggerEvent||"cell"+(n.clicksToEdit===1?"click":"dblclick"),n.onCellClick,n));n.initAddRemoveHeaderEvents();t.on("render",n.initKeyNavHeaderEvents,n,{single:!0})},beforeViewCellFocus:function(n){!this.view.selModel.keyNavigation&&this.editing&&this.isCellEditable&&this.isCellEditable(n.row,n.columnHeader)||this.view.focusCell.apply(this.view,arguments)},onRowFocus:function(n,t){this.startEdit(t,0)},onCellFocus:function(n,t,i){this.startEdit(i.row,i.column)},onCellClick:function(n,t,i,r,u,f,e){n.expanderSelector&&e.getTarget(n.expanderSelector)||this.startEdit(r,n.ownerCt.columnManager.getHeaderAtIndex(i))},initAddRemoveHeaderEvents:function(){var n=this;n.mon(n.grid.headerCt,{scope:n,add:n.onColumnAdd,remove:n.onColumnRemove,columnmove:n.onColumnMove})},initKeyNavHeaderEvents:function(){var n=this;n.keyNav=Ext.create("Ext.util.KeyNav",n.view.el,{enter:n.onEnterKey,esc:n.onEscKey,scope:n})},onColumnAdd:function(n,t){this.initFieldAccessors(t)},onColumnRemove:function(n,t){this.removeFieldAccessors(t)},onColumnMove:function(n,t){this.initFieldAccessors(t)},onEnterKey:function(){var u=this,f=u.grid,i=f.getSelectionModel(),n,r,t;i.getCurrentPosition&&(r=i.getCurrentPosition())?(n=r.record,t=r.columnHeader):(n=i.getLastSelected(),t=f.columnManager.getHeaderAtIndex(0));n&&t&&u.startEdit(n,t)},onEscKey:function(){return this.cancelEdit()},beforeEdit:Ext.emptyFn,startEdit:function(n,t){var i=this,r,u=i.grid.lockable?i.grid:i.view;if(!u.componentLayoutCounter){u.on({boxready:Ext.Function.bind(i.startEdit,i,[n,t]),single:!0});return!1}return i.grid.collapsed||!i.grid.view.isVisible(!0)?!1:(r=i.getEditingContext(n,t),r==null)?!1:!i.preventBeforeCheck&&(i.beforeEdit(r)===!1||i.fireEvent("beforeedit",i,r)===!1||r.cancel)?!1:(i.editing=!0,r)},getEditingContext:function(n,t){var f=this,e=f.grid,i=f.view,r=i.getNode(n,!0),u,o;if(r)return(t=e.columnManager.getVisibleHeaderClosestToIndex(Ext.isNumber(t)?t:t.getVisibleIndex()),!t)?void 0:(o=t.getVisibleIndex(),Ext.isNumber(n)?(u=n,n=i.getRecord(r)):u=i.indexOf(r),!n)?void 0:{grid:e,view:i,store:i.dataSource,record:n,field:t.dataIndex,value:n.get(t.dataIndex),row:r,column:t,rowIdx:u,colIdx:o}},cancelEdit:function(){var n=this;n.editing=!1;n.fireEvent("canceledit",n,n.context)},completeEdit:function(){var n=this;n.editing&&n.validateEdit()&&n.fireEvent("edit",n,n.context);n.context=null;n.editing=!1},validateEdit:function(){var n=this,t=n.context;return n.fireEvent("validateedit",n,t)!==!1&&!t.cancel}},1,0,0,0,["editing.editing"],[["observable",Ext.util.Observable]],[Ext.grid.plugin,"Editing"],0);Ext.cmd.derive("Ext.grid.plugin.CellEditing",Ext.grid.plugin.Editing,{lockableScope:"both",init:function(){var t=this,n=t.lockingPartner;t.callParent(arguments);t.editors=n?n.editors?n.editors:n.editors=new Ext.util.MixedCollection(!1,function(n){return n.editorId}):new Ext.util.MixedCollection(!1,function(n){return n.editorId})},onReconfigure:function(n,t,i){i&&this.editors.clear();this.callParent()},destroy:function(){var n=this;n.editors&&(n.editors.each(Ext.destroy,Ext),n.editors.clear());n.callParent(arguments)},onBodyScroll:function(){var t=this,n=t.getActiveEditor(),i=t.view.el.getScroll();n&&n.editing&&n.editingPlugin===t&&(i.top!==t.scroll.top?n.field&&(n.field.triggerBlur?n.field.triggerBlur():n.field.blur()):n.realign());t.scroll=i},initCancelTriggers:function(){var n=this,t=n.grid,i=t.view;n.mon(i,"bodyscroll",n.onBodyScroll,n);n.mon(t,{columnresize:n.cancelEdit,columnmove:n.cancelEdit,scope:n})},isCellEditable:function(n,t){var i=this,r=i.getEditingContext(n,t);if(i.grid.view.isVisible(!0)&&r&&(t=r.column,n=r.record,t&&i.getEditor(n,t)))return!0},startEdit:function(n,t,i){var r=this,u;return!i&&(r.preventBeforeCheck=!0,i=r.callParent(arguments),delete r.preventBeforeCheck,i===!1)?!1:i&&r.grid.view.isVisible(!0)?(n=i.record,t=i.column,r.completeEdit(),t&&!t.getEditor(n))?!1:(r.context=i,i.originalValue=i.value=n.get(t.dataIndex),r.beforeEdit(i)===!1||r.fireEvent("beforeedit",r,i)===!1||i.cancel)?!1:(u=r.getEditor(n,t),r.grid.view.cancelFocus(),r.view.scrollCellIntoView(r.getCell(n,t)),u)?(r.showEditor(u,i,i.value),!0):!1:void 0},showEditor:function(n,t,i){var r=this,e=t.record,o=t.column,f=r.grid.getSelectionModel(),u=f.getCurrentPosition(),s=u&&u.view;if(s&&s!==r.view)return r.lockingPartner.showEditor(n,r.lockingPartner.getEditingContext(u.record,u.columnHeader),i);r.setEditingContext(t);r.setActiveEditor(n);r.setActiveRecord(e);r.setActiveColumn(o);f.selectByPosition&&(!u||u.column!==t.colIdx||u.row!==t.rowIdx)&&f.selectByPosition({row:t.rowIdx,column:t.colIdx,view:r.view});n.startEdit(r.getCell(e,o),i,t);r.editing=!0;r.scroll=r.view.el.getScroll()},completeEdit:function(){var n=this.getActiveEditor();n&&(n.completeEdit(),this.editing=!1)},setEditingContext:function(n){this.context=n;this.lockingPartner&&(this.lockingPartner.context=n)},setActiveEditor:function(n){this.activeEditor=n;this.lockingPartner&&(this.lockingPartner.activeEditor=n)},getActiveEditor:function(){return this.activeEditor},setActiveColumn:function(n){this.activeColumn=n;this.lockingPartner&&(this.lockingPartner.activeColumn=n)},getActiveColumn:function(){return this.activeColumn},setActiveRecord:function(n){this.activeRecord=n;this.lockingPartner&&(this.lockingPartner.activeRecord=n)},getActiveRecord:function(){return this.activeRecord},getEditor:function(n,t){var r=this,u=r.editors,f=t.getItemId(),i=u.getByKey(f),e=r.grid.ownerLockable||r.grid;if(!i){if(i=t.getEditor(n),!i)return!1;i instanceof Ext.grid.CellEditor?i.floating=!0:i=new Ext.grid.CellEditor({floating:!0,editorId:f,field:i});e.add(i);i.on({scope:r,specialkey:r.onSpecialKey,complete:r.onEditComplete,canceledit:r.cancelEdit});t.on("removed",r.cancelActiveEdit,r);u.add(i)}return t.isTreeColumn&&(i.isForTree=t.isTreeColumn,i.addCls(Ext.baseCSSPrefix+"tree-cell-editor")),i.grid=r.grid,i.editingPlugin=r,i},cancelActiveEdit:function(n){var t=this.context;t&&t.column===n&&this.cancelEdit()},setColumnField:function(n){var t=this.editors.getByKey(n.getItemId());Ext.destroy(t,n.field);this.editors.removeAtKey(n.getItemId());this.callParent(arguments)},getCell:function(n,t){return this.grid.getView().getCell(n,t)},onSpecialKey:function(n,t,i){var r;if(i.getKey()===i.TAB){if(i.stopEvent(),n)n.onEditorTab(i);if(r=n.up("tablepanel").getSelectionModel(),r.onEditorTab)return r.onEditorTab(n.editingPlugin,i)}},onEditComplete:function(n,t,i){var r=this,e=r.getActiveColumn(),u=r.context,f;if(e){if(f=u.record,r.setActiveEditor(null),r.setActiveColumn(null),r.setActiveRecord(null),u.value=t,!r.validateEdit())return;f.isEqual(t,i)||f.set(e.dataIndex,t);u.view.focus(!1,!0);r.fireEvent("edit",r,u);r.editing=!1}},cancelEdit:function(){var n=this,t=n.getActiveEditor();if(n.setActiveEditor(null),n.setActiveColumn(null),n.setActiveRecord(null),t){t.cancelEdit();n.context.view.focus();n.callParent(arguments);return}return!0},startEditByPosition:function(n){return n.isCellContext||(n=new Ext.grid.CellContext(this.view).setPosition(n)),n.setColumn(this.view.getHeaderCt().getVisibleHeaderClosestToIndex(n.column).getIndex()),this.startEdit(n.record,n.columnHeader)}},0,0,0,0,["plugin.cellediting"],0,[Ext.grid.plugin,"CellEditing"],0);Ext.cmd.derive("Ext.grid.plugin.DivRenderer",Ext.AbstractPlugin,{tableTpl:['<div id="{view.id}-table" class="'+Ext.baseCSSPrefix+"{view.id}-table "+Ext.baseCSSPrefix+'grid-table" style="{tableStyle}">',"{%","values.view.renderRows(values.rows, values.viewStartIndex, out);","%}","<\/div>",{priority:0}],rowTpl:["{%",'var dataRowCls = values.recordIndex === -1 ? "" : " '+Ext.baseCSSPrefix+'grid-data-row";',"%}",'<dl {[values.rowId ? ("id=\\"" + values.rowId + "\\"") : ""]} ','data-boundView="{view.id}" ','data-recordId="{record.internalId}" ','data-recordIndex="{recordIndex}" ','class="{[values.itemClasses.join(" ")]} {[values.rowClasses.join(" ")]}{[dataRowCls]}" ','style="position:relative" ',"{rowAttr:attributes}>",'<tpl for="columns">{%',"parent.view.renderCell(values, parent.record, parent.recordIndex, xindex - 1, out, parent)","%}","<\/tpl>","<\/dl>",{priority:0}],cellTpl:['<dt class="{tdCls}" {tdAttr} data-cellIndex="{cellIndex}">','<div {unselectableAttr} class="'+Ext.baseCSSPrefix+'grid-cell-inner"','style="text-align:{align};<tpl if="style">{style}<\/tpl>">{value}<\/div>',"<\/dt>",{priority:0}],selectors:{bodySelector:"div",nodeContainerSelector:"div",itemSelector:"dl."+Ext.baseCSSPrefix+"grid-row",dataRowSelector:"dl."+Ext.baseCSSPrefix+"grid-data-row",cellSelector:"dt."+Ext.baseCSSPrefix+"grid-cell",innerSelector:"div."+Ext.baseCSSPrefix+"grid-cell-inner",getNodeContainerSelector:function(){return this.getBodySelector()},getNodeContainer:function(){return this.el.getById(this.id+"-table",!0)}},init:function(n){var t=n.getView();t.tableTpl=Ext.XTemplate.getTpl(this,"tableTpl");t.rowTpl=Ext.XTemplate.getTpl(this,"rowTpl");t.cellTpl=Ext.XTemplate.getTpl(this,"cellTpl");Ext.apply(t,this.selectors)}},0,0,0,0,["plugin.divrenderer"],0,[Ext.grid.plugin,"DivRenderer"],0);Ext.cmd.derive("Ext.grid.plugin.DragDrop",Ext.AbstractPlugin,{dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:!0,enableDrag:!0,containerScroll:!1,init:function(n){n.on("render",this.onViewRender,this,{single:!0})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var n=this;n.dragZone&&n.dragZone.unlock();n.dropZone&&n.dropZone.unlock();n.callParent()},disable:function(){var n=this;n.dragZone&&n.dragZone.lock();n.dropZone&&n.dropZone.lock();n.callParent()},onViewRender:function(n){var t=this,i;t.enableDrag&&(t.containerScroll&&(i=n.getEl()),t.dragZone=new Ext.view.DragZone({view:n,ddGroup:t.dragGroup||t.ddGroup,dragText:t.dragText,containerScroll:t.containerScroll,scrollEl:i}));t.enableDrop&&(t.dropZone=new Ext.grid.ViewDropZone({view:n,ddGroup:t.dropGroup||t.ddGroup}))}},0,0,0,0,["plugin.gridviewdragdrop"],0,[Ext.grid.plugin,"DragDrop"],0);Ext.cmd.derive("Ext.grid.plugin.RowEditing",Ext.grid.plugin.Editing,{lockableScope:"top",editStyle:"row",autoCancel:!0,errorSummary:!0,constructor:function(){var n=this;n.callParent(arguments);n.clicksToMoveEditor||(n.clicksToMoveEditor=n.clicksToEdit);n.autoCancel=!!n.autoCancel},destroy:function(){Ext.destroy(this.editor);this.callParent(arguments)},startEdit:function(){var t=this,i=t.getEditor(),n;return i.beforeEdit()!==!1&&(n=t.callParent(arguments),n)?(t.context=n,t.lockingPartner&&t.lockingPartner.cancelEdit(),i.startEdit(n.record,n.column,n),!0):!1},cancelEdit:function(){var n=this;if(n.editing){n.getEditor().cancelEdit();n.callParent(arguments);return}return!0},completeEdit:function(){var n=this;n.editing&&n.validateEdit()&&(n.editing=!1,n.fireEvent("edit",n,n.context))},validateEdit:function(){for(var n=this,s=n.editor,u=n.context,h=u.record,f={},e={},o=s.query(">[isFormField]"),c=o.length,i,r,t=0;t<c;t++)r=o[t],i=r.name,f[i]=r.getValue(),e[i]=h.get(i);return Ext.apply(u,{newValues:f,originalValues:e}),n.callParent(arguments)&&n.getEditor().completeEdit()},getEditor:function(){var n=this;return n.editor||(n.editor=n.initEditor()),n.editor},initEditor:function(){return new Ext.grid.RowEditor(this.initEditorConfig())},initEditorConfig:function(){for(var n=this,f=n.grid,e=n.view,o=f.headerCt,r=["saveBtnText","cancelBtnText","errorsText","dirtyText"],s=r.length,u={autoCancel:n.autoCancel,errorSummary:n.errorSummary,fields:o.getGridColumns(),hidden:!0,view:e,editingPlugin:n},i,t=0;t<s;t++)i=r[t],Ext.isDefined(n[i])&&(u[i]=n[i]);return u},initEditTriggers:function(){var n=this,t=n.view,i=n.clicksToMoveEditor===1?"click":"dblclick";n.callParent(arguments);n.clicksToMoveEditor!==n.clicksToEdit&&n.mon(t,"cell"+i,n.moveEditorByClick,n);t.on({render:function(){n.mon(n.grid.headerCt,{scope:n,columnresize:n.onColumnResize,columnhide:n.onColumnHide,columnshow:n.onColumnShow})},single:!0})},startEditByClick:function(){var n=this;n.editing&&n.clicksToMoveEditor!==n.clicksToEdit||n.callParent(arguments)},moveEditorByClick:function(){var n=this;n.editing&&n.superclass.onCellClick.apply(n,arguments)},onColumnAdd:function(n,t){if(t.isHeader){var r=this,i;if(r.initFieldAccessors(t),i=r.editor,i&&i.onColumnAdd)i.onColumnAdd(t)}},onColumnRemove:function(n,t){if(t.isHeader){var r=this,i=r.getEditor();if(i&&i.onColumnRemove)i.onColumnRemove(n,t);r.removeFieldAccessors(t)}},onColumnResize:function(n,t,i){if(t.isHeader){var u=this,r=u.getEditor();if(r&&r.onColumnResize)r.onColumnResize(t,i)}},onColumnHide:function(n,t){var r=this,i=r.getEditor();if(i&&i.onColumnHide)i.onColumnHide(t)},onColumnShow:function(n,t){var r=this,i=r.getEditor();if(i&&i.onColumnShow)i.onColumnShow(t)},onColumnMove:function(n,t,i,r){var f=this,u=f.getEditor();if(f.initFieldAccessors(t),u&&u.onColumnMove)u.onColumnMove(t,i,r)},setColumnField:function(n){var t=this,i=t.getEditor();i.removeField(n);t.callParent(arguments);t.getEditor().setField(n)}},1,0,0,0,["plugin.rowediting"],0,[Ext.grid.plugin,"RowEditing"],0);Ext.cmd.derive("Ext.grid.plugin.RowExpander",Ext.AbstractPlugin,{lockableScope:"normal",rowBodyTpl:null,expandOnEnter:!0,expandOnDblClick:!0,selectRowOnExpand:!1,rowBodyTrSelector:".x-grid-rowbody-tr",rowBodyHiddenCls:"x-grid-row-body-hidden",rowCollapsedCls:"x-grid-row-collapsed",addCollapsedCls:{before:function(n){var t=this.rowExpander;t.recordsExpanded[n.record.internalId]||n.itemClasses.push(t.rowCollapsedCls)},priority:500},setCmp:function(n){var t=this,r,i;t.callParent(arguments);t.recordsExpanded={};t.rowBodyTpl=Ext.XTemplate.getTpl(t,"rowBodyTpl");r=this.rowBodyTpl;i=[{ftype:"rowbody",lockableScope:"normal",recordsExpanded:t.recordsExpanded,rowBodyHiddenCls:t.rowBodyHiddenCls,rowCollapsedCls:t.rowCollapsedCls,setupRowData:t.getRowBodyFeatureData,setup:t.setup,getRowBodyContents:function(n){return r.applyTemplate(n.getData())}},{ftype:"rowwrap",lockableScope:"normal"}];n.features=n.features?Ext.Array.push(i,n.features):i},init:function(n){var t=this,i=n,r,u;t.callParent(arguments);t.grid=n;r=t.view=n.getView();t.addExpander();t.bindView(r);r.addRowTpl(t.addCollapsedCls).rowExpander=t;n.ownerLockable&&(i=n.ownerLockable,i.syncRowHeight=!1,u=i.lockedGrid.getView(),t.bindView(u),u.addRowTpl(t.addCollapsedCls).rowExpander=t,i.mon(i,"columnschanged",t.refreshRowHeights,t),i.mon(i.store,"datachanged",t.refreshRowHeights,t));i.on("beforereconfigure",t.beforeReconfigure,t);if(n.ownerLockable&&!n.rowLines)r.on("rowfocus",t.refreshRowHeights,t)},beforeReconfigure:function(n,t,i){var r=this.getHeaderConfig();r.locked=!0;i.unshift(r)},addExpander:function(){var t=this,n=t.grid,i=t.getHeaderConfig();n.ownerLockable&&(n=n.ownerLockable.lockedGrid,n.width+=i.width);n.headerCt.insert(0,i)},getRowBodyFeatureData:function(n,t,i){var r=this;r.self.prototype.setupRowData.apply(r,arguments);i.rowBody=r.getRowBodyContents(n);i.rowBodyCls=r.recordsExpanded[n.internalId]?"":r.rowBodyHiddenCls},setup:function(n,t){var i=this;i.self.prototype.setup.apply(i,arguments);i.grid.ownerLockable||(t.rowBodyColspan-=1)},bindView:function(n){if(this.expandOnEnter)n.on("itemkeydown",this.onKeyDown,this);if(this.expandOnDblClick)n.on("itemdblclick",this.onDblClick,this)},onKeyDown:function(n,t,i,r,u){if(u.getKey()==u.ENTER)for(var o=n.store,e=n.getSelectionModel().getSelection(),s=e.length,f=0;f<s;f++)r=o.indexOf(e[f]),this.toggleRow(r,e[f])},onDblClick:function(n,t,i,r){this.toggleRow(r,t)},toggleRow:function(n,t){var i=this,u=i.view,l=u.getNode(n),r=Ext.fly(l,"_rowExpander"),h=r.down(i.rowBodyTrSelector,!0),f=r.hasCls(i.rowCollapsedCls),e=f?"removeCls":"addCls",o,c,s;Ext.suspendLayouts();r[e](i.rowCollapsedCls);Ext.fly(h)[e](i.rowBodyHiddenCls);i.recordsExpanded[t.internalId]=f;u.refreshSize();i.grid.ownerLockable?(o=i.grid.ownerLockable,s=o.getView(),u=o.lockedGrid.view,c=r.getHeight(),r=Ext.fly(u.getNode(n),"_rowExpander"),r.setHeight(c),r[e](i.rowCollapsedCls),u.refreshSize()):s=u;s.fireEvent(f?"expandbody":"collapsebody",r.dom,t,h);Ext.resumeLayouts(!0)},refreshRowHeights:function(){Ext.globalEvents.on({idle:this.doRefreshRowHeights,scope:this,single:!0})},doRefreshRowHeights:function(){var u=this,o=u.recordsExpanded,f,e,s=u.grid.ownerLockable.lockedGrid.view,h=u.grid.ownerLockable.normalGrid.view,n,t,i,r;for(f in o)o.hasOwnProperty(f)&&(e=this.view.store.data.get(f),t=s.getNode(e,!1),n=h.getNode(e,!1),t.style.height=n.style.height="",i=t.offsetHeight,r=n.offsetHeight,r>i?t.style.height=r+"px":i>r&&(n.style.height=i+"px"))},getHeaderConfig:function(){var n=this;return{width:24,lockable:!1,sortable:!1,resizable:!1,draggable:!1,hideable:!1,menuDisabled:!0,tdCls:Ext.baseCSSPrefix+"grid-cell-special",innerCls:Ext.baseCSSPrefix+"grid-cell-inner-row-expander",renderer:function(t,i){return n.grid.ownerLockable||(i.tdAttr+=' rowspan="2"'),'<div class="'+Ext.baseCSSPrefix+'grid-row-expander"><\/div>'},processEvent:function(t,i,r,u,f,e,o){if(t=="mousedown"&&e.getTarget(".x-grid-row-expander"))return n.toggleRow(u,o),n.selectRowOnExpand}}}},0,0,0,0,["plugin.rowexpander"],0,[Ext.grid.plugin,"RowExpander"],0);Ext.cmd.derive("Ext.grid.property.Grid",Ext.grid.Panel,{alternateClassName:"Ext.grid.PropertyGrid",valueField:"value",nameField:"name",inferTypes:!0,enableColumnMove:!1,columnLines:!0,stripeRows:!1,trackMouseOver:!1,clicksToEdit:1,enableHdMenu:!1,gridCls:Ext.baseCSSPrefix+"property-grid",initComponent:function(){var n=this;n.source=n.source||{};n.addCls(n.gridCls);n.plugins=n.plugins||[];n.plugins.push(new Ext.grid.plugin.CellEditing({clicksToEdit:n.clicksToEdit,startEdit:function(t){return this.self.prototype.startEdit.call(this,t,n.headerCt.child("#"+n.valueField))}}));n.selModel={selType:"cellmodel",onCellSelect:function(n){return n.column!=1&&(n.column=1),this.self.prototype.onCellSelect.call(this,n)}};n.sourceConfig=Ext.apply({},n.sourceConfig);n.store||(n.propStore=n.store=new Ext.grid.property.Store(n,n.source));n.configure(n.sourceConfig);n.sortableColumns&&n.store.sort("name","ASC");n.columns=new Ext.grid.property.HeaderContainer(n,n.store);n.addEvents("beforepropertychange","propertychange");n.callParent();n.getView().walkCells=this.walkCells;n.editors={date:new Ext.grid.CellEditor({field:new Ext.form.field.Date({selectOnFocus:!0})}),string:new Ext.grid.CellEditor({field:new Ext.form.field.Text({selectOnFocus:!0})}),number:new Ext.grid.CellEditor({field:new Ext.form.field.Number({selectOnFocus:!0})}),boolean:new Ext.grid.CellEditor({field:new Ext.form.field.ComboBox({editable:!1,store:[[!0,n.headerCt.trueText],[!1,n.headerCt.falseText]]})})};n.store.on("update",n.onUpdate,n)},configure:function(n){var t=this,o=t.store,r=0,s=t.store.getCount(),h=t.nameField,c=t.valueField,u,i,f,e;if(t.configureLegacy(n),t.inferTypes)for(;r<s;++r)f=o.getAt(r),u=f.get(h),t.getConfig(u,"type")||(i=f.get(c),e=Ext.isDate(i)?"date":Ext.isNumber(i)?"number":Ext.isBoolean(i)?"boolean":"string",t.setConfig(u,"type",e))},getConfig:function(n,t,i){var r=this.sourceConfig[n],u;return r&&(u=r[t]),u||i},setConfig:function(n,t,i){var u=this.sourceConfig,r=u[n];return r?r.__copied||(r=Ext.apply({__copied:!0},r),u[n]=r):r=u[n]={__copied:!0},r[t]=i,i},configureLegacy:function(n){var t=this;t.copyLegacyObject(n,t.customRenderers,"renderer");t.copyLegacyObject(n,t.customEditors,"editor");t.copyLegacyObject(n,t.propertyNames,"displayName")},copyLegacyObject:function(n,t,i){var r;for(r in t)t.hasOwnProperty(r)&&(n[r]||(n[r]={}),n[r][i]=t[r])},onUpdate:function(n,t,i){var r=this,u,f;r.rendered&&i==Ext.data.Model.EDIT&&(u=t.get(r.valueField),f=t.modified.value,r.fireEvent("beforepropertychange",r.source,t.getId(),u,f)!==!1?(r.source&&(r.source[t.getId()]=u),t.commit(),r.fireEvent("propertychange",r.source,t.getId(),u,f)):t.reject())},walkCells:function(n,t,i,r,u,f){return t=="left"?t="up":t=="right"&&(t="down"),n=Ext.view.Table.prototype.walkCells.call(this,n,t,i,r,u,f),n&&!n.column&&(n.column=1),n},getCellEditor:function(n){var i=this,u=n.get(i.nameField),f=n.get(i.valueField),t=i.getConfig(u,"editor"),e=i.getConfig(u,"type"),r=i.editors;if(t)t instanceof Ext.grid.CellEditor||(t instanceof Ext.form.field.Base||(t=Ext.ComponentManager.create(t,"textfield")),t=i.setConfig(u,"editor",new Ext.grid.CellEditor({field:t})));else if(e)switch(e){case"date":t=r.date;break;case"number":t=r.number;break;case"boolean":t=i.editors.boolean;break;default:t=r.string}else t=Ext.isDate(f)?r.date:Ext.isNumber(f)?r.number:Ext.isBoolean(f)?r.boolean:r.string;return t.editorId=u,t},beforeDestroy:function(){var n=this;n.callParent();n.destroyEditors(n.editors);n.destroyEditors(n.customEditors);delete n.source},destroyEditors:function(n){for(var t in n)n.hasOwnProperty(t)&&Ext.destroy(n[t])},setSource:function(n,t){var i=this;i.source=n;t!==undefined&&(i.sourceConfig=Ext.apply({},t),i.configure(i.sourceConfig));i.propStore.setSource(n)},getSource:function(){return this.propStore.getSource()},setProperty:function(n,t,i){this.propStore.setValue(n,t,i)},removeProperty:function(n){this.propStore.remove(n)}},0,["propertygrid"],["panel","propertygrid","component","tablepanel","container","grid","box","gridpanel"],{panel:!0,propertygrid:!0,component:!0,tablepanel:!0,container:!0,grid:!0,box:!0,gridpanel:!0},["widget.propertygrid"],0,[Ext.grid.property,"Grid",Ext.grid,"PropertyGrid"],0);Ext.cmd.derive("Ext.grid.property.HeaderContainer",Ext.grid.header.Container,{alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",nameColumnInnerCls:Ext.baseCSSPrefix+"grid-cell-inner-property-name",constructor:function(n,t){var i=this;i.grid=n;i.store=t;i.callParent([{isRootHeader:!0,enableColumnResize:Ext.isDefined(n.enableColumnResize)?n.enableColumnResize:i.enableColumnResize,enableColumnMove:Ext.isDefined(n.enableColumnMove)?n.enableColumnMove:i.enableColumnMove,items:[{header:i.nameText,width:n.nameColumnWidth||i.nameWidth,sortable:n.sortableColumns,dataIndex:n.nameField,renderer:Ext.Function.bind(i.renderProp,i),itemId:n.nameField,menuDisabled:!0,tdCls:i.nameColumnCls,innerCls:i.nameColumnInnerCls},{header:i.valueText,renderer:Ext.Function.bind(i.renderCell,i),getEditor:Ext.Function.bind(i.getCellEditor,i),sortable:n.sortableColumns,flex:1,fixed:!0,dataIndex:n.valueField,itemId:n.valueField,menuDisabled:!0}]}])},getCellEditor:function(n){return this.grid.getCellEditor(n,this)},renderProp:function(n){return this.getPropertyName(n)},renderCell:function(n,t,i){var r=this,f=r.grid,e=f.getConfig(i.get(f.nameField),"renderer"),u=n;return e?e.apply(r,arguments):(Ext.isDate(n)?u=r.renderDate(n):Ext.isBoolean(n)&&(u=r.renderBool(n)),Ext.util.Format.htmlEncode(u))},renderDate:Ext.util.Format.date,renderBool:function(n){return this[n?"trueText":"falseText"]},getPropertyName:function(n){return this.grid.getConfig(n,"displayName",n)}},1,0,["component","container","box","headercontainer"],{component:!0,container:!0,box:!0,headercontainer:!0},0,0,[Ext.grid.property,"HeaderContainer",Ext.grid,"PropertyColumnModel"],0);Ext.cmd.derive("Ext.grid.property.Property",Ext.data.Model,{alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"},0,0,0,0,0,0,[Ext.grid.property,"Property",Ext,"PropGridProperty"],0);Ext.cmd.derive("Ext.grid.property.Store",Ext.data.Store,{alternateClassName:"Ext.grid.PropertyStore",sortOnLoad:!1,constructor:function(n,t){var i=this;i.grid=n;i.source=t;i.callParent([{data:t,model:Ext.grid.property.Property,proxy:i.getProxy()}])},getProxy:function(){return this.proxy||(Ext.grid.property.Store.prototype.proxy=new Ext.data.proxy.Memory({model:Ext.grid.property.Property,reader:this.getReader()})),this.proxy},getReader:function(){return this.reader||(Ext.grid.property.Store.prototype.reader=new Ext.data.reader.Reader({model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(n){return this.readRecords(n)},readRecords:function(n){var r,t,i={records:[],success:!0};for(t in n)n.hasOwnProperty(t)&&(r=n[t],this.isEditableValue(r)&&i.records.push(new Ext.grid.property.Property({name:t,value:r},t)));return i.total=i.count=i.records.length,new Ext.data.ResultSet(i)},isEditableValue:function(n){return Ext.isPrimitive(n)||Ext.isDate(n)||n===null}})),this.reader},setSource:function(n){var t=this;t.source=n;t.suspendEvents();t.removeAll();t.proxy.data=n;t.load();t.resumeEvents();t.fireEvent("datachanged",t);t.fireEvent("refresh",t)},getProperty:function(n){return Ext.isNumber(n)?this.getAt(n):this.getById(n)},setValue:function(n,t,i){var r=this,u=r.getRec(n);u?(u.set("value",t),r.source[n]=t):i&&(r.source[n]=t,u=new Ext.grid.property.Property({name:n,value:t},n),r.add(u))},remove:function(n){var t=this.getRec(n);t&&(this.callParent([t]),delete this.source[n])},getRec:function(n){return this.getById(n)},getSource:function(){return this.source}},1,0,0,0,0,0,[Ext.grid.property,"Store",Ext.grid,"PropertyStore"],0);Ext.cmd.derive("Ext.layout.ClassList",Ext.Base,function(){var n=Ext.String.splitWords,t=Ext.Array.toMap;return{dirty:!1,constructor:function(i){this.owner=i;this.map=t(this.classes=n(i.el.className))},add:function(n){var t=this;t.map[n]||(t.map[n]=!0,t.classes.push(n),t.dirty||(t.dirty=!0,t.owner.markDirty()))},addMany:function(t){Ext.each(n(t),this.add,this)},contains:function(n){return this.map[n]},flush:function(){this.owner.el.className=this.classes.join(" ");this.dirty=!1},remove:function(n){var t=this;t.map[n]&&(delete t.map[n],t.classes=Ext.Array.filter(t.classes,function(t){return t!=n}),t.dirty||(t.dirty=!0,t.owner.markDirty()))},removeMany:function(i){var r=this,u=t(n(i));r.classes=Ext.Array.filter(r.classes,function(n){return u[n]?(delete r.map[n],r.dirty||(r.dirty=!0,r.owner.markDirty()),!1):!0})}}}(),1,0,0,0,0,0,[Ext.layout,"ClassList"],0);Ext.cmd.derive("Ext.util.Queue",Ext.Base,{constructor:function(){this.clear()},add:function(n){var t=this,i=t.getKey(n);return t.map[i]||(++t.length,t.items.push(n),t.map[i]=n),n},clear:function(){var n=this,t=n.items;return n.items=[],n.map={},n.length=0,t},contains:function(n){var t=this.getKey(n);return this.map.hasOwnProperty(t)},getCount:function(){return this.length},getKey:function(n){return n.id},remove:function(n){var t=this,i=t.getKey(n),r=t.items,u;return t.map[i]&&(u=Ext.Array.indexOf(r,n),Ext.Array.erase(r,u,1),delete t.map[i],--t.length),n}},1,0,0,0,0,0,[Ext.util,"Queue"],0);Ext.cmd.derive("Ext.layout.ContextItem",Ext.Base,{heightModel:null,widthModel:null,sizeModel:null,optOut:!1,ownerSizePolicy:null,boxChildren:null,boxParent:null,isBorderBoxValue:null,children:[],dirty:null,dirtyCount:0,hasRawContent:!0,isContextItem:!0,isTopLevel:!1,consumersContentHeight:0,consumersContentWidth:0,consumersContainerHeight:0,consumersContainerWidth:0,consumersHeight:0,consumersWidth:0,ownerCtContext:null,remainingChildDimensions:0,props:null,state:null,wrapsComponent:!1,constructor:function(n){var t=this,v=Ext.layout.SizeModel.sizeModels,y=v.configured,o=v.shrinkWrap,s,r,f,u,h,c,i,p,w,b,k,l,e,a;Ext.apply(t,n);s=t.el;t.id=s.id;t.flushedProps={};t.props=h={};t.styles={};i=t.target;i.isComponent?(t.wrapsComponent=!0,t.framing=i.frameSize||null,t.isComponentChild=i.ownerLayout&&i.ownerLayout.isComponentLayout,r=i.lastBox,f=i.ownerCt,f&&(u=f.el&&t.context.items[f.el.id])&&(t.ownerCtContext=u),t.sizeModel=c=i.getSizeModel(u&&u.widthModel.pairsByHeightOrdinal[u.heightModel.ordinal]),t.widthModel=l=c.width,t.heightModel=e=c.height,r&&r.invalid===!1&&(b=i.width===(p=r.width),k=i.height===(w=r.height),l===o&&e===o?a=!0:l===y&&b&&(a=e===o||e===y&&k),a&&(t.optOut=!0,h.width=p,h.height=w))):r=s.lastBox;t.lastBox=r},init:function(n,t){var i=this,u=i.props,e=i.dirty,r=i.ownerCtContext,y=i.target.ownerLayout,h=!i.state,p=n||h,a,c,w,b,l,f,k=i.heightModel,d=i.widthModel,o,s,v=0;if(i.dirty=i.invalid=!1,i.props={},i.remainingChildDimensions=0,i.boxChildren&&(i.boxChildren.length=0),h||(i.clearAllBlocks("blocks"),i.clearAllBlocks("domBlocks")),!i.wrapsComponent)return p;if(f=i.target,i.state={},h)f.beforeLayout&&f.beforeLayout!==Ext.emptyFn&&f.beforeLayout(),!r&&(b=f.ownerCt)&&(r=i.context.items[b.el.id]),r?(i.ownerCtContext=r,i.isBoxParent=f.ownerLayout.isItemBoxParent(i)):i.isTopLevel=!0,i.frameBodyContext=i.getEl("frameBody");else for(r=i.ownerCtContext,i.isTopLevel=!r,a=i.children,c=0,w=a.length;c<w;++c)a[c].init(!0);return i.hasRawContent=!(f.isContainer&&f.items.items.length>0),n?(i.widthModel=i.heightModel=null,l=f.getSizeModel(r&&r.widthModel.pairsByHeightOrdinal[r.heightModel.ordinal]),h&&(i.sizeModel=l),i.widthModel=l.width,i.heightModel=l.height,r&&!i.isComponentChild&&(r.remainingChildDimensions+=2)):u&&(i.recoverProp("x",u,e),i.recoverProp("y",u,e),i.widthModel.calculated?i.recoverProp("width",u,e):"width"in u&&++v,i.heightModel.calculated?i.recoverProp("height",u,e):"height"in u&&++v,r&&!i.isComponentChild&&(r.remainingChildDimensions+=v)),u&&y&&y.manageMargins&&(i.recoverProp("margin-top",u,e),i.recoverProp("margin-right",u,e),i.recoverProp("margin-bottom",u,e),i.recoverProp("margin-left",u,e)),t&&(o=t.heightModel,s=t.widthModel,s&&o&&d&&k&&d.shrinkWrap&&k.shrinkWrap&&s.constrainedMax&&o.constrainedMin&&(o=null),s&&(i.widthModel=s),o&&(i.heightModel=o),t.state&&Ext.apply(i.state,t.state)),p},initContinue:function(n){var t=this,i=t.ownerCtContext,e=t.target,r=t.widthModel,f=e.getHierarchyState(),u;return r.fixed?f.inShrinkWrapTable=!1:delete f.inShrinkWrapTable,n&&(i&&r.shrinkWrap?(u=i.isBoxParent?i:i.boxParent,u&&u.addBoxChild(t)):r.natural&&(t.boxParent=i)),n},initDone:function(n){var t=this,i=t.props,r=t.state;t.remainingChildDimensions===0&&(i.containerChildrenSizeDone=!0);n&&(i.containerLayoutDone=!0);t.boxChildren&&t.boxChildren.length&&t.widthModel.shrinkWrap&&(t.el.setWidth(1e4),r.blocks=(r.blocks||0)+1)},initAnimation:function(){var n=this,t=n.target,i=n.ownerCtContext;i&&i.isTopLevel?n.animatePolicy=t.ownerLayout.getAnimatePolicy(n):!i&&t.isCollapsingOrExpanding&&t.animCollapse&&(n.animatePolicy=t.componentLayout.getAnimatePolicy(n));n.animatePolicy&&n.context.queueAnimation(n)},addCls:function(n){this.getClassList().addMany(n)},removeCls:function(n){this.getClassList().removeMany(n)},addBlock:function(n,t,i){var r=this,u=r[n]||(r[n]={}),f=u[i]||(u[i]={});f[t.id]||(f[t.id]=t,++t.blockCount,++r.context.blockCount)},addBoxChild:function(n){var i=this,t,r=n.widthModel;n.boxParent=this;n.measuresBox=r.shrinkWrap?n.hasRawContent:r.natural;n.measuresBox&&(t=i.boxChildren,t?t.push(n):i.boxChildren=[n])},addPositionStyles:function(n,t){var r=t.x,u=t.y,i=0;return r!==undefined&&(n.left=r+"px",++i),u!==undefined&&(n.top=u+"px",++i),i},addTrigger:function(n,t){var r=this,f=t?"domTriggers":"triggers",e=r[f]||(r[f]={}),o=r.context,i=o.currentLayout,u=e[n]||(e[n]={});u[i.id]||(u[i.id]=i,++i.triggerCount,u=o.triggers[t?"dom":"data"],(u[i.id]||(u[i.id]=[])).push({item:this,prop:n}),r.props[n]!==undefined&&(t&&r.dirty&&n in r.dirty||++i.firedTriggers))},boxChildMeasured:function(){var n=this,t=n.state,i=t.boxesMeasured=(t.boxesMeasured||0)+1;i==n.boxChildren.length&&(t.clearBoxWidth=1,++n.context.progressCount,n.markDirty())},borderNames:["border-top-width","border-right-width","border-bottom-width","border-left-width"],marginNames:["margin-top","margin-right","margin-bottom","margin-left"],paddingNames:["padding-top","padding-right","padding-bottom","padding-left"],trblNames:["top","right","bottom","left"],cacheMissHandlers:{borderInfo:function(n){var t=n.getStyles(n.borderNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t},marginInfo:function(n){var t=n.getStyles(n.marginNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t},paddingInfo:function(n){var i=n.frameBodyContext||n,t=i.getStyles(n.paddingNames,n.trblNames);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}},checkCache:function(n){return this.cacheMissHandlers[n](this)},clearAllBlocks:function(n){var t=this[n],i;if(t)for(i in t)this.clearBlocks(n,i)},clearBlocks:function(n,t){var r=this[n],u=r&&r[t],f,i,e;if(u){delete r[t];f=this.context;for(e in u)i=u[e],--f.blockCount,--i.blockCount||i.pending||i.done||f.queueLayout(i)}},block:function(n,t){this.addBlock("blocks",n,t)},domBlock:function(n,t){this.addBlock("domBlocks",n,t)},fireTriggers:function(n,t){var u=this[n],r=u&&u[t],e=this.context,i,f;if(r)for(f in r)i=r[f],++i.firedTriggers,i.done||i.blockCount||i.pending||e.queueLayout(i)},flush:function(){var n=this,i=n.dirty,t=n.state,r=n.el;n.dirtyCount=0;n.classList&&n.classList.dirty&&n.classList.flush();"attributes"in n&&(r.set(n.attributes),delete n.attributes);"innerHTML"in n&&(r.innerHTML=n.innerHTML,delete n.innerHTML);t&&t.clearBoxWidth&&(t.clearBoxWidth=0,n.el.setStyle("width",null),--t.blocks||n.context.queueItemLayouts(n));i&&(delete n.dirty,n.writeProps(i,!0))},flushAnimations:function(){var n=this,c=n.previousSize,i,r,l,e,u,o,f,a,t,s,h;if(c){for(i=n.target,r=i.layout&&i.layout.animate,r&&(l=Ext.isNumber(r)?r:r.duration),e=Ext.Object.getKeys(n.animatePolicy),u=Ext.apply({},{from:{},to:{},duration:l||Ext.fx.Anim.prototype.duration},r),o=0,f=0,a=e.length;f<a;f++)t=e[f],s=c[t],h=n.peek(t),s!=h&&(t=n.translateProps[t]||t,u.from[t]=s,u.to[t]=h,++o);if(o){n.isCollapsingOrExpanding===1?i.componentLayout.undoLayout(n):n.writeProps(u.from);n.el.animate(u);Ext.fx.Manager.getFxQueue(n.el.id)[0].on({afteranimate:function(){n.isCollapsingOrExpanding===1?(i.componentLayout.redoLayout(n),i.afterCollapse(!0)):n.isCollapsingOrExpanding===2&&i.afterExpand(!0)}})}}},getBorderInfo:function(){var n=this,t=n.borderInfo;return t||(n.borderInfo=t=n.checkCache("borderInfo")),t},getClassList:function(){return this.classList||(this.classList=new Ext.layout.ClassList(this))},getEl:function(n,t){var r=this,u,i,f;if(n){if(n.dom)i=n;else if(u=r.target,t&&(u=t),i=u[n],typeof i=="function"&&(i=i.call(u),i===r.el))return this;i&&(f=r.context.getEl(r,i))}return f||null},getFrameInfo:function(){var i=this,r=i.frameInfo,n,t;return r||(n=i.framing,t=i.getBorderInfo(),i.frameInfo=r=n?{top:n.top+t.top,right:n.right+t.right,bottom:n.bottom+t.bottom,left:n.left+t.left,width:n.width+t.width,height:n.height+t.height}:t),r},getMarginInfo:function(){var t=this,n=t.marginInfo,i,e,r,u,f;return n||(t.wrapsComponent?(i=t.target,u=i.ownerLayout,f=u?u.id:null,e=u&&u.manageMargins,n=i.margin$,n&&n.ownerId!==f&&(n=null),n||(n=t.parseMargins(i,i.margin)||t.checkCache("marginInfo"),e&&(r=t.parseMargins(i,i.margins,u.defaultMargins),r&&(n={top:n.top+r.top,right:n.right+r.right,bottom:n.bottom+r.bottom,left:n.left+r.left}),t.setProp("margin-top",0),t.setProp("margin-right",0),t.setProp("margin-bottom",0),t.setProp("margin-left",0)),n.ownerId=f,i.margin$=n),n.width=n.left+n.right,n.height=n.top+n.bottom):n=t.checkCache("marginInfo"),t.marginInfo=n),n},clearMarginCache:function(){delete this.marginInfo;delete this.target.margin$},getPaddingInfo:function(){var n=this,t=n.paddingInfo;return t||(n.paddingInfo=t=n.checkCache("paddingInfo")),t},getProp:function(n){var t=this,i=t.props[n];return t.addTrigger(n),i},getDomProp:function(n){var t=this,i=t.dirty&&n in t.dirty?undefined:t.props[n];return t.addTrigger(n,!0),i},getStyle:function(n){var i=this,r=i.styles,u,t;return n in r?t=r[n]:(u=i.styleInfo[n],t=i.el.getStyle(n),u&&u.parseInt&&(t=parseInt(t,10)||0),r[n]=t),t},getStyles:function(n,t){var s=this,h=s.styles,c={},o=0,a=n.length,i,r,f,u,l,v,y,e;for(t=t||n,i=0;i<a;++i)u=n[i],u in h?(c[t[i]]=h[u],++o,i&&o==1&&(r=n.slice(0,i),f=t.slice(0,i))):o&&((r||(r=[])).push(u),(f||(f=[])).push(t[i]));if(o<a)for(r=r||n,f=f||t,v=s.styleInfo,y=s.el.getStyle(r),i=r.length;i--;)u=r[i],l=v[u],e=y[u],l&&l.parseInt&&(e=parseInt(e,10)||0),c[f[i]]=e,h[u]=e;return c},hasProp:function(n){return this.getProp(n)!=null},hasDomProp:function(n){return this.getDomProp(n)!=null},invalidate:function(n){this.context.queueInvalidate(this,n)},markDirty:function(){++this.dirtyCount==1&&this.context.queueFlush(this)},onBoxMeasured:function(){var n=this.boxParent,t=this.state;n&&n.widthModel.shrinkWrap&&!t.boxMeasured&&this.measuresBox&&(t.boxMeasured=1,n.boxChildMeasured())},parseMargins:function(n,t,i){t===!0&&(t=5);var u=typeof t,r;return u=="string"||u=="number"?r=n.parseBox(t):(t||i)&&(r={top:0,right:0,bottom:0,left:0},i&&Ext.apply(r,this.parseMargins(n,i)),t&&(t=Ext.apply(r,n.parseBox(t)))),r},peek:function(n){return this.props[n]},recoverProp:function(n,t,i){var r=this,f=r.props,u;n in t&&(f[n]=t[n],i&&n in i&&(u=r.dirty||(r.dirty={}),u[n]=i[n]))},redo:function(n){var i=this,r,u,t;if(i.revertProps(i.props),n&&i.wrapsComponent){if(i.childItems)for(t=0,r=i.childItems,u=r.length;t<u;t++)r[t].redo(n);for(t=0,r=i.children,u=r.length;t<u;t++)r[t].redo()}},removeEl:function(n,t){var r=this,u,i;if(n){if(n.dom)i=n;else if(u=r.target,t&&(u=t),i=u[n],typeof i=="function"&&(i=i.call(u),i===r.el))return this;i&&r.context.removeEl(r,i)}},revertProps:function(n){var t,r=this.flushedProps,i={};for(t in n)r.hasOwnProperty(t)&&(i[t]=n[t]);this.writeProps(i)},setAttribute:function(n,t){var i=this;i.attributes||(i.attributes={});i.attributes[n]=t;i.markDirty()},setBox:function(n){var t=this;"left"in n&&t.setProp("x",n.left);"top"in n&&t.setProp("y",n.top);t.setSize(n.width,n.height)},setContentHeight:function(n,t){return!t&&this.hasRawContent?1:this.setProp("contentHeight",n)},setContentWidth:function(n,t){return!t&&this.hasRawContent?1:this.setProp("contentWidth",n)},setContentSize:function(n,t,i){return this.setContentWidth(n,i)+this.setContentHeight(t,i)==2},setProp:function(n,t,i){var r=this,f=typeof t,u,e;return f=="undefined"||f==="number"&&isNaN(t)?0:r.props[n]===t?1:(r.props[n]=t,++r.context.progressCount,i===!1?(r.fireTriggers("domTriggers",n),r.clearBlocks("domBlocks",n)):(e=r.styleInfo[n],e&&(r.dirty||(r.dirty={}),(n=="width"||n=="height")&&(u=r.isBorderBoxValue,u===null&&(r.isBorderBoxValue=u=!!r.el.isBorderBox()),u||(r.borderInfo||r.getBorderInfo(),r.paddingInfo||r.getPaddingInfo())),r.dirty[n]=t,r.markDirty())),r.fireTriggers("triggers",n),r.clearBlocks("blocks",n),1)},setHeight:function(n,t){var i=this,f=i.target,r=i.ownerCtContext,u,e,o,s,h;if(n<0&&(n=0),i.wrapsComponent){if(o=i.collapsedVert?0:f.minHeight||0,n=Ext.Number.constrain(n,o,f.maxHeight),s=i.props.height,!i.setProp("height",n,t))return NaN;r&&!i.isComponentChild&&isNaN(s)&&(h=--r.remainingChildDimensions,h||r.setProp("containerChildrenSizeDone",!0));u=i.frameBodyContext;u&&(e=i.getFrameInfo(),u.setHeight(n-e.height,t))}else if(!i.setProp("height",n,t))return NaN;return n},setWidth:function(n,t){var i=this,f=i.target,r=i.ownerCtContext,u,e,o,s,h;if(n<0&&(n=0),i.wrapsComponent){if(o=i.collapsedHorz?0:f.minWidth||0,n=Ext.Number.constrain(n,o,f.maxWidth),s=i.props.width,!i.setProp("width",n,t))return NaN;r&&!i.isComponentChild&&isNaN(s)&&(h=--r.remainingChildDimensions,h||r.setProp("containerChildrenSizeDone",!0));u=i.frameBodyContext;u&&(e=i.getFrameInfo(),u.setWidth(n-e.width,t))}else if(!i.setProp("width",n,t))return NaN;return n},setSize:function(n,t,i){this.setWidth(n,i);this.setHeight(t,i)},translateProps:{x:"left",y:"top"},undo:function(n){var i=this,r,u,t;if(i.revertProps(i.lastBox),n&&i.wrapsComponent){if(i.childItems)for(t=0,r=i.childItems,u=r.length;t<u;t++)r[t].undo(n);for(t=0,r=i.children,u=r.length;t<u;t++)r[t].undo()}},unsetProp:function(n){var t=this.dirty;delete this.props[n];t&&delete t[n]},writeProps:function(n,t){if(n&&typeof n=="object"){var i=this,v=i.el,e={},o=0,nt=i.styleInfo,h,f,y,r=n.width,u=n.height,tt=i.isBorderBoxValue,p=i.target,w=Math.max,b=0,k=0,d,g,s,l,c,a;"displayed"in n&&v.setDisplayed(n.displayed);for(f in n)t&&(i.fireTriggers("domTriggers",f),i.clearBlocks("domBlocks",f),i.flushedProps[f]=1),h=nt[f],h&&h.dom&&(e[f]=h.suffix&&(y=parseInt(n[f],10))?y+h.suffix:n[f],++o);("x"in n||"y"in n)&&(p.isComponent?p.setPosition(n.x,n.y):o+=i.addPositionStyles(e,n));!tt&&(r>0||u>0)&&(i.frameBodyContext||(b=i.paddingInfo.width,k=i.paddingInfo.height),r&&(r=w(parseInt(r,10)-(i.borderInfo.width+b),0),e.width=r+"px",++o),u&&(u=w(parseInt(u,10)-(i.borderInfo.height+k),0),e.height=u+"px",++o));i.wrapsComponent&&Ext.isIE9&&Ext.isStrict&&((d=r!==undefined&&i.hasOverflowY)||(g=u!==undefined&&i.hasOverflowX))&&(s=i.isAbsolute,s===undefined&&(s=!1,a=i.target.getTargetEl(),c=a.getStyle("position"),c=="absolute"&&(c=a.getStyle("box-sizing"),s=c=="border-box"),i.isAbsolute=s),s&&(l=Ext.getScrollbarSize(),d&&(r=parseInt(r,10)+l.width,e.width=r+"px",++o),g&&(u=parseInt(u,10)+l.height,e.height=u+"px",++o)));o&&v.setStyle(e)}}},1,0,0,0,0,0,[Ext.layout,"ContextItem"],function(){var n={dom:!0,parseInt:!0,suffix:"px"},i={dom:!0},t={dom:!1};this.prototype.styleInfo={containerChildrenSizeDone:t,containerLayoutDone:t,displayed:t,done:t,x:t,y:t,columnWidthsDone:t,left:n,top:n,right:n,bottom:n,width:n,height:n,"border-top-width":n,"border-right-width":n,"border-bottom-width":n,"border-left-width":n,"margin-top":n,"margin-right":n,"margin-bottom":n,"margin-left":n,"padding-top":n,"padding-right":n,"padding-bottom":n,"padding-left":n,"line-height":i,display:i}});Ext.cmd.derive("Ext.layout.Context",Ext.Base,{remainingLayouts:0,state:0,constructor:function(n){var t=this;Ext.apply(t,n);t.items={};t.layouts={};t.blockCount=0;t.cycleCount=0;t.flushCount=0;t.calcCount=0;t.animateQueue=t.newQueue();t.completionQueue=t.newQueue();t.finalizeQueue=t.newQueue();t.finishQueue=t.newQueue();t.flushQueue=t.newQueue();t.invalidateData={};t.layoutQueue=t.newQueue();t.invalidQueue=[];t.triggers={data:{},dom:{}}},callLayout:function(n,t){this.currentLayout=n;n[t](this.getCmp(n.owner))},cancelComponent:function(n,t,i){for(var r=this,v=n,y=!n.isComponent,w=y?v.length:1,o,s,f,u,p,h,c,l,a,e=0;e<w;++e){if(y&&(n=v[e]),i&&n.ownerCt&&(a=this.items[n.ownerCt.el.id],a&&Ext.Array.remove(a.childItems,r.getCmp(n))),!t&&(h=r.invalidQueue,s=h.length,s))for(r.invalidQueue=p=[],o=0;o<s;++o)c=h[o],l=c.item.target,l==n||l.isDescendant(n)||p.push(c);u=n.componentLayout;r.cancelLayout(u);u.getLayoutItems&&(f=u.getLayoutItems(),f.length&&r.cancelComponent(f,!0));n.isContainer&&!n.collapsed&&(u=n.layout,r.cancelLayout(u),f=u.getVisibleItems(),f.length&&r.cancelComponent(f,!0))}},cancelLayout:function(n){var t=this;t.completionQueue.remove(n);t.finalizeQueue.remove(n);t.finishQueue.remove(n);t.layoutQueue.remove(n);n.running&&t.layoutDone(n);n.ownerContext=null},clearTriggers:function(n,t){for(var o=n.id,i=this.triggers[t?"dom":"data"],u=i&&i[o],s=u&&u.length||0,f,e,r=0;r<s;++r)e=u[r],f=e.item,i=t?f.domTriggers:f.triggers,delete i[e.prop][o]},flush:function(){var t=this,i=t.flushQueue.clear(),r=i.length,n;if(r)for(++t.flushCount,n=0;n<r;++n)i[n].flush()},flushAnimations:function(){var r=this,t=r.animateQueue.clear(),i=t.length,n;if(i){for(n=0;n<i;n++)t[n].target.animate!==!1&&t[n].flushAnimations();Ext.fx.Manager.runner()}},flushInvalidates:function(){var n=this,r=n.invalidQueue,e=r&&r.length,t,u,f,i;if(n.invalidQueue=[],e){for(u=[],i=0;i<e;++i)t=(f=r[i]).item.target,t.container.isDetachedBody||(u.push(t),f.options&&(n.invalidateData[t.id]=f.options));n.invalidate(u,null)}},flushLayouts:function(n,t,i){var r=this,e=i?r[n].items:r[n].clear(),o=e.length,u,f;if(o){for(u=0;u<o;++u)f=e[u],f.running||r.callLayout(f,t);r.currentLayout=null}},getCmp:function(n){return this.getItem(n,n.el)},getEl:function(n,t){var i=this.getItem(t,t);return i.parent||(i.parent=n,n.children.length?n.children.push(i):n.children=[i]),i},getItem:function(n,t){var i=t.id,r=this.items;return r[i]||(r[i]=new Ext.layout.ContextItem({context:this,target:n,el:t}))},handleFailure:function(){var n=this.layouts,t,i;Ext.failedLayouts=(Ext.failedLayouts||0)+1;for(i in n)t=n[i],n.hasOwnProperty(i)&&(t.running=!1,t.ownerContext=null)},invalidate:function(n,t){for(var r=this,v=!n.isComponent,c,l,f,i,o,e,u,s,a,h=0,y=v?n.length:1;h<y;++h)f=v?n[h]:n,f.rendered&&!f.hidden&&(i=r.getCmp(f),e=f.componentLayout,l=!e.ownerContext,u=f.isContainer&&!f.collapsed?f.layout:null,s=r.invalidateData[i.id],delete r.invalidateData[i.id],a=i.init(t,s),s&&r.processInvalidate(s,i,"before"),e.beforeLayoutCycle&&e.beforeLayoutCycle(i),u&&u.beforeLayoutCycle&&u.beforeLayoutCycle(i),a=i.initContinue(a),c=!0,e.getLayoutItems&&(e.renderChildren(),o=e.getLayoutItems(),o.length&&r.invalidate(o,!0)),u&&(c=!1,u.renderChildren(),o=u.getVisibleItems(),o.length&&r.invalidate(o,!0)),i.initDone(c),r.resetLayout(e,i,l),u&&r.resetLayout(u,i,l),i.initAnimation(),s&&r.processInvalidate(s,i,"after"));r.currentLayout=null},layoutDone:function(n){var t=n.ownerContext;n.running=!1;n.isComponentLayout?(t.measuresBox&&t.onBoxMeasured(),t.setProp("done",!0)):t.setProp("containerLayoutDone",!0);--this.remainingLayouts;++this.progressCount},newQueue:function(){return new Ext.util.Queue},processInvalidate:function(n,t,i){if(n[i]){var r=this,u=r.currentLayout;r.currentLayout=n.layout||null;n[i](t,n);r.currentLayout=u}},queueAnimation:function(n){this.animateQueue.add(n)},queueCompletion:function(n){this.completionQueue.add(n)},queueFinalize:function(n){this.finalizeQueue.add(n)},queueFlush:function(n){this.flushQueue.add(n)},chainFns:function(n,t,i){var r=this,f=n.layout,e=t.layout,u=n[i],o=t[i];return function(i){var s=r.currentLayout;u&&(r.currentLayout=f,u.call(n.scope||n,i,n));r.currentLayout=e;o.call(t.scope||t,i,t);r.currentLayout=s}},queueInvalidate:function(n,t){var r=this,o=[],s=r.invalidQueue,h=s.length,u,f,e,i,c;for(n.isComponent?n=r.getCmp(u=n):u=n.target,n.invalid=!0;h--;){if(f=s[h],e=f.item.target,u.isDescendant(e))return;if(e==u){(i=f.options)?t&&(t.widthModel&&(i.widthModel=t.widthModel),t.heightModel&&(i.heightModel=t.heightModel),(c=i.state)?t.state&&Ext.apply(c,t.state):i.state=t.state,t.before&&(i.before=r.chainFns(i,t,"before")),t.after&&(i.after=r.chainFns(i,t,"after"))):f.options=t;return}e.isDescendant(u)||o.push(f)}o.push({item:n,options:t});r.invalidQueue=o},queueItemLayouts:function(n){var i=n.isComponent?n:n.target,t=i.componentLayout;t.pending||t.invalid||t.done||this.queueLayout(t);t=i.layout;!t||t.pending||t.invalid||t.done||this.queueLayout(t)},queueLayout:function(n){this.layoutQueue.add(n);n.pending=!0},removeEl:function(n,t){var i=t.id,r=n.children,u=this.items;r&&Ext.Array.remove(r,u[i]);delete u[i]},resetLayout:function(n,t,i){var r=this;r.currentLayout=n;n.done=!1;n.pending=!0;n.firedTriggers=0;r.layoutQueue.add(n);i?(r.layouts[n.id]=n,n.running=!0,n.finishedLayout&&r.finishQueue.add(n),++r.remainingLayouts,++n.layoutCount,n.ownerContext=t,n.beginCount=0,n.blockCount=0,n.calcCount=0,n.triggerCount=0,n.initialized||n.initLayout(),n.beginLayout(t)):(++n.beginCount,n.running||(++r.remainingLayouts,n.running=!0,n.isComponentLayout&&t.unsetProp("done"),r.completionQueue.remove(n),r.finalizeQueue.remove(n)));n.beginLayoutCycle(t,i)},run:function(){var n=this,t=!1,i=100;for(n.flushInvalidates(),n.state=1,n.totalCount=n.layoutQueue.getCount(),n.flush();(n.remainingLayouts||n.invalidQueue.length)&&i--;){if(n.invalidQueue.length&&n.flushInvalidates(),n.runCycle())t=!1;else if(t){if(!n.invalidQueue.length){n.state=2;break}}else n.flush(),t=!0,n.flushLayouts("completionQueue","completeLayout");n.remainingLayouts||n.invalidQueue.length||(n.flush(),n.flushLayouts("completionQueue","completeLayout"),n.flushLayouts("finalizeQueue","finalizeLayout"))}return n.runComplete()},runComplete:function(){var n=this;return(n.state=2,n.remainingLayouts)?(n.handleFailure(),!1):(n.flush(),n.flushLayouts("finishQueue","finishedLayout",!0),n.flushLayouts("finishQueue","notifyOwner"),n.flush(),n.flushAnimations(),!0)},runCycle:function(){var n=this,i=n.layoutQueue.clear(),r=i.length,t;for(++n.cycleCount,n.progressCount=0,t=0;t<r;++t)n.runLayout(n.currentLayout=i[t]);return n.currentLayout=null,n.progressCount>0},runLayout:function(n){var t=this,i=t.getCmp(n.owner);(n.pending=!1,i.state.blocks)||(n.done=!0,++n.calcCount,++t.calcCount,n.calculate(i),n.done?(t.layoutDone(n),n.completeLayout&&t.queueCompletion(n),n.finalizeLayout&&t.queueFinalize(n)):n.pending||n.invalid||n.blockCount+n.triggerCount-n.firedTriggers||t.queueLayout(n))},setItemSize:function(n,t,i){var r=n,u=1,e,f;for(n.isComposite?(r=n.elements,u=r.length,n=r[0]):n.dom||n.el||(u=r.length,n=r[0]),f=0;f<u;)e=this.get(n),e.setSize(t,i),n=r[++f]}},1,0,0,0,0,0,[Ext.layout,"Context"],0);Ext.cmd.derive("Ext.layout.component.Body",Ext.layout.component.Auto,{type:"body",beginLayout:function(n){this.callParent(arguments);n.bodyContext=n.getEl("body")},beginLayoutCycle:function(n){var t=this,i=t.lastWidthModel,r=t.lastHeightModel,u=t.owner.body;t.callParent(arguments);i&&i.fixed&&n.widthModel.shrinkWrap&&u.setWidth(null);r&&r.fixed&&n.heightModel.shrinkWrap&&u.setHeight(null)},calculateOwnerHeightFromContentHeight:function(n){var t=this.callParent(arguments);return n.targetContext!=n&&(t+=n.getPaddingInfo().height),t},calculateOwnerWidthFromContentWidth:function(n){var t=this.callParent(arguments);return n.targetContext!=n&&(t+=n.getPaddingInfo().width),t},measureContentWidth:function(n){return n.bodyContext.setWidth(n.bodyContext.el.dom.offsetWidth,!1)},measureContentHeight:function(n){return n.bodyContext.setHeight(n.bodyContext.el.dom.offsetHeight,!1)},publishInnerHeight:function(n,t){var i=t-n.getFrameInfo().height,r=n.targetContext;return r!=n&&(i-=n.getPaddingInfo().height),n.bodyContext.setHeight(i,!n.heightModel.natural)},publishInnerWidth:function(n,t){var i=t-n.getFrameInfo().width,r=n.targetContext;r!=n&&(i-=n.getPaddingInfo().width);n.bodyContext.setWidth(i,!n.widthModel.natural)}},0,0,0,0,["layout.body"],0,[Ext.layout.component,"Body"],0);Ext.cmd.derive("Ext.layout.component.FieldSet",Ext.layout.component.Body,{type:"fieldset",defaultCollapsedWidth:100,beforeLayoutCycle:function(n){n.target.collapsed&&(n.heightModel=this.sizeModels.shrinkWrap)},beginLayoutCycle:function(n){var t=n.target,i;this.callParent(arguments);t.collapsed&&(n.setContentHeight(0),n.restoreMinHeight=t.minHeight,delete t.minHeight,n.widthModel.shrinkWrap&&(i=t.lastComponentSize,n.setContentWidth(i&&i.contentWidth||this.defaultCollapsedWidth)))},finishedLayout:function(n){var i=this.owner,t=n.restoreMinHeight;this.callParent(arguments);t&&(i.minHeight=t)},calculateOwnerHeightFromContentHeight:function(n){var t=n.getBorderInfo(),i=n.target.legend;return n.getProp("contentHeight")+n.getPaddingInfo().height+(Ext.isIEQuirks||Ext.isIE8m?n.bodyContext.getPaddingInfo().top:0)+(i?i.getHeight():t.top)+t.bottom},publishInnerHeight:function(n,t){var i=n.target.legend;i&&(t-=i.getHeight());this.callParent([n,t])},getLayoutItems:function(){var n=this.owner.legend;return n?[n]:[]}},0,0,0,0,["layout.fieldset"],0,[Ext.layout.component,"FieldSet"],0);Ext.cmd.derive("Ext.layout.component.field.Slider",Ext.layout.component.field.Field,{type:"sliderfield",beginLayout:function(n){this.callParent(arguments);n.endElContext=n.getEl("endEl");n.innerElContext=n.getEl("innerEl");n.bodyElContext=n.getEl("bodyEl")},publishInnerHeight:function(n,t){var i=t-this.measureLabelErrorHeight(n),r,u;this.owner.vertical?(r=n.endElContext.getPaddingInfo(),u=n.inputContext.getPaddingInfo(),n.innerElContext.setHeight(i-u.height-r.height)):n.bodyElContext.setHeight(i)},publishInnerWidth:function(n,t){if(!this.owner.vertical){var i=n.endElContext.getPaddingInfo(),r=n.inputContext.getPaddingInfo();n.innerElContext.setWidth(t-r.left-i.right-n.labelContext.getProp("width"))}},beginLayoutFixed:function(){var n=this,t=n.ieInputWidthAdjustment;t&&n.owner.bodyEl.setStyle("padding-right",t+"px");n.callParent(arguments)}},0,0,0,0,["layout.sliderfield"],0,[Ext.layout.component.field,"Slider"],0);Ext.cmd.derive("Ext.layout.container.Absolute",Ext.layout.container.Anchor,{alternateClassName:"Ext.layout.AbsoluteLayout",targetCls:Ext.baseCSSPrefix+"abs-layout-ct",itemCls:Ext.baseCSSPrefix+"abs-layout-item",ignoreOnContentChange:!0,type:"absolute",adjustWidthAnchor:function(n,t){var i=this.targetPadding,r=t.getStyle("left");return n-r+i.left},adjustHeightAnchor:function(n,t){var i=this.targetPadding,r=t.getStyle("top");return n-r+i.top},isItemLayoutRoot:function(){return this.ignoreOnContentChange||this.callParent(arguments)},isItemShrinkWrap:function(){return!0},beginLayout:function(n){var t=this,i=t.getTarget();t.callParent(arguments);i.dom!==document.body&&i.position();t.targetPadding=n.targetContext.getPaddingInfo()},isItemBoxParent:function(){return!0},onContentChange:function(){return this.ignoreOnContentChange?!1:this.callParent(arguments)},calculateContentSize:function(n,t){var s=this,p=(t||0)|(n.widthModel.shrinkWrap?1:0)|(n.heightModel.shrinkWrap?2:0),i=p&1||undefined,r=p&2||undefined,w=n.childItems,k=w.length,f=0,e=0,h=0,b=n.props,c,l,u,a,o,v,y;if(i&&(isNaN(b.contentWidth)?++h:i=undefined),r&&(isNaN(b.contentHeight)?++h:r=undefined),h){for(o=0;o<k;++o)if(u=w[o],l=u.target,a=r&&u.getProp("height"),y=i&&u.getProp("width"),v=u.getMarginInfo(),a+=v.bottom,y+=v.right,f=Math.max(f,(l.y||0)+a),e=Math.max(e,(l.x||0)+y),isNaN(f)&&isNaN(e)){s.done=!1;return}(i||r)&&(c=n.targetContext.getPaddingInfo());i&&!n.setContentWidth(e+c.width)&&(s.done=!1);r&&!n.setContentHeight(f+c.height)&&(s.done=!1)}}},0,0,0,0,["layout.absolute"],0,[Ext.layout.container,"Absolute",Ext.layout,"AbsoluteLayout"],0);Ext.cmd.derive("Ext.layout.container.Accordion",Ext.layout.container.VBox,{alternateClassName:"Ext.layout.AccordionLayout",targetCls:Ext.baseCSSPrefix+"accordion-layout-ct",itemCls:[Ext.baseCSSPrefix+"box-item",Ext.baseCSSPrefix+"accordion-item"],align:"stretch",fill:!0,titleCollapse:!0,hideCollapseTool:!1,collapseFirst:undefined,animate:!0,activeOnTop:!1,multi:!1,defaultAnimatePolicy:{y:!0,height:!0},constructor:function(){var n=this;n.callParent(arguments);n.animatePolicy=!n.multi&&n.animate?Ext.apply({},n.defaultAnimatePolicy):null},beforeRenderItems:function(n){for(var i=this,o=n.length,f=0,u=i.owner,s=i.collapseFirst,h=Ext.isDefined(s),r=i.getExpanded(!0)[0],e=i.multi,t;f<o;f++)t=n[f],t.rendered||(e&&t.collapsible===!1||(t.collapsible=!0),t.collapsible&&(h&&(t.collapseFirst=s),i.hideCollapseTool?(t.hideCollapseTool=i.hideCollapseTool,t.titleCollapse=!0):i.titleCollapse&&t.titleCollapse===undefined&&(t.titleCollapse=i.titleCollapse)),delete t.hideHeader,delete t.width,t.title=t.title||"&#160;",t.addBodyCls(Ext.baseCSSPrefix+"accordion-body"),e||(r?t.collapsed=r!==t:t.hasOwnProperty("collapsed")&&t.collapsed===!1?r=t:t.collapsed=!0,u.mon(t,{show:i.onComponentShow,beforeexpand:i.onComponentExpand,beforecollapse:i.onComponentCollapse,scope:i})),u.mon(t,"beforecollapse",i.onComponentCollapse,i),t.headerOverCls=Ext.baseCSSPrefix+"accordion-hd-over");e||(r?i.activeOnTop&&(r.collapsed=!1,i.configureItem(r),u.items.indexOf(r)>0&&u.insert(0,r)):o&&(n[0].collapsed=!1))},getItemsRenderTree:function(n){return this.beforeRenderItems(n),this.callParent(arguments)},renderItems:function(n){this.beforeRenderItems(n);this.callParent(arguments)},configureItem:function(n){this.callParent(arguments);n.animCollapse=n.border=!1;this.fill&&(n.flex=1)},beginLayout:function(n){this.callParent(arguments);this.updatePanelClasses(n)},updatePanelClasses:function(n){for(var u=n.visibleItems,f=u.length,e=!0,r,t,i=0;i<f;i++)r=u[i],t=r.header,t.addCls(Ext.baseCSSPrefix+"accordion-hd"),e?t.removeCls(Ext.baseCSSPrefix+"accordion-hd-sibling-expanded"):t.addCls(Ext.baseCSSPrefix+"accordion-hd-sibling-expanded"),i+1==f&&r.collapsed?t.addCls(Ext.baseCSSPrefix+"accordion-hd-last-collapsed"):t.removeCls(Ext.baseCSSPrefix+"accordion-hd-last-collapsed"),e=r.collapsed},onComponentExpand:function(n){var t=this,i=t.owner,f=t.multi,h=t.animate,s=!f&&!t.animate&&t.activeOnTop,u,e,r,o;if(!t.processing){for(t.processing=!0,o=i.deferLayouts,i.deferLayouts=!0,u=f?[]:t.getExpanded(),e=u.length,r=0;r<e;r++)u[r].collapse();s&&(Ext.suspendLayouts(),i.insert(0,n),Ext.resumeLayouts());i.deferLayouts=o;t.processing=!1}},onComponentCollapse:function(n){var t=this,r=t.owner,i,u,f;if(t.owner.items.getCount()===1)return!1;t.processing||(t.processing=!0,f=r.deferLayouts,r.deferLayouts=!0,i=n.next()||n.prev(),t.multi?(u=t.getExpanded(),u.length===1&&i.expand()):i&&i.expand(),r.deferLayouts=f,t.processing=!1)},onComponentShow:function(n){this.onComponentExpand(n)},getExpanded:function(n){for(var r=this.owner.items.items,e=r.length,i=0,u=[],f,t;i<e;++i)t=r[i],f=n?t.hasOwnProperty("collapsed")&&t.collapsed===!1:!t.collapsed,f&&u.push(t);return u}},1,0,0,0,["layout.accordion"],0,[Ext.layout.container,"Accordion",Ext.layout,"AccordionLayout"],0);Ext.cmd.derive("Ext.resizer.Splitter",Ext.Component,{childEls:["collapseEl"],renderTpl:['<tpl if="collapsible===true">','<div id="{id}-collapseEl" class="',Ext.baseCSSPrefix,"collapse-el ",Ext.baseCSSPrefix,'layout-split-{collapseDir}{childElCls}">&#160;',"<\/div>","<\/tpl>"],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",canResize:!0,collapsible:!1,collapseOnDblClick:!0,defaultSplitMin:40,defaultSplitMax:1e3,collapseTarget:"next",horizontal:!1,vertical:!1,size:5,getTrackerConfig:function(){return{xclass:"Ext.resizer.SplitterTracker",el:this.el,splitter:this}},beforeRender:function(){var n=this,t=n.getCollapseTarget();n.callParent();t.collapsed&&n.addCls(n.collapsedClsInternal);n.canResize||n.addCls(n.baseCls+"-noresize");Ext.applyIf(n.renderData,{collapseDir:n.getCollapseDirection(),collapsible:n.collapsible||t.collapsible});n.protoEl.unselectable()},onRender:function(){var n=this,t;n.callParent(arguments);n.performCollapse!==!1&&(n.renderData.collapsible&&n.mon(n.collapseEl,"click",n.toggleTargetCmp,n),n.collapseOnDblClick&&n.mon(n.el,"dblclick",n.toggleTargetCmp,n));n.mon(n.getCollapseTarget(),{collapse:n.onTargetCollapse,expand:n.onTargetExpand,beforeexpand:n.onBeforeTargetExpand,beforecollapse:n.onBeforeTargetCollapse,scope:n});n.canResize&&(n.tracker=Ext.create(n.getTrackerConfig()),n.relayEvents(n.tracker,["beforedragstart","dragstart","dragend"]));t=n.collapseEl;t&&(t.lastCollapseDirCls=n.collapseDirProps[n.collapseDirection].cls)},getCollapseDirection:function(){var n=this,t=n.collapseDirection,i,r,u,f;return t||(i=n.collapseTarget,i.isComponent&&(t=i.collapseDirection),t||(f=n.ownerCt.layout.type,i.isComponent?(u=n.ownerCt.items,r=Number(u.indexOf(i)===u.indexOf(n)-1)<<1|Number(f==="hbox")):r=Number(n.collapseTarget==="prev")<<1|Number(f==="hbox"),t=["bottom","right","top","left"][r]),n.collapseDirection=t),n.setOrientation(t==="top"||t==="bottom"?"horizontal":"vertical"),t},getCollapseTarget:function(){var n=this;return n.collapseTarget.isComponent?n.collapseTarget:n.collapseTarget==="prev"?n.previousSibling():n.nextSibling()},setCollapseEl:function(n){var t=this.collapseEl;t&&t.setDisplayed(n)},onBeforeTargetExpand:function(){this.setCollapseEl("none")},onBeforeTargetCollapse:function(){this.setCollapseEl("none")},onTargetCollapse:function(){this.el.addCls([this.collapsedClsInternal,this.collapsedCls]);this.setCollapseEl("")},onTargetExpand:function(){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls]);this.setCollapseEl("")},collapseDirProps:{top:{cls:Ext.baseCSSPrefix+"layout-split-top"},right:{cls:Ext.baseCSSPrefix+"layout-split-right"},bottom:{cls:Ext.baseCSSPrefix+"layout-split-bottom"},left:{cls:Ext.baseCSSPrefix+"layout-split-left"}},orientationProps:{horizontal:{opposite:"vertical",fixedAxis:"height",stretchedAxis:"width"},vertical:{opposite:"horizontal",fixedAxis:"width",stretchedAxis:"height"}},applyCollapseDirection:function(){var t=this,n=t.collapseEl,r=t.collapseDirProps[t.collapseDirection],i;n&&(i=n.lastCollapseDirCls,i&&n.removeCls(i),n.addCls(n.lastCollapseDirCls=r.cls))},applyOrientation:function(){var n=this,i=n.orientation,t=n.orientationProps[i],f=n.size,r=t.fixedAxis,u=t.stretchedAxis,e=n.baseCls+"-";n[i]=!0;n[t.opposite]=!1;n.hasOwnProperty(r)&&n[r]!=="100%"||(n[r]=f);n.hasOwnProperty(u)&&n[u]!==f||(n[u]="100%");n.removeCls(e+t.opposite);n.addCls(e+i)},setOrientation:function(n){var t=this;t.orientation!==n&&(t.orientation=n,t.applyOrientation())},updateOrientation:function(){delete this.collapseDirection;this.getCollapseDirection();this.applyCollapseDirection()},toggleTargetCmp:function(){var n=this.getCollapseTarget(),t=n.placeholder,i;Ext.isFunction(n.expand)&&Ext.isFunction(n.collapse)&&(i=t&&!t.hidden?!0:!n.hidden,i&&(n.collapsed?n.expand():n.collapseDirection?n.collapse():n.collapse(this.renderData.collapseDir)))},setSize:function(){var n=this;n.callParent(arguments);Ext.isIE&&n.el&&n.el.repaint()},beforeDestroy:function(){Ext.destroy(this.tracker);this.callParent()}},0,["splitter"],["component","box","splitter"],{component:!0,box:!0,splitter:!0},["widget.splitter"],0,[Ext.resizer,"Splitter"],0);Ext.cmd.derive("Ext.resizer.BorderSplitter",Ext.resizer.Splitter,{collapseTarget:null,getTrackerConfig:function(){var n=this.callParent();return n.xclass="Ext.resizer.BorderSplitterTracker",n}},0,["bordersplitter"],["bordersplitter","component","box","splitter"],{bordersplitter:!0,component:!0,box:!0,splitter:!0},["widget.bordersplitter"],0,[Ext.resizer,"BorderSplitter"],0);Ext.cmd.derive("Ext.layout.container.Border",Ext.layout.container.Container,{alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:[Ext.baseCSSPrefix+"border-item",Ext.baseCSSPrefix+"box-item"],type:"border",isBorderLayout:!0,padding:undefined,percentageRe:/(\d+)%/,horzMarginProp:"left",padOnContainerProp:"left",padNotOnContainerProp:"right",axisProps:{horz:{borderBegin:"west",borderEnd:"east",horizontal:!0,posProp:"x",sizeProp:"width",sizePropCap:"Width"},vert:{borderBegin:"north",borderEnd:"south",horizontal:!1,posProp:"y",sizeProp:"height",sizePropCap:"Height"}},centerRegion:null,manageMargins:!0,panelCollapseAnimate:!0,panelCollapseMode:"placeholder",regionWeights:{north:20,south:10,center:0,west:-10,east:-20},beginAxis:function(n,t,i){for(var l=this,o=l.axisProps[i],s=!o.horizontal,d=o.sizeProp,a=0,p=n.childItems,g=p.length,e,r,f,u,v,w,y,b,c,k,h=0;h<g;++h)if(r=p[h],u=r.target,r.layoutPos={},u.region){if(r.region=v=u.region,r.isCenter=u.isCenter,r.isHorz=u.isHorz,r.isVert=u.isVert,r.weight=u.weight||l.regionWeights[v]||0,t[u.id]=r,u.isCenter){e=r;f=u.flex;n.centerRegion=e;continue}if(s!==r.isVert)continue;r.reverseWeighting=v==o.borderEnd;y=u[d];b=typeof y;u.collapsed||(b=="string"&&(w=l.percentageRe.exec(y))?r.percentage=parseInt(w[1],10):u.flex&&(a+=r.flex=u.flex))}return e&&(c=e.target,(k=c.placeholderFor)?f||s!==k.collapsedVertical()||(f=0,e.collapseAxis=i):c.collapsed&&s===c.collapsedVertical()&&(f=0,e.collapseAxis=i)),f==null&&(f=1),a+=f,Ext.apply({before:s?"top":"left",totalFlex:a},o)},beginLayout:function(n){var i=this,f=i.getLayoutItems(),e=i.padding,a=typeof e,v=!1,r,o,c,u,l,t,s,y,h;for(e?(a=="string"||a=="number")&&(e=Ext.util.Format.parseBox(e)):(e=n.getEl("getTargetEl").getPaddingInfo(),v=!0),n.outerPad=e,n.padOnContainer=v,u=0,c=f.length;u<c;++u)o=f[u],t=i.getSplitterTarget(o),t&&(s=undefined,y=!!o.hidden,t.split?y!==t.hidden&&(s=!t.hidden):t.isCollapsingOrExpanding&&(s=!!t.collapsed),s?o.show():s===!1&&o.hide());for(i.callParent(arguments),f=n.childItems,c=f.length,l={},n.borderAxisHorz=i.beginAxis(n,l,"horz"),n.borderAxisVert=i.beginAxis(n,l,"vert"),u=0;u<c;++u)r=f[u],t=i.getSplitterTarget(r.target),t&&(h=l[t.id],h||(h=n.getEl(t.el,i),h.region=t.region),r.collapseTarget=t=h,r.weight=t.weight,r.reverseWeighting=t.reverseWeighting,t.splitter=r,r.isHorz=t.isHorz,r.isVert=t.isVert);i.sortWeightedItems(f,"reverseWeighting");i.setupSplitterNeighbors(f)},calculate:function(n){var u=this,v=u.getContainerSize(n),h=n.childItems,a=h.length,f=n.borderAxisHorz,e=n.borderAxisVert,o=n.outerPad,y=n.padOnContainer,r,t,s,i,c,l;for(f.begin=o[u.padOnContainerProp],e.begin=o.top,c=f.end=f.flexSpace=v.width+(y?o[u.padOnContainerProp]:-o[u.padNotOnContainerProp]),l=e.end=e.flexSpace=v.height+(y?o.top:-o.bottom),r=0;r<a;++r)t=h[r],s=t.getMarginInfo(),(t.isHorz||t.isCenter)&&(f.addUnflexed(s.width),c-=s.width),(t.isVert||t.isCenter)&&(e.addUnflexed(s.height),l-=s.height),t.flex||t.percentage||(t.isHorz||t.isCenter&&t.collapseAxis==="horz"?(i=t.getProp("width"),f.addUnflexed(i),t.collapseTarget&&(c-=i)):(t.isVert||t.isCenter&&t.collapseAxis==="vert")&&(i=t.getProp("height"),e.addUnflexed(i),t.collapseTarget&&(l-=i)));for(r=0;r<a;++r)t=h[r],s=t.getMarginInfo(),t.percentage&&(t.isHorz?(i=Math.ceil(c*t.percentage/100),i=t.setWidth(i),f.addUnflexed(i)):t.isVert&&(i=Math.ceil(l*t.percentage/100),i=t.setHeight(i),e.addUnflexed(i)));for(r=0;r<a;++r)t=h[r],t.isCenter||(u.calculateChildAxis(t,f),u.calculateChildAxis(t,e));u.finishAxis(n,e)+u.finishAxis(n,f)<2?u.done=!1:u.finishPositions(h)},calculateChildAxis:function(n,t){var s=n.collapseTarget,h="set"+t.sizePropCap,f=t.sizeProp,c=n.getMarginInfo()[f],r,e,o,u,i;s?r=s.region:(r=n.region,o=n.flex);e=r==t.borderBegin;e||r==t.borderEnd?(o?(i=Math.ceil(t.flexSpace*(o/t.totalFlex)),i=n[h](i)):i=n.percentage?n.peek(f):n.getProp(f),i+=c,e?(u=t.begin,t.begin+=i):t.end=u=t.end-i):(n[h](t.end-t.begin-c),u=t.begin);n.layoutPos[t.posProp]=u},finishAxis:function(n,t){var r=t.end-t.begin,i=n.centerRegion;return i&&(i["set"+t.sizePropCap](r-i.getMarginInfo()[t.sizeProp]),i.layoutPos[t.posProp]=t.begin),Ext.isNumber(r)?1:0},finishPositions:function(n){for(var r=n.length,t,u=this.horzMarginProp,i=0;i<r;++i)t=n[i],t.setProp("x",t.layoutPos.x+t.marginInfo[u]),t.setProp("y",t.layoutPos.y+t.marginInfo.top)},getLayoutItems:function(){for(var t=this.owner,u=t&&t.items&&t.items.items||[],e=u.length,f=[],i=0,n,r;i<e;i++)n=u[i],r=n.placeholderFor,!n.hidden&&(n.floated&&n.isCollapsingOrExpanding!==2||r&&r.isCollapsingOrExpanding===2)||f.push(n);return f},getPlaceholder:function(n){return n.getPlaceholder&&n.getPlaceholder()},getSplitterTarget:function(n){var t=n.collapseTarget;return t&&t.collapsed?t.placeholder||t:t},isItemBoxParent:function(){return!0},isItemShrinkWrap:function(){return!0},insertSplitter:function(n,t,i,r){var u=n.region,f=Ext.apply({xtype:"bordersplitter",collapseTarget:n,id:n.id+"-splitter",hidden:i,canResize:n.splitterResize!==!1,splitterFor:n},r),e=t+(u==="south"||u==="east"?0:1);n.collapseMode==="mini"&&(f.collapsedCls=n.collapsedCls);n.splitter=this.owner.add(e,f)},onAdd:function(n,t){var i=this,u=n.placeholderFor,f=n.region,r,e,o;i.callParent(arguments);f?(Ext.apply(n,i.regionFlags[f]),n.initBorderRegion&&n.initBorderRegion(),f==="center"?i.centerRegion=n:(r=n.split,e=!!n.hidden,typeof r=="object"&&(o=r,r=!0),(n.isHorz||n.isVert)&&(r||n.collapseMode=="mini")&&i.insertSplitter(n,t,e||!r,o)),n.hasOwnProperty("collapseMode")||(n.collapseMode=i.panelCollapseMode),n.hasOwnProperty("animCollapse")||(n.animCollapse=n.collapseMode!=="placeholder"?!1:i.panelCollapseAnimate)):u&&(Ext.apply(n,i.regionFlags[u.region]),n.region=u.region,n.weight=u.weight)},onDestroy:function(){this.centerRegion=null;this.callParent()},onRemove:function(n){var t=this,r=n.region,i=n.splitter;r&&(n.isCenter&&(t.centerRegion=null),delete n.isCenter,delete n.isHorz,delete n.isVert,i&&(t.owner.doRemove(i,!0),delete n.splitter));t.callParent(arguments)},regionMeta:{center:{splitterDelta:0},north:{splitterDelta:1},south:{splitterDelta:-1},west:{splitterDelta:1},east:{splitterDelta:-1}},regionFlags:{center:{isCenter:!0,isHorz:!1,isVert:!1},north:{isCenter:!1,isHorz:!1,isVert:!0,collapseDirection:"top"},south:{isCenter:!1,isHorz:!1,isVert:!0,collapseDirection:"bottom"},west:{isCenter:!1,isHorz:!0,isVert:!1,collapseDirection:"left"},east:{isCenter:!1,isHorz:!0,isVert:!1,collapseDirection:"right"}},setupSplitterNeighbors:function(n){for(var h={},a=n.length,l=this.touchedRegions,t,c,e,r,i,o,s,u,f=0;f<a;++f)if(i=n[f].target,o=i.region,i.isCenter)c=i;else if(o){for(u=l[o],t=0,e=u.length;t<e;++t)r=h[u[t]],r&&r.neighbors.push(i);s=i.placeholderFor?i.placeholderFor.splitter:i.splitter;s&&(s.neighbors=[]);h[o]=s}if(c)for(u=l.center,t=0,e=u.length;t<e;++t)r=h[u[t]],r&&r.neighbors.push(c)},touchedRegions:{center:["north","south","east","west"],north:["north","east","west"],south:["south","east","west"],east:["east","north","south"],west:["west","north","south"]},sizePolicies:{vert:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},horz:{readsWidth:1,readsHeight:0,setsWidth:0,setsHeight:1},flexAll:{readsWidth:0,readsHeight:0,setsWidth:1,setsHeight:1}},getItemSizePolicy:function(n){var e=this,t=this.sizePolicies,r,i,u,f;return n.isCenter?(f=n.placeholderFor,f)?f.collapsedVertical()?t.vert:t.horz:n.collapsed?n.collapsedVertical()?t.vert:t.horz:t.flexAll:(r=n.collapseTarget,r)?r.isVert?t.vert:t.horz:n.region?(n.isVert?(i=n.height,u=t.vert):(i=n.width,u=t.horz),n.flex||typeof i=="string"&&e.percentageRe.test(i))?t.flexAll:u:e.autoSizePolicy}},0,0,0,0,["layout.border"],0,[Ext.layout.container,"Border",Ext.layout,"BorderLayout"],function(){var n={addUnflexed:function(n){this.flexSpace=Math.max(this.flexSpace-n,0)}},t=this.prototype.axisProps;Ext.apply(t.horz,n);Ext.apply(t.vert,n)});Ext.cmd.derive("Ext.layout.container.Card",Ext.layout.container.Fit,{alternateClassName:"Ext.layout.CardLayout",type:"card",hideInactive:!0,deferredRender:!1,getRenderTree:function(){var t=this,n=t.getActiveItem();if(n){if(n.hasListeners.beforeactivate&&n.fireEvent("beforeactivate",n)===!1)n=t.activeItem=t.owner.activeItem=null;else if(n.hasListeners.activate)n.on({boxready:function(){n.fireEvent("activate",n)},single:!0});if(t.deferredRender){if(n)return t.getItemsRenderTree([n])}else return t.callParent(arguments)}},renderChildren:function(){var n=this,t=n.getActiveItem();n.deferredRender?t&&n.renderItems([t],n.getRenderTarget()):n.callParent()},isValidParent:function(n,t){var i=n.el?n.el.dom:Ext.getDom(n);return i&&i.parentNode===(t.dom||t)||!1},getActiveItem:function(){var n=this,t=n.parseActiveItem(n.activeItem||n.owner&&n.owner.activeItem);return n.activeItem=t&&n.owner.items.indexOf(t)!=-1?t:null,n.activeItem},parseActiveItem:function(n){return n&&n.isComponent?n:typeof n=="number"||n===undefined?this.getLayoutItems()[n||0]:this.owner.getComponent(n)},configureItem:function(n){n.hidden=n===this.getActiveItem()?!1:!0;this.callParent(arguments)},onRemove:function(n){var t=this;n===t.activeItem&&(t.activeItem=null)},getAnimation:function(n,t){var i=(n||{}).cardSwitchAnimation;return i===!1?!1:i||t.cardSwitchAnimation},getNext:function(){var t=arguments[0],n=this.getLayoutItems(),i=Ext.Array.indexOf(n,this.activeItem);return n[i+1]||(t?n[0]:!1)},next:function(){var n=arguments[0],t=arguments[1];return this.setActiveItem(this.getNext(t),n)},getPrev:function(){var t=arguments[0],n=this.getLayoutItems(),i=Ext.Array.indexOf(n,this.activeItem);return n[i-1]||(t?n[n.length-1]:!1)},prev:function(){var n=arguments[0],t=arguments[1];return this.setActiveItem(this.getPrev(t),n)},setActiveItem:function(n){var i=this,r=i.owner,t=i.activeItem,f=r.rendered,u;return(n=i.parseActiveItem(n),u=r.items.indexOf(n),u==-1&&(u=r.items.items.length,Ext.suspendLayouts(),n=r.add(n),Ext.resumeLayouts()),n&&t!=n)?n.fireEvent("beforeactivate",n,t)===!1?!1:t&&t.fireEvent("beforedeactivate",t,n)===!1?!1:(f?(Ext.suspendLayouts(),n.rendered||i.renderItem(n,i.getRenderTarget(),r.items.length),t&&(i.hideInactive&&(t.hide(),t.hiddenByLayout=!0),t.fireEvent("deactivate",t,n)),n.hidden&&n.show(),n.hidden||(i.activeItem=n),Ext.resumeLayouts(!0)):i.activeItem=n,n.fireEvent("activate",n,t),i.activeItem):!1}},0,0,0,0,["layout.card"],0,[Ext.layout.container,"Card",Ext.layout,"CardLayout"],0);Ext.cmd.derive("Ext.layout.container.Column",Ext.layout.container.Auto,{alternateClassName:"Ext.layout.ColumnLayout",type:"column",itemCls:Ext.baseCSSPrefix+"column",targetCls:Ext.baseCSSPrefix+"column-layout-ct",columnWidthSizePolicy:{readsWidth:0,readsHeight:1,setsWidth:1,setsHeight:0},createsInnerCt:!0,manageOverflow:!0,isItemShrinkWrap:function(){return!0},getItemSizePolicy:function(n,t){return n.columnWidth&&(t||(t=this.owner.getSizeModel()),!t.width.shrinkWrap)?this.columnWidthSizePolicy:this.autoSizePolicy},calculateItems:function(n,t){var c=this,v=n.targetContext,h=n.childItems,l=h.length,f=0,a=t.gotWidth,s,e,u,i,o,r;if(a===!1)v.domBlock(c,"width"),s=!0;else if(a)e=t.width;else return!0;for(u=0;u<l;++u)i=h[u],o=i.getMarginInfo().width,i.widthModel.calculated||(r=i.getProp("width"),typeof r!="number"&&(i.block(c,"width"),s=!0),f+=r+o);if(!s){for(e=e<f?0:e-f,u=0;u<l;++u)i=h[u],i.widthModel.calculated&&(o=i.marginInfo.width,r=i.target.columnWidth,r=Math.floor(r*e)-o,r=i.setWidth(r),f+=r+o);n.setContentWidth(f+n.paddingContext.getPaddingInfo().width)}return!s},setCtSizeIfNeeded:function(n,t){var i=this,r=n.paddingContext.getPaddingInfo();i.callParent(arguments);(Ext.isIEQuirks||Ext.isIE7m)&&i.isShrinkWrapTpl&&r.right&&n.outerCtContext.setProp("width",t.width+r.left)}},0,0,0,0,["layout.column"],0,[Ext.layout.container,"Column",Ext.layout,"ColumnLayout"],0);Ext.cmd.derive("Ext.layout.container.Form",Ext.layout.container.Container,{alternateClassName:"Ext.layout.FormLayout",tableCls:Ext.baseCSSPrefix+"form-layout-table",type:"form",createsInnerCt:!0,manageOverflow:!0,lastOverflowAdjust:{width:0,height:0},childEls:["formTable"],padRow:'<tr><td class="'+Ext.baseCSSPrefix+'form-item-pad" colspan="3"><\/td><\/tr>',renderTpl:['<table id="{ownerId}-formTable" class="{tableCls}" style="width:100%" cellpadding="0">',"{%this.renderBody(out,values)%}","<\/table>","{%this.renderPadder(out,values)%}"],getRenderData:function(){var n=this.callParent();return n.tableCls=this.tableCls,n},calculate:function(n){var t=this,e=t.getContainerSize(n,!0),u,i,r=0,f,o=n.sizeModel.height.shrinkWrap;if(o&&(n.hasDomProp("containerChildrenSizeDone")?n.setProp("contentHeight",t.formTable.dom.offsetHeight+n.targetContext.getPaddingInfo().height):t.done=!1),e.gotWidth)for(u=t.formTable.dom.offsetWidth,i=n.childItems,f=i.length;r<f;++r)i[r].setWidth(u,!1);else t.done=!1},getRenderTarget:function(){return this.formTable},getRenderTree:function(){for(var i=this,t=i.callParent(arguments),n=0,r=t.length;n<r;n++)t[n]=i.transformItemRenderTree(t[n]);return t},transformItemRenderTree:function(n){return n.tag&&n.tag=="table"?(n.tag="tbody",delete n.cellspacing,delete n.cellpadding,Ext.isIE6&&(n.cn=this.padRow),n):{tag:"tbody",cn:{tag:"tr",cn:{tag:"td",colspan:3,style:"width:100%",cn:n}}}},isValidParent:function(){return!0},isItemShrinkWrap:function(n){return(n.shrinkWrap===!0?3:n.shrinkWrap||0)&2},getItemSizePolicy:function(){return{setsWidth:1,setsHeight:0}},beginLayoutCycle:function(n){var t=this.overflowPadderEl;t&&t.setStyle("display","none");n.state.overflowAdjust||(n.state.overflowAdjust=this.lastOverflowAdjust)},calculateOverflow:function(n,t,i){var r=this,b=n.targetContext,g=r.manageOverflow,e=n.state,s=e.overflowAdjust,l,a,o,f,v,y,p,w,k,d,u,h,c;(!g||e.secondPass||r.reserveScrollbar||(h=r.getOverflowXStyle(n)==="auto",c=r.getOverflowYStyle(n)==="auto",t.gotWidth||(h=!1),t.gotHeight||(c=!1),(h||c)&&(y=Ext.getScrollbarSize(),p=n.peek("contentWidth"),w=n.peek("contentHeight"),f=b.getPaddingInfo(),p-=f.width,w-=f.height,k=t.width,d=t.height,u=r.getScrollbarsNeeded(k,d,p,w),e.overflowState=u,typeof i=="number"&&(u&=~i),s={width:h&&u&2?y.width:0,height:c&&u&1?y.height:0},(s.width!==r.lastOverflowAdjust.width||s.height!==r.lastOverflowAdjust.height)&&(r.done=!1,n.invalidate({state:{overflowAdjust:s,overflowState:e.overflowState,secondPass:!0}})))),r.done)&&(o=n.padElContext||(n.padElContext=n.getEl("overflowPadderEl",r)),o&&(u=e.overflowState,l=n.peek("contentWidth"),a=1,u?(f=b.getPaddingInfo(),v=r.scrollRangeFlags,u&2&&v&1&&(a+=f.bottom),u&1&&v&4&&(l+=f.right),o.setProp("display",""),o.setSize(l,a)):o.setProp("display","none")))},completeLayout:function(n){this.lastOverflowAdjust=n.state.overflowAdjust},doRenderPadder:function(n,t){var i=t.$layout,u=i.owner,r=i.getScrollRangeFlags();i.manageOverflow&&r&5&&(n.push('<div id="',u.id,'-overflowPadderEl" ','style="font-size: 1px; height: 1px; margin-top: -1px; position: relative; z-index: -99999'),n.push('"><\/div>'),i.scrollRangeFlags=r)},getContainerSize:function(n,t,i){var r=n.targetContext,l=r.getFrameInfo(),a=r.getPaddingInfo(),e=0,o=0,s=i?null:n.state.overflowAdjust,h,c,u,f;return n.widthModel.shrinkWrap||(++o,u=t?r.getDomProp("width"):r.getProp("width"),h=typeof u=="number",h&&(++e,u-=l.width+a.width,s&&(u-=s.width))),n.heightModel.shrinkWrap||(++o,f=t?r.getDomProp("height"):r.getProp("height"),c=typeof f=="number",c&&(++e,f-=l.height+a.height,s&&(f-=s.height))),{width:u,height:f,needed:o,got:e,gotAll:e==o,gotWidth:h,gotHeight:c}},getOverflowXStyle:function(n){var t=this;return t.overflowXStyle||(t.overflowXStyle=t.owner.scrollFlags.overflowX||n.targetContext.getStyle("overflow-x"))},getOverflowYStyle:function(n){var t=this;return t.overflowYStyle||(t.overflowYStyle=t.owner.scrollFlags.overflowY||n.targetContext.getStyle("overflow-y"))},getScrollRangeFlags:function(){var n=-1;return function(){if(n<0){var t=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"border-box",style:{width:"100px",height:"100px",padding:"10px",overflow:"auto"},children:[{style:{border:"1px solid red",width:"150px",height:"150px",margin:"0 5px 5px 0"}}]}),i=t.dom.scrollHeight,r=t.dom.scrollWidth;n=({175:0,165:1,170:2,160:3}[i]||0)|({175:0,165:4,170:8,160:12}[r]||0);t.remove()}return n}}(),initLayout:function(){var n=this,t=Ext.getScrollbarSize().width;n.callParent();t&&n.manageOverflow&&!n.hasOwnProperty("lastOverflowAdjust")&&(n.owner.scrollFlags.y||n.reserveScrollbar)&&(n.lastOverflowAdjust={width:t,height:0})},setupRenderTpl:function(n){this.callParent(arguments);n.renderPadder=this.doRenderPadder}},0,0,0,0,["layout.form"],0,[Ext.layout.container,"Form",Ext.layout,"FormLayout"],0);Ext.cmd.derive("Ext.menu.Item",Ext.Component,{alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:!0,clickHideDelay:0,destroyMenu:!0,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:!0,isMenuItem:!0,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,tooltipType:"qtip",arrowCls:Ext.baseCSSPrefix+"menu-item-arrow",childEls:["itemEl","iconEl","textEl","arrowEl"],renderTpl:['<tpl if="plain">',"{text}","<tpl else>",'<a id="{id}-itemEl"',' class="'+Ext.baseCSSPrefix+'menu-item-link{childElCls}"',' href="{href}"','<tpl if="hrefTarget"> target="{hrefTarget}"<\/tpl>',' hidefocus="true"',' unselectable="on"','<tpl if="tabIndex">',' tabIndex="{tabIndex}"',"<\/tpl>",">",'<div role="img" id="{id}-iconEl" class="'+Ext.baseCSSPrefix+"menu-item-icon {iconCls}",'{childElCls} {glyphCls}" style="<tpl if="icon">background-image:url({icon});<\/tpl>','<tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};<\/tpl>">','<tpl if="glyph">&#{glyph};<\/tpl>',"<\/div>",'<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text" unselectable="on">{text}<\/span>','<img id="{id}-arrowEl" src="{blank}" class="{arrowCls}','{childElCls}"/>',"<\/a>","<\/tpl>"],maskOnDisable:!1,activate:function(){var n=this;!n.activated&&n.canActivate&&n.rendered&&!n.isDisabled()&&n.isVisible()&&(n.el.addCls(n.activeCls),n.focus(),n.activated=!0,n.fireEvent("activate",n))},getFocusEl:function(){return this.itemEl},deactivate:function(){var n=this;n.activated&&(n.el.removeCls(n.activeCls),n.blur(),n.hideMenu(),n.activated=!1,n.fireEvent("deactivate",n))},deferHideMenu:function(){this.menu.isVisible()&&this.menu.hide()},cancelDeferHide:function(){clearTimeout(this.hideMenuTimer)},deferHideParentMenus:function(){var n;Ext.menu.Manager.hideAll();Ext.Element.getActiveElement()||(n=this.up(":not([hidden])"),n&&n.focus())},expandMenu:function(n){var t=this;t.menu&&(t.cancelDeferHide(),n===0?t.doExpandMenu():(clearTimeout(t.expandMenuTimer),t.expandMenuTimer=Ext.defer(t.doExpandMenu,Ext.isNumber(n)?n:t.menuExpandDelay,t)))},doExpandMenu:function(){var n=this,t=n.menu;!n.activated||t.rendered&&t.isVisible()||(n.parentMenu.activeChild=t,t.parentItem=n,t.parentMenu=n.parentMenu,t.showBy(n,n.menuAlign))},getRefItems:function(n){var t=this.menu,i;return t&&(i=t.getRefItems(n),i.unshift(t)),i||[]},hideMenu:function(n){var t=this;t.menu&&(clearTimeout(t.expandMenuTimer),t.hideMenuTimer=Ext.defer(t.deferHideMenu,Ext.isNumber(n)?n:t.menuHideDelay,t))},initComponent:function(){var n=this,i=Ext.baseCSSPrefix,t=[i+"menu-item"],r;n.addEvents("activate","click","deactivate","textchange","iconchange");n.plain&&t.push(i+"menu-item-plain");n.cls&&t.push(n.cls);n.cls=t.join(" ");n.menu&&(r=n.menu,delete n.menu,n.setMenu(r));n.callParent(arguments)},onClick:function(n){var t=this,i=t.clickHideDelay;(t.href||n.stopEvent(),t.disabled)||(t.hideOnClick&&(i?t.deferHideParentMenusTimer=Ext.defer(t.deferHideParentMenus,i,t):t.deferHideParentMenus()),Ext.callback(t.handler,t.scope||t,[t,n]),t.fireEvent("click",t,n),t.hideOnClick||t.focus())},onRemoved:function(){var n=this;n.activated&&n.parentMenu.activeItem===n&&n.parentMenu.deactivateActiveItem();n.callParent(arguments);n.parentMenu=n.ownerButton=null},beforeDestroy:function(){var n=this;n.rendered&&n.clearTip();n.callParent()},onDestroy:function(){var n=this;clearTimeout(n.expandMenuTimer);n.cancelDeferHide();clearTimeout(n.deferHideParentMenusTimer);n.setMenu(null);n.callParent(arguments)},beforeRender:function(){var n=this,e=Ext.BLANK_IMAGE_URL,t=n.glyph,f=Ext._glyphFontFamily,i,r,u;n.callParent();n.iconAlign==="right"?(r=n.checkChangeDisabled?n.disabledCls:"",u=Ext.baseCSSPrefix+"menu-item-icon-right "+n.iconCls):(r=(n.iconCls||"")+(n.checkChangeDisabled?" "+n.disabledCls:""),u=n.menu?n.arrowCls:"");typeof t=="string"&&(i=t.split("@"),t=i[0],f=i[1]);Ext.applyIf(n.renderData,{href:n.href||"#",hrefTarget:n.hrefTarget,icon:n.icon,iconCls:r,glyph:t,glyphCls:t?Ext.baseCSSPrefix+"menu-item-glyph":undefined,glyphFontFamily:f,hasIcon:!!(n.icon||n.iconCls||t),iconAlign:n.iconAlign,plain:n.plain,text:n.text,arrowCls:u,blank:e,tabIndex:n.tabIndex})},onRender:function(){var n=this;n.callParent(arguments);n.tooltip&&n.setTooltip(n.tooltip,!0)},setMenu:function(n,t){var i=this,r=i.menu,u=i.arrowEl;r&&(delete r.parentItem,delete r.parentMenu,delete r.ownerItem,(t===!0||t!==!1&&i.destroyMenu)&&Ext.destroy(r));n?(i.menu=Ext.menu.Manager.get(n),i.menu.ownerItem=i):i.menu=null;i.rendered&&!i.destroying&&u&&u[i.menu?"addCls":"removeCls"](i.arrowCls)},setHandler:function(n,t){this.handler=n||null;this.scope=t},setIcon:function(n){var t=this.iconEl,i=this.icon;t&&(t.src=n||Ext.BLANK_IMAGE_URL);this.icon=n;this.fireEvent("iconchange",this,i,n)},setIconCls:function(n){var t=this,i=t.iconEl,r=t.iconCls;i&&(t.iconCls&&i.removeCls(t.iconCls),n&&i.addCls(n));t.iconCls=n;t.fireEvent("iconchange",t,r,n)},setText:function(n){var t=this,i=t.textEl||t.el,r=t.text;t.text=n;t.rendered&&(i.update(n||""),t.ownerCt.updateLayout());t.fireEvent("textchange",t,r,n)},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},clearTip:function(){Ext.quickTipsActive&&Ext.isObject(this.tooltip)&&Ext.tip.QuickTipManager.unregister(this.itemEl)},setTooltip:function(n,t){var i=this;return i.rendered?(t||i.clearTip(),Ext.quickTipsActive&&Ext.isObject(n)?(Ext.tip.QuickTipManager.register(Ext.apply({target:i.itemEl.id},n)),i.tooltip=n):i.itemEl.dom.setAttribute(i.getTipAttr(),n)):i.tooltip=n,i}},0,["menuitem"],["component","menuitem","box"],{component:!0,menuitem:!0,box:!0},["widget.menuitem"],[["queryable",Ext.Queryable]],[Ext.menu,"Item",Ext.menu,"TextItem"],0);Ext.cmd.derive("Ext.menu.CheckItem",Ext.menu.Item,{checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:!1,checkChangeDisabled:!1,childEls:["itemEl","iconEl","textEl","checkEl"],showCheckbox:!0,renderTpl:['<tpl if="plain">',"{text}","<tpl else>","{%var showCheckbox = values.showCheckbox,",'      rightCheckbox = showCheckbox && values.hasIcon && (values.iconAlign !== "left"), textCls = rightCheckbox ? "'+Ext.baseCSSPrefix+'right-check-item-text" : "";%}','<a id="{id}-itemEl" class="'+Ext.baseCSSPrefix+'menu-item-link{childElCls}" href="{href}" <tpl if="hrefTarget">target="{hrefTarget}"<\/tpl> hidefocus="true" unselectable="on"','<tpl if="tabIndex">',' tabIndex="{tabIndex}"',"<\/tpl>",">",'{%if (values.hasIcon && (values.iconAlign !== "left")) {%}','<div role="img" id="{id}-iconEl" class="'+Ext.baseCSSPrefix+"menu-item-icon {iconCls}",'{childElCls} {glyphCls}" style="<tpl if="icon">background-image:url({icon});<\/tpl>','<tpl if="glyph && glyphFontFamily">font-family:{glyphFontFamily};<\/tpl>">','<tpl if="glyph">&#{glyph};<\/tpl>',"<\/div>","{%} else if (showCheckbox){%}",'<img id="{id}-checkEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-icon{childElCls}" />',"{%}%}",'<span id="{id}-textEl" class="'+Ext.baseCSSPrefix+'menu-item-text {[textCls]}{childElCls}" <tpl if="arrowCls">style="margin-right: 17px;"<\/tpl> >{text}<\/span>',"{%if (rightCheckbox) {%}",'<img id="{id}-checkEl" src="{blank}" class="'+Ext.baseCSSPrefix+'menu-item-icon-right{childElCls}" />',"{%} else if (values.arrowCls) {%}",'<img id="{id}-arrowEl" src="{blank}" class="{arrowCls}{childElCls}"/>',"{%}%}","<\/a>","<\/tpl>"],initComponent:function(){var n=this;n.checked=!!n.checked;n.addEvents("beforecheckchange","checkchange");n.callParent(arguments);Ext.menu.Manager.registerCheckable(n);n.group&&(n.showCheckbox=!1,n.iconCls||n.icon||n.glyph||(n.iconCls=n.groupCls),n.initialConfig.hideOnClick!==!1&&(n.hideOnClick=!0))},beforeRender:function(){this.callParent();this.renderData.showCheckbox=this.showCheckbox},afterRender:function(){var n=this;n.callParent();n.checked=!n.checked;n.setChecked(!n.checked,!0);n.checkChangeDisabled&&n.disableCheckChange()},disableCheckChange:function(){var n=this,t=n.checkEl;t&&t.addCls(n.disabledCls);Ext.isIE10p||Ext.isIE9&&Ext.isStrict||!n.rendered||n.el.repaint();n.checkChangeDisabled=!0},enableCheckChange:function(){var n=this,t=n.checkEl;t&&t.removeCls(n.disabledCls);n.checkChangeDisabled=!1},onClick:function(n){var t=this;t.disabled||t.checkChangeDisabled||t.checked&&t.group||t.setChecked(!t.checked);this.callParent([n])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(n,t){var i=this;if(i.checked!==n&&(t||i.fireEvent("beforecheckchange",i,n)!==!1)){i.el&&i.el[n?"addCls":"removeCls"](i.checkedCls)[n?"removeCls":"addCls"](i.uncheckedCls);i.checked=n;Ext.menu.Manager.onCheckChange(i,n);t||(Ext.callback(i.checkHandler,i.scope,[i,n]),i.fireEvent("checkchange",i,n))}}},0,["menucheckitem"],["component","menucheckitem","menuitem","box"],{component:!0,menucheckitem:!0,menuitem:!0,box:!0},["widget.menucheckitem"],0,[Ext.menu,"CheckItem"],0);Ext.cmd.derive("Ext.menu.KeyNav",Ext.util.KeyNav,{constructor:function(n){var t=this;t.menu=n.target;t.callParent([Ext.apply({down:t.down,enter:t.enter,esc:t.escape,left:t.left,right:t.right,space:t.enter,tab:t.tab,up:t.up},n)])},down:function(n){var t=this,i=t.menu.focusedItem;if(i&&n.getKey()==Ext.EventObject.DOWN&&t.isWhitelisted(i))return!0;t.focusNextItem(1)},enter:function(n){var t=this.menu,i=t.focusedItem;if(t.activeItem)t.onClick(n);else if(i&&i.isFormField)return!0},escape:function(){Ext.menu.Manager.hideAll()},focusNextItem:function(n){for(var i=this.menu,r=i.items,e=i.focusedItem,o=e?r.indexOf(e):-1,t=o+n,u=r.length,s=0,f;s<u&&t!==o;){if(t<0?t=u-1:t>=u&&(t=0),f=r.getAt(t),i.canActivateItem(f)){i.setActiveItem(f);break}t+=n;++s}},isWhitelisted:function(n){return Ext.FocusManager.isWhitelisted(n)},left:function(){var n=this.menu,t=n.focusedItem;if(t&&this.isWhitelisted(t))return!0;n.hide();n.parentMenu&&n.parentMenu.focus()},right:function(){var t=this.menu,i=t.focusedItem,r=t.activeItem,n;if(i&&this.isWhitelisted(i))return!0;r&&(n=t.activeItem.menu,n&&(r.expandMenu(0),n.setActiveItem(n.child(":focusable"))))},tab:function(n){var t=this;n.shiftKey?t.up(n):t.down(n)},up:function(n){var t=this,i=t.menu.focusedItem;if(i&&n.getKey()==Ext.EventObject.UP&&t.isWhitelisted(i))return!0;t.focusNextItem(-1)}},1,0,0,0,0,0,[Ext.menu,"KeyNav"],0);Ext.cmd.derive("Ext.menu.Separator",Ext.menu.Item,{canActivate:!1,focusable:!1,hideOnClick:!1,plain:!0,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:"&#160;",beforeRender:function(){var n=this;n.callParent();n.addCls(n.separatorCls)}},0,["menuseparator"],["component","menuseparator","menuitem","box"],{component:!0,menuseparator:!0,menuitem:!0,box:!0},["widget.menuseparator"],0,[Ext.menu,"Separator"],0);Ext.cmd.derive("Ext.menu.Menu",Ext.panel.Panel,{enableKeyNav:!0,allowOtherMenus:!1,ariaRole:"menu",floating:!0,constrain:!0,hidden:!0,hideMode:"visibility",ignoreParentClicks:!1,isMenu:!0,showSeparator:!0,minWidth:undefined,defaultMinWidth:120,initComponent:function(){var n=this,t=Ext.baseCSSPrefix,i=[t+"menu"],r=n.bodyCls?[n.bodyCls]:[],u=n.floating!==!1;n.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(n);n.plain&&i.push(t+"menu-plain");n.cls=i.join(" ");r.push(t+"menu-body",Ext.dom.Element.unselectableCls);n.bodyCls=r.join(" ");n.layout||(n.layout={type:"vbox",align:"stretchmax",overflowHandler:"Scroller"});u?n.minWidth===undefined&&(n.minWidth=n.defaultMinWidth):(n.hidden=!!n.initialConfig.hidden,n.constrain=!1);n.callParent(arguments)},registerWithOwnerCt:function(){this.floating&&(this.ownerCt=null,Ext.WindowManager.register(this))},initHierarchyEvents:Ext.emptyFn,isVisible:function(){return this.callParent()},getHierarchyState:function(){var n=this.callParent();return n.hidden=this.hidden,n},beforeRender:function(){this.callParent(arguments);this.getSizeModel().width.shrinkWrap||(this.layout.align="stretch")},onBoxReady:function(){var n=this;n.callParent(arguments);n.showSeparator&&(n.iconSepEl=n.layout.getElementTarget().insertFirst({cls:Ext.baseCSSPrefix+"menu-icon-separator",html:"&#160;"}));n.mon(n.el,{click:n.onClick,mouseover:n.onMouseOver,scope:n});n.mouseMonitor=n.el.monitorMouseLeave(100,n.onMouseLeave,n);n.enableKeyNav&&(n.keyNav=new Ext.menu.KeyNav({target:n,keyMap:n.getKeyMap()}))},getRefOwner:function(){return this.parentMenu||this.ownerButton||this.callParent(arguments)},canActivateItem:function(n){return n&&!n.isDisabled()&&n.isVisible()&&(n.canActivate||n.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(n){var t=this,i=t.activeItem,r=t.focusedItem;i&&(i.deactivate(),i.activated||delete t.activeItem);r&&n&&(r.blur(),delete t.focusedItem)},getFocusEl:function(){return this.focusedItem||this.el},hide:function(){this.deactivateActiveItem(!0);this.callParent(arguments)},getItemFromEvent:function(n){return this.getChildByElement(n.getTarget())},lookupComponent:function(n){var t=this;return typeof n=="string"?n=t.lookupItemFromString(n):Ext.isObject(n)&&(n=t.lookupItemFromObject(n)),n.minWidth=n.minWidth||t.minWidth,n},lookupItemFromObject:function(n){var i=this,r=Ext.baseCSSPrefix,t;return n.isComponent||(n=n.xtype?Ext.ComponentManager.create(n,n.xtype):Ext.create("Ext.menu."+(Ext.isBoolean(n.checked)?"Check":"")+"Item",n)),n.isMenuItem&&(n.parentMenu=i),n.isMenuItem||n.dock||(t=[r+"menu-item-cmp"],i.plain||n.indent===!1&&n.iconCls!=="no-icon"||t.push(r+"menu-item-indent"),n.rendered?n.el.addCls(t):n.cls=(n.cls||"")+" "+t.join(" ")),n},lookupItemFromString:function(n){return n=="separator"||n=="-"?new Ext.menu.Separator:new Ext.menu.Item({canActivate:!1,hideOnClick:!1,plain:!0,text:n})},onClick:function(n){var i=this,t;if(i.disabled){n.stopEvent();return}if(t=n.type==="click"?i.getItemFromEvent(n):i.activeItem,t&&t.isMenuItem)if(t.menu&&i.ignoreParentClicks)n.stopEvent();else t.onClick(n);(!t||t.disabled)&&(t=undefined);i.fireEvent("click",i,t,n)},onDestroy:function(){var n=this;Ext.menu.Manager.unregister(n);n.parentMenu=n.ownerButton=null;n.rendered&&(n.el.un(n.mouseMonitor),Ext.destroy(n.keyNav),n.keyNav=null);n.callParent(arguments)},onMouseLeave:function(n){var t=this;(t.deactivateActiveItem(),t.disabled)||t.fireEvent("mouseleave",t,n)},onMouseOver:function(n){var t=this,e=n.getRelatedTarget(),u=!t.el.contains(e),i=t.getItemFromEvent(n),r=t.parentMenu,f=t.parentItem;(u&&r&&(r.setActiveItem(f),f.cancelDeferHide(),r.mouseMonitor.mouseenter()),t.disabled)||(i&&!i.activated&&(t.setActiveItem(i),i.activated&&i.expandMenu&&i.expandMenu()),u&&t.fireEvent("mouseenter",t,n),t.fireEvent("mouseover",t,i,n))},setActiveItem:function(n){var t=this;n&&n!=t.activeItem&&(t.deactivateActiveItem(),t.canActivateItem(n)&&(n.activate?(n.activate(),n.activated&&(t.activeItem=n,t.focusedItem=n,t.focus())):(n.focus(),t.focusedItem=n)),n.el.scrollIntoView(t.layout.getRenderTarget()))},showBy:function(){var n=this;return n.callParent(arguments),n.hidden||n.setVerticalPosition(),n},beforeShow:function(){var n=this,t;n.floating&&(n.savedMaxHeight=n.maxHeight,t=n.container.getViewSize().height,n.maxHeight=Math.min(n.maxHeight||t,t));n.callParent(arguments)},afterShow:function(){var n=this;n.callParent(arguments);n.floating&&(n.maxHeight=n.savedMaxHeight)},setVerticalPosition:function(){var n=this,u,t=n.getY(),r=t,i=n.getHeight(),e=Ext.Element.getViewportHeight().height,f=n.el.parent(),o=f.getViewSize().height,s=t-f.getScroll().top;f=null;n.floating&&(u=n.maxHeight?n.maxHeight:o-s,i>o?r=t-s:u<i?r=t-(i-u):t+i>e&&(r=e-i));n.setY(r)}},0,["menu"],["panel","component","container","menu","box"],{panel:!0,component:!0,container:!0,menu:!0,box:!0},["widget.menu"],0,[Ext.menu,"Menu"],0);Ext.cmd.derive("Ext.menu.ColorPicker",Ext.menu.Menu,{hideOnClick:!0,pickerId:null,initComponent:function(){var n=this,t=Ext.apply({},n.initialConfig);if(delete t.listeners,Ext.apply(n,{plain:!0,showSeparator:!1,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:n.pickerId,xtype:"colorpicker"},t)}),n.callParent(arguments),n.picker=n.down("colorpicker"),n.relayEvents(n.picker,["select"]),n.hideOnClick)n.on("select",n.hidePickerOnSelect,n)},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}},0,["colormenu"],["panel","component","container","menu","colormenu","box"],{panel:!0,component:!0,container:!0,menu:!0,colormenu:!0,box:!0},["widget.colormenu"],0,[Ext.menu,"ColorPicker"],0);Ext.cmd.derive("Ext.menu.DatePicker",Ext.menu.Menu,{hideOnClick:!0,pickerId:null,initComponent:function(){var n=this,t=Ext.apply({},n.initialConfig);if(delete t.listeners,Ext.apply(n,{showSeparator:!1,plain:!0,border:!1,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:n.pickerId,xtype:"datepicker"},t)}),n.callParent(arguments),n.picker=n.down("datepicker"),n.relayEvents(n.picker,["select"]),n.hideOnClick)n.on("select",n.hidePickerOnSelect,n)},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}},0,["datemenu"],["panel","datemenu","component","container","menu","box"],{panel:!0,datemenu:!0,component:!0,container:!0,menu:!0,box:!0},["widget.datemenu"],0,[Ext.menu,"DatePicker"],0);Ext.cmd.derive("Ext.panel.Tool",Ext.Component,{isTool:!0,baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",childEls:["toolEl"],renderTpl:['<img role="presentation" id="{id}-toolEl" src="{blank}" class="{baseCls}-img {baseCls}-{type}{childElCls}" role="presentation"/>'],toolOwner:null,tooltipType:"qtip",stopEvent:!0,height:15,width:15,initComponent:function(){var n=this;n.addEvents("click");n.type=n.type||n.id;Ext.applyIf(n.renderData,{baseCls:n.baseCls,blank:Ext.BLANK_IMAGE_URL,type:n.type});n.tooltip=n.tooltip||n.qtip;n.callParent()},afterRender:function(){var n=this,t;n.callParent(arguments);n.el.on({click:n.onClick,mousedown:n.onMouseDown,mouseover:n.onMouseOver,mouseout:n.onMouseOut,scope:n});n.tooltip&&(Ext.quickTipsActive&&Ext.isObject(n.tooltip)?Ext.tip.QuickTipManager.register(Ext.apply({target:n.id},n.tooltip)):(t=n.tooltipType=="qtip"?"data-qtip":"title",n.el.dom.setAttribute(t,n.tooltip)))},getFocusEl:function(){return this.el},setType:function(n){var t=this,i=t.type;return t.type=n,t.rendered?(i&&t.toolEl.removeCls(t.baseCls+"-"+i),t.toolEl.addCls(t.baseCls+"-"+n)):t.renderData.type=n,t},onClick:function(n,t){var i=this;return i.disabled?!1:(i.el.removeCls(i.toolPressedCls),i.el.removeCls(i.toolOverCls),i.stopEvent!==!1&&n.stopEvent(),i.handler?Ext.callback(i.handler,i.scope||i,[n,t,i.ownerCt,i]):i.callback&&Ext.callback(i.callback,i.scope||i,[i.toolOwner||i.ownerCt,i,n]),i.fireEvent("click",i,n),!0)},onDestroy:function(){Ext.quickTipsActive&&Ext.isObject(this.tooltip)&&Ext.tip.QuickTipManager.unregister(this.id);this.callParent()},onMouseDown:function(){if(this.disabled)return!1;this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled)return!1;this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}},0,["tool"],["component","tool","box"],{component:!0,tool:!0,box:!0},["widget.tool"],0,[Ext.panel,"Tool"],0);Ext.cmd.derive("Ext.resizer.SplitterTracker",Ext.dd.DragTracker,{enabled:!0,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",createDragOverlay:function(){var n;n=this.overlay=Ext.getBody().createChild({cls:this.overlayCls,html:"&#160;"});n.unselectable();n.setSize(Ext.Element.getViewWidth(!0),Ext.Element.getViewHeight(!0));n.show()},getPrevCmp:function(){var n=this.getSplitter();return n.previousSibling(":not([hidden])")},getNextCmp:function(){var n=this.getSplitter();return n.nextSibling(":not([hidden])")},onBeforeStart:function(n){var t=this,i=t.getPrevCmp(),r=t.getNextCmp(),f=t.getSplitter().collapseEl,e=n.getTarget(),u;return!i||!r?!1:f&&e===t.getSplitter().collapseEl.dom?!1:r.collapsed||i.collapsed?!1:(t.prevBox=i.getEl().getBox(),t.nextBox=r.getEl().getBox(),t.constrainTo=u=t.calculateConstrainRegion(),!u)?!1:u},onStart:function(){var n=this.getSplitter();this.createDragOverlay();n.addCls(n.baseCls+"-active")},calculateConstrainRegion:function(){var n=this,o=n.getSplitter(),s=o.getWidth(),r=o.defaultSplitMin,l=o.orientation,t=n.prevBox,u=n.getPrevCmp(),i=n.nextBox,f=n.getNextCmp(),h,c,e;return l==="vertical"?(e={prevCmp:u,nextCmp:f,prevBox:t,nextBox:i,defaultMin:r,splitWidth:s},h=new Ext.util.Region(t.y,n.getVertPrevConstrainRight(e),t.bottom,n.getVertPrevConstrainLeft(e)),c=new Ext.util.Region(i.y,n.getVertNextConstrainRight(e),i.bottom,n.getVertNextConstrainLeft(e))):(h=new Ext.util.Region(t.y+(u.minHeight||r),t.right,(u.maxHeight?t.y+u.maxHeight:i.bottom-(f.minHeight||r))+s,t.x),c=new Ext.util.Region((f.maxHeight?i.bottom-f.maxHeight:t.y+(u.minHeight||r))-s,i.right,i.bottom-(f.minHeight||r),i.x)),h.intersect(c)},performResize:function(n,t){for(var r=this,c=r.getSplitter(),v=c.orientation,u=r.getPrevCmp(),f=r.getNextCmp(),l=c.ownerCt,a=l.query(">[flex]"),y=a.length,s=v==="vertical",h=0,e=s?"width":"height",p=0,o,i;h<y;h++)o=a[h],i=s?o.getWidth():o.getHeight(),p+=i,o.flex=i;t=s?t[0]:t[1];u&&(i=r.prevBox[e]+t,u.flex?u.flex=i:u[e]=i);f&&(i=r.nextBox[e]-t,f.flex?f.flex=i:f[e]=i);l.updateLayout()},endDrag:function(){var n=this;n.overlay&&(n.overlay.remove(),delete n.overlay);n.callParent(arguments)},onEnd:function(n){var t=this,i=t.getSplitter();i.removeCls(i.baseCls+"-active");t.performResize(n,t.getResizeOffset())},onDrag:function(){var n=this,t=n.getOffset("dragTarget"),i=n.getSplitter(),r=i.getEl(),u=i.orientation;u==="vertical"?r.setX(n.startRegion.left+t[0]):r.setY(n.startRegion.top+t[1])},getSplitter:function(){return this.splitter},getVertPrevConstrainRight:function(n){return(n.prevCmp.maxWidth?n.prevBox.x+n.prevCmp.maxWidth:n.nextBox.right-(n.nextCmp.minWidth||n.defaultMin))+n.splitWidth},getVertPrevConstrainLeft:function(n){return n.prevBox.x+(n.prevCmp.minWidth||n.defaultMin)},getVertNextConstrainRight:function(n){return n.nextBox.right-(n.nextCmp.minWidth||n.defaultMin)},getVertNextConstrainLeft:function(n){return(n.nextCmp.maxWidth?n.nextBox.right-n.nextCmp.maxWidth:n.prevBox.x+(n.prevBox.minWidth||n.defaultMin))-n.splitWidth},getResizeOffset:function(){return this.getOffset("dragTarget")}},0,0,0,0,0,0,[Ext.resizer,"SplitterTracker"],0);Ext.cmd.derive("Ext.resizer.BorderSplitterTracker",Ext.resizer.SplitterTracker,{getPrevCmp:null,getNextCmp:null,calculateConstrainRegion:function(){var f=this,r=f.splitter,h=r.collapseTarget,a=r.defaultSplitMin,c=r.vertical?"Width":"Height",v="min"+c,y="max"+c,nt="get"+c,p=r.neighbors,tt=p.length,i=h.el.getBox(),w=i.x,b=i.y,k=i.right,d=i.bottom,t=r.vertical?k-w:d-b,e,o,u,n,s,l,g;for(u=(h[v]||Math.min(t,a))-t,n=h[y],n?n-=t:n=1e9,g=t,e=0;e<tt;++e)o=p[e],t=o[nt](),s=t-o[y],l=t-(o[v]||Math.min(t,a)),isNaN(s)||u<s&&(u=s),n>l&&(n=l);return n-u<2?null:(i=new Ext.util.Region(b,k,d,w),f.constraintAdjusters[f.getCollapseDirection()](i,u,n,r),f.dragInfo={minRange:u,maxRange:n,targetSize:g},i)},constraintAdjusters:{left:function(n,t,i,r){n[0]=n.x=n.left=n.right+t;n.right+=i+r.getWidth()},top:function(n,t,i,r){n[1]=n.y=n.top=n.bottom+t;n.bottom+=i+r.getHeight()},bottom:function(n,t,i,r){n.bottom=n.top-t;n.top-=i+r.getHeight()},right:function(n,t,i,r){n.right=n.left-t;n[0]=n.x=n.left=n.x-i+r.getWidth()}},onBeforeStart:function(n){var t=this,r=t.splitter,f=r.collapseTarget,e=r.neighbors,o=t.getSplitter().collapseEl,s=n.getTarget(),h=e.length,i,u;if(o&&s===r.collapseEl.dom||f.collapsed)return!1;for(i=0;i<h;++i)if(u=e[i],u.collapsed&&u.isHorz===f.isHorz)return!1;return(t.constrainTo=t.calculateConstrainRegion())?!0:!1},performResize:function(n,t){var u=this,r=u.splitter,e=r.getCollapseDirection(),h=r.collapseTarget,o=u.splitAdjusters[r.vertical?"horz":"vert"],i=t[o.index],f=u.dragInfo,s;(e=="right"||e=="bottom")&&(i=-i);i=Math.min(Math.max(f.minRange,i),f.maxRange);i&&((s=r.ownerCt).suspendLayouts(),o.adjustTarget(h,f.targetSize,i),s.resumeLayouts(!0))},splitAdjusters:{horz:{index:0,adjustTarget:function(n,t,i){n.flex=null;n.setSize(t+i)}},vert:{index:1,adjustTarget:function(n,t,i){n.flex=null;n.setSize(undefined,t+i)}}},getCollapseDirection:function(){return this.splitter.getCollapseDirection()}},0,0,0,0,0,0,[Ext.resizer,"BorderSplitterTracker"],0);Ext.cmd.derive("Ext.resizer.Handle",Ext.Component,{handleCls:"",baseHandleCls:Ext.baseCSSPrefix+"resizable-handle",region:"",beforeRender:function(){var n=this;n.callParent();n.protoEl.unselectable();n.addCls(n.baseHandleCls,n.baseHandleCls+"-"+n.region,n.handleCls)}},0,0,["component","box"],{component:!0,box:!0},0,0,[Ext.resizer,"Handle"],0);Ext.cmd.derive("Ext.resizer.ResizeTracker",Ext.dd.DragTracker,{dynamic:!0,preserveRatio:!1,constrainTo:null,proxyCls:Ext.baseCSSPrefix+"resizable-proxy",constructor:function(n){var t=this,i,r,u;n.el||(t.el=n.target.isComponent?n.target.getEl():n.target);this.callParent(arguments);t.preserveRatio&&t.minWidth&&t.minHeight&&(i=t.minWidth/t.el.getWidth(),r=t.minHeight/t.el.getHeight(),r>i?t.minWidth=t.el.getWidth()*r:t.minHeight=t.el.getHeight()*i);t.throttle&&(u=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(t,arguments)},t.throttle),t.resize=function(n,i,r){r?Ext.resizer.ResizeTracker.prototype.resize.apply(t,arguments):u.apply(null,arguments)})},onBeforeStart:function(){this.startBox=this.target.getBox()},getDynamicTarget:function(){var n=this,t=n.target;return n.dynamic?t:(n.proxy||(n.proxy=n.createProxy(t)),n.proxy.show(),n.proxy)},createProxy:function(n){var t,i=this.proxyCls;return t=n.isComponent?n.getProxy().addCls(i):n.createProxy({tag:"div",cls:i,id:n.id+"-rzproxy"},Ext.getBody()),t.removeCls(Ext.baseCSSPrefix+"proxy-el"),t},onStart:function(){this.activeResizeHandle=Ext.get(this.getDragTarget().id);this.dynamic||this.resize(this.startBox,{horizontal:"none",vertical:"none"})},onDrag:function(n){(this.dynamic||this.proxy)&&this.updateDimensions(n)},updateDimensions:function(n,t){var u=this,h=u.activeResizeHandle.region,f=u.getOffset(u.constrainTo?"dragTarget":null),r=u.startBox,p,e=0,o=0,c,l,v=0,y=0,k,d=f[0]<0?"right":"left",g=f[1]<0?"down":"up",a,s,i,w,b;h=u.convertRegionName(h);switch(h){case"south":o=f[1];s=2;break;case"north":o=-f[1];y=-o;s=2;break;case"east":e=f[0];s=1;break;case"west":e=-f[0];v=-e;s=1;break;case"northeast":o=-f[1];y=-o;e=f[0];a=[r.x,r.y+r.height];s=3;break;case"southeast":o=f[1];e=f[0];a=[r.x,r.y];s=3;break;case"southwest":e=-f[0];v=-e;o=f[1];a=[r.x+r.width,r.y];s=3;break;case"northwest":o=-f[1];y=-o;e=-f[0];v=-e;a=[r.x+r.width,r.y+r.height];s=3}if(i={width:r.width+e,height:r.height+o,x:r.x+v,y:r.y+y},c=Ext.Number.snap(i.width,u.widthIncrement),l=Ext.Number.snap(i.height,u.heightIncrement),c!=i.width||l!=i.height){switch(h){case"northeast":i.y-=l-i.height;break;case"north":i.y-=l-i.height;break;case"southwest":i.x-=c-i.width;break;case"west":i.x-=c-i.width;break;case"northwest":i.x-=c-i.width;i.y-=l-i.height}i.width=c;i.height=l}i.width<u.minWidth||i.width>u.maxWidth?(i.width=Ext.Number.constrain(i.width,u.minWidth,u.maxWidth),v&&(i.x=r.x+(r.width-i.width))):u.lastX=i.x;i.height<u.minHeight||i.height>u.maxHeight?(i.height=Ext.Number.constrain(i.height,u.minHeight,u.maxHeight),y&&(i.y=r.y+(r.height-i.height))):u.lastY=i.y;(u.preserveRatio||n.shiftKey)&&(p=u.startBox.width/u.startBox.height,w=Math.min(Math.max(u.minHeight,i.width/p),u.maxHeight),b=Math.min(Math.max(u.minWidth,i.height*p),u.maxWidth),s==1?i.height=w:s==2?i.width=b:(k=Math.abs(a[0]-this.lastXY[0])/Math.abs(a[1]-this.lastXY[1]),k>p?i.height=w:i.width=b,h=="northeast"?i.y=r.y-(i.height-r.height):h=="northwest"?(i.y=r.y-(i.height-r.height),i.x=r.x-(i.width-r.width)):h=="southwest"&&(i.x=r.x-(i.width-r.width))));o===0&&(g="none");e===0&&(d="none");u.resize(i,{horizontal:d,vertical:g},t)},getResizeTarget:function(n){return n?this.target:this.getDynamicTarget()},resize:function(n,t,i){var r=this,u=r.getResizeTarget(i);u.setBox(n);r.originalTarget&&(r.dynamic||i)&&r.originalTarget.setBox(n)},onEnd:function(n){this.updateDimensions(n,!0);this.proxy&&this.proxy.hide()},convertRegionName:function(n){return n}},1,0,0,0,0,0,[Ext.resizer,"ResizeTracker"],0);Ext.cmd.derive("Ext.resizer.Resizer",Ext.Base,{alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",delimiterRe:/(?:\s*[,;]\s*)|\s+/,dynamic:!0,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:1e4,maxWidth:1e4,pinned:!1,preserveRatio:!1,transparent:!1,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(n){var t=this,i,e,s,f=t.handles,h,o,l,r=0,u,a=[],v,y,p,c,w=Ext.dom.Element.unselectableCls;t.addEvents("beforeresize","resizedrag","resize");(Ext.isString(n)||Ext.isElement(n)||n.dom)&&(i=n,n=arguments[1]||{},n.target=i);t.mixins.observable.constructor.call(t,n);i=t.target;i?i.isComponent?(i.addClsWithUI("resizable"),t.el=i.getEl(),i.minWidth&&(t.minWidth=i.minWidth),i.minHeight&&(t.minHeight=i.minHeight),i.maxWidth&&(t.maxWidth=i.maxWidth),i.maxHeight&&(t.maxHeight=i.maxHeight),i.floating&&(t.hasOwnProperty("handles")||(t.handles="n ne e se s sw w nw"))):t.el=t.target=Ext.get(i):t.target=t.el=Ext.get(t.el);s=t.el.dom.tagName.toUpperCase();(s=="TEXTAREA"||s=="IMG"||s=="TABLE")&&(t.originalTarget=t.target,e=t.el,p=e.getBox(),t.target=t.el=t.el.wrap({cls:t.wrapCls,id:t.el.id+"-rzwrap",style:e.getStyles("margin-top","margin-bottom")}),t.el.setPositioning(e.getPositioning()),e.clearPositioning(),t.el.setBox(p),e.setStyle("position","absolute"));t.el.position();t.pinned&&t.el.addCls(t.pinnedCls);t.resizeTracker=new Ext.resizer.ResizeTracker({disabled:t.disabled,target:t.target,constrainTo:t.constrainTo,overCls:t.overCls,throttle:t.throttle,originalTarget:t.originalTarget,delegate:"."+t.handleCls,dynamic:t.dynamic,preserveRatio:t.preserveRatio,heightIncrement:t.heightIncrement,widthIncrement:t.widthIncrement,minHeight:t.minHeight,maxHeight:t.maxHeight,minWidth:t.minWidth,maxWidth:t.maxWidth});t.resizeTracker.on({mousedown:t.onBeforeResize,drag:t.onResize,dragend:t.onResizeEnd,scope:t});for(t.handles=="all"&&(t.handles="n s e w ne nw se sw"),f=t.handles=t.handles.split(t.delimiterRe),o=t.possiblePositions,l=f.length,h=t.handleCls+" "+t.handleCls+"-{0}",t.target.isComponent&&(c=t.target.baseCls,h+=" "+c+"-handle "+c+"-handle-{0}",Ext.supports.CSS3BorderRadius&&(h+=" "+c+"-handle-{0}-br")),v=Ext.isIE6?' style="height:'+t.el.getHeight()+'px"':"";r<l;r++)f[r]&&o[f[r]]&&(u=o[f[r]],y=u==="east"||u==="west"?v:"",a.push('<div id="',t.el.id,"-",u,'-handle"',' class="',Ext.String.format(h,u)," ",w,'"',' unselectable="on"',y,"><\/div>"));for(Ext.DomHelper.append(t.el,a.join("")),r=0;r<l;r++)f[r]&&o[f[r]]&&(u=o[f[r]],t[u]=t.el.getById(t.el.id+"-"+u+"-handle"),t[u].region=u,t.transparent&&t[u].setOpacity(0));Ext.isNumber(t.width)&&(t.width=Ext.Number.constrain(t.width,t.minWidth,t.maxWidth));Ext.isNumber(t.height)&&(t.height=Ext.Number.constrain(t.height,t.minHeight,t.maxHeight));(t.width!==null||t.height!==null)&&(t.originalTarget&&(t.originalTarget.setWidth(t.width),t.originalTarget.setHeight(t.height)),t.resizeTo(t.width,t.height));t.forceHandlesHeight()},disable:function(){this.resizeTracker.disable()},enable:function(){this.resizeTracker.enable()},onBeforeResize:function(n,t){var i=this.el.getBox();return this.fireEvent("beforeresize",this,i.width,i.height,t)},onResize:function(n,t){var i=this,r=i.el.getBox();return i.forceHandlesHeight(),i.fireEvent("resizedrag",i,r.width,r.height,t)},onResizeEnd:function(n,t){var i=this,r=i.el.getBox();return i.forceHandlesHeight(),i.fireEvent("resize",i,r.width,r.height,t)},resizeTo:function(n,t){var i=this;i.target.setSize(n,t);i.fireEvent("resize",i,n,t,null)},getEl:function(){return this.el},getTarget:function(){return this.target},destroy:function(){var n=this,t,i=n.handles,u=i.length,f=n.possiblePositions,r;for(n.resizeTracker.destroy(),t=0;t<u;t++)(r=n[f[i[t]]])&&r.remove()},forceHandlesHeight:function(){var t=this,n;Ext.isIE6&&(n=t.east,n&&n.setHeight(t.el.getHeight()),n=t.west,n&&n.setHeight(t.el.getHeight()),t.el.repaint())}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.resizer,"Resizer",Ext,"Resizable"],0);Ext.cmd.derive("Ext.selection.CellModel",Ext.selection.Model,{isCellModel:!0,enableKeyNav:!0,preventWrap:!1,noSelection:{row:-1,column:-1},constructor:function(){this.addEvents("deselect","select");this.callParent(arguments)},bindComponent:function(n){var t=this,i=n.ownerCt;t.primaryView=n;t.views=t.views||[];t.views.push(n);t.bindStore(n.getStore(),!0);n.on({cellmousedown:t.onMouseDown,refresh:t.onViewRefresh,scope:t});if(i.optimizedColumnMove!==!1)i.on("columnmove",t.onColumnMove,t);t.enableKeyNav&&t.initKeyNav(n)},initKeyNav:function(n){var t=this;if(!n.rendered){n.on("render",Ext.Function.bind(t.initKeyNav,t,[n],0),t,{single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n.el,ignoreInputFields:!0,up:t.onKeyUp,down:t.onKeyDown,right:t.onKeyRight,left:t.onKeyLeft,tab:t.onKeyTab,scope:t})},getHeaderCt:function(){var n=this.getCurrentPosition(),t=n?n.view:this.primaryView;return t.headerCt},onKeyUp:function(n){this.doMove("up",n)},onKeyDown:function(n){this.doMove("down",n)},onKeyLeft:function(n){this.doMove("left",n)},onKeyRight:function(n){this.doMove("right",n)},doMove:function(n,t){this.keyNavigation=!0;this.move(n,t);this.keyNavigation=!1},onVetoUIEvent:Ext.emptyFn,select:function(n,t,i){var r=this,u,f=r.getCurrentPosition(),e=r.view.store;(n||n===0)&&(n.isModel?(u=e.indexOf(n),n=u!==-1?{row:u,column:f?f.column:0}:null):typeof n=="number"&&(n={row:n,column:0}));n?r.selectByPosition(n,i):r.deselect()},deselect:function(n,t){this.selectByPosition(null,t)},move:function(n,t){var u=this,i=u.getCurrentPosition(),r;if(i&&(r=i.view.walkCells(i,n,t,u.preventWrap),r))return r.view=i.view,u.setCurrentPosition(r)},getCurrentPosition:function(){return this.selecting?this.nextSelection:this.selection},setCurrentPosition:function(n,t){var i=this,r=i.selection;if(i.lastSelection=r,r)if(n&&n.record===r.record&&n.columnHeader===r.columnHeader&&n.view===r.view)n=null;else i.onCellDeselect(i.selection,t);if(n){i.nextSelection=new Ext.grid.CellContext(i.primaryView).setPosition(n);i.selecting=!0;i.onCellSelect(i.nextSelection,t);return i.selecting=!1,i.selection=i.nextSelection}},isCellSelected:function(n,t,i){var f=this,u,r=f.getCurrentPosition();if(r&&r.view===n)return u=new Ext.grid.CellContext(n).setPosition({row:t,column:i}),u.record===r.record&&u.columnHeader===r.columnHeader},onStoreRemove:function(n,t,i){var e=this,r=e.getCurrentPosition(),u,s=t.length,o,f=0;if(e.callParent(arguments),r){if(i[0]>r.row)return;for(u=0;u<s;u++)if(o=i[u],o<r.row)f++;else break;f&&r.setRow(r.row-f)}},onMouseDown:function(n,t,i,r,u,f){f!==-1&&this.setCurrentPosition({view:n,row:u,column:i})},onCellSelect:function(n,t){n&&n.row!==undefined&&n.row>-1&&this.doSelect(n.record,!1,t)},onCellDeselect:function(n,t){n&&n.row!==undefined&&this.doDeselect(n.record,t)},onSelectChange:function(n,t,i,r){var u=this,f,e,o;if(t?(f=u.nextSelection,e="select"):(f=u.lastSelection||u.noSelection,e="deselect"),o=f.view||u.primaryView,(i||u.fireEvent("before"+e,u,n,f.row,f.column))!==!1&&r()!==!1){if(t){o.focusRow(n,!0);o.onCellSelect(f)}else{o.onCellDeselect(f);delete u.selection}i||u.fireEvent(e,u,n,f.row,f.column)}},onKeyTab:function(n){var t=this,r=t.getCurrentPosition(),i;if(r)if(i=r.view.editingPlugin,i&&t.wasEditing)t.onEditorTab(i,n);else t.move(n.shiftKey?"left":"right",n)},onEditorTab:function(n,t){var r=this,u=t.shiftKey?"left":"right",i=r.move(u,t);i&&(r.wasEditing=n.startEdit(i.record,i.columnHeader)?!1:!0)},refresh:function(){var n=this.getCurrentPosition(),t;n&&(t=this.store.indexOf(this.selected.last()))!==-1&&(n.row=t)},onColumnMove:function(n){var t=n.up("tablepanel");if(t)this.onViewRefresh(t.view)},onUpdate:function(n){var t=this,i;if(t.isSelected(n)){i=t.selecting?t.nextSelection:t.selection;t.view.onCellSelect(i)}},onViewRefresh:function(n){var f=this,i=f.getCurrentPosition(),r=n.headerCt,u,t;i&&i.view===n&&(u=i.record,t=i.columnHeader,t.isDescendantOf(r)||(t=r.queryById(t.id)||r.down('[text="'+t.text+'"]')||r.down('[dataIndex="'+t.dataIndex+'"]')),t&&n.store.indexOfId(u.getId())!==-1&&f.setCurrentPosition({row:u,column:t,view:n}))},selectByPosition:function(n,t){this.setCurrentPosition(n,t)}},1,0,0,0,["selection.cellmodel"],0,[Ext.selection,"CellModel"],0);Ext.cmd.derive("Ext.selection.RowModel",Ext.selection.Model,{deltaScroll:5,enableKeyNav:!0,ignoreRightMouseSelection:!1,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.views=[];this.callParent(arguments)},bindComponent:function(n){var t=this;n.on({itemmousedown:t.onRowMouseDown,itemclick:t.onRowClick,scope:t});t.enableKeyNav&&t.initKeyNav(n)},initKeyNav:function(n){var t=this;if(!n.rendered){n.on("render",Ext.Function.bind(t.initKeyNav,t,[n],0),t,{single:!0});return}n.el.set({tabIndex:-1});t.keyNav=new Ext.util.KeyNav({target:n,ignoreInputFields:!0,eventName:"itemkeydown",processEvent:function(n,t,i,r,u){return u.record=t,u.recordIndex=r,u},up:t.onKeyUp,down:t.onKeyDown,right:t.onKeyRight,left:t.onKeyLeft,pageDown:t.onKeyPageDown,pageUp:t.onKeyPageUp,home:t.onKeyHome,end:t.onKeyEnd,space:t.onKeySpace,enter:t.onKeyEnter,scope:t})},onUpdate:function(n){var i=this,t=i.view,r;if(t&&i.isSelected(n)){r=t.indexOf(n);t.onRowSelect(r);if(n===i.lastFocused)t.onRowFocus(r,!0)}},getRowsVisible:function(){var n=!1,t=this.views[0],i=t.all.first(),r,u;return i&&(r=i.getHeight(),u=t.el.getHeight(),n=Math.floor(u/r)),n},onKeyEnd:function(n){var t=this,i=t.views[0];i.bufferedRenderer?i.bufferedRenderer.scrollTo(t.store.getCount()-1,!1,function(i,r){t.afterKeyNavigate(n,r)}):t.afterKeyNavigate(n,i.getRecord(i.all.getCount()-1))},onKeyHome:function(n){var t=this,i=t.views[0];i.bufferedRenderer?i.bufferedRenderer.scrollTo(0,!1,function(i,r){t.afterKeyNavigate(n,r)}):t.afterKeyNavigate(n,i.getRecord(0))},onKeyPageUp:function(n){var t=this,i=t.views[0],r=t.getRowsVisible(),u,f;r&&(i.bufferedRenderer?(u=Math.max(n.recordIndex-r,0),(t.lastKeyEvent||(t.lastKeyEvent=new Ext.EventObjectImpl)).setEvent(n.browserEvent),i.bufferedRenderer.scrollTo(u,!1,t.afterBufferedScrollTo,t)):(f=i.walkRecs(n.record,-r),t.afterKeyNavigate(n,f)))},onKeyPageDown:function(n){var t=this,i=t.views[0],r=t.getRowsVisible(),u,f;r&&(i.bufferedRenderer?(u=Math.min(n.recordIndex+r,t.store.getCount()-1),(t.lastKeyEvent||(t.lastKeyEvent=new Ext.EventObjectImpl)).setEvent(n.browserEvent),i.bufferedRenderer.scrollTo(u,!1,t.afterBufferedScrollTo,t)):(f=i.walkRecs(n.record,r),t.afterKeyNavigate(n,f)))},onKeySpace:function(n){var t=this.lastFocused;t&&this.afterKeyNavigate(n,t)},onKeyEnter:Ext.emptyFn,onKeyUp:function(n){var t=this.views[0].walkRecs(n.record,-1);t&&this.afterKeyNavigate(n,t)},onKeyDown:function(n){var t=this.views[0].walkRecs(n.record,1);t&&this.afterKeyNavigate(n,t)},afterBufferedScrollTo:function(n,t){this.afterKeyNavigate(this.lastKeyEvent,t)},scrollByDeltaX:function(n){var i=this.views[0],r=i.up(),t=r.horizontalScroller;t&&t.scrollByDeltaX(n)},onKeyLeft:function(){this.scrollByDeltaX(-this.deltaScroll)},onKeyRight:function(){this.scrollByDeltaX(this.deltaScroll)},onRowMouseDown:function(n,t,i,r,u){var f=this;if(r!==-1){if(!f.allowRightMouseSelection(u))return;f.isSelected(t)?f.mousedownAction=!1:(f.mousedownAction=!0,f.processSelection(n,t,i,r,u))}},onVetoUIEvent:function(n,t,i,r,u,f,e){n=="mousedown"&&(this.mousedownAction=!this.isSelected(e))},onRowClick:function(n,t,i,r,u){this.mousedownAction?this.mousedownAction=!1:this.processSelection(n,t,i,r,u)},processSelection:function(n,t,i,r,u){this.selectWithEvent(t,u)},allowRightMouseSelection:function(n){var t=this.ignoreRightMouseSelection&&n.button!==0;return t&&(t=this.hasSelection()),!t},onSelectChange:function(n,t,i,r){var u=this,f=u.views,h=f.length,e=f[0].indexOf(n),s=t?"select":"deselect",o=0;if((i||u.fireEvent("before"+s,u,n,e))!==!1&&r()!==!1){for(;o<h;o++)if(t)f[o].onRowSelect(e,i);else f[o].onRowDeselect(e,i);i||u.fireEvent(s,u,n,e)}},onLastFocusChanged:function(n,t,i){var f=this.views,e=f.length,u,r=0;if(n&&(u=f[0].indexOf(n),u!=-1))for(;r<e;r++)f[r].onRowFocus(u,!1,!0);if(t&&(u=f[0].indexOf(t),u!=-1))for(r=0;r<e;r++)f[r].onRowFocus(u,!0,i);this.callParent(arguments)},onEditorTab:function(n,t){var r=this,u=r.views[0],f=n.getActiveRecord(),e=n.getActiveColumn(),i=u.getPosition(f,e),o=t.shiftKey?"left":"right";do i=u.walkCells(i,o,t,r.preventWrap);while(i&&(!i.columnHeader.getEditor(f)||!n.startEditByPosition(i)))},getCurrentPosition:function(){var n=this.selected.items[0];if(n)return new Ext.grid.CellContext(this.view).setPosition(this.store.indexOf(n),0)},selectByPosition:function(n){this.select(this.store.getAt(n.row))},selectNext:function(n,t){var i=this,e=i.store,f=i.getSelection(),o=f[f.length-1],r=i.views[0].indexOf(o)+1,u;return r===e.getCount()||r===0?u=!1:(i.doSelect(r,n,t),u=!0),u},selectPrevious:function(n,t){var i=this,f=i.getSelection(),e=f[0],u=i.views[0].indexOf(e)-1,r;return u<0?r=!1:(i.doSelect(u,n,t),r=!0),r},isRowSelected:function(n){return this.isSelected(n)}},1,0,0,0,["selection.rowmodel"],0,[Ext.selection,"RowModel"],0);Ext.cmd.derive("Ext.selection.TreeModel",Ext.selection.RowModel,{constructor:function(){this.callParent(arguments);this.pruneRemoved&&(this.pruneRemoved=!1,this.pruneRemovedNodes=!0)},bindStore:function(){var n=this;n.callParent(arguments);n.pruneRemovedNodes&&n.view.mon(n.treeStore,{remove:n.onNodeRemove,scope:n})},onNodeRemove:function(n,t,i){i||this.deselectDeletedRecords([t])},onKeyRight:function(n,t){this.navExpand(n,t)},navExpand:function(n,t){var i=this.getLastFocused(),r=this.view;if(i)if(i.isExpanded())this.onKeyDown(n,t);else i.isExpandable()&&(r.isTreeView||(r=r.lockingPartner),r.expand(i))},onKeyLeft:function(n,t){this.navCollapse(n,t)},navCollapse:function(n){var r=this,i=this.getLastFocused(),u=this.view,t;i&&(t=i.parentNode,i.isExpanded()?(u.isTreeView||(u=u.lockingPartner),u.collapse(i)):t&&!t.isRoot()&&(n.shiftKey?(r.selectRange(t,i,n.ctrlKey,"up"),r.setLastFocused(t)):n.ctrlKey?r.setLastFocused(t):r.select(t)))},onKeySpace:function(n){n.record.data.checked!=null?this.toggleCheck(n):this.callParent(arguments)},onKeyEnter:function(n){n.record.data.checked!=null?this.toggleCheck(n):this.callParent(arguments)},toggleCheck:function(n){var t=this.view,i=this.getLastSelected();if(n.stopEvent(),i){t.isTreeView||(t=t.lockingPartner);t.onCheckChange(i)}}},1,0,0,0,["selection.treemodel"],0,[Ext.selection,"TreeModel"],0);Ext.cmd.derive("Ext.slider.Thumb",Ext.Base,{topZIndex:1e4,constructor:function(n){var t=this;Ext.apply(t,n||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:!1});t.callParent([n])},render:function(){var n=this;n.el=n.slider.innerEl.insertFirst(n.getElConfig());n.onRender()},onRender:function(){this.disabled&&this.disable();this.initEvents()},getElConfig:function(){var t=this,n=t.slider,i={};return i[n.vertical?"bottom":n.horizontalProp]=n.calculateThumbPosition(n.normalizeValue(t.value))+"%",{style:i,id:this.id,cls:this.cls}},move:function(n,t){var e=this,r=e.el,o=e.slider,i=o.vertical?"bottom":o.horizontalProp,u,f;n+="%";t?(u={},u[i]=n,Ext.supports.GetPositionPercentage||(f={},f[i]=r.dom.style[i]),new Ext.fx.Anim({target:r,duration:350,from:f,to:u})):r.dom.style[i]=n},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var n=this;n.disabled=!1;n.el&&n.el.removeCls(n.slider.disabledCls)},disable:function(){var n=this;n.disabled=!0;n.el&&n.el.addCls(n.slider.disabledCls)},initEvents:function(){var n=this,t=n.el;n.tracker=new Ext.dd.DragTracker({onBeforeStart:Ext.Function.bind(n.onBeforeDragStart,n),onStart:Ext.Function.bind(n.onDragStart,n),onDrag:Ext.Function.bind(n.onDrag,n),onEnd:Ext.Function.bind(n.onDragEnd,n),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});n.tracker.initEl(t)},onBeforeDragStart:function(){return this.disabled?!1:(this.slider.promoteThumb(this),!0)},onDragStart:function(n){var t=this,i=t.slider;i.onDragStart(t,n);t.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");t.dragging=t.slider.dragging=!0;t.dragStartValue=t.value;i.fireEvent("dragstart",i,n,t)},onDrag:function(n){var i=this,r=i.slider,e=i.index,t=i.getValueFromTracker(),u,f;t!==undefined&&(i.constrain&&(u=r.thumbs[e+1],f=r.thumbs[e-1],f!==undefined&&t<=f.value&&(t=f.value),u!==undefined&&t>=u.value&&(t=u.value)),r.setValue(e,t,!1),r.fireEvent("drag",r,n,i))},getValueFromTracker:function(){var n=this.slider,t=n.getTrackpoint(this.tracker.getXY());if(t!==undefined)return n.reversePixelValue(t)},onDragEnd:function(n){var t=this,i=t.slider,r=t.value;i.onDragEnd(t,n);t.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");t.dragging=i.dragging=!1;i.fireEvent("dragend",i,n);t.dragStartValue!=r&&i.fireEvent("changecomplete",i,r,t)},destroy:function(){Ext.destroy(this.tracker)}},1,0,0,0,0,0,[Ext.slider,"Thumb"],0);Ext.cmd.derive("Ext.slider.Tip",Ext.tip.Tip,{minWidth:10,offsets:null,align:null,position:"",defaultVerticalPosition:"left",defaultHorizontalPosition:"top",isSliderTip:!0,init:function(n){var t=this,i,r;t.position||(t.position=n.vertical?t.defaultVerticalPosition:t.defaultHorizontalPosition);switch(t.position){case"top":r=[0,-10];i="b-t?";break;case"bottom":r=[0,10];i="t-b?";break;case"left":r=[-10,0];i="r-l?";break;case"right":r=[10,0];i="l-r?"}t.align||(t.align=i);t.offsets||(t.offsets=r);n.on({scope:t,dragstart:t.onSlide,drag:t.onSlide,dragend:t.hide,destroy:t.destroy})},onSlide:function(n,t,i){var r=this;r.show();r.update(r.getText(i));r.el.alignTo(i.el,r.align,r.offsets)},getText:function(n){return String(n.value)}},0,["slidertip"],["panel","component","container","slidertip","box"],{panel:!0,component:!0,container:!0,slidertip:!0,box:!0},["widget.slidertip"],0,[Ext.slider,"Tip"],0);Ext.cmd.derive("Ext.slider.Multi",Ext.form.field.Base,{alternateClassName:"Ext.slider.MultiSlider",childEls:["endEl","innerEl"],fieldSubTpl:['<div id="{id}" class="'+Ext.baseCSSPrefix+"slider {fieldCls} {vertical}","{childElCls}",'" aria-valuemin="{minValue}" aria-valuemax="{maxValue}" aria-valuenow="{value}" aria-valuetext="{value}">','<div id="{cmpId}-endEl" class="'+Ext.baseCSSPrefix+'slider-end" role="presentation">','<div id="{cmpId}-innerEl" class="'+Ext.baseCSSPrefix+'slider-inner" role="presentation">',"{%this.renderThumbs(out, values)%}","<\/div>","<\/div>","<\/div>",{renderThumbs:function(n,t){for(var u=t.$comp,i=0,f=u.thumbs,o=f.length,e,r;i<o;i++)e=f[i],r=e.getElConfig(),r.id=u.id+"-thumb-"+i,Ext.DomHelper.generateMarkup(r,n)},disableFormats:!0}],horizontalProp:"left",vertical:!1,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:!0,animate:!0,dragging:!1,constrainThumbs:!0,componentLayout:"sliderfield",useTips:!0,tipText:null,ariaRole:"slider",initValue:function(){var n=this,t=Ext.value,i=t(n.values,[t(n.value,t(n.minValue,0))]),r=0,u=i.length;for(n.originalValue=i;r<u;r++)n.addThumb(i[r])},initComponent:function(){var n=this,r,u,t,f,i;if(n.thumbs=[],n.keyIncrement=Math.max(n.increment,n.keyIncrement),n.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend"),n.callParent(),n.useTips){for(r=Ext.isObject(n.useTips)?Ext.apply({},n.useTips):n.tipText?{getText:n.tipText}:{},i=n.plugins=n.plugins||[],f=i.length,t=0;t<f;t++)if(i[t].isSliderTip){u=!0;break}u||n.plugins.push(new Ext.slider.Tip(r))}},addThumb:function(n){var t=this,i=new Ext.slider.Thumb({ownerCt:t,ownerLayout:t.getComponentLayout(),value:n,slider:t,index:t.thumbs.length,constrain:t.constrainThumbs,disabled:!!t.readOnly});return t.thumbs.push(i),t.rendered&&i.render(),i},promoteThumb:function(n){for(var r=this.thumbs,u=r.length,t,i=0;i<u;i++)t=r[i],t==n?t.bringToFront():t.sendToBack()},getSubTplData:function(){var n=this;return Ext.apply(n.callParent(),{$comp:n,vertical:n.vertical?Ext.baseCSSPrefix+"slider-vert":Ext.baseCSSPrefix+"slider-horz",minValue:n.minValue,maxValue:n.maxValue,value:n.value,childElCls:""})},onRender:function(){var t=this,r=t.thumbs,u=r.length,n=0,i;for(t.callParent(arguments),n=0;n<u;n++)i=r[n],i.el=t.el.getById(t.id+"-thumb-"+n),i.onRender()},initEvents:function(){var n=this;n.mon(n.el,{scope:n,mousedown:n.onMouseDown,keydown:n.onKeyDown})},onDragStart:Ext.emptyFn,onDragEnd:Ext.emptyFn,getTrackpoint:function(n){var t=this,e=t.vertical,r=t.innerEl,i,u,f;return e?(f="top",i=r.getHeight()):(f=t.horizontalProp,i=r.getWidth()),n=t.transformTrackPoints(r.translatePoints(n)),u=Ext.Number.constrain(n[f],0,i),e?i-u:u},transformTrackPoints:Ext.identityFn,onMouseDown:function(n){var t=this,i=!1,r=0,f=t.thumbs,e=f.length,u;if(!t.disabled){for(;r<e;r++)i=i||n.target==f[r].el.dom;if(t.clickToChange&&!i&&(u=t.getTrackpoint(n.getXY()),u!==undefined))t.onClickChange(u);t.focus()}},onClickChange:function(n){var t=this,i,r;i=t.getNearest(n);i.disabled||(r=i.index,t.setValue(r,Ext.util.Format.round(t.reversePixelValue(n),t.decimalPrecision),undefined,!0))},getNearest:function(n){for(var t=this,s=t.reversePixelValue(n),f=t.getRange()+5,e=null,h=t.thumbs,i=0,c=h.length,r,o,u;i<c;i++)r=t.thumbs[i],o=r.value,u=Math.abs(o-s),Math.abs(u<=f)&&(e=r,f=u);return e},onKeyDown:function(n){var t=this,r,i;if(t.disabled||t.thumbs.length!==1){n.preventDefault();return}r=n.getKey();switch(r){case n.UP:case n.RIGHT:n.stopEvent();i=n.ctrlKey?t.maxValue:t.getValue(0)+t.keyIncrement;t.setValue(0,i,undefined,!0);break;case n.DOWN:case n.LEFT:n.stopEvent();i=n.ctrlKey?t.minValue:t.getValue(0)-t.keyIncrement;t.setValue(0,i,undefined,!0);break;default:n.preventDefault()}},normalizeValue:function(n){var t=this,i=t.zeroBasedSnapping?"snap":"snapInRange";return n=Ext.Number[i](n,t.increment,t.minValue,t.maxValue),n=Ext.util.Format.round(n,t.decimalPrecision),Ext.Number.constrain(n,t.minValue,t.maxValue)},setMinValue:function(n){var t=this,r=t.thumbs,f=r.length,u,i;for(t.minValue=n,t.rendered&&t.inputEl.dom.setAttribute("aria-valuemin",n),i=0;i<f;++i)u=r[i],u.value<n&&t.setValue(i,n,!1);t.syncThumbs()},setMaxValue:function(n){var t=this,r=t.thumbs,f=r.length,u,i;for(t.maxValue=n,t.rendered&&t.inputEl.dom.setAttribute("aria-valuemax",n),i=0;i<f;++i)u=r[i],u.value>n&&t.setValue(i,n,!1);t.syncThumbs()},setValue:function(n,t,i,r){var u=this,h=u.thumbs,f,s,e,o;if(Ext.isArray(n)){for(o=n,i=t,e=0,s=o.length;e<s;++e)f=h[e],f&&u.setValue(e,o[e],i);return u}return f=u.thumbs[n],t=u.normalizeValue(t),t!==f.value&&u.fireEvent("beforechange",u,t,f.value,f)!==!1&&(f.value=t,u.rendered&&(u.inputEl.set({"aria-valuenow":t,"aria-valuetext":t}),f.move(u.calculateThumbPosition(t),Ext.isDefined(i)?i!==!1:u.animate),u.fireEvent("change",u,t,f),u.checkDirty(),r&&u.fireEvent("changecomplete",u,t,f))),u},calculateThumbPosition:function(n){var i=this,r=i.minValue,t=(n-r)/i.getRange()*100;return isNaN(t)&&(t=r),t},getRatio:function(){var n=this,t=n.innerEl,i=n.vertical?t.getHeight():t.getWidth(),r=n.getRange();return r===0?i:i/r},getRange:function(){return this.maxValue-this.minValue},reversePixelValue:function(n){return this.minValue+n/this.getRatio()},reversePercentageValue:function(n){return this.minValue+this.getRange()*(n/100)},onDisable:function(){var n=this,t=0,u=n.thumbs,e=u.length,i,r,f;for(n.callParent();t<e;t++)i=u[t],r=i.el,i.disable(),Ext.isIE&&(f=r.getXY(),r.hide(),n.innerEl.addCls(n.disabledCls).dom.disabled=!0,n.thumbHolder||(n.thumbHolder=n.endEl.createChild({cls:Ext.baseCSSPrefix+"slider-thumb "+n.disabledCls})),n.thumbHolder.show().setXY(f))},onEnable:function(){var n=this,t=0,r=n.thumbs,f=r.length,i,u;for(this.callParent();t<f;t++)i=r[t],u=i.el,i.enable(),Ext.isIE&&(n.innerEl.removeCls(n.disabledCls).dom.disabled=!1,n.thumbHolder&&n.thumbHolder.hide(),u.show(),n.syncThumbs())},syncThumbs:function(){if(this.rendered)for(var t=this.thumbs,i=t.length,n=0;n<i;n++)t[n].move(this.calculateThumbPosition(t[n].value))},getValue:function(n){return Ext.isNumber(n)?this.thumbs[n].value:this.getValues()},getValues:function(){for(var t=[],n=0,i=this.thumbs,r=i.length;n<r;n++)t.push(i[n].value);return t},getSubmitValue:function(){var n=this;return n.disabled||!n.submitValue?null:n.getValue()},reset:function(){for(var n=this,i=[].concat(n.originalValue),t=0,u=i.length,r;t<u;t++)r=i[t],n.setValue(t,r);n.clearInvalid();delete n.wasValid},setReadOnly:function(n){var i=this,r=i.thumbs,u=r.length,t=0;for(i.callParent(arguments),n=i.readOnly;t<u;++t)n?r[t].disable():r[t].enable()},beforeDestroy:function(){var n=this,i=n.thumbs,t=0,u=i.length,r;for(Ext.destroy(n.innerEl,n.endEl,n.focusEl);t<u;t++)r=i[t],Ext.destroy(r);n.callParent()}},0,["multislider"],["multislider","field","component","box"],{multislider:!0,field:!0,component:!0,box:!0},["widget.multislider"],0,[Ext.slider,"Multi",Ext.slider,"MultiSlider"],0);Ext.cmd.derive("Ext.tab.Tab",Ext.button.Button,{isTab:!0,baseCls:Ext.baseCSSPrefix+"tab",closeElOverCls:Ext.baseCSSPrefix+"tab-close-btn-over",activeCls:"active",closableCls:"closable",closable:!0,closeText:"Close Tab",active:!1,childEls:["closeEl"],scale:!1,position:"top",initComponent:function(){var n=this;n.addEvents("activate","deactivate","beforeclose","close");n.callParent(arguments);n.card&&n.setCard(n.card);n.overCls=["over",n.position+"-over"]},getTemplateArgs:function(){var n=this,t=n.callParent();return t.closable=n.closable,t.closeText=n.closeText,t},getFramingInfoCls:function(){return this.baseCls+"-"+this.ui+"-"+this.position},beforeRender:function(){var n=this,t=n.up("tabbar"),i=n.up("tabpanel");n.callParent();n.addClsWithUI(n.position);n.active&&n.addClsWithUI([n.activeCls,n.position+"-"+n.activeCls]);n.syncClosableUI();n.minWidth||(n.minWidth=t?t.minTabWidth:n.minWidth,!n.minWidth&&i&&(n.minWidth=i.minTabWidth),n.minWidth&&n.iconCls&&(n.minWidth+=25));n.maxWidth||(n.maxWidth=t?t.maxTabWidth:n.maxWidth,!n.maxWidth&&i&&(n.maxWidth=i.maxTabWidth))},onRender:function(){var n=this;n.setElOrientation();n.callParent(arguments);n.closable&&n.closeEl.addClsOnOver(n.closeElOverCls);n.keyNav=new Ext.util.KeyNav(n.el,{enter:n.onEnterKey,del:n.onDeleteKey,scope:n})},setElOrientation:function(){var n=this.position;(n==="left"||n==="right")&&this.el.setVertical(n==="right"?90:270)},enable:function(){var n=this;return n.callParent(arguments),n.removeClsWithUI(n.position+"-disabled"),n},disable:function(){var n=this;return n.callParent(arguments),n.addClsWithUI(n.position+"-disabled"),n},onDestroy:function(){var n=this;Ext.destroy(n.keyNav);delete n.keyNav;n.callParent(arguments)},setClosable:function(n){var t=this;n=!arguments.length||!!n;t.closable!=n&&(t.closable=n,t.card&&(t.card.closable=n),t.syncClosableUI(),t.rendered&&(t.syncClosableElements(),t.updateLayout()))},syncClosableElements:function(){var n=this,t=n.closeEl;n.closable?(t||(t=n.closeEl=n.btnWrap.insertSibling({tag:"a",cls:n.baseCls+"-close-btn",href:"#",title:n.closeText},"after")),t.addClsOnOver(n.closeElOverCls)):t&&(t.remove(),delete n.closeEl)},syncClosableUI:function(){var n=this,t=[n.closableCls,n.closableCls+"-"+n.position];n.closable?n.addClsWithUI(t):n.removeClsWithUI(t)},setCard:function(n){var t=this;t.card=n;t.setText(t.title||n.title);t.setIconCls(t.iconCls||n.iconCls);t.setIcon(t.icon||n.icon);t.setGlyph(t.glyph||n.glyph)},onCloseClick:function(){var n=this;if(n.fireEvent("beforeclose",n)!==!1)if(n.tabBar){if(n.tabBar.closeTab(n)===!1)return}else n.fireClose()},fireClose:function(){this.fireEvent("close",this)},onEnterKey:function(n){var t=this;if(t.tabBar)t.tabBar.onClick(n,t.el)},onDeleteKey:function(){this.closable&&this.onCloseClick()},activate:function(n){var t=this;t.active=!0;t.addClsWithUI([t.activeCls,t.position+"-"+t.activeCls]);n!==!0&&t.fireEvent("activate",t)},deactivate:function(n){var t=this;t.active=!1;t.removeClsWithUI([t.activeCls,t.position+"-"+t.activeCls]);n!==!0&&t.fireEvent("deactivate",t)}},0,["tab"],["button","component","tab","box"],{button:!0,component:!0,tab:!0,box:!0},["widget.tab"],0,[Ext.tab,"Tab"],0);Ext.cmd.derive("Ext.util.Point",Ext.util.Region,{statics:{fromEvent:function(n){return n=n.browserEvent||n,n=n.changedTouches&&n.changedTouches.length>0?n.changedTouches[0]:n,new this(n.pageX,n.pageY)}},constructor:function(n,t){this.callParent([t,n,t,n])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(n){return this.x==n.x&&this.y==n.y},isWithin:function(n,t){return Ext.isObject(t)||(t={x:t,y:t}),this.x<=n.x+t.x&&this.x>=n.x-t.x&&this.y<=n.y+t.y&&this.y>=n.y-t.y},isContainedBy:function(n){return n instanceof Ext.util.Region||(n=Ext.get(n.el||n).getRegion()),n.contains(this)},roundedEquals:function(n){return Math.round(this.x)==Math.round(n.x)&&Math.round(this.y)==Math.round(n.y)}},3,0,0,0,0,0,[Ext.util,"Point"],function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.cmd.derive("Ext.tab.Bar",Ext.panel.Header,{baseCls:Ext.baseCSSPrefix+"tab-bar",isTabBar:!0,defaultType:"tab",plain:!1,childEls:["body","strip"],renderTpl:['<div id="{id}-body" class="{baseCls}-body {bodyCls} {bodyTargetCls}{childElCls}<tpl if="ui"> {baseCls}-body-{ui}<tpl for="uiCls"> {parent.baseCls}-body-{parent.ui}-{.}<\/tpl><\/tpl>"<tpl if="bodyStyle"> style="{bodyStyle}"<\/tpl>>',"{%this.renderContainer(out,values)%}","<\/div>",'<div id="{id}-strip" class="{baseCls}-strip {baseCls}-strip-{dock}{childElCls}','<tpl if="ui"> {baseCls}-strip-{ui}','<tpl for="uiCls"> {parent.baseCls}-strip-{parent.ui}-{.}<\/tpl>','<\/tpl>">',"<\/div>"],_reverseDockNames:{left:"right",right:"left"},initComponent:function(){var n=this;n.plain&&n.addCls(n.baseCls+"-plain");n.addClsWithUI(n.orientation);n.addEvents("change");n.callParent(arguments);Ext.merge(n.layout,n.initialConfig.layout);n.layout.align=n.orientation=="vertical"?"left":"top";n.layout.overflowHandler=new Ext.layout.container.boxOverflow.Scroller(n.layout);n.remove(n.titleCmp);delete n.titleCmp;Ext.apply(n.renderData,{bodyCls:n.bodyCls,dock:n.dock})},onRender:function(){var n=this;if(n.callParent(),n.orientation==="vertical"&&(Ext.isIE8||Ext.isIE9)&&Ext.isStrict)n.el.on({mousemove:n.onMouseMove,scope:n})},afterRender:function(){var n=this.layout;if(this.callParent(),Ext.isIE9&&Ext.isStrict&&this.orientation==="vertical")n.innerCt.on("scroll",function(){n.innerCt.dom.scrollLeft=0})},afterLayout:function(){this.adjustTabPositions();this.callParent(arguments)},adjustTabPositions:function(){var i=this.items.items,t=i.length,n;if(!Ext.isIE9m)if(this.dock==="right")while(t--)n=i[t],n.isVisible()&&n.el.setStyle("left",n.lastBox.width+"px");else if(this.dock==="left")while(t--)n=i[t],n.isVisible()&&n.el.setStyle("left",-n.lastBox.height+"px")},getLayout:function(){var n=this;return n.layout.type=n.orientation==="horizontal"?"hbox":"vbox",n.callParent(arguments)},onAdd:function(n){n.position=this.dock;this.callParent(arguments)},onRemove:function(n){var t=this;n===t.previousTab&&(t.previousTab=null);t.callParent(arguments)},afterComponentLayout:function(){var n=this,t=n.needsScroll;n.callParent(arguments);t&&n.layout.overflowHandler.scrollToItem(n.activeTab);delete n.needsScroll},onClick:function(n,t){var r=this,o=r.tabPanel,f,i,u,e;n.getTarget("."+Ext.baseCSSPrefix+"box-scroller")||(r.orientation==="vertical"&&(Ext.isIE8||Ext.isIE9)&&Ext.isStrict?(e=r.getTabInfoFromPoint(n.getXY()),i=e.tab,u=e.close):(f=n.getTarget("."+Ext.tab.Tab.prototype.baseCls),i=f&&Ext.getCmp(f.id),u=i&&i.closeEl&&t===i.closeEl.dom),u&&n.preventDefault(),i&&i.isDisabled&&!i.isDisabled()&&(i.closable&&u?i.onCloseClick():(o?o.setActiveTab(i.card):r.setActiveTab(i),i.focus())))},onMouseMove:function(n){var t=this,r=t._overTab,u,i;if(!n.getTarget("."+Ext.baseCSSPrefix+"box-scroller")&&(u=t.getTabInfoFromPoint(n.getXY()),i=u.tab,i!==r)){if(r&&r.rendered){r.onMouseLeave(n);t._overTab=null}if(i){i.onMouseEnter(n);t._overTab=i;i.disabled||t.el.setStyle("cursor","pointer")}else t.el.setStyle("cursor","default")}},onMouseLeave:function(n){var t=this._overTab;if(t&&t.rendered)t.onMouseLeave(n)},getTabInfoFromPoint:function(n){for(var u=this,l=u.items.items,rt=l.length,y=u.layout.innerCt,p=y.getXY(),w=new Ext.util.Point(n[0],n[1]),o=0,f,b,t,k,e,s,h,d,g,i,r,a,v,nt,tt,it,c;o<rt;o++)if(f=l[o].lastBox,i=p[0]+f.x,r=p[1]-y.dom.scrollTop+f.y,a=f.width,v=f.height,b=new Ext.util.Region(r,i+a,r+v,i),b.contains(w)){c=l[o];t=c.closeEl;t&&(e=t.getXY(),d=t.getWidth(),g=t.getHeight(),u._isTabReversed===undefined&&(u._isTabReversed=tt=c.btnWrap.dom.currentStyle.filter.indexOf("rotation=2")!==-1),it=tt?this._reverseDockNames[u.dock]:u.dock,it==="right"?(s=i+a-(e[1]-r+t.getHeight()),h=r+(e[0]-i)):(s=i+(e[1]-r),h=r+i+v-e[0]-t.getWidth()),nt=new Ext.util.Region(h,s+d,h+g,s),k=nt.contains(w));break}return{tab:c,close:k}},closeTab:function(n){var i=this,t=n.card,r=i.tabPanel,u;if(t&&t.fireEvent("beforeclose",t)===!1)return!1;if(u=i.findNextActivatable(n),Ext.suspendLayouts(),r&&t){if(delete n.ownerCt,t.fireEvent("close",t),r.remove(t),r.getComponent(t))return n.ownerCt=i,Ext.resumeLayouts(!0),!1;n.fireClose();i.remove(n)}u&&(r?r.setActiveTab(u.card):i.setActiveTab(u),u.focus());Ext.resumeLayouts(!0)},findNextActivatable:function(n){var t=this;if(n.active&&t.items.getCount()>1)return t.previousTab&&t.previousTab!==n&&!t.previousTab.disabled?t.previousTab:n.next("tab[disabled=false]")||n.prev("tab[disabled=false]")},setActiveTab:function(n,t){var i=this;n.disabled||n===i.activeTab||(i.activeTab&&(i.activeTab.isDestroyed?i.previousTab=null:(i.previousTab=i.activeTab,i.activeTab.deactivate())),n.activate(),i.activeTab=n,i.needsScroll=!0,t||(i.fireEvent("change",i,n,n.card),i.updateLayout()))}},0,["tabbar"],["component","tabbar","container","box","header"],{component:!0,tabbar:!0,container:!0,box:!0,header:!0},["widget.tabbar"],0,[Ext.tab,"Bar"],0);Ext.cmd.derive("Ext.tree.Column",Ext.grid.column.Column,{tdCls:Ext.baseCSSPrefix+"grid-cell-treecolumn",autoLock:!0,lockable:!1,draggable:!1,hideable:!1,iconCls:Ext.baseCSSPrefix+"tree-icon",checkboxCls:Ext.baseCSSPrefix+"tree-checkbox",elbowCls:Ext.baseCSSPrefix+"tree-elbow",expanderCls:Ext.baseCSSPrefix+"tree-expander",textCls:Ext.baseCSSPrefix+"tree-node-text",innerCls:Ext.baseCSSPrefix+"grid-cell-inner-treecolumn",isTreeColumn:!0,cellTpl:['<tpl for="lines">','<img src="{parent.blankUrl}" class="{parent.childCls} {parent.elbowCls}-img ','{parent.elbowCls}-<tpl if=".">line<tpl else>empty<\/tpl>"/>',"<\/tpl>",'<img src="{blankUrl}" class="{childCls} {elbowCls}-img {elbowCls}','<tpl if="isLast">-end<\/tpl><tpl if="expandable">-plus {expanderCls}<\/tpl>"/>','<tpl if="checked !== null">','<input type="button" role="checkbox" <tpl if="checked">aria-checked="true" <\/tpl>','class="{childCls} {checkboxCls}<tpl if="checked"> {checkboxCls}-checked<\/tpl>"/>',"<\/tpl>",'<img src="{blankUrl}" class="{childCls} {baseIconCls} ','{baseIconCls}-<tpl if="leaf">leaf<tpl else>parent<\/tpl> {iconCls}"','<tpl if="icon">style="background-image:url({icon})"<\/tpl>/>','<tpl if="href">','<a href="{href}" target="{hrefTarget}" class="{textCls} {childCls}">{value}<\/a>',"<tpl else>",'<span class="{textCls} {childCls}">{value}<\/span>',"<\/tpl>"],initComponent:function(){var n=this;n.origRenderer=n.renderer;n.origScope=n.scope||window;n.renderer=n.treeRenderer;n.scope=n;n.callParent()},treeRenderer:function(n,t,i,r,u,f,e){var o=this,l=i.get("cls"),a=o.origRenderer,s=i.data,h=i.parentNode,v=e.rootVisible,y=[],c;for(l&&(t.tdCls+=" "+l);h&&(v||h.data.depth>0);)c=h.data,y[v?c.depth:c.depth-1]=c.isLast?0:1,h=h.parentNode;return o.getTpl("cellTpl").apply({record:i,baseIconCls:o.iconCls,iconCls:s.iconCls,icon:s.icon,checkboxCls:o.checkboxCls,checked:s.checked,elbowCls:o.elbowCls,expanderCls:o.expanderCls,textCls:o.textCls,leaf:s.leaf,expandable:i.isExpandable(),isLast:s.isLast,blankUrl:Ext.BLANK_IMAGE_URL,href:s.href,hrefTarget:s.hrefTarget,lines:y,metaData:t,childCls:o.getChildCls?o.getChildCls()+" ":"",value:a?a.apply(o.origScope,arguments):n})}},0,["treecolumn"],["component","gridcolumn","container","treecolumn","box","headercontainer"],{component:!0,gridcolumn:!0,container:!0,treecolumn:!0,box:!0,headercontainer:!0},["widget.treecolumn"],0,[Ext.tree,"Column"],0);Ext.cmd.derive("Ext.selection.CheckboxModel",Ext.selection.RowModel,{mode:"MULTI",injectCheckbox:0,checkOnly:!1,showHeaderCheckbox:undefined,checkSelector:"."+Ext.baseCSSPrefix+"grid-row-checker",headerWidth:24,checkerOnCls:Ext.baseCSSPrefix+"grid-hd-checker-on",constructor:function(){var n=this;n.callParent(arguments);n.mode==="SINGLE"&&n.showHeaderCheckbox!==!0&&(n.showHeaderCheckbox=!1)},beforeViewRender:function(n){var t=this,i;if(t.callParent(arguments),!t.hasLockedHeader()||n.headerCt.lockedCt){if(t.showHeaderCheckbox!==!1)n.headerCt.on("headerclick",t.onHeaderClick,t);t.addCheckbox(n,!0);i=n.ownerCt;n.headerCt.lockedCt&&(i=i.ownerCt);t.mon(i,"reconfigure",t.onReconfigure,t)}},bindComponent:function(){var n=this;n.sortable=!1;n.callParent(arguments)},hasLockedHeader:function(){for(var t=this.views,i=t.length,n=0;n<i;n++)if(t[n].headerCt.lockedCt)return!0;return!1},addCheckbox:function(n,t){var r=this,i=r.injectCheckbox,u=n.headerCt;i!==!1&&(i=="first"?i=0:i=="last"&&(i=u.getColumnCount()),Ext.suspendLayouts(),n.getStore().buffered&&(r.showHeaderCheckbox=!1),u.add(i,r.getHeaderConfig()),Ext.resumeLayouts());t!==!0&&n.refresh()},onReconfigure:function(n,t,i){i&&this.addCheckbox(this.views[0])},toggleUiHeader:function(n){var r=this.views[0],u=r.headerCt,t=u.child("gridcolumn[isCheckerHd]"),i=this.checkerOnCls;t&&(n?t.addCls(i):t.removeCls(i))},onHeaderClick:function(n,t,i){if(t.isCheckerHd){i.stopEvent();var r=this,u=t.el.hasCls(Ext.baseCSSPrefix+"grid-hd-checker-on");r.preventFocus=!0;u?r.deselectAll():r.selectAll();delete r.preventFocus}},getHeaderConfig:function(){var n=this,t=n.showHeaderCheckbox!==!1;return{isCheckerHd:t,text:"&#160;",clickTargetName:"el",width:n.headerWidth,sortable:!1,draggable:!1,resizable:!1,hideable:!1,menuDisabled:!0,dataIndex:"",cls:t?Ext.baseCSSPrefix+"column-header-checkbox ":"",renderer:Ext.Function.bind(n.renderer,n),editRenderer:n.editRenderer||n.renderEmpty,locked:n.hasLockedHeader()}},renderEmpty:function(){return"&#160;"},refresh:function(){this.callParent(arguments);this.updateHeaderState()},renderer:function(n,t){var i=Ext.baseCSSPrefix;return t.tdCls=i+"grid-cell-special "+i+"grid-cell-row-checker",'<div class="'+i+'grid-row-checker">&#160;<\/div>'},processSelection:function(n,t,i,r,u){var f=this,o=u.getTarget(f.checkSelector),e;(!f.checkOnly||o)&&(o?(e=f.getSelectionMode(),e!=="SINGLE"&&f.setSelectionMode("SIMPLE"),f.selectWithEvent(t,u),f.setSelectionMode(e)):f.selectWithEvent(t,u))},onSelectChange:function(){this.callParent(arguments);this.suspendChange||this.updateHeaderState()},onStoreLoad:function(){this.callParent(arguments);this.updateHeaderState()},onStoreAdd:function(){this.callParent(arguments);this.updateHeaderState()},onStoreRemove:function(){this.callParent(arguments);this.updateHeaderState()},onStoreRefresh:function(){this.callParent(arguments);this.updateHeaderState()},maybeFireSelectionChange:function(n){n&&!this.suspendChange&&this.updateHeaderState();this.callParent(arguments)},resumeChanges:function(){this.callParent();this.suspendChange||this.updateHeaderState()},updateHeaderState:function(){var n=this,u=n.store,f=u.getCount(),e=n.views,i=!1,o=0,r,s,t;if(!u.buffered&&f>0){for(r=n.selected,i=!0,t=0,s=r.getCount();t<s;++t){if(!n.storeHasSelected(r.getAt(t)))break;++o}i=f===o}e&&e.length&&n.toggleUiHeader(i)}},1,0,0,0,["selection.checkboxmodel"],0,[Ext.selection,"CheckboxModel"],0);Ext.cmd.derive("Ext.slider.Single",Ext.slider.Multi,{alternateClassName:["Ext.Slider","Ext.form.SliderField","Ext.slider.SingleSlider","Ext.slider.Slider"],getValue:function(){return this.callParent([0])},setValue:function(){var n=arguments,t=n.length;return(t==1||t<=3&&typeof n[1]!="number")&&(n=Ext.toArray(n),n.unshift(0)),this.callParent(n)},getNearest:function(){return this.thumbs[0]}},0,["slider","sliderfield"],["slider","multislider","field","component","sliderfield","box"],{slider:!0,multislider:!0,field:!0,component:!0,sliderfield:!0,box:!0},["widget.slider","widget.sliderfield"],0,[Ext.slider,"Single",Ext,"Slider",Ext.form,"SliderField",Ext.slider,"SingleSlider",Ext.slider,"Slider"],0);Ext.cmd.derive("Ext.state.CookieProvider",Ext.state.Provider,{constructor:function(){var n=this;n.path="/";n.expires=new Date(Ext.Date.now()+6048e5);n.domain=null;n.secure=!1;n.callParent(arguments);n.state=n.readCookies()},set:function(n,t){var i=this;if(typeof t=="undefined"||t===null){i.clear(n);return}i.setCookie(n,t);i.callParent(arguments)},clear:function(n){this.clearCookie(n);this.callParent(arguments)},readCookies:function(){for(var i={},e=document.cookie+";",o=/\s?(.*?)=(.*?);/g,r=this.prefix,u=r.length,t,n,f;(t=o.exec(e))!=null;)n=t[1],f=t[2],n&&n.substring(0,u)==r&&(i[n.substr(u)]=this.decodeValue(f));return i},setCookie:function(n,t){var i=this;document.cookie=i.prefix+n+"="+i.encodeValue(t)+(i.expires==null?"":"; expires="+i.expires.toGMTString())+(i.path==null?"":"; path="+i.path)+(i.domain==null?"":"; domain="+i.domain)+(i.secure==!0?"; secure":"")},clearCookie:function(n){var t=this;document.cookie=t.prefix+n+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+(t.path==null?"":"; path="+t.path)+(t.domain==null?"":"; domain="+t.domain)+(t.secure==!0?"; secure":"")}},1,0,0,0,0,0,[Ext.state,"CookieProvider"],0);Ext.cmd.derive("Ext.state.LocalStorageProvider",Ext.state.Provider,{constructor:function(){var n=this;n.callParent(arguments);n.store=n.getStorageObject();n.state=n.store?n.readLocalStorage():{}},readLocalStorage:function(){for(var t=this.store,i=0,e=t.length,r=this.prefix,u=r.length,f={},n;i<e;++i)n=t.key(i),n.substring(0,u)==r&&(f[n.substr(u)]=this.decodeValue(t.getItem(n)));return f},set:function(n,t){var i=this;(i.clear(n),typeof t!="undefined"&&t!==null)&&(i.store.setItem(i.prefix+n,i.encodeValue(t)),i.callParent(arguments))},clear:function(n){this.store.removeItem(this.prefix+n);this.callParent(arguments)},getStorageObject:function(){return Ext.supports.LocalStorage?window.localStorage:!1}},1,0,0,0,["state.localstorage"],0,[Ext.state,"LocalStorageProvider"],0);Ext.cmd.derive("Ext.tab.Panel",Ext.panel.Panel,{alternateClassName:["Ext.TabPanel"],tabPosition:"top",removePanelHeader:!0,plain:!1,itemCls:Ext.baseCSSPrefix+"tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:!0,initComponent:function(){var n=this,i=[].concat(n.dockedItems||[]),t=n.activeTab||(n.activeTab=0),r=n.tabPosition;n.layout=new Ext.layout.container.Card(Ext.apply({owner:n,deferredRender:n.deferredRender,itemCls:n.itemCls,activeItem:t},n.layout));n.tabBar=new Ext.tab.Bar(Ext.apply({ui:n.ui,dock:n.tabPosition,orientation:r=="top"||r=="bottom"?"horizontal":"vertical",plain:n.plain,cardLayout:n.layout,tabPanel:n},n.tabBar));i.push(n.tabBar);n.dockedItems=i;n.addEvents("beforetabchange","tabchange");n.callParent(arguments);t=n.activeTab=n.getComponent(t);t&&n.tabBar.setActiveTab(t.tab,!0)},setActiveTab:function(n){var t=this,i;return n=t.getComponent(n),n?(i=t.getActiveTab(),i!==n&&t.fireEvent("beforetabchange",t,n,i)===!1)?!1:(n.isComponent||(Ext.suspendLayouts(),n=t.add(n),Ext.resumeLayouts()),t.activeTab=n,Ext.suspendLayouts(),t.layout.setActiveItem(n),n=t.activeTab=t.layout.getActiveItem(),n&&n!==i?(t.tabBar.setActiveTab(n.tab),Ext.resumeLayouts(!0),i!==n&&t.fireEvent("tabchange",t,n,i)):Ext.resumeLayouts(!0),n):void 0},getActiveTab:function(){var n=this,t=n.getComponent(n.activeTab);return n.activeTab=t&&n.items.indexOf(t)!=-1?t:null,n.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(n,t){var i=this,r=n.tabConfig||{},u={xtype:"tab",ui:i.tabBar.ui,card:n,disabled:n.disabled,closable:n.closable,hidden:n.hidden&&!n.hiddenByLayout,tooltip:n.tooltip,tabBar:i.tabBar,position:i.tabPosition,closeText:n.closeText};r=Ext.applyIf(r,u);n.tab=i.tabBar.insert(t,r);n.on({scope:i,enable:i.onItemEnable,disable:i.onItemDisable,beforeshow:i.onItemBeforeShow,iconchange:i.onItemIconChange,iconclschange:i.onItemIconClsChange,titlechange:i.onItemTitleChange});n.isPanel&&(i.removePanelHeader&&(n.rendered?n.header&&n.header.hide():n.header=!1),n.isPanel&&i.border&&n.setBorder(!1))},onItemEnable:function(n){n.tab.enable()},onItemDisable:function(n){n.tab.disable()},onItemBeforeShow:function(n){if(n!==this.activeTab)return this.setActiveTab(n),!1},onItemIconChange:function(n,t){n.tab.setIcon(t)},onItemIconClsChange:function(n,t){n.tab.setIconCls(t)},onItemTitleChange:function(n,t){n.tab.setText(t)},doRemove:function(n){var t=this,i;t.destroying||t.items.getCount()==1?t.activeTab=null:(i=t.tabBar.items.indexOf(t.tabBar.findNextActivatable(n.tab)))!==-1&&t.setActiveTab(i);this.callParent(arguments);delete n.tab.card;delete n.tab},onRemove:function(n){var t=this;n.un({scope:t,enable:t.onItemEnable,disable:t.onItemDisable,beforeshow:t.onItemBeforeShow});t.destroying||n.tab.ownerCt!==t.tabBar||t.tabBar.remove(n.tab)}},0,["tabpanel"],["tabpanel","panel","component","container","box"],{tabpanel:!0,panel:!0,component:!0,container:!0,box:!0},["widget.tabpanel"],0,[Ext.tab,"Panel",Ext,"TabPanel"],0);Ext.cmd.derive("Ext.toolbar.Spacer",Ext.Component,{alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:!1},0,["tbspacer"],["component","box","tbspacer"],{component:!0,box:!0,tbspacer:!0},["widget.tbspacer"],0,[Ext.toolbar,"Spacer",Ext.Toolbar,"Spacer"],0);Ext.cmd.derive("Ext.tree.Panel",Ext.panel.Table,{alternateClassName:["Ext.tree.TreePanel","Ext.TreePanel"],viewType:"treeview",selType:"treemodel",treeCls:Ext.baseCSSPrefix+"tree-panel",deferRowRender:!1,rowLines:!1,lines:!0,useArrows:!1,singleExpand:!1,ddConfig:{enableDrag:!0,enableDrop:!0},rootVisible:!0,displayField:"text",root:null,normalCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible","scroll"],lockedCfgCopy:["displayField","root","singleExpand","useArrows","lines","rootVisible"],isTree:!0,arrowCls:Ext.baseCSSPrefix+"tree-arrows",linesCls:Ext.baseCSSPrefix+"tree-lines",noLinesCls:Ext.baseCSSPrefix+"tree-no-lines",autoWidthCls:Ext.baseCSSPrefix+"autowidth-table",constructor:function(n){n=n||{};n.animate===undefined&&(n.animate=Ext.isBoolean(this.animate)?this.animate:Ext.enableFx);this.enableAnimations=n.animate;delete n.animate;this.callParent([n])},initComponent:function(){var n=this,i=[n.treeCls],t=n.store,r;n.useArrows&&(i.push(n.arrowCls),n.lines=!1);n.lines?i.push(n.linesCls):n.useArrows||i.push(n.noLinesCls);Ext.isString(t)?t=n.store=Ext.StoreMgr.lookup(t):t&&(!Ext.isObject(t)||t.isStore)?n.root&&(t=n.store=Ext.data.StoreManager.lookup(t),t.setRootNode(n.root),n.folderSort!==undefined&&(t.folderSort=n.folderSort,t.sort())):t=n.store=new Ext.data.TreeStore(Ext.apply({root:n.root,fields:n.fields,model:n.model,folderSort:n.folderSort},t));n.viewConfig=Ext.apply({rootVisible:n.rootVisible,animate:n.enableAnimations,singleExpand:n.singleExpand,node:t.getRootNode(),hideHeaders:n.hideHeaders},n.viewConfig);n.columns||(n.initialConfig.hideHeaders===undefined&&(n.hideHeaders=!0),n.addCls(n.autoWidthCls),n.columns=[{xtype:"treecolumn",text:"Name",width:Ext.isIE6?"100%":1e4,dataIndex:n.displayField}]);n.cls&&i.push(n.cls);n.cls=i.join(" ");n.callParent();n.selModel.treeStore=n.store;r=n.getView();n.relayEvents(r,["checkchange","afteritemexpand","afteritemcollapse"]);r.isLockingView||r.rootVisible||n.getRootNode()||n.setRootNode({expanded:!0})},bindStore:function(n,t){var i=this;i.store=n;i.storeListeners=i.mon(n,{destroyable:!0,load:i.onStoreLoad,rootchange:i.onRootChange,clear:i.onClear,scope:i});i.storeRelayers=i.relayEvents(n,["beforeload","load"]);i.storeRelayers1=i.mon(n,{destroyable:!0,append:i.createRelayer("itemappend"),remove:i.createRelayer("itemremove"),move:i.createRelayer("itemmove",[0,4]),insert:i.createRelayer("iteminsert"),beforeappend:i.createRelayer("beforeitemappend"),beforeremove:i.createRelayer("beforeitemremove"),beforemove:i.createRelayer("beforeitemmove"),beforeinsert:i.createRelayer("beforeiteminsert"),expand:i.createRelayer("itemexpand",[0,1]),collapse:i.createRelayer("itemcollapse",[0,1]),beforeexpand:i.createRelayer("beforeitemexpand",[0,1]),beforecollapse:i.createRelayer("beforeitemcollapse",[0,1])});n.ownerTree=i;t||i.view.setRootNode(i.getRootNode())},unbindStore:function(){var n=this,t=n.store;t&&(Ext.destroy(n.storeListeners,n.storeRelayers,n.storeRelayers1),delete t.ownerTree)},onClear:function(){this.view.onClear()},setRootNode:function(){return this.store.setRootNode.apply(this.store,arguments)},getRootNode:function(){return this.store.getRootNode()},onRootChange:function(n){this.view.setRootNode(n)},getChecked:function(){return this.getView().getChecked()},isItemChecked:function(n){return n.get("checked")},expandNode:function(n,t,i,r){return this.getView().expand(n,t,i,r||this)},collapseNode:function(n,t,i,r){return this.getView().collapse(n,t,i,r||this)},expandAll:function(n,t){var i=this,r=i.getRootNode(),u=i.enableAnimations;r&&(u||Ext.suspendLayouts(),r.expand(!0,n,t||i),u||Ext.resumeLayouts(!0))},collapseAll:function(n,t){var i=this,r=i.getRootNode(),u=i.enableAnimations,f=i.getView();r&&(u||Ext.suspendLayouts(),t=t||i,f.rootVisible?r.collapse(!0,n,t):r.collapseChildren(!0,n,t),u||Ext.resumeLayouts(!0))},expandPath:function(n,t,i,r,u){var e=this,f=e.getRootNode(),h=1,c=e.getView(),o,s;if(t=t||e.getRootNode().idProperty,i=i||"/",Ext.isEmpty(n)){Ext.callback(r,u||e,[!1,null]);return}if(o=n.split(i),f.get(t)!=o[1]){Ext.callback(r,u||e,[!1,f]);return}s=function(){if(++h===o.length){Ext.callback(r,u||e,[!0,f]);return}var n=f.findChild(t,o[h]);if(!n){Ext.callback(r,u||e,[!1,f]);return}f=n;f.expand(!1,s)};f.expand(!1,s)},selectPath:function(n,t,i,r,u){var f=this,e,o,s;t=t||f.getRootNode().idProperty;i=i||"/";o=n.split(i);s=o.pop();o.length>1?f.expandPath(o.join(i),t,i,function(n,i){var e=i;if(n&&i&&(i=i.findChild(t,s),i)){f.getSelectionModel().select(i);Ext.callback(r,u||f,[!0,i]);return}Ext.callback(r,u||f,[!1,e])},f):(e=f.getRootNode(),e.getId()===s?(f.getSelectionModel().select(e),Ext.callback(r,u||f,[!0,e])):Ext.callback(r,u||f,[!1,null]))}},1,["treepanel"],["panel","component","tablepanel","container","box","treepanel"],{panel:!0,component:!0,tablepanel:!0,container:!0,box:!0,treepanel:!0},["widget.treepanel"],0,[Ext.tree,"Panel",Ext.tree,"TreePanel",Ext,"TreePanel"],0);Ext.cmd.derive("Ext.view.DragZone",Ext.dd.DragZone,{containerScroll:!1,constructor:function(n){var t=this,i,r,u;Ext.apply(t,n);t.ddGroup||(t.ddGroup="view-dd-zone-"+t.view.id);i=t.view;r=i.ownerCt;u=r?r.getTargetEl().dom:i.el.dom.parentNode;t.callParent([u]);t.ddel=Ext.get(document.createElement("div"));t.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(n,t,i){this.initTarget(n,t,i);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onValidDrop:function(n){this.callParent();n.el.focus()},onItemMouseDown:function(n,t,i,r,u){this.isPreventDrag(u,t,i,r)||(n.focusRow&&n.focusRow(t),this.handleMouseDown(u))},isPreventDrag:function(){return!1},getDragData:function(n){var t=this.view,i=n.getTarget(t.getItemSelector());if(i)return{copy:t.copy||t.allowCopy&&n.ctrlKey,event:new Ext.EventObjectImpl(n),view:t,ddel:this.ddel,item:i,records:t.getSelectionModel().getSelection(),fromPosition:Ext.fly(i).getXY()}},onInitDrag:function(n,t){var i=this,r=i.dragData,f=r.view,u=f.getSelectionModel(),e=f.getRecord(r.item);u.isSelected(e)||u.select(e,!0);r.records=u.getSelection();i.ddel.update(i.getDragText());i.proxy.update(i.ddel.dom);i.onStartDrag(n,t);return!0},getDragText:function(){var n=this.dragData.records.length;return Ext.String.format(this.dragText,n,n==1?"":"s")},getRepairXY:function(n,t){return t?t.fromPosition:!1}},1,0,0,0,0,0,[Ext.view,"DragZone"],0);Ext.cmd.derive("Ext.tree.ViewDragZone",Ext.view.DragZone,{isPreventDrag:function(n,t){return t.get("allowDrag")===!1||!!n.getTarget(this.view.expanderSelector)},getDragText:function(){var t=this.dragData.records,i=t.length,n=t[0].get(this.displayField),r="s";return i===1&&n?n:(n||(r=""),Ext.String.format(this.dragText,i,r))},afterRepair:function(){var t=this,i=t.view,f=i.selectedItemCls,e=t.dragData.records,r,o=e.length,u=Ext.fly,n;if(Ext.enableFx&&t.repairHighlight)for(r=0;r<o;r++)n=i.getNode(e[r]),u(n.firstChild).highlight(t.repairHighlightColor,{listeners:{beforeanimate:function(){i.isSelected(n)&&u(n).removeCls(f)},afteranimate:function(){i.isSelected(n)&&u(n).addCls(f)}}});t.dragging=!1}},0,0,0,0,0,0,[Ext.tree,"ViewDragZone"],0);Ext.cmd.derive("Ext.tree.ViewDropZone",Ext.view.DropZone,{allowParentInserts:!1,allowContainerDrops:!1,appendOnly:!1,expandDelay:500,indicatorCls:Ext.baseCSSPrefix+"tree-ddindicator",expandNode:function(n){var t=this.view;this.expandProcId=!1;n.isLeaf()||n.isExpanded()||(t.expand(n),this.expandProcId=!1)},queueExpand:function(n){this.expandProcId=Ext.Function.defer(this.expandNode,this.expandDelay,this,[n])},cancelExpand:function(){this.expandProcId&&(clearTimeout(this.expandProcId),this.expandProcId=!1)},getPosition:function(n,t){var s=this.view,r=s.getRecord(t),u=n.getPageY(),f=r.isLeaf(),o=!1,i=Ext.fly(t).getRegion(),e;return r.isRoot()?"append":this.appendOnly?f?!1:"append":(this.allowParentInserts||(o=r.hasChildNodes()&&r.isExpanded()),e=(i.bottom-i.top)/(f?2:3),u>=i.top&&u<i.top+e?"before":!o&&(f||u>=i.bottom-e&&u<=i.bottom)?"after":"append")},isValidDropPoint:function(n,t,i,r,u){if(!n||!u.item)return!1;var h=this.view,f=h.getRecord(n),e=u.records,c=e.length,l=e.length,o,s;if(!(f&&t&&c))return!1;for(o=0;o<l;o++)if(s=e[o],s.isNode&&s.contains(f))return!1;return t==="append"&&f.get("allowDrop")===!1?!1:t!="append"&&f.parentNode.get("allowDrop")===!1?!1:Ext.Array.contains(e,f)?!1:h.fireEvent("nodedragover",f,t,u,r)!==!1},onNodeOver:function(n,t,i,r){var f=this.getPosition(i,n),e=this.dropNotAllowed,h=this.view,u=h.getRecord(n),o=this.getIndicator(),s=0;return this.cancelExpand(),f!="append"||this.expandProcId||Ext.Array.contains(r.records,u)||u.isLeaf()||u.isExpanded()||this.queueExpand(u),this.isValidDropPoint(n,f,t,i,r)?(this.valid=!0,this.currentPosition=f,this.overRecord=u,o.setWidth(Ext.fly(n).getWidth()),s=Ext.fly(n).getY()-Ext.fly(h.el).getY()-1,f=="before"?(e=u.isFirst()?Ext.baseCSSPrefix+"tree-drop-ok-above":Ext.baseCSSPrefix+"tree-drop-ok-between",o.showAt(0,s),t.proxy.show()):f=="after"?(e=u.isLast()?Ext.baseCSSPrefix+"tree-drop-ok-below":Ext.baseCSSPrefix+"tree-drop-ok-between",s+=Ext.fly(n).getHeight(),o.showAt(0,s),t.proxy.show()):(e=Ext.baseCSSPrefix+"tree-drop-ok-append",o.hide())):this.valid=!1,this.currentCls=e,e},onNodeOut:function(){this.valid=!1;this.getIndicator().hide()},onContainerOver:function(n,t){return t.getTarget("."+this.indicatorCls)?this.currentCls:this.dropNotAllowed},notifyOut:function(){this.callParent(arguments);this.cancelExpand()},handleNodeDrop:function(n,t,i){var e=this,c=e.view,o=t?t.parentNode:c.panel.getRootNode(),a=c.getStore().treeStore.model,v,u,s,r,h,f,y,l;if(n.copy)for(v=n.records,n.records=[],u=0,s=v.length;u<s;u++)r=v[u],r.isNode?n.records.push(r.copy(undefined,!0)):n.records.push(new a(r.data,r.getId()));if(e.cancelExpand(),i=="before"?(h=o.insertBefore,f=[null,t],t=o):i=="after"?(t.nextSibling?(h=o.insertBefore,f=[null,t.nextSibling]):(h=o.appendChild,f=[null]),t=o):(t.isExpanded()||t.isLoading()||(y=!0),h=t.appendChild,f=[null]),l=function(){var o,i;for(Ext.suspendLayouts(),c.getSelectionModel().clearSelections(),u=0,s=n.records.length;u<s;u++)r=n.records[u],r.isNode||(r=r.isModel?new a(r.data,r.getId()):new a(r),n.records[u]=r),f[0]=r,h.apply(t,f);if(e.sortOnDrop&&t.sort(t.getOwnerTree().store.generateComparator()),Ext.resumeLayouts(!0),Ext.enableFx&&e.dropHighlight)for(o=e.dropHighlightColor,u=0;u<s;u++)i=c.getNode(n.records[u]),i&&Ext.fly(i).highlight(o)},y)t.expand(!1,l);else if(t.isLoading())t.on({expand:l,delay:1,single:!0});else l()}},0,0,0,0,0,0,[Ext.tree,"ViewDropZone"],0);Ext.cmd.derive("Ext.tree.plugin.TreeViewDragDrop",Ext.AbstractPlugin,{dragText:"{0} selected node{1}",allowParentInserts:!1,allowContainerDrops:!1,appendOnly:!1,ddGroup:"TreeDD",containerScroll:!1,expandDelay:1e3,enableDrop:!0,enableDrag:!0,nodeHighlightColor:"c3daf9",nodeHighlightOnDrop:Ext.enableFx,nodeHighlightOnRepair:Ext.enableFx,displayField:"text",init:function(n){n.on("render",this.onViewRender,this,{single:!0})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onViewRender:function(n){var t=this,i;t.enableDrag&&(t.containerScroll&&(i=n.getEl()),t.dragZone=new Ext.tree.ViewDragZone({view:n,ddGroup:t.dragGroup||t.ddGroup,dragText:t.dragText,displayField:t.displayField,repairHighlightColor:t.nodeHighlightColor,repairHighlight:t.nodeHighlightOnRepair,scrollEl:i}));t.enableDrop&&(t.dropZone=new Ext.tree.ViewDropZone({view:n,ddGroup:t.dropGroup||t.ddGroup,allowContainerDrops:t.allowContainerDrops,appendOnly:t.appendOnly,allowParentInserts:t.allowParentInserts,expandDelay:t.expandDelay,dropHighlightColor:t.nodeHighlightColor,dropHighlight:t.nodeHighlightOnDrop,sortOnDrop:t.sortOnDrop,containerScroll:t.containerScroll}))}},0,0,0,0,["plugin.treeviewdragdrop"],0,[Ext.tree.plugin,"TreeViewDragDrop"],function(){var n=this.prototype;n.nodeHighlightOnDrop=n.nodeHighlightOnRepair=Ext.enableFx});Ext.cmd.derive("Ext.util.Cookies",Ext.Base,{singleton:!0,set:function(n,t){var i=arguments,r=arguments.length,u=r>2?i[2]:null,f=r>3?i[3]:"/",e=r>4?i[4]:null,o=r>5?i[5]:!1;document.cookie=n+"="+escape(t)+(u===null?"":"; expires="+u.toGMTString())+(f===null?"":"; path="+f)+(e===null?"":"; domain="+e)+(o===!0?"; secure":"")},get:function(n){for(var r=n+"=",u=r.length,f=document.cookie.length,t=0,i=0;t<f;){if(i=t+u,document.cookie.substring(t,i)==r)return this.getCookieVal(i);if(t=document.cookie.indexOf(" ",t)+1,t===0)break}return null},clear:function(n,t){this.get(n)&&(t=t||"/",document.cookie=n+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path="+t)},getCookieVal:function(n){var t=document.cookie.indexOf(";",n);return t==-1&&(t=document.cookie.length),unescape(document.cookie.substring(n,t))}},0,0,0,0,0,0,[Ext.util,"Cookies"],0);Ext.cmd.derive("Ext.util.Grouper",Ext.util.Sorter,{isGrouper:!0,getGroupString:function(n){return n.get(this.property)}},0,0,0,0,0,0,[Ext.util,"Grouper"],0);Ext.cmd.derive("Ext.util.History",Ext.Base,{singleton:!0,alternateClassName:"Ext.History",useTopWindow:!0,fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",constructor:function(){var n=this;n.oldIEMode=Ext.isIE7m||!Ext.isStrict&&Ext.isIE8;n.iframe=null;n.hiddenField=null;n.ready=!1;n.currentToken=null;n.mixins.observable.constructor.call(n)},getHash:function(){var n=window.location.href,t=n.indexOf("#");return t>=0?n.substr(t+1):null},setHash:function(n){var t=this,i=t.useTopWindow?window.top:window;try{i.location.hash=n}catch(r){}},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(n){this.currentToken=n;this.fireEvent("change",n)},updateIFrame:function(n){var i='<html><body><div id="state">'+Ext.util.Format.htmlEncode(n)+"<\/div><\/body><\/html>",t;try{return t=this.iframe.contentWindow.document,t.open(),t.write(i),t.close(),!0}catch(r){return!1}},checkIFrame:function(){var n=this,t=n.iframe.contentWindow,f,r,u,i;if(!t||!t.document){Ext.Function.defer(this.checkIFrame,10,this);return}f=t.document;r=f.getElementById("state");u=r?r.innerText:null;i=n.getHash();Ext.TaskManager.start({run:function(){var o=t.document,e=o.getElementById("state"),r=e?e.innerText:null,f=n.getHash();r!==u?(u=r,n.handleStateChange(r),n.setHash(r),i=r,n.doSave()):f!==i&&(i=f,n.updateIFrame(f))},interval:50,scope:n});n.ready=!0;n.fireEvent("ready",n)},startUp:function(){var n=this,t;n.currentToken=n.hiddenField.value||this.getHash();n.oldIEMode?n.checkIFrame():(t=n.getHash(),Ext.TaskManager.start({run:function(){var i=n.getHash();i!==t&&(t=i,n.handleStateChange(t),n.doSave())},interval:50,scope:n}),n.ready=!0,n.fireEvent("ready",n))},init:function(n,t){var i=this,r=Ext.DomHelper;if(i.ready){Ext.callback(n,t,[i]);return}if(!Ext.isReady){Ext.onReady(function(){i.init(n,t)});return}if(i.hiddenField=Ext.getDom(i.fieldId),i.hiddenField||(i.hiddenField=Ext.getBody().createChild({id:Ext.id(),tag:"form",cls:Ext.baseCSSPrefix+"hide-display",children:[{tag:"input",type:"hidden",id:i.fieldId}]},!1,!0).firstChild),i.oldIEMode&&(i.iframe=Ext.getDom(i.iframeId),i.iframe||(i.iframe=r.append(i.hiddenField.parentNode,{tag:"iframe",id:i.iframeId,src:Ext.SSL_SECURE_URL}))),i.addEvents("ready","change"),n)i.on("ready",n,t,{single:!0});i.startUp()},add:function(n,t){var i=this;return t!==!1&&i.getToken()===n?!0:i.oldIEMode?i.updateIFrame(n):(i.setHash(n),!0)},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}},1,0,0,0,0,[["observable",Ext.util.Observable]],[Ext.util,"History",Ext,"History"],0)