/*
This file is part of Ext JS 6.6.0.258

Copyright (c) 2011-2018 Sencha Inc

license: http://www.sencha.com/legal/sencha-software-license-agreement
Contact: http://www.sencha.com/contact

Commercial Usage
Licensees holding valid commercial licenses may use this file in accordance with the Commercial
Software License Agreement referenced above or, alternatively, in accordance with the
terms contained in a written agreement between you and Sencha.

If you are unsure which license is appropriate for your use, please contact the sales department
at http://www.sencha.com/contact.

Version: 6.6.0.258 Build date: 2018-06-19 05:16:53 (a26fc5ffb54acf6e1afd5f18c467b14161985898)

*/
var Ext=Ext||{};Ext.Boot=Ext.Boot||(function(f){var c=document,e=[],k={disableCaching:(/[?&](?:cache|disableCacheBuster)\b/i.test(location.search)||!(/http[s]?\:/i.test(location.href))||/(^|[ ;])ext-cache=1/.test(c.cookie))?!1:!0,disableCachingParam:'_dc',loadDelay:!1,preserveScripts:!0,charset:'UTF-8'},m={},o=/\.css(?:\?|$)/i,i=c.createElement('a'),j=typeof window!=='undefined',d={browser:j,node:!j&&(typeof require==='function'),phantom:(window&&(window._phantom||window.callPhantom))||/PhantomJS/.test(window.navigator.userAgent)},b=(Ext.platformTags={}),n=function(a){},g=function(b,a,c){if(c){g(b,c)}if(b&&a&&typeof a==='object'){for(var d in a){b[d]=a[d]}}return b},l=function(){var d=!1,g=Array.prototype.shift.call(arguments),a,c,e,b;if(typeof arguments[arguments.length-1]==='boolean'){d=Array.prototype.pop.call(arguments)}e=arguments.length;for(a=0;a<e;a++){b=arguments[a];if(typeof b==='object'){for(c in b){g[d?c.toLowerCase():c]=b[c]}}}return g},h=(typeof Object.keys=='function')?function(a){if(!a){return []}return Object.keys(a)}:function(b){var c=[],a;for(a in b){if(b.hasOwnProperty(a)){c.push(a)}}return c},a={loading:0,loaded:0,apply:g,env:d,config:k,assetConfig:m,scripts:{},currentFile:null,suspendedQueue:[],currentRequest:null,syncMode:!1,debug:n,useElements:!0,listeners:[],Request:Request,Entry:Entry,allowMultipleBrowsers:!1,browserNames:{ie:'IE',firefox:'Firefox',safari:'Safari',chrome:'Chrome',opera:'Opera',dolfin:'Dolfin',edge:'Edge',webosbrowser:'webOSBrowser',chromeMobile:'ChromeMobile',chromeiOS:'ChromeiOS',silk:'Silk',other:'Other'},osNames:{ios:'iOS',android:'Android',windowsPhone:'WindowsPhone',webos:'webOS',blackberry:'BlackBerry',rimTablet:'RIMTablet',mac:'MacOS',win:'Windows',tizen:'Tizen',linux:'Linux',bada:'Bada',chromeOS:'ChromeOS',other:'Other'},browserPrefixes:{ie:'MSIE ',edge:'Edge/',firefox:'Firefox/',chrome:'Chrome/',safari:'Version/',opera:'OPR/',dolfin:'Dolfin/',webosbrowser:'wOSBrowser/',chromeMobile:'CrMo/',chromeiOS:'CriOS/',silk:'Silk/'},browserPriority:['edge','opera','dolfin','webosbrowser','silk','chromeiOS','chromeMobile','ie','firefox','safari','chrome'],osPrefixes:{tizen:'(Tizen )',ios:'i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ',android:'(Android |HTC_|Silk/)',windowsPhone:'Windows Phone ',blackberry:'(?:BlackBerry|BB)(?:.*)Version/',rimTablet:'RIM Tablet OS ',webos:'(?:webOS|hpwOS)/',bada:'Bada/',chromeOS:'CrOS '},fallbackOSPrefixes:{windows:'win',mac:'mac',linux:'linux'},devicePrefixes:{iPhone:'iPhone',iPod:'iPod',iPad:'iPad'},maxIEVersion:12,detectPlatformTags:function(){var c=this,e=navigator.userAgent,i=/Mobile(\/|\s)/.test(e),d=document.createElement('div'),k=function(e,c){if(c===undefined){c=window}var a='on'+e.toLowerCase(),b=(a in d);if(!b){if(d.setAttribute&&d.removeAttribute){d.setAttribute(a,'');b=typeof d[a]==='function';if(typeof d[a]!=='undefined'){d[a]=undefined}d.removeAttribute(a)}}return b},m=function(){var d={},j,g,l,i,b,n,h,a,k;n=c.browserPriority.length;for(b=0;b<n;b++){i=c.browserPriority[b];if(!k){l=c.browserPrefixes[i];h=e.match(new RegExp('('+l+')([\\w\\._]+)'));a=h&&h.length>1?parseInt(h[2]):0;if(a){k=!0}}else {a=0}d[i]=a}if(d.ie){var m=document.documentMode;if(m>=8){d.ie=m}}a=d.ie||!1;j=Math.max(a,c.maxIEVersion);for(b=8;b<=j;++b){g='ie'+b;d[g+'m']=a?a<=b:0;d[g]=a?a===b:0;d[g+'p']=a?a>=b:0}return d},j=function(){var j={},l,d,g,b,m,a,i,k,n;g=h(c.osPrefixes);m=g.length;for(b=0,n=0;b<m;b++){d=g[b];l=c.osPrefixes[d];a=e.match(new RegExp('('+l+')([^\\s;]+)'));i=a?a[1]:null;if(i&&(i==='HTC_'||i==='Silk/')){k=2.3}else {k=a&&a.length>1?parseFloat(a[a.length-1]):0}if(k){n++}j[d]=k}g=h(c.fallbackOSPrefixes);m=g.length;for(b=0;b<m;b++){d=g[b];if(n===0){l=c.fallbackOSPrefixes[d];a=e.toLowerCase().match(new RegExp(l));j[d]=a?!0:0}else {j[d]=0}}return j},n=function(){var g={},j,d,b,a,k,i;b=h(c.devicePrefixes);k=b.length;for(a=0;a<k;a++){d=b[a];j=c.devicePrefixes[d];i=e.match(new RegExp(j));g[d]=i?!0:0}return g},o=m(),q=j(),p=n(),g=a.loadPlatformsParam();l(b,o,q,p,g,!0);b.phone=!!((b.iphone||b.ipod)||(!b.silk&&(b.android&&(b.android<3||i)))||(b.blackberry&&i)||(b.windowsphone));b.tablet=!!(!b.phone&&(b.ipad||b.android||b.silk||b.rimtablet||(b.ie10&&/; Touch/.test(e))));b.touch=k('touchend')||navigator.maxTouchPoints||navigator.msMaxTouchPoints;b.desktop=!b.phone&&!b.tablet;b.cordova=b.phonegap=!!(window.PhoneGap||window.Cordova||window.cordova);b.webview=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(e);b.androidstock=(b.android<=4.3)&&(b.safari||b.silk);l(b,g,!0)},loadPlatformsParam:function(){var k=window.location.search.substr(1),g=k.split("&"),e={},a,h={},b,i,d,j,c;for(a=0;a<g.length;a++){b=g[a].split("=");e[b[0]]=b[1]}if(e.platformTags){b=e.platformTags.split(",");for(i=b.length,a=0;a<i;a++){d=b[a].split(":");j=d[0];c=!0;if(d.length>1){c=d[1];if(c==='false'||c==='0'){c=!1}}h[j]=c}}return h},filterPlatform:function(g,d){g=e.concat(g||e);d=e.concat(d||e);var j=g.length,i=d.length,c=(!j&&i),a,h;for(a=0;a<j&&!c;a++){h=g[a];c=!!b[h]}for(a=0;a<i&&c;a++){h=d[a];c=!b[h]}return c},init:function(){var g=c.getElementsByTagName('script'),b=g[0],m=g.length,n=/\/ext(\-[a-z\-]+)?\.js$/,l,e,h,d,k,i,j;a.hasReadyState=("readyState" in b);a.hasAsync=("async" in b);a.hasDefer=("defer" in b);a.hasOnLoad=("onload" in b);a.isIE8=a.hasReadyState&&!a.hasAsync&&a.hasDefer&&!a.hasOnLoad;a.isIE9=a.hasReadyState&&!a.hasAsync&&a.hasDefer&&a.hasOnLoad;a.isIE10p=a.hasReadyState&&a.hasAsync&&a.hasDefer&&a.hasOnLoad;if(a.isIE8){a.isIE10=!1;a.isIE10m=!0}else {a.isIE10=(new Function('/*@cc_on return @_jscript_version @*/')())===10;a.isIE10m=a.isIE10||a.isIE9||a.isIE8}a.isIE11=a.isIE10p&&!a.isIE10;for(i=0;i<m;i++){e=(b=g[i]).src;if(!e){continue}h=b.readyState||null;if(!d&&n.test(e)){d=e}if(!a.scripts[k=a.canonicalUrl(e)]){l=new Entry({key:k,url:e,done:h===null||h==='loaded'||h==='complete',el:b,prop:'src'})}}if(!d){b=g[g.length-1];d=b.src}a.baseUrl=d.substring(0,d.lastIndexOf('/')+1);j=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?':'+window.location.port:'');a.origin=j;a.detectPlatformTags();Ext.filterPlatform=a.filterPlatform},canonicalUrl:function(g){i.href=g;var b=i.href,e=k.disableCachingParam,c=e?b.indexOf(e+'='):-1,d,a;if(c>0&&((d=b.charAt(c-1))==='?'||d==='&')){a=b.indexOf('&',c);a=(a<0)?'':b.substring(a);if(a&&d==='?'){++c;a=a.substring(1)}b=b.substring(0,c-1)+a}return b},getConfig:function(b){return b?a.config[b]:a.config},setConfig:function(b,d){if(typeof b==='string'){a.config[b]=d}else {for(var c in b){a.setConfig(c,b[c])}}return a},getHead:function(){return a.docHead||(a.docHead=c.head||c.getElementsByTagName('head')[0])},create:function(e,c,d){var b=d||{};b.url=e;b.key=c;return a.scripts[c]=new Entry(b)},getEntry:function(d,g,e){var c,b;c=e?d:a.canonicalUrl(d);b=a.scripts[c];if(!b){b=a.create(d,c,g);if(e){b.canonicalPath=!0}}return b},registerContent:function(e,c,b){var d={content:b,loaded:!0,css:c==='css'};return a.getEntry(e,d)},processRequest:function(a,b){a.loadEntries(b)},load:function(b){var b=new Request(b);if(b.sync||a.syncMode){return a.loadSync(b)}if(a.currentRequest){b.getEntries();a.suspendedQueue.push(b)}else {a.currentRequest=b;a.processRequest(b,!1)}return a},loadSync:function(b){var b=new Request(b);a.syncMode++;a.processRequest(b,!0);a.syncMode--;return a},loadBasePrefix:function(b){b=new Request(b);b.prependBaseUrl=!0;return a.load(b)},loadSyncBasePrefix:function(b){b=new Request(b);b.prependBaseUrl=!0;return a.loadSync(b)},requestComplete:function(c){var b;if(a.currentRequest===c){a.currentRequest=null;while(a.suspendedQueue.length>0){b=a.suspendedQueue.shift();if(!b.done){a.load(b);break}}}if(!a.currentRequest&&a.suspendedQueue.length==0){a.fireListeners()}},isLoading:function(){return !a.currentRequest&&a.suspendedQueue.length==0},fireListeners:function(){var b;while(a.isLoading()&&(b=a.listeners.shift())){b()}},onBootReady:function(b){if(!a.isLoading()){b()}else {a.listeners.push(b)}},getPathsFromIndexes:function(a,d){if(!('length' in a)){var c=[],b;for(b in a){if(!isNaN(+b)){c[+b]=a[b]}}a=c}return Request.prototype.getPathsFromIndexes(a,d)},createLoadOrderMap:function(a){return Request.prototype.createLoadOrderMap(a)},fetch:function(k,e,j,b){b=(b===undefined)?!!e:b;var a=new XMLHttpRequest(),c,i,h,g=!1,d=function(){if(a&&a.readyState==4){i=(a.status===1223)?204:(a.status===0&&((self.location||{}).protocol==='file:'||(self.location||{}).protocol==='ionp:'))?200:a.status;h=a.responseText;c={content:h,status:i,exception:g};if(e){e.call(j,c)}a.onreadystatechange=f;a=null}};if(b){a.onreadystatechange=d}try{a.open('GET',k,b);a.send(null)}catch(p){g=p;d();return c}if(!b){d()}return c},notifyAll:function(a){a.notifyRequests()}};function Request(b){if(b.$isRequest){return b}var b=b.url?b:{url:b},c=b.url,e=c.charAt?[c]:c,d=b.charset||a.config.charset;g(this,b);delete this.url;this.urls=e;this.charset=d}Request.prototype={$isRequest:!0,createLoadOrderMap:function(d){var e=d.length,c={},a,b;for(a=0;a<e;a++){b=d[a];c[b.path]=b}return c},getLoadIndexes:function(b,e,o,m,n){var g=[],k=[b],i=b.idx,k,j,d,c,h,l;if(e[i]){return g}e[i]=g[i]=!0;while(b=k.shift()){if(b.canonicalPath){j=a.getEntry(b.path,null,!0)}else {j=a.getEntry(this.prepareUrl(b.path))}if(!(n&&j.done)){if(m&&b.uses&&b.uses.length){d=b.requires.concat(b.uses)}else {d=b.requires}for(h=0,l=d.length;h<l;h++){c=d[h];if(!e[c]){e[c]=g[c]=!0;k.push(o[c])}}}}return g},getPathsFromIndexes:function(b,e){var c=[],a,d;for(a=0,d=b.length;a<d;a++){if(b[a]){c.push(e[a].path)}}return c},expandUrl:function(d,a,e,i,g,h){var c,b;if(a){c=e[d];if(c){b=this.getLoadIndexes(c,i,a,g,h);if(b.length){return this.getPathsFromIndexes(b,a)}}}return [d]},expandUrls:function(a,n){var e=this,j=e.loadOrder,c=[],k={},o=[],b,i,g,m,h,l,d;if(typeof a==="string"){a=[a]}if(j){b=e.loadOrderMap;if(!b){b=e.loadOrderMap=e.createLoadOrderMap(j)}}for(g=0,m=a.length;g<m;g++){i=this.expandUrl(a[g],j,b,o,n,!1);for(h=0,l=i.length;h<l;h++){d=i[h];if(!k[d]){k[d]=!0;c.push(d)}}}if(c.length===0){c=a}return c},expandLoadOrder:function(){var a=this,c=a.urls,b;if(!a.expanded){b=this.expandUrls(c,!0);a.expanded=!0}else {b=c}a.urls=b;if(c.length!=b.length){a.sequential=!0}return a},getUrls:function(){this.expandLoadOrder();return this.urls},prepareUrl:function(b){if(this.prependBaseUrl){return a.baseUrl+b}return b},getEntries:function(){var b=this,c=b.entries,e,h,d,g,i,j;if(!c){c=[];i=b.getUrls();if(b.loadOrder){e=b.loadOrderMap}for(d=0;d<i.length;d++){j=b.prepareUrl(i[d]);if(e){h=e[j]}g=a.getEntry(j,{buster:b.buster,charset:b.charset},h&&h.canonicalPath);g.requests.push(b);c.push(g)}b.entries=c}return c},loadEntries:function(g){var a=this,c=a.getEntries(),h=c.length,i=a.loadStart||0,d,c,e,b;if(g!==undefined){a.sync=g}a.loaded=a.loaded||0;a.loading=a.loading||h;for(b=i;b<h;b++){e=c[b];if(!e.loaded){d=c[b].load(a.sync)}else {d=!0}if(!d){a.loadStart=b;e.onDone(function(){a.loadEntries(g)});break}}a.processLoadedEntries()},processLoadedEntries:function(){var a=this,d=a.getEntries(),g=d.length,e=a.startIndex||0,c,b;if(!a.done){for(c=e;c<g;c++){b=d[c];if(!b.loaded){a.startIndex=c;return}if(!b.evaluated){b.evaluate()}if(b.error){a.error=!0}}a.notify()}},notify:function(){var b=this;if(!b.done){var e=b.error,d=b[e?'failure':'success'],c=('delay' in b)?b.delay:(e?1:a.config.chainDelay),g=b.scope||b;b.done=!0;if(d){if(c===0||c>0){setTimeout(function(){d.call(g,b)},c)}else {d.call(g,b)}}b.fireListeners();a.requestComplete(b)}},onDone:function(b){var a=this,c=a.listeners||(a.listeners=[]);if(a.done){b(a)}else {c.push(b)}},fireListeners:function(){var a=this.listeners,b;if(a){while((b=a.shift())){b(this)}}}};function Entry(c){if(c.$isEntry){return c}var j=c.charset||a.config.charset,i=Ext.manifest,e=i&&i.loader,d=(c.cache!==undefined)?c.cache:(e&&e.cache),b,h;if(a.config.disableCaching){if(d===undefined){d=!a.config.disableCaching}if(d===!1){b=+new Date()}else if(d!==!0){b=d}if(b){h=(e&&e.cacheParam)||a.config.disableCachingParam;b=h+"="+b}}g(this,c);this.charset=j;this.buster=b;this.requests=[]}Entry.prototype={$isEntry:!0,done:!1,evaluated:!1,loaded:!1,isCrossDomain:function(){var b=this;if(b.crossDomain===undefined){b.crossDomain=(b.getLoadUrl().indexOf(a.origin)!==0)}return b.crossDomain},isCss:function(){var b=this;if(b.css===undefined){if(b.url){var c=a.assetConfig[b.url];b.css=c?c.type==="css":o.test(b.url)}else {b.css=!1}}return this.css},getElement:function(e){var d=this,b=d.el;if(!b){if(d.isCss()){e=e||"link";b=c.createElement(e);if(e=="link"){b.rel='stylesheet';d.prop='href'}else {d.prop="textContent"}b.type="text/css"}else {e=e||"script";b=c.createElement(e);b.type='text/javascript';d.prop='src';if(d.charset){b.charset=d.charset}if(a.hasAsync){b.async=!1}}d.el=b}return b},getLoadUrl:function(){var b=this,c;c=b.canonicalPath?b.url:a.canonicalUrl(b.url);if(!b.loadUrl){b.loadUrl=!!b.buster?(c+(c.indexOf('?')===-1?'?':'&')+b.buster):c}return b.loadUrl},fetch:function(b){var e=this.getLoadUrl(),d=!!b.async,c=b.complete;a.fetch(e,c,this,d)},onContentLoaded:function(c){var b=this,a=c.status,e=c.content,h=c.exception,g=this.getLoadUrl();b.loaded=!0;if((h||a===0)&&!d.phantom){b.error=("Failed loading synchronously via XHR: '"+g+"'. It's likely that the file is either being loaded from a "+"different domain or from the local file system where cross "+"origin requests are not allowed for security reasons. Try "+"asynchronous loading instead.")||!0;b.evaluated=!0}else if((a>=200&&a<300)||a===304||d.phantom||(a===0&&e.length>0)){b.content=e}else {b.error=("Failed loading synchronously via XHR: '"+g+"'. Please verify that the file exists. XHR status code: "+a)||!0;b.evaluated=!0}},createLoadElement:function(b){var c=this,d=c.getElement();c.preserve=!0;d.onerror=function(){c.error=!0;if(b){b();b=null}};if(a.isIE10m){d.onreadystatechange=function(){if(this.readyState==='loaded'||this.readyState==='complete'){if(b){b();b=this.onreadystatechange=this.onerror=null}}}}else {d.onload=function(){b();b=this.onload=this.onerror=null}}d[c.prop]=c.getLoadUrl()},onLoadElementReady:function(){a.getHead().appendChild(this.getElement());this.evaluated=!0},inject:function(h,m){var g=this,d=a.getHead(),l=g.url,i=g.key,b,e,k,j;if(g.isCss()){g.preserve=!0;j=i.substring(0,i.lastIndexOf("/")+1);b=c.createElement('base');b.href=j;if(d.firstChild){d.insertBefore(b,d.firstChild)}else {d.appendChild(b)}b.href=b.href;if(l){h+="\n/*# sourceURL="+i+" */"}e=g.getElement("style");k=('styleSheet' in e);d.appendChild(b);if(k){d.appendChild(e);e.styleSheet.cssText=h}else {e.textContent=h;d.appendChild(e)}d.removeChild(b)}else {if(l){h+="\n//# sourceURL="+i}Ext.globalEval(h)}return g},loadCrossDomain:function(){var a=this,b=function(){a.el.onerror=a.el.onload=f;a.el=null;a.loaded=a.evaluated=a.done=!0;a.notifyRequests()};a.createLoadElement(function(){b()});a.evaluateLoadElement();return !1},loadElement:function(){var a=this,b=function(){a.el.onerror=a.el.onload=f;a.el=null;a.loaded=a.evaluated=a.done=!0;a.notifyRequests()};a.createLoadElement(function(){b()});a.evaluateLoadElement();return !0},loadSync:function(){var a=this;a.fetch({async:!1,complete:function(b){a.onContentLoaded(b)}});a.evaluate();a.notifyRequests()},load:function(c){var b=this;if(!b.loaded){if(b.loading){return !1}b.loading=!0;if(!c){if(a.isIE10||b.isCrossDomain()){return b.loadCrossDomain()}else if(!b.isCss()&&a.hasReadyState){b.createLoadElement(function(){b.loaded=!0;b.notifyRequests()})}else if(a.useElements&&!(b.isCss()&&d.phantom)){return b.loadElement()}else {b.fetch({async:!c,complete:function(a){b.onContentLoaded(a);b.notifyRequests()}})}}else {b.loadSync()}}return !0},evaluateContent:function(){this.inject(this.content);this.content=null},evaluateLoadElement:function(){a.getHead().appendChild(this.getElement())},evaluate:function(){var a=this;if(!a.evaluated){if(a.evaluating){return}a.evaluating=!0;if(a.content!==undefined){a.evaluateContent()}else if(!a.error){a.evaluateLoadElement()}a.evaluated=a.done=!0;a.cleanup()}},cleanup:function(){var c=this,a=c.el,b;if(!a){return}if(!c.preserve){c.el=null;a.parentNode.removeChild(a);for(b in a){try{if(b!==c.prop){a[b]=null}delete a[b]}catch(p){}}}a.onload=a.onerror=a.onreadystatechange=f},notifyRequests:function(){var b=this.requests,d=b.length,a,c;for(a=0;a<d;a++){c=b[a];c.processLoadedEntries()}if(this.done){this.fireListeners()}},onDone:function(b){var a=this,c=a.listeners||(a.listeners=[]);if(a.done){b(a)}else {c.push(b)}},fireListeners:function(){var a=this.listeners,b;if(a&&a.length>0){while((b=a.shift())){b(this)}}}};Ext.disableCacheBuster=function(b,d){var a=new Date();a.setTime(a.getTime()+(b?10*365:-1)*24*60*60*1000);a=a.toGMTString();c.cookie='ext-cache=1; expires='+a+'; path='+(d||'/')};a.init();return a}(function(){}));Ext.globalEval=Ext.globalEval||(this.execScript?function(a){execScript(a)}:function(a){eval.call(window,a)});if(!Function.prototype.bind){(function(){var a=Array.prototype.slice,b=function(d){var b=a.call(arguments,1),c=this;if(b.length){return function(){var e=arguments;return c.apply(d,e.length?b.concat(a.call(e)):b)}}b=null;return function(){return c.apply(d,arguments)}};Function.prototype.bind=b;b.$extjs=!0}())}Ext.setResourcePath=function(b,d){var a=Ext.manifest||(Ext.manifest={}),c=a.resources||(a.resources={});if(a){if(typeof b!=='string'){Ext.apply(c,b)}else {c[b]=d}a.resources=c}};Ext.getResourcePath=function(b,f,d){if(typeof b!=='string'){f=b.pool;d=b.packageName;b=b.path}var e=Ext.manifest,g=e&&e.resources,a=g[f],c=[];if(a==null){a=g.path;if(a==null){a='resources'}}if(a){c.push(a)}if(d){c.push(d)}c.push(b);return c.join('/')};var Ext=Ext||{};(function(){var d=this,m=Object.prototype,c=m.toString,b=['valueOf','toLocaleString','toString','constructor'],a=Ext.fireIdle=function(){},f=function(){},e=function(a){return a},k=function(){var a=k.caller.caller;return a.$owner.prototype[a.$name].apply(this,arguments)},l=Ext.manifest||{},p,n=/\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/,o=/^\\?\/Date\(([-+])?(\d+)(?:[+-]\d{4})?\)\\?\/$/,h,j,i,g;Ext.global=d;Ext.$nextIid=0;Ext.now=Date.now||(Date.now=function(){return +new Date()});Ext.ticks=(d.performance&&d.performance.now)?function(){return performance.now()}:Ext.now;Ext._startTime=Ext.ticks();a.$nullFn=e.$nullFn=a.$emptyFn=e.$identityFn=f.$nullFn=!0;f.$privacy='framework';a.$noClearOnDestroy=e.$noClearOnDestroy=!0;f.$noClearOnDestroy=!0;Ext['suspendLayouts']=Ext['resumeLayouts']=a;for(p in {toString:1}){b=null}Ext.enumerables=b;Ext.apply=function(c,a,g){if(c){if(g){Ext.apply(c,g)}if(a&&typeof a==='object'){var e,f,d;for(e in a){c[e]=a[e]}if(b){for(f=b.length;f--;){d=b[f];if(a.hasOwnProperty(d)){c[d]=a[d]}}}}}return c};function addInstanceOverrides(d,e,c){var a,b;for(a in c){if(c.hasOwnProperty(a)){b=c[a];if(typeof b==='function'){if(e.$className){b.name=e.$className+'#'+a}b.$name=a;b.$owner=e;b.$previous=d.hasOwnProperty(a)?d[a]:k}d[a]=b}}}Ext.buildSettings=Ext.apply({baseCSSPrefix:'x-'},Ext.buildSettings||{});Ext.apply(Ext,{idSeed:0,idPrefix:'ext-',isRobot:!1,isSecure:/^https/i.test(window.location.protocol),enableGarbageCollector:!1,enableListenerCollection:!0,name:Ext.sandboxName||'Ext',privateFn:f,emptyFn:a,identityFn:e,frameStartTime:Ext.now(),manifest:l,debugConfig:Ext.debugConfig||l.debug||{hooks:{'*':!0}},enableAria:!0,startsWithHashRe:/^#/,validIdRe:/^[a-z_][a-z0-9\-_]*$/i,BLANK_IMAGE_URL:'data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',makeIdSelector:function(a){if(!Ext.validIdRe.test(a)){Ext.raise('Invalid id selector: "'+a+'"')}return '#'+a},id:function(a,c){if(a&&a.id){return a.id}var b=(c||Ext.idPrefix)+(++Ext.idSeed);if(a){a.id=b}return b},returnId:function(a){return a.getId()},returnTrue:function(){return !0},emptyString:new String(),emptyArray:Object.freeze?Object.freeze([]):[],baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,$eventNameMap:{},$vendorEventRe:/^(DOMMouse|Moz.+|MS.+|webkit.+)/,canonicalEventName:function(a){return Ext.$eventNameMap[a]||(Ext.$eventNameMap[a]=(Ext.$vendorEventRe.test(a)?a:a.toLowerCase()))},applyIf:function(b,a){if(b&&a&&typeof a==='object'){for(var c in a){if(b[c]===undefined){b[c]=a[c]}}}return b},destroy:function(){var c=arguments.length,b,a;for(b=0;b<c;b++){a=arguments[b];if(a){if(Ext.isArray(a)){this.destroy.apply(this,a)}else if(Ext.isFunction(a.destroy)&&!a.destroyed){a.destroy()}}}return null},destroyMembers:function(c){for(var a,d,b=1,e=arguments,f=e.length;b<f;b++){a=c[d=e[b]];if(a!=null){c[d]=Ext.destroy(a)}}},override:function(a,b){if(a.$isClass){a.override(b)}else if(typeof a==='function'){Ext.apply(a.prototype,b)}else {var c=a.self,d;if(c&&c.$isClass){d=b.privates;if(d){b=Ext.apply({},b);delete b.privates;addInstanceOverrides(a,c,d)}addInstanceOverrides(a,c,b)}else {Ext.apply(a,b)}}return a},valueFrom:function(a,b,c){return Ext.isEmpty(a,c)?b:a},isEmpty:function(a,b){return (a==null)||(!b?a==='':!1)||(Ext.isArray(a)&&a.length===0)},isArray:('isArray' in Array)?Array.isArray:function(a){return c.call(a)==='[object Array]'},isDate:function(a){return c.call(a)==='[object Date]'},isMSDate:function(a){if(!Ext.isString(a)){return !1}return o.test(a)},isObject:(c.call(null)==='[object Object]')?function(a){return a!=null&&c.call(a)==='[object Object]'&&a.ownerDocument===undefined}:function(a){return c.call(a)==='[object Object]'},isSimpleObject:function(a){return a instanceof Object&&a.constructor===Object},isPrimitive:function(b){var a=typeof b;return a==='string'||a==='number'||a==='boolean'},isFunction:(typeof document!=='undefined'&&typeof document.getElementsByTagName('body')==='function')?function(a){return !!a&&c.call(a)==='[object Function]'}:function(a){return !!a&&typeof a==='function'},isNumber:function(a){return typeof a==='number'&&isFinite(a)},isNumeric:function(a){return !isNaN(parseFloat(a))&&isFinite(a)},isString:function(a){return typeof a==='string'},isBoolean:function(a){return typeof a==='boolean'},isElement:function(a){return a?a.nodeType===1:!1},isTextNode:function(a){return a?a.nodeName==="#text":!1},isDefined:function(a){return typeof a!=='undefined'},isIterable:function(a){if(!a||typeof a.length!=='number'||typeof a==='string'||Ext.isFunction(a)){return !1}if(!a.propertyIsEnumerable){return !!a.item}if(a.hasOwnProperty('length')&&!a.propertyIsEnumerable('length')){return !0}return n.test(c.call(a))},isDebugEnabled:function(c,e){var b=Ext.debugConfig.hooks;if(b.hasOwnProperty(c)){return b[c]}var d=b['*'],f=0;if(e!==undefined){d=e}if(!c){return d}for(var a in b){var g=b[a];if(c.charAt(a.length)==='.'){if(c.substring(0,a.length)===a){if(f<a.length){f=a.length;d=g}}}}return d}||a,clone:function(a,g){if(a==null){return a}if(g!==!1&&a.nodeType&&a.cloneNode){return a.cloneNode(!0)}var h=c.call(a),e,j,f,d,i;if(h==='[object Date]'){return new Date(a.getTime())}if(h==='[object Array]'){e=a.length;d=[];while(e--){d[e]=Ext.clone(a[e],g)}}else if(h==='[object Object]'&&a.constructor===Object){d={};for(i in a){d[i]=Ext.clone(a[i],g)}if(b){for(j=b.length;j--;){f=b[j];if(a.hasOwnProperty(f)){d[f]=a[f]}}}}return d||a},getUniqueGlobalNamespace:function(){var a=this.uniqueGlobalNamespace,b;if(a===undefined){b=0;do{a='ExtBox'+(++b)}while(d[a]!==undefined);d[a]=Ext;this.uniqueGlobalNamespace=a}return a},functionFactoryCache:{},cacheableFunctionFactory:function(){var f=this,a=Array.prototype.slice.call(arguments),e=f.functionFactoryCache,d,b,c;if(Ext.isSandboxed){c=a.length;if(c>0){c--;a[c]='var Ext=window.'+Ext.name+';'+a[c]}}d=a.join('');b=e[d];if(!b){b=Function.prototype.constructor.apply(Function.prototype,a);e[d]=b}return b},functionFactory:function(){var b=Array.prototype.slice.call(arguments),a;if(Ext.isSandboxed){a=b.length;if(a>0){a--;b[a]='var Ext=window.'+Ext.name+';'+b[a]}}return Function.prototype.constructor.apply(Function.prototype,b)},Logger:{log:function(b,a){if(b&&d.console){if(!a||!(a in d.console)){a='log'}b='['+a.toUpperCase()+'] '+b;d.console[a](b)}},verbose:function(a){this.log(a,'verbose')},info:function(a){this.log(a,'info')},warn:function(a){this.log(a,'warn')},error:function(a){throw new Error(a)},deprecate:function(a){this.log(a,'warn')}}||{verbose:a,log:a,info:a,warn:a,error:function(a){throw new Error(a)},deprecate:a},ariaWarn:function(a,b){if(Ext.enableAria&&!Ext.slicer){if(!Ext.ariaWarn.first){Ext.ariaWarn.first=!0;Ext.log.warn("WAI-ARIA compatibility warnings can be suppressed "+"by adding the following to application startup code:");Ext.log.warn("    Ext.ariaWarn = Ext.emptyFn;")}Ext.log.warn({msg:b,dump:a})}},getElementById:function(a){return document.getElementById(a)},splitAndUnescape:(function(){var a={};return function(e,c){if(!e){return []}else if(!c){return [e]}var g=a[c]||(a[c]=new RegExp('\\\\'+c,'g')),f=[],d,b;d=e.split(c);while((b=d.shift())!==undefined){while(b.charAt(b.length-1)==='\\'&&d.length>0){b=b+c+d.shift()}b=b.replace(g,c);f.push(b)}return f}})(),doElevate:function(){var c=j,b=h,a=g;j=h=g=null;i=b?c.apply(a,b):c.call(a);Ext.fireIdle()},elevate:function(e,c,a,b){var d;if(a&&!a.length){a=null}Ext._suppressIdle=!1;if(b){b.tick()}if(Ext.elevateFunction){j=e;g=c;h=a;Ext.elevateFunction(Ext.doElevate);d=i;i=null}else {d=a?e.apply(c,a):e.call(c);Ext.fireIdle()}if(b){b.tock()}return d},Timer:{all:{},track:!1,captureStack:!0,created:function(b,e,d){if(!Ext.Timer.track){return null}var a=Ext.apply({kind:b,id:e,done:!1,firing:!1,creator:Ext.Timer.captureStack?new Error().stack:null,tick:Ext.Timer.tick,tock:Ext.Timer.tock},d);var c=Ext.Timer.all[b]||(Ext.Timer.all[b]={});c[a.id]=a;if(Ext.Timer.hook){Ext.Timer.hook(a)}return a},get:function(c,a){a=a||'timeout';var b=Ext.Timer.all[a];return b&&b[c]||null},cancel:function(d,c){var a=Ext.Timer.all[d];var b=a&&a[c];if(b){b.cancelled=!0;delete a[c]}},tick:function(){if(Ext.Timer.firing){Ext.log.error('Previous timer state not cleaned up properly: '+Ext.Timer.firing.creator)}if(this.kind!=='interval'){this.done=!0;delete Ext.Timer.all[this.kind][this.id]}this.firing=!0;Ext.Timer.firing=this},tock:function(){this.firing=!1;if(Ext.Timer.firing===this){Ext.Timer.firing=null}}},getExpando:function(b,c){var a=b.$expandos;return a&&a[c]||null},setExpando:function(b,d,c){var a=b.$expandos;if(c!==undefined){(a||(b.$expandos={}))[d]=c}else if(a){delete a[d]}}});Ext.returnTrue.$nullFn=Ext.returnId.$nullFn=!0}());(function(){function toString(){var d=this,b=d.sourceClass,a=d.sourceMethod,c=d.msg;if(a){if(c){a+='(): ';a+=c}else {a+='()'}}if(b){a=a?(b+'.'+a):b}return a||c||''}Ext.Error=function(b){if(Ext.isString(b)){b={msg:b}}var a=new Error();Ext.apply(a,b);a.message=a.message||a.msg;a.toString=toString;return a};Ext.apply(Ext.Error,{ignore:!1,raise:function(a){a=a||{};if(Ext.isString(a)){a={msg:a}}var e=this,b=e.raise.caller,d,c;if(b===Ext.raise){b=b.caller}if(b){if(!a.sourceMethod&&(c=b.$name)){a.sourceMethod=c}if(!a.sourceClass&&(c=b.$owner)&&(c=c.$className)){a.sourceClass=c}}if(e.handle(a)!==!0){d=toString.call(a);Ext.log({msg:d,level:'error',dump:a,stack:!0});throw new Ext.Error(a)}},handle:function(){return this.ignore}})})();Ext.deprecated=function(a){if(!a){a=''}function fail(){Ext.raise('The method "'+fail.$owner.$className+'.'+fail.$name+'" has been removed. '+a)}return fail;return Ext.emptyFn};Ext.raise=function(){Ext.Error.raise.apply(Ext.Error,arguments)};(function(c){if(c||typeof window==='undefined'){return}var b=0,a=function(){var a=Ext.log&&Ext.log.counters,e=a&&(a.error+a.warn+a.info+a.log),d;if(e&&b!==e){d=[];if(a.error){d.push('Errors: '+a.error)}if(a.warn){d.push('Warnings: '+a.warn)}if(a.info){d.push('Info: '+a.info)}if(a.log){d.push('Log: '+a.log)}window.status='*** '+d.join(' -- ');b=e}};a.$skipTimerCheck=!0;setInterval(a,1000)}(!!window.__UNIT_TESTING__));Ext.Array=(function(){var c=Array.prototype,b=c.slice,f=(function(){var a=[],b,c=20;if(!a.splice){return !1}while(c--){a.push("A")}a.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");b=a.length;a.splice(13,0,"XXX");if(b+1!==a.length){return !1}return !0}()),i='indexOf' in c,h=!0;function stableSort(b,e){var d=b.length,c=new Array(d),a;for(a=0;a<d;a++){c[a]=a}c.sort(function(a,c){return e(b[a],b[c])||(a-c)});for(a=0;a<d;a++){c[a]=b[c[a]]}for(a=0;a<d;a++){b[a]=c[a]}return b}try{if(typeof document!=='undefined'){b.call(document.getElementsByTagName('body'))}}catch(q){h=!1}var g=function(b,a){return (a<0)?Math.max(0,b.length+a):Math.min(b.length,a)},d=function(a,n,m,d){var e=d?d.length:0,i=a.length,f=g(a,n);if(f===i){if(e){a.push.apply(a,d)}}else {var k=Math.min(m,i-f),c=f+k,h=c+e-k,l=i-c,j=i-k,b;if(h<c){for(b=0;b<l;++b){a[h+b]=a[c+b]}}else if(h>c){for(b=l;b--;){a[h+b]=a[c+b]}}if(e&&f===j){a.length=j;a.push.apply(a,d)}else {a.length=j+e;for(b=0;b<e;++b){a[f+b]=d[b]}}}return a},l=function(a,c,d,b){if(b&&b.length){if(c===0&&!d){a.unshift.apply(a,b)}else if(c<a.length){a.splice.apply(a,[c,d].concat(b))}else {a.push.apply(a,b)}}else {a.splice(c,d)}return a},o=function(b,c,a){return d(b,c,a)},n=function(a,c,b){a.splice(c,b);return a},j=function(a,h,c){var i=arguments.length,e=g(a,h),f;if(i<3){c=a.length-e}f=a.slice(h,g(a,e+c));if(i<4){d(a,e,c)}else {d(a,e,c,b.call(arguments,3))}return f},m=function(a){return a.splice.apply(a,b.call(arguments,1))},e=f?n:o,k=f?l:d,p=f?m:j,a={binarySearch:function(h,i,c,b,d){var g=h.length,e,f;if(c instanceof Function){d=c;c=0;b=g}else if(b instanceof Function){d=b;b=g}else {if(c===undefined){c=0}if(b===undefined){b=g}d=d||a.lexicalCompare}--b;while(c<=b){e=(c+b)>>1;f=d(i,h[e]);if(f>=0){c=e+1}else if(f<0){b=e-1}}return c},defaultCompare:function(a,b){return (a<b)?-1:((a>b)?1:0)},lexicalCompare:function(a,b){a=String(a);b=String(b);return (a<b)?-1:((a>b)?1:0)},each:function(c,e,d,g){c=a.from(c);var b,f=c.length;if(g!==!0){for(b=0;b<f;b++){if(e.call(d||c[b],c[b],b,c)===!1){return b}}}else {for(b=f-1;b>-1;b--){if(e.call(d||c[b],c[b],b,c)===!1){return b}}}return !0},findInsertionIndex:function(e,d,c,b){var h=d.length,f,g;c=c||a.lexicalCompare;if(b<h){f=b>0?c(d[b-1],e):0;g=b<h-1?c(e,d[b]):0;if(f<1&&g<1){return b}}return a.binarySearch(d,e,c)},forEach:('forEach' in c)?function(a,c,b){a.forEach(c,b)}:function(b,d,c){for(var a=0,e=b.length;a<e;a++){d.call(c,b[a],a,b)}},indexOf:i?function(a,d,b){return a?c.indexOf.call(a,d,b):-1}:function(b,e,c){var a,d=b?b.length:0;for(a=(c<0)?Math.max(0,d+c):c||0;a<d;a++){if(b[a]===e){return a}}return -1},contains:i?function(a,b){return c.indexOf.call(a,b)!==-1}:function(b,d){var a,c;for(a=0,c=b.length;a<c;a++){if(b[a]===d){return !0}}return !1},toArray:function(a,d,c){if(!a||!a.length){return []}if(typeof a==='string'){a=a.split('')}if(h){return b.call(a,d||0,c||a.length)}var f=[],e;d=d||0;c=c?((c<0)?a.length+c:c):a.length;for(e=d;e<c;e++){f.push(a[e])}return f},pluck:function(b,f){var d=[],a,e,c;for(a=0,e=b.length;a<e;a++){c=b[a];d.push(c[f])}return d},map:('map' in c)?function(b,a,c){Ext.Assert.isFunction(a,'Ext.Array.map must have a callback function passed as second argument.');return b.map(a,c)}:function(b,e,f){Ext.Assert.isFunction(e,'Ext.Array.map must have a callback function passed as second argument.');var d=b.length,c=new Array(d),a;for(a=0;a<d;a++){c[a]=e.call(f,b[a],a,b)}return c},every:('every' in c)?function(b,a,c){Ext.Assert.isFunction(a,'Ext.Array.every must have a callback function passed as second argument.');return b.every(a,c)}:function(b,c,d){Ext.Assert.isFunction(c,'Ext.Array.every must have a callback function passed as second argument.');var a=0,e=b.length;for(;a<e;++a){if(!c.call(d,b[a],a,b)){return !1}}return !0},some:('some' in c)?function(b,a,c){Ext.Assert.isFunction(a,'Ext.Array.some must have a callback function passed as second argument.');return b.some(a,c)}:function(b,c,d){Ext.Assert.isFunction(c,'Ext.Array.some must have a callback function passed as second argument.');var a=0,e=b.length;for(;a<e;++a){if(c.call(d,b[a],a,b)){return !0}}return !1},equals:function(b,c){var d=b.length,e=c.length,a;if(b===c){return !0}if(d!==e){return !1}for(a=0;a<d;++a){if(b[a]!==c[a]){return !1}}return !0},clean:function(d){var c=[],b=0,e=d.length,a;for(;b<e;b++){a=d[b];if(!Ext.isEmpty(a)){c.push(a)}}return c},unique:function(e){var b=[],d=0,f=e.length,c;for(;d<f;d++){c=e[d];if(a.indexOf(b,c)===-1){b.push(c)}}return b},filter:('filter' in c)?function(b,a,c){Ext.Assert.isFunction(a,'Ext.Array.filter must have a filter function passed as second argument.');return b.filter(a,c)}:function(b,d,e){Ext.Assert.isFunction(d,'Ext.Array.filter must have a filter function passed as second argument.');var c=[],a=0,f=b.length;for(;a<f;a++){if(d.call(e,b[a],a,b)){c.push(b[a])}}return c},findBy:function(b,e,c){var a=0,d=b.length;for(;a<d;a++){if(e.call(c||b,b[a],a)){return b[a]}}return null},from:function(c,e){if(c===undefined||c===null){return []}if(Ext.isArray(c)){return (e)?b.call(c):c}var d=typeof c;if(c&&c.length!==undefined&&d!=='string'&&(d!=='function'||!c.apply)){return a.toArray(c)}return [c]},remove:function(b,d){var c=a.indexOf(b,d);if(c!==-1){e(b,c,1)}return b},removeAt:function(c,b,a){var d=c.length;if(b>=0&&b<d){a=a||1;a=Math.min(a,d-b);e(c,b,a)}return c},include:function(b,c){if(!a.contains(b,c)){b.push(c)}},clone:function(a){return b.call(a)},merge:function(){var e=b.call(arguments),d=[],c,f;for(c=0,f=e.length;c<f;c++){d=d.concat(e[c])}return a.unique(d)},intersect:function(){var m=[],f=b.call(arguments),g,o,r,d,k,j,q,n,p,l,c,h,i;if(!f.length){return m}g=f.length;for(c=k=0;c<g;c++){j=f[c];if(!d||j.length<d.length){d=j;k=c}}d=a.unique(d);e(f,k,1);q=d.length;g=f.length;for(c=0;c<q;c++){n=d[c];l=0;for(h=0;h<g;h++){o=f[h];r=o.length;for(i=0;i<r;i++){p=o[i];if(n===p){l++;break}}}if(l===g){m.push(n)}}return m},difference:function(i,f){var c=b.call(i),h=c.length,d,a,g;for(d=0,g=f.length;d<g;d++){for(a=0;a<h;a++){if(c[a]===f[d]){e(c,a,1);a--;h--}}}return c},reduce:Array.prototype.reduce?function(b,a,c){if(arguments.length===3){return Array.prototype.reduce.call(b,a,c)}return Array.prototype.reduce.call(b,a)}:function(a,d,f){a=Object(a);if(!Ext.isFunction(d)){Ext.raise('Invalid parameter: expected a function.')}var b=0,e=a.length>>>0,c=f;if(arguments.length<3){while(!0){if(b in a){c=a[b++];break}if(++b>=e){throw new TypeError('Reduce of empty array with no initial value')}}}for(;b<e;++b){if(b in a){c=d(c,a[b],b,a)}}return c},slice:([1,2].slice(1,undefined).length?function(a,c,d){return b.call(a,c,d)}:function(a,c,d){if(typeof c==='undefined'){return b.call(a)}if(typeof d==='undefined'){return b.call(a,c)}return b.call(a,c,d)}),sort:function(c,b){return stableSort(c,b||a.lexicalCompare)},flatten:function(b){var a=[];function rFlatten(f){var c,e,d;for(c=0,e=f.length;c<e;c++){d=f[c];if(Ext.isArray(d)){rFlatten(d)}else {a.push(d)}}return a}return rFlatten(b)},min:function(d,e){var b=d[0],c,f,a;for(c=0,f=d.length;c<f;c++){a=d[c];if(e){if(e(b,a)===1){b=a}}else {if(a<b){b=a}}}return b},max:function(d,e){var b=d[0],c,f,a;for(c=0,f=d.length;c<f;c++){a=d[c];if(e){if(e(b,a)===-1){b=a}}else {if(a>b){b=a}}}return b},mean:function(b){return b.length>0?a.sum(b)/b.length:undefined},sum:function(b){var d=0,a,e,c;for(a=0,e=b.length;a<e;a++){c=b[a];d+=c}return d},toMap:function(b,d,e){if(!b){return null}var c={},a=b.length;if(typeof b==='string'){c[b]=1}else if(!d){while(a--){c[b[a]]=a+1}}else if(typeof d==='string'){while(a--){c[b[a][d]]=a+1}}else {while(a--){c[d.call(e,b[a])]=a+1}}return c},toValueMap:function(g,d,k,f){var b={},e=g.length,j,i,h,l,c,a;if(!d){while(e--){a=g[e];b[a]=a}}else {if(!(l=(typeof d!=='string'))){f=k}i=f===1;j=f===2;while(e--){a=g[e];c=l?d.call(k,a):a[d];if(i){if(c in b){b[c].push(a)}else {b[c]=[a]}}else if(j&&(c in b)){if((h=b[c]) instanceof Array){h.push(a)}else {b[c]=[h,a]}}else {b[c]=a}}}return b},_replaceSim:d,_spliceSim:j,erase:e,insert:function(a,b,c){return k(a,b,0,c)},move:function(c,b,d){if(d===b){return}var f=c[b],e=d>b?1:-1,a;for(a=b;a!=d;a+=e){c[a]=c[a+e]}c[d]=f},replace:k,splice:p,push:function(a){var d=arguments,e=d.length,b,c;if(a===undefined){a=[]}else if(!Ext.isArray(a)){a=[a]}for(b=1;b<e;b++){c=d[b];Array.prototype.push[Ext.isIterable(c)?'apply':'call'](a,c)}return a},numericSortFn:function(a,b){return a-b}};Ext.each=a.each;a.union=a.merge;Ext.min=a.min;Ext.max=a.max;Ext.sum=a.sum;Ext.mean=a.mean;Ext.flatten=a.flatten;Ext.clean=a.clean;Ext.unique=a.unique;Ext.pluck=a.pluck;Ext.toArray=function(){return a.toArray.apply(a,arguments)};return a}());Ext.Assert={falsey:function(a,b){if(a){Ext.raise(b||('Expected a falsey value but was '+a))}},falseyProp:function(b,a){Ext.Assert.truthy(b);var c=b[a];if(c){if(b.$className){a=b.$className+'#'+a}Ext.raise('Expected a falsey value for '+a+' but was '+c)}},truthy:function(a,b){if(!a){Ext.raise(b||('Expected a truthy value but was '+typeof a))}},truthyProp:function(b,a){Ext.Assert.truthy(b);var c=b[a];if(!c){if(b.$className){a=b.$className+'#'+a}Ext.raise('Expected a truthy value for '+a+' but was '+typeof c)}}};(function(){function makeAssert(d,c){var b=Ext[d],a;return function(e,f){if(!b(e)){Ext.raise(f||a||(a='Expected value to be '+c))}}}function makeAssertProp(d,c){var b=Ext[d],a;return function(e,f){Ext.Assert.truthy(e);if(!b(e[f])){Ext.raise(a||(a='Expected '+(e.$className?e.$className+'#':'')+f+' to be '+c))}}}function makeNotAssert(d,c){var b=Ext[d],a;return function(e,f){if(b(e)){Ext.raise(f||a||(a='Expected value to NOT be '+c))}}}function makeNotAssertProp(d,c){var b=Ext[d],a;return function(e,f){Ext.Assert.truthy(e);if(b(e[f])){Ext.raise(a||(a='Expected '+(e.$className?e.$className+'#':'')+f+' to NOT be '+c))}}}for(var a in Ext){if(a.substring(0,2)=="is"&&Ext.isFunction(Ext[a])){var b=a.substring(2);Ext.Assert[a]=makeAssert(a,b);Ext.Assert[a+'Prop']=makeAssertProp(a,b);Ext.Assert['isNot'+b]=makeNotAssert(a,b);Ext.Assert['isNot'+b+'Prop']=makeNotAssertProp(a,b)}}}());Ext.String=(function(){var n=/^[\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,o=/('|\\)/g,i=/([-.*+?\^${}()|\[\]\/\\])/g,l=/^\s+|\s+$/g,k=/\s+/,m=/(^[^a-z]*|[^\w])/gi,c,a,b,d,h=function(b,a){return c[a]},g=function(c,b){return (b in a)?a[b]:String.fromCharCode(parseInt(b.substr(2),10))},e=function(b,a){if(b===null||b===undefined||a===null||a===undefined){return !1}return a.length<=b.length},j=String.fromCharCode,f;return f={fromCodePoint:String.fromCodePoint||function(){var a,e='',b=[],c=-1,d=arguments.length;while(++c<d){a=Number(arguments[c]);if(!isFinite(a)||a<0||a>1114111||Math.floor(a)!==a){Ext.raise('Invalid code point: '+a)}if(a<=65535){b.push(a)}else {a-=65536;b.push((a>>10)+55296,(a%1024)+56320)}if(c+1===d){e+=j(b);b.length=0}}return e},insert:function(b,c,a){if(!b){return c}if(!c){return b}var d=b.length;if(!a&&a!==0){a=d}if(a<0){a*=-1;if(a>=d){a=0}else {a=d-a}}if(a===0){b=c+b}else if(a>=b.length){b+=c}else {b=b.substr(0,a)+c+b.substr(a)}return b},startsWith:function(b,a,d){var c=e(b,a);if(c){if(d){b=b.toLowerCase();a=a.toLowerCase()}c=b.lastIndexOf(a,0)===0}return c},endsWith:function(b,a,d){var c=e(b,a);if(c){if(d){b=b.toLowerCase();a=a.toLowerCase()}c=b.indexOf(a,b.length-a.length)!==-1}return c},createVarName:function(a){return a.replace(m,'')},htmlEncode:function(a){return (!a)?a:String(a).replace(b,h)},htmlDecode:function(a){return (!a)?a:String(a).replace(d,g)},hasHtmlCharacters:function(a){return b.test(a)},addCharacterEntities:function(g){var i=[],h=[],e,f;for(e in g){f=g[e];a[e]=f;c[f]=e;i.push(f);h.push(e)}b=new RegExp('('+i.join('|')+')','g');d=new RegExp('('+h.join('|')+'|&#[0-9]{1,5};'+')','g')},resetCharacterEntities:function(){c={};a={};this.addCharacterEntities({'&amp;':'&','&gt;':'>','&lt;':'<','&quot;':'"','&#39;':"'"})},urlAppend:function(a,b){if(!Ext.isEmpty(b)){return a+(a.indexOf('?')===-1?'?':'&')+b}return a},trim:function(a){if(a){a=a.replace(n,"")}return a||''},capitalize:function(a){if(a){a=a.charAt(0).toUpperCase()+a.substr(1)}return a||''},uncapitalize:function(a){if(a){a=a.charAt(0).toLowerCase()+a.substr(1)}return a||''},ellipsis:function(a,c,e){if(a&&a.length>c){if(e){var b=a.substr(0,c-2),d=Math.max(b.lastIndexOf(' '),b.lastIndexOf('.'),b.lastIndexOf('!'),b.lastIndexOf('?'));if(d!==-1&&d>=(c-15)){return b.substr(0,d)+"..."}}return a.substr(0,c-3)+"..."}return a},escapeRegex:function(a){return a.replace(i,"\\$1")},createRegex:function(b,d,e,c){var a=b;if(b!=null&&!b.exec){a=f.escapeRegex(String(b));if(d!==!1){a='^'+a}if(e!==!1){a+='$'}a=new RegExp(a,(c!==!1)?'i':'')}return a},escape:function(a){return a.replace(o,"\\$1")},toggle:function(b,a,c){return b===a?c:a},leftPad:function(c,d,b){var a=String(c);b=b||" ";while(a.length<d){a=b+a}return a},repeat:function(c,a,d){if(a<1){a=0}for(var b=[],e=a;e--;){b.push(c)}return b.join(d||'')},splitWords:function(a){if(a&&typeof a=='string'){return a.replace(l,'').split(k)}return a||[]}}}());Ext.String.resetCharacterEntities();Ext.htmlEncode=Ext.String.htmlEncode;Ext.htmlDecode=Ext.String.htmlDecode;Ext.urlAppend=Ext.String.urlAppend;Ext.Date=(function(){var a,b=Date,d=/(\\.)/g,h=/([gGhHisucUOPZ]|MS)/,g=/([djzmnYycU]|MS)/,k=/\\/gi,e=/\{(\d+)\}/g,f=new RegExp('\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/'),c=Ext.String.leftPad,i={F:!0,m:!0,M:!0,n:!0},j={o:!0,Y:!0,y:!0},l=["var me = this, dt, y, m, d, h, i, s, ms, o, O, z, zz, u, v, W, year, jan4, week1monday, daysInMonth, dayMatched,","def = me.defaults,","from = Ext.Number.from,","results = String(input).match(me.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = me.clearTime(new Date);","y = from(y, from(def.y, dt.getFullYear()));","m = from(m, from(def.m - 1, dt.getMonth()));","dayMatched = d !== undefined;","d = from(d, from(def.d, dt.getDate()));","if (!dayMatched) {","dt.setDate(1);","dt.setMonth(m);","dt.setFullYear(y);","daysInMonth = me.getDaysInMonth(dt);","if (d > daysInMonth) {","d = daysInMonth;","}","}","h  = from(h, from(def.h, dt.getHours()));","i  = from(i, from(def.i, dt.getMinutes()));","s  = from(s, from(def.s, dt.getSeconds()));","ms = from(ms, from(def.ms, dt.getMilliseconds()));","if(z >= 0 && y >= 0){","v = me.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (me.isLeapYear(v) && z <= 365))? me.add(v, me.DAY, z) : null);","}else if(strict === true && !me.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","if (W) {","year = y || (new Date()).getFullYear();","jan4 = new Date(year, 0, 4, 0, 0, 0);","d = jan4.getDay();","week1monday = new Date(jan4.getTime() - ((d === 0 ? 6 : d - 1) * 86400000));","v = Ext.Date.clearTime(new Date(week1monday.getTime() + ((W - 1) * 604800000 + 43200000)));","} else {","v = me.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);","}","}","}","}","if(v){","if(zz != null){","v = me.add(v, me.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = me.add(v, me.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return (v != null) ? v : null;"].join('\n');if(!Date.prototype.toISOString){Date.prototype.toISOString=function(){var a=this;return c(a.getUTCFullYear(),4,'0')+'-'+c(a.getUTCMonth()+1,2,'0')+'-'+c(a.getUTCDate(),2,'0')+'T'+c(a.getUTCHours(),2,'0')+':'+c(a.getUTCMinutes(),2,'0')+':'+c(a.getUTCSeconds(),2,'0')+'.'+c(a.getUTCMilliseconds(),3,'0')+'Z'}}function xf(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(e,function(d,c){return b[c]})}a={now:b.now,toString:function(a){if(!a){a=new b()}return a.getFullYear()+"-"+c(a.getMonth()+1,2,'0')+"-"+c(a.getDate(),2,'0')+"T"+c(a.getHours(),2,'0')+":"+c(a.getMinutes(),2,'0')+":"+c(a.getSeconds(),2,'0')},getElapsed:function(b,c){return Math.abs(b-(c||a.now()))},useStrict:!1,formatCodeToRegex:function(c,d){var b=a.parseCodes[c];if(b){b=typeof b==='function'?b():b;a.parseCodes[c]=b}return b?Ext.applyIf({c:b.c?xf(b.c,d||"{0}"):b.c},b):{g:0,c:null,s:Ext.String.escapeRegex(c)}},parseFunctions:{"MS":function(c,d){var a=(c||'').match(f);return a?new b(((a[1]||'')+a[2])*1):null},"time":function(c,d){var a=parseInt(c,10);if(a||a===0){return new b(a)}return null},"timestamp":function(c,d){var a=parseInt(c,10);if(a||a===0){return new b(a*1000)}return null}},parseRegexes:[],formatFunctions:{"MS":function(){return '\\/Date('+this.getTime()+')\\/'},"time":function(){return this.getTime().toString()},"timestamp":function(){return a.format(this,'U')}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",DAYS_IN_WEEK:7,MONTHS_IN_YEAR:12,MAX_DAYS_IN_MONTH:31,SUNDAY:0,MONDAY:1,TUESDAY:2,WEDNESDAY:3,THURSDAY:4,FRIDAY:5,SATURDAY:6,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',defaultTimeFormat:'h:i A',firstDayOfWeek:0,weekendDays:[0,6],getShortMonthName:function(b){return a.monthNames[b].substring(0,3)},getShortDayName:function(b){return a.dayNames[b].substring(0,3)},getMonthNumber:function(b){return a.monthNumbers[b.substring(0,1).toUpperCase()+b.substring(1,3).toLowerCase()]},formatContainsHourInfo:function(a){return h.test(a.replace(d,''))},formatContainsDateInfo:function(a){return g.test(a.replace(d,''))},isMonthFormat:function(a){return !!i[a]},isYearFormat:function(a){return !!j[a]},unescapeFormat:function(a){return a.replace(k,'')},formatCodes:{d:"Ext.String.leftPad(m.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(m.getDay())",j:"m.getDate()",l:"Ext.Date.dayNames[m.getDay()]",N:"(m.getDay() ? m.getDay() : 7)",S:"Ext.Date.getSuffix(m)",w:"m.getDay()",z:"Ext.Date.getDayOfYear(m)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(m), 2, '0')",F:"Ext.Date.monthNames[m.getMonth()]",m:"Ext.String.leftPad(m.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(m.getMonth())",n:"(m.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(m)",L:"(Ext.Date.isLeapYear(m) ? 1 : 0)",o:"(m.getFullYear() + (Ext.Date.getWeekOfYear(m) == 1 && m.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(m) >= 52 && m.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(m.getFullYear(), 4, '0')",y:"('' + m.getFullYear()).substring(2, 4)",a:"(m.getHours() < 12 ? 'am' : 'pm')",A:"(m.getHours() < 12 ? 'AM' : 'PM')",g:"((m.getHours() % 12) ? m.getHours() % 12 : 12)",G:"m.getHours()",h:"Ext.String.leftPad((m.getHours() % 12) ? m.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(m.getHours(), 2, '0')",i:"Ext.String.leftPad(m.getMinutes(), 2, '0')",s:"Ext.String.leftPad(m.getSeconds(), 2, '0')",u:"Ext.String.leftPad(m.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(m)",P:"Ext.Date.getGMTOffset(m, true)",T:"Ext.Date.getTimezone(m)",Z:"(m.getTimezoneOffset() * -60)",c:function(){var e="Y-m-dTH:i:sP",d=[],b,f=e.length,c;for(b=0;b<f;++b){c=e.charAt(b);d.push(c==="T"?"'T'":a.getFormatCode(c))}return d.join(" + ")},C:function(){return 'm.toISOString()'},U:"Math.round(m.getTime() / 1000)"},isValid:function(d,i,j,h,f,g,e){h=h||0;f=f||0;g=g||0;e=e||0;var c=a.add(new b(d<100?100:d,i-1,j,h,f,g,e),a.YEAR,d<100?d-100:0);return d===c.getFullYear()&&i===c.getMonth()+1&&j===c.getDate()&&h===c.getHours()&&f===c.getMinutes()&&g===c.getSeconds()&&e===c.getMilliseconds()},parse:function(e,b,c){var d=a.parseFunctions;if(d[b]==null){a.createParser(b)}return d[b].call(a,e,Ext.isDefined(c)?c:a.useStrict)},parseDate:function(d,b,c){return a.parse(d,b,c)},getFormatCode:function(c){var b=a.formatCodes[c];if(b){b=typeof b==='function'?b():b;a.formatCodes[c]=b}return b||("'"+Ext.String.escape(c)+"'")},createFormat:function(f){var d=[],c=!1,b='',e;for(e=0;e<f.length;++e){b=f.charAt(e);if(!c&&b==="\\"){c=!0}else if(c){c=!1;d.push("'"+Ext.String.escape(b)+"'")}else {if(b==='\n'){d.push("'\\n'")}else {d.push(a.getFormatCode(b))}}}a.formatFunctions[f]=Ext.functionFactory("var m=this;return "+d.join('+'))},createParser:function(f){var j=a.parseRegexes.length,i=1,d=[],g=[],c=!1,e="",h=0,m=f.length,k=[],b;for(;h<m;++h){e=f.charAt(h);if(!c&&e==="\\"){c=!0}else if(c){c=!1;g.push(Ext.String.escape(e))}else {b=a.formatCodeToRegex(e,i);i+=b.g;g.push(b.s);if(b.g&&b.c){if(b.calcAtEnd){k.push(b.c)}else {d.push(b.c)}}}}d=d.concat(k);a.parseRegexes[j]=new RegExp("^"+g.join('')+"$",'i');a.parseFunctions[f]=Ext.functionFactory("input","strict",xf(l,j,d.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 c=[],b=0;b<7;c.push(a.getShortDayName(b)),++b){}return {g:0,c:null,s:"(?:"+c.join("|")+")"}},l:function(){return {g:0,c:null,s:"(?:"+a.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:"("+a.monthNames.join("|")+")"}},M:function(){for(var c=[],b=0;b<12;c.push(a.getShortMonthName(b)),++b){}return Ext.applyIf({s:"("+c.join("|")+")"},a.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);\n"+"y = ty > me.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\n"+"if (!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}])) {\n"+"if (!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]|[1-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}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-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"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-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"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,5}"},Z:{g:1,c:"zz = results[{0}] * 1;\n"+"zz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var d=[],b=[a.formatCodeToRegex("Y",1),a.formatCodeToRegex("m",2),a.formatCodeToRegex("d",3),a.formatCodeToRegex("H",4),a.formatCodeToRegex("i",5),a.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){",a.formatCodeToRegex("P",8).c,"}else{",a.formatCodeToRegex("O",8).c,"}","}"].join('\n')}],c,e;for(c=0,e=b.length;c<e;++c){d.push(b[c].c)}return {g:1,c:d.join(""),s:[b[0].s,"(?:","-",b[1].s,"(?:","-",b[2].s,"(?:","(?:T| )?",b[3].s,":",b[4].s,"(?::",b[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}},dateFormat:function(c,b){return a.format(c,b)},isEqual:function(a,b){if(a&&b){return (a.getTime()===b.getTime())}return !(a||b)},format:function(d,b){var c=a.formatFunctions;if(!Ext.isDate(d)){return ''}if(c[b]==null){a.createFormat(b)}return c[b].call(d)+''},getTimezone:function(a){return a.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(c,b){var a=c.getTimezoneOffset();return (a>0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(a)/60),2,"0")+(b?":":"")+Ext.String.leftPad(Math.abs(a%60),2,"0")},getDayOfYear:function(c){var e=0,b=a.clone(c),f=c.getMonth(),d;for(d=0,b.setDate(1),b.setMonth(0);d<f;b.setMonth(++d)){e+=a.getDaysInMonth(b)}return e+c.getDate()-1},getWeekOfYear:(function(){var a=86400000,c=7*a;return function(d){var f=b.UTC(d.getFullYear(),d.getMonth(),d.getDate()+3)/a,e=Math.floor(f/7),g=new b(e*c).getUTCFullYear();return e-Math.floor(b.UTC(g,0,7)/c)+1}}()),isLeapYear:function(b){var a=b.getFullYear();return !!((a&3)===0&&(a%100||(a%400===0&&a)))},getFirstDayOfMonth:function(b){var a=(b.getDay()-(b.getDate()-1))%7;return (a<0)?(a+7):a},getLastDayOfMonth:function(b){return a.getLastDateOfMonth(b).getDay()},getFirstDateOfMonth:function(a){return new b(a.getFullYear(),a.getMonth(),1)},getLastDateOfMonth:function(c){return new b(c.getFullYear(),c.getMonth(),a.getDaysInMonth(c))},getDaysInMonth:(function(){var b=[31,28,31,30,31,30,31,31,30,31,30,31];return function(c){var d=c.getMonth();return d===1&&a.isLeapYear(c)?29:b[d]}}()),getSuffix:function(a){switch(a.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(a){return new b(a.getTime())},isDST:function(a){return new b(a.getFullYear(),0,1).getTimezoneOffset()!==a.getTimezoneOffset()},clearTime:function(b,f){if(isNaN(b.getTime())){return b}if(f){return a.clearTime(a.clone(b))}var e=b.getDate(),c,d;b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);if(b.getDate()!==e){for(c=1,d=a.add(b,a.HOUR,c);d.getDate()!==e;c++,d=a.add(b,a.HOUR,c)){}b.setDate(e);b.setHours(d.getHours())}return b},add:function(f,i,c,g){var b=a.clone(f),e=0,d,h;if(!i||c===0){return b}h=c-parseInt(c,10);c=parseInt(c,10);if(c){switch(i.toLowerCase()){case a.MILLI:if(g){b.setMilliseconds(b.getMilliseconds()+c)}else {b.setTime(b.getTime()+c)};break;case a.SECOND:if(g){b.setSeconds(b.getSeconds()+c)}else {b.setTime(b.getTime()+c*1000)};break;case a.MINUTE:if(g){b.setMinutes(b.getMinutes()+c)}else {b.setTime(b.getTime()+c*60*1000)};break;case a.HOUR:if(g){b.setHours(b.getHours()+c)}else {b.setTime(b.getTime()+c*60*60*1000)};break;case a.DAY:if(g){b.setDate(b.getDate()+c)}else {b.setTime(b.getTime()+c*24*60*60*1000)};break;case a.MONTH:d=f.getDate();if(d>28){d=Math.min(d,a.getLastDateOfMonth(a.add(a.getFirstDateOfMonth(f),a.MONTH,c)).getDate())};b.setDate(d);b.setMonth(f.getMonth()+c);break;case a.YEAR:d=f.getDate();if(d>28){d=Math.min(d,a.getLastDateOfMonth(a.add(a.getFirstDateOfMonth(f),a.YEAR,c)).getDate())};b.setDate(d);b.setFullYear(f.getFullYear()+c);break;}}if(h){switch(i.toLowerCase()){case a.MILLI:e=1;break;case a.SECOND:e=1000;break;case a.MINUTE:e=1000*60;break;case a.HOUR:e=1000*60*60;break;case a.DAY:e=1000*60*60*24;break;case a.MONTH:d=a.getDaysInMonth(b);e=1000*60*60*24*d;break;case a.YEAR:d=(a.isLeapYear(b)?366:365);e=1000*60*60*24*d;break;}if(e){b.setTime(b.getTime()+e*h)}}return b},subtract:function(e,c,d,b){return a.add(e,c,-d,b)},between:function(c,b,d){var a=c.getTime();return b.getTime()<=a&&a<=d.getTime()},isWeekend:function(a){return Ext.Array.indexOf(this.weekendDays,a.getDay())>-1},utcToLocal:function(a){return new Date(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())},localToUtc:function(b){return a.utc(b.getFullYear(),b.getMonth(),b.getDate(),b.getHours(),b.getMinutes(),b.getSeconds(),b.getMilliseconds())},utc:function(c,a,d,b,e,g,f){return new Date(Date.UTC(c,a,d,b||0,e||0,g||0,f||0))},compat:function(){var c,g=['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'],h=['dateFormat','format','getTimezone','getGMTOffset','getDayOfYear','getWeekOfYear','isLeapYear','getFirstDayOfMonth','getLastDayOfMonth','getDaysInMonth','getSuffix','clone','isDST','clearTime','add','between'],j=g.length,i=h.length,f,e,d;for(d=0;d<j;d++){f=g[d];b[f]=a[f]}for(c=0;c<i;c++){e=h[c];b.prototype[e]=function(){var b=Array.prototype.slice.call(arguments);b.unshift(this);return a[e].apply(a,b)}}},diff:function(e,d,f){var b,c=+d-e;switch(f){case a.MILLI:return c;case a.SECOND:return Math.floor(c/1000);case a.MINUTE:return Math.floor(c/60000);case a.HOUR:return Math.floor(c/3600000);case a.DAY:return Math.floor(c/86400000);case 'w':return Math.floor(c/604800000);case a.MONTH:b=(d.getFullYear()*12+d.getMonth())-(e.getFullYear()*12+e.getMonth());if(a.add(e,f,b)>d){return b-1};return b;case a.YEAR:b=d.getFullYear()-e.getFullYear();if(a.add(e,f,b)>d){return b-1}else {return b};}},align:function(e,f,d){var c=new b(+e);switch(f.toLowerCase()){case a.MILLI:return c;case a.SECOND:c.setUTCSeconds(c.getUTCSeconds()-c.getUTCSeconds()%d);c.setUTCMilliseconds(0);return c;case a.MINUTE:c.setUTCMinutes(c.getUTCMinutes()-c.getUTCMinutes()%d);c.setUTCSeconds(0);c.setUTCMilliseconds(0);return c;case a.HOUR:c.setUTCHours(c.getUTCHours()-c.getUTCHours()%d);c.setUTCMinutes(0);c.setUTCSeconds(0);c.setUTCMilliseconds(0);return c;case a.DAY:if(d===7||d===14){c.setUTCDate(c.getUTCDate()-c.getUTCDay()+1)};c.setUTCHours(0);c.setUTCMinutes(0);c.setUTCSeconds(0);c.setUTCMilliseconds(0);return c;case a.MONTH:c.setUTCMonth(c.getUTCMonth()-(c.getUTCMonth()-1)%d,1);c.setUTCHours(0);c.setUTCMinutes(0);c.setUTCSeconds(0);c.setUTCMilliseconds(0);return c;case a.YEAR:c.setUTCFullYear(c.getUTCFullYear()-c.getUTCFullYear()%d,1,1);c.setUTCHours(0);c.setUTCMinutes(0);c.setUTCSeconds(0);c.setUTCMilliseconds(0);return e;}}};a.parseCodes.C=a.parseCodes.c;return a}());Ext.Function=(function(){var j=0,g,d=[],l=[],n=0,f={},b=Array.prototype.slice,e=window,c=Ext.global,i=!Ext.disableImmediate&&!!(c.setImmediate&&c.clearImmediate),k=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||function(c){var d=Ext.now(),b=Math.max(0,16-(d-j)),a=function(){c(d+b)},f;a.$origFn=c.$origFn||c;a.$skipTimerCheck=a.$origFn.$skipTimerCheck;f=e.setTimeout(a,b);j=d+b;return f},m=function(){var i=d.length,e,h,a;g=null;var b;for(h=0;h<i;h++){a=d[h];e=a[3];if(f[e]){delete f[e];b=Ext.Timer.get(e,'raf');if(b){b.tick()}a[0].apply(a[1]||c,a[2]||l);if(b){b.tock()}}}d=d.slice(i)},h=function(){Ext.elevate(m)},a={flexSetter:function(a){return function(b,e){var c,d;if(b!==null){if(typeof b!=='string'){for(c in b){if(b.hasOwnProperty(c)){a.call(this,c,b[c])}}if(Ext.enumerables){for(d=Ext.enumerables.length;d--;){c=Ext.enumerables[d];if(b.hasOwnProperty(c)){a.call(this,c,b[c])}}}}else {a.call(this,b,e)}}return this}},bind:function(f,e,d,a){if(arguments.length<=2){return f.bind(e)}var g=f;return function(){var h=d||arguments;if(a===!0){h=b.call(arguments,0);h=h.concat(d)}else if(typeof a==='number'){h=b.call(arguments,0);Ext.Array.insert(h,a,d)}return g.apply(e||c,h)}},bindCallback:function(c,f,a,e,d){return function(){var g=b.call(arguments);return Ext.callback(c,f,a?a.concat(g):g,e,d)}},pass:function(c,a,b){if(!Ext.isArray(a)){if(Ext.isIterable(a)){a=Ext.Array.clone(a)}else {a=a!==undefined?[a]:[]}}return function(){var d=a.slice();d.push.apply(d,arguments);return c.apply(b||this,d)}},alias:function(a,b){return function(){return a[b].apply(a,arguments)}},clone:function(a){var c,b;c=function(){return a.apply(this,arguments)};for(b in a){if(a.hasOwnProperty(b)){c[b]=a[b]}}return c},createInterceptor:function(b,d,e,a){if(!Ext.isFunction(d)){return b}else {a=Ext.isDefined(a)?a:null;return function(){var g=this,f=arguments;return (d.apply(e||g||c,f)!==!1)?b.apply(g||c,f):a}}},createDelayed:function(a,g,d,e,f){var c=a;if(d||e){c=Ext.Function.bind(a,d,e,f)}return function(){var l=this,k=b.call(arguments),h,i;var j;h=function(){Ext.elevate(c,l,k,j)};i=setTimeout(h,g);h.$origFn=a.$origFn||a;h.$skipTimerCheck=h.$origFn.$skipTimerCheck;j=Ext.Timer.created('timeout',i,{type:'createDelayed',fn:a,timerFn:h})}},defer:function(b,f,g,i,e){var d=0,a,c;var h;if(!g&&!i&&!e){c=b}else {c=Ext.Function.bind(b,g,i,e)}if(f>0){a=function(){Ext.elevate(c,null,null,h)};d=setTimeout(a,f);a.$origFn=b.$origFn||b;a.$skipTimerCheck=a.$origFn.$skipTimerCheck;h=Ext.Timer.created('timeout',d,{type:'defer',fn:b,timerFn:a})}else {c()}return d},interval:function(d,g,h,i,f){var a,c,b;var e;b=Ext.Function.bind(d,h,i,f);a=function(){Ext.elevate(b,null,null,e)};c=setInterval(a,g);a.$origFn=b.$origFn||d;a.$skipTimerCheck=a.$origFn.$skipTimerCheck;e=Ext.Timer.created('interval',c,{type:'interval',fn:d,timerFn:a});return c},createSequence:function(a,b,c){if(!b){return a}else {return function(){var d=a.apply(this,arguments);b.apply(c||this,arguments);return d}}},createBuffered:function(c,e,f,g){var a,d=function(){var j=g||b.call(arguments,0),k=f||this,h;var i;if(a){Ext.undefer(a)}h=function(){Ext.elevate(c,k,j,i)};d.timer=a=setTimeout(h,e);h.$origFn=c.$origFn||c;h.$skipTimerCheck=h.$origFn.$skipTimerCheck;i=Ext.Timer.created('timeout',a,{type:'createBuffered',fn:c,timerFn:h})};return d},createAnimationFrame:function(g,f,h,d){var e,c;d=d||3;e=function(){var i,j=h||b.call(arguments,0);f=f||this;if(d===3&&c){a.cancelAnimationFrame(c)}if((d&1)||!c){i=function(){c=e.timerId=null;g.apply(f,j)};i.$origFn=g.$origFn||g;i.$skipTimerCheck=i.$origFn.$skipTimerCheck;c=e.timerId=a.requestAnimationFrame(i)}};return e},requestAnimationFrame:function(e,i,j){var a=++n,c=b.call(arguments,0);c[3]=a;f[a]=1;Ext.Timer.created('raf',a,{type:'raf',fn:e});d.push(c);if(!g){g=k(h)}return a},cancelAnimationFrame:function(a){delete f[a];Ext.Timer.cancel('raf',a)},createThrottled:function(f,h,e){var g=0,d,c,b,a=function(){f.apply(e,c);g=Ext.now();c=b=null};a.$origFn=f.$origFn||f;a.$skipTimerCheck=a.$origFn.$skipTimerCheck;return function(){if(!e){e=this}d=Ext.now()-g;c=Ext.Array.slice(arguments);if(d>=h){Ext.undefer(b);a()}else if(!b){b=Ext.defer(a,h-d)}}},createBarrier:function(c,b,d){var a=function(){if(!--c){b.apply(d,arguments)}};a.$origFn=b.$origFn||b;a.$skipTimerCheck=a.$origFn.$skipTimerCheck;return a},interceptBefore:function(b,a,e,d){var c=b[a]||Ext.emptyFn;return (b[a]=function(){var f=e.apply(d||this,arguments);c.apply(this,arguments);return f})},interceptAfter:function(b,a,e,d){var c=b[a]||Ext.emptyFn;return (b[a]=function(){c.apply(this,arguments);return e.apply(d||this,arguments)})},interceptAfterOnce:function(d,a,f,e){var b=d[a],c;c=function(){var g;if(b){b.apply(this,arguments)}g=f.apply(e||this,arguments);d[a]=b;d=a=f=e=b=c=null;return g};d[a]=c;return c},makeCallback:function(b,a){if(!a[b]){if(a.$className){Ext.raise('No method "'+b+'" on '+a.$className)}Ext.raise('No method "'+b+'"')}return function(){return a[b].apply(a,arguments)}},memoize:function(e,c,a){var b={},d=a&&Ext.isFunction(a);return function(g){var f=d?a.apply(c,arguments):g;if(!(f in b)){b[f]=e.apply(c,arguments)}return b[f]}},_stripCommentRe:/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(\/\/.*)/g,toCode:function(c){var b=c?c.toString():'';b=b.replace(a._stripCommentRe,'');return b},fireElevatedHandlers:function(){h()}};Ext.asap=i?function(c,g,e){var f=c,b,d;var h;if(g!=null||e!=null){f=a.bind(c,g,e)}b=function(){Ext.elevate(f,null,null,h)};d=setImmediate(b);b.$origFn=c.$origFn||c;b.$skipTimerCheck=b.$origFn.$skipTimerCheck;h=Ext.Timer.created('asap',d,{type:'asap',fn:c,timerFn:b});return d}:function(c,g,e){var f=c,b,d;var h;if(g!=null||e!=null){f=a.bind(c,g,e)}b=function(){Ext.elevate(f,null,null,h)};d=setTimeout(b,0,!0);b.$origFn=c.$origFn||c;b.$skipTimerCheck=b.$origFn.$skipTimerCheck;h=Ext.Timer.created('timeout',d,{type:'asap',fn:c,timerFn:b});return d};Ext.unasap=i?function(a){if(a){clearImmediate(a);Ext.Timer.cancel('asap',a)}return null}:function(a){return Ext.undefer(a)};Ext.asapCancel=function(a){return Ext.unasap(a)};Ext.defer=a.defer;Ext.undefer=function(a){if(a){clearTimeout(a);Ext.Timer.cancel('timeout',a)}return null};Ext.interval=a.interval;Ext.uninterval=function(a){if(a){clearInterval(a);Ext.Timer.cancel('interval',a)}return null};Ext.pass=a.pass;Ext.bind=a.bind;Ext.raf=function(){return a.requestAnimationFrame.apply(a,arguments)};Ext.unraf=function(b){a.cancelAnimationFrame(b)};return a})();Ext.Number=(new function(){var b=this,d=(0.9).toFixed()!=='1',a=Math,c={count:!1,inclusive:!1,wrap:!0};Number.MIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER||-(a.pow(2,53)-1);Number.MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||a.pow(2,53)-1;Ext.apply(b,{MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,floatRe:/^[-+]?(?:\d+|\d*\.\d*)(?:[Ee][+-]?\d+)?$/,intRe:/^[-+]?\d+(?:[Ee]\+?\d+)?$/,Clip:{DEFAULT:c,COUNT:Ext.applyIf({count:!0},c),INCLUSIVE:Ext.applyIf({inclusive:!0},c),NOWRAP:Ext.applyIf({wrap:!1},c)},parseFloat:function(a){if(a===undefined){a=null}if(a!==null&&typeof a!=='number'){a=String(a);a=b.floatRe.test(a)?+a:null;if(isNaN(a)){a=null}}return a},parseInt:function(a){if(a===undefined){a=null}if(typeof a==='number'){a=Math.floor(a)}else if(a!==null){a=String(a);a=b.intRe.test(a)?+a:null}return a},binarySearch:function(e,f,a,b){if(a===undefined){a=0}if(b===undefined){b=e.length}--b;var c,d;while(a<=b){c=(a+b)>>>1;d=e[c];if(f===d){return c}if(d<f){a=c+1}else {b=c-1}}return a},bisectTuples:function(e,f,g,a,b){if(a===undefined){a=0}if(b===undefined){b=e.length}--b;var c,d;while(a<=b){c=(a+b)>>>1;d=e[c][g];if(f===d){return c}if(d<f){a=c+1}else {b=c-1}}return a},clipIndices:function(d,b,f){f=f||c;var h=0,i=f.wrap,g,a,e;b=b||[];for(e=0;e<2;++e){g=a;a=b[e];if(a==null){a=h}else if(e&&f.count){a+=g;a=(a>d)?d:a}else {if(i){a=(a<0)?(d+a):a}if(e&&f.inclusive){++a}a=(a<0)?0:((a>d)?d:a)}h=d}b[0]=g;b[1]=(a<g)?g:a;return b},constrain:function(c,b,a){var d=parseFloat(c);if(b===null){b=c}if(a===null){a=c}return (d<b)?b:((d>a)?a:d)},snap:function(a,c,e,f){var d;if(a===undefined||a<e){return e||0}if(c){d=a%c;if(d!==0){a-=d;if(d*2>=c){a+=c}else if(d*2<-c){a-=c}}}return b.constrain(a,e,f)},snapInRange:function(a,d,c,e){var f;c=(c||0);if(a===undefined||a<c){return c}if(d&&(f=((a-c)%d))){a-=f;f*=2;if(f>=d){a+=d}}if(e!==undefined){if(a>(e=b.snapInRange(e,d,c))){a=e}}return a},roundToNearest:function(c,b){b=b||1;return b*a.round(c/b)},roundToPrecision:function(d,c){var b=a.pow(10,c||1);return a.round(d*b)/b},truncateToPrecision:function(d,c){var b=a.pow(10,c||1);return parseInt(d*b,10)/b},sign:a.sign||function(a){a=+a;if(a===0||isNaN(a)){return a}return (a>0)?1:-1},log10:a.log10||function(b){return a.log(b)*a.LOG10E},isEqual:function(c,d,b){if(!(typeof c==='number'&&typeof d==='number'&&typeof b==='number')){Ext.raise("All parameters should be valid numbers.")}return a.abs(c-d)<b},isFinite:Number.isFinite||function(a){return typeof a==='number'&&isFinite(a)},isInteger:Number.isInteger||function(a){return ~~(a+0)===a},toFixed:d?function(d,b){b=b||0;var c=a.pow(10,b);return (a.round(d*c)/c).toFixed(b)}:function(b,a){return b.toFixed(a)},from:function(a,b){if(isFinite(a)){a=parseFloat(a)}return !isNaN(a)?a:b},randomInt:function(b,c){return a.floor(a.random()*(c-b+1)+b)},correctFloat:function(a){return parseFloat(a.toPrecision(14))}});Ext.num=function(){return b.from.apply(this,arguments)}}());(function(){var b=function(){},d=/^\?/,f=/(\[):?([^\]]*)\]/g,e=/^([^\[]+)/,c=/\+/g,a=Ext.Object={chain:Object.create||function(a){b.prototype=a;var c=new b();b.prototype=null;return c},clear:function(a){for(var b in a){delete a[b]}return a},freeze:Object.freeze?function(b,c){if(b&&typeof b==='object'&&!Object.isFrozen(b)){Object.freeze(b);if(c){for(var d in b){a.freeze(b[d],c)}}}return b}:Ext.identityFn,toQueryObjects:function(e,c,f){var g=a.toQueryObjects,d=[],b,h;if(Ext.isArray(c)){for(b=0,h=c.length;b<h;b++){if(f){d=d.concat(g(e+'['+b+']',c[b],!0))}else {d.push({name:e,value:c[b]})}}}else if(Ext.isObject(c)){for(b in c){if(c.hasOwnProperty(b)){if(f){d=d.concat(g(e+'['+b+']',c[b],!0))}else {d.push({name:e,value:c[b]})}}}}else {d.push({name:e,value:c})}return d},toQueryString:function(g,j){var c=[],h=[],d,e,i,f,b;for(d in g){if(g.hasOwnProperty(d)){c=c.concat(a.toQueryObjects(d,g[d],j))}}for(e=0,i=c.length;e<i;e++){f=c[e];b=f.value;if(Ext.isEmpty(b)){b=''}else if(Ext.isDate(b)){b=Ext.Date.toString(b)}h.push(encodeURIComponent(f.name)+'='+encodeURIComponent(String(b)))}return h.join('&')},fromQueryString:function(u,v){var s=u.replace(d,'').split('&'),i={},j,q,a,g,o,t,n,h,l,m,p,k,b,r;for(o=0,t=s.length;o<t;o++){n=s[o];if(n.length>0){q=n.split('=');a=q[0];a=a.replace(c,'%20');a=decodeURIComponent(a);g=q[1];if(g!==undefined){g=g.replace(c,'%20');g=decodeURIComponent(g)}else {g=''}if(!v){if(i.hasOwnProperty(a)){if(!Ext.isArray(i[a])){i[a]=[i[a]]}i[a].push(g)}else {i[a]=g}}else {m=a.match(f);p=a.match(e);if(!p){throw new Error('[Ext.Object.fromQueryString] Malformed query string given, failed parsing name from "'+n+'"')}a=p[0];k=[];if(m===null){i[a]=g;continue}for(h=0,l=m.length;h<l;h++){b=m[h];b=(b.length===2)?'':b.substring(1,b.length-1);k.push(b)}k.unshift(a);j=i;for(h=0,l=k.length;h<l;h++){b=k[h];if(h===l-1){if(Ext.isArray(j)&&b===''){j.push(g)}else {j[b]=g}}else {if(j[b]===undefined||typeof j[b]==='string'){r=k[h+1];j[b]=(Ext.isNumeric(r)||r==='')?[]:{}}j=j[b]}}}}}return i},each:function(a,f,c){var d=Ext.enumerables,e,b;if(a){c=c||a;for(b in a){if(a.hasOwnProperty(b)){if(f.call(c,b,a[b],a)===!1){return}}}if(d){for(e=d.length;e--;){if(a.hasOwnProperty(b=d[e])){if(f.call(c,b,a[b],a)===!1){return}}}}}},eachValue:function(a,f,c){var d=Ext.enumerables,e,b;c=c||a;for(b in a){if(a.hasOwnProperty(b)){if(f.call(c,a[b])===!1){return}}}if(d){for(e=d.length;e--;){if(a.hasOwnProperty(b=d[e])){if(f.call(c,a[b])===!1){return}}}}},merge:function(d){var g=1,h=arguments,k=h.length,j=a.merge,i=Ext.clone,f,c,b,e;for(;g<k;g++){f=h[g];for(c in f){b=f[c];if(b&&b.constructor===Object){e=d[c];if(e&&e.constructor===Object){j(e,b)}else {d[c]=i(b)}}else {d[c]=b}}}return d},mergeIf:function(c){var e=1,g=arguments.length,f=Ext.clone,d,b,a;for(;e<g;e++){d=arguments[e];for(b in d){if(!(b in c)){a=d[b];if(a&&a.constructor===Object){c[b]=f(a)}else {c[b]=a}}}}return c},getAllKeys:function(c){var b=[],a;for(a in c){b.push(a)}return b},getKey:function(b,c){for(var a in b){if(b.hasOwnProperty(a)&&b[a]===c){return a}}return null},getValues:function(b){var c=[],a;for(a in b){if(b.hasOwnProperty(a)){c.push(b[a])}}return c},getKeys:(typeof Object.keys=='function')?function(a){if(!a){return []}return Object.keys(a)}:function(b){var c=[],a;for(a in b){if(b.hasOwnProperty(a)){c.push(a)}}return c},getSize:function(b){var c=0,a;for(a in b){if(b.hasOwnProperty(a)){c++}}return c},isEmpty:function(a){for(var b in a){if(a.hasOwnProperty(b)){return !1}}return !0},equals:(function(){var a=function(b,c){var a;for(a in b){if(b.hasOwnProperty(a)){if(b[a]!==c[a]){return !1}}}return !0};return function(b,c){if(b===c){return !0}if(b&&c){return a(b,c)&&a(c,b)}else if(!b&&!c){return b===c}else {return !1}}})(),fork:function(c){var d,e,b;if(c&&c.constructor===Object){d=a.chain(c);for(e in c){b=c[e];if(b){if(b.constructor===Object){d[e]=a.fork(b)}else if(b instanceof Array){d[e]=Ext.Array.clone(b)}}}}else {d=c}return d},defineProperty:('defineProperty' in Object)?Object.defineProperty:function(b,c,a){if(!Object.prototype.__defineGetter__){return}if(a.get){b.__defineGetter__(c,a.get)}if(a.set){b.__defineSetter__(c,a.set)}},classify:function(c){var h=c,e=[],f={},g=function(){var b=0,d=e.length,a;for(;b<d;b++){a=e[b];this[a]=new f[a]()}},b,d;for(b in c){if(c.hasOwnProperty(b)){d=c[b];if(d&&d.constructor===Object){e.push(b);f[b]=a.classify(d)}}}g.prototype=h;return g}};Ext.merge=Ext.Object.merge;Ext.mergeIf=Ext.Object.mergeIf}());Ext.apply(Ext,{_namedScopes:{'this':{isThis:1},controller:{isController:1},owner:{isOwner:1},self:{isSelf:1},'self.controller':{isSelf:1,isController:1}},escapeId:(function(){var c=/^[a-zA-Z_][a-zA-Z0-9_\-]*$/i,e=/([\W]{1})/g,a=/^(\d)/g,d=function(b,a){return "\\"+a},b=function(b,a){return '\\00'+a.charCodeAt(0).toString(16)+' '};return function(f){return c.test(f)?f:f.replace(e,d).replace(a,b)}}()),callback:function(b,a,e,g,c,f){if(!b){return}var d=(a in Ext._namedScopes);if(b.charAt){if(b[2]==='.'){if(b.substr(0,2)!=='up'){Ext.raise('Invalid callback method name "'+b+'"')}if(a){Ext.raise('Callback "up" syntax is incompatible with scopes')}if(!c||!Ext.isFunction(c.up)){Ext.raise('Callback "up" syntax requires a caller with "up" method')}b=b.substr(3);for(a=c.up();a&&!a[b];a=a.up()){}if(!a||!Ext.isFunction(a[b])){Ext.raise('No such method "'+b+'" found up() from '+a.getId?a.getId():a.id)}}else if((!a||d)&&c){a=c.resolveListenerScope(d?a:f)}if(!a||!Ext.isObject(a)){Ext.raise('Named method "'+b+'" requires a scope object')}if(!Ext.isFunction(a[b])){Ext.raise('No method named "'+b+'" on '+(a.$className||'scope object'))}b=a[b]}else if(d){a=f||c}else if(!a){a=c}var h;if(b&&Ext.isFunction(b)){a=a||Ext.global;if(g){Ext.defer(b,g,a,e)}else {h=e?b.apply(a,e):b.call(a)}}return h},coerce:function(a,e){var d=Ext.typeOf(a),c=Ext.typeOf(e),b=typeof a==='string';if(d!==c){switch(c){case 'string':return String(a);case 'number':return Number(a);case 'boolean':return b&&(!a||a==='false'||a==='0')?!1:Boolean(a);case 'null':return b&&(!a||a==='null')?null:!1;case 'undefined':return b&&(!a||a==='undefined')?undefined:!1;case 'date':return b&&isNaN(a)?Ext.Date.parse(a,Ext.Date.defaultFormat):Date(Number(a));}}return a},copyTo:function(e,d,a,f){if(typeof a==='string'){a=a.split(Ext.propertyNameSplitRe)}for(var b,c=0,g=a?a.length:0;c<g;c++){b=a[c];if(f||d.hasOwnProperty(b)){e[b]=d[b]}}return e},copy:function(e,c,a,f){if(typeof a==='string'){a=a.split(Ext.propertyNameSplitRe)}for(var b,d=0,g=a?a.length:0;d<g;d++){b=a[d];if(c.hasOwnProperty(b)||(f&&b in c)){e[b]=c[b]}}return e},propertyNameSplitRe:/[,;\s]+/,copyToIf:function(c,e,a){if(typeof a==='string'){a=a.split(Ext.propertyNameSplitRe)}for(var b,d=0,f=a?a.length:0;d<f;d++){b=a[d];if(c[b]===undefined){c[b]=e[b]}}return c},copyIf:function(c,e,a){if(typeof a==='string'){a=a.split(Ext.propertyNameSplitRe)}for(var b,d=0,f=a?a.length:0;d<f;d++){b=a[d];if(!(b in c)&&(b in e)){c[b]=e[b]}}return c},extend:(function(){var a=Object.prototype.constructor,b=function(b){var a;for(a in b){if(!b.hasOwnProperty(a)){continue}this[a]=b[a]}};return function(c,d,g){if(Ext.isObject(d)){g=d;d=c;c=g.constructor!==a?g.constructor:function(){d.apply(this,arguments)}}if(!d){Ext.raise({sourceClass:'Ext',sourceMethod:'extend',msg:'Attempting to extend from a class which has not been loaded on the page.'})}var h=function(){},e,f=d.prototype;h.prototype=f;e=c.prototype=new h();e.constructor=c;c.superclass=f;if(f.constructor===a){f.constructor=d}c.override=function(a){Ext.override(c,a)};e.override=b;e.proto=e;c.override(g);c.extend=function(a){return Ext.extend(c,a)};return c}}()),isOnline:function(){return Ext.global.navigator.onLine},iterate:function(a,c,b){if(Ext.isEmpty(a)){return}if(b===undefined){b=a}if(Ext.isIterable(a)){Ext.Array.each.call(Ext.Array,a,c,b)}else {Ext.Object.each.call(Ext.Object,a,c,b)}},_resourcePoolRe:/^[<]([^<>@:]*)(?:[@]([^<>@:]+))?[>](.+)$/,resolveResource:function(b){var c=b,a;if(b&&b.charAt(0)==='<'){a=Ext._resourcePoolRe.exec(b);if(a){c=Ext.getResourcePath(a[3],a[1],a[2])}}return c},urlEncode:function(){var a=Ext.Array.from(arguments),b='';if(Ext.isString(a[1])){b=a[1]+'&';a[1]=!1}return b+Ext.Object.toQueryString.apply(Ext.Object,a)},urlDecode:function(){return Ext.Object.fromQueryString.apply(Ext.Object,arguments)},getScrollbarSize:function(f){if(!Ext.isDomReady){Ext.raise("getScrollbarSize called before DomReady")}var b=Ext._scrollbarSize;if(f||!b){var e=document.body,a=document.createElement('div'),c,d;a.style.width=a.style.height='100px';a.style.overflow='scroll';a.style.position='absolute';e.appendChild(a);Ext._scrollbarSize=b={width:d=a.offsetWidth-a.clientWidth,height:c=a.offsetHeight-a.clientHeight};b.reservedWidth=d?'calc(100% - '+d+'px)':'';b.reservedHeight=c?'calc(100% - '+c+'px)':'';e.removeChild(a)}return b},typeOf:(function(){var a=/\S/,d=Object.prototype.toString,c={number:1,string:1,'boolean':1,'undefined':1},b={'[object Array]':'array','[object Date]':'date','[object Boolean]':'boolean','[object Number]':'number','[object RegExp]':'regexp'};return function(e){if(e===null){return 'null'}var f=typeof e,g,h;if(c[f]){return f}g=b[h=d.call(e)];if(g){return g}if(f==='function'){return 'function'}if(f==='object'){if(e.nodeType!==undefined){if(e.nodeType===3){return a.test(e.nodeValue)?'textnode':'whitespace'}else {return 'element'}}return 'object'}Ext.raise({sourceClass:'Ext',sourceMethod:'typeOf',msg:'Failed to determine the type of "'+e+'".'});return h}}()),factory:function(a,e,b,d){var f=Ext.ClassManager,c;if(!a||a.isInstance){if(b&&b!==a){b.destroy()}return a}if(d){if(typeof a==='string'){return f.instantiateByAlias(d+'.'+a)}else if(Ext.isObject(a)&&'type' in a){return f.instantiateByAlias(d+'.'+a.type,a)}}if(a===!0){if(!b&&!e){Ext.raise('[Ext.factory] Cannot determine type of class to create')}return b||Ext.create(e)}if(!Ext.isObject(a)){Ext.raise("Invalid config, must be a valid config object")}if('xtype' in a){c=f.instantiateByAlias('widget.'+a.xtype,a)}else if('xclass' in a){c=Ext.create(a.xclass,a)}if(c){if(b){b.destroy()}return c}if(b){return b.setConfig(a)}return Ext.create(e,a)},convertKeyedItems:function(b,g,f){if(b&&!b.isInstance&&Ext.isObject(b)){var c=b,a,e,d;b=[];if(c.xtype||c.xclass||c.itemId||c.id){b.push(c)}else {for(e in c){a=c[e];if(a){if(a===!0){a={}}else if(typeof a==='function'){if(!f){Ext.raise('Function not expected here')}d=a;a={};a[f]=d}else if(typeof a==='string'){d=a;a={};a[g||'xtype']=d}else {a=Ext.apply({},a)}a.itemId=e;b.push(a)}}}}return b},weightSortFn:function(a,b){return (a.weight||0)-(b.weight||0)},concat:function(a,c){var d=c==null,b=Ext.emptyArray;return (a==null)?(d?a:b.concat(c)):(d?b.concat(a):b.concat(a,c))},log:(function(){var a=/string|number|boolean/;function dumpObject(g,e,f,k){var c,d,b,j,h,i,l=[];if(Ext.isArray(g)){h='[';i=']'}else if(Ext.isObject(g)){h='{';i='}'}if(!f){f=3}if(e>f){return h+'...'+i}e=e||1;var m=(new Array(e)).join('    ');for(j in g){if(g.hasOwnProperty(j)){b=g[j];d=typeof b;if(d==='function'){if(!k){continue}c=d}else if(d==='undefined'){c=d}else if(b===null||a.test(d)||Ext.isDate(b)){c=Ext.encode(b)}else if(Ext.isArray(b)){c=dumpObject(b,e+1,f,k)}else if(Ext.isObject(b)){c=dumpObject(b,e+1,f,k)}else {c=d}l.push(m+j+': '+c)}}if(l.length){return h+'\n    '+l.join(',\n    ')+'\n'+m+i}return h+i}function log(a){var c,e,b=Ext.global.console,d='log',f=log.indent||0,h,k,j,g,i;log.indent=f;if(typeof a!=='string'){c=a;a=c.msg||'';d=c.level||d;e=c.dump;k=c.stack;h=c.prefix;j=c.fn;if(c.indent){++log.indent}else if(c.outdent){log.indent=f=Math.max(f-1,0)}if(e&&!(b&&b.dir)){a+=dumpObject(e);e=null}}if(arguments.length>1){a+=Array.prototype.slice.call(arguments,1).join('')}if(h){a=h+' - '+a}a=f?Ext.String.repeat(' ',log.indentSize*f)+a:a;if(d!=='log'){a='['+d.charAt(0).toUpperCase()+'] '+a}if(j){a+='\nCaller: '+j.toString()}if(b){if(b[d]){b[d](a)}else {b.log(a)}if(e){b.dir(e)}if(k&&b.trace){if(!b.firebug||d!=='error'){b.trace()}}}else if(Ext.isOpera){opera.postError(a)}else {g=log.out;i=log.max;if(g.length>=i){Ext.Array.erase(g,0,g.length-3*Math.floor(i/4))}g.push(a)}++log.count;++log.counters[d]}function logx(b,a){if(typeof a[0]==='string'){a.unshift({})}a[0].level=b;log.apply(this,a)}log.error=function(){logx('error',Array.prototype.slice.call(arguments))};log.info=function(){logx('info',Array.prototype.slice.call(arguments))};log.warn=function(){logx('warn',Array.prototype.slice.call(arguments))};log.count=0;log.counters={error:0,warn:0,info:0,log:0};log.indentSize=2;log.out=[];log.max=750;return log}())||(function(){var a=function(){};a.info=a.warn=a.error=Ext.emptyFn;return a}())});(function(){var b=[''],c=/([^\d\.])/,f=/[^\d]/g,g=/[\-+]/g,h=/\s/g,e=/_/g,d={classic:1,modern:1},a;Ext.Version=a=function(k,p){var b=this,n=b.padModes,o,m,d,h,j,l,i;if(k.isVersion){k=k.version}b.version=i=String(k).toLowerCase().replace(e,'.').replace(g,'');o=i.charAt(0);if(o in n){i=i.substring(1);d=n[o]}else {d=p?n[p]:0}b.pad=d;l=i.search(c);b.shortVersion=i;if(l!==-1){b.release=j=i.substr(l,k.length);b.shortVersion=i.substr(0,l);j=a.releaseValueMap[j]||j}b.releaseValue=j||d;b.shortVersion=b.shortVersion.replace(f,'');b.parts=h=i.split('.');for(m=h.length;m--;){h[m]=parseInt(h[m],10)}if(d===Infinity){h.push(d)}b.major=h[0]||d;b.minor=h[1]||d;b.patch=h[2]||d;b.build=h[3]||d;return b};a.prototype={isVersion:!0,padModes:{'~':NaN,'^':Infinity},release:'',compareTo:function(f){var g=this,m=g.pad,j=g.parts,h=j.length,e=f.isVersion?f:new a(f),n=e.pad,k=e.parts,i=k.length,l=Math.max(h,i),b,c,d;for(b=0;b<l;b++){c=(b<h)?j[b]:m;d=(b<i)?k[b]:n;if(c<d){return -1}if(c>d){return 1}}c=g.releaseValue;d=e.releaseValue;if(c<d){return -1}if(c>d){return 1}return 0},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major},getMinor:function(){return this.minor},getPatch:function(){return this.patch},getBuild:function(){return this.build},getRelease:function(){return this.release},getReleaseValue:function(){return this.releaseValue},isGreaterThan:function(a){return this.compareTo(a)>0},isGreaterThanOrEqual:function(a){return this.compareTo(a)>=0},isLessThan:function(a){return this.compareTo(a)<0},isLessThanOrEqual:function(a){return this.compareTo(a)<=0},equals:function(a){return this.compareTo(a)===0},match:function(a){a=String(a);return this.version.substr(0,a.length)===a},toArray:function(){var a=this;return [a.getMajor(),a.getMinor(),a.getPatch(),a.getBuild(),a.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(a){return this.compareTo(a)>0},lt:function(a){return this.compareTo(a)<0},gtEq:function(a){return this.compareTo(a)>=0},ltEq:function(a){return this.compareTo(a)<=0}};Ext.apply(a,{aliases:{from:{extjs:'ext',core:'core',touch:'modern'},to:{ext:['extjs'],'core':['core'],modern:['touch']}},releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,'#':-2,p:-1,pl:-1},getComponentValue:function(a){return !a?0:(isNaN(a)?this.releaseValueMap[a]||a:parseInt(a,10))},compare:function(b,c){var d=b.isVersion?b:new a(b);return d.compareTo(c)},set:function(g,f,c){var b=a.aliases.to[f],d=c.isVersion?c:new a(c),e;g[f]=d;if(b){for(e=b.length;e-->0;){g[b[e]]=d}}return d}});Ext.apply(Ext,{compatVersions:{},versions:{},lastRegisteredVersion:null,getCompatVersion:function(b){var c=Ext.compatVersions,d;if(!b){d=c.ext||c.touch||c.core}else {d=c[a.aliases.from[b]||b]}return d||Ext.getVersion(b)},setCompatVersion:function(b,c){a.set(Ext.compatVersions,b,c)},setVersion:function(b,c){if(b in d){Ext.toolkit=b}Ext.lastRegisteredVersion=a.set(Ext.versions,b,c);return this},getVersion:function(c){var b=Ext.versions;if(!c){return b.ext||b.touch||b.core}return b[a.aliases.from[c]||c]},checkVersion:function(o,j){var p=Ext.isArray(o),s=a.aliases.from,q=p?o:b,t=q.length,n=Ext.versions,r=n.ext||n.touch,l,c,f,i,g,m,d,e,k;if(!p){b[0]=o}for(l=0;l<t;++l){if(!Ext.isString(d=q[l])){f=Ext.checkVersion(d.and||d.or,!d.or);if(d.not){f=!f}}else {if(d.indexOf(' ')>=0){d=d.replace(h,'')}c=d.indexOf('@');if(c<0){e=d;k=r}else {m=d.substring(0,c);if(!(k=n[s[m]||m])){if(j){return !1}continue}e=d.substring(c+1)}c=e.indexOf('-');if(c<0){if(e.charAt(c=e.length-1)==='+'){i=e.substring(0,c);g=null}else {i=g=e}}else if(c>0){i=e.substring(0,c);g=e.substring(c+1)}else {i=null;g=e.substring(c+1)}f=!0;if(i){i=new a(i,'~');f=i.ltEq(k)}if(f&&g){g=new a(g,'~');f=g.gtEq(k)}}if(f){if(!j){return !0}}else if(j){return !1}}return !!j},deprecate:function(b,e,c,d){if(a.compare(Ext.getVersion(b),e)<1){c.call(d)}}})}());(function(c){var d=(c&&c.packages)||{},b=c&&c.compatibility,a,e;for(a in d){e=d[a];if(e&&e.version){Ext.setVersion(a,e.version)}}if(b){if(Ext.isString(b)){Ext.setCompatVersion('core',b)}else {for(a in b){Ext.setCompatVersion(a,b[a])}}}if(!d.ext&&!d.touch){Ext.setVersion('ext','6.6.0.258');Ext.setVersion('core','6.6.0.258')}})(Ext.manifest);Ext.Config=function(b){var c=this,a=b.charAt(0).toUpperCase()+b.substr(1);c.name=b;c.names={internal:'_'+b,initializing:'is'+a+'Initializing',apply:'apply'+a,update:'update'+a,get:'get'+a,set:'set'+a,initGet:'initGet'+a,changeEvent:b.toLowerCase()+'change'};c.root=c};Ext.Config.map={};Ext.Config.get=function(a){var b=Ext.Config.map,c=b[a]||(b[a]=new Ext.Config(a));return c};Ext.Config.prototype={self:Ext.Config,isConfig:!0,getGetter:function(){return this.getter||(this.root.getter=this.makeGetter())},getInitGetter:function(){return this.initGetter||(this.root.initGetter=this.makeInitGetter())},getSetter:function(){return this.setter||(this.root.setter=this.makeSetter())},getEventedSetter:function(){return this.eventedSetter||(this.root.eventedSetter=this.makeEventedSetter())},getInternalName:function(a){return a.$configPrefixed?this.names.internal:this.name},mergeNew:function(b,d,f,e){var a,c;if(!d){a=b}else if(!b){a=d}else {a=Ext.Object.chain(d);for(c in b){if(!e||!(c in a)){a[c]=b[c]}}}return a},mergeSets:function(a,f,e){var b=f?Ext.Object.chain(f):{},c,d;if(a instanceof Array){for(c=a.length;c--;){d=a[c];if(!e||!(d in b)){b[d]=!0}}}else if(a){if(a.constructor===Object){for(c in a){d=a[c];if(!e||!(c in b)){b[c]=d}}}else if(!e||!(a in b)){b[a]=!0}}return b},makeGetter:function(){var b=this.name,a=this.names.internal;return function(){var c=this.$configPrefixed?a:b;return this[c]}},makeInitGetter:function(){var e=this.name,a=this.names,d=a.set,c=a.get,b=a.initializing;return function(){var a=this;a[b]=!0;delete a[c];a[d](a.config[e]);delete a[b];return a[c].apply(a,arguments)}},makeSetter:function(){var g=this.name,a=this.names,e=a.internal,f=a.get,d=a.apply,c=a.update,b;b=function(b){var a=this,h=a.$configPrefixed?e:g,i=a[h];delete a[f];if(!a[d]||(b=a[d](b,i))!==undefined){if(b!==(i=a[h])){a[h]=b;if(a[c]){a[c](b,i)}}}return a};b.$isDefault=!0;return b},makeEventedSetter:function(){var i=this.name,a=this.names,f=a.internal,h=a.get,d=a.apply,b=a.update,e=a.changeEvent,g=function(a,c,e,d){a[d]=c;if(a[b]){a[b](c,e)}},c;c=function(c){var a=this,k=a.$configPrefixed?f:i,j=a[k];delete a[h];if(!a[d]||(c=a[d](c,j))!==undefined){if(c!==(j=a[k])){if(a.isConfiguring){a[k]=c;if(a[b]){a[b](c,j)}}else {a.fireEventedAction(e,[a,c,j],g,a,[a,c,j,k])}}}return a};c.$isDefault=!0;return c}};(function(){var c=Ext.Config,b=c.map,a=Ext.Object;Ext.Configurator=function(d){var b=this,e=d.prototype,c=d.superclass?d.superclass.self.$config:null;b.cls=d;b.superCfg=c;if(c){b.configs=a.chain(c.configs);b.cachedConfigs=a.chain(c.cachedConfigs);b.initMap=a.chain(c.initMap);b.values=a.chain(c.values);b.needsFork=c.needsFork;b.deprecations=a.chain(c.deprecations)}else {b.configs={};b.cachedConfigs={};b.initMap={};b.values={};b.deprecations={}}e.config=e.defaultConfig=b.values;d.$config=b};Ext.Configurator.prototype={self:Ext.Configurator,needsFork:!1,initList:null,add:function(u,k){var i=this,m=i.cls,l=i.configs,s=i.cachedConfigs,q=i.initMap,g=m.prototype,t=k&&k.$config.configs,v=i.values,o,f,n,h,b,j,e,r,p,d;for(e in u){d=u[e];o=d&&d.constructor===Object;f=o&&'$value' in d?d:null;n=!1;if(f){n=!!f.cached;d=f.$value;o=d&&d.constructor===Object}h=f&&f.merge;b=l[e];if(b){if(k){h=b.merge;if(!h){continue}f=null}else {h=h||b.merge}if(!k&&n&&!s[e]){Ext.raise('Redefining config as cached: '+e+' in class: '+m.$className)}j=v[e];if(h){d=h.call(b,d,j,m,k)}else if(o){if(j&&j.constructor===Object){d=a.merge({},j,d)}}}else {if(t){b=t[e];f=null}else {b=c.get(e)}l[e]=b;if(b.cached||n){s[e]=!0}r=b.names;if(!g[p=r.get]){g[p]=b.getter||b.getGetter()}if(!g[p=r.set]){g[p]=(f&&f.evented)?(b.eventedSetter||b.getEventedSetter()):(b.setter||b.getSetter())}}if(f){if(b.owner!==m){l[e]=b=Ext.Object.chain(b);b.owner=m}Ext.apply(b,f);delete b.$value}if(!i.needsFork&&d&&(d.constructor===Object||d instanceof Array)){i.needsFork=!0}if(d!==null){q[e]=!0}else {if(g.$configPrefixed){g[l[e].names.internal]=null}else {g[l[e].name]=null}if(e in q){q[e]=!1}}v[e]=d}},addDeprecations:function(d){var e=this,f=e.deprecations,g=(e.cls.$className||'')+'#',a,b,c;for(c in d){b=d[c];if(!b){a='This config has been removed.'}else if(!(a=b.message)){a='This config has been renamed to "'+b+'"'}f[c]=g+c+': '+a}},configure:function(b,h){var j=this,u=j.configs,x=j.deprecations,y=j.initMap,q=j.initListMap,o=j.initList,k=j.cls.prototype,i=j.values,r=0,w=!o,n,c,m,e,p,l,f,d,g,t,s,v;i=j.needsFork?a.fork(i):a.chain(i);b.isConfiguring=!0;if(w){j.initList=o=[];j.initListMap=q={};b.isFirstInstance=!0;for(d in y){c=u[d];t=c.cached;if(y[d]){f=c.names;g=i[d];if(!k[f.set].$isDefault||k[f.apply]||k[f.update]||typeof g==='object'){if(t){(n||(n=[])).push(c)}else {o.push(c);q[d]=!0}b[f.get]=c.initGetter||c.getInitGetter()}else {k[c.getInternalName(k)]=g}}else if(t){k[c.getInternalName(k)]=undefined}}}l=n&&n.length;if(l){for(e=0;e<l;++e){p=n[e].getInternalName(k);b[p]=null}for(e=0;e<l;++e){f=(c=n[e]).names;m=f.get;if(b.hasOwnProperty(m)){b[f.set](i[c.name]);delete b[m]}}for(e=0;e<l;++e){p=n[e].getInternalName(k);k[p]=b[p];delete b[p]}}if(h&&h.platformConfig){h=j.resolvePlatformConfig(b,h)}if(w){if(b.afterCachedConfig&&!b.afterCachedConfig.$nullFn){b.afterCachedConfig(h)}}b.config=i;for(e=0,l=o.length;e<l;++e){c=o[e];b[c.names.get]=c.initGetter||c.getInitGetter()}if(b.transformInstanceConfig){h=b.transformInstanceConfig(h)}if(h){for(d in h){g=h[d];c=u[d];if(x[d]){Ext.log.warn(x[d]);if(!c){continue}}if(!c){v=b.self.prototype[d];if(b.$configStrict&&(typeof v==='function')&&!v.$nullFn){Ext.raise('Cannot override method '+d+' on '+b.$className+' instance.')}b[d]=g}else {if(!c.lazy){++r}if(!q[d]){b[c.names.get]=c.initGetter||c.getInitGetter()}if(c.merge){g=c.merge(g,i[d],b)}else if(g&&g.constructor===Object){s=i[d];if(s&&s.constructor===Object){g=a.merge(i[d],g)}else {g=Ext.clone(g,!1)}}}i[d]=g}}if(b.beforeInitConfig&&!b.beforeInitConfig.$nullFn){if(b.beforeInitConfig(h)===!1){return}}if(h){for(d in h){if(!r){break}c=u[d];if(c&&!c.lazy){--r;f=c.names;m=f.get;if(b.hasOwnProperty(m)){b[f.set](i[d]);delete b[f.get]}}}}for(e=0,l=o.length;e<l;++e){c=o[e];f=c.names;m=f.get;if(!c.lazy&&b.hasOwnProperty(m)){b[f.set](i[c.name]);delete b[m]}}delete b.isConfiguring},getCurrentConfig:function(c){var e=c.defaultConfig,d={},a;for(a in e){d[a]=c[b[a].names.get]()}return d},merge:function(g,c,f){var h=this.configs,b,a,d,e;for(b in f){a=f[b];e=h[b];if(e){if(e.merge){a=e.merge(a,c[b],g)}else if(a&&a.constructor===Object){d=c[b];if(d&&d.constructor===Object){a=Ext.Object.merge(d,a)}else {a=Ext.clone(a,!1)}}}c[b]=a}return c},reconfigure:function(c,f,g){var n=c.config,i=[],p=c.$configStrict&&!(g&&g.strict===!1),l=this.configs,o=g&&g.defaults,d,j,h,m,a,e,k;for(a in f){d=l[a];if(o&&c.hasOwnProperty(d&&c.$configPrefixed?d.names.internal:a)){continue}n[a]=f[a];if(this.deprecations[a]){Ext.log.warn(this.deprecations[a]);if(!d){continue}}if(d){c[d.names.get]=d.initGetter||d.getInitGetter()}else {k=c.self.prototype[a];if(p){if((typeof k==='function')&&!k.$nullFn){Ext.Error.raise("Cannot override method "+a+" on "+c.$className+" instance.");continue}else {if(a!=='type'){Ext.log.warn('No such config "'+a+'" for class '+c.$className)}}}}i.push(a)}for(h=0,m=i.length;h<m;h++){a=i[h];d=l[a];if(d){e=d.names;j=e.get;if(c.hasOwnProperty(j)){c[e.set](f[a]);delete c[j]}}else {d=b[a]||Ext.Config.get(a);e=d.names;if(c[e.set]){c[e.set](f[a])}else {c[a]=f[a]}}}},resolvePlatformConfig:function(g,e){var f=e&&e.platformConfig,b=e,c,a,d;if(f){a=Ext.getPlatformConfigKeys(f);d=a.length;if(d){b=Ext.merge({},b);for(c=0,d=a.length;c<d;++c){this.merge(g,b,f[a[c]])}}}return b}}}());Ext.Base=(function(m){var d=[],g,j=[],f=function(d,b,c){var a='"'+d+'" is deprecated.';if(c){a+=' '+c}else if(b){a+=' Please use "'+b+'" instead.'}return function(){Ext.raise(a)}},e=function(d,c,b,a){if(!a){a='"'+c+'" is deprecated.'}if(b){a+=' Please use "'+b+'" instead.'}if(a){Ext.Object.defineProperty(d,c,{get:function(){Ext.raise(a)},set:function(e){Ext.raise(a)},configurable:!0})}},l=function(a){return function(){return this[a].apply(this,arguments)}},n=Ext.Version,k=/^\d/,i={},h={},b=function(){},c=b.prototype,a;Ext.Reaper=a={delay:100,queue:[],timer:null,add:function(b){if(!a.timer){a.timer=Ext.defer(a.tick,a.delay)}a.queue.push(b)},flush:function(){if(a.timer){Ext.undefer(a.timer);a.timer=null}var d=a.queue,e=d.length,c,b;a.queue=[];for(c=0;c<e;++c){b=d[c];if(b&&b.$reap){b.$reap()}}},tick:function(){a.timer=null;a.flush()}};Ext.apply(b,{$className:'Ext.Base',$isClass:!0,create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},addDeprecations:function(u){var q=this,t=[],y=Ext.getCompatVersion(u.name),z=q.getConfigurator(),h=(q.$className||'')+'#',i,r,x,v,c,j,s,g,d,a,o,b,w,p;for(r in u){if(k.test(r)){p=new Ext.Version(r);p.deprecations=u[r];t.push(p)}}t.sort(n.compare);for(x=t.length;x--;){i=(p=t[x]).deprecations;c=q.prototype;w=i.statics;j=y&&y.lt(p);if(!j){}else if(!j){break}while(i){d=i.methods;if(d){for(a in d){b=d[a];g=null;if(!b){Ext.Assert.isNotDefinedProp(c,a);g=f(h+a)}else if(Ext.isString(b)){Ext.Assert.isNotDefinedProp(c,a);Ext.Assert.isDefinedProp(c,b);if(j){g=l(b)}else {g=f(h+a,b)}}else {v='';if(b.message||b.fn){v=b.message;b=b.fn}s=c.hasOwnProperty(a)&&c[a];if(j&&b){b.$owner=q;b.$name=a;b.name=h+a;if(s){b.$previous=s}g=b}else if(!s){g=f(h+a,null,v)}}if(g){c[a]=g}}}d=i.configs;if(d){z.addDeprecations(d)}d=i.properties;if(d&&!j){for(a in d){o=d[a];if(Ext.isString(o)){e(c,h+a,o)}else if(o&&o.message){e(c,h+a,null,o.message)}else {e(c,h+a)}}}i=w;w=null;c=q}}},extend:function(d){var b=this,f=d.prototype,e,a,g;e=b.prototype=Ext.Object.chain(f);e.self=b;b.superclass=e.superclass=f;if(!d.$isClass){for(a in c){if(a in e){e[a]=c[a]}}}g=f.$inheritableStatics;if(g){for(a in g){if(!b.hasOwnProperty(a)){b[a]=d[a]}}}if(d.$onExtended){b.$onExtended=d.$onExtended.slice()}b.getConfigurator()},$onExtended:[],triggerExtended:function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,'Ext.Base#triggerExtended',arguments);var c=this.$onExtended,d=c.length,a,b;if(d>0){for(a=0;a<d;a++){b=c[a];b.fn.apply(b.scope||this,arguments)}}},onExtended:function(b,a){this.$onExtended.push({fn:b,scope:a});return this},addStatics:function(a){this.addMembers(a,!0);return this},addInheritableStatics:function(f){var b=this,g=b.prototype,e=b.$inheritableStatics,a,d,c;if(!e){e=Ext.apply({},g.$inheritableStatics);b.$inheritableStatics=g.$inheritableStatics=e}var h=Ext.getClassName(b)+'.';for(a in f){if(f.hasOwnProperty(a)){d=f[a];c=b[a];if(typeof d=='function'){d.name=h+a}if(typeof c==='function'&&!c.$isClass&&!c.$nullFn){d.$previous=c}b[a]=d;e[a]=!0}}return b},addMembers:function(f,h,g){var c=this,p=Ext.Function.clone,d=h?c:c.prototype,q=!h&&d.defaultConfig,n=Ext.enumerables,i=f.privates,j,k,s,a,b,o,l;var r=(c.$className||'')+'#';if(i){delete f.privates;if(!h){l=i.statics;delete i.statics}o=i.privacy||g||'framework';c.addMembers(i,h,o);if(l){c.addMembers(l,!0,o)}}for(b in f){if(f.hasOwnProperty(b)){a=f[b];if(g===!0){g='framework'}if(a&&a.$nullFn&&g!==a.$privacy){Ext.raise('Cannot use stock function for private method '+(c.$className?c.$className+'#':'')+b)}if(typeof a==='function'&&!a.$isClass&&!a.$nullFn){if(a.$owner){a=p(a)}if(d.hasOwnProperty(b)){a.$previous=d[b]}a.$owner=c;a.$name=b;a.name=r+b;var e=d[b];if(g){a.$privacy=g;if(e&&e.$privacy&&e.$privacy!==g){Ext.privacyViolation(c,e,a,h)}}else if(e&&e.$privacy){Ext.privacyViolation(c,e,a,h)}}else if(q&&(b in q)&&!d.config.hasOwnProperty(b)){(j||(j={}))[b]=a;continue}d[b]=a}}if(j){c.addConfig(j)}if(n){for(k=0,s=n.length;k<s;++k){if(f.hasOwnProperty(b=n[k])){a=f[b];if(a&&!a.$nullFn){if(a.$owner){a=p(a)}a.$owner=c;a.$name=b;a.name=r+b;if(d.hasOwnProperty(b)){a.$previous=d[b]}}d[b]=a}}}return this},addMember:function(a,b){i[a]=b;this.addMembers(i);delete i[a];return this},borrow:function(f,a){Ext.classSystemMonitor&&Ext.classSystemMonitor(this,'Ext.Base#borrow',arguments);var g=f.prototype,d={},b,e,c;a=Ext.Array.from(a);for(b=0,e=a.length;b<e;b++){c=a[b];d[c]=g[c]}return this.addMembers(d)},override:function(a){var b=this,d=a.statics,c=a.inheritableStatics,e=a.config,g=a.mixins,f=a.cachedConfig;if(d||c||e){a=Ext.apply({},a)}if(d){b.addMembers(d,!0);delete a.statics}if(c){b.addInheritableStatics(c);delete a.inheritableStatics}if(a.platformConfig){b.addPlatformConfig(a)}if(e){b.addConfig(e);delete a.config}if(f){b.addCachedConfig(f);delete a.cachedConfig}delete a.mixins;b.addMembers(a);if(g){b.mixin(g)}return b},addPlatformConfig:function(n){var l=this,j=l.prototype,d=n.platformConfig,a,i,f,e,h,b,g,c,k;delete j.platformConfig;if(d instanceof Array){throw new Error('platformConfigs must be specified as an object.')}e=l.getConfigurator();i=e.configs;h=Ext.getPlatformConfigKeys(d);for(c=0,k=h.length;c<k;++c){f=d[h[c]];a=null;for(b in f){g=f[b];if(b in i){(a||(a={}))[b]=g}else {j[b]=g}}if(a){e.add(a)}}},callParent:function(b){var a;return (a=this.callParent.caller)&&(a.$previous||((a=a.$owner?a:a.caller)&&a.$owner.superclass.self[a.$name])).apply(this,b||d)},callSuper:function(b){var a;return (a=this.callSuper.caller)&&((a=a.$owner?a:a.caller)&&a.$owner.superclass.self[a.$name]).apply(this,b||d)},mixin:function(n,f){var c=this,a,b,d,l,h,o,k,j,e,i,g;if(typeof n!=='string'){e=n;if(e instanceof Array){for(h=0,o=e.length;h<o;h++){a=e[h];c.mixin(a.prototype.mixinId||a.$className,a)}}else {for(k in e){c.mixin(k,e[k])}}return}a=f.prototype;b=c.prototype;if(a.onClassMixedIn){a.onClassMixedIn.call(f,c)}if(!b.hasOwnProperty('mixins')){if('mixins' in b){b.mixins=Ext.Object.chain(b.mixins)}else {b.mixins={}}}for(d in a){j=a[d];if(d==='mixins'){Ext.applyIf(b.mixins,j)}else if(!(d==='mixinId'||d==='config'||d==='$inheritableStatics')&&(b[d]===undefined)){b[d]=j}}l=a.$inheritableStatics;if(l){i={};for(g in l){if(!c.hasOwnProperty(g)){i[g]=f[g]}}c.addInheritableStatics(i)}if('config' in a){c.addConfig(a.config,f)}b.mixins[n]=a;if(a.afterClassMixedIn){a.afterClassMixedIn.call(f,c)}return c},addConfig:function(b,a){var c=this.$config||this.getConfigurator();c.add(b,a)},addCachedConfig:function(c,d){var b={},a;for(a in c){b[a]={cached:!0,$value:c[a]}}this.addConfig(b,d)},getConfigurator:function(){return this.$config||new Ext.Configurator(this)},getName:function(){return Ext.getClassName(this)},createAlias:m(function(a,b){h[a]=function(){return this[b].apply(this,arguments)};this.override(h);delete h[a]})});for(g in b){if(b.hasOwnProperty(g)){j.push(g)}}b.$staticMembers=j;b.getConfigurator();b.addMembers({$className:'Ext.Base',isInstance:!0,$configPrefixed:!0,$configStrict:!0,isConfiguring:!1,isFirstInstance:!1,destroyed:!1,clearPropertiesOnDestroy:!0,clearPrototypeOnDestroy:!1,statics:function(){var a=this.statics.caller,b=this.self;if(!a){return b}return a.$owner},callParent:function(f){var a,e=(a=this.callParent.caller)&&(a.$previous||((a=a.$owner?a:a.caller)&&a.$owner.superclass[a.$name]));if(!e){a=this.callParent.caller;var b,c;if(!a.$owner){if(!a.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}a=a.caller}b=a.$owner.superclass;c=a.$name;if(!(c in b)){throw new Error("this.callParent() was called but there's no such method ("+c+") found in the parent class ("+(Ext.getClassName(b)||'Object')+")")}}return e.apply(this,f||d)},callSuper:function(f){var a,e=(a=this.callSuper.caller)&&((a=a.$owner?a:a.caller)&&a.$owner.superclass[a.$name]);if(!e){a=this.callSuper.caller;var b,c;if(!a.$owner){if(!a.caller){throw new Error("Attempting to call a protected method from the public scope, which is not allowed")}a=a.caller}b=a.$owner.superclass;c=a.$name;if(!(c in b)){throw new Error("this.callSuper() was called but there's no such method ("+c+") found in the parent class ("+(Ext.getClassName(b)||'Object')+")")}}return e.apply(this,f||d)},self:b,constructor:function(){return this},initConfig:function(b){var a=this,c=a.self.getConfigurator();a.initConfig=Ext.emptyFn;a.initialConfig=b||{};c.configure(a,b);return a},beforeInitConfig:Ext.emptyFn,getConfig:function(d,g,f){var a=this,b,e,c;if(d){e=a.self.$config.configs[d];if(e){c=a.$configPrefixed?e.names.internal:d;if(f){b=a.hasOwnProperty(c)?a[c]:null}else if(g){b=a.hasOwnProperty(c)?a[c]:a.config[d]}else {b=a[e.names.get]()}}else {b=a[d]}}else {b=a.getCurrentConfig()}return b},destroyMembers:function(){var b=this,f=b.self.$config.configs,g=arguments.length,e,a,d,c;for(c=0;c<g;c++){a=arguments[c];e=f[a];a=e&&b.$configPrefixed?e.names.internal:a;d=b.hasOwnProperty(a)&&b[a];if(d){Ext.destroy(d);b[a]=null}}},freezeConfig:function(b){var a=this,e=Ext.Config.get(b),c=e.names,d=a[c.get]();a[c.set]=function(c){if(c!==d){Ext.raise('Cannot change frozen config "'+b+'"')}return a};if(!Ext.isIE8){Object.defineProperty(a,a.$configPrefixed?c.internal:b,{get:function(){return d},set:function(a){if(a!==d){Ext.raise('Cannot change frozen config "'+b+'"')}}})}},setConfig:function(a,e,g){var b=this,d,c,f;if(a){d=b.self.getConfigurator();if(typeof a==='string'){c=d.configs[a];if(!c){if(b.$configStrict){f=b.self.prototype[a];if((typeof f==='function')&&!f.$nullFn){Ext.Error.raise("Cannot override method "+a+" on "+b.$className+" instance.");return b}else {if(a!=='type'){Ext.log.warn('No such config "'+a+'" for class '+b.$className)}}}c=Ext.Config.map[a]||Ext.Config.get(a)}if(b[c.names.set]){b[c.names.set](e)}else {b[a]=e}}else {d.reconfigure(b,a,g||e)}}return b},getCurrentConfig:function(){var a=this.self.getConfigurator();return a.getCurrentConfig(this)},hasConfig:function(a){return a in this.defaultConfig},getInitialConfig:function(b){var a=this.config;if(!b){return a}return a[b]},$links:null,link:function(c,b){var a=this,d=a.$links||(a.$links={});d[c]=!0;a[c]=b;return b},unlink:function(c){var e=this,b,f,d,a;if(!Ext.isArray(c)){Ext.raise('Invalid argument - expected array of strings')}for(b=0,f=c.length;b<f;b++){d=c[b];a=e[d];if(a){if(a.isInstance&&!a.destroyed){a.destroy()}else if(a.parentNode&&'nodeType' in a){a.parentNode.removeChild(a)}}e[d]=null}return e},$reap:function(){var a=this,h=a.$noClearOnDestroy,d,b,f,g,c,e;d=Ext.Object.getKeys(a);for(c=0,e=d.length;c<e;c++){b=d[c];if(!h||!h[b]){f=a[b];g=typeof f;if(g==='object'||(g==='function'&&!f.$noClearOnDestroy)){a[b]=null}}}a.$nulled=!0;if(Object.setPrototypeOf){if(a.clearPrototypeOnDestroy&&!a.$vetoClearingPrototypeOnDestroy){d=a.$preservePrototypeProperties;if(d){for(c=0,e=d.length;c<e;c++){b=d[c];if(!a.hasOwnProperty(b)){a[b]=a[b]}}}Object.setPrototypeOf(a,null)}}},destroy:function(){var b=this,d=b.$links,c=b.clearPropertiesOnDestroy;if(d){b.$links=null;b.unlink(Ext.Object.getKeys(d))}b.destroy=Ext.emptyFn;b.isDestroyed=b.destroyed=!0;if(c===!0){if(!b.isObservable){b.$reap()}}else if(c){if(c!=='async'){Ext.raise('Invalid value for clearPropertiesOnDestroy')}a.add(b)}}});c.callOverridden=c.callParent;Ext.privacyViolation=function(g,b,d,j){var f=d.$name,c=b.$owner&&b.$owner.$className,i=j?'static ':'',a=d.$privacy?'Private '+i+d.$privacy+' method "'+f+'"':'Public '+i+'method "'+f+'"';if(g.$className){a=g.$className+': '+a}if(!b.$privacy){a+=c?' hides public method inherited from '+c:' hides inherited public method.'}else {a+=c?' conflicts with private '+b.$privacy+' method declared by '+c:' conflicts with inherited private '+b.$privacy+' method.'}var e=Ext.getCompatVersion();var h=Ext.getVersion();if(h&&e&&e.lt(h)){Ext.log.error(a)}else {Ext.raise(a)}};Ext.Reaper.tick.$skipTimerCheck=!0;return b}(Ext.Function.flexSetter));(function(b,a){(Ext.util||(Ext.util={})).LRU=b=function(e){var d=this,c;if(e){Ext.apply(d,e)}d.head=c={id:(d.seed=0),key:null,value:null};d.map={};c.next=c.prev=c};b.prototype=a={count:0,add:function(e,g){var c=this,f=c.map,d=f[e];if(d){c.unlink(d);--c.count}f[e]=d={id:++c.seed,key:e,value:g};c.link(d);++c.count;return d},clear:function(e,g){var f=this,d=f.head,c=d.next;d.next=d.prev=d;f.count=0;if(e&&!e.$nullFn){for(;c!==d;c=c.next){e.call(g||f,c.key,c.value)}}},each:function(f,d){d=d||this;for(var e=this.head,c=e.next;c!==e;c=c.next){if(f.call(d,c.key,c.value)){break}}},prune:function(f,g){var c=this,d=c.head.prev,e;if(c.count){e=d.value;c.unlink(d);--c.count;if(f){f.call(g||c,d.key,e)}}return e},remove:function(f){var d=this,g=d.map,c=g[f],e;if(c){d.unlink(c);e=c.value;delete g[f];--d.count}return e},touch:function(f){var d=this,e=d.head,c=d.map[f];if(c&&c.prev!==e){d.unlink(c);d.link(c)}},trim:function(d,e,c){while(this.count>d){this.prune(e,c)}},link:function(c){var d=this.head,e=d.next;c.next=e;c.prev=d;d.next=c;e.prev=c},unlink:function(c){var d=c.next,e=c.prev;e.next=d;d.prev=e}};a.destroy=function(){this.clear.apply(this,arguments)}}());(function(a,c,b){Ext.util.Cache=b=function(d){a.call(this,d)};c.prototype=a.prototype;b.prototype=Ext.apply(new c(),{maxSize:100,clear:function(){a.prototype.clear.call(this,this.evict)},get:function(f){var d=this,g=d.map[f],e;if(g){e=g.value;d.touch(f)}else {e=d.miss.apply(d,arguments);d.add(f,e);d.trim(d.maxSize,d.evict)}return e},evict:Ext.emptyFn})}(Ext.util.LRU,function(){}));(function(){var a,d=Ext.Base,b=d.$staticMembers,c=function(a,b){return (a.length-b.length)||((a<b)?-1:((a>b)?1:0))};function makeCtor(a){function constructor(){return this.constructor.apply(this,arguments)||null}if(a){constructor.name=a}return constructor}Ext.Class=a=function(b,c,d){if(typeof b!='function'){d=c;c=b;b=null}if(!c){c={}}b=a.create(b,c);a.process(b,c,d);return b};Ext.apply(a,{makeCtor:makeCtor,onBeforeCreated:function(a,c,b){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'>> Ext.Class#onBeforeCreated',arguments);a.addMembers(c);b.onCreated.call(a,a);Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'<< Ext.Class#onBeforeCreated',arguments)},create:function(a,f){var e=b.length,c;if(!a){a=makeCtor(f.$className)}while(e--){c=b[e];a[c]=d[c]}return a},process:function(l,f,k){var j=f.preprocessors||a.defaultPreprocessors,o=this.preprocessors,e={onBeforeCreated:this.onBeforeCreated},d=[],b,c,g,n,h,m,i;delete f.preprocessors;l._classHooks=e;for(g=0,n=j.length;g<n;g++){b=j[g];if(typeof b=='string'){b=o[b];c=b.properties;if(c===!0){d.push(b.fn)}else if(c){for(h=0,m=c.length;h<m;h++){i=c[h];if(f.hasOwnProperty(i)){d.push(b.fn);break}}}}else {d.push(b)}}e.onCreated=k?k:Ext.emptyFn;e.preprocessors=d;this.doProcess(l,f,e)},doProcess:function(f,g,b){var c=this,d=b.preprocessors,a=d.shift(),e=c.doProcess;for(;a;a=d.shift()){if(a.call(c,f,g,b,e)===!1){return}}b.onBeforeCreated.apply(c,arguments)},preprocessors:{},registerPreprocessor:function(a,e,b,c,d){if(!c){c='last'}if(!b){b=[a]}this.preprocessors[a]={name:a,properties:b||!1,fn:e};this.setDefaultPreprocessorPosition(a,c,d);return this},getPreprocessor:function(a){return this.preprocessors[a]},getPreprocessors:function(){return this.preprocessors},defaultPreprocessors:[],getDefaultPreprocessors:function(){return this.defaultPreprocessors},setDefaultPreprocessors:function(a){this.defaultPreprocessors=Ext.Array.from(a);return this},setDefaultPreprocessorPosition:function(d,a,e){var b=this.defaultPreprocessors,c;if(typeof a=='string'){if(a==='first'){b.unshift(d);return this}else if(a==='last'){b.push(d);return this}a=(a==='after')?1:-1}c=Ext.Array.indexOf(b,e);if(c!==-1){Ext.Array.splice(b,Math.max(0,c+a),0,d)}return this}});a.registerPreprocessor('extend',function(a,c,i){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.Class#extendPreProcessor',arguments);var h=Ext.Base,g=h.prototype,f=c.extend,b,e,d;delete c.extend;if(f&&f!==Object){b=f}else {b=h}e=b.prototype;if(!b.$isClass){for(d in g){if(!e[d]){e[d]=g[d]}}}a.extend(b);a.triggerExtended.apply(a,arguments);if(c.onClassExtended){a.onExtended(c.onClassExtended,a);delete c.onClassExtended}},!0);a.registerPreprocessor('privates',function(b,e){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.Class#privatePreprocessor',arguments);var a=e.privates,d=a.statics,c=a.privacy||!0;delete e.privates;delete a.statics;b.addMembers(a,!1,c);if(d){b.addMembers(d,!0,c)}});a.registerPreprocessor('statics',function(a,b){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.Class#staticsPreprocessor',arguments);a.addStatics(b.statics);delete b.statics});a.registerPreprocessor('inheritableStatics',function(a,b){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.Class#inheritableStaticsPreprocessor',arguments);a.addInheritableStatics(b.inheritableStatics);delete b.inheritableStatics});Ext.createRuleFn=function(a){return new Function('$c','with($c) { try { return ('+a+'); } catch(e) { return false;}}')};Ext.expressionCache=new Ext.util.Cache({miss:Ext.createRuleFn});Ext.ruleKeySortFn=c;Ext.getPlatformConfigKeys=function(e){var b=[],a,d;for(a in e){d=Ext.expressionCache.get(a);if(d(Ext.platformTags)){b.push(a)}}b.sort(c);return b};a.registerPreprocessor('config',function(b,a){if(a.hasOwnProperty('$configPrefixed')){b.prototype.$configPrefixed=a.$configPrefixed}b.addConfig(a.config);delete a.config});a.registerPreprocessor('cachedConfig',function(b,a){if(a.hasOwnProperty('$configPrefixed')){b.prototype.$configPrefixed=a.$configPrefixed}b.addCachedConfig(a.cachedConfig);delete a.cachedConfig});a.registerPreprocessor('mixins',function(b,c,a){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.Class#mixinsPreprocessor',arguments);var e=c.mixins,d=a.onCreated;delete c.mixins;a.onCreated=function(){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.Class#mixinsPreprocessor#beforeCreated',arguments);a.onCreated=d;b.mixin(e);return a.onCreated.apply(this,arguments)}});Ext.extend=function(b,d,c){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.Class#extend-backwards-compatible',arguments);if(arguments.length===2&&Ext.isObject(d)){c=d;d=b;b=null}var e;if(!d){throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.")}c.extend=d;c.preprocessors=['extend','statics','inheritableStatics','mixins','config'];if(b){e=new a(b,c);e.prototype.constructor=b}else {e=new a(c)}e.prototype.override=function(e){for(var a in e){if(e.hasOwnProperty(a)){this[a]=e[a]}}};return e}}());Ext.Inventory=function(){var a=this;a.names=[];a.paths={};a.alternateToName={};a.aliasToName={};a.nameToAliases={};a.nameToAlternates={};a.nameToPrefix={}};Ext.Inventory.prototype={_array1:[0],prefixes:null,dotRe:/\./g,wildcardRe:/\*/g,addAlias:function(a,c,b){return this.addMapping(a,c,this.aliasToName,this.nameToAliases,b)},addAlternate:function(b,a){return this.addMapping(b,a,this.alternateToName,this.nameToAlternates)},addMapping:function(i,m,e,k,n){var g=i.$className||i,d=g,l=this._array1,a,c,b,f,j,h;if(Ext.isString(g)){d={};d[g]=m}for(b in d){c=d[b];if(Ext.isString(c)){l[0]=c;c=l}j=c.length;h=k[b]||(k[b]=[]);for(f=0;f<j;++f){if(!(a=c[f])){continue}if(e[a]!==b){if(!n&&e[a]&&('Ext.Gadget'!==a)){Ext.log.warn("Overriding existing mapping: '"+a+"' From '"+e[a]+"' to '"+b+"'. Is this intentional?")}e[a]=b;h.push(a)}}}},getAliasesByName:function(a){return this.nameToAliases[a]||null},getAlternatesByName:function(a){return this.nameToAlternates[a]||null},getNameByAlias:function(a){return this.aliasToName[a]||''},getNameByAlternate:function(a){return this.alternateToName[a]||''},getNamesByExpression:function(k,e,r){var g=this,q=g.aliasToName,p=g.alternateToName,m=g.nameToAliases,o=g.nameToAlternates,i=r?e:{},l=[],n=Ext.isString(k)?[k]:k,t=n.length,s=g.wildcardRe,f,j,c,b,d,a,h;for(j=0;j<t;++j){if((f=n[j]).indexOf('*')<0){if(!(a=q[f])){if(!(a=p[f])){a=f}}if(!(a in i)&&!(e&&(a in e))){i[a]=1;l.push(a)}}else {h=new RegExp('^'+f.replace(s,'(.*?)')+'$');for(a in m){if(!(a in i)&&!(e&&(a in e))){if(!(b=h.test(a))){d=(c=m[a]).length;while(!b&&d-->0){b=h.test(c[d])}c=o[a];if(c&&!b){d=c.length;while(!b&&d-->0){b=h.test(c[d])}}}if(b){i[a]=1;l.push(a)}}}}}return l},getPath:function(a){var c=this,e=c.paths,b='',d;if(a in e){b=e[a]}else {d=c.nameToPrefix[a]||(c.nameToPrefix[a]=c.getPrefix(a));if(d){a=a.substring(d.length+1);b=e[d];if(b){b+='/'}}b+=a.replace(c.dotRe,'/')+'.js'}return b},getPrefix:function(a){if(a in this.paths){return a}else if(a in this.nameToPrefix){return this.nameToPrefix[a]}var i=this.getPrefixes(),b=a.length,c,f,h,e,d,g;while(b-->0){c=i[b];if(c){f=a.charAt(b);if(f!=='.'){continue}h=a.substring(0,b);for(d=0,g=c.length;d<g;d++){e=c[d];if(e===a.substring(0,b)){return e}}}}return ''},getPrefixes:function(){var f=this,a=f.prefixes,d,e,c,g,b,h;if(!a){d=f.names.slice(0);f.prefixes=a=[];for(b=0,h=d.length;b<h;b++){e=d[b];c=e.length;g=a[c]||(a[c]=[]);g.push(e)}}return a},removeName:function(a){var c=this,j=c.aliasToName,h=c.alternateToName,i=c.nameToAliases,g=c.nameToAlternates,f=i[a],e=g[a],b,d;delete i[a];delete g[a];delete c.nameToPrefix[a];if(f){for(b=f.length;b--;){if(a===j[d=f[b]]){delete j[d]}}}if(e){for(b=e.length;b--;){if(a===h[d=e[b]]){delete h[d]}}}},resolveName:function(a){var c=this,b;if(!(a in c.nameToAliases)){if(!(b=c.aliasToName[a])){b=c.alternateToName[a]}}return b||a},select:function(b,f){var e=this,a={},d={excludes:a,exclude:function(){e.getNamesByExpression(arguments[0],a,!0);return this}},c;for(c in b){d[c]=e.selectMethod(a,b[c],f||b)}return d},selectMethod:function(a,c,b){var d=this;return function(f){var e=Ext.Array.slice(arguments,1);e.unshift(d.getNamesByExpression(f,a));return c.apply(b,e)}},setPath:Ext.Function.flexSetter(function(b,c){var a=this;a.paths[b]=c;a.names.push(b);a.prefixes=null;a.nameToPrefix={};return a})};Ext.ClassManager=(function(n,e,o,g,s){var r=Ext.Class.makeCtor,i=[],b={Ext:{name:'Ext',value:Ext}},a=Ext.apply(new Ext.Inventory(),{classes:{},classCount:0,classState:{},existCache:{},instantiators:[],isCreated:function(b){if(typeof b!=='string'||b.length<1){throw new Error("[Ext.ClassManager] Invalid classname, must be a string and must not be empty")}if(a.classes[b]||a.existCache[b]){return !0}if(!a.lookupName(b,!1)){return !1}a.triggerCreated(b);return !0},createdListeners:[],nameCreatedListeners:{},existsListeners:[],nameExistsListeners:{},overrideMap:{},triggerCreated:function(b,c){a.existCache[b]=c||1;a.classState[b]+=40;a.notify(b,a.createdListeners,a.nameCreatedListeners)},onCreated:function(d,c,b){a.addListener(d,c,b,a.createdListeners,a.nameCreatedListeners)},notify:function(k,c,m){var l=a.getAlternatesByName(k),f=[k],b,i,j,p,d,h;for(b=0,i=c.length;b<i;b++){d=c[b];d.fn.call(d.scope,k)}while(f){for(b=0,i=f.length;b<i;b++){h=f[b];c=m[h];if(c){for(j=0,p=c.length;j<p;j++){d=c[j];d.fn.call(d.scope,h)}delete m[h]}}f=l;l=null}},addListener:function(b,f,a,h,c){if(Ext.isArray(a)){b=Ext.Function.createBarrier(a.length,b,f);for(d=0;d<a.length;d++){this.addListener(b,null,a[d],h,c)}return}var d,i={fn:b,scope:f};if(a){if(this.isCreated(a)){b.call(f,a);return}if(!c[a]){c[a]=[]}c[a].push(i)}else {h.push(i)}},$namespaceCache:b,addRootNamespaces:function(c){for(var a in c){b[a]={name:a,value:c[a]}}},clearNamespaceCache:function(){i.length=0;for(var a in b){if(!b[a].value){delete b[a]}}},getNamespaceEntry:function(c){if(typeof c!=='string'){return c}var d=b[c],f;if(!d){f=c.lastIndexOf('.');if(f<0){d={name:c}}else {d={name:c.substring(f+1),parent:a.getNamespaceEntry(c.substring(0,f))}}b[c]=d}return d},lookupName:function(j,h){var k=a.getNamespaceEntry(j),c=Ext.global,d=0,b,f;for(b=k;b;b=b.parent){i[d++]=b}while(c&&d-->0){b=i[d];f=c;c=b.value||c[b.name];if(!c&&h){f[b.name]=c={}}}return c},setNamespace:function(f,d){var b=a.getNamespaceEntry(f),c=Ext.global;if(b.parent){c=a.lookupName(b.parent,!0)}c[b.name]=d;return d},setXType:function(i,d){var f=i.$className,k=f?i:a.get(f=i),b=k.prototype,j=b.xtypes,c=b.xtypesChain,h=b.xtypesMap;if(!b.hasOwnProperty('xtypes')){b.xtypes=j=[];b.xtypesChain=c=c?c.slice(0):[];b.xtypesMap=h=Ext.apply({},h)}a.addAlias(f,'widget.'+d,!0);j.push(d);c.push(d);h[d]=!0},set:function(b,d){var c=a.getName(d);a.classes[b]=a.setNamespace(b,d);a.classCount++;if(c&&c!==b){a.addAlternate(c,b)}return a},get:function(b){return a.classes[b]||a.lookupName(b,!1)},addNameAliasMappings:function(b){a.addAlias(b)},addNameAlternateMappings:function(b){a.addAlternate(b)},getByAlias:function(b){return a.get(a.getNameByAlias(b))},getByConfig:function(c,d){var f=c.xclass,b;if(f){b=f}else {b=c.xtype;if(b){d='widget.'}else {b=c.type}b=a.getNameByAlias(d+b)}return a.get(b)},getName:function(a){return a&&a.$className||''},getClass:function(a){return a&&a.self||null},create:function(c,b,f){if(c!=null&&typeof c!=='string'){throw new Error("[Ext.define] Invalid class name '"+c+"' specified, must be a non-empty string")}var d=r(c);if(typeof b==='function'){b=b(d)}if(c){if(a.classes[c]){Ext.log.warn("[Ext.define] Duplicate class name '"+c+"' specified, must be a non-empty string")}d.name=c}b.$className=c;return new n(d,b,function(){var m=b.postprocessors||a.defaultPostprocessors,r=a.postprocessors,i=[],d,j,q,k,p,h,l;delete b.postprocessors;for(j=0,q=m.length;j<q;j++){d=m[j];if(typeof d==='string'){d=r[d];h=d.properties;if(h===!0){i.push(d.fn)}else if(h){for(k=0,p=h.length;k<p;k++){l=h[k];if(b.hasOwnProperty(l)){i.push(d.fn);break}}}}else {i.push(d)}}b.postprocessors=i;b.createdFn=f;a.processCreate(c,this,b)})},processCreate:function(a,b,d){var c=this,f=d.postprocessors.shift(),h=d.createdFn;if(!f){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.ClassManager#classCreated',arguments);if(a){c.set(a,b)}delete b._classHooks;if(h){h.call(b,b)}if(a){c.triggerCreated(a)}return}if(f.call(c,a,b,d,c.processCreate)!==!1){c.processCreate(a,b,d)}},createOverride:function(i,c,m){var h=this,f=c.override,p=c.requires,q=c.uses,b=c.mixins,l,d=1,k,j=function(){var a,r,d,t,u;if(!k){r=p?p.slice(0):[];if(b){if(!(l=b instanceof Array)){for(t in b){if(Ext.isString(a=b[t])){r.push(a)}}}else {for(d=0,u=b.length;d<u;++d){if(Ext.isString(a=b[d])){r.push(a)}}}}k=!0;if(r.length){Ext.require(r,j);return}}if(l){for(d=0,u=b.length;d<u;++d){if(Ext.isString(a=b[d])){b[d]=Ext.ClassManager.get(a)}}}else if(b){for(t in b){if(Ext.isString(a=b[t])){b[t]=Ext.ClassManager.get(a)}}}a=f.$isClass?f:h.get(f);delete c.override;delete c.compatibility;delete c.requires;delete c.uses;Ext.override(a,c);Ext.Loader.history.push(i);if(q){Ext['Loader'].addUsedClasses(q)}if(m){m.call(a,a)}};if(i){a.overrideMap[i]=!0}if('compatibility' in c){d=c.compatibility;if(!d){d=!1}else if(typeof d==='number'){d=!0}else if(typeof d!=='boolean'){d=Ext.checkVersion(d)}}if(d){if(f.$isClass){j()}else {h.onCreated(j,h,f)}}h.triggerCreated(i,2);return h},instantiateByAlias:function(){var b=arguments[0],c=o.call(arguments),a=this.getNameByAlias(b);if(!a){throw new Error("[Ext.createByAlias] Unrecognized alias: "+b)}c[0]=a;return Ext.create.apply(Ext,c)},dynInstantiate:function(b,a){a=g(a,!0);a.unshift(b);return Ext.create.apply(Ext,a)},getInstantiator:function(b){var f=this.instantiators,a,c,d;a=f[b];if(!a){c=b;d=[];for(c=0;c<b;c++){d.push('a['+c+']')}a=f[b]=new Function('c','a','return new c('+d.join(',')+')');a.name="Ext.create"+b}return a},postprocessors:{},defaultPostprocessors:[],registerPostprocessor:function(a,f,b,c,d){if(!c){c='last'}if(!b){b=[a]}this.postprocessors[a]={name:a,properties:b||!1,fn:f};this.setDefaultPostprocessorPosition(a,c,d);return this},setDefaultPostprocessors:function(a){this.defaultPostprocessors=g(a);return this},setDefaultPostprocessorPosition:function(d,a,f){var b=this.defaultPostprocessors,c;if(typeof a==='string'){if(a==='first'){b.unshift(d);return this}else if(a==='last'){b.push(d);return this}a=(a==='after')?1:-1}c=Ext.Array.indexOf(b,f);if(c!==-1){Ext.Array.splice(b,Math.max(0,c+a),0,d)}return this}});a.registerPostprocessor('platformConfig',function(c,a,b){a.addPlatformConfig(b)});a.registerPostprocessor('alias',function(f,h,d){Ext.classSystemMonitor&&Ext.classSystemMonitor(f,'Ext.ClassManager#aliasPostProcessor',arguments);var b=Ext.Array.from(d.alias),a,c;for(a=0,c=b.length;a<c;a++){e=b[a];this.addAlias(h,e)}},['xtype','alias']);a.registerPostprocessor('singleton',function(b,c,a,d){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.ClassManager#singletonPostProcessor',arguments);if(a.singleton){d.call(this,b,new c(),a)}else {return !0}return !1});a.registerPostprocessor('alternateClassName',function(d,i,h){Ext.classSystemMonitor&&Ext.classSystemMonitor(d,'Ext.ClassManager#alternateClassNamePostprocessor',arguments);var a=h.alternateClassName,c,f,b;if(!(a instanceof Array)){a=[a]}for(c=0,f=a.length;c<f;c++){b=a[c];if(typeof b!=='string'){throw new Error("[Ext.define] Invalid alternate of: '"+b+"' for class: '"+d+"'; must be a valid string")}this.set(b,i)}});a.registerPostprocessor('debugHooks',function(d,a,b){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.Class#debugHooks',arguments);if(Ext.isDebugEnabled(a.$className,b.debugHooks.$enabled)){delete b.debugHooks.$enabled;Ext.override(a,b.debugHooks)}var c=a.isInstance?a.self:a;delete c.prototype.debugHooks});a.registerPostprocessor('deprecated',function(d,a,c){Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.Class#deprecated',arguments);var b=a.isInstance?a.self:a;b.addDeprecations(c.deprecated);delete b.prototype.deprecated});Ext.apply(Ext,{create:function(){var b=arguments[0],f=typeof b,d=o.call(arguments,1),c;if(f==='function'){c=b}else {if(f!=='string'&&d.length===0){d=[b];if(!(b=b.xclass)){b=d[0].xtype;if(b){b='widget.'+b}}}if(typeof b!=='string'||b.length<1){throw new Error("[Ext.create] Invalid class name or alias '"+b+"' specified, must be a non-empty string")}b=a.resolveName(b);c=a.get(b)}if(!c){Ext.log.warn("[Ext.Loader] Synchronously loading '"+b+"'; consider adding "+"Ext.require('"+b+"') above Ext.onReady");Ext.syncRequire(b);c=a.get(b)}if(!c){throw new Error("[Ext.create] Unrecognized class name / alias: "+b)}if(typeof c!=='function'){throw new Error("[Ext.create] Singleton '"+b+"' cannot be instantiated.")}return a.getInstantiator(d.length)(c,d)},widget:function(i,b){var f=i,d,c,h;if(typeof f!=='string'){b=i;f=b.xtype;c=b.xclass}else {b=b||{}}if(b.isComponent){return b}if(!c){d='widget.'+f;c=a.getNameByAlias(d)}if(c){h=a.get(c)}if(!h){return Ext.create(c||d,b)}return new h(b)},createByAlias:e(a,'instantiateByAlias'),define:function(b,c,d){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'ClassManager#define',arguments);if(c.override){a.classState[b]=20;return a.createOverride.apply(a,arguments)}a.classState[b]=10;return a.create.apply(a,arguments)},undefine:function(b){Ext.classSystemMonitor&&Ext.classSystemMonitor(b,'Ext.ClassManager#undefine',arguments);var h=a.classes;if(h[b]){a.classCount--}delete h[b];delete a.existCache[b];delete a.classState[b];a.removeName(b);Ext.Factory.clearCaches();var d=a.getNamespaceEntry(b),f=d.parent?a.lookupName(d.parent,!1):Ext.global,c;if(f){c=d.name;try{delete f[c]}catch(t){f[c]=undefined}}return c},getClassName:e(a,'getName'),getDisplayName:function(a){if(a){if(a.displayName){return a.displayName}if(a.$name&&a.$class){return Ext.getClassName(a.$class)+'#'+a.$name}if(a.$className){return a.$className}}return 'Anonymous'},getClass:e(a,'getClass'),namespace:function(){var c=s,b;for(b=arguments.length;b-->0;){c=a.lookupName(arguments[b],!0)}return c}});Ext.addRootNamespaces=a.addRootNamespaces;Ext.createWidget=Ext.widget;Ext.ns=Ext.namespace;n.registerPreprocessor('className',function(a,b){if('$className' in b){a.$className=b.$className;a.displayName=a.$className}Ext.classSystemMonitor&&Ext.classSystemMonitor(a,'Ext.ClassManager#classNamePreprocessor',arguments)},!0,'first');n.registerPreprocessor('alias',function(k,f){Ext.classSystemMonitor&&Ext.classSystemMonitor(k,'Ext.ClassManager#aliasPreprocessor',arguments);var r=k.prototype,c=g(f.xtype),j=g(f.alias),l='widget.',p=l.length,m=Array.prototype.slice.call(r.xtypesChain||[]),i=Ext.merge({},r.xtypesMap||{}),a,d,h,b;for(a=0,d=j.length;a<d;a++){h=j[a];if(typeof h!=='string'||h.length<1){throw new Error("[Ext.define] Invalid alias of: '"+h+"' for class: '"+q+"'; must be a valid string")}if(h.substring(0,p)===l){b=h.substring(p);Ext.Array.include(c,b)}}k.xtype=f.xtype=c[0];f.xtypes=c;for(a=0,d=c.length;a<d;a++){b=c[a];if(!i[b]){i[b]=!0;m.push(b)}}f.xtypesChain=m;f.xtypesMap=i;Ext.Function.interceptAfterOnce(k,'onClassCreated',function(){var p=this,q=p.prototype,h=q.mixins,j,l;Ext.classSystemMonitor&&Ext.classSystemMonitor(p,'Ext.ClassManager#aliasPreprocessor#afterClassCreated',arguments);for(j in h){if(h.hasOwnProperty(j)){l=h[j];c=l.xtypes;if(c){for(a=0,d=c.length;a<d;a++){b=c[a];if(!i[b]){i[b]=!0;m.push(b)}}}}}});for(a=0,d=c.length;a<d;a++){b=c[a];if(typeof b!=='string'||b.length<1){throw new Error("[Ext.define] Invalid xtype of: '"+b+"' for class: '"+q+"'; must be a valid non-empty string")}Ext.Array.include(j,l+b)}f.alias=j},['xtype','alias']);if(Ext.manifest){var k=Ext.manifest,m=k.classes,d=k.paths,l={},j={},c,f,q,h,p;if(d){if(k.bootRelative){p=Ext.Boot.baseUrl;for(h in d){if(d.hasOwnProperty(h)){d[h]=p+d[h]}}}a.setPath(d)}if(m){for(c in m){j[c]=[];l[c]=[];f=m[c];if(f.alias){l[c]=f.alias}if(f.alternates){j[c]=f.alternates}}}a.addAlias(l);a.addAlternate(j)}return a}(Ext.Class,Ext.Function.alias,Array.prototype.slice,Ext.Array.from,Ext.global));(Ext.env||(Ext.env={})).Browser=function(d,q){var m=this,r=Ext.Boot.browserPrefixes,i=Ext.Boot.browserNames,s=m.enginePrefixes,j=m.engineNames,f=d.match(new RegExp('((?:'+Ext.Object.getValues(r).join(')|(?:')+'))([\\w\\._]+)')),n=d.match(new RegExp('((?:'+Ext.Object.getValues(s).join(')|(?:')+'))([\\w\\._]+)')),a=i.other,g=j.other,e='',k='',b='',p=!1,t=/(Edge\/)([\w.]+)/,u='',c,o,h;m.userAgent=d;this.is=function(a){return !!this.is[a]};if(/Edge\//.test(d)){f=d.match(t);n=d.match(t)}if(f){a=i[Ext.Object.getKey(r,f[1])];if(a==='Safari'&&/^Opera/.test(d)){a='Opera'}e=new Ext.Version(f[2])}if(n){g=j[Ext.Object.getKey(s,n[1])];k=new Ext.Version(n[2])}if(g==='Trident'&&a!=='IE'){a='IE';var l=d.match(/.*rv:(\d+.\d+)/);if(l&&l.length){l=l[1];e=new Ext.Version(l)}}if(a&&e){Ext.setVersion(a,e)}if(d.match(/FB/)&&a==='Other'){a=i.safari;g=j.webkit}else if(d.match(/Android.*Chrome/g)){a='ChromeMobile'}else {f=d.match(/OPR\/(\d+.\d+)/);if(f){a='Opera';e=new Ext.Version(f[1])}}Ext.apply(this,{engineName:g,engineVersion:k,name:a,version:e});this.setFlag(a,!0,q);if(e){b=e.getMajor()||'';if(m.is.IE){b=document.documentMode||parseInt(b,10);for(c=7;c<=11;++c){o='isIE'+c;Ext[o]=b===c;Ext[o+'m']=b<=c;Ext[o+'p']=b>=c}}if(m.is.Opera&&parseInt(b,10)<=12){Ext.isOpera12m=!0}Ext.chromeVersion=Ext.isChrome?b:0;Ext.firefoxVersion=Ext.isFirefox?b:0;Ext.ieVersion=Ext.isIE?b:0;Ext.operaVersion=Ext.isOpera?b:0;Ext.safariVersion=Ext.isSafari?b:0;Ext.webKitVersion=Ext.isWebKit?b:0;this.setFlag(a+b,!0,q);this.setFlag(a+e.getShortVersion())}for(c in i){if(i.hasOwnProperty(c)){h=i[c];this.setFlag(h,a===h)}}this.setFlag(h);if(k){this.setFlag(g+(k.getMajor()||''));this.setFlag(g+k.getShortVersion())}for(c in j){if(j.hasOwnProperty(c)){h=j[c];this.setFlag(h,g===h,q)}}this.setFlag('Standalone',!!navigator.standalone);try{u=window.top.ripple}catch(v){}this.setFlag('Ripple',!!document.getElementById("tinyhippos-injected")&&!Ext.isEmpty(u));this.setFlag('WebWorks',!!window.blackberry);if(window.PhoneGap!==undefined||window.Cordova!==undefined||window.cordova!==undefined){p=!0;this.setFlag('PhoneGap');this.setFlag('Cordova')}if(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)(?!.*FBAN)/i.test(d)){p=!0}this.setFlag('WebView',p);this.isStrict=Ext.isStrict=document.compatMode==="CSS1Compat";this.isSecure=Ext.isSecure;this.identity=a+b+(this.isStrict?'Strict':'Quirks')};Ext.env.Browser.prototype={constructor:Ext.env.Browser,engineNames:{edge:'Edge',webkit:'WebKit',gecko:'Gecko',presto:'Presto',trident:'Trident',other:'Other'},enginePrefixes:{edge:'Edge/',webkit:'AppleWebKit/',gecko:'Gecko/',presto:'Presto/',trident:'Trident/'},styleDashPrefixes:{WebKit:'-webkit-',Gecko:'-moz-',Trident:'-ms-',Presto:'-o-',Other:''},stylePrefixes:{WebKit:'Webkit',Gecko:'Moz',Trident:'ms',Presto:'O',Other:''},propertyPrefixes:{WebKit:'webkit',Gecko:'moz',Trident:'ms',Presto:'o',Other:''},name:null,version:null,engineName:null,engineVersion:null,setFlag:function(b,a,c){if(a===undefined){a=!0}this.is[b]=a;this.is[b.toLowerCase()]=a;if(c){Ext['is'+b]=a}return this},getStyleDashPrefix:function(){return this.styleDashPrefixes[this.engineName]},getStylePrefix:function(){return this.stylePrefixes[this.engineName]},getVendorProperyName:function(b){var a=this.propertyPrefixes[this.engineName];if(a.length>0){return a+Ext.String.capitalize(b)}return b}};(function(a){Ext.browser=new Ext.env.Browser(a,!0);Ext.userAgent=a.toLowerCase();Ext.SSL_SECURE_URL=Ext.isSecure&&Ext.isIE?'javascript:\'\'':'about:blank'}(Ext.global.navigator.userAgent));Ext.env.OS=function(h,i,b){var n=this,g=Ext.Boot.osNames,j=Ext.Boot.osPrefixes,a,c='',m=n.is,d,l,f,k,e;b=b||Ext.browser;for(d in j){if(j.hasOwnProperty(d)){l=j[d];f=h.match(new RegExp('(?:'+l+')([^\\s;]+)'));if(f){a=g[d];e=f[1];if(e&&e==="HTC_"){c=new Ext.Version("2.3")}else if(e&&e==="Silk/"){c=new Ext.Version("2.3")}else {c=new Ext.Version(f[f.length-1])}break}}}if(!a){a=g[(h.toLowerCase().match(/mac|win|linux/)||['other'])[0]];c=new Ext.Version('')}this.name=a;this.version=c;if(h.match(/ipad/i)){i='iPad'}if(i){this.setFlag(i.replace(/ simulator$/i,''))}this.setFlag(a);if(c){this.setFlag(a+(c.getMajor()||''));this.setFlag(a+c.getShortVersion())}for(d in g){if(g.hasOwnProperty(d)){k=g[d];if(!m.hasOwnProperty(a)){this.setFlag(k,(a===k))}}}if(this.name==="iOS"&&window.screen.height===568){this.setFlag('iPhone5')}if(b.is.Safari||b.is.Silk){if(this.is.Android2||this.is.Android3||b.version.shortVersion===501){b.setFlag("AndroidStock")}if(this.is.Android4){b.setFlag("AndroidStock");b.setFlag("AndroidStock4")}}};Ext.env.OS.prototype={constructor:Ext.env.OS,is:function(a){return !!this[a]},name:null,version:null,setFlag:function(b,a){if(a===undefined){a=!0}if(this.flags){this.flags[b]=a}this.is[b]=a;this.is[b.toLowerCase()]=a;return this}};(function(){var h=Ext.global.navigator,i=h.userAgent,e=Ext.env.OS,f=(Ext.is||(Ext.is={})),a,c,b;e.prototype.flags=f;Ext.os=a=new e(i,h.platform);c=a.name;Ext['is'+c]=!0;Ext.isMac=f.Mac=f.MacOS;Ext.isApple=Ext.isMac||Ext.isiOS;var d=window.location.search.match(/deviceType=(Tablet|Phone)/),g=window.deviceType;if(d&&d[1]){b=d[1]}else if(g==='iPhone'){b='Phone'}else if(g==='iPad'){b='Tablet'}else {if(!a.is.Android&&!a.is.iOS&&!a.is.WindowsPhone&&/Windows|Linux|MacOS|ChromeOS/.test(c)){b='Desktop';Ext.browser.is.WebView=!!Ext.browser.is.Ripple}else if(a.is.iPad||a.is.RIMTablet||a.is.Android3||Ext.browser.is.Silk||(a.is.Android&&i.search(/mobile/i)===-1)){b='Tablet'}else {b='Phone'}}a.setFlag(b,!0);a.deviceType=b;delete e.prototype.flags}());Ext.feature={has:function(a){return !!this.has[a]},testElements:{},getTestElement:function(a,b){if(a===undefined){a='div'}else if(typeof a!=='string'){return a}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(a,d){var b=this.getTestElement(d).style,c=Ext.String.capitalize(a);if(typeof b[a]!=='undefined'||typeof b[Ext.browser.getStylePrefix(a)+c]!=='undefined'){return !0}return !1},isStyleSupportedWithoutPrefix:function(b,c){var a=this.getTestElement(c).style;if(typeof a[b]!=='undefined'){return !0}return !1},isEventSupported:function(e,d){if(d===undefined){d=window}var a=this.getTestElement(d),b='on'+e.toLowerCase(),c=(b in a);if(!c){if(a.setAttribute&&a.removeAttribute){a.setAttribute(b,'');c=typeof a[b]==='function';if(typeof a[b]!=='undefined'){a[b]=undefined}a.removeAttribute(b)}}return c},getStyle:function(a,c){var b=a.ownerDocument.defaultView,d=(b?b.getComputedStyle(a,null):a.currentStyle);return (d||a.style)[c]},getSupportedPropertyName:function(c,a){var b=Ext.browser.getVendorProperyName(a);if(b in c){return b}else if(a in c){return a}return null},detect:function(h){var c=this,g=document,m=c.toRun||c.tests,i=m.length,f=g.createElement('div'),k=[],j=Ext.supports,n=c.has,a,e,b,l,d;f.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>';if(h){g.body.appendChild(f)}l=c.preDetected[Ext.browser.identity]||[];while(i--){b=m[i];d=l[i];a=b.name;e=b.names;if(d===undefined){if(!h&&b.ready){k.push(b);continue}d=b.fn.call(c,g,f)}if(a){j[a]=n[a]=d}else if(e){while(e.length){a=e.pop();j[a]=n[a]=d}}}if(h){g.body.removeChild(f)}c.toRun=k},report:function(){var b=[],c=this.tests.length,a;for(a=0;a<c;++a){b.push(this.has[this.tests[a].name]?1:0)}Ext.log(Ext.browser.identity+': ['+b.join(',')+']')},preDetected:{},tests:[{name:'CloneNodeCopiesExpando',fn:function(){var a=document.createElement('div');a.expandoProp={};return a.cloneNode().expandoProp===a.expandoProp}},{name:'CSSPointerEvents',fn:function(a){return 'pointerEvents' in a.documentElement.style}},{name:'CSS3BoxShadow',fn:function(a){return 'boxShadow' in a.documentElement.style||'WebkitBoxShadow' in a.documentElement.style||'MozBoxShadow' in a.documentElement.style}},{name:'CSS3NegationSelector',fn:function(a){try{a.querySelectorAll("foo:not(bar)")}catch(b){return !1}return !0}},{name:'ClassList',fn:function(a){return !!a.documentElement.classList}},{name:'Canvas',fn:function(){var a=this.getTestElement('canvas');return !!(a&&a.getContext&&a.getContext('2d'))}},{name:'Svg',fn:function(a){return !!(a.createElementNS&&!!a.createElementNS("http:/"+"/www.w3.org/2000/svg","svg").createSVGRect)}},{name:'Vml',fn:function(){var a=this.getTestElement(),b=!1;a.innerHTML="<!--[if vml]><br><![endif]-->";b=(a.childNodes.length===1);a.innerHTML="";return b}},{name:'Touch',fn:function(){var a=navigator.msMaxTouchPoints||navigator.maxTouchPoints;if(Ext.browser.is.Chrome&&Ext.browser.version.isLessThanOrEqual(39)){return (Ext.supports.TouchEvents&&a!==1)||a>1}else {return Ext.supports.TouchEvents||a>0}}},{name:'PointerEvents',fn:function(){return !!(window.PointerEvent&&!Ext.supports.TouchEvents)}},{name:'MSPointerEvents',fn:function(){return Ext.isIE10}},{name:'TouchEvents',fn:function(){return this.isEventSupported('touchend')}},{name:'TouchAction',ready:!0,fn:function(h,e){if(!window.getComputedStyle){return 0}var c=['pan-x','pan-y','pinch-zoom','double-tap-zoom'],f=[1,2,4,8],g=c.length,d=0,a,b;for(a=0;a<g;a++){b=c[a];e.style.touchAction=b;if(getComputedStyle(e).touchAction===b){d|=f[a]}}return d}},{name:'Orientation',fn:function(){return ('orientation' in window)&&this.isEventSupported('orientationchange')}},{name:'OrientationChange',fn:function(){return this.isEventSupported('orientationchange')}},{name:'DeviceMotion',fn:function(){return this.isEventSupported('devicemotion')}},{names:['Geolocation','GeoLocation'],fn:function(){return 'geolocation' in window.navigator}},{name:'SqlDatabase',fn:function(){return 'openDatabase' in window}},{name:'WebSockets',fn:function(){return 'WebSocket' in window}},{name:'Range',fn:function(){return !!document.createRange}},{name:'CreateContextualFragment',fn:function(){var a=!!document.createRange?document.createRange():!1;return a&&!!a.createContextualFragment}},{name:'History',fn:function(){return ('history' in window&&'pushState' in window.history)}},{name:'Css3dTransforms',fn:function(){return this.has('CssTransforms')&&this.isStyleSupported('perspective')}},{name:'CssTransforms',fn:function(){return this.isStyleSupported('transform')}},{name:'CssTransformNoPrefix',fn:function(){return this.isStyleSupportedWithoutPrefix('transform')}},{name:'CssAnimations',fn:function(){return this.isStyleSupported('animationName')}},{names:['CssTransitions','Transitions'],fn:function(){return this.isStyleSupported('transitionProperty')}},{names:['Audio','AudioTag'],fn:function(){return !!this.getTestElement('audio').canPlayType}},{name:'Video',fn:function(){return !!this.getTestElement('video').canPlayType}},{name:'LocalStorage',fn:function(){try{if('localStorage' in window&&window['localStorage']!==null){localStorage.setItem('sencha-localstorage-test','test success');localStorage.removeItem('sencha-localstorage-test');return !0}}catch(a){}return !1}},{name:'XmlQuerySelector',fn:function(){var b='<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><root></root>',a;if(window.ActiveXObject){a=new ActiveXObject("Microsoft.xmlDOM");a.async=!1;a.loadXML(b)}else if(window.DOMParser){var c=new DOMParser();a=c.parseFromString(b,'text/xml')}return a?!!a.lastChild.querySelector:!1}},{name:'XHR2',fn:function(){return window.ProgressEvent&&window.FormData&&window.XMLHttpRequest&&('withCredentials' in new XMLHttpRequest())}},{name:'XHRUploadProgress',fn:function(){if(window.XMLHttpRequest&&!Ext.browser.is.AndroidStock){var a=new XMLHttpRequest();return a&&('upload' in a)&&('onprogress' in a.upload)}return !1}},{name:'NumericInputPlaceHolder',fn:function(){return !(Ext.browser.is.AndroidStock4&&Ext.os.version.getMinor()<2)}},{name:'matchesSelector',fn:function(){var a=document.documentElement,d='matches',e='webkitMatchesSelector',b='msMatchesSelector',c='mozMatchesSelector';return a[d]?d:a[e]?e:a[b]?b:a[c]?c:null}},{name:'RightMargin',ready:!0,fn:function(c,b){var a=c.defaultView;return !(a&&a.getComputedStyle(b.firstChild.firstChild,null).marginRight!=='0px')}},{name:'DisplayChangeInputSelectionBug',fn:function(){var a=Ext.webKitVersion;return 0<a&&a<533}},{name:'DisplayChangeTextAreaSelectionBug',fn:function(){var a=Ext.webKitVersion;return 0<a&&a<534.24}},{name:'TransparentColor',ready:!0,fn:function(c,b,a){a=c.defaultView;return !(a&&a.getComputedStyle(b.lastChild,null).backgroundColor!=='transparent')}},{name:'ComputedStyle',ready:!0,fn:function(b,c,a){a=b.defaultView;return !!(a&&a.getComputedStyle)}},{name:'Float',fn:function(a){return 'cssFloat' in a.documentElement.style}},{name:'CSS3BorderRadius',ready:!0,fn:function(d){var b=['borderRadius','BorderRadius','MozBorderRadius','WebkitBorderRadius','OBorderRadius','KhtmlBorderRadius'],c=!1,a;for(a=0;a<b.length;a++){if(d.documentElement.style[b[a]]!==undefined){c=!0}}return c&&!Ext.isIE9}},{name:'CSS3LinearGradient',fn:function(i,c){var a='background-image:',e='-webkit-gradient(linear, left top, right bottom, from(black), to(white))',b='linear-gradient(left top, black, white)',g='-moz-'+b,h='-ms-'+b,f='-o-'+b,d=[a+e,a+b,a+g,a+h,a+f];c.style.cssText=d.join(';');return ((""+c.style.backgroundImage).indexOf('gradient')!==-1)&&!Ext.isIE9}},{name:'MouseEnterLeave',fn:function(a){return ('onmouseenter' in a.documentElement&&'onmouseleave' in a.documentElement)}},{name:'MouseWheel',fn:function(a){return ('onmousewheel' in a.documentElement)}},{name:'Opacity',fn:function(b,a){if(Ext.isIE8){return !1}a.firstChild.style.cssText='opacity:0.73';return a.firstChild.style.opacity=='0.73'}},{name:'Placeholder',fn:function(a){return 'placeholder' in a.createElement('input')}},{name:'Direct2DBug',fn:function(a){return Ext.isString(a.documentElement.style.msTransformOrigin)&&Ext.isIE9m}},{name:'BoundingClientRect',fn:function(a){return 'getBoundingClientRect' in a.documentElement}},{name:'RotatedBoundingClientRect',ready:!0,fn:function(e){var d=e.body,c=!1,b=e.createElement('div'),a=b.style;if(b.getBoundingClientRect){a.position='absolute';a.top="0";a.WebkitTransform=a.MozTransform=a.msTransform=a.OTransform=a.transform='rotate(90deg)';a.width='100px';a.height='30px';d.appendChild(b);c=b.getBoundingClientRect().height!==100;d.removeChild(b)}return c}},{name:'ChildContentClearedWhenSettingInnerHTML',ready:!0,fn:function(){var a=this.getTestElement(),b;a.innerHTML='<div>a</div>';b=a.firstChild;a.innerHTML='<div>b</div>';return b.innerHTML!=='a'}},{name:'IncludePaddingInWidthCalculation',ready:!0,fn:function(b,a){return a.childNodes[1].firstChild.offsetWidth===210}},{name:'IncludePaddingInHeightCalculation',ready:!0,fn:function(b,a){return a.childNodes[1].firstChild.offsetHeight===210}},{name:'TextAreaMaxLength',fn:function(a){return ('maxlength' in a.createElement('textarea'))}},{name:'GetPositionPercentage',ready:!0,fn:function(b,a){return Ext.feature.getStyle(a.childNodes[2],'left')==='10%'}},{name:'PercentageHeightOverflowBug',ready:!0,fn:function(d){var c=!1,b,a;if(Ext.getScrollbarSize().height){a=this.getTestElement('div',!0);b=a.style;b.height='50px';b.width='50px';b.overflow='auto';b.position='absolute';a.innerHTML=['<div style="display:table;height:100%;">','<div style="width:51px;"></div>','</div>'].join('');d.body.appendChild(a);if(a.firstChild.offsetHeight===50){c=!0}d.body.removeChild(a)}return c}},{name:'xOriginBug',ready:!0,fn:function(e,b){b.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 a=document.getElementById('b1').getBoundingClientRect(),c=document.getElementById('b2').getBoundingClientRect(),d=document.getElementById('b3').getBoundingClientRect();return (c.left!==a.left&&d.right!==a.right)}},{name:'ScrollWidthInlinePaddingBug',ready:!0,fn:function(c){var d=!1,a,b;b=c.createElement('div');a=b.style;a.height='50px';a.width='50px';a.padding='10px';a.overflow='hidden';a.position='absolute';b.innerHTML='<span style="display:inline-block;zoom:1;height:60px;width:60px;"></span>';c.body.appendChild(b);if(b.scrollWidth===70){d=!0}c.body.removeChild(b);return d}},{name:'rtlVertScrollbarOnRight',ready:!0,fn:function(d,c){c.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:scroll">'+'<div style="width:20px;height:200px;"></div>'+'</div>';var a=c.firstChild,b=a.firstChild;return (b.offsetLeft+b.offsetWidth!==a.offsetLeft+a.offsetWidth)}},{name:'rtlVertScrollbarOverflowBug',ready:!0,fn:function(e,c){c.innerHTML='<div style="height:100px;width:100px;direction:rtl;overflow:auto">'+'<div style="width:95px;height:200px;"></div>'+'</div>';var a=c.firstChild,b=c.style,d=b.position;b.position='absolute';a.offsetHeight;b.position=d;return a.clientHeight===a.offsetHeight}},{identity:'defineProperty',fn:function(){if(Ext.isIE8m){Ext.Object.defineProperty=Ext.emptyFn;return !1}return !0}},{identify:'nativeXhr',fn:function(){if(typeof XMLHttpRequest!=='undefined'){return !0}XMLHttpRequest=function(){try{return new ActiveXObject('MSXML2.XMLHTTP.3.0')}catch(a){return null}};return !1}},{name:'SpecialKeyDownRepeat',fn:function(){return Ext.isWebKit?parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1],10)>=525:!(!(Ext.isGecko||Ext.isIE||Ext.isEdge)||(Ext.isOpera&&Ext.operaVersion<12))}},{name:'EmulatedMouseOver',fn:function(){return Ext.os.is.iOS}},{name:'Hashchange',fn:function(){var a=document.documentMode;return 'onhashchange' in window&&(a===undefined||a>7)}},{name:'FixedTableWidthBug',ready:!0,fn:function(){if(Ext.isIE8){return !1}var a=document.createElement('div'),b=document.createElement('div'),c;a.setAttribute('style','display:table;table-layout:fixed;');b.setAttribute('style','display:table-cell;min-width:50px;');a.appendChild(b);document.body.appendChild(a);a.offsetWidth;a.style.width='25px';c=a.offsetWidth;document.body.removeChild(a);return c===50}},{name:'FocusinFocusoutEvents',fn:function(){return !(Ext.isGecko&&Ext.firefoxVersion<52)}},{name:'AsyncFocusEvents',fn:function(){return Ext.asyncFocus=!!Ext.isIE}},{name:'accessibility',ready:!0,fn:function(f){var g=f.body,b,c,a,e,d;function getColor(a){var c=[],e=0,g,b;if(a.indexOf('rgb(')!==-1){c=a.replace('rgb(','').replace(')','').split(', ')}else if(a.indexOf('#')!==-1){g=a.length===7?/^#(\S\S)(\S\S)(\S\S)$/:/^#(\S)(\S)(\S)$/;b=a.match(g);if(b){c=['0x'+b[1],'0x'+b[2],'0x'+b[3]]}}for(var d=0;d<c.length;d++){e+=parseInt(c[d])}return e}b=f.createElement('div');c=f.createElement('img');a=b.style;Ext.apply(a,{width:'2px',position:'absolute',clip:'rect(1px,1px,1px,1px)',borderWidth:'1px',borderStyle:'solid',borderTopTolor:'#f00',borderRightColor:'#ff0',backgroundColor:'#fff',backgroundImage:'url('+Ext.BLANK_IMAGE_URL+')'});c.alt='';c.src=Ext.BLANK_IMAGE_URL;b.appendChild(c);g.appendChild(b);a=b.currentStyle||b.style;d=a.backgroundImage;e={Images:c.offsetWidth===1&&c.readyState!=='uninitialized',BackgroundImages:!(d!==null&&(d==="none"||d==="url(invalid-url:)")),BorderColors:a.borderTopColor!==a.borderRightColor,LightOnDark:getColor(a.color)-getColor(a.backgroundColor)>0};Ext.supports.HighContrastMode=!e.BackgroundImages;g.removeChild(b);b=c=null;return e}},{name:'ViewportUnits',ready:!0,fn:function(f){if(Ext.isIE8){return !1}var d=f.body,a=document.createElement('div'),e=a.currentStyle||a.style,c,b;d.appendChild(a);Ext.apply(e,{width:'50vw'});c=parseInt(window.innerWidth/2,10);b=parseInt((window.getComputedStyle?getComputedStyle(a,null):a.currentStyle).width,10);d.removeChild(a);a=null;return c===b}},{name:'CSSVariables',ready:!1,fn:function(){if(!window.getComputedStyle){return !1}return window.CSS&&window.CSS.supports&&window.CSS.supports('--test-var',0)}},{name:'Selectors2',ready:!1,fn:function(a){try{return !!a.querySelectorAll(':scope')}catch(b){return !1}}},{name:'CSSScrollSnap',ready:!1,fn:function(b){var a=b.documentElement.style;return 'scrollSnapType' in a||'webkitScrollSnapType' in a||'msScrollSnapType' in a}},{name:'TranslateYCausesHorizontalScroll',ready:!0,fn:function(b,a){a.innerHTML='<div style="position: relative; overflow: auto; height: 200px; width: 200px;">'+'<div>'+'<div style="transform: translateY(260px); width: 50px;">a</div>'+'</div>'+'</div>';return a.firstChild.scrollWidth>a.firstChild.clientWidth}},{name:'FlexBoxBasisBug',ready:!0,fn:function(){if(Ext.isIE11||(Ext.os.is.iOS&&Ext.os.version.major<=10)||(Ext.isSafari&&Ext.browser.version.isLessThan(11))||(Ext.os.is.Android&&Ext.os.version.isLessThan(6))){return !0}return !1}},{name:'PercentageSizeFlexBug',ready:!0,fn:function(c,b){if(Ext.isIE9m){return !1}var a=b.style;a.display='flex';a.flexDirection='column';a.height=a.width='100px';b.innerHTML='<div style="flex: 1 1;"><div style="height:50%"></div></div>';return b.firstChild.firstChild.offsetHeight!==50}},{name:'CannotScrollExactHeight',fn:function(){return Ext.isIE10p}},{name:'WebKitInputTableBoxModelBug',ready:!0,fn:function(i,j){var c=document.createElement('div'),d=document.createElement('div'),b=document.createElement('input'),e=c.style,h=d.style,a=b.style,g=i.body,f;b.type='text';e.display='table';e.height='100px';h.display='table-cell';a.border='0';a.padding='10px';a.boxSizing='border-box';a.height='100%';d.appendChild(b);c.appendChild(d);g.appendChild(c);f=b.offsetHeight===80;g.removeChild(c);return f}},{name:'PassiveEventListener',fn:function(d,c){var b=!1,a;try{a=Object.defineProperty({},'passive',{get:function(){b=!0}});window.addEventListener('e',null,a);window.removeEventListener('e',null,a)}catch(e){}return b}},{name:'CSSMinContent',ready:!0,fn:function(b,a){a.innerHTML='<div style="height:4px;width:4px;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content"><div style="height:8px;width:8px"></div></div>';return a.firstChild.offsetHeight===8}},{name:'ComputedSizeIncludesPadding',ready:!0,fn:function(f,e){var b=!1,c=document.body,a,d;if(window.getComputedStyle){a=document.createElement('div');a.style.cssText='width:10px;padding:2px;'+'-webkit-box-sizing:border-box;box-sizing:border-box;';c.appendChild(a);d=window.getComputedStyle(a,null).width;b=d==='10px';c.removeChild(a)}return b}},0]};Ext.feature.tests.pop();Ext.supports={};Ext.feature.detect();Ext.env.Ready={blocks:(location.search||'').indexOf('ext-pauseReadyFire')>0?1:0,bound:0,delay:1,events:[],firing:!1,generation:0,listeners:[],nextId:0,sortGeneration:0,state:0,timer:null,bind:function(){var a=Ext.env.Ready,b=document;if(!a.bound){if(b.readyState==='complete'){a.onReadyEvent({type:b.readyState||'body'})}else {a.bound=1;if(Ext.browser.is.PhoneGap&&!Ext.os.is.Desktop){a.bound=2;b.addEventListener('deviceready',a.onReadyEvent,!1)}b.addEventListener('DOMContentLoaded',a.onReadyEvent,!1);window.addEventListener('load',a.onReadyEvent,!1)}}},block:function(){++this.blocks;Ext.isReady=!1},fireReady:function(){var a=Ext.env.Ready;if(!a.state){Ext._readyTime=Ext.ticks();Ext.isDomReady=!0;a.state=1;Ext.feature.detect(!0);if(!a.delay){a.handleReady()}else if(navigator.standalone){a.timer=Ext.defer(function(){a.timer=null;a.handleReadySoon()},1)}else {a.handleReadySoon()}}},handleReady:function(){var a=this;if(a.state===1){a.state=2;Ext._beforeReadyTime=Ext.ticks();a.invokeAll();Ext._afterReadyTime=Ext.ticks()}},handleReadySoon:function(b){var a=this;if(!a.timer){a.timer=Ext.defer(function(){a.timer=null;a.handleReady()},b||a.delay)}},invoke:function(a){var b=a.delay;if(b){Ext.defer(a.fn,b,a.scope)}else {if(Ext.elevateFunction){Ext.elevateFunction(a.fn,a.scope)}else {a.fn.call(a.scope)}}},invokeAll:function(){if(Ext.elevateFunction){Ext.elevateFunction(this.doInvokeAll,this)}else {this.doInvokeAll()}},doInvokeAll:function(){var a=this,b=a.listeners,c;if(!a.blocks){Ext.isReady=!0}a.firing=!0;while(b.length){if(a.sortGeneration!==a.generation){a.sortGeneration=a.generation;b.sort(a.sortFn)}c=b.pop();if(a.blocks&&!c.dom){b.push(c);break}a.invoke(c)}a.firing=!1},makeListener:function(d,c,b){var a={fn:d,id:++this.nextId,scope:c,dom:!1,priority:0};if(b){Ext.apply(a,b)}a.phase=a.dom?0:1;return a},on:function(e,d,c){var a=Ext.env.Ready,b=a.makeListener(e,d,c);if(a.state===2&&!a.firing&&(b.dom||!a.blocks)){a.invoke(b)}else {a.listeners.push(b);++a.generation;if(!a.bound){a.bind()}}},onReadyEvent:function(b){var a=Ext.env.Ready;if(Ext.elevateFunction){Ext.elevateFunction(a.doReadyEvent,a,arguments)}else {a.doReadyEvent(b)}},doReadyEvent:function(b){var a=this;if(b&&b.type){a.events.push(b)}if(a.bound>0){a.unbind();a.bound=-1}if(!a.state){a.fireReady()}},sortFn:function(a,b){return -((a.phase-b.phase)||(b.priority-a.priority)||(a.id-b.id))},unblock:function(){var a=this;if(a.blocks){if(!--a.blocks){if(a.state===2&&!a.firing){a.invokeAll()}}}},unbind:function(){var a=this,b=document;if(a.bound>1){b.removeEventListener('deviceready',a.onReadyEvent,!1)}b.removeEventListener('DOMContentLoaded',a.onReadyEvent,!1);window.removeEventListener('load',a.onReadyEvent,!1)}};(function(){var a=Ext.env.Ready;if(Ext.isIE9m){Ext.apply(a,{scrollTimer:null,readyStatesRe:/complete/i,pollScroll:function(){var b=!0;try{document.documentElement.doScroll('left')}catch(c){b=!1}if(b&&document.body){a.onReadyEvent({type:'doScroll'})}else {a.scrollTimer=Ext.defer(a.pollScroll,20)}return b},bind:function(){if(a.bound){return}var b=document,c;try{c=window.frameElement===undefined}catch(d){}if(!c||!b.documentElement.doScroll){a.pollScroll=Ext.emptyFn}else if(a.pollScroll()){return}if(b.readyState==='complete'){a.onReadyEvent({type:'already '+(b.readyState||'body')})}else {b.attachEvent('onreadystatechange',a.onReadyStateChange);window.attachEvent('onload',a.onReadyEvent);a.bound=1}},unbind:function(){document.detachEvent('onreadystatechange',a.onReadyStateChange);window.detachEvent('onload',a.onReadyEvent);if(Ext.isNumber(a.scrollTimer)){Ext.undefer(a.scrollTimer);a.scrollTimer=null}},onReadyStateChange:function(){var b=document.readyState;if(a.readyStatesRe.test(b)){a.onReadyEvent({type:b})}}})}Ext.onDocumentReady=function(e,d,b){var c={dom:!0};if(b){Ext.apply(c,b)}a.on(e,d,c)};Ext.onReady=function(d,c,b){a.on(d,c,b)};Ext.onInternalReady=function(d,c,b){a.on(d,c,Ext.apply({priority:1000},b))};a.bind()}());Ext.Loader=(new function(){var a=this,b=Ext.ClassManager,i=Ext.Boot,n=Ext.Class,c=Ext.env.Ready,k=Ext.Function.alias,g=['extend','mixins','requires'],h={},l=[],e=[],f=[],j={},d={enabled:!0,scriptChainDelay:!1,disableCaching:!0,disableCachingParam:'_dc',paths:b.paths,preserveScripts:!0,scriptCharset:undefined},m={disableCaching:!0,disableCachingParam:!0,preserveScripts:!0,scriptChainDelay:'loadDelay'};Ext.apply(a,{isInHistory:h,isLoading:!1,history:l,config:d,readyListeners:e,optionalRequires:f,requiresMap:j,hasFileLoadError:!1,scriptsLoading:0,classesLoading:{},missingCount:0,missingQueue:{},syncModeEnabled:!1,init:function(){var m=document.getElementsByTagName('script'),g=m[m.length-1].src,d=g.substring(0,g.lastIndexOf('/')+1),n=Ext._classPathMetadata,j=Ext.Microloader,i=Ext.manifest,e,p,o,q,k,l,h,f;if(g.indexOf("packages/core/src/")!==-1){d=d+"../../"}else if(g.indexOf("/core/src/class/")!==-1){d=d+"../../../"}if(!b.getPath("Ext")){b.setPath('Ext',d+'src')}if(n){Ext._classPathMetadata=null;a.addClassPathMappings(n)}if(i){e=i.loadOrder;k=Ext.Boot.baseUrl;if(e&&i.bootRelative){for(l=e.length,h=0;h<l;h++){f=e[h];f.path=k+f.path;f.canonicalPath=!0}}}if(j){c.block();j.onMicroloaderReady(function(){c.unblock()})}},setConfig:Ext.Function.flexSetter(function(b,e){if(b==='paths'){a.setPath(e)}else {d[b]=e;var c=m[b];if(c){i.setConfig((c===!0)?b:c,e)}}return a}),getConfig:function(a){return a?d[a]:d},setPath:function(){b.setPath.apply(b,arguments);return a},addClassPathMappings:function(c){b.setPath(c);return a},addBaseUrlClassPathMappings:function(a){for(var b in a){a[b]=i.baseUrl+a[b]}Ext.Loader.addClassPathMappings(a)},getPath:function(a){return b.getPath(a)},require:function(c,f,e,d){if(d){return a.exclude(d).require(c,f,e)}var g=b.getNamesByExpression(c);return a.load(g,f,e)},syncRequire:function(){var b=a.syncModeEnabled;a.syncModeEnabled=!0;var c=a.require.apply(a,arguments);a.syncModeEnabled=b;return c},exclude:function(d){var c=b.select({require:function(b,e,c){return a.load(b,e,c)},syncRequire:function(b,g,e){var c=a.syncModeEnabled;a.syncModeEnabled=!0;var f=a.load(b,g,e);a.syncModeEnabled=c;return f}});c.exclude(d);return c},load:function(g,c,k){if(c){if(c.length){c=a.makeLoadCallback(g,c)}c=c.bind(k||Ext.global)}var n=b.classState,f=[],l=[],j={},m=g.length,o,e,h,i;for(h=0;h<m;++h){e=b.resolveName(g[h]);if(!b.isCreated(e)){f.push(e);if(!n[e]){j[e]=a.getPath(e);l.push(j[e])}}}i=f.length;if(i){a.missingCount+=i;b.onCreated(function(){if(c){Ext.callback(c,k,arguments)}a.checkReady()},a,f);if(!d.enabled){Ext.raise("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. "+"Missing required class"+((f.length>1)?"es":"")+": "+f.join(', '))}if(l.length){a.loadScripts({url:l,_classNames:f,_urlByClass:j})}else {a.checkReady()}}else {if(c){c.call(k)}a.checkReady()}if(a.syncModeEnabled){if(m===1){return b.get(g[0])}}return a},makeLoadCallback:function(a,c){return function(){var e=[],d=a.length;while(d-->0){e[d]=b.get(a[d])}return c.apply(this,e)}},onLoadFailure:function(h){var d=this,f=h.entries||[],g=d.onError,b,e,c;a.hasFileLoadError=!0;--a.scriptsLoading;if(g){for(c=0;c<f.length;c++){e=f[c];if(e.error){b=new Error('Failed to load: '+e.url);break}}b=b||new Error('Failed to load');g.call(d.userScope,d,b,h)}else {Ext.log.error("[Ext.Loader] Some requested files failed to load.")}a.checkReady()},onLoadSuccess:function(){var c=this,g=c.onLoad,f=c._classNames,j=c._urlByClass,k=b.classState,i=a.missingQueue,d,e,h;--a.scriptsLoading;if(g){g.call(c.userScope,c)}for(e=0,h=f.length;e<h;e++){d=f[e];if(!k[d]){i[d]=j[d]}}a.checkReady()},reportMissingClasses:function(){if(!a.syncModeEnabled&&!a.scriptsLoading&&a.isLoading&&!a.hasFileLoadError){var e=a.missingQueue,b=[],d=[];for(var c in e){b.push(c);d.push(e[c])}if(b.length){throw new Error("The following classes are not declared even if their files have been "+"loaded: '"+b.join("', '")+"'. Please check the source code of their "+"corresponding files for possible typos: '"+d.join("', '"))}}},onReady:function(g,f,h,d){if(h){c.on(g,f,d)}else {var b=c.makeListener(g,f,d);if(a.isLoading){e.push(b)}else {c.invoke(b)}}},addUsedClasses:function(b){var c,d,e;if(b){b=(typeof b==='string')?[b]:b;for(d=0,e=b.length;d<e;d++){c=b[d];if(typeof c==='string'&&!Ext.Array.contains(f,c)){f.push(c)}}}return a},triggerReady:function(){var d,b=f;if(a.isLoading&&b.length){f=[];a.require(b)}else {a.isLoading=!1;e.sort(c.sortFn);while(e.length&&!a.isLoading){d=e.pop();c.invoke(d)}c.unblock()}},historyPush:function(c){if(c&&!h[c]&&!b.overrideMap[c]){h[c]=!0;l.push(c)}return a},loadScripts:function(g){var c=Ext.manifest,f=c&&c.loadOrder,e=c&&c.loadOrderMap,b;++a.scriptsLoading;if(f&&!e){c.loadOrderMap=e=i.createLoadOrderMap(f)}a.checkReady();b=Ext.apply({loadOrder:f,loadOrderMap:e,charset:d.scriptCharset,success:a.onLoadSuccess,failure:a.onLoadFailure,sync:a.syncModeEnabled,_classNames:[]},g);b.userScope=b.scope;b.scope=b;i.load(b)},loadScriptsSync:function(c){var b=a.syncModeEnabled;a.syncModeEnabled=!0;a.loadScripts({url:c});a.syncModeEnabled=b},loadScriptsSyncBasePrefix:function(c){var b=a.syncModeEnabled;a.syncModeEnabled=!0;a.loadScripts({url:c,prependBaseUrl:!0});a.syncModeEnabled=b},loadScript:function(b){var d=typeof b==='string',e=b instanceof Array,c=!e&&!d,j=c?b.url:b,f=c&&b.onError,h=c&&b.onLoad,i=c&&b.scope,g={url:j,scope:i,onLoad:h,onError:f,_classNames:[]};a.loadScripts(g)},checkMissingQueue:function(){var d=a.missingQueue,e={},c,f=0;for(c in d){if(!(b.classState[c]||b.isCreated(c))){e[c]=d[c];f++}}a.missingCount=f;a.missingQueue=e},checkReady:function(){var d=a.isLoading,b;a.checkMissingQueue();b=a.missingCount+a.scriptsLoading;if(b&&!d){c.block();a.isLoading=!!b}else if(!b&&d){a.triggerReady()}if(!a.scriptsLoading&&a.missingCount){Ext.defer(function(){if(!a.scriptsLoading&&a.missingCount){Ext.log.error('[Loader] The following classes failed to load:');for(var b in a.missingQueue){Ext.log.error('[Loader] '+b+' from '+a.missingQueue[b])}}},1000)}}});Ext.require=k(a,'require');Ext.syncRequire=k(a,'syncRequire');Ext.exclude=k(a,'exclude');n.registerPreprocessor('loader',function(t,m,w,v){Ext.classSystemMonitor&&Ext.classSystemMonitor(t,'Ext.Loader#loaderPreprocessor',arguments);var x=this,l=[],s,i=b.getName(t),e,f,n,p,d,k,c,r;for(e=0,n=g.length;e<n;e++){k=g[e];if(m.hasOwnProperty(k)){c=m[k];if(typeof c==='string'){l.push(c)}else if(c instanceof Array){for(f=0,p=c.length;f<p;f++){d=c[f];if(typeof d==='string'){l.push(d)}}}else if(typeof c!=='function'){for(f in c){if(c.hasOwnProperty(f)){d=c[f];if(typeof d==='string'){l.push(d)}}}}}}if(l.length===0){return}if(i){j[i]=l}var u=Ext.manifest&&Ext.manifest.classes,o=[],q;if(i&&(!u||!u[i])){r=a.requiredByMap||(a.requiredByMap={});for(e=0,n=l.length;e<n;e++){s=l[e];(r[s]||(r[s]=[])).push(i)}q=function(c){o.push(c);var a=j[c],d,b,e;if(a){if(Ext.Array.contains(a,i)){Ext.Error.raise("Circular requirement detected! '"+i+"' and '"+o[1]+"' mutually require each other. Path: "+o.join(' -> ')+" -> "+o[0])}for(b=0,e=a.length;b<e;b++){d=a[b];if(!h[d]){q(a[b])}}}};q(i)}(i?a.exclude(i):a).require(l,function(){for(e=0,n=g.length;e<n;e++){k=g[e];if(m.hasOwnProperty(k)){c=m[k];if(typeof c==='string'){m[k]=b.get(c)}else if(c instanceof Array){for(f=0,p=c.length;f<p;f++){d=c[f];if(typeof d==='string'){m[k][f]=b.get(d)}}}else if(typeof c!=='function'){for(var a in c){if(c.hasOwnProperty(a)){d=c[a];if(typeof d==='string'){m[k][a]=b.get(d)}}}}}}v.call(x,t,m,w)});return !1},!0,'after','className');b.registerPostprocessor('uses',function(g,f,d){Ext.classSystemMonitor&&Ext.classSystemMonitor(f,'Ext.Loader#usesPostprocessor',arguments);var e=d.uses,c;if(e){c=b.getNamesByExpression(d.uses);a.addUsedClasses(c)}});b.onCreated(a.historyPush);a.init()}());Ext._endTime=Ext.ticks();if(Ext._beforereadyhandler){Ext._beforereadyhandler()}Ext.define('Ext.Mixin',function(a){return {statics:{addHook:function(e,c,d,h){var g=Ext.isFunction(e),b=function(){var b=arguments,i=g?e:h[e],f=this.callParent(b);i.apply(this,b);return f},f=c.hasOwnProperty(d)&&c[d];if(g){e.$previous=Ext.emptyFn}b.$name=d;b.$owner=c.self;if(f){b.$previous=f.$previous;f.$previous=b}else {c[d]=b}}},onClassExtended:function(k,c){var b=c.mixinConfig,d=c.xhooks,j=k.superclass,i=c.onClassMixedIn,h,f,g,e;if(d){delete c.xhooks;(b||(c.mixinConfig=b={})).on=d}if(b){h=j.mixinConfig;if(h){c.mixinConfig=b=Ext.merge({},h,b)}c.mixinId=b.id;if(b.beforeHooks){Ext.raise('Use of "beforeHooks" is deprecated - use "before" instead')}if(b.hooks){Ext.raise('Use of "hooks" is deprecated - use "after" instead')}if(b.afterHooks){Ext.raise('Use of "afterHooks" is deprecated - use "after" instead')}f=b.before;g=b.after;d=b.on;e=b.extended}if(f||g||d||e){c.onClassMixedIn=function(b){var h=this.prototype,l=b.prototype,j;if(f){Ext.Object.each(f,function(e,d){b.addMember(e,function(){if(h[d].apply(this,arguments)!==!1){return this.callParent(arguments)}})})}if(g){Ext.Object.each(g,function(e,d){b.addMember(e,function(){var f=this.callParent(arguments);h[d].apply(this,arguments);return f})})}if(d){for(j in d){a.addHook(d[j],l,j,h)}}if(e){b.onExtended(function(){var d=Ext.Array.slice(arguments,0);d.unshift(b);return e.apply(this,d)},this)}if(i){i.apply(this,arguments)}}}}}});Ext.util=Ext.util||{};Ext.util.DelayedTask=function(b,d,h,e,f){var a=this,g,c=function(){a.id=null;if(!(d&&d.destroyed)){h?b.apply(d,h):b.call(d)}if(f===!1){Ext._suppressIdle=!0}};if(b){c.$origFn=b.$origFn||b;c.$skipTimerCheck=c.$origFn.$skipTimerCheck}e=typeof e==='boolean'?e:!0;a.id=null;a.delay=function(i,l,j,k){if(e){a.cancel()}if(typeof i==='number'){g=i}b=l||b;d=j||d;h=k||h;a.delayTime=g;if(b){c.$origFn=b.$origFn||b;c.$skipTimerCheck=c.$origFn.$skipTimerCheck}if(!a.id){if(g===-1){a.id=Ext.raf(c)}else {a.id=Ext.defer(c,g||1)}}return a.id};a.cancel=function(){if(a.id){if(a.delayTime===-1){Ext.unraf(a.id)}else {Ext.undefer(a.id)}a.id=null}};a.flush=function(){if(a.id){a.cancel();var g=f;f=!0;c();f=g}};a.stop=function(g,c){if(g&&g===b&&(!c||c===d)){a.cancel()}}};Ext.define('Ext.util.Event',function(){var d=Array.prototype.slice,c=Ext.Array.insert,b=Ext.Array.toArray,a={};return {isEvent:!0,suspended:0,noOptions:{},constructor:function(a,b){this.name=b;this.observable=a;this.listeners=[]},addListener:function(g,f,b,u,l){var a=this,t=!1,o=a.observable,s=a.name,e,p,k,j,i,n,m,d,h,q,r;if(f&&!Ext._namedScopes[f]&&(typeof g==='string')&&(typeof f[g]!=='function')){Ext.raise("No method named '"+g+"' found on scope object")}if(a.findListener(g,f)===-1){p=a.createListener(g,f,b,u,l);if(a.firing){a.listeners=a.listeners.slice(0)}e=a.listeners;d=m=e.length;k=b&&b.priority;i=a._highestNegativePriorityIndex;n=i!==undefined;if(k){j=(k<0);if(!j||n){for(h=(j?i:0);h<m;h++){q=e[h].o?e[h].o.priority||0:0;if(q<k){d=h;break}}}else {a._highestNegativePriorityIndex=d}}else if(n){d=i}if(!j&&d<=i){a._highestNegativePriorityIndex++}if(d===m){e[m]=p}else {c(e,d,[p])}if(o.isElement){o._getPublisher(s,b.translate===!1).subscribe(o,s,b.delegated!==!1,b.capture)}if(l){r=l.managedListeners||(l.managedListeners=[]);r.push({item:a.observable,ename:(b&&b.managedName)||a.name,fn:g,scope:f,options:b})}t=!0}return t},createListener:function(h,e,a,k,j){var f=this,i=Ext._namedScopes[e],c={fn:h,scope:e,ev:f,caller:k,manager:j,namedScope:i,defaultScope:i?(e||f.observable):undefined,lateBound:typeof h==='string'},b=h,d=!1,g;if(a){c.o=a;if(a.single){b=f.createSingle(b,c,a,e);d=!0}if(a.target){b=f.createTargeted(b,c,a,e,d);d=!0}if(a.onFrame){b=f.createAnimFrame(b,c,a,e,d);d=!0}if(a.delay){b=f.createDelayed(b,c,a,e,d);d=!0}if(a.buffer){b=f.createBuffered(b,c,a,e,d);d=!0}if(f.observable.isElement){g=a.type;if(g){c.type=g}}}c.fireFn=b;c.wrapped=d;return c},findListener:function(e,d){var c=this.listeners,b=c.length,a;while(b--){a=c[b];if(a){if(a.fn===e&&a.scope==d){return b}}}return -1},removeListener:function(m,l,c){var a=this,k=!1,h=a.observable,i=a.name,b,g,j,e,f,d;c=c!=null?c:a.findListener(m,l);if(c!==-1){b=a.listeners[c];if(a.firing){a.listeners=a.listeners.slice(0)}a.listeners.splice(c,1);if(a._highestNegativePriorityIndex){if(c<a._highestNegativePriorityIndex){a._highestNegativePriorityIndex--}else if(c===a._highestNegativePriorityIndex&&c===a.listeners.length){delete a._highestNegativePriorityIndex}}if(b){g=b.o;if(b.task){b.task.cancel();delete b.task}d=b.tasks&&b.tasks.length;if(d){while(d--){b.tasks[d].cancel()}delete b.tasks}b.fireFn.timerId=Ext.undefer(b.fireFn.timerId);j=b.manager;if(j){e=j.managedListeners;if(e){for(d=e.length;d--;){f=e[d];if(f.item===a.observable&&f.ename===i&&f.fn===m&&f.scope===l){e.splice(d,1)}}}}if(h.isElement){h._getPublisher(i,g.translate===!1).unsubscribe(h,i,g.delegated!==!1,g.capture)}}k=!0}return k},clearListeners:function(){var b=this.listeners,c=b.length,a;while(c--){a=b[c];this.removeListener(a.fn,a.scope)}},suspend:function(){++this.suspended},resume:function(){if(this.suspended){--this.suspended}},isSuspended:function(){return this.suspended>0},fireDelegated:function(a,b){this.firingObservable=a;return this.fire.apply(this,b)},fire:function(){var e=this,x=Ext.ComponentQuery,s=e.listeners,t=s.length,q=e.observable,n=q.isElement,w=q.isComponent,v=e.firingObservable,b,g,h,l,c,i,u,m,o,r,j,p,a,k,f;if(!e.suspended&&t>0){e.firing=!0;c=arguments.length?d.call(arguments,0):[];u=c.length;if(n){a=c[0]}for(l=0;l<t;l++){i=s[l];if(!i){continue}b=i.o;if(n){if(o){a.setCurrentTarget(o)}r=i.type;if(r){j=a;a=c[0]=j.chain({type:r,isGesture:!1})}Ext.EventObject=a}p=c;if(b){g=b.delegate;if(g){if(n){m=a.getTarget(typeof g==='function'?g:'#'+a.currentTarget.id+' '+g);if(m){c[1]=m;o=a.currentTarget;a.setCurrentTarget(m)}else {continue}}else if(w&&!x.is(v,g,q)){continue}}if(n){if(b.preventDefault){a.preventDefault()}if(b.stopPropagation){a.stopPropagation()}if(b.stopEvent){a.stopEvent()}}c[u]=b;if(b.args){p=b.args.concat(c)}}h=e.getFireInfo(i);k=h.fn;f=h.scope;h.fn=h.scope=null;if(f&&f.destroyed){e.removeListener(k,f,l);k=null;if(f.$className!=='Ext.container.Monitor'){(Ext.raiseOnDestroyed?Ext.raise:Ext.log.warn)({msg:'Attempting to fire "'+e.name+'" event on destroyed '+(f.$className||'object')+' instance with id: '+(f.id||'unknown'),instance:f})}}if(k&&k.apply(f,p)===!1){Ext.EventObject=null;return (e.firing=!1)}if(b){c.length--}if(j){a=c[0]=j;j=null}Ext.EventObject=null}}e.firing=!1;return !0},getFireInfo:function(b,g){var f=this.observable,h=b.fireFn,c=b.scope,e=b.namedScope,d;if(!g&&b.wrapped){a.fn=h;return a}d=g?b.fn:h;var i=d;if(b.lateBound){if(!c||e){c=(b.caller||f).resolveListenerScope(b.defaultScope)}if(!c){Ext.raise('Unable to dynamically resolve scope for "'+b.ev.name+'" listener on '+this.observable.id)}if(!Ext.isFunction(c[d])){Ext.raise('No method named "'+d+'" on '+(c.$className||'scope object.'))}d=c[d]}else if(e&&e.isController){c=(b.caller||f).resolveListenerScope(b.defaultScope);if(!c){Ext.raise('Unable to dynamically resolve scope for "'+b.ev.name+'" listener on '+this.observable.id)}}else if(!c||e){c=f}a.fn=d;a.scope=c;if(!d){Ext.raise('Unable to dynamically resolve method "'+i+'" on '+this.observable.$className)}return a},createAnimFrame:function(c,b,f,d,e){var a;if(!e){a=b.ev.getFireInfo(b,!0);c=a.fn;d=a.scope;a.fn=a.scope=null}return Ext.Function.createAnimationFrame(c,d,f.args)},createTargeted:function(b,a,e,c,d){return function(){if(e.target===arguments[0]){var f;if(!d){f=a.ev.getFireInfo(a,!0);b=f.fn;c=f.scope;f.fn=f.scope=null}return b.apply(c,arguments)}}},createBuffered:function(c,a,e,d,f){a.task=new Ext.util.DelayedTask();return function(){if(a.task){var g;if(Ext.Timer.track){e.$delayedTask=a.task}if(!f){g=a.ev.getFireInfo(a,!0);c=g.fn;d=g.scope;g.fn=g.scope=null}a.task.delay(e.buffer,c,d,b(arguments))}}},createDelayed:function(c,a,e,d,f){return function(){var h=new Ext.util.DelayedTask(),g;if(!f){g=a.ev.getFireInfo(a,!0);c=g.fn;d=g.scope;g.fn=g.scope=null}if(!a.tasks){a.tasks=[]}a.tasks.push(h);if(Ext.Timer.track){e.$delayedTask=h}h.delay(e.delay||10,c,d,b(arguments))}},createSingle:function(c,b,e,a,d){return function(){var g=b.ev,h=g.observable,i=b.fn,f;if(h){if(!h.destroyed){h.removeListener(g.name,i,a)}}else {g.removeListener(i,a)}if(!d){f=g.getFireInfo(b,!0);c=f.fn;a=f.scope;f.fn=f.scope=null}return c.apply(a,arguments)}}}});Ext.define('Ext.mixin.Identifiable',{statics:{uniqueIds:{}},isIdentifiable:!0,mixinId:'identifiable',idCleanRegex:/\.|[^\w\-]/g,defaultIdPrefix:'ext-',defaultIdSeparator:'-',getOptimizedId:function(){return this.id},getUniqueId:function(){var e=this.id,c,b,f,d,a;if(!(e||e===0)){c=this.self.prototype;b=this.defaultIdSeparator;d=Ext.mixin.Identifiable.uniqueIds;if(!c.hasOwnProperty('identifiablePrefix')){f=this.xtype;if(f){a=this.defaultIdPrefix+f.replace(this.idCleanRegex,b)+b}else if(!(a=c.$className)){a=this.defaultIdPrefix+'anonymous'+b}else {a=a.replace(this.idCleanRegex,b).toLowerCase()+b}c.identifiablePrefix=a}a=this.identifiablePrefix;if(!d.hasOwnProperty(a)){d[a]=0}e=this.id=this.id=a+(++d[a])}this.getUniqueId=this.getOptimizedId;return e},setId:function(a){this.id=this.id=a},getId:function(){var a=this.id;if(!a){a=this.getUniqueId()}this.getId=this.getOptimizedId;return a}});Ext.define('Ext.mixin.Observable',function(d){var e=Ext.emptyFn,g=[],f=Array.prototype,b=f.slice,a=function(c){if(c instanceof a){return c}this.observable=c;if(arguments[1].isObservable){this.managedListeners=!0}this.args=b.call(arguments,1)},c=['events','hasListeners','managedListeners','eventedBeforeEventNames'];a.prototype.destroy=function(){var b=this,e=b.args,a=b.observable,c=e[0].element||(e[3]&&e[3].element);if(c){if(Ext.Array.indexOf(a.referenceList,c)===-1){Ext.Logger.error("Destroying event listener with an invalid element reference of '"+c+"' for this component. Available values are: '"+a.referenceList.join("', '")+"'",a)}a=a[c]}if(!a.destroyed){a[b.managedListeners?'mun':'un'].apply(a,b.args)}b.destroy=Ext.emptyFn};return {extend:Ext.Mixin,mixinConfig:{id:'observable',after:{destroy:'destroyObservable'}},mixins:[Ext.mixin.Identifiable],statics:{releaseCapture:function(a){a.fireEventArgs=this.prototype.fireEventArgs},capture:function(e,c,a){var b=function(b,f){return c.apply(a,[b].concat(f))};this.captureArgs(e,b,a)},captureArgs:function(a,c,b){a.fireEventArgs=Ext.Function.createInterceptor(a.fireEventArgs,c,b)},observe:function(a,b){if(a){if(!a.isObservable){Ext.applyIf(a,new this());this.captureArgs(a.prototype,a.fireEventArgs,a)}if(Ext.isObject(b)){a.on(b)}}return a},prepareClass:function(a,f,o){var k=a.listeners=[],l=o||a.prototype,e=l.listeners,i=f?f.listeners:a.superclass.self.listeners,p,b,h,g,m;if(i){k.push(i)}if(e){b=e.scope;if(!b){e.scope='self'}else {h=Ext._namedScopes[b];if(h&&h.isController){e.scope='self.controller'}}k.push(e);l.listeners=null}if(!a.HasListeners){var j=function(){},n=a.superclass.HasListeners||(f&&f.HasListeners)||d.HasListeners;a.prototype.HasListeners=a.HasListeners=j;j.prototype=a.hasListeners=new n()}b=a.prototype.$noClearOnDestroy||{};for(g=0,m=c.length;g<m;g++){b[c[g]]=!0}a.prototype.$noClearOnDestroy=b}},isObservable:!0,$vetoClearingPrototypeOnDestroy:!0,eventsSuspended:0,constructor:function(c){var a=this,h=a.self,f,b,g,i,e;if(a.$observableInitialized){return}a.$observableInitialized=!0;a.hasListeners=a.hasListeners=new a.HasListeners();a.eventedBeforeEventNames={};a.events=a.events||{};f=h.listeners;if(f&&!a._addDeclaredListeners(f)){h.listeners=null}b=(c&&c.listeners)||a.listeners;if(b){if(b instanceof Array){for(e=0,i=b.length;e<i;++e){a.addListener(b[e])}}else {a.addListener(b)}}g=(c&&c.bubbleEvents)||a.bubbleEvents;if(g){a.enableBubble(g)}if(a.$applyConfigs){if(c){Ext.apply(a,c)}}else {a.initConfig(c)}if(b){a.listeners=null}},onClassExtended:function(a,b){if(!a.HasListeners){d.prepareClass(a,a.prototype.$observableMixedIn?undefined:b)}},$eventOptions:{scope:1,delay:1,buffer:1,onFrame:1,single:1,args:1,destroyable:1,priority:1,order:1},$orderToPriority:{before:100,current:0,after:-100},_addDeclaredListeners:function(b){var a=this;if(b instanceof Array){Ext.each(b,a._addDeclaredListeners,a)}else {a._addedDeclaredListeners=!0;a.addListener(b)}return a._addedDeclaredListeners},addManagedListener:function(h,c,j,i,b,l){var f=this,m=f.managedListeners=f.managedListeners||[],g,k;if(typeof c!=='string'){k=arguments.length>4?b:c;b=c;for(c in b){if(b.hasOwnProperty(c)){g=b[c];if(!h.$eventOptions[c]){f.addManagedListener(h,c,g.fn||g,g.scope||b.scope||i,g.fn?g:k,!0)}}}if(b&&b.destroyable){return new a(f,h,b)}}else {if(j!==e){h.doAddListener(c,j,i,b,null,f,f);if(!l&&b&&b.destroyable){return new a(f,h,c,j,i)}}}},removeManagedListener:function(e,a,k,j){var f=this,b,c,h,i,g;if(e.$observableDestroyed){return}if(typeof a!=='string'){b=a;for(a in b){if(b.hasOwnProperty(a)){c=b[a];if(!e.$eventOptions[a]){f.removeManagedListener(e,a,c.fn||c,c.scope||b.scope||j)}}}}else {h=f.managedListeners?f.managedListeners.slice():[];a=Ext.canonicalEventName(a);for(g=0,i=h.length;g<i;g++){f.removeManagedListenerItem(!1,h[g],e,a,k,j)}}},fireEvent:function(a){return this.fireEventArgs(a,b.call(arguments,1))},resolveListenerScope:function(b){var a=Ext._namedScopes[b];if(a){if(a.isController){Ext.raise('scope: "controller" can only be specified on classes that derive from Ext.Component or Ext.Widget')}if(a.isSelf||a.isThis){b=null}}return b||this},fireEventArgs:function(a,h){a=Ext.canonicalEventName(a);var b=this,c=b.events,e=c&&c[a],f=!0;if(b.hasListeners[a]){f=b.doFireEvent(a,h||g,e?e.bubble:!1)}return f},fireAction:function(c,g,b,e,a,f){if(typeof b==='string'&&!e){b=this[b]}a=a?Ext.Object.chain(a):{};a.single=!0;a.priority=((f==='after')?-99.5:99.5);this.doAddListener(c,b,e,a);this.fireEventArgs(c,g)},$eventedController:{_paused:1,pause:function(){++this._paused},resume:function(){var a=this,b=a.fn,c=a.scope,g=a.fnArgs,h=a.owner,e,f;if(!--a._paused){if(b){e=Ext.Array.slice(g||a.args);if(g===!1){e.shift()}a.fn=null;e.push(a);if(Ext.isFunction(b)){f=b.apply(c,e)}else if(c&&Ext.isString(b)&&Ext.isFunction(c[b])){f=c[b].apply(c,e)}if(f===!1){return !1}}if(!a._paused){return a.owner.fireEventArgs(a.eventName,a.args)}}}},fireEventedAction:function(a,b,k,j,i){var c=this,e=c.eventedBeforeEventNames,h=e[a]||(e[a]='before'+a),f=Ext.apply({owner:c,eventName:a,fn:k,scope:j,fnArgs:i,args:b},c.$eventedController),g;b.push(f);g=c.fireEventArgs(h,b);b.pop();if(g===!1){return !1}return f.resume()},doFireEvent:function(e,g,h){var a=this,f,b,c=!0;do{if(a.eventsSuspended){if((f=a.eventQueue)){f.push([e,g])}return c}else {b=a.events&&a.events[e];if(b&&b!==!0){if((c=b.fire.apply(b,g))===!1){break}}}}while(h&&(a=a.getBubbleParent()));return c},getBubbleParent:function(){var b=this,a=b.getBubbleTarget&&b.getBubbleTarget();if(a&&a.isObservable){return a}return null},addListener:function(e,o,h,b,n,m){var c=this,l=Ext._namedScopes,g,f,j,i,k;if(typeof e!=='string'){b=e;h=b.scope;f=h&&l[h];j=f&&f.isSelf;k=((c.isComponent||c.isWidget)&&b.element)?c.$elementEventOptions:c.$eventOptions;for(e in b){g=b[e];if(!k[e]){i=g.scope;if(i&&j){f=l[i];if(f&&f.isController){i='self.controller'}}c.doAddListener(e,g.fn||g,i||h,g.fn?g:b,n,m)}}if(b&&b.destroyable){return new a(c,b)}}else {c.doAddListener(e,o,h,b,n,m);if(b&&b.destroyable){return new a(c,e,o,h,b)}}return c},removeListener:function(a,h,g,f){var c=this,e,b;if(typeof a!=='string'){b=a;f=f||c.$eventOptions;for(a in b){if(b.hasOwnProperty(a)){e=b[a];if(!c.$eventOptions[a]){c.doRemoveListener(a,e.fn||e,e.scope||b.scope)}}}}else {c.doRemoveListener(a,h,g)}return c},onBefore:function(a,e,c,b){return this.addListener(a,e,c,b,'before')},onAfter:function(a,e,c,b){return this.addListener(a,e,c,b,'after')},unBefore:function(a,e,c,b){return this.removeListener(a,e,c,b,'before')},unAfter:function(a,e,c,b){return this.removeListener(a,e,c,b,'after')},addBeforeListener:function(){return this.onBefore.apply(this,arguments)},addAfterListener:function(){return this.onAfter.apply(this,arguments)},removeBeforeListener:function(){return this.unBefore.apply(this,arguments)},removeAfterListener:function(){return this.unAfter.apply(this,arguments)},clearListeners:function(){var c=this,a=c.events,f=c.hasListeners,e,b;if(a){for(b in a){if(a.hasOwnProperty(b)){e=a[b];if(e.isEvent){delete f[b];e.clearListeners()}}}c.events=null}c.clearManagedListeners()},purgeListeners:function(){if(Ext.global.console){Ext.global.console.warn('Observable: purgeListeners has been deprecated. Please use clearListeners.')}return this.clearListeners.apply(this,arguments)},clearManagedListeners:function(){var b=this,a=b.managedListeners,c,e;if(a){b.managedListeners=null;for(c=0,e=a.length;c<e;c++){b.removeManagedListenerItem(!0,a[c])}a.length=0}b.managedListeners=a},removeManagedListenerItem:function(b,a,g,f,e,c){if(b||(a.item===g&&a.ename===f&&(!e||a.fn===e)&&(!c||a.scope===c))){if(!a.item.destroyed){a.item.doRemoveListener(a.ename,a.fn,a.scope,a.options)}if(!b){Ext.Array.remove(this.managedListeners,a)}}},purgeManagedListeners:function(){if(Ext.global.console){Ext.global.console.warn('Observable: purgeManagedListeners has been deprecated. Please use clearManagedListeners.')}return this.clearManagedListeners.apply(this,arguments)},hasListener:function(a){a=Ext.canonicalEventName(a);return !!this.hasListeners[a]},isSuspended:function(a){var b=this.eventsSuspended>0,c=this.events;if(!b&&a&&c){a=c[a];if(a&&a.isEvent){return a.isSuspended()}}return b},suspendEvents:function(a){++this.eventsSuspended;if(a&&!this.eventQueue){this.eventQueue=[]}},suspendEvent:function(){var e=this,f=e.events,g=arguments.length,c,b,a;for(c=0;c<g;c++){a=arguments[c];a=Ext.canonicalEventName(a);b=f[a];if(!b||!b.isEvent){b=e._initEvent(a)}b.suspend()}},resumeEvent:function(){var c=this.events||0,f=c&&arguments.length,b,a,e;for(b=0;b<f;b++){e=Ext.canonicalEventName(arguments[b]);a=c[e];if(a&&a.resume){a.resume()}}},resumeEvents:function(f){var a=this,c=a.eventQueue,e,b;if(a.eventsSuspended&&!--a.eventsSuspended){delete a.eventQueue;if(!f&&c){e=c.length;for(b=0;b<e;b++){a.fireEventArgs.apply(a,c[b])}}}},relayEvents:function(i,c,j){var g=this,k=c.length,b=0,f,h,e={};if(Ext.isObject(c)){for(b in c){h=c[b];e[b]=g.createRelayer(h)}}else {for(;b<k;b++){f=c[b];e[f]=g.createRelayer(j?j+f:f)}}g.mon(i,e,null,null,undefined);return new a(g,i,e)},createRelayer:function(e,a){var c=this;return function(){return c.fireEventArgs.call(c,e,a?b.apply(arguments,a):arguments)}},enableBubble:function(e){if(e){var f=this,h=(typeof e=='string')?arguments:e,g=f.events,i=g&&h.length,a,b,c;for(c=0;c<i;++c){a=h[c];a=Ext.canonicalEventName(a);b=g[a];if(!b||!b.isEvent){b=f._initEvent(a)}f.hasListeners._incr_(a);b.bubble=!0}}},destroy:function(){this.clearListeners();this.callParent();this.destroyObservable(!0)},destroyObservable:function(c){var a=this,b=a.clearPropertiesOnDestroy;if(a.$observableDestroyed){return}if(!c){a.clearListeners()}if(a.destroyed){if(b){if(b===!0&&!a.$nulled){a.$reap()}if(!a.clearPrototypeOnDestroy){a.fireEvent=a.fireEventArgs=a.fireAction=a.fireEventedAction=Ext.emptyFn}a.events=a.managedListeners=a.eventedBeforeEventNames=null;a.$observableDestroyed=!0}if(a.clearPrototypeOnDestroy&&Object.setPrototypeOf&&!a.$alreadyNulled){Object.setPrototypeOf(a,null);a.$alreadyNulled=!0}}},privates:{doAddListener:function(c,j,g,a,h,m,i){var b=this,l=!1,f,k;h=h||(a&&a.order);if(h){k=(a&&a.priority);if(!k){a=a?Ext.Object.chain(a):{};a.priority=b.$orderToPriority[h]}}c=Ext.canonicalEventName(c);if(!j){Ext.raise("Cannot add '"+c+"' listener to "+b.$className+" instance.  No function specified.")}f=(b.events||(b.events={}))[c];if(!f||!f.isEvent){f=b._initEvent(c)}if(j!==e){if(!i&&(g&&g.isObservable&&(g!==b))){i=g}if(f.addListener(j,g,a,m,i)){b.hasListeners._incr_(c);l=!0}}return l},doRemoveListener:function(a,g,h){var c=this,f=!1,e=c.events,b;a=Ext.canonicalEventName(a);b=e&&e[a];if(!g){Ext.raise("Cannot remove '"+a+"' listener to "+c.$className+" instance.  No function specified.")}if(b&&b.isEvent){if(b.removeListener(g,h)){c.hasListeners._decr_(a);f=!0}}return f},_initEvent:function(a){return (this.events[a]=new Ext.util.Event(this,a))}},deprecated:{'5.0':{methods:{addEvents:null}}}}},function(){var a=this,c=a.prototype,d=function(){},b=function(c){if(!c.HasListeners){var d=c.prototype;d.$observableMixedIn=1;a.prepareClass(c,this);c.onExtended(function(d,b){Ext.classSystemMonitor&&Ext.classSystemMonitor('extend mixin',arguments);a.prepareClass(d,null,b)});if(d.onClassMixedIn){Ext.override(c,{onClassMixedIn:function(a){b.call(this,a);this.callParent(arguments)}})}else {d.onClassMixedIn=function(a){b.call(this,a)}}}e.call(this,c)},e=c.onClassMixedIn;d.prototype={_decr_:function(b,a){if(a==null){a=1}if(!(this[b]-=a)){delete this[b]}},_incr_:function(a){if(this.hasOwnProperty(a)){++this[a]}else {this[a]=1}}};c.HasListeners=a.HasListeners=d;a.createAlias({on:'addListener',un:'removeListener',mon:'addManagedListener',mun:'removeManagedListener',setListeners:'addListener'});a.observeClass=a.observe;function getMethodEvent(e){var a=(this.methodEvents=this.methodEvents||{})[e],c,b,d,f=this,g;if(!a){f.methodEvents[e]=a={};a.originalFn=f[e];a.methodName=e;a.before=[];a.after=[];g=function(g,a,h){a=a||f;if(typeof g==='string'){g=a[g]}if((b=g.apply(a,h))!==undefined){if(typeof b=='object'){if(b.returnValue!==undefined){c=b.returnValue}else {c=b}d=!!b.cancel}else if(b===!1){d=!0}else {c=b}}};f[e]=function(){var i=Array.prototype.slice.call(arguments,0),l=i.length,h,j,k;c=b=undefined;d=!1;for(j=0,k=a.before.length;j<k;j++){h=a.before[j];if(h.extraArgs){i.push.apply(i,h.extraArgs)}g(h.fn,h.scope,i);i.length=l;if(d||h.preventDefault){return c}}if((b=a.originalFn.apply(f,i))!==undefined){c=b}for(j=0,k=a.after.length;j<k;j++){h=a.after[j];if(h.extraArgs){i.push.apply(i,h.extraArgs)}g(h.fn,h.scope,i);i.length=l;if(d||h.preventDefault){return c}}return c}}return a}Ext.apply(c,{onClassMixedIn:b,beforeMethod:function(c,e,d,a,b){getMethodEvent.call(this,c).before.push({fn:e,scope:d,extraArgs:b,preventDefault:a})},afterMethod:function(c,e,d,a,b){getMethodEvent.call(this,c).after.push({fn:e,scope:d,extraArgs:b,preventDefault:a})},removeMethodListener:function(f,e,d){var b=getMethodEvent.call(this,f),a,c;for(a=0,c=b.before.length;a<c;a++){if(b.before[a].fn==e&&b.before[a].scope==d){Ext.Array.erase(b.before,a,1);return}}for(a=0,c=b.after.length;a<c;a++){if(b.after[a].fn==e&&b.after[a].scope==d){Ext.Array.erase(b.after,a,1);return}}},toggleEventLogging:function(a){Ext.util.Observable[a?'capture':'releaseCapture'](this,function(b){if(Ext.isDefined(Ext.global.console)){Ext.global.console.log(b,arguments)}})}})});Ext.define('Ext.util.HashMap',{mixins:[Ext.mixin.Observable],generation:0,config:{keyFn:null},constructor:function(c){var a=this,b;a.mixins.observable.constructor.call(a,c);a.clear(!0);b=a.getKeyFn();if(b){a.getKey=b}},getCount:function(){return this.length},getData:function(b,a){if(a===undefined){a=b;b=this.getKey(a)}return [b,a]},getKey:function(a){return a.id},add:function(c,b){var a=this;if(arguments.length===1){b=c;c=a.getKey(b)}if(a.containsKey(c)){return a.replace(c,b)}a.map[c]=b;++a.length;a.generation++;if(a.hasListeners.add){a.fireEvent('add',a,c,b)}return b},replace:function(b,c){var a=this,d=a.map,e;if(arguments.length===1){c=b;b=a.getKey(c)}if(!a.containsKey(b)){a.add(b,c)}e=d[b];d[b]=c;a.generation++;if(a.hasListeners.replace){a.fireEvent('replace',a,b,c,e)}return c},remove:function(b){var a=this.findKey(b);if(a!==undefined){return this.removeAtKey(a)}return !1},removeAtKey:function(b){var a=this,c;if(a.containsKey(b)){c=a.map[b];delete a.map[b];--a.length;a.generation++;if(a.hasListeners.remove){a.fireEvent('remove',a,b,c)}return !0}return !1},get:function(a){var b=this.map;return b.hasOwnProperty(a)?b[a]:undefined},clear:function(b){var a=this;if(b||a.generation){a.map={};a.length=0;a.generation=b?0:a.generation+1}if(b!==!0&&a.hasListeners.clear){a.fireEvent('clear',a)}return a},containsKey:function(a){var b=this.map;return b.hasOwnProperty(a)&&b[a]!==undefined},contains:function(a){return this.containsKey(this.findKey(a))},getKeys:function(){return this.getArray(!0)},getValues:function(){return this.getArray(!1)},getArray:function(d){var c=[],a,b=this.map;for(a in b){if(b.hasOwnProperty(a)){c.push(d?a:b[a])}}return c},each:function(e,c){var b=Ext.apply({},this.map),a,d=this.length;c=c||this;for(a in b){if(b.hasOwnProperty(a)){if(e.call(c,a,b[a],d)===!1){break}}}return this},clone:function(){var a=new this.self(this.initialConfig),c=this.map,b;a.suspendEvents();for(b in c){if(c.hasOwnProperty(b)){a.add(b,c[b])}}a.resumeEvents();return a},findKey:function(c){var a,b=this.map;for(a in b){if(b.hasOwnProperty(a)&&b[a]===c){return a}}return undefined}},function(b){var a=b.prototype;a.removeByKey=a.removeAtKey});Ext.define('Ext.AbstractManager',{typeName:'type',constructor:function(a){Ext.apply(this,a||{});this.all=new Ext.util.HashMap();this.types={}},get:function(a){return this.all.get(a)},register:function(b){var a=this.all.getKey(b);if(a===undefined){Ext.raise('Key is undefined. Please ensure the item has a key before registering the item.')}if(this.all.containsKey(a)){Ext.raise('Registering duplicate id "'+a+'" with '+this.$className)}this.all.add(b)},unregister:function(a){this.all.remove(a)},registerType:function(a,b){this.types[a]=b;b[this.typeName]=a},isRegistered:function(a){return this.types[a]!==undefined},create:function(a,d){var c=a[this.typeName]||a.type||d,b=this.types[c];if(b===undefined){Ext.raise("The '"+c+"' type has not been registered with this manager")}return new b(a)},onAvailable:function(d,f,e){var a=this.all,c,b;if(a.containsKey(d)){c=a.get(d);f.call(e||c,c)}else {b=function(h,g,c){if(g==d){f.call(e||c,c);a.un('add',b)}};a.on('add',b)}},each:function(b,a){this.all.each(b,a||this)},getCount:function(){return this.all.getCount()}});Ext.define('Ext.promise.Consequence',function(a){return {promise:null,deferred:null,onFulfilled:null,onRejected:null,onProgress:null,constructor:function(c,e,d){var b=this;b.onFulfilled=c;b.onRejected=e;b.onProgress=d;b.deferred=new Ext.promise.Deferred();b.promise=b.deferred.promise},trigger:function(e,d){var b=this,c=b.deferred;switch(e){case 'fulfill':b.propagate(d,b.onFulfilled,c,c.resolve);break;case 'reject':b.propagate(d,b.onRejected,c,c.reject);break;}},update:function(b){if(Ext.isFunction(this.onProgress)){b=this.onProgress(b)}this.deferred.update(b)},propagate:function(d,b,c,e){if(Ext.isFunction(b)){this.schedule(function(){try{c.resolve(b(d))}catch(f){c.reject(f)}})}else {e.call(this.deferred,d)}},schedule:function(c){var b=a.queueSize++;a.queue[b]=c;if(!b){Ext.asap(a.dispatch)}},statics:{queue:new Array(10000),queueSize:0,dispatch:function(){var c=a.queue,d,b;for(b=0;b<a.queueSize;++b){d=c[b];c[b]=null;d()}a.queueSize=0}}}},function(a){a.dispatch.$skipTimerCheck=!0});Ext.define('Ext.promise.Deferred',{promise:null,consequences:[],completed:!1,completionAction:null,completionValue:null,constructor:function(){var a=this;a.promise=new Ext.promise.Promise(a);a.consequences=[];a.completed=!1;a.completionAction=null;a.completionValue=null},then:function(c,e,d){var a=this,b=new Ext.promise.Consequence(c,e,d);if(a.completed){b.trigger(a.completionAction,a.completionValue)}else {a.consequences.push(b)}return b.promise},resolve:function(a){var b=this,c,d;if(b.completed){return}try{if(a===b.promise){throw new TypeError('A Promise cannot be resolved with itself.')}if(a!=null&&(typeof a==='object'||Ext.isFunction(a))&&Ext.isFunction(d=a.then)){c=!1;try{d.call(a,function(d){if(!c){c=!0;b.resolve(d)}},function(d){if(!c){c=!0;b.reject(d)}})}catch(e){if(!c){b.reject(e)}}}else {b.complete('fulfill',a)}}catch(f){b.reject(f)}},reject:function(a){if(this.completed){return}this.complete('reject',a)},update:function(e){var b=this.consequences,c,a,d;if(this.completed){return}for(a=0,d=b.length;a<d;a++){c=b[a];c.update(e)}},complete:function(f,g){var a=this,c=a.consequences,d,b,e;a.completionAction=f;a.completionValue=g;a.completed=!0;for(b=0,e=c.length;b<e;b++){d=c[b];d.trigger(a.completionAction,a.completionValue)}a.consequences=null}});Ext.define('Ext.promise.Promise',function(a){var b;return {statics:{CancellationError:Ext.global.CancellationError||Error,_ready:function(){b=Ext.promise.Deferred},all:function(c){if(!(Ext.isArray(c)||a.is(c))){Ext.raise('Invalid parameter: expected an Array or Promise of an Array.')}return a.when(c).then(function(f){var g=new b(),e=f.length,h=new Array(e),d,j,k,i,l;if(!e){g.resolve(h)}else {k=function(d,b){return a.when(d).then(function(i){h[b]=i;if(!--e){g.resolve(h)}return i},function(e){return g.reject(e)})};for(d=i=0,l=f.length;i<l;d=++i){j=f[d];if(d in f){k(j,d)}else {e--}}}return g.promise})},is:function(b){return b!=null&&(typeof b==='object'||Ext.isFunction(b))&&Ext.isFunction(b.then)},race:function(d){if(!Ext.isArray(d)){Ext.raise('Invalid parameter: expected an Array.')}var e=new b(),f=d.length,c;for(c=0;c<f;++c){e.resolve(d[c])}return e.promise},rethrowError:function(b){Ext.asap(function(){throw b})},when:function(d){var c=new b();c.resolve(d);return c.promise}},owner:null,constructor:function(b){this.owner=b},then:function(b,d,c,e){var f;if(arguments.length===1&&Ext.isObject(arguments[0])){f=arguments[0];b=f.success;d=f.failure;c=f.progress;e=f.scope}if(e){if(b){b=b.bind(e)}if(d){d=d.bind(e)}if(c){c=c.bind(e)}}return this.owner.then(b,d,c)},'catch':function(b,c){var d;if(arguments.length===1&&Ext.isObject(arguments[0])){d=arguments[0];b=d.fn;c=d.scope}if(c!=null){b=b.bind(c)}return this.owner.then(null,b)},otherwise:function(b,c){return this['catch'].apply(this,arguments)},always:function(b,c){var d;if(arguments.length===1&&Ext.isObject(arguments[0])){d=arguments[0];b=d.fn;c=d.scope}if(c!=null){b=b.bind(c)}return this.owner.then(function(d){try{b()}catch(e){a.rethrowError(e)}return d},function(d){try{b()}catch(e){a.rethrowError(e)}throw d})},done:function(){this.owner.then(null,a.rethrowError)},cancel:function(b){if(b==null){b=null}this.owner.reject(new this.self.CancellationError(b))},log:function(b){if(b==null){b=''}return this.owner.then(function(c){Ext.log(""+(b||'Promise')+" resolved with value: "+c);return c},function(c){Ext.log(""+(b||'Promise')+" rejected with reason: "+c);throw c})}}},function(a){a._ready()});Ext.define('Ext.Promise',function(){var a;return {statics:{_ready:function(){a=Ext.promise.Promise},all:function(){return a.all.apply(a,arguments)},race:function(){return a.race.apply(a,arguments)},reject:function(b){var a=new Ext.promise.Deferred();a.reject(b);return a.promise},resolve:function(b){var a=new Ext.promise.Deferred();a.resolve(b);return a.promise}},constructor:function(b){var a=new Ext.promise.Deferred();b(a.resolve.bind(a),a.reject.bind(a));return a.promise}}},function(b){var a=Ext.global.Promise;if(a&&a.resolve&&!Ext.useExtPromises){Ext.Promise=a}else {b._ready()}});Ext.define('Ext.Deferred',function(a){var b,c,d,e;return {extend:Ext.promise.Deferred,statics:{_ready:function(){b=Ext.promise.Promise;e=Ext.Promise.resolve},all:function(){return b.all.apply(b,arguments)},any:function(c){if(!(Ext.isArray(c)||b.is(c))){Ext.raise('Invalid parameter: expected an Array or Promise of an Array.')}return a.some(c,1).then(function(b){return b[0]},function(b){if(b instanceof Error&&b.message==='Too few Promises were resolved.'){Ext.raise('No Promises were resolved.')}else {throw b}})},delay:function(d,c){var b;if(arguments.length===1){c=d;d=undefined}c=Math.max(c,1);b=new a();b.timeoutId=Ext.defer(function(){delete b.timeoutId;b.resolve(d)},c);return b.promise},getCachedRejected:function(){if(!c){c=Ext.Promise.reject()}return c},getCachedResolved:function(){if(!d){d=Ext.Promise.resolve()}return d},map:function(c,d){if(!(Ext.isArray(c)||b.is(c))){Ext.raise('Invalid parameter: expected an Array or Promise of an Array.')}if(!Ext.isFunction(d)){Ext.raise('Invalid parameter: expected a function.')}return a.resolved(c).then(function(b){var e,g,j,h,k,f,i,l;h=b.length;f=new Array(b.length);e=new a();if(!h){e.resolve(f)}else {k=function(i,g){return a.resolved(i).then(function(e){return d(e,g,f)}).then(function(j){f[g]=j;if(!--h){e.resolve(f)}return j},function(f){return e.reject(f)})};for(g=i=0,l=b.length;i<l;g=++i){j=b[g];if(g in b){k(j,g)}else {h--}}}return e.promise})},memoize:function(e,b,d){var c=Ext.Function.memoize(e,b,d);return function(){return a.all(Ext.Array.slice(arguments)).then(function(f){return c.apply(b,f)})}},parallel:function(d,b){if(b==null){b=null}var c=Ext.Array.slice(arguments,2);return a.map(d,function(e){if(!Ext.isFunction(e)){throw new Error('Invalid parameter: expected a function.')}return e.apply(b,c)})},pipeline:function(d,c,b){if(b==null){b=null}return a.reduce(d,function(f,e){if(!Ext.isFunction(e)){throw new Error('Invalid parameter: expected a function.')}return e.call(b,f)},c)},race:function(){return b.race.apply(b,arguments)},reduce:function(c,d,f){if(!(Ext.isArray(c)||b.is(c))){Ext.raise('Invalid parameter: expected an Array or Promise of an Array.')}if(!Ext.isFunction(d)){Ext.raise('Invalid parameter: expected a function.')}var e=arguments.length===3;return a.resolved(c).then(function(b){var g=[b,function(e,g,h){return a.resolved(e).then(function(i){return a.resolved(g).then(function(j){return d(i,j,h,b)})})}];if(e){g.push(f)}return Ext.Array.reduce.apply(Ext.Array,g)})},rejected:function(c){var b=new Ext.Deferred();b.reject(c);return b.promise},resolved:function(c){var b=new Ext.Deferred();b.resolve(c);return b.promise},sequence:function(d,b){if(b==null){b=null}var c=Ext.Array.slice(arguments,2);return a.reduce(d,function(e,f){if(!Ext.isFunction(f)){throw new Error('Invalid parameter: expected a function.')}return a.resolved(f.apply(b,c)).then(function(c){e.push(c);return e})},[])},some:function(d,c){if(!(Ext.isArray(d)||b.is(d))){Ext.raise('Invalid parameter: expected an Array or Promise of an Array.')}if(!Ext.isNumeric(c)||c<=0){Ext.raise('Invalid parameter: expected a positive integer.')}return a.resolved(d).then(function(e){var f,g,m,l,k,h,b,i,j,n;i=[];b=c;h=(e.length-b)+1;f=new a();if(e.length<c){f.reject(new Error('Too few Promises were resolved.'))}else {l=function(g){if(b>0){i.push(g)}b--;if(b===0){f.resolve(i)}return g};m=function(b){h--;if(h===0){f.reject(new Error('Too few Promises were resolved.'))}return b};for(g=j=0,n=e.length;j<n;g=++j){k=e[g];if(g in e){a.resolved(k).then(l,m)}}}return f.promise})},timeout:function(d,e){var c=new a(),b;b=Ext.defer(function(){if(b){c.reject(new Error('Promise timed out.'))}},e);a.resolved(d).then(function(f){Ext.undefer(b);b=null;c.resolve(f)},function(f){Ext.undefer(b);b=null;c.reject(f)});return c.promise}}}},function(a){a._ready()});Ext.Factory=function(b){var a=this;a.aliasPrefix=b+'.';a.cache={};a.name=b.replace(a.fixNameRe,a.fixNameFn);a.type=b;a.creator='create'+Ext.String.capitalize(a.name)};Ext.Factory.prototype={defaultProperty:'type',instanceProp:'isInstance',typeProperty:'type',create:function(a,f){var d=this,g=Ext.ClassManager,j=d.cache,i=d.typeProperty,h,e,b,c;if(a){if(a[d.instanceProp]){return a}if(typeof a==='string'){c=a;a={};a[d.defaultProperty]=c}e=a.xclass;c=a[i]}if(f&&f.constructor===Object){a=Ext.apply({},a,f);f=f[i]}if(e){if(!(b=g.get(e))){return g.instantiate(e,a)}}else {if(!(c=c||f||d.defaultType)){b=d.defaultClass}if(!c&&!b){Ext.raise('No type specified for '+d.type+'.create')}if(!b&&!(b=j[c])){h=d.aliasPrefix+c;e=g.getNameByAlias(h);if(!(b=e&&g.get(e))){return g.instantiateByAlias(h,a)}j[c]=b}}return b.isInstance?b:new b(a)},fixNameRe:/\.[a-z]/ig,fixNameFn:function(a){return a.substring(1).toUpperCase()},clearCache:function(){this.cache={};this.instanceCache={}},hook:function(c){var a=this,b=a.create;a.create=function(f,e){var d=c.call(a,b,f,e);if(d===undefined){d=b.call(a,f,e)}return d}},update:function(c,a,h,f,j){var e=this,d,g,i,b;if(!a||a.isInstance){if(a&&!a[e.instanceProp]){Ext.raise('Config instance failed '+e.instanceProp+' requirement')}if(c&&c!==a){c.destroy()}return a}if(typeof a==='string'){b=a;a={};a[e.defaultProperty]=b}if(c){if(a===!0){return c}if(!(b=a.xclass)){if(!(b=a.xtype)){b=a[e.typeProperty];if(b){b=e.aliasPrefix+b;d=c.self.prototype;if(d.hasOwnProperty('alias')){d=d.alias;if(d){i=d===b||d.indexOf(b)>-1}}}}else {i=c.isXType(b,!0)}}else {i=c.$className===b}if(i){c.setConfig(a);return c}c.destroy()}if(a===!0){a={}}if(h){if(j){g=Ext.Config.map[j];g=h[g.names.get]();if(g){a=Ext.merge(Ext.clone(g),a)}}f=f||e.creator;if(h[f]){a=h[f](a);if(!a){Ext.raise('Missing return value from '+f+' on class '+h.$className)}}}return e.create(a)}};Ext.Factory.define=function(e,b){var d=Ext.Factory,g=b&&b.cacheable,f,a,c;if(e.constructor===Object){Ext.Object.each(e,d.define,d)}else {a=new Ext.Factory(e);if(b){if(b.constructor===Object){Ext.apply(a,b);if(typeof (f=a.xclass)==='string'){a.defaultClass=Ext.ClassManager.get(f)}}else {a.defaultType=b}}d[a.name]=c=function(d,c){return a.create(d,c)};if(g){a.instanceCache={};a.hook(function(g,c,f){var d=this.instanceCache,a;if(typeof c==='string'&&!(a=d[c])){a=g.call(this,c,f);if(a.cacheable!==!1){d[c]=a;Ext.Object.freeze(a)}}return a})}c.instance=a;c.update=function(f,h,g,d,c){return a.update(f,h,g,d,c)}}return c};Ext.Factory.clearCaches=function(){var b=Ext.Factory,c,a;for(c in b){a=b[c];a=a.instance;if(a){a.clearCache()}}};Ext.Factory.on=function(a,b){Ext.Factory[a].instance.hook(b)};Ext.define('Ext.mixin.Factoryable',{mixinId:'factoryable',onClassMixedIn:function(c){var d=c.prototype,f=d.factoryConfig,a=d.alias,b={},e,g;a=a&&a.length&&a[0];if(a&&(e=a.lastIndexOf('.'))>0){b.type=a.substring(0,e);b.defaultType=a.substring(e+1)}if(f){delete d.factoryConfig;Ext.apply(b,f)}g=Ext.Factory.define(b.type,b);if(c.create===Ext.Base.create){c.create=g}}});Ext.define('Ext.data.request.Base',{mixins:[Ext.mixin.Factoryable],factoryConfig:{type:'request',defaultType:'ajax'},result:null,success:null,timer:null,constructor:function(a){var b=this;Ext.apply(b,a.options||{},a.ownerConfig);b.id=++Ext.data.Connection.requestId;b.owner=a.owner;b.options=a.options;b.requestOptions=a.requestOptions},start:function(){var a=this,b=a.getTimeout();if(b&&a.async){a.timer=Ext.defer(a.onTimeout,b,a)}},abort:function(){var a=this;a.clearTimer();if(!a.timedout){a.aborted=!0}a.abort=Ext.emptyFn},createDeferred:function(){var a=this,c=a.result,b=new Ext.Deferred();if(a.completed){if(a.success){b.resolve(c)}else {b.reject(c)}}a.deferred=b;return b},getDeferred:function(){return this.deferred||this.createDeferred()},getPromise:function(){return this.getDeferred().promise},then:function(){var a=this.getPromise();return a.then.apply(a,arguments)},onComplete:function(){var a=this,b=a.deferred,c=a.result;a.clearTimer();if(b){if(a.success){b.resolve(c)}else {b.reject(c)}}a.completed=!0},onTimeout:function(){var a=this;a.timedout=!0;a.timer=null;a.abort(!0)},getTimeout:function(){return this.timeout},clearTimer:function(){this.timer=Ext.undefer(this.timer)},destroy:function(){var a=this;a.abort();a.owner=a.options=a.requestOptions=a.result=null;a.callParent()},privates:{createException:function(){var a=this,b;b={request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?'transaction aborted':'communication failure',getResponseHeader:a._getHeader,getAllResponseHeaders:a._getHeaders};if(a.aborted){b.aborted=!0}if(a.timedout){b.timedout=!0}return b},_getHeader:function(b){var a=this.headers;return a&&a[b.toLowerCase()]},_getHeaders:function(){return this.headers}}});Ext.define('Ext.data.flash.BinaryXhr',{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(b,c,d){var a;a=this.liveConnections[Number(b)];if(a){a.onFlashStateChange(c,d)}else {Ext.warn.log("onFlashStateChange for unknown connection ID: "+b)}},registerConnection:function(b){var a=this.connectionIndex;this.conectionIndex=this.connectionIndex+1;this.liveConnections[a]=b;return a},injectFlashPlugin:function(){var c=this,b,a;c.flashPolyfillEl=Ext.getBody().appendChild({id:'ext-flash-polyfill',cn:[{tag:'p',html:'To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed.'},{tag:'a',href:'http://www.adobe.com/go/getflashplayer',cn:[{tag:'img',src:window.location.protocol+'//www.adobe.com/images/shared/download_buttons/get_flash_player.gif',alt:'Get Adobe Flash player'}]}]});b=[Ext.Loader.getPath('Ext.data.Connection'),'../../../plugins/flash/swfobject.js'].join('/');a="/plugins/flash/FlashPlugin.swf";a=[Ext.Loader.getPath('Ext.data.Connection'),'../../plugins/flash/FlashPlugin.swf'].join('/');if(Ext.flashPluginPath){a=Ext.flashPluginPath}Ext.Loader.loadScript({url:b,onLoad:function(){var d="11.4.0";var e="playerProductInstall.swf";var f={};var b={};b.quality="high";b.bgcolor="#ffffff";b.allowscriptaccess="sameDomain";b.allowfullscreen="true";var c={};c.id="ext-flash-polyfill";c.name="polyfill";c.align="middle";swfobject.embedSWF(a,"ext-flash-polyfill","0","0",d,e,f,b,c)},onError:function(){Ext.raise("Could not load flash-loader file swfobject.js from "+flashLoader)},scope:c});Ext.data.flash.BinaryXhr.flashPluginInjected=!0}},readyState:0,status:0,statusText:"",responseBytes:null,javascriptId:null,constructor:function(b){if(!Ext.data.flash.BinaryXhr.flashPluginInjected){Ext.data.flash.BinaryXhr.injectFlashPlugin()}var a=this;Ext.apply(a,b);a.requestHeaders={}},abort:function(){var a=this;if(a.readyState==4){Ext.warn.log("Aborting a connection that's completed its transfer: "+this.url);return}a.aborted=!0;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.removeListener("flashready",a.onFlashReady,a);return}Ext.data.flash.BinaryXhr.flashPlugin.abortRequest(a.javascriptId);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]},getAllResponseHeaders:function(){var a=[];Ext.Object.each(this.responseHeaders,function(c,b){a.push(c+': '+b)});return a.join('\r\n')},getResponseHeader:function(b){var a=this.responseHeaders;return (a&&a[b])||null},open:function(d,b,e,f,c){var a=this;a.method=d;a.url=b;a.async=e!==!1;a.user=f;a.password=c;if(!a.async){Ext.raise("Binary posts are only supported in async mode: "+b)}if(a.method!="POST"){Ext.log.warn("Binary data can only be sent as a POST request: "+b)}},overrideMimeType:function(a){this.mimeType=a},send:function(b){var a=this;a.body=b;if(!Ext.data.flash.BinaryXhr.flashPluginActive){Ext.GlobalEvents.addListener("flashready",a.onFlashReady,a)}else {this.onFlashReady()}},onFlashReady:function(){var a=this,b,c;a.javascriptId=Ext.data.flash.BinaryXhr.registerConnection(a);b={method:a.method,url:a.url,user:a.user,password:a.password,mimeType:a.mimeType,requestHeaders:a.requestHeaders,body:a.body,javascriptId:a.javascriptId};c=Ext.data.flash.BinaryXhr.flashPlugin.postBinary(b)},setReadyState:function(b){var a=this;if(a.readyState!=b){a.readyState=b;a.onreadystatechange()}},setRequestHeader:function(a,b){this.requestHeaders[a]=b},onreadystatechange:Ext.emptyFn,parseData:function(a){var b=this;this.status=a.status||0;b.responseHeaders={};if(b.mimeType){b.responseHeaders["content-type"]=b.mimeType}if(a.reason=="complete"){this.responseBytes=a.data;b.responseHeaders["content-length"]=a.data.length}else if(a.reason=="error"||a.reason=="securityError"){this.statusText=a.text;b.responseHeaders["content-length"]=0}else {Ext.raise("Unkown reason code in data: "+a.reason)}},onFlashStateChange:function(b,c){var a=this;if(b==4){a.parseData(c);delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId]}a.setReadyState(b)}});Ext.define('Ext.data.request.Ajax',{extend:Ext.data.request.Base,alias:'request.ajax',statics:{parseStatus:function(a,c){var b,d;if(c){b=c.responseType;if(b==='arraybuffer'){d=c.byteLength}else if(b==='blob'){d=c.response.size}else if(b==='json'||b==='document'){d=0}else if((b==='text'||b===''||!b)&&c.responseText){d=c.responseText.length}}a=a==1223?204:a;var f=(a>=200&&a<300)||a==304||(a==0&&Ext.isNumber(d)),e=!1;if(!f){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:e=!0;break;}}return {success:f,isException:e}}},start:function(f){var a=this,e=a.options,c=a.requestOptions,d=a.isXdr,b,g;b=a.xhr=a.openRequest(e,c,a.async,a.username,a.password);if(!d){g=a.setupHeaders(b,e,c.data,c.params)}if(a.async){if(!d){b.onreadystatechange=a.bindStateChange()}}if(d){a.processXdrRequest(a,b)}a.callParent([f]);b.send(f);if(!a.async){return a.onComplete()}return a},abort:function(c){var a=this,b=a.xhr;if(c||a.isLoading()){try{b.onreadystatechange=null}catch(d){b.onreadystatechange=Ext.emptyFn}b.abort();a.callParent([c]);a.onComplete();a.cleanup()}},cleanup:function(){this.xhr=null;delete this.xhr},isLoading:function(){var c=this,a=c.xhr,b=a&&a.readyState,d=Ext.data.flash&&Ext.data.flash.BinaryXhr;if(!a||c.aborted||c.timedout){return !1}if(d&&a instanceof d){return b!==4}return b!==0&&b!==4},openRequest:function(c,b,f,e,g){var d=this,a=d.newRequest(c);if(e){a.open(b.method,b.url,f,e,g)}else {if(d.isXdr){a.open(b.method,b.url)}else {a.open(b.method,b.url,f)}}if(c.binary||d.binary){if(window.Uint8Array){a.responseType='arraybuffer'}else if(a.overrideMimeType){a.overrideMimeType('text/plain; charset=x-user-defined')}else if(!Ext.isIE){Ext.log.warn("Your browser does not support loading binary data using Ajax.")}}if(c.responseType){a.responseType=c.responseType}if(c.withCredentials||d.withCredentials){a.withCredentials=!0}return a},newRequest:function(c){var a=this,b;if(c.binaryData){if(window.Uint8Array){b=a.getXhrInstance()}else {b=new Ext.data.flash.BinaryXhr()}}else if(a.cors&&Ext.isIE9m){b=a.getXdrInstance();a.isXdr=!0}else {b=a.getXhrInstance();a.isXdr=!1}return b},setupHeaders:function(m,f,j,l){var d=this,a=Ext.apply({},f.headers||{},d.defaultHeaders),e=d.defaultPostHeader,h=f.jsonData,i=f.xmlData,b='Content-Type',k=d.useDefaultXhrHeader,c,g;if(!a.hasOwnProperty(b)&&(j||l)){if(j){if(f.rawData){e='text/plain'}else {if(i&&Ext.isDefined(i)){e='text/xml'}else if(h&&Ext.isDefined(h)){e='application/json'}}}a[b]=e}if(k&&!a['X-Requested-With']){a['X-Requested-With']=d.defaultXhrHeader}if(a[b]===undefined||a[b]===null){delete a[b]}try{for(c in a){if(a.hasOwnProperty(c)){g=a[c];m.setRequestHeader(c,g)}}}catch(n){d.owner.fireEvent('exception',c,g)}return a},getXdrInstance:function(){var a;if(Ext.ieVersion>=8){a=new XDomainRequest()}else {Ext.raise({msg:'Your browser does not support CORS'})}return a},getXhrInstance:function(){return new XMLHttpRequest()},processXdrRequest:function(a,b){var c=this;delete a.headers;a.contentType=a.options.contentType||c.defaultXdrContentType;b.onload=c.bindStateChange(!0);b.onerror=b.ontimeout=c.bindStateChange(!1)},processXdrResponse:function(a,b){a.getAllResponseHeaders=function(){return []};a.getResponseHeader=function(){return ''};a.contentType=b.contentType||this.defaultXdrContentType},bindStateChange:function(a){var b=this;return function(){Ext.elevate(function(){b.onStateChange(a)})}},onStateChange:function(c){var a=this,b=a.xhr;if((b&&b.readyState==4)||a.isXdr){a.clearTimer();a.onComplete(c);a.cleanup()}},onComplete:function(h){var a=this,d=a.owner,b=a.options,e=a.xhr,i={success:!1,isException:!1},f,g,c;if(!e||a.destroyed){return a.result=i}try{f=Ext.data.request.Ajax.parseStatus(e.status,e);if(f.success){f.success=e.readyState===4}}catch(j){f=i}g=a.success=a.isXdr?h:f.success;if(g){c=a.createResponse(e);if(d.hasListeners.requestcomplete){d.fireEvent('requestcomplete',d,c,b)}if(b.success){Ext.callback(b.success,b.scope,[c,b])}}else {if(f.isException||a.aborted||a.timedout){c=a.createException(e)}else {c=a.createResponse(e)}if(d.hasListeners.requestexception){d.fireEvent('requestexception',d,c,b)}if(b.failure){Ext.callback(b.failure,b.scope,[c,b])}}a.result=c;if(b.callback){Ext.callback(b.callback,b.scope,[b,g,c])}d.onRequestComplete(a);a.callParent([h]);return c},createResponse:function(a){var d=this,h=d.isXdr,f={},i=h?[]:a.getAllResponseHeaders().replace(/\r\n/g,'\n').split('\n'),g=i.length,e,c,j,b,k;while(g--){e=i[g];c=e.indexOf(':');if(c>=0){j=e.substr(0,c).toLowerCase();if(e.charAt(c+1)==' '){++c}f[j]=e.substr(c+1)}}b={request:d,requestId:d.id,status:a.status,statusText:a.statusText,getResponseHeader:function(b){return f[b.toLowerCase()]},getAllResponseHeaders:function(){return f}};if(h){d.processXdrResponse(b,a)}if(d.binary){b.responseBytes=d.getByteArray(a)}else {if(a.responseType){b.responseType=a.responseType}if(a.responseType==='blob'){b.responseBlob=a.response}else if(a.responseType==='json'){b.responseJson=a.response}else if(a.responseType==='document'){b.responseXML=a.response}else {b.responseText=a.responseText;b.responseXML=a.responseXML}}return b},destroy:function(){this.xhr=null;this.callParent()},privates:{getByteArray:function(b){var e=b.response,g=b.responseBody,h=Ext.data.flash&&Ext.data.flash.BinaryXhr,a,d,f,c;if(b instanceof h){a=b.responseBytes}else if(window.Uint8Array){a=e?new Uint8Array(e):[]}else if(Ext.isIE9p){try{a=new VBArray(g).toArray()}catch(i){a=[]}}else if(Ext.isIE){if(!this.self.vbScriptInjected){this.injectVBScript()}getIEByteArray(b.responseBody,a=[])}else {a=[];d=b.responseText;f=d.length;for(c=0;c<f;c++){a.push(d.charCodeAt(c)&255)}}return a},injectVBScript:function(){var a=document.createElement('script');a.type='text/vbscript';a.text=['Function getIEByteArray(byteArray, out)','Dim len, i','len = LenB(byteArray)','For i = 1 to len','out.push(AscB(MidB(byteArray, i, 1)))','Next','End Function'].join('\n');Ext.getHead().dom.appendChild(a);this.self.vbScriptInjected=!0}}});Ext.define('Ext.data.request.Form',{extend:Ext.data.request.Base,alias:'request.form',start:function(d){var a=this,c=a.options,b=a.requestOptions;a.callParent([d]);a.form=a.upload(c.form,b.url,b.data,c);return a},abort:function(c){var a=this,b;if(a.isLoading()){try{b=a.frame.dom;if(b.stop){b.stop()}else {b.document.execCommand('Stop')}}catch(d){}}a.callParent([c]);a.onComplete();a.cleanup()},cleanup:function(){var a=this,b=a.frame;if(b){b.un('load',a.onComplete,a);Ext.removeNode(b)}a.frame=a.form=null},isLoading:function(){return !!this.frame},upload:function(a,s,o,n){a=Ext.getDom(a);n=n||{};var m=document.createElement('iframe'),e=Ext.get(m),g=e.id,j=[],l='multipart/form-data',r={target:a.target,method:a.method,encoding:a.encoding,enctype:a.enctype,action:a.action},k=function(c,b){d=document.createElement('input');Ext.fly(d).set({type:'hidden',value:b,name:c});a.appendChild(d);j.push(d)},d,f,b,c,q,i,p,h;e.set({name:g,cls:Ext.baseCSSPrefix+'hidden-display',src:Ext.SSL_SECURE_URL,tabIndex:-1});document.body.appendChild(m);document.body.appendChild(a);if(document.frames){document.frames[g].name=g}Ext.fly(a).set({target:g,method:'POST',enctype:l,encoding:l,action:s||r.action});if(o){f=Ext.Object.fromQueryString(o)||{};for(c in f){if(f.hasOwnProperty(c)){b=f[c];if(Ext.isArray(b)){q=b.length;for(i=0;i<q;i++){k(c,b[i])}}else {k(c,b)}}}}this.frame=e;e.on({load:this.onComplete,scope:this,single:!Ext.isOpera});a.submit();document.body.removeChild(a);Ext.fly(a).set(r);for(p=j.length,h=0;h<p;h++){Ext.removeNode(j[h])}return a},getDoc:function(){var a=this.frame.dom;return (a&&(a.contentWindow.document||a.contentDocument))||(window.frames[a.id]||{}).document},getTimeout:function(){return this.options.timeout},onComplete:function(){var b=this,h=b.frame,i=b.owner,d=b.options,g,c,f,e,a;if(!h){return}if(b.aborted||b.timedout){b.result=a=b.createException();a.responseXML=null;a.responseText=Ext.encode({success:!1,message:Ext.String.trim(a.statusText)});a.request=b;g=d.failure;f=!1}else {try{c=b.getDoc();b.result=a={responseText:'',responseXML:null,request:b};if(c){if(Ext.isOpera&&c.location==Ext.SSL_SECURE_URL){return}if(c.body){if((e=c.body.firstChild)&&/pre/i.test(e.tagName)){a.responseText=e.textContent||e.innerText}else if((e=c.getElementsByTagName('textarea')[0])){a.responseText=e.value}else {a.responseText=c.body.textContent||c.body.innerText}}a.responseXML=c.XMLDocument||c;g=d.success;f=!0;a.status=200}else {Ext.raise("Could not acquire a suitable connection for the file upload service.")}}catch(j){b.result=a=b.createException();a.status=400;a.statusText=(j.message||j.description)+'';a.responseText=Ext.encode({success:!1,message:Ext.String.trim(a.statusText)});a.responseXML=null;g=d.failure;f=!1}}b.frame=null;b.success=f;i.fireEvent(f?'requestcomplete':'requestexception',i,a,d);Ext.callback(g,d.scope,[a,d]);Ext.callback(d.callback,d.scope,[d,f,a]);i.onRequestComplete(b);Ext.asap(h.destroy,h);b.callParent()},destroy:function(){this.cleanup();this.callParent()}});Ext.define('Ext.data.Connection',{mixins:{observable:Ext.mixin.Observable},statics:{requestId:0},enctypeRe:/multipart\/form-data/i,config:{url:null,async:!0,username:'',password:'',disableCaching:!0,withCredentials:!1,binary:!1,cors:!1,isXdr:!1,defaultXdrContentType:'text/plain',disableCachingParam:'_dc',timeout:30000,extraParams:null,autoAbort:!1,method:null,defaultHeaders:null,defaultPostHeader:'application/x-www-form-urlencoded; charset=UTF-8',useDefaultXhrHeader:!0,defaultXhrHeader:'XMLHttpRequest'},constructor:function(a){this.mixins.observable.constructor.call(this,a);this.requests={}},request:function(a){a=a||{};var c=this,d,b;if(c.fireEvent('beforerequest',c,a)!==!1){d=c.setOptions(a,a.scope||Ext.global);b=c.createRequest(a,d);return b.start(d.data)}b={status:-1,statusText:'Request cancelled in beforerequest event handler'};Ext.callback(a.callback,a.scope,[a,!1,b]);return Ext.Deferred.rejected([a,!1,b])},createRequest:function(c,e){var a=this,d=c.type||e.type,b;if(!d){d=a.isFormUpload(c)?'form':'ajax'}if(c.autoAbort||a.getAutoAbort()){a.abort()}b=Ext.Factory.request({type:d,owner:a,options:c,requestOptions:e,ownerConfig:a.getConfig()});a.requests[b.id]=b;a.latestId=b.id;return b},isFormUpload:function(a){var b=this.getForm(a);if(b){return a.isUpload||this.enctypeRe.test(b.getAttribute('enctype'))}return !1},getForm:function(a){return Ext.getDom(a.form)},setOptions:function(a,k){var e=this,b=a.params||{},g=e.getExtraParams(),f=a.urlParams,c=a.url||e.getUrl(),l=a.cors,i=a.jsonData,h,j,d;if(l!==undefined){e.setCors(l)}if(Ext.isFunction(b)){b=b.call(k,a)}if(Ext.isFunction(c)){c=c.call(k,a)}c=this.setupUrl(a,c);if(!c){Ext.raise({options:a,msg:'No URL specified'})}d=a.rawData||a.binaryData||a.xmlData||i||null;if(i&&!Ext.isPrimitive(i)){d=Ext.encode(d)}if(a.binaryData){if(!Ext.isArray(a.binaryData)){Ext.log.warn("Binary submission data must be an array of byte values! Instead got "+typeof (a.binaryData))}if(e.nativeBinaryPostSupport()){d=(new Uint8Array(a.binaryData));if((Ext.isChrome&&Ext.chromeVersion<22)||Ext.isSafari||Ext.isGecko){d=d.buffer}}}if(Ext.isObject(b)){b=Ext.Object.toQueryString(b)}if(Ext.isObject(g)){g=Ext.Object.toQueryString(g)}b=b+((g)?((b)?'&':'')+g:'');f=Ext.isObject(f)?Ext.Object.toQueryString(f):f;b=this.setupParams(a,b);h=(a.method||e.getMethod()||((b||d)?'POST':'GET')).toUpperCase();this.setupMethod(a,h);j=a.disableCaching!==!1?(a.disableCaching||e.getDisableCaching()):!1;if(h==='GET'&&j){c=Ext.urlAppend(c,(a.disableCachingParam||e.getDisableCachingParam())+'='+(new Date().getTime()))}if((h=='GET'||d)&&b){c=Ext.urlAppend(c,b);b=null}if(f){c=Ext.urlAppend(c,f)}return {url:c,method:h,data:d||b||null}},setupUrl:function(c,a){var b=this.getForm(c);if(b){a=a||b.action}return a},setupParams:function(c,a){var d=this.getForm(c),b;if(d&&!this.isFormUpload(c)){b=Ext.Element.serializeForm(d);a=a?(a+'&'+b):b}return a},setupMethod:function(a,b){if(this.isFormUpload(a)){return 'POST'}return b},isLoading:function(a){if(!a){a=this.getLatest()}return a?a.isLoading():!1},abort:function(a){if(!a){a=this.getLatest()}if(a&&a.isLoading()){a.abort()}},abortAll:function(){var a=this.requests,b;for(b in a){this.abort(a[b])}},getLatest:function(){var b=this.latestId,a;if(b){a=this.requests[b]}return a||null},clearTimeout:function(a){if(!a){a=this.getLatest()}if(a){a.clearTimer()}},onRequestComplete:function(a){delete this.requests[a.id]},nativeBinaryPostSupport:function(){return Ext.isChrome||(Ext.isSafari&&Ext.isDefined(window.Uint8Array))||(Ext.isGecko&&Ext.isDefined(window.Uint8Array))}});Ext.define('Ext.Ajax',{extend:Ext.data.Connection,singleton:!0,autoAbort:!1});Ext.define('Ext.AnimationQueue',{singleton:!0,constructor:function(){var a=this;a.queue=[];a.taskQueue=[];a.runningQueue=[];a.idleQueue=[];a.isRunning=!1;a.isIdle=!0;a.run=a.run.bind(a);if(Ext.os.is.iOS){a.watch.$skipTimerCheck=!0;a.watchdogTimer=Ext.interval(a.watch,500,a)}},start:function(d,b,c){var a=this;a.queue.push(arguments);if(!a.isRunning){if(a.hasOwnProperty('idleTimer')){Ext.undefer(a.idleTimer);delete a.idleTimer}if(a.hasOwnProperty('idleQueueTimer')){Ext.undefer(a.idleQueueTimer);delete a.idleQueueTimer}a.isIdle=!1;a.isRunning=!0;a.startCountTime=Ext.now();a.count=0;a.doStart()}},clear:function(){var a=this;Ext.undefer(a.idleTimer);Ext.undefer(a.idleQueueTimer);Ext.unraf(a.animationFrameId);a.idleTimer=a.idleQueueTimer=a.animationFrameId=null;a.queue.length=a.taskQueue.length=a.runningQueue.length=a.idleQueue.length=0;a.isRunning=!1;a.isIdle=!0;a.startCountTime=Ext.now();a.count=0},watch:function(){if(this.isRunning&&Ext.now()-this.lastRunTime>=500){this.run()}},run:function(){var a=this,d,e;a.animationFrameId=null;if(!a.isRunning){return}var c=a.runningQueue,h=Ext.now(),b,i;a.lastRunTime=h;a.frameStartTime=h;b=a.queue.length;while(b--){d=a.queue[b];e=d[1]&&d[1].getElement&&d[1].getElement();if(e&&e.destroyed){a.queue.splice(b,1)}}c.push.apply(c,a.queue);for(b=0,i=c.length;b<i;b++){a.invoke(c[b])}c.length=0;var f=a.frameStartTime-a.startCountTime,g=++a.count;if(f>=200){a.onFpsChanged(g*1000/f,g,f);a.startCountTime=a.frameStartTime;a.count=0}if(!a.queue.length){a.stop()}if(a.isRunning){a.doIterate()}},onFpsChanged:Ext.emptyFn,onStop:Ext.emptyFn,doStart:function(){if(!this.animationFrameId){this.animationFrameId=Ext.raf(this.run)}this.lastRunTime=Ext.now()},doIterate:function(){if(!this.animationFrameId){this.animationFrameId=Ext.raf(this.run)}},doStop:function(){if(this.animationFrameId){Ext.unraf(this.animationFrameId)}this.animationFrameId=null},stop:function(h,f,g){var a=this;if(!a.isRunning){return}var d=a.queue,e=d.length,b,c;for(b=0;b<e;b++){c=d[b];if(c[0]===h&&c[1]===f&&c[2]===g){d.splice(b,1);b--;e--}}if(e===0){a.doStop();a.onStop();a.isRunning=!1;if(a.idleQueue.length&&!a.idleTimer){a.idleTimer=Ext.defer(a.whenIdle,100,a)}}},onIdle:function(h,f,g){var a=this,d=a.idleQueue,c,e,b;for(c=0,e=d.length;c<e;c++){b=d[c];if(h===b[0]&&f===b[1]&&g===b[2]){return}}d.push(arguments);if(a.isIdle){a.processIdleQueue()}else if(!a.idleTimer){a.idleTimer=Ext.defer(a.whenIdle,100,a)}},unIdle:function(h,f,g){var a=this,b=a.idleQueue,c,e,d;for(c=0,e=b.length;c<e;c++){d=b[c];if(h===d[0]&&f===d[1]&&g===d[2]){b.splice(c,1);return !0}}if(!b.length&&a.idleTimer){Ext.undefer(a.idleTimer);delete a.idleTimer}if(!b.length&&a.idleQueueTimer){Ext.undefer(a.idleQueueTimer);delete a.idleQueueTimer}return !1},queueTask:function(c,a,b){this.taskQueue.push(arguments);this.processTaskQueue()},dequeueTask:function(g,e,f){var c=this.taskQueue,a,d,b;for(a=0,d=c.length;a<d;a++){b=c[a];if(g===b[0]&&e===b[1]&&f===b[2]){c.splice(a,1);a--;d--}}},invoke:function(b){var a=b[0],c=b[1],d=b[2];a=(typeof a=='string'?c[a]:a);if(Ext.isArray(d)){a.apply(c,d)}else {a.call(c,d)}},whenIdle:function(){delete this.idleTimer;this.isIdle=!0;this.processIdleQueue()},processIdleQueue:function(){if(!this.hasOwnProperty('idleQueueTimer')){this.idleQueueTimer=Ext.defer(this.processIdleQueueItem,1,this)}},processIdleQueueItem:function(){delete this.idleQueueTimer;if(!this.isIdle){return}var a=this.idleQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processIdleQueue()}},processTaskQueue:function(){if(!this.hasOwnProperty('taskQueueTimer')){this.taskQueueTimer=Ext.defer(this.processTaskQueueItem,15,this)}},processTaskQueueItem:function(){delete this.taskQueueTimer;var a=this.taskQueue,b;if(a.length>0){b=a.shift();this.invoke(b);this.processTaskQueue()}},showFps:function(){var a={color:'white','background-color':'black','text-align':'center','font-family':'sans-serif','font-size':'8px','font-weight':'normal','font-style':'normal','line-height':'20px','-webkit-font-smoothing':'antialiased','zIndex':100000,position:'absolute'};Ext.getBody().append([{style:Ext.applyIf({bottom:'50px',left:0,width:'50px',height:'20px'},a),html:'Average'},{style:Ext.applyIf({'background-color':'red','font-size':'18px','line-height':'50px',bottom:0,left:0,width:'50px',height:'50px'},a),id:'__averageFps',html:'0'},{style:Ext.applyIf({bottom:'50px',left:'50px',width:'50px',height:'20px'},a),html:'Min (Last 1k)'},{style:Ext.applyIf({'background-color':'orange','font-size':'18px','line-height':'50px',bottom:0,left:'50px',width:'50px',height:'50px'},a),id:'__minFps',html:'0'},{style:Ext.applyIf({bottom:'50px',left:'100px',width:'50px',height:'20px'},a),html:'Max (Last 1k)'},{style:Ext.applyIf({'background-color':'maroon','font-size':'18px','line-height':'50px',bottom:0,left:'100px',width:'50px',height:'50px'},a),id:'__maxFps',html:'0'},{style:Ext.applyIf({bottom:'50px',left:'150px',width:'50px',height:'20px'},a),html:'Current'},{style:Ext.applyIf({'background-color':'green','font-size':'18px','line-height':'50px',bottom:0,left:'150px',width:'50px',height:'50px'},a),id:'__currentFps',html:'0'}]);Ext.AnimationQueue.resetFps()},resetFps:function(){var d=Ext.get('__currentFps'),f=Ext.get('__averageFps'),h=Ext.get('__minFps'),g=Ext.get('__maxFps'),b=1000,a=0,c=0,e=0;if(!d){return}Ext.AnimationQueue.onFpsChanged=function(i){c++;if(!(c%10)){b=1000;a=0}e+=i;b=Math.min(b,i);a=Math.max(a,i);d.setHtml(Math.round(i));f.setHtml(Math.round(e/c));h.setHtml(Math.round(b));g.setHtml(Math.round(a))}}},function(){var a=window.location.search.substr(1),b=a.split("&");if(Ext.Array.contains(b,"showfps")){Ext.onReady(this.showFps.bind(this))}});Ext.define('Ext.mixin.Bufferable',function(a){return {extend:Ext.Mixin,mixinConfig:{id:'bufferable',before:{destroy:'cancelAllCalls'},extended:function(e,d,c){var b=c.bufferableMethods;if(b){delete c.bufferableMethods;a.processClass(d,b)}}},afterClassMixedIn:function(b){a.processClass(b)},privates:{cancelAllCalls:function(){var b=this.bufferables,c;if(b){for(c in b){b[c].cancel();delete b[c]}}},cancelBufferedCall:function(e,d){var c=this.bufferables,b=c&&c[e];if(b){b[d?'invoke':'cancel']()}return !!b},flushBufferedCall:function(b){return this.cancelBufferedCall(b,!0)},initBufferables:function(){var b=this,c=b.hasOwnProperty('bufferableMethods')&&b.bufferableMethods,d;if(c){a._canonicalize(c);d=b.self.prototype.bufferableMethods;b.bufferableMethods=Ext.merge(Ext.clone(d),c)}return (b.bufferables={})},isCallPending:function(d){var b=this.bufferables,c=b&&b[d];return !!c},statics:{SINGLE:{single:!0},_canonicalize:function(f){var d,b,e,c;for(c in f){e=Ext.String.capitalize(c);b=f[c];d=typeof b;if(d==='number'||d==='string'){f[c]=b={delay:b}}if(typeof (d=b.delay)==='string'){b[d]=!0;delete b.delay}b.capitalized=e;b.name=c;if(!b.fn){b.fn='do'+e}if(!b.flag){b.flag='is'+e+'Pending'}}},_canceller:function(){var b=this,c=b.id;if(c){if(b.delay){Ext.undefer(c)}else if(b.asap){Ext.unasap(c)}else if(b.idle){Ext.un('idle',c,null,a.SINGLE)}else if(b.raf){Ext.unraf(c)}b.id=null}b.args=null;b.target[b.flag]=!1},_invoker:function(){var b=this,d=b.args||Ext.emptyArray,c=b.target;++b.invokes;b.cancel();c[b.fn].apply(c,d)},delayCall:function(e,c,i){var f=e.bufferables||e.initBufferables(),h=c.name,b=f[h]||(f[h]=Ext.apply({calls:0,invokes:0,args:null,cancel:a._canceller,id:null,target:e,invoke:a._invoker},c)),g=c.delay,d=function(){if(b.id){b.id=null;b.invoke()}};if(b.id){b.cancel()}b.args=i;++b.calls;e[b.flag]=!0;if(g){b.id=Ext.defer(d,g)}else if(c.asap){b.id=Ext.asap(d)}else if(c.idle){b.id=d;Ext.on('idle',d,null,a.SINGLE)}else if(c.raf){b.id=Ext.raf(d)}else {b.invoke()}},processClass:function(g,b){var d=g.prototype,c=d.bufferableMethods,f,e;if(b){a._canonicalize(b);if(c){c=Ext.merge(Ext.clone(c),b)}d.bufferableMethods=c||b}else {b=c;a._canonicalize(b);d.bufferables=null}if(b){for(e in b){if(!d[e]){f=b[e];a.processMethod(d,f,Array.prototype.slice)}}}},processMethod:function(b,d,f){var c=d.name,e=d.capitalized;b[c]=function(){return a.delayCall(this,d,f.call(arguments))};b['cancel'+e]=function(){return this.cancelBufferedCall(c)};b['flush'+e]=function(){return this.flushBufferedCall(c)}}}}}});Ext.define('Ext.ComponentManager',{alternateClassName:'Ext.ComponentMgr',singleton:!0,mixins:[Ext.mixin.Bufferable],count:0,referencesDirty:!0,referenceRepairs:0,typeName:'xtype',bufferableMethods:{handleDocumentMouseDown:'asap'},constructor:function(b){var a=this;Ext.apply(a,b);a.all={};a.byInstanceId={};a.holders={};a.names={};a.references={};a.onAvailableCallbacks={}},create:function(a,b){if(typeof a==='string'){return Ext.widget(a)}if(a.isComponent){return a}if('xclass' in a){return Ext.create(a.xclass,a)}return Ext.widget(a.xtype||b,a)},get:function(a){return this.all[a]},register:function(a){var b=this,c=a.getId(),d=b.onAvailableCallbacks;if(c===undefined){Ext.raise('Component id is undefined. Please ensure the component has an id.')}if(c in b.all){Ext.raise('Duplicate component id "'+c+'"')}if(a.$iid in b.byInstanceId){Ext.raise('Duplicate component instance id "'+a.$iid+'"')}b.all[c]=a;b.byInstanceId[a.$iid]=a;if(a.reference){b.references[c]=a}if(a.name&&a.nameable){b.names[c]=a}if(a.nameHolder||a.referenceHolder){b.holders[c]=a}++b.count;if(!b.hasFocusListener){b.installFocusListener()}d=d&&d[c];if(d&&d.length){b.notifyAvailable(a)}},unregister:function(g){var b=this,h=b.all,f=b.byInstanceId,d=b.holders,c=b.references,e=b.names,a=g.getId();if(a in d){d[a]=null;delete d[a]}if(a in e){e[a]=null;delete e[a]}if(a in c){c[a]=null;delete c[a]}h[a]=null;delete h[a];a=g.$iid;f[a]=null;delete f[a];--b.count},markReferencesDirty:function(){var c=this,a=c.holders,b;if(!c.referencesDirty){for(b in a){a[b].refs=a[b].nameRefs=null}c.referencesDirty=!0}},fixReferences:function(){var a=this,c=a.references,d=a.names,b;if(a.referencesDirty){++a.referenceRepairs;for(b in c){c[b]._fixReference()}for(b in d){d[b]._fixName()}a.referencesDirty=!1}},onAvailable:function(a,f,d){var g=this,b=g.onAvailableCallbacks,e=g.all,c;if(a in e){c=e[a];f.call(d||c,c)}else if(a){if(!Ext.isArray(b[a])){b[a]=[]}b[a].push(function(b){f.call(d||b,b)})}},notifyAvailable:function(a){var b=this.onAvailableCallbacks[a&&a.getId()]||[];while(b.length){(b.shift())(a)}},each:function(b,a){Ext.Object.each(this.all,b,a)},getCount:function(){return this.count},getAll:function(){return Ext.Object.getValues(this.all)},getActiveComponent:function(){return Ext.Component.from(Ext.dom.Element.getActiveElement())},onGlobalFocus:function(b){var g=this,e=b.event,d=e.toComponent=b.toComponent=Ext.Component.from(b.toElement),c=e.fromComponent=b.fromComponent=Ext.Component.from(b.fromElement),f=g.getCommonAncestor(c,d),a;if(d!==c){if(c&&!c.destroyed&&!c.isDestructing()){if(c.handleBlurEvent){c.handleBlurEvent(b)}for(a=c;a&&a!==f;a=a.getRefOwner()){if(!(a.destroyed||a.destroying)){b.type='focusleave';a.onFocusLeave(e)}}}if(d&&!d.destroyed&&!d.isDestructing()){if(d.handleFocusEvent){d.handleFocusEvent(b)}for(a=d;a&&a!==f;a=a.getRefOwner()){b.type='focusenter';a.onFocusEnter(e)}}}for(a=f;a;a=a.getRefOwner()){if(!(a.destroying||a.destroyed)){a.onFocusMove(b)}}},getCommonAncestor:function(a,b){if(a===b){return a}while(a&&!(a.isAncestor(b)||a===b)){a=a.getRefOwner()}return a},privates:{doHandleDocumentMouseDown:function(c){var b=Ext.Widget.prototype.floatedSelector,a;if(b){a=Ext.Component.from(c.getTarget(b,Ext.getBody()));if(a){a.toFront(!0)}}},installFocusListener:function(){var a=this;Ext.on('focus',a.onGlobalFocus,a);a.hasFocusListener=!0},clearAll:function(){this.all={};this.names={};this.references={};this.onAvailableCallbacks={}},from:function(b,c,f){if(b&&b.isEvent){b=b.target}var a=Ext.getDom(b),i=this.all,h=0,g,e,d;if(typeof c!=='number'){g=Ext.getDom(c);c=Number.MAX_VALUE}while(a&&a.nodeType===1&&h<c&&a!==g){e=a.getAttribute('data-componentid')||a.id;if(e){d=i[e];if(d&&(!f||Ext.ComponentQuery.is(d,f))){return d}h++}a=a.parentNode}return null}}},function(){var a=Ext.ComponentManager;a.fromElement=a.from;Ext.getCmp=function(b){return a.get(b)};Ext.iidToCmp=function(b){return a.byInstanceId[b]||null};Ext.doEv=function(e,c){var a,b,d;a=Ext.Component.from(c.target);if(a&&!a.destroying&&!a.destroyed&&a.getEventHandlers){b=a.getEventHandlers()[c.type];if(b&&a[b]){d=new Ext.event.Event(c);return a[b](d)}}return !0}});Ext.ns('Ext.util').Operators={"=":function(a,b){return a==b},"!=":function(a,b){return a!=b},"^=":function(a,b){return a&&a.substr(0,b.length)==b},"$=":function(a,b){return a&&a.substr(a.length-b.length)==b},"*=":function(a,b){return a&&a.indexOf(b)!==-1},"%=":function(a,b){return (a%b)===0},"|=":function(a,b){return a&&(a==b||a.substr(0,b.length+1)==b+'-')},"~=":function(a,b){return a&&(' '+a+' ').indexOf(' '+b+' ')!=-1}};Ext.define('Ext.util.LruCache',{extend:Ext.util.HashMap,config:{maxSize:null},add:function(d,e){var a=this,b,c;a.removeAtKey(d);c=a.last;b={prev:c,next:null,key:d,value:e};if(c){c.next=b}else {a.first=b}a.last=b;a.callParent([d,b]);a.prune();return e},insertBefore:function(f,d,a){var c=this,e,b;if(a=this.map[this.findKey(a)]){e=c.findKey(d);if(e){c.unlinkEntry(b=c.map[e])}else {b={prev:a.prev,next:a,key:f,value:d}}if(a.prev){b.prev.next=b}else {c.first=b}b.next=a;a.prev=b;c.prune();return d}else {return c.add(f,d)}},get:function(b){var a=this.map[b];if(a){if(a.next){this.moveToEnd(a)}return a.value}},removeAtKey:function(a){this.unlinkEntry(this.map[a]);return this.callParent(arguments)},clear:function(a){this.first=this.last=null;return this.callParent([a])},unlinkEntry:function(a){if(a){if(a.next){a.next.prev=a.prev}else {this.last=a.prev}if(a.prev){a.prev.next=a.next}else {this.first=a.next}a.prev=a.next=null}},moveToEnd:function(a){this.unlinkEntry(a);if(a.prev=this.last){this.last.next=a}else {this.first=a}this.last=a},getArray:function(c){var b=[],a=this.first;while(a){b.push(c?a.key:a.value);a=a.next}return b},each:function(f,c,d){var b=this,a=d?b.last:b.first,e=b.length;c=c||b;while(a){if(f.call(c,a.key,a.value,e)===!1){break}a=d?a.prev:a.next}return b},findKey:function(c){var a,b=this.map;for(a in b){if(b.hasOwnProperty(a)&&b[a].value===c){return a}}return undefined},clone:function(){var a=new this.self(this.initialConfig),c=this.map,b;a.suspendEvents();for(b in c){if(c.hasOwnProperty(b)){a.add(b,c[b].value)}}a.resumeEvents();return a},prune:function(){var a=this,c=a.getMaxSize(),b=c?(a.length-c):0;if(b>0){for(;a.first&&b;b--){a.removeAtKey(a.first.key)}}}});Ext.define('Ext.ComponentQuery',{singleton:!0},function(){var a=this,h=Ext.util.Operators,r=/(\d*)n\+?(\d*)/,q=/\D/,d=/^(\s)+/,c=/\\(.)/g,j=new Ext.util.LruCache({maxSize:100}),m=['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;'].join(''),b=function(b,a){return a.method.apply(this,[b].concat(a.args))},g=function(d,g){var b=[],c=0,e=d.length,a,f=g!=='>';for(;c<e;c++){a=d[c];if(a.getRefItems){b=b.concat(a.getRefItems(f))}}return b},e=function(d){var c=[],b=0,e=d.length,a;for(;b<e;b++){a=d[b];while(!!(a=a.getRefOwner())){c.push(a)}}return c},i=function(b,e,f){if(e==='*'){return b.slice()}else {var d=[],c=0,g=b.length,a;for(;c<g;c++){a=b[c];if(!a.destroyed&&a.isXType(e,f)){d.push(a)}}return d}},l=function(n,c,f,d){var e=[],k=0,o=n.length,i,l,b,a,g,m,j;if(c.charAt(0)==='@'){i=!0;c=c.substr(1)}if(c.charAt(0)==='?'){i=!0;l=!0;c=c.substr(1)}for(;k<o;k++){b=n[k];j=b.self&&b.self.getConfigurator&&b.self.$config.configs[c];if(j){a=b[j.names.get]()}else if(i&&!b.hasOwnProperty(c)){continue}else {a=b[c]}if(l){e.push(b)}else if(f==='~='){if(a){if(!Ext.isArray(a)){a=a.split(' ')}for(g=0,m=a.length;g<m;g++){if(h[f](Ext.coerce(a[g],d),d)){e.push(b);break}}}}else if(f==='/='){if(a!=null&&d.test(a)){e.push(b)}}else if(!d?!!a:h[f](Ext.coerce(a,d),d)){e.push(b)}}return e},f=function(e,h,f){var c=[],b=0,g=e.length,a,d;for(;b<g;b++){a=e[b];d=f?a.id:a.getItemId();if(d===h){c.push(a)}}return c},n=function(b,d,c){return a.pseudos[d](b,c)},p=/^(\s?([>\^])\s?|\s|$)/,o=/^(#)?((?:\\\.|[\w\-])+|\*)(?:\((true|false)\))?/,k=[{re:/^\.((?:\\\.|[\w\-])+)(?:\((true|false)\))?/,method:i,argTransform:function(a){var b=a[0];Ext.log.warn('"'+b+'" ComponentQuery selector style is deprecated,'+' use "'+b.replace(/^\./,'')+'" without the leading dot instead');if(a[1]!==undefined){a[1]=a[1].replace(c,'$1')}return a.slice(1)}},{re:/^(?:\[((?:[@?$])?[\w\-]*)\s*(?:([\^$*~%!\/]?=)\s*(['"])?((?:\\\]|.)*?)\3)?(?!\\)\])/,method:l,argTransform:function(d){var g=d[0],k=d[1],f=d[2],a=d[4],e;if(a!==undefined){a=a.replace(c,'$1');var h=Ext.String.format,i="ComponentQuery selector '{0}' has an unescaped ({1}) character at the {2} "+"of the attribute value pattern. Usually that indicates an error "+"where the opening quote is not followed by the closing quote. "+"If you need to match a ({1}) character at the {2} of the attribute "+"value, escape the quote character in your pattern: (\\{1})",b;if(b=/^(['"]).*?[^'"]$/.exec(a)){Ext.log.warn(h(i,g,b[1],'beginning'))}else if(b=/^[^'"].*?(['"])$/.exec(a)){Ext.log.warn(h(i,g,b[1],'end'))}}if(f==='/='){e=j.get(a);if(e){a=e}else {a=j.add(a,new RegExp(a))}}return [k,f,a]}},{re:/^#((?:\\\.|[\w\-])+)/,method:f},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:n,argTransform:function(a){if(a[2]!==undefined){a[2]=a[2].replace(c,'$1')}return a.slice(1)}},{re:/^(?:\{([^\}]+)\})/,method:m}];a.Query=Ext.extend(Object,{constructor:function(a){a=a||{};Ext.apply(this,a)},execute:function(f){var c=this.operations,b=[],e,a,d;for(a=0,d=c.length;a<d;a++){e=c[a];b=b.concat(this._execute(f,e))}return b},_execute:function(c,h){var f=0,i=h.length,d,a;if(!c){a=Ext.ComponentManager.getAll()}else if(Ext.isIterable(c)){a=c}else if(c.isMixedCollection){a=c.items}for(;f<i;f++){d=h[f];if(d.mode==='^'){a=e(a||[c])}else if(d.mode){a=g(a||[c],d.mode)}else {a=b(a||g([c]),d)}if(f===i-1){return a}}return []},is:function(f,g){var c=this.operations,b=!1,d=c.length,e,a;if(d===0){return !0}for(a=0;a<d;a++){e=c[a];b=this._is(f,g,e);if(b){return b}}return !1},_is:function(o,n,m){var l=m.length,a=[o],i,d,h,c,j,k;for(d=l-1;d>=0;--d){i=m[d];c=i.mode;if(c){if(c==='^'){a=g(a,' ')}else if(c==='>'){j=[];for(h=0,l=a.length;h<l;++h){k=a[h].getRefOwner();if(k){j.push(k)}}a=j}else {a=e(a)}}else {a=b(a,i)}if(a.length===0){return !1}}if(n){if(!c){a=e(a)}if(a.length>0){a=b(a,{method:f,args:[n.id,!0]})}if(a.length===0){return !1}}return !0},getMatches:function(a,d){var e=d.length,c;for(c=0;c<e;++c){a=b(a,d[c]);if(a.length===0){break}}return a},isMultiMatch:function(){return this.operations.length>1}});Ext.apply(a,{cache:new Ext.util.LruCache({maxSize:100}),pseudos:{not:function(d,f){var c=0,g=d.length,e=[],h=-1,b;for(;c<g;++c){b=d[c];if(!a.is(b,f)){e[++h]=b}}return e},first:function(a){var b=[];if(a.length>0){b.push(a[0])}return b},last:function(a){var b=a.length,c=[];if(b>0){c.push(a[b-1])}return c},focusable:function(d){var e=d.length,c=[],b=0,a;for(;b<e;b++){a=d[b];if(a.isFocusable&&a.isFocusable()){c.push(a)}}return c},canfocus:function(d,e){var f=d.length,c=[],b=0,a;for(;b<f;b++){a=d[b];if(a.canFocus&&a.canFocus(!1,e)){c.push(a)}}return c},"nth-child":function(i,a){var d=[],h=r.exec(a==="even"&&"2n"||a==="odd"&&"2n+1"||!q.test(a)&&"n+"+a||a),g=(h[1]||1)-0,e=h[2]-0,b,f,c;for(b=0;f=i[b];b++){c=b+1;if(g===1){if(e===0||c===e){d.push(f)}}else if((c+e)%g===0){d.push(f)}}return d},scrollable:function(d){var e=d.length,c=[],b=0,a;for(;b<e;b++){a=d[b];if(a.scrollable||a._scrollable){c.push(a)}}return c},visible:function(e,a){a=a==='true';var f=e.length,d=[],c=0,b;for(;c<f;c++){b=e[c];if(b.isVisible(a)){d.push(b)}}return d}},query:function(c,j){if(!c){return Ext.ComponentManager.getAll()}var b=[],g=[],h={},d=a.cache.get(c),i,e,f;if(!d){d=a.cache.add(c,a.parse(c))}b=d.execute(j);if(d.isMultiMatch()){i=b.length;for(f=0;f<i;f++){e=b[f];if(!h[e.id]){g.push(e);h[e.id]=!0}}b=g}return b},visitPreOrder:function(c,e,f,d,b){a._visit(!0,c,e,f,d,b)},visitPostOrder:function(c,e,f,d,b){a._visit(!1,c,e,f,d,b)},_visit:function(i,c,b,l,k,e){var j=a.cache.get(c),g=[b],h,m=0,d,f;if(!j){j=a.cache.add(c,a.parse(c))}f=j.is(b);if(b.getRefItems){h=b.getRefItems();m=h.length}if(e){Ext.Array.push(g,e)}if(i){if(f){if(l.apply(k||b,g)===!1){return !1}}}for(d=0;d<m;d++){if(a._visit.call(a,i,c,h[d],l,k,e)===!1){return !1}}if(!i){if(f){if(l.apply(k||b,g)===!1){return !1}}}},is:function(d,b,e){if(!b){return !0}if(typeof b==='function'){return b(d)}else {var c=a.cache.get(b);if(!c){c=a.cache.add(b,a.parse(b))}return c.is(d,e)}},parse:function(g){var e=[],c,d,b,f;c=Ext.splitAndUnescape(g,',');for(b=0,f=c.length;b<f;b++){d=Ext.String.trim(c[b]);if(d===''){Ext.raise('Invalid ComponentQuery selector: ""')}e.push(a._parse(d))}return new a.Query({operations:e})},_parse:function(a){var h=[],v=Ext.String.trim,t=k.length,r,e,n,s,j,b,m,l,g,u,q;while(a&&r!==a){r=a;e=a.match(o);if(e){s=e[1];n=v(e[2]).replace(c,'$1');if(s==='#'){h.push({method:f,args:[n]})}else {h.push({method:i,args:[n,Boolean(e[3])]})}a=a.replace(e[0],'').replace(d,'$1')}while(!(j=a.match(p))){for(l=0;a&&l<t;l++){g=k[l];b=a.match(g.re);u=g.method;m=g.argTransform;if(b){if(m){q=m(b)}else {q=b.slice(1)}h.push({method:Ext.isString(g.method)?Ext.functionFactory('items',Ext.String.format.apply(Ext.String,[u].concat(b.slice(1)))):g.method,args:q});a=a.replace(b[0],'').replace(d,'$1');break}if(l===(t-1)){Ext.raise('Invalid ComponentQuery selector: "'+arguments[0]+'"')}}}if(j[1]){h.push({mode:j[2]||j[1]});a=a.replace(j[0],'').replace(d,'')}}return h}});Ext.all=function(){return a.query.apply(a,arguments)};Ext.first=function(){var b=a.query.apply(a,arguments);return (b&&b[0])||null}});Ext.define('Ext.Evented',{alternateClassName:'Ext.EventedBase',mixins:[Ext.mixin.Observable],initialized:!1,constructor:function(a){this.callParent();this.mixins.observable.constructor.call(this,a);this.initialized=!0},onClassExtended:function(f,b){if(!b.hasOwnProperty('eventedConfig')){return}var e=b.config,a=b.eventedConfig,d,c;if(e){Ext.applyIf(e,a)}else {f.addConfig(a)}for(d in a){if(a.hasOwnProperty(d)){c=Ext.Config.get(d);b[c.names.set]=c.eventedSetter||c.getEventedSetter()}}}});Ext.define('Ext.util.Positionable',{mixinId:'positionable',_positionTopLeft:['position','top','left'],clippedCls:Ext.baseCSSPrefix+'clipped',afterSetPosition:Ext.emptyFn,getAnchorToXY:function(){Ext.raise("getAnchorToXY is not implemented in "+this.$className)},getBorderPadding:function(){Ext.raise("getBorderPadding is not implemented in "+this.$className)},getLocalX:function(){Ext.raise("getLocalX is not implemented in "+this.$className)},getLocalXY:function(){Ext.raise("getLocalXY is not implemented in "+this.$className)},getLocalY:function(){Ext.raise("getLocalY is not implemented in "+this.$className)},getX:function(){Ext.raise("getX is not implemented in "+this.$className)},getXY:function(){Ext.raise("getXY is not implemented in "+this.$className)},getY:function(){Ext.raise("getY is not implemented in "+this.$className)},setLocalX:function(){Ext.raise("setLocalX is not implemented in "+this.$className)},setLocalXY:function(){Ext.raise("setLocalXY is not implemented in "+this.$className)},setLocalY:function(){Ext.raise("setLocalY is not implemented in "+this.$className)},setX:function(){Ext.raise("setX is not implemented in "+this.$className)},setXY:function(){Ext.raise("setXY is not implemented in "+this.$className)},setY:function(){Ext.raise("setY is not implemented in "+this.$className)},adjustForConstraints:function(a,c){var b=this.getConstrainVector(c,a);if(b){a[0]+=b[0];a[1]+=b[1]}return a},alignTo:function(e,d,f,b){var a=this,c=a.el;return a.setXY(a.getAlignToXY(e,d,f),c.anim&&!!b?c.anim(b):!1)},calculateAnchorXY:function(c,d,e,b){var a=this.getRegion();a.setPosition(0,0);a.translateBy(d||0,e||0);if(b){a.setWidth(b.width);a.setHeight(b.height)}return a.getAnchorPoint(c)},convertPositionSpec:function(a){return Ext.util.Region.getAlignInfo(a)},getAlignToXY:function(b,c,d){var a=this.getAlignToRegion(b,c,d);return [a.x,a.y]},getAlignToRegion:function(a,c,g,h){var d=this,b,f,e;a=Ext.fly(a.el||a);if(!a||!a.dom){Ext.raise({sourceClass:'Ext.util.Positionable',sourceMethod:'getAlignToXY',msg:'Attempted to align an element that doesn\'t exist'})}c=d.convertPositionSpec(c);if(c.constrain){if(c.constrain==='!'){b=a}else {b=d.constrainTo||d.container||d.el.parent()}b=Ext.fly(b.el||b).getConstrainRegion()}if(a===Ext.getBody()){e=a.getScroll();g=[e.left,e.top]}f=d.getRegion().alignTo({target:a.getRegion(),inside:b,minHeight:h,offset:g,align:c,axisLock:!0});return f},getAnchorXY:function(g,h,b){var e=this,a=e.getRegion(),c=e.el,f=c.dom.nodeName==='BODY'||c.dom.nodeType===9,d=c.getScroll();if(h){a.setPosition(0,0)}else if(f){a.setPosition(d.left,d.top)}if(b){a.setWidth(b.width);a.setHeight(b.height)}return a.getAnchorPoint(g)},getBox:function(j,k){var a=this,i=k?a.getLocalXY():a.getXY(),e=i[0],f=i[1],d,c,b,g,h;if(a.el.dom.nodeName==='BODY'||a.el.dom.nodeType===9){d=Ext.Element.getViewportWidth();c=Ext.Element.getViewportHeight()}else {d=a.getWidth();c=a.getHeight()}if(j){b=a.getBorderPadding();g=b.beforeX;h=b.beforeY;e+=g;f+=h;d-=(g+b.afterX);c-=(h+b.afterY)}return {x:e,left:e,0:e,y:f,top:f,1:f,width:d,height:c,right:e+d,bottom:f+c}},calculateConstrainedPosition:function(h,c,j,l){var a=this,e,k=a.floatParent,i=k?k.getTargetEl():null,d,g,b,f=!1;if(j&&k){d=i.getXY();g=i.getBorderPadding();d[0]+=g.beforeX;d[1]+=g.beforeY;if(c){b=[c[0]+d[0],c[1]+d[1]]}}else {b=c}h=h||a.constrainTo||i||a.container||a.el.parent();if(j&&b){b=a.reverseTranslateXY(b)}e=((a.constrainHeader&&a.header.rendered)?a.header:a).getConstrainVector(h,b,l);if(e){f=c||a.getPosition(j);f[0]+=e[0];f[1]+=e[1]}return f},getConstrainRegion:function(){var k=this,a=k.el,j=a.dom.nodeName==='BODY',h=a.dom,g=a.getBorders(),i=a.getXY(),e=i[0]+g.beforeX,f=i[1]+g.beforeY,c,d,b;if(j){c=a.getScroll();e=c.left;f=c.top;d=Ext.Element.getViewportWidth();b=Ext.Element.getViewportHeight()}else {d=h.clientWidth;b=h.clientHeight}return new Ext.util.Region(f,e+d,f+b,e)},getConstrainVector:function(a,h,i){var e=this,b=e.getRegion(),d=[0,0],g=(e.shadow&&e.constrainShadow&&!e.shadowDisabled)?e.el.shadow.getShadowSize():undefined,f=!1,c=e.constraintInsets;if(!(a instanceof Ext.util.Region)){a=Ext.get(a.el||a);a=a.getConstrainRegion()}if(c){c=Ext.isObject(c)?c:Ext.Element.parseBox(c);a.adjust(c.top,c.right,c.bottom,c.left)}if(h){b.translateBy(h[0]-b.x,h[1]-b.y)}if(i){b.right=b.left+i[0];b.bottom=b.top+i[1]}if(g){a.adjust(g[0],-g[1],-g[2],g[3])}if(b.right>a.right){f=!0;d[0]=(a.right-b.right)}if(b.left+d[0]<a.left){f=!0;d[0]=(a.left-b.left)}if(b.bottom>a.bottom){f=!0;d[1]=(a.bottom-b.bottom)}if(b.top+d[1]<a.top){f=!0;d[1]=(a.top-b.top)}return f?d:!1},getOffsetsTo:function(a){var c=this.getXY(),b=a.isRegion?[a.x,a.y]:Ext.fly(a.el||a).getXY();return [c[0]-b[0],c[1]-b[1]]},getRegion:function(b,c){var a=this.getBox(b,c);return new Ext.util.Region(a.top,a.right,a.bottom,a.left)},getClientRegion:function(){var i=this,d=i.el,f=d.dom,b=i.getBox(!0),e=f.offsetHeight>f.clientHeight,c=f.offsetWidth>f.clientWidth,a,g,h;if(e||c){g=Ext.getScrollbarSize();if(c){c=g.width;h=d.getStyle('direction')==='rtl'&&!Ext.supports.rtlVertScrollbarOnRight;if(h){a=d.getPadding('l');b.left-=a+Math.max(a,c)}else {a=d.getPadding('r');b.right+=a-Math.max(a,c)}}if(e){e=g.height;a=d.getPadding('b');b.bottom+=a-Math.max(a,e)}}return new Ext.util.Region(b.top,b.right,b.bottom,b.left)},getViewRegion:function(){var a=this,i=a.el,j=i.dom.nodeName==='BODY',d,f,h,c,b,g,e;if(j){f=i.getScroll();b=f.left;c=f.top;g=Ext.Element.getViewportWidth();e=Ext.Element.getViewportHeight()}else {d=a.getBorderPadding();h=a.getXY();b=h[0]+d.beforeX;c=h[1]+d.beforeY;g=a.getWidth(!0);e=a.getHeight(!0)}return new Ext.util.Region(c,b+g,c+e,b)},move:function(a,b,l){var j=this,k=j.getXY(),c=k[0],d=k[1],i=[c-b,d],g=[c+b,d],f=[c,d-b],e=[c,d+b],h={l:i,left:i,r:g,right:g,t:f,top:f,up:f,b:e,bottom:e,down:e};a=a.toLowerCase();j.setXY([h[a][0],h[a][1]],l)},setBox:function(a){var b=this,c,d;if(a.isRegion){a={x:a.left,y:a.top,width:a.right-a.left,height:a.bottom-a.top}}b.constrainBox(a);c=a.x;d=a.y;b.setXY([c,d]);b.setSize(a.width,a.height);b.afterSetPosition(c,d);return b},constrainBox:function(a){var c=this,b,d,e;if(c.constrain||c.constrainHeader){d=('x' in a)?a.x:a.left;e=('y' in a)?a.y:a.top;b=c.calculateConstrainedPosition(null,[d,e],!1,[a.width,a.height]);if(b){a.x=b[0];a.y=b[1]}}},translatePoints:function(b,c){var a=this.translateXY(b,c);return {left:a.x,top:a.y}},translateXY:function(a,g){var f=this,e=f.el,d=e.getStyle(f._positionTopLeft),h=d.position==='relative',b=parseFloat(d.left),c=parseFloat(d.top),i=f.getXY();if(Ext.isArray(a)){g=a[1];a=a[0]}if(isNaN(b)){b=h?0:e.dom.offsetLeft}if(isNaN(c)){c=h?0:e.dom.offsetTop}b=(typeof a==='number')?a-i[0]+b:undefined;c=(typeof g==='number')?g-i[1]+c:undefined;return {x:b,y:c}},reverseTranslateXY:function(d){var h=d,b=this.el,i=b.dom,a=i.offsetParent,g,c,e,f;if(a){g=b.isStyle('position','relative'),c=Ext.fly(a).getXY(),e=d[0]+c[0]+a.clientLeft;f=d[1]+c[1]+a.clientTop;if(g){e+=b.getPadding('l');f+=b.getPadding('t')}h=[e,f]}return h},privates:{clipTo:function(h,g){var f,b=this.el,j=b.getRegion(),e,c,a=[],l=this.clippedCls,d,i,k;if(h.isRegion){f=h}else {f=(h.isComponent?h.el:Ext.fly(h)).getConstrainRegion()}if(!g){g=15}if(g&1&&(e=f.top-j.top)>0){a[0]=e;i=!0}else {a[0]=-10000}if(g&2&&(e=j.right-f.right)>0){a[1]=Math.max(0,b.getWidth()-e);i=!0}else {a[1]=10000}if(g&4&&(e=j.bottom-f.bottom)>0){a[2]=Math.max(0,b.getHeight()-e);i=!0}else {a[2]=10000}if(g&8&&(e=f.left-j.left)>0){a[3]=e;i=!0}else {a[3]=-10000}d='rect(';for(c=0;c<4;++c){d+=Ext.Element.addUnits(a[c],'px');d+=(c===3)?')':','}b.dom.style.clip=d;b.addCls(l);if((k=b.shadow)&&(b=k.el)&&b.dom){a[2]-=k.offsets.y;a[3]-=k.offsets.x;d='rect(';for(c=0;c<4;++c){d+=Ext.Element.addUnits(a[c],'px');d+=(c===3)?')':','}b.dom.style.clip=d;if(i&&!Ext.supports.CSS3BoxShadow){b.dom.style.display='none'}else {b.dom.style.display='';b.addCls(l)}}},clearClip:function(){var a=this.el,b=this.clippedCls;a.dom.style.clip=Ext.isIE8?'auto':'';a.removeCls(b);if(a.shadow&&a.shadow.el&&a.shadow.el.dom){a.shadow.el.dom.style.clip=Ext.isIE8?'auto':'';if(!Ext.supports.CSS3BoxShadow){a.dom.style.display='';a.removeCls(b)}}}}});Ext.define('Ext.dom.UnderlayPool',{constructor:function(a){this.elementConfig=a;this.cache=[]},checkOut:function(){var a=this.cache.shift();if(!a){a=Ext.Element.create(this.elementConfig);a.setVisibilityMode(2);a.dom.setAttribute('data-sticky',!0)}return a},checkIn:function(a){this.cache.push(a);Ext.getDetachedBody().dom.appendChild(a.dom)},reset:function(){var a=this.cache,b=a.length;while(b--){a[b].destroy()}this.cache=[]}});Ext.define('Ext.dom.Underlay',{constructor:function(a){Ext.apply(this,a)},beforeShow:Ext.emptyFn,getInsertionTarget:function(){return this.target},getPool:function(){return this.pool||(this.self.prototype.pool=new Ext.dom.UnderlayPool(this.elementConfig))},hide:function(){var b=this,a=b.el;if(a){if(a.dom){a.hide();b.getPool().checkIn(a)}b.el=null}b.hidden=!0},realign:function(d,e,c,b){var h=this,g=h.el,f=h.target,a=h.offsets,i=Math.max;if(g){if(d==null){d=f.getX()}if(e==null){e=f.getY()}if(c==null){c=f.getWidth()}if(b==null){b=f.getHeight()}if(a){d=d+a.x;e=e+a.y;c=i(c+a.w,0);b=i(b+a.h,0)}g.setXY([d,e]);g.setSize(c,b)}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}},show:function(){var a=this,f=a.target,c=a.zIndex,b=a.el,e=a.getInsertionTarget().dom,d;if(!b){b=a.el=a.getPool().checkOut()}a.beforeShow();if(c==null){c=(parseInt(f.getStyle("z-index"),10))}if(c){b.setStyle("z-index",c)}b.setStyle('position',a.fixed?'fixed':'');d=b.dom;if(d.nextSibling!==e){f.dom.parentNode.insertBefore(d,e)}b.show();a.realign();a.hidden=!1}});Ext.define('Ext.dom.Shadow',{extend:Ext.dom.Underlay,alternateClassName:'Ext.Shadow',mode:'drop',offset:4,cls:Ext.baseCSSPrefix+(!Ext.supports.CSS3BoxShadow?'ie':'css')+'-shadow',constructor:function(f){var d=this,e,c,a,b;d.callParent([f]);d.elementConfig={cls:d.cls,role:'presentation'};a=d.offset;b=Math.floor(a/2);d.opacity=50;switch(d.mode.toLowerCase()){case "drop":e={x:0,y:0,w:a,h:a};if(Ext.supports.CSS3BoxShadow){c={x:a,y:a,h:-a,w:-a}}else {c={x:-b,y:-b,h:-b,w:-b}};break;case "sides":e={x:-a,y:0,w:a*2,h:a};if(Ext.supports.CSS3BoxShadow){c={x:0,y:a,h:-a,w:0}}else {c={x:1+b-2*a,y:-(1+b),h:-1,w:b-1}};break;case "frame":e={x:-a,y:-a,w:a*2,h:a*2};if(Ext.supports.CSS3BoxShadow){c={x:0,y:0,h:0,w:0}}else {c={x:1+b-2*a,y:1+b-2*a,h:a-b-1,w:a-b-1}};break;case "bottom":e={x:-a,y:0,w:a*2,h:a};if(Ext.supports.CSS3BoxShadow){c={x:0,y:a,h:-a,w:0}}else {c={x:0,y:a,h:0,w:0}};break;}d.offsets=c;d.outerOffsets=e},getShadowSize:function(){var b=this,a=b.el?b.offset:0,c=[a,a,a,a],d=b.mode.toLowerCase();if(b.el&&d!=='frame'){c[0]=0;if(d=='drop'){c[3]=0}}return c},boxShadowProperty:(function(){var a='boxShadow',b=document.documentElement.style;if(!('boxShadow' in b)){if('WebkitBoxShadow' in b){a='WebkitBoxShadow'}else if('MozBoxShadow' in b){a='MozBoxShadow'}}return a}()),beforeShow:function(){var a=this,b=a.el.dom.style,c=a.shim;if(Ext.supports.CSS3BoxShadow){b[a.boxShadowProperty]='0 0 '+(a.offset+2)+'px #888'}else {b.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+a.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(a.offset)+")"}if(c){c.realign()}},setOpacity:function(a){var b=this.el;if(b){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){a=Math.floor(a*100/2)/100}this.opacity=a;b.setOpacity(a)}}});Ext.define('Ext.dom.Shim',{extend:Ext.dom.Underlay,cls:Ext.baseCSSPrefix+'shim',constructor:function(a){this.callParent([a]);this.elementConfig={tag:'iframe',cls:this.cls,role:'presentation',frameBorder:'0',src:Ext.SSL_SECURE_URL,tabindex:'-1'}},getInsertionTarget:function(){var a=this.shadow;return (a&&a.el)||this.target}});Ext.define('Ext.dom.ElementEvent',{extend:Ext.util.Event,addListener:function(h,f,a,e,d){var b=this,c=!1,g=b.name,j=Ext.event.publisher.Dom.instance.directEvents[g],k,l,i;a=a||{};if(a.delegated===!1||j){if(j&&a.delegate){a.capture=!0}if(a.capture){i=b.directCaptures||(b.directCaptures=new Ext.util.Event(b.observable,g));c=i.addListener(h,f,a,e,d)}else {l=b.directs||(b.directs=new Ext.util.Event(b.observable,g));c=l.addListener(h,f,a,e,d)}}else if(a.capture){k=b.captures||(b.captures=new Ext.util.Event(b.observable,g));c=k.addListener(h,f,a,e,d)}else {c=b.callParent([h,f,a,e,d])}return c},removeListener:function(c,b){var e=this,g=e.captures,h=e.directs,f=e.directCaptures,d=!1,a=e.findListener(c,b);if(a!==-1){d=e.callParent([c,b,a])}else {if(h){a=h.findListener(c,b)}if(a!==-1){d=h.removeListener(c,b,a)}else {if(g){a=g.findListener(c,b)}if(a!==-1){d=g.removeListener(c,b,a)}else if(f){a=f.findListener(c,b);if(a!==-1){d=f.removeListener(c,b,a)}}}}return d},clearListeners:function(){var a=this,b=a.directCaptures,d=a.directs,c=a.captures;if(b){b.clearListeners()}if(d){d.clearListeners()}if(c){c.clearListeners()}a.callParent()},suspend:function(){var a=this,b=a.directCaptures,d=a.directs,c=a.captures;if(b){b.suspend()}if(d){d.suspend()}if(c){c.suspend()}a.callParent()},resume:function(){var a=this,b=a.directCaptures,d=a.directs,c=a.captures;if(b){b.resume()}if(d){d.resume()}if(c){c.resume()}a.callParent()}});Ext.define('Ext.event.publisher.Publisher',{isEventPublisher:!0,$vetoClearingPrototypeOnDestroy:!0,handledEvents:[],statics:{publishers:{},publishersByEvent:{}},constructor:function(){var a=this,b=a.type;a.handles={};if(!b){Ext.raise("Event publisher '"+a.$className+"' defined without a 'type' property.")}if(a.self.instance){Ext.raise("Cannot create multiple instances of '"+a.$className+"'. "+"Use '"+a.$className+".instance' to retrieve the singleton instance.")}a.registerEvents();Ext.event.publisher.Publisher.publishers[b]=a},registerEvents:function(f){var c=this,e=Ext.event.publisher.Publisher.publishersByEvent,d=f||c.handledEvents,g=d.length,b,a;for(a=0;a<g;a++){b=d[a];c.handles[b]=1;e[b]=c}},subscribe:function(){Ext.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no subscribe method.')},unsubscribe:function(){Ext.raise("Ext.event.publisher.Publisher subclass '"+this.$className+'" has no unsubscribe method.')},fire:function(c,b,d){var a;if(c.hasListeners[b]){a=c.events[b];if(a){a.fire.apply(a,d)}}}});Ext.define('Ext.util.Offset',{statics:{fromObject:function(a){if(a instanceof this){return a}if(typeof a==='number'){return new this(a,a)}if(a.length){return new this(a[0],a[1])}return new this(a.x,a.y)}},constructor:function(a,b){this.x=(a!=null&&!isNaN(a))?a:0;this.y=(b!=null&&!isNaN(b))?b:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(a){this.x=a.x;this.y=a.y},toString:function(){return "Offset["+this.x+","+this.y+"]"},equals:function(a){if(!(a instanceof this.statics())){Ext.raise('Offset must be an instance of Ext.util.Offset')}return (this.x===a.x&&this.y===a.y)},add:function(a){if(!(a instanceof this.statics())){Ext.raise('Offset must be an instance of Ext.util.Offset')}this.x+=a.x;this.y+=a.y},round:function(b){if(!isNaN(b)){var a=Math.pow(10,b);this.x=Math.round(this.x*a)/a;this.y=Math.round(this.y*a)/a}else {this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x===0&&this.y===0}});Ext.define('Ext.util.Region',function(){var a=Ext.util,j=/([^\?!]*)(!|\?)?$/,p=/^(?:(?:([trbl])(\d+))|(tl|t|tc|tr|l|c|r|bl|b|bc|br))(?:-(?:(?:([trbl])(\d+))|(tl|t|tc|tr|l|c|r|bl|b|bc|br)))?$/i,e={l:0,r:100,t:0,b:100,c:50},f={l:100,r:0,t:0,b:100,c:50},d={b:0,l:1,t:2,r:3},o={"tl-tr":"l0-r0","tl-r":"l0-r50","bl-r":"l100-r50","bl-br":"l100-r100","tr-tl":"r0-l0","tr-l":"r0-l50","br-l":"r100-l50","br-bl":"r100-l100"},l={"tl-tr":"r0-l0","tl-r":"r0-l50","bl-r":"r100-l50","bl-br":"r100-l100","tr-tl":"l0-r0","tr-l":"l0-r50","br-l":"l100-r50","br-bl":"l100-r100"},b=[],m=new a.Offset(0,0),k=function(b){var g=a.Region,h=typeof b,f,d,c,e;if(b==null){return g.EMPTY}if(b.isRegion){return b}if(b.isElement||b.nodeType===1){return this.getRegion(b)}if(h==='string'){b=b.split(' ');switch(b.length){case 1:b[1]=b[2]=b[3]=b[0];break;case 2:b[2]=b[0];b[3]=b[1];break;case 3:b[3]=b[1];}f=parseInt(b[0],10)||0;d=parseInt(b[1],10)||0;c=parseInt(b[2],10)||0;e=parseInt(b[3],10)||0}else if(h==='number'){f=d=c=e=b}else if(typeof b.x==='number'){f=b.y;e=b.x;if(typeof b.right==='number'){d=b.right;c=b.bottom}else {d=e+b.width;c=f+b.height}}else {Ext.raise('Not convertible to a Region: '+b)}return new g(f,d,c,e)},n=[-1,1,1,-1],g=function(c,e,d){if(d!=null&&e){b[0]=b[1]=b[2]=b[3]=0;b[d]=e.y*n[d];c=a.Region.from(c);c.adjust.apply(c,b)}return c},c=function(d,b,i,m,l){var h=Math.ceil(m.x),k=Math.ceil(h/2)+3,g,f,c,e,j,n,o;if(l&&!l.intersect(d)){return}if(i!=null){if(i&1){if(b.getHeight()<h+4){return}g=d.top+k-b.height;f=d.bottom-k-1;b.setPosition(b.x,Math.min(Math.max(b.y,g),f));g=b.top+2;f=b.bottom-(h+2);e=i===3;n=e?b.right:b.left;j=new a.Region(Math.max(b.top,d.top),n,Math.min(b.bottom,d.bottom),n);c=new a.Region(0,0,0,0).setWidth(m.y).setHeight(h).alignTo({target:j,align:e?'l-r':'r-l',overlap:!0});c.setPosition(c.x,Math.min(Math.max(c.y,g),f));c.position=e?'right':'left'}else {if(b.getWidth()<h+4){return}g=d.left+k-b.width;f=d.right-k-1;b.setPosition(Math.min(Math.max(b.x,g),f),b.y);g=b.left+2;f=b.right-(h+2);e=i===0;o=e?b.bottom:b.top;j=new a.Region(o,Math.min(b.right,d.right),o,Math.max(b.left,d.left));c=new a.Region(0,0,0,0).setWidth(h).setHeight(m.y).alignTo({target:j,align:e?'t-b':'b-t',overlap:!0});c.setPosition(Math.min(Math.max(c.x,g),f),c.y);c.position=e?'bottom':'top'}if(l&&!l.contains(c)){return}b.anchor=c;b.anchor.align=i}},h=function(c,a,e,b){var d;if(c&&b){if(a.top>=e.bottom&&a.bottom>b.bottom){a.setHeight(Math.max(a.getHeight()+b.bottom-a.bottom,c));a.constrainHeight=!0}else if(a.bottom<=e.top&&a.top<b.top){d=Math.max(a.getHeight()+a.top-b.top,c);a.adjust(a.getHeight()-d);a.constrainHeight=!0}else if(a.getHeight()>b.getHeight()){a.setHeight(Math.max(c,b.getHeight()));a.setPosition(a.x,0);a.constrainHeight=!0}}},i=function(c,a,e,b){var d;if(c&&b){if(a.left>=e.right&&a.right>b.right){a.setWidth(Math.max(a.getWidth()+b.right-a.right,c));a.constrainWidth=!0}else if(a.right<=e.left&&a.left<b.left){d=Math.max(a.getWidth()+a.left-b.left,c);a.adjust(0,0,0,a.getWidth()-d);a.constrainWidth=!0}else if(a.getWidth()>b.getWidth()){a.setWidth(Math.max(c,b.getWidth()));a.setPosition(0,a.y);a.constrainWidth=!0}}};return {isRegion:!0,statics:{getRegion:function(a){return Ext.fly(a).getRegion()},from:function(a){return new this(a.top,a.right,a.bottom,a.left)},getAlignInfo:function(a,i){if(typeof a==='object'){return a}a=a?((a.indexOf('-')<0)?'tl-'+a:a):'tl-bl';g=j.exec(a);a=g[1];a=(i?l:o)[a]||a;var h=i?f:e,g,c=p.exec(a),b;if(!c){Ext.raise({sourceClass:'Ext.util.Region',sourceMethod:'getAlignInfo',position:a,msg:'Attempted to align an element with an invalid position: "'+a+'"'})}b={myEdge:c[1],myOffset:c[2],otherEdge:c[4],otherOffset:c[5],constrain:g[2]};if(c[3]){b.myEdge=c[3][0];b.myOffset=h[c[3][1]];if(b.myOffset==null){b.myOffset=50}}if(c[6]){b.otherEdge=c[6][0];b.otherOffset=h[c[6][1]];if(b.otherOffset==null){b.otherOffset=50}}b.position=d[b.myEdge];return b}},constructor:function(e,c,b,d){var a=this;a.y=a.top=a[1]=e;a.right=c;a.bottom=b;a.x=a.left=a[0]=d;a.height=a.bottom-a.top;a.width=a.right-a.left},setPosition:function(a,b){if(arguments.length===1){b=a[1];a=a[0]}return this.translateBy(a-this.x,b-this.y)},contains:function(a){var b=this;return (a.x>=b.x&&(a.right||a.x)<=b.right&&a.y>=b.y&&(a.bottom||a.y)<=b.bottom)},intersect:function(a){var b=this,f=Math.max(b.y,a.y),e=Math.min(b.right,a.right),c=Math.min(b.bottom,a.bottom),d=Math.max(b.x,a.x);if(c>f&&e>d){return new this.self(f,e,c,d)}else {return !1}},union:function(a){var b=this,f=Math.min(b.y,a.y),e=Math.max(b.right,a.right),c=Math.max(b.bottom,a.bottom),d=Math.min(b.x,a.x);return new this.self(f,e,c,d)},constrainTo:function(b){var a=this,c=Ext.Number.constrain;a.top=a.y=c(a.top,b.y,b.bottom);a.bottom=c(a.bottom,b.y,b.bottom);a.left=a.x=c(a.left,b.x,b.right);a.right=c(a.right,b.x,b.right);a.height=a.bottom-a.top;a.width=a.right-a.left;return a},adjust:function(e,c,b,d){var a=this;a.top=a.y+=e||0;a.left=a.x+=d||0;a.right+=c||0;a.bottom+=b||0;a.height=a.bottom-a.top;a.width=a.right-a.left;return a},getOutOfBoundOffset:function(c,b){if(!Ext.isObject(c)){if(c==='x'){return this.getOutOfBoundOffsetX(b)}else {return this.getOutOfBoundOffsetY(b)}}else {b=c;var d=new a.Offset();d.x=this.getOutOfBoundOffsetX(b.x);d.y=this.getOutOfBoundOffsetY(b.y);return d}},getOutOfBoundOffsetX:function(a){if(a<=this.x){return this.x-a}else if(a>=this.right){return this.right-a}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.y){return this.y-a}else if(a>=this.bottom){return this.bottom-a}return 0},isOutOfBound:function(b,a){if(!Ext.isObject(b)){if(b==='x'){return this.isOutOfBoundX(a)}else {return this.isOutOfBoundY(a)}}else {a=b;return (this.isOutOfBoundX(a.x)||this.isOutOfBoundY(a.y))}},isOutOfBoundX:function(a){return (a<this.x||a>this.right)},isOutOfBoundY:function(a){return (a<this.y||a>this.bottom)},restrict:function(d,a,b){if(Ext.isObject(d)){var c;b=a;a=d;if(a.copy){c=a.copy()}else {c={x:a.x,y:a.y}}c.x=this.restrictX(a.x,b);c.y=this.restrictY(a.y,b);return c}else {if(d==='x'){return this.restrictX(a,b)}else {return this.restrictY(a,b)}}},restrictX:function(a,b){if(!b){b=1}if(a<=this.x){a-=(a-this.x)*b}else if(a>=this.right){a-=(a-this.right)*b}return a},restrictY:function(a,b){if(!b){b=1}if(a<=this.y){a-=(a-this.y)*b}else if(a>=this.bottom){a-=(a-this.bottom)*b}return a},alignTo:function(h){var l=this,s=l.self,q=a.Offset,x=Ext.Element,e=k(h.target),p,o=h.rtl,r=h.overlap,f=h.align,i=h.anchorSize,m=h.offset,d=h.inside,j=h.position,u=h.allowXTranslate,v=h.allowYTranslate,n,b,w,t;if(m){m=q.fromObject(m);if(!(m instanceof q)){Ext.raise('offset option must be an Ext.util.Offset')}}if(i){i=q.fromObject(i);if(!(i instanceof q)){Ext.raise('anchorSize option must be an Ext.util.Offset')}}if(d&&!d.isRegion){if(Ext.getDom(d)===document.body){d=new s(0,x.getDocumentWidth(),x.getDocumentHeight(),0)}else {d=Ext.fly(d).getRegion()}}if(j){if(j.length===2){j=new a.Point(j[0],j[1])}b=new s().copyFrom(l).setPosition(j.x,j.y)}else {f=l.getAlignInfo(f,o);if(d){if(e.x>=d.right){e.setPosition(d.right-1,e.y);if(f.position!==3){f=l.getAlignInfo('r-l',o)}}else if(e.right<d.x){e.setPosition(d.x-e.getWidth()+1,e.y);if(f.position!==1){f=l.getAlignInfo('l-r',o)}}if(e.y>=d.bottom){e.setPosition(e.x,d.bottom-1);if(f.position!==0){f=l.getAlignInfo('b-t',o)}}else if(e.bottom<d.y){e.setPosition(e.x,d.y-e.getHeight()+1);if(f.position!==2){f=l.getAlignInfo('t-b',o)}}}p=i?g(e,i,f.position):e;b=s.from(l).translateBy(l.getAlignToVector(p,f));r=!!b.intersect(p);if(m&&(r||!i)){b.translateBy(m)}if(i){c(e,b,f.position,i,d)}}if(d){w=b.copy();if(b.left<d.left){b.translateBy(d.left-b.left,0);n=!0}if(b.right>d.right&&b.left>d.left){b.translateBy(d.right-b.right,0);n=!0}if(b.top<d.top){b.translateBy(0,d.top-b.top);n=!0}if(b.bottom>d.bottom&&b.top>d.top){b.translateBy(0,d.bottom-b.bottom);n=!0}if(n&&!r){b.anchor=null;if(h.axisLock){if(f.position&1){v=!1}else {u=!1}}if(j){if(b.contains(j)){j.exclude(b,{inside:d,centerOnSideChange:!1})}}else {t=b.copy();if(b.intersect(p)){f.position=e.exclude(b,{initialPosition:w,defaultPosition:f.position,inside:d,minHeight:h.minHeight,minWidth:h.minWidth,allowX:u,allowY:v,offset:m,anchorHeight:i?i.y:0,centerOnSideChange:!!i})}else if(h.minWidth&&b.getWidth()>d.getWidth()){b.setPosition(0,b.y);b.setWidth(Math.max(d.getWidth(),h.minWidth));b.constrainWidth=!0}else if(h.minHeight&&b.getHeight()>d.getHeight()){b.setPosition(b.x,0);b.setHeight(Math.max(d.getHeight(),h.minHeight));b.constrainHeight=!0}b.align=f;if(d.contains(b)){if(i){c(e,b,f.position,i,d)}}else {b=t}}}}return b},exclude:function(d,e){e=e||{};var j=this,s=e.initialPosition||d,n=e.inside,r=e.defaultPosition,u=e.centerOnSideChange,v=e.minHeight,w=e.minWidth,x=e.allowX!==!1,y=e.allowY!==!1,k=e.anchorHeight,g=e.offset,l=[],c,b,t,f,q,p,o;if(!g){g=m}if(y){l.push([0,j.top-d.bottom-k+g.y,'b-t',0,Math.abs(j.top-s.bottom-k+g.y)]);l.push([0,j.bottom-d.top+k+g.y,'t-b',2,Math.abs(j.bottom-s.top+k+g.y)])}else {u=!1}if(x){l.push([j.left-d.right-k+g.x,0,'r-l',3,Math.abs(j.left-s.right-k+g.x)]);l.push([j.right-d.left+k+g.x,0,'l-r',1,Math.abs(j.right-s.left+k+g.x)])}else {u=!1}Ext.Array.sort(l,function(b,c){var a=b[4]-c[4];if(!a){if(b[3]===r){return -1}if(c[3]===r){return 1}}return a});if(n){for(t=0;t<l.length;t++){b=l[t];c=a.Region.from(d);c.translateBy.apply(c,b);if(n.contains(c)){d.copyFrom(c);o={align:b[2],position:b[3],distance:b[4]};break}if(v){h(v,c,j,n);if(n.contains(c)){if(!f||c.getArea()>f.region.getArea()){f={region:c,align:b[2],position:b[3],distance:b[4]}}}}if(w){i(w,c,j,n);if(n.contains(c)){if(!f||c.getArea()>f.region.getArea()){f={region:c,align:b[2],position:b[3],distance:b[4]}}}}p=n.intersect(c);if(p){p=p.getArea();if(!q||(p&&q.area<p)){q={region:c,align:b[2],position:b[3],distance:b[4],area:p}}}}if(!o){if(f){d.copyFrom(f.region);o=f;d.constrainWidth=f.region.constrainWidth;d.constrainHeight=f.region.constrainHeight}else if(q){d.copyFrom(q.region);o=q}}if(o){if((o.position&1)!==(r&1)){if(o.distance&&u){b=d.alignTo({align:o.align,target:j,anchorSize:k,offset:g,axisLock:!0,inside:n,minHeight:e.minHeight,minWidth:e.minWidth});if(n.contains(b)){d.setPosition(b.x,b.y)}}}return o.position}}else {d.translateBy.apply(d,l[0]);return l[0][3]}return r},getAlignToXY:function(b,c,d){var a=this.getAlignToVector(b,c,d);return [this.x+a[0],this.y+a[1]]},getAnchorPoint:function(a,b){a=(typeof a==='string')?this.getAlignInfo(a+'-tl',b):a;return this['getAnchorPoint_'+a.myEdge](a.myOffset)},getAlignToVector:function(d,a,e){a=(typeof a==='string')?this.getAlignInfo(a,e):a;var c=this['getAnchorPoint_'+a.myEdge](a.myOffset),b=d['getAnchorPoint_'+a.otherEdge](a.otherOffset);return [b[0]-c[0],b[1]-c[1]]},getAnchorPoint_t:function(a){return [this.x+Math.round(this.getWidth()*(a/100)),this.y]},getAnchorPoint_b:function(a){return [this.x+Math.round(this.getWidth()*(a/100)),this.bottom]},getAnchorPoint_l:function(a){return [this.x,this.y+Math.round(this.getHeight()*(a/100))]},getAnchorPoint_r:function(a){return [this.right,this.y+Math.round(this.getHeight()*(a/100))]},getAnchorPoint_c:function(){return [this.x+Math.round(this.getWidth()/2),this.y+Math.round(this.getHeight()/2)]},getCenter:function(){return [this.x+this.width/2,this.y+this.height/2]},getHeight:function(){return this.bottom-this.y},getWidth:function(){return this.right-this.x},getArea:function(){return this.getHeight()*this.getWidth()},setHeight:function(a){this.height=a;this.bottom=this.top+a;return this},setWidth:function(a){this.width=a;this.right=this.left+a;return this},getSize:function(){return {width:this.right-this.x,height:this.bottom-this.y}},setSize:function(b,a){if(a===undefined){a=b}this.setWidth(b);return this.setHeight(a)},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(b){var a=this;a.top=a.y=a[1]=b.y;a.right=b.right;a.bottom=b.bottom;a.left=a.x=a[0]=b.x;return a},toString:function(){return "Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a,c){if(a.length){c=a[1];a=a[0]}else if(arguments.length===1){c=a.y;a=a.x}var b=this;b.top=b.y+=c;b.right+=a;b.bottom+=c;b.left=b.x+=a;return b},round:function(){var a=this;a.top=a.y=Math.round(a.y);a.right=Math.round(a.right);a.bottom=Math.round(a.bottom);a.left=a.x=Math.round(a.x);return a},equals:function(a){return (this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left)},getOffsetsTo:function(a){return {x:this.x-a.x,y:this.y-a.y}},highlight:function(){var a=Ext.getBody().createChild({style:'background-color:#52a0db;opacity:0.4;position:absolute;z-index:9999999'});a.setBox(this);Ext.defer(function(){a.destroy()},5000);return a}}},function(a){a.prototype.getAlignInfo=a.getAlignInfo;a.EMPTY=new a(0,0,0,0);if(Object.freeze){Object.freeze(a.EMPTY)}});Ext.define('Ext.util.Point',{extend:Ext.util.Region,isPoint:!0,radianToDegreeConstant:180/Math.PI,origin:{x:0,y:0},statics:{fromEvent:function(b){var a=b.changedTouches,c=(a&&a.length>0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(a==null){a=0}if(b==null){b=0}this.callParent([b,a,b,a])},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return "Point["+this.x+","+this.y+"]"},equals:function(a){return (this.x===a.x&&this.y===a.y)},isCloseTo:function(b,a){if(typeof a=='number'){return this.getDistanceTo(b)<=a}var e=b.x,f=b.y,c=a.x,d=a.y;return (this.x<=e+c&&this.x>=e-c&&this.y<=f+d&&this.y>=f-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},isContainedBy:function(a){if(!(a instanceof Ext.util.Region)){a=Ext.get(a.el||a).getRegion()}return a.contains(this)},roundedEquals:function(a){if(!a||typeof a!=='object'){a=this.origin}return (Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(a){if(!a||typeof a!=='object'){a=this.origin}var b=this.x-a.x,c=this.y-a.y;return Math.sqrt(b*b+c*c)},getAngleTo:function(a){if(!a||typeof a!=='object'){a=this.origin}var b=this.x-a.x,c=this.y-a.y;return Math.atan2(c,b)*this.radianToDegreeConstant}},function(){this.prototype.translate=this.prototype.translateBy});Ext.define('Ext.event.Event',{alternateClassName:'Ext.EventObjectImpl',stopped:!1,claimed:!1,defaultPrevented:!1,isEvent:!0,geckoRelatedTargetEvents:{blur:1,dragenter:1,dragleave:1,focus:1},statics:{resolveTextNode:function(a){return (a&&a.nodeType===3)?a.parentNode:a},gestureEvents:{},pointerEvents:{pointerdown:1,pointermove:1,pointerup:1,pointercancel:1,pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerDown:1,MSPointerMove:1,MSPointerUp:1,MSPointerOver:1,MSPointerOut:1,MSPointerCancel:1,MSPointerEnter:1,MSPointerLeave:1},mouseEvents:{mousedown:1,mousemove:1,mouseup:1,mouseover:1,mouseout:1,mouseenter:1,mouseleave:1},clickEvents:{click:1,dblclick:1},touchEvents:{touchstart:1,touchmove:1,touchend:1,touchcancel:1},focusEvents:{focus:1,focusin:1,focusenter:1},blurEvents:{blur:1,focusout:1,focusleave:1},pointerTypeMap:{2:'touch',3:'pen',4:'mouse',touch:'touch',pen:'pen',mouse:'mouse'},keyEventRe:/^key/,keyFlags:{CTRL:'ctrlKey',CONTROL:'ctrlKey',ALT:'altKey',SHIFT:'shiftKey',CMD:'metaKey',COMMAND:'metaKey',CMDORCTRL:Ext.isMac?'metaKey':'ctrlKey',COMMANDORCONTROL:Ext.isMac?'metaKey':'ctrlKey',META:'metaKey'},modifierGlyphs:{ctrlKey:'⌃',altKey:'⌥',metaKey:Ext.isMac?'⌘':'⊞',shiftKey:'⇧'},specialKeyGlyphs:{BACKSPACE:'⌫',TAB:'⇥',ENTER:'⏎',RETURN:'⏎',SPACE:'␣',PAGE_UP:'⇞',PAGE_DOWN:'⇟',END:'⇲',HOME:'⌂',LEFT:'←',UP:'↑',RIGHT:'→',DOWN:'↓',PRINT_SCREEN:'⎙',INSERT:'⎀',DELETE:'⌦',CONTEXT_MENU:'☰'},_hyphenRe:/^[a-z]+\-/i,getKeyId:function(b){if(typeof b==='number'){b=this.keyCodes[b]}else {b=b.toUpperCase()}var c=this,h=c._hyphenRe.test(b)?'-':'+',f=(b===h)?[h]:b.split(h),i=f.length-1,e=f[i],a=[],g,d;if(!Ext.event.Event[e]){Ext.raise('Invalid key name: "'+e+'"')}for(d=0;d<i;d++){g=c.keyFlags[f[d]];if(!g){Ext.raise('Invalid key modifier: "'+f[d]+'"')}a[g]=!0}if(a.ctrlKey){a.push(c.modifierGlyphs.ctrlKey)}if(a.altKey){a.push(c.modifierGlyphs.altKey)}if(a.shiftKey){a.push(c.modifierGlyphs.shiftKey)}if(a.metaKey){a.push(c.modifierGlyphs.metaKey)}a.push(this.specialKeyGlyphs[e]||e);return a.join('')},globalTabKeyDown:function(a){if(a.keyCode===9){Ext.event.Event.forwardTab=!a.shiftKey}},globalTabKeyUp:function(a){if(a.keyCode===9){delete Ext.event.Event.forwardTab}}},constructor:function(b){var a=this,c=a.self,g=a.self.resolveTextNode,i=b.changedTouches,f=i?i[0]:b,d=b.type,e,h;a.timeStamp=a.time=Ext.now();a.pageX=f.pageX;a.pageY=f.pageY;a.clientX=f.clientX;a.clientY=f.clientY;a.target=a.delegatedTarget=g(b.target);a.currentTarget=g(b.currentTarget);h=b.relatedTarget;if(h){if(Ext.isGecko&&a.geckoRelatedTargetEvents[d]){try{a.relatedTarget=g(h)}catch(j){a.relatedTarget=null}}else {a.relatedTarget=g(h)}}a.browserEvent=a.event=b;a.type=d;a.button=b.button||0;a.shiftKey=b.shiftKey;a.ctrlKey=b.ctrlKey||b.metaKey||!1;a.altKey=b.altKey;a.charCode=b.charCode;a.keyCode=b.keyCode;a.buttons=b.buttons;if(a.button===0&&a.buttons===0){a.buttons=1}if(c.focusEvents[d]||c.blurEvents[d]){if(c.forwardTab!==undefined){a.forwardTab=c.forwardTab}if(c.focusEvents[d]){a.fromElement=b.relatedTarget;a.toElement=b.target}else {a.fromElement=b.target;a.toElement=b.relatedTarget}}else if(d!=='keydown'){delete c.forwardTab}if(c.mouseEvents[d]){e='mouse'}else if(c.clickEvents[d]){e=c.pointerTypeMap[b.pointerType]||(((Ext.now()-Ext.event.publisher.Dom.lastTouchEndTime)<1000)?'touch':'mouse')}else if(c.pointerEvents[d]){e=c.pointerTypeMap[b.pointerType]||'mouse'}else if(c.touchEvents[d]){e='touch'}if(e){a.pointerType=e}a.isMultitouch=b.isPrimary===!1||(b.touches&&b.touches.length>1)},chain:function(b){var a=Ext.Object.chain(this);a.parentEvent=this;return Ext.apply(a,b)},correctWheelDelta:function(a){var c=this.WHEEL_SCALE,b=Math.round(a/c);if(!b&&a){b=(a<0)?-1:1}return b},getChar:function(){var a=this.which();return String.fromCharCode(a)},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.keyCode||this.charCode},getKeyName:function(){return this.type==='keypress'?String.fromCharCode(this.getCharCode()):this.keyCodes[this.keyCode]},key:function(){return this.browserEvent.key},which:function(){var c=this,b=c.browserEvent,a=b.which;if(a==null){if(c.self.keyEventRe.test(b.type)){a=b.charCode||b.keyCode}else if((a=b.button)!==undefined){a=(a&1)?1:((a&4)?2:((a&2)?3:0))}}return a},getClipboardData:function(a){var b=this.browserEvent.clipboardData,c=Ext.global.clipboardData,d=null,e;a=a||'text/plain';if(b&&b.getData){d=b.getData(a)}else if(c&&c.getData){e=this.ieMimeType[a];if(e){d=c.getData(e)}}return d},getPoint:function(){var b=this,a=b.point,c;if(!a){c=b.getXY();a=b.point=new Ext.util.Point(c[0],c[1])}return a},getRelatedTarget:function(d,e,c){var a=this.relatedTarget,b=null;if(a&&a.nodeType){if(d){b=Ext.fly(a).findParent(d,e,c)}else {b=c?Ext.get(a):a}}return b},getTarget:function(b,c,a){return b?Ext.fly(this.target).findParent(b,c,a):(a?Ext.get(this.target):this.target)},getTime:function(){return this.time},getWheelDelta:function(){var a=this.getWheelDeltas();return a.y},getWheelDeltas:function(){var d=this,a=d.browserEvent,c=0,b=0;if(Ext.isDefined(a.wheelDeltaX)){c=a.wheelDeltaX;b=a.wheelDeltaY}else if(a.wheelDelta){b=a.wheelDelta}else if('deltaX' in a){c=a.deltaX;b=-a.deltaY}else if(a.detail){b=-a.detail;if(b>100){b=3}else if(b<-100){b=-3}if(Ext.isDefined(a.axis)&&a.axis===a.HORIZONTAL_AXIS){c=b;b=0}}return {x:d.correctWheelDelta(c),y:d.correctWheelDelta(b)}},getX:function(){return this.getXY()[0]},getXY:function(){var d=this,c=d.xy;if(!c){c=d.xy=[d.pageX,d.pageY];var g=c[0],e,f,a,b;if(!g&&g!==0){e=d.browserEvent;f=document;a=f.documentElement;b=f.body;c[0]=e.clientX+(a&&a.scrollLeft||b&&b.scrollLeft||0)-(a&&a.clientLeft||b&&b.clientLeft||0);c[1]=e.clientY+(a&&a.scrollTop||b&&b.scrollTop||0)-(a&&a.clientTop||b&&b.clientTop||0)}}return c},getY:function(){return this.getXY()[1]},hasModifier:function(){var a=this;return !!(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey)},isNavKeyPress:function(c){var a=this,b=a.keyCode,d=a.type==='keypress';return ((!d||Ext.isGecko)&&b>=33&&b<=40)||(!c&&(b===a.RETURN||b===a.TAB||b===a.ESC))},isSpecialKey:function(){var b=this,a=b.keyCode,d=Ext.isGecko,c=b.type==='keypress';return (d&&c&&b.charCode===0)||(this.isNavKeyPress())||(a===b.BACKSPACE)||(a===b.ENTER)||(a>=16&&a<=20)||((!c||d)&&a>=44&&a<=46)},makeUnpreventable:function(){this.browserEvent.preventDefault=Ext.emptyFn},preventDefault:function(){var a=this,b=a.parentEvent;a.defaultPrevented=!0;if(b){b.defaultPrevented=!0}a.browserEvent.preventDefault();return a},setCurrentTarget:function(a){this.currentTarget=this.delegatedTarget=a},stopEvent:function(){return this.preventDefault().stopPropagation()},mousedownEvents:{mousedown:1,pointerdown:1,touchstart:1},mouseupEvents:{mouseup:1,pointerup:1,touchend:1},stopPropagation:function(){var a=this,b=a.browserEvent,c=a.parentEvent;if(a.mousedownEvents[a.type]){Ext.GlobalEvents.fireMouseDown(a)}if(a.mouseupEvents[a.type]){Ext.GlobalEvents.fireMouseUp(a)}a.stopped=!0;if(c&&!a.isGesture){c.stopped=!0}if(!b.stopPropagation){b.cancelBubble=!0;return a}b.stopPropagation();return a},claimGesture:function(){var a=this,b=a.parentEvent;a.claimed=!0;if(b&&!a.isGesture){b.claimGesture()}else {a.preventDefault()}return a},within:function(b,d,c){var a;if(b){a=d?this.getRelatedTarget():this.getTarget()}if(!a||(c===!1&&a===Ext.getDom(b))){return !1}return Ext.fly(b).contains(a)},privates:{ieMimeType:{"text/plain":'Text'}},deprecated:{'4.0':{methods:{getPageX:'getX',getPageY:'getY'}}}},function(b){var c={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,META:91,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:120},i={},f=b.gestureEvents,d=b.prototype,a,g,j,e,k,h;if(Ext.isGecko){c.WHEEL_SCALE=3}else if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){h=120}else {h=12}c.WHEEL_SCALE=3*h}Ext.apply(f,b.mouseEvents);Ext.apply(f,b.pointerEvents);Ext.apply(f,b.touchEvents);Ext.apply(b,c);Ext.apply(d,c);delete c.WHEEL_SCALE;delete c.RETURN;for(g in c){j=c[g];i[j]=g}b.keyCodes=d.keyCodes=i;if(!Ext.isIE9m){document.addEventListener('keydown',b.globalTabKeyDown,!0);document.addEventListener('keyup',b.globalTabKeyUp,!0)}d.getTrueXY=d.getXY;if(typeof KeyboardEvent!=='undefined'&&!('key' in KeyboardEvent.prototype)){d._keys=e={3:'Cancel',6:'Help',8:'Backspace',9:'Tab',12:'Clear',13:'Enter',16:'Shift',17:'Control',18:'Alt',19:'Pause',20:'CapsLock',27:'Escape',28:'Convert',29:'NonConvert',30:'Accept',31:'ModeChange',32:' ',33:'PageUp',34:'PageDown',35:'End',36:'Home',37:'ArrowLeft',38:'ArrowUp',39:'ArrowRight',40:'ArrowDown',41:'Select',42:'Print',43:'Execute',44:'PrintScreen',45:'Insert',46:'Delete',48:['0',')'],49:['1','!'],50:['2','@'],51:['3','#'],52:['4','$'],53:['5','%'],54:['6','^'],55:['7','&'],56:['8','*'],57:['9','('],91:'OS',93:'ContextMenu',144:'NumLock',145:'ScrollLock',181:'VolumeMute',182:'VolumeDown',183:'VolumeUp',186:[';',':'],187:['=','+'],188:[',','<'],189:['-','_'],190:['.','>'],191:['/','?'],192:['`','~'],219:['[','{'],220:['\\','|'],221:[']','}'],222:["'",'"'],224:'Meta',225:'AltGraph',246:'Attn',247:'CrSel',248:'ExSel',249:'EraseEof',250:'Play',251:'ZoomOut'};for(a=1;a<25;++a){e[a+111]='F'+a}for(a=0;a<26;++a){e[a]=[String.fromCharCode(a+97),String.fromCharCode(a+65)]}d.key=function(){var a=e[this.browserEvent.which||this.keyCode];if(a&&typeof a!=='string'){a=a[+this.shiftKey]}return a}}});Ext.define('Ext.event.publisher.Dom',{extend:Ext.event.publisher.Publisher,type:'dom',handledDomEvents:[],reEnterCount:0,captureEvents:{animationstart:1,animationend:1,resize:1,focus:1,blur:1},directEvents:{mouseenter:1,mouseleave:1,pointerenter:1,pointerleave:1,MSPointerEnter:1,MSPointerLeave:1,load:1,unload:1,beforeunload:1,error:1,DOMContentLoaded:1,DOMFrameContentLoaded:1,hashchange:1,scroll:1,online:1,offline:1},blockedPointerEvents:{pointerover:1,pointerout:1,pointerenter:1,pointerleave:1,MSPointerOver:1,MSPointerOut:1,MSPointerEnter:1,MSPointerLeave:1},blockedCompatibilityMouseEvents:{mouseenter:1,mouseleave:1},constructor:function(){var a=this,b=Ext.supports.PassiveEventListener;a.listenerOptions=b?{passive:!1}:!1;a.captureOptions=b?{passive:!1,capture:!0}:!0;a.bubbleSubscribers={};a.captureSubscribers={};a.directSubscribers={};a.directCaptureSubscribers={};a.delegatedListeners={};a.initHandlers();Ext.onInternalReady(a.onReady,a);a.callParent();a.registerDomEvents()},registerDomEvents:function(){var c=this,e=Ext.event.publisher.Publisher.publishersByEvent,d=c.handledDomEvents,f=d.length,a,b;for(a=0;a<f;a++){b=d[a];c.handles[b]=1;e[b]=c}},onReady:function(){var a=this,c=a.handledDomEvents,d,b;if(c){for(b=0,d=c.length;b<d;b++){a.addDelegatedListener(c[b])}}Ext.getWin().on('unload',a.destroy,a,{priority:-10000})},initHandlers:function(){var a=this;a.onDelegatedEvent=Ext.bind(a.onDelegatedEvent,a);a.onDirectEvent=Ext.bind(a.onDirectEvent,a);a.onDirectCaptureEvent=Ext.bind(a.onDirectCaptureEvent,a)},addDelegatedListener:function(b){var a=this;a.delegatedListeners[b]=1;a.target.addEventListener(b,a.onDelegatedEvent,a.captureEvents[b]?a.captureOptions:a.listenerOptions)},removeDelegatedListener:function(b){var a=this;delete a.delegatedListeners[b];a.target.removeEventListener(b,a.onDelegatedEvent,a.captureEvents[b]?a.captureOptions:a.listenerOptions)},addDirectListener:function(c,d,b){var a=this;d.dom.addEventListener(c,b?a.onDirectCaptureEvent:a.onDirectEvent,b?a.captureOptions:a.listenerOptions)},removeDirectListener:function(c,d,b){var a=this;d.dom.removeEventListener(c,b?a.onDirectCaptureEvent:a.onDirectEvent,b?a.captureOptions:a.listenerOptions)},subscribe:function(f,b,g,e){var c=this,a,d;if(g&&!c.directEvents[b]){a=e?c.captureSubscribers:c.bubbleSubscribers;if(!c.handles[b]&&!c.delegatedListeners[b]){c.addDelegatedListener(b)}if(a[b]){++a[b]}else {a[b]=1}}else {a=e?c.directCaptureSubscribers:c.directSubscribers;d=f.id;a=a[b]||(a[b]={});if(a[d]){++a[d]}else {a[d]=1;c.addDirectListener(b,f,e)}}},unsubscribe:function(h,b,i,g){var c=this,e,f,a,d;if(i&&!c.directEvents[b]){e=c.captureSubscribers;f=c.bubbleSubscribers;a=g?e:f;if(a[b]){--a[b]}if(!c.handles[b]&&!f[b]&&!e[b]){this.removeDelegatedListener(b)}}else {a=g?c.directCaptureSubscribers:c.directSubscribers;d=h.id;a=a[b];if(a[d]){--a[d]}if(!a[d]){delete a[d];c.removeDirectListener(b,h,g)}}},getPropagatingTargets:function(d){var a=d,c=[],b;while(a){c.push(a);b=a.parentNode;if(!b){b=a.defaultView}a=b}return c},publish:function(a,i,h){var f=this,j=!1,k=!1,c,m,l,e,d,n,b,g;h=h||!1;if(!i){if(a instanceof Array){Ext.raise("Propagation targets must be supplied when publishing an array of events.")}l=a.target;if(f.captureEvents[a.type]){e=Ext.cache[l.id];i=e?[e]:[]}else {i=f.getPropagatingTargets(l)}}c=Ext.Array.from(a);n=i.length;g=c.length;for(d=0;d<g;d++){m=c[d].type;if(!j&&f.captureSubscribers[m]){j=!0}if(!k&&f.bubbleSubscribers[m]){k=!0}}if(j){for(d=n;d--;){e=Ext.cache[i[d].id];if(e){for(b=0;b<g;b++){a=c[b];f.fire(e,a.type,a,!1,!0);if(!h&&a.claimed){h=!0;b=f.filterClaimed(c,a);g=c.length}if(a.stopped){c.splice(b,1);b--;g--}}}}}if(k&&!a.stopped){for(d=0;d<n;d++){e=Ext.cache[i[d].id];if(e){for(b=0;b<g;b++){a=c[b];f.fire(e,a.type,a,!1,!1);if(!h&&a.claimed&&f.filterClaimed){h=!0;b=f.filterClaimed(c,a);g=c.length}if(a.stopped){c.splice(b,1);b--;g--}}}}}},publishDelegatedDomEvent:function(a){this.publish(a)},fire:function(b,d,c,f,e){var a;if(b.hasListeners[d]){a=b.events[d];if(a){if(e&&f){a=a.directCaptures}else if(e){a=a.captures}else if(f){a=a.directs}if(a){c.setCurrentTarget(b.dom);a.fire(c,c.target)}}}},onDelegatedEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDelegatedEvent,this,[a])}else {this.doDelegatedEvent(a)}},doDelegatedEvent:function(b){var a=this,c;b=new Ext.event.Event(b);c=b.time;if(!a.isEventBlocked(b)){a.beforeEvent(b);Ext.frameStartTime=c;a.reEnterCountAdjusted=!1;a.reEnterCount++;a.publishDelegatedDomEvent(b);if(!a.reEnterCountAdjusted){a.reEnterCount--}a.afterEvent(b)}},onDirectEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,!1])}else {this.doDirectEvent(a,!1)}},onDirectCaptureEvent:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doDirectEvent,this,[a,!0])}else {this.doDirectEvent(a,!0)}},doDirectEvent:function(a,f){var b=this,e=a.currentTarget,d,c;a=new Ext.event.Event(a);d=a.time;if(b.isEventBlocked(a)){return}b.beforeEvent(a);Ext.frameStartTime=d;c=Ext.cache[e.id];if(c){b.reEnterCountAdjusted=!1;b.reEnterCount++;b.fire(c,a.type,a,!0,f);if(!b.reEnterCountAdjusted){b.reEnterCount--}}b.afterEvent(a)},beforeEvent:function(e){var c=e.browserEvent,d=Ext.event.publisher.Dom,a,b;if(c.type==='touchstart'){a=c.touches;if(a.length===1){b=a[0];d.lastTouchStartX=b.pageX;d.lastTouchStartY=b.pageY}}},afterEvent:function(b){var e=b.browserEvent,a=e.type,c=Ext.event.publisher.Dom,d=Ext.GlobalEvents;if(b.self.pointerEvents[a]&&b.pointerType!=='mouse'){c.lastScreenPointerEventTime=Ext.now()}if(a==='touchend'){c.lastTouchEndTime=Ext.now()}if(!this.reEnterCount&&!d.idleEventMask[a]){Ext.fireIdle()}},isEventBlocked:function(a){var d=this,c=a.type,b=Ext.event.publisher.Dom,e=Ext.now();if(Ext.isGecko&&a.type==='click'&&a.button===2){return !0}return (d.blockedPointerEvents[c]&&a.pointerType!=='mouse')||(d.blockedCompatibilityMouseEvents[c]&&(e-b.lastScreenPointerEventTime<1000))||(Ext.supports.TouchEvents&&a.self.mouseEvents[a.type]&&Math.abs(a.pageX-b.lastTouchStartX)<15&&Math.abs(a.pageY-b.lastTouchStartY)<15&&(Ext.now()-b.lastTouchEndTime)<1000)},destroy:function(){var b=Ext.dom['GarbageCollector'],a;for(a in this.delegatedListeners){this.removeDelegatedListener(a)}Ext.Reaper.flush();if(b){b.collect()}this.callParent()},reset:function(){var a=Ext.event.publisher.Dom;this.reEnterCount=0;a.lastScreenPointerEventTime=a.lastTouchEndTime=a.lastTouchStartX=a.lastTouchStartY=undefined}},function(b){var d=document,a=d.defaultView,c=b.prototype;if((Ext.os.is.iOS&&Ext.os.version.getMajor()<5)||Ext.browser.is.AndroidStock||!(a&&a.addEventListener)){c.target=d}else {c.target=a}b.instance=new b()});Ext.define('Ext.event.publisher.Gesture',{extend:Ext.event.publisher.Dom,type:'gesture',isCancelEvent:{touchcancel:1,pointercancel:1,MSPointerCancel:1},isEndEvent:{mouseup:1,touchend:1,pointerup:1,MSPointerUp:1},handledEvents:[],handledDomEvents:[],constructor:function(h){var a=this,c=a.handledDomEvents,g=Ext.supports,f=g.TouchEvents,d=a.onTouchStart,e=a.onTouchMove,b=a.onTouchEnd;a.handlers={touchstart:d,touchmove:e,touchend:b,touchcancel:b,pointerdown:d,pointermove:e,pointerup:b,pointercancel:b,MSPointerDown:d,MSPointerMove:e,MSPointerUp:b,MSPointerCancel:b,mousedown:d,mousemove:e,mouseup:b};a.activeTouchesMap={};a.activeTouches=[];a.changedTouches=[];a.recognizers=[];a.eventToRecognizer={};a.cancelEvents=[];if(f){a.onTargetTouchMove=a.onTargetTouchMove.bind(a);a.onTargetTouchEnd=a.onTargetTouchEnd.bind(a)}if(g.PointerEvents){c.push('pointerdown','pointermove','pointerup','pointercancel');a.mousePointerType='mouse'}else if(g.MSPointerEvents){c.push('MSPointerDown','MSPointerMove','MSPointerUp','MSPointerCancel');a.mousePointerType=4}else if(f){c.push('touchstart','touchmove','touchend','touchcancel')}if(!c.length||(f&&Ext.os.is.Desktop)){c.push('mousedown','mousemove','mouseup')}a.initConfig(h);return a.callParent()},onReady:function(){this.callParent();Ext.Array.sort(this.recognizers,function(c,d){var a=c.priority,b=d.priority;return (a>b)?1:(a<b)?-1:0})},registerRecognizer:function(b){var a=this,d=b.handledEvents,f=d.length,e,c;b.setOnRecognized(a.onRecognized);b.setCallbackScope(a);for(c=0;c<f;c++){e=d[c];a.handledEvents.push(e);a.eventToRecognizer[e]=b}a.registerEvents(d);a.recognizers.push(b)},onRecognized:function(n,o,b,a,p){var c=this,h=b.touches,d=b.changedTouches,k=d.length,i=c.events,l=!i.length,m=c.cancelEvents,f,g,e,j;a=a||{};a.type=o;a.target=d[0].target;a.stopped=!1;a.claimed=!1;a.isGesture=!0;b=b.chain(a);if(!c.gestureTargets){if(k>1){f=[];for(e=0;e<k;e++){j=d[e];f.push(j.targets)}g=c.getCommonTargets(f)}else {g=d[0].targets}c.gestureTargets=g}if(p&&n.isSingleTouch&&(h.length>1)){b.target=h[0].target;m.push(b)}else {i.push(b)}if(l){c.publishGestures()}},getCommonTargets:function(e){var d=e[0],h=e.length;if(h===1){return d}var a=[],g=1,b,f,c;while(!0){b=d[d.length-g];if(!b){return a}for(c=1;c<h;c++){f=e[c];if(f[f.length-g]!==b){return a}}a.unshift(b);g++}return a},invokeRecognizers:function(d,f){var c=this.recognizers,e=c.length,a,b;if(d==='onStart'){for(a=0;a<e;a++){c[a].isActive=!0}}for(a=0;a<e;a++){b=c[a];if(b.isActive&&b[d].call(b,f)===!1){b.isActive=!1}}},filterClaimed:function(c,j){var i=this,g=i.eventToRecognizer,h=j.type,d=g[h],b,e,f,a;for(a=c.length;a--;){f=c[a].type;if(f===h){b=a}else {e=g[f];if(!d||(e&&(e!==d))){c.splice(a,1);if(b){b--}}}}i.claimRecognizer(d,c[0]);return b},claimRecognizer:function(f,g){var c=this,d=c.recognizers,b,e,a;for(b=0,e=d.length;b<e;b++){a=d[b];if(a!==f){a.isActive=!1;a.cancel(g)}}if(c.events.length){c.publishGestures(!0)}},publishGestures:function(e){var a=this,b=a.cancelEvents,c=a.events,d=a.gestureTargets;if(b.length){a.cancelEvents=[];a.publish(b,a.getPropagatingTargets(b[0].target),!0)}if(c.length){a.events=[];a.gestureTargets=null;a.publish(c,d||a.getPropagatingTargets(c[0].target),e)}},updateTouches:function(e){var d=this,m=e.browserEvent,o=e.type,n=m.changedTouches||[m],h=d.activeTouches,g=d.activeTouchesMap,l=[],b,c,a,i,f,p,j,k;for(f=0,p=n.length;f<p;f++){b=n[f];if('identifier' in b){c=b.identifier}else if('pointerId' in b){c=b.pointerId}else {c=1}a=g[c];if(!a){i=Ext.event.Event.resolveTextNode(b.target);a=g[c]={identifier:c,target:i,targets:d.getPropagatingTargets(i)};h.push(a)}if(d.isEndEvent[o]||d.isCancelEvent[o]){delete g[c];Ext.Array.remove(h,a)}j=b.pageX;k=b.pageY;a.pageX=j;a.pageY=k;a.point=new Ext.util.Point(j,k);l.push(a)}e.touches=Ext.Array.clone(h);e.changedTouches=l},publishDelegatedDomEvent:function(a){var b=this;if(!a.button||a.button<1){b.events=[a];a.browserEvent.$extHandled=!0;b.handlers[a.type].call(b,a)}else {b.callParent([a])}},onTouchStart:function(b){var a=this,d=b.target,c=b.browserEvent.touches;if(b.browserEvent.type==='touchstart'){d.addEventListener('touchmove',a.onTargetTouchMove);d.addEventListener('touchend',a.onTargetTouchEnd);d.addEventListener('touchcancel',a.onTargetTouchEnd)}if(c&&c.length<=a.activeTouches.length){a.removeGhostTouches(c)}a.updateTouches(b);if(!a.isStarted){if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.pause()}a.isStarted=!0;a.invokeRecognizers('onStart',b)}a.invokeRecognizers('onTouchStart',b);a.publishGestures()},onTouchMove:function(a){var b=this,c=b.mousePointerType,d=b.isStarted;if(d||(a.pointerType!=='mouse')){b.updateTouches(a)}if(d){if(c&&a.browserEvent.pointerType===c&&a.buttons===0){a.type=Ext.dom.Element.prototype.eventMap.touchend;a.button=0;b.onTouchEnd(a);return}if(a.changedTouches.length>0){b.invokeRecognizers('onTouchMove',a)}}b.publishGestures()},onTouchEnd:function(b){var a=this,d=a.isStarted,c;if(d||(b.pointerType!=='mouse')){a.updateTouches(b)}if(!d){a.publishGestures();return}c=a.activeTouches.length;try{a.invokeRecognizers(a.isCancelEvent[b.type]?'onTouchCancel':'onTouchEnd',b)}finally{try{if(!c){a.isStarted=!1;a.invokeRecognizers('onEnd',b)}}finally{try{a.publishGestures()}finally{if(!c){if(Ext.enableGarbageCollector){Ext.dom.GarbageCollector.resume()}}a.reEnterCountAdjusted=!0;a.reEnterCount--}}}},onTargetTouchMove:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchMove,this,[a])}else {this.doTargetTouchMove(a)}},doTargetTouchMove:function(b){var a=this;if(!Ext.getBody().contains(b.target)){a.reEnterCountAdjusted=!1;a.reEnterCount++;this.onTouchMove(new Ext.event.Event(b));if(!a.reEnterCountAdjusted){a.reEnterCount--}}},onTargetTouchEnd:function(a){if(Ext.elevateFunction){Ext.elevateFunction(this.doTargetTouchEnd,this,[a])}else {this.doTargetTouchEnd(a)}},doTargetTouchEnd:function(c){var a=this,b=c.target;b.removeEventListener('touchmove',a.onTargetTouchMove);b.removeEventListener('touchend',a.onTargetTouchEnd);b.removeEventListener('touchcancel',a.onTargetTouchEnd);if(!Ext.getBody().contains(b)){a.reEnterCountAdjusted=!1;a.reEnterCount++;a.onTouchEnd(new Ext.event.Event(c));if(!a.reEnterCountAdjusted){a.reEnterCount--}}},reset:function(){var a=this,d=a.recognizers,e=d.length,b,c;a.activeTouchesMap={};a.activeTouches=[];a.changedTouches=[];a.isStarted=!1;a.gestureTargets=null;a.events=[];a.cancelEvents=[];for(b=0;b<e;b++){c=d[b];c.reset();c.isActive=!1}this.callParent()},privates:{removeGhostTouches:function(c){var f={},g=c.length,b=this.activeTouches,h=this.activeTouchesMap,a,e,d;for(a=0;a<g;++a){f[c[a].identifier]=!0}a=b.length;while(a--){d=b[a];e=d.identifier;if(!c[e]){Ext.Array.remove(b,d);delete h[e]}}}}},function(a){var c=Event.prototype,b=c.stopPropagation;if(b){c.stopPropagation=function(){var d=this,c=a.instance,f=d.type,e;if(!d.$extHandled&&c.handles[f]){e=new Ext.event.Event(d);c.updateTouches(e);c.invokeRecognizers('onTouchCancel',e);c.reset();c.reEnterCountAdjusted=!0}b.apply(d,arguments)}}a.instance=Ext.$gesturePublisher=new a()});Ext.define('Ext.mixin.Templatable',{extend:Ext.Mixin,mixinConfig:{id:'templatable'},referenceAttributeName:'reference',referenceSelector:'[reference]',getElementConfig:function(){return {reference:'element'}},getElementTemplate:function(){var a=document.createDocumentFragment();a.appendChild(Ext.Element.create(this.getElementConfig(),!0));return a},initElement:function(){var a=this.self.prototype;a.elementTemplate=this.getElementTemplate();a.initElement=a.doInitElement;this.initElement.apply(this,arguments)},linkElement:function(a,b){this.link(a,b)},doInitElement:function(){var d=this.referenceAttributeName,e,c,b,g,a,f;e=this.elementTemplate.cloneNode(!0);c=e.querySelectorAll(this.referenceSelector);for(b=0,g=c.length;b<g;b++){a=c[b];f=a.getAttribute(d);a.removeAttribute(d);this.linkElement(f,a)}}});Ext.define('Ext.TaskQueue',{singleton:!0,pending:!1,mode:!0,protectedReadQueue:[],protectedWriteQueue:[],readQueue:[],writeQueue:[],readRequestId:0,writeRequestId:0,timer:null,constructor:function(){var a=this;a.run=a.run.bind(a);a.runProtected=Ext.Function.bind(a.run,a,[a.protectedReadQueue,a.protectedWriteQueue,'runProtected']);a.runProtected.$skipTimerCheck=!0;if(Ext.os.is.iOS){a.watch.$skipTimerCheck=!0;a.watchdogTimer=Ext.interval(this.watch,500,this)}},requestRead:function(d,b,c){var a={id:++this.readRequestId,fn:d,scope:b,args:c};if(arguments[3]===!0){this.protectedReadQueue.push(a);this.request(!0,'runProtected')}else {this.readQueue.push(a);this.request(!0)}return a.id},cancelRead:function(a){this.cancelRequest(this.readQueue,a,!0)},requestWrite:function(e,c,d){var a=this,b={id:++a.writeRequestId,fn:e,scope:c,args:d};if(arguments[3]===!0){a.protectedWriteQueue.push(b);a.request(!1,'runProtected')}else {a.writeQueue.push(b);a.request(!1)}return b.id},cancelWrite:function(a){this.cancelRequest(this.writeQueue,a,!1)},request:function(c,b){var a=this;var d=a.mode;if(!a.pending){a.pendingTime=Date.now();a.pending=!0;a.mode=c;if(c){a.timer=Ext.defer(a[b]||a.run,1)}else {a.timer=Ext.raf(a[b]||a.run)}}if(a.mode===c&&a.timer){if(d){Ext.undefer(a.timer)}else {Ext.unraf(a.timer)}if(c){a.timer=Ext.defer(a[b]||a.run,1)}else {a.timer=Ext.raf(a[b]||a.run)}}},cancelRequest:function(a,d,c){for(var b=0;b<a.length;b++){if(a[b].id===d){a.splice(b,1);break}}if(!a.length&&this.mode===c&&this.timer){Ext.undefer(this.timer)}},watch:function(){if(this.pending&&Date.now()-this.pendingTime>=500){this.run()}},run:function(e,d,m){var b=this,h=null,f,g,i,c,a,k,j,l;e=e||b.readQueue;d=d||b.writeQueue;b.pending=!1;b.pending=b.timer=!1;if(b.mode){f=e;if(d.length>0){h=!1}}else {f=d;if(e.length>0){h=!0}}g=f.slice();f.length=0;for(j=0,l=g.length;j<l;j++){i=g[j];c=i.fn;a=i.scope;k=i.args;if(a&&(a.destroying||a.destroyed)){continue}if(typeof c==='string'){c=a[c]}if(k){c.apply(a,k)}else {c.call(a)}}g.length=0;if(h!==null){b.request(h,m)}},clear:function(){var a=this,b=a.timer;if(b){if(a.mode){Ext.undefer(b)}else {Ext.unraf(b)}}a.readQueue.length=a.writeQueue.length=0;a.pending=a.timer=!1;a.mode=!0},privates:{flush:function(){var a=this,b=a.mode;while(a.readQueue.length||a.writeQueue.length){if(b){Ext.undefer(a.timer)}else {Ext.unraf(a.timer)}a.run()}a.mode=!0}}});Ext.define('Ext.util.sizemonitor.Abstract',{mixins:[Ext.mixin.Templatable],config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},width:null,height:null,contentWidth:null,contentHeight:null,constructor:function(b){var a=this;a.refresh=a.refresh.bind(a);a.info={width:0,height:0,contentWidth:0,contentHeight:0,flag:0};a.initElement();a.initConfig(b);a.bindListeners(!0)},bindListeners:Ext.emptyFn,applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.append(this.detectorsContainer,!0);a.addCls(Ext.baseCSSPrefix+'size-monitored')},applyArgs:function(a){return a.concat([this.info])},refreshMonitors:Ext.emptyFn,forceRefresh:function(){Ext.TaskQueue.requestRead('refresh',this)},getContentBounds:function(){return this.detectorsContainer.getBoundingClientRect()},getContentWidth:function(){return this.detectorsContainer.clientWidth},getContentHeight:function(){return this.detectorsContainer.clientHeight},refreshSize:function(){var e=this.getElement();if(!e||e.destroyed){return !1}var a=this,j=e.measure(),i=j.width,h=j.height,d=a.getContentWidth(),c=a.getContentHeight(),l=a.contentWidth,k=a.contentHeight,b=a.info,g=!1,f;a.width=i;a.height=h;a.contentWidth=d;a.contentHeight=c;f=((l!==d?1:0)+(k!==c?2:0));if(f>0){b.width=i;b.height=h;b.contentWidth=d;b.contentHeight=c;b.flag=f;g=!0;a.getCallback().apply(a.getScope(),a.getArgs())}return g},refresh:function(){if(this.destroying||this.destroyed){return}this.refreshSize();Ext.TaskQueue.requestWrite('refreshMonitors',this)},destroy:function(){var a=this,b=a.getElement();a.bindListeners(!1);if(b&&!b.destroyed){b.removeCls(Ext.baseCSSPrefix+'size-monitored')}delete a._element;a.refresh=null;a.callParent()}});Ext.define('Ext.util.sizemonitor.Scroll',{extend:Ext.util.sizemonitor.Abstract,getElementConfig:function(){return {reference:'detectorsContainer',classList:[Ext.baseCSSPrefix+'size-monitors','scroll'],children:[{reference:'expandMonitor',className:'expand'},{reference:'shrinkMonitor',className:'shrink'}]}},constructor:function(a){this.onScroll=this.onScroll.bind(this);this.callParent(arguments)},bindListeners:function(b){var a=b?'addEventListener':'removeEventListener';this.expandMonitor[a]('scroll',this.onScroll,!0);this.shrinkMonitor[a]('scroll',this.onScroll,!0)},onScroll:function(){if(!this.destroyed){Ext.TaskQueue.requestRead('refresh',this)}},refreshMonitors:function(){var a=this.expandMonitor,b=this.shrinkMonitor,c=1000000;if(a&&!a.destroyed){a.scrollLeft=c;a.scrollTop=c}if(b&&!b.destroyed){b.scrollLeft=c;b.scrollTop=c}},destroy:function(){this.onScroll=null;this.callParent()}});Ext.define('Ext.util.SizeMonitor',{constructor:function(a){return new Ext.util.sizemonitor.Scroll(a)}});Ext.define('Ext.event.publisher.ElementSize',{extend:Ext.event.publisher.Publisher,type:'size',handledEvents:['resize'],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(b){var a=b.id,c=this.subscribers,d=this.monitors;if(c[a]){++c[a]}else {c[a]=1;d[a]=new Ext.util.SizeMonitor({element:b,callback:this.onElementResize,scope:this,args:[b]})}b.on('painted','forceRefresh',d[a]);return !0},unsubscribe:function(b){var a=b.id,d=this.subscribers,e=this.monitors,c;if(d[a]&&!--d[a]){delete d[a];c=e[a];b.un('painted','forceRefresh',c);c.destroy();delete e[a]}if(b.activeRead){Ext.TaskQueue.cancelRead(b.activeRead)}},fireElementResize:function(a,b){delete a.activeRead;this.fire(a,'resize',[a,b])},onElementResize:function(a,b){if(!a.activeRead){a.activeRead=Ext.TaskQueue.requestRead('fireElementResize',this,[a,b],!!a.$skipResourceCheck)}},privates:{syncRefresh:function(b){b=Ext.Array.from(b);var e=b.length,c=0,a,d;for(c=0;c<e;++c){a=b[c];if(typeof a!=='string'){a=a.id}d=this.monitors[a];if(d){d.forceRefresh()}}Ext.TaskQueue.flush();Ext.Function.fireElevatedHandlers()}}},function(a){a.instance=new a()});Ext.define('Ext.util.paintmonitor.Abstract',{config:{element:null,callback:Ext.emptyFn,scope:null,args:[]},eventName:'',monitorClass:'',constructor:function(a){this.onElementPainted=this.onElementPainted.bind(this);this.initConfig(a)},bindListeners:function(a){this.monitorElement[a?'addEventListener':'removeEventListener'](this.eventName,this.onElementPainted,!0)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){this.monitorElement=Ext.Element.create({classList:[Ext.baseCSSPrefix+'paint-monitor',this.monitorClass]},!0);a.appendChild(this.monitorElement,!0);a.addCls(Ext.baseCSSPrefix+'paint-monitored');this.bindListeners(!0)},onElementPainted:function(){},destroy:function(){var a=this,c=a.monitorElement,d=c.parentNode,b=a.getElement();a.bindListeners(!1);delete a.monitorElement;if(b&&!b.destroyed){b.removeCls(Ext.baseCSSPrefix+'paint-monitored');delete a._element}if(d){d.removeChild(c)}a.callParent()}});Ext.define('Ext.util.paintmonitor.CssAnimation',{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.WebKit?'webkitAnimationEnd':'animationend',monitorClass:'cssanimation',onElementPainted:function(a){if(a.animationName===Ext.baseCSSPrefix+'paint-monitor-helper'){this.getCallback().apply(this.getScope(),this.getArgs())}}});Ext.define('Ext.util.PaintMonitor',{constructor:function(a){return new Ext.util.paintmonitor.CssAnimation(a)}});Ext.define('Ext.event.publisher.ElementPaint',{extend:Ext.event.publisher.Publisher,type:'paint',handledEvents:['painted'],constructor:function(){this.monitors={};this.subscribers={};this.callParent(arguments)},subscribe:function(d){var b=this,a=d.id,c=b.subscribers;if(c[a]){++c[a]}else {c[a]=1;b.monitors[a]=new Ext.util.PaintMonitor({element:d,callback:b.onElementPainted,scope:b,args:[d]})}},unsubscribe:function(c){var a=c.id,b=this.subscribers,d=this.monitors;if(b[a]&&!--b[a]){delete b[a];d[a].destroy();delete d[a]}if(c.activeRead){Ext.TaskQueue.cancelRead(c.activeRead)}},fireElementPainted:function(a){delete a.activeRead;this.fire(a,'painted',[a])},onElementPainted:function(a){if(!a.activeRead){a.activeRead=Ext.TaskQueue.requestRead('fireElementPainted',this,[a],!!a.$skipResourceCheck)}}},function(a){a.instance=new a()});Ext.define('Ext.dom.Element',function(a){var j=window,b=document,i=b.documentElement,m=j.top,C=[],n,z,x,Q='width',P='height',aa='min-width',Z='min-height',_='max-width',Y='max-height',ao='top',aj='right',af='bottom',am='left',$='visibility',ag='hidden',N="display",D="none",ai="z-index",y="position",ab="relative",ah="static",ae=/\w/g,l=/\s+/,S=/[\s]+/,W=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,U=/\?$/,al=/top/i,ak={},d={t:'border-top-width',r:'border-right-width',b:'border-bottom-width',l:'border-left-width'},h={t:'padding-top',r:'padding-right',b:'padding-bottom',l:'padding-left'},A={t:'margin-top',r:'margin-right',b:'margin-bottom',l:'margin-left'},M={b:'backward',back:'backward',f:'forward'},X=[h.l,h.r,h.t,h.b],J=[d.l,d.r,d.t,d.b],ac=/\d+$/,B=/\d+(px|r?em|%|vh|vw|vmin|vmax|en|ch|ex|pt|in|cm|mm|pc)$/i,K='px',an=/^-ms-/,ad=/(-[a-z])/gi,R=/([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,w=/^\d+(?:\.\d*)?px$/i,V=/(%|r?em|auto|vh|vw|vmin|vmax|ch|ex)$/i,I={},G='originalDisplay',T=function(c,b){return b.charAt(1).toUpperCase()},L=function(d,e){var c,b,f;if(d.nodeType===1){d._extData=null;if(e){c=d.childNodes;for(b=0,f=c.length;b<f;++b){L(c[b],e)}}}},e=function(b){return parseFloat(b)||0},q=Ext.baseCSSPrefix+'hidden-opacity',o=Ext.baseCSSPrefix+'hidden-visibility',k=Ext.baseCSSPrefix+'hidden-display',p=Ext.baseCSSPrefix+'hidden-offsets',r=Ext.baseCSSPrefix+'hidden-clip',H=0,E=0,F=!1,u=!1,t=/text|password|search|tel|url/i,s,c,f,O,g,v;try{n=m.__elementIdCounter__;m.__elementIdCounter__=n}catch(ap){m=j}m.__elementIdCounter__=n=(m.__elementIdCounter__||0)+1;z='ext-window-'+n;x='ext-document-'+n;if(Object.freeze){Object.freeze(C)}return {alternateClassName:['Ext.Element'],mixins:[Ext.util.Positionable,Ext.mixin.Observable],observableType:'element',isElement:!0,skipGarbageCollection:!0,$applyConfigs:!0,identifiablePrefix:'ext-element-',_selectDir:M,styleHooks:{transform:{set:function(e,b,f){var c,d='';if(typeof b!=='string'){for(c in b){if(d){d+=' '}if(c.indexOf('translate')===0){d+=c+'('+a.addUnits(b[c],'px')+')'}else {d+=c+'('+b[c]+')'}}b=d}e.style.transform=b}}},validIdRe:Ext.validIdRe,blockedEvents:Ext.supports.EmulatedMouseOver?{mouseover:1}:{},longpressEvents:{longpress:1,taphold:1},constructor:function(d){var c=this,e;if(typeof d==='string'){d=b.getElementById(d)}if(!d){Ext.raise("Invalid domNode reference or an id of an existing domNode: "+d);return null}if(Ext.cache[d.id]){Ext.raise("Element cache already contains an entry for id '"+d.id+"'.  Use Ext.get() to create or retrieve Element instances.")}c.dom=d;e=d.id;if(e){c.id=e}else {e=d.id=c.getUniqueId()}if(!c.validIdRe.test(c.id)){Ext.raise('Invalid Element "id": "'+c.id+'"')}c.el=c;Ext.cache[e]=c;c.longpressListenerCount=0;c.mixins.observable.constructor.call(c)},inheritableStatics:{cache:Ext.cache={},editableSelector:'input,textarea,[contenteditable="true"]',VISIBILITY:1,DISPLAY:2,OFFSETS:3,CLIP:4,OPACITY:5,minKeyboardHeight:100,unitRe:B,useDelegatedEvents:!0,validNodeTypes:{1:1,9:1},namespaceURIs:{html:'http://www.w3.org/1999/xhtml',svg:'http://www.w3.org/2000/svg'},selectableCls:Ext.baseCSSPrefix+'selectable',unselectableCls:Ext.baseCSSPrefix+'unselectable',maxRippleDiameter:75,addUnits:function(b,c){if(typeof b==='number'){return b+(c||K)}if(b===""||b==="auto"||b==null){return b||''}if(ac.test(b)){return b+(c||K)}if(!B.test(b)){if(!(Ext.isString(b)&&b.indexOf('calc')===0)){Ext.Logger.warn("Warning, size detected ("+b+") not a valid property value on Element.addUnits.")}return b||''}return b},create:function(d,m){var o=this,e,f,p,i,c,h,g,q,n,j;d=d||{};if(d.isElement){return m?d.dom:d}else if('nodeType' in d){return m?d:Ext.get(d)}if(typeof d==='string'){return b.createTextNode(d)}i=d.tag;if(!i){i='div'}j=d.namespace;if(j){f=b.createElementNS(o.namespaceURIs[j]||j,i)}else {f=b.createElement(i)}p=f.style;for(h in d){if(h!=='tag'){c=d[h];switch(h){case 'style':if(typeof c==='string'){f.setAttribute(h,c)}else {for(g in c){p[g]=c[g]}};break;case 'className':case 'cls':n=c.split(l);e=e?e.concat(n):n;break;case 'classList':e=e?e.concat(c):c;break;case 'text':f.textContent=c;break;case 'html':f.innerHTML=c;break;case 'hidden':if(e){e.push(k)}else {e=[k]};break;case 'children':if(c!=null){for(g=0,q=c.length;g<q;g++){f.appendChild(o.create(c[g],!0))}};break;default:if(c!=null){f.setAttribute(h,c)};}}}if(e){f.className=e.join(' ')}if(m){return f}else {return o.get(f)}},fly:function(c,b){return Ext.fly(c,b)},fromPoint:(function(){var c;if(Ext.isIE||Ext.isEdge){try{c=window.self!==window.top}catch(aq){c=!0}}return function(e,f,g){var d=null;d=b.elementFromPoint(e,f);if(!d&&c){d=b.elementFromPoint(e,f)}return g?d:Ext.get(d)}})(),fromPagePoint:function(d,e,c){var b=Ext.getDoc().getScroll();return a.fromPoint(d-b.left,e-b.top,c)},get:function(c){var m=this,h=Ext.cache,g,f,d,e,l,i,k;if(!c){return null}function warnDuplicate(b){Ext.raise("DOM element with id "+b+" in Element cache is not the same as element in the DOM. "+"Make sure to clean up Element instances using destroy()")}if(c.isFly){c=c.dom}if(typeof c==='string'){d=c;if(h.hasOwnProperty(d)){e=h[d];if(e.skipGarbageCollection||!Ext.isGarbage(e.dom)){f=Ext.getElementById?Ext.getElementById(d):b.getElementById(d);if(f&&(f!==e.dom)){warnDuplicate(d)}return e}else {e.destroy()}}if(d===z){return a.get(j)}else if(d===x){return a.get(b)}f=Ext.getElementById?Ext.getElementById(d):b.getElementById(d);if(f){return new a(f)}}g=c.nodeType;if(g){l=(g===9);k=m.validNodeTypes[g]}else {i=(c.window==c)}if(k||i){d=c.id;if(h.hasOwnProperty(d)){e=h[d];if(e.skipGarbageCollection||c===e.dom||!Ext.isGarbage(e.dom)){if(c!==e.dom){warnDuplicate(d)}return e}else {e.destroy()}}if(c===b){c.id=x}if(c==j){c.id=z}c=new a(c);if(i||l){c.skipGarbageCollection=!0}return c}if(c.isElement){return c}if(c.isComposite){return c}if(Ext.isIterable(c)){return m.select(c)}return null},getActiveElement:function(d){var c=b.activeElement;if(!c||!c.focus){c=b.body}return d?Ext.get(c):c},getDocumentHeight:function(){return Math.max(!Ext.isStrict?b.body.scrollHeight:i.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?b.body.scrollWidth:i.scrollWidth,this.getViewportWidth())},getOrientation:function(){if(Ext.supports.OrientationChange){return (j.orientation==0)?'portrait':'landscape'}return (j.innerHeight>j.innerWidth)?'portrait':'landscape'},getViewportHeight:function(){var c=a._viewportHeight;if(Ext.isIE9m){return b.documentElement.clientHeight}return (c!=null)?c:i.clientHeight},getViewportWidth:function(){var c=a._viewportWidth;if(Ext.isIE9m){return b.documentElement.clientWidth}return (c!=null)?c:i.clientWidth},getViewportScale:function(){var b=m;return ((Ext.isiOS||Ext.isAndroid)?1:(b.devicePixelRatio||b.screen.deviceXDPI/b.screen.logicalXDPI))*this.getViewportTouchScale()},getViewportTouchScale:function(e){var c=1,d=m,b;if(!e){b=this._viewportTouchScale;if(b){return b}}if(Ext.isIE10p||Ext.isEdge||Ext.isiOS){c=i.offsetWidth/j.innerWidth}else if(Ext.isChromeMobile){c=d.outerWidth/d.innerWidth}return c},getViewSize:function(){return {width:a.getViewportWidth(),height:a.getViewportHeight()}},hasUnit:function(b){return !!(b&&B.test(b))},isRelativeUnit:function(b){return !b||V.test(b)},maskIframes:function(){var b=document.getElementsByTagName('iframe'),c=new Ext.dom.Fly();Ext.each(b,function(d){var b;b=c.attach(d.parentNode).mask();b.setStyle('background-color','transparent')})},normalize:function(b){return I[b]||(I[b]=b.replace(an,'ms-').replace(ad,T))},_onWindowFocusChange:function(b){if(Ext.fly(b.target).is(a.editableSelector)){H=new Date();F=(b.type==='focusin'||b.type==='pointerup')}},_onWindowResize:function(){var c=i.clientWidth,b=i.clientHeight,g=new Date(),f=1000,d,e;d=c-a._documentWidth;e=b-a._documentHeight;a._documentWidth=c;a._documentHeight=b;if(((g-H)<f)||((g-E)<f)){if(d===0&&(F&&(e<=-a.minKeyboardHeight))){u=!0;return}}if(u&&(d===0)&&(e>=a.minKeyboardHeight)){u=!1;E=new Date()}if(u){return}a._viewportWidth=c;a._viewportHeight=b},parseBox:function(c){c=c||0;var e=typeof c,b,d;if(e==='number'){return {top:c,right:c,bottom:c,left:c}}else if(e!=='string'){return c}b=c.split(' ');d=b.length;if(d===1){b[1]=b[2]=b[3]=b[0]}else if(d===2){b[2]=b[0];b[3]=b[1]}else if(d===3){b[3]=b[1]}return {top:parseFloat(b[0])||0,right:parseFloat(b[1])||0,bottom:parseFloat(b[2])||0,left:parseFloat(b[3])||0}},parseStyles:function(c){var d={},b;if(c){R.lastIndex=0;while((b=R.exec(c))){d[b[1]]=b[2]||''}}return d},select:function(d,c,e){return Ext.fly(e||b).select(d,c)},query:function(c,d,e){return Ext.fly(e||b).query(c,d)},unitizeBox:function(b,d){var c=this;b=c.parseBox(b);return c.addUnits(b.top,d)+' '+c.addUnits(b.right,d)+' '+c.addUnits(b.bottom,d)+' '+c.addUnits(b.left,d)},unmaskIframes:function(){var b=document.getElementsByTagName('iframe'),c=new Ext.dom.Fly();Ext.each(b,function(b){c.attach(b.parentNode).unmask()})},serializeForm:function(l){var m=l.elements||(b.forms[l]||Ext.getDom(l)).elements,n=!1,f=encodeURIComponent,g='',q=m.length,c,h,d,k,o,i,j,p,e;for(i=0;i<q;i++){c=m[i];h=c.name;d=c.type;k=c.options;if(!c.disabled&&h){if(/select-(one|multiple)/i.test(d)){p=k.length;for(j=0;j<p;j++){e=k[j];if(e.selected){o=e.hasAttribute('value');g+=Ext.String.format('{0}={1}&',f(h),f(o?e.value:e.text))}}}else if(!(/file|undefined|reset|button/i.test(d))){if(!(/radio|checkbox/i.test(d)&&!c.checked)&&!(d=='submit'&&n)){g+=f(h)+'='+f(c.value)+'&';n=/submit/i.test(d)}}}}return g.substr(0,g.length-1)},getCommonAncestor:function(d,e,c){f=f||new Ext.dom.Fly();f.attach(Ext.getDom(d));while(!f.isAncestor(e)){if(f.dom.parentNode){f.attach(f.dom.parentNode)}else {f.attach(b.body);break}}return c?f.dom:Ext.get(f)}},selectable:function(){var b=this;b.dom.unselectable='';b.removeCls(a.unselectableCls);b.addCls(a.selectableCls);return b},unselectable:function(){var b=this;if(Ext.isOpera){b.dom.unselectable='on'}b.removeCls(a.selectableCls);b.addCls(a.unselectableCls);return b},statics:{tabbableSelector:Ext.supports.CSS3NegationSelector?'a[href],button,iframe,input,select,textarea,[tabindex]:not([tabindex="-1"]),[contenteditable="true"]':'a[href],button,iframe,input,select,textarea,[tabindex],[contenteditable="true"]',naturallyFocusableTags:{BUTTON:!0,IFRAME:!0,EMBED:!0,INPUT:!0,OBJECT:!0,SELECT:!0,TEXTAREA:!0,HTML:Ext.isIE?!0:!1,BODY:Ext.isIE?!1:!0},naturallyTabbableTags:{BUTTON:!0,IFRAME:!0,INPUT:!0,SELECT:!0,TEXTAREA:!0,OBJECT:Ext.isIE8m?!0:!1},inputTags:{INPUT:!0,TEXTAREA:!0},tabbableSavedCounterAttribute:'data-tabindex-counter',tabbableSavedValueAttribute:'data-tabindex-value',splitCls:function(b){if(typeof b==='string'){b=b.split(l)}return b}},_init:function(b){b.tabbableSelector+=',['+b.tabbableSavedCounterAttribute+']'},addCls:function(d,b,c){return this.replaceCls(null,d,b,c)},addClsOnClick:function(c,d,f){var b=this,e=Ext.isFunction(d);b.on("mousedown",function(){if(e&&d.call(f||b,b)===!1){return !1}b.addCls(c);Ext.getDoc().on({mouseup:function(){if(b.dom){b.removeCls(c)}},single:!0})});return b},addClsOnFocus:function(c,d,f){var b=this,e=Ext.isFunction(d);b.on("focus",function(){if(e&&d.call(f||b,b)===!1){return !1}b.addCls(c)});b.on("blur",function(){if(b.dom){b.removeCls(c)}});return b},addClsOnOver:function(c,d,f){var b=this,e=Ext.isFunction(d);b.hover(function(){if(e&&d.call(f||b,b)===!1){return}b.addCls(c)},function(){b.removeCls(c)});return b},addStyles:function(i,h){var g=0,d=(i||'').match(ae),b,f=d.length,e,c=[];if(f===1){g=parseFloat(this.getStyle(h[d[0]]))||0}else if(f){for(b=0;b<f;b++){e=d[b];c.push(h[e])}c=this.getStyle(c);for(b=0;b<f;b++){e=d[b];g+=parseFloat(c[h[e]])||0}}return g},addUnits:function(c,b){return a.addUnits(c,b)},animate:function(b){b=new Ext.fx.Animation(b);b.setElement(this);this._activeAnimation=b;b.on({animationend:this._onAnimationEnd,scope:this});Ext.Animator.run(b);return b},_onAnimationEnd:function(){this._activeAnimation=null},getActiveAnimation:function(){return this._activeAnimation},append:function(){return this.appendChild.apply(this,arguments)},appendChild:function(c,d){var g=this,e,h,f;if(c.nodeType||c.dom||typeof c==='string'){c=Ext.getDom(c);g.dom.appendChild(c);return !d?Ext.get(c):c}else if(c.length){e=Ext.fly(b.createDocumentFragment());h=c.length;for(f=0;f<h;f++){e.appendChild(c[f],d)}c=Ext.Array.toArray(e.dom.childNodes);g.dom.appendChild(e.dom);return d?c:new Ext.dom.CompositeElementLite(c)}else {return g.createChild(c,null,d)}},appendTo:function(b){Ext.getDom(b).appendChild(this.dom);return this},applyStyles:function(b){if(b){if(typeof b==="function"){b=b.call()}if(typeof b==="string"){b=a.parseStyles(b)}if(typeof b==="object"){this.setStyle(b)}}return this},blur:function(){var d=this,c=d.dom;if(c!==b.body){try{c.blur()}catch(aq){}return d}else {return d.focus(undefined,c)}},cacheScrollValues:function(){var i=this,g=[],e=[],f,b,d,h;c=c||new Ext.dom.Fly();f=i.query('*');for(d=0,h=f.length;d<h;d++){b=f[d];if(b.scrollTop>0||b.scrollLeft!==0){e.push(b);g.push(c.attach(b).getScroll())}}return function(){var d,b,f;for(b=0,f=e.length;b<f;b++){d=g[b];c.attach(e[b]);c.setScrollLeft(d.left);c.setScrollTop(d.top)}}},center:function(c){return this.alignTo(c||b,'c-c')},child:function(d,c){var b=this,e;if(Ext.supports.Selectors2){return b.selectNode(':scope>'+d,!!c)}else {e=b.id!=null?b.id:Ext.get(b).id;return b.selectNode(Ext.makeIdSelector(e)+" > "+d,!!c)}},clone:function(c,d){var b=this.dom.cloneNode(c);if(Ext.supports.CloneNodeCopiesExpando){L(b,c)}return d?b:Ext.get(b)},constrainScrollLeft:function(c){var b=this.dom;return Math.max(Math.min(c,b.scrollWidth-b.clientWidth),0)},constrainScrollTop:function(c){var b=this.dom;return Math.max(Math.min(c,b.scrollHeight-b.clientHeight),0)},createChild:function(b,c,d){b=b||{tag:'div'};if(c){return Ext.DomHelper.insertBefore(c,b,d!==!0)}else {return Ext.DomHelper.append(this.dom,b,d!==!0)}},contains:function(b){if(!b){return !1}var d=this,c=Ext.getDom(b);return (c===d.dom)||d.isAncestor(c)},destroy:function(){var c=this,d=c.dom;if(c.destroyed){Ext.Logger.warn("Cannot destroy Element \""+c.id+"\". Already destroyed.");return}if(c.resumeFocusEventsTimer){Ext.unasap(c.resumeFocusEventsTimer);c.resumeFocusEventsTimer=null}if(c.repaintTimer){c.repaintTimer=Ext.undefer(c.repaintTimer)}if(c.deferFocusTimer){c.deferFocusTimer=Ext.undefer(c.deferFocusTimer)}if(d){if(d===b.body){Ext.raise("Cannot destroy body element.")}else if(d===b){Ext.raise("Cannot destroy document object.")}else if(d===j){Ext.raise("Cannot destroy window object")}}if(d&&d.parentNode){d.parentNode.removeChild(d)}if(c.$ripples){c.destroyAllRipples()}c.collect()},detach:function(){var b=this.dom,c=this.component;if(b&&b.parentNode&&b.tagName!=='BODY'){if(c){c.revertFocus()}b.parentNode.removeChild(b)}return this},disableShadow:function(){var b=this.shadow;if(b){b.hide();b.disabled=!0}},disableShim:function(){var b=this.shim;if(b){b.hide();b.disabled=!0}},doReplaceWith:function(c){var b=this.dom;b.parentNode.replaceChild(Ext.getDom(c),b)},doScrollIntoView:function(b,o,d,m,l,n){c=c||new Ext.dom.Fly();var e=this,k=e.dom,i=c.attach(b)[l](),j=b.scrollTop,h=e.getScrollIntoViewXY(b,i,j),f=h.x,g=h.y;if(m){if(d){d=Ext.apply({listeners:{afteranimate:function(){c.attach(k).highlight()}}},d)}else {c.attach(k).highlight()}}if(g!==j){c.attach(b).scrollTo('top',g,d)}if(o!==!1&&(f!==i)){c.attach(b)[n]('left',f,d)}return e},down:function(c,b){return this.selectNode(c,!!b)},enableShadow:function(f,e){var c=this,b=c.shadow||(c.shadow=new Ext.dom.Shadow(Ext.apply({target:c},f))),d=c.shim;if(d){d.offsets=b.outerOffsets;d.shadow=b;b.shim=d}if(e===!0||(e!==!1&&c.isVisible())){b.show()}else {b.hide()}b.disabled=!1},enableShim:function(f,e){var c=this,b=c.shim||(c.shim=new Ext.dom.Shim(Ext.apply({target:c},f))),d=c.shadow;if(d){b.offsets=d.outerOffsets;b.shadow=d;d.shim=b}if(e===!0||(e!==!1&&c.isVisible())){b.show()}else {b.hide()}b.disabled=!1;return b},findParent:function(f,c,g){var h=this,b=h.dom,d=i,e=0;if(c||c===0){if(typeof c!=='number'){d=Ext.getDom(c);c=Number.MAX_VALUE}}else {c=50}while(b&&b.nodeType===1&&e<c&&b!==d){if(Ext.fly(b).is(f)){return g?Ext.get(b):b}e++;b=b.parentNode}return null},findParentNode:function(c,e,d){var b=Ext.fly(this.dom.parentNode);return b?b.findParent(c,e,d):null},first:function(c,b){return this.matchNode('nextSibling','firstChild',c,b)},focus:function(d,b){var c=this;b=b||c.dom;if(Number(d)){Ext.defer(c.focus,d,c,[null,b])}else {Ext.GlobalEvents.fireEvent('beforefocus',b);b.focus()}return c},collect:function(){var b=this,e=b.dom,c=b.shadow,d=b.shim;if(!b.isFly){b.mixins.observable.destroy.call(b);delete Ext.cache[b.id];b.el=null}if(e){e._extData=b.dom=null}if(c){c.hide();b.shadow=null}if(d){d.hide();b.shim=null}},getAnchorToXY:function(e,b,d,c){return e.getAnchorXY(b,d,c)},getAttribute:function(b,d){var c=this.dom;return d?(c.getAttributeNS(d,b)||c.getAttribute(d+":"+b)):(c.getAttribute(b)||c[b]||null)},getAttributes:function(){var d=this.dom.attributes,e={},c,b,f;for(b=0,f=d.length;b<f;b++){c=d[b];e[c.name]=c.value}return e},getBottom:function(b){return (b?this.getLocalY():this.getY())+this.getHeight()},getById:function(d,e){var c=b.getElementById(d)||this.dom.querySelector(Ext.makeIdSelector(d));return e?c:(c?Ext.get(c):null)},getBorderPadding:function(){var c=this.getStyle(X),b=this.getStyle(J);return {beforeX:(parseFloat(b[d.l])||0)+(parseFloat(c[h.l])||0),afterX:(parseFloat(b[d.r])||0)+(parseFloat(c[h.r])||0),beforeY:(parseFloat(b[d.t])||0)+(parseFloat(c[h.t])||0),afterY:(parseFloat(b[d.b])||0)+(parseFloat(c[h.b])||0)}},getBorders:function(){var b=this.getStyle(J);return {beforeX:(parseFloat(b[d.l])||0),afterX:(parseFloat(b[d.r])||0),beforeY:(parseFloat(b[d.t])||0),afterY:(parseFloat(b[d.b])||0)}},getBorderWidth:function(b){return this.addStyles(b,d)},getClassMap:function(c){var b=this.getData();if(b){b=b.classMap;if(c!==!1){b=Ext.apply({},b)}}return b},getData:function(d){var c=this.dom,b;if(c){b=c._extData||(c._extData={});if(d!==!1&&!b.isSynchronized){this.synchronize()}}return b||null},getFirstChild:function(){return Ext.get(this.dom.firstElementChild)},getLastChild:function(){return Ext.get(this.dom.lastElementChild)},getHeight:function(g,f){var c=this,e=c.dom,h=c.isStyle('display','none'),b,d;if(h){return 0}if(e.nodeName==='BODY'){b=a.getViewportHeight()}else {if(f){b=e.getBoundingClientRect().height}else {b=e.offsetHeight;if(b==null){b=e.getBoundingClientRect().height}}}if(Ext.supports.Direct2DBug){d=c.adjustDirect2DDimension(P);if(f){b+=d}else if(d>0&&d<0.5){b++}}if(g){b-=c.getBorderWidth("tb")+c.getPadding("tb")}return (b<0)?0:b},getHtml:function(){return this.dom?this.dom.innerHTML:''},getLeft:function(b){return b?this.getLocalX():this.getX()},getLocalX:function(){var d=this,c,b=d.getStyle('left');if(!b||b==='auto'){b=0}else if(w.test(b)){b=parseFloat(b)}else {b=d.getX();c=d.dom.offsetParent;if(c){b-=Ext.fly(c).getX()}}return b},getLocalXY:function(){var e=this,d,f=e.getStyle(['left','top']),b=f.left,c=f.top;if(!b||b==='auto'){b=0}else if(w.test(b)){b=parseFloat(b)}else {b=e.getX();d=e.dom.offsetParent;if(d){b-=Ext.fly(d).getX()}}if(!c||c==='auto'){c=0}else if(w.test(c)){c=parseFloat(c)}else {c=e.getY();d=e.dom.offsetParent;if(d){c-=Ext.fly(d).getY()}}return [b,c]},getLocalY:function(){var d=this,c,b=d.getStyle('top');if(!b||b==='auto'){b=0}else if(w.test(b)){b=parseFloat(b)}else {b=d.getY();c=d.dom.offsetParent;if(c){b-=Ext.fly(c).getY()}}return b},getMargin:(function(){var c={t:"top",l:"left",r:"right",b:"bottom"},b=['margin-top','margin-left','margin-right','margin-bottom'];return function(g){var h=this,e,f,d;if(!g){e=h.getStyle(b);d={};if(e&&typeof e==='object'){d={};for(f in A){d[f]=d[c[f]]=parseFloat(e[A[f]])||0}}}else {d=h.addStyles(g,A)}return d}})(),getPadding:function(b){return this.addStyles(b,h)},getParent:function(){return Ext.get(this.dom.parentNode)},getRight:function(b){return (b?this.getLocalX():this.getX())+this.getWidth()},getScroll:function(){var h=this,d=h.dom,g=i,e,f,c=b.body;if(d===b||d===c){e=g.scrollLeft||(c?c.scrollLeft:0);f=g.scrollTop||(c?c.scrollTop:0)}else {e=d.scrollLeft;f=d.scrollTop}return {left:e,top:f}},getScrollIntoViewXY:function(b,h,i,c){c=c||ak;var d=this,j=d.dom,g,f,e;if(b.isRegion){e=b.height;f=b.width}else {b=Ext.getDom(b);e=b.clientHeight;f=b.clientWidth}g=d.getOffsetsTo(b);return {y:d.calcScrollPos(g[1]+i,j.offsetHeight,i,e,c.y),x:d.calcScrollPos(g[0]+h,j.offsetWidth,h,f,c.x)}},calcScrollPos:function(e,h,g,c,b){var i=e+h,j=g+c,d=b&&!U.test(b),f=g;if(!d){if(b){b=b.slice(0,-1)}if(h>c||e<g){b=b||'start';d=!0}else if(i>j){b=b||'end';d=!0}}if(d){if(b==='start'){f=e}else if(b==='center'){f=Math.max(0,e-Math.floor((c/2)))}else if(b==='end'){f=Math.max(0,i-c)}}return f},getScrollLeft:function(){var c=this.dom;if(c===b||c===b.body){return this.getScroll().left}else {return c.scrollLeft}},getScrollTop:function(){var c=this.dom;if(c===b||c===b.body){return this.getScroll().top}else {return c.scrollTop}},getSize:function(b){return {width:this.getWidth(b),height:this.getHeight(b)}},getStyle:function(n,i){var k=this,e=k.dom,m=typeof n!=='string',p=k.styleHooks,b=n,j=b,q=1,h,o,f,d,g,c,l;if(m){f={};b=j[0];l=0;if(!(q=j.length)){return f}}if(!e||e.documentElement){return f||''}h=e.style;if(i){c=h}else {c=e.ownerDocument.defaultView.getComputedStyle(e,null);if(!c){i=!0;c=h}}do{d=p[b];if(!d){p[b]=d={name:a.normalize(b)}}if(d.get){g=d.get(e,k,i,c)}else {o=d.name;g=c[o]}if(!m){return g}f[b]=g;b=j[++l]}while(l<q);return f},getStyleValue:function(b){return this.dom.style.getPropertyValue(b)},getCaretPos:function(){var d=this.dom,b,c;if(t.test(d.type)){b=d.selectionStart;c=(typeof b!=='number')&&this.getTextSelection();if(c){b=c[0]}}else {Ext.raise('Input type of "'+d.type+'" does not support selectionStart')}return b},setCaretPos:function(b){this.selectText(b,b)},getTextSelection:function(){var b=this.dom;if(t.test(b.type)){return [b.selectionStart,b.selectionEnd,b.selectionDirection]}else {Ext.raise('Input type of "'+this.dom.type+'" does not support selectionStart, selectionEnd and selectionDirection');return []}},selectText:function(c,d,e){var h=this,f,b=h.dom,g;if(b&&t.test(b.type)){c=c||0;g=b.value.length;if(d===undefined){d=g}e=M[e]||e||'forward';if(b.setSelectionRange){b.setSelectionRange(c,d,e)}else if(b.createTextRange){if(c>d){c=d}f=b.createTextRange();f.moveStart('character',c);f.moveEnd('character',-(g-d));f.select()}}else if(!t.test(b.type)){Ext.raise('Input type of "'+b.type+'" does not support setSelectionRange')}return h},getTop:function(b){return b?this.getLocalY():this.getY()},getTouchAction:function(){return Ext.dom.TouchAction.get(this.dom)},getValue:function(c){var b=this.dom.value;return c?parseInt(b,10):b},getViewSize:function(){var c=this.dom;if(c===b||c===b.body){return {width:a.getViewportWidth(),height:a.getViewportHeight()}}else {return {width:c.clientWidth,height:c.clientHeight}}},getVisibilityMode:function(){var d=this,c=d.getData(),b=c.visibilityMode;if(b===undefined){c.visibilityMode=b=a.DISPLAY}return b},getWidth:function(h,f){var c=this,g=c.dom,i=c.isStyle('display','none'),d,b,e;if(i){return 0}if(Ext.supports.BoundingClientRect){d=g.getBoundingClientRect();b=(c.vertical&&!Ext.supports.RotatedBoundingClientRect)?(d.bottom-d.top):(d.right-d.left);b=f?b:Math.ceil(b)}else {b=g.offsetWidth}if(Ext.supports.Direct2DBug&&!c.vertical){e=c.adjustDirect2DDimension(Q);if(f){b+=e}else if(e>0&&e<0.5){b++}}if(h){b-=c.getBorderWidth("lr")+c.getPadding("lr")}return (b<0)?0:b},getX:function(){return this.getXY()[0]},getXY:function(){var f=Math.round,e=this.dom,g=b.body,h=0,i=0,c,d;if(e!==b&&e!==g){try{c=g.getBoundingClientRect();d=e.getBoundingClientRect();h=d.left-c.left;i=d.top-c.top}catch(aq){}}return [f(h),f(i)]},getY:function(){return this.getXY()[1]},getZIndex:function(){return parseInt(this.getStyle('z-index'),10)},hasCls:function(c){var b=this.getClassMap();return b.hasOwnProperty(c)},hide:function(){return this.setVisible(!1)},hover:function(e,f,d,c){var b=this;b.on('mouseenter',e,d||b.dom,c);b.on('mouseleave',f,d||b.dom,c);return b},indexOf:function(c){var b=this.dom,d=c&&Ext.getDom(c);b=b&&b.childNodes;return (d&&b)?Array.prototype.indexOf.call(b,d):-1},insertAfter:function(b){b=Ext.getDom(b);b.parentNode.insertBefore(this.dom,b.nextSibling);return this},insertBefore:function(b){b=Ext.getDom(b);b.parentNode.insertBefore(this.dom,b);return this},insertFirst:function(b,c){b=b||{};if(b.nodeType||b.dom||typeof b==='string'){b=Ext.getDom(b);this.dom.insertBefore(b,this.dom.firstChild);return !c?Ext.get(b):b}else {return this.createChild(b,this.dom.firstChild,c)}},insertHtml:function(d,e,c){var b=Ext.DomHelper.insertHtml(d,this.dom,e);return c?Ext.get(b):b},insertSibling:function(c,l,g){var e=this,k=Ext.DomHelper,i=(l||'before').toLowerCase()==='after',d,h,j,f;if(Ext.isIterable(c)){j=c.length;h=Ext.fly(b.createDocumentFragment());if(Ext.isArray(c)){for(f=0;f<j;f++){d=h.appendChild(c[f],g)}}else {for(f=0;f<j;f++){h.dom.appendChild(d=c[0])}if(g===!1){d=Ext.get(d)}}e.dom.parentNode.insertBefore(h.dom,i?e.dom.nextSibling:e.dom);return d}c=c||{};if(c.nodeType||c.dom){d=e.dom.parentNode.insertBefore(Ext.getDom(c),i?e.dom.nextSibling:e.dom);if(!g){d=Ext.get(d)}}else {if(i&&!e.dom.nextSibling){d=k.append(e.dom.parentNode,c,!g)}else {d=k[i?'insertAfter':'insertBefore'](e.dom,c,!g)}}return d},is:function(c){var d=this.dom,b;if(!c){b=!0}else if(!d.tagName){b=!1}else if(Ext.isFunction(c)){b=c(d)}else {b=d[Ext.supports.matchesSelector](c)}return b},isAncestor:function(e){var d=!1,c=this.dom,b=Ext.getDom(e);if(c&&b){if(!b.nodeType){return !1}if(c.contains){return c.contains(b)}else if(c.compareDocumentPosition){return !!(c.compareDocumentPosition(b)&16)}else {while((b=b.parentNode)){d=b===c||d}}}return d},isPainted:(function(){return !Ext.browser.is.IE?function(){var b=this.dom;return Boolean(b&&b.offsetParent)}:function(){var b=this.dom;return Boolean(b&&(b.offsetHeight!==0||b.offsetWidth!==0))}})(),isScrollable:function(){var b=this.dom;return b.scrollHeight>b.clientHeight||b.scrollWidth>b.clientWidth},isStyle:function(b,c){return this.getStyle(b)===c},isVisible:function(f,d){var b=this.dom,c=!0,e;if(!b){return !1}d=d||3;if(!s){s=new Ext.dom.Fly()}for(e=b.ownerDocument.documentElement;b!==e;b=b.parentNode){if(!b||b.nodeType===11){c=!1}if(c){s.attach(b);if(d&1){c=!s.isStyle(N,D)}if(c&&(d&2)){c=!s.isStyle($,ag)}}if(!c||!f){break}}return c},last:function(c,b){return this.matchNode('previousSibling','lastChild',c,b)},matchNode:function(g,f,c,e){var d=this.dom,b;if(!d){return null}b=d[f];while(b){if(b.nodeType===1&&(!c||Ext.fly(b,'_matchNode').is(c))){return !e?Ext.get(b):b}b=b[g]}return null},measure:function(f){var m=this,g=m.dom,h=f!=='h',j=f!=='w',d=0,c=0,i=!Ext.supports.ComputedSizeIncludesPadding,b,l,k;if(g.nodeName==='BODY'){c=j&&a.getViewportHeight();d=h&&a.getViewportWidth()}else {k=g.offsetParent;b=g.ownerDocument.defaultView.getComputedStyle(g,null);i|=b.boxSizing==='content-box';if(k!==null||b.position==='fixed'){if(j){c=e(b.height);if(i){c+=e(b.paddingTop)+e(b.paddingBottom)+e(b.borderTopWidth)+e(b.borderBottomWidth)}}if(h){d=e(b.width);if(i){d+=e(b.paddingLeft)+e(b.paddingRight)+e(b.borderLeftWidth)+e(b.borderRightWidth)}}}}l=f?null:{width:d,height:c};return f?(h?d:c):l},measureContent:function(b){var c=this,g=b!=='h',d=c.measure(b),e=b?d:d.height,f=b?d:d.width;if(b!=='w'){e-=c.getBorderWidth('tb')+c.getPadding('tb')}if(g){f-=c.getBorderWidth('lr')+c.getPadding('lr')}return b?(g?f:e):{width:f,height:e}},monitorMouseLeave:function(f,e,g){var b=this,d,c={mouseleave:function(c){if(Ext.isIE9m){c.enableIEAsync()}d=Ext.defer(e,f,g||b,[c])},mouseenter:function(){Ext.undefer(d)},destroy:function(){Ext.undefer(d);if(!b.destroyed){b.un(c)}}};b.on(c);return c},next:function(c,b){return this.matchNode('nextSibling','nextSibling',c,b)},parent:function(c,b){return this.matchNode('parentNode','parentNode',c,b)},peekData:function(){var b=this.dom;return b&&b._extData||null},position:function(c,d,e,f){var b=this;if(b.dom.tagName!=='BODY'){if(!c&&b.isStyle(y,ah)){b.setStyle(y,ab)}else if(c){b.setStyle(y,c)}if(d){b.setStyle(ai,d)}if(e||f){b.setXY([e||!1,f||!1])}}},prev:function(c,b){return this.matchNode('previousSibling','previousSibling',c,b)},query:function(b,e,j){var i=this.dom,g,l,k,h,f,c,d;if(!i){return null}e=(e!==!1);b=b.split(",");if(!j){g=[]}for(c=0,l=b.length;c<l;c++){if(typeof b[c]==='string'){if(j){h=i.querySelector(b[c]);return e?h:Ext.get(h)}f=i.querySelectorAll(b[c]);for(d=0,k=f.length;d<k;d++){g.push(e?f[d]:Ext.get(f[d]))}}}return g},radioCls:function(b){var e=this.dom.parentNode.childNodes,c;b=Ext.isArray(b)?b:[b];for(var d=0,f=e.length;d<f;d++){c=e[d];if(c&&c.nodeType===1){Ext.fly(c).removeCls(b)}}return this.addCls(b)},redraw:function(){var c=this.dom,b=c.style;b.display='none';c.offsetHeight;b.display=''},remove:function(){this.destroy()},removeChild:function(b){this.dom.removeChild(Ext.getDom(b));return this},removeCls:function(d,b,c){return this.replaceCls(d,null,b,c)},repaint:function(){var b=this;b.addCls(Ext.baseCSSPrefix+'repaint');if(!b.repaintTimer){b.repaintTimer=Ext.defer(function(){b.repaintTimer=null;if(b.dom){b.removeCls(Ext.baseCSSPrefix+'repaint')}},1)}return b},replace:function(b,f){b=Ext.getDom(b);var c=b.parentNode,d=b.id,e=this.dom;if(!c){Ext.raise('Cannot replace element "'+d+'". It is not attached to a parent node.')}if(f!==!1&&d&&Ext.cache[d]){c.insertBefore(e,b);Ext.get(b).destroy()}else {c.replaceChild(e,b)}return this},replaceCls:function(o,e,c,d){var i=this,p=0,k=0,g=o,m=(e||o)&&i.getData(),n,h,f,j,b;if(m){n=m.classList;h=m.classMap;e=e?((typeof e==='string')?e.split(l):e):C;g=g?((typeof g==='string')?g.split(l):g):C;c=c||'';if(c&&c[c.length-1]!=='-'){c+='-'}d=d||'';if(d&&d[0]!=='-'){d='-'+d}for(f=0,j=g.length;f<j;f++){if(!(b=g[f])){continue}b=c+b+d;if(l.test(b)){Ext.raise('Class names in arrays must not contain spaces')}if(h[b]){delete h[b];++k}}for(f=0,j=e.length;f<j;f++){if(!(b=e[f])){continue}b=c+b+d;if(l.test(b)){Ext.raise('Class names in arrays must not contain spaces')}if(!h[b]){h[b]=!0;if(!k){n.push(b);++p}}}if(k){i.setClassMap(h,!0)}else if(p){i.dom.className=n.join(' ')}}return i},replaceWith:function(c){var b=this,e=b.dom,f=e.parentNode,g=Ext.cache,d;b.clearListeners();if(c.nodeType||c.dom||typeof c==='string'){c=Ext.get(c);d=f.insertBefore(c.dom,e)}else {d=Ext.DomHelper.insertBefore(e,c)}f.removeChild(e);b.dom=d;if(!b.isFly){delete g[b.id];g[b.id=Ext.id(d)]=b}return b},resolveListenerScope:function(c){var b=this.component;return b?b.resolveListenerScope(c):this},scroll:function(b,e,j){if(!this.isScrollable()){return !1}b=b.charAt(0);var f=this,i=f.dom,h=b==='r'||b==='l'?'left':'top',g=!1,c,d;if(b==='l'||b==='t'||b==='u'){e=-e}if(h==='left'){c=i.scrollLeft;d=f.constrainScrollLeft(c+e)}else {c=i.scrollTop;d=f.constrainScrollTop(c+e)}if(d!==c){this.scrollTo(h,d,j);g=!0}return g},scrollBy:function(b,c,e){var d=this,f=d.dom;if(b.length){e=c;c=b[1];b=b[0]}else if(typeof b!='number'){e=c;c=b.y;b=b.x}if(b){d.scrollTo('left',d.constrainScrollLeft(f.scrollLeft+b),e)}if(c){d.scrollTo('top',d.constrainScrollTop(f.scrollTop+c),e)}return d},scrollChildIntoView:function(c,b){Ext.fly(c).scrollIntoView(this,b)},scrollIntoView:function(b,e,d,c){b=Ext.getDom(b)||Ext.getBody().dom;return this.doScrollIntoView(b,e,d,c,'getScrollLeft','scrollTo')},scrollTo:function(h,e,d){var i=al.test(h),c=this,f=i?'scrollTop':'scrollLeft',g=c.dom,b;if(!d||!c.anim){g[f]=e;g[f]=e}else {b={to:{}};b.to[f]=e;if(Ext.isObject(d)){Ext.applyIf(b,d)}c.animate(b)}return c},select:function(b,e){var d,c;if(typeof b==="string"){c=this.query(b,!e)}else if(b.length===undefined){Ext.raise("Invalid selector specified: "+b)}else {c=b;d=!0}return e?new Ext.CompositeElement(c,!d):new Ext.CompositeElementLite(c,!0)},selectNode:function(b,c){return this.query(b,c,!0)},set:function(e,g){var f=this,d=f.dom,b,c;for(b in e){if(e.hasOwnProperty(b)){c=e[b];if(b==='style'){f.applyStyles(c)}else if(b==='cls'){d.className=c}else if(g!==!1){if(c===undefined){d.removeAttribute(b)}else {d.setAttribute(b,c)}}else {d[b]=c}}}return f},setBottom:function(b){this.dom.style[af]=a.addUnits(b);return this},setClassMap:function(b,e){var c=this.getData(!1),d;if(c){b=(e&&b)||Ext.apply({},b);c.classMap=b;c.classList=d=Ext.Object.getKeys(b);c.isSynchronized=!0;this.dom.className=d.join(' ')}},setCls:function(c){var h=this,e=h.getData(!1),d,g,f,b;if(typeof c==='string'){c=c.split(l)}e.classList=b=c.slice();e.classMap=f={};for(d=0,g=b.length;d<g;d++){f[b[d]]=!0}h.dom.className=b.join(' ')},setDisplayed:function(c){var b=this;if(typeof c==="boolean"){c=c?b._getDisplay():D}b.setStyle(N,c);if(b.shadow||b.shim){b.setUnderlaysVisible(c!==D)}return b},setHeight:function(c){var b=this;b.dom.style[P]=a.addUnits(c);if(b.shadow||b.shim){b.syncUnderlays()}return b},setHtml:function(b){if(this.dom){this.dom.innerHTML=b}return this},setId:function(c){var b=this,d=b.id,e=Ext.cache;if(d){delete e[d]}b.dom.id=c;b.id=c;e[c]=b;return b},setLeft:function(c){var b=this;b.dom.style[am]=a.addUnits(c);if(b.shadow||b.shim){b.syncUnderlays()}return b},setLocalX:function(d){var b=this,c=b.dom.style;c.right='';c.left=(d===null)?'auto':d+'px';if(b.shadow||b.shim){b.syncUnderlays()}return b},setLocalXY:function(b,e){var d=this,c=d.dom.style;c.right='';if(b&&b.length){e=b[1];b=b[0]}if(b===null){c.left='auto'}else if(b!==undefined){c.left=b+'px'}if(e===null){c.top='auto'}else if(e!==undefined){c.top=e+'px'}if(d.shadow||d.shim){d.syncUnderlays()}return d},setLocalY:function(c){var b=this;b.dom.style.top=(c===null)?'auto':c+'px';if(b.shadow||b.shim){b.syncUnderlays()}return b},setMargin:function(b){var d=this,c=d.dom.style;if(b||b===0){b=d.self.unitizeBox((b===!0)?5:b);c.setProperty('margin',b,'important')}else {c.removeProperty('margin-top');c.removeProperty('margin-right');c.removeProperty('margin-bottom');c.removeProperty('margin-left')}},setMaxHeight:function(b){this.dom.style[Y]=a.addUnits(b);return this},setMaxWidth:function(b){this.dom.style[_]=a.addUnits(b);return this},setMinHeight:function(b){this.dom.style[Z]=a.addUnits(b);return this},setMinWidth:function(b){this.dom.style[aa]=a.addUnits(b);return this},setOpacity:function(c){var b=this;if(b.dom){b.setStyle('opacity',c)}return b},setPadding:function(b){var d=this,c=d.dom.style;if(b||b===0){b=d.self.unitizeBox((b===!0)?5:b);c.setProperty('padding',b,'important')}else {c.removeProperty('padding-top');c.removeProperty('padding-right');c.removeProperty('padding-bottom');c.removeProperty('padding-left')}},setRight:function(b){this.dom.style[aj]=a.addUnits(b);return this},setScrollLeft:function(b){this.dom.scrollLeft=b;return this},setScrollTop:function(b){this.dom.scrollTop=b;return this},setSize:function(b,d){var c=this,e=c.dom.style;if(Ext.isObject(b)){d=b.height;b=b.width}if(b!==undefined){e.width=a.addUnits(b)}if(d!==undefined){e.height=a.addUnits(d)}if(c.shadow||c.shim){c.syncUnderlays()}return c},setStyle:function(h,c){var e=this,f=e.dom,g=e.styleHooks,i=f.style,d=h,b;if(typeof d==='string'){b=g[d];if(!b){g[d]=b={name:a.normalize(d)}}c=(c==null)?'':c;if(b.set){b.set(f,c,e)}else {i[b.name]=c}if(b.afterSet){b.afterSet(f,c,e)}}else {for(d in h){b=g[d];if(!b){g[d]=b={name:a.normalize(d)}}c=h[d];c=(c==null)?'':c;if(b.set){b.set(f,c,e)}else {i[b.name]=c}if(b.afterSet){b.afterSet(f,c,e)}}}return e},setText:function(b){this.dom.textContent=b},setTop:function(c){var b=this;b.dom.style[ao]=a.addUnits(c);if(b.shadow||b.shim){b.syncUnderlays()}return b},setTouchAction:function(b){Ext.dom.TouchAction.set(this.dom,b)},setUnderlaysVisible:function(d){var b=this.shadow,c=this.shim;if(b&&!b.disabled){if(d){b.show()}else {b.hide()}}if(c&&!c.disabled){if(d){c.show()}else {c.hide()}}},setVisibility:function(c){var b=this.dom.style;if(c){b.removeProperty('visibility')}else {b.setProperty('visibility','hidden','important')}},setVisibilityMode:function(b){if(b!==1&&b!==2&&b!==3&&b!==4&&b!==5){Ext.raise("visibilityMode must be one of the following: "+"Ext.Element.DISPLAY, Ext.Element.VISIBILITY, Ext.Element.OFFSETS, "+"Ext.Element.CLIP, or Element.OPACITY")}this.getData().visibilityMode=b;return this},setVisible:function(d){var b=this,e=b.getVisibilityMode(),c=d?'removeCls':'addCls';switch(e){case a.DISPLAY:b.removeCls([o,p,r,q]);b[c](k);break;case a.VISIBILITY:b.removeCls([k,p,r,q]);b[c](o);break;case a.OFFSETS:b.removeCls([o,k,r,q]);b[c](p);break;case a.CLIP:b.removeCls([o,k,p,q]);b[c](r);break;case a.OPACITY:b.removeCls([o,k,p,r]);b[c](q);break;}if(b.shadow||b.shim){b.setUnderlaysVisible(d)}if(!d&&b.$ripples){b.destroyAllRipples()}return b},setWidth:function(c){var b=this;b.dom.style[Q]=a.addUnits(c);if(b.shadow||b.shim){b.syncUnderlays()}return b},setX:function(b){return this.setXY([b,!1])},setXY:function(f){var b=this,d=b.translatePoints(f),e=b.dom.style,c;b.position();e.right='';for(c in d){if(!isNaN(d[c])){e[c]=d[c]+'px'}}if(b.shadow||b.shim){b.syncUnderlays()}return b},setY:function(b){return this.setXY([!1,b])},setZIndex:function(c){var b=this;if(b.shadow){b.shadow.setZIndex(c)}if(b.shim){b.shim.setZIndex(c)}return b.setStyle('z-index',c)},show:function(){return this.setVisible(!0)},swallowEvent:function(b,g){var h=this,c,e,d={destroyable:!0},f=function(c){c.stopPropagation();if(g){c.preventDefault()}};if(Ext.isArray(b)){e=b.length;for(c=0;c<e;c++){d[b[c]]=f}}else {d[b]=f}return h.on(d)},swapCls:function(h,g,c,b){if(c===undefined){c=!0}var f=this,e=c?h:g,d=c?g:h;if(d){f.removeCls(b?b+'-'+d:d)}if(e){f.addCls(b?b+'-'+e:e)}return f},synchronize:function(){var e=this,i=e.dom,f={},g=i.className,b,c,j,h,d=e.getData(!1);if(g&&g.length>0){b=i.className.split(S);for(c=0,j=b.length;c<j;c++){h=b[c];f[h]=!0}}else {b=[]}d.classList=b;d.classMap=f;d.isSynchronized=!0;return e},syncUnderlays:function(){var b=this,c=b.shadow,d=b.shim,j=b.dom,e,h,i,g,f;if(b.isVisible()){e=b.getXY();h=e[0];i=e[1];g=j.offsetWidth;f=j.offsetHeight;if(c&&!c.hidden){c.realign(h,i,g,f)}if(d&&!d.hidden){d.realign(h,i,g,f)}}},toggleCls:function(b,c){if(c==null){c=!this.hasCls(b)}return c?this.addCls(b):this.removeCls(b)},toggle:function(){this.setVisible(!this.isVisible());return this},translate:function(){var c='webkitTransform' in b.createElement('div').style?'webkitTransform':'transform';return function(b,d,e){b=Math.round(b);d=Math.round(d);e=Math.round(e);this.dom.style[c]='translate3d('+(b||0)+'px, '+(d||0)+'px, '+(e||0)+'px)'}}(),unwrap:function(){var i=this.dom,f=i.parentNode,e=(v||(v=new Ext.dom.Fly())).attach(Ext.Element.getActiveElement()),d,c,h,j;g=g||new Ext.dom.Fly();c=Ext.cache[e.dom.id];if(c){e=c}if(this.contains(e)){if(c){c.suspendFocusEvents()}h=!0}if(f){d=f.parentNode;if(h){j=d.getAttribute('tabIndex');g.attach(d);g.set({tabIndex:-1});g.suspendFocusEvents();g.focus()}d.insertBefore(i,f);d.removeChild(f)}else {d=b.createDocumentFragment();d.appendChild(i)}if(h){if(c){c.focus();c.resumeFocusEvents()}else {e.focus()}if(g){g.resumeFocusEvents();g.set({tabIndex:j})}}return this},up:function(b,d,c){return this.findParentNode(b,d,!c)},update:function(b){return this.setHtml(b)},wrap:function(m,g,h){var l=this,k=l.dom,j=Ext.DomHelper.insertBefore(k,m||{tag:"div"},!g),c=(O||(O=new Ext.dom.Fly())).attach(Ext.getDom(j)),e=c,d=(v||(v=new Ext.dom.Fly())).attach(Ext.Element.getActiveElement()),b,f,i;b=Ext.cache[d.dom.id];if(b){d=b}if(h){e=c.selectNode(h,g)}if(l.contains(d)){if(b){b.suspendFocusEvents()}i=Ext.getDom(c).getAttribute('tabIndex');c.set({tabIndex:-1});c.suspendFocusEvents();c.focus();f=!0}(e.dom||e).appendChild(k);if(f){if(b){b.focus();b.resumeFocusEvents()}else {d.focus()}c.resumeFocusEvents();c.set({tabIndex:i})}return j},isFocusable:function(e){var b=this.dom,c=!1,d;if(b&&!b.disabled){d=b.nodeName;c=!!Ext.Element.naturallyFocusableTags[d]||((d==='A'||d==='LINK')&&!!b.href)||b.getAttribute('tabIndex')!=null||b.contentEditable==='true';if(Ext.isIE8&&d==='INPUT'&&b.type==='hidden'){c=!1}c=c&&(e||this.isVisible(!0))}return c},isInputField:function(){var b=this.dom,c=b.contentEditable;if((Ext.Element.inputTags[b.tagName]&&b.type!=='button')||(c===''||c==='true')){return !0}return !1},isTabbable:function(g){var d=this.dom,b=!1,f,e,c;if(d&&!d.disabled){f=d.nodeName;c=d.getAttribute('tabIndex');e=c!=null;c-=0;if(f==='A'||f==='LINK'){if(d.href){b=e&&c<0?!1:!0}else {if(d.contentEditable==='true'){b=!e||(e&&c>=0)?!0:!1}else {b=e&&c>=0?!0:!1}}}else if(d.contentEditable==='true'||Ext.Element.naturallyTabbableTags[f]){b=e&&c<0?!1:!0}else {if(e&&c>=0){b=!0}}if(Ext.isIE8&&f==='INPUT'&&d.type==='hidden'){b=!1}b=b&&(g||((!this.component||this.component.isVisible(!0))&&this.isVisible(!0)))}return b},ripplingCls:Ext.baseCSSPrefix+'rippling',ripplingTransitionCls:Ext.baseCSSPrefix+'ripple-transition',ripplingUnboundCls:Ext.baseCSSPrefix+'rippling-unbound',rippleBubbleCls:Ext.baseCSSPrefix+'ripple-bubble',rippleContainerCls:Ext.baseCSSPrefix+'ripple-container',rippleWrapperCls:Ext.baseCSSPrefix+'ripple-wrapper',noRippleDisplayMap:{table:1,'table-row':1,'table-row-group':1},noRippleTagMap:{TABLE:1,TR:1,TBODY:1},ripple:function(e,b){if(b===!0||!b){b={}}else if(Ext.isString(b)){b={color:b}}var d=this,c=Ext.isString(b.delegate)?d.down(b.delegate):d,t=Ext.isString(b.measureSelector)?d.down(b.measureSelector):null,J=window.getComputedStyle(c.dom).color,k=b.bound===!1,D=b.position,v=d.ripplingCls,z=d.ripplingTransitionCls,H=d.ripplingUnboundCls,B=d.rippleBubbleCls,l=d.rippleContainerCls,I=d.rippleWrapperCls,j,r,q,f,E,C,A,n,x,F,G,i,h,g,s,u,y,o,p,m,w;if(c){j=c.getXY();r=c.getWidth();q=c.getHeight();w=c.$rippleClearTimeout;if(w){c.$rippleClearTimeout=Ext.undefer(w)}if(t){C=t.getWidth();A=t.getHeight();f=Math.max(C,A)}else {f=r>q?r:q}if(b.diameterLimit===undefined||b.diameterLimit===!0){f=Math.min(f,a.maxRippleDiameter)}else if(b.diameterLimit&&b.diameterLimit!==!1&&b.diameterLimit!==0){f=Math.min(f,b.diameterLimit)}E=[j[0]+r/2,j[1]+q/2];if(k){if(b.fit!==!1){n=f*2.15;o=c.getRegion();o.setPosition(o.getCenter()).setSize(n).translateBy(-n/2,-n/2);p=d.up(function(c){var f=Ext.fly(c,'ripple');return !(c.tagName in d.noRippleTagMap)&&!(f.getStyle('display') in d.noRippleDisplayMap)&&(f.getRegion().contains(o))})||Ext.getBody()}else {p=c}}if(Ext.isString(e)){b.color=e;e=null}else if(e&&!e.isEvent){e=new Ext.event.Event(e)}if(e&&e.isEvent){if(e.browserEvent.$preventRipple){return}D=e.getXY();e.browserEvent.$preventRipple=!0}x=(!k&&!b.centered&&D)||E;F=x[0]-j[0]-(f/2);G=x[1]-j[1]-(f/2);c.addCls(z);if(!k){c.addCls(v);h=c.child('.'+l)}else {m=p.getData();i=m.rippleWrapper;if(!i){m.rippleWrapper=i=p.insertFirst({style:'position: absolute; top: 0; left: 0',cls:I+' '+v+' '+H})}}if(!h){if(k){h=i.append({cls:l});h.setXY(j)}else {h=c.append({cls:l})}}g=h.append({cls:B});if(b.color!=='default'){g.setStyle('backgroundColor',b.color||J)}g.setWidth(f);g.setHeight(f);g.setTop(G);g.setLeft(F);u=function(){if(!c.destroyed){c.$rippleClearTimeout=Ext.defer(function(){c.removeCls([v,z]);c.$rippleClearTimeout=null},50)}};s=function(){var f,j;g.destroy();if(d.$ripples){delete d.$ripples[g.id]}j=c.$rippleClearTimeout;if(j){c.$rippleClearTimeout=Ext.undefer(j)}if(k){h.destroy();f=i.child('.'+l);if(!f){m.rippleWrapper=null;i.destroy();u()}}else {f=h.child('.'+B);if(!f){h.destroy();u()}}};y=Ext.defer(s,b.destroyTime||1000,d);if(!d.$ripples){d.$ripples={}}d.$ripples[g.id]={timerId:y,destructor:s};g.addCls(Ext.baseCSSPrefix+'ripple')}},destroyAllRipples:function(){var c=this,d,b;for(d in c.$ripples){b=c.$ripples[d];Ext.undefer(b.timerId);if(b.destructor){b.destructor()}}c.$ripples=null},privates:{findTabbableElements:function(e){var m,l,b,i,h,f=this.dom,o=Ext.Element.tabbableSavedCounterAttribute,c=[],q=0,j,d,p,g,k,n;if(!f){return c}if(e){m=e.skipSelf;l=e.skipChildren;b=e.excludeRoot;i=e.includeSaved;h=e.includeHidden}b=b&&Ext.getDom(b);if(b&&b.contains(f)){return c}if(!m&&((i&&f.hasAttribute(o))||this.isTabbable(h))){c[q++]=f}if(l){return c}j=f.querySelectorAll(Ext.Element.tabbableSelector);k=j.length;if(!k){return c}p=new Ext.dom.Fly();for(g=0;g<k;g++){d=j[g];n=+d.getAttribute('tabIndex');if(((i&&d.hasAttribute(o))||(!(n<0)&&p.attach(d).isTabbable(h)))&&!(b&&(b===d||b.contains(d)))){c[q++]=d}}return c},saveTabbableState:function(c){var f=Ext.Element.tabbableSavedCounterAttribute,h=Ext.Element.tabbableSavedValueAttribute,g,d,b,e,i;if(!c||c.includeSaved==null){c=Ext.Object.chain(c||null);c.includeSaved=!0}d=this.findTabbableElements(c);for(e=0,i=d.length;e<i;e++){b=d[e];g=+b.getAttribute(f);if(g>0){b.setAttribute(f,++g)}else {if(b.hasAttribute('tabIndex')){b.setAttribute(h,b.getAttribute('tabIndex'))}else {b.setAttribute(h,'none')}b.setAttribute('tabIndex','-1');b.setAttribute(f,'1')}}return d},restoreTabbableState:function(c){var i=this.dom,d=Ext.Element.tabbableSavedCounterAttribute,g=Ext.Element.tabbableSavedValueAttribute,e=[],m=c&&c.skipSelf,l=c&&c.skipChildren,n=c&&c.reset,j,h,b,f,k;if(!i){return this}if(!l){e=Ext.Array.from(i.querySelectorAll('['+d+']'))}if(!m){e.unshift(i)}for(f=0,k=e.length;f<k;f++){b=e[f];if(!b.hasAttribute(d)||!b.hasAttribute(g)){continue}h=+b.getAttribute(d);if(!n&&h>1){b.setAttribute(d,--h);continue}j=b.getAttribute(g);if(j==='none'){b.removeAttribute('tabIndex')}else {b.setAttribute('tabIndex',j)}b.removeAttribute(g);b.removeAttribute(d)}return e},setTabIndex:function(c){var b=this.dom,d=Ext.Element.tabbableSavedValueAttribute;if(b.hasAttribute(d)){if(c==null){b.setAttribute(d,'none');b.removeAttribute('tabIndex')}else {b.setAttribute(d,c)}}else {if(c==null){b.removeAttribute('tabIndex')}else {b.setAttribute('tabIndex',c)}}},doAddListener:function(b,l,k,c,j,i,f){var d=this,m=b,g,h,e;b=Ext.canonicalEventName(b);if(!d.blockedEvents[b]){g=d.mixins.observable.doAddListener;c=c||{};if(a.useDelegatedEvents===!1){c.delegated=c.delegated||!1}if(c.translate!==!1){h=d.additiveEvents[b];if(h){c.type=b;b=h;g.call(d,b,l,k,c,j,i,f)}e=d.eventMap[b];if(e){c.type=c.type||b;if(f){c.managedName=m}b=e}}if(g.call(d,b,l,k,c,j,i,f)){if(d.longpressEvents[b]&&(++d.longpressListenerCount===1)){d.on('MSHoldVisual','preventMsHoldVisual',d)}}if(f&&e){delete c.managedName}delete c.type}},doRemoveListener:function(c,i,h){var b=this,d,f,g,e;c=Ext.canonicalEventName(c);if(!b.blockedEvents[c]){d=b.mixins.observable.doRemoveListener;g=b.additiveEvents[c];if(g){c=g;d.call(b,c,i,h)}f=b.eventMap[c];if(f){e=d.call(b,f,i,h)}e=d.call(b,c,i,h)||e;if(e){if(b.longpressEvents[c]&&!--b.longpressListenerCount){b.un('MSHoldVisual','preventMsHoldVisual',b)}}}},_initEvent:function(b){return (this.events[b]=new Ext.dom.ElementEvent(this,b))},_getDisplay:function(){var c=this.getData(),b=c[G];if(b===undefined){c[G]=b=''}return b},_getPublisher:function(b,e){var d=Ext.event.publisher.Publisher,c=d.publishersByEvent[b],f=e&&!Ext.event.Event.gestureEvents[b];if(f||!c||(this.dom===window&&b==='resize')){c=d.publishers.dom}return c},isFocusSuspended:function(){var b=this.peekData();return b&&b.suspendFocusEvents},preventMsHoldVisual:function(b){b.preventDefault()},suspendFocusEvents:function(){if(!this.isFly){this.suspendEvent('focus','blur')}this.getData().suspendFocusEvents=!0},resumeFocusEvents:function(){function resumeFn(){var b;if(!this.destroyed){b=this.getData();if(b){b.suspendFocusEvents=!1}if(!this.isFly){this.resumeEvent('focus','blur')}}}if(!this.destroyed&&this.getData().suspendFocusEvents){if(Ext.isIE&&!this.isFly){this.resumeFocusEventsTimer=Ext.asap(resumeFn,this)}else {resumeFn.call(this)}}}},deprecated:{'5.0':{methods:{getHTML:'getHtml',getPageBox:function(l){var e=this,c=e.dom,d=c.nodeName==='BODY',k=d?a.getViewportWidth():c.offsetWidth,g=d?a.getViewportHeight():c.offsetHeight,b=e.getXY(),j=b[1],i=b[0]+k,f=b[1]+g,h=b[0];if(l){return new Ext.util.Region(j,i,f,h)}else {return {left:h,top:j,width:k,height:g,right:i,bottom:f}}},isTransparent:function(c){var b=this.getStyle(c);return b?W.test(b):!1},purgeAllListeners:'clearListeners',removeAllListeners:'clearListeners',setHTML:'setHtml'}}}}},function(b){var e=document,y=e.documentElement,i=b.prototype,n=Ext.supports,o='pointerdown',p='pointermove',q='pointerup',r='pointercancel',s='MSPointerDown',t='MSPointerMove',u='MSPointerUp',v='MSPointerCancel',g='mousedown',h='mousemove',c='mouseup',w='mouseover',x='mouseout',A='mouseenter',B='mouseleave',j='touchstart',k='touchmove',l='touchend',m='touchcancel',E='click',D='dblclick',F='tap',C='doubletap',a=i.eventMap={},d=i.additiveEvents={},z=Ext.id,f;i._init(b);delete i._init;Ext.id=function(c,f){var d=c&&Ext.getDom(c,!0),e,a;if(!d){a=z(c,f)}else if(!(a=d.id)){a=z(null,f||b.prototype.identifiablePrefix);if(Ext.isSandboxed){e=Ext.sandboxPrefix||(Ext.sandboxPrefix=Ext.sandboxName.toLowerCase()+'-');a=e+a}d.id=a}return a};if(n.PointerEvents){a[g]=o;a[h]=p;a[c]=q;a[j]=o;a[k]=p;a[l]=q;a[m]=r;a[w]='pointerover';a[x]='pointerout';a[A]='pointerenter';if(!Ext.isIE11){a[B]='pointerleave'}}else if(n.MSPointerEvents){a[o]=s;a[p]=t;a[q]=u;a[r]=v;a[g]=s;a[h]=t;a[c]=u;a[j]=s;a[k]=t;a[l]=u;a[m]=v;a[w]='MSPointerOver';a[x]='MSPointerOut'}else if(n.TouchEvents){a[o]=j;a[p]=k;a[q]=l;a[r]=m;a[g]=j;a[h]=k;a[c]=l;a[E]=F;a[D]=C;if(Ext.os.is.Desktop){a[j]=g;a[k]=h;a[l]=c;a[m]=c;d[g]=g;d[h]=h;d[c]=c;d[j]=j;d[k]=k;d[l]=l;d[m]=m;d[o]=g;d[p]=h;d[q]=c;d[r]=c}}else {a[o]=g;a[p]=h;a[q]=c;a[r]=c;a[j]=g;a[k]=h;a[l]=c;a[m]=c}if(Ext.isWebKit){a.transitionend=Ext.browser.getVendorProperyName('transitionEnd');a.animationstart=Ext.browser.getVendorProperyName('animationStart');a.animationend=Ext.browser.getVendorProperyName('animationEnd')}if(!Ext.supports.MouseWheel&&!Ext.isOpera){a.mousewheel='DOMMouseScroll'}f=i.$eventOptions=Ext.Object.chain(i.$eventOptions);f.translate=f.capture=f.delegate=f.delegated=f.stopEvent=f.preventDefault=f.stopPropagation=f.element=1;i.styleHooks.opacity={name:'opacity',afterSet:function(e,c,d){var a=d.shadow;if(a){a.setOpacity(c)}}};i.getTrueXY=i.getXY;Ext.getViewportHeight=b.getViewportHeight;Ext.getViewportWidth=b.getViewportWidth;Ext.select=b.select;Ext.query=b.query;Ext.apply(Ext,{get:function(a){return b.get(a)},getDom:function(a){if(!a||!e){return null}return typeof a==='string'?Ext.getElementById(a):'dom' in a?a.dom:a},getBody:function(){if(!Ext._bodyEl){if(!e.body){throw new Error("[Ext.getBody] document.body does not yet exist")}Ext._bodyEl=Ext.get(e.body);Ext._bodyEl.skipGarbageCollection=!0}return Ext._bodyEl},getHead:function(){if(!Ext._headEl){Ext._headEl=Ext.get(e.head||e.getElementsByTagName('head')[0]);Ext._headEl.skipGarbageCollection=!0}return Ext._headEl},getDoc:function(){if(!Ext._docEl){Ext._docEl=Ext.get(e);Ext._docEl.skipGarbageCollection=!0}return Ext._docEl},getWin:function(){if(!Ext._winEl){Ext._winEl=Ext.get(window);Ext._winEl.skipGarbageCollection=!0}return Ext._winEl},removeNode:function(a){a=a.dom||a;var e=a&&a.id,d=Ext.cache[e],c;if(d){d.destroy()}else if(a&&(a.nodeType===3||a.tagName.toUpperCase()!=='BODY')){c=a.parentNode;if(c){c.removeChild(a)}}}});Ext.isGarbage=function(a){return a&&a.nodeType===1&&a.tagName!=='BODY'&&a.tagName!=='HTML'&&(!a.parentNode||(a.offsetParent===null&&((Ext.isIE8?e.all[a.id]:e.getElementById(a.id))!==a)&&!(Ext.detachedBodyEl&&Ext.detachedBodyEl.isAncestor(a))))};Ext.onInternalReady(function(){var a=[],c;Ext.getDoc().on('selectstart',function(h,a){var g=b.selectableCls,f=b.unselectableCls,c=a&&a.tagName,d=new Ext.dom.Fly();c=c&&c.toLowerCase();if(c==='input'||c==='textarea'){return}while(a&&a.nodeType===1&&a!==e.documentElement){d.attach(a);if(d.hasCls(g)){return}if(d.hasCls(f)){h.stopEvent();return}a=a.parentNode}});if(Ext.os.is.Android||(Ext.os.is.Windows&&Ext.supports.Touch)){var d=Ext.getWin();b._documentWidth=b._viewportWidth=y.clientWidth;b._documentHeight=b._viewportHeight=y.clientHeight;d.on({focusin:'_onWindowFocusChange',focusout:'_onWindowFocusChange',pointerup:'_onWindowFocusChange',capture:!0,delegated:!1,delay:1,scope:b});d.on({resize:'_onWindowResize',priority:2000,scope:b})}if(n.Touch){a.push(Ext.baseCSSPrefix+'touch')}if(Ext.isIE&&Ext.isIE9m){a.push(Ext.baseCSSPrefix+'ie',Ext.baseCSSPrefix+'ie9m');a.push(Ext.baseCSSPrefix+'ie8p');if(Ext.isIE8){a.push(Ext.baseCSSPrefix+'ie8')}else {a.push(Ext.baseCSSPrefix+'ie9',Ext.baseCSSPrefix+'ie9p')}if(Ext.isIE8m){a.push(Ext.baseCSSPrefix+'ie8m')}}if(Ext.isIE10){a.push(Ext.baseCSSPrefix+'ie10')}if(Ext.isIE10p){a.push(Ext.baseCSSPrefix+'ie10p')}if(Ext.isIE11){a.push(Ext.baseCSSPrefix+'ie11')}if(Ext.isEdge){a.push(Ext.baseCSSPrefix+'edge')}if(Ext.isGecko){a.push(Ext.baseCSSPrefix+'gecko')}if(Ext.isOpera){a.push(Ext.baseCSSPrefix+'opera')}if(Ext.isOpera12m){a.push(Ext.baseCSSPrefix+'opera12m')}if(Ext.isWebKit){a.push(Ext.baseCSSPrefix+'webkit')}if(Ext.isSafari){a.push(Ext.baseCSSPrefix+'safari')}if(Ext.isSafari9){a.push(Ext.baseCSSPrefix+'safari9')}if(Ext.isSafari10){a.push(Ext.baseCSSPrefix+'safari10')}if(Ext.isSafari11){a.push(Ext.baseCSSPrefix+'safari11')}if(Ext.isSafari&&Ext.browser.version.isLessThan(9)){a.push(Ext.baseCSSPrefix+'safari8m')}if(Ext.isChrome){a.push(Ext.baseCSSPrefix+'chrome')}if(Ext.isMac){a.push(Ext.baseCSSPrefix+'mac')}if(Ext.isWindows){a.push(Ext.baseCSSPrefix+'windows')}if(Ext.isLinux){a.push(Ext.baseCSSPrefix+'linux')}if(!n.CSS3BorderRadius){a.push(Ext.baseCSSPrefix+'nbr')}if(!n.CSS3LinearGradient){a.push(Ext.baseCSSPrefix+'nlg')}if(n.Touch){a.push(Ext.baseCSSPrefix+'touch')}if(Ext.os.deviceType){a.push(Ext.baseCSSPrefix+Ext.os.deviceType.toLowerCase())}if(Ext.os.is.BlackBerry){a.push(Ext.baseCSSPrefix+'bb');if(Ext.browser.userAgent.match(/Kbd/gi)){a.push(Ext.baseCSSPrefix+'bb-keyboard')}}if(Ext.os.is.iOS&&Ext.isSafari){a.push(Ext.baseCSSPrefix+'mobile-safari')}if(Ext.os.is.iOS&&Ext.browser.is.WebView&&!Ext.browser.is.Standalone){a.push(Ext.baseCSSPrefix+'ios-native')}if(Ext.supports.FlexBoxBasisBug){a.push(Ext.baseCSSPrefix+'has-flexbasis-bug')}Ext.getBody().addCls(a);c=Ext.theme;if(c&&c.getDocCls){Ext.fly(document.documentElement).addCls(c.getDocCls())}},null,{priority:1500})});Ext.define('Ext.GlobalEvents',{extend:Ext.mixin.Observable,alternateClassName:'Ext.globalEvents',observableType:'global',singleton:!0,resizeBuffer:100,idleEventMask:{mousemove:1,touchmove:1,pointermove:1,MSPointerMove:1,unload:1},windowListeners:{resize:{fn:'fireResize'}},constructor:function(){var a=this;a.callParent();Ext.onInternalReady(function(){a.attachListeners()})},setPressedComponent:function(c,d){var a=this,b=a.pressedComponent;if(b&&b.onRelease){b.onRelease(d)}a.pressedComponent=c;if(c){a.pressedScrollStart=Ext.on({scrollstart:function(){a.setPressedComponent(null,d)},destroyable:!0})}else {a.pressedScrollStart=Ext.destroy(a.pressedScrollStart)}},attachListeners:function(){var a=this,c=Ext.getWin(),b=a.windowListeners;a.onlineState=Ext.isOnline();a.curHeight=Ext.Element.getViewportHeight();a.curWidth=Ext.Element.getViewportWidth();c.on({scope:a,online:'handleOnlineChange',offline:'handleOnlineChange'});a.fireResize.$skipTimerCheck=!0;if(b){b.scope=a;if(Ext.isModern){b.resize.onFrame=!0}else {b.resize.buffer=a.resizeBuffer}c.on(b)}Ext.getDoc().on({touchstart:'fireMouseDown',mousedown:'fireMouseDown',mouseup:'fireMouseUp',touchend:'fireMouseUp',drop:'fireMouseUp',dragend:'fireMouseUp',scope:a})},fireMouseDown:function(a){this.fireEvent('mousedown',a);Ext.ComponentManager.handleDocumentMouseDown(a)},fireMouseUp:function(a){this.fireEvent('mouseup',a);this.setPressedComponent(null,a)},fireResize:function(){var a=this,d=Ext.Element,c=d.getViewportWidth(),b=d.getViewportHeight();if(a.curHeight!==b||a.curWidth!==c){a.curHeight=b;a.curWidth=c;if(a.hasListeners.resize){a.fireEvent('resize',c,b)}}},handleOnlineChange:function(){var a=Ext.isOnline();if(a!==this.onlineState){this.onlineState=a;this.fireEvent('onlinechange',a)}}},function(a){Ext.on=function(){return a.addListener.apply(a,arguments)};Ext.un=function(){return a.removeListener.apply(a,arguments)};Ext.fireEvent=function(){return a.fireEvent.apply(a,arguments)};Ext.fireIdle=function(){if(a.hasListeners.idle&&!Ext._suppressIdle){a.fireEventArgs('idle')}Ext._suppressIdle=!1};Ext._suppressIdle=!1});Ext.define('Ext.Glyph',{isGlyph:!0,constructor:function(a){a&&this.setGlyph(a)},setGlyph:function(a){var b;this.glyphConfig=a;if(typeof a==='string'){b=a.split('@');if(isNaN(a=isNaN(b[0])?parseInt('0'+b[0],16):parseInt(b[0],10))||!a){a=b[0].charCodeAt(0)}this.fontFamily=b[1]||Ext._glyphFontFamily}else {this.fontFamily=Ext._glyphFontFamily}this.codepoint=a;this.character=Ext.String.fromCodePoint(this.codepoint);return this},getStyle:function(){return {'font-family':this.fontFamily}},isEqual:function(a){return a&&a.isGlyph&&a.codepoint===this.codepoint&&a.fontFamily===this.fontFamily},statics:(function(){var a;return {fly:function(b){return b.isGlyph?b:(a||(a=new Ext.Glyph())).setGlyph(b)}}})()});Ext.USE_NATIVE_JSON=!0;Ext.JSON=(new (function(){var me=this,hasNative=window.JSON&&JSON.toString()==='[object JSON]',useHasOwn=!!{}.hasOwnProperty,pad=function(a){return a<10?"0"+a:a},doDecode=function(json){return eval("("+json+')')},doEncode=function(a,b){if(a===null||a===undefined){return "null"}else if(Ext.isDate(a)){return me.encodeDate(a)}else if(Ext.isString(a)){if(Ext.isMSDate(a)){return me.encodeMSDate(a)}else {return me.encodeString(a)}}else if(typeof a==="number"){return isFinite(a)?String(a):"null"}else if(Ext.isBoolean(a)){return String(a)}else if(typeof a.toJSON==='function'){return doEncode(a.toJSON())}else if(Ext.isArray(a)){return encodeArray(a,b)}else if(Ext.isObject(a)){return encodeObject(a,b)}else if(typeof a==="function"){return "null"}return 'undefined'},m={"\b":'\\b',"\t":'\\t',"\n":'\\n',"\f":'\\f',"\r":'\\r','"':'\\"',"\\":'\\\\','\v':'\\u000b'},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(a){return '"'+a.replace(charToReplace,function(b){var c=m[b];return typeof c==='string'?c:'\\u'+('0000'+b.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeMSDate=function(a){return '"'+a+'"'},encodeArrayPretty=function(e,d){var f=e.length,c=d+'   ',g=','+c,a=["[",c],b;for(b=0;b<f;b+=1){a.push(me.encodeValue(e[b],c),g)}a[a.length-1]=d+']';return a.join('')},encodeObjectPretty=function(e,f){var d=f+'   ',g=','+d,b=["{",d],c,a;for(c in e){a=e[c];if(!useHasOwn||e.hasOwnProperty(c)){if(typeof a==='function'||a===undefined||a.isInstance){continue}b.push(me.encodeValue(c)+': '+me.encodeValue(a,d),g)}}b[b.length-1]=f+'}';return b.join('')},encodeArray=function(c,d){if(d){return encodeArrayPretty(c,d)}var a=["[",""],e=c.length,b;for(b=0;b<e;b+=1){a.push(me.encodeValue(c[b]),',')}a[a.length-1]=']';return a.join("")},encodeObject=function(d,e){if(e){return encodeObjectPretty(d,e)}var b=["{",""],c,a;for(c in d){a=d[c];if(!useHasOwn||d.hasOwnProperty(c)){if(typeof a==='function'||a===undefined){continue}b.push(me.encodeValue(c),":",me.encodeValue(a),',')}}b[b.length-1]='}';return b.join("")};me.encodeString=encodeString;me.encodeValue=doEncode;me.encodeDate=function(a){return '"'+a.getFullYear()+"-"+pad(a.getMonth()+1)+"-"+pad(a.getDate())+"T"+pad(a.getHours())+":"+pad(a.getMinutes())+":"+pad(a.getSeconds())+'"'};me.encode=function(a){if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.stringify(a)}return me.encodeValue(a)};me.decode=function(a,b){try{if(hasNative&&Ext.USE_NATIVE_JSON){return JSON.parse(a)}return doDecode(a)}catch(c){if(b){return null}Ext.raise({sourceClass:"Ext.JSON",sourceMethod:"decode",msg:"You're trying to decode an invalid JSON String: "+a})}};me.encodeMSDate=encodeMSDate;if(!Ext.util){Ext.util={}}Ext.util.JSON=me;Ext.encode=me.encode;Ext.decode=me.decode})());Ext.define('Ext.mixin.Inheritable',{extend:Ext.Mixin,mixinConfig:{id:'inheritable'},getInherited:function(i){var a=this,b=(i&&a.inheritedStateInner)||a.inheritedState,h=a.getRefOwner(),f=a.isContainer,d,e,g,c;if(!b||b.invalid){d=a.getRefOwner();c=a.ownerLayout;if(h){g=c?c===h.layout:!0}a.inheritedState=b=Ext.Object.chain(d?d.getInherited(g):Ext.rootInheritedState);if(f){a.inheritedStateInner=e=Ext.Object.chain(b)}a.initInheritedState(b,e);b=(f&&i)?a.inheritedStateInner:a.inheritedState}return b},getInheritedConfig:function(b,e){var a=this.inheritedState,d,c;if(!a||a.invalid){a=this.getInherited()}c=a[b];if(e&&a.hasOwnProperty(b)){d=c;delete a[b];c=a[b];a[b]=d}return c},resolveListenerScope:function(f,d){var a=this,e=(typeof d==='boolean'),b=Ext._namedScopes[f],c;if(!b){c=a.getInheritedConfig('defaultListenerScope',e?d:!0)||f||a}else if(b.isController){c=a.getInheritedConfig('controller',e?d:!b.isSelf)}else if(b.isOwner){c=a.getRefOwner()}else if(b.isSelf){c=a.getInheritedConfig('defaultListenerScope',e&&d)||a}else if(b.isThis){c=a}return c||null},resolveSatelliteListenerScope:function(e,d){var c=this,b=Ext._namedScopes[d],a;if(!b){a=c.getInheritedConfig('defaultListenerScope')||d||c}else if(b.isController){a=c.getInheritedConfig('controller')}else if(b.isSelf){a=c.getInheritedConfig('defaultListenerScope')||e}else if(b.isThis){a=e}return a||null},lookupNameHolder:function(a){return this.getInheritedConfig('nameHolder',a!==!1)||null},lookupReferenceHolder:function(a){return this.getInheritedConfig('referenceHolder',a!==!1)||null},getRefOwner:function(){var a=this;return a.ownerCmp||a.ownerCt||a.parent||a.$initParent||a.floatParent},bubble:function(d,b,c){for(var a=this;a;a=a.getRefOwner()){if(d.apply(b||a,c||[a])===!1){break}}},isDescendantOf:function(a){return a?a.isAncestor(this):!1},isAncestor:function(a){while(a){if(a.getRefOwner()===this){return !0}a=a.getRefOwner()}return !1},invalidateInheritedState:function(){var a=this.inheritedState;if(a){a.invalid=!0;delete this.inheritedState}},privates:{_fixName:function(){var b=this,a;if(b.name){a=b.lookupNameHolder();if(a&&!a.destroyed){a.attachNameRef(b)}}},_fixReference:function(){var b=this,a;if(b.reference){a=b.lookupReferenceHolder();if(a){a.attachReference(b)}}},onInheritedAdd:function(c,b){var a=this;if(a.inheritedState&&b){a.invalidateInheritedState()}if(a.name||a.reference){Ext.ComponentManager.markReferencesDirty()}},onInheritedRemove:function(b){var a=this;if(a.name||a.reference){Ext.ComponentManager.markReferencesDirty()}if(a.inheritedState&&!b){a.invalidateInheritedState()}}}},function(){Ext.rootInheritedState={}});Ext.define('Ext.mixin.Bindable',{mixinId:'bindable',config:{bind:{$value:null,lazy:!0},controller:null,defaultListenerScope:!1,publishes:{$value:null,lazy:!0,merge:function(a,b){return this.mergeSets(a,b)}},session:{$value:null,lazy:!0},twoWayBindable:{$value:null,lazy:!0,merge:function(a,b){return this.mergeSets(a,b)}},viewModel:{$value:null,lazy:!0}},defaultBindProperty:null,nameable:!1,shareableName:!1,reference:null,validRefRe:/^[a-z_][a-z0-9_]*$/i,getReference:function(){return this.reference},initInheritedState:function(b){var a=this,f=a.reference,c=a.getController(),d=a.getConfig('viewModel',!0),e=a.getConfig('session',!0),g=a.getDefaultListenerScope();if(c){b.controller=c}if(g){b.defaultListenerScope=a}else if(c){b.defaultListenerScope=c}if(d){if(!d.isViewModel){d=a}b.viewModel=d}if(e){if(!e.isSession){e=a}b.session=e}if(f){a.referenceKey=(b.referencePath||'')+f;a.viewModelKey=(b.viewModelPath||'')+f}},isBound:function(b){var a=this.getBind();return !!(a&&(a[b||this.defaultBindProperty]))},lookupController:function(a){return this.getInheritedConfig('controller',a)||null},lookupSession:function(b){var a=b?null:this.getSession();if(!a){a=this.getInheritedConfig('session',b);if(a&&!a.isSession){a=a.getInherited().session=a.getSession()}}return a||null},lookupViewModel:function(b){var a=b?null:this.getViewModel();if(!a){a=this.getInheritedConfig('viewModel',b);if(a&&!a.isViewModel){a=a.getInherited().viewModel=a.getViewModel()}}return a||null},publishState:function(c,a){var b=this,e=b.publishedState,i=b.getBind(),d=i&&c&&i[c],j=0,h,g,k,f;if(!(arguments.length===0||arguments.length===2)){Ext.raise('publishState must either be called with no args, or with both name AND value passed')}if(d&&!d.syncing&&!d.isReadOnly()){if(d.calls||!(a==null||a===b.getInitialConfig()[c])){d.setValue(a)}}if(!(g=b.getPublishes())){return}if(!(k=b.lookupViewModel())){return}if(!(f=b.viewModelKey)){return}e=e||(b.publishedState={});if(c){if(!g[c]){return}if(!(a&&a.constructor===Object)&&!(a instanceof Array)){if(e[c]===a){return}}f+='.';f+=c}else {for(h in g){++j;e[h]=b.getConfig(h)}if(!j){return}a=e}k.set(f,a)},privates:{addBindableUpdater:function(d){var b=this,e=b.self.$config.configs,a=e[d],c;if(a&&!b.hasOwnProperty(c=a.names.update)){b[c]=a.bindableUpdater||(a.root.bindableUpdater=b.makeBindableUpdater(a))}},applyBind:function(d,e){if(!d){return d}var b=this,i=b.lookupViewModel(),h=b.getTwoWayBindable(),j=b._getBindTemplateScope,a,c,f,g;b.$hasBinds=!0;if(!e||typeof e==='string'){e={}}if(!i){Ext.raise('Cannot use bind config without a viewModel')}if(Ext.isString(d)){if(!b.defaultBindProperty){Ext.raise(b.$className+' has no defaultBindProperty - '+'Please specify a bind object')}a=d;d={};d[b.defaultBindProperty]=a}for(c in d){f=d[c];a=e[c];if(a&&a.isBinding){a.destroy();a=null;g=!0}if(f){a=i.bind(f,b.onBindNotify,b);a._config=Ext.Config.get(c);a.getTemplateScope=j;if(!b[a._config.names.set]){Ext.raise('Cannot bind '+c+' on '+b.$className+' - missing a '+a._config.names.set+' method.')}}if(g){delete e[c]}else {e[c]=a}if(h&&h[c]){if(g){b.clearBindableUpdater(c)}else if(!a.isReadOnly()){b.addBindableUpdater(c)}}}return e},applyController:function(a){if(a){a=Ext.Factory.controller(a);a.setView(this)}this.controller=a;return a},updatePublishes:function(a){var b=this;if(b.lookupViewModel()){for(var c in a){b.addBindableUpdater(c)}}return a},applySession:function(a){if(!a){return null}if(!a.isSession){var b=this.lookupSession(!0),c=(a===!0)?{}:a;if(b){a=b.spawn(c)}else {a=new Ext.data['Session'](c)}}return a},applyViewModel:function(a){var c=this,b,d;if(!a){return null}if(!a.isViewModel){b={parent:c.lookupViewModel(!0),view:c};b.session=c.getSession();if(!d&&!b.parent){b.session=c.lookupSession()}if(a){if(a.constructor===Object){Ext.apply(b,a)}else if(typeof a==='string'){b.type=a}}a=Ext.Factory.viewModel(b)}return a},_getBindTemplateScope:function(){return this.scope.resolveListenerScope()},clearBindableUpdater:function(d){var a=this,e=a.self.$config.configs,c=e[d],b;if(c&&a.hasOwnProperty(b=c.names.update)){if(a[b].$bindableUpdater){delete a[b]}}},destroyBindable:function(){var a=this,c=a.getConfig('viewModel',!0),b=a.getConfig('session',!0),d=a.getController();if(c&&c.isViewModel){c.destroy();a.setViewModel(null)}if(b&&b.isSession){if(b.getAutoDestroy()){b.destroy()}a.setSession(null)}if(d){a.setController(null);d.destroy()}},initBindable:function(){var a=this,b=a.controller;a.initBindable=Ext.emptyFn;a.getBind();a.getPublishes();if(!a.viewModel){a.getViewModel()}if(b){b.initBindings()}if(a.reference){a.publishState()}},isSyncing:function(d){var b=this.getBind(),c=!1,a;if(b){a=b[d];if(a){c=a.syncing>0}}return c},makeBindableUpdater:function(a){var c=a.names.update,b=function(e,f){var b=this,d=b.self.prototype[c];if(d){d.call(b,e,f)}b.publishState(a.name,b[a.getInternalName(b)])};b.$bindableUpdater=!0;return b},notifyIf:function(b){var a=this.lookupViewModel(b);if(a){a.notify()}},onBindNotify:function(b,c,a){a.syncing=(a.syncing+1)||1;this[a._config.names.set](b);--a.syncing},removeBindings:function(){var c=this,a,d,b;if(c.$hasBinds){a=c.getBind();if(a&&typeof a!=='string'){for(d in a){b=a[d];b.destroy();b._config=b.getTemplateScope=null}}}c.setBind(null)},updateSession:function(a){var b=this.getInherited();if(a){b.session=a}else {delete b.session}},updateViewModel:function(a,e){var b=this,d=b.getInherited(),c=b.getController();if(a){b.hasVM=!0;d.viewModel=a;a.setView(b);if(c){c.initViewModel(a)}}else {delete d.viewModel}b.viewModel=a}}});Ext.define('Ext.mixin.ComponentDelegation',{extend:Ext.Mixin,mixinConfig:{id:'componentDelegation'},privates:{addDelegatedListener:function(b,k,j,a,d,i,h){var c=this,e,g,f;b=Ext.canonicalEventName(b);d=d||a.order;if(d){f=(a&&a.priority);if(!f){a=a?Ext.Object.chain(a):{};a.priority=c.$orderToPriority[d]}}if(a.target){Ext.raise("Cannot add '"+b+"' listener to component: '"+c.id+"' - 'delegate' and 'target' event options are incompatible.")}e=c.$delegatedEvents||(c.$delegatedEvents={});g=e[b]||(e[b]=new Ext.util.Event(c,b));if(g.addListener(k,j,a,i,h)){c.$hasDelegatedListeners._incr_(b)}},clearDelegatedListeners:function(){var e=this,a=e.$delegatedEvents,b,c,d;if(a){for(b in a){c=a[b];d=c.listeners.length;c.clearListeners();e.$hasDelegatedListeners._decr_(b,d);delete a[b]}}},doFireDelegatedEvent:function(f,g){var e=this,d=!0,a,b,c;if(e.$hasDelegatedListeners[f]){a=e.getRefOwner();while(a){b=a.$delegatedEvents;if(b){c=b[f];if(c){d=c.fireDelegated(e,g);if(d===!1){break}}}a=a.getRefOwner()}}return d},removeDelegatedListener:function(c,f,e){var d=this,b=d.$delegatedEvents,a;if(b){a=b[c];if(a&&a.removeListener(f,e)){d.$hasDelegatedListeners._decr_(c);if(a.listeners.length===0){delete b[c]}}}},destroyComponentDelegation:function(){if(this.clearPropertiesOnDestroy){this.$delegatedEvents=null}}},onClassMixedIn:function(a){function HasListeners(){}a.prototype.HasListeners=a.HasListeners=HasListeners;HasListeners.prototype=a.hasListeners=new Ext.mixin.ComponentDelegation.HasDelegatedListeners()}},function(a){function HasDelegatedListeners(){}a.HasDelegatedListeners=HasDelegatedListeners;HasDelegatedListeners.prototype=a.prototype.$hasDelegatedListeners=new Ext.mixin.Observable.HasListeners()});Ext.define('Ext.plugin.Abstract',{alternateClassName:'Ext.AbstractPlugin',isPlugin:!0,constructor:function(a){if(a){this.pluginConfig=a;this.initConfig(a)}},clonePlugin:function(a){return new this.self(Ext.apply({},a,this.pluginConfig))},getCmp:function(){return this.cmp},setCmp:function(a){this.cmp=a},init:Ext.emptyFn,destroy:function(){this.cmp=this.pluginConfig=null;this.callParent()},onClassExtended:function(d,b,e){var a=b.alias,c=d.prototype;if(a&&!b.ptype){if(Ext.isArray(a)){a=a[0]}c.ptype=a.split('plugin.')[1]}},resolveListenerScope:function(b){var a=this,d=a.getCmp(),c;if(d){c=d.resolveSatelliteListenerScope(a,b)}return c||a.mixins.observable.resolveListenerScope.call(a,b)},statics:{decode:function(a,f,g){if(a){var e=Ext.typeOf(a),c,d,b,h;if(e==='string'){b={};b[f]=a;a=[b]}else if(a.isInstance){a=[a]}else if(e==='object'){if(a[f]){a=[a]}else {b=g?Ext.merge(Ext.clone(g),a):a;a=[];for(d in b){if(!(h=b[d])){continue}c={id:d};c[f]=d;if(d==='responsive'){c.weight=-1000}Ext.apply(c,h);a.push(c)}a.sort(Ext.weightSortFn)}}else if(e!=='array'){Ext.raise('Invalid value for "plugins" config ("'+e+'"')}else {a=a.slice()}}return a}}});Ext.define('Ext.mixin.Pluggable',function(a){return {config:{plugins:null},addPlugin:function(b){var c=this,d=c.getPlugins();if(d){b=c.createPlugin(b);b.init(c);d.push(b)}else {c.setPlugins(b);b=c.getPlugins()[0]}return b},destroyPlugin:function(b){return this.removePlugin(b,!0)},findPlugin:function(f){var d=this.getPlugins(),g=d&&d.length,c,b,e;for(c=0;c<g&&!e;c++){b=d[c];if(b.type===f||b.ptype===f){e=b}}return e||null},getPlugin:function(f){var d=this.getPlugins(),g=d&&d.length,c,b,e;for(c=0;c<g&&!e;c++){b=d[c];if(b.id===f||b.pluginId===f){e=b}}return e||null},removePlugin:function(e,f){var c=this.getPlugins(),d=c&&c.length||0,b;while(d-->0){b=c[d];if(b===e||b.id===e){c.splice(d,1);if(f){if(b.destroy){b.destroy()}}else if(b.detachCmp){b.detachCmp();if(b.setCmp){b.setCmp(null)}}break}b=null}return b},privates:{statics:{idSeed:0},activatePlugin:function(h){var e=this,d=e.initialConfig,b=d&&d.plugins,i=null,f,c,g;if(b){c=e.config.plugins;c=(c&&typeof c==='object')?c:null;b=Ext.plugin.Abstract.decode(b,'type',c);for(f=b.length;f-->0;){g=b[f];if(g===h||g.type===h){e.initialConfig=d=Ext.apply({},d);d.plugins=b;b[f]=i=e.createPlugin(g);break}}}return i},applyPlugins:function(c,e){var h=this,g=e&&e.length||0,f,b,d;if(c){c=Ext.plugin.Abstract.decode(c,'type')}for(b=0;b<g;++b){e[b].$dead=!0}f=c&&c.length||0;for(b=0;b<f;++b){c[b]=h.createPlugin(c[b])}for(b=0;b<f;++b){d=c[b];if(d.$dead){delete d.$dead}else {d.init(h)}}for(b=0;b<g;++b){if((d=e[b]).$dead){delete d.$dead;Ext.destroy(d)}}return c},createPlugin:function(b){if(typeof b==='string'){b={type:b}}var c=b;if(!b.isInstance){b.cmp=this;c=Ext.factory(b,null,null,'plugin');delete b.cmp}if(!c.id){c.id=++a.idSeed}if(c.setCmp){c.setCmp(this)}return c}}}});Ext.define('Ext.mixin.Keyboard',function(a){return {extend:Ext.Mixin,mixinConfig:{id:'keyboard'},config:{keyMap:{$value:null,cached:!0,merge:function(c,h,j,i){if(c===null){return c}var f=(h&&!j.isInstance)?Ext.Object.chain(h):{},d,e,b,g;for(d in c){if(d!=='scope'){e=d.toUpperCase();if(!i||f[e]===undefined){b=c[d];if(b){if(typeof b==='string'||typeof b==='function'){b={handler:b}}else {b=Ext.apply({handler:b.fn},b)}g=b.scope||c.scope||'self';b.scope=(g==='controller')?'self.controller':g}f[e]=b}}}return f}},keyMapEnabled:null},keyMapTarget:'el',applyKeyMap:function(d,c){var b=this,e=b.hasOwnProperty('config');if(e&&c&&c.$owner!==b){c=Ext.apply({},c)}d=d?a.combineKeyMaps(c,d,e&&b):null;if(b._keyMapReady){b.setKeyMapListener(d&&b.getKeyMapEnabled())}return d},initKeyMap:function(){var b=this,c=b.getKeyMapEnabled();b._keyMapReady=!0;if(c===null){b.setKeyMapEnabled(!0)}else {b.setKeyMapListener(c&&b.getKeyMap())}},disableKeyMapGroup:function(b){this.setKeyMapGroupEnabled(b,!1)},enableKeyMapGroup:function(b){this.setKeyMapGroupEnabled(b,!0)},setKeyMapGroupEnabled:function(d,e){var b=this,c=b.disabledKeyMapGroups||(b.disabledKeyMapGroups={});c[d]=!e},updateKeyMapEnabled:function(b){this.setKeyMapListener(b&&this._keyMapReady&&this.getKeyMap())},privates:{_keyMapListenCount:0,_keyMapReady:!1,comparePriorities:function(b,c){return (c.priority||0)-(b.priority||0)},findKeyMapEntries:function(j){var e=this,f=e.disabledKeyMapGroups,g=e.getKeyMap(),b=g&&a.getKeyName(j),c,i,d,h=[];b=b&&g[b];if(b){if(!b.sorted){Ext.Array.sort(b,e.comparePriorities);b.sorted=!0}i=b.length;for(d=0;d<i;d++){c=b[d];if(!f||!f[c.group]){if(a.matchEntry(c,j)){h.push(c)}}}}return h},onKeyMapEvent:function(g){var f=this,c=f.getKeyMapEnabled()?f.findKeyMapEntries(g):null,h=c&&c.length,b,e,d;for(b=0;b<h&&d!==!1;b++){e=c[b];d=Ext.callback(e.handler,e.scope,[g,this],0,this)}return d},setKeyMapListener:function(e){var b=this,d=b._keyMapListener,c;if(d){d.destroy();d=null}if(e){++b._keyMapListenCount;if(e){c=b[b.keyMapTarget];if(typeof c==='function'){c=c.call(b)}d=c.on({destroyable:!0,scope:b,keydown:'onKeyMapEvent',keypress:'onKeyMapEvent'})}}b._keyMapListener=d||null},statics:{_charCodeRe:/^#([\d]+)$/,_keySpecRe:/^(?:(?:(\*)[\+\-])|(?:([a-z\+\-]*)[\+\-]))?(?:([a-z0-9_]+|[\+\-]|(?:#?\d+))(?:\:([a-z]+))?)$/i,_delimiterRe:/\-|\+/,_keyMapEvents:{charCode:'keypress',keyCode:'keydown'},combineKeyMaps:function(d,h,e){var i=h.scope||'controller',g,f,b,c;for(f in h){if(f==='scope'){continue}if(!(b=h[f])){if(b===undefined){Ext.raise('keyMap entry "'+f+'" is undefined')}if(!d){continue}}else {if(typeof b==='string'||typeof b==='function'){b={handler:b,scope:i}}else if(b){b=Ext.apply({handler:b.fn,scope:i},b)}d=d||{}}if(a.parseEntry(f,g=b||{})){c=d[g.name];if(c){if(e&&c.$owner!==e){d[g.name]=c=c.slice();c.$owner=e}c.push(b);c.sorted=!1}else {c=d[g.name]=[b];c.$owner=e;c.sorted=!0}}else {Ext.raise('Invalid keyMap key specification "'+f+'"')}}if(d&&e){d.$owner=e}return d||null},getKeyName:function(b){var c;if(b.isEvent){c=b.keyCode||b.charCode;b=b.browserEvent;if(c===229&&'code' in b){if(Ext.String.startsWith(b.code,'Key')){return b.key.substr(3)}if(Ext.String.startsWith(b.code,'Digit')){return b.key.substr(5)}}}else {c=b}return Ext.event.Event.keyCodes[c]||String.fromCharCode(c)},matchEntry:function(b,d){var c=d.browserEvent,e;if(d.type!==b.event){return !1}if(!(e=b.charCode)){if(b.keyCode!==d.keyCode||(!b.ignoreModifiers&&!b.shiftKey!==!c.shiftKey)){return !1}}else if(d.getCharCode()!==e){return !1}return b.ignoreModifiers||(!b.ctrlKey===!c.ctrlKey&&!b.altKey===!c.altKey&&!b.metaKey===!c.metaKey&&!b.shiftKey===!c.shiftKey)},parseEntry:function(i,c){i=i.toUpperCase();var g=this,k=Ext.event.Event,j=k.keyFlags,b=g._keySpecRe.exec(i),h='keyCode',e,d,f,l,m;if(b){e=b[3];if(b[4]){c.group=b[4]}if(!(c.ignoreModifiers=!!b[1])&&b[2]){b=b[2].split(g._delimiterRe);m=b.length;for(f=0;f<m;f++){if(!j[b[f]]){return !1}c[j[b[f]]]=!0}}c.name=e;if(isNaN(d=k[e])){if(!(l=g._charCodeRe.exec(e))){if(e.length===1){d=e.charCodeAt(0)}}else {d=+l[1]}if(d){h='charCode'}else {d=+e}c.name=a.getKeyName(d)}c.event=c.event||g._keyMapEvents[h];return !isNaN(d)&&(c[h]=d)}}}}}});Ext.define('Ext.mixin.Focusable',{mixinId:'focusable',$isFocusableEntity:!0,focusable:!1,hasFocus:!1,containsFocus:!1,focusCls:Ext.baseCSSPrefix+'focused',focusEl:'el',getFocusEl:function(){var a=this.focusEl;return a&&a.dom?a:null},getFocusClsEl:function(){return this.getFocusEl()},initFocusable:Ext.emptyFn,initFocusableEvents:function(a){this.initFocusableElement(a)},enableFocusable:Ext.emptyFn,disableFocusable:function(){var a=this;if(a.hasFocus){a.revertFocus()}a.removeFocusCls()},destroyFocusable:function(){var a=this;Ext.destroy(a.focusListeners);a.focusListeners=a.focusEnterEvent=a.focusTask=null;a.focusEl=a.ariaEl=null},isFocusable:function(c){var b=this,a;if(!b.focusable&&(!b.isContainer||!c)){return !1}a=b.getFocusEl();if(a&&b.canFocus()){return a&&!a.destroyed&&a.isFocusable(c)}return !1},isDestructing:function(){for(var a=this;a;a=a.getRefOwner()){if(a.destroying||a.destroyed){return !0}}return !1},canFocus:function(f,e){var a=this,c=a.ownerFocusableContainer,d=c&&c.allowFocusingDisabledChildren,b;b=!a.destroyed&&a.rendered&&!a.isDestructing()&&(a.isContainer||a.focusable)&&(!a.isDisabled()||d)&&(f||a.isVisible(!0));return b||(e&&!!a.findFocusTarget())},focus:function(d){var b=this,a,c;if((!b.focusable&&!b.isContainer)||b.destroyed||b.destroying){return !1}if(b.canFocus()&&(a=b.getFocusEl())){if(a.$isFocusableEntity){return a.focus.apply(a,arguments)}c=a.dom;if(c){a.focus();if(d&&(b.selectText||c.select)){if(b.selectText){if(Ext.isArray(d)){b.selectText.apply(b,d)}else {b.selectText()}}else {c.select()}}}else if(a.focus){a.focus()}else {return !1}}else {a=b.findFocusTarget();if(a&&a!=b){return a.focus.apply(a,arguments)}else {return !1}}return !0},onBlur:function(b){var a=this,c=a.ownerFocusableContainer;a.hasFocus=!1;if(a.beforeBlur&&!a.beforeBlur.$emptyFn){a.beforeBlur(b)}if(c){c.beforeFocusableChildBlur(a,b)}a.removeFocusCls(b);if(a.hasListeners.blur){a.fireEvent('blur',a,b)}if(a.postBlur&&!a.postBlur.$emptyFn){a.postBlur(b)}if(c){c.afterFocusableChildBlur(a,b)}},onFocus:function(b){var a=this,c=a.ownerFocusableContainer;if(a.canFocus()){if(a.beforeFocus&&!a.beforeFocus.$emptyFn){a.beforeFocus(b)}if(c){c.beforeFocusableChildFocus(a,b)}a.addFocusCls(b);if(!a.hasFocus){a.hasFocus=!0;a.fireEvent('focus',a,b)}if(a.postFocus&&!a.postFocus.$emptyFn){a.postFocus(b)}if(c){c.afterFocusableChildFocus(a,b)}}},getTabIndex:function(){var c=this,b,a;if(!c.focusable){return}b=c.getFocusEl();if(b){if(b.$isFocusableEntity){a=b.getTabIndex()}else if(b.isElement&&b.dom){a=b.dom.getAttribute('tabIndex');if(a!==null){a-=0}}else {return}}if(typeof a!=='number'){a=c.tabIndex}return a},setTabIndex:function(c,f){var a=this,d=a.ownerFocusableContainer,e=d&&d.allowFocusingDisabledChildren,b;if(!a.focusable&&!a.forceTabIndex){return}a.tabIndex=c;if(a.destroying||a.destroyed||(a.isDisabled()&&!e)){return}b=f||a.getFocusEl();if(b){if(b.$isFocusableEntity){b.setTabIndex(c)}else if(b.isElement&&b.dom){b.setTabIndex(c)}}},onFocusEnter:function(b){var a=this;if(a.destroying||a.destroyed){return}a.focusEnterEvent=b;a.containsFocus=!0;if(a.hasListeners.focusenter){a.fireEvent('focusenter',a,b)}},onFocusLeave:function(b){var a=this;if(a.destroying||a.destroyed){return}a.focusEnterEvent=null;a.containsFocus=!1;if(a.hasListeners.focusleave){a.fireEvent('focusleave',a,b)}},onFocusMove:Ext.emptyFn,privates:{forceTabIndex:!1,revertFocus:function(){var d=this,c=d.focusEnterEvent,e=Ext.Element.getActiveElement(),a,b,f;if(c&&!d.preventRefocus&&d.el.contains(e)){b=c.fromComponent;if(b&&(b.destroyed||b.isDestructing())){a=document.body}else {a=c.relatedTarget}if(a===document.body){b=d.findFocusTarget();if(b){a=b.getFocusEl()}}if(a&&a.$isFocusableEntity){if(!a.destroyed&&a.isFocusable()){a.focus()}}else if(Ext.getDoc().contains(a)&&Ext.fly(a).isFocusable()){b=Ext.Component.from(a);if(b){b.revertFocusTo(a)}else {a.focus()}}else if(c.fromComponent&&c.fromComponent.focus){f=c.fromComponent.focus();if(!f){e.blur()}}}},revertFocusTo:function(a){a.focus()},findFocusTarget:function(){var g=this,c,a,f,b,d,e;if(g.preventRefocus){return null}for(c=[],a=g.getRefOwner();a;a=a.getRefOwner()){if(!a.isDisabled()){c.unshift(a)}}for(b=0,f=c.length;b<f;b++){a=c[b];if(a.destroying||!a.isVisible()){c.length=b;break}}for(b=c.length-1;b>=0;b--){a=c[b];d=Ext.ComponentQuery.query(':canfocus()',a);if(d.length){e=Ext.Array.indexOf(d,Ext.ComponentManager.getActiveComponent());return d[e+1]||d[e-1]||d[0]}if(a.isFocusable&&a.isFocusable()){return a}}},initFocusableElement:function(d){var b=this,c=b.getTabIndex(),a=b.getFocusEl();if(a&&!a.$isFocusableEntity){if(c!=null&&(d||b.canFocus(!0))){b.setTabIndex(c,a)}if(!a.dom.hasAttribute('data-componentid')){a.dom.setAttribute('data-componentid',b.id)}}},addFocusCls:function(c){var b=this.focusCls,a;a=this.getFocusClsEl();if(b){a=this.getFocusClsEl(c);if(a){a.addCls(b)}}},removeFocusCls:function(c){var b=this.focusCls,a;if(b){a=this.getFocusClsEl(c);if(a){a.removeCls(b)}}},handleFocusEvent:function(c){var b=this,a;if(!b.focusable||b.destroying||b.destroyed){return}if(b.isFocusing(c)){a=new Ext.event.Event(c.event);a.type='focus';a.relatedTarget=c.fromElement;a.target=c.toElement;b.onFocus(a)}},handleBlurEvent:function(c){var b=this,a;if(!b.focusable||b.destroying||b.destroyed){return}if(c.toElement===document.body||b.isBlurring(c)){a=new Ext.event.Event(c.event);a.type='blur';a.target=c.fromElement;a.relatedTarget=c.toElement;b.onBlur(a)}},isFocusing:function(b){var a=this.getFocusEl();if(a){if(a.isFocusing){return a.isFocusing(b)}else {return a.dom===document.activeElement&&b.toElement===a.dom&&b.fromElement!==b.toElement}}return !1},isBlurring:function(b){var a=this.getFocusEl();if(a){if(a.isFocusing){return a.isBlurring(b)}else {return a.dom!==document.activeElement&&b.fromElement===a.dom&&b.fromElement!==b.toElement}}return !1},blur:function(){var a=this,b;if(!a.focusable||!a.canFocus()){return}b=a.getFocusEl();if(b){a.blurring=!0;b.blur();delete a.blurring}},isTabbable:function(){var b=this,a;if(b.focusable){a=b.getFocusEl();if(a&&a.isTabbable()){return a.isTabbable()}}return !1},disableTabbing:function(){var c=this,b=c.el,a;if(c.destroying||c.destroyed){return}if(b){b.saveTabbableState()}a=c.getFocusEl();if(a){if(a.$isFocusableEntity){a.disableTabbing()}else if(a.isElement&&b&&!b.contains(a)){a.saveTabbableState()}}},enableTabbing:function(d){var c=this,b=c.el,a;if(c.destroying||c.destroyed){return}a=c.getFocusEl();if(a){if(a.$isFocusableEntity){a.enableTabbing()}else if(a.isElement&&b&&!b.contains(a)){a.restoreTabbableState()}}if(b){b.restoreTabbableState({reset:d})}}}},function(){var b=Ext.baseCSSPrefix+'keyboard-mode',a=!1;Ext.enableKeyboardMode=Ext.isModern||!Ext.os.is.Desktop;Ext.setKeyboardMode=Ext.setKeyboardMode||function(a){Ext.keyboardMode=a;Ext.getBody().toggleCls(b,a)};Ext.isTouchMode=function(){return (Ext.now()-Ext.lastTouchTime)<500};Ext.syncKeyboardMode=function(c){if(!Ext.enableKeyboardMode){return}var b=c.type;if(b==='pointermove'){a=!1}else {a=(b==='keydown');Ext.lastTouchTime=c.pointerType==='touch'&&Ext.now();Ext.setKeyboardMode(a)}};function keyboardModeFocusHandler(){if(a!==Ext.getBody().hasCls(b)){Ext.setKeyboardMode(a)}}Ext.getEnableKeyboardMode=function(){return Ext.enableKeyboardMode};Ext.setEnableKeyboardMode=function(b){var a={pointerdown:Ext.syncKeyboardMode,pointermove:Ext.syncKeyboardMode,keydown:Ext.syncKeyboardMode,capture:!0,delegated:!1};Ext.enableKeyboardMode=!!b;if(Ext.enableKeyboardMode){Ext.getWin().on(a);Ext.on('focus',keyboardModeFocusHandler)}else {Ext.getWin().un(a);Ext.un('focus',keyboardModeFocusHandler)}};Ext.onReady(function(){if(!Ext.enableKeyboardMode){Ext.getBody().addCls(b)}Ext.setEnableKeyboardMode(Ext.enableKeyboardMode)})});Ext.define('Ext.mixin.Accessible',{extend:Ext.Mixin,mixinConfig:{id:'accessible'},config:{ariaAttributes:{$value:null,lazy:!0}},ariaEl:'el',privates:{getAriaLabelEl:function(a){var e=[],c,b,f,d,g;if(a){if(Ext.isFunction(a)){return a.call(this)}else {if(!Ext.isArray(a)){a=[a]}c=this.lookupReferenceHolder();if(c){for(b=0,f=a.length;b<f;b++){d=c.lookupReference(a[b]);if(d){e.push(d.ariaEl.id)}}}}}return e.length?e.join(' '):null}}});Ext.define('Ext.Widget',{extend:Ext.Evented,xtype:'widget',alternateClassName:'Ext.Gadget',mixins:[Ext.mixin.Inheritable,Ext.mixin.Bindable,Ext.mixin.ComponentDelegation,Ext.mixin.Pluggable,Ext.mixin.Keyboard,Ext.mixin.Factoryable,Ext.mixin.Focusable,Ext.mixin.Accessible],isWidget:!0,factoryConfig:{creator:null,defaultProperty:'xtype',defaultType:'component',typeProperty:'xtype'},element:{reference:'element'},observableType:'component',cachedConfig:{cls:null,style:null,border:null,touchAction:null,eventHandlers:{focus:'handleFocusEvent',blur:'handleBlurEvent'}},name:null,config:{renderTo:null,ui:null,userCls:null,ripple:null,hideMode:null,instanceCls:null},eventedConfig:{width:null,height:null,hidden:null,disabled:null},template:[],baseCls:null,classCls:null,classClsRoot:!0,classClsList:[],clearPropertiesOnDestroy:'async',focusEl:'element',ariaEl:'element',spaceRe:/\s+/,noBorderCls:Ext.baseCSSPrefix+'noborder-trbl',borderedCls:Ext.baseCSSPrefix+'bordered',disabledCls:Ext.baseCSSPrefix+'disabled',heightedCls:Ext.baseCSSPrefix+'heighted',widthedCls:Ext.baseCSSPrefix+'widthed',constructor:function(b){var a=this,e=a.baseCls,d=b&&b.renderTo,c;a.$iid=++Ext.$nextIid;if(e==null||e===!0){a.baseCls=a.classCls||Ext.baseCSSPrefix+a.xtype}if(b&&('baseCls' in b)){Ext.raise('baseCls cannot be used as an instance config. It must be specified at class definition time.')}if((b&&b.controller)||a.config.controller){a.referenceHolder=!0}a.initId(b);a.initElement();if(d){b=Ext.apply({},b);delete b.renderTo}a.mixins.observable.constructor.call(a,b);if(a.focusable){a.initFocusableEvents(!0)}if(d){a.setRenderTo(d)}a.syncUiCls();Ext.ComponentManager.register(a);c=a.getController();if(c){c.init(a)}},afterCachedConfig:function(){var c=this,j=c.self.prototype,f=c.referenceList,i=c.renderElement,d,h,a,b,g,e;j.renderTemplate=d=document.createDocumentFragment();d.appendChild(i.clone(!0,!0));e=d.querySelectorAll('[id]');for(a=0,b=e.length;a<b;a++){h=e[a];h.removeAttribute('id')}for(a=0,b=f.length;a<b;a++){g=f[a];c[g].dom.removeAttribute('reference')}},applyHidden:function(a){return !!a},applyDisabled:function(a){return !!a},updateDisabled:function(c){var b=this,a=b.ownerFocusableContainer;if(a){if(c){if(!a.beforeFocusableChildDisable.$nullFn){a.beforeFocusableChildDisable(b)}}else {if(!a.beforeFocusableChildEnable.$nullFn){a.beforeFocusableChildEnable(b)}}}b.element.toggleCls(b.disabledCls,c);if(b.focusable){if(c){b.disableFocusable()}else {b.enableFocusable()}}if(a){if(c){if(!a.onFocusableChildDisable.$nullFn){a.onFocusableChildDisable(b)}}else {if(!a.onFocusableChildEnable.$nullFn){a.onFocusableChildEnable(b)}}}},disable:function(){this.setDisabled(!0)},enable:function(){this.setDisabled(!1)},isDisabled:function(){return this.getDisabled()},isEnabled:function(){return !this.getDisabled()},applyTouchAction:function(a,b){if(b!=null){a=Ext.merge({},b,a)}return a},applyWidth:function(a){return this.filterLengthValue(a)},applyHeight:function(a){return this.filterLengthValue(a)},updateBorder:function(a){var b=this;a=a||a===null;b.toggleCls(b.noBorderCls,!a);b.toggleCls(b.borderedCls,!!a)},clearListeners:function(){var a=this;a.mixins.observable.clearListeners.call(a);a.mixins.componentDelegation.clearDelegatedListeners.call(a)},destroy:function(){var a=this;a.isDestroying=a.destroying=!0;a.doDestroy();a.clearListeners();a.isDestroying=a.destroying=!1;a.mixins.componentDelegation.destroyComponentDelegation.call(a);a.callParent()},doDestroy:function(){var a=this,e=a.referenceList,d=a.ownerFocusableContainer,c,f,b;a.ownerCmp=null;if(d&&!d.onFocusableChildDestroy.$nullFn){d.onFocusableChildDestroy(a)}for(c=0,f=e.length;c<f;c++){b=e[c];if(a.hasOwnProperty(b)){a[b].destroy();a[b]=null}}a.destroyBindable();Ext.ComponentManager.unregister(a)},doFireEvent:function(c,d,e){var a=this,b;b=a.mixins.observable.doFireEvent.call(a,c,d,e);if(b!==!1&&!a.destroyed){b=a.mixins.componentDelegation.doFireDelegatedEvent.call(a,c,d)}return b},getBubbleTarget:function(){return this.getRefOwner()},getElementConfig:function(){var b=this,a=b.element;if(!('children' in a)){a=Ext.apply({children:b.getTemplate()},a)}return a},getSize:function(){return this.el.getSize()},getTemplate:function(){return Ext.clone(this.template)},getClassCls:function(){var e=this.self.prototype,a=e,b,c,d,f;while(a){c=a.hasOwnProperty('classCls')?a.classCls:null;if(c){if(c instanceof Array){for(d=0,f=c.length;d<f;d++){(b||(b=[])).push(c[d])}}else {(b||(b=[])).push(c)}}if(a.classClsRoot&&a.hasOwnProperty('classClsRoot')){break}a=a.superclass}if(b){e.classClsList=b}return b},hide:function(){this.setHidden(!0)},initElement:function(){var a=this,j=a.self.prototype,q=a.getId(),s=a.referenceList=a.referenceList=[],k=!j.hasOwnProperty('renderTemplate'),p=j.hasOwnProperty('uiReferences')?j.uiReferences:(j.uiReferences={element:''}),g,h,o,d,f,e,m,b,c,n,i,l,r;if(k){g=document.createDocumentFragment();o=a.processElementConfig.call(j);h=Ext.Element.create(o,!0);g.appendChild(h);f=g.querySelectorAll('[uiCls]');for(e=0,m=f.length;e<m;e++){b=f[e];c=b.getAttribute('reference');i=b.getAttribute('uiCls');if(!c){Ext.raise('Cannot render element with uiCls="'+i+'". uiCls is only allowed on elements that have a reference name.')}p[c]=i;b.removeAttribute('uiCls')}}else {g=a.renderTemplate.cloneNode(!0);h=g.firstChild}f=g.querySelectorAll('[reference]');for(e=0,m=f.length;e<m;e++){b=f[e];c=b.getAttribute('reference');if(!k){b.removeAttribute('reference')}if(c==='element'){if(d){Ext.raise("Duplicate 'element' reference detected in '"+a.$className+"' template.")}b.id=q;d=a.el=a.addElementReference(c,b);d.dom.setAttribute('data-componentid',q);if(k){n=a.getClassCls();if(n){d.addCls(n)}l=a.baseCls;if(l&&(l!==a.classCls)){d.addCls(l)}}}else {i=p[c];if(i&&k){r=a.addElementReference(c,b);a.initUiReference(c,i,!1)}else {a.addElementReferenceOnDemand(c,b)}}if(c===a.focusEl){a.addElementReference('focusEl',b)}if(c===a.ariaEl){a.addElementReferenceOnDemand('ariaEl',b)}s.push(c)}if(!d){Ext.raise("No 'element' reference found in '"+a.$className+"' template.")}if(h===d.dom){a.renderElement=d}else {a.addElementReferenceOnDemand('renderElement',h)}h.setAttribute(a.dataXid,a.$iid)},dataXid:'data-'+Ext.baseCSSPrefix.substr(0,Ext.baseCSSPrefix.length-1)+'id',is:function(a){return Ext.ComponentQuery.is(this,a)},isHidden:function(c){var b=!!this.getHidden(),a;if(!b&&c){a=this.getRefOwner();while(a&&a!==c&&!b){b=!!a.getHidden();a=a.getRefOwner()}}return b},isVisible:function(a){return this.rendered&&!this.destroyed&&!this.isHidden(a)},isXType:function(a,b){return b?(Ext.Array.indexOf(this.xtypes,a)!==-1):!!this.xtypesMap[a]},lookupTpl:function(a){return Ext.XTemplate.getTpl(this,a)},owns:function(a){var c=!1,b;if(a.isEvent){a=a.target}else if(a.isElement){a=a.dom}b=Ext.Component.from(a);if(b){c=(b===this)||(!!b.up(this))}return c},render:function(a,d){if(a&&a.isWidget){a=a.el}var e=this.renderElement.dom,c=Ext.getDom(a),b;if(Ext.isNumber(b)){d=c.childNodes[d]}b=Ext.getDom(d);if(c){if(b){c.insertBefore(e,b)}else {c.appendChild(e)}this.setRendered(Ext.getBody().contains(e),!0)}},toggleCls:function(a,b){this.element.toggleCls(a,b);return this},resolveListenerScope:function(a,b){return this.mixins.inheritable.resolveListenerScope.call(this,a,b)},setSize:function(a,b){if(a&&typeof a==='object'){return this.setSize(a.width,a.height)}if(a!==undefined){this.setWidth(a)}if(b!==undefined){this.setHeight(b)}},show:function(){this.setHidden(!1)},addCls:function(c,a,b){if(!this.destroyed){this.el.replaceCls(null,c,a,b)}},applyCls:function(a){return a&&Ext.dom.Element.splitCls(a)},applyUi:function(a){return this.parseUi(a,!0)},removeCls:function(c,a,b){if(!this.destroyed){this.el.replaceCls(c,null,a,b)}},replaceCls:function(b,a,c,d){if(!this.destroyed){this.el.replaceCls(b,a,c,d)}},hasCls:function(a){return this.el.hasCls(a)},updateCls:function(a,b){this.element.replaceCls(b,a)},updateHidden:function(c){var b=this,d=b.renderElement,a=b.ownerFocusableContainer;if(a){if(c){if(!a.beforeFocusableChildHide.$nullFn){a.beforeFocusableChildHide(b)}}else {if(!a.beforeFocusableChildShow.$nullFn){a.beforeFocusableChildShow(b)}}}else if(c){b.revertFocus()}if(d&&!d.destroyed){if(c){d.hide()}else {d.show()}}if(b.focusableContainer&&b.activateFocusableContainer){b.activateFocusableContainer(!c)}if(a){if(c){if(!a.onFocusableChildHide.$nullFn){a.onFocusableChildHide(b)}}else {if(!a.onFocusableChildShow.$nullFn){a.onFocusableChildShow(b)}}}},updateRipple:function(c){var b=this,a=b.el;if(a){a.un('touchstart','onRippleStart',b);a.un('touchend','onRippleStart',b);a.destroyAllRipples();if(c.release){a.on('touchend','onRippleStart',b)}else {a.on('touchstart','onRippleStart',b)}}},shouldRipple:function(e){var a=this,f=a.getDisabled&&a.getDisabled(),d=a.el,c=!f&&a.getRipple(),b;if(c&&e){b=e.getTarget(a.noRippleSelector);if(b){if((d.dom===b)||d.contains(b)){c=null}}}return c},onRippleStart:function(a){var b=this.shouldRipple(a);if(a.button===0&&b){this.el.ripple(a,b)}},applyStyle:function(a,b){if(b&&a===b&&Ext.isObject(b)){a=Ext.apply({},a)}this.element.applyStyles(a);return null},getStyle:function(){Ext.Error.raise("'style' is a write-only config.  To query element styles use the Ext.dom.Element API.")},updateRenderTo:function(a){this.render(a)},updateTouchAction:function(b){var c,a,e,d;for(c in b){a=this[c];e=b[c];if(a&&a.isElement){a.setTouchAction(e)}else {d=!0}}if(d){this.el.setTouchAction(b)}},updateUi:function(){if(!this.isConfiguring){this.syncUiCls()}},updateWidth:function(a){var b=this.el;b.setWidth(a);b.toggleCls(this.widthedCls,a!=null&&a!=='auto')},updateHeight:function(a){var b=this.el;b.setHeight(a);b.toggleCls(this.heightedCls,a!=null&&a!=='auto')},isWidthed:function(){var a=this.getWidth();return a!=null&&a!=='auto'},isHeighted:function(){var a=this.getHeight();return a!=null&&a!=='auto'},up:function(c,b){var a=this.getRefOwner(),f=typeof b==='string',g=typeof b==='number',e=b&&b.isComponent,d=0;if(c){for(;a;a=a.getRefOwner()){if(a.destroyed){return null}d++;if(c.isComponent||c.isWidget){if(a===c){return a}}else {if(Ext.ComponentQuery.is(a,c)){return a}}if(f&&a.is(b)){return}if(g&&d===b){return}if(e&&a===b){return}}}return a},updateLayout:Ext.emptyFn,updateInstanceCls:function(c,d){var a=this,m=a.el,l=a.classClsList,k=Ext.Array,h=a.uiReferences,e,g,b,j,f,i;if(d){m.removeCls(d);d=k.from(d);for(b=0,j=d.length;b<j;b++){f=d[b];k.remove(l,f);for(e in h){g=a[e];i=h[e];g.removeCls(f+'-'+i)}}}if(c){m.addCls(c);c=k.from(c);a.classClsList=l.concat(c);for(b=0,j=c.length;b<j;b++){f=c[b];for(e in h){g=a[e];i=h[e];g.addCls(f+'-'+i)}}}if(!a.isConfiguring){a.syncUiCls()}},getBaseCls:function(){return this.baseCls},setBaseCls:function(){Ext.raise('baseCls cannot be reconfigured. It must be specified at class definition time.')},onClassExtended:function(b,a){if(a.config&&a.config.baseCls){Ext.raise('baseCls must be declared directly on the class body. Please move it outside of the config block.')}},privates:{_hideModes:{clip:'CLIP',display:'DISPLAY',offsets:'OFFSETS',opacity:'OPACITY',visibility:'VISIBILITY'},noRippleSelector:'.'+Ext.baseCSSPrefix+'no-ripple',addElementReferenceOnDemand:function(a,b){if(this._elementListeners[a]){this.addElementReference(a,b)}else {Ext.Object.defineProperty(this,a,{get:function(){if(this.destroyed){return}delete this[a];return this.addElementReference(a,b)},configurable:!0})}},addElementReference:function(f,g){var b=this,c=b[f]=Ext.get(g),a=b._elementListeners[f],e,d;c.skipGarbageCollection=!0;c.component=b;if(a){a=Ext.clone(a);for(e in a){d=a[e];if(typeof d==='object'){d.scope=b}}a.scope=b;c.on(a)}return c},detachFromBody:function(){Ext.getDetachedBody().appendChild(this.element,!0);this.isDetached=!0},reattachToBody:function(){var a;if(this.isDetached){a=Ext.getDetachedBody();if(a.contains(this.element)){Ext.getBody().appendChild(this.element,!0)}}this.isDetached=!1},doAddListener:function(g,h,f,a,l,k,j){var b=this,d=a&&a.element,m=a&&a.delegate,c,i,e;if(d){if(Ext.Array.indexOf(b.referenceList,d)===-1){Ext.Logger.error("Adding event listener with an invalid element reference of '"+d+"' for this component. Available values are: '"+b.referenceList.join("', '")+"'",b)}c={};c[g]=h;if(f){c.scope=f}i=Ext.Element.prototype.$eventOptions;for(e in a){if(i[e]){c[e]=a[e]}}b.mon(b[d],c);return}else if(m){b.mixins.componentDelegation.addDelegatedListener.call(b,g,h,f,a,l,k,j);return}b.callParent([g,h,f,a,l,k,j])},doRemoveListener:function(b,d,c){var a=this;a.mixins.observable.doRemoveListener.call(a,b,d,c);a.mixins.componentDelegation.removeDelegatedListener.call(a,b,d,c)},filterLengthValue:function(a){if(!a&&a!==0){return null}return a},initElementListeners:function(a){var c=this,k=c.self.superclass,d=k._elementListeners,h=a.reference,i=a.children,f,b,g,j,e;if(c.hasOwnProperty('_elementListeners')){f=c._elementListeners}else {f=c._elementListeners=(d?Ext.Object.chain(d):{})}if(h){b=a.listeners;if(b){if(d){g=d[h];if(g){b=Ext.Object.chain(g);Ext.apply(b,a.listeners)}}f[h]=b;a.listeners=null}}if(i){for(e=0,j=i.length;e<j;e++){c.initElementListeners(i[e])}}},initId:function(d){var a=this,c=a.config,b=(d&&d.id)||(c&&c.id);if(b){a.setId(b);a.id=b}else {a.getId()}},measure:function(a){return this.element.measure(a)},processElementConfig:function(){var a=this,c=a.self.superclass,b;if(a.hasOwnProperty('_elementConfig')){b=a._elementConfig}else {b=a._elementConfig=a.getElementConfig();if(c.isWidget){a.processElementConfig.call(c)}a.initElementListeners(b)}return b},parseUi:function(a,b){a=Ext.String.splitWords(a);if(b){a=a.join(' ')}return a},addUi:function(a){this.setUi(this.doAddUi(a,this.getUi()))},doAddUi:function(b,a){var g=this,e=null,c,d,f;if(b){b=g.parseUi(b);f=b.length;a=g.parseUi(a);for(c=0;c<f;c++){d=b[c];if(Ext.Array.indexOf(a,d)===-1){a.push(d)}}e=a.join(' ')}return e},removeUi:function(a){this.setUi(this.doRemoveUi(a,this.getUi()))},doRemoveUi:function(b,a){var g=this,e=null,c,h,d,f;if(b){b=g.parseUi(b);f=b.length;a=g.parseUi(a);for(c=0;c<f;c++){h=b[c];d=Ext.Array.indexOf(a,h);if(d!==-1){a.splice(d,1)}}e=a.join(' ')}return e},initUiReference:function(h,b,c){var a=this,j=a[h],f=a.baseCls,e=a.classClsList,g=[],d,i;c=(c!==!1);if(c){if(!a.hasOwnProperty('uiReferences')){a.uiReferences=Ext.clone(a.uiReferences)}a.uiReferences[h]=b}b='-'+b;if(f&&(f!==a.classCls)){g.push(f+b)}if(e){for(d=0,i=e.length;d<i;d++){g.push(e[d]+b)}}j.addCls(g);if(c&&!a.isConfiguring){a.syncUiCls()}},syncUiCls:function(q){var a=this,b=a.getUi(),m=a.currentUiCls||(a.currentUiCls={}),k=a.baseCls,n=q||a.uiReferences,f=a.classClsList,p=f?f.length:0,e,o,c,g,l,d,j,h,i;if(b){b=a.parseUi(b);o=b.length}for(c in n){g=a[c];e=[];if(g){l=m[c];if(l){g.removeCls(l)}if(b){d=n[c];d=d?('-'+d):'';for(h=0;h<o;h++){j='-'+b[h]+d;if(k&&(k!==a.classCls)){e.push(k+j)}if(f){for(i=0;i<p;i++){e.push(f[i]+j)}}}g.addCls(e);m[c]=e}}}},applyHideMode:function(a){return a||'display'},updateHideMode:function(b){var a=this,d=a.el,c=a.getHidden();if(!a._hideModes[b]){Ext.raise('Invalid hideMode: "'+b+'" (must be one of: "'+Object.keys(a._hideModes).join('", "')+'")')}if(c){d.show()}a.renderElement.setVisibilityMode(Ext.Element[a._hideModes[b]]);if(c){d.hide()}},updateUserCls:function(a,b){this.element.replaceCls(b,a)}}},function(b){var a=b.prototype;(a.$elementEventOptions=Ext.Object.chain(Ext.Element.prototype.$eventOptions)).element=1;(a.$eventOptions=Ext.Object.chain(a.$eventOptions)).delegate=1;Ext.updateWidget=Ext.Factory.widget.update});Ext.define('Ext.mixin.Traversable',{extend:Ext.Mixin,mixinConfig:{id:'traversable'},setParent:function(a){this.parent=a;return this},hasParent:function(){return Boolean(this.getParent())},is:function(){return !0},getParent:function(){return this.parent||this.$initParent},getAncestors:function(){var b=[],a=this.getParent();while(a){b.push(a);a=a.getParent()}return b},getAncestorIds:function(){var b=[],a=this.getParent();while(a){b.push(a.getId());a=a.getParent()}return b},previousNode:function(b,h){var d=this,f=d.getRefOwner(),a,g,e,c;if(h&&d.is(b)){return d}if(f){for(g=f.items.items,e=Ext.Array.indexOf(g,d)-1;e>-1;e--){c=g[e];if(c.query){a=c.query(b);a=a[a.length-1];if(a){return a}}if(!b||c.is(b)){return c}}return f.previousNode(b,!0)}return null},previousSibling:function(c){var e=this.getRefOwner(),b,a,d;if(e){b=e.items;a=b.indexOf(this);if(a!==-1){if(c){for(--a;a>=0;a--){if((d=b.getAt(a)).is(c)){return d}}}else {if(a){return b.getAt(--a)}}}}return null},nextNode:function(a,i){var c=this,f=c.getRefOwner(),g,d,h,e,b;if(i&&c.is(a)){return c}if(f){for(d=f.items.items,e=Ext.Array.indexOf(d,c)+1,h=d.length;e<h;e++){b=d[e];if(!a||b.is(a)){return b}if(b.down){g=b.down(a);if(g){return g}}}return f.nextNode(a)}return null},nextSibling:function(c){var e=this.getRefOwner(),b,f,a,d;if(e){b=e.items;a=b.indexOf(this)+1;if(a){if(c){for(f=b.getCount();a<f;a++){if((d=b.getAt(a)).is(c)){return d}}}else {if(a<b.getCount()){return b.getAt(a)}}}}return null}});Ext.define('Ext.fx.easing.Abstract',{config:{startTime:0,startValue:0},isEasing:!0,isEnded:!1,constructor:function(a){this.initConfig(a);return this},applyStartTime:function(a){if(!a){a=Ext.Date.now()}return a},updateStartTime:function(a){this.reset()},reset:function(){this.isEnded=!1},getValue:Ext.emptyFn});Ext.define('Ext.fx.easing.Linear',{extend:Ext.fx.easing.Abstract,alias:'easing.linear',config:{duration:0,endValue:0},updateStartValue:function(a){this.distance=this.getEndValue()-a},updateEndValue:function(a){this.distance=a-this.getStartValue()},getValue:function(){var a=Ext.Date.now()-this.getStartTime(),b=this.getDuration();if(a>b){this.isEnded=!0;return this.getEndValue()}else {return this.getStartValue()+((a/b)*this.distance)}}});Ext.define('Ext.util.translatable.Abstract',{extend:Ext.Evented,mixins:[Ext.mixin.Factoryable],factoryConfig:{type:'translatable',defaultType:'csstransform'},config:{easing:null,easingX:{duration:300},easingY:{duration:300}},x:0,y:0,activeEasingX:null,activeEasingY:null,isAnimating:!1,isTranslatable:!0,constructor:function(a){this.callParent([a]);this.position={x:0,y:0}},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,'easing')},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},doTranslate:function(a,b){if(this.hasListeners.translate){this.fireEvent('translate',this,a,b)}},translate:function(a,b,c){if(c){return this.translateAnimated(a,b,c)}if(this.isAnimating){this.stopAnimation()}if(!isNaN(a)&&typeof a==='number'){this.x=a}if(!isNaN(b)&&typeof b==='number'){this.y=b}this.doTranslate(a,b)},translateAxis:function(e,a,d){var b,c;if(e==='x'){b=a}else {c=a}return this.translate(b,c,d)},getPosition:function(){var b=this,a=b.position;a.x=-b.x;a.y=-b.y;return a},animate:function(b,c){var a=this;a.activeEasingX=b;a.activeEasingY=c;a.isAnimating=!0;if(a.ownerCmp){a.ownerCmp.isTranslating=!0}a.lastX=null;a.lastY=null;Ext.AnimationQueue.start(a.doAnimationFrame,a);a.fireEvent('animationstart',a,a.x,a.y);return a},translateAnimated:function(g,h,a){var b=this,f,e,c,d;if(!Ext.isObject(a)){a={}}if(b.isAnimating){b.stopAnimation()}b.callback=a.callback;b.callbackScope=a.scope;f=Ext.Date.now();e=a.easing;c=(typeof g==='number')?(a.easingX||e||b.getEasingX()||!0):null;d=(typeof h==='number')?(a.easingY||e||b.getEasingY()||!0):null;if(c){c=b.factoryEasing(c);c.setStartTime(f);c.setStartValue(b.x);c.setEndValue(g);if('duration' in a){c.setDuration(a.duration)}}if(d){d=b.factoryEasing(d);d.setStartTime(f);d.setStartValue(b.y);d.setEndValue(h);if('duration' in a){d.setDuration(a.duration)}}return b.animate(c,d)},doAnimationFrame:function(){var a=this,d=a.activeEasingX,e=a.activeEasingY,f=Date.now(),b,c;if(!a.isAnimating){return}a.lastRun=f;if(d===null&&e===null){a.stopAnimation();return}if(d!==null){a.x=b=Math.round(d.getValue());if(d.isEnded){a.activeEasingX=null;a.fireEvent('axisanimationend',a,'x',b)}}else {b=a.x}if(e!==null){a.y=c=Math.round(e.getValue());if(e.isEnded){a.activeEasingY=null;a.fireEvent('axisanimationend',a,'y',c)}}else {c=a.y}if(a.lastX!==b||a.lastY!==c){a.doTranslate(b,c);a.lastX=b;a.lastY=c}a.fireEvent('animationframe',a,b,c)},stopAnimation:function(){var a=this;if(!a.isAnimating){return}a.activeEasingX=null;a.activeEasingY=null;a.isAnimating=!1;if(a.ownerCmp){a.ownerCmp.isTranslating=!1}Ext.AnimationQueue.stop(a.doAnimationFrame,a);a.fireEvent('animationend',a,a.x,a.y);if(a.callback){a.callback.call(a.callbackScope);a.callback=null}},refresh:function(){this.translate(this.x,this.y)},resolveListenerScope:function(){var a=this.ownerCmp,b=arguments;if(a){return a.resolveListenerScope.apply(a,b)}return this.callParent(b)},destroy:function(){var a=this;a.destroying=!0;if(a.isAnimating){a.stopAnimation()}a.callParent();a.destroying=!1;a.destroyed=!0}});Ext.define('Ext.util.Format',function(){var a;return {singleton:!0,defaultDateFormat:'m/d/Y',thousandSeparator:',',decimalSeparator:'.',currencyPrecision:2,currencySign:'$',currencySpacer:'',percentSign:'%',currencyAtEnd:!1,stripTagsRe:/<\/?[^>]+>/gi,stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe:/\r?\n/g,hashRe:/#+$/,allHashes:/^#+$/,formatPattern:/[\d,\.#]+/,formatCleanRe:/[^\d\.#]/g,I18NFormatCleanRe:null,formatFns:{},constructor:function(){a=this},nbsp:function(a,b){b=b!==!1;if(b?a===''||a==null:!a){a='\xa0'}return a},undef:function(a){return a!==undefined?a:""},defaultValue:function(a,b){return a!==undefined&&a!==''?a:b},substr:'ab'.substr(-1)!='b'?function(d,a,c){var b=String(d);return (a<0)?b.substr(Math.max(b.length+a,0),c):b.substr(a,c)}:function(c,b,a){return String(c).substr(b,a)},lowercase:function(a){return String(a).toLowerCase()},uppercase:function(a){return String(a).toUpperCase()},usMoney:function(b){return a.currency(b,'$',2)},currency:function(b,g,c,i,d){var e='',f=",0",h=0;b=b-0;if(b<0){b=-b;e='-'}c=Ext.isDefined(c)?c:a.currencyPrecision;f+=(c>0?'.':'');for(;h<c;h++){f+='0'}b=a.number(b,f);if(d==null){d=a.currencySpacer}if((i||a.currencyAtEnd)===!0){return Ext.String.format("{0}{1}{2}{3}",e,b,d,g||a.currencySign)}else {return Ext.String.format("{0}{1}{2}{3}",e,g||a.currencySign,d,b)}},date:function(a,b){if(!a){return ""}if(!Ext.isDate(a)){a=new Date(Date.parse(a))}return Ext.Date.dateFormat(a,b||Ext.Date.defaultFormat)},dateRenderer:function(b){return function(c){return a.date(c,b)}},hex:function(c,b){var a=parseInt(c||0,10).toString(16);if(b){if(b<0){b=-b;if(a.length>b){a=a.substring(a.length-b)}}while(a.length<b){a='0'+a}}return a},or:function(b,a){return b||a},pick:function(a,d,c){if(Ext.isNumber(a)){var b=arguments[a+1];if(b){return b}}return a?c:d},lessThanElse:function(h,e,g,a,b){var d=Ext.Number.from(h,0),c=Ext.Number.from(e,0),f=!Ext.isDefined(b);return d<c?g:(d>c?a:(f?a:b))},sign:function(e,d,c,b){if(b===undefined){b=c}return a.lessThanElse(e,0,d,c,b)},stripTags:function(b){return !b?b:String(b).replace(a.stripTagsRe,"")},stripScripts:function(b){return !b?b:String(b).replace(a.stripScriptsRe,"")},fileSize:(function(){var a=1024,b=1048576,c=1073741824;return function(d){var e;if(d<a){if(d===1){e='1 byte'}else {e=d+' bytes'}}else if(d<b){e=(Math.round(((d*10)/a))/10)+' KB'}else if(d<c){e=(Math.round(((d*10)/b))/10)+' MB'}else {e=(Math.round(((d*10)/c))/10)+' GB'}return e}})(),math:(function(){var a={};return function(c,b){if(!a[b]){a[b]=Ext.functionFactory('v','return v '+b+';')}return a[b](c)}}()),round:function(c,a){var b=Number(c);if(typeof a==='number'){a=Math.pow(10,a);b=Math.round(c*a)/a}else if(a===undefined){b=Math.round(b)}return b},number:function(i,c){if(!c){return i}if(isNaN(i)){return ''}var k=a.formatFns[c];if(!k){var n=c,o=a.thousandSeparator,g=a.decimalSeparator,d=0,l='',h,e,j,f,b,m;if(c.substr(c.length-2)==='/i'){if(!a.I18NFormatCleanRe||a.lastDecimalSeparator!==g){a.I18NFormatCleanRe=new RegExp('[^\\d\\'+g+'#]','g');a.lastDecimalSeparator=g}c=c.substr(0,c.length-2);h=c.indexOf(o)!==-1;e=c.replace(a.I18NFormatCleanRe,'').split(g)}else {h=c.indexOf(',')!==-1;e=c.replace(a.formatCleanRe,'').split('.')}j=c.replace(a.formatPattern,'');if(e.length>2){Ext.raise({sourceClass:"Ext.util.Format",sourceMethod:"number",value:i,formatString:c,msg:"Invalid number format, should have no more than 1 decimal"})}else if(e.length===2){d=e[1].length;f=e[1].match(a.hashRe);if(f){m=f[0].length;l='trailingZeroes=new RegExp(Ext.String.escapeRegex(utilFormat.decimalSeparator) + "*0{0,'+m+'}$")'}}b=['var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,absVal,fnum,parts'+(h?',thousandSeparator,thousands=[],j,n,i':'')+(j?',formatString="'+c+'",formatPattern=/[\\d,\\.#]+/':'')+',trailingZeroes;'+'return function(v){'+'if(typeof v!=="number"&&isNaN(v=extNumber.from(v,NaN)))return"";'+'neg=v<0;','absVal=Math.abs(v);','fnum=Ext.Number.toFixed(absVal, '+d+');',l,';'];if(h){if(d){b[b.length]='parts=fnum.split(".");';b[b.length]='fnum=parts[0];'}b[b.length]='if(absVal>=1000) {';b[b.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);'+'}';if(d){b[b.length]='fnum += utilFormat.decimalSeparator+parts[1];'}}else if(d){b[b.length]='if(utilFormat.decimalSeparator!=="."){'+'parts=fnum.split(".");'+'fnum=parts[0]+utilFormat.decimalSeparator+parts[1];'+'}'}b[b.length]='if(neg&&fnum!=="'+(d?'0.'+Ext.String.repeat('0',d):'0')+'") { fnum="-"+fnum; }';if(f){b[b.length]='fnum=fnum.replace(trailingZeroes,"");'}b[b.length]='return ';if(j){b[b.length]='formatString.replace(formatPattern, fnum);'}else {b[b.length]='fnum;'}b[b.length]='};';k=a.formatFns[n]=Ext.functionFactory('Ext',b.join(''))(Ext)}return k(i)},numberRenderer:function(b){return function(c){return a.number(c,b)}},percent:function(c,b){return a.number(c*100,b||'0')+a.percentSign},repeat:function(a,b,c){return Ext.String.repeat(b,a,c)},attributes:function(a){if(typeof a==='object'){var c=[],b;for(b in a){if(a.hasOwnProperty(b)){c.push(b,'="',b==='style'?Ext.DomHelper.generateStyles(a[b],null,!0):Ext.htmlEncode(a[b]),'" ')}}a=c.join('')}return a||''},plural:function(c,a,b){return c+' '+(c===1?a:(b?b:a+'s'))},nl2br:function(b){return Ext.isEmpty(b)?'':b.replace(a.nl2brRe,'<br/>')},capitalize:Ext.String.capitalize,uncapitalize:Ext.String.uncapitalize,ellipsis:Ext.String.ellipsis,escape:Ext.String.escape,escapeRegex:Ext.String.escapeRegex,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,toggle:Ext.String.toggle,trim:Ext.String.trim,parseBox:function(b){b=b||0;if(typeof b==='number'){return {top:b,right:b,bottom:b,left:b}}var a=b.split(' '),c=a.length;if(c===1){a[1]=a[2]=a[3]=a[0]}else if(c===2){a[2]=a[0];a[3]=a[1]}else if(c===3){a[3]=a[1]}return {top:parseInt(a[0],10)||0,right:parseInt(a[1],10)||0,bottom:parseInt(a[2],10)||0,left:parseInt(a[3],10)||0}},resource:function(b,a){a=a||'';return Ext.resolveResource(a+b)},uri:function(a){return encodeURI(a)},uriCmp:function(a){return encodeURIComponent(a)},wordBreakRe:/[\W\s]+/,word:function(e,c,b){var f=b?(typeof b==='string'?new RegExp(b):b):a.wordBreakRe,d=(e||'').split(f);return d[c||0]||''}}});Ext.define('Ext.Template',{inheritableStatics:{from:function(a,b){a=Ext.getDom(a);return new this(a.value||a.innerHTML,b||'')}},useEval:Ext.isGecko,constructor:function(g){var d=this,c=arguments,f=[],b=c.length,e,a;d.initialConfig={};if(b===1&&Ext.isArray(g)){c=g;b=c.length}if(b>1){for(e=0;e<b;e++){a=c[e];if(typeof a==='object'){Ext.apply(d.initialConfig,a);Ext.apply(d,a)}else {f.push(a)}}}else {f.push(g)}d.html=f.join('')},isTemplate:!0,disableFormats:!1,tokenRe:/\{(?:(?:(\d+)|([a-z_$][\w\-$]*))(?::([a-z_\.]+)(?:\(([^\)]*?)?\))?)?)\}/gi,apply:function(b){var a=this;if(a.compiled){if(!a.fn){a.compile()}return a.fn(b).join('')}return a.evaluate(b)},evaluate:function(a){var b=this,e=!b.disableFormats,c=Ext.util.Format,d=b;function fn(i,h,b,g,f){if(b==null||b===''){b=h}if(g&&e){if(f){f=[a[b]].concat(Ext.functionFactory('return ['+f+'];')())}else {f=[a[b]]}if(g.substr(0,5)==="this."){return d[g.substr(5)].apply(d,f)}else if(c[g]){return c[g].apply(c,f)}else {return i}}else {return a[b]!==undefined?a[b]:""}}return b.html.replace(b.tokenRe,fn)},applyOut:function(c,b){var a=this;if(a.compiled){if(!a.fn){a.compile()}b.push.apply(b,a.fn(c))}else {b.push(a.apply(c))}return b},applyTemplate:function(){return this.apply.apply(this,arguments)},set:function(c,b){var a=this;a.html=c;a.compiled=!!b;a.fn=null;return a},compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,compile:function(){var a=this,b;b=a.html.replace(a.compileARe,'\\\\').replace(a.compileBRe,'\\n').replace(a.compileCRe,"\\'").replace(a.tokenRe,a.regexReplaceFn.bind(a));b=(this.disableFormats!==!0?'var fm=Ext.util.Format;':'')+(a.useEval?'$=':'return')+" function(v){return ['"+b+"'];};";a.fn=a.useEval?a.evalCompiled(b):(new Function('Ext',b))(Ext);a.compiled=!0;return a},evalCompiled:function($){eval($);return $},regexReplaceFn:function(d,b,e,a,c){if(b==null||b===''){b='"'+e+'"'}else if(this.stringFormat){b=parseInt(b)+1}if(a&&this.disableFormats!==!0){c=c?','+c:"";if(a.substr(0,5)==="this."){a=a+'('}else if(Ext.util.Format[a]){a="fm."+a+'('}else {return d}return "',"+a+"v["+b+"]"+c+"),'"}else {return "',v["+b+"] == undefined ? '' : v["+b+"],'"}},insertFirst:function(c,b,a){return this.doInsert('afterBegin',c,b,a)},insertBefore:function(c,b,a){return this.doInsert('beforeBegin',c,b,a)},insertAfter:function(c,b,a){return this.doInsert('afterEnd',c,b,a)},append:function(c,b,a){return this.doInsert('beforeEnd',c,b,a)},doInsert:function(d,e,c,b){var a=Ext.DomHelper.insertHtml(d,Ext.getDom(e),this.apply(c));return b?Ext.get(a):a},overwrite:function(d,c,b){var a=Ext.DomHelper.overwrite(Ext.getDom(d),this.apply(c));return b?Ext.get(a):a}},function(d){var e=/\{\d+\}/,b=function(a){if(e.test(a)){a=new d(a,c);return function(){return a.apply(arguments)}}else {return function(){return a}}},c={useFormat:!1,compiled:!0,stringFormat:!0},a={};Ext.String.format=Ext.util.Format.format=function(c){var e=a[c]||(a[c]=b(c));return e.apply(this,arguments)};Ext.String.formatEncode=function(){return Ext.String.htmlEncode(Ext.String.format.apply(this,arguments))}});Ext.define('Ext.util.XTemplateParser',{constructor:function(a){Ext.apply(this,a)},doTpl:Ext.emptyFn,parse:function(g){var b=this,q=g.length,s={elseif:'elif'},p=b.topRe,r=b.actionsRe,j,e,d,c,h,n,l,m,i,f,a,k,o;b.level=0;b.stack=e=[];for(j=0;j<q;j=f){p.lastIndex=j;c=p.exec(g);if(!c){b.doText(g.substring(j,q));break}i=c.index;f=p.lastIndex;if(j<i){d=g.substring(j,i);if(!(o&&Ext.String.trim(d)==='')){b.doText(d)}}o=!1;if(c[1]){f=g.indexOf('%}',i+2);b.doEval(g.substring(i+2,f));f+=2}else if(c[2]){f=g.indexOf(']}',i+2);b.doExpr(g.substring(i+2,f));f+=2}else if(c[3]){b.doTag(c[3])}else if(c[4]){a=null;while((m=r.exec(c[4]))!==null){d=m[2]||m[3];if(d){d=Ext.String.htmlDecode(d);h=m[1];h=s[h]||h;a=a||{};n=a[h];if(typeof n=='string'){a[h]=[n,d]}else if(n){a[h].push(d)}else {a[h]=d}}}if(!a){if(b.elseRe.test(c[4])){b.doElse()}else if(b.defaultRe.test(c[4])){b.doDefault()}else {b.doTpl();e.push({type:'tpl'})}}else if(a['if']){b.doIf(a['if'],a);e.push({type:'if'})}else if(a['switch']){b.doSwitch(a['switch'],a);e.push({type:'switch'});o=!0}else if(a['case']){b.doCase(a['case'],a)}else if(a['elif']){b.doElseIf(a['elif'],a)}else if(a['for']){++b.level;if(k=b.propRe.exec(c[4])){a.propName=k[1]||k[2]}b.doFor(a['for'],a);e.push({type:'for',actions:a})}else if(a['foreach']){++b.level;if(k=b.propRe.exec(c[4])){a.propName=k[1]||k[2]}b.doForEach(a['foreach'],a);e.push({type:'foreach',actions:a})}else if(a.exec){b.doExec(a.exec,a);e.push({type:'exec',actions:a})}}else if(c[0].length===5){e.push({type:'tpl'})}else {l=e.pop();b.doEnd(l.type,l.actions);if(l.type=='for'||l.type=='foreach'){--b.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*$/});Ext.define('Ext.util.XTemplateCompiler',{extend:Ext.util.XTemplateParser,useEval:Ext.isGecko,useIndex:Ext.isIE8m,useFormat:!0,propNameRe:/^[\w\d\$]*$/,compile:function(c){var a=this,b=a.generate(c);return a.useEval?a.evalTpl(b):(new Function('Ext',b))(Ext)},generate:function(d){var a=this,b='var fm=Ext.util.Format,ts=Object.prototype.toString;',c;a.maxLevel=0;a.body=['var c0=values, a0='+a.createArrayTest(0)+', p0=parent, n0=xcount, i0=xindex, k0, v;\n'];if(a.definitions){if(typeof a.definitions==='string'){a.definitions=[a.definitions,b]}else {a.definitions.push(b)}}else {a.definitions=[b]}a.switches=[];a.parse(d);a.definitions.push((a.useEval?'$=':'return')+' function ('+a.fnArgs+') {',a.body.join(''),'}');c=a.definitions.join('\n');a.definitions.length=a.body.length=a.switches.length=0;a.definitions=a.body=a.switches=0;return c},doText:function(a){var b=this,c=b.body;a=a.replace(b.aposRe,"\\'").replace(b.newLineRe,'\\n');if(b.useIndex){c.push('out[out.length]=\'',a,'\'\n')}else {c.push('out.push(\'',a,'\')\n')}},doExpr:function(b){var a=this.body;a.push('if ((v='+b+') != null) out');if(this.useIndex){a.push('[out.length]=v\n')}else {a.push('.push(v)\n')}},doTag:function(b){var a=this.parseTag(b);if(a){this.doExpr(a)}else {this.doText('{'+b+'}')}},doElse:function(){this.body.push('} else {\n')},doEval:function(a){this.body.push(a,'\n')},doIf:function(b,c){var a=this;if(b==='.'){a.body.push('if (values) {\n')}else if(a.propNameRe.test(b)){a.body.push('if (',a.parseTag(b),') {\n')}else {a.body.push('if (',a.addFn(b),a.callFn,') {\n')}if(c.exec){a.doExec(c.exec)}},doElseIf:function(b,c){var a=this;if(b==='.'){a.body.push('else if (values) {\n')}else if(a.propNameRe.test(b)){a.body.push('} else if (',a.parseTag(b),') {\n')}else {a.body.push('} else if (',a.addFn(b),a.callFn,') {\n')}if(c.exec){a.doExec(c.exec)}},doSwitch:function(b){var a=this,c;if(b==='.'||b==='#'){c=b==='.'?'values':'xindex';a.body.push('switch (',c,') {\n')}else if(a.propNameRe.test(b)){a.body.push('switch (',a.parseTag(b),') {\n')}else {a.body.push('switch (',a.addFn(b),a.callFn,') {\n')}a.switches.push(0)},doCase:function(e){var a=this,c=Ext.isArray(e)?e:[e],d=a.switches.length-1,f,b;if(a.switches[d]){a.body.push('break;\n')}else {a.switches[d]++}for(b=0,d=c.length;b<d;++b){f=a.intRe.exec(c[b]);c[b]=f?f[1]:("'"+c[b].replace(a.aposRe,"\\'")+"'")}a.body.push('case ',c.join(': case '),':\n')},doDefault:function(){var a=this,b=a.switches.length-1;if(a.switches[b]){a.body.push('break;\n')}else {a.switches[b]++}a.body.push('default:\n')},doEnd:function(c,d){var a=this,b=a.level-1;if(c=='for'||c=='foreach'){if(d.exec){a.doExec(d.exec)}a.body.push('}\n');a.body.push('parent=p',b,';values=r',b+1,';xcount=n'+b+';xindex=i',b,'+1;xkey=k',b,';\n')}else if(c=='if'||c=='switch'){a.body.push('}\n')}},doFor:function(c,d){var b=this,f,a=b.level,e=a-1,g;if(c==='.'){f='values'}else if(b.propNameRe.test(c)){f=b.parseTag(c)}else {f=b.addFn(c)+b.callFn}if(b.maxLevel<a){b.maxLevel=a;b.body.push('var ')}if(c=='.'){g='c'+a}else {g='a'+e+'?c'+e+'[i'+e+']:c'+e}b.body.push('i',a,'=0,n',a,'=0,c',a,'=',f,',a',a,'=',b.createArrayTest(a),',r',a,'=values,p',a,',k',a,';\n','p',a,'=parent=',g,'\n','if (c',a,'){if(a',a,'){n',a,'=c',a,'.length;}else if (c',a,'.isMixedCollection){c',a,'=c',a,'.items;n',a,'=c',a,'.length;}else if(c',a,'.isStore){c',a,'=c',a,'.data.items;n',a,'=c',a,'.length;}else{c',a,'=[c',a,'];n',a,'=1;}}\n','for (xcount=n',a,';i',a,'<n'+a+';++i',a,'){\n','values=c',a,'[i',a,']');if(d.propName){b.body.push('.',d.propName)}b.body.push('\n','xindex=i',a,'+1\n');if(d.between){b.body.push('if(xindex>1){ out.push("',d.between,'"); } \n')}},doForEach:function(c,d){var b=this,f,a=b.level,e=a-1,g;if(c==='.'){f='values'}else if(b.propNameRe.test(c)){f=b.parseTag(c)}else {f=b.addFn(c)+b.callFn}if(b.maxLevel<a){b.maxLevel=a;b.body.push('var ')}if(c=='.'){g='c'+a}else {g='a'+e+'?c'+e+'[i'+e+']:c'+e}b.body.push('i',a,'=-1,n',a,'=0,c',a,'=',f,',a',a,'=',b.createArrayTest(a),',r',a,'=values,p',a,',k',a,';\n','p',a,'=parent=',g,'\n','for(k',a,' in c',a,'){\n','xindex=++i',a,'+1;\n','xkey=k',a,';\n','values=c',a,'[k',a,'];');if(d.propName){b.body.push('.',d.propName)}if(d.between){b.body.push('if(xindex>1){ out.push("',d.between,'"); } \n')}},createArrayTest:('isArray' in Array)?function(a){return 'Array.isArray(c'+a+')'}:function(a){return 'ts.call(c'+a+')==="[object Array]"'},doExec:function(d,e){var a=this,c='f'+a.definitions.length,b=a.guards[a.strict?0:1];a.definitions.push('function '+c+'('+a.fnArgs+') {',b.doTry,' var $v = values; with($v) {','  '+d,' }',b.doCatch,'}');a.body.push(c+a.callFn+'\n')},guards:[{doTry:'',doCatch:''},{doTry:'try { ',doCatch:' } catch(e) {\n'+'Ext.log.warn("XTemplate evaluation exception: " + e.message);\n'+'}'}],addFn:function(c){var a=this,b='f'+a.definitions.length,d=a.guards[a.strict?0:1];if(c==='.'){a.definitions.push('function '+b+'('+a.fnArgs+') {',' return values','}')}else if(c==='..'){a.definitions.push('function '+b+'('+a.fnArgs+') {',' return parent','}')}else {a.definitions.push('function '+b+'('+a.fnArgs+') {',d.doTry,' var $v = values; with($v) {','  return('+c+')',' }',d.doCatch,'}')}return b},parseTag:function(h){var e=this,f=e.tagRe.exec(h),a,c,d,g,b;if(!f){return null}a=f[1];c=f[2];d=f[3];g=f[4];if(a=='.'){if(!e.validTypes){e.definitions.push('var validTypes={string:1,number:1,boolean:1};');e.validTypes=!0}b='validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""'}else if(a=='#'){b='xindex'}else if(a=='$'){b='xkey'}else if(a.substr(0,7)=="parent."){b=a}else if(isNaN(a)&&a.indexOf('-')==-1&&a.indexOf('.')!=-1){b="values."+a}else {b="values['"+a+"']"}if(g){b='('+b+g+')'}if(c&&e.useFormat){d=d?','+d:"";if(c.substr(0,5)!="this."){c="fm."+c+'('}else {c+='('}}else {return b}return c+b+d+')'},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/^([\w-\.\#\$]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?$/},function(){var a=this.prototype;a.fnArgs='out,values,parent,xindex,xcount,xkey';a.callFn='.call(this,'+a.fnArgs+')'});Ext.define('Ext.XTemplate',{extend:Ext.Template,isXTemplate:!0,emptyObj:{},fn:null,strict:!1,apply:function(c,b,e,d){var a=this.applyOut(c,[],b,e,d);return a.length===1?a[0]:a.join('')},applyOut:function(g,d,f,c,b){var a=this,e;if(!a.fn){e=new Ext.util.XTemplateCompiler({useFormat:a.disableFormats!==!0,definitions:a.definitions,strict:a.strict});a.fn=e.compile(a.html)}c=c||1;b=b||1;if(a.strict){a.fn(d,g,f||a.emptyObj,c,b)}else {try{a.fn(d,g,f||a.emptyObj,c,b)}catch(h){Ext.log.warn('XTemplate evaluation exception: '+h.message)}}return d},compile:function(){return this},statics:{get:function(a,d,c){var b=a;if(a==null){if(d&&c){b=this.getTpl(d,c)}}else if((a||a==='')&&!a.isTemplate){b=new this(a)}return b},getTpl:function(c,d){var b=c[d],a;if(b){if(!b.isTemplate){b=Ext.XTemplate.get(b)}if(!b.owner){if(c.hasOwnProperty(d)){a=c}else {for(a=c.self.prototype;a&&!a.hasOwnProperty(d);a=a.superclass){}}a[d]=b;b.owner=a}}return b||null}}});Ext.define('Ext.util.translatable.Dom',{extend:Ext.util.translatable.Abstract,alias:'translatable.dom',config:{element:null},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(){this.refresh()}});Ext.define('Ext.util.translatable.CssPosition',{extend:Ext.util.translatable.Dom,alias:'translatable.cssposition',doTranslate:function(a,b){var c=this.getElement().dom.style;if(typeof a==='number'){c.left=a+'px'}if(typeof b==='number'){c.top=b+'px'}this.callParent([a,b])},syncPosition:function(){var a=this.getElement().dom.style;return [this.x=parseFloat(a.left),this.y=parseFloat(a.top)]},destroy:function(){var a=this.getElement().dom.style;a.left=null;a.top=null;this.callParent()}});Ext.define('Ext.util.translatable.CssTransform',{extend:Ext.util.translatable.Dom,alias:'translatable.csstransform',isCssTransform:!0,posRegex:/(\d+)px[^\d]*(\d+)px/,doTranslate:function(c,d){var a=this,b=a.getElement();if(!a.destroyed&&!b.destroyed){b.translate(c,d)}a.callParent([c,d])},syncPosition:function(){var a=this.posRegex.exec(this.getElement().dom.style.tranform);if(a){this.x=parseFloat(a[1]);this.y=parseFloat(a[2])}return [this.x,this.y]},destroy:function(){var a=this.getElement();if(a&&!a.destroyed){a.dom.style.webkitTransform=null}this.callParent()}});Ext.define('Ext.util.CSS',function(){var a,b=null,c=document,e=/(-[a-z])/gi,d=function(b,a){return a.charAt(1).toUpperCase()};return {singleton:!0,rules:b,initialized:!1,constructor:function(){a=this},createStyleSheet:function(e,g){var d,f=c.getElementsByTagName('head')[0],b=c.createElement('style');b.setAttribute('type','text/css');if(g){b.setAttribute('id',g)}d=b.styleSheet;if(d){f.appendChild(b);d.cssText=e}else {b.appendChild(c.createTextNode(e));f.appendChild(b);d=b.sheet}a.cacheStyleSheet(d);return d},removeStyleSheet:function(a){var b=(typeof a==='string')?c.getElementById(a):a.ownerNode;if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(d,e){var b;a.removeStyleSheet(d);b=c.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("id",d);b.setAttribute("href",e);c.getElementsByTagName("head")[0].appendChild(b)},cacheStyleSheet:function(d){if(!b){b=a.rules={}}try{var h=d.cssRules||d.rules,g=h.length-1,f=d.imports,i=f?f.length:0,c,e;for(e=0;e<i;++e){a.cacheStyleSheet(f[e])}for(;g>=0;--g){c=h[g];if(c.styleSheet){a.cacheStyleSheet(c.styleSheet)}a.cacheRule(c,d)}}catch(j){}},cacheRule:function(d,g){if(d.styleSheet){return a.cacheStyleSheet(d.styleSheet)}var c=d.selectorText,f,e;if(c){c=c.split(',');f=c.length;for(e=0;e<f;e++){b[Ext.String.trim(c[e]).toLowerCase()]={parentStyleSheet:g,cssRule:d}}}},getRules:function(e){var d={},c;if(b===null||e){a.refreshCache()}for(c in b){d[c]=b[c].cssRule}return d},refreshCache:function(){var e=c.styleSheets,d=0,f=e.length;b=a.rules={};for(;d<f;d++){try{if(!e[d].disabled){a.cacheStyleSheet(e[d])}}catch(g){}}},getRule:function(c,g,f){var d,e;if(!b||g){a.refreshCache()}if(!Ext.isArray(c)){e=b[c.toLowerCase()];if(e&&!f){e=e.cssRule}return e||null}for(d=0;d<c.length;d++){if(b[c[d]]){return f?b[c[d].toLowerCase()]:b[c[d].toLowerCase()].cssRule}}return null},createRule:function(b,c,d){var f,e=b.cssRules||b.rules,g=e.length;if(b.insertRule){b.insertRule(c+' {'+d+'}',g)}else {b.addRule(c,d||' ')}a.cacheRule(f=e[g],b);return f},updateRule:function(c,b,i){var f,g,h;if(!Ext.isArray(c)){f=a.getRule(c);if(f){if(arguments.length===2){h=Ext.Element.parseStyles(b);for(b in h){f.style[b.replace(e,d)]=h[b]}}else {f.style[b.replace(e,d)]=i}return !0}}else {for(g=0;g<c.length;g++){if(a.updateRule(c[g],b,i)){return !0}}}return !1},deleteRule:function(f){var e=a.getRule(f,!1,!0),c,d;if(e){c=e.parentStyleSheet;d=Ext.Array.indexOf(c.cssRules||c.rules,e.cssRule);if(c.deleteRule){c.deleteRule(d)}else {c.removeRule(d)}delete b[f]}}}});Ext.define('Ext.util.translatable.ScrollPosition',{extend:Ext.util.translatable.Dom,alias:'translatable.scrollposition',constructor:function(a){if(a&&a.element){this.x=a.element.getScrollLeft();this.y=a.element.getScrollTop()}this.callParent([a])},translateAnimated:function(){var a=this.getElement();this.x=a.getScrollLeft();this.y=a.getScrollTop();this.callParent(arguments)},doTranslate:function(b,c){var a=this.getElement();a.setScrollLeft(Math.round(b));a.setScrollTop(Math.round(c))},getPosition:function(){var c=this,a=c.position,b=c.getElement();a.x=b.getScrollLeft();a.y=b.getScrollTop();return a}});Ext.define('Ext.scroll.Scroller',{extend:Ext.Evented,alias:'scroller.scroller',mixins:[Ext.mixin.Factoryable,Ext.mixin.Bufferable],factoryConfig:{defaultType:'scroller'},bufferableMethods:{onDomScrollEnd:100},isScroller:!0,config:{direction:undefined,element:undefined,scrollbars:null,snapSelector:null,snapOffset:null,msSnapInterval:null,x:!0,y:!0,scrollElement:null,size:null,spacerXY:null,touchAction:null},snappableCls:Ext.baseCSSPrefix+'scroller-snappable',elementCls:Ext.baseCSSPrefix+'scroller',spacerCls:Ext.baseCSSPrefix+'scroller-spacer',noScrollbarsCls:Ext.baseCSSPrefix+'no-scrollbars',statics:{create:function(a,b){return Ext.Factory.scroller(a,b)},getScrollingElement:function(){var d=document,c=this.$standardScrollElement,e=d.scrollingElement,a,b;if(e){return e}if(c===undefined){a=document.createElement('iframe');a.style.height='1px';document.body.appendChild(a);b=a.contentWindow.document;b.write('<!DOCTYPE html><div style="height:9999em">x</div>');b.close();c=b.documentElement.scrollHeight>b.body.scrollHeight;a.parentNode.removeChild(a);this.$standardScrollElement=c}return c?d.documentElement:d.body},initViewportScroller:function(){var a=Ext.getViewportScroller();if(!a.getElement()){a.setElement(Ext.getBody())}}},constructor:function(b){var a=this;a.position={x:0,y:0};a.callParent([b])},destroy:function(){var a=this,b=a._partners,c;Ext.undefer(a.restoreTimer);a.setX(Ext.emptyString);a.setY(Ext.emptyString);if(a._spacer){a._spacer.destroy()}if(a.scrollListener){a.scrollListener.destroy()}if(b){for(c in b){a.removePartner(b[c].scroller)}}a.setElement(null);a._partners=a.component=null;if(a.translatable){a.translatable.destroy();a.translatable=null}a.removeSnapStylesheet();a.callParent()},addPartner:function(b,c){var a=this,e=a._partners||(a._partners={}),d=b._partners||(b._partners={});c=a.axisConfigs[c||'both'];e[b.getId()]={scroller:b,axes:c};d[a.getId()]={scroller:a,axes:c}},applyElement:function(a,c){var b=this;if(c&&b.scrollListener){b.scrollListener.destroy()}if(a){if(typeof a==='string'&&!Ext.get(a)){Ext.raise("Cannot create Ext.scroll.Scroller instance. "+"Element with id '"+a+"' not found.")}a=Ext.get(a)}return a},applySize:function(d,c){var a,b;if(d===null||typeof d==='number'){a=b=d}else if(d){a=d.x;b=d.y}if(a===null){a=0}else if(a===undefined){a=(c?c.x:0)}if(b===null){b=0}else if(b===undefined){b=(c?c.y:0)}if(!c||a!==c.x||b!==c.y){return {x:a,y:b}}},getClientSize:function(){var a=this.getElement().dom;return {x:a.clientWidth,y:a.clientHeight}},getScrollbarSize:function(){var h=this,j=0,i=0,g=h.getElement(),a,b,c,e,f,d;if(g&&!g.destroyed){b=h.getX();c=h.getY();a=g.dom;if(b||c){d=Ext.getScrollbarSize()}if(b==='scroll'){e=!0}else if(b){e=a.scrollWidth>a.clientWidth}if(c==='scroll'){f=!0}else if(c){f=a.scrollHeight>a.clientHeight}if(e){i=d.height}if(f){j=d.width}}return {width:j,height:i}},getPosition:function(){var a=this;if(a.positionDirty){a.updateDomScrollPosition()}return a.position},getSize:function(){var a=this.getElement(),b,c;if(a&&!a.destroyed){c=a.dom;b={x:c.scrollWidth,y:c.scrollHeight}}else {b={x:0,y:0}}return b},getMaxPosition:function(){var b=this.getElement(),c=0,d=0,a;if(b&&!b.destroyed){a=b.dom;c=a.scrollWidth-a.clientWidth;d=a.scrollHeight-a.clientHeight}return {x:c,y:d}},getMaxUserPosition:function(){var c=this,b=c.getElement(),d=0,e=0,a;if(b&&!b.destroyed){a=b.dom;if(c.getX()){d=a.scrollWidth-a.clientWidth}if(c.getY()){e=a.scrollHeight-a.clientHeight}}return {x:d,y:e}},refresh:function(){this.positionDirty=!0;this.fireEvent('refresh',this);return this},removePartner:function(c){var b=this._partners,a=c._partners;if(b){delete b[c.getId()]}if(a){delete (a[this.getId()])}},scrollBy:function(a,b,c){var d=this.getPosition();if(a){if(a.length){c=b;b=a[1];a=a[0]}else if(typeof a!=='number'){c=b;b=a.y;a=a.x}}a=(typeof a==='number')?a+d.x:null;b=(typeof b==='number')?b+d.y:null;return this.doScrollTo(a,b,c)},ensureVisible:function(a,b){var c=this,g=c.getPosition(),e,d,f;if(a){if(a&&a.element&&!a.isElement){b=a;a=b.element}b=b||{};e=b.highlight;d=c.getEnsureVisibleXY(a,b);if(d.y!==g.y||d.x!==g.x){if(e){c.on({scrollend:'doHighlight',scope:c,single:!0,args:[a,e]})}f=c.doScrollTo(d.x,d.y,b.animation)}else {if(e){c.doHighlight(a,e)}f=Ext.Deferred.getCachedResolved()}}else {f=Ext.Deferred.getCachedRejected()}return f},scrollIntoView:function(d,c,b,a){return this.ensureVisible(d,{animation:b,highlight:a,x:c})},isInView:function(a){return this.doIsInView(a)},scrollTo:function(a,b,d){var c;if(a){if(a.length){d=b;b=a[1];a=a[0]}else if(typeof a!=='number'){d=b;b=a.y;a=a.x}}if(a<0||b<0){c=this.getMaxPosition();if(a<0){a+=c.x}if(b<0){b+=c.y}}return this.doScrollTo(a,b,d)},updateDirection:function(a){var d=this,b,c;if(!a){b=d.getX();c=d.getY();if(b&&c){a=(c==='scroll'&&b==='scroll')?'both':'auto'}else if(c){a='vertical'}else if(b){a='horizontal'}d._direction=a}else {if(a==='auto'){b=!0;c=!0}else if(a==='vertical'){b=!1;c=!0}else if(a==='horizontal'){b=!0;c=!1}else if(a==='both'){b='scroll';c='scroll'}d.setX(b);d.setY(c)}},updateScrollbars:function(b,a){this.syncScrollbarCls()},updateSize:function(e){var a=this,f=a.getElement(),b=e.x,c=e.y,d;if(f){a.positionDirty=!0;d=a.getSpacer();if(!b&&!c){d.hide()}else {if(b>0){b-=1}if(c>0){c-=1}a.setSpacerXY({x:b,y:c});d.show()}}},updateMsSnapInterval:function(){this.initMsSnapInterval()},updateSnapSelector:function(){this.initSnap()},updateSnapOffset:function(){this.initSnap()},updateTouchAction:function(b){var a=this.getElement();if(a){a.setTouchAction(b)}},updateElement:function(b,c){var a=this,g=a.getTouchAction(),f=a.scrollListener,h=a.elementCls,d,e;if(f){f.destroy();a.scrollListener=null;a.setScrollElement(null)}if(c&&!c.destroyed){c.setStyle('overflow','hidden');c.removeCls(h)}if(b){if(b.dom===document.documentElement||b.dom===document.body){d=Ext.getWin();e=Ext.scroll.Scroller.getScrollingElement()}else {e=d=b}a.setScrollElement(Ext.get(e));a.scrollListener=d.on({scroll:a.onDomScroll,scope:a,destroyable:!0});if(g){b.setTouchAction(g)}a.initXStyle();a.initYStyle();b.addCls(h);a.initSnap();a.initMsSnapInterval();a.syncScrollbarCls()}},updateX:function(a){this.initXStyle()},updateY:function(a){this.initYStyle()},deprecated:{'5':{methods:{getScroller:function(){return this}}},'5.1.0':{methods:{scrollToTop:function(a){return this.scrollTo(0,0,a)},scrollToEnd:function(a){return this.scrollTo(Infinity,Infinity,a)}}}},privates:{axisConfigs:{x:{x:!0},y:{y:!0},both:{x:!0,y:!0}},getEnsureVisibleXY:function(d,b){var e=this.getPosition(),f=this.component?this.component.getScrollableClientRegion():this.getElement(),c,a;if(d&&d.element&&!d.isElement){b=d;d=b.element}b=b||{};a=b.align;if(a){if(Ext.isString(a)){a={x:b.x===!1?null:a,y:b.y===!1?null:a}}else if(Ext.isObject(a)){if(a.x&&b.x===!1){a.x=null}if(a.y&&b.y===!1){a.y=null}}}c=Ext.fly(d).getScrollIntoViewXY(f,e.x,e.y,a);c.x=b.x===!1?e.x:c.x;c.y=b.y===!1?e.y:c.y;return c},getSpacer:function(){var c=this,a=c._spacer,b;if(!a){b=c.getElement();a=c._spacer=b.createChild({cls:c.spacerCls,role:'presentation'},b.dom.firstChild);a.setVisibilityMode(2);a.hide();b.position()}return a},applySpacerXY:function(a,b){if(b&&a.x===b.x&&a.y===b.y){a=undefined}return a},updateSpacerXY:function(e){var a=this,f=a.getSpacer(),b=f.dom.style,c=e.y,d;b.marginTop='';a.translateSpacer(e.x,a.constrainScrollRange(c));b.lineHeight=Number(!parseInt(b.lineHeight,10))+'px';if(c>1000000){d=c-a.getElement().dom.scrollHeight;if(d>0){b.marginTop=Math.min(d,a.maxSpacerMargin||0)+'px'}}},translateSpacer:function(a,b){this.getSpacer().translate(a,b)},doIsInView:function(c,h){var f=this,g=f.component,d={x:!1,y:!1},b,e=f.getElement(),a;if(c&&(h||(e.contains(c)||(g&&g.owns(c))))){a=e.getRegion();b=Ext.fly(c).getRegion();d.x=b.right>a.left&&b.left<a.right;d.y=b.bottom>a.top&&b.top<a.bottom}return d},contains:function(b){var c=this.getElement(),a=b;while(a&&a!==Ext.Viewport){if(c.contains(a.el)){return !0}a=a.getRefOwner()}return !1},constrainScrollRange:function(g){if(g<1000000){return g}if(!this.maxSpacerTranslate){var b=Math.pow(2,32),c=b,a=500,f=Ext.getBody().createChild({style:{position:'absolute',left:'-10000px',top:'0',width:'500px',height:'500px'},cn:{cls:this.spacerCls}},null,!0),e=Ext.get(f.firstChild),d=e.dom.style;e.translate(0,b-1);d.lineHeight=Number(!parseInt(d.lineHeight,10))+'px';while(c!==a+1){e.translate(0,(b=a+Math.floor((c-a)/2)));d.lineHeight=Number(!parseInt(d.lineHeight,10))+'px';if(f.scrollHeight<b){c=b}else {a=b}}e.translate(0,Ext.scroll.Scroller.prototype.maxSpacerTranslate=a);c=a*2;while(c!==a+1){e.dom.style.marginTop=((b=a+Math.floor((c-a)/2)))+'px';d.lineHeight=Number(!parseInt(d.lineHeight,10))+'px';if(f.scrollHeight<b){c=b}else {a=b}}Ext.fly(f).destroy();Ext.scroll.Scroller.prototype.maxSpacerMargin=a-Ext.scroll.Scroller.prototype.maxSpacerTranslate}return Math.min(g,this.maxSpacerTranslate)},convertX:function(a){return a},doHighlight:function(b,a){if(a!==!0){Ext.fly(b).highlight(a)}else {Ext.fly(b).highlight()}},doScrollTo:function(a,d,l){var b=this,f=b.getScrollElement(),h,k,i,j,g,c,e;if(f&&!f.destroyed){k=f.dom;i=(a===Infinity);j=(d===Infinity);if(i||j){h=b.getMaxPosition();if(i){a=h.x}if(j){d=h.y}}if(a!==null){a=b.convertX(a)}if(l){c=b.translatable;if(!c){b.translatable=c=new Ext.util.translatable.ScrollPosition({element:f})}e=new Ext.Deferred();c.on('animationend',function(){if(b.destroyed){e.reject()}else {e.resolve()}},Ext.global,{single:!0,onFrame:!0});c.translate(a,d,l);g=e.promise}else {if(d!=null){k.scrollTop=d}if(a!=null){k.scrollLeft=a}g=Ext.Deferred.getCachedResolved()}b.positionDirty=!0}else {g=Ext.Deferred.getCachedRejected()}return g},fireScrollStart:function(b,c,e,f){var a=this,d=a.component;a.invokePartners('onPartnerScrollStart',b,c,e,f);a.startX=b-e;a.startY=c-f;if(a.hasListeners.scrollstart){a.fireEvent('scrollstart',a,b,c)}if(d&&d.onScrollStart){d.onScrollStart(b,c)}Ext.GlobalEvents.fireEvent('scrollstart',a,b,c)},fireScroll:function(b,c,e,f){var a=this,d=a.component;a.invokePartners('onPartnerScroll',b,c,e,f);if(a.hasListeners.scroll){a.fireEvent('scroll',a,b,c,e,f)}if(d&&d.onScrollMove){d.onScrollMove(b,c)}Ext.GlobalEvents.fireEvent('scroll',a,b,c,e,f)},fireScrollEnd:function(b,c,g,h){var a=this,d=a.component,e=b-a.startX,f=c-a.startY;a.startX=a.startY=null;a.invokePartners('onPartnerScrollEnd',b,c,g,h);if(a.hasListeners.scrollend){a.fireEvent('scrollend',a,b,c,e,f)}if(d&&d.onScrollEnd){d.onScrollEnd(b,c)}Ext.GlobalEvents.fireEvent('scrollend',a,b,c,e,f)},getElementScroll:function(a){return a.getScroll()},initSnap:function(){var a=this,e=a.getSnapOffset(),g=a.getSnapSelector(),f=a.getElement(),b,c,d;if(f&&g){f.addCls(a.snappableCls);a.removeSnapStylesheet();if(e){b=e.x||0;c=e.y||0;if(b){b=-b+'px'}if(c){c=-c+'px'}}d=b+' '+c+';';a.snapStylesheet=Ext.util.CSS.createStyleSheet('#'+f.id+' '+g+'{-webkit-scroll-snap-coordinate:'+d+'scroll-snap-coordinate:'+d+'}')}},initMsSnapInterval:function(){var e=this.getElement(),a,c,d,b;if(e){a=this.getMsSnapInterval();if(a){c=a.x;d=a.y;b=e.dom.style;if(c){b['-ms-scroll-snap-points-x']='snapInterval(0px, '+c+'px)'}if(d){b['-ms-scroll-snap-points-y']='snapInterval(0px, '+d+'px)'}}}},initXStyle:function(){var b=this.getElement(),a=this.getX();if(b&&b.dom){if(!a){a='hidden'}else if(a===!0){a='auto'}b.setStyle('overflow-x',a)}},initYStyle:function(){var b=this.getElement(),a=this.getY();if(b&&b.dom){if(!a){a='hidden'}else if(a===!0){a='auto'}b.setStyle('overflow-y',a)}},invokePartners:function(h,i,j,f,g){var b=this,c=b._partners,d,e,a;if(!b.suspendSync){b.invokingPartners=!0;for(e in c){a=c[e].axes;d=c[e].scroller;if(!d.invokingPartners&&(f&&a.x||g&&a.y)){d[h](b,a.x?i:null,a.y?j:null,f,g)}}b.invokingPartners=!1}},suspendPartnerSync:function(){this.suspendSync=(this.suspendSync||0)+1},resumePartnerSync:function(c){var a=this,b;if(a.suspendSync){a.suspendSync--}if(!a.suspendSync&&c){b=a.getPosition();a.invokePartners('onPartnerScroll',b.x,b.y);a.invokePartners('onPartnerScrollEnd',b.x,b.y)}},readPosition:function(a){var d=this,c=d.getScrollElement(),b;a=a||{};if(c&&!c.destroyed){b=d.getElementScroll(c);a.x=b.left;a.y=b.top}return a},updateDomScrollPosition:function(g){var a=this,b=a.position,h=b.x,i=b.y,e,f,c,d;a.readPosition(b);e=b.x;f=b.y;a.positionDirty=!1;if(!g){c=e-h;d=f-i;if(c||d){if(!a.isScrolling){a.isScrolling=Ext.isScrolling=!0;a.fireScrollStart(e,f,c,d)}a.fireScroll(e,f,c,d);a.onDomScrollEnd(e,f,c,d)}}return b},syncWithPartners:function(){var a=this,d=a._partners,e,c,b;a.suspendPartnerSync();for(e in d){c=d[e].scroller;b=c.getPosition();a.onPartnerScroll(c,b.x,b.y)}a.resumePartnerSync()},syncScrollbarCls:function(){var a=this.getElement();if(a){a.toggleCls(this.noScrollbarsCls,this.getScrollbars()===!1)}},onDomScroll:function(){var a=!!this.restoreTimer;this.updateDomScrollPosition(a);if(a){Ext.undefer(this.onDomScrollEnd.timer);return}},doOnDomScrollEnd:function(b,c,d,e){var a=this;if(a.destroying||a.destroyed){return}a.isScrolling=Ext.isScrolling=!1;if(b===undefined){return}a.trackingScrollLeft=b;a.trackingScrollTop=c;a.fireScrollEnd(b,c,d,e)},onPartnerScrollStart:function(e,c,d,a,b){this.isScrolling=!0;this.fireScrollStart(c,d,a,b)},onPartnerScroll:function(e,a,b,c,d){this.doScrollTo(a,b,!1);this.updateDomScrollPosition(!0);this.fireScroll(a,b,c,d)},onPartnerScrollEnd:function(e,c,d,a,b){this.cancelOnDomScrollEnd();this.doOnDomScrollEnd(c,d,a,b)},removeSnapStylesheet:function(){var a=this.snapStylesheet;if(a){Ext.util.CSS.removeStyleSheet(a);this.snapStylesheet=null}},restoreState:function(){var a=this,b=a.getScrollElement();if(b){if(a.trackingScrollTop!==undefined){if(!a.restoreTimer){a.restoreTimer=Ext.defer(function(){a.restoreTimer=null},50)}a.doScrollTo(a.trackingScrollLeft,a.trackingScrollTop,!1)}}}}},function(a){Ext.getViewportScroller=function(){var b=a.viewport;if(!b){a.viewport=b=new a();a.initViewportScroller()}return b};Ext.setViewportScroller=function(b){if(a.viewport!==b){Ext.destroy(a.viewport);if(b&&!b.isScroller){b=new a(b)}a.viewport=b}};Ext.onReady(function(){a.initViewportScrollerTimer=Ext.defer(a.initViewportScroller,100)})});Ext.define('Ext.ProgressBase',{mixinId:'progressbase',config:{value:0,textTpl:null},applyTextTpl:function(a){if(!a.isTemplate){a=new Ext.XTemplate(a)}return a},applyValue:function(a){return a||0}});Ext.define('Ext.Progress',{extend:Ext.Gadget,xtype:['progress','progressbarwidget'],alternateClassName:'Ext.ProgressBarWidget',mixins:[Ext.ProgressBase],config:{text:null,animate:!1},cachedConfig:{textCls:Ext.baseCSSPrefix+'progress-text',cls:null},baseCls:Ext.baseCSSPrefix+'progress',template:[{reference:'backgroundEl'},{reference:'barEl',cls:Ext.baseCSSPrefix+'progress-bar',children:[{reference:'textEl'}]}],defaultBindProperty:'value',updateCls:function(b,a){var c=this.element;if(a){c.removeCls(a)}if(b){c.addCls(b)}},updateUi:function(c,b){var d=this.element,e=this.barEl,a=this.baseCls+'-';this.callParent([c,b]);if(b){d.removeCls(a+b);e.removeCls(a+'bar-'+b)}d.addCls(a+c);e.addCls(a+'bar-'+c)},updateTextCls:function(a){this.backgroundEl.addCls(a+' '+a+'-back');this.textEl.addCls(a)},updateValue:function(b,d){var a=this,c=a.getTextTpl();if(c){a.setText(c.apply({value:b,percent:Math.round(b*100)}))}if(!a.isConfiguring&&a.getAnimate()){a.stopBarAnimation();a.startBarAnimation(Ext.apply({from:{width:(d*100)+'%'},to:{width:(b*100)+'%'}},a.animate))}else {a.barEl.setStyle('width',(b*100)+'%')}},updateText:function(a){this.backgroundEl.setHtml(a);this.textEl.setHtml(a)},doDestroy:function(){this.stopBarAnimation();this.callParent()},privates:{startBarAnimation:Ext.privateFn,stopBarAnimation:Ext.privateFn}});Ext.define('Ext.fx.State',{isAnimatable:{'background-color':!0,'background-image':!0,'background-position':!0,'border-bottom-color':!0,'border-bottom-width':!0,'border-color':!0,'border-left-color':!0,'border-left-width':!0,'border-right-color':!0,'border-right-width':!0,'border-spacing':!0,'border-top-color':!0,'border-top-width':!0,'border-width':!0,'bottom':!0,'color':!0,'crop':!0,'font-size':!0,'font-weight':!0,'height':!0,'left':!0,'letter-spacing':!0,'line-height':!0,'margin-bottom':!0,'margin-left':!0,'margin-right':!0,'margin-top':!0,'max-height':!0,'max-width':!0,'min-height':!0,'min-width':!0,'opacity':!0,'outline-color':!0,'outline-offset':!0,'outline-width':!0,'padding-bottom':!0,'padding-left':!0,'padding-right':!0,'padding-top':!0,'right':!0,'text-indent':!0,'text-shadow':!0,'top':!0,'vertical-align':!0,'visibility':!0,'width':!0,'word-spacing':!0,'z-index':!0,'zoom':!0,'transform':!0},constructor:function(a){this.data={};this.set(a)},setConfig:function(a){this.set(a);return this},setRaw:function(a){this.data=a;return this},clear:function(){return this.setRaw({})},setTransform:function(d,a){var g=this.data,e=Ext.isArray(a),b=g.transform,c,f;if(!b){b=g.transform={translateX:0,translateY:0,translateZ:0,scaleX:1,scaleY:1,scaleZ:1,rotate:0,rotateX:0,rotateY:0,rotateZ:0,skewX:0,skewY:0}}if(typeof d=='string'){switch(d){case 'translate':if(e){c=a.length;if(c==0){break}b.translateX=a[0];if(c==1){break}b.translateY=a[1];if(c==2){break}b.translateZ=a[2]}else {b.translateX=a};break;case 'rotate':if(e){c=a.length;if(c==0){break}b.rotateX=a[0];if(c==1){break}b.rotateY=a[1];if(c==2){break}b.rotateZ=a[2]}else {b.rotate=a};break;case 'scale':if(e){c=a.length;if(c==0){break}b.scaleX=a[0];if(c==1){break}b.scaleY=a[1];if(c==2){break}b.scaleZ=a[2]}else {b.scaleX=a;b.scaleY=a};break;case 'skew':if(e){c=a.length;if(c==0){break}b.skewX=a[0];if(c==1){break}b.skewY=a[1]}else {b.skewX=a};break;default:b[d]=a;}}else {for(f in d){if(d.hasOwnProperty(f)){a=d[f];this.setTransform(f,a)}}}},set:function(b,a){var d=this.data,c;if(typeof b!='string'){for(c in b){a=b[c];if(c==='transform'){this.setTransform(a)}else {d[c]=a}}}else {if(b==='transform'){this.setTransform(a)}else {d[b]=a}}return this},unset:function(b){var a=this.data;if(a.hasOwnProperty(b)){delete a[b]}return this},getData:function(){return this.data}});Ext.define('Ext.fx.animation.Abstract',{extend:Ext.Evented,mixins:[Ext.mixin.Factoryable],factoryConfig:{type:'animation'},isAnimation:!0,config:{name:'',element:null,before:null,from:{},to:{},after:null,states:{},duration:300,easing:'linear',iteration:1,direction:'normal',delay:0,onBeforeStart:null,callback:null,onEnd:null,onBeforeEnd:null,scope:null,reverse:null,preserveEndState:!1,replacePrevious:!0},STATE_FROM:'0%',STATE_TO:'100%',DIRECTION_UP:'up',DIRECTION_TOP:'top',DIRECTION_DOWN:'down',DIRECTION_BOTTOM:'bottom',DIRECTION_LEFT:'left',DIRECTION_RIGHT:'right',stateNameRegex:/^(?:[\d\.]+)%$/,constructor:function(){this.states={};this.callParent(arguments);return this},applyElement:function(a){return Ext.get(a)},applyBefore:function(a,b){if(a){return Ext.factory(a,Ext.fx.State,b)}},applyAfter:function(a,b){if(a){return Ext.factory(a,Ext.fx.State,b)}},setFrom:function(a){return this.setState(this.STATE_FROM,a)},setTo:function(a){return this.setState(this.STATE_TO,a)},getFrom:function(){return this.getState(this.STATE_FROM)},getTo:function(){return this.getState(this.STATE_TO)},setStates:function(b){var c=this.stateNameRegex,a;for(a in b){if(c.test(a)){this.setState(a,b[a])}}return this},getStates:function(){return this.states},updateCallback:function(a){if(a){this.setOnEnd(a)}},end:function(){this.stop()},stop:function(){this.fireEvent('stop',this)},destroy:function(){this.destroying=!0;this.stop();this.callParent();this.destroying=!1;this.destroyed=!0},setState:function(b,d){var c=this.getStates(),a;a=Ext.factory(d,Ext.fx.State,c[b]);if(a){c[b]=a}else if(b===this.STATE_TO){Ext.Logger.error("Setting and invalid '100%' / 'to' state of: "+d)}return this},getState:function(a){return this.getStates()[a]},getData:function(){var a=this,b=a.getStates(),d={},e=a.getBefore(),f=a.getAfter(),k=b[a.STATE_FROM],l=b[a.STATE_TO],i=k.getData(),j=l.getData(),h,c,g;for(c in b){if(b.hasOwnProperty(c)){g=b[c];h=g.getData();d[c]=h}}return {before:e?e.getData():{},after:f?f.getData():{},states:d,from:i,to:j,duration:a.getDuration(),iteration:a.getIteration(),direction:a.getDirection(),easing:a.getEasing(),delay:a.getDelay(),onEnd:a.getOnEnd(),onBeforeEnd:a.getOnBeforeEnd(),onBeforeStart:a.getOnBeforeStart(),scope:a.getScope(),preserveEndState:a.getPreserveEndState(),replacePrevious:a.getReplacePrevious()}}});Ext.define('Ext.fx.animation.Slide',{extend:Ext.fx.animation.Abstract,alternateClassName:'Ext.fx.animation.SlideIn',alias:['animation.slide','animation.slideIn'],config:{direction:'left',out:!1,offset:0,easing:'auto',containerBox:'auto',elementBox:'auto',isElementBoxFit:!0,useCssTransform:!0},reverseDirectionMap:{up:'down',top:'down',down:'up',bottom:'up',left:'right',right:'left'},applyEasing:function(a){if(a==='auto'){return 'ease-'+((this.getOut())?'in':'out')}return a},getContainerBox:function(){var a=this._containerBox;if(a==='auto'){a=this.getElement().getParent().getBox()}return a},getElementBox:function(){var a=this._elementBox;if(this.getIsElementBoxFit()){return this.getContainerBox()}if(a==='auto'){a=this.getElement().getBox()}return a},getData:function(){var p=this.getElementBox(),c=this.getContainerBox(),a=p?p:c,k=this.getFrom(),n=this.getTo(),d=this.getOut(),b=this.getOffset(),h=this.getDirection(),o=this.getUseCssTransform(),q=this.getReverse(),e=0,f=0,g,i,j,l,m;if(typeof b==='string'){g=!0;b=parseFloat(b)}if(q){h=this.reverseDirectionMap[h]}switch(h){case this.DIRECTION_UP:case this.DIRECTION_TOP:if(g){b=a.height*b/100};if(d){f=c.top-a.top-a.height-b}else {f=c.bottom-a.bottom+a.height+b};break;case this.DIRECTION_DOWN:case this.DIRECTION_BOTTOM:if(g){b=a.height*b/100};if(d){f=c.bottom-a.bottom+a.height+b}else {f=c.top-a.height-a.top-b};break;case this.DIRECTION_RIGHT:if(g){b=a.width*b/100};if(d){e=c.right-a.right+a.width+b}else {e=c.left-a.left-a.width-b};break;case this.DIRECTION_LEFT:if(g){b=a.width*b/100};if(d){e=c.left-a.left-a.width-b}else {e=c.right-a.right+a.width+b};break;}i=(d)?0:e;j=(d)?0:f;if(o){k.setTransform({translateX:i,translateY:j})}else {k.set('left',i);k.set('top',j)}l=(d)?e:0;m=(d)?f:0;if(o){n.setTransform({translateX:l,translateY:m})}else {n.set('left',l);n.set('top',m)}return this.callParent(arguments)}});Ext.define('Ext.fx.animation.SlideOut',{extend:Ext.fx.animation.Slide,alias:['animation.slideOut'],config:{out:!0}});Ext.define('Ext.fx.animation.Fade',{extend:Ext.fx.animation.Abstract,alternateClassName:'Ext.fx.animation.FadeIn',alias:['animation.fade','animation.fadeIn'],config:{out:!1,before:{display:null,opacity:0},after:{opacity:null},reverse:null},updateOut:function(c){var b=this.getTo(),a=this.getFrom();if(c){a.set('opacity',1);b.set('opacity',0)}else {a.set('opacity',0);b.set('opacity',1)}}});Ext.define('Ext.fx.animation.FadeOut',{extend:Ext.fx.animation.Fade,alias:'animation.fadeOut',config:{out:!0,before:{}}});Ext.define('Ext.fx.animation.Flip',{extend:Ext.fx.animation.Abstract,alias:'animation.flip',config:{easing:'ease-in',direction:'right',half:!1,out:null},getData:function(){var c=this,k=c.getFrom(),m=c.getTo(),j=c.getDirection(),b=c.getOut(),l=c.getHalf(),a=l?90:180,h=1,i=1,d=0,e=0,f=0,g=0;if(b){i=0.8}else {h=0.8}switch(j){case this.DIRECTION_UP:case this.DIRECTION_TOP:if(b){f=a}else {d=-a};break;case this.DIRECTION_DOWN:case this.DIRECTION_BOTTOM:if(b){f=-a}else {d=a};break;case this.DIRECTION_RIGHT:if(b){g=a}else {e=-a};break;case this.DIRECTION_LEFT:if(b){g=-a}else {e=a};break;}k.setTransform({rotateX:d,rotateY:e,scale:h});m.setTransform({rotateX:f,rotateY:g,scale:i});return this.callParent()}});Ext.define('Ext.fx.animation.Pop',{extend:Ext.fx.animation.Abstract,alias:['animation.pop','animation.popIn'],alternateClassName:'Ext.fx.animation.PopIn',config:{out:!1,before:{display:null,opacity:0},after:{opacity:null}},getData:function(){var b=this.getTo(),a=this.getFrom(),c=this.getOut();if(c){a.set('opacity',1);a.setTransform({scale:1});b.set('opacity',0);b.setTransform({scale:0})}else {a.set('opacity',0);a.setTransform({scale:0});b.set('opacity',1);b.setTransform({scale:1})}return this.callParent(arguments)}});Ext.define('Ext.fx.animation.PopOut',{extend:Ext.fx.animation.Pop,alias:'animation.popOut',config:{out:!0,before:{}}});Ext.define('Ext.fx.Animation',{constructor:function(a){var c=Ext.fx.animation.Abstract,b;if(typeof a=='string'){b=a;a={}}else if(a&&a.type){b=a.type}if(b){c=Ext.ClassManager.getByAlias('animation.'+b);if(!c){Ext.Logger.error("Invalid animation type of: '"+b+"'")}}return Ext.factory(a,c)}});Ext.define('Ext.app.EventDomain',{statics:{instances:{}},isEventDomain:!0,isInstance:!1,constructor:function(){var a=this;if(!a.isInstance){Ext.app.EventDomain.instances[a.type]=a}a.bus={};a.monitoredClasses=[]},dispatch:function(l,h,m){h=Ext.canonicalEventName(h);var j=this,n=j.bus,b=n[h],c,a,i,g,e,k,d,f;if(!b){return !0}for(c in b){if(b.hasOwnProperty(c)&&j.match(l,c,j.controller)){a=b[c];for(i in a){if(a.hasOwnProperty(i)){g=a[i];if(g.controller.isActive()){e=g.list;k=e.length;for(d=0;d<k;d++){f=e[d];if(f.fire.apply(f,m)===!1){return !1}}}}}}}return !0},listen:function(p,e){var i=this,r=i.bus,t=i.idProperty,n=i.monitoredClasses,s=n.length,o=e.getId(),m=(i.type==='component'),u=m?e.getRefMap():null,j,g,q,a,c,b,f,l,h,d,k;for(a in p){h=p[a];if(m){a=u[a]||a}if(h){if(t){if(!/^[*#]/.test(a)){Ext.raise('Selectors containing id should begin with #')}a=a==='*'?a:a.substring(1)}for(d in h){c=null;b=h[d];f=e;d=Ext.canonicalEventName(d);l=new Ext.util.Event(e,d);if(Ext.isObject(b)){c=b;b=c.fn;f=c.scope||e;delete c.fn;delete c.scope}if((!c||!c.scope)&&typeof b==='string'){if(!f[b]){Ext.raise('Cannot resolve "'+b+'" on controller.')}f=null}else if(typeof b==='string'){b=f[b]}l.addListener(b,f,c);for(j=0;j<s;++j){k=n[j].hasListeners;if(k){k._incr_(d)}}g=r[d]||(r[d]={});g=g[a]||(g[a]={});q=g[o]||(g[o]={controller:e,list:[]});q.list.push(l)}}}},match:function(c,b){var a=this.idProperty;if(a){return b==='*'||c[a]===b}return !1},monitor:function(a){var c=this,b=a.isInstance?a:a.prototype,d=b.doFireEvent;c.monitoredClasses.push(a);b.doFireEvent=function(f,g){var e=this,b;b=d.apply(e,arguments);if(b!==!1&&!e.destroyed&&!e.isSuspended(f)){b=c.dispatch(e,f,g)}return b}},unlisten:function(f){var k=this.bus,l=f,m=this.monitoredClasses,p=m.length,g,a,b,o,j,n,h,c,d,i,e;if(f.isController){l=f.getId()}for(a in k){a=Ext.canonicalEventName(a);if(k.hasOwnProperty(a)&&(h=k[a])){for(n in h){g=h[n];i=g[l];if(i){b=i.list;if(b){for(c=0,o=b.length;c<o;++c){j=b[c];j.clearListeners();for(d=0;d<p;++d){e=m[d].hasListeners;if(e){e._decr_(j.name)}}}delete g[l]}}}}}},destroy:function(){this.monitoredClasses=this.bus=null;this.callParent()}});Ext.define('Ext.app.domain.Component',{extend:Ext.app.EventDomain,singleton:!0,type:'component',constructor:function(){this.callParent();this.monitor(Ext.Widget)},dispatch:function(c,f,e){var a=c.lookupController(!1),b,d;while(a){b=a.compDomain;if(b){if(b.dispatch(c,f,e)===!1){return !1}}d=a.getView();a=d?d.lookupController(!0):null}return this.callParent([c,f,e])},match:function(b,a){return b.is(a)}});Ext.define('Ext.app.EventBus',{singleton:!0,constructor:function(){var a=this,b=Ext.app.EventDomain.instances;a.callParent();a.domains=b;a.bus=b.component.bus},control:function(b,a){return this.domains.component.listen(b,a)},listen:function(b,c){var d=this.domains,a;for(a in b){if(b.hasOwnProperty(a)){d[a].listen(b[a],c)}}},unlisten:function(c){var a=Ext.app.EventDomain.instances,b;for(b in a){a[b].unlisten(c)}}});Ext.define('Ext.app.domain.Global',{extend:Ext.app.EventDomain,singleton:!0,type:'global',constructor:function(){var a=this;a.callParent();a.monitor(Ext.GlobalEvents)},listen:function(b,a){this.callParent([{global:b},a])},match:Ext.returnTrue});Ext.define('Ext.route.Handler',{lazy:!1,statics:{fromRouteConfig:function(a,c){var b={action:a.action,before:a.before,lazy:a.lazy,exit:a.exit,scope:c,single:a.single};return new this(b)}},constructor:function(a){Ext.apply(this,a)}});Ext.define('Ext.route.Action',{config:{actions:null,befores:null,urlParams:[]},started:!1,stopped:!1,constructor:function(b){var a=this;a.deferred=new Ext.Deferred();a.resume=a.resume.bind(a);a.stop=a.stop.bind(a);a.initConfig(b);a.callParent([b])},applyActions:function(a){if(a){a=Ext.Array.from(a)}return a},applyBefores:function(a){if(a){a=Ext.Array.from(a)}return a},destroy:function(){this.deferred=null;this.setBefores(null).setActions(null).setUrlParams(null);this.callParent()},resume:function(){return this.next()},stop:function(){this.stopped=!0;return this.done()},next:function(){var a=this,c=a.getActions(),d=a.getBefores(),g=a.getUrlParams(),b,f,e;if(Ext.isArray(g)){e=g.slice()}else {e=[g]}if(a.stopped||(d?!d.length:!0)&&(c?!c.length:!0)){a.done()}else {if(d&&d.length){b=d.shift();e.push(a);f=Ext.callback(b.fn,b.scope,e);if(f&&f.then){f.then(function(b){a.resume(b)},function(b){a.stop(b)})}}else if(c&&c.length){b=c.shift();Ext.callback(b.fn,b.scope,e);a.next()}else {a.next()}}return a},run:function(){var a=this.deferred;if(!this.started){this.next();this.started=!0}return a.promise},done:function(){var a=this.deferred;if(this.stopped){a.reject()}else {a.resolve()}this.destroy();return this},before:function(a,d,e){if(!Ext.isBoolean(a)){e=d;d=a;a=!1}var b=this.getBefores(),c={fn:d,scope:e};if(this.destroyed){Ext.raise('This action has has already resolved and therefore will never execute this function.');return}if(b){if(a){b.unshift(c)}else {b.push(c)}}else {this.setBefores(c)}return this},action:function(a,d,e){if(!Ext.isBoolean(a)){e=d;d=a;a=!1}var b=this.getActions(),c={fn:d,scope:e};if(this.destroyed){Ext.raise('This action has has already resolved and therefore will never execute this function.');return}if(b){if(a){b.unshift(c)}else {b.push(c)}}else {this.setActions(c)}return this},then:function(a,b){if(this.destroyed){Ext.raise('This action has has already resolved and therefore will never execute either function.');return}return this.deferred.then(a,b)}});Ext.define('Ext.route.Route',{config:{name:null,url:null,allowInactive:!1,conditions:{},caseInsensitive:!1,handlers:[],types:{cached:!0,$value:{alpha:{re:'([a-zA-Z]+)'},alphanum:{re:'([a-zA-Z0-9]+|[0-9]+(?:\\.[0-9]+)?|[0-9]*(?:\\.[0-9]+){1})',parse:function(a){var b;if(a&&this.numRe.test(a)){b=parseFloat(a);if(!isNaN(b)){a=b}}return a}},num:{re:'([0-9]+(?:\\.[0-9]+)?|[0-9]*(?:\\.[0-9]+){1})',parse:function(a){if(a){a=parseFloat(a)}return a}},'...':{re:'(.+)?',split:'/',parse:function(a){var d,b,c;if(a){d=a.length;for(b=0;b<d;b++){c=parseFloat(a[b]);if(!isNaN(c)){a[b]=c}}}return a}}}}},defaultMatcher:'([%a-zA-Z0-9\\-\\_\\s,]+)',numRe:/^[0-9]*(?:\.[0-9]*)?$/,typeParamRegex:/:{([0-9A-Za-z\_]+)(?::?([0-9A-Za-z\_]+|.{3})?)}/g,optionalGroupRegex:/\((.+?)\)/g,paramMatchingRegex:/:([0-9A-Za-z\_]+)/g,isRoute:!0,constructor:function(c){var a=this,b;this.initConfig(c);b=a.getUrl().replace(a.optionalGroupRegex,function(b,a){return '(?:'+a+')?'});if(b.match(a.typeParamRegex)){a.handleNamedPattern(b)}else {a.handlePositionalPattern(b)}},handlePositionalPattern:function(b){var a=this;a.paramsInMatchString=b.match(a.paramMatchingRegex)||[];a.matcherRegex=a.createMatcherRegex(b);a.mode='positional'},handleNamedPattern:function(c){var a=this,f=a.typeParamRegex,g=a.getConditions(),h=a.getTypes(),e=a.defaultMatcher,b={},d=c.replace(f,function(j,f,a){var i=a&&h[a],d=g[f]||i||e;if(b[f]){Ext.raise('"'+f+'" already defined in route "'+c+'"')}if(a&&!i){Ext.raise('Unknown parameter type "'+a+'" in route "'+c+'"')}if(Ext.isObject(d)){d=d.re}b[f]={matcher:d,type:a};return d});if(d.search(a.paramMatchingRegex)!==-1){Ext.raise('URL parameter mismatch. Positional url parameter found while in named mode.')}a.paramsInMatchString=b;a.matcherRegex=new RegExp('^'+d+'$',a.getCaseInsensitive()?'i':'');a.mode='named'},recognize:function(a){var b=this,j=b.recognizes(a),d,i,e,c,g,h,f,l,k;if(j){d=b.getHandlers();i=d.length;for(c=0;c<i;c++){g=d[c];if(g.lastToken!==a){e=!0;break}}if(!e&&a===b.lastToken){return !0}h=b.matchesFor(a);f=b.getUrlParams(a);return Ext.applyIf(h,{historyUrl:a,urlParams:f})}return !1},getUrlParams:function(a){if(this.mode==='named'){return this.getNamedUrlParams(a)}else {return this.getPositionalUrlParams(a)}},getPositionalUrlParams:function(j){var e=[],d=this.getConditions(),h=this.paramsInMatchString,g=j.match(this.matcherRegex),i=h.length,c,b,f,a;g.shift();for(c=0;c<i;c++){b=h[c];a=g[c];if(d[b]){f=d[b]}else if(b[0]===':'){b=b.substr(1);if(d[b]){f=d[b]}}a=this.parseValue(a,f);if(Ext.isDefined(a)&&a!==''){if(Ext.isArray(a)){e.push.apply(e,a)}else {e.push(a)}}}return e},getNamedUrlParams:function(k){var j=this.getConditions(),g=this.getTypes(),e={},i=this.paramsInMatchString,f=k.match(this.matcherRegex),a,d,h,b,c;f.shift();for(a in i){d=i[a];h=f.shift();c=j[a];b=g[d.type];if(c||b){b=Ext.merge({},c,g[d.type])}e[a]=this.parseValue(h,b)}return e},parseValue:function(a,b){if(b){if(a&&b.split){a=a.split(b.split);if(!a[0]){a.shift()}if(!a[a.length-1]){a.pop()}}if(b.parse){a=b.parse.call(this,a)}}if(!a&&Ext.isString(a)){a=undefined}return a},recognizes:function(a){return this.matcherRegex.test(a)},execute:function(h,j){var c=this,n=c.getAllowInactive(),m=c.getHandlers(),d=Ext.route.Router.getQueueRoutes(),o=m.length,q=[],p=[],l=(j&&j.urlParams)||[],i,b,e,a,k,g,f;c.lastToken=h;if(!d){k=[]}return new Ext.Promise(function(q,p){if(j===!1){p()}else {if(d){a=new Ext.route.Action({urlParams:l})}for(i=0;i<o;i++){b=m[i];if(h!=null&&b.lastToken===h){continue}e=b.scope;b.lastToken=h;if(!n&&e.isActive&&!e.isActive()){continue}if(!d){a=new Ext.route.Action({urlParams:l})}g=b.single;if(b.before){a.before(b.before,e)}if(b.action){a.action(b.action,e)}if(g){f=Ext.bind(c.removeHandler,c,[null,b]);if(g===!0){if(b.action){a.action(f,c)}else {a.before(function(){f();return Ext.Promise.resolve()},c)}}else {a.before(g==='before',function(){f();return Ext.Promise.resolve()},c)}}if(!d){if(Ext.fireEvent('beforeroute',a,c)===!1){a.destroy()}else {k.push(a.run())}}}if(d){if(Ext.fireEvent('beforeroute',a,c)===!1){a.destroy();p()}else {a.run().then(q,p)}}else {Ext.Promise.all(k).then(q,p)}}})},matchesFor:function(f){var b={},d=this.mode==='named'?Ext.Object.getKeys(this.paramsInMatchString):this.paramsInMatchString,c=f.match(this.matcherRegex),e=d.length,a;c.shift();for(a=0;a<e;a++){b[d[a].replace(':','')]=c[a]}return b},createMatcherRegex:function(c){var e=this,g=e.paramsInMatchString,d=e.getConditions(),h=e.defaultMatcher,j=g.length,i=e.getCaseInsensitive()?'i':'',f,b,a;if(c==='*'){c=c.replace('*','\\*')}else {for(f=0;f<j;f++){b=g[f];if(d[b]){a=d[b]}else if(b[0]===':'&&d[b.substr(1)]){a=d[b.substr(1)]}else {a=h}if(Ext.isObject(a)){a=a.re}c=c.replace(new RegExp(b),a||h)}}return new RegExp('^'+c+'$',i)},addHandler:function(a){var b=this.getHandlers();if(!a.isInstance){a=new Ext.route.Handler(a)}b.push(a);return a.route=this},removeHandler:function(g,e){var d=this.getHandlers(),f=d.length,c=[],b,a;for(b=0;b<f;b++){a=d[b];if(e){if(a!==e){c.push(a)}}else if(a.scope!==g){c.push(a)}}this.setHandlers(c);return this},clearLastTokens:function(){var b=this.getHandlers(),c=b.length,a;for(a=0;a<c;a++){b[a].lastToken=null}this.lastToken=null},onExit:function(){var a=this,f=a.getHandlers(),g=a.getAllowInactive(),h=f.length,c=new Ext.route.Action({urlParams:[a.lastToken]}),e,b,d;a.clearLastTokens();for(e=0;e<h;e++){b=f[e];if(b.exit){d=b.scope;if(!g&&d.isActive&&!d.isActive()){continue}c.action(b.exit,d)}}if(Ext.fireEvent('beforerouteexit',c,a)===!1){c.destroy()}else {c.run()}}});Ext.define('Ext.util.Observable',{extend:Ext.mixin.Observable,$applyConfigs:!0},function(a){var b=Ext.mixin.Observable;a.releaseCapture=b.releaseCapture;a.capture=b.capture;a.captureArgs=b.captureArgs;a.observe=a.observeClass=b.observe});Ext.define('Ext.util.History',{singleton:!0,alternateClassName:'Ext.History',mixins:{observable:Ext.util.Observable},useTopWindow:!1,hashRe:/^(#?!?)/,constructor:function(){var a=this;a.ready=!1;a.currentToken=null;a.mixins.observable.constructor.call(a)},getHash:function(){return (this.win.location.hash||'').replace(this.hashRe,'')},setHash:function(a,e){var b=this,c=b.hashRe,d=b.win.location;a=a.replace(c,b.hashbang?'#!':'#');try{if(e){d.replace(a)}else {d.hash=a}b.currentToken=a.replace(c,'')}catch(f){}},handleStateChange:function(a){a=a.replace(this.hashRe,'');this.fireEvent('change',this.currentToken=a)},startUp:function(){var a=this;a.currentToken=a.getHash();Ext.get(a.win).on('hashchange',a.onHashChange,a);a.ready=!0;a.fireEvent('ready',a)},onHashChange:function(){var a=this,b=a.getHash();if(b!==a.hash){a.hash=b;a.handleStateChange(b)}},init:function(b,c){var a=this;if(a.ready){Ext.callback(b,c,[a]);return}if(!Ext.isReady){Ext.onInternalReady(function(){a.init(b,c)});return}a.win=a.useTopWindow?window.top:window;a.hash=a.getHash();if(b){a.on('ready',b,c,{single:!0})}a.startUp()},add:function(a,d){var c=this,b=!1;if(d===!1||c.getToken()!==a){c.setHash(a);b=!0}return b},replace:function(a,c){var d=this,b=!1;if(c===!1||d.getToken()!==a){this.setHash(a,!0);b=!0}return b},back:function(){this.win.history.go(-1)},forward:function(){this.win.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define('Ext.route.Router',{singleton:!0,config:{hashbang:null,multipleToken:'|',queueRoutes:!0},constructor:function(){var a=Ext.util.History;if(!a.ready){a.init()}a.on('change',this.onStateChange,this);this.initConfig();this.clear()},updateHashbang:function(a){Ext.util.History.hashbang=a},onStateChange:function(b){var c=this,e=b.split(c.getMultipleToken()),a,d,f;if(c.isSuspended){a=c.suspendedQueue;d=0;f=e.length;if(a){for(;d<f;d++){b=e[d];if(!Ext.Array.contains(a,b)){a.push(b)}}}}else {c.handleBefore(e)}},handleBefore:function(b){var c=this,a=new Ext.route.Action();if(Ext.fireEvent('beforeroutes',a,b)===!1){a.destroy()}else {a.run().then(c.handleBeforeRoute.bind(c,b),Ext.emptyFn)}},handleBeforeRoute:function(c){var a=this,b=a.getByName('*');if(b){b.execute().then(a.doRun.bind(a,c),Ext.emptyFn)}else {a.doRun(c)}},doRun:function(l){var g=this,m=g.application,k=g.routes,a=0,i=l.length,h={},f=[],c,j,d,b,e;for(;a<i;a++){c=l[a];j=!1;for(d in k){b=k[d];e=b.recognize(c);if(e){j=!0;if(e!==!0){b.execute(c,e).then(null,Ext.bind(g.onRouteRejection,g,[b],0))}Ext.Array.remove(f,b);if(!h[d]){h[d]=1}}else if(!h[d]){f.push(b)}}if(!j){if(m){m.fireEvent('unmatchedroute',c)}Ext.fireEvent('unmatchedroute',c)}}a=0;i=f.length;for(;a<i;a++){f[a].onExit()}},onRouteRejection:function(b,a){Ext.fireEvent('routereject',b,a);if(a){Ext.raise(a)}},connect:function(b,a,m){var j=this.routes,i=this.getMultipleToken(),h=a.name||b,d,c;if(b[0]==='!'){if(!Ext.util.History.hashbang){Ext.log({level:'error',msg:'Route found with "!" ("'+b+'"). Should use new hashbang functionality instead. '+'Please see the router guide for more: https://docs.sencha.com/extjs/'+Ext.getVersion().version+'/guides/application_architecture/router.html'})}b=b.substr(1);this.setHashbang(!0)}if(Ext.isString(a)){a={action:a}}d=Ext.route.Handler.fromRouteConfig(a,m);c=j[h];if(!c){a.name=h;a.url=b;c=j[h]=new Ext.route.Route(a)}c.addHandler(d);if(d.lazy){var l=Ext.util.History.getToken(),k=l.split(i),n=k.length,g=[],f,e;for(f=0;f<n;f++){e=k[f];if(Ext.Array.indexOf(g,e)===-1&&c.recognize(e)){g.push(e)}}this.onStateChange(g.join(i))}return d},disconnect:function(c,a){var d=this.routes,b,e;if(a){b=a.route||this.getByName(a.name||a.url);if(b){b.removeHandler(c,a)}}else {for(e in d){b=d[e];b.removeHandler(c)}}},recognize:function(i){var g=this.routes,d=[],h,a,b,e,f,c;for(h in g){a=g[h];e=a&&a.length;if(e){b=0;for(;b<e;b++){f=a[b];c=f.recognize(i);if(c){d.push({route:f,urlParams:c})}}}}return d.length?d:!1},draw:function(a){a.call(this,this)},clear:function(){this.routes={}},clearLastTokens:function(c){var b=this.routes,d,a;for(d in b){a=b[d];if(!c||a.recognize(c)){a.clearLastTokens()}}},getByName:function(b){var a=this.routes;if(a){return a[b]}},suspend:function(a){this.isSuspended=!0;if(!this.suspendedQueue&&a!==!1){this.suspendedQueue=[]}},resume:function(d){var a=this,b=a.suspendedQueue,c;if(a.isSuspended){a.isSuspended=!1;a.suspendedQueue=null;if(!d&&b){c=b.join(a.getMultipleToken());a.onStateChange(c)}}}});Ext.define('Ext.route.Mixin',{extend:Ext.Mixin,mixinConfig:{id:'routerable',before:{destroy:'destroyRouterable'}},config:{routes:null},destroyRouterable:function(){Ext.route.Router.disconnect(this)},applyRoutes:function(b,c){var d=Ext.route.Router,a;if(b){for(a in b){b[a]=d.connect(a,b[a],this)}}if(c){for(a in c){d.disconnect(this,c[a])}}return b},redirectTo:function(b,e){var o=this,k=Ext.util.History.getToken(),i=Ext.route.Router,n=i.getMultipleToken(),d=k?k.split(n):[],f=d.length,j,c,m,a,g,h,l;if(b===-1){return Ext.util.History.back()}else if(b===1){return Ext.util.History.forward()}else if(b.isModel){b=b.toUrl()}else if(Ext.isObject(b)){for(m in b){a=b[m];if(!Ext.isObject(a)){a={token:a}}if(f){g=i.getByName(m);if(g){l=!1;for(c=0;c<f;c++){h=d[c];if(g.matcherRegex.test(h)){l=!0;if(a.token){if(a.fn&&a.fn.call(this,h,d,a)===!1){continue}d[c]=a.token;if(a.force){g.lastToken=null}}else {d.splice(c,1);c--;f--;g.lastToken=null}}}if(a&&a.token&&!l){d.push(a.token)}}}else if(a&&a.token){d.push(a.token)}}b=d.join(n)}if(e===!0){j=e;e=null}else if(e){j=e.force}f=d.length;if(j&&f){for(c=0;c<f;c++){h=d[c];i.clearLastTokens(h)}}if(k===b){if(j){i.onStateChange(b)}return !1}if(e&&e.replace){Ext.util.History.replace(b)}else {Ext.util.History.add(b)}return !0},privates:{afterClassMixedIn:function(a){var c=a.prototype,b=c.routes;if(b){delete c.routes;a.getConfigurator().add({routes:b})}}}});Ext.define('Ext.app.BaseController',{mixins:[Ext.mixin.Observable,Ext.route.Mixin],isController:!0,config:{id:undefined,control:null,listen:null},constructor:function(b){var a=this;Ext.apply(a,b);delete a.control;delete a.listen;a.eventbus=Ext.app.EventBus;a.mixins.observable.constructor.call(a,b)},updateId:function(a){this.id=a},applyListen:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},applyControl:function(a){if(Ext.isObject(a)){a=Ext.clone(a)}return a},updateControl:function(a){this.getId();if(a){this.control(a)}},updateListen:function(a){this.getId();if(a){this.listen(a)}},isActive:function(){return !0},control:function(b,c,f){var e=this,d=f,a;if(Ext.isString(b)){a={};a[b]=c}else {a=b;d=c}e.eventbus.control(a,d||e)},listen:function(b,a){this.eventbus.listen(b,a||this)},destroy:function(){var a=this,b=a.eventbus;if(b){b.unlisten(a);a.eventbus=null}a.callParent()}});Ext.define('Ext.app.Util',{},function(){Ext.apply(Ext.app,{namespaces:{Ext:{}},addNamespaces:function(a){var d=Ext.app.namespaces,b,c;if(!Ext.isArray(a)){a=[a]}for(b=0,c=a.length;b<c;b++){d[a[b]]=!0}},clearNamespaces:function(){Ext.app.namespaces={}},getNamespace:function(d){var c=Ext.apply({},Ext.ClassManager.paths,Ext.app.namespaces),b='',a;for(a in c){if(c.hasOwnProperty(a)&&a.length>b.length&&(a+'.'===d.substring(0,a.length+1))){b=a}}return b===''?undefined:b},setupPaths:function(e,b,c){var a=Ext.manifest,d;if(e&&b!==null){a=a&&a.paths;if(!a||b!==undefined){Ext.Loader.setPath(e,(b===undefined)?'app':b)}}if(c){for(d in c){if(c.hasOwnProperty(d)){Ext.Loader.setPath(d,c[d])}}}}});Ext.getNamespace=Ext.app.getNamespace});Ext.define('Ext.util.Filter',{isFilter:!0,config:{property:null,value:null,filterFn:null,id:null,anyMatch:!1,exactMatch:!1,caseSensitive:!1,disabled:!1,disableOnEmpty:!1,operator:null,root:null,serializer:null,convert:null},scope:null,$configStrict:!1,generation:0,statics:{createFilterFn:function(a){if(!a){return Ext.returnTrue}return function(f){var e=a.isCollection?a.items:a,g=e.length,d=!0,b,c;for(b=0;d&&b<g;b++){c=e[b];if(!c.getDisabled()){d=c.filter(f)}}return d}},isEqual:function(a,b){if(a.getProperty()!==b.getProperty()){return !1}if(a.getOperator()!==b.getOperator()){return !1}if(a.getValue()===b.getValue()){return !0}else if(Ext.isArray(a)&&Ext.isArray(b)&&Ext.Array.equals(a,b)){return !0}return !1},isInvalid:function(a){if(!a.filterFn){if(!a.property){return 'A Filter requires either a property or a filterFn to be set'}if(!a.hasOwnProperty('value')&&!a.operator){return 'A Filter requires either a property and value, or a filterFn to be set'}}return !1}},constructor:function(a){var b=Ext.util.Filter.isInvalid(a);if(b){Ext.log.warn(b)}this.initConfig(a)},preventConvert:{'in':1,notin:1},filter:function(e){var a=this,d=a._filterFn||a.getFilterFn(),c=a.getConvert(),b=a._value;a._filterValue=b;a.isDateValue=Ext.isDate(b);if(a.isDateValue){a.dateValue=b.getTime()}if(c&&!a.preventConvert[a.getOperator()]){a._filterValue=c.call(a.scope||a,b)}return d.call(a.scope||a,e)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,'ext-filter-')}this._id=a}return a},getFilterFn:function(){var a=this,b=a._filterFn,c;if(!b){c=a.getOperator();if(c){b=a.operatorFns[c]}else {b=a.createRegexFilter()}a._filterFn=b;a.generatedFilterFn=!0}return b},createRegexFilter:function(){var a=this,b=!!a.getAnyMatch(),d=!!a.getExactMatch(),e=a.getValue(),c=Ext.String.createRegex(e,!b,!b&&d,!a.getCaseSensitive());return function(d){var b=a.getPropertyValue(d);return c?c.test(b):(b==null)}},getPropertyValue:function(a){var b=this._root,c=(b==null)?a:a[b];return c[this._property]},getState:function(){var c=this.getInitialConfig(),a={},b;for(b in c){if(c.hasOwnProperty(b)){a[b]=c[b]}}delete a.root;a.value=this.getValue();return a},getScope:function(){return this.scope},serialize:function(){var a=this.getState(),c=this.getSerializer(),b;delete a.id;delete a.serializer;if(c){b=c.call(this,a);if(b){a=b}}return a},updateDisabled:function(){this.generation++},updateOperator:function(){this.onConfigMutation()},updateConvert:function(){this.onConfigMutation()},updateProperty:function(){this.onConfigMutation()},updateAnyMatch:function(){this.onConfigMutation()},updateExactMatch:function(){this.onConfigMutation()},updateCaseSensitive:function(){this.onConfigMutation()},updateValue:function(a){this.onConfigMutation();if(this.getDisableOnEmpty()){this.setDisabled(Ext.isEmpty(a))}},updateFilterFn:function(a){delete this.generatedFilterFn},onConfigMutation:function(){this.generation++;if(this.generatedFilterFn){this._filterFn=null}},updateDisableOnEmpty:function(a){if(a){this.setDisabled(Ext.isEmpty(this.getValue()))}},privates:{getCandidateValue:function(e,f,d){var b=this,c=b._convert,a=b.getPropertyValue(e);if(c){a=c.call(b.scope||b,a)}else if(!d){a=Ext.coerce(a,f)}return a}}},function(){var b=this.prototype,a=(b.operatorFns={"<":function(b){var a=this._filterValue;return this.getCandidateValue(b,a)<a},"<=":function(b){var a=this._filterValue;return this.getCandidateValue(b,a)<=a},"=":function(a){var b=this,c=b._filterValue;a=b.getCandidateValue(a,c);if(b.isDateValue&&a instanceof Date){a=a.getTime();c=b.dateValue}return a==c},"===":function(a){var b=this,c=b._filterValue;a=b.getCandidateValue(a,c,!0);if(b.isDateValue&&a instanceof Date){a=a.getTime();c=b.dateValue}return a===c},">=":function(b){var a=this._filterValue;return this.getCandidateValue(b,a)>=a},">":function(b){var a=this._filterValue;return this.getCandidateValue(b,a)>a},"!=":function(a){var b=this,c=b._filterValue;a=b.getCandidateValue(a,c);if(b.isDateValue&&a instanceof Date){a=a.getTime();c=b.dateValue}return a!=c},"!==":function(a){var b=this,c=b._filterValue;a=b.getCandidateValue(a,c,!0);if(b.isDateValue&&a instanceof Date){a=a.getTime();c=b.dateValue}return a!==c},"in":function(b){var a=this._filterValue;return Ext.Array.contains(a,this.getCandidateValue(b,a))},notin:function(b){var a=this._filterValue;return !Ext.Array.contains(a,this.getCandidateValue(b,a))},like:function(b){var a=this._filterValue;return a&&this.getCandidateValue(b,a).toLowerCase().indexOf(a.toLowerCase())>-1},"/=":function(c){var a=this,b=a._filterValue;c=a.getCandidateValue(c,b);if(b!==a.lastRegExpSource){a.lastRegExpSource=b;try{a.regex=new RegExp(b,'i')}catch(d){a.regex=null}}return a.regex?a.regex.test(c):!1}});a['==']=a['='];a.gt=a['>'];a.ge=a['>='];a.lt=a['<'];a.le=a['<='];a.eq=a['='];a.ne=a['!=']});Ext.define('Ext.util.AbstractMixedCollection',{mixins:{observable:Ext.util.Observable},isMixedCollection:!0,generation:0,indexGeneration:0,constructor:function(b,c){var a=this;if(arguments.length===1&&Ext.isObject(b)){a.initialConfig=b;Ext.apply(a,b)}else {a.allowFunctions=b===!0;if(c){a.getKey=c}a.initialConfig={allowFunctions:a.allowFunctions,getKey:a.getKey}}a.items=[];a.map={};a.keys=[];a.indexMap={};a.length=0;a.mixins.observable.constructor.call(a)},destroy:function(){var a=this;a.items=a.map=a.keys=a.indexMap=null;a.callParent()},allowFunctions:!1,add:function(b,d){var c=this.length,a;if(arguments.length===1){a=this.insert(c,b)}else {a=this.insert(c,b,d)}return a},getKey:function(a){return a.id},replace:function(b,c){var a=this,d,e;if(arguments.length==1){c=arguments[0];b=a.getKey(c)}d=a.map[b];if(typeof b=='undefined'||b===null||typeof d=='undefined'){return a.add(b,c)}a.generation++;e=a.indexOfKey(b);a.items[e]=c;a.map[b]=c;if(a.hasListeners.replace){a.fireEvent('replace',b,d,c)}return c},reorder:function(e){var b=this,f=b.items,a=0,h=f.length,c=[],g=[],d;b.suspendEvents();for(d in e){c[e[d]]=f[d]}for(a=0;a<h;a++){if(e[a]==undefined){g.push(f[a])}}for(a=0;a<h;a++){if(c[a]==undefined){c[a]=g.shift()}}b.clear();b.addAll(c);b.resumeEvents()},updateKey:function(b,c){var a=this,e=a.map,d=a.indexOfKey(b),f=a.indexMap,g;if(d>-1){g=e[b];delete e[b];delete f[b];e[c]=g;f[c]=d;a.keys[d]=c;a.indexGeneration=++a.generation}},addAll:function(a){var c=this,b;if(arguments.length>1||Ext.isArray(a)){c.insert(c.length,arguments.length>1?arguments:a)}else {for(b in a){if(a.hasOwnProperty(b)){if(c.allowFunctions||typeof a[b]!='function'){c.add(b,a[b])}}}}},each:function(f,e){var c=Ext.Array.push([],this.items),a=0,d=c.length,b;for(;a<d;a++){b=c[a];if(f.call(e||b,b,a,d)===!1){break}}},eachKey:function(f,e){var b=this.keys,d=this.items,a=0,c=b.length;for(;a<c;a++){f.call(e||window,b[a],d[a],a,c)}},findBy:function(f,c){var d=this.keys,b=this.items,a=0,e=b.length;for(;a<e;a++){if(f.call(c||window,b[a],d[a])){return b[a]}}return null},insert:function(c,b,d){var a;if(Ext.isIterable(b)){a=this.doInsert(c,b,d)}else {if(arguments.length>2){a=this.doInsert(c,[b],[d])}else {a=this.doInsert(c,[b])}a=a[0]}return a},doInsert:function(f,e,d){var b=this,c,i,a,g=e.length,j=g,o=b.hasListeners.add,k,h={},l,n,m;if(d!=null){b.useLinearSearch=!0}else {d=e;e=new Array(g);for(a=0;a<g;a++){e[a]=this.getKey(d[a])}}b.suspendEvents();for(a=0;a<g;a++){c=e[a];i=b.indexOfKey(c);if(i!==-1){if(i<f){f--}b.removeAt(i)}if(c!=null){if(h[c]!=null){l=!0;j--}h[c]=a}}b.resumeEvents();if(l){n=e;m=d;e=new Array(j);d=new Array(j);a=0;for(c in h){e[a]=n[h[c]];d[a]=m[h[c]];a++}g=j}k=f===b.length&&b.indexGeneration===b.generation;Ext.Array.insert(b.items,f,d);Ext.Array.insert(b.keys,f,e);b.length+=g;b.generation++;if(k){b.indexGeneration=b.generation}for(a=0;a<g;a++,f++){c=e[a];if(c!=null){b.map[c]=d[a];if(k){b.indexMap[c]=f}}if(o){b.fireEvent('add',f,d[a],c)}}return d},remove:function(d){var a=this,c,b;if(!a.useLinearSearch&&(c=a.getKey(d))){b=a.indexOfKey(c)}else {b=Ext.Array.indexOf(a.items,d)}return (b===-1)?!1:a.removeAt(b)},removeAll:function(b){var a=this,c;if(b||a.hasListeners.remove){if(b){for(c=b.length-1;c>=0;--c){a.remove(b[c])}}else {while(a.length){a.removeAt(0)}}}else {a.length=a.items.length=a.keys.length=0;a.map={};a.indexMap={};a.generation++;a.indexGeneration=a.generation}},removeAt:function(b){var a=this,d,c;if(b<a.length&&b>=0){a.length--;d=a.items[b];Ext.Array.erase(a.items,b,1);c=a.keys[b];if(typeof c!='undefined'){delete a.map[c]}Ext.Array.erase(a.keys,b,1);if(a.hasListeners.remove){a.fireEvent('remove',d,c)}a.generation++;return d}return !1},removeRange:function(c,b){var a=this,i,f,d,e,g,h;if(c<a.length&&c>=0){if(!b){b=1}e=Math.min(c+b,a.length);b=e-c;h=e===a.length;g=h&&a.indexGeneration===a.generation;for(d=c;d<e;d++){f=a.keys[d];if(f!=null){delete a.map[f];if(g){delete a.indexMap[f]}}}i=a.items[d-1];a.length-=b;a.generation++;if(g){a.indexGeneration=a.generation}if(h){a.items.length=a.keys.length=a.length}else {a.items.splice(c,b);a.keys.splice(c,b)}return i}return !1},removeAtKey:function(d){var b=this,c=b.keys,a;if(d==null){for(a=c.length-1;a>=0;a--){if(c[a]==null){b.removeAt(a)}}}else {return b.removeAt(b.indexOfKey(d))}},getCount:function(){return this.length},indexOf:function(b){var a=this,c;if(b!=null){if(!a.useLinearSearch&&(c=a.getKey(b))){return this.indexOfKey(c)}return Ext.Array.indexOf(a.items,b)}return -1},indexOfKey:function(a){if(!this.map.hasOwnProperty(a)){return -1}if(this.indexGeneration!==this.generation){this.rebuildIndexMap()}return this.indexMap[a]},rebuildIndexMap:function(){var b=this,d=b.indexMap={},c=b.keys,e=c.length,a;for(a=0;a<e;a++){d[c[a]]=a}b.indexGeneration=b.generation},get:function(a){var b=this,d=b.map[a],c=d!==undefined?d:(typeof a=='number')?b.items[a]:undefined;return typeof c!='function'||b.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(a){var c=this,b;if(a!=null){if(!c.useLinearSearch&&(b=c.getKey(a))){return this.map[b]!=null}return Ext.Array.indexOf(this.items,a)!==-1}return !1},containsKey:function(a){return this.map.hasOwnProperty(a)},clear:function(){var a=this;if(a.generation){a.length=0;a.items=[];a.keys=[];a.map={};a.indexMap={};a.generation++;a.indexGeneration=a.generation}if(a.hasListeners.clear){a.fireEvent('clear')}},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(f,h,c,a){var d=this.extractValues(f,h),g=d.length,e=0,b;c=c||0;a=(a||a===0)?a:g-1;for(b=c;b<=a;b++){e+=d[b]}return e},collect:function(h,j,g){var e=this.extractValues(h,j),i=e.length,f={},d=[],a,c,b;for(b=0;b<i;b++){a=e[b];c=String(a);if((g||!Ext.isEmpty(a))&&!f[c]){f[c]=!0;d.push(a)}}return d},extractValues:function(c,b){var a=this.items;if(b){a=Ext.Array.pluck(a,b)}return Ext.Array.pluck(a,c)},hasRange:function(b,a){return (a<this.length)},getRange:function(b,a){var h=this,f=h.items,c=[],d=f.length,g,e;if(d<1){return c}if(b>a){e=!0;g=b;b=a;a=g}if(b<0){b=0}if(a==null||a>=d){a=d-1}c=f.slice(b,a+1);if(e&&c.length){c.reverse()}return c},filter:function(a,e,d,c){var b=[];if(Ext.isString(a)){b.push(new Ext.util.Filter({property:a,value:e,anyMatch:d,caseSensitive:c}))}else if(Ext.isArray(a)||a instanceof Ext.util.Filter){b=b.concat(a)}return this.filterBy(Ext.util.Filter.createFilterFn(b))},filterBy:function(h,g){var a=this,c=new a.self(a.initialConfig),e=a.keys,d=a.items,f=d.length,b;c.getKey=a.getKey;for(b=0;b<f;b++){if(h.call(g||a,d[b],e[b])){c.add(e[b],d[b])}}c.useLinearSearch=a.useLinearSearch;return c},findIndex:function(d,a,e,c,b){if(Ext.isEmpty(a,!1)){return -1}a=this.createValueMatcher(a,c,b);return this.findIndexBy(function(f){return f&&a.test(f[d])},null,e)},findIndexBy:function(h,d,e){var b=this,f=b.keys,c=b.items,a=e||0,g=c.length;for(;a<g;a++){if(h.call(d||b,c[a],f[a])){return a}}return -1},createValueMatcher:function(a,e,c,d){if(!a.exec){var b=Ext.String.escapeRegex;a=String(a);if(e===!0){a=b(a)}else {a='^'+b(a);if(d===!0){a+='$'}}a=new RegExp(a,c?'':'i')}return a},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.keys,a.items);b.useLinearSearch=a.useLinearSearch;return b}});Ext.define('Ext.util.Sorter',{isSorter:!0,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},statics:{createComparator:function(b,a){a=a||0;return function(f,g){var e=b.isCollection?b.items:b,h=e.length,d,c;for(c=0;c<h;++c){d=e[c].sort(f,g);if(d){return d}}return a&&a(f,g)}}},multiplier:1,constructor:function(a){if(a&&!this.isGrouper){if(!a.property===!a.sorterFn){Ext.raise("A Sorter requires either a property or a sorterFn.")}}this.initConfig(a)},getId:function(){var a=this._id;if(!a){a=this.getProperty();if(!a){a=Ext.id(null,'ext-sorter-')}this._id=a}return a},sort:function(a,b){return this.multiplier*this.sortFn(a,b)},sortFn:function(d,e){var g=this,c=g._transform,f=g._root,h=g._property,a,b;if(f){d=d[f];e=e[f]}a=d[h];b=e[h];if(c){a=c(a);b=c(b)}return (a>b)?1:(a<b?-1:0)},applyDirection:function(a){return a?a:'ASC'},updateDirection:function(a){this.multiplier=(a.toUpperCase()==="DESC")?-1:1},updateProperty:function(a){if(a){delete this.sortFn}},updateSorterFn:function(a){this.sortFn=a},toggle:function(){this.setDirection(Ext.String.toggle(this.getDirection(),"ASC","DESC"))},getState:function(){var a=this,b={root:a.getRoot(),property:a.getProperty(),direction:a.getDirection()};if(a._id){b.id=a._id}return b},serialize:function(){return {property:this.getProperty(),direction:this.getDirection()}}});Ext.define("Ext.util.Sortable",{isSortable:!0,$configPrefixed:!1,$configStrict:!1,config:{sorters:null},defaultSortDirection:"ASC",multiSortLimit:3,statics:{createComparator:function(a){return a&&a.length?function(d,e){var c=a[0].sort(d,e),f=a.length,b=1;for(;!c&&b<f;b++){c=a[b].sort.call(a[b],d,e)}return c}:function(){return 0}}},applySorters:function(b){var c=this,a=c.getSorters()||new Ext.util.MixedCollection(!1,Ext.returnId);if(b){a.addAll(c.decodeSorters(b))}return a},sort:function(a,f,e,h){var b=this,d,g,c=b.getSorters();if(!c){b.setSorters(null);c=b.getSorters()}if(Ext.isArray(a)){h=e;e=f}else if(Ext.isObject(a)){a=[a];h=e;e=f}else if(Ext.isString(a)){d=c.get(a);if(!d){d={property:a,direction:f}}else if(f==null){d.toggle()}else {d.setDirection(f)}a=[d]}if(a&&a.length){a=b.decodeSorters(a);switch(e){case "multi":c.insert(0,a[0]);g=c.getCount()-b.multiSortLimit;if(g>0){c.removeRange(b.multiSortLimit,g)};break;case "prepend":c.insert(0,a);break;case "append":c.addAll(a);break;case undefined:case null:case "replace":c.clear();c.addAll(a);break;default:Ext.raise('Sorter insertion point must be "multi", "prepend", "append" or "replace"');}}if(h!==!1){b.fireEvent('beforesort',b,a);b.onBeforeSort(a);if(b.getSorterCount()){b.doSort(b.generateComparator())}}return a},getSorterCount:function(){return this.getSorters().items.length},generateComparator:function(){var a=this.getSorters().getRange();return a.length?this.createComparator(a):this.emptyComparator},emptyComparator:function(){return 0},onBeforeSort:Ext.emptyFn,decodeSorters:function(b){if(!Ext.isArray(b)){if(b===undefined){b=[]}else {b=[b]}}var g=b.length,f=Ext.util.Sorter,e=this.getModel?this.getModel():this.model,d,a,c;for(c=0;c<g;c++){a=b[c];if(!(a instanceof f)){if(Ext.isString(a)){a={property:a}}Ext.applyIf(a,{root:this.sortRoot,direction:"ASC"});if(a.fn){a.sorterFn=a.fn}if(typeof a=='function'){a={sorterFn:a}}if(e&&!a.transform){d=e.getField(a.property);a.transform=d&&d.sortType!==Ext.identityFn?d.sortType:undefined}b[c]=new Ext.util.Sorter(a)}}return b},getFirstSorter:function(){var c=this.getSorters().items,d=c.length,b=0,a;for(;b<d;++b){a=c[b];if(!a.isGrouper){return a}}return null}},function(){this.prototype.createComparator=this.createComparator});Ext.define('Ext.util.MixedCollection',{extend:Ext.util.AbstractMixedCollection,mixins:{sortable:Ext.util.Sortable},constructor:function(){this.initConfig();this.callParent(arguments)},doSort:function(a){this.sortBy(a)},_sort:function(h,j,g){var b=this,a,d,k=String(j).toUpperCase()=='DESC'?-1:1,c=[],i=b.keys,f=b.items,e;g=g||function(a,b){return a-b};for(a=0,d=f.length;a<d;a++){c[c.length]={key:i[a],value:f[a],index:a}}Ext.Array.sort(c,function(a,b){return g(a[h],b[h])*k||(a.index<b.index?-1:1)});for(a=0,d=c.length;a<d;a++){e=c[a];f[a]=e.value;i[a]=e.key;b.indexMap[e.key]=a}b.generation++;b.indexGeneration=b.generation;b.fireEvent('sort',b)},sortBy:function(h){var b=this,c=b.items,d,g=b.keys,e,f=c.length,a;for(a=0;a<f;a++){c[a].$extCollectionIndex=a}Ext.Array.sort(c,function(a,b){return h(a,b)||(a.$extCollectionIndex<b.$extCollectionIndex?-1:1)});for(a=0;a<f;a++){d=c[a];e=b.getKey(d);g[a]=e;b.indexMap[e]=a;delete d.$extCollectionIndex}b.generation++;b.indexGeneration=b.generation;b.fireEvent('sort',b,c,g)},findInsertionIndex:function(h,d){var g=this,f=g.items,b=0,e=f.length-1,a,c;if(!d){d=g.generateComparator()}while(b<=e){a=(b+e)>>1;c=d(h,f[a]);if(c>=0){b=a+1}else if(c<0){e=a-1}}return b},reorder:function(a){this.callParent([a]);this.fireEvent('sort',this)},sortByKey:function(a,b){this._sort('key',a,b||function(e,f){var c=String(e).toUpperCase(),d=String(f).toUpperCase();return c>d?1:(c<d?-1:0)})}});Ext.define('Ext.util.CollectionKey',{mixins:[Ext.mixin.Identifiable],isCollectionKey:!0,observerPriority:-200,config:{collection:null,keyFn:null,property:null,rootProperty:null,unique:!0},generation:0,map:null,mapRebuilds:0,constructor:function(a){this.initConfig(a);if(!Ext.isFunction(this.getKey)){Ext.raise('CollectionKey requires a keyFn or property config')}},get:function(a){var b=this.map||this.getMap();return b[a]||null},clear:function(){this.map=null},getRootProperty:function(){var b=this,a=this.callParent();return a!==null?a:b.getCollection().getRootProperty()},indexOf:function(i,b){var j=this.map||this.getMap(),c=j[i],e=this.getCollection(),h=e.length,d,a,f,g;if(!c){return -1}if(b===undefined){b=-1}if(c instanceof Array){f=c;a=h;for(g=f.length;g-->0;){d=e.indexOf(f[g]);if(d<a&&d>b){a=d}}if(a===h){return -1}}else {a=e.indexOf(c)}return (a>b)?a:-1},updateKey:function(d,b){var f=this,e=f.map,a,c;if(e){a=e[b];if(a instanceof Array){c=Ext.Array.indexOf(a,d);if(c>=0){if(a.length>2){a.splice(c,1)}else {e[b]=a[1-c]}}}else if(a){if(f.getUnique()&&a!==d){Ext.raise('Incorrect oldKey "'+b+'" for item with newKey "'+f.getKey(d)+'"')}delete e[b]}f.add([d])}},onCollectionAdd:function(b,a){if(this.map){this.add(a.items)}},onCollectionItemChange:function(a,b){this.map=null},onCollectionRefresh:function(){this.map=null},onCollectionRemove:function(g,h){var a=this,f=a.map,d=h.items,c=d.length,b,i,e;if(f){if(a.getUnique()&&c<g.length/2){for(b=0;b<c;++b){e=a.getKey(i=d[b]);delete f[e]}}else {a.map=null}}},add:function(i){var f=this,c=f.map,b,d,e,a,g,h;g=i.length;h=f.getUnique();for(d=0;d<g;++d){a=f.getKey(e=i[d]);if(h||!(a in c)){c[a]=e}else {if(!((b=c[a]) instanceof Array)){c[a]=b=[b]}b.push(e)}}},applyKeyFn:function(a){if(Ext.isString(a)){this.getKey=function(b){return b[a]()}}else {this.getKey=a}},updateProperty:function(b){var a=this.getRootProperty();this.getKey=function(c){return (a?c[a]:c)[b]}},getMap:function(){var a=this,b=a.map;if(!b){a.map=b={};a.keysByItemKey={};++a.mapRebuilds;a.add(a.getCollection().items)}return b},updateCollection:function(b,a){if(b){b.addObserver(this)}if(a){a.removeObserver(this)}},clone:function(){return new Ext.util.CollectionKey(this.getCurrentConfig())},destroy:function(){this.clear();this.getCollection().removeObserver(this);this.destroyed=!0}});Ext.define('Ext.util.Grouper',{extend:Ext.util.Sorter,isGrouper:!0,config:{groupFn:null,sortProperty:null},constructor:function(a){if(a){if(a.getGroupString){Ext.raise("Cannot set getGroupString - use groupFn instead")}}this.callParent(arguments)},getGroupString:function(b){var a=this._groupFn(b);return (a!=null)?String(a):''},sortFn:function(d,e){var c=this,a=c._groupFn(d),b=c._groupFn(e),g=c._sortProperty,i=c._root,h=c._sorterFn,f=c._transform;if(a===b){return 0}if(g||h){if(h){return h.call(this,d,e)}if(i){d=d[i];e=e[i]}a=d[g];b=e[g];if(f){a=f(a);b=f(b)}}return (a>b)?1:(a<b?-1:0)},standardGroupFn:function(a){var b=this._root;return (b?a[b]:a)[this._property]},updateSorterFn:function(){},updateProperty:function(){if(!this.getGroupFn()){this.setGroupFn(this.standardGroupFn)}}});Ext.define('Ext.util.Collection',{mixins:[Ext.mixin.Observable],isCollection:!0,config:{autoFilter:!0,autoSort:!0,autoGroup:!0,decoder:null,extraKeys:null,filters:null,grouper:null,groups:null,groupConfig:null,rootProperty:null,sorters:null,multiSortLimit:3,defaultSortDirection:'ASC',source:null,trackGroups:!0},generation:0,indices:null,indexRebuilds:0,updating:0,grouped:!1,sorted:!1,filtered:!1,$endUpdatePriority:1001,manageSorters:!0,constructor:function(b){var a=this;a.callParent([b]);a.items=[];a.map={};a.length=0;if(b&&b.keyFn){a.getKey=b.keyFn}a.mixins.observable.constructor.call(a,b)},destroy:function(){var a=this,b=a._filters,c=a._sorters,d=a._groups;if(b){b.destroy();a._filters=null}if(c){a.grouped=a.sorted=!1;a.setSorters(null);if(a.manageSorters){c.destroy()}}if(d){d.destroy();a._groups=null}a.setSource(null);a.observers=a.items=a.map=null;a.callParent()},add:function(d){var b=this,a=b.decodeItems(arguments,0),c=a;if(a.length){b.splice(b.length,0,a);c=(a.length===1)?a[0]:a}return c},replaceAll:function(){var b=this,c,a;a=b.decodeItems(arguments,0);c=a;if(a.length){b.splice(0,b.length,a);c=(a.length===1)?a[0]:a}else {b.removeAll()}return c},aggregate:function(d,c,e,g,f){var a=this,b=Ext.Array.slice(arguments);b.unshift(a.items);return a.aggregateItems.apply(a,b)},aggregateByGroup:function(b,a,d){var c=this.getGroups();return this.aggregateGroups(c,b,a,d)},aggregateItems:function(a,m,b,c,d,p){var e=this,o=Ext.Number.clipIndices(a.length,[c,d]),k=(c!==0&&d!==a.length),f,g,n,j,i,h,l;c=o[0];d=o[1];if(!Ext.isFunction(b)){b=e._aggregators[b];return b.call(e,a,c,d,m,e.getRootProperty())}j=e.getRootProperty();h=new Array(n);l=k?new Array(n):a;for(f=c,g=0;f<d;++f,g++){if(k){l[g]=i=a[f]}h[g]=(j?i[j]:i)[m]}return b.call(p||e,a,h,0)},aggregateGroups:function(i,e,c,j){var f=i.items,k=f.length,h=!Ext.isFunction(c),g={},b,a,d;for(b=0;b<k;++b){a=f[b];if(!h){d=this.aggregateItems(a.items,e,c,null,null,j)}else {d=a[c](e)}g[a.getGroupKey()]=d}return g},beginUpdate:function(){if(!this.updating++){this.notify('beginupdate')}},clear:function(){var a=this,c=a.generation,e=c?a.items:[],b,d;if(c){a.items.length=a.length=0;a.map={};a.indices={};a.generation++;b=a.getExtraKeys();if(b){for(d in b){b[d].clear()}}}return e},clone:function(){var a=this,b=new a.self(a.initialConfig);b.add(a.items);return b},collect:function(i,e,h){var d=this.items,j=d.length,f={},g=[],b,c,a;for(b=0;b<j;++b){a=d[b];a=(e?a[e]:a)[i];c=String(a);if((h||!Ext.isEmpty(a))&&!f[c]){f[c]=1;g.push(a)}}return g},contains:function(a){var c=!1,b;if(a!=null){b=this.getKey(a);c=this.map[b]===a}return c},containsAll:function(b){var c=Ext.isArray(b)?b:arguments,a;for(a=c.length;a-->0;){if(!this.contains(c[a])){return !1}}return !0},containsKey:function(a){return a in this.map},createFiltered:function(a,j,n,l,m){var d=this,k=new d.self(d.initialConfig),h=d.getRootProperty(),g=d.items,e,b,c,i,f;if(Ext.isFunction(a)){i=a;f=j}else {if(Ext.isString(a)){c=[new Ext.util.Filter({property:a,value:j,root:h,anyMatch:n,caseSensitive:l,exactMatch:m})]}else if(a instanceof Ext.util.Filter){c=[a];a.setRoot(h)}else if(Ext.isArray(a)){c=a.slice(0);for(b=0,e=c.length;b<e;++b){c[b].setRoot(h)}}i=Ext.util.Filter.createFilterFn(c)}f=f||d;for(b=0,e=g.length;b<e;b++){if(i.call(f,g[b])){k.add(g[b])}}return k},filterBy:function(b,a){return this.createFiltered(b,a)},each:function(f,c){var b=this.items,d=b.length,a,e;if(d){c=c||this;b=b.slice(0);for(a=0;a<d;a++){e=f.call(c,b[a],a,d);if(e===!1){break}}}return e},eachKey:function(i,c){var f=this,b=f.items,d=b.length,a,g,h,e;if(d){c=c||f;b=b.slice(0);for(a=0;a<d;a++){h=f.getKey(g=b[a]);e=i.call(c,h,g,a,d);if(e===!1){break}}}return e},endUpdate:function(){if(!--this.updating){this.notify('endupdate')}},find:function(f,a,h,d,e,c){if(Ext.isEmpty(a,!1)){return null}var g=Ext.String.createRegex(a,d,e,c),b=this.getRootProperty();return this.findBy(function(i){return i&&g.test((b?i[b]:i)[f])},null,h)},findBy:function(i,c,g){var d=this,b=d.items,h=b.length,a,e,f;c=c||d;for(a=g||0;a<h;a++){f=d.getKey(e=b[a]);if(i.call(c,e,f)){return b[a]}}return null},findIndex:function(e,g,f,c,d,b){var a=this.find(e,g,f,c,d,b);return a?this.indexOf(a):-1},findIndexBy:function(d,b,c){var a=this.findBy(d,b,c);return a?this.indexOf(a):-1},first:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,'first'):this.items[0]},last:function(b){var a=b?this.getGroups():undefined;return a?this.aggregateGroups(a,null,'last'):this.items[this.length-1]},get:function(a){return this.map[a]},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},getCount:function(){return this.length},getKey:function(b){var a=b.id;return (a===0||a)?a:((a=b._id)===0||a)?a:b.getId()},getRange:function(b,c){var e=this.items,d=e.length,a;if(b>c){Ext.raise('Inverted range passed to Collection.getRange: ['+b+','+c+']')}if(!d){a=[]}else {a=Ext.Number.clipIndices(d,[b,c]);a=e.slice(a[0],a[1])}return a},getValues:function(h,f,i,c){var d=this.items,e=Ext.Number.clipIndices(d.length,[i,c]),g=[],b,a;for(b=e[0],c=e[1];b<c;++b){a=d[b];a=(f?a[f]:a)[h];g.push(a)}return g},indexOf:function(a){if(!a){return -1}var b=this.getKey(a);return this.indexOfKey(b)},indexOfKey:function(c){var b=this,a=b.indices;if(c in b.map){if(!a){a=b.getIndices()}return a[c]}return -1},insert:function(d,e){var c=this,a=c.decodeItems(arguments,1),b=a;if(a.length){c.splice(d,0,a);b=(a.length===1)?a[0]:a}return b},itemChanged:function(c,p,h,u){var a=this,j=h!==undefined,s=a.filtered&&a.getAutoFilter(),n=!1,g=0,i=a.items,t=a.length-1,v=a.sorted&&t>0&&a.getAutoSort(),r=a.getSource(),q=0,f=!1,o=!1,d,l,k,m,b,e;if(r&&!r.updating){a.sourceUpdating=!0;r.itemChanged(c,p,h,u);a.sourceUpdating=!1}else {l=a.getKey(c);if(s){b=a.indexOfKey(j?h:l);o=(b<0);f=a.isItemFiltered(c);n=(o!==f)}if(n){if(f){q=[c];e=-1}else {m=[c];e=a.length}}else if(v&&!f){if(!s){b=a.indexOfKey(j?h:l)}k=a.getSortFn();if(b!==-1){if(b&&k(i[b-1],i[b])>0){g=-1;e=Ext.Array.binarySearch(i,c,0,b,k)}else if(b<t&&k(i[b],i[b+1])>0){g=1;e=Ext.Array.binarySearch(i,c,b+1,k)}if(g){m=[c]}}}d={item:c,key:l,index:e,filterChanged:n,keyChanged:j,indexChanged:!!g,filtered:f,oldIndex:b,newIndex:e,wasFiltered:o,meta:u};if(j){d.oldKey=h}if(p){d.modified=p}++a.generation;a.beginUpdate();a.notify('beforeitemchange',[d]);if(j){a.updateKey(c,h,d)}if(m||q){a.splice(e,q,m)}if(g>0){d.newIndex--}else if(g<0){d.oldIndex++}a.notify(f?'filtereditemchange':'itemchange',[d]);a.endUpdate()}},remove:function(d){var a=this,c=a.decodeRemoveItems(arguments,0),b=a.length;a.splice(0,c);return b-a.length},removeAll:function(){var a=this,b=a.length;if(a.generation&&b){a.splice(0,b)}return a},removeAt:function(j,f){var a=this,e=a.length,i=Ext.Number,g=i.clipIndices(e,[j,(f===undefined)?1:f],i.Clip.COUNT),c=g[0],d=g[1]-c,h=(d===1)&&a.getAt(c),b;a.splice(c,d);b=a.length-e;return (h&&b)?h:b},removeByKey:function(b){var a=this.getByKey(b);if(!a||!this.remove(a)){return !1}return a},replace:function(a){var b=this.indexOf(a);if(b===-1){this.add(a)}else {this.insert(b,a)}},splice:function(F,E,L){var b=this,D=b.sorted&&b.getAutoSort(),G=b.map,o=b.items,r=b.length,n=(E instanceof Array)?b.decodeRemoveItems(E):null,H=!n,K=Ext.Number,J=K.clipIndices(r,[F,H?E:0],K.Clip.COUNT),m=J[0],z=J[1],w=z-m,p=b.decodeItems(arguments,2),h=p?p.length:0,c,A,C,d=m,k=b.indices||((h||n)?b.getIndices():null),e=null,i=w?[m]:null,l=null,t=b.getSource(),j,B,y,a,u,g,v,f,s,q,x,I;if(t&&!t.updating){if(H){n=[];for(a=0;a<w;++a){n.push(o[m+a])}}if(m<r){a=t.indexOf(o[m])}else {a=t.length}b.requestedIndex=F;t.splice(a,n,p);delete b.requestedIndex;return b}if(h){c=p;l=[];A={};if(D){I=b.getSorters();if(h>1){if(!c.$cloned){p=c=c.slice(0)}b.sortData(c)}}for(a=0;a<h;++a){f=b.getKey(u=p[a]);if((v=A[f])!==undefined){(x||(x={}))[v]=1}else {g=k[f];if(g<m||z<=g){(i||(i=[])).push(g)}}A[f]=a;l.push(f)}if(x){s=l;c=[];l=[];c.$cloned=!0;for(a=0;a<h;++a){if(!x[a]){u=p[a];c.push(u);l.push(s[a])}}h=c.length}e={items:c,keys:l}}for(a=n?n.length:0;a-->0;){f=b.getKey(n[a]);if((g=k[f])!==undefined){(i||(i=[])).push(g)}}if(!e&&!i){return b}b.beginUpdate();if(i){j=null;y=[];C={};if(i.length>1){i.sort(Ext.Array.numericSortFn)}for(a=0,q=i.length;a<q;++a){f=b.getKey(u=o[g=i[a]]);if(!(f in G)){continue}delete G[f];if(!j||g>(j.at+B.length)){y.push(j={at:g,items:(B=[]),keys:(s=[]),map:C,next:j,replacement:e});if(e){e.replaced=j}}B.push(C[f]=u);s.push(f);if(g<d-1){--d}if(w>1&&g===m){--w;i[a--]=++m}}if(e){e.at=d}for(v=y.length;v-->0;){j=y[v];a=j.at;q=j.items.length;if(a+q<r){b.indices=k=null}b.length=r-=q;o.splice(a,q);if(k){s=j.keys;for(a=0;a<q;++a){delete k[s[a]]}}++b.generation;b.notify('remove',[j])}}if(e){if(D&&h>1&&r){b.spliceMerge(c,l)}else {if(D){if(h>1){d=0;b.indices=k=null}else {d=I.findInsertionIndex(e.items[0],o,b.getSortFn(),F)}}if(d===r){z=d;for(a=c.length-1;a>=0;--a){o[z+a]=c[a]}k=b.indices;if(k){for(a=0;a<h;++a){k[l[a]]=d+a}}}else {b.indices=null;Ext.Array.insert(o,d,c)}for(a=0;a<h;++a){G[l[a]]=c[a]}b.length+=h;e.at=d;e.atItem=d===0?null:o[d-1];++b.generation;b.notify('add',[e])}}b.endUpdate();return b},update:function(c,b){var a=this;a.beginUpdate();try{return c.call(b||a,a)}catch(d){Ext.log.error(this.$className+': Unhandled Exception: ',d.description||d.message);throw d}finally{a.endUpdate()}},updateKey:function(e,a,h){var d=this,c=d.map,f=d.indices,g=d.getSource(),b;if(g&&!g.updating){g.updateKey(e,a)}else if((b=d.getKey(e))!==a){if(c[a]===e&&!(b in c)){delete c[a];d.updating++;d.generation++;c[b]=e;if(f){f[b]=f[a];delete f[a]}d.notify('updatekey',[Ext.apply({item:e,newKey:b,oldKey:a},h)]);d.updating--}else {if(b in c&&c[b]!==e){Ext.raise('Duplicate newKey "'+b+'" for item with oldKey "'+a+'"')}if(a in c&&c[a]!==e){Ext.raise('Incorrect oldKey "'+a+'" for item with newKey "'+b+'"')}}}},findInsertIndex:function(f){var d=this.getSource(),e=d.items,b=d.indexOf(f)-1,c,a;while(b>-1){c=e[b];a=this.indexOf(c);if(a>-1){return a+1}--b}return 0},onCollectionAdd:function(l,i){var a=this,j=i.atItem,d=i.items,h=a.requestedIndex,c,b,e,f,g,k;if(!a.sorted){if(h!==undefined){b=h}else if(j){b=a.indexOf(j);if(b===-1){b=a.findInsertIndex(d[0])}else {++b}}else {b=0}}if(a.getAutoFilter()&&a.filtered){for(f=0,k=d.length;f<k;++f){g=d[f];if(a.isItemFiltered(g)){if(!e){e=d.slice(0,f)}if(!c){c=[]}c.push(g)}else if(e){e.push(g)}}}a.splice((b<0)?a.length:b,0,e||d);if(c){a.notify('filteradd',[c])}},onCollectionBeforeItemChange:function(b,a){this.onCollectionUpdateKey=null;if(!this.sourceUpdating){this.notify('beforeitemchange',[a])}},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(b,a){delete this.onCollectionUpdateKey;this.itemChanged(a.item,a.modified,a.oldKey,a.meta)},onCollectionFilteredItemChange:function(){delete this.onCollectionUpdateKey},onCollectionRefresh:function(l){var a=this,j={},h={},c=a.items,d=l.items,k=a.getFilterFn(),b,i,g,e,f;if(a.filtered&&a.getAutoFilter()){for(b=0,f=0,e=d.length;b<e;b++){if(k(d[b])){c[f++]=d[b]}}c.length=f}else {c.length=0;c.push.apply(c,d)}if(a.sorted){a.sortData(c)}a.length=e=c.length;a.map=j;a.indices=h;for(b=0;b<e;++b){g=a.getKey(i=c[b]);j[g]=i;h[g]=b}++a.generation;a.notify('refresh')},onCollectionRemove:function(b,a){this.splice(0,a.items)},onCollectionUpdateKey:function(b,a){this.updateKey(a.item,a.oldKey,a)},_aggregators:{average:function(e,a,b,d,f){var c=b-a;return c&&this._aggregators.sum.call(this,e,a,b,d,f)/c},bounds:function(h,g,i,f,e){for(var a,b,c,d=g;d<i;++d){a=h[d];a=(e?a[e]:a)[f];if(!(a<b)){b=a}if(!(a>c)){c=a}}return [c,b]},count:function(a){return a.length},extremes:function(k,j,l,i,f){var e=null,d=null,c,b,g,h,a;for(c=j;c<l;++c){b=k[c];a=(f?b[f]:b)[i];if(!(a<g)){g=a;e=b}if(!(a>h)){h=a;d=b}}return [d,e]},max:function(c,b,e,a,d){var f=this._aggregators.bounds.call(this,c,b,e,a,d);return f[1]},maxItem:function(c,b,e,a,d){var f=this._aggregators.extremes.call(this,c,b,e,a,d);return f[1]},min:function(c,b,e,a,d){var f=this._aggregators.bounds.call(this,c,b,e,a,d);return f[0]},minItem:function(c,b,e,a,d){var f=this._aggregators.extremes.call(this,c,b,e,a,d);return f[0]},sum:function(g,f,h,e,c){for(var a,d=0,b=f;b<h;++b){a=g[b];a=(c?a[c]:a)[e];d+=a}return d}},_eventToMethodMap:{add:'onCollectionAdd',beforeitemchange:'onCollectionBeforeItemChange',beginupdate:'onCollectionBeginUpdate',endupdate:'onCollectionEndUpdate',itemchange:'onCollectionItemChange',filtereditemchange:'onCollectionFilteredItemChange',refresh:'onCollectionRefresh',remove:'onCollectionRemove',beforesort:'beforeCollectionSort',sort:'onCollectionSort',filter:'onCollectionFilter',filteradd:'onCollectionFilterAdd',updatekey:'onCollectionUpdateKey'},addObserver:function(c){var b=this,a=b.observers;if(!a){b.observers=a=[]}if(Ext.Array.contains(a,c)){Ext.Error.raise('Observer already added')}if(b.notifying){b.observers=a=a.slice(0)}a.push(c);if(a.length>1){Ext.Array.sort(a,b.prioritySortFn)}},prioritySortFn:function(a,b){var c=a.observerPriority||0,d=b.observerPriority||0;return c-d},applyExtraKeys:function(e,g){var d=this,f=g||{},b,c,a;for(c in e){a=e[c];if(!a.isCollectionKey){b={collection:d};if(Ext.isString(a)){b.property=a}else {b=Ext.apply(b,a)}a=new Ext.util.CollectionKey(b)}else {a.setCollection(d)}f[c]=d[c]=a;a.name=c}return f},applyGrouper:function(a){if(a){a=this.getSorters().decodeSorter(a,Ext.util.Grouper)}return a},decodeItems:function(e,d){var g=this,a=(d===undefined)?e:e[d],b,f,c;if(!a||!a.$cloned){b=e.length>d+1||!Ext.isIterable(a);if(b){a=Ext.Array.slice(e,d);if(a.length===1&&a[0]===undefined){a.length=0}}f=g.getDecoder();if(f){if(!b){a=a.slice(0);b=!0}for(c=a.length;c-->0;){if((a[c]=f.call(g,a[c]))===!1){a.splice(c,1)}}}if(b){a.$cloned=!0}}return a},getIndices:function(){var a=this,c=a.indices,d=a.items,f=d.length,b,e;if(!c){a.indices=c={};++a.indexRebuilds;for(b=0;b<f;++b){e=a.getKey(d[b]);c[e]=b}}return c},notify:function(d,b){var a=this,e=a.observers,g=a._eventToMethodMap[d],j=0,c,i,f,h;b=b||[];if(e&&g){a.notifying=!0;for(c=0,i=e.length;c<i;++c){f=(h=e[c])[g];if(f){if(!j++){b.unshift(a)}f.apply(h,b)}}a.notifying=!1}if(!a.hasListeners){return}if(a.hasListeners[d]){if(!j){b.unshift(a)}a.fireEventArgs(d,b)}},getFilterFn:function(){return this.getFilters().getFilterFn()},getFilters:function(b){var a=this._filters;if(!a&&b!==!1){a=new Ext.util.FilterCollection();this.setFilters(a)}return a},isItemFiltered:function(a){return !this.getFilters().filterFn(a)},onFilterChange:function(f){var a=this,b=a.getSource(),c,d,e;if(!b){c=a.getExtraKeys();if(c){d={};for(e in c){d[e]=c[e].clone(a)}}b=new Ext.util.Collection({keyFn:a.getKey,extraKeys:d,rootProperty:a.getRootProperty()});if(a.length){b.add(a.items)}a.setSource(b);a.autoSource=b}else {if(b.destroyed){return}if(b.length||a.length){a.onCollectionRefresh(b)}}a.notify('filter')},applyFilters:function(b,a){if(!b||b.isFilterCollection){return b}if(b){if(!a){a=this.getFilters()}a.splice(0,a.length,b)}return a},updateFilters:function(b,c){var a=this;if(c){c.un('endupdate','onEndUpdateFilters',a)}if(b){b.on({endupdate:'onEndUpdateFilters',scope:a,priority:a.$endUpdatePriority});b.$filterable=a}a.onEndUpdateFilters(b)},onEndUpdateFilters:function(a){var b=this,d=b.filtered,c=!!a&&(a.getFilterCount()>0);if(d||c){b.filtered=c;b.onFilterChange(a)}},getSortFn:function(){return this._sortFn||this.createSortFn()},getSorters:function(b){var a=this._sorters;if(!a&&b!==!1){a=new Ext.util.SorterCollection();this.setSorters(a)}return a},onSortChange:function(){if(this.sorted){this.sortItems()}},sort:function(c,b,d){var a=this.getSorters();a.addSort.apply(a,arguments);return this},sortData:function(a){Ext.Array.sort(a,this.getSortFn());return a},sortItems:function(b){var a=this;if(a.sorted){if(b){Ext.raise('Collections with sorters cannot resorted')}b=a.getSortFn()}a.indices=null;a.notify('beforesort',[a.getSorters(!1)]);if(a.length){Ext.Array.sort(a.items,b)}a.notify('sort')},sortBy:function(a){return this.sortItems(a)},findInsertionIndex:function(d,c,a,b){return Ext.Array.findInsertionIndex(d,c||this.items,a||this.getSortFn(),b)},applySorters:function(b,a){if(!b||b.isSorterCollection){return b}if(b){if(!a){a=this.getSorters()}a.splice(0,a.length,b)}return a},createSortFn:function(){var d=this,b=d.getGrouper(),c=d.getSorters(!1),a=c?c.getSortFn():null;if(!b){return a}return function(d,e){var c=b.sort(d,e);if(!c&&a){c=a(d,e)}return c}},updateGrouper:function(c){var a=this,b=a.getGroups(),e=a.getSorters(),d;a.onSorterChange();a.grouped=!!c;if(c){if(a.getTrackGroups()){if(!b){b=new Ext.util.GroupCollection({itemRoot:a.getRootProperty(),groupConfig:a.getGroupConfig()});b.$groupable=a;a.setGroups(b)}b.setGrouper(c);d=!0}}else {if(b){a.removeObserver(b);b.destroy()}a.setGroups(null)}if(!e.updating){a.onEndUpdateSorters(e)}if(d){b.onCollectionRefresh(a)}},updateSorters:function(b,c){var a=this;if(c&&!c.destroyed){c.un('endupdate','onEndUpdateSorters',a)}if(b){b.on({endupdate:'onEndUpdateSorters',scope:a,priority:a.$endUpdatePriority});if(a.manageSorters){b.$sortable=a}}a.onSorterChange();a.onEndUpdateSorters(b)},onSorterChange:function(){this._sortFn=null},onEndUpdateSorters:function(b){var a=this,d=a.sorted,c=(a.grouped&&a.getAutoGroup())||(b&&b.length>0);if(d||c){a.sorted=!!c;a.onSortChange(b)}},removeObserver:function(b){var a=this.observers;if(a){Ext.Array.remove(a,b)}},spliceMerge:function(i,q){var f=this,r=f.map,k=i.length,g=0,n=f.items,m=n.length,h=[],c=0,a=[],p=f.getSortFn(),l,j,d,b,o,e;f.items=a;for(e=0;e<k;e=j){b=i[e];for(;g<m;++g){if(p(b,o=n[g])<0){break}a.push(o)}if(g===m){h[c++]={at:a.length,itemAt:a[a.length-1],items:(l=[])};if(c>1){h[c-2].next=h[c-1]}for(;e<k;++e){l.push(b=i[e]);a.push(b)}break}h[c++]={at:a.length,itemAt:a[a.length-1],items:(l=[b])};if(c>1){h[c-2].next=h[c-1]}a.push(b);for(j=e+1;j<k;++j){if(p(b=i[j],o)>=0){break}a.push(b);l.push(b)}}for(;g<m;++g){a.push(n[g])}for(d=0;d<k;++d){r[q[d]]=i[d]}f.length=a.length;++f.generation;f.indices=null;for(d=0;d<c;++d){f.notify('add',[h[d]])}},getGroups:function(){return this.callParent()||null},updateAutoGroup:function(b){var a=this.getGroups();if(a){a.setAutoGroup(b)}this.onEndUpdateSorters(this._sorters)},updateGroups:function(a,b){if(b){this.removeObserver(b)}if(a){this.addObserver(a)}},updateSource:function(a,b){var c=this.autoSource;if(b){if(!b.destroyed){b.removeObserver(this)}if(b===c){c.destroy();this.autoSource=null}}if(a){a.addObserver(this);if(a.length||this.length){this.onCollectionRefresh(a)}}}},function(){var a=this.prototype;a.removeAtKey=a.removeByKey;a.decodeRemoveItems=a.decodeItems;Ext.Object.each(a._aggregators,function(b){a[b]=function(a,c,d){return this.aggregate(a,b,c,d)};a[b+'ByGroup']=function(a){return this.aggregateByGroup(a,b)}})});Ext.define('Ext.data.Range',{isDataRange:!0,begin:0,buffer:0,end:0,length:0,store:null,constructor:function(b){var a=this,c,d;Ext.apply(a,b);d=a.store;if(!(c=d.activeRanges)){d.activeRanges=c=[]}c.push(a);a.refresh();if('begin' in b){a.begin=a.end=0;a.goto(b.begin,b.end)}},destroy:function(){var a=this,c=a.store,b=c&&c.activeRanges;Ext.destroy(a.storeListeners);if(b){Ext.Array.remove(b,a)}a.callParent()},"goto":function(d,e){var a=this,c=a.buffer,b=a.task;a.begin=d;a.end=e;a.length=e-d;if(c>0){if(!b){a.task=b=new Ext.util.DelayedTask(a.doGoto,a)}b.delay(c)}else {a.doGoto()}},privates:{lastBegin:0,lastEnd:0,doGoto:Ext.privateFn,refresh:function(){this.records=this.store.getData().items}}});Ext.define('Ext.util.ObjectTemplate',{isObjectTemplate:!0,excludeProperties:{},valueRe:/^[{][a-z\.]+[}]$/i,statics:{create:function(a,b){if(!Ext.isObject(a)){Ext.raise('The template is not an Object')}return a.isObjectTemplate?a:new Ext.util.ObjectTemplate(a,b)}},constructor:function(a,b){Ext.apply(this,b);this.template=a},apply:function(b){var a=this;delete a.apply;a.apply=a.compile(a.template);return a.apply(b)},privates:{compile:function(a){var e=this,g=e.excludeProperties,d,b,f,c;if(Ext.isString(a)){if(a.indexOf('{')<0){c=function(){return a}}else if(e.valueRe.test(a)){a=a.substring(1,a.length-1).split('.');c=function(d){for(var b=d,c=0;b&&c<a.length;++c){b=b[a[c]]}return b}}else {a=new Ext.XTemplate(a);c=function(b){return a.apply(b)}}}else if(!a||Ext.isPrimitive(a)||Ext.isFunction(a)){c=function(){return a}}else if(a instanceof Array){d=[];for(b=0,f=a.length;b<f;++b){d[b]=e.compile(a[b])}c=function(e){var c=[],b;for(b=0;b<f;++b){c[b]=d[b](e)}return c}}else {d={};for(b in a){if(!g[b]){d[b]=e.compile(a[b])}}c=function(f){var e={},b,c;for(b in a){c=g[b]?a[b]:d[b](f);if(c!==undefined){e[b]=c}}return e}}return c}}});Ext.define('Ext.data.schema.Role',{isRole:!0,left:!0,owner:!1,side:'left',isMany:!1,defaultReaderType:'json',_internalReadOptions:{recordsOnly:!0,asRoot:!0},constructor:function(c,d){var a=this,b=d.extra;Ext.apply(a,d);if(b){b=Ext.apply({},b);delete b.type;Ext.apply(a,b);delete a.extra}a.association=c;if(c.owner===a.side){c.owner=a;a.owner=!0}},processUpdate:function(){Ext.raise('Only the "many" for an association may be processed. "'+this.role+'" is not valid.')},processLoad:function(d,b,a,c){return a},checkMembership:Ext.emptyFn,adoptAssociated:function(c,b){var a=this.getAssociatedItem(c);if(a){b.adopt(a)}},$roleFilterId:'$associationRoleFilter',createAssociationStore:function(d,k,i,l){var a=this,g=a.association,e=g.getFieldName(),j=g.isManyToMany,h=a.storeConfig,f=k.getId(),c={asynchronousLoad:!1,model:a.cls,role:a,session:d,associatedEntity:k,disableMetaChangeEvent:!0,pageSize:null,remoteFilter:!0,trackRemoved:!d},b;if(j){c.filters=[{id:a.$roleFilterId,property:a.inverse.field,value:f,exactMatch:!0}]}else if(e){c.filters=[{id:a.$roleFilterId,property:e,value:f,exactMatch:!0}];c.foreignKeyName=e}if(h){Ext.apply(c,h)}b=Ext.Factory.store(c);a.onStoreCreate(b,d,f);if(!j||d){b.on({scope:a,add:'onAddToMany',remove:'onRemoveFromMany',clear:'onRemoveFromMany'})}if(i){b.loadData(i)}b.complete=!!l;return b},onStoreCreate:Ext.emptyFn,getAssociatedStore:function(f,b,d,a,v){var k=this,o=k.getStoreName(),c=f[o],w=c,i=f.session,p=b&&b.reload,j=f.$source,h=!1,t=!1,s,e,l,u,q,r,g,m,n;if(!c){if(i){if(j){t=j.phantom}if(!a&&j){g=j[o];if(g&&!g.isLoading()){a=[];q=g.getData().items;for(l=0,u=q.length;l<u;++l){r=q[l];a.push(i.getRecord(r.self,r.id))}h=!!g.complete;s=!0}}if(!s){m=!!a;a=k.findRecords(i,f,a,v);if(!m&&(!a||!a.length)){a=null}h=t||m}}else {h=!!a}c=k.createAssociationStore(i,f,a,h||f.phantom);c.$source=g;if(!a&&(k.autoLoad||b)){p=!0}f[o]=c}if(b){if(p||c.isLoading()){c.on('load',function(h,i,c,g){e=[h,g];d=d||b.scope||f;if(c){Ext.callback(b.success,d,e)}else {Ext.callback(b.failure,d,e)}e.push(c);Ext.callback(b,d,e);Ext.callback(b.callback,d,e)},null,{single:!0})}else {e=[c,null];d=d||b.scope||f;Ext.callback(b.success,d,e);e.push(!0);Ext.callback(b,d,e);Ext.callback(b.callback,d,e)}}n=c.isLoading();if(p){if(!n){c.load()}}else if(w&&a&&!n){c.loadData(a)}return c},getAssociatedItem:function(b){var a=this.isMany?this.getStoreName():this.getInstanceName();return b[a]||null},onDrop:Ext.emptyFn,onIdChanged:Ext.emptyFn,getReaderRoot:function(){var a=this;return a.associationKey||(a.associationKey=a.association.schema.getNamer().readerRoot(a.role))},getReader:function(){var b=this,a=b.reader,d=b.cls,c=!b.associationKey,e=this.getReaderRoot();if(a&&!a.isReader){if(Ext.isString(a)){a={type:a}}Ext.applyIf(a,{model:d,rootProperty:e,useSimpleAccessors:c,type:b.defaultReaderType});a=b.reader=Ext.createByAlias('reader.'+a.type,a)}return a},getInstanceName:function(){var a=this;return a.instanceName||(a.instanceName=a.association.schema.getNamer().instanceName(a.role))},getOldInstanceName:function(){return this.oldInstanceName||(this.oldInstanceName='$old'+this.getInstanceName())},getStoreName:function(){var a=this;return a.storeName||(a.storeName=a.association.schema.getNamer().storeName(a.role))},constructReader:function(h){var b=this,a=b.getReader(),e=b.cls,g=!b.associationKey,f=b.getReaderRoot(),c,d;if(!a){d=e.getProxy();if(d){c=d.getReader();a=new c.self();a.copyFrom(c);a.setRootProperty(f)}else {a=new h.self({model:e,useSimpleAccessors:g,rootProperty:f})}b.reader=a}return a},read:function(f,e,d,c){var a=this.constructReader(d),b=a.getRoot(e);if(b){return a.readRecords(b,c,this._internalReadOptions)}},getCallbackOptions:function(a,c,b){if(typeof a==='function'){a={callback:a,scope:c||b}}else if(a){a=Ext.apply({},a);a.scope=c||a.scope||b}return a},doGetFK:function(d,b,f){var i=this,l=i.cls,j=i.association.getFieldName(),h=i.getInstanceName(),a=d[h],m=b&&b.reload,e=a!==undefined&&!m,k=d.session,c,g;if(!e){if(k){c=d.get(j);if(c||c===0){e=k.peekRecord(l,c,!0)&&!m;a=k.getRecord(l,c,!1)}else {e=!0;d[h]=a=null}}else if(j){c=d.get(j);if(!c&&c!==0){e=!0;d[h]=a=null}else {if(!a){a=l.createWithId(c)}}}else {e=!0;a=null}}else if(a){e=!a.isLoading()}if(e){if(b){g=[a,null];f=f||b.scope||d;Ext.callback(b.success,f,g);g.push(!0);Ext.callback(b,f,g);Ext.callback(b.callback,f,g)}}else {d[h]=a;b=i.getCallbackOptions(b,f,d);a.load(b)}return a},doSetFK:function(a,c,f,l){var d=this,g=d.association.getFieldName(),i=d.getInstanceName(),b=a[i],e=d.inverse,j=e.setterName,m=a.session,k,h;if(c&&c.isEntity){if(b!==c){h=d.getOldInstanceName();a[h]=b;a[i]=c;if(b&&b.isEntity){b[e.getInstanceName()]=undefined}if(g){a.set(g,c.getId())}delete a[h];a.onAssociatedRecordSet(c,d);if(j){c[j](a)}}}else {if(!g){Ext.raise('No foreignKey specified for "'+d.association.left.role+'" by '+a.$className)}k=(a.changingKey&&!e.isMany)||a.set(g,c);if(k&&b&&b.isEntity&&!b.isEqual(b.getId(),c)){a[i]=undefined;if(!e.isMany){b[e.getInstanceName()]=undefined}}}if(f){if(Ext.isFunction(f)){f={callback:f,scope:l||a}}return a.save(f)}}});Ext.define('Ext.data.schema.Association',{isOneToOne:!1,isManyToOne:!1,isManyToMany:!1,owner:null,field:null,constructor:function(d){var a=this,c,b;Ext.apply(a,d);a.left=c=new a.Left(a,a.left);a.right=b=new a.Right(a,a.right);c.inverse=b;b.inverse=c},hasField:function(){return !!this.field},getFieldName:function(){var a=this.field;return a?a.name:''}});Ext.define('Ext.data.schema.OneToOne',{extend:Ext.data.schema.Association,isOneToOne:!0,isToOne:!0,kind:'one-to-one',Left:Ext.define(null,{extend:'Ext.data.schema.Role',onDrop:function(a,c){var b=this.getAssociatedItem(a);a[this.getInstanceName()]=null;if(b){b[this.inverse.getInstanceName()]=null}},onIdChanged:function(a,e,d){var b=this.getAssociatedItem(a),c=this.association.getFieldName();if(!a.session&&b&&c){b.set(c,d)}},createGetter:function(){var a=this;return function(){return a.doGet(this)}},createSetter:function(){var a=this;return function(b){return a.doSet(this,b)}},doGet:function(a){var c=this.getInstanceName(),b=a[c],d=a.session;if(!b&&d){}return b||null},doSet:function(a,b){var d=this.getInstanceName(),e=a[d],c=this.inverse.setterName;if(e!==b){a[d]=b;if(c){b[c](a)}a.onAssociatedRecordSet(b,this)}return e},read:function(a,g,f,e){var c=this,d=c.callParent([a,g,f,e]),b;if(d){b=d[0];if(b){b[c.inverse.getInstanceName()]=a;a[c.getInstanceName()]=b;delete a.data[c.role]}}}}),Right:Ext.define(null,{extend:'Ext.data.schema.Role',left:!1,side:'right',createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(d,b,c){return a.doSetFK(this,d,b,c)}},onDrop:function(c,f){var b=this,d=b.association.field,a=b.getAssociatedItem(c),e;if(b.inverse.owner){if(f&&d){e=c.get(d.name);if(e||e===0){a=f.getEntry(b.cls,e).record;if(a){a.drop()}}}else {if(a){a.drop()}}}if(d){c.set(d.name,null)}c[b.getInstanceName()]=null;if(a){a[b.inverse.getInstanceName()]=null}},onValueChange:function(b,f,c){var a=this,e=b[a.getOldInstanceName()]||a.getAssociatedItem(b),h=c||c===0,d=a.getInstanceName(),g=a.cls;b.changingKey=!0;a.doSetFK(b,c);if(!h){b[d]=null}else if(f&&g){b[d]=f.peekRecord(g,c)||undefined}if(a.inverse.owner&&e){a.association.schema.queueKeyCheck(e,a)}b.changingKey=!1},checkKeyForDrop:function(a){var b=this.inverse.getAssociatedItem(a);if(!b){a.drop()}},read:function(a,o,n,m){var f=this,l=f.callParent([a,o,n,m]),b,d,g,c,k,h,j,i,e;if(l){b=l[0];d=f.association.field;if(d){g=d.name}c=a.session;e=a.data;if(b){if(c){k=c.getRefs(b,this.inverse,!0);i=(k&&k[a.id])||(e[g]===undefined)}else {i=!0}if(i){if(d){j=e[g];h=b.id;if(j!==h){e[g]=h;if(c){c.updateReference(a,d,h,j)}}}b[f.inverse.getInstanceName()]=a;a[f.getInstanceName()]=b}delete e[f.role]}}}})});Ext.define('Ext.data.schema.ManyToOne',{extend:Ext.data.schema.Association,isManyToOne:!0,isToOne:!0,kind:'many-to-one',Left:Ext.define(null,{extend:'Ext.data.schema.Role',isMany:!0,onDrop:function(d,f){var b=this,e=b.getAssociatedItem(d),a,g,c,i,h;if(e){a=e.removeAll();if(a&&b.inverse.owner){for(c=0,g=a.length;c<g;++c){a[c].drop()}}e.destroy();d[b.getStoreName()]=null}else if(f){a=f.getRefs(d,b);if(a){for(h in a){a[h].drop()}}}},onIdChanged:function(e,i,g){var f=this.association.getFieldName(),d=this.getAssociatedItem(e),b,a,h,c;if(d){c=d.getFilters().get(this.$roleFilterId);if(c){c.setValue(g)}if(!e.session&&f){b=d.getDataSource().items;for(a=0,h=b.length;a<h;++a){b[a].set(f,g)}}}},processUpdate:function(f,i){var d=this,h=d.inverse.cls,g=i.R,c,a,b,e;if(g){for(c in g){a=f.peekRecord(h,c);if(a){e=f.getEntityList(d.cls,g[c]);b=d.getAssociatedItem(a);if(b){b.loadData(e);b.complete=!0}else {a[d.getterName](null,null,e)}}else {f.onInvalidAssociationEntity(h,c)}}}},findRecords:function(l,h,e,k){var d=e,b=l.getRefs(h,this,!0),j=this.association.field,i,a,c,g,m,f;if(j&&(b||k)){i=j.name;d=[];if(e){f={};for(g=0,m=e.length;g<m;++g){a=e[g];c=a.id;if(b&&b[c]){d.push(a)}else if(k&&a.data[i]===undefined){d.push(a);a.data[i]=h.id;l.updateReference(a,j,h.id,undefined)}f[c]=!0}}if(b){for(c in b){if(!f||!f[c]){d.push(b[c])}}}}return d},processLoad:function(e,d,c,a){var b=c;if(a){b=this.findRecords(a,d,c,!0)}this.onLoadMany(d,b,a);return b},adoptAssociated:function(f,d){var c=this.getAssociatedItem(f),b,a,e;if(c){c.setSession(d);b=c.getData().items;for(a=0,e=b.length;a<e;++a){d.adopt(b[a])}}},createGetter:function(){var a=this;return function(c,d,b){return a.getAssociatedStore(this,c,d,b,!0)}},createSetter:null,onAddToMany:function(c,a){var b=c.getAssociatedEntity();if(this.association.field){this.syncFK(a,b,!1)}else {this.setInstances(b,a)}},onLoadMany:function(b,a,c){this.setInstances(b,a,c)},onRemoveFromMany:function(b,a){if(this.association.field){this.syncFK(a,b.getAssociatedEntity(),!0)}else {this.setInstances(null,a)}},read:function(b,j,i,h){var c=this,g=c.inverse.getInstanceName(),a=c.callParent([b,j,i,h]),e,f,d;if(a){e=b[c.getterName](null,null,a);delete b.data[c.role];a=e.getData().items;for(d=0,f=a.length;d<f;++d){a[d][g]=b}}},setInstances:function(c,i,j){var k=this.inverse.getInstanceName(),h=c?c.getId():null,d=this.association.field,l=i.length,b,a,e,f,g;for(b=0;b<l;++b){a=i[b];a[k]=c;if(d){g=d.name;f=a.data;e=f[g];if(e!==h){f[g]=h;if(j){j.updateReference(a,d,h,e)}}}}},syncFK:function(c,d,f){var i=this.association.getFieldName(),g=this.inverse,k=g.setterName,j=g.getInstanceName(),h=c.length,l=d.getId(),e,a,b;while(h-->0){a=c[h];e=!a.isEqual(l,a.get(i));b=f?null:d;if(e!==f){a.changingKey=!0;a[k](b);a.changingKey=!1}else {a[j]=b}}}}),Right:Ext.define(null,{extend:'Ext.data.schema.Role',left:!1,side:'right',onDrop:function(a,c){var b=this.association.field;if(b){a.set(b.name,null)}a[this.getInstanceName()]=null},createGetter:function(){var a=this;return function(b,c){return a.doGetFK(this,b,c)}},createSetter:function(){var a=this;return function(b,c,d){return a.doSetFK(this,b,c,d)}},checkMembership:function(d,b){var c=this.association.field,a;if(c){a=this.getSessionStore(d,b.get(c.name));if(a&&!a.contains(b)){a.add(b)}}},onValueChange:function(b,f,d,l){var c=this,j=c.getInstanceName(),m=c.cls,i,g,a,h,e,k;if(!b.changingKey){i=d||d===0;if(!i){b[j]=null}if(f){a=c.getSessionStore(f,l);if(a){a.remove(b)}if(i){a=c.getSessionStore(f,d);if(a&&!a.isLoading()){a.add(b)}if(m){k=f.peekRecord(m,d)}b[j]=k||undefined}}else {g=b.joined;if(g){for(h=g.length-1;h>=0;h--){a=g[h];if(a.isStore){e=a.getAssociatedEntity();if(e&&e.self===c.cls&&e.getId()===l){a.remove(b)}}}}}}if(c.owner&&d===null){c.association.schema.queueKeyCheck(b,c)}},checkKeyForDrop:function(a){var b=this.association.field;if(a.get(b.name)===null){a.drop()}},getSessionStore:function(c,d){var b=this.cls,a;if(b){a=c.peekRecord(b,d);if(a){return this.inverse.getAssociatedItem(a)}}},read:function(b,f,e,d){var c=this.callParent([b,f,e,d]),a;if(c){a=c[0];if(a){b[this.getInstanceName()]=a;delete b.data[this.role]}}}})});Ext.define('Ext.data.schema.ManyToMany',{extend:Ext.data.schema.Association,isManyToMany:!0,isToMany:!0,kind:'many-to-many',Left:Ext.define(null,{extend:'Ext.data.schema.Role',isMany:!0,digitRe:/^\d+$/,findRecords:function(i,k,f){var l=i.getMatrixSlice(this.inverse,k.id),g=l.members,h=[],m=this.cls,d,e,j,a,c,b;if(f){d={};for(e=0,j=f.length;e<j;++e){b=f[e];a=b.id;c=g[a];if(!(c&&c[2]===-1)){h.push(b)}d[a]=!0}}for(a in g){c=g[a];if(!d||!d[a]&&(c&&c[2]!==-1)){b=i.peekRecord(m,a);if(b){h.push(b)}}}return h},onIdChanged:function(b,d,c){var a=this.getAssociatedItem(b);if(a){a.getFilters().get(this.$roleFilterId).setValue(c)}},processLoad:function(e,d,b,c){var a=b;if(c){a=this.findRecords(c,d,b);this.onAddToMany(e,a,!0)}return a},processUpdate:function(b,f){var a=this,i=a.inverse.cls,h=f.R,e,c,d,g;if(h){for(e in h){c=b.peekRecord(i,e);if(c){g=b.getEntityList(a.cls,h[e]);d=a.getAssociatedItem(c);if(d){d.loadData(g);d.complete=!0}else {c[a.getterName](null,null,g)}}else {b.onInvalidAssociationEntity(i,e)}}}a.processMatrixBlock(b,f.C,1);a.processMatrixBlock(b,f.D,-1)},checkMembership:function(l,i){var d=l.getMatrix(this.association,!0),g,j,k,f,e,h,c,m,b,a;if(!d){return}g=this.left?d.right:d.left;j=g.inverse.role.cls;k=this.inverse;e=g.slices;if(e){f=e[i.id];if(f){c=f.members;for(h in c){m=c[h];if(m[2]!==-1){b=l.peekRecord(j,h);if(b){a=k.getAssociatedItem(b);if(a){a.matrixUpdate=1;a.add(i);a.matrixUpdate=0}}}}}}},onStoreCreate:function(d,c,e){var b=this,a;if(c){a=c.getMatrixSlice(b.inverse,e);a.attach(d);a.notify=b.onMatrixUpdate;a.scope=b}},processMatrixBlock:function(f,b,g){var e=this.inverse,d=this.digitRe,c,a;if(b){for(a in b){if(d.test(a)){a=parseInt(a,10)}c=f.getMatrixSlice(e,a);c.update(b[a],g)}}},createGetter:function(){var a=this;return function(c,d,b){return a.getAssociatedStore(this,c,d,b,!1)}},onAddToMany:function(a,b,c){if(!a.matrixUpdate){a.matrixUpdate=1;a.matrix.update(b,c===!0?0:1);a.matrixUpdate=0}},onRemoveFromMany:function(a,b){if(!a.matrixUpdate){a.matrixUpdate=1;a.matrix.update(b,-1);a.matrixUpdate=0}},read:function(a,f,e,d){var b=this,c=b.callParent([a,f,e,d]);if(c){a[b.getterName](null,null,c);delete a.data[b.role]}},onMatrixUpdate:function(f,e,g){var a=f.store,b,c,d;if(a&&!a.loading&&!a.matrixUpdate){a.matrixUpdate=1;b=a.indexOfId(e);if(g<0){if(b>=0){a.remove([b])}}else if(b<0){d=a.getSession().getEntry(this.type,e);c=d&&d.record;if(c){a.add(c)}}a.matrixUpdate=0}},adoptAssociated:function(e,d){var a=this.getAssociatedItem(e),c,b,f;if(a){a.setSession(d);this.onStoreCreate(a,d,e.getId());c=a.getData().items;for(b=0,f=c.length;b<f;++b){d.adopt(c[b])}}}},function(){var a=this;Ext.ClassManager.onCreated(function(){Ext.data.schema.ManyToMany.prototype.Right=Ext.define(null,{extend:a,left:!1,side:'right'})},null,'Ext.data.schema.ManyToMany')})});Ext.define('Ext.util.Inflector',{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"],[(/^(p)erson$/i),"$1eople"],[(/^(m)an$/i),"$1en"],[(/(.*)(child)(ren)?$/i),"$1$2ren"],[(/s$/i),"s"],[(/$/),"s"]],singulars:[[(/(address)$/i),"$1"],[(/(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"],[(/(p)eople$/i),"$1erson"],[(/s$/i),""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(b,a){this.singulars.unshift([b,a])},plural:function(b,a){this.plurals.unshift([b,a])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(a){return Ext.Array.indexOf(this.uncountable,a)!=-1},pluralize:function(a){if(this.isTransnumeral(a)){return a}var e=this.plurals,f=e.length,d,b,c;for(c=0;c<f;c++){d=e[c];b=d[0];if(b==a||(b.test&&b.test(a))){return a.replace(b,d[1])}}return a},singularize:function(a){if(this.isTransnumeral(a)){return a}var e=this.singulars,f=e.length,d,b,c;for(c=0;c<f;c++){d=e[c];b=d[0];if(b==a||(b.test&&b.test(a))){return a.replace(b,d[1])}}return a},classify:function(a){return Ext.String.capitalize(this.singularize(a))},ordinalize:function(a){var c=parseInt(a,10),d=c%10,b=c%100;if(11<=b&&b<=13){return a+"th"}else {switch(d){case 1:return a+"st";case 2:return a+"nd";case 3:return a+"rd";default:return a+"th";}}}},function(){var b={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'},a;for(a in b){if(b.hasOwnProperty(a)){this.plural(a,b[a]);this.singular(b[a],a)}}});Ext.define('Ext.data.schema.Namer',{mixins:[Ext.mixin.Factoryable],alias:'namer.default',isNamer:!0,capitalize:function(a){return Ext.String.capitalize(a)},fieldRole:function(a){var b=a.match(this.endsWithIdRe,'');if(b){a=a.substr(0,a.length-(b[1]||b[2]).length)}return this.apply('uncapitalize',a)},idField:function(a){return this.apply('uncapitalize,singularize',a)+'Id'},instanceName:function(a){return this.apply('underscore',a)},multiRole:function(a){return this.apply('undotted,uncapitalize,pluralize',a)},pluralize:function(a){return Ext.util.Inflector.pluralize(a)},readerRoot:function(a){return this.apply('uncapitalize',a)},singularize:function(a){return Ext.util.Inflector.singularize(a)},storeName:function(a){return this.apply('underscore',a)},uncapitalize:function(a){return Ext.String.uncapitalize(a)},underscore:function(a){return '_'+a},uniRole:function(a){return this.apply('undotted,uncapitalize,singularize',a)},undotted:function(c){if(c.indexOf('.')<0){return c}var a=c.split('.'),b=a.length;while(b-->1){a[b]=this.apply('capitalize',a[b])}return a.join('')},getterName:function(a){var b=a.role;if(a&&a.isMany){return b}return 'get'+this.apply('capitalize',b)},inverseFieldRole:function(e,f,c,d){var a=this,b=a.apply(f?'uniRole':'multiRole',e),g=a.apply('pluralize',c),h=a.apply('undotted,pluralize',d);if(g.toLowerCase()!==h.toLowerCase()){b=c+a.apply('capitalize',b)}return b},manyToMany:function(c,e,d){var b=this,a=b.apply('undotted,capitalize,singularize',e)+b.apply('undotted,capitalize,pluralize',d);if(c){a=b.apply('capitalize',c+a)}return a},manyToOne:function(d,b,a,c){return this.apply('capitalize,singularize',a)+this.apply('capitalize',b)},matrixRole:function(a,c){var b=this.apply(a?'multiRole,capitalize':'multiRole',c);return a?a+b:b},oneToOne:function(d,b,a,c){return this.apply('undotted,capitalize,singularize',a)+this.apply('capitalize',b)},setterName:function(a){return 'set'+this.apply('capitalize',a.role)},endsWithIdRe:/(?:(_id)|[^A-Z](Id))$/,cache:{},apply:function(b,c){var e=this,h=e.cache,i=h[c]||(h[c]={}),a=i[b],d,g,f;if(!a){if(b.indexOf(',')<0){a=e[b](c)}else {g=(f=b.split(',')).length;a=c;for(d=0;d<g;++d){a=e.apply(f[d],a)}}i[b]=a}return a}});Ext.define('Ext.data.schema.Schema',{mixins:[Ext.mixin.Factoryable],alias:'schema.default',aliasPrefix:'schema.',isSchema:!0,type:'default',statics:{instances:{},clearInstance:function(b){var a=this.instances[b];delete this.instances[b];if(a){a.clear(!0);a.destroy()}},get:function(a){var f=this,g=f.instances,c='default',e=a&&Ext.isString(a),b,d;if(a){if(a.isSchema){return a}c=e?a:(a.id||c)}if(!(b=g[c])){g[c]=b=f.create(a);b.id=c}else if(a&&!e){if(c!=='default'){Ext.raise('Only the default Schema instance can be reconfigured')}d=Ext.merge({},b.config);Ext.merge(d,a);b.setConfig(d);b.config=d;b.setConfig=function(){Ext.raise('The schema can only be reconfigured once')}}return b},lookupEntity:function(b){var a=null,e=this.instances,c,d,f;if(b){if(b.isEntity){a=b.self}else if(Ext.isFunction(b)){a=b}else if(Ext.isString(b)){a=Ext.ClassManager.get(b);if(a&&(!a.prototype||!a.prototype.isEntity)){a=null}if(!a){for(d in e){f=e[d];c=f.getEntity(b);if(c){if(a){Ext.raise('Ambiguous entity name "'+b+'". Defined by schema "'+a.schema.type+'" and "'+d+'"')}a=c}}}if(!a){Ext.raise('No such Entity "'+b+'".')}}}return a}},assocCount:0,entityCount:0,config:{defaultIdentifier:null,keyCheckDelay:10,namer:'default',namespace:null,proxy:{type:'ajax',url:'{prefix}/{entityName}'},urlPrefix:''},onClassExtended:function(c,b){var a=b.alias;if(a&&!b.type){if(!Ext.isString(a)){a=a[0]}c.prototype.type=a.substring(this.prototype.aliasPrefix.length)}},constructor:function(a){this.initConfig(a);this.clear()},applyDefaultIdentifier:function(a){return a&&Ext.Factory.dataIdentifier(a)},applyNamer:function(b){var a=Ext.data.schema.Namer.create(b);a.schema=this;return a},applyNamespace:function(a){if(a){var b=a.length-1;if(a.charAt(b)!=='.'){a+='.'}}return a},applyProxy:function(a){return Ext.util.ObjectTemplate.create(a)},eachAssociation:function(d,c){var b=this.associations,a;for(a in b){if(b.hasOwnProperty(a)){if(d.call(c,a,b[a])===!1){break}}}},eachEntity:function(d,c){var b=this.entities,a;for(a in b){if(b.hasOwnProperty(a)){if(d.call(c,a,b[a].cls)===!1){break}}}},getAssociation:function(b){var a=this.associations[b];return a||null},getEntity:function(b){var a=this.entityClasses[b]||this.entities[b];return (a&&a.cls)||null},getEntityName:function(c){var d=this.getNamespace(),b,a;if(typeof c==='string'){a=c}else {a=c.$className||null}if(a){if(d){b=d.length;if(a.substring(0,b)!==d){return a}}if(b){a=a.substring(b)}}return a},hasAssociations:function(a){a=a.entityName||a;return !!this.associationEntityMap[a]},hasEntity:function(b){var a=this.getEntityName(b);return !!(this.entities[a]||this.entityClasses[a])},addMatrix:function(n,k,l,j,i){var a=this,h=a.getNamer(),m=a.associations,g=a.entities,c=j.type,b=i.type,p=j.field||h.apply('idField',c),o=i.field||h.apply('idField',b),r=j.role||h.matrixRole(l,c),q=i.role||h.matrixRole(l,b),d,f,e;f=g[c]||(g[c]={cls:null,name:c,associations:{}});e=g[b]||(g[b]={cls:null,name:b,associations:{}});++a.assocCount;m[k]=d=new Ext.data.schema.ManyToMany({name:k,schema:a,definedBy:n,left:{cls:f.cls,type:c,role:r,field:p,associationKey:j.associationKey},right:{cls:e.cls,type:b,role:q,field:o,associationKey:i.associationKey}});f.associations[d.right.role]=d.right;e.associations[d.left.role]=d.left;if(f.cls){a.associationEntityMap[f.cls.entityName]=!0}if(e.cls){a.associationEntityMap[e.cls.entityName]=!0}a.decorateModel(d)},addReference:function(g,b,e,o,q){var f=this,k=f.getNamer(),m=f.entities,i=f.associations,l=g.entityName,a=e.association,s=e.child,r=e.parent,c=e.role,d=e.type||r||s,n=e.inverse,p=Ext.isString(n)?{role:n}:n,h=p&&p.role,j,t;if(!c){if(!b||e.legacy){c=k.apply('uncapitalize',d)}else {c=k.apply('fieldRole',b.name)}}if(!h){h=k.inverseFieldRole(l,o,c,d)}if(!a){if(o){a=k.oneToOne(g,h,d,c)}else {a=k.manyToOne(g,h,d,c)}}if(q&&a in i){if(q(i[a],a,h,c)!==!1){return}}if(a in i){Ext.raise('Duplicate association: "'+a+'" declared by '+l+(b?('.'+b.name):'')+' (collides with '+i[a].definedBy.entityName+')')}if(b&&b.definedBy===m[d]){Ext.raise('ForeignKey reference should not be owned by the target model')}j=m[d]||(m[d]={cls:null,name:d,associations:{}});t=o?Ext.data.schema.OneToOne:Ext.data.schema.ManyToOne;a=new t({name:a,owner:s?'left':(r?'right':null),definedBy:g,schema:f,field:b,nullable:b?!!b.allowBlank:!0,left:{cls:g,type:l,role:h,extra:p},right:{cls:j.cls,type:d,role:c,extra:e},meta:e});g.associations[c]=a.right;j.associations[h]=a.left;if(b){b.reference=a.right;g.references.push(b)}++f.assocCount;f.associationEntityMap[l]=!0;if(j.cls){f.associationEntityMap[j.cls.entityName]=!0}i[a.name]=a;if(a.right.cls){f.decorateModel(a)}},privates:{addEntity:function(a){var c=this,i=c.entities,d=a.entityName,b=i[d],j=a.fields,e,g,f,k,h;if(!b){i[d]=b={name:d,associations:{}}}else if(b.cls){Ext.raise('Duplicate entity name "'+d+'": '+b.cls.$className+' and '+a.$className)}else {e=b.associations;for(h in e){e[h].inverse.cls=a;c.associationEntityMap[d]=!0;c.decorateModel(e[h].association)}}b.cls=a;a.prototype.associations=a.associations=b.associations;c.entityClasses[a.$className]=b;++c.entityCount;for(f=0,k=j.length;f<k;++f){g=j[f];if(g.reference){c.addReferenceDescr(a,g)}}},addMatrices:function(c,a){var e=this,b,f,d;if(Ext.isString(a)){e.addMatrixDescr(c,null,a)}else if(a[0]){for(b=0,f=a.length;b<f;++b){e.addMatrixDescr(c,null,a[b])}}else {for(d in a){e.addMatrixDescr(c,d,a[d])}}},addMatrixDescr:function(l,f,a){var j=this,e=l.entityName,h=j.associations,i=j.getNamer(),d=a.left,c=a.right,n,k;if(Ext.isString(a)){if(a.charAt(0)==='#'){d={type:e};c={type:a.substring(1)}}else if(a.charAt(n=a.length-1)==='#'){d={type:a.substring(0,n)};c={type:e}}else if(i.apply('multiRole',e)<i.apply('multiRole',a)){d={type:e};c={type:a}}else {d={type:a};c={type:e}}}else {Ext.Assert.isString(a.type,'No "type" for manyToMany in '+e);k=a.relation;if(d||(!c&&i.apply('multiRole',e)<i.apply('multiRole',a.type))){if(!d||d===!0){d={type:e}}else {d=Ext.apply({type:e},d)}c=a}else {if(!c||c===!0){c={type:e}}else {c=Ext.apply({type:e},c)}d=a}}if(!f){f=i.manyToMany(k,d.type,c.type)}if(!(f in h)){j.addMatrix(l,f,k,d,c)}else {var b=h[f],m=[b.kind,b.left.type,b.left.role,b.left.field,b.right.type,b.right.role,b.right.field].join('|');delete h[f];j.addMatrix(l,f,k,d,c);var g=h[f];h[f]=b;b.left.cls.associations[b.right.role]=b.right;b.right.cls.associations[b.left.role]=b.left;--j.assocCount;g=[g.kind,g.left.type,g.left.role,g.left.field,g.right.type,g.right.role,g.right.field].join('|');if(m!=g){Ext.log.warn(f+'('+b.definedBy.entityName+'): '+m);Ext.log.warn(f+'('+e+'): '+g);Ext.raise('Conflicting association: "'+f+'" declared by '+e+' was previously declared by '+b.definedBy.entityName)}}},addReferenceDescr:function(c,b){var d=this,a=b.$reference;if(Ext.isString(a)){a={type:a}}else {a=Ext.apply({},a)}d.addReference(c,b,a,b.unique)},addBelongsTo:function(a,b){this.addKeylessSingle(a,b,!1)},addHasOne:function(a,b){this.addKeylessSingle(a,b,!0)},addKeylessSingle:function(c,a,e){var d,b;a=Ext.apply({},this.checkLegacyAssociation(c,a));a.type=this.getEntityName(a.child||a.parent||a.type);d=a.foreignKey||(a.type.toLowerCase()+'_id');b=c.getField(d);a.fromSingle=!0;if(b){b.$reference=a;b.unique=!0;a.legacy=!0;Ext.log.warn('Using foreignKey is deprecated, use a keyed association. See Ext.data.field.Field.reference')}this.addReference(c,b,a,e)},addHasMany:function(f,a){var i=this,m=i.entities,g=i.pending,c,b,e,h,k,d,l,j;a=Ext.apply({},this.checkLegacyAssociation(f,a));a.type=this.getEntityName(a.child||a.parent||a.type);b=a.type;h=m[b];c=h&&h.cls;if(c){b=f.entityName;k=a.foreignKey||(b.toLowerCase()+'_id');delete a.foreignKey;j=Ext.apply({},a.inverse);delete a.inverse;d=Ext.apply({},a);delete d.type;a=Ext.apply({type:b,inverse:d},j);l=d.child;if(l){delete d.child;a.parent=b}e=c.getField(k);if(e){e.$reference=a;a.legacy=!0;Ext.log.warn('Using foreignKey is deprecated, use a keyed association. See Ext.data.field.Field.reference')}i.addReference(c,e,a,!1,function(b,j,i,h){var d=!!b.meta.fromSingle&&c===b.left.cls,e,g;if(d){e=c.entityName;g=f.entityName;Ext.raise('hasMany ("'+g+'") and belongsTo ("'+e+'") should not be used in conjunction to declare a relationship. Use only one.')}return d})}else {if(!g[b]){g[b]=[]}g[b].push([f,a])}},checkLegacyAssociation:function(c,a){if(Ext.isString(a)){a={type:a}}else {a=Ext.apply({},a)}if(a.model){a.type=a.model;delete a.model}var b=a.associatedName||a.name;if(b){delete a.associatedName;delete a.name;a.role=b}return a},afterKeylessAssociations:function(f){var c=this.pending,d=f.entityName,b=c[d],a,e;if(b){for(a=0,e=b.length;a<e;++a){this.addHasMany.apply(this,b[a])}delete c[d]}},clear:function(c){var a=this,b=a.timer;delete a.setConfig;if(b){window.clearTimeout(b);a.timer=null}a.associations={};a.associationEntityMap={};a.entities={};a.entityClasses={};a.pending={};a.assocCount=a.entityCount=0;if(c){a.setNamespace(null)}},constructProxy:function(c){var b=this,a=Ext.Object.chain(c),d=b.getProxy();a.schema=b;a.prefix=b.getUrlPrefix();return d.apply(a)},applyDecoration:function(a){var g=this,f=a.inverse.cls,e=g.getNamer(),b,c,d;if(f&&!a.decorated){a.decorated=!0;d=f.prototype;if(!(b=a.getterName)){a.getterName=b=e.getterName(a)}d[b]=a.createGetter();if(a.createSetter){if(!(c=a.setterName)){a.setterName=c=e.setterName(a)}d[c]=a.createSetter()}}},decorateModel:function(a){this.applyDecoration(a.left);this.applyDecoration(a.right)},processKeyChecks:function(g){var a=this,b=a.keyCheckQueue,e=a.timer,f,c,d;if(e){window.clearTimeout(e);a.timer=null}if(!b){return}do{b=a.keyCheckQueue;a.keyCheckQueue=[];for(c=0,f=b.length;c<f;++c){d=b[c];d.role.checkKeyForDrop(d.record)}}while(g&&a.keyCheckQueue.length)},queueKeyCheck:function(d,e){var a=this,b=a.keyCheckQueue,c=a.timer;if(!b){a.keyCheckQueue=b=[]}b.push({record:d,role:e});if(!c){a.timer=c=Ext.defer(a.processKeyChecks,a.getKeyCheckDelay(),a)}},rankEntities:function(){var a=this,e=a.entities,c=Ext.Object.getKeys(e),f=c.length,d,b;a.nextRank=1;c.sort();for(b=0;b<f;++b){d=e[c[b]].cls;if(!d.rank){a.rankEntity(d)}}a.topoStack=null},rankEntity:function(a){var e=a.associations,c,b,g;var d=this.topoStack||(this.topoStack=[]),f=a.entityName;d.push(f);if(a.rank===0){Ext.raise(f+" has circular foreign-key references: "+d.join(" --> "))}a.rank=0;for(g in e){b=e[g];if(!b.left&&b.association.field){c=b.cls;if(!c.rank){this.rankEntity(c)}}}a.rank=this.nextRank++;d.pop()}}});Ext.define('Ext.data.AbstractStore',{mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],factoryConfig:{defaultType:'store',type:'store'},$configPrefixed:!1,$configStrict:!1,config:{filters:null,autoDestroy:undefined,storeId:null,statefulFilters:!1,sorters:null,remoteSort:{lazy:!0,$value:!1},remoteFilter:{lazy:!0,$value:!1},groupField:undefined,groupDir:'ASC',grouper:null,pageSize:25,autoSort:null,reloadOnClearSorters:!1},currentPage:1,loading:!1,isStore:!0,updating:0,constructor:function(b){var a=this,c;a.callParent([b]);a.isInitializing=!0;a.mixins.observable.constructor.call(a,b);a.isInitializing=!1;c=a.getStoreId();if(!c&&(b&&b.id)){a.setStoreId(c=b.id)}if(c){Ext.data.StoreManager.register(a)}},createActiveRange:function(a){var b=Ext.apply({store:this},a);return new Ext.data.Range(b)},syncActiveRanges:function(){var b=this.activeRanges,c=b&&b.length,a;for(a=0;a<c;a++){b[a].refresh()}},getCount:function(){var a=this.getData();return a?a.getCount():0},rangeCached:function(a,b){return this.getData().getCount()>=Math.max(a,b)},find:function(g,h,d,e,b,c){var a=!e,f=!!(a&&c);return this.getData().findIndex(g,h,d,a,f,!b)},findRecord:function(){var a=this,b=a.find.apply(a,arguments);return b!==-1?a.getAt(b):null},findExact:function(b,c,a){return this.getData().findIndexBy(function(d){return d.isEqual(d.get(b),c)},this,a)},findBy:function(c,a,b){return this.getData().findIndexBy(c,a,b)},getAt:function(a){return this.getData().getAt(a)||null},getRange:function(d,b,a){var c=this.getData().getRange(d,Ext.isNumber(b)?b+1:b);if(a&&a.callback){a.callback.call(a.scope||this,c,d,b,a)}return c},getFilters:function(b){var a=this.callParent();if(!a&&b!==!1){this.setFilters([]);a=this.callParent()}return a},applyFilters:function(c,a){var b;if(!a){a=this.createFiltersCollection();b=!0}a.add(c);if(b){this.onRemoteFilterSet(a,this.getRemoteFilter())}return a},getSorters:function(b){var a=this.callParent();if(!a&&b!==!1){this.setSorters([]);a=this.callParent()}return a},applySorters:function(c,a){var b;if(!a){a=this.createSortersCollection();b=!0}a.add(c);if(b){this.onRemoteSortSet(a,this.getRemoteSort())}return a},filter:function(a,c,b){if(Ext.isString(a)){a={property:a,value:c}}this.suppressNextFilter=!!b;this.getFilters().add(a);this.suppressNextFilter=!1},removeFilter:function(a,d){var b=this,c=b.getFilters();b.suppressNextFilter=!!d;if(a instanceof Ext.util.Filter){c.remove(a)}else {c.removeByKey(a)}b.suppressNextFilter=!1},updateAutoSort:function(a){this.getData().setAutoSort(a)},updateRemoteSort:function(a){this.onRemoteSortSet(this.getSorters(!1),a)},updateRemoteFilter:function(a){this.onRemoteFilterSet(this.getFilters(!1),a)},addFilter:function(b,a){this.suppressNextFilter=!!a;this.getFilters().add(b);this.suppressNextFilter=!1},filterBy:function(b,a){this.getFilters().add({filterFn:b,scope:a||this})},clearFilter:function(c){var b=this,a=b.getFilters(!1);if(!a||a.getCount()===0){return}b.suppressNextFilter=!!c;a.removeAll();b.suppressNextFilter=!1},isFiltered:function(){return this.getFilters().getCount()>0},isSorted:function(){var a=this.getSorters(!1);return !!(a&&a.length>0)||this.isGrouped()},addFieldTransform:function(b){if(b.getTransform()){return}var e=b.getProperty(),d=this.getModel(),c,a;if(d){c=d.getField(e);a=c?c.getSortType():null}if(a&&a!==Ext.identityFn){b.setTransform(a)}},beginUpdate:function(){if(!this.updating++&&this.hasListeners.beginupdate){this.fireEvent('beginupdate')}},endUpdate:function(){if(this.updating&&!--this.updating){if(this.hasListeners.endupdate){this.fireEvent('endupdate')}this.onEndUpdate()}},getState:function(){var c=this,e=[],g=c.getFilters(),f=c.getGrouper(),a,d,b;c.getSorters().each(function(a){e[e.length]=a.getState();d=!0});if(c.statefulFilters&&c.saveStatefulFilters){d=!0;a=[];g.each(function(b){a[a.length]=b.getState()})}if(f){d=!0}if(d){b={};if(e.length){b.sorters=e}if(a){b.filters=a}if(f){b.grouper=f.getState()}}return b},applyState:function(b){var a=this,e=b.sorters,c=b.filters,d=b.grouper;if(e){a.getSorters().replaceAll(e)}if(c){a.saveStatefulFilters=!0;a.getFilters().replaceAll(c)}if(d){a.setGrouper(d)}},hasPendingLoad:Ext.emptyFn,isLoaded:Ext.emptyFn,isLoading:Ext.emptyFn,destroy:function(){var a=this;if(a.hasListeners.beforedestroy){a.fireEvent('beforedestroy',a)}a.destroying=!0;if(a.getStoreId()){Ext.data.StoreManager.unregister(a)}a.doDestroy();if(a.hasListeners.destroy){a.fireEvent('destroy',a)}a.destroying=!1;a.callParent()},doDestroy:Ext.emptyFn,sort:function(c,b,d){var a=this;if(arguments.length===0){if(a.getRemoteSort()){a.load()}else {a.forceLocalSort()}}else {a.getSorters().addSort(c,b,d)}},onBeforeCollectionSort:function(b,a){if(a){this.fireEvent('beforesort',this,a.getRange())}},onSorterEndUpdate:function(){var a=this,d=!0,b=a.getSorters(!1),c;if(a.settingGroups||!b){return}b=b.getRange();c=b.length;if(a.getRemoteSort()){if(b.length||a.getReloadOnClearSorters()){d=!1;a.load({callback:function(){a.fireEvent('sort',a,b)}})}}else if(c){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}if(d){a.fireEvent('sort',a,b)}},onFilterEndUpdate:function(){var a=this,b=a.suppressNextFilter,c=a.getFilters(!1);if(!c){return}if(a.getRemoteFilter()){a.getFilters().each(function(a){if(a.getInitialConfig().filterFn){Ext.raise('Unable to use a filtering function in conjunction with remote filtering.')}});a.currentPage=1;if(!b){a.load()}}else if(!b){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}if(a.trackStateChanges){a.saveStatefulFilters=!0}a.fireEvent('filterchange',a,a.getFilters().getRange())},updateGroupField:function(a){if(a){this.setGrouper({property:a,direction:this.getGroupDir()})}else {this.setGrouper(null)}},getGrouper:function(){return this.getData().getGrouper()},group:function(b,e){var a=this,d=a.getSorters(!1),f=b||(d&&d.length),c=a.getData();if(b&&typeof b==='string'){b={property:b,direction:e||a.getGroupDir()}}a.settingGroups=!0;if(b===c.getGrouper()){c.updateGrouper(b)}else {c.setGrouper(b)}delete a.settingGroups;if(f){if(a.getRemoteSort()){if(!a.isInitializing){a.load({scope:a,callback:a.fireGroupChange})}}else {a.fireEvent('datachanged',a);a.fireEvent('refresh',a);a.fireGroupChange()}}else {a.fireGroupChange()}},fireGroupChange:function(){if(!this.destroyed){this.fireEvent('groupchange',this,this.getGrouper())}},clearGrouping:function(){this.group(null)},getGroupField:function(){var a=this.getGrouper(),b='';if(a){b=a.getProperty()}return b},isGrouped:function(){return !!this.getGrouper()},applyGrouper:function(a){this.group(a);return this.getData().getGrouper()},getGroups:function(){return this.getData().getGroups()},onEndUpdate:Ext.emptyFn,privates:{_metaProperties:{count:'getCount',first:'first',last:'last',loading:'hasPendingLoad',totalCount:'getTotalCount'},interpret:function(c){var b=this,a=b._metaProperties[c];return a&&b[a]()},loadsSynchronously:Ext.privateFn,onRemoteFilterSet:function(a,b){if(a){a[b?'on':'un']('endupdate','onFilterEndUpdate',this)}},onRemoteSortSet:function(d,c){var b=this,a;if(d){d[c?'on':'un']('endupdate','onSorterEndUpdate',b);a=b.getData();if(a){a[c?'un':'on']('beforesort','onBeforeCollectionSort',b)}}}},deprecated:{5:{methods:{destroyStore:function(){this.destroy()}}}}});Ext.define('Ext.data.Error',{isError:!0,$configPrefixed:!1,config:{field:null,message:''},constructor:function(a){this.initConfig(a);this.msg=this.message}});Ext.define('Ext.data.ErrorCollection',{extend:Ext.util.MixedCollection,alternateClassName:'Ext.data.Errors',init:function(d){var b=this,h=d.fields,k=d.data,g,a,l,c,i,f,j,e;for(c=0,i=h.length;c<i;++c){a=h[c];e=a.name;j=k[e];if(a.validate&&!a.validate.$nullFn){g=b.length;f=a.validate(j,null,b,d);if(g===b.length&&f!==!0){b.add(e,f)}}}return b},add:function(b,f){var d=this,e=Ext.data.field.Field.defaultInvalidMessage,a=b,c;if(Ext.isString(b)){a=new Ext.data.Error({field:b,message:f||e})}else {if(!(a.isError)){a=new Ext.data.Error({field:a.field||a.name,message:a.error||a.message||a.msg||e})}b=a.field}c=d.get(b);if(c){if(Ext.isArray(c)){c.push(a);return c}d.removeAtKey(b);a=[c,a];a.field=b;a=[a]}return d.callParent([a])},getKey:function(a){return a.field},isValid:function(){return this.length===0},getByField:function(b){var a=this.get(b);if(a&&!Ext.isArray(a)){a=[a]}return a||[]}});Ext.define('Ext.data.operation.Operation',{alternateClassName:'Ext.data.Operation',isOperation:!0,config:{synchronous:!1,url:'',params:undefined,callback:undefined,scope:undefined,resultSet:null,response:null,request:null,records:null,id:undefined,proxy:null,batch:null,recordCreator:null,internalCallback:null,internalScope:null},order:0,foreignKeyDirection:1,started:!1,running:!1,complete:!1,success:undefined,exception:!1,error:undefined,idPrefix:'ext-operation-',constructor:function(a){var b=a&&a.scope;this.initConfig(a);if(a){a.scope=b}if(b){this.setScope(b);this.initialConfig.scope=b}this._internalId=Ext.id(this,this.idPrefix)},getAction:function(){return this.action},execute:function(){var a=this,b;delete a.error;delete a.success;a.complete=a.exception=!1;a.setStarted();a.request=b=a.doExecute();if(b){b.setOperation(a)}return b},doExecute:Ext.emptyFn,abort:function(){var a=this,c=a.request,b;a.aborted=!0;if(a.running&&c){b=a.getProxy();if(b&&!b.destroyed){b.abort(c)}a.request=null}a.running=!1},process:function(c,e,d,b){var a=this;b=b!==!1;a.setResponse(d);a.setResultSet(c);if(c.getSuccess()){a.doProcess(c,e,d);a.setSuccessful(b)}else if(b){a.setException(c.getMessage())}},_commitSetOptions:{convert:!0,commit:!0},doProcess:function(l,n,m){var j=this,i=j._commitSetOptions,e=j.getRecords(),k=e.length,g=e[0].clientIdProperty,f=l.getRecords(),h=f?f.length:0,d,c,b,a;if(h&&g){d=Ext.Array.toValueMap(e,'id');for(a=0;a<h;++a){c=f[a];b=d[c[g]];if(b){delete d[b.id];delete c[g];b.set(c,i)}else {Ext.log.warn('Ignoring server record: '+Ext.encode(c))}}for(a in d){d[a].commit()}}else {for(a=0;a<k;++a){b=e[a];if(h===0||!(c=f[a])){b.commit()}else {b.set(c,i)}}}},setStarted:function(){this.started=this.running=!0},setCompleted:function(){var a=this,b;a.complete=!0;a.running=!1;if(!a.destroying){a.triggerCallbacks()}if(a.destroyed){return}b=a.getProxy();if(b&&!b.destroyed){b.completeOperation(a)}},setSuccessful:function(a){this.success=!0;if(a){this.setCompleted()}},setException:function(b){var a=this;a.exception=!0;a.success=a.running=!1;a.error=b;a.setCompleted()},triggerCallbacks:function(){var a=this,b=a.getInternalCallback();if(b){b.call(a.getInternalScope()||a,a);if(a.destroyed){return}a.setInternalCallback(null);a.setInternalScope(null)}if(b=a.getCallback()){b.call(a.getScope()||a,a.getRecords(),a,a.wasSuccessful());if(a.destroyed){return}a.setCallback(null);a.setScope(null)}},hasException:function(){return this.exception},getError:function(){return this.error},getRecords:function(){var a;return this._records||((a=this.getResultSet())?a.getRecords():null)},isStarted:function(){return this.started},isRunning:function(){return this.running},isComplete:function(){return this.complete},wasSuccessful:function(){return this.isComplete()&&this.success===!0},allowWrite:function(){return !0},destroy:function(){var a=this;a.destroying=!0;if(a.running){a.abort()}a._params=a._callback=a._scope=a._resultSet=a._response=null;a.request=a._request=a._records=a._proxy=a._batch=null;a._recordCreator=a._internalCallback=a._internalScope=null;a.callParent()}});Ext.define('Ext.data.operation.Create',{extend:Ext.data.operation.Operation,alias:'data.operation.create',action:'create',isCreateOperation:!0,order:10,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().create(this)}});Ext.define('Ext.data.operation.Destroy',{extend:Ext.data.operation.Operation,alias:'data.operation.destroy',action:'destroy',isDestroyOperation:!0,order:30,foreignKeyDirection:-1,doProcess:function(){var b=this.getRecords(),c=b.length,a;for(a=0;a<c;++a){b[a].setErased()}},doExecute:function(){return this.getProxy().erase(this)},getRecordData:function(a,e){var b={},d=a.idField,c=this.getNameProperty()||'name';b[d[c]]=a.id;return b}});Ext.define('Ext.data.operation.Read',{extend:Ext.data.operation.Operation,alias:'data.operation.read',action:'read',isReadOperation:!0,config:{filters:undefined,sorters:undefined,grouper:undefined,start:undefined,limit:undefined,page:undefined,addRecords:!1},doExecute:function(){return this.getProxy().read(this)},doProcess:Ext.emptyFn,allowWrite:function(){return !1}});Ext.define('Ext.data.operation.Update',{extend:Ext.data.operation.Operation,alias:'data.operation.update',action:'update',isUpdateOperation:!0,order:20,config:{recordCreator:Ext.identityFn},doExecute:function(){return this.getProxy().update(this)}});Ext.define('Ext.data.SortTypes',function(){var a;return {singleton:!0,constructor:function(){a=this},none:Ext.identityFn,stripCommasRe:/,/g,stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return (b!=null)?String(b).replace(a.stripTagsRE,''):'\x00'},asUCText:function(b){return (b!=null)?String(b).toUpperCase().replace(a.stripTagsRE,''):'\x00'},asUCString:function(a){return (a!=null)?String(a).toUpperCase():'\x00'},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(c){var b=parseFloat(String(c).replace(a.stripCommasRe,''));return isNaN(b)?0:b},asInt:function(c){var b=parseInt(String(c).replace(a.stripCommasRe,''),10);return isNaN(b)?0:b}}});Ext.define('Ext.data.validator.Validator',{mixins:[Ext.mixin.Factoryable],alias:'data.validator.base',isValidator:!0,factoryConfig:{cacheable:!0},type:'base',constructor:function(a){if(typeof a==='function'){this.fnOnly=!0;this.validate=a}else {this.initConfig(a)}},validate:function(){return !0},clone:function(){var a=this;if(a.fnOnly){return new Ext.data.validator.Validator(a.validate)}return new a.self(a.getCurrentConfig())}},function(a){Ext.Factory.validator=Ext.Factory.dataValidator});Ext.define('Ext.data.field.Field',{mixins:[Ext.mixin.Factoryable],alternateClassName:'Ext.data.Field',alias:'data.field.auto',aliasPrefix:'data.field.',type:'auto',factoryConfig:{defaultProperty:'name'},isDataField:!0,isField:!0,allowBlank:!0,allowNull:!1,critical:!1,defaultInvalidMessage:'This field is invalid',defaultValue:undefined,definedBy:null,depends:null,dependents:null,mapping:null,name:null,ordinal:undefined,persist:null,reference:null,summary:null,summaryField:'',unique:!1,rank:null,stripRe:/[\$,%]/g,calculated:!1,evil:!1,identifier:!1,onClassExtended:function(f,d){var b=d.sortType,c=f.prototype,e=c.validators,a=d.validators;if(b&&Ext.isString(b)){c.sortType=Ext.data.SortTypes[b]}if(a){if(!Ext.isArray(a)){a=[a]}delete d.validators;if(e){a=e.concat(a)}c.validators=a}},argumentNamesRe:/^function\s*\(\s*([^,\)\s]+)/,calculateRe:/[^\.a-z0-9_]([a-z_][a-z_0-9]*)\.([a-z_][a-z_0-9]*)/gi,constructor:function(d){var a=this,n=a.calculateRe,c,l,f,h,b,j,e,m,k,i,g;if(d){if(Ext.isString(d)){a.name=d}else {g=d.validators;if(g){delete d.validators;a.instanceValidators=g}Ext.apply(a,d)}}if(!a.allowNull){a.allowNull=!!a.reference}c=a.calculate;b=a.depends;if(c){a.convert=a.doCalculate;if(!b){if(!(b=c.$depends)){j={};k=Ext.Function.toCode(c);c.$depends=b=[];e=a.argumentNamesRe.exec(k);m=e?e[1]:'data';while((e=n.exec(k))){if(m===e[1]&&!j[i=e[2]]){j[i]=1;b.push(i)}}}a.depends=b}}f=a.defaultValue;if(a.convert){a.calculated=l=a.convert.length>1;a.evil=l&&!b}if(a.persist===null){a.persist=!c}h=a.sortType;if(!a.sortType){a.sortType=Ext.data.SortTypes.none}else if(Ext.isString(h)){a.sortType=Ext.data.SortTypes[h]}if(b&&typeof b==='string'){a.depends=[b]}a.cloneDefaultValue=f!==undefined&&(Ext.isDate(f)||Ext.isArray(f)||Ext.isObject(f))},setModelValidators:function(a){this._validators=null;this.modelValidators=a},constructValidators:function(a){if(a){if(!(a instanceof Array)){a=[a]}var f=a.length,g=this._validators,d,b,c,e;for(d=0;d<f;++d){b=a[d];if(b.fn){b=b.fn}c=Ext.Factory.dataValidator(b);if(!c.isPresence){g.push(c)}else {e=c}}if(e){this.presence=[e]}}},collate:function(d,e){var c=this,a=d,b=e;if(c.sortType){a=c.sortType(a);b=c.sortType(b)}return (a===b)?0:((a<b)?-1:1)},compare:function(a,b){return (a===b)?0:((a<b)?-1:1)},isEqual:function(a,b){return this.compare(a,b)===0},convert:null,serialize:null,validate:function(a,e,f,g){var d=this,h=d.getValidators(),c,b;b=this.presence;if(b&&(a==null||a==='')){c=d.validateGroup(b,a,e,f,g);if(c!==!0){return c}}return d.validateGroup(h,a,e,f,g)},validateGroup:function(e,j,f,c,i){var b='',g,h,d,a;for(d=0,h=e.length;d<h;++d){g=e[d];a=g.validate(j,i);if(a!==!0){a=a||this.defaultInvalidMessage;if(c){if(c.isMixedCollection){c.add(this.name,a)}else if(c.isCollection){c.add(a)}else {c.push(a)}b=b||a}else if(f){if(b){b+=f}b+=a}else {b=a;break}}}return b||!0},doCalculate:function(b,a){return a?this.calculate(a.data):b},getName:function(){return this.name},getAllowBlank:function(){return this.allowBlank},getAllowNull:function(){return this.allowNull},getConvert:function(){return this.convert},getDefaultValue:function(){return this.defaultValue},getDepends:function(){return this.depends},getMapping:function(){return this.mapping},hasMapping:function(){var a=this.mapping;return !!(a||a===0)},getPersist:function(){return this.persist},getSortType:function(){return this.sortType},getSummary:function(){var b=this,c=b.doneSummary,a=b.summary;if(!c){b.doneSummary=!0;if(a){b.summary=a=Ext.Factory.dataSummary(a)}}return a||null},getType:function(){return 'auto'},privates:{getValidators:function(){var a=this,b=a._validators;if(!b){a._validators=b=[];a.constructValidators(a.validators);a.constructValidators(a.modelValidators);a.constructValidators(a.instanceValidators)}return b}},deprecated:{5.1:{methods:{getSortDir:function(){return this.sortDir}}}}});Ext.define('Ext.data.field.Boolean',{extend:Ext.data.field.Field,alias:['data.field.bool','data.field.boolean'],isBooleanField:!0,trueRe:/^\s*(?:true|yes|on|1)\s*$/i,convert:function(a){if(typeof a==='boolean'){return a}if(this.allowNull&&(a===undefined||a===null||a==='')){return null}return this.trueRe.test(String(a))},getType:function(){return 'bool'}});Ext.define('Ext.data.field.Date',{extend:Ext.data.field.Field,alias:'data.field.date',sortType:'asDate',isDateField:!0,dateFormat:null,dateReadFormat:null,dateWriteFormat:null,compare:function(d,e){var b=d instanceof Date,c=e instanceof Date,a;if(c&&b){a=d.getTime()-e.getTime();if(a===0){a=0}else {a=a<0?-1:1}}else if(b===c){a=0}else {a=b?1:-1}return a},convert:function(a){if(!a){return null}if(a instanceof Date){return a}var c=this.dateReadFormat||this.dateFormat,b;if(c){return Ext.Date.parse(a,c,this.useStrict)}b=Date.parse(a);return b?new Date(b):null},serialize:function(b){var c=null,a;if(Ext.isDate(b)){a=this.getDateWriteFormat();c=a?Ext.Date.format(b,a):b}return c},getDateFormat:function(){return this.dateFormat},getDateReadFormat:function(){return this.dateReadFormat},getDateWriteFormat:function(){var a=this;if(a.hasOwnProperty('dateWriteFormat')){return a.dateWriteFormat}if(a.hasOwnProperty('dateFormat')){return a.dateFormat}return a.dateWriteFormat||a.dateFormat||'timestamp'},getType:function(){return 'date'}});Ext.define('Ext.data.field.Integer',{extend:Ext.data.field.Field,alias:['data.field.int','data.field.integer'],isNumeric:!0,isIntegerField:!0,numericType:'int',convert:function(b){if(typeof b==='number'){return this.getNumber(b)}var d=b==null||b==='',c=this.allowNull,a;if(d){a=c?null:0}else {a=this.parse(b);if(c&&isNaN(a)){a=null}}return a},getNumber:function(a){return parseInt(a,10)},getType:function(){return this.numericType},parse:function(a){return parseInt(String(a).replace(this.stripRe,''),10)},sortType:function(a){if(a==null){a=Infinity}return a}});Ext.define('Ext.data.field.Number',{extend:Ext.data.field.Integer,alias:['data.field.float','data.field.number'],isIntegerField:!1,isNumberField:!0,numericType:'float',getNumber:Ext.identityFn,parse:function(a){return parseFloat(String(a).replace(this.stripRe,''))}});Ext.define('Ext.data.field.String',{extend:Ext.data.field.Field,alias:'data.field.string',sortType:'asUCString',isStringField:!0,convert:function(a){var b=this.allowNull?null:'';return (a===undefined||a===null)?b:String(a)},getType:function(){return 'string'}});Ext.define('Ext.data.identifier.Generator',{'abstract':!0,mixins:[Ext.mixin.Factoryable],alias:'data.identifier.default',factoryConfig:{defaultType:'sequential'},isGenerator:!0,config:{id:null},constructor:function(c){var b=this,a;b.initConfig(c);a=b.getId();if(a){Ext.data.identifier.Generator.all[a]=b}},privates:{clone:function(b){var a=this.getInitialConfig();a=b?Ext.apply({},b,a):a;return new this.self(a)},statics:{all:{}}}},function(){var b=this,a=Ext.Factory,c=a.dataIdentifier;a.dataIdentifier=function(a){var d=Ext.isString(a)?a:(a&&a.id),e=d&&b.all[d];return e||c(a)}});Ext.define('Ext.data.identifier.Sequential',{extend:Ext.data.identifier.Generator,alias:'data.identifier.sequential',config:{increment:1,prefix:null,seed:1},generate:function(){var a=this,c=a._seed,b=a._prefix;a._seed+=a._increment;return (b!==null)?b+c:c}});Ext.define('Ext.data.Model',{alternateClassName:'Ext.data.Record',isEntity:!0,isModel:!0,validIdRe:null,erasing:!1,loadOperation:null,loadCount:0,observableType:'record',crudState:'R',crudStateWas:null,constructor:function(b,c){var a=this,d=a.self,h=d.identifier,o=Ext.data.Model,l=o.identifier,f=a.idField.name,k,e,i,m,p,g,j;a.data=a.data=b||(b={});a.internalId=m=l.generate();var n=b[f];if(c&&!c.isSession){Ext.raise('Bad Model constructor argument 2 - "session" is not a Session')}if((k=b) instanceof Array){a.data=b={};j=a.getFields();p=Math.min(j.length,k.length);for(g=0;g<p;++g){b[j[g].name]=k[g]}}if(!(i=d.initializeFn)){d.initializeFn=i=o.makeInitializeFn(d)}if(!i.$nullFn){d.initializeFn(a)}if(!a.isSummaryModel){if(!(a.id=e=b[f])&&e!==0){if(n){Ext.raise('The model ID configured in data ("'+n+'") has been rejected by the '+a.fieldsMap[f].type+' field converter for the '+f+' field')}if(c){h=c.getIdentifier(d);e=h.generate()}else if(l===h){e=m}else {e=h.generate()}b[f]=a.id=e;a.phantom=!0;a.crudState='C'}if(c){c.add(a)}if(a.phantom){a.crudStateWas='C'}}if(a.init&&Ext.isFunction(a.init)){a.init()}},editing:!1,dirty:!1,session:null,dropped:!1,erased:!1,clientIdProperty:null,evented:!1,phantom:!1,idProperty:'id',manyToMany:null,identifier:null,previousValues:undefined,proxy:undefined,schema:'default',summary:null,versionProperty:null,generation:1,validationSeparator:null,convertOnSet:!0,beginEdit:function(){var a=this,c=a.modified,b=a.previousValues;if(!a.editing){a.editing=!0;a.editMemento={dirty:a.dirty,data:Ext.apply({},a.data),generation:a.generation,modified:c&&Ext.apply({},c),previousValues:b&&Ext.apply({},b)}}},calculateSummary:function(f){var g=this.getFields(),j=g.length,i=f.length,c,a,d,h,e,b;for(c=0;c<j;++c){b=g[c];d=b.getSummary();if(d){a=a||{};e=b.name;h=b.summaryField||e;a[e]=d.calculate(f,h,'data',0,i)}}if(a){this.set(a,this._commitOptions)}},cancelEdit:function(){var a=this,c=a.editMemento,b=a.validation;if(c){a.editing=!1;Ext.apply(a,c);a.editMemento=null;if(b&&b.syncGeneration!==a.generation){b.syncGeneration=0}}},endEdit:function(d,b){var a=this,c=a.editMemento;if(c){a.editing=!1;a.editMemento=null;a.previousValues=c.previousValues;if(!d){if(!b){b=a.getModifiedFieldNames(c.data)}if(a.dirty||(b&&b.length)){a.callJoined('afterEdit',[b])}}}},getField:function(a){return this.self.getField(a)},getFields:function(){return this.self.getFields()},getFieldsMap:function(){return this.fieldsMap},getIdProperty:function(){return this.idProperty},getId:function(){return this.id},getObservableId:function(){return this.internalId},setId:function(b,a){this.set(this.idProperty,b,a)},getPrevious:function(b){var a=this.previousValues;return a&&a[b]},isModified:function(b){var a=this.modified;return !!(a&&a.hasOwnProperty(b))},getModified:function(a){var b;if(this.isModified(a)){b=this.modified[a]}return b},get:function(a){return this.data[a]},_singleProp:{},_rejectOptions:{convert:!1,silent:!0},set:function(i,A,K){var a=this,G=a.self,v=a.data,f=a.modified,B=a.previousValues,u=a.session,n=Ext.isString(i),e=(n?K:A),y=e?e.convert!==!1:a.convertOnSet,J=a.fieldsMap,E=e&&e.silent,D=e&&e.commit,I=!(e&&e.refs===!1)&&u,F=!(e&&e.dirty===!1&&!D),k=null,d=0,r=a.associations,j,b,z,H,c,q,p,w,s,x,t,o,l,m,h,g,C;if(n){g=a._singleProp;g[i]=A}else {g=i}if(!(l=G.rankedFields)){l=G.rankFields()}t=l.length;do{for(c in g){h=g[c];j=v[c];p=a;b=J[c];if(b){if(y&&b.convert){h=b.convert(h,a)}p=b;m=b.reference}else {m=null}if(p.isEqual(j,h)){continue}v[c]=h;(k||(k=[])).push(c);(B||(a.previousValues=B={}))[c]=j;if(m&&m.cls){if(I){u.updateReference(a,b,h,j)}m.onValueChange(a,u,h,j)}x=(s=b&&b.dependents)&&s.length;while(x-->0){(w=s[x]).dirty=!0;d=d?Math.min(d,w.rank):w.rank}if(!b||b.persist){if(f&&f.hasOwnProperty(c)){if(!F||p.isEqual(f[c],h)){delete f[c];a.dirty=-1}}else if(F){if(!f){a.modified=f={}}a.dirty=!0;f[c]=j}}if(c===a.idField.name){z=!0;q=j;o=h}}if(!d){break}b=l[d-1];b.dirty=!1;if(n){delete g[i]}else {g=a._singleProp;n=!0}i=b.name;g[i]=v[i];y=!0;for(;d<t;++d){if(l[d].dirty){break}}if(d<t){++d}else {d=0}}while(1);if(a.dirty<0){a.dirty=!1;for(H in f){if(f.hasOwnProperty(H)){a.dirty=!0;break}}}if(n){delete g[i]}++a.generation;if(z){a.id=o;a.onIdChanged(o,q);a.callJoined('onIdChanged',[q,o]);if(r){for(C in r){r[C].onIdChanged(a,q,o)}}}if(D){a.commit(E,k)}else if(!E&&!a.editing&&k){a.callJoined('afterEdit',[k])}return k},reject:function(c){var a=this,b=a.modified;if(a.erased){Ext.raise('Cannot reject once a record has been erased.')}if(b){a.set(b,a._rejectOptions)}a.dropped=!1;a.clearState();if(!c){a.callJoined('afterReject')}},commit:function(f,e){var a=this,b=a.versionProperty,d=a.data,c;a.clearState();if(b&&!a.phantom&&!isNaN(d[b])){++d[b]}a.phantom=!1;if(a.dropped){a.erased=c=!0}if(!f){if(c){a.callJoined('afterErase')}else {a.callJoined('afterCommit',[e])}}},clearState:function(){var a=this;a.dirty=a.editing=!1;a.editMemento=a.modified=null},drop:function(d){var a=this,b=a.associations,e=a.session,c;if(a.erased||a.dropped){return}a.dropped=!0;if(b&&d!==!1){for(c in b){b[c].onDrop(a,e)}}a.callJoined('afterDrop');if(a.phantom){a.setErased()}},join:function(b){var c=this,a=c.joined;if(!a){a=c.joined=[b]}else if(!a.length){a[0]=b}else {Ext.Array.include(a,b)}if(b.isStore&&!c.store){c.store=b}},unjoin:function(b){var c=this,a=c.joined,e=a&&a.length,d=c.store,f;if(b===c.session){c.session=null}else {if(e===1&&a[0]===b){a.length=0}else if(e){Ext.Array.remove(a,b)}if(d===b){d=null;if(a){for(f=0,e=a.length;f<e;++f){b=a[f];if(b.isStore){d=b;break}}}c.store=d}}},clone:function(d){var a=this,c=a.modified,b=a.copy(a.id,d);if(c){b.modified=Ext.apply({},c)}b.dirty=a.dirty;b.dropped=a.dropped;b.phantom=a.phantom;return b},copy:function(a,e){var c=this,b=Ext.apply({},c.data),d=c.idProperty,f=c.self;if(a||a===0){b[d]=a}else if(a===null){delete b[d]}return new f(b,e)},getProxy:function(){return this.self.getProxy()},getValidation:function(c){var b=this,a=b.validation;if(!a){b.validation=a=new Ext.data.Validation();a.attach(b)}if(c===!0||(c!==!1&&a.syncGeneration!==b.generation)){a.refresh(c)}return a},validate:function(){return new Ext.data.ErrorCollection().init(this)},isValid:function(){return this.getValidation().isValid()},toUrl:function(){var a=this.$className.split('.'),b=a[a.length-1].toLowerCase();return b+'/'+this.getId()},erase:function(b){var a=this;a.erasing=!0;a.drop();a.erasing=!1;return a.save(b)},setErased:function(){this.erased=!0;this.callJoined('afterErase')},getChanges:function(){return this.getData(this._getChangesOptions)},getCriticalFields:function(){var a=this.self,b=a.criticalFields;if(!b){a.rankFields();b=a.criticalFields}return b},getAssociatedData:function(g,a){var c=this,n=c.associations,i,j,b,m,f,o,e,p,l,d,h,k;g=g||{};c.$gathering=1;if(a){a=Ext.apply({},a)}for(l in n){p=n[l];b=p.getAssociatedItem(c);if(!b||b.$gathering){continue}if(b.isStore){b.$gathering=1;m=b.getData().items;o=m.length;f=[];for(j=0;j<o;++j){e=m[j];i=!e.$gathering;e.$gathering=1;if(a){k=a.associated;if(k===undefined){a.associated=i;h=!0}else if(!i){a.associated=!1;h=!0}d=a}else {d=i?c._getAssociatedOptions:c._getNotAssociatedOptions}f.push(e.getData(d));if(h){a.associated=k;h=!1}delete e.$gathering}delete b.$gathering}else {d=a||c._getAssociatedOptions;if(a&&a.associated===undefined){d.associated=!0}f=b.getData(d)}g[l]=f}delete c.$gathering;return g},getData:function(n){var a=this,f={},e=(n===!0)?a._getAssociatedOptions:(n||f),h=a.data,j=e.associated,l=e.changes,p=l&&e.critical,m=l?a.modified:h,o=a.fieldsMap,q=e.persist,k=e.serialize,g,b,i,d,c;if(m){for(d in m){c=h[d];b=o[d];if(b){if(q&&!b.persist){continue}if(k&&b.serialize){c=b.serialize(c,a)}}f[d]=c}}if(p){g=a.self.criticalFields||a.getCriticalFields();for(i=g.length;i-->0;){d=(b=g[i]).name;if(!(d in f)){c=h[d];if(k&&b.serialize){c=b.serialize(c,a)}f[d]=c}}}if(j){if(typeof j==='object'){a.getNestedData(e,f)}else {a.getAssociatedData(f,e)}}return f},getNestedData:function(a,d){var m=this,n=m.associations,g=a.associated,f,e,h,b,j,k,l,c,i;d=d||{};for(c in g){l=n[c];i=g[c];if(i===!0){delete a.associated}else {a.associated=i}e=l.getAssociatedItem(m);if(e.isStore){h=e.getData().items;j=h.length;b=[];for(f=0;f<j;++f){k=h[f];b.push(k.getData(a))}}else {b=e.getData(a)}d[c]=b}a.associated=g;return d},getTransientFields:function(){var a=this.self,b=a.transientFields;if(!b){a.rankFields();b=a.transientFields}return b},isLoading:function(){return !!this.loadOperation},abort:function(){var a=this.loadOperation;if(a){a.abort()}},load:function(b){b=Ext.apply({},b);var a=this,d=b.scope||a,i=a.getProxy(),h=b.callback,c=a.loadOperation,f=a.getId(),e;if(c){e=c.extraCalls;if(!e){e=c.extraCalls=[]}e.push(b);return c}var g=!0;if(a.phantom){g=!1}b.id=f;b.recordCreator=function(e,h,c){var d=a.session;if(c){c.recordCreator=d?d.recordCreator:null}a.set(e,a._commitOptions);if(g&&a.getId()!==f){Ext.raise('Invalid record id returned for '+f+'@'+a.entityName)}return a};b.internalCallback=function(e){var g=e.wasSuccessful()&&e.getRecords().length>0,l=a.loadOperation,i=l.extraCalls,c=[a,e],j=[a,e,g],f,k;a.loadOperation=null;++a.loadCount;if(g){Ext.callback(b.success,d,c)}else {Ext.callback(b.failure,d,c)}Ext.callback(h,d,j);if(i){for(f=0,k=i.length;f<k;++f){b=i[f];if(g){Ext.callback(b.success,d,c)}else {Ext.callback(b.failure,d,c)}Ext.callback(b.callback,d,j)}}a.callJoined('afterLoad')};delete b.callback;a.loadOperation=c=i.createOperation('read',b);c.execute();return c},mergeData:function(a){if(!this.dirty){this.set(a,this._commitOptions)}},save:function(a){a=Ext.apply({},a);var b=this,f=b.phantom,e=b.dropped,h=e?'destroy':(f?'create':'update'),d=a.scope||b,g=a.callback,i=b.getProxy(),c;a.records=[b];a.internalCallback=function(e){var c=[b,e],f=e.wasSuccessful();if(f){Ext.callback(a.success,d,c)}else {Ext.callback(a.failure,d,c)}c.push(f);Ext.callback(g,d,c)};delete a.callback;c=i.createOperation(h,a);if(e&&f){c.setResultSet(Ext.data.reader.Reader.prototype.nullResultSet);b.setErased();c.setSuccessful(!0)}else {c.execute()}return c},statics:{defaultProxy:'memory'},inheritableStatics:{_associatedReadOptions:{recordsOnly:!0,asRoot:!0},loadData:function(b,a){var c;if(b){c=this.getProxy().getReader().readRecords([b],a?{recordCreator:a.recordCreator}:undefined,this._associatedReadOptions)[0]}else {c=new this(b,a)}return c},getSummaryModel:function(){var b=this,c=b.prototype,a=b.summaryModel;if(!a){a=Ext.define(null,{extend:b,fields:c.summaryFields||[],isSummaryModel:!0});a.isSummaryModel=!0;b.summaryModel=c.summaryModel=a}return a||null},addFields:function(a){this.replaceFields(a)},replaceFields:function(k,i){var c=this,n=c.prototype,o=Ext.data.field.Field,d=c.fields,j=c.fieldsMap,f=c.fieldOrdinals,e,a,h,g,b,m,l;if(i===!0){d.length=0;c.fieldsMap=j={};c.fieldOrdinals=f={};l=!0}else if(i){for(a=i.length;a-->0;){b=i[a];if(b in f){delete f[b];delete j[b]}}for(a=0,g=d.length;a<g;++a){b=(e=d[a]).name;if(b in f){f[b]=a}else {d.splice(a,1);--a;--g}}}for(a=0,g=k?k.length:0;a<g;a++){b=(e=k[a]).name;if(!(b in f)){f[b]=m=d.length;d.push(e=o.create(e));j[b]=e;e.ordinal=m;e.definedBy=e.owner=this}}if(!l){for(a=0,g=d.length;a<g;++a){d[a].rank=null}}c.idField=n.idField=h=j[n.idProperty];if(h){h.allowNull=h.critical=h.identifier=!0;h.defaultValue=null}c.initializeFn=c.rankedFields=c.transientFields=c.criticalFields=null},removeFields:function(a){this.replaceFields(null,a)},getIdFromData:function(b){var c=this,a=c.idField,d=a.calculated?(new c(b)).id:b[a.name];return d},createWithId:function(c,b,e){var a=b,d=this;if(c||c===0){a={};if(b){Ext.apply(a,b)}a[d.idField.name]=c}return new d(a,e)},getFields:function(){return this.fields},getFieldsMap:function(){return this.fieldsMap},getField:function(a){return this.fieldsMap[a]||null},getProxy:function(){var b=this,a=b.proxy,d=b.defaultProxy,c;if(!a){a=b.proxyConfig;if(!a&&d){a=d}if(!a||!a.isProxy){if(typeof a==='string'){a={type:a}}c=Ext.merge(b.schema.constructProxy(b),a);if(a&&a.type){a=a.schema===!1?a:c}else {a=c}}a=b.setProxy(a)}return a},setProxy:function(a){var b=this,c;if(a){if(!a.isProxy){a=Ext.Factory.proxy(a)}else {c=a.getModel();if(c&&c!==b){a=a.clone()}}a.setModel(b)}return (b.prototype.proxy=b.proxy=a)},load:function(d,e,b){var c={},a;if(b){a=b.peekRecord(this,d)}if(!a){c[this.prototype.idProperty]=d;a=new this(c,b)}a.load(e);return a}},deprecated:{5:{methods:{hasId:null,markDirty:null,setDirty:null,eachStore:function(c,d){var f=this,b=f.stores,e=b.length,a;for(a=0;a<e;++a){c.call(d,b[a])}},join:function(b){var a=this,d=a.stores,c=a.joined;if(!c){c=a.joined=[b]}else {c.push(b)}if(b.isStore){a.store=a.store||b;if(!d){d=a.stores=[]}d.push(b)}},unjoin:function(b){var c=this,d=c.stores,a=c.joined;if(a.length===1){a.length=0}else {Ext.Array.remove(a,b)}if(b.isStore){Ext.Array.remove(d,b);c.store=d[0]||null}}},properties:{persistenceProperty:null},inheritableStatics:{methods:{setFields:null}}}},privates:{_commitOptions:{commit:!0},_getChangesOptions:{changes:!0},_getAssociatedOptions:{associated:!0},_getNotAssociatedOptions:{associated:!1},_metaProperties:{dirty:'isDirty',phantom:'isPhantom',valid:'isValid'},copyFrom:function(c){var a=this,i=a.fields,k=i.length,g=[],j,f=0,e,h,l=a.idProperty,b,d;if(c){e=a.data;h=c.data;for(;f<k;f++){j=i[f];b=j.name;if(b!==l){d=h[b];if(d!==undefined&&!a.isEqual(e[b],d)){e[b]=d;g.push(b)}}}if(a.phantom&&!c.phantom){a.beginEdit();a.setId(c.getId());a.endEdit(!0);a.commit(!0)}}return g},callJoined:function(h,b){var a=this,e=a.joined,d=a.session,i=a.dropped?'D':(a.phantom?'C':(a.dirty?'U':'R')),g,j,c,f;a.crudState=i;if(e||d){if(b){b.unshift(a)}else {b=[a]}c=d&&d[h];if(c){c.apply(d,b)}if(e){for(g=0,j=e.length;g<j;++g){f=e[g];if(f&&(c=f[h])){c.apply(f,b)}}}}a.crudStateWas=i},hasPendingLoad:function(){return this.isLoading()},interpret:function(b){var c=this,a=c._metaProperties[b];if(!a){a=c.associations;a=a&&a[b]&&a[b].getterName}if(a){return c[a]()}return c.data[b]},isDirty:function(){return this.dirty},isPhantom:function(){return this.phantom},onAssociatedRecordSet:function(a,b){this.callJoined('afterAssociatedRecordSet',[a,b])},onIdChanged:Ext.privateFn,setSession:function(a){if(a){if(this.session){Ext.raise('This model already belongs to a session.')}if(!this.id){Ext.raise('The model must have an id to participate in a session.')}}this.session=a;if(a){a.add(this)}},getModifiedFieldNames:function(f){var c=this,b=c.data,d=[],e=f||c.editMemento.data,a;for(a in b){if(b.hasOwnProperty(a)){if(!c.isEqual(b[a],e[a],a)){d.push(a)}}}return d},isEqual:function(b,c,a){var d;if(a){d=a.isField?a:this.fieldsMap[a];if(d){return d.isEqual(b,c)}}if(b instanceof Date&&c instanceof Date){return b.getTime()===c.getTime()}return b===c},statics:{EDIT:'edit',REJECT:'reject',COMMIT:'commit',rankFields:function(){var c=this,g=c.prototype,h=c.fields,f=h.length,d=[],j=[],i=[],e,a,b;c.rankedFields=g.rankedFields=d;c.criticalFields=g.criticalFields=j;c.transientFields=g.transientFields=i;for(b=0;b<f;++b){a=h[b];if(a.critical){j.push(a)}if(!a.persist){i.push(a)}if(a.evil){(e||(e=[])).push(a)}else if(!a.depends){d.push(a);a.rank=d.length}}for(b=0;b<f;++b){if(!(a=h[b]).rank&&!a.evil){c.topoAdd(a)}}if(e){for(b=0,f=e.length;b<f;++b){d.push(a=e[b]);a.rank=d.length}}c.topoStack=null;return d},topoAdd:function(a){var b=this,f=a.depends,h=f?f.length:0,g=b.rankedFields,e,c;var d=b.topoStack||(b.topoStack=[]);d.push(a.name);if(a.rank===0){Ext.raise(b.$className+" has circular field dependencies: "+d.join(" --> "))}if(d.length&&a.evil){Ext.raise(b.$className+": Field "+d[d.length-1]+" cannot depend on depends-less field "+a.name)}a.rank=0;for(e=0;e<h;++e){c=b.fieldsMap[f[e]];if(!c){Ext.raise(b.$className+": Field "+a.name+" depends on undefined field "+f[e])}(c.dependents||(c.dependents=[])).push(a);if(!c.rank){b.topoAdd(c)}}g.push(a);a.rank=g.length;d.pop()},initFields:function(u,g,k){var t=Ext.data.field.Field,q=u.fields,e=[],h={},f={},w=[],r=k.fields,p=u.versionProperty||k.versionProperty,m=g.idProperty,d,a,b,o,i,c,n,j,l,v,s;g.fields=k.fields=e;g.fieldOrdinals=k.fieldOrdinals=h;g.fieldsMap=k.fieldsMap=f;g.references=k.references=w;if(r){for(b=0,o=r.length;b<o;++b){e[b]=a=Ext.Object.chain(r[b]);a.dependents=null;a.owner=g;h[i=a.name]=b;f[i]=a;a.rank=null;if(a.generated){j=a;l=a.name}}}delete u.fields;if(q){for(b=0,o=q.length;b<o;++b){a=q[b];n=a.reference;if(n&&typeof n!=='string'){n=Ext.merge({},n)}a.$reference=n;a=t.create(q[b]);i=a.name;c=h[i];if(c===undefined){h[i]=c=e.length}f[i]=a;e[c]=a;a.definedBy=a.owner=g;a.ordinal=c;if(i===m){s=a}if(i===l){v=!0}}}d=f[m];if(!d){if(j&&j.generated){c=j.ordinal}else {c=e.length}delete f[l];delete h[l];d=new t(m);e[c]=d;h[m]=c;f[m]=d;d.definedBy=g;d.ordinal=c;d.generated=!0}else if(s&&!v&&j&&j.generated){Ext.Array.remove(e,j);delete f[l];delete h[l];f[m]=s;for(b=0,o=e.length;b<o;++b){a=e[b];e.ordinal=b;h[a.name]=b}}d.allowNull=d.critical=d.identifier=!0;d.defaultValue=null;g.idField=k.idField=d;if(p){a=f[p];if(!a){c=e.length;a=new t({name:p,type:'int'});e[c]=a;h[p]=c;f[p]=a;a.definedBy=g;a.ordinal=c;a.generated=!0}a.defaultValue=1;a.critical=!0}},initSummaries:function(l,m,k){var i=l.summary,h=k.summaryFields,b,d,e,a,g,c,f,j;if(h){b=[];d={};for(c=0,g=h.length;c<g;++c){a=h[c];b.push(a);b[a.name]=c}}if(i){delete l.summary;b=b||[];d=d||{};for(e in i){a=i[e];if(typeof a==='function'){a={summary:a}}f=d[e];a=Ext.apply({name:e},a);j=a.field;if(j){delete a.field;a.summaryField=j}if(f===undefined){f=b.length;d[e]=a}b[f]=a}}if(b){for(c=0,g=b.length;c<g;++c){if(b[c].name in k.fieldsMap){Ext.raise('Cannot redefine field, use the summary property on the field.')}}k.summaryFields=b}},initValidators:function(h,l,n){var j=n.validators,b,e,g,c,i,m,d,a,k,f;if(j){b={};for(e in j){b[e]=Ext.Array.clone(j[e])}}c=h.validators||h.validations;if(h.validations){delete h.validations;Ext.log.warn((l.$className||'Ext.data.Model')+': validations has been deprecated. Please use validators instead.')}if(c){delete h.validators;b=b||{};if(Ext.isArray(c)){g={};for(i=0,m=c.length;i<m;++i){f=c[i];a=f.field;if(!g[a]){g[a]=[]}f=f.fn||f;g[a].push(f)}c=g}for(a in c){d=c[a];if(!Ext.isArray(d)){d=[d]}k=b[a];if(k){Ext.Array.push(k,d)}else {b[a]=d}}}if(b){for(a in b){e=l.getField(a);if(e){e.setModelValidators(b[a])}}}l.validators=n.validators=b},initAssociations:function(d,b,e){var f=b.associations,g=b.belongsTo,h=b.hasMany,i=b.hasOne,l=b.manyToMany,a,c,k,j;delete b.associations;delete b.belongsTo;delete b.hasMany;delete b.hasOne;delete b.manyToMany;if(l){d.addMatrices(e,l)}if(f){f=Ext.isArray(f)?f:[f];for(a=0,c=f.length;a<c;++a){k=f[a];j=Ext.apply({},k);delete j.type;switch(k.type){case 'belongsTo':d.addBelongsTo(e,j);break;case 'hasMany':d.addHasMany(e,j);break;case 'hasOne':d.addHasOne(e,j);break;default:Ext.raise('Invalid association type: "'+k.type+'"');}}}if(g){g=Ext.isArray(g)?g:[g];for(a=0,c=g.length;a<c;++a){d.addBelongsTo(e,g[a])}}if(h){h=Ext.isArray(h)?h:[h];for(a=0,c=h.length;a<c;++a){d.addHasMany(e,h[a])}}if(i){i=Ext.isArray(i)?i:[i];for(a=0,c=i.length;a<c;++a){d.addHasOne(e,i[a])}}d.afterKeylessAssociations(e)},initIdentifier:function(c,e,f){var a=c.identifier||c.idgen,b=f.identifier||e.schema._defaultIdentifier,d;if(c.idgen){Ext.log.warn('Ext.data.Model: idgen has been deprecated. Please use identifier instead.')}if(a){delete c.identifier;delete c.idgen;a=Ext.Factory.dataIdentifier(a)}else if(b){if(b.clone&&!b.getId()){a=b.clone()}else if(b.isGenerator){a=b}else {a=Ext.Factory.dataIdentifier(b)}}e.identifier=f.identifier=a;if(!a){d=e.entityName;if(!d){d=Ext.id(null,'extModel')}e.identifier=Ext.Factory.dataIdentifier({type:'sequential',prefix:d+'-'})}},findValidator:function(f,g,d){var h=d.type||d,b=f[g],e,a,c;if(b){for(a=0,e=b.length;a<e;++a){c=b[a];if(c.type===h){return c}}}return null},makeInitializeFn:function(o){var a=['var '],g=['\nreturn function (e) {\n    var data = e.data, v;\n'],n=0,i,j,h,b,l,d,f,e,k,c,m;if(!(f=o.rankedFields)){f=o.rankFields()}for(c=0,m=f.length;c<m;++c){d=f[c];e='f'+c;h=d.convert;if(c){a.push(',  \n    ')}a.push(e,' = $fields['+c+']');a.push('  /*  ',d.name,'  */');if((k=(d.defaultValue!==undefined))||h){b='data["'+d.name+'"]';++n;i=j='';if(d.cloneDefaultValue){i='Ext.clone(';j=')'}g.push('\n');if(h&&k){g.push('    v = ',b,';\n'+'    if (v !== undefined) {\n'+'        v = ',e,'.convert(v, e);\n'+'    }\n'+'    if (v === undefined) {\n'+'        v = ',i,e,'.defaultValue',j,';\n'+'    }\n'+'    ',b,' = v;')}else if(h){g.push('    v = ',e,'.convert(',b,',e);\n'+'    if (v !== undefined) {\n'+'        ',b,' = v;\n'+'    }\n')}else if(k){g.push('    if (',b,' === undefined) {\n'+'        ',b,' = ',i,e,'.defaultValue',j,';\n'+'    }\n')}}}if(!n){return Ext.emptyFn}a.push(';\n');a.push.apply(a,g);a.push('}');a=a.join('');l=new Function('$fields','Ext',a);return l(f,Ext)}}}},function(){var a=this,b=a.prototype,c=Ext.data.schema.Schema,d;a.proxyConfig=b.proxy;delete b.proxy;a.fields=[];a.fieldsMap=b.fieldsMap={};a.schema=b.schema=c.get(b.schema);b.idField=new Ext.data.field.Field(b.idProperty);a.identifier=new Ext.data.identifier.Sequential();a.onExtended(function(e,b){var f=e.prototype,k=b.schema,j=f.superclass.self,g,h,i;e.idProperty=b.idProperty||f.idProperty;if(k){delete b.schema;g=c.get(k)}else if(!(g=f.schema)){g=d||(d=c.get('default'))}e.rankFields=a.rankFields;e.topoAdd=a.topoAdd;f.schema=e.schema=g;if(!(h=b.entityName)){f.entityName=h=g.getEntityName(e);if(!h){if(b.associations){Ext.raise('Anonymous entities cannot specify "associations"')}if(b.belongsTo){Ext.raise('Anonymous entities cannot specify "belongsTo"')}if(b.hasMany){Ext.raise('Anonymous entities cannot specify "hasMany"')}if(b.hasOne){Ext.raise('Anonymous entities cannot specify "hasOne"')}if(b.matrices){Ext.raise('Anonymous entities cannot specify "manyToMany"')}}}e.entityName=h;e.fieldExtractors={};a.initIdentifier(b,e,f);a.initFields(b,e,f);a.initValidators(b,e,f);if(!b.isSummaryModel){a.initSummaries(b,e,f)}e.fields.items=e.fields;if(h){g.addEntity(e);a.initAssociations(g,b,e)}i=b.proxy;if(i){delete b.proxy}else if(j!==a){i=j.proxyConfig||j.proxy}e.proxyConfig=i})});Ext.define('Ext.data.ResultSet',{isResultSet:!0,$configPrefixed:!1,config:{loaded:!0,count:null,total:null,remoteTotal:null,success:!1,records:null,message:null,metadata:null,groupData:null,summaryData:null},constructor:function(a){this.initConfig(a)},getCount:function(){var b=this.callParent(),a;if(!b){a=this.getRecords();if(a){b=a.length}}return b}});Ext.define('Ext.data.reader.Reader',{alternateClassName:['Ext.data.Reader','Ext.data.DataReader'],mixins:[Ext.mixin.Observable,Ext.mixin.Factoryable],alias:'reader.base',factoryConfig:{defaultType:null},config:{groupRootProperty:'',implicitIncludes:!0,keepRawData:null,messageProperty:'',model:null,proxy:null,readRecordsOnFailure:!0,rootProperty:'',successProperty:'success',summaryRootProperty:'',totalProperty:'total',transform:null,typeProperty:''},isReader:!0,constructor:function(a){if(a&&a.hasOwnProperty('root')){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root;Ext.log.error('Ext.data.reader.Reader: Using the deprecated "root" configuration. Use "rootProperty" instead.')}var b=this;b.duringInit=1;b.mixins.observable.constructor.call(b,a);--b.duringInit;b.buildExtractors()},forceBuildExtractors:function(){if(!this.duringInit){this.buildExtractors(!0)}},updateGroupRootProperty:function(){this.forceBuildExtractors()},updateMessageProperty:function(){this.forceBuildExtractors()},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},updateSuccessProperty:function(){this.forceBuildExtractors()},updateTotalProperty:function(){this.forceBuildExtractors()},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}else if(a.charAt){a={fn:this[a]}}return a.fn.bind(a.scope||this)}return a},read:function(a,e){var d,b,c;if(a){c=a.responseText;if(a.responseType||c){b=this.getResponseData(a);if(b&&b.__$isError){return new Ext.data.ResultSet({total:0,count:0,records:[],success:!1,message:b.msg})}else {d=this.readRecords(b,e)}}else if(c!==''){d=this.readRecords(a,e)}}return d||this.nullResultSet},getNullResultSet:function(){return this.nullResultSet},createReadError:function(a){return {__$isError:!0,msg:a}},readRecords:function(b,q,h){var a=this,r=h&&h.recordsOnly,s=h&&h.asRoot,o=null,f=null,j,i,g,c,n,m,d,p,l,k,e;k=a.getMeta?a.getMeta(b):b.metaData;if(k){a.onMetaChange(k)}l=a.getTransform();if(l){b=l(b)}a.buildExtractors();if(a.getKeepRawData()){a.rawData=b}if(a.hasListeners.rawdata){a.fireEventArgs('rawdata',[b])}b=a.getData(b);j=!0;i=0;g=[];if(a.getSuccessProperty()){d=a.getSuccess(b);if(d===!1||d==='false'){j=!1}}if(a.getMessageProperty()){p=a.getMessage(b)}if(j||a.getReadRecordsOnFailure()){c=(s||Ext.isArray(b))?b:a.getRoot(b);if(c){m=c.length}if(a.getTotalProperty()){d=parseInt(a.getTotal(b),10);if(!isNaN(d)){n=m=d}}if(c){g=a.extractData(c,q);i=g.length}if(a.getGroupRootProperty()){c=a.getGroupRoot(b);if(c){e={includes:!1,model:a.getModel().getSummaryModel()};o=a.extractData(c,e)||null}}if(a.getSummaryRootProperty()){c=a.getSummaryRoot(b);if(c){e=e||{includes:!1,model:a.getModel().getSummaryModel()};f=a.extractData(c,e)||null;if(f){f=f[0]}}}}return r?g:new Ext.data.ResultSet({total:m||i,remoteTotal:n,metadata:k,count:i,records:g,success:j,message:p,groupData:o,summaryData:f})},extractData:function(f,b){var c=this,h=b&&b.model?Ext.data.schema.Schema.lookupEntity(b.model):c.getModel(),k=h.schema,o=b&&'includes' in b?b.includes:k.hasAssociations(h)&&c.getImplicitIncludes(),n=c.getFieldExtractorInfo(h),i=f.length,m=new Array(i),l=c.getTypeProperty(),j,e,d,a,g;if(!i&&Ext.isObject(f)){f=[f];i=1}for(g=0;g<i;g++){a=f[g];if(!a.isModel){e=a;if(l&&(d=c.getChildType(k,e,l))){j=d.getProxy().getReader();a=j.extractRecord(e,b,d,k.hasAssociations(d)&&j.getImplicitIncludes(),j.getFieldExtractorInfo(d))}else {a=c.extractRecord(e,b,h,o,n)}if(a.isModel&&a.isNode){a.raw=e}}if(a.onLoad){a.onLoad()}m[g]=a}return m},getChildType:function(d,c,a){var b;switch(typeof a){case 'string':return d.getEntity(c[a]);case 'object':b=a.namespace;return d.getEntity((b?b+'.':'')+c[a.name]);case 'function':return d.getEntity(a(c));}},extractRecordData:function(d,a){var b=a&&a.model?Ext.data.schema.Schema.lookupEntity(a.model):this.getModel(),c=this.getFieldExtractorInfo(b);return this.extractRecord(d,a,b,!1,c)},extractRecord:function(e,b,g,i,f){var a=this,h=(b&&b.recordCreator)||a.defaultRecordCreator,d,c;d=a.extractModelData(e,f);c=h.call(a,d,g||a.getModel(),b);if(i&&c.isModel){a.readAssociated(c,e,b)}return c},getFieldExtractorInfo:function(d){var b=d.fieldExtractors,c,a;if(!b){return}c=this.$className;a=b[c];if(a===undefined){b[c]=a=this.buildFieldExtractors(d)}return a},buildFieldExtractors:function(j){var f=j.getFields(),k=f.length,c=[],e=[],i=null,h=0,d,g,a,b;for(a=0;a<k;++a){d=f[a];b=this.createFieldAccessor(d);if(b){g=d.name;c.push('val = extractors['+h+'](raw, self); if (val !== undefined) { data[\''+g+'\'] = val; }');e.push(b);++h}}if(c.length){i={extractors:e,fn:new Function('raw','data','extractors','self','var val;'+c.join('\n'))}}return i},defaultRecordCreator:function(b,a){return new a(b)},defaultRecordCreatorFromServer:function(c,b){var a=new b(c);a.phantom=!1;return a},getModelData:function(a){return {}},extractModelData:function(c,a){var b=this.getModelData(c),d;if(a){d=a.fn;d(c,b,a.extractors,this)}return b},readAssociated:function(d,f,e){var a=d.associations,c,b;for(c in a){if(a.hasOwnProperty(c)){b=a[c];if(b.cls){b.read(d,f,this,e)}}}},getData:Ext.identityFn,getRoot:Ext.identityFn,getResponseData:function(a){Ext.raise("getResponseData must be implemented in the Ext.data.reader.Reader subclass")},onMetaChange:function(a){var b=this,g=a.fields,e,d,c,f;b.metaData=a;if(a.root){b.setRootProperty(a.root)}if(a.totalProperty){b.setTotalProperty(a.totalProperty)}if(a.successProperty){b.setSuccessProperty(a.successProperty)}if(a.messageProperty){b.setMessageProperty(a.messageProperty)}c=a.clientIdProperty;if(g){d=Ext.define(null,{extend:'Ext.data.Model',fields:g,clientIdProperty:c});b.setModel(d);f=b.getProxy();if(f){f.setModel(d)}}else if(c){e=b.getModel();if(e){e.self.prototype.clientIdProperty=c}}},buildExtractors:function(e){var a=this,d,c,b;if(e||!a.hasExtractors){d=a.getTotalProperty();c=a.getSuccessProperty();b=a.getMessageProperty();if(d){a.getTotal=a.getAccessor(d)}if(c){a.getSuccess=a.getAccessor(c)}if(b){a.getMessage=a.getAccessor(b)}a.hasExtractors=!0;return !0}},getAccessor:function(c){var d=this,e=d.extractorCache,a,b;if(typeof c==='string'){b=d.getAccessorKey(c);if(b){a=e.get(b)}if(!a){a=d.createAccessor(c);if(b){e.add(b,a)}}}else {a=d.createAccessor(c)}return a},getAccessorKey:function(b){var a=this.$className;return a?a+b:''},createAccessor:Ext.emptyFn,createFieldAccessor:Ext.emptyFn,destroy:function(){var a=this;a.model=a.getTotal=a.getSuccess=a.getMessage=a.rawData=null;a.onMetaChange=null;a.transform=null;a.callParent()},privates:{copyFrom:function(b){var a=this;b.buildExtractors();a.getTotal=b.getTotal;a.getSuccess=b.getSuccess;a.getMessage=b.getMessage;++a.duringInit;a.setConfig(b.getConfig());--a.duringInit;a.hasExtractors=!0},getGroupRoot:Ext.privateFn,getSummaryRoot:Ext.privateFn}},function(b){var a=b.prototype;Ext.apply(a,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:!0,message:''})});a.extractorCache=new Ext.util.LruCache()});Ext.define('Ext.data.writer.Writer',{mixins:[Ext.mixin.Factoryable],alias:'writer.base',factoryConfig:{defaultType:null},alternateClassName:['Ext.data.DataWriter','Ext.data.Writer'],config:{clientIdProperty:null,allDataOptions:{persist:!0},partialDataOptions:{changes:!0,critical:!0},writeAllFields:!1,dateFormat:null,nameProperty:'name',writeRecordId:!0,transform:null},isWriter:!0,constructor:function(a){this.initConfig(a)},applyTransform:function(a){if(a){if(Ext.isFunction(a)){a={fn:a}}return a.fn.bind(a.scope||this)}return a},write:function(d){var b=d.getOperation(),c=b.getRecords()||[],f=c.length,e=[],a;for(a=0;a<f;a++){e.push(this.getRecordData(c[a],b))}return this.writeRecords(d,e)},writeRecords:Ext.emptyFn,getRecordData:function(e,p){var d=this,j=d.getNameProperty(),l=j!=='name',h=e.self.idField,b=h[j]||h.name,a=e.id,q=d.getWriteAllFields(),c,k,n,m,i,o,f,g;if(h.serialize){a=h.serialize(a)}if(!q&&p&&p.isDestroyOperation){c={};c[b]=a}else {k=d.getDateFormat();n=e.phantom;m=(n||q)?d.getAllDataOptions():d.getPartialDataOptions();i=n&&d.getClientIdProperty();o=e.getFieldsMap();m.serialize=!1;f=e.getData(m);c=l?{}:f;if(i){c[i]=a;delete f[b]}else if(!d.getWriteRecordId()){delete f[b]}for(b in f){a=f[b];if(!(g=o[b])){if(l){c[b]=a}}else {if(g.isDateField&&k&&Ext.isDate(a)){a=Ext.Date.format(a,k)}else if(g.serialize){a=g.serialize(a,e)}if(l){b=g[j]||b}c[b]=a}}}return c}});Ext.define('Ext.data.proxy.Proxy',{mixins:[Ext.mixin.Factoryable,Ext.mixin.Observable],$configPrefixed:!1,alias:'proxy.proxy',alternateClassName:['Ext.data.DataProxy','Ext.data.Proxy'],config:{batchOrder:'create,update,destroy',batchActions:!0,model:undefined,reader:{type:'json'},writer:{type:'json'}},isProxy:!0,isSynchronous:!1,constructor:function(a){this.mixins.observable.constructor.call(this,a);this.pendingOperations={}},applyModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(a){if(this.isSynchronous){a=a||{};a.keepRawData=!0}return Ext.Factory.reader(a)},updateReader:function(a){if(a){var c=this,b=c.getModel();if(!b){b=a.getModel();if(b){c.setModel(b)}}else {a.setModel(b)}if(a.responseType!=null){c.responseType=a.responseType}}},applyWriter:function(b){var a=this.getReader();b=Ext.Factory.writer(b);if(b.getRecord&&!b.getRecord()&&a&&a.getRecord){a=a.getRecord();if(a){b.setRecord(a)}}return b},abort:Ext.emptyFn,onMetaChange:function(a){this.fireEvent('metachange',this,a)},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,erase:Ext.emptyFn,batch:function(a,l){var c=this,m=c.getBatchActions(),b,d,h,j,e,f,g,k,i;if(a.operations===undefined){a={operations:a,listeners:l}}if(a.batch){if(Ext.isDefined(a.batch.runOperation)){b=Ext.applyIf(a.batch,{proxy:c,listeners:{}})}}else {a.batch={proxy:c,listeners:a.listeners||{}}}if(!b){b=new Ext.data.Batch(a.batch)}b.on('complete',Ext.bind(c.onBatchComplete,c,[a],0),null,{single:!0,priority:1000});b.$destroyOwner=a.$destroyOwner;h=c.getBatchOrder().split(',');j=h.length;for(f=0;f<j;f++){e=h[f];d=a.operations[e];if(d){if(m){b.add(c.createOperation(e,{records:d,params:a.params}))}else {k=d.length;for(g=0;g<k;g++){i=d[g];b.add(c.createOperation(e,{records:[i],params:a.params}))}}}}b.start();return b},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException()){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}if(!b.$destroyOwner){b.destroy()}},createOperation:function(b,c){var a=Ext.createByAlias('data.operation.'+b,c);a.setProxy(this);this.pendingOperations[a._internalId]=a;return a},completeOperation:function(a){delete this.pendingOperations[a._internalId]},clone:function(){return new this.self(this.getInitialConfig())},destroy:function(){var c=this.pendingOperations,b,a;for(b in c){a=c[b];if(a&&a.isRunning()){a.abort()}a.destroy()}this.pendingOperations=null;this.callParent()}});Ext.define('Ext.data.proxy.Client',{extend:Ext.data.proxy.Proxy,alternateClassName:'Ext.data.ClientProxy',isSynchronous:!0,clear:function(){Ext.raise("The Ext.data.proxy.Client subclass that you are using has not defined a 'clear' function. See src/data/ClientProxy.js for details.")}});Ext.define('Ext.data.proxy.Memory',{extend:Ext.data.proxy.Client,alias:'proxy.memory',alternateClassName:'Ext.data.MemoryProxy',isMemoryProxy:!0,config:{enablePaging:null,data:{$value:null,merge:function(a,b,d,c){return a?Ext.clone(a):a}},clearOnRead:null},finishOperation:function(b){var c=b.getRecords(),d=c.length,a;for(a=0;a<d;a++){c[a].dropped=!!b.isDestroyOperation;c[a].commit()}b.setSuccessful(!0)},create:function(a){this.finishOperation(a)},update:function(a){this.finishOperation(a)},erase:function(a){this.finishOperation(a)},read:function(b){var e=this,i=e.getReader(),a=i.read(e.getData(),{recordCreator:i.defaultRecordCreatorFromServer}),d=a.getRecords(),c=b.getSorters(),h=b.getGrouper(),g=b.getFilters(),f=b.getStart(),j=b.getLimit(),k;if(b.process(a,null,null,!1)!==!1){if(b.success&&e.getClearOnRead()){this.setData(null)}if(g&&g.length){a.setRecords(d=Ext.Array.filter(d,Ext.util.Filter.createFilterFn(g)));a.setTotal(d.length)}if(h){c=c?c.concat(h):c}if(c&&c.length){a.setRecords(d=Ext.Array.sort(d,Ext.util.Sortable.createComparator(c)))}if(e.getEnablePaging()&&f!==undefined&&j!==undefined){if(f>=a.getTotal()){a.setConfig({success:!1,records:[],total:0})}else {a.setRecords(Ext.Array.slice(d,f,f+j))}}b.setCompleted();if(k=a.getMetadata()){e.onMetaChange(k)}}},clear:Ext.emptyFn});Ext.define('Ext.data.ProxyStore',{extend:Ext.data.AbstractStore,config:{model:undefined,fields:null,proxy:undefined,autoLoad:undefined,autoSync:!1,batchUpdateMode:'operation',sortOnLoad:!0,trackRemoved:!0,asynchronousLoad:undefined},onClassExtended:function(e,d,b){var c=d.model,a;if(typeof c==='string'){a=b.onBeforeCreated;b.onBeforeCreated=function(){var g=this,f=arguments;Ext.require(c,function(){a.apply(g,f)})}}},implicitModel:'Ext.data.Model',autoSyncSuspended:0,removed:null,constructor:function(d){var a=this;var b=a.model;a.callParent(arguments);if(a.getAsynchronousLoad()===!1){a.flushLoad()}if(!a.getModel()&&a.useModelWarning!==!1&&a.getStoreId()!=='ext-empty-store'){var c=[Ext.getClassName(a)||'Store',' created with no model.'];if(typeof b==='string'){c.push(" The name '",b,"'",' does not correspond to a valid model.')}Ext.log.warn(c.join(''))}},doDestroy:function(){var a=this,b=a.getProxy();a.clearLoadTask();Ext.destroy(a.getData());a.data=null;a.setProxy(null);if(b.autoCreated){b.destroy()}a.setModel(null);a.callParent()},applyAsynchronousLoad:function(a){if(a==null){a=!this.loadsSynchronously()}return a},updateAutoLoad:function(a){this.getData();if(a){this.load(Ext.isObject(a)?a:undefined)}},getTotalCount:function(){return this.totalCount||0},applyFields:function(a){if(a){this.createImplicitModel(a)}},applyModel:function(a){if(a){a=Ext.data.schema.Schema.lookupEntity(a)}else if(!this.destroying){this.getFields();a=this.getModel()||this.createImplicitModel()}return a},applyProxy:function(a){var b=this.getModel();if(a!==null){if(a){if(a.isProxy){a.setModel(b)}else {if(Ext.isString(a)){a={type:a,model:b}}else if(!a.model){a=Ext.apply({model:b},a)}a=Ext.createByAlias('proxy.'+a.type,a);a.autoCreated=!0}}else if(b){a=b.getProxy();this.useModelProxy=!0}if(!a){a=Ext.createByAlias('proxy.memory');a.autoCreated=!0}}return a},applyState:function(b){var a=this;a.callParent([b]);if(a.getAutoLoad()||a.isLoaded()){a.load()}},updateProxy:function(b,a){this.proxyListeners=Ext.destroy(this.proxyListeners)},updateTrackRemoved:function(a){this.cleanRemoved();this.removed=a?[]:null},onMetaChange:function(b,a){this.fireEvent('metachange',this,a)},create:function(f,a){var b=this,e=b.getModel(),d=new e(f),c;a=Ext.apply({},a);if(!a.records){a.records=[d]}a.internalScope=b;a.internalCallback=b.onProxyWrite;c=b.createOperation('create',a);return c.execute()},read:function(){return this.load.apply(this,arguments)},update:function(a){var b=this,c;a=Ext.apply({},a);if(!a.records){a.records=b.getUpdatedRecords()}a.internalScope=b;a.internalCallback=b.onProxyWrite;c=b.createOperation('update',a);return c.execute()},onProxyWrite:function(a){var b=this,c=a.wasSuccessful(),d=a.getRecords();switch(a.getAction()){case 'create':b.onCreateRecords(d,a,c);break;case 'update':b.onUpdateRecords(d,a,c);break;case 'destroy':b.onDestroyRecords(d,a,c);break;}if(c){b.fireEvent('write',b,a);b.fireEvent('datachanged',b)}},onCreateRecords:Ext.emptyFn,onUpdateRecords:Ext.emptyFn,onDestroyRecords:function(c,b,a){if(a){this.cleanRemoved()}},erase:function(a){var b=this,c;a=Ext.apply({},a);if(!a.records){a.records=b.getRemovedRecords()}a.internalScope=b;a.internalCallback=b.onProxyWrite;c=b.createOperation('destroy',a);return c.execute()},onBatchOperationComplete:function(b,a){return this.onProxyWrite(a)},onBatchComplete:function(c,f){var a=this,d=c.operations,e=d.length,b;if(a.batchUpdateMode!=='operation'){a.suspendEvents();for(b=0;b<e;b++){a.onProxyWrite(d[b])}a.resumeEvents()}a.isSyncing=!1;if(c.$destroyOwner===a){c.destroy()}a.fireEvent('datachanged',a)},onBatchException:function(b,a){},filterNew:function(a){return a.phantom&&a.isValid()},getNewRecords:function(){return []},getUpdatedRecords:function(){return []},getModifiedRecords:function(){return [].concat(this.getNewRecords(),this.getUpdatedRecords())},filterUpdated:function(a){return a.dirty&&!a.phantom&&a.isValid()},getRemovedRecords:function(){var a=this.getRawRemovedRecords();return a?Ext.Array.clone(a):[]},sync:function(d){var a=this,b={},f=a.getNewRecords(),g=a.getUpdatedRecords(),e=a.getRemovedRecords(),c=!1;if(a.isSyncing){Ext.log.warn('Sync called while a sync operation is in progress. Consider configuring autoSync as false.')}a.needsSync=!1;if(f.length>0){b.create=f;c=!0}if(g.length>0){b.update=g;c=!0}if(e.length>0){b.destroy=e;c=!0}if(c&&a.fireEvent('beforesync',b)!==!1){a.isSyncing=!0;d=d||{};a.proxy.batch(Ext.apply(d,{operations:b,listeners:a.getBatchListeners(),$destroyOwner:a}))}return a},getBatchListeners:function(){var a=this,b={scope:a,exception:a.onBatchException,complete:a.onBatchComplete};if(a.batchUpdateMode==='operation'){b.operationcomplete=a.onBatchOperationComplete}return b},save:function(){return this.sync.apply(this,arguments)},load:function(b){var a=this;if(typeof b==='function'){b={callback:b}}else {b=b?Ext.Object.chain(b):{}}a.pendingLoadOptions=b;if(a.getAsynchronousLoad()){if(!a.loadTimer){a.loadTimer=Ext.asap(a.flushLoad,a)}}else {a.flushLoad()}return a},flushLoad:function(){var a=this,c=a.pendingLoadOptions,b;if(a.destroying||a.destroyed){return}a.clearLoadTask();if(!c){return}a.setLoadOptions(c);if(a.getRemoteSort()&&c.sorters){a.fireEvent('beforesort',a,c.sorters)}b=Ext.apply({internalScope:a,internalCallback:a.onProxyLoad,scope:a},c);a.lastOptions=b;b=a.createOperation('read',b);if(a.fireEvent('beforeload',a,b)!==!1){a.onBeforeLoad(b);a.loading=!0;if(a.hasListeners.beginload){a.fireEvent('beginload',a,b)}b.execute()}},reload:function(a){return this.load(Ext.apply({},a,this.lastOptions))},onEndUpdate:function(){var a=this;if(a.needsSync&&a.autoSync&&!a.autoSyncSuspended){a.sync()}},afterReject:function(b){var a=this;if(a.contains(b)){a.onUpdate(b,Ext.data.Model.REJECT,null);a.fireEvent('update',a,b,Ext.data.Model.REJECT,null);a.fireEvent('datachanged',a)}},afterCommit:function(c,b){var a=this;if(!b){b=null}if(a.contains(c)){a.onUpdate(c,Ext.data.Model.COMMIT,b);a.fireEvent('update',a,c,Ext.data.Model.COMMIT,b);a.fireEvent('datachanged',a)}},afterErase:function(a){this.onErase(a)},onErase:Ext.emptyFn,onUpdate:Ext.emptyFn,hasPendingLoad:function(){return !!this.pendingLoadOptions||this.isLoading()},isLoading:function(){return !!this.loading},isLoaded:function(){return this.loadCount>0},suspendAutoSync:function(){++this.autoSyncSuspended},resumeAutoSync:function(b){var a=this;if(!a.autoSyncSuspended){Ext.log.warn('Mismatched call to resumeAutoSync - auto synchronization is currently not suspended.')}if(a.autoSyncSuspended&&!--a.autoSyncSuspended){if(b){a.sync()}}},removeAll:Ext.emptyFn,clearData:Ext.emptyFn,privates:{getRawRemovedRecords:function(){return this.removed},onExtraParamsChanged:function(){},clearLoadTask:function(){this.pendingLoadOptions=this.loadTimer=Ext.unasap(this.loadTimer)},cleanRemoved:function(){var a=this.getRawRemovedRecords(),c,b;if(a){for(b=0,c=a.length;b<c;++b){a[b].unjoin(this)}a.length=0}},createOperation:function(e,d){var a=this,c=a.getProxy(),b;if(!a.proxyListeners){b={scope:a,destroyable:!0,beginprocessresponse:a.beginUpdate,endprocessresponse:a.endUpdate};if(!a.disableMetaChangeEvent){b.metachange=a.onMetaChange}a.proxyListeners=c.on(b)}return c.createOperation(e,d)},createImplicitModel:function(e){var b=this,d={extend:b.implicitModel,statics:{defaultProxy:'memory'}},c,a;if(e){d.fields=e}a=Ext.define(null,d);b.setModel(a);c=b.getProxy();if(c){a.setProxy(c)}else {b.setProxy(a.getProxy())}},loadsSynchronously:function(){return this.getProxy().isSynchronous},onBeforeLoad:Ext.privateFn,removeFromRemoved:function(b){var a=this.getRawRemovedRecords();if(a){Ext.Array.remove(a,b);b.unjoin(this)}},setLoadOptions:function(d){var c=this,a,b;if(c.getRemoteFilter()){a=c.getFilters(!1);if(a&&a.getCount()){d.filters=a.getRange()}}if(c.getRemoteSort()){b=c.getSorters(!1);if(b&&b.getCount()){d.sorters=b.getRange()}}}}});Ext.define('Ext.util.Group',{extend:Ext.util.Collection,config:{groupKey:null},$endUpdatePriority:2001,manageSorters:!1});Ext.define('Ext.data.Group',{extend:Ext.util.Group,store:null,getSummaryRecord:function(){var b=this,a=b.summaryRecord,d=b.store,c=d.getData().generation,e,f;if(!a){e=d.getModel();f=e.getSummaryModel();b.summaryRecord=a=new f()}if(!a.isRemote&&a.summaryGeneration!==c){a.calculateSummary(b.items);a.summaryGeneration=c}return a}});Ext.define('Ext.data.LocalStore',{extend:Ext.Mixin,mixinConfig:{id:'localstore'},config:{extraKeys:null},applyExtraKeys:function(a){var b,c=this.getData();c.setExtraKeys(a);a=c.getExtraKeys();for(b in a){this[b]=a[b]}},add:function(a){return this.insert(this.getCount(),arguments.length===1?a:arguments)},constructDataCollection:function(){var a=new Ext.util.Collection({rootProperty:'data',groupConfig:{xclass:'Ext.data.Group',store:this}});a.addObserver(this);return a},createModel:function(a){var c=this.getSession(),b;if(!a.isModel){b=this.getModel();a=new b(a,c)}return a},createFiltersCollection:function(){return this.getData().getFilters()},createSortersCollection:function(){var a=this.getData().getSorters();a.setSorterConfigure(this.addFieldTransform,this);return a},getSummaryRecord:function(){var b=this,a=b.summaryRecord,d=b.getData(),c=d.generation,e;if(!a){e=b.getModel().getSummaryModel();b.summaryRecord=a=new e()}if(!a.isRemote&&a.summaryGeneration!==c){a.calculateSummary(d.items);a.summaryGeneration=c}return a},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionSort:function(){this.onSorterEndUpdate()},onCollectionFilter:function(){this.onFilterEndUpdate()},notifySorterChange:function(){this.getData().onSorterChange()},forceLocalSort:function(){var a=this.getSorters();a.beginUpdate();a.endUpdate()},contains:function(a){return this.indexOf(a)>-1},each:function(h,g,c){var a=this.getData(),f=c,e,d,b;if(typeof c==='object'){f=c.filtered}if(f&&a.filtered){a=a.getSource()}a=a.items.slice(0);e=a.length;for(b=0;b<e;++b){d=a[b];if(h.call(g||d,d,b,e)===!1){break}}},collect:function(e,a,d){var f=this,c=a,b=f.getData();if(typeof a==='object'){d=a.filtered;c=a.allowNull}if(d&&b.filtered){b=b.getSource()}return b.collect(e,'data',c)},getById:function(b){var a=this.getData();if(a.filtered){a=a.getSource()}return a.get(b)||null},getByInternalId:function(c){var a=this.getData(),b;if(a.filtered){if(!a.$hasExtraKeys){b=this.makeInternalKeyCfg();a.setExtraKeys(b);a.$hasExtraKeys=!0}a=a.getSource()}if(!a.$hasExtraKeys){a.setExtraKeys(b||this.makeInternalKeyCfg());a.$hasExtraKeys=!0}return a.byInternalId.get(c)||null},getDataSource:function(){var a=this.getData();return a.getSource()||a},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},insert:function(e,a){var d=this,c,b;if(a){if(!Ext.isIterable(a)){a=[a]}else {a=Ext.Array.clone(a)}c=a.length}if(!c){return []}for(b=0;b<c;++b){a[b]=d.createModel(a[b])}d.getData().insert(e,a);return a},queryBy:function(c,b){var a=this.getData();return (a.getSource()||a).createFiltered(c,b)},query:function(e,f,d,b,c){var a=this.getData();return (a.getSource()||a).createFiltered(e,f,d,b,c)},first:function(a){return this.getData().first(a)||null},last:function(a){return this.getData().last(a)||null},sum:function(a,c){var b=this.getData();return (c&&this.isGrouped())?b.sumByGroup(a):b.sum(a)},count:function(b){var a=this.getData();return (b&&this.isGrouped())?a.countByGroup():a.count()},min:function(a,c){var b=this.getData();return (c&&this.isGrouped())?b.minByGroup(a):b.min(a)},max:function(a,c){var b=this.getData();return (c&&this.isGrouped())?b.maxByGroup(a):b.max(a)},average:function(a,c){var b=this.getData();return (c&&this.isGrouped())?b.averageByGroup(a):b.average(a)},aggregate:function(i,g,j,f){var a=this,c,h,e,d,b;if(j&&a.isGrouped()){c=a.getGroups().items;h=c.length;e={};for(b=0;b<h;++b){d=c[b];e[d.getGroupKey()]=a.getAggregate(i,g||a,d.items,f)}return e}else {return a.getAggregate(i,g,a.getData().items,f)}},getAggregate:function(g,e,b,d){var c=[],f=b.length,a;for(a=0;a<f;++a){c[a]=b[a].get(d)}return g.call(e||this,b,c)},addObserver:function(b){var a=this.observers;if(!a){this.observers=a=new Ext.util.Collection()}a.add(b)},removeObserver:function(b){var a=this.observers;if(a){a.remove(b)}},callObservers:function(h,a){var f=this.observers,g,e,c,d,b;if(f){e=f.items;if(a){a.unshift(this)}else {a=[this]}for(c=0,g=e.length;c<g;++c){b=e[c];d='onSource'+h;if(b[d]){b[d].apply(b,a)}}}},queryRecordsBy:function(g,d){var a=this.getData(),e=[],f,b,c;a=(a.getSource()||a).items;d=d||this;for(b=0,f=a.length;b<f;++b){c=a[b];if(g.call(d,c)===!0){e.push(c)}}return e},queryRecords:function(f,g){var a=this.getData(),d=[],e,b,c;a=(a.getSource()||a).items;for(b=0,e=a.length;b<e;++b){c=a[b];if(c.get(f)===g){d.push(c)}}return d},privates:{isLast:function(a){return a===this.last()},makeInternalKeyCfg:function(){return {byInternalId:{property:'internalId',rootProperty:''}}}}});Ext.define('Ext.data.proxy.Server',{extend:Ext.data.proxy.Proxy,alias:'proxy.server',alternateClassName:'Ext.data.ServerProxy',isRemote:!0,config:{url:'',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:30000,api:{create:undefined,read:undefined,update:undefined,destroy:undefined},extraParams:{}},primitiveRe:/string|number|boolean/,create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},erase:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(c,b){var a=this.getExtraParams();a[c]=b;this.fireEvent('extraparamschanged',a)},updateExtraParams:function(a,b){this.fireEvent('extraparamschanged',a)},buildRequest:function(a){var c=this,g=Ext.apply({},a.getParams()),d=Ext.applyIf(g,c.getExtraParams()||{}),b,e,f;Ext.applyIf(d,c.getParams(a));e=a.getId();f=c.getIdParam();if(e!==undefined&&d[f]===undefined){d[f]=e}b=new Ext.data.Request({params:d,action:a.getAction(),records:a.getRecords(),url:a.getUrl(),operation:a,proxy:c});b.setUrl(c.buildUrl(b));a.setRequest(b);return b},processResponse:function(j,b,i,c){var a=this,g,f,e,h,d;if(a.destroying||a.destroyed){return}a.fireEvent('beginprocessresponse',a,c,b);if(j===!0){f=a.getReader();if(c.status===204){e=f.getNullResultSet()}else {e=f.read(a.extractResponseData(c),{recordCreator:b.getRecordCreator()||f.defaultRecordCreatorFromServer})}if(!b.$destroyOwner){b.$destroyOwner=a;d=!0}b.process(e,i,c);g=!b.wasSuccessful()}else {a.setException(b,c);g=!0}if(a.destroyed){if(!b.destroyed&&d&&b.$destroyOwner===a){b.destroy()}return}if(g){a.fireEvent('exception',a,c,b)}else {h=e.getMetadata();if(h){a.onMetaChange(h)}}if(a.destroyed){if(!b.destroyed&&d&&b.$destroyOwner===a){b.destroy()}return}a.afterRequest(i,j);a.fireEvent('endprocessresponse',a,c,b);if(!b.destroyed&&d&&b.$destroyOwner===a){b.destroy()}},setException:function(b,a){b.setException({status:a.status,statusText:a.statusText,response:a})},extractResponseData:Ext.identityFn,applyEncoding:function(a){return Ext.encode(a)},encodeSorters:function(c,d){var b=[],e=c.length,a;for(a=0;a<e;a++){b[a]=c[a].serialize()}return this.applyEncoding(d?b[0]:b)},encodeFilters:function(f){var d=[],g=f.length,e,b,a,c;for(b=0;b<g;b++){a=f[b];a.getFilterFn();if(a.generatedFilterFn){c=a.serialize();e|=!this.primitiveRe.test(typeof c);d.push(c)}}return e?this.applyEncoding(d):d},getParams:function(d){if(!d.isReadOperation){return {}}var b=this,a={},h=d.getGrouper(),c=d.getSorters(),k=d.getFilters(),s=d.getPage(),l=d.getStart(),r=d.getLimit(),u=b.getSimpleSortMode(),t=b.getSimpleGroupMode(),q=b.getPageParam(),p=b.getStartParam(),o=b.getLimitParam(),g=b.getGroupParam(),m=b.getGroupDirectionParam(),e=b.getSortParam(),n=b.getFilterParam(),i=b.getDirectionParam(),j,f;if(q&&s){a[q]=s}if(p&&(l||l===0)){a[p]=l}if(o&&r){a[o]=r}j=g&&h;if(j){if(t){a[g]=h.getProperty();if(m===g){a[g]+=' '+h.getDirection()}else {a[m]=h.getDirection()}}else {a[g]=b.encodeSorters([h],!0)}}if(e&&c&&c.length>0){if(u){for(f=(c.length>1&&j)?1:0;f<c.length;f++){if(i===e){a[e]=Ext.Array.push(a[e]||[],c[f].getProperty()+' '+c[f].getDirection())}else {a[e]=Ext.Array.push(a[e]||[],c[f].getProperty());a[i]=Ext.Array.push(a[i]||[],c[f].getDirection())}}}else {a[e]=b.encodeSorters(c)}}if(n&&k&&k.length>0){a[n]=b.encodeFilters(k)}return a},buildUrl:function(c){var b=this,a=b.getUrl(c);if(!a){Ext.raise("You are using a ServerProxy but have not supplied it with a url.")}if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(a){var b;if(a){b=a.getUrl()||this.getApi()[a.getAction()]}return b?b:this.callParent()},doRequest:function(a,b,c){Ext.raise("The doRequest function has not been implemented on your Ext.data.proxy.Server subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,destroy:function(){var a=this;a.destroying=!0;a.reader=a.writer=Ext.destroy(a.reader,a.writer);a.callParent();a.destroying=!1;a.destroyed=!0}});Ext.define('Ext.data.proxy.Ajax',{extend:Ext.data.proxy.Server,alias:'proxy.ajax',alternateClassName:['Ext.data.HttpProxy','Ext.data.AjaxProxy'],isAjaxProxy:!0,defaultActionMethods:{create:'POST',read:'GET',update:'POST',destroy:'POST'},config:{binary:!1,headers:undefined,paramsAsJson:!1,withCredentials:!1,useDefaultXhrHeader:!0,username:null,password:null,actionMethods:{create:'POST',read:'GET',update:'POST',destroy:'POST'}},doRequest:function(e){var a=this,g=a.getWriter(),b=a.buildRequest(e),f=a.getMethod(b),c,d;if(g&&e.allowWrite()){b=g.write(b)}b.setConfig({binary:a.getBinary(),headers:a.getHeaders(),timeout:a.getTimeout(),scope:a,callback:a.createRequestCallback(b,e),method:f,useDefaultXhrHeader:a.getUseDefaultXhrHeader(),disableCaching:!1});if(a.responseType!=null&&Ext.supports.XHR2){b.setResponseType(a.responseType)}if(f.toUpperCase()!=='GET'&&a.getParamsAsJson()){d=b.getParams();if(d){c=b.getJsonData();if(c){c=Ext.Object.merge({},c,d)}else {c=d}b.setJsonData(c);b.setParams(undefined)}}if(a.getWithCredentials()){b.setWithCredentials(!0);b.setUsername(a.getUsername());b.setPassword(a.getPassword())}return a.sendRequest(b)},sendRequest:function(a){a.setRawRequest(Ext.Ajax.request(a.getCurrentConfig()));this.lastRequest=a;return a},abort:function(a){a=a||this.lastRequest;if(a){Ext.Ajax.abort(a.getRawRequest())}},getMethod:function(d){var a=this.getActionMethods(),b=d.getAction(),c;if(a){c=a[b]}return c||this.defaultActionMethods[b]},createRequestCallback:function(a,b){return function(f,e,d){var c=this;if(a===c.lastRequest){c.lastRequest=null}if(!c.destroying&&!c.destroyed){c.processResponse(e,b,a,d)}}},destroy:function(){this.lastRequest=null;this.callParent()}});Ext.define('Ext.data.reader.Json',{extend:Ext.data.reader.Reader,alternateClassName:'Ext.data.JsonReader',alias:'reader.json',config:{record:null,metaProperty:'metaData',useSimpleAccessors:!1,preserveRawData:!1},responseType:'json',updateRootProperty:function(){this.forceBuildExtractors()},updateMetaProperty:function(){this.forceBuildExtractors()},getResponseData:function(a){var b;if(typeof a.responseJson==='object'){return a.responseJson}try{return Ext.decode(a.responseText)}catch(c){b=this.createReadError(c.message);Ext.Logger.warn('Unable to parse the JSON returned by the server');this.fireEvent('exception',this,a,b);return b}},buildExtractors:function(c){var a=this,b=Ext.emptyFn,d;if(a.callParent([c])){a.getRoot=a.setupExtractor(a.getRootProperty(),Ext.identityFn);a.getGroupRoot=a.setupExtractor(a.getGroupRootProperty(),b);a.getSummaryRoot=a.setupExtractor(a.getSummaryRootProperty(),b);a.getMeta=a.setupExtractor(a.getMetaProperty(),b)}},extractData:function(a,f){var e=this.getRecord(),d=[],c,b;if(e){c=a.length;if(!c&&Ext.isObject(a)){c=1;a=[a]}for(b=0;b<c;b++){d[b]=a[b][e]}}else {d=a}return this.callParent([d,f])},getModelData:function(a){return this.getPreserveRawData()?Ext.apply({},a):a},createAccessor:(function(){var a=/[\[\.]/;return function(c){var o=this.getUseSimpleAccessors(),n,f,j,m,b,e,p,l,g,k,d,h,i,q;if(!(c||c===0)){return}if(typeof c==='function'){return c}if(!o){n=String(c).search(a)}if(o===!0||n<0){f=function(a){return a==null?null:a[c]}}else {j='raw';m=[];b='';e=0;q=c.length;for(h=0;h<=q;++h){d=c[h];p=d==='.';l=d==='[';g=d===']';k=p||l||g||!d;if(!k||e>1||(e&&!g)){b+=d}else if(k){i=!1;if(l){++e}else if(g){--e;i=!0}if(b){if(i){b='['+b+']'}else {b='.'+b}j+=b;m.push(''+j);b=''}}}f=m.join(' && ');f=Ext.functionFactory('raw','return '+f)}return f}}()),createFieldAccessor:function(b){var e=this,a=b.mapping,c=a||a===0,d=c?a:b.name;if(c){if(typeof d==='function'){return function(c,a){return b.mapping(c,a)}}else {return e.createAccessor(d)}}},getAccessorKey:function(b){var a=this.getUseSimpleAccessors()?'simple':'';return this.callParent([a+b])},privates:{copyFrom:function(a){this.callParent([a]);this.getRoot=a.getRoot},setupExtractor:function(a,b){return a?this.getAccessor(a):b}}});Ext.define('Ext.data.writer.Json',{extend:Ext.data.writer.Writer,alternateClassName:'Ext.data.JsonWriter',alias:'writer.json',config:{rootProperty:undefined,encode:!1,allowSingle:!0,expandData:!1},constructor:function(a){if(a&&a.hasOwnProperty('root')){a=Ext.apply({},a);a.rootProperty=a.root;delete a.root;Ext.log.warn('Ext.data.writer.Json: Using the deprecated "root" configuration. Use "rootProperty" instead.')}this.callParent([a])},getExpandedData:function(f){var h=f.length,g=0,a,c,b,d,e,i=function(c,b){var a={};a[c]=b;return a};for(;g<h;g++){a=f[g];for(c in a){if(a.hasOwnProperty(c)){b=c.split('.');d=b.length-1;if(d>0){e=a[c];for(;d>0;d--){e=i(b[d],e)}a[b[0]]=a[b[0]]||{};Ext.Object.merge(a[b[0]],e);delete a[c]}}}}return f},writeRecords:function(b,a){var c=this,e=c.getRootProperty(),d,g,f;if(c.getExpandData()){a=c.getExpandedData(a)}if(c.getAllowSingle()&&a.length===1){a=a[0];g=!0}f=this.getTransform();if(f){a=f(a,b)}if(c.getEncode()){if(e){b.setParam(e,Ext.encode(a))}else {Ext.raise('Must specify a root when using encode')}}else if(g||(a&&a.length)){d=b.getJsonData()||{};if(e){d[e]=a}else {d=a}b.setJsonData(d)}return b}});Ext.define('Ext.util.SorterCollection',{extend:Ext.util.Collection,isSorterCollection:!0,$sortable:null,sortFn:null,config:{sorterOptionsFn:null,sorterOptionsScope:null},constructor:function(b){var a=this;a.sortFn=Ext.util.Sorter.createComparator(a);a.callParent([b]);a.setDecoder(a.decodeSorter)},addSort:function(b,d,c){var a=this,f,j,k,g,h,i,e;if(!b){a.beginUpdate();a.endUpdate()}else {g=a.getOptions();if(b instanceof Array){e=b;c=d;d=null}else if(Ext.isString(b)){if(!(i=a.get(b))){e=[{property:b,direction:d||g.getDefaultSortDirection()}]}else {e=[i]}}else if(Ext.isFunction(b)){e=[{sorterFn:b,direction:d||g.getDefaultSortDirection()}]}else {if(!Ext.isObject(b)){Ext.raise('Invalid sort descriptor: '+b)}e=[b];c=d;d=null}if(c&&!a._sortModes[c]){Ext.raise('Sort mode should be "multi", "append", "prepend" or "replace", not "'+c+'"')}c=a._sortModes[c||'replace'];h=a.getAt(0);f=a.length;j=c.append?f:0;a.beginUpdate();a.splice(j,c.replace?f:0,e);if(c.multi){f=a.length;k=g.getMultiSortLimit();if(f>k){a.removeAt(k,f)}}if(i&&d){i.setDirection(d)}else if(j===0&&h&&h===a.getAt(0)){h.toggle()}a.endUpdate()}},clear:function(){this.beginUpdate();this.callParent();this.endUpdate(this.items)},getSortFn:function(){return this.sortFn},getByProperty:function(d){var c=this.items,e=c.length,a,b;for(a=0;a<e;++a){b=c[a];if(b.getProperty()===d){return b}}return null},_sortModes:{append:{append:1},multi:{multi:1},prepend:{prepend:1},replace:{replace:1}},decodeSorter:function(a,i){var c=this,g=c.getOptions(),h=g.getRootProperty(),f=c.getSorterOptionsFn(),d,b,e;if(a.isSorter){if(!a.getRoot()){a.setRoot(h)}}else {b={direction:g.getDefaultSortDirection(),root:h};e=typeof a;if(e==='string'){d=c.get(a);if(d){return d}b.property=a}else if(e==='function'){b.sorterFn=a}else {if(!Ext.isObject(a)){Ext.raise('Invalid sorter specified: '+a)}b=Ext.apply(b,a);if(b.fn){b.sorterFn=b.fn;delete b.fn}}a=Ext.create(i||Ext.util.Sorter,b)}if(f){f.call(c.getSorterOptionsScope()||c,a)}return a},setSorterConfigure:function(b,a){this.setSorterOptionsFn(b);this.setSorterOptionsScope(a)},decodeRemoveItems:function(e,d){var k=this,b=(d===undefined)?e:e[d];if(!b||!b.$cloned){if(e.length>d+1||!Ext.isIterable(b)){b=Ext.Array.slice(e,d)}var j=k.items,l=b.length,c=[],f,g,i,a,h;for(f=0;f<l;f++){a=b[f];if(a&&a.isSorter){c.push(a)}else {h=typeof a;if(h==='string'){a=k.get(a);if(a){c.push(a)}}else if(h==='function'){for(i=j.length;i-->0;){g=j[i];if(g.getSorterFn()===a){c.push(g)}}}else {Ext.raise('Invalid sorter specification: '+a)}}}b=c;b.$cloned=!0}return b},getOptions:function(){return this.$sortable||this}});Ext.define('Ext.util.FilterCollection',{extend:Ext.util.Collection,isFilterCollection:!0,$filterable:null,filterFn:null,constructor:function(b){var a=this;a.filterFn=Ext.util.Filter.createFilterFn(a);a.callParent([b]);a.setDecoder(a.decodeFilter)},filterData:function(a){return this.filtered?Ext.Array.filter(a,this.filterFn):a},getFilterFn:function(){return this.filterFn},isItemFiltered:function(a){return !this.filterFn(a)},getFilterCount:function(){var c=this.items,b=c.length,a;for(a=b-1;a>=0;a--){if(c[a].getDisabled()){b--}}return b},decodeFilter:function(b){var d=this.getOptions(),c=d.getRootProperty(),a;if(b.isFilter){if(!b.getRoot()){b.setRoot(c)}}else {a={root:c};if(Ext.isFunction(b)){a.filterFn=b}else {if(!Ext.isObject(b)){Ext.raise('Invalid filter specified: '+b)}a=Ext.apply(a,b);if(a.fn){a.filterFn=a.fn;delete a.fn}if(Ext.util.Filter.isInvalid(a)){return !1}}b=new Ext.util.Filter(a)}return b},decodeRemoveItems:function(f,e){var p=this,b=(e===undefined)?f:f[e];if(!b.$cloned){if(f.length>e+1||!Ext.isIterable(b)){b=Ext.Array.slice(f,e)}var n=p.items,o=b.length,k=[],a,g,h,j,i,c,d,m,l;for(g=0;g<o;g++){a=b[g];if(a&&a.isFilter){k.push(a)}else {l=typeof a;h=l==='function';j=a.property!==undefined&&a.value!==undefined;i=l==='string';if(!h&&!j&&!i){Ext.raise('Invalid filter specification: '+a)}for(m=n.length;m-->0;){c=n[m];d=!1;if(i){d=c.getProperty()===a}else if(h){d=c.getFilterFn()===a}else if(j){d=c.getProperty()===a.property&&c.getValue()===a.value}if(d){k.push(c)}}}}b=k;b.$cloned=!0}return b},getOptions:function(){return this.$filterable||this}});Ext.define('Ext.util.GroupCollection',{extend:Ext.util.Collection,isGroupCollection:!0,config:{grouper:null,groupConfig:null,itemRoot:null},observerPriority:-100,emptyGroupRetainTime:300000,constructor:function(a){this.emptyGroups={};this.callParent([a]);this.on('remove','onGroupRemove',this)},getItemGroup:function(a){var b=this.getGrouper().getGroupString(a);return this.get(b)},onCollectionAdd:function(b,a){if(!this.isConfiguring){this.addItemsToGroups(b,a.items,a.at)}},onCollectionBeforeItemChange:function(b,a){this.changeDetails=a},onCollectionBeginUpdate:function(){this.beginUpdate()},onCollectionEndUpdate:function(){this.endUpdate()},onCollectionItemChange:function(b,a){if(!a.indexChanged){this.syncItemGrouping(b,a)}this.changeDetails=null},onCollectionRefresh:function(d){if(d.generation){var c=this,j=c.itemGroupKeys={},h=c.createEntries(d,d.items),a=h.entries,g,e,i,b,f;for(e=0,i=a.length;e<i;++e){b=a[e];b.group.splice(0,1.0E99,b.items);for(f=0;f<b.items.length;f++){j[d.getKey(b.items[f])]=b.group}}a=null;for(g in c.map){if(!(g in h.groups)){(a||(a=[])).push(c.map[g])}}if(a){c.remove(a)}c.sortItems()}},onCollectionRemove:function(f,k){var a=this,j=a.changeDetails,m=a.itemGroupKeys||(a.itemGroupKeys={}),e,g,d,b,i,h,c,l;if(f.getCount()){if(j){l=j.item||j.items[0];e=a.createEntries(f,[l]).entries;e[0].group=m['oldKey' in k?k.oldKey:f.getKey(l)]}else {e=a.createEntries(f,k.items).entries}for(b=0,i=e.length;b<i;++b){d=(g=e[b]).group;if(d){d.remove(g.items)}for(h=0;h<g.items.length;h++){delete m[f.getKey(g.items[h])]}if(d&&!d.length){(c||(c=[])).push(d)}}}else {a.itemGroupKeys={};c=a.items;for(b=0,i=c.length;b<i;++b){c[b].clear()}}if(c){a.remove(c)}},onCollectionSort:function(g){var f=this,b=g.getSorters(!1),e,d,a,c;if(b){e=f.items;d=f.length;for(a=0;a<d;++a){c=e[a];if(c.getSorters()!==b){c.setSorters(b)}}}},onCollectionUpdateKey:function(b,a){if(!a.indexChanged){a.oldIndex=b.indexOf(a.item);this.syncItemGrouping(b,a)}},addItemsToGroups:function(c,n,d,f){var e=this,p=e.itemGroupKeys||(e.itemGroupKeys={}),k=e.createEntries(c,n).entries,g=-1,m,a,h,o,i,b,j,l;for(h=0,o=k.length;h<o;++h){a=k[h];b=a.group;if(f||f===0){l=n[0];if(b.getCount()>0&&c.getSorters().getCount()===0){j=c.indexOf(b.items[0]);if(f<j){g=0}else {g=f-j}}if(g===-1){b.add(l)}else {b.insert(g,l)}}else {if(e.length>1&&d){m=c.indexOf(k[0].group.getAt(0));d=Math.max(d-m,0)}a.group.insert(d!=null?d:b.items.length,a.items);for(i=0;i<a.items.length;i++){p[c.getKey(a.items[i])]=a.group}}}e.sortItems()},createEntries:function(l,g){var j=this,c={},e=[],k=j.getGrouper(),d,f,a,b,h,i;for(b=0,i=g.length;b<i;++b){a=k.getGroupString(h=g[b]);if(!(d=c[a])){f=j.getGroup(l,a);e.push(c[a]=d={group:f,items:[]})}d.items.push(h)}return {groups:c,entries:e}},syncItemGrouping:function(i,a){var d=this,h=d.itemGroupKeys||(d.itemGroupKeys={}),c=a.item,f,e,b,g;e=i.getKey(c);f='oldKey' in a?a.oldKey:e;b=h[f];g=d.getGroup(i,d.getGrouper().getGroupString(c));a.group=g;a.oldGroup=b;if(!(a.groupChanged=g!==b)){b.itemChanged(c,a.modified,a.oldKey,a)}else {if(b){b.updateKey(c,f,e);b.remove(c);if(!b.length){d.remove(b)}}d.addItemsToGroups(i,[c],null,a.oldIndex)}delete h[f];h[e]=g},getGroup:function(d,c){var a=this,b=a.get(c),e=a.getAutoSort();if(b){b.setSorters(d.getSorters())}else {b=a.emptyGroups[c]||Ext.create(Ext.apply({xclass:'Ext.util.Group',groupKey:c,rootProperty:a.getItemRoot(),sorters:d.getSorters()},a.getGroupConfig()));b.ejectTime=null;a.setAutoSort(!1);a.add(b);a.setAutoSort(e)}return b},getKey:function(a){return a.getGroupKey()},createSortFn:function(){var c=this,b=c.getGrouper(),a=c.getSorters().getSortFn();if(!b){return a}return function(c,d){return b.sort(c.items[0],d.items[0])||a(c,d)}},updateGrouper:function(b){var a=this;a.grouped=!!(b&&a.$groupable.getAutoGroup());a.onSorterChange();a.onEndUpdateSorters(a.getSorters())},destroy:function(){var a=this;a.$groupable=null;a.destroyGroups(a.items);Ext.undefer(a.checkRemoveQueueTimer);a.callParent()},privates:{destroyGroups:function(b){var c=b.length,a;for(a=0;a<c;++a){b[a].destroy()}},onGroupRemove:function(h,g){var e=this,b=g.items,f=e.emptyGroups,d,a,c;b=Ext.Array.from(b);for(c=0,d=b.length;c<d;c++){a=b[c];a.setSorters(null);f[a.getGroupKey()]=a;a.ejectTime=Ext.now()}e.checkRemoveQueue()},checkRemoveQueue:function(){var a=this,c=a.emptyGroups,d,b,e;for(d in c){b=c[d];if(!b.getCount()&&Ext.now()-b.ejectTime>a.emptyGroupRetainTime){Ext.destroy(b);delete c[d]}else {e=!0}}if(e){Ext.undefer(a.checkRemoveQueueTimer);a.checkRemoveQueueTimer=Ext.defer(a.checkRemoveQueue,a.emptyGroupRetainTime,a)}}}});Ext.define('Ext.data.Store',{extend:Ext.data.ProxyStore,alias:'store.store',mixins:[Ext.data.LocalStore],config:{data:undefined,clearRemovedOnLoad:!0,clearOnPageLoad:!0,associatedEntity:null,role:null,session:null},addRecordsOptions:{addRecords:!0},loadCount:0,complete:!1,moveMapCount:0,constructor:function(a){var b=this,c;if(a){if(a.buffered){if(this.self!==Ext.data.Store){Ext.raise('buffered config not supported on derived Store classes. '+'Please derive from Ext.data.BufferedStore.')}return new Ext.data['BufferedStore'](a)}if(a.remoteGroup){Ext.log.warn('Ext.data.Store: remoteGroup has been removed. Use remoteSort instead.')}}b.callParent([a]);c=b.inlineData;if(c){delete b.inlineData;b.loadInlineData(c)}},applyData:function(a,c){var b=this;b.getFields();b.getModel();if(a&&a.isCollection){c=a}else {if(!c){c=b.constructDataCollection()}if(a){if(b.isInitializing){b.inlineData=a}else {b.loadData(a)}}}return c},loadInlineData:function(c){var a=this,b=a.getProxy();if(b&&b.isMemoryProxy){b.setData(c);a.suspendEvents();a.read();a.resumeEvents()}else {a.removeAll(!0);a.suspendEvents();a.loadData(c);a.resumeEvents()}},onCollectionAdd:function(b,a){this.loadCount=this.loadCount||1;this.onCollectionAddItems(b,a.items,a)},onCollectionFilterAdd:function(a,b){this.onCollectionAddItems(a,b)},onCollectionAddItems:function(n,g,b){var a=this,m=g.length,k=b?!b.next:!1,h=a.removed,j=a.ignoreCollectionAdd,l=a.getSession(),e=b&&b.replaced,f,i,c,d;if(a.activeRanges){a.syncActiveRanges()}for(f=0;f<m;++f){c=g[f];if(l){l.adopt(c)}if(!j){c.join(a);if(h&&h.length){Ext.Array.remove(h,c)}i=i||c.phantom||c.dirty}}if(j){return}if(e){d=[];do{Ext.Array.push(d,e.items);e=e.next}while(e);a.setMoving(d,!0)}if(b){if(b.replaced){if(k){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}}else {a.fireEvent('add',a,g,b.at);if(k){a.fireEvent('datachanged',a)}}}if(d){a.setMoving(d,!1)}a.needsSync=a.needsSync||i},onCollectionBeforeItemChange:function(e,a){var c=a.item,b=a.modified||null,d=a.meta;this.fireEvent('beforeupdate',this,c,d,b,a)},onCollectionFilteredItemChange:function(){this.onCollectionItemChange.apply(this,arguments)},onCollectionItemChange:function(f,b){var a=this,c=b.item,d=b.modified||null,e=b.meta;if(a.fireChangeEvent(c)){a.onUpdate(c,e,d,b);a.fireEvent('update',a,c,e,d,b);a.fireEvent('datachanged',a)}},afterChange:function(b,a,c){this.getData().itemChanged(b,a||null,undefined,c)},afterCommit:function(b,a){this.afterChange(b,a,Ext.data.Model.COMMIT)},afterEdit:function(a,b){this.needsSync=this.needsSync||a.dirty;this.afterChange(a,b,Ext.data.Model.EDIT)},afterReject:function(a){this.afterChange(a,null,Ext.data.Model.REJECT)},afterDrop:function(a){this.getData().remove(a)},afterErase:function(a){this.removeFromRemoved(a)},addSorted:function(c){var a=this,d=a.getRemoteSort(),b=a.getData(),e;if(d){b.setSorters(a.getSorters())}e=b.findInsertionIndex(c);if(d){b.setSorters(null)}return a.insert(e,c)},remove:function(c,h,i){var f=this,e=f.getDataSource(),d,g,b,a;if(c){if(c.isModel){if(e.indexOf(c)>-1){b=[c];d=1}else {d=0}}else {b=[];for(g=0,d=c.length;g<d;++g){a=c[g];if(a&&a.isEntity){if(!e.contains(a)){continue}}else if(!(a=e.getAt(a))){continue}b.push(a)}d=b.length}}if(!d){return []}f.removeIsMove=h===!0;f.removeIsSilent=i;e.remove(b);f.removeIsSilent=!1;return b},onCollectionRemove:function(n,f){var a=this,g=a.removed,e=f.items,m=e.length,i=f.at,b=f.replacement,h=a.removeIsMove||(b&&Ext.Array.equals(e,b.items)),k=a.removeIsSilent,j=!f.next,l=a.getDataSource(),d,c;if(a.ignoreCollectionRemove){return}if(b){a.setMoving(b.items,!0)}for(d=m-1;d>=0;d--){c=e[d];if(!l.contains(c)){if(g&&!h&&!c.phantom&&!c.erasing){c.removedFrom=i+d;g.push(c);a.needsSync=!0}else {c.unjoin(a)}}}if(!k){if(!b||!b.items.length){a.fireEvent('remove',a,e,i,h);if(j){a.fireEvent('datachanged',a)}}}if(b){a.setMoving(b.items,!1)}},onFilterEndUpdate:function(){var a=this;if(a.destroying||a.destroyed){return}if(a.activeRanges){a.syncActiveRanges()}a.callParent(arguments);a.callObservers('Filter')},removeAt:function(a,b){var c=this.getData();a=Math.max(a,0);if(a<c.length){if(arguments.length===1){b=1}else if(!b){return}c.removeAt(a,b)}},removeAll:function(d){var a=this,b=a.getData(),c=b.getRange();if(b.length){a.removeIsSilent=!0;a.callObservers('BeforeRemoveAll');b.removeAll();a.removeIsSilent=!1;if(!d){a.fireEvent('clear',a,c);a.fireEvent('datachanged',a)}a.callObservers('AfterRemoveAll',[!!d])}return c},setRecords:function(a){var b=this.getCount();++this.loadCount;if(b){this.getData().splice(0,b,a)}else {this.add(a)}},splice:function(b,a,c){return this.getData().splice(b,a,c)},onProxyLoad:function(b){var a=this,e=b.getResultSet(),c=b.getRecords(),d=b.wasSuccessful();if(a.destroyed){return}if(e){a.totalCount=e.getTotal()}if(d){c=a.processAssociation(c);a.loadRecords(c,b.getAddRecords()?{addRecords:!0}:undefined);a.attachSummaryRecord(e)}else {a.loading=!1}if(a.hasListeners.load){a.fireEvent('load',a,c,d,b)}a.callObservers('AfterLoad',[c,d,b])},onProxyWrite:function(a){if(a.wasSuccessful()){this.attachSummaryRecord(a.getResultSet())}this.callParent([a])},filterDataSource:function(f){var c=this.getDataSource(),b=c.items,e=b.length,d=[],a;for(a=0;a<e;a++){if(f.call(c,b[a])){d.push(b[a])}}return d},getNewRecords:function(){return this.filterDataSource(this.filterNew)},getRejectRecords:function(){return this.filterDataSource(this.filterRejects)},getUpdatedRecords:function(){return this.filterDataSource(this.filterUpdated)},loadData:function(d,e){var b=this,f=d.length,a=[],c;for(c=0;c<f;c++){a.push(b.createModel(d[c]))}a=b.processAssociation(a);b.loadRecords(a,e?b.addRecordsOptions:undefined)},loadRawData:function(g,f){var a=this,c=a.getSession(),b=a.getProxy().getReader().read(g,c?{recordCreator:c.recordCreator}:undefined),e=b.getRecords(),d=b.getSuccess();if(d){a.totalCount=b.getTotal();a.loadRecords(e,f?a.addRecordsOptions:undefined)}return d},loadRecords:function(c,g){var a=this,h=c.length,d=a.getData(),e,b,f;if(g){e=g.addRecords}if(!a.getRemoteSort()&&!a.getSortOnLoad()){f=!0;d.setAutoSort(!1)}if(!e){a.clearData(!0)}a.loading=!1;a.ignoreCollectionAdd=!0;a.callObservers('BeforePopulate');d.add(c);a.ignoreCollectionAdd=!1;if(f){d.setAutoSort(!0)}for(b=0;b<h;b++){c[b].join(a)}if(!a.isEmptyStore){++a.loadCount;a.complete=!0}if(a.hasListeners.datachanged){a.fireEvent('datachanged',a)}if(a.hasListeners.refresh){a.fireEvent('refresh',a)}a.callObservers('AfterPopulate')},loadPage:function(c,b){var a=this,d=a.getPageSize();a.currentPage=c;b=Ext.apply({page:c,start:(c-1)*d,limit:d,addRecords:!a.getClearOnPageLoad()},b);a.read(b)},nextPage:function(a){this.loadPage(this.currentPage+1,a)},previousPage:function(a){this.loadPage(this.currentPage-1,a)},clearData:function(h){var a=this,b=a.removed,f=a.getDataSource(),g=a.getClearRemovedOnLoad(),j=b&&h&&!g,d,e,c,i;if(f){d=f.items;for(c=0,i=d.length;c<i;++c){e=d[c];if(j&&Ext.Array.contains(b,e)){continue}e.unjoin(a)}a.ignoreCollectionRemove=!0;a.callObservers('BeforeClear');f.removeAll();a.ignoreCollectionRemove=!1;a.callObservers('AfterClear')}if(b&&(!h||g)){b.length=0}},onIdChanged:function(b,a,c){this.getData().updateKey(b,a);this.fireEvent('idchanged',this,b,a,c)},commitChanges:function(){var a=this,c=a.getModifiedRecords(),d=c.length,b=0;Ext.suspendLayouts();a.beginUpdate();for(;b<d;b++){c[b].commit()}a.cleanRemoved();a.endUpdate();Ext.resumeLayouts(!0);a.fireEvent('commit',a)},filterNewOnly:function(a){return a.phantom===!0},filterRejects:function(a){return a.phantom||a.dirty},rejectChanges:function(){var a=this,c=a.getRejectRecords(),f=c.length,b,d,e,g,h,i;Ext.suspendLayouts();a.beginUpdate();for(b=0;b<f;b++){d=c[b];if(d.phantom){e=e||[];e.push(d)}else {d.reject()}}if(e){a.remove(e);for(b=0,f=e.length;b<f;++b){e[b].reject()}}c=a.getRawRemovedRecords();if(c){f=c.length;g=!a.getRemoteSort()&&a.isSorted();if(g){h=a.getData();i=h.getAutoSort();h.setAutoSort(!1)}for(b=f-1;b>=0;b--){d=c[b];d.reject();if(!g){a.insert(d.removedFrom||0,d)}}if(g){h.setAutoSort(i);a.add(c)}c.length=0}a.endUpdate();Ext.resumeLayouts(!0);a.fireEvent('reject',a)},doDestroy:function(){var a=this,c=a.loadTask,d=a.getData(),b=d.getSource();a.clearData();a.setSession(null);a.observers=null;if(c){c.cancel();a.loadTask=null}if(b){b.destroy()}a.callParent()},privates:{commitOptions:{commit:!0},attachSummaryRecord:function(g){if(!g){return}var d=this,a=g.getSummaryData(),k=d.getGrouper(),b=d.summaryRecord,h=d.commitOptions,i,j,f,c,e;if(a){if(b){b.set(a.data,h)}else {d.summaryRecord=a;a.isRemote=!0}}if(k){a=g.getGroupData();if(a){i=d.getGroups();for(f=0,j=a.length;f<j;++f){c=a[f];e=i.getItemGroup(c);if(e){b=e.summaryRecord;if(b){b.set(c.data,h)}else {e.summaryRecord=c;c.isRemote=!0}}}}}},fetch:function(a){a=Ext.apply({},a);this.setLoadOptions(a);var b=this.createOperation('read',a);b.execute()},fireChangeEvent:function(a){return this.getDataSource().contains(a)},onBeforeLoad:function(a){this.callObservers('BeforeLoad',[a])},onRemoteFilterSet:function(a,b){if(a){this.getData().setFilters(b?null:a)}this.callParent([a,b])},onRemoteSortSet:function(b,a){var c=this.getData();if(b){c.setSorters(a?null:b)}c.setAutoGroup(!a);this.callParent([b,a])},isMoving:function(a,f){var c=this.moveMap,b=0,e,d;if(c){if(a){if(Ext.isArray(a)){for(d=0,e=a.length;d<e;++d){b+=c[a[d].id]?1:0}}else if(c[a.id]){++b}}else {b=f?c:this.moveMapCount}}return b},setLoadOptions:function(a){var b=this,c=b.getPageSize(),e,d;if(b.getRemoteSort()&&!a.grouper){d=b.getGrouper();if(d){a.grouper=d}}if(c||'start' in a||'limit' in a||'page' in a){a.page=a.page!=null?a.page:b.currentPage;a.start=(a.start!==undefined)?a.start:(a.page-1)*c;a.limit=a.limit!=null?a.limit:c;b.currentPage=a.page}a.addRecords=a.addRecords||!1;if(!a.recordCreator){e=b.getSession();if(e){a.recordCreator=e.recordCreator}}b.callParent([a])},setMoving:function(e,f){var b=this,c=b.moveMap||(b.moveMap={}),g=e.length,d,a;for(d=0;d<g;++d){a=e[d].id;if(f){if(c[a]){++c[a]}else {c[a]=1;++b.moveMapCount}}else {if(--c[a]===0){delete c[a];--b.moveMapCount}}}if(b.moveMapCount===0){b.moveMap=null}},processAssociation:function(b){var a=this,c=a.getAssociatedEntity();if(c){b=a.getRole().processLoad(a,c,b,a.getSession())}return b}}});Ext.define('Ext.data.reader.Array',{extend:Ext.data.reader.Json,alternateClassName:'Ext.data.ArrayReader',alias:'reader.array',config:{totalProperty:undefined,successProperty:undefined},createFieldAccessor:function(a){var b=a.mapping,d=a.hasMapping()?b:a.ordinal,c;a.mapping=d;c=this.callParent(arguments);a.mapping=b;return c},getModelData:function(a){return {}}});Ext.define('Ext.data.ArrayStore',{extend:Ext.data.Store,alias:'store.array',alternateClassName:['Ext.data.SimpleStore'],config:{proxy:{type:'memory',reader:'array'}},loadData:function(a,d){if(this.expandData){var c=[],b=0,e=a.length;for(;b<e;b++){c[c.length]=[a[b]]}a=c}this.callParent([a,d])}});Ext.define('Ext.data.StoreManager',{extend:Ext.util.MixedCollection,alternateClassName:['Ext.StoreMgr','Ext.data.StoreMgr','Ext.StoreManager'],singleton:!0,register:function(){for(var a=0,b;(b=arguments[a]);a++){this.add(b)}},unregister:function(){for(var a=0,b;(b=arguments[a]);a++){this.remove(this.lookup(b))}},lookup:function(a,h){if(Ext.isArray(a)){var g=a[0],c=a,e,f,b,d;if(Ext.isObject(g)){a={data:c}}else {e=Ext.isArray(g);f=['field1'];if(e){for(b=2,d=g.length;b<=d;++b){f.push('field'+b)}}else {c=[];for(b=0,d=a.length;b<d;++b){c.push([a[b]])}}return new Ext.data.ArrayStore({data:c,fields:f,autoDestroy:!0,autoCreated:!0,expanded:!e})}}if(Ext.isString(a)){return this.get(a)}else {return Ext.Factory.store(a,h)}},getKey:function(a){return a.storeId},addEmptyStore:function(){var a=this.$emptyStore,b={destroy:Ext.emptyFn};if(!a){a=this.$emptyStore=Ext.regStore('ext-empty-store',{proxy:'memory',useModelWarning:!1});a.isEmptyStore=!0;a.on=a.addListener=function(){return b};a.un=a.removeListener=Ext.emptyFn;a.add=a.remove=a.insert=a.destroy=a.loadData=function(){Ext.raise('Cannot modify ext-empty-store')}}this.add(a)},clear:function(){this.callParent();this.addEmptyStore()}},function(){Ext.regStore=function(b,a){var c;if(Ext.isObject(b)){a=b}else {if(Ext.data.StoreManager.containsKey(b)){return Ext.data.StoreManager.lookup(b)}a.storeId=b}if(a instanceof Ext.data.Store){c=a}else {c=new Ext.data.Store(a)}Ext.data.StoreManager.register(c);return c};Ext.getStore=function(a){return Ext.data.StoreManager.lookup(a)};Ext.data.StoreManager.addEmptyStore()});Ext.define('Ext.app.domain.Store',{extend:Ext.app.EventDomain,singleton:!0,type:'store',prefix:'store.',idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.data.AbstractStore)},match:function(c,a){var b=!1,d=c.alias;if(a==='*'){b=!0}else if(this.idMatchRe.test(a)){b=c.getStoreId()===a.substring(1)}else if(d){b=Ext.Array.indexOf(d,this.prefix+a)>-1}return b}});Ext.define('Ext.app.Controller',{extend:Ext.app.BaseController,statics:{strings:{model:{getter:'getModel',upper:'Model'},view:{getter:'getView',upper:'View'},controller:{getter:'getController',upper:'Controller'},store:{getter:'getStore',upper:'Store'},profile:{getter:'getProfile',upper:'Profiles'}},controllerRegex:/^(.*)\.controller\./,profileRegex:/^(.*)\.profile\./,createGetter:function(a,b){return function(){return this[a](b)}},getGetterName:function(f,d){var b='get',c=f.split('.'),e=c.length,a;for(a=0;a<e;a++){b+=Ext.String.capitalize(c[a])}b+=d;return b},resolveNamespace:function(f,e){var c=Ext.app.Controller,g=f.prototype.isProfile?c.profileRegex:c.controllerRegex,a,b,d;a=Ext.getClassName(f);b=e.$namespace||e.namespace||Ext.app.getNamespace(a)||((d=g.exec(a))&&d[1]);if(!b){Ext.log.warn("Missing namespace for "+a+", please define it "+"in namespaces property of your Application class.")}return b},processDependencies:function(m,p,o,f,a,n){if(!a||!a.length){return}var d=this,k=d.strings[f],h,i,j,g,b,l,c,e;if(!Ext.isArray(a)){a=[a]}for(b=0,l=a.length;b<l;b++){g=a[b];h=d.getFullName(g,f,o,n);a[b]=i=h.absoluteName;j=h.shortName;p.push(i);c=d.getGetterName(j,k.upper);if(!m[c]){m[c]=e=d.createGetter(k.getter,g)}else if(c==='getMainView'){Ext.log.warn('Cannot have a view named \'Main\' - getter conflicts with mainView config.')}if(e&&f!=='controller'){e['Ext.app.getter']=!0}}},getFullName:function(a,e,d,g){var c=a,f,b;if((f=a.indexOf('@'))>0){c=a.substring(0,f);b=a.substring(f+1)+'.'+c}else if(a.indexOf('.')>0&&(Ext.ClassManager.isCreated(a)||this.hasRegisteredPrefix(a))){b=a;c=a.replace(d+'.'+e+'.','')}else {if(!d){Ext.log.warn("Cannot find namespace for "+e+" "+a+", "+"assuming it is fully qualified class name")}if(d){b=d+'.'+e+'.'+(g?g+'.'+a:a);c=a}else {b=a}}return {absoluteName:b,shortName:c}},hasRegisteredPrefix:function(a){var c=Ext.ClassManager,b=c.getPrefix(a);return b&&b!==a}},models:null,views:null,stores:null,controllers:null,config:{application:null,refs:null,active:!0,moduleClassName:null},onClassExtended:function(d,c,a){var b=a.onBeforeCreated;a.onBeforeCreated=function(j,i){var g=Ext.app.Controller,h=[],e,f;f=j.prototype;e=g.resolveNamespace(j,i);if(e){f.$namespace=e}g.processDependencies(f,h,e,'model',i.models);g.processDependencies(f,h,e,'view',i.views);g.processDependencies(f,h,e,'store',i.stores);g.processDependencies(f,h,e,'controller',i.controllers);Ext.require(h,Ext.Function.pass(b,arguments,this))}},constructor:function(a){this.initAutoGetters();this.callParent([a])},normalizeRefs:function(a){var c=this,b=[];if(a){if(Ext.isObject(a)){Ext.Object.each(a,function(d,c){if(Ext.isString(c)){c={selector:c}}c.ref=d;b.push(c)})}else if(Ext.isArray(a)){b=Ext.Array.merge(b,a)}}a=c.refs;if(a){c.refs=null;a=c.normalizeRefs(a);if(a){b=Ext.Array.merge(b,a)}}return b},getRefMap:function(){var e=this,a=e._refMap,b,d,f,c;if(!a){b=e.getRefs();a=e._refMap={};if(b){for(c=0,f=b.length;c<f;c++){d=b[c];a[d.ref]=d.selector}}}return a},applyId:function(a){return a||Ext.app.Controller.getFullName(this.$className,'controller',this.$namespace).shortName},applyRefs:function(a){return this.normalizeRefs(Ext.clone(a))},updateRefs:function(a){if(a){this.ref(a)}},initAutoGetters:function(){var b=this.self.prototype,c,a;for(c in b){a=b[c];if(a&&a['Ext.app.getter']){a.call(this)}}},doInit:function(b){var a=this;if(!a._initialized){a.init(b);a._initialized=!0}},finishInit:function(f){var c=this,a=c.controllers,d,b,e;if(c._initialized&&a&&a.length){for(b=0,e=a.length;b<e;b++){d=c.getController(a[b]);d.finishInit(f)}}},init:Ext.emptyFn,onLaunch:Ext.emptyFn,activate:function(){this.setActive(!0)},deactivate:function(){this.setActive(!1)},isActive:function(){return this.getActive()},ref:function(b){var a=this,f=0,g=b.length,d,c,e;b=Ext.Array.from(b);a.references=a.references||[];for(;f<g;f++){d=b[f];c=d.ref;e='get'+Ext.String.capitalize(c);if(!a[e]){a[e]=Ext.Function.pass(a.getRef,[c,d],a)}a.references.push(c.toLowerCase())}},addRef:function(a){this.ref(a)},getRef:function(d,a,e){var f=this,c=f.refCache||(f.refCache={}),b=c[d];a=a||{};e=e||{};Ext.apply(a,e);if(a.forceCreate){return Ext.ComponentManager.create(a,'component')}if(!b){if(a.selector){c[d]=b=Ext.ComponentQuery.query(a.selector)[0]}if(!b&&a.autoCreate){c[d]=b=Ext.ComponentManager.create(a,'component')}if(b){b.on('destroy',function(){c[d]=null})}}return b},hasRef:function(b){var a=this.references;return a&&Ext.Array.indexOf(a,b.toLowerCase())!==-1},getController:function(b){var a=this.getApplication();if(b===this.getId()){return this}return a&&a.getController(b)},getStore:function(a){var c,b;c=(a.indexOf('@')===-1)?a:a.split('@')[0];b=Ext.StoreManager.get(c);if(!b){a=Ext.app.Controller.getFullName(a,'store',this.$namespace);if(a){b=Ext.create(a.absoluteName,{id:c})}}return b},getModel:function(b){var c=Ext.app.Controller.getFullName(b,'model',this.$namespace),a=Ext.ClassManager.get(c.absoluteName);if(!a){a=Ext.data.schema.Schema.lookupEntity(b)}return a},getProfile:function(a){a=Ext.app.Controller.getFullName(a,'profile',this.$namespace);return a},getView:function(b){var a=Ext.app.Controller.getFullName(b,'view',this.$namespace);return a&&Ext.ClassManager.get(a.absoluteName)},destroy:function(e,f){var a=this,d=a.application,b,c;if(!f&&d){d.unregister(a)}a.application=null;if(e){b=a.refCache;for(c in b){if(b.hasOwnProperty(c)){Ext.destroy(b[c])}}}a.callParent()}});Ext.define('Ext.app.Application',{extend:Ext.app.Controller,isApplication:!0,scope:undefined,namespaces:[],paths:null,config:{name:'',appProperty:'app',profiles:[],currentProfile:null,mainView:{$value:null,lazy:!0},defaultToken:null,glyphFontFamily:null,quickTips:!0,router:null},onClassExtended:function(d,a,f){var h=Ext.app.Controller,g=d.prototype,c=[],e,i,b,j;b=a.name||d.superclass.name;if(b){a.$namespace=b;Ext.app.addNamespaces(b)}if(a.namespaces){Ext.app.addNamespaces(a.namespaces)}if(a['paths processed']){delete a['paths processed']}else {Ext.app.setupPaths(b,('appFolder' in a)?a.appFolder:d.superclass.appFolder,a.paths)}h.processDependencies(g,c,b,'profile',a.profiles);g.getDependencies(d,a,c);if(c.length){e=f.onBeforeCreated;f.onBeforeCreated=function(h,g){var b=Ext.Array.clone(arguments);if(g.__handleRequires){g.__handleRequires.call(this,c,Ext.bind(function(){return e.apply(this,b)},this));return}Ext.require(c,function(){return e.apply(this,b)})}}},getDependencies:Ext.emptyFn,constructor:function(b){var a=this;Ext.route.Router.application=a;a.callParent([b]);if(Ext.isEmpty(a.getName())){Ext.raise("[Ext.app.Application] Name property is required")}a.doInit(a);Ext.on('appupdate',a.onAppUpdate,a,{single:!0});Ext.Loader.setConfig({enabled:!0});this.onProfilesReady()},applyId:function(a){return a||this.$className},updateRouter:function(a){if(a){Ext.route.Router.setConfig(a)}},onAppUpdate:Ext.emptyFn,onProfilesReady:function(){var a=this,e=a.getProfiles(),f=e.length,b,c,d;for(c=0;c<f;c++){d=Ext.create(e[c],{application:a});if(d.isActive()&&!b){b=d;a.setCurrentProfile(b)}}if(b){b.init()}a.initControllers();a.onBeforeLaunch();a.finishInitControllers()},doInit:function(a){this.initNamespace(a);this.callParent([a])},initNamespace:function(b){var a=b.getAppProperty(),c=Ext.namespace(b.getName());if(c){c.getApplication=function(){return b};if(a){if(!c[a]){c[a]=b}else if(c[a]!==b){Ext.log.warn('An existing reference is being overwritten for '+name+'.'+a+'. See the appProperty config.')}}}},initControllers:function(){var c=this,b=Ext.Array.from(c.controllers),e=c.getCurrentProfile(),a,d;c.controllers=new Ext.util.MixedCollection();for(a=0,d=b.length;a<d;a++){c.getController(b[a])}if(e){b=e.getControllers();for(a=0,d=b.length;a<d;a++){c.getController(b[a])}}},finishInitControllers:function(){var c=this,b,a,d;b=c.controllers.getRange();for(a=0,d=b.length;a<d;a++){b[a].finishInit(c)}},launch:Ext.emptyFn,onBeforeLaunch:function(){var a=this,b=Ext.util.History,e=a.getDefaultToken(),g=a.getCurrentProfile(),f,d,i,h,c;a.initMainView();if(g){g.launch()}a.launch.call(a.scope||a);a.launched=!0;a.fireEvent('launch',a);f=a.controllers.items;i=f.length;for(d=0;d<i;d++){h=f[d];h.onLaunch(a)}if(!b.ready){b.init()}c=b.getToken();if(c||c===e){Ext.route.Router.onStateChange(c)}else if(e){b.replace(e)}if(Ext.Microloader&&Ext.Microloader.appUpdate&&Ext.Microloader.appUpdate.updated){Ext.Microloader.fireAppUpdate()}if(!a.cnsTimer){a.cnsTimer=Ext.defer(Ext.ClassManager.clearNamespaceCache,2000,Ext.ClassManager)}},getModuleClassName:function(b,a){return Ext.app.Controller.getFullName(b,a,this.getName()).absoluteName},initMainView:function(){var b=this,c=b.getCurrentProfile(),a;if(c){a=c.getMainView()}if(a){b.setMainView(a)}else {b.getMainView()}},applyMainView:function(a){var b=this.getView(a);return b.create({$initParent:this.viewport})},createController:function(a){return this.getController(a)},destroyController:function(a){if(typeof a==='string'){a=this.getController(a,!0)}Ext.destroy(a)},getController:function(f,j){var c=this,e=c.controllers,b,a,i,d,h,g;a=e.get(f);if(!a){g=e.items;for(d=0,i=g.length;d<i;++d){h=g[d];b=h.getModuleClassName();if(b&&b===f){a=h;break}}}if(!a&&!j){b=c.getModuleClassName(f,'controller');a=Ext.create(b,{application:c,moduleClassName:b});e.add(a);if(c._initialized){a.doInit(c)}}return a},unregister:function(a){this.controllers.remove(a)},getApplication:function(){return this},destroy:function(d){var a=this,c=a.controllers,b=Ext.namespace(a.getName()),e=a.getAppProperty();Ext.undefer(a.cnsTimer);Ext.un('appupdate',a.onAppUpdate,a);Ext.destroy(a.viewport);if(c){c.each(function(a){a.destroy(d,!0)})}a.controllers=null;a.callParent([d,!0]);if(b&&b[e]===a){delete b[e]}if(Ext.route.Router.application===a){Ext.route.Router.application=null}if(Ext.app.Application.instance===a){Ext.app.Application.instance=null}},updateGlyphFontFamily:function(a){Ext.setGlyphFontFamily(a)},applyProfiles:function(a){var b=this;return Ext.Array.map(a,function(c){return b.getModuleClassName(c,"profile")})}},function(){Ext.getApplication=function(){return Ext.app.Application.instance}});Ext.application=function(a){var b=function(b){Ext.onReady(function(){var c=Ext.viewport;c=c&&c['Viewport'];if(c&&c.setup){c.setup(b.prototype.config.viewport)}Ext.app.Application.instance=new b()})};if(typeof a==="string"){Ext.require(a,function(){b(Ext.ClassManager.get(a))})}else {a=Ext.apply({extend:'Ext.app.Application'},a);Ext.app.setupPaths(a.name,a.appFolder,a.paths);a['paths processed']=!0;Ext.define(a.name+".$application",a,function(){b(this)})}};Ext.define('Ext.util.ItemCollection',{extend:Ext.util.MixedCollection,alternateClassName:'Ext.ItemCollection',getKey:function(a){return a.getItemId&&a.getItemId()},has:function(a){return this.map.hasOwnProperty(a.getId())}});Ext.define('Ext.mixin.Queryable',{mixinId:'queryable',isQueryable:!0,query:function(a){a=a||'*';return Ext.ComponentQuery.query(a,this.getQueryRoot())},queryBy:function(g,e){var d=[],c=this.getQueryRoot().getRefItems(!0),b=0,f=c.length,a;for(;b<f;++b){a=c[b];if(g.call(e||a,a)!==!1){d.push(a)}}return d},queryById:function(a){return this.down(Ext.makeIdSelector(a))},child:function(b){var a=this.getQueryRoot().getRefItems();if(b&&b.isComponent){return this.matchById(a,b.getItemId())}if(b){a=Ext.ComponentQuery.query(b,a)}if(a.length){return a[0]}return null},down:function(a){if(a&&a.isComponent){return this.matchById(this.getRefItems(!0),a.getItemId())}a=a||'';return this.query(a)[0]||null},visitPreOrder:function(b,d,c,a){Ext.ComponentQuery._visit(!0,b,this.getQueryRoot(),d,c,a)},visitPostOrder:function(b,d,c,a){Ext.ComponentQuery._visit(!1,b,this.getQueryRoot(),d,c,a)},getRefItems:function(){return []},getQueryRoot:function(){return this},privates:{matchById:function(c,e){var d=c.length,a,b;for(a=0;a<d;++a){b=c[a];if(b.getItemId()===e){return b}}return null}}});Ext.define('Ext.mixin.Container',{extend:Ext.Mixin,mixinConfig:{id:'container'},isContainer:!0,nameHolder:!1,referenceHolder:!1,getNamedItems:function(){var a=Ext.ComponentManager;if(a.referencesDirty){a.fixReferences()}return this.nameRefs||null},getReferences:function(){var a=Ext.ComponentManager;if(a.referencesDirty){a.fixReferences()}return this.refs||null},lookup:function(b){var a=this.getReferences();return (a&&a[b])||null},lookupName:function(b){var a=this.getNamedItems();return (a&&a[b])||null},lookupReference:function(a){return this.lookup(a)},privates:{attachNameRef:function(a){var c=this,d=a.name||a._name,b,e;if(d&&!c.destroying&&!c.destroyed){e=c.nameRefs||(c.nameRefs={});b=e[d];if(!b){b=a.shareableName?[a]:a}else if(!b.isInstance){b.push(a)}else {Ext.raise('Duplicate name: "'+d+'" on '+c.id+' between '+b.id+' and '+a.id)}e[d]=b}},attachReference:function(d){var b=this,a,c;if(!b.destroying&&!b.destroyed){c=b.refs||(b.refs={});a=d.referenceKey;if(c[a]&&c[a]!==d){Ext.log.warn('Duplicate reference: "'+a+'" on '+b.id)}c[a]=d}},containerOnAdded:function(b,a){if(a){Ext.ComponentManager.markReferencesDirty()}},containerOnRemoved:function(a){if(!a){Ext.ComponentManager.markReferencesDirty()}},initContainerInheritedState:function(b,h){var a=this,d=a.getController(),f=a.getSession(),g=a.getConfig('viewModel',!0),e=a.reference,c=a.referenceHolder;if(a.nameHolder){b.nameHolder=a}if(d){b.referenceHolder=d;c=!0}else if(c){b.referenceHolder=a}if(c){b.referencePath=''}else if(e&&a.isParentReference){b.referencePath=a.referenceKey+'.'}if(f){b.session=f}if(g){b.viewModelPath=''}else if(e&&a.isParentReference){b.viewModelPath=a.viewModelKey+'.'}},setupReference:function(a){var b;if(a&&a.charAt(b=a.length-1)==='>'){this.isParentReference=!0;a=a.substring(0,b)}if(a&&!Ext.validIdRe.test(a)){Ext.Error.raise('Invalid reference "'+a+'" for '+this.getId()+' - not a valid identifier')}return a}}});Ext.define('Ext.util.KeyMap',{alternateClassName:'Ext.KeyMap',eventName:'keydown',constructor:function(b){var a=this;if((arguments.length!==1)||(typeof b==='string')||b.dom||b.tagName||b===document||b.isComponent){Ext.raise("Legacy multi-argument KeyMap constructor is removed. Use a config object instead.")}Ext.apply(a,b);a.bindings=[];if(!a.target.isComponent){a.target=Ext.get(a.target)}if(a.binding){a.addBinding(a.binding)}else if(b.key){a.addBinding(b)}a.enable()},addBinding:function(b){var a=this,e=b.key,c,d;if(a.processing){a.bindings=a.bindings.slice(0)}if(Ext.isArray(b)){for(c=0,d=b.length;c<d;c++){a.addBinding(b[c])}return}a.bindings.push(Ext.apply({keyCode:a.processKeys(e)},b))},removeBinding:function(b){var c=this,e=c.bindings,g=e.length,d,a,f;if(c.processing){c.bindings=e.slice(0)}f=c.processKeys(b.key);for(d=0;d<g;d++){a=e[d];if((a.fn||a.handler)===(b.fn||b.handler)&&a.scope===b.scope){if(b.alt===a.alt&&b.ctrl===a.ctrl&&b.shift===a.shift){if(Ext.Array.equals(a.keyCode,f)){Ext.Array.erase(c.bindings,d,1);return}}}}},processKeys:function(a){var g=!1,f,e,d,c,b;if(a.test){return a}if(Ext.isString(a)){e=[];d=a.toUpperCase();for(b=0,c=d.length;b<c;b++){e.push(d.charCodeAt(b))}a=e;g=!0}if(!Ext.isArray(a)){a=[a]}if(!g){for(b=0,c=a.length;b<c;b++){f=a[b];if(Ext.isString(f)){a[b]=f.toUpperCase().charCodeAt(0)}}}return a},handleTargetEvent:function(b){var a=this,d,c,f,e;if(a.enabled){d=a.bindings;b=a.processEvent.apply(a.processEventScope||a,arguments);if(b){a.lastKeyEvent=b;if(a.ignoreInputFields&&Ext.fly(b.target).isInputField()){return}if(!b.getKey){return b}a.processing=!0;for(c=0,f=d.length;c<f;c++){e=a.processBinding(d[c],b);if(e===!1){a.processing=!1;return e}}a.processing=!1}}},processEvent:Ext.identityFn,processBinding:function(c,b){if(this.checkModifiers(c,b)){var g=b.getKey(),h=c.fn||c.handler,i=c.scope||this,d=c.keyCode,e=c.defaultEventAction,f,j,a;if(d.test){if(d.test(String.fromCharCode(b.getCharCode()))){a=h.call(i,g,b);if(a!==!0&&e){b[e]()}if(a===!1){return a}}}else if(d.length){for(f=0,j=d.length;f<j;f++){if(g===d[f]){a=h.call(i,g,b);if(a!==!0&&e){b[e]()}if(a===!1){return a}break}}}}},checkModifiers:function(f,g){var d=['shift','ctrl','alt'],a,e,c,b;for(a=0,e=d.length;a<e;a++){b=d[a];c=f[b];if(!(c===undefined||(c===g[b+'Key']))){return !1}}return !0},on:function(a,g,f){var b,c,d,e;if(Ext.isObject(a)&&!Ext.isArray(a)){b=a.key;c=a.shift;d=a.ctrl;e=a.alt}else {b=a}this.addBinding({key:b,shift:c,ctrl:d,alt:e,fn:g,scope:f})},un:function(a,g,f){var b,c,d,e;if(Ext.isObject(a)&&!Ext.isArray(a)){b=a.key;c=a.shift;d=a.ctrl;e=a.alt}else {b=a}this.removeBinding({key:b,shift:c,ctrl:d,alt:e,fn:g,scope:f})},isEnabled:function(){return !!this.enabled},enable:function(){var a=this;if(!a.enabled){a.target.on(a.eventName,a.handleTargetEvent,a,{capture:a.capture,priority:a.priority});a.enabled=!0}},disable:function(){var a=this;if(a.enabled){if(!a.target.destroyed){a.target.removeListener(a.eventName,a.handleTargetEvent,a)}a.enabled=!1}},setDisabled:function(a){if(a){this.disable()}else {this.enable()}},destroy:function(b){var a=this,c=a.target;a.bindings=[];a.disable();a.target=null;if(b){c.destroy();Ext.raise("Using removeTarget argument in KeyMap destructor is not supported.")}a.callParent()}});Ext.define('Ext.util.KeyNav',{alternateClassName:'Ext.KeyNav',disabled:!1,defaultEventAction:!1,forceKeyDown:!1,eventName:'keypress',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(a){var b=this,c,d;if(arguments.length===2){Ext.raise("2-argument KeyNav constructor is removed. Use a config object instead.")}a=a||{};c={target:a.target,ignoreInputFields:a.ignoreInputFields,eventName:b.getKeyEvent('forceKeyDown' in a?a.forceKeyDown:b.forceKeyDown,a.eventName),capture:a.capture};if(b.map){b.map.destroy()}b.initConfig(a);if(a.processEvent){c.processEvent=a.processEvent;c.processEventScope=a.processEventScope||b}if(a.priority){c.priority=a.priority}if(a.keyMap){d=b.map=a.keyMap}else {d=b.map=new Ext.util.KeyMap(c);b.destroyKeyMap=!0}b.addBindings(a);d.disable();if(!a.disabled){d.enable()}},addBindings:function(d){var c=this,i=c.map,g=Ext.util.KeyNav.keyOptions,h=Ext.event.Event,f=d.scope||c,a,b,e;for(b in d){a=d[b];e=b.length===1?b.charCodeAt(0):(g[b]||h[b.toUpperCase()]);if(e!=null){b=e}if(a&&(b.length===1||!isNaN(b=parseInt(b,10)))){if(typeof a==='function'){a={handler:a,defaultEventAction:(d.defaultEventAction!==undefined)?d.defaultEventAction:c.defaultEventAction}}i.addBinding({key:b,ctrl:a.ctrl,shift:a.shift,alt:a.alt,handler:Ext.Function.bind(c.handleEvent,a.scope||f,[a.handler||a.fn,c],!0),defaultEventAction:(a.defaultEventAction!==undefined)?a.defaultEventAction:c.defaultEventAction})}}},handleEvent:function(d,a,b,c){c.lastKeyEvent=a;return b.call(this,a)},destroy:function(b){var a=this;if(b){Ext.raise("removeEl argument in KeyNav destructor is not supported anymore.")}if(a.destroyKeyMap){a.map.destroy(b)}a.map=null;a.callParent()},enable:function(){if(this.map){this.map.enable();this.disabled=!1}},disable:function(){if(this.map){this.map.disable()}this.disabled=!0},setDisabled:function(a){this.map.setDisabled(a);this.disabled=a},isEnabled:function(){return !this.disabled},getKeyEvent:function(b,a){if(b||(Ext.supports.SpecialKeyDownRepeat&&!a)){return 'keydown'}else {return a||this.eventName}}});Ext.define('Ext.mixin.FocusableContainer',{extend:Ext.Mixin,mixinConfig:{id:'focusablecontainer'},isFocusableContainer:!0,focusableContainer:!1,resetFocusPosition:!1,activeChildTabIndex:0,inactiveChildTabIndex:-1,allowFocusingDisabledChildren:!1,focusableContainerEl:'el',privates:{initFocusableContainer:function(a){var c,b,d;if(this.focusableContainer){a=a!=null?a:!0;this.doInitFocusableContainer(a)}else {c=this.getFocusables();for(b=0,d=c.length;b<d;b++){c[b].ownerFocusableContainer=null}}},doInitFocusableContainer:function(d){var a=this,c=a.focusableContainerEl,b;if(!c.isElement){c=a.focusableContainerEl=a[c]}if(a.initFocusableContainerKeyNav){a.initFocusableContainerKeyNav(c)}if(d){a.clearFocusables();if(!a.isDisabled()){b=a.findNextFocusableChild({step:1})||a.findNextFocusableChild({beforeRender:!0});if(b){a.activateFocusable(b)}}}b=a.findNextFocusableChild({firstTabbable:!0});a.activateFocusableContainer(!!b&&!a.isDisabled())},initFocusableContainerKeyNav:function(b){var a=this;if(!a.focusableKeyNav){b=b||a.focusableContainerEl;a.focusableKeyNav=new Ext.util.KeyNav({target:b,disabled:!0,eventName:'keydown',processEvent:a.processFocusableContainerKeyEvent,processEventScope:a,scope:a,tab:a.onFocusableContainerTabKey,enter:{handler:a.onFocusableContainerEnterKey,ctrl:!1,shift:!1,alt:!1},space:{handler:a.onFocusableContainerSpaceKey,ctrl:!1,shift:!1,alt:!1},up:{handler:a.onFocusableContainerUpKey,ctrl:!1,shift:!1,alt:!1},down:{handler:a.onFocusableContainerDownKey,ctrl:!1,shift:!1,alt:!1},left:{handler:a.onFocusableContainerLeftKey,ctrl:!1,shift:!1,alt:!1},right:{handler:a.onFocusableContainerRightKey,ctrl:!1,shift:!1,alt:!1}})}},destroyFocusableContainer:function(){this.focusableKeyNav=Ext.destroy(this.focusableKeyNav)},activateFocusableContainer:function(b){var a=this.focusableKeyNav;if(a){a.setDisabled(!b)}},isFocusableContainerActive:function(){var a=this.focusableKeyNav;return a?!a.disabled:!1},getFocusables:function(){return this.items.items},initDefaultFocusable:function(){var e=this,f=!1,b,a,c,d;b=e.getFocusables();d=b.length;if(!d){return}for(c=0;c<d;c++){a=b[c];if(!a.isDisabled()&&a.isFocusable()){f=!0;break}}if(!f){return}a=e.findNextFocusableChild({items:b,step:!0});if(a){e.activateFocusable(a)}return a},clearFocusables:function(f){var d=this,c=d.getFocusables(),e=c.length,a,b;for(b=0;b<e;b++){a=c[b];if(!a.destroyed&&a.focusable&&a.isTabbable()){d.deactivateFocusable(a)}}},processFocusableContainerKeyEvent:function(a){if(!Ext.fly(a.target).isInputField()){return a}},activateFocusable:function(a){a.setTabIndex(this.activeChildTabIndex)},deactivateFocusable:function(a){a.setTabIndex(this.inactiveChildTabIndex)},onFocusableContainerTabKey:function(){return !0},onFocusableContainerEnterKey:function(){return !0},onFocusableContainerSpaceKey:function(){return !0},onFocusableContainerUpKey:function(a){a.preventDefault();return this.moveChildFocus(a,!1)},onFocusableContainerDownKey:function(a){a.preventDefault();return this.moveChildFocus(a,!0)},onFocusableContainerLeftKey:function(a){a.preventDefault();return this.moveChildFocus(a,!1)},onFocusableContainerRightKey:function(a){a.preventDefault();return this.moveChildFocus(a,!0)},getFocusableFromEvent:function(b){var a=Ext.Component.from(b);if(!a){Ext.raise("No focusable child found for keyboard event!")}return a},moveChildFocus:function(a,b){var c=this.getFocusableFromEvent(a);return this.focusChild(c,b,a)},focusChild:function(c,b){var a=this.findNextFocusableChild({child:c,step:b});if(a){a.focus()}return a},findNextFocusableChild:function(e){var k=e.beforeRender,j=e.firstTabbable,g,a,i,c,d,b,f,h;g=e.items||this.getFocusables();c=e.step!=null?e.step:1;i=e.child;h=!!this.allowFocusingDisabledChildren;d=Ext.Array.indexOf(g,i);c=c===!0?1:c===!1?-1:c;f=g.length;b=c>0?(d<f?d+c:0):(d>0?d+c:f-1);for(;;b+=c){if(d<0&&(b>=f||b<0)){return null}else if(b>=f){b=-1;continue}else if(b<0){b=f;continue}else if(b===d){return null}a=g[b];if(!a||!a.focusable||(a.isDisabled()&&!h)){continue}if(j){if(a.isTabbable&&a.isTabbable()){return a}}else if(k||(a.isFocusable&&a.isFocusable())){return a}}return null},onFocusEnter:function(d){var b=this,c=d.toComponent,a;if(c===b){a=b.initDefaultFocusable();if(a){a.focus()}}b.activateFocusableContainer(!0)},onFocusLeave:function(b){var a=this;if(a.resetFocusPosition){a.clearFocusables();a.initDefaultFocusable()}},beforeFocusableChildBlur:Ext.privateFn,afterFocusableChildBlur:Ext.privateFn,beforeFocusableChildFocus:function(b){var a=this;if(!a.focusableContainer||a.destroying||a.destroyed){return}a.clearFocusables();a.activateFocusable(b)},afterFocusableChildFocus:function(b){var a=this;if(!a.focusableContainer||a.destroying||a.destroyed){return}a.lastFocusedChild=b},onFocusableChildAdd:function(a){var b=this;if(a.focusable){a.ownerFocusableContainer=b}},onFocusableChildRemove:function(a){var c=this,b;a.ownerFocusableContainer=null;if(a===c.lastFocusedChild){c.lastFocusedChild=null;b=c.initDefaultFocusable();if(a.hasFocus){b=b||a.findFocusTarget();if(b){b.focus()}}}a=b||c.findNextFocusableChild({step:1,beforeRender:!0});if(!a){c.activateFocusableContainer(!1)}},beforeFocusableChildEnable:Ext.privateFn,onFocusableChildEnable:function(b){var a=this,c;if(!a.focusableContainer||a.destroying||a.destroyed){return}if(a.containsFocus){c=Ext.ComponentManager.getActiveComponent();a.clearFocusables();a.activateFocusable(c)}else if(a.resetFocusPosition||a.lastFocusedChild==null){a.clearFocusables();if(b.hasFocus){a.activateFocusable(b);c=b}}else {a.deactivateFocusable(b);if(b===a.lastFocusedChild){a.clearFocusables();a.activateFocusable(b)}c=a.findNextFocusableChild({firstTabbable:!0})}if(!c){a.initDefaultFocusable()}a.activateFocusableContainer(!0)},beforeFocusableChildDisable:function(b){var a=this,c;if(!a.focusableContainer||a.destroying||a.destroyed){return}if(b.hasFocus){c=a.findNextFocusableChild({child:b})||b.findFocusTarget();if(c){c.focus()}}},onFocusableChildDisable:function(c){var a=this,b;if(!a.focusableContainer||a.destroying||a.destroyed){return}b=a.findNextFocusableChild({firstTabbable:!0});if(!b){b=a.initDefaultFocusable()}if(!b){a.activateFocusableContainer(!1)}},beforeFocusableChildHide:function(a){return this.beforeFocusableChildDisable(a)},onFocusableChildHide:function(a){return this.onFocusableChildDisable(a)},beforeFocusableChildShow:function(a){return this.beforeFocusableChildEnable(a)},onFocusableChildShow:function(a){return this.onFocusableChildEnable(a)},onFocusableChildMasked:Ext.privateFn,onFocusableChildDestroy:Ext.privateFn,onFocusableChildUpdate:Ext.privateFn},deprecated:{7:{configs:{enableFocusableContainer:'focusableContainer'}}}});Ext.define('Ext.mixin.Hookable',{extend:Ext.Mixin,mixinConfig:{id:'hookable'},bindHook:function(e,a,c,b,d){e.afterMethod(a,c||a,this,b,d);return this},unbindHook:function(c,a,b){c.removeMethodListener(a,b||a,this);return this}});Ext.define('Ext.app.Profile',{mixins:[Ext.mixin.Observable],isProfile:!0,config:{mainView:{$value:null,lazy:!0},application:null,controllers:[],models:[],views:[],stores:[]},constructor:function(a){this.initConfig(a);this.mixins.observable.constructor.apply(this,arguments)},isActive:function(){return !1},init:function(){var a=this.getViews(),b;if(a&&!(a instanceof Array)){for(b in a){Ext.ClassManager.setXType(a[b],b)}}},launch:Ext.emptyFn,onClassExtended:function(d,c,a){var b=a.onBeforeCreated;a.onBeforeCreated=function(j,f){var h=Ext.app.Controller,m=j.$className,g=[],k=j.prototype,l=f.views,e,i;e=f.name;if(e){delete f.name}else {e=m.split('.');e=e[e.length-1]}j._name=e;j._namespace=e=(f.namespace||e).toLowerCase();delete f.namespace;i=h.resolveNamespace(j,f);h.processDependencies(k,g,i,'model',f.models,e);h.processDependencies(k,g,i,'store',f.stores,e);h.processDependencies(k,g,i,'controller',f.controllers,e);if(l){if(l instanceof Array){h.processDependencies(k,g,i,'view',l,e)}else {Ext.app.Profile.processViews(m,l,g)}}Ext.require(g,Ext.Function.pass(b,arguments,this))}},getName:function(){return this.self._name},getNamespace:function(){return this.self._namespace},privates:{statics:{processViews:function(f,d,g){var e,a,c,b;for(b in d){a=d[b];if(typeof a!=='string'){c=a.xclass;if(!c){Ext.raise('Views must specify an xclass')}e=Ext.apply({extend:c},a);delete e.xclass;Ext.define(d[b]=f+'$'+b,e);a=c}g.push(a)}}}}});Ext.define('Ext.app.domain.View',{extend:Ext.app.EventDomain,isInstance:!0,constructor:function(a){this.callParent([a]);this.controller=a;this.monitoredClasses=[Ext.Widget]},match:function(c,b,d){var a=!1;if(b==='#'){a=d===c.getController()}else {a=c.is(b)}return a},destroy:function(){this.controller=null;this.callParent()}});Ext.define('Ext.app.ViewController',{extend:Ext.app.BaseController,alias:'controller.controller',mixins:[Ext.mixin.Factoryable],isViewController:!0,factoryConfig:{type:'controller'},config:{bindings:{$value:null,lazy:!0},closeViewAction:'destroy'},view:null,constructor:function(a){this.compDomain=new Ext.app.domain.View(this);this.callParent([a])},beforeInit:Ext.emptyFn,init:Ext.emptyFn,initViewModel:Ext.emptyFn,destroy:function(){var a=this,b=a.compDomain,c,d,e;if(a.$hasBinds){c=a.getBindings();for(e in c){d=c[e];if(d){d.destroy()}}}if(b){b.unlisten(a);b.destroy()}a.compDomain=a.view=null;a.callParent()},closeView:function(){var b=this.getView(),a;if(b){a=this.getCloseViewAction();b[a]()}},control:function(a,c){var b=a;if(Ext.isString(a)){b={};b[a]=c}this.compDomain.listen(b,this)},listen:function(a,c){var b=a.component;if(b){a=Ext.apply({},a);delete a.component;this.control(b)}this.callParent([a,c])},applyId:function(a){if(!a){a=Ext.id(null,'controller-')}return a},getReferences:function(){var a=this.view;return a&&a.getReferences()},getView:function(){return this.view},lookup:function(b){var a=this.view;return a&&a.lookup(b)},lookupReference:function(a){return this.lookup(a)},getSession:function(){var a=this.view;return a&&a.lookupSession()},getViewModel:function(){var a=this.view;return a&&a.lookupViewModel()},getStore:function(b){var a=this.getViewModel();return a?a.getStore(b):null},fireViewEvent:function(e,d){var a=this.view,c=!1,b=arguments;if(a){if(a!==d){b=Ext.Array.slice(b);b.splice(1,0,a)}c=a.fireEvent.apply(a,b)}return c},applyBindings:function(a){if(!a){return null}var c=this,f=c.getViewModel(),g=c.getBindTemplateScope(),d,b,e;c.$hasBinds=!0;if(!f){Ext.raise('Cannot use bind config without a viewModel')}for(b in a){e=a[b];d=null;if(e){d=f.bind(e,b,c);d.getTemplateScope=g}a[b]=d}return a},privates:{view:null,attachReference:function(b){var a=this.view;if(a){a.attachReference(b)}},getBindTemplateScope:function(){return this.scope},initBindings:function(){this.getBindings()},setView:function(a){this.view=a;if(!this.beforeInit.$nullFn){this.beforeInit(a)}}}});Ext.define('Ext.util.Bag',{isBag:!0,constructor:function(){this.items=[];this.map={}},generation:0,length:0,beginUpdate:Ext.emptyFn,endUpdate:Ext.emptyFn,add:function(d){var c=this,h=c.items,k=c.map,l=1,a,g,e,j,b,f,i;if(Ext.isArray(d)){a=f=[];l=d.length}for(g=0;g<l;g++){j=c.getKey(b=a?d[g]:d);e=k[j];if(e===undefined){h.push(b);k[j]=c.length++;if(a){a.push(b)}else {f=b}}else {i=h[e];if(a){a.push(i)}else {f=i}h[e]=b}}++c.generation;return f},clear:function(){var a=this,b=a.generation||a.length,c=b?a.items:[];if(b){a.items=[];a.length=0;a.map={};++a.generation}return c},clone:function(){var a=this,b=new a.self(),c=a.length;if(c){Ext.apply(b.map,a.map);b.items=a.items.slice();b.length=a.length}return b},contains:function(a){var d=!1,c=this.map,b;if(a!=null){b=this.getKey(a);if(b in c){d=this.items[c[b]]===a}}return d},containsKey:function(a){return a in this.map},destroy:function(){this.items=this.map=null;this.callParent()},each:function(f,c){var b=this.items,d=b.length,a,e;if(d){c=c||this;b=b.slice(0);for(a=0;a<d;a++){e=f.call(c,b[a],a,d);if(e===!1){break}}}return e},getAt:function(a){var b=null;if(a<this.length){b=this.items[a]}return b},get:function(a){return this.getByKey(a)},getByKey:function(a){var b=this.map,c=(a in b)?this.items[b[a]]:null;return c},indexOfKey:function(a){var b=this.map,c=(a in b)?b[a]:-1;return c},last:function(){return this.items[this.length-1]},updateKey:function(e,a){var d=this,b=d.map,c;if(!e||!a){return}if((c=d.getKey(e))!==a){if(d.getAt(b[a])===e&&!(c in b)){d.generation++;b[c]=b[a];delete b[a]}}else {if(c in b&&d.getAt(b[c])!==e){Ext.raise('Duplicate newKey "'+c+'" for item with oldKey "'+a+'"')}if(a in b&&d.getAt(b[a])!==e){Ext.raise('Incorrect oldKey "'+a+'" for item with newKey "'+c+'"')}}},getCount:function(){return this.length},getKey:function(a){return a.id||a.getId()},getRange:function(d,e){var c=this.items,b=c.length,a;if(!b){a=[]}else {a=Ext.Number.clipIndices(b,[d,e]);a=c.slice(a[0],a[1])}return a},remove:function(c){var a=this,h=a.map,f=a.items,i=null,m=1,k,d,e,b,l,g,j;if(Ext.isArray(c)){m=c.length;d=i=[]}if(a.length){for(e=0;e<m;e++){b=h[l=a.getKey(d?c[e]:c)];if(b!==undefined){delete h[l];j=f[b];if(d){d.push(j)}else {i=j}g=f.pop();if(b<--a.length){f[b]=g;h[a.getKey(g)]=b}k=!0}}if(k){++a.generation}}return i},removeByKey:function(b){var a=this.getByKey(b);if(a){this.remove(a)}return a||null},replace:function(a){this.add(a);return a},sort:function(e){var a=this,c=a.items,b=c.length,d;if(b){Ext.Array.sort(c,e);a.map={};while(b-->0){d=c[b];a.map[a.getKey(d)]=b}++a.generation}}});Ext.define('Ext.util.Scheduler',{mixins:[Ext.mixin.Observable],busyCounter:0,lastBusyCounter:0,destroyed:!1,firing:null,notifyIndex:-1,nextId:0,orderedItems:null,passes:0,scheduledCount:0,validIdRe:null,config:{cycleLimit:5,preSort:null,tickDelay:5},suspendOnNotify:!0,constructor:function(a){if(Ext.util.Scheduler.instances){Ext.util.Scheduler.instances.push(this)}else {Ext.util.Scheduler.instances=[this]}this.id=Ext.util.Scheduler.count=(Ext.util.Scheduler.count||0)+1;this.mixins.observable.constructor.call(this,a);this.items=new Ext.util.Bag()},destroy:function(){var a=this,b=a.timer;if(b){window.clearTimeout(b);a.timer=null}a.items.destroy();a.items=a.orderedItems=null;a.callParent();Ext.Array.remove(Ext.util.Scheduler.instances,this)},add:function(c){var a=this,b=a.items;if(b===a.firing){a.items=b=b.clone()}c.id=c.id||++a.nextId;c.scheduler=a;b.add(c);if(!a.sortMap){a.orderedItems=null}},remove:function(c){var a=this,b=a.items;if(a.destroyed){return}if(a.sortMap){Ext.raise('Items cannot be removed during sort')}if(b===a.firing){a.items=b=b.clone()}if(c.scheduled){a.unscheduleItem(c);c.scheduled=!1}b.remove(c);a.orderedItems=null},sort:function(){var a=this,b=a.items,f={},e=a.getPreSort(),c,d;a.orderedItems=[];a.sortMap=f;a.sortStack=[];if(e){b.sort(e)}b=b.items;for(c=0;c<b.length;++c){d=b[c];if(!f[d.id]){a.sortItem(d)}}a.sortMap=null;a.sortStack=null},sortItem:function(b){var a=this,d=a.sortMap,g=a.orderedItems,c;if(!b.scheduler){a.add(b)}c=b.id;if(b.scheduler!==a){Ext.raise('Item '+c+' belongs to another Scheduler')}a.sortStack.push(b);if(d[c]===0){for(var f=[],e=0;e<a.sortStack.length;++e){f[e]=a.sortStack[e].getFullName()}Ext.raise('Dependency cycle detected: '+f.join('\n --> '))}if(!(c in d)){d[c]=0;if(!b.sort.$nullFn){b.sort()}d[c]=1;b.order=a.orderedItems.length;g.push(b)}a.sortStack.pop();return a},sortItems:function(a){var b=this,c=b.sortItem;if(a){if(a instanceof Array){Ext.each(a,c,b)}else {Ext.Object.eachValue(a,c,b)}}return b},applyPreSort:function(e){if(typeof e==='function'){return e}var b=e.split(','),d=[],g=b.length,c,a,f;for(a=0;a<g;++a){d[a]=1;f=b[a];if((c=f.charAt(0))==='-'){d[a]=-1}else if(c!=='+'){c=0}if(c){b[a]=f.substring(1)}}return function(j,k){var f=0,a,c,h,i;for(a=0;!f&&a<g;++a){c=b[a];h=j[c];i=k[c];f=d[a]*((h<i)?-1:((i<h)?1:0))}return f}},notify:function(){var a=this,k=a.timer,h=a.getCycleLimit(),f=Ext.GlobalEvents,j=a.suspendOnNotify,g,b,d,e,c,i;if(k){window.clearTimeout(k);a.timer=null}if(!a.firing&&a.scheduledCount){if(j){Ext.suspendLayouts()}while(a.scheduledCount){if(h){--h}else {a.firing=null;if(a.onCycleLimitExceeded){a.onCycleLimitExceeded()}break}if(!i){i=!0;if(f.hasListeners.beforebindnotify){f.fireEvent('beforebindnotify',a)}}++a.passes;if(!(c=a.orderedItems)){a.sort();c=a.orderedItems}e=c.length;if(e){a.firing=a.items;for(b=0;b<e;++b){d=c[b];if(d.scheduled){d.scheduled=!1;--a.scheduledCount;a.notifyIndex=b;d.react();if(!a.scheduledCount){break}}}}}a.firing=null;a.notifyIndex=-1;if(j){Ext.resumeLayouts(!0)}}if((g=a.busyCounter)!==a.lastBusyCounter){if(!(a.lastBusyCounter=g)){a.fireEvent('idle',a)}}},onTick:function(){this.timer=null;this.notify()},scheduleItem:function(b){var a=this;++a.scheduledCount;if(!a.timer&&!a.firing){a.scheduleTick()}},scheduleTick:function(){var a=this;if(!a.destroyed&&!a.timer){a.timer=Ext.defer(a.onTick,a.getTickDelay(),a)}},unscheduleItem:function(a){if(this.scheduledCount){--this.scheduledCount}},adjustBusy:function(c){var a=this,b=a.busyCounter+c;a.busyCounter=b;if(b){if(!a.lastBusyCounter){a.lastBusyCounter=b;a.fireEvent('busy',a)}}else if(a.lastBusyCounter&&!a.timer){a.scheduleTick()}},isBusy:function(){return !this.isIdle()},isIdle:function(){return !(this.busyCounter+this.lastBusyCounter)},debugHooks:{$enabled:!1,onCycleLimitExceeded:function(){Ext.raise('Exceeded cycleLimit '+this.getCycleLimit())},scheduleItem:function(a){if(!a){Ext.raise('scheduleItem: Invalid argument')}Ext.log('Schedule item: '+a.getFullName()+' - '+(this.scheduledCount+1));if(a.order<=this.notifyIndex){Ext.log.warn('Suboptimal order: '+a.order+' < '+this.notifyIndex)}this.callParent([a])},unscheduleItem:function(a){if(!this.scheduledCount){Ext.raise('Invalid scheduleCount')}this.callParent([a]);Ext.log('Unschedule item: '+a.getFullName()+' - '+this.scheduledCount)}}});Ext.define('Ext.data.Batch',{mixins:{observable:Ext.mixin.Observable},config:{pauseOnException:!1},current:-1,total:0,running:!1,complete:!1,exception:!1,constructor:function(b){var a=this;a.mixins.observable.constructor.call(a,b);a.operations=[];a.exceptions=[]},add:function(a){var b=this,c,d;if(Ext.isArray(a)){for(c=0,d=a.length;c<d;++c){b.add(a[c])}}else {b.total++;a.setBatch(b);b.operations.push(a)}return b},sort:function(){this.operations.sort(this.sortFn)},sortFn:function(b,e){var f=b.order-e.order;if(f){return f}var a=b.entityType,d=e.entityType,c;if(!a||!d){return 0}if(!(c=a.rank)){a.schema.rankEntities();c=a.rank}return (c-d.rank)*b.foreignKeyDirection},start:function(b){var a=this;if(a.destroyed||!a.operations.length||a.running){return a}a.exceptions.length=0;a.exception=!1;a.running=!0;return a.runOperation(Ext.isDefined(b)?b:a.current+1)},abort:function(){var a=this,b;if(a.running){b=a.getCurrent();if(!b.destroyed){b.abort()}}a.running=!1;a.aborted=!0;a.current=undefined},retry:function(){return this.start(this.current)},runNextOperation:function(){var a=this;if(a.running){a.runOperation(a.current+1)}return a},pause:function(){this.running=!1;return this},getOperations:function(){return this.operations},getExceptions:function(){return this.exceptions},getCurrent:function(){var b=null,a=this.current;if(!(a===-1||this.complete)){b=this.operations[a]}return b},getTotal:function(){return this.total},isRunning:function(){return this.running},isComplete:function(){return this.complete},hasException:function(){return this.exception},runOperation:function(d){var a=this,c=a.operations,b=c[d];if(b===undefined){a.running=!1;a.complete=!0;a.fireEvent('complete',a,c[c.length-1])}else {a.current=d;b.setInternalCallback(a.onOperationComplete);b.setInternalScope(a);b.execute()}return a},onOperationComplete:function(b){var a=this,c=b.hasException();if(c){a.exception=!0;a.exceptions.push(b);a.fireEvent('exception',a,b)}if(c&&a.getPauseOnException()){a.pause()}else {a.fireEvent('operationcomplete',a,b);a.runNextOperation()}},destroy:function(){var a=this,e=a.operations,b,c,d;if(a.running){a.abort()}for(c=0,d=a.operations.length;c<d;c++){b=e[c];if(b){if(!b.destroyed&&!b.$destroyOwner){b.destroy()}b[c]=null}}a.operations=a.exceptions=null;a.callParent()}});Ext.define('Ext.data.matrix.Slice',{constructor:function(a,b){this.id=b;this.side=a;this.members={}},attach:function(b){var a=this;Ext.Assert.falsey(a.store,'Store is already attached');a.store=b;b.matrix=a;b.on('load',a.onStoreLoad,a,{single:!0})},commit:function(){var a=this.members,b;for(b in a){a[b][2]=0}},onStoreLoad:function(a){this.update(a.getData().items,0)},update:function(k,d){if(!(k instanceof Array)){Ext.raise('Only array of records or record ids are supported')}var e=this,p=Ext.data.matrix.Slice,o=e.side,q=o.index,r=k.length,i=e.id,l=e.members,m=o.inverse,g=m.slices,c,f,j,h,b,a,n;for(j=0;j<r;++j){f=n=null;h=k[j];b=h.isEntity?(n=h).id:h;c=l[b];if(d<0&&c&&c[2]===1){delete l[b];a=g[b];if(a){delete a.members[i]}f=1}else {if(!c){c=[b,b,d];c[q]=i;l[b]=c;a=g[b];if(!a){g[b]=a=new p(m,b)}a.members[i]=c;f=1}else if(d!==c[2]&&d!==0&&!(d===1&&c[2]===0)){c[2]=d;a=g[b];f=1}}if(f){if(e.notify){e.notify.call(e.scope,e,b,d)}if(a&&a.notify){a.notify.call(a.scope,a,i,d)}}}},updateId:function(b){var g=this,c=g.id,f=g.side,e=f.slices,j=e[c],h=j.members,l=f.index,k=f.inverse.slices,i,d,a;g.id=b;e[b]=j;delete e[c];for(d in h){i=h[d];i[l]=b;a=k[d].members;a[b]=a[c];delete a[c]}},destroy:function(){var a=this,b=a.store;if(b){b.matrix=null;b.un('load',a.onStoreLoad,a)}a.notify=a.scope=a.store=a.side=a.members=null;a.callParent()}});Ext.define('Ext.data.matrix.Side',{constructor:function(b,c,d){var a=this;a.matrix=b;a.index=c;a.role=d;a.slices={}},commit:function(){var a=this.slices,b;for(b in a){a[b].commit()}},get:function(a,b){var e=this,c=e.slices,d=c[a]||(c[a]=new Ext.data.matrix.Slice(e,a));return (b||b===0)?d.members[b]:d},update:function(c,d,b){var a=this.get(c);return a.update(d,b)},updateId:function(c,b){var a=this.get(c);if(a){a.updateId(b)}},destroy:function(){var a=this,b=a.slices,c;for(c in b){b[c].destroy()}a.inverse=a.matrix=a.role=a.slices=null;a.callParent()}});Ext.define('Ext.data.matrix.Matrix',{constructor:function(f,c){var a=this,b=c.isManyToMany?c:f.getSchema().getAssociation(c),g=Ext.data.matrix.Side,e=new g(a,0,b.left),d=new g(a,1,b.right);Ext.Assert.truthy(b.isManyToMany,'Association is not many-to-many');a.association=b;a.session=f;a.left=e;a.right=d;e.inverse=d;d.inverse=e},commit:function(){this.left.commit();this.right.commit()},update:function(b,c,a){return this.left.update(b,c,a)},updateId:function(e,g,f){var c=e.self,d=this.left,b=this.right,a;if(c===d.role.cls){a=d}if(c===b.role.cls){a=b}if(a){a.updateId(g,f)}},destroy:function(){var a=this;a.left.destroy();a.right.destroy();a.association=a.session=a.left=a.right=null;a.callParent()}});Ext.define('Ext.data.session.ChangesVisitor',{constructor:function(c){var a=this,b;a.session=c;b=c.getCrudProperties();a.result=null;a.writerOptions={};a.createKey=b.create;a.readKey=b.read;a.updateKey=b.update;a.dropKey=b.drop},onDirtyRecord:function(b){var c=this,j=c.crud,g=b.phantom,e=b.dropped,n=!g&&!e,m=b.$className,k=(g||e)?'allDataOptions':'partialDataOptions',d=c.writerOptions,l=b.entityName,a,f,h,i;if(g&&e){return !1}j=g?c.createKey:(e?c.dropKey:c.updateKey);d=d[m]||(d[m]={});if(e){if(!(a=d.drop)){d.drop=a={all:b.getProxy().getWriter().getWriteAllFields()}}if(!a.all){h=b.id}}if(!h){if(!(a=d[k])){a=b.getProxy().getWriter().getConfig(k);d[k]=a=Ext.Object.chain(a);c.setupOptions(a)}h=b.getData(a)}i=c.result||(c.result={});f=i[l]||(i[l]={});f=f[j]||(f[j]=[]);f.push(h)},setupOptions:function(a){a.serialize=!0},onMatrixChange:function(d,h,j,i){var b=this,g=d.left.type,e=d.right.role,f=i<0?b.dropKey:b.createKey,a,c;c=b.result||(b.result={});a=c[g]||(c[g]={});a=a[e]||(a[e]={});a=a[f]||(a[f]={});a=a[h]||(a[h]=[]);a.push(j)}});Ext.define('Ext.data.session.ChildChangesVisitor',{extend:Ext.data.session.ChangesVisitor,constructor:function(){this.seen={};this.callParent(arguments)},setupOptions:function(a){this.callParent([a]);a.serialize=!1},onDirtyRecord:function(a){if(this.callParent(arguments)!==!1){if(!a.$source&&(a.dropped||!a.phantom)){this.readEntity(a)}}},readEntity:function(b){var c=this,f=c.readKey,e=b.entityName,i=b.id,h=c.seen,g=e+i,d,a;if(h[g]){return}h[g]=!0;d=c.result||(c.result={});a=d[e]||(d[e]={});a=a[f]||(a[f]=[]);a.push(Ext.apply({},b.modified,b.data))}});Ext.define('Ext.data.session.BatchVisitor',{map:null,constructor:function(a){this.batch=a},getBatch:function(m){var i=this.map,a=this.batch,c,e,k,b,d,f,j,h,l,g;if(i){if(!a){a=new Ext.data.Batch()}for(k in i){c=i[k];e=c.entity;f=e.getProxy();j=f.getBatchActions();delete c.entity;for(d in c){if(j){b=f.createOperation(d,{records:c[d]});b.entityType=e;a.add(b)}else {h=c[d];for(g=0,l=h.length;g<l;++g){b=f.createOperation(d,{records:[h[g]]});b.entityType=e;a.add(b)}}}}}if(a&&m!==!1){a.sort()}return a},onDirtyRecord:function(a){var f=this,c=a.phantom?'create':(a.dropped?'destroy':'update'),d=a.$className,e=(f.map||(f.map={})),b=(e[d]||(e[d]={entity:a.self}));b=b[c]||(b[c]=[]);b.push(a)}});Ext.define('Ext.mixin.Dirty',{mixinId:'dirty',config:{dirty:{$value:!1,lazy:!0}},dirty:!1,_dirtyRecordCount:0,ignoreDirty:!1,recordStateIsDirtyState:!0,isDirty:function(){return this.getDirty()},applyDirty:function(a){return this.ignoreDirty?!1:a},updateDirty:function(b){var a=this;a.dirty=b;if(a.fireEvent&&!a.isDirtyInitializing){a.fireDirtyChange()}},clearRecordStates:function(){var b=this,a=b._crudCounters;if(a){a.C=a.U=a.D=0}b._dirtyRecordCount=0;if(b.recordStateIsDirtyState){b.setDirty(!1)}},fireDirtyChange:function(){var a=this;if(!a.ignoreDirty&&a.hasListeners.dirtychange){a.fireEvent('dirtychange',a,a.dirty)}},trackRecordState:function(f,h){var a=this,b=a._crudCounters||(a._crudCounters={C:0,R:0,U:0,D:0}),i=a._dirtyRecordCount,g=f.crudState,d=f.crudStateWas,e,c;if(h||g!==d){if(!h&&d){--b[d]}if(!(f.phantom&&g==='D')){++b[g]}a.checkCounters();a._dirtyRecordCount=c=b.C+b.U+b.D;e=!c!==!i;if(e&&a.recordStateIsDirtyState){a.setDirty(c>0)}}return e},untrackRecordState:function(e){var a=this,b=a._crudCounters,g=a._dirtyRecordCount,f=e.crudState,d,c;if(b&&f!=='D'&&!e.erased){--b[f];a.checkCounters();a._dirtyRecordCount=c=b.C+b.U+b.D;d=!c!==!g;if(d&&a.recordStateIsDirtyState){a.setDirty(c>0)}}return d},checkCounters:function(){var b=this._crudCounters,a;for(a in b){if(b[a]<0){Ext.raise('Invalid state for '+a)}}}});Ext.define('Ext.data.Session',{mixins:[Ext.mixin.Dirty,Ext.mixin.Observable],isSession:!0,config:{schema:'default',parent:null,autoDestroy:!0,crudProperties:{create:'C',read:'R',update:'U',drop:'D'}},crudOperations:[{type:'R',entityMethod:'readEntities'},{type:'C',entityMethod:'createEntities'},{type:'U',entityMethod:'updateEntities'},{type:'D',entityMethod:'dropEntities'}],crudKeys:{C:1,R:1,U:1,D:1},statics:{nextId:1},constructor:function(b){var a=this;a.data={};a.matrices={};a.id=Ext.data.Session.nextId++;a.identifierCache={};a.recordCreator=a.recordCreator.bind(a);a.mixins.observable.constructor.call(a,b)},destroy:function(){var a=this,f=a.matrices,g=a.data,e,d,b,c;for(c in f){f[c].destroy()}for(e in g){d=g[e];for(c in d){b=d[c].record;if(b){b.$source=null;b.unjoin(a)}}}a.identifierCache=a.recordCreator=a.matrices=a.data=null;a.setSchema(null);a.callParent()},adopt:function(a){var b=this,c=a.associations,d;b.checkModelType(a.self);if(a.session&&a.session!==b){Ext.raise('Record already belongs to an existing session')}if(a.session!==b){b.add(a);if(c){for(d in c){c[d].adoptAssociated(a,b)}}}},commit:function(){var a=this,g=a.data,f=a.matrices,h=a.getDirty(),e,c,b,d;a.suspendEvent('dirtychange');for(e in g){c=g[e];for(b in c){d=c[b].record;if(d){d.commit()}}}for(b in f){f[b].commit()}a.clearRecordStates();a.resumeEvent('dirtychange');if(a.getDirty()!==h){a.fireDirtyChange()}},createRecord:function(b,c,f){this.checkModelType(b);var a=b.$isClass?b:this.getSchema().getEntity(b),e=this.getParent(),d;if(c&&e){d=a.getIdFromData(c);if(e.peekRecord(a,d)){Ext.raise('A parent session already contains an entry for '+a.entityName+': '+d)}}return new a(c,f?null:this)},getChanges:function(){var a=new Ext.data.session.ChangesVisitor(this);this.visitData(a);return a.result},getChangesForParent:function(){var a=new Ext.data.session.ChildChangesVisitor(this);this.visitData(a);return a.result},getRecord:function(b,f,g){var c=this,d=b.isModel,a,i,h,e;if(d){d=b;f=b.id;b=b.self}a=c.peekRecord(b,f);if(!a){i=b.$isClass?b:c.getSchema().getEntity(b);h=c.getParent();if(h){e=h.peekRecord(i,f)}if(e){if(e.isLoading()){d=!1}else {a=e.copy(undefined,c);a.$source=e}}if(!a){if(d){a=d;c.adopt(a)}else {a=i.createWithId(f,null,c);if(g!==!1){a.load(Ext.isObject(g)?g:undefined)}}}}return a},getSaveBatch:function(b){var a=new Ext.data.session.BatchVisitor();this.visitData(a);return a.getBatch(b)},onInvalidAssociationEntity:function(a,b){Ext.raise('Unable to read association entity: '+this.getModelIdentifier(a,b))},onInvalidEntityCreate:function(a,b){Ext.raise('Cannot create, record already not exists: '+this.getModelIdentifier(a,b))},onInvalidEntityDrop:function(a,b){Ext.raise('Cannot drop, record does not exist: '+this.getModelIdentifier(a,b))},onInvalidEntityRead:function(a,b){Ext.raise('Cannot read, record already not exists: '+this.getModelIdentifier(a,b))},onInvalidEntityUpdate:function(a,b,c){if(c){Ext.raise('Cannot update, record dropped: '+this.getModelIdentifier(a,b))}else {Ext.raise('Cannot update, record does not exist: '+this.getModelIdentifier(a,b))}},peekRecord:function(b,f,e){this.checkModelType(b);var h=b.$isClass?b:this.getSchema().getEntity(b),g=h.entityName,a=this.data[g],c,d;a=a&&a[f];c=a&&a.record;if(!c&&e){d=this.getParent();c=d&&d.peekRecord(b,f,e)}return c||null},save:function(){var a=this,c=a.getParent(),b;if(c){b=new Ext.data.session.ChildChangesVisitor(a);a.visitData(b);c.update(b.result);a.commit()}else {Ext.raise('Cannot commit session, no parent exists')}},spawn:function(){return new this.self({schema:this.getSchema(),parent:this})},update:function(e){var a=this,n=a.getSchema(),l=a.crudOperations,q=l.length,o=a.crudKeys,p=a.getDirty(),b,d,c,h,i,j,m,g,f,k;a.suspendEvent('dirtychange');a.getSchema().processKeyChecks(!0);for(b in e){d=n.getEntity(b);if(!d){Ext.raise('Invalid entity type: '+b)}c=e[b];for(h=0;h<q;++h){i=l[h];j=c[i.type];if(j){a[i.entityMethod](d,j)}}}for(b in e){d=n.getEntity(b);m=d.associations;c=e[b];for(g in c){if(o[g]){continue}f=m[g];if(!f){Ext.raise('Invalid association key for '+b+', "'+g+'"')}k=c[f.role];f.processUpdate(a,k)}}a.resumeEvent('dirtychange');if(a.getDirty()!==p){a.fireDirtyChange()}},afterCommit:function(a){this.trackRecordState(a)},afterDrop:function(a){this.trackRecordState(a)},afterEdit:function(a){this.trackRecordState(a)},afterErase:function(a){this.evict(a)},afterReject:function(a){this.trackRecordState(a)},privates:{add:function(a){var b=this,f=a.id,e=b.getEntry(a.self,f),c,d;if(e.record){Ext.raise('Duplicate id '+a.id+' for '+a.entityName)}a.session=b;e.record=a;b.trackRecordState(a,!0);b.registerReferences(a);c=a.associations;for(d in c){c[d].checkMembership(b,a)}},applySchema:function(a){return Ext.data.schema.Schema.get(a)},checkModelType:function(a){if(a.$isClass){a=a.entityName}if(!a){Ext.raise('Unable to use anonymous models in a Session')}else if(!this.getSchema().getEntity(a)){Ext.raise('Unknown entity type '+a)}},createEntities:function(b,g){var c=this,h=g.length,d,e,a,f;for(d=0;d<h;++d){e=g[d];f=b.getIdFromData(e);a=c.peekRecord(b,f);if(!a){a=c.createRecord(b,e,!0);a.phantom=!0;a.crudState='C';c.add(a);a.crudStateWas='C'}else {c.onInvalidEntityCreate(b,f)}}},dropEntities:function(c,d){var g=d.length,b,e,a,f;if(g){f=Ext.isObject(d[0])}for(b=0;b<g;++b){a=d[b];if(f){a=c.getIdFromData(a)}e=this.peekRecord(c,a);if(e){e.drop()}else {this.onInvalidEntityDrop(c,a)}}},evict:function(a){var c=this,e=a.entityName,b=c.data[e],d=a.id;if(b&&b[d]){c.untrackRecordState(a);a.unjoin(c);delete b[d]}},getEntityList:function(e,a){var g=a.length,b,d,c,f;for(b=0;b<g;++b){d=a[b];c=this.peekRecord(e,d);if(c){a[b]=c}else {f=!0;a[b]=null;this.onInvalidAssociationEntity(e,d)}}if(f){a=Ext.Array.clean(a)}return a},getEntry:function(a,c){if(a.isModel){c=a.getId();a=a.self}var f=a.$isClass?a:this.getSchema().getEntity(a),d=f.entityName,e=this.data,b;b=e[d]||(e[d]={});b=b[c]||(b[c]={});return b},getRefs:function(h,d,i){var a=this.getEntry(h),c=a&&a.refs&&a.refs[d.role],g=i&&this.getParent(),b,f,e;if(g){b=g.getRefs(h,d);if(b){for(f in b){e=b[f];if((!c||!c[f])){this.getRecord(e.self,e.id)}}c=a&&a.refs&&a.refs[d.role]}}return c||null},getIdentifier:function(c){var f=this.getParent(),d,b,e,a;if(f){a=f.getIdentifier(c)}else {d=this.identifierCache;b=c.identifier;e=b.getId()||c.entityName;a=d[e];if(!a){if(b.clone){a=b.clone({id:null})}else {a=b}d[e]=a}}return a},getMatrix:function(a,e){var d=a.isManyToMany?a.name:a,c=this.matrices,b;b=c[d];if(!b&&!e){b=c[d]=new Ext.data.matrix.Matrix(this,a)}return b||null},getMatrixSlice:function(a,d){var b=this.getMatrix(a.association),c=b[a.side];return c.get(d)},getModelIdentifier:function(a,b){return b+'@'+a.entityName},onIdChanged:function(a,b,d){var e=this,l=e.matrices,j=a.entityName,s=a.id,c=e.data[j],m=c[b],q=a.associations,i=m.refs,r=e._setNoRefs,f,k,t,n,o,g,h,p;if(c[d]){Ext.raise('Cannot change '+j+' id from '+b+' to '+d+' id already exists')}delete c[b];c[d]=m;for(p in l){l[p].updateId(a,b,d)}if(i){for(g in i){h=i[g];o=q[g];f=o.association;if(!f.isManyToMany){k=f.field.name;for(n in h){h[n].set(k,s,r)}}}}e.registerReferences(a,b)},processManyBlock:function(f,e,d,i){var c=this,b,a,g,h;if(d){for(b in d){a=c.peekRecord(f,b);if(a){g=c.getEntityList(e.cls,d[b]);h=e.getAssociatedItem(a);c[i](e,h,a,g)}else {c.onInvalidAssociationEntity(f,b)}}}},processManyCreate:function(d,b,c,a){if(b){b.add(a)}else {c[d.getterName](null,null,a)}},processManyDrop:function(d,a,c,b){if(a){a.remove(b)}},processManyRead:function(d,b,c,a){if(b){b.setRecords(a)}else {c[d.getterName](null,null,a)}},readEntities:function(b,g){var c=this,h=g.length,d,e,a,f;for(d=0;d<h;++d){e=g[d];f=b.getIdFromData(e);a=c.peekRecord(b,f);if(!a){a=c.createRecord(b,e,!0)}else {c.onInvalidEntityRead(b,f)}a.phantom=!1;c.add(a)}},recordCreator:function(c,b){var d=this,e=b.getIdFromData(c),a=d.peekRecord(b,e,!0);if(!a){a=new b(c,d)}else {a=d.getRecord(b,e);a.mergeData(c)}return a},registerReferences:function(c,h){var k=c.entityName,n=c.id,l=c.data,m=h||h===0,g,e,d,j,a,i,b,f;j=(i=c.references).length;for(e=0;e<j;++e){a=i[e];d=l[a.name];if(d||d===0){a=a.reference;k=a.type;f=a.inverse.role;g=this.getEntry(a.cls,d);b=g.refs||(g.refs={});b=b[f]||(b[f]={});b[n]=c;if(m){delete b[h]}}}},updateEntities:function(c,d){var h=d.length,f,e,a,b,g;if(Ext.isArray(d)){for(f=0;f<h;++f){e=d[f];b=c.getIdFromData(e);a=this.peekRecord(c,b);if(a){a.set(e)}else {this.onInvalidEntityUpdate(c,b)}}}else {for(b in d){e=d[b];a=this.peekRecord(c,b);if(a&&!a.dropped){g=a.set(e)}else {this.onInvalidEntityUpdate(c,b,!!a)}}}},updateReference:function(h,j,b,c){var g=j.reference,f=g.type,d=g.inverse.role,i=h.id,e,a;if(c||c===0){a=this.getEntry(f,c).refs[d];delete a[i]}if(b||b===0){e=this.getEntry(f,b);a=e.refs||(e.refs={});a=a[d]||(a[d]={});a[i]=h}},visitData:function(b){var j=this,n=j.data,k=j.matrices,i,l,d,o,f,e,c,a,m,g,h;j.getSchema().processKeyChecks(!0);for(c in n){i=n[c];for(d in i){a=i[d].record;if(a){if(a.phantom||a.dirty||a.dropped){if(b.onDirtyRecord){b.onDirtyRecord(a)}}else if(b.onCleanRecord){b.onCleanRecord(a)}}}}if(b.onMatrixChange){for(c in k){f=k[c].left;g=f.slices;l=f.role.association;for(d in g){m=g[d];e=m.members;for(o in e){h=(a=e[o])[2];if(h){b.onMatrixChange(l,a[0],a[1],h)}}}}}return b},_setNoRefs:{refs:!1}}});Ext.define('Ext.util.Schedulable',{'abstract':!0,isSchedulable:!0,scheduled:!1,constructor:function(){this.getScheduler().add(this)},destroy:function(){var a=this,b=a.getScheduler();if(b&&!b.destroyed){b.remove(a)}a.scheduler=null;a.schedule=a.react=Ext.emptyFn;a.callParent()},getFullName:function(){return this.name||this.id},privates:{getScheduler:function(){return this.scheduler},schedule:function(){var a=this,b;if(!a.scheduled){b=a.getScheduler();if(b){a.scheduled=!0;if(a.onSchedule){a.onSchedule()}b.scheduleItem(a)}}},unschedule:function(){var b=this,a;if(b.scheduled){a=b.getScheduler();if(a&&!a.destroyed){a.unscheduleItem(b)}b.scheduled=!1}},sort:function(){}}});Ext.define('Ext.app.bind.BaseBinding',{extend:Ext.util.Schedulable,isBinding:!0,calls:0,kind:20,defaultOptions:{},lastValue:undefined,constructor:function(d,b,e,c){var a=this;a.options=c;a.owner=d;a.scope=e;a.callback=b;if(!b){Ext.raise('Callback is required')}a.lateBound=Ext.isString(b);if(c&&c.deep){a.deep=!0}a.callParent()},destroy:function(){var a=this,b=a.owner;if(b){b.onBindDestroy(a)}a.callParent();a.scope=a.callback=a.owner=null},isReadOnly:function(){return !0},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},notify:function(b){var a=this,d=a.options||a.defaultOptions,c=a.lastValue;if(!a.calls||a.deep||a.valueChanged(b,c)){++a.calls;a.lastValue=b;if(a.lateBound){a.scope[a.callback](b,c,a)}else {a.callback.call(a.scope,b,c,a)}if(d.single){a.destroy()}}},valueChanged:function(a,b){var c=!0;if(b!==a){if(a&&b&&a instanceof Date&&b instanceof Date){c=a.getTime()!==b.getTime()}}else {c=Ext.isArray(a)}return c}}});Ext.define('Ext.app.bind.Binding',{extend:Ext.app.bind.BaseBinding,constructor:function(a,c,e,d){var b=this;b.callParent([a.owner,c,e,d]);b.stub=a;b.depth=a.depth;if(a.isAvailable()&&!a.scheduled){b.schedule()}},destroy:function(c){var a=this,b=a.stub;if(b&&!c){b.unbind(a);a.stub=null}a.callParent()},bindValidation:function(b,c){var a=this.stub;return a&&a.bindValidation(b,c)},bindValidationField:function(b,c){var a=this.stub;return a&&a.bindValidationField(b,c)},getFullName:function(){return this.fullName||(this.fullName='@('+this.stub.getFullName()+')')},getValue:function(){var b=this,a=b.stub;return a&&a.getValue()},isAvailable:function(){var a=this.stub;return a&&a.isAvailable()},isLoading:function(){var a=this.stub;return a&&a.isLoading()},isReadOnly:function(){var b=this.stub,a=this.options,c=!0;if(!(a&&a.twoWay===!1)){if(b){c=b.isReadOnly()}}return c},refresh:function(){},setValue:function(a){if(this.isReadOnly()){Ext.raise('Cannot setValue on a readonly binding')}this.stub.set(a)},privates:{getDataObject:function(){var a=this.stub;return a&&a.getDataObject()},getRawValue:function(){var b=this,a=b.stub;return a&&a.getRawValue()},isDescendantOf:function(b){var a=this.stub;return a?(b===a)||a.isDescendantOf(b):!1},react:function(){this.notify(this.getValue())},schedule:function(){if(!this.stub.scheduled){this.callParent()}},sort:function(){var a=this.stub;a.scheduler.sortItem(a)}}});Ext.define('Ext.app.bind.AbstractStub',{extend:Ext.util.Schedulable,children:null,depth:0,generation:1,kind:10,parent:null,constructor:function(b,c){var a=this;a.owner=b;a.name=c;a.callParent()},destroy:function(){var a=this,d=a.children,c=a.bindings,f,b,e;if(c){for(b=0,f=c.length;b<f;++b){c[b].destroy(!0)}}for(e in d){d[e].destroy()}if(a.scheduled){a.unschedule()}a.callParent()},add:function(a){var b=this;(b.children||(b.children={}))[a.name]=a;a.depth=b.depth+1;a.parent=b},getChild:function(b){var a=Ext.isString(b)?b.split('.'):b;if(a&&a.length){return this.descend(a,0)}return this},getFullName:function(){var b=this,a=b.fullName,d=b.parent,c;if(!a){a=b.name||b.id;if(d&&(c=d.getFullName())){a=((c.charAt(c.length-1)!==':')?c+'.':c)+a}b.fullName=a}return a},getSession:function(){var a=this.owner;return a.isSession?a:a.getSession()},bind:function(d,f,e){var a=this,b=new Ext.app.bind.Binding(a,d,f,e),c=(a.bindings||(a.bindings=[]));b.depth=a.depth;c.push(b);return b},getValue:function(){return this.isAvailable()?this.getRawValue():null},graft:function(b){var a=this,c=a.bindings,e=a.name,d;a.parent=a.bindings=null;a.destroy();b.depth=a.depth;b.bindings=c;b.generation=a.generation+1;b.name=e;b.id=a.id;b.path=a.path;if(c){for(d=c.length;d-->0;){c[d].stub=b}}return b},isDescendantOf:function(b){for(var a=this;a=a.parent;){if(a===b){return !0}}return !1},isAvailable:function(){return !0},isLoading:function(){return !1},onSchedule:function(){for(var c,e,b,a,d=this.parent;d;d=d.parent){a=d.bindings;if(a){for(c=0,e=a.length;c<e;++c){b=a[c];if(b.deep&&!b.scheduled){b.schedule()}}}}},react:function(){var b=this.bindings,c,a,d;if(b){for(a=0,d=b.length;a<d;++a){c=b[a];if(!c.scheduled){c.schedule()}}}},unbind:function(b){var a=this.bindings;if(a&&a.length){Ext.Array.remove(a,b)}},privates:{collect:function(){var a=this.children,f=this.bindings,b=0,d=0,c,e;if(a){for(e in a){c=a[e];d=c.collect();if(d===0){c.destroy();delete a[e]}b+=d}}if(f){b+=f.length}return b},getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var a=this.parent;if(a){this.scheduler.sortItem(a)}}}});Ext.define('Ext.app.bind.Stub',{extend:Ext.app.bind.AbstractStub,isStub:!0,dirty:!0,formula:null,validationKey:'validation',constructor:function(e,c,b){var a=this,d=c;a.callParent([e,c]);a.boundValue=null;if(b){b.add(a);if(!b.isRootStub){d=b.path+'.'+c}a.checkHadValue()}a.path=d},destroy:function(){var a=this,c=a.formula,b=a.storeBinding;if(c){c.destroy()}if(b){b.destroy()}a.detachBound();a.callParent()},bindValidation:function(b,c){var a=this.parent;return a&&a.descend([this.validationKey,this.name]).bind(b,c)},bindValidationField:function(a,c){var b=this.parent,f=this.name,e=typeof a==='string',d;if(b){d=b.bind(function(b){var d=null;if(b&&b.isModel){d=b.getField(f)}if(e){c[a](d,b,this)}else {a.call(c,d,b,this)}})}return d||null},descend:function(c,g){var b=this,f=b.children||(b.children={}),d=g||0,e=c[d++],a;if(!(a=f[e])){a=new Ext.app.bind.Stub(b.owner,e,b)}if(d<c.length){a=a.descend(c,d)}return a},getChildValue:function(b){var d=this,c=d.name,g=d.bindMappings,f=g.store,e=g.model,a;if(!b&&!Ext.isString(b)){a=d.hadValue?null:undefined}else {a=d.inspectValue(b);if(!a){if(b.isEntity){if(e[c]){a=b[e[c]]()}else {a=b.data[c]}}else if(b.isStore&&f[c]){a=b[f[c]]()}else {a=b[c];if(a===undefined&&d.hadValue){a=null}}}}return a},getDataObject:function(){var d=this,a=d.parent.getDataObject(),c=d.name,b=a?a[c]:null,f=d.bindMappings.store,e;if(!b){if(a&&a.isEntity){e=a.associations;if(e&&c in e){b=a[e[c].getterName]()}}}else if(a.isStore&&c in f){b=a[f[c]]()}if(!b||!(b.$className||Ext.isObject(b))){a[c]=b={};d.hadValue=!0;d.invalidate(!0,!0)}return b},getRawValue:function(){return this.getChildValue(this.getParentValue())},graft:function(a){var b=this,d=b.parent,c=b.children,g=b.name,f,e;a.parent=d;a.children=c;if(d){d.children[g]=a}if(c){for(f in c){c[f].parent=a}}b.children=null;a.checkHadValue();e=b.callParent([a]);e.invalidate(!0,!0);return e},isAvailable:function(){return this.checkAvailability()},isLoading:function(){return !this.checkAvailability(!0)},invalidate:function(d,c){var a=this,b=a.children,e;a.dirty=!0;a.checkHadValue();if(!c&&a.isAvailable()){if(!a.scheduled){a.schedule()}}if(d&&b){for(e in b){b[e].invalidate(d,c)}}},isReadOnly:function(){var a=this.formula;return !!(a&&!a.set)},set:function(b,j){var c=this,k=c.parent,e=c.name,d=c.formula,a,f,i,g,h;if(d&&!d.settingValue&&d.set){d.setValue(b);return}else if(c.isLinkStub){g=c.getLinkFormulaStub();d=g?g.formula:null;if(d){if(g.isReadOnly()){Ext.raise('Cannot setValue on a readonly formula')}d.setValue(b);return}}a=k.getDataObject();if(a.isEntity){f=a.associations;if(f&&(e in f)){i=f[e];h=i.setterName;if(h){a[h](b)}c.invalidate(!0)}else {a.set(e,b)}}else if((b&&b.constructor===Object)||!(b===a[e]&&a.hasOwnProperty(e))){if(j||!c.setByLink(b)){if(b===undefined){delete a[e]}else {a[e]=b}c.inspectValue(a);c.invalidate(!0)}}},onStoreDataChanged:function(){this.invalidate(!0)},afterLoad:function(a){this.invalidate(!0)},afterCommit:function(a){this.afterEdit(a,null)},afterEdit:function(i,f){var b=this.children,j=f&&f.length,h=i.associations,k=this.bindMappings.model,d,e,a,g,c;if(b){if(j){for(e=0;e<j;++e){g=f[e];a=b[g];if(!a){c=i.fieldsMap[g];c=c&&c.reference;a=c&&b[c.role]}if(a){a.invalidate(!0)}}}else {for(d in b){if(!(h&&d in h)){b[d].invalidate(!0)}}}for(d in k){a=b[d];if(a){a.invalidate()}}}this.invalidate()},afterReject:function(a){this.afterEdit(a,null)},afterAssociatedRecordSet:function(e,d,c){var a=this.children,b=c.role;if(a&&b in a){a[b].invalidate(!0)}},setByLink:function(j){var i=this,g=0,h=!1,f,b,c,a,e,d;for(a=i;a;a=a.parent){if(a.isLinkStub){b=a;if(g){for(c=[],f=0,a=i;a!==b;a=a.parent){++f;c[g-f]=a.name}}break}++g}a=null;if(b){e=b.parent;d=b.name;if(!e.shouldClimb(d)){a=e.insertChild(d)}else {a=b.getTargetStub()}}if(a){if(c){a=a.descend(c)}a.set(j);h=!0}return h},setFormula:function(c){var a=this,b=a.formula;if(b){b.destroy()}a.formula=new Ext.app.bind.Formula(a,c)},react:function(){var b=this,a=this.boundValue,d=b.children,c;if(a){if(a.isValidation){a.refresh();c=a.generation;if(b.lastValidationGeneration===c){return}b.lastValidationGeneration=c}else if(a.isModel){if(d&&d[b.validationKey]){a.isValid()}}}this.callParent()},privates:{bindMappings:{store:{count:'getCount',first:'first',last:'last',loading:'hasPendingLoad',totalCount:'getTotalCount'},model:{dirty:'isDirty',phantom:'isPhantom',valid:'isValid'}},checkAvailability:function(j){var b=this,f=b.parent,i=b.bindMappings,g=b.name,a=!!(f&&f.checkAvailability(j)),h,c,d,e,k;if(a){c=b.getParentValue();d=b.inspectValue(c);if(d){if(j){a=!d.hasPendingLoad()}else {if(d.isStore){a=!0}else {a=!d.isLoading()||d.loadCount>0}}}else {if(c){if(c.isModel){if(i.model[g]){a=!f.isLoading();e=!0}else {h=c.associations;if(!(h&&g in h)){a=!0;e=!0}}}else if(c.isStore&&i.store[g]&&g!=='loading'){a=!f.isLoading();e=!0}}if(!e){a=b.hadValue||b.getRawValue()!==undefined}}}return a},checkHadValue:function(){if(!this.hadValue){this.hadValue=this.getRawValue()!==undefined}},collect:function(){var a=this,d=a.callParent(),b=a.storeBinding?1:0,c=a.formula?1:0;return d+b+c},getLinkFormulaStub:function(){var a=this;while(a.isLinkStub){a=a.binding.stub}return a.formula?a:null},getParentValue:function(){var a=this;if(a.dirty){a.parentValue=a.parent.getValue();a.dirty=!1}return a.parentValue},setStore:function(a){this.storeBinding=a},inspectValue:function(c){var b=this,f=b.name,i=b.boundValue,a=null,e,d,h,g;if(c&&c.isEntity){e=c.associations;if(e&&(f in e)){a=c[e[f].getterName]()}else if(f===b.validationKey){a=c.getValidation();b.lastValidationGeneration=null}}else if(c){d=c[f];if(d&&(d.isModel||d.isStore)){a=d}}h=i!==a;if(h){if(i){b.detachBound()}if(a){if(a.isModel){a.join(b)}else {g=a.associatedEntity;if(g&&a.autoLoad!==!1&&!a.complete&&!a.hasPendingLoad()){a.load()}a.on({scope:b,beginload:'onStoreDataChanged',load:'onStoreDataChanged',datachanged:'onStoreDataChanged',destroy:'onDestroyBound'})}}b.boundValue=a}return a},detachBound:function(){var b=this,a=b.boundValue;if(a&&!a.destroyed){if(a.isModel){a.unjoin(b)}else {a.un({scope:b,beginload:'onStoreDataChanged',load:'onStoreDataChanged',datachanged:'onStoreDataChanged',destroy:'onDestroyBound'})}}},onDestroyBound:function(){if(!this.owner.destroying){this.set(null)}},sort:function(){var a=this,d=a.formula,c=a.scheduler,b=a.storeBinding;a.callParent();if(b){c.sortItem(b)}if(d){c.sortItem(d)}}}});Ext.define('Ext.app.bind.LinkStub',{extend:Ext.app.bind.Stub,isLinkStub:!0,binding:null,destroy:function(){var a=this,b=a.binding,c=a.owner;if(b){a.binding=null;b.destroy();if(c){delete c.linkData[a.name]}}a.target=null;a.callParent()},getFullName:function(){var a=this;return a.fullName||(a.fullName='('+a.callParent()+' -> '+a.binding.getFullName()+')')},getDataObject:function(){var e=this.binding,c=this.parent,b=this.name,a,d;if(c.isRootStub&&!c.shouldClimb(b)){a=c.owner.getData();if(!a.hasOwnProperty(b)){a[b]=d={}}}else {d=e&&e.getDataObject()}return d},getRawValue:function(){var a=this.binding;return a&&a.getRawValue()},getValue:function(){var a=this.binding;return a&&a.getValue()},getTargetStub:function(){var a=this.binding;return a&&a.stub},isAvailable:function(){var a=this.binding;return a?a.isAvailable():!1},isLoading:function(){var a=this.binding;return a?a.isLoading():!1},link:function(c,b){var a=this,d=a.binding;if(d){d.destroy()}b=a.target=b||a.owner;a.linkDescriptor=c;a.binding=b.bind(c,a.onChange,a);a.binding.deep=!0},onChange:function(){this.invalidate(!0)},react:function(){var a=this,b=a.owner.linkData;b[a.name]=a.getValue();a.callParent()},privates:{collect:function(){var a=this,c=a.callParent(),b=a.binding?1:0;return c+b},sort:function(){var a=this.binding;if(a){this.scheduler.sortItem(a)}}}});Ext.define('Ext.app.bind.RootStub',{extend:Ext.app.bind.AbstractStub,isRootStub:!0,depth:0,createRootChild:function(a,j){var e=this,c=e.owner,i=c.getData(),g=e.children,d=g&&g[a],f=d?null:e,h,b;if(j||i.hasOwnProperty(a)||!(h=c.getParent())){b=new Ext.app.bind.Stub(c,a,f)}else {b=new Ext.app.bind.LinkStub(c,a,f);b.link('{'+a+'}',h)}if(d){d.graft(b)}return b},createStubChild:function(a){return this.createRootChild(a,!0)},descend:function(a,g){var f=this,d=f.children,b=g||0,e=a[b++],c=(d&&d[e])||f.createRootChild(e);if(b<a.length){c=c.descend(a,b)}return c},getFullName:function(){return this.fullName||(this.fullName=this.owner.id+':')},getDataObject:function(){return this.owner.data},getRawValue:function(){return this.owner.data},getValue:function(){return this.owner.data},isDescendantOf:function(){return !1},set:function(d,k){if(!d||d.constructor!==Object){Ext.raise('Only an object can be set at the root')}var c=this,i=c.children||(c.children={}),f=c.owner,g=f.data,l=f.getParent(),b,h,a,e,j;for(a in d){if(a.indexOf('.')>=0){Ext.raise('Value names cannot contain dots')}h=d[a];if(h!==undefined){b=i[a];e=k||!c.shouldClimb(a);if(!b){b=c.createRootChild(a,e);j=!0}else if(e&&b.isLinkStub&&!b.getLinkFormulaStub()){b=c.insertChild(a)}if(!j||!g.hasOwnProperty(d)){f.invalidateChildLinks(a)}b.set(h,e)}else if(g.hasOwnProperty(a)){delete g[a];b=i[a];if(b){if(!b.isLinkStub&&l){b=c.createRootChild(a)}f.invalidateChildLinks(a,!0);b.invalidate(!0)}}}},schedule:Ext.emptyFn,unschedule:Ext.emptyFn,privates:{checkAvailability:function(){return !0},insertChild:function(a){return this.createRootChild(a,!0)},invalidateChildLink:function(b,d){var c=this.children,a=c&&c[b];if(a&&a.isLinkStub&&!a.getLinkFormulaStub()){a=this.createRootChild(b);if(d){a.invalidate(!0)}this.owner.invalidateChildLinks(b,d)}},shouldClimb:function(b){var a=this.owner.getParent();while(a){if(a.getData().hasOwnProperty(b)){return !0}a=a.getParent()}return !1}}});Ext.define('Ext.app.bind.Multi',{extend:Ext.app.bind.BaseBinding,isMultiBinding:!0,missing:1,deep:!0,constructor:function(b,f,e,g,c){var a=this,d=c&&c.trackStatics;a.callParent([f,e,g,c]);a.bindings=[];a.literal=b.$literal;if(b.constructor===Object){if(d){a.staticKeys=[]}a.addObject(b,a.lastValue={},a.staticKeys)}else {a.addArray(b,a.lastValue=[])}if(!--a.missing&&!a.scheduled){a.schedule()}},destroy:function(){var a=this;a.bindings=Ext.destroy(a.bindings);a.callParent()},add:function(d,i,f){var a=this,h=a.owner,e=a.bindings,g=a.literal?(d.reference?'bindEntity':'bindExpression'):'bind',b,c;++a.missing;b=h[g](d,function(c){i[f]=c;if(b.calls===1){--a.missing}if(!a.missing&&!a.scheduled){a.schedule()}},a,null);c=b.depth;if(!e.length||c<a.depth){a.depth=c}e.push(b);return !this.isBindingStatic(b)},addArray:function(g,d){var f=this,h=g.length,e=!1,c,a,b;for(b=0;b<h;++b){a=g[b];if(a&&(a.reference||Ext.isString(a))){c=f.add(a,d,b)}else if(Ext.isArray(a)){c=f.addArray(a,d[b]=[])}else if(a&&a.constructor===Object){c=f.addObject(a,d[b]={})}else {d[b]=a;c=!1}e=e||c}return e},addObject:function(g,d,h){var f=this,e=!1,c,a,b;for(b in g){a=g[b];if(a&&(a.reference||Ext.isString(a))){c=f.add(a,d,b)}else if(Ext.isArray(a)){c=f.addArray(a,d[b]=[])}else if(a&&a.constructor===Object){c=f.addObject(a,d[b]={})}else {d[b]=a;c=!1}if(h&&!c){h.push(b)}e=e||c}return e},getFullName:function(){var c=this,a=c.fullName,d=c.bindings,e=d.length,b;if(!a){a='@[';for(b=0;b<e;++b){if(b){a+=','}a+=d[b].getFullName()}a+=']';c.fullName=a}return a},getRawValue:function(){return this.lastValue},isDescendantOf:function(){return !1},isLoading:function(){for(var a=this.bindings,b=a.length;b-->0;){if(a[b].isLoading()){return !0}}return !1},isAvailable:function(){for(var a=this.bindings,b=a.length;b-->0;){if(a[b].isAvailable()){return !0}}return !1},isBindingStatic:function(a){return a.isTemplateBinding&&a.isStatic},isStatic:function(){var b=this.bindings,d=b.length,a,c;for(a=0;a<d;++a){c=b[a];if(!this.isBindingStatic(c)){return !1}}return !0},pruneStaticKeys:function(){var b=Ext.apply({},this.lastValue),c=this.staticKeys,d=c.length,a;for(a=0;a<d;++a){delete b[c[a]]}return b},react:function(){this.notify(this.lastValue)},refresh:function(){},privates:{sort:function(){this.scheduler.sortItems(this.bindings)}}});Ext.define('Ext.app.bind.Formula',{extend:Ext.util.Schedulable,statics:{getFormulaParser:function(c){var b=this.formulaCache,a,d;if(!b){b=this.formulaCache=new Ext.util.LruCache({maxSize:20})}a=b.get(c);if(!a){d='[^\\.a-z0-9_]'+Ext.String.escapeRegex(c)+'\\(\\s*([\'"])(.*?)\\1\\s*\\)';a=new RegExp(d,'gi');b.add(c,a)}return a}},isFormula:!0,calculation:null,explicit:!1,set:null,single:!1,fnKeywordArgumentNamesRe:/^function\s*[^\(]*\(\s*([^,\)\s]+)/,fnKeywordRe:/^\s*function/,replaceParenRe:/[\(\)]/g,constructor:function(h,c){var a=this,g=h.owner,f,b,d,e;a.owner=g;a.stub=h;a.callParent();if(c instanceof Function){a.get=d=c}else {a.get=d=c.get;a.set=c.set;b=c.bind;if(c.single){a.single=c.single}if(b){f=b.bindTo;if(f){e=Ext.apply({},b);delete e.bindTo;b=f}}}if(!d){Ext.raise('Must specify a getter method for a formula')}if(b){a.explicit=!0}else {b=d.$expressions||a.parseFormula(d)}a.binding=g.bind(b,a.onChange,a,e)},destroy:function(){var a=this,b=a.binding,c=a.stub;if(b){b.destroy();a.binding=null}if(c){c.formula=null}a.callParent();a.getterFn=a.owner=null},getFullName:function(){return this.fullName||(this.fullName=this.stub.getFullName()+'='+this.callParent()+')')},getRawValue:function(){return this.calculation},onChange:function(){if(!this.scheduled){this.schedule()}},parseFormula:function(g){var d=Ext.Function.toCode(g),h='get',c={$literal:!0},a,b,f,e;if(this.fnKeywordRe.test(d)){a=this.fnKeywordArgumentNamesRe.exec(d);if(a){b=a[1]}}else {a=d.split('=>')[0];if(a){a=Ext.String.trim(a.replace(this.replaceParenRe,'')).split(',');b=a[0]}}b=b||h;f=Ext.app.bind.Formula.getFormulaParser(b);while((a=f.exec(d))){e=a[2];c[e]=e}c.$literal=!0;g.$expressions=c;return c},react:function(){var a=this,c=a.owner,d=a.binding.lastValue,e=a.getterFn,b;if(a.explicit){b=d}else {b=c.getFormulaFn(d)}a.settingValue=!0;a.stub.set(a.calculation=a.get.call(c,b));a.settingValue=!1;if(a.single){a.destroy()}},setValue:function(a){this.set.call(this.stub.owner,a)},privates:{getScheduler:function(){var a=this.owner;return a&&a.getScheduler()},sort:function(){var b=this,a=b.binding;if(!a.destroyed){b.scheduler.sortItem(a)}}}});Ext.define('Ext.util.Fly',{inheritableStatics:{flyPoolSize:2,fly:function(){var b=this,c=b.flyweights||(b.flyweights=[]),a=c.length?c.pop():new b();a.reset.apply(a,arguments);return a}},release:function(){var a=this,b=a.self,c=b.flyweights||(b.flyweights=[]);a.reset();if(c.length<b.flyPoolSize){c.push(a)}},reset:Ext.emptyFn});Ext.define('Ext.parse.Tokenizer',function(c){var b=(c.flyweights=[]),a={literal:!0,"boolean":!0},f={error:!0},g={ident:!0},i={literal:!0},h={literal:!0,nil:!0},d={literal:!0,number:!0},e={literal:!0,string:!0};return {extend:Ext.util.Fly,isTokenizer:!0,statics:{BOOLEAN:a,ERROR:f,IDENT:g,LITERAL:i,NULL:h,NUMBER:d,STRING:e},config:{keywords:{'null':{type:'literal',is:h,value:null},'false':{type:'literal',is:a,value:!1},'true':{type:'literal',is:a,value:!0}},operators:{'+':'plus','-':'minus','*':'multiply','/':'divide','!':'bang',',':'comma',':':'colon','[':'arrayOpen',']':'arrayClose','{':'curlyOpen','}':'curlyClose','(':'parenOpen',')':'parenClose'}},error:null,index:-1,constructor:function(a){this.operators={};this.initConfig(a)},next:function(){var a=this.peek();this.head=undefined;return a},peek:function(){var a=this,d=a.error,b=a.head;if(d){return d}if(b===undefined){a.head=b=a.advance()}return b},release:function(){this.reset();if(b.length<c.flyPoolSize){b.push(this)}},reset:function(b,e,d){var a=this;a.error=null;a.head=undefined;a.index=-1;a.text=b||null;a.pos=e||0;a.end=(b&&d==null)?b.length:d;return a},privates:{digitRe:/[0-9]/,identFirstRe:/[a-z_$]/i,identRe:/[0-9a-z_$]/i,spaceRe:/[ \t]/,end:0,head:undefined,pos:0,text:null,applyOperators:function(i){var j=this.operators,a,f,g,d,h,e,b;for(b in i){a=j;e=i[b];h=b.length;for(d=0;d<h;++d){f=b.charAt(d);a=a[f]||(a[f]={})}if(e){a.token=g={type:'operator',value:b,is:{operator:!0}};g.is[e]=!0}else {a.token=null}}},advance:function(){var a=this,d=a.spaceRe,f=a.text,e=a.end,b;while(a.pos<e){b=f.charAt(a.pos);if(d.test(b)){++a.pos;continue}a.index=a.pos;return a.parse(b)}return null},parse:function(d){var a=this,e=a.digitRe,g=a.text,f=a.end,b;if(d==='.'&&a.pos+1<f){if(e.test(g.charAt(a.pos+1))){b=a.parseNumber()}}if(!b&&a.operators[d]){b=a.parseOperator(d)}if(!b){if(d==='"'||d==="'"){b=a.parseString()}else if(e.test(d)){b=a.parseNumber()}else if(a.identFirstRe.test(d)){b=a.parseIdent()}else {b=a.syntaxError('Unexpected character')}}return b},parseIdent:function(){var a=this,l=a.identRe,h=a.getKeywords(),k=!a.operators['.'],j=a.text,i=a.pos,b=i,m=a.end,f=0,d,e;while(b<m){d=j.charAt(b);if(k&&d==='.'){if(f==='.'){return a.syntaxError(b,'Unexpected dot operator')}++b}else if(l.test(d)){++b}else {break}f=d}if(f==='.'){return a.syntaxError(b-1,'Unexpected dot operator')}e=j.substring(i,a.pos=b);return (h&&h[e])||{type:'ident',is:g,value:e}},parseNumber:function(){var a=this,j=a.digitRe,h=a.text,e=a.pos,k=a.end,b,g,i,f;while(a.pos<k){b=h.charAt(a.pos);if(b==='-'||b==='+'){if(a.pos!==e){return a.syntaxError(e,'Invalid number')}++a.pos}else if(b==='.'){if(g){break}g=!0;++a.pos}else if(b==='e'||b==='E'){if(i){break}g=i=!0;b=h.charAt(++a.pos);if(b==='-'||b==='+'){++a.pos}}else if(j.test(b)){++a.pos}else {break}}f={type:'literal',is:d,value:+h.substring(e,a.pos)};if(!isFinite(f.value)){f=a.syntaxError(e,'Invalid number')}return f},parseOperator:function(g){var a=this,b=a.operators,j=a.text,i=a.end,d=a.pos,e,h,f;while(b[g]){b=b[g];f=b.token;++d;if(f){e=f;h=d}if(d<i){g=j.charAt(d)}else {break}}if(e){a.pos=h}return e},parseString:function(){var b=this,f=b.text,a=b.pos,k=a,h=b.end,j='',d,g,i;i=f.charAt(a++);while(a<h){d=f.charAt(a++);if(d===i){g=!0;break}if(d==='\\'&&a<h){d=f.charAt(a++)}j+=d}b.pos=a;if(!g){return b.syntaxError(k,'Unterminated string')}return {type:'literal',is:e,value:j}},syntaxError:function(a,d){if(typeof a==='string'){d=a;a=this.pos}var e=(a==null)?'':(' (at index '+a+')'),b=new Error(d+e);b.type='error';b.is=f;if(e){b.at=a}return this.error=b}}}});Ext.define('Ext.parse.Symbol',{priority:0,constructor:function(d,a){var b=this,c=b.defaultProperty;if(a&&typeof a==='object'){Ext.apply(b,a)}else if(a!==undefined&&c){b[c]=a}b.id=d},dump:function(){var a=this,b={at:a.at,arity:a.arity},c;if('value' in a){b.value=a.value}if(a.lhs){b.lhs=a.lhs.dump();b.rhs=a.rhs.dump()}if(a.operand){b.operand=a.operand.dump()}if(a.args){b.args=[];for(c=0;c<a.args.length;++c){b.args.push(a.args[c].dump())}}return b},led:function(){this.parser.syntaxError(this.at,'Missing operator')},nud:function(){this.parser.syntaxError(this.at,'Undefined')},update:function(a){if(a&&typeof a==='object'){var b=this,c=a.priority,d=a.led,e=a.nud;if(b.priority<=c){b.priority=c}if(d){b.led=d}if(e){b.nud=e}}}});Ext.define('Ext.parse.symbol.Constant',{extend:Ext.parse.Symbol,arity:'literal',isLiteral:!0,defaultProperty:'value',constructor:function(b,a){this.callParent([b,a]);this._value=this.value},nud:function(){var a=this;a.value=a._value;a.arity='literal';a.isLiteral=!0;return a}});Ext.define('Ext.parse.symbol.Infix',{extend:Ext.parse.Symbol,arity:'binary',isBinary:!0,defaultProperty:'priority',led:function(b){var a=this;a.lhs=b;a.rhs=a.parser.parseExpression(a.priority);a.arity='binary';a.isBinary=!0;return a}});Ext.define('Ext.parse.symbol.InfixRight',{extend:Ext.parse.symbol.Infix,led:function(b){var a=this;a.lhs=b;a.rhs=a.parser.parseExpression(a.priority-1);a.arity='binary';a.isBinary=!0;return a}});Ext.define('Ext.parse.symbol.Paren',{extend:Ext.parse.Symbol,arity:'binary',isBinary:!0,priority:80,led:function(d){var b=this,e=[],c=b.parser,a=d.id,f=d.arity;if(a!=='.'&&a!=='['){if((f!=="unary"||a!=="function")&&f!=="ident"&&a!=="("&&a!=="&&"&&a!=="||"&&a!=="?"){c.syntaxError(d.at,"Expected a variable name.")}}b.arity='invoke';b.isInvoke=!0;b.operand=d;b.args=e;while(c.token.id!==')'){if(e.length){c.advance(',')}e.push(c.parseExpression())}c.advance(')');return b},nud:function(){var a=this.parser,b=a.parseExpression();a.advance(")");return b}});Ext.define('Ext.parse.symbol.Prefix',{extend:Ext.parse.Symbol,arity:'unary',isUnary:!0,priority:70,nud:function(){var a=this;a.operand=a.parser.parseExpression(a.priority);a.arity='unary';a.isUnary=!0;return a}});Ext.define('Ext.parse.Parser',function(){var a=function(){return this};return {extend:Ext.util.Fly,isParser:!0,config:{constants:{'null':null,'false':!1,'true':!0},infix:{'+':50,'-':50,'*':60,'/':60},infixRight:{'&&':30,'||':30},prefix:{'!':0,'-':0,'+':0},symbols:{':':0,',':0,')':0,'[':0,']':0,'{':0,'}':0,'(end)':0,'(ident)':{arity:'ident',isIdent:!0,nud:a},'(literal)':{arity:'literal',isLiteral:!0,nud:a},'(':{xclass:'Ext.parse.symbol.Paren'}},tokenizer:{keywords:null}},token:null,constructor:function(a){this.symbols={};this.initConfig(a)},advance:function(h){var b=this,g=b.tokenizer,c=g.peek(),d=b.symbols,i=g.index,f,a,e;if(b.error){throw b.error}if(h){b.expect(h)}if(!c){return b.token=d['(end)']}g.next();f=c.is;e=c.value;if(f.ident){a=d[e]||d['(ident)']}else if(f.operator){if(!(a=d[e])){b.syntaxError(c.at,'Unknown operator "'+e+'"')}}else if(f.literal){a=d['(literal)']}else {b.syntaxError(c.at,'Unexpected token')}b.token=a=Ext.Object.chain(a);a.at=i;a.value=e;if(!a.arity){a.arity=c.type}return a},expect:function(a){var b=this.token;if(a!==b.id){this.syntaxError(b.at,'Expected "'+a+'"')}return this},parseExpression:function(c){var b=this,d=b.token,a;c=c||0;b.advance();a=d.nud();while(c<(d=b.token).priority){b.advance();a=d.led(a)}return a},reset:function(b,d,c){var a=this;a.error=a.token=null;a.tokenizer.reset(b,d,c);a.advance();return a},syntaxError:function(a,c){if(typeof a==='string'){c=a;a=this.pos}var d=(a==null)?'':(' (at index '+a+')'),b=new Error(c+d);b.type='error';if(d){b.at=a}throw this.error=b},privates:{error:null,addSymbol:function(g,a,d,c){var h=this.symbols,b=h[g],f,i,e;if(b){if(typeof a==='object'){f=a}else if(c&&d){c=Ext.Array.from(c);i=c.length;f={};for(e=0;e<i;e++){f[c[e]]=d.prototype[c[e]]}}else {return b}b.update(f)}else {if(a&&a.xclass){d=Ext.ClassManager.get(a.xclass)}else {d=d||Ext.parse.Symbol}h[g]=b=new d(g,a);b.parser=this}return b},addSymbols:function(a,d,c){for(var b in a){this.addSymbol(b,a[b],d,c)}},applyConstants:function(a){this.addSymbols(a,Ext.parse.symbol.Constant,'nud')},applyInfix:function(a){this.addSymbols(a,Ext.parse.symbol.Infix,'led')},applyInfixRight:function(a){this.addSymbols(a,Ext.parse.symbol.InfixRight,'led')},applyPrefix:function(a){this.addSymbols(a,Ext.parse.symbol.Prefix,'nud')},applySymbols:function(a){this.addSymbols(a)},applyTokenizer:function(a){var b=a;if(a&&!a.isTokenizer){b=new Ext.parse.Tokenizer(a)}this.tokenizer=b}}}});Ext.define('Ext.app.bind.Parser',{extend:Ext.parse.Parser,infix:{':':{priority:70,dump:function(){var a=this,d={at:a.at,arity:a.arity,value:a.value,operand:a.operand.dump(),fmt:[]},c=a.fmt,b;for(b=0;b<c.length;++b){d.fmt.push(c[b].dump())}return d},led:function(b){var a=this;a.arity='formatter';a.operand=b;a.fmt=a.parser.parseFmt();return a}},'?':{priority:20,led:function(e){var a=this,b=a.parser,c=b.symbols[':'],d;a.condition=e;d=c.priority;c.priority=0;a.tv=b.parseExpression(0);a.parser.advance(':');c.priority=d;a.fv=b.parseExpression(0);a.arity='ternary';return a}},'===':40,'!==':40,'==':40,'!=':40,'<':40,'<=':40,'>':40,'>=':40},symbols:{'(':{nud:function(){var a=this.parser,b=a.symbols[':'],d,c;c=b.priority;b.priority=70;d=a.parseExpression();a.advance(")");b.priority=c;return d}}},prefix:{'@':0},tokenizer:{operators:{'@':'at','?':'qmark','===':'feq','!==':'fneq','==':'eq','!=':'neq','<':'lt','<=':'lte','>':'gt','>=':'gte','&&':'and','||':'or'}},compileExpression:function(e,d){var a=this,b,c;a.tokens=e;a.tokensMap=d;b=a.token.value==='@'&&a.tokenizer.peek();if(b){b=b.value==='debugger';if(b){a.advance();a.advance()}}c=a.parseSlot(a.parseExpression(),b);a.tokens=a.tokensMap=null;return c},compileFormat:function(){var a;try{a=this.parseSlot({arity:'formatter',fmt:this.parseFmt(),operand:{arity:'ident',value:'dummy'}});this.expect('(end)')}catch(b){Ext.raise('Invalid format expression: "'+this.tokenizer.text+'"')}return a},privates:{useEval:Ext.isGecko,escapeRe:/("|'|\\)/g,parseFmt:function(){var b=this,c=[],d=b.symbols[':'].priority,a;do{if(c.length){b.advance()}a=b.parseExpression(d);if(a.isIdent||a.isInvoke){c.push(a)}else {b.syntaxError(a.at,'Expected formatter name')}}while(b.token.id===':');return c},parseSlot:function(k,j){var b=this,e=[],a=[],h=b.tokens||[],i,c,d,g,f;b.definitions=e;b.body=a;a.push('return '+b.compile(k)+';');g=h.length;c='var fm = Ext.util.Format,\nme,';f='var a = Ext.Array.from(values);\nme = scope;\n';if(h.length){for(d=0;d<g;d++){c+='v'+d+((d==g-1)?';':',');f+='v'+d+' = a['+d+']; '}}else {c+='v0;';f+='v0 = a[0];'}e=Ext.Array.insert(e,0,[c]);a=Ext.Array.insert(a,0,[f]);a=a.join('\n');if(j){a='debugger;\n'+a}e.push((b.useEval?'$=':'return')+' function (values, scope) {',a,'}');c=e.join('\n');i=b.useEval?b.evalFn(c):(new Function('Ext',c))(Ext);b.definitions=b.body=null;return i},compile:function(a){var b=this,c;switch(a.arity){case 'ident':return b.addToken(a.value);case 'literal':c=a.value;return (typeof c==='string')?'"'+String(c).replace(b.escapeRe,'\\$1')+'"':c;case 'unary':return b.compileUnary(a);case 'binary':return b.compileBinary(a);case 'ternary':return b.compileTernary(a);case 'formatter':return b.compileFormatter(a);}return this.syntaxError(a.at,'Compile error! Unknown symbol')},compileUnary:function(b){var a=b.value,c=b.operand;if(a==='!'||a==='-'||a==='+'){return a+'('+this.compile(c)+')'}else if(a==='@'){if(!c.isIdent){return this.syntaxError(b.at,'Compile error! Unexpected symbol')}return c.value}return ''},compileBinary:function(a){return '('+this.compile(a.lhs)+' '+a.value+' '+this.compile(a.rhs)+')'},compileTernary:function(a){return '('+this.compile(a.condition)+' ? '+this.compile(a.tv)+' : '+this.compile(a.fv)+')'},compileFormatter:function(e){var c=this,b=e.fmt,f=b.length,a=['var ret;'],d;if(b.length){a.push('ret = '+c.compileFormatFn(b[0],c.compile(e.operand))+';');for(d=1;d<f;d++){a.push('ret = '+c.compileFormatFn(b[d],'ret')+';')}}a.push('return ret;');return c.addFn(a.join('\n'))},compileFormatFn:function(b,g){var a,d=[],e='',f,c;if(b.isIdent){a=b.value}else if(b.isInvoke){a=b.operand.value;d=b.args}if(a.substring(0,5)==='this.'){a='me.'+a.substring(5)}else {if(!(a in Ext.util.Format)){return this.syntaxError(b.at,'Compile error! Invalid format specified "'+a+'"')}a='fm.'+a}e+=g;f=d.length;for(c=0;c<f;c++){e+=', '+this.compile(d[c])}return a+'('+e+')'},addFn:function(c){var a=this.definitions,b='f'+a.length;a.push('function '+b+'() {',c,'}');return b+'()'},evalFn:function($){eval($);return $},addToken:function(b){var a=this.tokensMap,c=this.tokens,d=0;if(a&&c){if(b in a){d=a[b]}else {a[b]=d=c.length;c.push(b)}}return 'v'+d}}});Ext.define('Ext.app.bind.Template',{escapes:!1,buffer:null,slots:null,tokens:null,constructor:function(d){var b=this,c=b._initters,a;b.text=d;for(a in c){b[a]=c[a]}},_initters:{apply:function(a,b){return this.parse().apply(a,b)},getTokens:function(){return this.parse().getTokens()}},apply:function(g,h){var d=this,e=d.slots,c=d.buffer,f=e.length,a,b;for(a=0;a<f;++a){b=e[a];if(b){c[a]=b(g,h)}}if(b&&d.single){return c[0]}return c.join('')},getText:function(){return this.buffer.join('')},getTokens:function(){return this.tokens},isStatic:function(){var a=this.getTokens(),b=this.slots;return (a.length===0&&b.length===0)},privates:{literalChar:'~',escapeChar:'\\',parse:function(){var a=this,e=a.text,i=Ext.app.bind.Parser.fly(),h=(a.buffer=[]),r=(a.slots=[]),p=e.length,f=0,o=a.escapes,b='',c=0,s=a.escapeChar,m=a.literalChar,g,q,n,j,d,k,l;for(l in a._initters){delete a[l]}a.tokens=q=[];a.tokensMap=n={};while(c<p){d=e[c];j=g;g=o&&d===s;if(g){d=e[c+1];++c}else if(d===m&&k===m&&!j){b=b.slice(0,-1);b+=e.substring(c+1);break}else if(d==='{'){if(b){h[f++]=b;b=''}i.reset(e,c+1);c=a.parseExpression(i,f);++f;continue}b+=d;++c;k=d}if(b){h[f]=b}i.release();a.single=h.length===0&&r.length===1;return a},parseExpression:function(a,c){var b;this.slots[c]=a.compileExpression(this.tokens,this.tokensMap);b=a.token.at+1;a.expect('}');return b}}});Ext.define('Ext.app.bind.TemplateBinding',{extend:Ext.app.bind.BaseBinding,isTemplateBinding:!0,lastValue:undefined,value:undefined,constructor:function(f,d,e,h,g){var a=this,b=new Ext.app.bind.Template(f),c=b.getTokens();a.callParent([d,e,h,g]);a.tpl=b;a.tokens=c;c.$literal=!0;if(!b.isStatic()){a.multiBinding=new Ext.app.bind.Multi(c,d,a.onBindData,a)}else {a.isStatic=!0;a.onData(b.getText())}},destroy:function(){var a=this;Ext.destroy(a.multiBinding);a.tpl=a.multiBinding=null;a.callParent()},getFullName:function(){var a=this.multiBinding;return this.fullName||(this.fullName='$'+(a?a.getFullName():this.callParent()))},getRawValue:function(){return this.value},getTemplateScope:function(){return null},isAvailable:function(){var a=this.multiBinding;return a?a.isAvailable():!1},isDescendantOf:function(){return !1},isLoading:function(){var a=this.multiBinding;return a?a.isLoading():!1},onBindData:function(a){this.onData(this.tpl.apply(a,this.getTemplateScope()))},onData:function(c){var a=this,b=a.value;if(b!==(a.value=c)){a.lastValue=b;a.schedule()}},react:function(){this.notify(this.value)},refresh:function(){var a=this.multiBinding;if(a){a.refresh()}},privates:{sort:function(){var a=this.multiBinding;if(a){this.scheduler.sortItem(a)}}}});Ext.define('Ext.data.ChainedStore',{extend:Ext.data.AbstractStore,alias:'store.chained',isChainedStore:!0,config:{source:null,remoteFilter:!1,remoteSort:!1},mixins:[Ext.data.LocalStore],updateRemoteFilter:function(a,b){if(a){Ext.raise('Remote filtering cannot be used with chained stores.')}this.callParent([a,b])},updateRemoteSort:function(a,b){if(a){Ext.raise('Remote sorting cannot be used with chained stores.')}this.callParent([a,b])},remove:function(){var a=this.getSource();if(!a){Ext.raise('Cannot remove records with no source.')}return a.remove.apply(a,arguments)},removeAll:function(){var a=this.getSource();if(!a){Ext.raise('Cannot remove records with no source.')}return a.removeAll()},getData:function(){var b=this,a=b.data;if(!a){b.data=a=b.constructDataCollection()}return a},getTotalCount:function(){return this.getCount()},getSession:function(){return this.getSourceValue('getSession',null)},applySource:function(a){if(a){var c=a,b;a=Ext.data.StoreManager.lookup(a);if(!a){b='Invalid source {0}specified for Ext.data.ChainedStore';b=Ext.String.format(b,typeof c==='string'?'"'+c+'" ':'');Ext.raise(b)}}return a},updateSource:function(c,b){var a=this,d;if(b&&!b.destroyed){b.removeObserver(a)}if(c){d=a.getData();d.setSource(c.getData());if(!a.isInitializing){a.fireEvent('refresh',a);a.fireEvent('datachanged',a)}c.addObserver(a)}},getModel:function(){return this.getSourceValue('getModel',null)},getProxy:function(){return null},onCollectionAdd:function(e,b){var a=this,d=b.items,c=!b.next;if(a.ignoreCollectionAdd){return}if(a.activeRanges){a.syncActiveRanges()}a.fireEvent('add',a,d,b.at);if(c){a.fireEvent('datachanged',a)}},onCollectionItemChange:function(f,a){var b=this,d=a.item,c=a.modified||null,e=a.meta;b.onUpdate(d,e,c,a);b.fireEvent('update',b,d,e,c,a);b.fireEvent('datachanged',b)},onCollectionUpdateKey:function(b,a){this.fireEvent('idchanged',this,a.item,a.oldKey,a.newKey)},onUpdate:Ext.emptyFn,onCollectionRemove:function(e,b){var a=this,d=b.items,c=!b.next;if(a.ignoreCollectionRemove){return}a.fireEvent('remove',a,d,b.at,!1);if(c){a.fireEvent('datachanged',a)}},onSourceBeforeLoad:function(b,a){this.fireEvent('beforeload',this,a);this.callObservers('BeforeLoad',[a])},onSourceAfterLoad:function(d,c,a,b){this.fireEvent('load',this,c,a,b);this.callObservers('AfterLoad',[c,a,b])},onFilterEndUpdate:function(){this.callParent(arguments);this.callObservers('Filter')},onSourceBeforePopulate:function(){this.ignoreCollectionAdd=!0;this.callObservers('BeforePopulate')},onSourceAfterPopulate:function(){var a=this;a.ignoreCollectionAdd=!1;a.fireEvent('datachanged',a);a.fireEvent('refresh',a);this.callObservers('AfterPopulate')},onSourceBeforeClear:function(){this.ignoreCollectionRemove=!0;this.callObservers('BeforeClear')},onSourceAfterClear:function(){this.ignoreCollectionRemove=!1;this.callObservers('AfterClear')},onSourceBeforeRemoveAll:function(){this.ignoreCollectionRemove=!0;this.callObservers('BeforeRemoveAll')},onSourceAfterRemoveAll:function(c,b){var a=this;a.ignoreCollectionRemove=!1;if(!b){a.fireEvent('clear',a);a.fireEvent('datachanged',a)}this.callObservers('AfterRemoveAll',[b])},onSourceFilter:function(){var a=this;a.fireEvent('refresh',a);a.fireEvent('datachanged',a)},hasPendingLoad:function(){return this.getSourceValue('hasPendingLoad',!1)},isLoaded:function(){return this.getSourceValue('isLoaded',!1)},isLoading:function(){return this.getSourceValue('isLoading',!1)},doDestroy:function(){var a=this;a.observers=null;a.setSource(null);a.getData().destroy(!0);a.data=null;a.callParent()},privates:{getSourceValue:function(d,c){var a=this.getSource(),b=c;if(a&&!a.destroyed){b=a[d]()}return b},isMoving:function(){var a=this.getSource();return a.isMoving?a.isMoving.apply(a,arguments):!1},loadsSynchronously:function(){return this.getSource().loadsSynchronously()}}});Ext.define('Ext.app.ViewModel',{mixins:[Ext.mixin.Factoryable,Ext.mixin.Identifiable],alias:'viewmodel.default',isViewModel:!0,factoryConfig:{name:'viewModel'},collectTimeout:100,expressionRe:/^(?:\{(?:(\d+)|([a-z_][\w\.]*))\})$/i,statics:{escape:function(a){var b=a,c;if(typeof a==='string'){b='~~'+a}else if(a&&a.constructor===Object){b={};for(c in a){b[c]=this.escape(a[c])}}return b}},$configStrict:!1,config:{data:!0,formulas:{$value:null,merge:function(c,a,d,b){return this.mergeNew(c,a,d,b)}},links:null,parent:null,root:!0,scheduler:null,schema:'default',session:null,stores:null,view:null},constructor:function(a){this.bindings={};this.initConfig(a)},destroy:function(){var a=this,d=a._scheduler,g=a.storeInfo,j=a.getParent(),k=a.collectTask,f=a.children,i=a.bindings,b,c,e,h;a.destroying=!0;if(k){k.cancel();a.collectTask=null}if(f){for(b in f){f[b].destroy()}}if(g){for(b in g){c=g[b];h=c.$binding;e=c.autoDestroy;if(e||(!c.$wasInstance&&e!==!1)){c.destroy()}Ext.destroy(h)}}if(j){j.unregisterChild(a)}a.getRoot().destroy();for(b in i){i[b].destroy()}if(d&&d.$owner===a){d.$owner=null;d.destroy()}a.children=a.storeInfo=a._session=a._view=a._scheduler=a.bindings=a._root=a._parent=a.formulaFn=a.$formulaData=null;a.destroying=!1;a.callParent()},bind:function(a,f,e,c){var d=this,g=!0,b;e=e||d;if(!c&&a.bindTo!==undefined&&!Ext.isString(a)){c=a;a=c.bindTo}if(!Ext.isString(a)){b=new Ext.app.bind.Multi(a,d,f,e,c)}else if(d.expressionRe.test(a)){a=a.substring(1,a.length-1);b=d.bindExpression(a,f,e,c);g=!1}else {b=new Ext.app.bind.TemplateBinding(a,d,f,e,c)}if(g){d.bindings[b.id]=b}return b},getSession:function(){var b=this,a=b._session,c;if(!a&&(c=b.getParent())){b.setSession(a=c.getSession())}return a||null},getStore:function(c){var a=this.storeInfo,b;if(a){b=a[c]}return b||null},linkTo:function(e,a){var g=this,b,d,f,h,i,c;if(e.indexOf('.')>-1){Ext.raise('Links can only be at the top-level: "'+e+'"')}if(a.isModel){a={type:a.entityName,id:a.id}}h=a.type||a.reference;d=a.create;if(h){f=a.id;if(!a.create&&Ext.isEmpty(f)){Ext.raise('No id specified. To create a phantom model, specify "create: true" as part of the reference.')}if(d){f=undefined}c=g.getRecord(h,f);if(Ext.isObject(d)){c.set(d);c.commit();c.phantom=!0}b=g.getRoot().createStubChild(e);b.set(c)}else {b=g.getStub(e);if(!b.isLinkStub){i=new Ext.app.bind.LinkStub(g,b.name);b.graft(i);b=i}b.link(a)}},notify:function(){var a=this.getScheduler();if(!a.firing){a.notify()}},get:function(a){return this.getStub(a).getValue()},set:function(a,b){var d=this,e,c;d.getData();if(b===undefined&&a&&a.constructor===Object){c=d.getRoot();b=a}else if(a&&a.indexOf('.')<0){e={};e[a]=b;b=e;c=d.getRoot()}else {c=d.getStub(a)}c.set(b)},privates:{registerChild:function(b){var a=this.children;if(!a){this.children=a={}}a[b.getId()]=b},unregisterChild:function(b){var a=this.children;if(!this.destroying&&a){delete a[b.getId()]}},getRecord:function(c,e){var d=this.getSession(),b=c,f=e!==undefined,a;if(d){if(f){a=d.getRecord(c,e)}else {a=d.createRecord(c)}}else {if(!b.$isClass){b=this.getSchema().getEntity(b);if(!b){Ext.raise('Invalid model name: '+c)}}if(f){a=b.createWithId(e);a.load()}else {a=new b()}}return a},bindExpression:function(a,b,d,c){var e=this.getStub(a);return e.bind(b,d,c)},applyScheduler:function(a){if(a&&!a.isInstance){if(a===!0){a={}}if(!('preSort' in a)){a=Ext.apply({preSort:'kind,-depth'},a)}a=new Ext.util.Scheduler(a);a.$owner=this}return a},getScheduler:function(){var b=this,a=b._scheduler,c;if(!a){if(!(c=b.getParent())){a=new Ext.util.Scheduler({preSort:'kind,-depth'});a.$owner=b}else {a=c.getScheduler()}b.setScheduler(a)}return a},getStub:function(a){var b=this.getRoot();return a?b.getChild(a):b},collect:function(){var a=this,c=a.getParent(),b=a.collectTask;if(c){c.collect();return}if(!b){b=a.collectTask=new Ext.util.DelayedTask(a.doCollect,a)}if(a.collectTimeout===0){a.doCollect()}else {b.delay(a.collectTimeout)}},doCollect:function(){var a=this.children,b;if(a){for(b in a){a[b].doCollect()}}this.getRoot().collect()},invalidateChildLinks:function(d,c){var a=this.children,b;if(a){for(b in a){a[b].getRoot().invalidateChildLink(d,c)}}},onBindDestroy:function(c,d){var a=this,b;if(a.destroying){return}if(!d){delete a.bindings[c.id]}b=a.getParent();if(b){b.onBindDestroy(c,!0)}else {a.collect()}},applyData:function(b,e){var a=this,d,c;a.getSession();if(!e){c=a.getParent();a.linkData=d=c?Ext.Object.chain(c.getData()):{};a.data=a._data=Ext.Object.chain(d)}if(b&&b.constructor===Object){a.getRoot().set(b,!0)}},applyParent:function(a){if(a){a.registerChild(this)}return a},applyStores:function(f){var b=this,h=b.getRoot(),d,a,c,g,e;b.storeInfo={};b.listenerScopeFn=function(){return b.getView().getInheritedConfig('defaultListenerScope')};for(d in f){a=f[d];if(a.isStore){a.$wasInstance=!0;b.setupStore(a,d);continue}else if(Ext.isString(a)){a={source:a}}else {a=Ext.apply({},a)}e=a.listeners;delete a.listeners;c=b.bind(a,b.onStoreBind,b,{trackStatics:!0});if(c.isStatic()){c.destroy();b.createStore(d,a,e)}else {c.$storeKey=d;c.$listeners=e;g=h.createStubChild(d);g.setStore(c)}}},onStoreBind:function(a,g,c){var f=this.storeInfo,e=c.$storeKey,d=f[e],b;if(!d){this.createStore(e,a,c.$listeners,c)}else {a=Ext.merge({},c.pruneStaticKeys());b=a.proxy;delete a.type;delete a.model;delete a.fields;delete a.proxy;delete a.listeners;if(b){delete b.reader;delete b.writer;d.getProxy().setConfig(b)}d.setConfig(a)}},createStore:function(f,a,c,d){var e=this.getSession(),b;a=Ext.apply({},a);if(a.session){a.session=e}if(a.source){a.type=a.type||'chained'}a.listeners=c;a.resolveListenerScope=this.listenerScopeFn;b=Ext.Factory.store(a);b.$binding=d;this.setupStore(b,f)},setupStore:function(b,c){var a=this,d={};a.getData();b.resolveListenerScope=a.listenerScopeFn;a.storeInfo[c]=b;d[c]=b;a.setData(d)},applyFormulas:function(b){var c=this,e=c.getRoot(),a,d;c.getData();for(a in b){if(a.indexOf('.')>=0){Ext.raise('Formula names cannot contain dots: '+a)}e.createStubChild(a);d=c.getStub(a);d.setFormula(b[a])}return b},applyLinks:function(a){for(var b in a){this.linkTo(b,a[b])}},applySchema:function(a){return Ext.data.schema.Schema.get(a)},applyRoot:function(){var b=new Ext.app.bind.RootStub(this),a=this.getParent();if(a){b.depth=a.getRoot().depth-1000}return b},getFormulaFn:function(c){var a=this,b=a.formulaFn;if(!b){b=a.formulaFn=function(b){return a.$formulaData[b]}}a.$formulaData=c;return b}}});Ext.define('Ext.app.domain.Controller',{extend:Ext.app.EventDomain,singleton:!0,type:'controller',prefix:'controller.',idMatchRe:/^\#/,constructor:function(){var a=this;a.callParent();a.monitor(Ext.app.BaseController)},match:function(c,a){var b=!1,d=c.alias;if(a==='*'){b=!0}else if(a==='#'){b=!!c.isApplication}else if(this.idMatchRe.test(a)){b=c.getId()===a.substring(1)}else if(d){b=Ext.Array.indexOf(d,this.prefix+a)>-1}return b}});Ext.define('Ext.direct.Manager',{singleton:!0,mixins:[Ext.mixin.Observable],exceptions:{TRANSPORT:'xhr',PARSE:'parse',DATA:'data',LOGIN:'login',SERVER:'exception'},providerClasses:{},remotingMethods:{},config:{varName:'Ext.REMOTING_API'},apiNotFoundError:'Ext Direct API was not found at {0}',constructor:function(){var a=this;a.mixins.observable.constructor.call(a);a.transactions=new Ext.util.MixedCollection();a.providers=new Ext.util.MixedCollection()},addProvider:function(a){var b=this,d=arguments,f=b.relayers||(b.relayers={}),c,e;if(d.length>1){for(c=0,e=d.length;c<e;++c){b.addProvider(d[c])}return}if(!a.isProvider){a=Ext.create('direct.'+a.type+'provider',a)}b.providers.add(a);a.on('data',b.onProviderData,b);if(a.relayedEvents){f[a.id]=b.relayEvents(a,a.relayedEvents)}if(!a.isConnected()){a.connect()}return a},loadProvider:function(a,d,e){var c=this,i=c.providerClasses,h,b,j,g,f,k;if(Ext.isArray(a)){for(f=0,k=a.length;f<k;f++){c.loadProvider(a[f],d,e)}return}h=a.type;b=a.url;if(i[h]&&i[h].checkConfig(a)){g=c.addProvider(a);c.fireEventArgs('providerload',[b,g]);Ext.callback(d,e,[b,g]);return}j=a.varName||c.getVarName();delete a.varName;if(!b){Ext.raise("Need API discovery URL to load a Remoting provider!")}delete a.url;Ext.Loader.loadScript({url:b,scope:c,onLoad:function(){this.onApiLoadSuccess({url:b,varName:j,config:a,callback:d,scope:e})},onError:function(){this.onApiLoadFailure({url:b,callback:d,scope:e})}})},getProvider:function(a){return a.isProvider?a:this.providers.get(a)},removeProvider:function(a){var c=this,e=c.providers,d=c.relayers,b;a=a.isProvider?a:e.get(a);if(a){a.un('data',c.onProviderData,c);b=a.id;if(d[b]){d[b].destroy();delete d[b]}e.remove(a);return a}return null},addTransaction:function(a){this.transactions.add(a);return a},removeTransaction:function(a){var b=this;a=b.getTransaction(a);b.transactions.remove(a);return a},getTransaction:function(a){return typeof a==='object'?a:this.transactions.get(a)},onProviderData:function(d,a){var b=this,c,e;if(Ext.isArray(a)){for(c=0,e=a.length;c<e;++c){b.onProviderData(d,a[c])}return}if(a.name&&a.name!=='event'&&a.name!=='exception'){b.fireEvent(a.name,a)}else if(a.status===!1){b.fireEvent('exception',a)}b.fireEvent('event',a,d)},parseMethod:function(c){var b=Ext.global,e=0,a,d,f;if(Ext.isFunction(c)){a=c}else if(Ext.isString(c)){a=this.remotingMethods[c];if(!a){d=c.split('.');f=d.length;while(b&&e<f){b=b[d[e]];++e}a=Ext.isFunction(b)?b:null}}return a||null},resolveApi:function(b,e){var a,c,f,d,g;a=b&&b.prefix;if(a&&a.substr(a.length-1)!=='.'){a+='.'}for(c in b){f=b[c];if(c!=='prefix'&&typeof f!=='function'){d=(a||'')+f;g=this.parseMethod(d);if(typeof g==='function'){b[c]=g}else {Ext.raise("Cannot resolve Direct API method '"+d+"' for "+c+" action in "+e.$className+" instance with id: "+(e.id!=null?e.id:'unknown'))}}}return b},privates:{addProviderClass:function(a,b){this.providerClasses[a]=b},onApiLoadSuccess:function(options){var me=this,url=options.url,varName=options.varName,api,provider,error;try{api=Ext.apply(options.config,eval(varName));provider=me.addProvider(api)}catch(a){error=a+''}if(error){me.fireEventArgs('providerloaderror',[url,error]);Ext.callback(options.callback,options.scope,[url,error])}else {me.fireEventArgs('providerload',[url,provider]);Ext.callback(options.callback,options.scope,[url,provider])}},onApiLoadFailure:function(a){var c=a.url,b;b=Ext.String.format(this.apiNotFoundError,c);this.fireEventArgs('providerloaderror',[c,b]);Ext.callback(a.callback,a.scope,[c,b])},registerMethod:function(b,a){this.remotingMethods[b]=a},clearAllMethods:function(){this.remotingMethods={}}}},function(){Ext.Direct=Ext.direct.Manager});Ext.define('Ext.direct.Provider',{alias:'direct.provider',mixins:[Ext.mixin.Observable],isProvider:!0,$configPrefixed:!1,$configStrict:!1,config:{headers:undefined},subscribers:0,constructor:function(b){var a=this;a.mixins.observable.constructor.call(a,b);a.requests={};Ext.applyIf(a,{id:Ext.id(null,'provider-')})},destroy:function(){var a=this;a.disconnect(!0);a.callParent()},isConnected:function(){return this.subscribers>0},connect:function(){var a=this;if(a.subscribers===0){a.doConnect();a.fireEventArgs('connect',[a])}a.subscribers++},doConnect:Ext.emptyFn,disconnect:function(b){var a=this;if(a.subscribers>0||b){if(b){a.subscribers=0}else {a.subscribers--}if(a.subscribers===0){a.doDisconnect();a.fireEventArgs('disconnect',[a])}}},doDisconnect:function(){var a=this.requests,b,c;for(c in a){b=a[c];b.abort()}this.requests={}},sendAjaxRequest:function(b){var a=Ext.Ajax.request(b);if(a&&a.id){this.requests[a.id]=a}return a},onData:function(b,c,a){if(a&&a.request){delete this.requests[a.request.id]}},inheritableStatics:{checkConfig:Ext.returnFalse},onClassExtended:function(b,a,c){if(a.type){Ext.direct.Manager.addProviderClass(a.type,b)}}});Ext.define('Ext.app.domain.Direct',{extend:Ext.app.EventDomain,singleton:!0,type:'direct',idProperty:'id',constructor:function(){var a=this;a.callParent();a.monitor(Ext.direct.Provider)}});Ext.define('Ext.data.PageMap',{extend:Ext.util.LruCache,config:{store:null,pageSize:0,rootProperty:''},clear:function(b){var a=this;a.pageMapGeneration=(a.pageMapGeneration||0)+1;a.indexMap={};a.callParent([b])},updatePageSize:function(b,a){if(a!=null){throw "pageMap page size may not be changed"}},forEach:function(k,f){var d=this,b=Ext.Object.getKeys(d.map),h=b.length,j=d.getPageSize(),a,c,e,g,i;for(a=0;a<h;a++){b[a]=+b[a]}Ext.Array.sort(b,Ext.Array.numericSortFn);f=f||d;for(a=0;a<h;a++){e=b[a];g=d.getPage(e);i=g.length;for(c=0;c<i;c++){if(k.call(f,g[c],(e-1)*j+c)===!1){return}}}},findBy:function(d,a){var c=this,b=null;a=a||c;c.forEach(function(c,e){if(d.call(a,c,e)){b=c;return !1}});return b},findIndexBy:function(d,a){var c=this,b=-1;a=a||c;c.forEach(function(e,c){if(d.call(a,e)){b=c;return !1}});return b},find:function(f,a,h,d,e,c){if(Ext.isEmpty(a,!1)){return null}var g=Ext.String.createRegex(a,d,e,c),b=this.getRootProperty();return this.findBy(function(i){return i&&g.test((b?i[b]:i)[f])},null,h)},findIndex:function(f,a,h,d,e,c){if(Ext.isEmpty(a,!1)){return null}var g=Ext.String.createRegex(a,d,e,c),b=this.getRootProperty();return this.findIndexBy(function(i){return i&&g.test((b?i[b]:i)[f])},null,h)},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},addAll:function(a){if(this.getCount()){Ext.raise('Cannot addAll to a non-empty PageMap')}this.addPage(1,a)},addPage:function(a,g){var c=this,d=c.getPageSize(),k=a+Math.floor((g.length-1)/d),i=(a-1)*d,j=c.indexMap,b,f,h,e;for(e=0;a<=k;a++,e+=d){b=Ext.Array.slice(g,e,e+d);for(f=0,h=b.length;f<h;f++){j[b[f].internalId]=i++}c.add(a,b);c.fireEvent('pageadd',c,a,b)}},getCount:function(){var a=this.callParent();if(a){a=(a-1)*this.getPageSize()+this.last.value.length}return a},getByInternalId:function(b){var a=this.indexMap[b];if(a!=null){return this.getAt(a)}},indexOf:function(b){var a=-1;if(b){a=this.indexMap[b.internalId];if(a==null){a=-1}}return a},insert:function(){Ext.raise('insert operation not suppported into buffered Store')},remove:function(){Ext.raise('remove operation not suppported from buffered Store')},removeAt:function(){Ext.raise('removeAt operation not suppported from buffered Store')},removeAtKey:function(d){var a=this,b=a.getPage(d),f,c,e;if(b){if(a.fireEvent('beforepageremove',a,d,b)!==!1){f=b.length;for(c=0;c<f;c++){delete a.indexMap[b[c].internalId]}e=a.callParent(arguments);a.fireEvent('pageremove',a,d,b);b.length=0}}return e},getPage:function(a){return this.get(a)},hasRange:function(e,d){var a=this,c=a.getPageFromRecordIndex(e),b=a.getPageFromRecordIndex(d);for(;c<=b;c++){if(!a.hasPage(c)){return !1}}return (b-1)*a._pageSize+a.getPage(b).length>d},hasPage:function(a){return !!this.get(a)},peekPage:function(a){return this.map[a]},getAt:function(a){return this.getRange(a,a+1)[0]},getRange:function(l,c){if(c){c--}if(!this.hasRange(l,c)){Ext.raise('PageMap asked for range which it does not have')}var d=this,k=Ext.Array,f=d.getPageSize(),g=d.getPageFromRecordIndex(l),h=d.getPageFromRecordIndex(c),m=(g-1)*f,n=(h*f)-1,a=g,j=[],e,i,b;for(;a<=h;a++){if(a===g){e=l-m;b=e>0}else {e=0;b=!1}if(a===h){i=f-(n-c);b=b||i<f}if(b){k.push(j,k.slice(d.getPage(a),e,i))}else {k.push(j,d.getPage(a))}}return j}});Ext.define('Ext.data.BufferedStore',{extend:Ext.data.ProxyStore,alias:'store.buffered',isBufferedStore:!0,buffered:!0,config:{data:0,pageSize:25,remoteSort:!0,remoteFilter:!0,sortOnLoad:!1,purgePageCount:5,trailingBufferZone:25,leadingBufferZone:200,defaultViewSize:100,viewSize:0,trackRemoved:!1},applyData:function(a){var b=this.data||(this.data=this.createDataCollection());if(a&&a!==!0){Ext.raise('Cannot load a buffered store with local data - the store is a map of remote data')}return b},applyProxy:function(a){a=this.callParent([a]);if(a&&a.setEnablePaging){a.setEnablePaging(!0)}return a},applyAutoSort:function(){},createFiltersCollection:function(){return new Ext.util.FilterCollection()},createSortersCollection:function(){return new Ext.util.SorterCollection()},updateRemoteFilter:function(a,b){if(a===!1){Ext.raise('Buffered stores are always remotely filtered.')}this.callParent([a,b])},updateRemoteSort:function(a,b){if(a===!1){Ext.raise('Buffered stores are always remotely sorted.')}this.callParent([a,b])},updateTrackRemoved:function(a){if(a!==!1){Ext.raise('Cannot use trackRemoved with a buffered store.')}this.callParent(arguments)},updateGroupField:function(a){this.group(a)},getGrouper:function(){return this.grouper},isGrouped:function(){return !!this.grouper},createDataCollection:function(){var a=this,b=new Ext.data.PageMap({store:a,rootProperty:'data',pageSize:a.getPageSize(),maxSize:a.getPurgePageCount(),listeners:{clear:a.onPageMapClear,scope:a}});a.relayEvents(b,['beforepageremove','pageadd','pageremove']);a.pageRequests={};return b},add:function(){Ext.raise('add method may not be called on a buffered store - the store is a map of remote data')},insert:function(){Ext.raise('insert method may not be called on a buffered store - the store is a map of remote data')},removeAll:function(b){var a=this,c=a.getData();if(c){if(b){a.suspendEvent('clear')}c.clear();if(b){a.resumeEvent('clear')}}},flushLoad:function(){var b=this,a=b.pendingLoadOptions;b.clearLoadTask();if(!a){return}if(!a.preserveOnFlush){b.getData().clear();a.page=1;a.start=0;a.limit=b.getViewSize()||b.getDefaultViewSize()}a.loadCallback=a.callback;a.callback=null;return b.loadToPrefetch(a)},reload:function(d){var a=this,f=a.getData(),i=Number.MAX_VALUE,c,b,j,k,g,e,h,l;if(!d){d={}}if(a.loading||a.fireEvent('beforeload',a,d)===!1){return}e=function(){var g=a.totalCount,h=b-c;if(b>=g){b=g-1;c=Math.max(b-h,0)}if(a.rangeCached(c,b,!1)){a.loadCount=(a.loadCount||0)+1;a.loading=!1;f.un('pageadd',e);l=f.getRange(c,b);a.fireEvent('refresh',a);a.fireEvent('load',a,l,!0)}};h=Math.ceil((a.getLeadingBufferZone()+a.getTrailingBufferZone())/2);if(a.lastRequestStart&&a.preserveScrollOnReload){c=a.lastRequestStart;b=a.lastRequestEnd;i=a.getTotalCount()}else {c=d.start||0;b=c+(d.count||a.getPageSize())-1}f.clear(!0);delete a.totalCount;c=Math.max(c-h,0);b=Math.min(b+h,i);c=c===0?0:c-1;b=b===i?b:b+1;j=a.getPageFromRecordIndex(c);k=a.getPageFromRecordIndex(b);a.loading=!0;d.waitForReload=e;f.on('pageadd',e);for(g=j;g<=k;g++){a.prefetchPage(g,d)}},filter:function(){if(!this.getRemoteFilter()){Ext.raise('Local filtering may not be used on a buffered store - the store is a map of remote data')}this.callParent(arguments)},filterBy:function(b,a){Ext.raise('Local filtering may not be used on a buffered store - the store is a map of remote data')},loadData:function(b,a){Ext.raise('LoadData may not be used on a buffered store - the store is a map of remote data')},loadPage:function(c,a){var b=this;a=a||{};a.page=b.currentPage=c;a.start=(c-1)*b.getPageSize();a.limit=b.getViewSize()||b.getDefaultViewSize();a.loadCallback=a.callback;a.callback=null;a.preserveOnFlush=!0;return b.load(a)},clearData:function(c){var b=this,a=b.getData();if(a){a.clear()}},getCount:function(){return this.totalCount||0},getRange:function(c,b,d){var a=this,k=a.totalCount-1,m=a.lastRequestStart,l=[],h=a.getData(),e,f,g,i,j;d=Ext.apply({prefetchStart:c,prefetchEnd:b},d);b=(b>=a.totalCount)?k:b;if(d.forRender!==!1){f=c===0?0:c-1;g=b===k?b:b+1}else {f=c;g=b}a.lastRequestStart=c;a.lastRequestEnd=b;if(a.rangeCached(c,b,d.forRender)){a.onRangeAvailable(d);l=h.getRange(c,b+1)}else {a.fireEvent('cachemiss',a,c,b);i=a.getPageFromRecordIndex(f);j=a.getPageFromRecordIndex(g);e=function(g,f,k){if(f>=i&&f<=j&&a.rangeCached(c,b)){a.fireEvent('cachefilled',a,c,b);h.un('pageadd',e);a.onRangeAvailable(d)}};h.on('pageadd',e);a.prefetchRange(c,b)}a.primeCache(c,b,c<m?-1:1);return l},getById:function(b){var a=this.data.findBy(function(a){return a.getId()===b});return a},getAt:function(a){var b=this.getData();if(b.hasRange(a,a)){return b.getAt(a)}},getByInternalId:function(a){return this.data.getByInternalId(a)},contains:function(a){return this.indexOf(a)>-1},indexOf:function(a){return this.getData().indexOf(a)},indexOfId:function(a){return this.indexOf(this.getById(a))},group:function(b,d){var a=this,c;if(b&&typeof b==='string'){c=a.grouper;if(c&&d!==undefined){c.setDirection(d)}else {a.grouper=new Ext.util.Grouper({property:b,direction:d||'ASC',root:'data'})}}else {a.grouper=b?a.getSorters().decodeSorter(b,Ext.util.Grouper):null}a.getData().clear();a.loadPage(1,{callback:function(){a.fireEvent('groupchange',a,a.getGrouper())}})},getPageFromRecordIndex:function(a){return Math.floor(a/this.getPageSize())+1},calculatePageCacheSize:function(c){var a=this,b=a.getPurgePageCount();return b?Math.max(a.getData().getMaxSize()||0,Math.ceil((c+a.getTrailingBufferZone()+a.getLeadingBufferZone())/a.getPageSize())*2+b):0},loadToPrefetch:function(b){var a=this,f=b,h,d,i,e=b.start,k=b.start+b.limit-1,m=(a.getViewSize()||b.limit),c=Math.min(k,b.start+m-1),p=a.getPageFromRecordIndex(Math.max(e-a.getTrailingBufferZone(),0)),q=a.getPageFromRecordIndex(k+a.getLeadingBufferZone()),g=a.getData(),j=function(){d=d||[];if(b.loadCallback){b.loadCallback.call(b.scope||a,d,o,!0)}if(b.callback){b.callback.call(b.scope||a,d,e||0,k||0,b)}},n=function(){a.loadCount=(a.loadCount||0)+1;a.fireEvent('datachanged',a);a.fireEvent('refresh',a);a.fireEvent('load',a,d,!0)},l=function(){if(a.rangeCached(e,c)){a.loading=!1;d=g.getRange(e,c+1);g.un('pageadd',l);if(a.hasListeners.guaranteedrange){a.guaranteeRange(e,c,b.callback,b.scope)}j();n()}},o;if(isNaN(a.pageSize)||!a.pageSize){Ext.raise('Buffered store configured without a pageSize',a)}g.setMaxSize(a.calculatePageCacheSize(m));if(a.fireEvent('beforeload',a,b)!==!1){delete a.totalCount;a.loading=!0;if(b.callback){f=Ext.apply({},b);delete f.callback}a.on('prefetch',function(m,e,d,k){o=k;if(d){if((i=a.getTotalCount())){g.on('pageadd',l);c=Math.min(c,i-1);q=a.getPageFromRecordIndex(Math.min(c+a.getLeadingBufferZone(),i-1));for(h=p+1;h<=q;++h){a.prefetchPage(h,f)}}else {j();n()}}else {a.loading=!1;j();a.fireEvent('load',a,e,!1)}},null,{single:!0});a.prefetchPage(p,f)}},prefetch:function(b){var a=this,c=a.getPageSize(),d=a.getData(),e,f;if(c){if(a.lastPageSize&&c!=a.lastPageSize){Ext.raise("pageSize cannot be dynamically altered")}if(!d.getPageSize()){d.setPageSize(c)}}else {a.pageSize=d.setPageSize(c=b.limit)}a.lastPageSize=c;if(!b.page){b.page=a.getPageFromRecordIndex(b.start);b.start=(b.page-1)*c;b.limit=Math.ceil(b.limit/c)*c}f=a.pageRequests[b.page];if(!f||f.getOperation().pageMapGeneration!==d.pageMapGeneration){b=Ext.apply({action:'read',filters:a.getFilters().items,sorters:a.getSorters().items,grouper:a.getGrouper(),internalCallback:a.onProxyPrefetch,internalScope:a},b);e=a.createOperation('read',b);e.pageMapGeneration=d.pageMapGeneration;if(a.fireEvent('beforeprefetch',a,e)!==!1){a.pageRequests[b.page]=e.execute();if(a.getProxy().isSynchronous){delete a.pageRequests[b.page]}}}return a},onPageMapClear:function(){var a=this,e=a.wasLoading,d=a.pageRequests,b=a.getData(),c;b.clearListeners();b.on('clear',a.onPageMapClear,a);a.relayEvents(b,['beforepageremove','pageadd','pageremove']);a.loading=!0;a.totalCount=0;for(c in d){if(d.hasOwnProperty(c)){d[c].getOperation().abort()}}a.fireEvent('clear',a);a.loading=e},prefetchPage:function(d,e){var a=this,b=a.getPageSize(),f=(d-1)*b,c=a.totalCount;if(c!==undefined&&a.data.getCount()===c){return}a.prefetch(Ext.applyIf({page:d,start:f,limit:b},e))},onProxyPrefetch:function(b){if(this.destroying||this.destroyed){return}var a=this,g=b.getResultSet(),e=b.getRecords(),d=b.wasSuccessful(),i=b.getPage(),c=b.waitForReload,k=a.totalCount,h=a.pageRequests,j,f;if(b.pageMapGeneration===a.getData().pageMapGeneration){if(g){a.totalCount=g.getTotal();if(a.totalCount!==k){a.fireEvent('totalcountchange',a.totalCount)}}if(i!==undefined){delete a.pageRequests[i]}a.loading=!1;a.fireEvent('prefetch',a,e,d,b);if(d){if(a.totalCount===0){if(c){for(j in h){f=h[j].getOperation();if(f.waitForReload===c){delete f.waitForReload}}a.getData().un('pageadd',c);a.fireEvent('refresh',a);a.fireEvent('load',a,[],!0)}}else {a.cachePage(e,b.getPage())}}Ext.callback(b.getCallback(),b.getScope()||a,[e,b,d])}},cachePage:function(b,d){var a=this,e=b.length,c;if(!Ext.isDefined(a.totalCount)){a.totalCount=b.length;a.fireEvent('totalcountchange',a.totalCount)}for(c=0;c<e;c++){b[c].join(a)}a.getData().addPage(d,b)},rangeCached:function(b,a,e){var c=b,d=a;if(e!==!1){c=b===0?0:b-1,d=a===this.totalCount-1?a:a+1}return this.getData().hasRange(c,d)},pageCached:function(a){return this.getData().hasPage(a)},pagePending:function(a){return !!this.pageRequests[a]},rangeSatisfied:function(a,b){return this.rangeCached(a,b)},onRangeAvailable:function(a){var d=this,f=d.getTotalCount(),c=a.prefetchStart,b=(a.prefetchEnd>f-1)?f-1:a.prefetchEnd,e;b=Math.max(0,b);if(c>b){Ext.log({level:'warn',msg:'Start ('+c+') was greater than end ('+b+') for the range of records requested ('+c+'-'+a.prefetchEnd+')'+(this.storeId?' from store "'+this.storeId+'"':'')})}e=d.getData().getRange(c,b+1);if(a.fireEvent!==!1){d.fireEvent('guaranteedrange',e,c,b,a)}if(a.callback){a.callback.call(a.scope||d,e,c,b,a)}},guaranteeRange:function(d,e,b,c,a){a=Ext.apply({callback:b,scope:c},a);this.getRange(d,e+1,a)},prefetchRange:function(c,d){var a=this,e,f,b,g=a.getData();if(!a.rangeCached(c,d)){e=a.getPageFromRecordIndex(c);f=a.getPageFromRecordIndex(d);g.setMaxSize(a.calculatePageCacheSize(d-c+1));for(b=e;b<=f;b++){if(!a.pageCached(b)){a.prefetchPage(b)}}}},primeCache:function(a,b,g){var c=this,f=c.getLeadingBufferZone(),e=c.getTrailingBufferZone(),h=c.getPageSize(),d=c.totalCount;if(g===-1){a=Math.max(a-f,0);b=Math.min(b+e,d-1)}else if(g===1){a=Math.max(Math.min(a-e,d-h),0);b=Math.min(b+f,d-1)}else {a=Math.min(Math.max(Math.floor(a-((f+e)/2)),0),d-c.pageSize);b=Math.min(Math.max(Math.ceil(b+((f+e)/2)),0),d-1)}c.prefetchRange(a,b)},sort:function(b,a,c){if(arguments.length===0){this.clearAndLoad()}else {this.getSorters().addSort(b,a,c)}},onSorterEndUpdate:function(){var a=this,b=a.getSorters().getRange();if(b.length){a.fireEvent('beforesort',a,b);a.clearAndLoad({callback:function(){a.fireEvent('sort',a,b)}})}else {a.fireEvent('sort',a,b)}},clearAndLoad:function(b){var a=this;a.clearing=!0;a.getData().clear();a.clearing=!1;a.loadPage(1,b)},privates:{isLast:function(a){return this.indexOf(a)===this.getTotalCount()-1},isMoving:function(){return !1}}});Ext.define('Ext.data.proxy.Direct',{extend:Ext.data.proxy.Server,alternateClassName:'Ext.data.DirectProxy',alias:'proxy.direct',config:{paramOrder:undefined,paramsAsHash:!0,directFn:undefined,api:undefined,metadata:undefined},paramOrderRe:/[\s,|]/,constructor:function(a){this.callParent([a]);this.canceledOperations={}},applyParamOrder:function(a){if(Ext.isString(a)){a=a.split(this.paramOrderRe)}return a},updateApi:function(){this.methodsResolved=!1},updateDirectFn:function(){this.methodsResolved=!1},resolveMethods:function(){var a=this,c=a.getDirectFn(),b=a.getApi(),d;if(c){a.setDirectFn(d=Ext.direct.Manager.parseMethod(c));if(!Ext.isFunction(d)){Ext.raise('Cannot resolve directFn '+c)}}if(b){b=Ext.direct.Manager.resolveApi(b,a);a.setApi(b)}a.methodsResolved=!0},doRequest:function(f){var a=this,e,b,d,g,h,i,c,j;if(!a.methodsResolved){a.resolveMethods()}b=a.buildRequest(f);d=b.getAction();i=a.getApi();if(i){c=i[d]}c=c||a.getDirectFn();if(!c||!c.directCfg){Ext.raise({msg:'No Ext Direct function specified for Direct proxy "'+d+'" operation',proxy:a})}if(!a.paramOrder&&c.directCfg.method.len>1){Ext.raise({msg:'Incorrect parameters for Direct proxy "'+d+'" operation',proxy:a})}e=a.getWriter();if(e&&f.allowWrite()){b=e.write(b)}if(d==='read'){g=b.getParams()}else {g=b.getJsonData()}h=c.directCfg.method.getArgs({params:g,allowSingle:e.getAllowSingle(),paramOrder:a.getParamOrder(),paramsAsHash:a.getParamsAsHash(),paramsAsArray:!0,metadata:a.getMetadata(),callback:a.createRequestCallback(b,f),scope:a});b.setConfig({args:h,directFn:c});c.apply(window,h);return b},abort:function(a){var b;if(a&&a.isDataRequest){a=a.getOperation()}if(a&&a.isOperation){b=a.id}if(b!=null){this.canceledOperations[b]=!0}},applyEncoding:Ext.identityFn,createRequestCallback:function(c,a){var b=this;return function(e,d){if(!b.canceledOperations[a.id]){b.processResponse(d.status,a,c,d)}delete b.canceledOperations[a.id]}},extractResponseData:function(a){return Ext.isDefined(a.result)?a.result:a.data},setException:function(a,b){a.setException(b.message)},buildUrl:function(){return ''}});Ext.define('Ext.data.DirectStore',{extend:Ext.data.Store,alias:'store.direct',constructor:function(a){a=Ext.apply({},a);if(!a.proxy){var b={type:'direct',reader:{type:'json'}};Ext.copyTo(b,a,'paramOrder,paramsAsHash,directFn,api,simpleSortMode,extraParams');Ext.copyTo(b.reader,a,'totalProperty,root,rootProperty,idProperty');a.proxy=b}this.callParent([a])}});Ext.define('Ext.data.JsonP',{singleton:!0,requestCount:0,requests:{},timeout:30000,disableCaching:!0,disableCachingParam:'_dc',callbackKey:'callback',request:function(a){a=Ext.apply({},a);if(!a.url){Ext.raise('A url must be specified for a JSONP request.')}var b=this,l=Ext.isDefined(a.disableCaching)?a.disableCaching:b.disableCaching,h=a.disableCachingParam||b.disableCachingParam,f=++b.requestCount,e=a.callbackName||'callback'+f,g=a.callbackKey||b.callbackKey,i=Ext.isDefined(a.timeout)?a.timeout:b.timeout,d=Ext.apply({},a.params),k=a.url,m=Ext.name,c,j;if(l&&!d[h]){d[h]=Ext.Date.now()}a.params=d;d[g]=m+'.data.JsonP.'+e;j=b.createScript(k,d,a);b.requests[f]=c={url:k,params:d,script:j,id:f,scope:a.scope,success:a.success,failure:a.failure,callback:a.callback,callbackKey:g,callbackName:e};if(i>0){c.timeout=Ext.defer(b.handleTimeout,i,b,[c])}b.setupErrorHandling(c);b[e]=b.bindResponse(c);b.loadScript(c);return c},bindResponse:function(a){var b=this;return function(c){Ext.elevate(function(){b.handleResponse(c,a)})}},abort:function(a){var d=this,b=d.requests,c;if(a){if(!a.id){a=b[a]}d.handleAbort(a)}else {for(c in b){if(b.hasOwnProperty(c)){d.abort(b[c])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType='abort';this.handleResponse(null,a)},handleError:function(a){a.errorType='error';this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType='timeout';this.handleResponse(null,a)},handleResponse:function(c,a){var b=!0;Ext.undefer(a.timeout);delete this[a.callbackName];delete this.requests[a.id];this.cleanupErrorHandling(a);Ext.fly(a.script).destroy();if(a.errorType){b=!1;Ext.callback(a.failure,a.scope,[a.errorType])}else {Ext.callback(a.success,a.scope,[c])}Ext.callback(a.callback,a.scope,[b,c,a.errorType])},createScript:function(c,b,d){var a=document.createElement('script');a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(b)));a.setAttribute("async",!0);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define('Ext.data.proxy.JsonP',{extend:Ext.data.proxy.Server,alternateClassName:'Ext.data.ScriptTagProxy',alias:['proxy.jsonp','proxy.scripttag'],config:{callbackKey:'callback',recordParam:'records',autoAppendParams:!0},doRequest:function(c){var b=this,a=b.buildRequest(c),d=a.getParams();a.setConfig({callbackKey:b.callbackKey,timeout:b.timeout,scope:b,disableCaching:!1,callback:b.createRequestCallback(a,c)});if(b.getAutoAppendParams()){a.setParams({})}a.setRawRequest(Ext.data.JsonP.request(a.getCurrentConfig()));a.setParams(d);b.lastRequest=a;return a},createRequestCallback:function(b,c){var a=this;return function(e,d,f){if(b===a.lastRequest){a.lastRequest=null}a.processResponse(e,c,b,d)}},setException:function(a,b){a.setException(a.getRequest().getRawRequest().errorType)},buildUrl:function(c){var d=this,i=d.callParent(arguments),g=c.getRecords(),e=d.getWriter(),a,b,h,f,j;if(e&&c.getOperation().allowWrite()){c=e.write(c)}a=c.getParams();b=a.filters;delete a.filters;if(b&&b.length){for(f=0;f<b.length;f++){h=b[f];j=h.getValue();if(j){a[h.getProperty()]=j}}}if(Ext.isArray(g)&&g.length>0&&(!e||!e.getEncode())){a[d.getRecordParam()]=d.encodeRecords(g)}if(d.getAutoAppendParams()){i=Ext.urlAppend(i,Ext.Object.toQueryString(a))}return i},abort:function(a){a=a||this.lastRequest;if(a){Ext.data.JsonP.abort(a.getRawRequest())}},encodeRecords:function(c){var b=[],a=0,d=c.length;for(;a<d;a++){b.push(Ext.encode(c[a].getData()))}return b}});Ext.define('Ext.data.JsonPStore',{extend:Ext.data.Store,alias:'store.jsonp',constructor:function(a){a=Ext.apply({proxy:{type:'jsonp',reader:'json'}},a);this.callParent([a])}});Ext.define('Ext.data.JsonStore',{extend:Ext.data.Store,alias:'store.json',constructor:function(a){a=Ext.apply({proxy:{type:'ajax',reader:'json',writer:'json'}},a);this.callParent([a])}});Ext.define('Ext.data.ModelManager',{alternateClassName:'Ext.ModelMgr',singleton:!0,deprecated:{5:{methods:{clear:null,create:function(b,c,d){var a=c;if(!a.isEntity){a=this.getModel(c||b.name)}return a.createWithId(d,b)},each:function(b,a){Ext.data.Model.schema.eachEntity(b,a)},get:function(a){return this.getModel(a)},getCount:function(){return Ext.data.Model.schema.entityCount},getModel:function(a){return Ext.data.schema.Schema.lookupEntity(a)},isRegistered:function(a){return !!this.getModel(a)}}}}});Ext.define('Ext.data.NodeInterface',{statics:{decorate:function(f){var a=Ext.data.schema.Schema.lookupEntity(f),e=a.prototype,c,b,d;if(!a.prototype.isObservable){a.mixin(Ext.mixin.Observable.prototype.mixinId,Ext.mixin.Observable)}if(e.isNode){return}c=e.idProperty;b=a.getField(c);d=b.type;a.override(this.getPrototypeBody());a.addFields([{name:'parentId',type:d,defaultValue:null,allowNull:b.allowNull},{name:'index',type:'int',defaultValue:-1,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:'glyph',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},{name:'visible',type:'boolean',defaultValue:!0,persist:!1},{name:'text',type:'string',persist:!1}])},getPrototypeBody:function(){var a={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},b={silent:!0};return {isNode:!0,firstChild:null,lastChild:null,parentNode:null,previousSibling:null,nextSibling:null,constructor:function(){var a=this;a.mixins.observable.constructor.call(a);a.callParent(arguments);a.childNodes=[];return a},createNode:function(a){var b=this,j=b.childType,h,f,g,c,d,e,i=b.self;if(!a.isModel){if(j){i=b.schema.getEntity(j)}else {h=b.getTreeStore();f=h&&h.getProxy().getReader();g=b.getProxy();c=g?g.getReader():null;d=!f||(c&&c.initialConfig.typeProperty)?c:f;if(d){e=d.getTypeProperty();if(e){i=d.getChildType(b.schema,a,e)}}}a=new i(a)}if(!a.childNodes){a.firstChild=a.lastChild=a.parentNode=a.previousSibling=a.nextSibling=null;a.childNodes=[]}return a},isLeaf:function(){return this.get('leaf')===!0},setFirstChild:function(a){this.firstChild=a},setLastChild:function(a){this.lastChild=a},updateInfo:function(b,c){var a=this,i=a.phantom,f;b={silent:!0,commit:b};if(c.depth!=null&&c.depth!==a.data.depth){var h={depth:c.depth+1},e=a.childNodes,g=e.length,d;for(d=0;d<g;d++){e[d].updateInfo(b,h)}}f=a.set(c,b);a.phantom=i;return f},isLast:function(){return this.get('isLast')},isFirst:function(){return this.get('isFirst')},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){var a=this;if(a.get('expandable')){return !(a.isLeaf()||(a.isLoaded()&&!a.phantom&&!a.hasChildNodes()))}return !1},triggerUIUpdate:function(){this.callJoined('afterEdit',[])},appendChild:function(b,h,m){var a=this,j,n,c,e,f,l={isLast:!0,parentId:a.getId(),depth:(a.data.depth||0)+1},i,d=a.getTreeStore(),o=d&&d.triStateCheckbox?1:!1,g=d&&d.bulkUpdate,q,p,k;Ext.suspendLayouts();if(Ext.isArray(b)){n=b.length;i=new Array(n);a.callTreeStore('beginFill');for(j=0;j<n;j++){i[j]=a.appendChild(b[j],h,m)}a.callTreeStore('endFill',[i])}else {b=a.createNode(b);if(h!==!0&&a.fireBubbledEvent('beforeappend',[a,b])===!1){Ext.resumeLayouts(!0);return !1}c=a.childNodes.length;e=b.parentNode;if(e){if(h!==!0&&b.fireBubbledEvent('beforemove',[b,e,a,c])===!1){Ext.resumeLayouts(!0);return !1}if(e.removeChild(b,!1,h,e.getTreeStore()===d)===!1){Ext.resumeLayouts(!0);return !1}}d&&d.beginUpdate();c=a.childNodes.length;if(c===0){a.setFirstChild(b)}a.childNodes[c]=b;b.parentNode=a;b.nextSibling=null;a.setLastChild(b);f=a.childNodes[c-1];if(f){b.previousSibling=f;f.nextSibling=b;f.updateInfo(m,{isLast:!1});if(!g){f.triggerUIUpdate()}}else {b.previousSibling=null}l.isFirst=c===0;l.index=c;k=b.updateInfo(m,l);if(a.isLeaf()){a.set('leaf',!1)}if(!a.isLoaded()){if(g){a.data.loaded=!0}else {a.set('loaded',!0)}}else if(a.childNodes.length===1&&!g){a.triggerUIUpdate()}if(c&&a.childNodes[c-1].isExpanded()&&!g){a.childNodes[c-1].cascade(a.triggerUIUpdate)}if(d){d.registerNode(a,!g);if(g){d.registerNode(b)}}if(h!==!0){a.fireBubbledEvent('append',[a,b,c]);if(e){b.fireBubbledEvent('move',[b,e,a,c])}}a.callTreeStore('onNodeAppend',[b,c]);if(k){b.callJoined('afterEdit',[k])}i=b;if(d){d.endUpdate()}}Ext.resumeLayouts(!0);return i},getOwnerTree:function(){var a=this.getTreeStore();return a&&a.ownerTree},getTreeStore:function(){var a=this;while(a&&!a.treeStore){a=a.parentNode}return a&&a.treeStore},removeChild:function(a,n,i,f){var c=this,h=c.indexOf(a),g,m,d,e=c.getTreeStore(),l=e&&e.bulkUpdate,j,k=[];if(h===-1||(i!==!0&&c.fireBubbledEvent('beforeremove',[c,a,!!f])===!1)){return !1}Ext.suspendLayouts();e&&e.beginUpdate();Ext.Array.erase(c.childNodes,h,1);if(c.firstChild===a){c.setFirstChild(a.nextSibling)}if(c.lastChild===a){c.setLastChild(a.previousSibling)}d=a.previousSibling;if(d){a.previousSibling.nextSibling=a.nextSibling}if(a.nextSibling){a.nextSibling.previousSibling=a.previousSibling;if(h===0){a.nextSibling.updateInfo(!1,{isFirst:!0})}for(g=h,m=c.childNodes.length;g<m;g++){c.childNodes[g].updateInfo(!1,{index:g})}}else if(d){d.updateInfo(!1,{isLast:!0});if(!l){if(d.isExpanded()){d.cascade(c.triggerUIUpdate)}else {d.triggerUIUpdate()}}}if(!c.childNodes.length&&!l){c.triggerUIUpdate()}Ext.resumeLayouts(!0);if(i!==!0){j={parentNode:a.parentNode,previousSibling:a.previousSibling,nextSibling:a.nextSibling};c.callTreeStore('beforeNodeRemove',[[a],!!f,k]);a.previousSibling=a.nextSibling=a.parentNode=null;c.fireBubbledEvent('remove',[c,a,!!f,j]);c.callTreeStore('onNodeRemove',[[a],!!f,k])}if(n){a.erase(!0)}else {a.clear()}if(!f){a.set({parentId:null,lastParentId:c.getId()},b)}if(e){e.endUpdate()}return a},copy:function(g,a,f){var b=this,d,e=[g],h=b.childNodes?b.childNodes.length:0,c;if(a&&a.isSession){e.push(a)}else if(arguments.length<3){f=a}d=b.callParent(e);if(f){for(c=0;c<h;c++){d.appendChild(b.childNodes[c].copy(undefined,!0))}}return d},clear:function(c,b){var a=this,d;a.parentNode=a.previousSibling=a.nextSibling=null;if(c){a.firstChild=a.lastChild=a.childNodes=null}if(b){a.firstChild=a.lastChild=null;a.childNodes.length=0;if(a.data){a.data.children=null}}},drop:function(){var a=this,d=a.childNodes,f=a.parentNode,g,c,e,b=a.getTreeStore();a.callParent();if(f){f.removeChild(a)}else if(a.get('root')){b.setRoot(null)}b&&b.beginUpdate();for(c=0,g=d?d.length:0;c<g;c++){e=d[c];e.clear();e.drop()}b&&b.endUpdate()},erase:function(e){var a=this,c=a.childNodes,f=c&&c.length,b,d;a.remove();a.clear(!0);a.callParent([e]);for(b=0;b<f;b++){d=c[b];d.parentNode=null;d.erase(e)}},insertBefore:function(b,e,i){var a=this,n=a.indexOf(e),f=b.parentNode,d=n,o,h,g,c=a.getTreeStore(),l=c&&c.bulkUpdate,k,m,j;if(!e){return a.appendChild(b)}if(b===e){return !1}b=a.createNode(b);if(i!==!0&&a.fireBubbledEvent('beforeinsert',[a,b,e])===!1){return !1}if(f===a&&a.indexOf(b)<n){d--}if(f){if(i!==!0&&b.fireBubbledEvent('beforemove',[b,f,a,n,e])===!1){return !1}if(f.removeChild(b,!1,i,f.getTreeStore()===c)===!1){return !1}}c&&c.beginUpdate();if(d===0){a.setFirstChild(b)}Ext.Array.splice(a.childNodes,d,0,b);b.parentNode=a;b.nextSibling=e;e.previousSibling=b;h=a.childNodes[d-1];if(h){b.previousSibling=h;h.nextSibling=b}else {b.previousSibling=null}k=b.updateInfo(!1,{parentId:a.getId(),index:d,isFirst:d===0,isLast:!1,depth:(a.data.depth||0)+1});for(g=d+1,o=a.childNodes.length;g<o;g++){m=a.childNodes[g];j=m.updateInfo(!1,{index:g});if(j){m.callJoined('afterEdit',[j])}}if(!a.isLoaded()){if(l){a.data.loaded=!0}else {a.set('loaded',!0)}}else if(a.childNodes.length===1&&!l){a.triggerUIUpdate()}if(c){c.registerNode(a,!l)}if(i!==!0){a.fireBubbledEvent('insert',[a,b,e]);if(f){b.fireBubbledEvent('move',[b,f,a,d,e])}}a.callTreeStore('onNodeInsert',[b,d]);if(k){b.callJoined('afterEdit',[k])}if(c){c.endUpdate()}return b},insertChild:function(c,b){var a=this.childNodes[c];if(a){return this.insertBefore(b,a)}else {return this.appendChild(b)}},isLastVisible:function(){var b=this,c=b.data.isLast,a=b.nextSibling;if(!c&&b.getTreeStore().isFiltered()){while(a){if(a.data.visible){return !1}a=a.nextSibling}return !0}return c},remove:function(c,d){var a=this,b=a.parentNode;if(b){b.removeChild(a,c,d)}else if(c){a.erase(!0)}return a},removeAll:function(j,i,f){var a=this,d=a.childNodes,h=d.length,c,b,e,g=[];if(!h){return a}if(!f){b=a.getTreeStore();if(b){b.beginUpdate();b.suspendEvent('remove');a.callTreeStore('beforeNodeRemove',[d,!1,g])}}for(e=0;e<h;++e){c=d[e];c.previousSibling=c.nextSibling=c.parentNode=null;a.fireBubbledEvent('remove',[a,c,!1]);if(j){c.erase(!0)}else {c.removeAll(!1,i,!0)}}if(!f&&b){b.resumeEvent('remove');a.callTreeStore('onNodeRemove',[d,!1,g]);b.endUpdate()}a.firstChild=a.lastChild=null;d.length=0;if(!f){a.triggerUIUpdate()}return a},getChildAt:function(a){return this.childNodes[a]},replaceChild:function(c,a,b){var d=a?a.nextSibling:null;this.removeChild(a,!1,b);this.insertBefore(c,d,b);return a},indexOf:function(a){return Ext.Array.indexOf(this.childNodes,a)},indexOfId:function(d){var b=this.childNodes,c=b.length,a=0;for(;a<c;++a){if(b[a].getId()===d){return a}}return -1},getPath:function(c,a){c=c||this.idProperty;a=a||'/';var d=[this.get(c)],b=this.parentNode;while(b){d.unshift(b.get(c));b=b.parentNode}return a+d.join(a)},getDepth:function(){return this.get('depth')},bubble:function(d,b,c){var a=this;while(a){if(d.apply(b||a,c||[a])===!1){break}a=a.parentNode}},cascade:function(a,f,g,e){var b=this,d=a;if(arguments.length===1&&!Ext.isFunction(a)){e=a.after;f=a.scope;g=a.args;d=a.before}if(!d||d.apply(f||b,g||[b])!==!1){var h=b.childNodes,i=h.length,c;for(c=0;c<i;c++){h[c].cascade.call(h[c],d,f,g,e)}if(e){e.apply(f||b,g||[b])}}},cascadeBy:function(){return this.cascade.apply(this,arguments)},eachChild:function(f,d,e){var b=this.childNodes,c=b.length,a;for(a=0;a<c;a++){if(f.apply(d||this,e||[b[a]])===!1){break}}},findChild:function(a,b,c){return this.findChildBy(function(){return this.get(a)==b},null,c)},findChildBy:function(g,d,e){var f=this.childNodes,h=f.length,c=0,a,b;for(;c<h;c++){a=f[c];if(g.call(d||a,a)===!0){return a}else if(e){b=a.findChildBy(g,d,e);if(b!==null){return b}}}return null},contains:function(a){return a.isAncestor(this)},isAncestor:function(b){var a=this.parentNode;while(a){if(a===b){return !0}a=a.parentNode}return !1},sort:function(e,i,h){var c=this,a=c.childNodes,g=a.length,b,d,f={isFirst:!0};if(g>0){if(!e){e=c.getTreeStore().getSortFn()}Ext.Array.sort(a,e);c.setFirstChild(a[0]);c.setLastChild(a[g-1]);for(b=0;b<g;b++){d=a[b];d.previousSibling=a[b-1];d.nextSibling=a[b+1];f.isLast=(b===g-1);f.index=b;d.updateInfo(!1,f);f.isFirst=!1;if(i&&!d.isLeaf()){d.sort(e,!0,!0)}}if(h!==!0){c.fireBubbledEvent('sort',[c,a]);c.callTreeStore('onNodeSort',[a])}}},isExpanded:function(){return this.get('expanded')},isLoaded:function(){return this.get('loaded')},isBranchLoaded:function(){var a=!this.isLeaf()&&this.isLoaded();if(a){this.cascade(function(b){if(!b.isLeaf()){a=a||b.isBranchLoaded()}return a})}return a},isLoading:function(){return this.get('loading')},isRoot:function(){return !this.parentNode},isVisible:function(){var a=this.parentNode;while(a){if(!a.isExpanded()){return !1}a=a.parentNode}return !0},expand:function(e,c,d){var a=this,b,f;if(!a.isLeaf()){if(a.isLoading()){a.on('expand',function(){a.expand(e,c,d)},a,{single:!0})}else {if(!a.isExpanded()){if(a.fireBubbledEvent('beforeexpand',[a])!==!1){if(e){if(a.parentNode&&a.parentNode.isSynchronousRecursiveExpand){a.isSynchronousRecursiveExpand=!0}else {b=a.getTreeStore();if(b.getProxy().isSynchronous||a.isBranchLoaded()){a.isSynchronousRecursiveExpand=!0;b.suspendEvent('add','datachanged');f=!0}}}a.callTreeStore('onBeforeNodeExpand',[a.onChildNodesAvailable,a,[e,c,d]]);if(f){b.resumeEvent('add','datachanged');b.fireEvent('datachanged',b);b.fireEvent('refresh',b)}a.isSynchronousRecursiveExpand=!1}}else if(e){a.expandChildren(!0,c,d)}else {Ext.callback(c,d||a,[a.childNodes])}}}else {Ext.callback(c,d||a)}},onChildNodesAvailable:function(h,j,g,i){var b=this,e=b.getTreeStore(),f=e&&e.bulkUpdate,a,d,c;Ext.suspendLayouts();for(a=b.parentNode;a;a=a.parentNode){if(!a.isExpanded()){(c||(c=[])).unshift(a)}}if(f||!e.isVisible(b)){b.data.expanded=!0}else {b.set('expanded',!0)}if(c){for(d=1;d<c.length;d++){a=c[d];if(f||!e.isVisible(a)){a.data.expanded=!0}else {a.set('expanded',!0)}}c[0].expand();for(d=1;d<c.length;d++){a=c[d];a.fireBubbledEvent('expand',[a,a.childNodes])}}else {b.callTreeStore('onNodeExpand',[h,!1])}b.fireBubbledEvent('expand',[b,h]);if(j){b.expandChildren(!0,g,i)}else {Ext.callback(g,i||b,[b.childNodes])}Ext.resumeLayouts(!0)},expandChildren:function(l,d,i,b){var g=this,k,a,e,c,f,j,h;if(Ext.isBoolean(d)){k=d;d=i;i=b;b=k}if(b===undefined){h=g.getTreeStore();b=h&&h.singleExpand}e=g.childNodes;c=[];f=b?Math.min(e.length,1):e.length;for(a=0;a<f;++a){j=e[a];if(!j.isLeaf()){c[c.length]=j}}f=c.length;for(a=0;a<f;++a){c[a].expand(l)}if(d){Ext.callback(d,i||g,[g.childNodes])}},collapse:function(f,b,d){var a=this,j=a.isExpanded(),g=a.getTreeStore(),i=g&&g.bulkUpdate,h=a.childNodes.length,c,e;if(!a.isLeaf()&&((!j&&f)||a.fireBubbledEvent('beforecollapse',[a])!==!1)){Ext.suspendLayouts();if(a.isExpanded()){if(f){e=function(){for(c=0;c<h;c++){a.childNodes[c].setCollapsed(!0)}};if(b){b=Ext.Function.createSequence(e,Ext.Function.bind(b,d,[a.childNodes]))}else {b=e}}else if(b){b=Ext.Function.bind(b,d,[a.childNodes])}if(i||!g.contains(a)){a.data.expanded=!1}else {a.set('expanded',!1)}a.callTreeStore('onNodeCollapse',[a.childNodes,b,d]);a.fireBubbledEvent('collapse',[a,a.childNodes]);b=null}else if(f){for(c=0;c<h;c++){a.childNodes[c].setCollapsed(!0)}}Ext.resumeLayouts(!0)}Ext.callback(b,d||a,[a.childNodes])},setCollapsed:function(c){var a=this,d=a.childNodes.length,b;if(!a.isLeaf()&&a.fireBubbledEvent('beforecollapse',[a])!==!1){a.data.expanded=!1;a.fireBubbledEvent('collapse',[a,a.childNodes]);if(c){for(b=0;b<d;b++){a.childNodes[b].setCollapsed(!0)}}}},collapseChildren:function(e,g,h){var i=this,a,f=i.childNodes,c=f.length,d=[],b;for(a=0;a<c;++a){b=f[a];if(!b.isLeaf()&&b.isLoaded()&&b.isExpanded()){d.push(b)}}c=d.length;if(c){for(a=0;a<c;++a){b=d[a];if(a===c-1){b.collapse(e,g,h)}else {b.collapse(e)}}}else {Ext.callback(g,h)}},fireEvent:function(a){return this.fireBubbledEvent(a,Ext.Array.slice(arguments,1))},fireBubbledEvent:function(c,f){var d,b,e;if(a[c]){for(b=this;d!==!1&&b;b=(e=b).parentNode){d=b.fireEventArgs.call(b,c,f)}if(d!==!1){b=e.getTreeStore();if(b&&b.hasListeners&&b.hasListeners[c='node'+c]){d=b.fireEventArgs(c,f)}}return d}else {return this.fireEventArgs.apply(this,arguments)}},serialize:function(g){var e=g||new Ext.data.writer.Json({writeAllFields:!0}),d=e.getRecordData(this),b=this.childNodes,f=b.length,c,a;if(f>0){d.children=c=[];for(a=0;a<f;a++){c.push(b[a].serialize(e))}}return d},callTreeStore:function(e,a){var c=this,b=c.getTreeStore(),d=b&&b[e];if(b&&d){a=a||[];if(a[0]!==c){a.unshift(c)}d.apply(b,a)}},addCls:function(a){this.replaceCls(null,a)},removeCls:function(a){this.replaceCls(a)},replaceCls:function(d,c){var a=this._parseCls(this.data.cls),b=this._parseCls(d);if(b.length){a=Ext.Array.difference(a,b)}b=this._parseCls(c);if(b.length){a=Ext.Array.unique(a.concat(b))}this.set('cls',a.join(' '))},toggleCls:function(d,f){if(f===undefined){var a=this._parseCls(this.data.cls),e=this._parseCls(d),g=e.length,b,c;for(b=0;b<g;++b){c=e[b];if(Ext.Array.contains(a,c)){Ext.Array.remove(a,c)}else {a.push(c)}}this.set('cls',a.join(' '))}else if(f){this.addCls(d)}else {this.removeCls(d)}},privates:{_noCls:[],spacesRe:/\s+/,join:function(a){if(a.isTreeStore){if(this.isRoot()){this.treeStore=this.store=a}}else {this.callParent([a])}},callJoined:function(a,b){this.callParent([a,b]);this.callTreeStore(a,b)},_parseCls:function(a){if(!a){return this._noCls}if(typeof a==='string'){return a.split(this.spacesRe)}return a}}}}}});Ext.define('Ext.data.TreeModel',{extend:Ext.data.Model,mixins:[Ext.mixin.Queryable],getRefItems:function(){return this.childNodes},getRefOwner:function(){return this.parentNode},statics:{defaultProxy:'memory'}},function(){Ext.data.NodeInterface.decorate(this)});Ext.define('Ext.data.NodeStore',{extend:Ext.data.Store,alias:'store.node',isNodeStore:!0,config:{node:null,recursive:!1,rootVisible:!1,folderSort:!1},implicitModel:'Ext.data.TreeModel',getTotalCount:function(){return this.getCount()},updateFolderSort:function(b){var a=this.getData();a.setTrackGroups(!1);if(b){a.setGrouper({groupFn:this.folderSortFn})}else {a.setGrouper(null)}},folderSortFn:function(a){return a.data.leaf?1:0},afterReject:function(b){var a=this;if(a.contains(b)){a.onUpdate(b,Ext.data.Model.REJECT,null);a.fireEvent('update',a,b,Ext.data.Model.REJECT,null)}},afterCommit:function(c,a){var b=this;if(!a){a=null}if(b.contains(c)){b.onUpdate(c,Ext.data.Model.COMMIT,a);b.fireEvent('update',b,c,Ext.data.Model.COMMIT,a)}},onNodeAppend:function(b,a){if(b===this.getNode()){this.add([a].concat(this.retrieveChildNodes(a)))}},onNodeInsert:function(d,b,c){var a=this,e;if(d===a.getNode()){e=a.indexOf(c)||0;a.insert(0,[b].concat(a.retrieveChildNodes(b)))}},onNodeRemove:function(b,a){if(b===this.getNode()){this.remove([a].concat(this.retrieveChildNodes(a)))}},onNodeExpand:function(b,a){if(b===this.getNode()){this.loadRecords(a)}},applyNode:function(a){if(a){if(!a.isModel){a=new (this.getModel())(a)}if(!a.isNode){Ext.data.NodeInterface.decorate(a)}}return a},updateNode:function(b,d){var a=this,c;if(d&&!d.destroyed){d.un({append:'onNodeAppend',insert:'onNodeInsert',remove:'onNodeRemove',scope:a});d.unjoin(a)}if(b){b.on({scope:a,append:'onNodeAppend',insert:'onNodeInsert',remove:'onNodeRemove'});b.join(a);c=[];if(b.childNodes.length){c=c.concat(a.retrieveChildNodes(b))}if(a.getRootVisible()){c.push(b)}else if(b.isLoaded()||b.isLoading()){b.set('expanded',!0)}a.getData().clear();a.fireEvent('clear',a);a.suspendEvents();if(a.isInitializing){a.inlineData=c}else {a.add(c)}a.resumeEvents();if(c.length===0){a.loaded=b.loaded=!0}a.fireEvent('refresh',a,a.data)}},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return !1}while(a){if(!a.isExpanded()){return !1}if(a===this.getNode()){break}a=a.parentNode}return !0},privates:{retrieveChildNodes:function(b){var e=this.getNode(),d=this.getRecursive(),c=[],a=b;if(!b.childNodes.length||(!d&&b!==e)){return c}if(!d){return b.childNodes}while(a){if(a._added){delete a._added;if(a===b){break}else {a=a.nextSibling||a.parentNode}}else {if(a!==b){c.push(a)}if(a.firstChild){a._added=!0;a=a.firstChild}else {a=a.nextSibling||a.parentNode}}}return c}}});Ext.define('Ext.data.Request',{isDataRequest:!0,config:{action:undefined,params:undefined,method:'GET',url:null,operation:null,proxy:null,disableCaching:!1,headers:{},callbackKey:null,rawRequest:null,jsonData:undefined,xmlData:undefined,withCredentials:!1,username:null,password:null,binary:!1,callback:null,scope:null,timeout:30000,records:null,directFn:null,args:null,useDefaultXhrHeader:null,responseType:null},constructor:function(a){this.initConfig(a)},getParam:function(b){var a=this.getParams(),c;if(a){return a[b]}return c},setParam:function(c,b){var a=this.getParams()||{};a[c]=b;this.setParams(a)}});Ext.define('Ext.data.TreeStore',{extend:Ext.data.Store,alias:'store.tree',isTreeStore:!0,config:{root:null,rootVisible:!1,defaultRootProperty:'children',parentIdProperty:null,clearOnLoad:!0,clearRemovedOnLoad:!0,nodeParam:'node',defaultRootId:'root',defaultRootText:'Root',folderSort:!1,pageSize:null},filterer:'topdown',lazyFill:!1,fillCount:0,bulkUpdate:0,nodesToUnregister:0,_silentOptions:{silent:!0},implicitModel:'Ext.data.TreeModel',groupField:null,groupDir:null,grouper:null,constructor:function(b){var a=this;a.byIdMap={};a.callParent([b]);if(Ext.isDefined(a.nodeParameter)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn('Ext.data.TreeStore: nodeParameter has been deprecated. Please use nodeParam instead.')}a.nodeParam=a.nodeParameter;delete a.nodeParameter}},applyFields:function(a,c){var b=this;if(a){if(b.defaultRootProperty!==b.self.prototype.config.defaultRootProperty){a=a.concat({name:b.defaultRootProperty,type:'auto',defaultValue:null,persist:!1})}}b.callParent([a,c])},applyGroupField:function(a){return null},applyGroupDir:function(a){return null},applyGrouper:function(a){if(a){Ext.raise('You can\'t group a TreeStore')}return null},group:Ext.emptyFn,onSorterEndUpdate:function(){var a=this,d=a.getSorters(),b=d.getRange(),c=a.getRoot(),e=a.getFolderSort();a.fireEvent('beforesort',a,b);if(c&&(e||b.length)){if(a.getRemoteSort()){if(b.length){a.load({callback:function(){a.fireEvent('sort',a,b)}})}}else {c.sort(this.getSortFn(),!0);a.fireEvent('datachanged',a);a.fireEvent('refresh',a);a.fireEvent('sort',a,b)}}else {a.fireEvent('sort',a,b)}},updateFolderSort:function(a){this.needsFolderSort=a;this.onSorterEndUpdate()},getSortFn:function(){return this._sortFn||(this._sortFn=this.createSortFn())},createSortFn:function(){var a=this,b=this.sorters.getSortFn();return function(d,e){var f,g,c=0;if(a.needsFolderSort){f=d.data.leaf?1:0;g=e.data.leaf?1:0;c=f-g}if(a.needsIndexSort&&c===0){c=d.data.index-e.data.index}return c||b(d,e)}},getTotalCount:function(){return this.getCount()},afterEdit:function(b,h){var a=this,c=b.parentNode,j=a.getRootVisible(),i=!c&&!j,f,g=b.get('visible'),e,d;if(!i&&g!==a.contains(b)){if(g){if(!c||a.isVisible(b)){e=[b];if(b.isExpanded()){a.handleNodeExpand(b,b.childNodes,e)}f=b.previousSibling?a.indexOfPreviousVisibleNode(b.previousSibling):(c?a.indexOf(c):-1);a.insert(f+1,e)}}else {d=a.indexOf(b);a.removeAt(d,a.indexOfNextVisibleNode(b)-d)}}else if(a.getRoot()&&a.needsLocalFilter()){a.onFilterEndUpdate(a.getFilters())}a.callParent([b,h])},afterReject:function(b){var a=this;if(a.contains(b)){a.onUpdate(b,Ext.data.Model.REJECT,null);a.fireEvent('update',a,b,Ext.data.Model.REJECT,null)}},afterCommit:function(c,a){var b=this;if(!a){a=null}if(b.contains(c)){b.onUpdate(c,Ext.data.Model.COMMIT,a);b.fireEvent('update',b,c,Ext.data.Model.COMMIT,a)}},updateRootVisible:function(c){var a=this.getRoot(),b;if(a){b=this.getData();if(c){b.insert(0,a)}else {b.remove(a)}}},updateTrackRemoved:function(a){this.callParent(arguments);this.removedNodes=this.removed;this.removed=null},onDestroyRecords:function(c,b,a){if(a){this.removedNodes.length=0}},updateProxy:function(a){var b;if(a){if(a.setIdParam){a.setIdParam(this.getNodeParam())}b=a.getReader();if(Ext.isEmpty(b.getRootProperty())){b.setRootProperty(this.getDefaultRootProperty())}}},setProxy:function(a){this.changingProxy=!0;this.callParent([a]);this.changingProxy=!1},updateModel:function(a){if(a){var b=a.prototype.isNode;Ext.data.NodeInterface.decorate(a);if(!b&&!this.changingProxy){this.getProxy().getReader().buildExtractors(!0)}}},onCollectionFilter:Ext.emptyFn,onFilterEndUpdate:function(h){var a=this,d=h.length,b=a.getRoot(),f,g,c,e;if(!a.getRemoteFilter()){if(d){a.doFilter(b)}else {b.cascade({after:function(b){b.set('visible',!0,a._silentOptions)}})}if(d){c=[];f=b.childNodes;for(e=0,d=f.length;e<d;e++){g=f[e];if(g.get('visible')){c.push(g)}}}else {c=b.childNodes}a.onNodeFilter(b,c);b.fireEvent('filterchange',b,c);a.suppressNextFilter=!0;a.callParent([h]);a.suppressNextFilter=!1}else {a.callParent([h])}},onNodeFilter:function(c,e){var a=this,d=a.getData(),b=[];if(a.getRootVisible()&&c.get('visible')){b.push(c)}a.handleNodeExpand(c,e,b);a.suspendEvents();d.splice(0,d.getCount(),b);a.resumeEvents();if(!a.suppressNextFilter){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}},onBeforeNodeExpand:function(a,f,g,c){var d=this,k,h,e,j,i,b;if(a.isLoaded()){b=[a.childNodes];if(c){b.push.apply(b,c)}Ext.callback(f,g||a,b)}else if(a.isLoading()){d.on('load',function(){b=[a.childNodes];if(c){b.push.apply(b,c)}Ext.callback(f,g||a,b)},d,{single:!0,priority:1001})}else {k=d.getProxy().getReader();h=a.getProxy();e=h?h.getReader():null;j=e&&e.initialConfig.rootProperty?e:k;i=j.getRoot(a.raw||a.data);if(i||(a.phantom&&!a.isRoot())){d.fillNode(a,j.extractData(i||[],{model:a.childType,recordCreator:d.recordCreator}));b=[a.childNodes];if(c){b.push.apply(b,c)}Ext.callback(f,g||a,b)}else {d.read({node:a,onChildNodesAvailable:function(){delete d.lastOptions.onChildNodesAvailable;b=[a.childNodes];if(c){b.push.apply(b,c)}Ext.callback(f,g||a,b)}});d.flushLoad()}}},onNodeExpand:function(b,e){var a=this,d=a.indexOf(b)+1,c=[];a.handleNodeExpand(b,e,c);if(!a.refreshCounter&&b.isRoot()&&!b.get('visible')){a.loadRecords(c)}else {++a.loadCount;a.insert(d,c)}},handleNodeExpand:function(d,c,e){var g=this,f=c?c.length:0,b,a;if(d!==this.getRoot()&&!g.isVisible(d)){return}if(f){for(b=0;b<f;b++){a=c[b];if(a.get('visible')){e.push(a);if(a.isExpanded()){if(a.isLoaded()){g.handleNodeExpand(a,a.childNodes,e)}else {a.set('expanded',!1,{silent:!0});a.expand()}}}}}},onNodeCollapse:function(c,b,f,g){var a=this,e=a.indexOf(c)+1,d;if(a.needsLocalFilter()){b=Ext.Array.filter(b,a.filterVisible)}if(b.length&&a.isVisible(c)){d=a.indexOfNextVisibleNode(c);a.removeAt(e,d-e)}Ext.callback(f,g)},indexOfNextVisibleNode:function(b){var a;while(b.parentNode){for(a=b.nextSibling;a&&!a.get('visible');a=a.nextSibling){}if(a){return this.indexOf(a)}b=b.parentNode}return this.getCount()},indexOfPreviousVisibleNode:function(b){var a;for(a=b;a&&!a.get('visible');a=a.previousSibling){}if(a){if(a.isExpanded()&&a.lastChild){return this.indexOfPreviousVisibleNode(a.lastChild)}}else {a=b.parentNode}return this.indexOf(a)},filterNew:function(a){return !a.get('root')&&this.callParent([a])},filterRejects:function(a){return !a.get('root')&&this.callParent([a])},getNewRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterNew,this)},getRejectRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterRejects,this)},getUpdatedRecords:function(){return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),this.filterUpdated)},beforeNodeRemove:function(i,a,h,d){if(!Ext.isArray(a)){a=[a]}var c=this,g=a.length,f=c.removedNodes,b,e;for(b=0;!e&&b<g;b++){if(a[b].get('visible')){e=a[b]}}if(e){d[0]=c.indexOf(a[0]);d[1]=c.indexOfNextVisibleNode(a[a.length-1])-d[0]}else {d[0]=-1;d[1]=0}for(b=0;b<g;b++){a[b].cascade(function(b){c.unregisterNode(b,!0);if(f&&!h){if(!b.phantom&&!b.erasing&&!c.loading){b.removedFrom=c.indexOf(b);f.push(b);c.needsSync=!0}}})}},afterDrop:Ext.emptyFn,onNodeRemove:function(e,d,c,b){var a=this;a.suspendAutoSync();if(b[0]!==-1){a.removeIsMove=c;a.removeAt.apply(a,b);a.removeIsMove=!1}a.resumeAutoSync()},onNodeAppend:function(a,c,b){this.onNodeInsert(a,c,b)},onNodeInsert:function(g,a,k){var b=this,l=a.raw||a.data,j=b.removedNodes,i,e,c,h,f,d;if(g&&b.needsLocalFilter()){b.doFilter(g)}b.beginUpdate();if(b.isVisible(a)){if(k===0||!a.previousSibling){d=b.indexOf(g)}else {d=b.indexOfPreviousVisibleNode(a.previousSibling)}b.insert(d+1,a);if(!a.isLeaf()&&a.isExpanded()){if(a.isLoaded()){b.onNodeExpand(a,a.childNodes)}else if(!b.fillCount){a.set('expanded',!1);a.expand()}}}Ext.Array.remove(j,a);b.needsSync=b.needsSync||a.phantom||a.dirty;if(!a.isLeaf()&&!a.isLoaded()&&!b.lazyFill){i=b.getProxy().getReader();e=a.getProxy();c=e?e.getReader():null;h=c&&c.initialConfig.rootProperty?c:i;f=h.getRoot(l);if(f){b.fillNode(a,h.extractData(f,{model:a.childType,recordCreator:b.recordCreator}))}}b.endUpdate()},registerNode:function(a,f){var b=this,g=b.byIdMap[a.id],d,e,c;b.byIdMap[a.id]=a;if(a.onRegisterTreeNode&&a!==g){a.onRegisterTreeNode(b)}if(a.onUnregisterTreeNode){b.nodesToUnregister++}if(f===!0){d=a.childNodes;e=d.length;for(c=0;c<e;c++){b.registerNode(d[c],!0)}}},unregisterNode:function(a,f){var b=this,g=b.byIdMap[a.id],d,e,c;delete b.byIdMap[a.id];if(f===!0){d=a.childNodes;e=d.length;for(c=0;c<e;c++){b.unregisterNode(d[c],!0)}}if(a.onUnregisterTreeNode&&a===g){a.onUnregisterTreeNode(b);b.nodesToUnregister--}},onNodeSort:function(b,c){var a=this;a.suspendAutoSync();if((a.indexOf(b)!==-1&&b.isExpanded())||(b===a.getRoot()&&!a.getRootVisible())){Ext.suspendLayouts();a.onNodeCollapse(b,c);a.onNodeExpand(b,c);Ext.resumeLayouts(!0)}a.resumeAutoSync(a.autoSync)},applyRoot:function(a){var b=this,e=b.getModel(),d=e.prototype.idProperty,c=b.getDefaultRootId();if(a&&!a.isNode){a=Ext.apply({text:b.getDefaultRootText(),root:!0,isFirst:!0,isLast:!0,depth:0,index:0,parentId:null,allowDrag:!1},a);if(c&&a[d]===undefined){a[d]=c}a=new e(a)}return a},updateRoot:function(b,c){var a=this,d,e=!c,f,g=[];a.getTrackRemoved();a.suspendEvent('add','remove');if(e){a.suspendEvent('refresh','datachanged')}if(c&&c.isModel){if(a.getRootVisible()){f=[c]}else {f=c.childNodes}a.beforeNodeRemove(null,f,!1,g);c.set('root',!1);a.onNodeRemove(null,f,!1,g);c.fireEvent('remove',null,c,!1);c.fireEvent('rootchange',null);c.clearListeners();c.store=c.treeStore=null;a.unregisterNode(c)}a.getData().clear();if(b){if(b.fireEventArgs('beforeappend',[null,b])===!1){b=null}else {d=b.parentNode;if(d){if(!d.removeChild(b,!1,!1,d.getTreeStore()===a)){return}}else if((d=b.getTreeStore())&&d!==a&&b===d.getRoot()){d.setRoot(null)}b.store=b.treeStore=a;b.set('root',!0);b.updateInfo(!0,{isFirst:!0,isLast:!0,depth:0,index:0,parentId:null});a.registerNode(b,!0);b.fireEvent('append',null,b,!1);b.fireEvent('rootchange',b);a.onNodeAppend(null,b,0);b.phantom=!0}}if(!e){a.fireEvent('rootchange',b,c)}if(b&&(a.getAutoLoad()||b.isExpanded())){if(b.isLoaded()){a.onNodeExpand(b,b.childNodes);if(!e){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}}else {b.data.expanded=!1;b.expand(!1);if(b.isLoaded&&!a.getProxy().isSynchronous&&!e){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}}}else if(!e){a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}a.resumeEvent('add','remove');if(e){a.resumeEvent('refresh','datachanged')}},doDestroy:function(){var a=this,b=a.getRoot();if(b&&a.nodesToUnregister){b.cascade(function(b){if(b.onUnregisterTreeNode){b.onUnregisterTreeNode(a)}})}a.callParent()},each:function(e,d,a){var f=0,b=a,c;if(a&&typeof a==='object'){c=a.collapsed;b=a.filtered}if(c){this.getRoot().cascade(function(c){if(b===!0||c.get('visible')){return e.call(d||c,c,f++)}})}else {return this.callParent([e,d,b])}},collect:function(h,a,b){var d,i={},g=[],e=a,f,c;if(a&&typeof a==='object'){d=a.collapsed;b=a.filtered;e=a.allowNull}if(d||b){this.getRoot().cascade(function(j){if(b===!0||j.get('visible')){c=j.get(h);f=String(c);if((e||!Ext.isEmpty(c))&&!i[f]){i[f]=1;g.push(c)}}if(!d&&!j.isExpanded()){return !1}})}else {g=this.callParent([h,e,b])}return g},getNodeById:function(a){return this.byIdMap[a]||null},findNode:function(b,a,e,f,d){if(Ext.isEmpty(a,!1)){return null}if(b===this.model.idProperty&&arguments.length<3){return this.byIdMap[a]}var g=Ext.String.createRegex(a,e,f,d),c=null;Ext.Object.eachValue(this.byIdMap,function(h){if(h&&g.test(h.get(b))){c=h;return !1}});return c},load:function(b){var a=b&&b.node;if(!a&&!(a=this.getRoot())){a=this.setRoot({expanded:!0,autoRoot:!0});return}if(a.isLoading()){return}return this.callParent([b])},reload:function(b){var a=Ext.apply({},b,this.lastOptions);a.node=this.getRoot();return this.load(a)},flushLoad:function(){var a=this,c=a.pendingLoadOptions,b,g,i,d=a.getClearOnLoad(),e,f,h;a.clearLoadTask();if(!c){return}b=c.node||a.getRoot();e=b&&b.isRoot();g=c.callback;i=c.scope;c.params=c.params||{};if(b.data.expanded&&!e){b.data.loaded=!1;if(d){b.data.expanded=!1}c.callback=function(a,c,e){if(!d){b.collapse()}b.expand();Ext.callback(g,i,[a,c,e])}}c.id=b.getId();a.setLoadOptions(c);if(a.getRemoteSort()&&c.sorters){a.fireEvent('beforesort',a,c.sorters)}c=Ext.apply({node:c.node||b,internalScope:a,internalCallback:a.onProxyLoad},c);a.lastOptions=Ext.apply({},c);c.isRootLoad=e;f=a.createOperation('read',c);if(a.fireEvent('beforeload',a,f)!==!1){a.loading=!0;if(e){if(a.getClearRemovedOnLoad()){a.removedNodes.length=0}if(d){a.unregisterNode(b,!0);b.clear(!1,!0);a.registerNode(b);h=!0}}else {if(a.loading){b.data.loaded=!1}if(a.getTrackRemoved()&&a.getClearRemovedOnLoad()){a.clearRemoved(b)}if(d){b.removeAll(!1)}}if(a.loading&&b){b.set('loading',!0,{silent:!(a.contains(b)||b===a.getRoot())})}if(h){a.clearData(!0);if(a.getRootVisible()){a.suspendEvents();a.add(b);a.resumeEvents()}}f.execute()}return a},onProxyLoad:function(c){var a=this,f=c.initialConfig,e=c.wasSuccessful(),b=c.getRecords(),d=f.node,g=f.isRootLoad,h=c.getScope()||a,i=[b,c,e];if(a.destroyed){return}a.loading=!1;d.set('loading',!1);if(e){++a.loadCount;if(!a.getClearOnLoad()){b=a.cleanRecords(d,b)}if(a.getParentIdProperty()){b=a.treeify(d,b)}if(g){a.suspendEvent('add','update')}b=a.fillNode(d,b)}Ext.callback(f.onChildNodesAvailable,h,i);if(g){a.resumeEvent('add','update');a.callObservers('BeforePopulate');a.fireEvent('datachanged',a);a.fireEvent('refresh',a);a.callObservers('AfterPopulate')}a.fireEvent('load',a,b,e,c,d)},clearRemoved:function(k){var d=this,e=d.removedNodes,l=k.getId(),f=e.length,b=f,h={},j=[],i={},a,c,g;if(k===d.getRoot()){d.removedNodes.length=0;return}for(;b--;){a=e[b];i[a.getId()]=a}for(b=f;b--;){a=e[b];c=a;while(c&&c.getId()!==l){g=c.get('parentId')||c.get('lastParentId');c=c.parentNode||d.getNodeById(g)||i[g]}if(c){h[a.getId()]=a}}for(b=0;b<f;b++){a=e[b];if(!h[a.getId()]){j.push(a)}}d.removedNodes=j},fillNode:function(c,b){var a=this,d=b?b.length:0;if(++a.bulkUpdate===1){a.suspendEvent('datachanged')}if(d){a.setupNodes(b);c.appendChild(b,undefined,!0)}else {if(a.bulkUpdate===1){c.set('loaded',!0)}else {c.data.loaded=!0}}if(!--a.bulkUpdate){a.resumeEvent('datachanged')}return b},setupNodes:function(b){var a=this,j=a.getSorters(),f=!1,g=b.length,i=a.sortOnLoad&&g>1&&!a.getRemoteSort()&&a.getFolderSort()||j.length,e=a.needsLocalFilter(),d,h,c;if(e){a.doFilter(b[0])}for(c=1;c<g;c++){d=b[c];h=b[c-1];if(e){a.doFilter(d)}f=d.data.index!==h.data.index}if(i){a.needsIndexSort=!0;Ext.Array.sort(b,a.getSortFn());a.needsIndexSort=!1}else if(f){Ext.Array.sort(b,a.sortByIndex)}},beginFill:function(){var a=this;if(!a.fillCount++){a.beginUpdate();a.suspendEvent('add','update');a.suspendAutoSync();a.fillArray=[]}},endFill:function(g,f){var a=this,c=a.fillArray,b,e,d;c.push(f);if(!--a.fillCount){a.resumeAutoSync();a.resumeEvent('add','update');for(b=0,e=c.length;b<e;b++){d=a.indexOf(c[b][0]);if(d!==-1){a.fireEvent('add',a,c[b],d)}}a.fillArray=null;a.endUpdate()}},sortByIndex:function(a,b){return a.data.index-b.data.index},onIdChanged:function(d,e,c){var b=d.childNodes,f=b&&b.length,a;this.callParent(arguments);delete this.byIdMap[e];this.byIdMap[c]=d;for(a=0;a<f;a++){b[a].set('parentId',c)}},treeify:function(n,h){var g=this,l=n.getId(),m=g.getParentIdProperty(),j=h.length,i=[],d={},b,a,c,e,k,f;for(b=0;b<j;b++){a=h[b];a.data.depth=1;d[a.id]=a}for(b=0;b<j;b++){a=h[b];c=a.data[m];if(!(c||c===0)||c===l){i.push(a)}else {if(!d[c]){Ext.raise('Ext.data.TreeStore, Invalid parentId "'+c+'"')}e=d[c];e.$children=e.$children||[];e.$children.push(a);a.data.depth=e.data.depth+1}}for(k in d){a=d[k];f=a.$children;if(f){delete a.$children;g.setupNodes(f);a.appendChild(f)}g.registerNode(a)}g.setupNodes(i);return i},cleanRecords:function(h,f){var e={},d=h.childNodes,a=0,b=d.length,g=[],c;for(;a<b;++a){e[d[a].getId()]=!0}for(a=0,b=f.length;a<b;++a){c=f[a];if(!e[c.getId()]){g.push(c)}}return g},removeAll:function(){this.suspendEvents();this.setRoot(null);this.resumeEvents();this.callParent()},doSort:function(b){var a=this;if(a.getRemoteSort()){a.load()}else {a.tree.sort(b,!0);a.fireEvent('datachanged',a);a.fireEvent('refresh',a)}a.fireEvent('sort',a,a.sorters.getRange())},filterVisible:function(a){return a.get('visible')},isVisible:function(c){var a=c.parentNode,b=c.data.visible,d=this.getRoot();while(b&&a){b=a.data.expanded&&a.data.visible;a=a.parentNode}return b&&!(c===d&&!this.getRootVisible())},commitChanges:function(){var a=this.removedNodes;if(a){a.length=0}this.callParent()},getRootNode:function(){return this.getRoot()},setRootNode:function(a){this.setRoot(a);return this.getRoot()},privates:{fireChangeEvent:function(a){return !!this.byIdMap[a.id]},getRawRemovedRecords:function(){return this.removedNodes},createOperation:function(e,c){var b=this,d=c.node,a;if(b.useModelProxy&&d&&d!==b.getRootNode()){a=d.getProxy()}if(a&&a!==b.getProxy()){return a.createOperation(e,c)}else {return b.callParent([e,c])}},recordCreator:function(b,a){return new a(b)},doFilter:function(a){this.filterNodes(a,this.getFilters().getFilterFn(),!0)},filterNodes:function(b,h,j){var c=this,g=c.filterer==='bottomup',a=h(b)&&j||(b.isRoot()&&!c.getRootVisible()),f=b.childNodes,i=f&&f.length,d,e;if(i){for(d=0;d<i;++d){e=c.filterNodes(f[d],h,a||g)||e}if(g){a=e||a}}b.set("visible",a,c._silentOptions);return a},needsLocalFilter:function(){return !this.getRemoteFilter()&&this.getFilters().length},onRemoteFilterSet:function(a,c){var b=this.getData();b.setFilters(null);if(a){a.on('endupdate',this.onFilterEndUpdate,this)}},onRemoteSortSet:function(a,c){var b=this.getData();b.setSorters(null);if(a){a.on('endupdate',this.onSorterEndUpdate,this)}}},deprecated:{5:{properties:{tree:null}}}});Ext.define('Ext.data.Types',{singleton:!0},function(a){var b=Ext.data.SortTypes;Ext.apply(a,{stripRe:/[\$,%]/g,AUTO:{sortType:b.none,type:'auto'},STRING:{convert:function(b){var c=this.getAllowNull()?null:'';return (b===undefined||b===null)?c:String(b)},sortType:b.asUCString,type:'string'},INT:{convert:function(b){if(typeof b==='number'){return parseInt(b,10)}return b!==undefined&&b!==null&&b!==''?parseInt(String(b).replace(a.stripRe,''),10):(this.getAllowNull()?null:0)},sortType:b.none,type:'int'},FLOAT:{convert:function(b){if(typeof b==='number'){return b}return b!==undefined&&b!==null&&b!==''?parseFloat(String(b).replace(a.stripRe,''),10):(this.getAllowNull()?null:0)},sortType:b.none,type:'float'},BOOL:{convert:function(b){if(typeof b==='boolean'){return b}if(this.getAllowNull()&&(b===undefined||b===null||b==='')){return null}return b==='true'||b==1},sortType:b.none,type:'bool'},DATE:{convert:function(b){var d=this.getDateReadFormat()||this.getDateFormat(),c;if(!b){return null}if(b instanceof Date){return b}if(d){return Ext.Date.parse(b,d)}c=Date.parse(b);return c?new Date(c):null},sortType:b.asDate,type:'date'}});a.BOOLEAN=a.BOOL;a.INTEGER=a.INT;a.NUMBER=a.FLOAT});Ext.define('Ext.data.Validation',{extend:Ext.data.Model,isValidation:!0,syncGeneration:0,attach:function(a){this.record=a;this.isBase=a.self===Ext.data.Model;delete this.data.id},getValidation:function(){return null},isValid:function(){var a=this;if(a.syncGeneration!==a.record.generation){a.refresh()}return !a.dirty},refresh:function(q){if(this.isBase){return}var e=this,i=e.data,c=e.record,m=c.fields,l=c.generation,p=c.data,r=c.validationSeparator,f=null,k,h,a,d,s,g,u,t,n,j,o,b;if(q||e.syncGeneration!==l){e.syncGeneration=l;for(g=0,n=m.length;g<n;++g){d=m[g];b=d.name;o=p[b];k=d.defaultInvalidMessage;a=0;if(!(b in i)){i[b]=h=!0}else {h=i[b]}if(d.validate!==Ext.emptyFn){j=d.validate(o,r,null,c);if(j!==!0){a=j||k}}if(!a){a=!0}if(a!==h){(f||(f={}))[b]=a}}if(f){e.set(f)}}}});Ext.define('Ext.dom.Helper',function(){var b='afterbegin',d='afterend',a='beforebegin',c='beforeend',g=['BeforeBegin','previousSibling'],f=['AfterEnd','nextSibling'],e={beforebegin:g,afterend:f},h={beforebegin:g,afterend:f,afterbegin:['AfterBegin','firstChild'],beforeend:['BeforeEnd','lastChild']};return {singleton:!0,alternateClassName:['Ext.DomHelper','Ext.core.DomHelper'],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,attributeTransform:{cls:'class',htmlFor:'for'},closeTags:{},detachedDiv:document.createElement('div'),decamelizeName:function(){var b=/([a-z])([A-Z])/g,a={};function decamel(c,a,b){return a+'-'+b.toLowerCase()}return function(c){return a[c]||(a[c]=c.replace(b,decamel))}}(),generateMarkup:function(a,c){var e=this,i=typeof a,d,b,f,g,h;if(i==="string"||i==="number"){c.push(a)}else if(Ext.isArray(a)){for(g=0;g<a.length;g++){if(a[g]){e.generateMarkup(a[g],c)}}}else {f=a.tag||'div';c.push('<',f);for(d in a){if(a.hasOwnProperty(d)){b=a[d];if(b!==undefined&&!e.confRe.test(d)){if(b&&b.join){b=b.join(' ')}if(typeof b==="object"){c.push(' ',d,'="');e.generateStyles(b,c,!0).push('"')}else {c.push(' ',e.attributeTransform[d]||d,'="',b,'"')}}}}if(e.emptyTags.test(f)){c.push('/>')}else {c.push('>');if((b=a.tpl)){b.applyOut(a.tplData,c)}if((b=a.html)){c.push(b)}if((b=a.cn||a.children)){e.generateMarkup(b,c)}h=e.closeTags;c.push(h[f]||(h[f]='</'+f+'>'))}}return c},generateStyles:function(c,d,f){var e=d||[],a,b;for(a in c){if(c.hasOwnProperty(a)){b=c[a];a=this.decamelizeName(a);if(f&&Ext.String.hasHtmlCharacters(b)){b=Ext.String.htmlEncode(b)}e.push(a,':',b,';')}}return d||e.join('')},markup:function(a){if(typeof a==="string"){return a}var b=this.generateMarkup(a,[]);return b.join('')},applyStyles:function(b,a){Ext.fly(b).applyStyles(a)},createContextualFragment:function(e){var d=this.detachedDiv,b=document.createDocumentFragment(),c,a;d.innerHTML=e;a=d.childNodes;c=a.length;while(c--){b.appendChild(a[0])}return b},createDom:function(e){var c=this,d=c.markup(e),b=c.detachedDiv,a;b.innerHTML=d;a=b.firstChild;return Ext.supports.ChildContentClearedWhenSettingInnerHTML?a.cloneNode(!0):a},insertHtml:function(g,f,j){var o=this,l,k,n,m,i;g=g.toLowerCase();if(f.insertAdjacentHTML){if(o.ieInsertHtml){i=o.ieInsertHtml(g,f,j);if(i){return i}}l=h[g];if(l){f.insertAdjacentHTML(l[0],j);return f[l[1]]}}else {if(f.nodeType===3){g=g===b?a:g;g=g===c?d:g}k=Ext.supports.CreateContextualFragment?f.ownerDocument.createRange():undefined;m='setStart'+(this.endRe.test(g)?'After':'Before');if(e[g]){if(k){k[m](f);i=k.createContextualFragment(j)}else {i=this.createContextualFragment(j)}f.parentNode.insertBefore(i,g===a?f:f.nextSibling);return f[(g===a?'previous':'next')+'Sibling']}else {n=(g===b?'first':'last')+'Child';if(f.firstChild){if(k){try{k[m](f[n]);i=k.createContextualFragment(j)}catch(p){i=this.createContextualFragment(j)}}else {i=this.createContextualFragment(j)}if(g===b){f.insertBefore(i,f.firstChild)}else {f.appendChild(i)}}else {f.innerHTML=j}return f[n]}}Ext.raise({sourceClass:'Ext.DomHelper',sourceMethod:'insertHtml',htmlToInsert:j,targetElement:f,msg:'Illegal insertion point reached: "'+g+'"'})},insertBefore:function(c,d,b){return this.doInsert(c,d,b,a)},insertAfter:function(b,c,a){return this.doInsert(b,c,a,d)},insertFirst:function(c,d,a){return this.doInsert(c,d,a,b)},append:function(b,d,a){return this.doInsert(b,d,a,c)},overwrite:function(b,c,e){var d=this,a;b=Ext.getDom(b);c=d.markup(c);if(d.ieOverwrite){a=d.ieOverwrite(b,c)}if(!a){b.innerHTML=c;a=b.firstChild}return e?Ext.get(a):a},doInsert:function(f,j,k,g){var i=this,h;f=f.dom||Ext.getDom(f);if('innerHTML' in f){h=i.insertHtml(g,f,i.markup(j))}else {h=i.createDom(j,null);if(f.nodeType===3){g=g===b?a:g;g=g===c?d:g}if(e[g]){f.parentNode.insertBefore(h,g===a?f:f.nextSibling)}else if(f.firstChild&&g===b){f.insertBefore(h,f.firstChild)}else {f.appendChild(h)}}return k?Ext.get(h):h},createTemplate:function(b){var a=this.markup(b);return new Ext.Template(a)},createHtml:function(a){return this.markup(a)}}});Ext.define('Ext.dom.Query',function(){var DQ,doc=document,cache,simpleCache,valueCache,useClassList=!!doc.documentElement.classList,useElementPointer=!!doc.documentElement.firstElementChild,useChildrenCollection=(function(){var a=doc.createElement('div');a.innerHTML='<!-- -->text<!-- -->';return a.children&&(a.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 a,b='<r><a:b xmlns:a="n"></a:b></r>';if(window.DOMParser){a=(new DOMParser()).parseFromString(b,"application/xml")}else {a=new ActiveXObject("Microsoft.XMLDOM");a.loadXML(b)}return !!a.getElementsByTagName('a:b').length})(),longHexToChar=function(b,a){return String.fromCharCode(parseInt(a,16))},shortToLongHex=function(b,a){while(a.length<6){a='0'+a}return '\\'+a},charToLongHex=function(b,a){num=a.charCodeAt(0).toString(16);if(num.length===1){num='0'+num}return '\\0000'+num},unescapeCssSelector=function(a){return (hasEscapes)?a.replace(longHex,longHexToChar):a},setupEscapes=function(a){hasEscapes=(a.indexOf('\\')>-1);if(hasEscapes){a=a.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,'\\\\')}return a};eval("var batch = 30803, child, next, prev, byClassName;");child=useChildrenCollection?function child(a,b){return a.children[b]}:function child(b,c){var d=0,a=b.firstChild;while(a){if(a.nodeType==1){if(++d==c){return a}}a=a.nextSibling}return null};next=useElementPointer?function(a){return a.nextElementSibling}:function(a){while((a=a.nextSibling)&&a.nodeType!=1){}return a};prev=useElementPointer?function(a){return a.previousElementSibling}:function(a){while((a=a.previousSibling)&&a.nodeType!=1){}return a};function children(c){var a=c.firstChild,d=-1,b;while(a){b=a.nextSibling;if(a.nodeType==3&&!nonSpace.test(a.nodeValue)){c.removeChild(a)}else {a.nodeIndex=++d}a=b}return this}byClassName=useClassList?function(f,a){a=unescapeCssSelector(a);if(!a){return f}var d=[],g=-1,e,b,c;for(e=0;b=f[e];e++){c=b.classList;if(c){if(c.contains(a)){d[++g]=b}}else if((' '+b.className+' ').indexOf(a)!==-1){d[++g]=b}}return d}:function(d,a){a=unescapeCssSelector(a);if(!a){return d}var e=[],f=-1,c,b;for(c=0;b=d[c];c++){if((' '+b.className+' ').indexOf(a)!==-1){e[++f]=b}}return e};function attrValue(a,b){if(!a.tagName&&typeof a.length!="undefined"){a=a[0]}if(!a){return null}if(b=="for"){return a.htmlFor}if(b=="class"||b=="className"){return a.className}return a.getAttribute(b)||a[b]}function getNodes(d,i,a){var f=[],k=-1,m,b,h,e,j,n,g,c,l;if(!d){return f}a=a.replace('|',':')||"*";if(typeof d.getElementsByTagName!="undefined"){d=[d]}if(!i){a=unescapeCssSelector(a);if(!supportsColonNsSeparator&&DQ.isXml(d[0])&&a.indexOf(':')!==-1){for(b=0;h=d[b];b++){m=h.getElementsByTagName(a.split(':').pop());for(e=0;j=m[e];e++){if(j.tagName===a){f[++k]=j}}}}else {for(b=0;h=d[b];b++){m=h.getElementsByTagName(a);for(e=0;j=m[e];e++){f[++k]=j}}}}else if(i=="/"||i==">"){g=a.toUpperCase();for(b=0;h=d[b];b++){n=h.childNodes;for(e=0;l=n[e];e++){if(l.nodeName==g||l.nodeName==a||a=='*'){f[++k]=l}}}}else if(i=="+"){g=a.toUpperCase();for(b=0;c=d[b];b++){while((c=c.nextSibling)&&c.nodeType!=1){}if(c&&(c.nodeName==g||c.nodeName==a||a=='*')){f[++k]=c}}}else if(i=="~"){g=a.toUpperCase();for(b=0;c=d[b];b++){while((c=c.nextSibling)){if(c.nodeName==g||c.nodeName==a||a=='*'){f[++k]=c}}}}return f}function concat(a,b){a.push.apply(a,b);return a}function byTag(a,b){if(a.tagName||a===doc){a=[a]}if(!b){return a}var e=[],f=-1,d,c;b=b.toLowerCase();for(d=0;c=a[d];d++){if(c.nodeType==1&&c.tagName.toLowerCase()==b){e[++f]=c}}return e}function byId(a,c){c=unescapeCssSelector(c);if(a.tagName||a===doc){a=[a]}if(!c){return a}var d=[],f=-1,e,b;for(e=0;b=a[e];e++){if(b&&b.id==c){d[++f]=b;return d}}return d}function byAttribute(l,c,d,m,k){var h=[],n=-1,j=k=="{",e=DQ.operators[m],b,i,g,f,a;d=unescapeCssSelector(d);for(f=0;a=l[f];f++){if(a.nodeType===1){if(!g){i=DQ.isXml(a);g=!0}if(!i){if(j){b=DQ.getStyle(a,c)}else if(c=="class"||c=="className"){b=a.className}else if(c=="for"){b=a.htmlFor}else if(c=="href"){b=a.getAttribute("href",2)}else {b=a.getAttribute(c)}}else {b=a.getAttribute(c)}if((e&&e(b,d))||(!e&&b)){h[++n]=a}}}return h}function byPseudo(c,b,a){a=unescapeCssSelector(a);return DQ.pseudos[b](c,a)}function nodupIEXml(b){var f=++key,e,a,c,d;b[0].setAttribute("_nodup",f);e=[b[0]];for(a=1,c=b.length;a<c;a++){d=b[a];if(!d.getAttribute("_nodup")!=f){d.setAttribute("_nodup",f);e[e.length]=d}}for(a=0,c=b.length;a<c;a++){b[a].removeAttribute("_nodup")}return e}function nodup(a){if(!a){return []}var h=a.length,g,d,e=a,f,i=-1,c,b;if(!h||typeof a.nodeType!="undefined"||h==1){return a}if(isIE&&typeof a[0].selectSingleNode!="undefined"){return nodupIEXml(a)}c=++key;a[0]._nodup=c;for(d=1;g=a[d];d++){if(g._nodup!=c){g._nodup=c}else {e=[];for(b=0;b<d;b++){e[++i]=a[b]}for(b=d+1;f=a[b];b++){if(f._nodup!=c){f._nodup=c;e[++i]=f}}return e}}return e}function quickDiffIEXml(c,d){var f=++key,e=[],a,b;for(a=0,b=c.length;a<b;a++){c[a].setAttribute("_qdiff",f)}for(a=0,b=d.length;a<b;a++){if(d[a].getAttribute("_qdiff")!=f){e[e.length]=d[a]}}for(a=0,b=c.length;a<b;a++){c[a].removeAttribute("_qdiff")}return e}function quickDiff(c,b){var e=c.length,g=++key,d=[],a,f;if(!e){return b}if(isIE&&typeof c[0].selectSingleNode!="undefined"){return quickDiffIEXml(c,b)}for(a=0;a<e;a++){c[a]._qdiff=g}for(a=0,f=b.length;a<f;a++){if(b[a]._qdiff!=g){d[d.length]=b[a]}}return d}function quickId(b,d,c,a){if(b==c){a=unescapeCssSelector(a);var e=c.ownerDocument||c;return e.getElementById(a)}b=getNodes(b,d,"*");return byId(b,a)}return {singleton:!0,alternateClassName:['Ext.core.DomQuery','Ext.DomQuery'],_init:function(){DQ=this;DQ.operators=Ext.Object.chain(Ext.util.Operators);DQ._cache=cache=new Ext.util.LruCache({maxSize:200});DQ._valueCache=valueCache=new Ext.util.LruCache({maxSize:200});DQ._simpleCache=simpleCache=new Ext.util.LruCache({maxSize:200})},clearCache:function(){cache.clear();valueCache.clear();simpleCache.clear()},getStyle:function(b,a){return Ext.fly(b,'_DomQuery').getStyle(a)},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;path=setupEscapes(path);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';path=path.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(path&&lastPath!=path){lastPath=path;tokenMatch=path.match(tagTokenRe);if(type=="select"){if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");'}else {fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}else if(path.substr(0,1)!='@'){fn[fn.length]='n = getNodes(n, mode, "*");'}}else {if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");'}else {fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}}while(!(modeMatch=path.match(modeRe))){matched=!1;for(j=0;j<matchersLn;j++){t=matchers[j];m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(b,a){return m[a]});path=path.replace(m[0],"");matched=!0;break}}if(!matched){Ext.raise({sourceClass:'Ext.DomQuery',sourceMethod:'compile',msg:'Error parsing selector. Parsing failed at "'+path+'"'})}}if(modeMatch[1]){fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";';path=path.replace(modeMatch[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},jsSelect:function(i,c,j){c=c||doc;if(typeof c=="string"){c=doc.getElementById(c)}var g=Ext.splitAndUnescape(i,","),d=[],b,f,h,a,e;for(f=0,h=g.length;f<h;f++){a=g[f].replace(trimRe,"");b=cache.get(a);if(!b){b=DQ.compile(a,j);if(!b){Ext.raise({sourceClass:'Ext.DomQuery',sourceMethod:'jsSelect',msg:a+' is not a valid selector'})}cache.add(a,b)}else {setupEscapes(a)}e=b(c);if(e&&e!==doc){d=d.concat(e)}}if(g.length>1){return nodup(d)}return d},isXml:function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1},select:doc.querySelectorAll?function(b,a,d,c){a=a||doc;if(!DQ.isXml(a)){try{if(a.parentNode&&(a.nodeType!==9)&&b.indexOf(',')===-1&&!startIdRe.test(b)){b=Ext.makeIdSelector(Ext.id(a))+' '+b;a=a.parentNode}return c?[a.querySelector(b)]:Ext.Array.toArray(a.querySelectorAll(b))}catch(e){}}return DQ.jsSelect.call(this,b,a,d)}:function(a,b,c){return DQ.jsSelect.call(this,a,b,c)},selectNode:function(a,b){return Ext.DomQuery.select(a,b,null,!0)[0]},selectValue:function(a,e,d){a=a.replace(trimRe,"");var b=valueCache.get(a),c,f;if(!b){b=DQ.compile(a,"select");valueCache.add(a,b)}else {setupEscapes(a)}c=b(e);return DQ.getNodeValue(c[0]||c,d)},getNodeValue:function(a,c){if(typeof a.normalize=='function'){a.normalize()}var d=a&&a.firstChild,b=d?d.nodeValue:null;if(c!==undefined&&(b==null||b==='')){b=c}return b},selectNumber:function(b,c,a){var d=DQ.selectValue(b,c,a||0);return parseFloat(d)},is:function(a,d){if(typeof a=="string"){a=doc.getElementById(a)}var b=Ext.isArray(a),c=DQ.filter(b?a:[a],d);return b?(c.length==a.length):(c.length>0)},filter:function(d,a,e){a=a.replace(trimRe,"");var b=simpleCache.get(a),c;if(!b){b=DQ.compile(a,"simple");simpleCache.add(a,b)}else {setupEscapes(a)}c=b(d);return e?quickDiff(c,d):c},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}")}};'}],pseudos:{"first-child":function(f){var d=[],e=-1,a,b,c;for(b=0;(c=a=f[b]);b++){while((a=a.previousSibling)&&a.nodeType!=1){}if(!a){d[++e]=c}}return d},"last-child":function(f){var d=[],e=-1,a,b,c;for(b=0;(c=a=f[b]);b++){while((a=a.nextSibling)&&a.nodeType!=1){}if(!a){d[++e]=c}}return d},"nth-child":function(l,c){var g=[],h=-1,k=nthRe.exec(c=="even"&&"2n"||c=="odd"&&"2n+1"||!nthRe2.test(c)&&"n+"+c||c),i=(k[1]||1)-0,f=k[2]-0,e,b,j,a,d;for(e=0;b=l[e];e++){d=b.parentNode;if(batch!=d._batch){j=0;for(a=d.firstChild;a;a=a.nextSibling){if(a.nodeType==1){a.nodeIndex=++j}}d._batch=batch}if(i==1){if(f===0||b.nodeIndex==f){g[++h]=b}}else if((b.nodeIndex+f)%i===0){g[++h]=b}}return g},"only-child":function(e){var c=[],d=-1,b,a;for(b=0;a=e[b];b++){if(!prev(a)&&!next(a)){c[++d]=a}}return c},"empty":function(i){var g=[],h=-1,d,b,f,e,c,a;for(d=0;b=i[d];d++){f=b.childNodes;e=0;a=!0;while(c=f[e]){++e;if(c.nodeType==1||c.nodeType==3){a=!1;break}}if(a){g[++h]=b}}return g},"contains":function(e,f){var c=[],d=-1,b,a;for(b=0;a=e[b];b++){if((a.textContent||a.innerText||a.text||'').indexOf(f)!=-1){c[++d]=a}}return c},"nodeValue":function(e,f){var c=[],d=-1,b,a;for(b=0;a=e[b];b++){if(a.firstChild&&a.firstChild.nodeValue==f){c[++d]=a}}return c},"checked":function(e){var c=[],d=-1,b,a;for(b=0;a=e[b];b++){if(a.checked===!0){c[++d]=a}}return c},"not":function(b,a){return DQ.filter(b,a,!0)},"any":function(i,f){var h=f.split('|'),d=[],g=-1,e,b,a,c;for(b=0;a=i[b];b++){for(c=0;e=h[c];c++){if(DQ.is(a,e)){d[++g]=a;break}}}return d},"odd":function(a){return this["nth-child"](a,"odd")},"even":function(a){return this["nth-child"](a,"even")},"nth":function(b,a){return b[a-1]||[]},"first":function(a){return a[0]||[]},"last":function(a){return a[a.length-1]||[]},"has":function(f,e){var g=DQ.select,c=[],d=-1,b,a;for(b=0;a=f[b];b++){if(g(e,a).length>0){c[++d]=a}}return c},"next":function(h,g){var e=DQ.is,d=[],f=-1,b,a,c;for(b=0;a=h[b];b++){c=next(a);if(c&&e(c,g)){d[++f]=a}}return d},"prev":function(h,g){var e=DQ.is,d=[],f=-1,b,a,c;for(b=0;a=h[b];b++){c=prev(a);if(c&&e(c,g)){d[++f]=a}}return d},focusable:function(c){var e=c.length,d=[],b=0,a;for(;b<e;b++){a=c[b];if(Ext.fly(a,'_DomQuery').isFocusable()){d.push(a)}}return d},visible:function(c,e){var f=c.length,d=[],b=0,a;for(;b<f;b++){a=c[b];if(Ext.fly(a,'_DomQuery').isVisible(e)){d.push(a)}}return d},isScrolled:function(f){var d=[],e=-1,b,a,c;for(b=0;a=f[b];b++){c=Ext.fly(a,'_DomQuery').getScroll();if(c.top>0||c.left>0){d[++e]=a}}return d}}}},function(){this._init()});Ext.define('Ext.data.reader.Xml',{extend:Ext.data.reader.Reader,alternateClassName:'Ext.data.XmlReader',alias:'reader.xml',config:{record:'',namespace:''},responseType:'document',createAccessor:function(a){if(Ext.isEmpty(a)){return Ext.emptyFn}if(Ext.isFunction(a)){return a}return function(b){return this.getNodeValue(Ext.DomQuery.selectNode(a,b))}},getNodeValue:function(a){if(a){if(typeof a.normalize==='function'){a.normalize()}a=a.firstChild;if(a){return a.nodeValue}}return undefined},getResponseData:function(c){var b=c.responseXML,a='XML data not found in the response';if(!b){Ext.Logger.warn(a);return this.createReadError(a)}return b},getData:function(a){return a.documentElement||a},getRoot:function(a){return this.getRootValue(a,this.getRootProperty())},extractData:function(a,c){var b=this.getRecord();if(!b){Ext.raise('Record is a required parameter')}if(b!==a.nodeName){a=Ext.DomQuery.select(b,a)}else {a=[a]}return this.callParent([a,c])},readRecords:function(a,c,b){if(Ext.isArray(a)){a=a[0]}return this.callParent([a,c,b])},createFieldAccessor:function(c){var d=this.getNamespace(),a,e,b;if(c.mapping){a=c.mapping}else {a=(d?d+'|':'')+c.name;e=!0}if(typeof a==='function'){b=function(b,a){return c.mapping(b,a)}}else {if(e&&!d&&Ext.supports.XmlQuerySelector){b=function(d,b){return b.getNodeValue(d.querySelector(a))}}if(!b){b=function(d,b){return b.getNodeValue(Ext.DomQuery.selectNode(a,d))}}}return b},privates:{getGroupRoot:function(a){return this.getRootValue(a,this.getGroupRootProperty())},getRootValue:function(a,b){var c=a.nodeName;if(!b||(c&&c==b)){return a}else if(typeof b==='function'){return b(a)}else if(Ext.DomQuery.isXml(a)){return Ext.DomQuery.selectNode(b,a)}},getSummaryRoot:function(a){return this.getRootValue(a,this.getSummaryRootProperty())}},deprecated:{'5.1.1':{properties:{xmlData:null}}}});Ext.define('Ext.data.writer.Xml',{extend:Ext.data.writer.Writer,alternateClassName:'Ext.data.XmlWriter',alias:'writer.xml',config:{documentRoot:'xmlData',defaultDocumentRoot:'xmlData',header:'',record:'record'},selectorRe:/[^>\s]+/g,writeRecords:function(i,d){var f=this,b=[],a=0,l=d.length,c=f.getDocumentRoot(),g=f.getRecord(),e=g.match(this.selectorRe),j=e.length,k=d.length!==1&&j===1,h;h=this.getTransform();if(h){d=h(d,i)}b.push(f.getHeader()||'');if(!c&&k){c=f.getDefaultDocumentRoot()}if(c){b.push('<',c,'>')}for(a=0;a<j-1;a++){b.push('<',e[a],'>')}g=e[a];for(a=0;a<l;++a){this.objectToElement(g,d[a],b)}for(a=j-2;a>-1;a--){b.push('</',e[a],'>')}if(c){b.push('</',c,'>')}i.setXmlData(b.join(''));return i},objectToElement:function(l,m,b){var a,c,h=[],i,k,g,e,d,j,f;if(!b){b=[]}b.push('<',l);for(a in m){c=m[a];if(a[0]==='@'){b.push(' ',a.substr(1),'="',c,'"')}else {if(typeof c==='object'){this.objectToElement(a,c,h)}else {i=a.match(this.selectorRe);if((k=i.length)>1){d=d||{};for(e=d,g=0;g<k;g++){j=e;f=i[g];e=e[f]||(e[f]={})}j[f]=c}else {h.push('<',a,'>',c,'</',a,'>')}}}}b.push('>');b.push.apply(b,h);if(d){for(a in d){c=d[a];this.objectToElement(a,c,b)}}b.push('</',l,'>');return b}});Ext.define('Ext.data.XmlStore',{extend:Ext.data.Store,alias:'store.xml',constructor:function(a){a=Ext.apply({proxy:{type:'ajax',reader:'xml',writer:'xml'}},a);this.callParent([a])}});Ext.define('Ext.data.identifier.Negative',{extend:Ext.data.identifier.Sequential,alias:'data.identifier.negative',config:{increment:-1,seed:-1}});Ext.define('Ext.data.identifier.Uuid',{extend:Ext.data.identifier.Generator,alias:'data.identifier.uuid',isUnique:!0,config:{id:null},constructor:function(a){this.callParent([a]);this.reconfigure(a)},reconfigure:function(a){var b=this.self;this.generate=(a&&a.version===1)?b.createSequential(a.salt,a.timestamp,a.clockSeq):b.createRandom()},clone:null,statics:{createRandom:function(){var a='xxxxxxxx-xxxx-4xxx-Rxxx-xMxxxxxxxxxx'.split(''),d='0123456789abcdef'.split(''),c=a.length,b=[];return function(){for(var f,e,g=0;g<c;++g){e=a[g];if(e!=='-'&&e!=='4'){f=Math.random()*16;f=(e==='R')?(f&3|8):(f|((e==='M')?1:0));e=d[f]}b[g]=e}return b.join('')}},createSequential:function(f,g,i){var b=[],c=Math.pow(2,32),j=f.lo,h=f.hi,e=g.lo,d=g.hi,a=function(c,b){var a=c.toString(16).toLowerCase();if(a.length>b){a=a.substring(a.length-b)}else if(a.length<b){a=Ext.String.leftPad(a,b,'0')}return a};if(typeof f==='number'){h=Math.floor(f/c);j=Math.floor(f-h*c)}if(typeof g==='number'){d=Math.floor(g/c);e=Math.floor(g-d*c)}h|=256;b[3]=a(128|((i>>>8)&63),2)+a(i&255,2);b[4]=a(h,4)+a(j,8);return function(){b[0]=a(e,8);b[1]=a(d&65535,4);b[2]=a(((d>>>16)&4095)|(1<<12),4);++e;if(e>=c){e=0;++d}return b.join('-')}}}},function(){this.Global=new this({id:'uuid'})});Ext.define('Ext.data.proxy.WebStorage',{extend:Ext.data.proxy.Client,alternateClassName:'Ext.data.WebStorageProxy',config:{id:undefined},constructor:function(a){this.callParent(arguments);this.cache={};if(this.getStorageObject()===undefined){Ext.raise("Local Storage is not supported in this browser, please use another type of data proxy")}if(this.getId()===undefined){Ext.raise("No unique id was provided to the local storage proxy. See Ext.data.proxy.LocalStorage documentation for details")}this.initialize()},create:function(g){var a=this,f=g.getRecords(),i=f.length,h=a.getIds(),c,b,d,e;if(a.isHierarchical===undefined){a.isHierarchical=!!f[0].isNode;if(a.isHierarchical){a.getStorageObject().setItem(a.getTreeKey(),!0)}}for(d=0;d<i;d++){b=f[d];if(b.phantom){e=b.identifier;if(e&&e.isUnique){c=b.getId()}else {c=a.getNextId()}}else {c=b.getId()}a.setRecord(b,c);b.commit();h.push(c)}a.setIds(h);g.setSuccessful(!0)},read:function(a){var e=this,h,f=[],t=!0,j=e.getModel(),r=0,g=a.getRecordCreator(),i,l,n,s,o,b,p,m,d,q,c,k;if(e.isHierarchical){f=e.getTreeData()}else {p=e.getIds();m=p.length;q=a.getId();if(q){d=e.getRecord(q);if(d!==null){b=g?g(d,j):new j(d)}if(b){f.push(b)}else {t=!1}}else {l=a.getSorters();i=a.getFilters();n=a.getLimit();h=[];for(c=0;c<m;c++){d=e.getRecord(p[c]);b=g?g(d,j):new j(d);h.push(b)}if(l){Ext.Array.sort(h,Ext.util.Sorter.createComparator(l))}for(c=a.getStart()||0;c<m;c++){b=h[c];o=!0;if(i){for(k=0,s=i.length;k<s;k++){o=i[k].filter(b)}}if(o){f.push(b);r++}if(n&&r===n){break}}}}if(t){a.setResultSet(new Ext.data.ResultSet({records:f,total:f.length,loaded:!0}));a.setSuccessful(!0)}else {a.setException('Unable to load records')}},update:function(e){var f=e.getRecords(),g=f.length,d=this.getIds(),a,b,c;for(c=0;c<g;c++){a=f[c];this.setRecord(a);a.commit();b=a.getId();if(b!==undefined&&Ext.Array.indexOf(d,b)===-1){d.push(b)}}this.setIds(d);e.setSuccessful(!0)},erase:function(e){var c=this,f=e.getRecords(),h=c.getIds(),i=h.length,g=[],d={},a=f.length,b;for(;a--;){Ext.apply(d,c.removeRecord(f[a]))}for(a=0;a<i;a++){b=h[a];if(!d[b]){g.push(b)}}c.setIds(g);e.setSuccessful(!0)},getRecord:function(a){var c=this,d=c.cache,b=!d[a]?Ext.decode(c.getStorageObject().getItem(c.getRecordKey(a))):d[a];if(!b){return null}d[a]=b;b[c.getModel().prototype.idProperty]=a;return Ext.merge({},b)},setRecord:function(c,e){if(e){c.set('id',e,{commit:!0})}else {e=c.getId()}var f=this,m=c.getData(),d={},l=f.getModel(),k=l.getFields(),n=k.length,j=0,a,g,i,h,b;for(;j<n;j++){a=k[j];g=a.name;if(a.persist){b=m[g];if(a.isDateField&&a.dateFormat&&Ext.isDate(b)){b=Ext.Date.format(b,a.dateFormat)}else if(a.serialize){b=a.serialize(b,c)}d[g]=b}}delete d[l.prototype.idProperty];if(c.isNode&&c.get('depth')===1){delete d.parentId}i=f.getStorageObject();h=f.getRecordKey(e);f.cache[e]=d;i.removeItem(h);i.setItem(h,Ext.encode(d))},removeRecord:function(a){var b=this,e=a.getId(),d={},f,c;d[e]=a;b.getStorageObject().removeItem(b.getRecordKey(e));delete b.cache[e];if(a.childNodes){c=a.childNodes;for(f=c.length;f--;){Ext.apply(d,b.removeRecord(c[f]))}}return d},getRecordKey:function(a){if(a.isModel){a=a.getId()}return Ext.String.format("{0}-{1}",this.getId(),a)},getRecordCounterKey:function(){return Ext.String.format("{0}-counter",this.getId())},getTreeKey:function(){return Ext.String.format("{0}-tree",this.getId())},getIds:function(){var d=this,a=(d.getStorageObject().getItem(d.getId())||"").split(","),c=a.length,e=this.getIdField().isStringField,b;if(c===1&&a[0]===""){a=[]}else {for(b=0;b<c;b++){a[b]=e?a[b]:+a[b]}}return a},getIdField:function(){return this.getModel().prototype.idField},setIds:function(d){var a=this.getStorageObject(),b=d.join(","),c=this.getId();a.removeItem(c);if(!Ext.isEmpty(b)){a.setItem(c,b)}},getNextId:function(){var b=this,e=b.getStorageObject(),d=b.getRecordCounterKey(),c=b.getIdField().isStringField,a;a=b.idGenerator.generate();e.setItem(d,a);if(c){a=a+''}return a},getTreeData:function(){var f=this,n=f.getIds(),i=n.length,d=[],k={},c=[],b=0,m=f.getModel(),o=m.prototype.idProperty,g,a,e,h,l,j;for(;b<i;b++){j=n[b];a=f.getRecord(j);d.push(a);k[j]=a;if(!a.parentId){c.push(a)}}g=c.length;Ext.Array.sort(d,f.sortByParentId);for(b=g;b<i;b++){a=d[b];h=a.parentId;if(!e||e[o]!==h){e=k[h];e.children=l=[]}l.push(a)}for(b=i;b--;){a=d[b];if(!a.children&&!a.leaf){a.loaded=!0}}for(b=g;b--;){a=c[b];c[b]=new m(a)}return c},sortByParentId:function(a,b){return (a.parentId||0)-(b.parentId||0)},initialize:function(){var a=this,b=a.getStorageObject(),c=+b.getItem(a.getRecordCounterKey()),d=a.getId();b.setItem(d,b.getItem(d)||"");if(b.getItem(a.getTreeKey())){a.isHierarchical=!0}a.idGenerator=new Ext.data.identifier.Sequential({seed:c?c+1:1})},clear:function(){var a=this,b=a.getStorageObject(),d=a.getIds(),e=d.length,c;for(c=0;c<e;c++){b.removeItem(a.getRecordKey(d[c]))}b.removeItem(a.getRecordCounterKey());b.removeItem(a.getTreeKey());b.removeItem(a.getId());a.cache={}},getStorageObject:function(){Ext.raise("The getStorageObject function has not been defined in your Ext.data.proxy.WebStorage subclass")}});Ext.define('Ext.data.proxy.LocalStorage',{extend:Ext.data.proxy.WebStorage,alias:'proxy.localstorage',alternateClassName:'Ext.data.LocalStorageProxy',getStorageObject:function(){return window.localStorage}});Ext.define('Ext.data.proxy.Rest',{extend:Ext.data.proxy.Ajax,alternateClassName:'Ext.data.RestProxy',alias:'proxy.rest',defaultActionMethods:{create:'POST',read:'GET',update:'PUT',destroy:'DELETE'},slashRe:/\/$/,periodRe:/\.$/,config:{appendId:!0,format:null,batchActions:!1,actionMethods:{create:'POST',read:'GET',update:'PUT',destroy:'DELETE'}},buildUrl:function(c){var a=this,g=c.getOperation(),h=g.getRecords(),f=h?h[0]:null,i=a.getFormat(),b=a.getUrl(c),d,e;if(f&&!f.phantom){d=f.getId()}else {d=g.getId()}if(a.getAppendId()&&a.isValidId(d)){if(!b.match(a.slashRe)){b+='/'}b+=encodeURIComponent(d);e=c.getParams();if(e){delete e[a.getIdParam()]}}if(i){if(!b.match(a.periodRe)){b+='.'}b+=i}c.setUrl(b);return a.callParent([c])},isValidId:function(a){return a||a===0}});Ext.define('Ext.data.proxy.SessionStorage',{extend:Ext.data.proxy.WebStorage,alias:'proxy.sessionstorage',alternateClassName:'Ext.data.SessionStorageProxy',getStorageObject:function(){return window.sessionStorage}});Ext.define('Ext.data.summary.Base',{mixins:[Ext.mixin.Factoryable],alias:'data.summary.base',isAggregator:!0,factoryConfig:{defaultType:'base',cacheable:!0},constructor:function(a){var b=a&&a.calculate;if(b){a=Ext.apply({},a);delete a.calculate;this.calculate=b}this.initConfig(a)},extractValue:function(a,d,b){var c;if(a){if(b){a=a[b]}c=a[d]}return c}},function(){Ext.Factory.on('dataSummary',function(b,a){if(typeof a==='function'){return b({calculate:a})}})});Ext.define('Ext.data.summary.Sum',{extend:Ext.data.summary.Base,alias:'data.summary.sum',calculate:function(f,e,g,d,h){var i=h-d,a,b,c;for(a=0;a<i;++a){c=this.extractValue(f[d+a],e,g);b=a?b+c:c}return b}});Ext.define('Ext.data.summary.Average',{extend:Ext.data.summary.Sum,alias:'data.summary.average',calculate:function(f,e,g,a,c){var d=c-a,b;if(d>0){b=this.callParent([f,e,g,a,c])/d}return b}});Ext.define('Ext.data.summary.Count',{extend:Ext.data.summary.Base,alias:'data.summary.count',calculate:function(d,c,e,a,b){return b-a}});Ext.define('Ext.data.summary.Max',{extend:Ext.data.summary.Base,alias:'data.summary.max',calculate:function(e,d,g,f,h){var b=this.extractValue(e[f],d,g),a,c;for(a=f;a<h;++a){c=this.extractValue(e[a],d,g);if(c>b){b=c}}return b}});Ext.define('Ext.data.summary.Min',{extend:Ext.data.summary.Base,alias:'data.summary.min',calculate:function(e,d,g,f,h){var b=this.extractValue(e[f],d,g),a,c;for(a=f;a<h;++a){c=this.extractValue(e[a],d,g);if(c<b){b=c}}return b}});Ext.define('Ext.data.validator.AbstractDate',{extend:Ext.data.validator.Validator,config:{message:null,format:''},applyFormat:function(a){if(!a){a=this.getDefaultFormat()}if(!Ext.isArray(a)){a=[a]}return a},parse:function(b){if(Ext.isDate(b)){return b}var f=this,d=f.getFormat(),e=d.length,c=null,a;for(a=0;a<e&&!c;++a){c=Ext.Date.parse(b,d[a],!0)}return c},validate:function(a){return this.parse(a)?!0:this.getMessage()}});Ext.define('Ext.data.validator.Bound',{extend:Ext.data.validator.Validator,alias:'data.validator.bound',type:'bound',config:{min:undefined,max:undefined,emptyMessage:'Must be present',minOnlyMessage:'Value must be greater than {0}',maxOnlyMessage:'Value must be less than {0}',bothMessage:'Value must be between {0} and {1}'},resetMessages:function(){this._bothMsg=this._minMsg=this._maxMsg=null},updateMin:function(){this.resetMessages()},updateMax:function(){this.resetMessages()},updateMinOnlyMessage:function(){this.resetMessages()},updateMaxOnlyMessage:function(){this.resetMessages()},updateBothMessage:function(){this.resetMessages()},validate:function(b){var a=this,e=a.getMin(),d=a.getMax(),g=(e!=null),f=(d!=null),c=this.validateValue(b);if(c!==!0){return c}b=a.getValue(b);if(g&&f){if(b<e||b>d){c=a._bothMsg||(a._bothMsg=Ext.String.format(a.getBothMessage(),e,d))}}else if(g){if(b<e){c=a._minMsg||(a._minMsg=Ext.String.format(a.getMinOnlyMessage(),e))}}else if(f){if(b>d){c=a._maxMsg||(a._maxMsg=Ext.String.format(a.getMaxOnlyMessage(),d))}}return c},validateValue:function(a){if(a===undefined||a===null){return this.getEmptyMessage()}return !0},getValue:Ext.identityFn});Ext.define('Ext.data.validator.Format',{extend:Ext.data.validator.Validator,alias:'data.validator.format',type:'format',config:{message:'Is in the wrong format',matcher:undefined},constructor:function(){this.callParent(arguments);if(!this.getMatcher()){Ext.raise('validator.Format must be configured with a matcher')}},validate:function(c){var a=this.getMatcher(),b=a&&a.test(c);return b?b:this.getMessage()}});Ext.define('Ext.data.validator.CIDRv4',{extend:Ext.data.validator.Format,alias:'data.validator.cidrv4',type:'cidrv4',message:'Is not a valid CIDR block',matcher:/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$/});Ext.define('Ext.data.validator.CIDRv6',{extend:Ext.data.validator.Format,alias:'data.validator.cidrv6',type:'cidrv6',message:'Is not a valid CIDR block',matcher:/^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$/});Ext.define('Ext.data.validator.Number',{extend:Ext.data.validator.Validator,alias:'data.validator.number',type:'number',config:{decimalSeparator:undefined,message:'Is not a valid number',thousandSeparator:undefined},constructor:function(a){this.callParent([a]);this.rebuildMatcher()},applyDecimalSeparator:function(a){return a===undefined?Ext.util.Format.decimalSeparator:a},updateDecimalSeparator:function(){this.rebuildMatcher()},applyThousandSeparator:function(a){return a===undefined?Ext.util.Format.thousandSeparator:a},updateThousandSeparator:function(){this.rebuildMatcher()},parse:function(a){var c=this.getDecimalSeparator(),b=Ext.Number;if(typeof a==='string'){if(!this.matcher.test(a)){return null}a=this.parseValue(a)}return c?b.parseFloat(a):b.parseInt(a)},validate:function(a){return this.parse(a)===null?this.getMessage():!0},privates:{getMatcherText:function(d){var c=this.getThousandSeparator(),b=this.getDecimalSeparator(),a='(?:';if(c){c=Ext.String.escapeRegex(c);a+='(?:\\d{1,3}('+c+'\\d{3})*)|'}a+='\\d*)';if(b){b=Ext.String.escapeRegex(b);a+='(?:'+b+'\\d*)?'}if(!d){a=this.getSignPart()+a}return a},getSignPart:function(){return '(\\+|\\-)?'},parseValue:function(a){var c=this.thousandMatcher,b;if(c){a=a.replace(c,'')}b=this.getDecimalSeparator();if(b&&b!=='.'){a=a.replace(b,'.')}return a},rebuildMatcher:function(){var a=this,b;if(!a.isConfiguring){b=a.getThousandSeparator();a.matcher=new RegExp('^'+a.getMatcherText()+'$');if(b){a.thousandMatcher=b?new RegExp(Ext.String.escapeRegex(b),'g'):null}}}}});Ext.define('Ext.data.validator.Currency',{extend:Ext.data.validator.Number,alias:'data.validator.currency',type:'currency',config:{symbolAtEnd:undefined,spacer:undefined,symbol:undefined},message:'Is not a valid currency amount',applySymbolAtEnd:function(a){return a===undefined?Ext.util.Format.currencyAtEnd:a},updateSymbolAtEnd:function(){this.rebuildMatcher()},applySpacer:function(a){return a===undefined?Ext.util.Format.currencySpacer:a},updateSpacer:function(){this.rebuildMatcher()},applySymbol:function(a){return a===undefined?Ext.util.Format.currencySign:a},updateSymbol:function(){this.rebuildMatcher()},privates:{getMatcherText:function(){var b=this,a=b.callParent([!0]),c=b.getSymbolMatcher();if(b.getSymbolAtEnd()){a+=c}else {a=c+a}return b.getSignPart()+a},getSymbolMatcher:function(){var b=Ext.String.escapeRegex(this.getSymbol()),a=Ext.String.escapeRegex(this.getSpacer()||''),c=this.getSymbolAtEnd()?(a+b):(b+a);return '(?:'+c+')?'},parseValue:function(a){a=a.replace(this.currencyMatcher,this.atEnd?'':'$1');return this.callParent([a])},rebuildMatcher:function(){var a=this,b,c,d;a.callParent();if(!a.isConfiguring){c=a.getSymbolAtEnd();b=a.getSymbolMatcher();d=a.getSignPart();a.atEnd=c;a.currencyMatcher=new RegExp(c?(b+'$'):('^'+d+b))}}}});Ext.define('Ext.data.validator.CurrencyUS',{extend:Ext.data.validator.Currency,alias:'data.validator.currency-us',type:'currency-us',thousandSeparator:',',decimalSeparator:'.',symbol:'$',spacer:'',symbolAtEnd:!1});Ext.define('Ext.data.validator.Date',{extend:Ext.data.validator.AbstractDate,alias:'data.validator.date',type:'date',isDateValidator:!0,message:'Is not a valid date',privates:{getDefaultFormat:function(){return [Ext.Date.defaultFormat,'m/d/Y','n/j/Y','n/j/y','m/j/y','n/d/y','m/j/Y','n/d/Y','m-d-y','n-d-y','m-d-Y','mdy','mdY','Y-m-d']}}});Ext.define('Ext.data.validator.DateTime',{extend:Ext.data.validator.AbstractDate,alias:'data.validator.datetime',type:'datetime',isDateTimeValidator:!0,message:'Is not a valid date and time',privates:{getDefaultFormat:function(){var a=Ext.Date;return a.defaultFormat+' '+a.defaultTimeFormat}}});Ext.define('Ext.data.validator.Email',{extend:Ext.data.validator.Format,alias:'data.validator.email',type:'email',message:'Is not a valid email address',matcher:/^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+\/=?\^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/});Ext.define('Ext.data.validator.List',{extend:Ext.data.validator.Validator,alias:'data.validator.list',type:'list',config:{list:null,message:null},inclusion:null,validate:function(e){var b=Ext.Array.contains(this.getList(),e),a=this.inclusion,d=!a,c;c=(a&&b)||(d&&!b);return c||this.getMessage()}});Ext.define('Ext.data.validator.Exclusion',{extend:Ext.data.validator.List,alias:'data.validator.exclusion',type:'exclusion',message:'Is a value that has been excluded',constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.raise('validator.Exclusion requires a list')}},inclusion:!1});Ext.define('Ext.data.validator.IPAddress',{extend:Ext.data.validator.Format,alias:'data.validator.ipaddress',type:'ipaddress',message:'Is not a valid IP address',matcher:new RegExp('^('+'((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'+'|'+'((([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))'+')$')});Ext.define('Ext.data.validator.Inclusion',{extend:Ext.data.validator.List,alias:'data.validator.inclusion',type:'inclusion',message:'Is not in the list of acceptable values',constructor:function(){this.callParent(arguments);if(!this.getList()){Ext.raise('validator.Inclusion requires a list')}},inclusion:!0});Ext.define('Ext.data.validator.Length',{extend:Ext.data.validator.Bound,alias:'data.validator.length',type:'length',minOnlyMessage:'Length must be at least {0}',maxOnlyMessage:'Length must be no more than {0}',bothMessage:'Length must be between {0} and {1}',getValue:function(a){return String(a).length}});Ext.define('Ext.data.validator.Presence',{extend:Ext.data.validator.Validator,alias:'data.validator.presence',type:'presence',isPresence:!0,config:{message:'Must be present',allowEmpty:!1},validate:function(b){var a=!(b===undefined||b===null);if(a&&!this.getAllowEmpty()){a=b!==''}return a?!0:this.getMessage()}});Ext.define('Ext.data.validator.NotNull',{extend:Ext.data.validator.Presence,alias:'data.validator.notnull',type:'notnull',allowEmpty:!0});Ext.define('Ext.data.validator.Phone',{extend:Ext.data.validator.Format,alias:'data.validator.phone',type:'phone',message:'Is not a valid phone number',matcher:new RegExp('^ *'+'(?:'+'\\+?'+'(\\d{1,3})'+'[- .]?'+')?'+'(?:'+'(?:'+'(\\d{3})'+'|'+'\\((\\d{3})\\)'+')?'+'[- .]?'+')'+'(?:'+'([2-9]\\d{2})'+'[- .]?'+')'+'(\\d{4})'+'(?: *(?:e?xt?) *(\\d*))?'+' *$')});Ext.define('Ext.data.validator.Range',{extend:Ext.data.validator.Bound,alias:'data.validator.range',type:'range',minOnlyMessage:'Must be at least {0}',maxOnlyMessage:'Must be no more than than {0}',bothMessage:'Must be between {0} and {1}',config:{nanMessage:'Must be numeric'},validateValue:function(b){var a=this.callParent([b]);if(a===!0&&isNaN(b)){a=this.getNanMessage()}return a}});Ext.define('Ext.data.validator.Time',{extend:Ext.data.validator.AbstractDate,alias:'data.validator.time',type:'time',isTimeValidator:!0,message:'Is not a valid time',privates:{getDefaultFormat:function(){return Ext.Date.defaultTimeFormat}}});Ext.define('Ext.data.validator.Url',{extend:Ext.data.validator.Format,alias:'data.validator.url',type:'url',message:'Is not a valid URL',matcher:/^(http:\/\/|https:\/\/|ftp:\/\/|\/\/)([-a-zA-Z0-9@:%_\+.~#?&//=])+$/});Ext.define('Ext.data.virtual.Group',{isVirtualGroup:!0,firstRecords:null,id:'',summaryRecord:null,constructor:function(a){this.id=a;this.firstRecords=[]},first:function(){return this.firstRecords[0]||null},getGroupKey:function(){return this.id},getSummaryRecord:function(){return this.summaryRecord}});Ext.define('Ext.data.virtual.Page',{isVirtualPage:!0,begin:0,end:0,error:null,locked:null,number:0,operation:null,pageMap:null,records:null,state:null,constructor:function(c){var a=this,b;Ext.apply(a,c);b=a.pageMap.store.getPageSize();a.begin=a.number*b;a.end=a.begin+b;a.locks={active:0,prefetch:0}},destroy:function(){var a=this,b=a.operation;a.state='destroyed';if(b){b.abort()}a.callParent()},adjustLock:function(e,c){var b=this,d=b.locks,g=b.pageMap,a=null,f=b.locked;if(!(e in d)){Ext.raise('Bad lock type (expected "active" or "prefetch"): "'+e+'"')}if(c!==1&&c!==-1){Ext.raise('Invalid lock count delta (should be 1 or -1): '+c)}d[e]+=c;if(d.active){a='active'}else if(d.prefetch){a='prefetch'}if(a!==f){b.locked=a;if(g){g.onPageLockChange(b,a,f)}}},clearRecords:function(d,e){var f=this,g=f.begin,b=f.records,a,c;if(b){c=b.length;if(e){for(a=0;a<c;++a){delete d[b[a][e]]}}else {for(a=0;a<c;++a){delete d[g+a]}}}},fillRecords:function(f,g,i){var h=this,b=h.records,e=h.begin,a,d,c;if(b){d=b.length;if(g){for(a=0;a<d;++a){c=b[a];f[c[g]]=i?e+a:c}}else {for(a=0;a<d;++a){f[e+a]=b[a]}}}},isInitial:function(){return this.state===null},isLoaded:function(){return this.state==='loaded'},isLoading:function(){return this.state==='loading'},load:function(){var a=this,b;a.state='loading';b=a.pageMap.store.loadVirtualPage(a,a.onLoad,a);if(a.state==='loading'){a.operation=b}},privates:{onLoad:function(b){var a=this;a.operation=null;if(!a.destroyed){if(!(a.error=b.getError())){a.records=b.getRecords();a.state='loaded'}else {a.state='error'}a.pageMap.onPageLoad(a)}}}});Ext.define('Ext.data.virtual.PageMap',{isVirtualPageMap:!0,config:{cacheSize:10,concurrentLoading:1,pageCount:null},generation:0,store:null,constructor:function(b){var a=this;a.prefetchSortFn=a.prefetchSortFn.bind(a);a.initConfig(b);a.clear()},destroy:function(){this.clear(!0);this.callParent()},canSatisfy:function(b){var c=this.getPageIndex(b.end),a=this.getPageCount();return a===null||c<a},clear:function(e){var a=this,b=!e||null,c=a.pages,d;++a.generation;a.byId=b&&{};a.byInternalId=b&&{};a.cache=b&&[];a.indexMap=b&&{};a.pages=b&&{};a.loading=b&&[];a.loadQueues=b&&{active:[],prefetch:[]};if(c){for(d in c){a.destroyPage(c[d])}}},getPage:function(a,f){var d=this,c=d.getPageCount(),e=d.pages,b;if(c===null||a<c){b=e[a];if(!b&&f!==!1){e[a]=b=new Ext.data.virtual.Page({pageMap:d,number:a})}}else {Ext.raise('Invalid page number '+a+' when limit is '+c)}return b||null},getPageIndex:function(a){if(a.isEntity){a=this.indexOf(a)}return Math.floor(a/this.store.getPageSize())},getPageOf:function(c,a){var b=this.store.getPageSize(),d=Math.floor(c/b);return this.getPage(d,a)},getPages:function(d,g){var b=this.store.getPageSize(),e=Math.floor(d/b),f=Math.ceil(g/b),c={},a;for(a=e;a<f;++a){c[a]=this.getPage(a)}return c},flushNextLoad:function(){var b=this,a=b.queueTimer;if(a){Ext.unasap(a)}b.loadNext()},indexOf:function(b){var a=this.indexMap[b.internalId];return (a||a===0)?a:-1},getByInternalId:function(c){var a=this.indexMap[c],b;if(a||a===0){b=this.pages[Math.floor(a/this.store.getPageSize())];if(b){return b.records[a-b.begin]}}},updatePageCount:function(d,b){var e=this.pages,c,a;if(b===null||d<b){for(c in e){a=e[c];if(a.number>=d){this.clearPage(a);this.destroyPage(a)}}}},privates:{queueTimer:null,clearPage:function(a,e){var b=this,d=Ext.Array,c=b.loadQueues;delete b.pages[a.number];a.clearRecords(b.byId,'id');a.clearRecords(b.byInternalId,'internalId');a.clearRecords(b.indexMap,'internalId');d.remove(c.active,a);d.remove(c.prefetch,a);if(!e){Ext.Array.remove(b.cache,a)}},destroyPage:function(a){this.store.onPageDestroy(a);a.destroy()},loadNext:function(){var a=this,e=a.getConcurrentLoading(),d=a.loading,c=a.loadQueues,b;a.queueTimer=null;while(d.length<e){if(!(b=c.active.shift()||c.prefetch.shift())){break}d.push(b);b.load()}},onPageLoad:function(a){var b=this,e=b.store,d=e.activeRanges,f=d.length,c;Ext.Array.remove(b.loading,a);if(!a.error){a.fillRecords(b.byId,'id');a.fillRecords(b.byInternalId,'internalId');a.fillRecords(b.indexMap,'internalId',!0);e.onPageDataAcquired(a);for(c=0;c<f;++c){d[c].onPageLoad(a)}}b.flushNextLoad()},onPageLockChange:function(b,e,d){var a=this,c=a.cache,g=a.loadQueues,i=a.store,h,f;if(b.isInitial()){if(d){Ext.Array.remove(g[d],b)}if(e){g[e].push(b);f=a.getConcurrentLoading();if(!a.queueTimer&&a.loading.length<f){a.queueTimer=Ext.asap(a.loadNext,a)}}}if(e){if(!d){Ext.Array.remove(c,b)}}else {c.push(b);for(h=a.getCacheSize();c.length>h;){b=c.shift();a.clearPage(b,!0);i.onPageEvicted(b);a.destroyPage(b)}}},prefetchSortFn:function(a,b){a=a.number;b=b.number;var d=Math,c=this.sortFirstPage,g=this.sortLastPage,f=this.sortDirection,h=a<c,i=b<c,e;a=h?d.abs(c-a):d.abs(g-a);b=i?d.abs(c-b):d.abs(g-b);if(a===b){e=h?f:-f}else {e=a-b}return e},prioritizePrefetch:function(b,c,d){var a=this;a.sortDirection=b;a.sortFirstPage=c;a.sortLastPage=d;a.loadQueues.prefetch.sort(a.prefetchSortFn)}}});Ext.define('Ext.data.virtual.Range',{extend:Ext.data.Range,isVirtualRange:!0,callback:null,prefetch:!1,scope:null,direction:1,constructor:function(a){this.adjustingPages=[];this.callParent([a])},reset:function(){var a=this;a.records={};a.activePages=a.prefetchPages=null},privates:{adjustPageLocks:function(f,e){var b=this,a=b.adjustingPages,d=a.length,c;if(d>1){a.sort(b.direction<0?b.pageSortBackFn:b.pageSortFwdFn)}for(c=0;c<d;++c){a[c].adjustLock(f,e)}a.length=0},doGoto:function(){var a=this,c=a.begin,g=a.end,v=a.prefetch,s=a.records,u=a.store,j=u.pageMap,p=u.totalCount,l=a.lastBegin,t=a.lastEnd,f=a.activePages,e=a.prefetchPages,m=a.trailingBufferZone,n=a.leadingBufferZone,h=a.adjustingPages,o,k,b,i,q,r,d;h.length=0;if((c>l&&g<t)||(c<l&&g>t)){i=a.direction}else {i=(c<l)?-1:((c>l)?1:a.direction)}if(i<0){b=m;m=n;n=b}a.direction=i;a.activePages=o=j.getPages(c,g);if(v){a.prefetchBegin=q=Math.max(0,c-m);if(p===null){p=Number.MAX_VALUE}a.prefetchEnd=r=Math.min(p,g+n);a.prefetchPages=d=j.getPages(q,r)}for(b in o){k=o[b];if(d){delete d[b]}if(f&&b in f){delete f[b]}else {k.adjustLock('active',1);k.fillRecords(s)}}if(d){for(b in d){if(e&&b in e){delete e[b]}else {d[b].adjustLock('prefetch',1)}}}if(e){for(b in e){h.push(e[b])}if(h.length){a.adjustPageLocks('prefetch',-1)}}if(f){for(b in f){h.push(k=f[b]);k.clearRecords(s)}if(h.length){a.adjustPageLocks('active',-1)}}if(d){j.prioritizePrefetch(i,j.getPageIndex(c),j.getPageIndex(g-1))}a.lastBegin=c;a.lastEnd=g},onPageDestroy:function(d){var c=d.number,b=this.activePages,a=this.prefetchPages;if(b){delete b[c]}if(a){delete a[c]}},onPageLoad:function(b){var a=this,c=a.callback,d,e;if(a.activePages[b.number]){b.fillRecords(a.records);if(c){d=Math.max(a.begin,b.begin);e=Math.min(a.end,b.end);Ext.callback(c,a.scope,[a,d,e])}}},pageSortBackFn:function(a,b){return b.number-a.number},pageSortFwdFn:function(a,b){return a.number-b.number},refresh:function(){this.records=this.records||{}},reload:function(){var a=this,b=a.begin,c=a.end;a.begin=a.end=0;a.direction=1;a.prefetchPages=a.activePages=null;a.goto(b,c)}}});Ext.define('Ext.data.virtual.Store',{extend:Ext.data.ProxyStore,alias:'store.virtual',isVirtualStore:!0,config:{data:null,totalCount:null,leadingBufferZone:200,trailingBufferZone:50},remoteSort:!0,remoteFilter:!0,sortOnLoad:!1,trackRemoved:!1,constructor:function(b){var a=this;a.sortByPage=a.sortByPage.bind(a);a.activeRanges=[];a.pageMap=new Ext.data.virtual.PageMap({store:a});a.callParent([b])},doDestroy:function(){this.pageMap.destroy();this.callParent()},applyGrouper:function(a){this.group(a);return this.grouper},contains:function(a){return this.indexOf(a)>-1},createActiveRange:function(a){var b=Ext.apply({leadingBufferZone:this.getLeadingBufferZone(),trailingBufferZone:this.getTrailingBufferZone(),store:this},a);return new Ext.data.virtual.Range(b)},getAt:function(b){var a=this.pageMap.getPageOf(b,!1),c;if(a&&a.records){c=a.records[b-a.begin]}return c||null},getById:function(a){return this.pageMap.byId[a]||null},getCount:function(){return this.totalCount||0},getGrouper:function(){return this.grouper},getGroups:function(){var b=this,a=b.groupCollection;if(!a){b.groupCollection=a=new Ext.util.Collection()}return a},getSummaryRecord:function(){return this.summaryRecord||null},isGrouped:function(){return !!this.grouper},group:function(a,c){var b=this;a=a||null;if(a){if(typeof a==='string'){a={property:a,direction:c||'ASC'}}if(!a.isGrouper){a=new Ext.util.Grouper(a)}a.setRoot('data');b.getGroups().getSorters().splice(0,1,{property:'id',direction:a.getDirection()})}b.grouper=a;if(!b.isConfiguring){b.reload();b.fireEvent('groupchange',b,a)}},getByInternalId:function(a){return this.pageMap.getByInternalId(a)},indexOf:function(a){return this.pageMap.indexOf(a)},indexOfId:function(b){var a=this.getById(b);return a?this.indexOf(a):-1},load:function(a){if(typeof a==='function'){a={callback:a}}var b=this,e=(a&&a.page)||1,d=b.getPageSize(),c=b.createOperation('read',Ext.apply({start:(e-1)*d,limit:d,page:e,filters:b.getFilters().items,sorters:b.getSorters().items,grouper:b.getGrouper()},a));c.execute();return c},reload:function(a){if(typeof a==='function'){a={callback:a}}var b=this;if(b.fireEvent('beforereload')===!1){return null}a=Ext.apply({internalScope:b,internalCallback:b.handleReload,page:1},a);b.pageMap.clear();b.getGroups().clear();return b.load(a)},removeAll:function(){var b=this.activeRanges,a;this.pageMap.clear();for(a=b.length;a-->0;){b[a].reset()}},applyProxy:function(a){a=this.callParent([a]);if(a&&a.setEnablePaging){a.setEnablePaging(!0)}return a},createFiltersCollection:function(){return new Ext.util.FilterCollection()},createSortersCollection:function(){return new Ext.util.SorterCollection()},onFilterEndUpdate:function(){var a=this,b=a.getFilters(!1);if(!a.isConfiguring){a.reload();a.fireEvent('filterchange',a,b.getRange())}},onSorterEndUpdate:function(){var a=this,b=a.getSorters().getRange(),c=!a.isConfiguring;if(c){a.fireEvent('beforesort',a,b)}if(c){a.reload();a.fireEvent('sort',a,b)}},updatePageSize:function(b){var a=this.totalCount;if(a!==null){this.pageMap.setPageCount(Math.ceil(a/b))}},updateTotalCount:function(b,c){var a=this,d=a.pageMap;a.totalCount=b;d.setPageCount(Math.ceil(b/a.getPageSize()));a.fireEvent('totalcountchange',a,b,c)},add:function(){Ext.raise('Virtual stores do not support the add() method')},insert:function(){Ext.raise('Virtual stores do not support the insert() method')},filter:function(){if(!this.getRemoteFilter()){Ext.raise('Virtual stores do not support local filtering')}this.callParent(arguments)},filterBy:function(){Ext.raise('Virtual stores do not support local filtering')},loadData:function(){Ext.raise('Virtual stores do not support the loadData() method')},applyData:function(){Ext.raise('Virtual stores do not support direct data loading')},updateRemoteFilter:function(a,b){if(a===!1){Ext.raise('Virtual stores are always remotely filtered.')}this.callParent([a,b])},updateRemoteSort:function(a,b){if(a===!1){Ext.raise('Virtual stores are always remotely sorted.')}this.callParent([a,b])},updateTrackRemoved:function(a){if(a!==!1){Ext.raise('Virtual stores do not support trackRemoved.')}this.callParent(arguments)},privates:{attachSummaryData:function(f){var e=this,a=f.getSummaryData(),c,h,b,g,d;if(a){e.summaryRecord=a}a=f.getGroupData();if(a){c=e.getGrouper();if(c){e.groupSummaryData=g={};for(b=0,h=a.length;b<h;++b){d=a[b];g[c.getGroupString(d)]=d}}}},handleReload:function(d){var a=this,e=a.activeRanges,g=e.length,f=a.pageMap,b,c;if(d.wasSuccessful()){a.readTotalCount(d.getResultSet());a.fireEvent('reload',a,d);for(b=0;b<g;++b){c=e[b];if(f.canSatisfy(c)){c.reload()}}}},loadVirtualPage:function(b,d,e){var a=this,c=a.pageMap.generation;return a.load({page:b.number+1,internalCallback:function(f){var g=f.getResultSet();if(c===a.pageMap.generation){if(f.wasSuccessful()){a.readTotalCount(g);a.attachSummaryData(g)}d.call(e||b,f);a.groupSummaryData=null}}})},lockGroups:function(m,h){var l=this.getGroups(),j=h.groupInfo={},k=h.records,o=k.length,i=this.groupSummaryData,n=this.pageMap,p=h.number,b,e,a,f,c,d,g;for(e=0;e<o;++e){c=k[e];a=m.getGroupString(c);if(!j[a]){j[a]=c;b=l.get(a);if(!b){b=new Ext.data.virtual.Group(a);l.add(b)}d=b.firstRecords;g=d[0];if(g&&p<n.getPageIndex(g)){d.unshift(c)}else {d.push(c)}f=i&&i[a];if(f){b.summaryRecord=f}}}},onPageDataAcquired:function(b){var a=this.getGrouper();if(a){this.lockGroups(a,b)}},onPageDestroy:function(c){var b=this.activeRanges,d=b.length,a;for(a=0;a<d;++a){b[a].onPageDestroy(c)}},onPageEvicted:function(b){var a=this.getGrouper();if(a){this.releaseGroups(a,b)}},readTotalCount:function(b){var a=b.getRemoteTotal();if(!isNaN(a)){this.setTotalCount(a)}},releaseGroups:function(h,g){var f=this.getGroups(),e=g.groupInfo,b,a,d,c;for(d in e){b=e[d];c=f.get(d);a=c.firstRecords;if(a.length===1){f.remove(c)}else if(a[0]===b){a.shift();a.sort(this.sortByPage)}else {Ext.Array.remove(a,b)}}},sortByPage:function(b,c){var a=this.pageMap;return a.getPageIndex(b)-a.getPageIndex(c)}}});Ext.define('Ext.direct.Event',{alias:'direct.event',status:!0,constructor:function(a){Ext.apply(this,a)},getName:function(){return this.name},getData:function(){return this.data}});Ext.define('Ext.direct.RemotingEvent',{extend:Ext.direct.Event,alias:'direct.rpc',getTransaction:function(){var a=this;return a.transaction||Ext.direct.Manager.getTransaction(a.tid)}});Ext.define('Ext.direct.ExceptionEvent',{extend:Ext.direct.RemotingEvent,alias:'direct.exception',status:!1});Ext.define('Ext.direct.JsonProvider',{extend:Ext.direct.Provider,alias:'direct.jsonprovider',parseResponse:function(b){var a=b&&b.responseText;if(a!=null){if(Ext.isObject(a)||Ext.isArray(a)){return a}return Ext.decode(a)}return null},createEvents:function(e){var d=this,a=null,c=[],f,b,g;try{a=d.parseResponse(e)}catch(h){f=new Ext.direct.ExceptionEvent({parsingError:!0,data:h,xhr:e,code:Ext.direct.Manager.exceptions.PARSE,message:'Error parsing json response: \n\n '+h});return [f]}if(Ext.isArray(a)){for(b=0,g=a.length;b<g;++b){c.push(d.createEvent(a[b]))}}else if(Ext.isObject(a)){c.push(d.createEvent(a))}return c},createEvent:function(a){if(typeof a!=='object'||!('type' in a)){return new Ext.direct.ExceptionEvent({data:a,code:Ext.direct.Manager.exceptions.DATA,message:'Invalid data: event type is not specified'})}return Ext.create('direct.'+a.type,a)}});Ext.define('Ext.util.TaskRunner',{fireIdleEvent:null,interval:10,timerId:null,constructor:function(b){var a=this;if(typeof b==='number'){a.interval=b}else if(b){Ext.apply(a,b)}a.tasks=[];a.timerFn=a.onTick.bind(a)},newTask:function(b){var a=new Ext.util.TaskRunner.Task(b);a.manager=this;if(Ext.Timer.track){a.creator=new Error().stack}return a},start:function(a){var b=this,c=Ext.Date.now();if(!a.pending){b.tasks.push(a);a.pending=!0}a.stopped=!1;a.taskStartTime=c;a.taskRunTime=a.fireOnStart!==!1?0:a.taskStartTime;a.taskRunCount=0;if(!b.firing){if(a.fireOnStart!==!1){b.startTimer(0,c)}else {b.startTimer(a.interval,c)}}return a},stop:function(a,f){var e=this,d=e.tasks,c=0,b;if(!a.stopped){a.stopped=!0;a.pending=!1;if(a.onStop){a.onStop.call(a.scope||a,a)}}if(f){Ext.Array.remove(d,a)}for(b=0;!c&&b<d.length;b++){if(!d[b].stopped){c++}}if(!c){Ext.undefer(e.timerId);e.timerId=null}return a},stopAll:function(a){var b=this;Ext.each(this.tasks,function(c){b.stop(c,a)},null,!0)},firing:!1,nextExpires:1.0E99,onTick:function(){var b=this,j=b.tasks,f=b.fireIdleEvent,h=Ext.Date.now(),m=1.0E99,n=j.length,g,c,e,a,i,d,l;var k=Ext.Timer.get(b.timerId);if(k){k.tasks=[]}b.timerId=null;b.firing=!0;for(e=0;e<n||e<(n=j.length);++e){a=j[e];if(!(d=a.stopped)){g=a.taskRunTime+a.interval;if(g<=h){i=1;if(f===null&&a.fireIdleEvent!==!1){f=!0}a.taskRunCount++;if(a.args){l=a.addCountToArgs?a.args.concat([a.taskRunCount]):a.args}else {l=[a.taskRunCount]}if(k){k.tasks.push(a)}if(b.disableTryCatch){i=a.run.apply(a.scope||a,l)}else {try{i=a.run.apply(a.scope||a,l)}catch(o){try{Ext.log({fn:a.run,prefix:'Error while running task',stack:o.stack,msg:o,level:'error'});if(a.onError){i=a.onError.call(a.scope||a,a,o)}}catch(p){}}}a.taskRunTime=h;if(i===!1||a.taskRunCount===a.repeat){b.stop(a);d=!0}else {d=a.stopped;g=h+a.interval}}if(!d&&a.duration&&a.duration<=(h-a.taskStartTime)){b.stop(a);d=!0}}if(d){a.pending=!1;if(!c){c=j.slice(0,e)}}else {if(c){c.push(a)}if(m>g){m=g}}}if(c){b.tasks=c}b.firing=!1;if(b.tasks.length){b.startTimer(m-h,Ext.Date.now())}if(f===null){f=!1}Ext._suppressIdle=!f},startTimer:function(b,f){var a=this,d=f+b,c=a.timerId;if(c&&a.nextExpires-d>a.interval){c=Ext.undefer(c)}if(!c){if(b<a.interval){b=a.interval}a.timerId=Ext.defer(a.timerFn,b);a.nextExpires=d;var e=Ext.Timer.get(a.timerId);if(e){e.runner=a}}}},function(){var b=this,a=b.prototype;a.destroy=a.stopAll;b.Task=new Ext.Class({isTask:!0,stopped:!0,fireOnStart:!1,constructor:function(a){Ext.apply(this,a)},restart:function(a){if(a!==undefined){this.interval=a}this.manager.start(this)},start:function(a){if(this.stopped){this.restart(a)}},stop:function(a){this.manager.stop(this,a)},destroy:function(){this.stop(!0)}});a=b.Task.prototype;a.destroy=a.stop});Ext.define('Ext.direct.PollingProvider',{extend:Ext.direct.JsonProvider,alias:'direct.pollingprovider',type:'polling',interval:3000,constructor:function(b){var a=this;a.callParent([b]);a.pollTask=Ext.TaskManager.newTask({run:a.runPoll,interval:a.interval,scope:a})},destroy:function(){this.pollTask.stop(!0);this.callParent()},doConnect:function(){var b=this,c=b.url,a=b.pollFn;if(a&&Ext.isString(a)){var d=a;b.pollFn=a=Ext.direct.Manager.parseMethod(a);if(!Ext.isFunction(a)){Ext.raise("Cannot resolve Ext Direct API method "+d+" for PollingProvider")}}else if(Ext.isFunction(c)){Ext.log.warn('Using a function for url is deprecated, use pollFn instead.');b.pollFn=a=c;b.url=c=null}if(c||a){b.setInterval(b.interval);b.pollTask.start()}},doDisconnect:function(){if(this.pollTask){this.pollTask.stop()}},getInterval:function(){return this.pollTask&&this.pollTask.interval},setInterval:function(b){var a=this,c=a.pollTask;if(b<100){Ext.raise("Attempting to configure PollProvider "+a.id+" with interval that is less than 100ms.")}a.interval=c.interval=b;if(a.isConnected()){c.restart(b)}},runPoll:function(){var a=this,f=a.url,d=a.pollFn,b=a.baseParams,e,c;if(a.fireEvent('beforepoll',a)!==!1){if(d){e=d.directCfg.method.getArgs({params:b!==undefined?b:{},callback:a.onPollFn,scope:a});d.apply(window,e)}else {c={url:f,callback:a.onData,scope:a,params:b,headers:a.getHeaders()};if(a.timeout!=null){c.timeout=a.timeout}a.sendAjaxRequest(c)}a.fireEvent('poll',a)}},onData:function(h,f,d){var a=this,c,g,e,b;if(f){e=a.createEvents(d);for(c=0,g=e.length;c<g;++c){b=e[c];a.fireEvent('data',a,b);if(!b.status){a.fireEvent('exception',a,b)}}}else {b=new Ext.direct.ExceptionEvent({data:null,code:Ext.direct.Manager.exceptions.TRANSPORT,message:'Unable to connect to the server.',xhr:d});a.fireEvent('data',a,b);a.fireEvent('exception',a,b)}a.callParent([h,f,d])},onPollFn:function(b,d,a,c){this.onData(null,a,{responseText:b})},inheritableStatics:{checkConfig:function(a){return a&&a.type==='polling'&&(a.url||a.pollFn)}}});Ext.define('Ext.direct.RemotingMethod',{constructor:function(b){var a=this,e=b.params,g=b.len,h=b.metadata,d={},j,i,c,f;a.name=b.name;a.disableBatching=b.batched!=null?!b.batched:!1;if(b.formHandler){a.formHandler=b.formHandler}else if(Ext.isNumeric(g)){a.len=g;a.ordered=!0}else {a.named=!0;a.strict=b.strict!==undefined?b.strict:!0;a.params={};i=e&&e.length;for(c=0;c<i;c++){f=e[c];j=Ext.isObject(f)?f.name:f;a.params[j]=!0}}if(h){e=h.params;g=h.len;if(Ext.isNumeric(g)){if(g===0){Ext.raise('metadata.len cannot be 0 '+'for Ext Direct method '+a.name)}d.ordered=!0;d.len=g}else if(Ext.isArray(e)){d.named=!0;d.params={};for(c=0,i=e.length;c<i;c++){f=e[c];d.params[f]=!0}d.strict=h.strict!==undefined?h.strict:!0}else {Ext.raise('metadata is neither named nor ordered '+'for Ext Direct method '+a.name)}a.metadata=d}},getArgs:function(c){var e=this,b=c.params,d=c.paramOrder,k=c.paramsAsArray,h=c.metadata,f=c.options,a=[],i,g,j;if(e.ordered){if(e.len>0){if(d){i=c.paramsAsArray&&e.len===1&&(d.length>1||Ext.isArray(b));if(i){if(Ext.isArray(b)){for(g=0,j=b.length;g<j;g++){a.push(e.convertParams(b[g],d,d.length,!0))}}else {a=e.convertParams(b,d,d.length,!0)}if(!b.allowSingle||a.length>1){a=[a]}}else {a=e.convertParams(b,d,e.len,!1)}}else {a.push(b)}}}else {a.push(b)}a.push(c.callback,c.scope||window);if(f||h){f=Ext.apply({},f);if(h){f.metadata=h}a.push(f)}return a},convertParams:function(g,e,h,f){var a=[],c,b,d;for(b=0,d=h;b<d;b++){c=e[b];a.push(g[c])}if(f){return a.length===0?undefined:a.length===1?a[0]:a}else {return a}},getCallData:function(c){var a=this,f=null,g=a.len,k=a.params,l=a.strict,j,h,i,d,b,e;if(a.ordered){h=c[g];i=c[g+1];b=c[g+2];if(g!==0){f=c.slice(0,g)}}else if(a.formHandler){j=c[0];h=c[1];i=c[2];b=c[3]}else {f=Ext.apply({},c[0]);h=c[1];i=c[2];b=c[3];if(l){for(d in f){if(f.hasOwnProperty(d)&&!k[d]){delete f[d]}}}}if(a.metadata&&b&&b.metadata){if(a.metadata.ordered){if(!Ext.isArray(b.metadata)){Ext.raise('options.metadata is not an Array '+'for Ext Direct method '+a.name)}else if(b.metadata.length<a.metadata.len){Ext.raise('Not enough parameters in options.metadata '+'for Ext Direct method '+a.name)}e=b.metadata.slice(0,a.metadata.len)}else {if(!Ext.isObject(b.metadata)){Ext.raise('options.metadata is not an Object '+'for Ext Direct method '+a.name)}e=Ext.apply({},b.metadata);if(a.metadata.strict){for(d in e){if(e.hasOwnProperty(d)&&!a.metadata.params[d]){delete e[d]}}}for(d in a.metadata.params){if(!e.hasOwnProperty(d)){Ext.raise('Named parameter '+d+' is missing '+'in options.metadata for Ext Direct method '+a.name)}}}delete b.metadata}return {form:j,data:f,metadata:e,callback:h,scope:i,options:b}}});Ext.define('Ext.direct.Transaction',{alias:'direct.transaction',statics:{TRANSACTION_ID:0},constructor:function(b){var a=this;Ext.apply(a,b);a.id=a.tid=++a.self.TRANSACTION_ID;a.retryCount=0},send:function(){var a=this;a.provider.queueTransaction(a)},retry:function(){var a=this;a.retryCount++;a.send()},getProvider:function(){return this.provider}});Ext.define('Ext.direct.RemotingProvider',{extend:Ext.direct.JsonProvider,alias:'direct.remotingprovider',type:'remoting',enableBuffer:10,bufferLimit:Number.MAX_VALUE,maxRetries:1,constructor:function(b){var a=this;a.callParent([b]);a.namespace=(Ext.isString(a.namespace))?Ext.ns(a.namespace):a.namespace||Ext.global;a.callBuffer=[]},destroy:function(){if(this.callTask){this.callTask.cancel()}this.callParent()},connect:function(){var a=this;if(!a.url){Ext.raise('Error initializing RemotingProvider "'+a.id+'", no url configured.')}a.callParent()},doConnect:function(){if(!this.apiCreated){this.initAPI();this.apiCreated=!0}},getNamespace:function(a,f){var c,e,b,d;a=a||Ext.global;c=f.toString().split('.');for(b=0,d=c.length;b<d;b++){e=c[b];a=a[e];if(typeof a==='undefined'){return a}}return a},createNamespaces:function(a,f){var d,b,c,e;a=a||Ext.global;d=f.toString().split('.');for(c=0,e=d.length;c<e;c++){b=d[c];a[b]=a[b]||{};a=a[b]}return a},initAPI:function(){var c=this,f=c.actions,d=c.namespace,k=Ext.direct.Manager,a,b,h,e,j,i,g;for(a in f){if(f.hasOwnProperty(a)){if(c.disableNestedActions){b=d[a];if(!b){b=d[a]={}}}else {b=c.getNamespace(d,a);if(!b){b=c.createNamespaces(d,a)}}h=f[a];for(e=0,j=h.length;e<j;++e){i=new Ext.direct.RemotingMethod(h[e]);b[i.name]=g=c.createHandler(a,i);k.registerMethod(g.$name,g)}}}},createHandler:function(b,c){var d=this,a;a=function(){d.invokeFunction(b,c,Array.prototype.slice.call(arguments,0))};a.name=a.$name=b+'.'+c.name;a.$directFn=!0;a.directCfg=a.$directCfg={action:b,method:c};return a},invokeFunction:function(g,c,h){var b=this,a,f,e,d;a=b.configureTransaction(g,c,h);if(b.fireEvent('beforecall',b,a,c)!==!1){Ext.direct.Manager.addTransaction(a);if(a.isForm){f=a.form;e=String(f.getAttribute("enctype")).toLowerCase()==='multipart/form-data';d={extTID:a.id,extAction:g,extMethod:c.name,extType:'rpc',extUpload:String(e)};if(a.metadata){d.extMetadata=Ext.JSON.encode(a.metadata)}Ext.apply(a,{form:f,isUpload:e,params:d})}b.queueTransaction(a);b.fireEvent('call',b,a,c)}},configureTransaction:function(g,d,h,i){var b,a,f,c,e;b=d.getCallData(h);a=b.callback;f=b.scope;c=b.options;if(a&&!Ext.isFunction(a)){Ext.raise("Callback argument is not a function "+"for Ext Direct method "+g+"."+d.name)}a=a&&f?a.bind(f):a;e=Ext.apply({},{provider:this,args:h,action:g,method:d.name,form:b.form,data:b.data,metadata:b.metadata,callbackOptions:c,callback:a,isForm:!!d.formHandler,disableBatching:d.disableBatching});if(c&&c.timeout!=null){e.timeout=c.timeout}return new Ext.direct.Transaction(e)},queueTransaction:function(b){var a=this,d=a.callBuffer,c=a.enableBuffer;if(b.isForm||c===!1||b.disableBatching||b.timeout!=null){a.sendTransaction(b);return}d.push(b);if(c&&d.length<a.bufferLimit){if(!a.callTask){a.callTask=new Ext.util.DelayedTask(a.combineAndSend,a)}a.callTask.delay(Ext.isNumber(c)?c:10)}else {a.combineAndSend()}},combineAndSend:function(){var b=this,a=b.callBuffer,c=a.length;if(c>0){b.sendTransaction(c===1?a[0]:a);b.callBuffer=[]}},sendTransaction:function(a){var b=this,c,d,g,f=b.enableUrlEncode,h,e,i;c={url:b.url,callback:b.onData,scope:b,transaction:a,headers:b.getHeaders()};if(a.timeout!=null){c.timeout=a.timeout}else if(b.timeout!=null){c.timeout=b.timeout}if(a.isForm){Ext.apply(c,{params:a.params,form:a.form,isUpload:a.isUpload})}else {if(Ext.isArray(a)){d=[];for(e=0,i=a.length;e<i;++e){h=b.getPayload(a[e]);d.push(h)}}else {d=b.getPayload(a)}if(f){g={};g[Ext.isString(f)?f:'data']=Ext.encode(d);c.params=g}else {c.jsonData=d}}return b.sendAjaxRequest(c)},getPayload:function(a){var b={action:a.action,method:a.method,data:a.data,type:'rpc',tid:a.id};if(a.metadata){b.metadata=a.metadata}return b},onData:function(j,f,i){var a=this,d,g,e,c,b,h;if(a.destroying||a.destroyed){return}e=f&&a.createEvents(i);f=e&&e.length&&!e[0].parsingError;if(f){for(d=0,g=e.length;d<g;++d){c=e[d];a.fireEvent('data',a,c);b=a.getTransaction(c);if(b){if(a.fireEvent('beforecallback',a,c,b)!==!1){a.runCallback(b,c,!0)}Ext.direct.Manager.removeTransaction(b)}}}else {h=[].concat(j.transaction);c=e[0]||new Ext.direct.ExceptionEvent({data:null,transaction:b,code:Ext.direct.Manager.exceptions.TRANSPORT,message:'Unable to connect to the server.',xhr:i});for(d=0,g=h.length;d<g;++d){b=a.getTransaction(h[d]);if(b&&b.retryCount<a.maxRetries){b.retry()}else {a.fireEvent('data',a,c);a.fireEvent('exception',a,c);if(b&&a.fireEvent('beforecallback',a,c,b)!==!1){a.runCallback(b,c,!1)}Ext.direct.Manager.removeTransaction(b)}}}a.callParent([j,f,i])},getTransaction:function(a){return a&&a.tid?Ext.direct.Manager.getTransaction(a.tid):null},runCallback:function(c,b){var e=!!b.status,g=e?'success':'failure',a,d,f;if(c&&c.callback){a=c.callback;d=c.callbackOptions;f=typeof b.result!=='undefined'?b.result:b.data;if(Ext.isFunction(a)){a(f,b,e,d)}else {Ext.callback(a[g],a.scope,[f,b,e,d]);Ext.callback(a.callback,a.scope,[f,b,e,d])}}},inheritableStatics:{checkConfig:function(a){return a&&a.type==='remoting'&&a.url&&Ext.isArray(a.actions)}}});Ext.define('Ext.dom.Fly',{extend:Ext.dom.Element,alternateClassName:'Ext.dom.Element.Fly',validNodeTypes:{1:1,9:1,11:1},isFly:!0,constructor:function(a){this.dom=a;this.el=this},attach:function(c){var a=this,b;if(!c){return a.detach()}a.dom=Ext.getDom(c);if(!Ext.cache[c.id]){b=a.peekData();if(b){b.isSynchronized=!1}}return a},detach:function(){return (this.dom=null)},addListener:function(){Ext.raise("Cannot use addListener() on Ext.dom.Fly instances. "+"Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||null,removeListener:function(){Ext.raise("Cannot use removeListener() on Ext.dom.Fly instances. "+"Please use Ext.get() to retrieve an Ext.dom.Element instance instead.")}||null},function(b){var c={},a;b.cache=c;Ext.fly=function(a,e){var d=null,h=Ext.fly,f,g;e=e||(h.caller&&(h.caller.$name||h.caller.name))||'_global';a=Ext.getDom(a);if(a){f=a.nodeType;if(b.prototype.validNodeTypes[f]||(!f&&(a.window==a))){d=Ext.cache[a.id];if(!d||d.dom!==a){if(e==='constructor'){e='$constructor'}d=c[e]||(c[e]=new b());d.dom=a;g=d.peekData();if(g){g.isSynchronized=!1}}}}return d};Ext.getDetachedBody=function(){if(!a){Ext.detachedBodyEl=a=new b(document.createElement('div'));a.isDetachedBody=!0}return a}});Ext.define('Ext.dom.CompositeElementLite',{alternateClassName:['Ext.CompositeElementLite'],isComposite:!0,isLite:!0,statics:{importElementMethods:function(){var b=Ext.dom.Element,a=this.prototype;Ext.Object.each(b.prototype,function(b,c){if(typeof c==='function'&&!a[b]){a[b]=function(){return this.invoke(b,arguments)}}})}},constructor:function(a,b){if(b){this.elements=a||[]}else {this.elements=[];this.add(a)}},getElement:function(b){var a=this._fly||(this._fly=new Ext.dom.Fly());return a.attach(b)},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(a,e){var d=this.elements,b,c;if(!a){return this}if(typeof a=="string"){a=Ext.fly(e||document).query(a)}else if(a.isComposite){a=a.elements}else if(!Ext.isIterable(a)){a=[a]}for(b=0,c=a.length;b<c;++b){d.push(this.transformElement(a[b]))}return this},invoke:function(g,f){var b=this,e=b.elements,h=e.length,d,c,a;if(a!==0){d=(b.isLite?Ext.dom.Fly:Ext.dom.Element).prototype;for(a=0;a<h;a++){c=e[a];if(c){d[g].apply(b.getElement(c),f)}}}return b},item:function(c){var b=this.elements[c],a=null;if(b){a=this.getElement(b)}return a},slice:function(a,b){return Ext.Array.slice(this.elements,a,b)},each:function(g,e){var c=this,d=c.elements,f=d.length,b,a;for(b=0;b<f;b++){a=d[b];if(a){a=this.getElement(a);if(g.call(e||a,a,c,b)===!1){break}}}return c},fill:function(b){var a=this;a.elements=[];a.add(b);return a},insert:function(a,b){Ext.Array.insert(this.elements,a,b)},filter:function(e){var b=this,f=b.elements,i=f.length,g=[],d=0,h=typeof e=='function',c,a;for(;d<i;d++){a=f[d];c=!1;if(a){a=b.getElement(a);if(h){c=e.call(a,a,b,d)!==!1}else {c=a.is(e)}if(c){g.push(b.transformElement(a))}}}b.elements=g;return b},indexOf:function(a){return Ext.Array.indexOf(this.elements,this.transformElement(a))},replaceElement:function(d,a,e){var c=!isNaN(d)?d:this.indexOf(d),b;if(c>-1){a=Ext.getDom(a);if(e){b=this.elements[c];b.parentNode.insertBefore(a,b);Ext.removeNode(b)}Ext.Array.splice(this.elements,c,1,a)}return this},clear:function(c){var d=this,b=d.elements,a=b.length-1;if(c){for(;a>=0;a--){Ext.removeNode(b[a])}}this.elements=[]},addElements:function(a,d){if(!a){return this}if(typeof a==="string"){a=Ext.dom.Element.selectorFunction(a,d)}var e=this.elements,c=a.length,b;for(b=0;b<c;b++){e.push(Ext.get(a[b]))}return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(b,g){b=[].concat(b);var f=this,e=f.elements,h=b.length,a,c,d;for(d=0;d<h;d++){a=b[d];if((c=(e[a]||e[a=f.indexOf(a)]))){if(g){if(c.dom){c.destroy()}else {Ext.removeNode(c)}}Ext.Array.erase(e,a,1)}}return f},destroy:function(){this.invoke('destroy',arguments);this.callParent()}},function(a){var b=a.prototype;a.importElementMethods();b.on=b.addListener});Ext.define('Ext.dom.CompositeElement',{alternateClassName:'Ext.CompositeElement',extend:Ext.dom.CompositeElementLite,isLite:!1,getElement:function(a){return a},transformElement:function(a){return Ext.get(a)}});Ext.define('Ext.dom.GarbageCollector',{singleton:!0,interval:30000,constructor:function(){var a=this;a.lastTime=Ext.now();a.onTick=a.onTick.bind(a);a.onTick.$skipTimerCheck=!0;a.resume()},collect:function(){var i=this,c=Ext.cache,a,g,b,h,e,f;var d=[];for(a in c){if(!c.hasOwnProperty(a)){continue}b=c[a];if(b.skipGarbageCollection){continue}g=b.dom;if(!g){Ext.raise('Missing DOM node in element garbage collection: '+a)}try{e=Ext.isGarbage(g)}catch(j){delete c[a];d.push('#'+b.id);continue}if(e){e=!1;if(b&&b.dom){f=b.dom.tagName;b.collect();d.push((f?f:'')+'#'+b.id)}}}if(Ext.isIE9m){h={};for(a in c){if(c.hasOwnProperty(a)){h[a]=c[a]}}Ext.cache=Ext.dom.Element.cache=h}i.lastTime=Ext.now();return d},onTick:function(){this.timerId=null;if(Ext.enableGarbageCollector){this.collect()}this.resume()},pause:function(){var a=this.timerId;if(a){this.timerId=null;Ext.undefer(a)}},resume:function(){var a=this,b=a.lastTime;if(Ext.enableGarbageCollector&&(Ext.now()-b)>a.interval){a.collect()}if(!a.timerId){a.timerId=Ext.defer(a.onTick,a.interval)}}});Ext.define('Ext.dom.TouchAction',{singleton:!0,lastTouchStartTime:0,minMoveDistance:8,spaceRe:/\s+/,preventSingle:null,preventMulti:null,disabledOverflowDom:null,panXCls:Ext.baseCSSPrefix+'touch-action-pan-x',panYCls:Ext.baseCSSPrefix+'touch-action-pan-y',cssValues:['none','pan-x','pan-y','pan-x pan-y','pinch-zoom','pan-x pinch-zoom','pan-y pinch-zoom','pan-x pan-y pinch-zoom','double-tap-zoom','pan-x double-tap-zoom','pan-y double-tap-zoom','pan-x pan-y double-tap-zoom','pinch-zoom double-tap-zoom','pan-x pinch-zoom double-tap-zoom','pan-y pinch-zoom double-tap-zoom',''],objectValues:[{panX:!1,panY:!1,pinchZoom:!1,doubleTapZoom:!1},{panX:!0,panY:!1,pinchZoom:!1,doubleTapZoom:!1},{panX:!1,panY:!0,pinchZoom:!1,doubleTapZoom:!1},{panX:!0,panY:!0,pinchZoom:!1,doubleTapZoom:!1},{panX:!1,panY:!1,pinchZoom:!0,doubleTapZoom:!1},{panX:!0,panY:!1,pinchZoom:!0,doubleTapZoom:!1},{panX:!1,panY:!0,pinchZoom:!0,doubleTapZoom:!1},{panX:!0,panY:!0,pinchZoom:!0,doubleTapZoom:!1},{panX:!1,panY:!1,pinchZoom:!1,doubleTapZoom:!0},{panX:!0,panY:!1,pinchZoom:!1,doubleTapZoom:!0},{panX:!1,panY:!0,pinchZoom:!1,doubleTapZoom:!0},{panX:!0,panY:!0,pinchZoom:!1,doubleTapZoom:!0},{panX:!1,panY:!1,pinchZoom:!0,doubleTapZoom:!0},{panX:!0,panY:!1,pinchZoom:!0,doubleTapZoom:!0},{panX:!1,panY:!0,pinchZoom:!0,doubleTapZoom:!0},{panX:!0,panY:!0,pinchZoom:!0,doubleTapZoom:!0}],attributeName:'data-extTouchAction',constructor:function(){var a=this,b=Ext.supports;if(b.TouchAction){a.cssProp='touch-action'}else if(b.MSPointerEvents){a.cssProp='-ms-touch-action'}if(b.TouchEvents){Ext.getWin().on({touchstart:'onTouchStart',touchmove:'onTouchMove',touchend:'onTouchEnd',scope:a,delegated:!1,translate:!1,capture:!0,priority:5000});Ext.on({scroll:'onScroll',scope:a,destroyable:!0})}if(Ext.isFunction(Object.freeze)){var d=a.objectValues;for(var c=0,e=d.length;c<e;c++){Object.freeze(d[c])}}},containsTargets:function(g,f){var b=!0,d=f.browserEvent,c=f.type==='touchend'?d.changedTouches:d.touches,a,e;for(a=0,e=c.length;a<e;a++){if(!g.contains(c[a].target)){b=!1;break}}return b},disableOverflow:function(a,d){var b=this,f=d?'overflow-y':'overflow-x',c,e;if(!b.disabledOverflowDom&&!Ext.isiOS&&!Ext.getScrollbarSize().width){b.disabledOverflowDom=a;e=d?b.panXCls:b.panYCls;while(a){c=Ext.fly(a).getStyle(f);if(c==='auto'||c==='scroll'){Ext.fly(a).addCls(e)}a=a.parentNode}}},get:function(c){var a=c.getAttribute(this.attributeName),b=null;if(a!=null){b=this.objectValues[a]}return b},getFlags:function(b){var a;if(typeof b==='number'){a=b}else {a=0;if(b.panX!==!1){a|=1}if(b.panY!==!1){a|=2}if(b.pinchZoom!==!1){a|=4}if(b.doubleTapZoom!==!1){a|=8}}return a},isScrollable:function(a,d,e){var c=Ext.fly(a).getStyle(d?'overflow-y':'overflow-x'),b=(c==='auto'||c==='scroll');if(b){if(d){b=e?(a.scrollTop+a.clientHeight)<a.scrollHeight:a.scrollTop>0}else {b=e?(a.scrollLeft+a.clientWidth)<a.scrollWidth:a.scrollLeft>0}}return b},lookupFlags:function(a){return parseInt((a.getAttribute&&a.getAttribute(this.attributeName))||15,10)},onScroll:function(){this.scrollOccurred=!0;this.isDoubleTap=!1},onTouchEnd:function(d){var a=this,b=d.target,f,c,e;f=d.browserEvent.touches.length;if(f===0){if(a.isDoubleTap){while(b){c=a.lookupFlags(b);if(c!=null){e=c&8;if(!e){d.preventDefault()}}b=b.parentNode}}a.isDoubleTap=!1;a.preventSingle=null;a.preventMulti=null;a.resetOverflow()}},onTouchMove:function(g){var b=this,a=null,d=g.target,f,c,i,j,h,m,e,q,p,n,o,k,l;k=b.preventSingle;l=b.preventMulti;c=g.browserEvent.touches.length;if((c===1&&(k===!1))||(l===!1)){return}if((c>1&&(l===!0))||(c===1&&(k===!0))){a=!0}else {if(c===1){h=g.getPoint();m=b.startPoint;q=Ext.Element.getViewportScale();p=h.getDistanceTo(b.startPoint)*q;n=h.x-m.x;o=h.y-m.y;e=Math.abs(o)>=Math.abs(n)}while(d&&(d.nodeType===1)){f=b.lookupFlags(d);if(f&0){a=!0}else if(c===1){i=!!(f&1);j=!!(f&2);if(i&&j){a=!1}else if(!i&&!j){a=!0}else if(p>=b.minMoveDistance){a=!!((i&&e)||(j&&!e))}if(!a&&b.isScrollable(d,e,(e?o:n)<0)){break}}else if(b.containsTargets(d,g)){a=!(f&4)}else {a=!1}if(a){break}d=d.parentNode}}if(c===1){b.preventSingle=a}else if(c>1){b.preventMulti=a}if(a){g.preventDefault()}},onTouchStart:function(d){var a=this,f,c,b,e,g;if(d.browserEvent.touches.length===1){f=d.time;if(!a.scrollOccurred&&((f-a.lastTouchStartTime)<=500)){a.isDoubleTap=!0}a.lastTouchStartTime=f;a.scrollOccurred=!1;a.startPoint=d.getPoint();b=d.target;while(b){c=a.lookupFlags(b);if(c!=null){e=!!(c&1);g=!!(c&2);if(e!==g){a.disableOverflow(b,e);break}}b=b.parentNode}}else {a.isDoubleTap=!1}},resetOverflow:function(){var b=this,a=b.disabledOverflowDom;while(a){Ext.fly(a).removeCls([b.panXCls,b.panYCls]);a=a.parentNode}b.disabledOverflowDom=null},set:function(c,g){var a=this,e=a.cssProp,b=a.getFlags(g),f=(b&Ext.supports.TouchAction),d=a.attributeName;if(e){Ext.fly(c).setStyle(e,a.cssValues[f])}if(b===15){c.removeAttribute(d)}else {c.setAttribute(d,b)}}});Ext.define('Ext.drag.Constraint',{alias:'drag.constraint.base',mixins:[Ext.mixin.Factoryable],factoryConfig:{defaultType:'base',type:'drag.constraint'},config:{element:null,horizontal:null,region:null,snap:null,source:null,vertical:null,x:null,y:null},constructor:function(a){this.initConfig(a)},applyElement:function(a){if(a&&typeof a!=='boolean'){a=Ext.get(a)}return a||null},applySnap:function(a){if(typeof a==='number'){a={x:a,y:a}}return a},constrain:function(l,k){var g=this,b=l[0],c=l[1],f=g.constrainInfo,h=f.initial,i=f.x,j=f.y,a=f.snap,e,d;if(!f.vertical){if(a&&a.x){if(a.xFn){b=a.x.call(g,k,b)}else {b=g.doSnap(b,h.x,a.x)}}if(i){e=i[0];d=i[1];if(e!==null&&b<e){b=e}if(d!==null&&b>d){b=d}}}else {b=h.x}if(!f.horizontal){if(a&&a.y){if(a.yFn){c=a.y.call(g,k,c)}else {c=g.doSnap(c,h.y,a.y)}}if(j){e=j[0];d=j[1];if(e!==null&&c<e){c=e}if(d!==null&&c>d){c=d}}}else {c=h.y}return [b,c]},destroy:function(){this.setSource(null);this.setElement(null);this.callParent()},privates:{constrainValue:function(b,c,f){var a=null,d=b===null,e=c===null;if(!(d&&e)){if(d){a=c}else if(e){a=b}else {a=f(b,c)}}return a},doSnap:function(d,e,c){if(!c){return d}var a=(d-e)/c,b=Math.floor(a);if(a-b<=0.5){a=b}else {a=b+1}return e+(c*a)},onDragStart:function(r){var a=this,d=a.getSnap(),l=!!a.getVertical(),k=!!a.getHorizontal(),c=a.getElement(),b=a.getRegion(),m=r.proxy,u=m.element,e=a.getX(),f=a.getY(),i=null,g=null,j=null,h=null,p=null,n=null,q=null,o=null,t,s;if(c){if(typeof c==='boolean'){c=a.getSource().getElement().parent()}if(r.local){t=c.getStyle('position');if(t==='relative'||t==='absolute'){s=c.getSize();b=new Ext.util.Region(0,s.width,s.height,0)}else {b=c.getRegion(!0,!0)}}else {b=c.getRegion(!0)}}if(b){if(!l){p=b.left;n=b.right-(u?m.width:0)}if(!k){q=b.top;o=b.bottom-(u?m.height:0)}}if(!l&&(b||e)){if(e){i=e[0];g=e[1]}if(i!==null||g!==null||p!==null||n!==null){i=a.constrainValue(i,p,Math.max);g=a.constrainValue(g,n,Math.min);e=[i,g]}}if(!k&&(b||f)){if(f){j=f[0];h=f[1]}if(j!==null||h!==null||q!==null||o!==null){j=a.constrainValue(j,q,Math.max);h=a.constrainValue(h,o,Math.min);f=[j,h]}}if(d){d={x:d.x,xFn:typeof d.x==='function',y:d.y,yFn:typeof d.y==='function'}}a.constrainInfo={initial:r.element.initial,vertical:l,horizontal:k,x:e,y:f,snap:d}}}});Ext.define('Ext.drag.Info',{constructor:function(c,k){if(!c){return}var a=this,l=c.getLocal(),d,e,b,f,j,g,h,i;a.source=c;a.local=l;j=a.getEventXY(k);h=k.getXY();d=c.getElement();i=d.getXY();j=l?d.getLocalXY():i;f=j[0];g=j[1];a.initialEvent=k;a.eventTarget=k.target;a.cursor={current:{x:f,y:g},delta:{x:0,y:0},initial:{x:h[0],y:h[1]},offset:{x:h[0]-i[0],y:h[1]-i[1]}};a.element={current:{x:f,y:g},delta:{x:0,y:0},initial:{x:f,y:g}};a.proxy={instance:c.getProxy(),current:{x:f,y:g},delta:{x:0,y:0},initial:{x:f,y:g},element:d,isUnderCursor:!1,isElement:!0};a.types=[];a.data={};c.describe(a);b=a.proxy;e=b.instance.setupElement(a);b.isElement=e===c.getElement();b.element=e;if(e){b.width=e.getWidth();b.height=e.getHeight()}if(b.isElement){d=a.element;d.current=b.current;d.delta=b.delta}a.needsCursorCheck=b.element&&c.manager&&c.manager.pointerBug},cursor:null,element:null,eventTarget:null,files:null,isNative:!1,proxy:null,source:null,target:null,types:null,valid:!1,clearData:function(a){Ext.Array.remove(this.types,a);delete this.data[a]},clone:function(){var b=this,a=new Ext.drag.Info();a.cursor=Ext.merge({},b.cursor);a.data=Ext.apply({},b.data);a.element=Ext.merge({},b.element);a.eventTarget=b.eventTarget;a.proxy=Ext.merge({},b.proxy);a.source=b.source;a.target=b.target;a.types=Ext.Array.clone(b.types);a.valid=b.valid;return a},getData:function(c){var b=this,d=b.data,e=b.dataTransfer,a;if(e){a=e.getData(c)}else {if(!b.finalized){Ext.raise('Unable to call getData until the drop is complete')}a=d[c];if(typeof a==='function'){d[c]=a=a.call(b.source,b)}if(!a&&a!==0){a=''}}return Ext.Promise.resolve(a)},setData:function(a,b){Ext.Array.include(this.types,a);this.data[a]=b},destroy:function(){var a=this;a.eventTarget=a.data=a.proxy=a.targetMap=a.targetMap=a.types=a.elementMap=a.possibleTargets=a.target=null;a.callParent()},privates:{data:null,dataTransfer:null,elementMap:null,possibleTargets:null,targetMap:null,copyNativeData:function(b,c){var a=c.browserEvent.dataTransfer;this.target=b;this.dataTransfer=a;this.files=a.files},finalize:function(){var b=this,a=b.target;b.finalized=!0;if(a){a.info=null;a.handleDrop(b)}},getAlignXY:function(h,i){var b=this,e=b.source,c=b.cursor.offset,g=e.getProxy(),f=b.proxy.element,d=e.getConstrain(),a=[h,i];if(f){if(b.proxy.isElement){a[0]-=c.x;a[1]-=c.y}else {a=g.adjustCursorOffset(b,a)}if(d){a=d.constrain(a,b)}}return a},getEventXY:function(c){var a=c.getXY(),b=this.source;if(this.local){a=b.convertToLocalXY(a)}return a},onNativeDragEnter:function(b,c){var a=this;a.valid=b.accepts(a);b.info=a;a.copyNativeData(b,c)},onNativeDragLeave:function(b,c){var a=this;if(a.target===b){b.info=null;a.valid=!1;a.target=a.dataTransfer=a.files=null}},onNativeDragMove:function(a,b){this.copyNativeData(a,b)},onNativeDrop:function(a,b){this.copyNativeData(a,b);a.info=null},setActive:function(b){var a=this,e=a.source,c=a.target,d=c!==b;if(c&&d){c.handleDragLeave(a);c.info=null}a.target=b;if(b){if(d){a.valid=!!a.possibleTargets[b.getId()]&&b.accepts(a)!==!1;b.handleDragEnter(a);b.info=a}b.handleDragMove(a)}else {a.valid=!1}if(d){e.getProxy().update(a)}},update:function(o,n){var b=this,m=b.getEventXY(o),f=m[0],g=m[1],j=b.getAlignXY(f,g),h=j[0],i=j[1],a=b.proxy,k=b.cursor,c=k.current,e=k.delta,d=k.initial,l=a.instance;c.x=f;c.y=g;e.x=f-d.x;e.y=g-d.y;c=a.current;e=a.delta;d=a.initial;c.x=h;c.y=i;e.x=h-d.x;e.y=i-d.y;if(b.needsCursorCheck){a.isUnderCursor=!(f<h||g<i||f>a.width+h||g>a.height+i)}if(!n&&l){l.setXY(b,j)}}}});Ext.define('Ext.drag.Item',{mixins:[Ext.mixin.Observable,Ext.mixin.Identifiable],config:{autoDestroy:!0,component:null,element:null,groups:null},constructor:function(a){this.mixins.observable.constructor.call(this,a)},isDisabled:function(){return this.disabled},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1},updateComponent:function(b,c){var a;if(b){a=b.el}else if(c&&c.el===this.getElement()){a=null}else {return}this.setElement(a)},applyElement:function(a){return a?Ext.get(a):null},updateElement:function(){this.setupListeners()},applyGroups:function(a){if(typeof a==='string'){a=[a]}return a},destroy:function(){var a=this,b=a.getElement();a.destroying=!0;a.setElement(null);if(b&&a.getAutoDestroy()){b.destroy()}a.callParent();a.destroying=!1},privates:{disabled:!1,convertToLocalXY:function(a){var b=this.getComponent();if(b){a=b.convertToLocalXY(a)}else {a=this.getElement().translateXY(a[0],a[1]);a=[a.x,a.y]}return a},getElListeners:Ext.privateFn,setupListeners:function(b){var a=this,c=a.elListeners;b=b||a.getElement();if(c){c.destroy();a.elListeners=null}if(b){a.elListeners=b.on(Ext.apply({scope:a,destroyable:!0},a.getElListeners()))}}}});Ext.define('Ext.drag.Manager',{singleton:!0,dragCls:Ext.baseCSSPrefix+'drag-body',pointerBug:Ext.isTouch||(!Ext.supports.CSSPointerEvents||Ext.isIE10m||Ext.isOpera),constructor:function(){this.targets={};this.nativeTargets=[];Ext.onReady(this.init,this)},init:function(){Ext.getDoc().on({scope:this,dragenter:{capture:!0,fn:'onNativeDragEnter'},dragleave:'onNativeDragLeave',dragover:'onNativeDragOver',drop:'onNativeDrop'})},destroy:function(){var a=this,b=a.targets,c;a.destroying=!0;for(c in b){b[c].destroy()}a.targets=null;a.callParent();a.destroying=!1},privates:{elementFromPoint:function(a,b){if(Ext.rootInheritedState.rtl){a=Ext.Element.getViewportWidth()-a}return Ext.dom.Element.fromPagePoint(a,b,!0)},getAtPoint:function(c){var e=c.cursor.current,g=c.elementMap,f=c.proxy.isUnderCursor,b=this.pointerBug&&f?c.proxy.element.dom:null,d,a;if(b){b.style.visibility='hidden'}a=this.elementFromPoint(e.x,e.y);if(b){b.style.visibility='visible'}while(a){d=g[a.id];if(d){return d}a=a.parentNode}return null},getNativeDragInfo:function(b){var a=this.nativeDragInfo;if(!a){this.nativeDragInfo=a=new Ext.drag.Info();a.isNative=!0}return a},onDragCancel:function(){Ext.getBody().removeCls(this.dragCls)},onDragEnd:function(a,b){a.finalize();Ext.getBody().removeCls(this.dragCls)},onDragMove:function(a,b){this.processDrag(a)},onDragStart:function(c,p){var j=this,o=c.source,l=j.targets,m=o.getGroups(),k={},h={},i={},f,a,b,d,e,n,g;i={};h={};if(m){d=Ext.Array.toMap(m)}for(f in l){a=l[f];if(!a.isDisabled()){e=!1;b=a.getGroups();if(!d&&!b){e=!0}else if(d&&b){for(g=0,n=b.length;g<n;++g){if(d[b[g]]){e=!0;break}}}if(e){h[f]=a}}k[f]=a;i[a.getElement().id]=a}c.possibleTargets=h;c.targetMap=k;c.elementMap=i;Ext.getBody().addCls(j.dragCls);j.processDrag(c)},onNativeDragEnter:function(c){var a=this.nativeTargets,b=c.target;c.preventDefault();if(a[a.length-1]!==b){a.push(b)}},onNativeDragLeave:function(b){var a=this.nativeTargets;Ext.Array.remove(a,b.target);if(a.length===0){this.nativeDragInfo=null}},onNativeDragOver:function(a){a.preventDefault()},onNativeDrop:function(a){a.preventDefault();this.nativeTargets.length=0;this.nativeDragInfo=null},processDrag:function(a){a.setActive(this.getAtPoint(a))},register:function(a){this.targets[a.getId()]=a},unregister:function(a){if(this.destroying){return}delete this.targets[a.getId()]}}});Ext.define('Ext.drag.Source',{extend:Ext.drag.Item,defaultIdPrefix:'source-',config:{activateOnLongPress:!1,activeCls:null,constrain:null,handle:null,local:null,proxy:'original',revert:!1},dragging:!1,constructor:function(a){var b=a&&a.describe;if(b){this.describe=b;a=Ext.apply({},a);delete a.describe}this.callParent([a]);this.manager=Ext.drag['Manager']},describe:Ext.emptyFn,isDragging:function(){return this.dragging},beforeDragStart:Ext.emptyFn,onDragCancel:Ext.emptyFn,onDragEnd:Ext.emptyFn,onDragMove:Ext.emptyFn,onDragStart:Ext.emptyFn,applyActivateOnLongPress:function(a){if(typeof a==='string'){a=[a]}return a},updateActivateOnLongPress:function(a){if(!this.isConfiguring){this.setupListeners()}},updateActiveCls:function(b,a){if(this.dragging){var c=this.getElement();c.replaceCls(a,b)}},applyConstrain:function(a){if(a&&!a.$isClass){if(a.isRegion){a={region:a}}else if(a.isElement||!Ext.isObject(a)){a={element:a}}a=Ext.apply({source:this},a);a=Ext.Factory.dragConstraint(a)}return a},updateElement:function(b,a){if(a&&!a.destroyed){a.un('dragstart','stopNativeDrag',this)}if(b&&!this.getHandle()){b.setTouchAction({panX:!1,panY:!1});b.on('dragstart','stopNativeDrag',this,{translate:!1,delegated:!1})}this.callParent([b,a])},updateHandle:function(){if(!this.isConfiguring){this.setupListeners()}},applyProxy:function(a){if(a){a=Ext.Factory.dragproxy(a)}return a},updateProxy:function(b,a){if(a){a.destroy()}if(b){b.setSource(this)}},resolveListenerScope:function(){var a=this.ownerCmp,b=arguments;if(a){return a.resolveListenerScope.apply(a,b)}return this.callParent(b)},destroy:function(){var a=this;a.manager=a.initialEvent=null;a.setConstrain(null);a.setProxy(null);a.callParent()},privates:{draggingCls:Ext.baseCSSPrefix+'drag-dragging',info:null,revertCls:Ext.baseCSSPrefix+'drag-revert',canActivateOnLongPress:function(b){var a=this.getActivateOnLongPress();return !!(a&&(a===!0||Ext.Array.contains(a,b.pointerType)))},dragCleanup:function(b){var a=this,d=a.getActiveCls(),e=a.getProxy(),f=a.getElement(),c=b?b.proxy.element:null;if(d){f.removeCls(d)}if(c){c.removeCls(a.draggingCls)}e.cleanup(b);a.dragging=!1;a.initialEvent=a.info=null},getElListeners:function(){var a={touchstart:'handleTouchStart',dragstart:'handleDragStart',drag:'handleDragMove',dragend:'handleDragEnd',dragcancel:'handleDragCancel'},b=this.getHandle();if(b){a.dragstart={fn:a.dragstart,delegate:b}}if(this.getActivateOnLongPress()){a.longpress='handleLongPress'}return a},handleDragCancel:function(c){var a=this,b=a.info,d=a.manager;if(d){d.onDragCancel(b,c)}a.onDragCancel(b);if(a.hasListeners.dragcancel){a.fireEvent('dragcancel',a,b,c)}Ext.fireEvent('dragcancel',a,b,c);a.dragCleanup(b)},handleDragEnd:function(d){if(!this.dragging){return}var a=this,e=a.manager,f=a.getRevert(),b=a.info,c=b.proxy;b.update(d);if(e){e.onDragEnd(b,d)}a.onDragEnd(b);if(a.hasListeners.dragend){a.fireEvent('dragend',a,b,d)}Ext.fireEvent('dragend',a,b,d);c=c.instance;if(f&&c){c.dragRevert(b,a.revertCls,f,function(){a.dragCleanup(b)})}else {a.dragCleanup(b)}},handleDragMove:function(b){var a=this,c=a.info,d=a.manager;if(!a.dragging){return}b.stopPropagation();b.claimGesture();c.update(b);if(d){d.onDragMove(c,b)}a.onDragMove(c);if(a.hasListeners.dragmove){a.fireEvent('dragmove',a,c,b)}},handleDragStart:function(c){var a=this,e=a.hasListeners,i=a.manager,h=a.getConstrain(),k=a.initialEvent,j,g,b,d,f;if(a.preventStart(c)){return !1}if(e.initdragconstraints){a.fireEvent('initdragconstraints',a,c)}a.info=b=new Ext.drag.Info(a,k);a.setup(b);if(h){h.onDragStart(b)}b.update(c,!0);d=a.beforeDragStart(b)===!1;if(!d&&e.beforedragstart){d=a.fireEvent('beforedragstart',a,b,c)===!1}if(d){a.dragCleanup();return !1}c.claimGesture();a.dragging=!0;g=a.getActiveCls();j=a.getElement();if(g){j.addCls(g)}f=b.proxy.element;if(f){f.addCls(a.draggingCls)}b.update(c);if(i){i.onDragStart(b,c)}a.onDragStart(b);if(e.dragstart){a.fireEvent('dragstart',a,b,c)}Ext.fireEvent('dragstart',a,b,c)},handleLongPress:function(a){if(!this.isDisabled()&&this.canActivateOnLongPress(a)){this.initialEvent=a;a.startDrag()}},handleTouchStart:function(a){if(!this.isDisabled()){this.initialEvent=a}},preventStart:function(a){return this.isDisabled()||(!a.longpress&&this.canActivateOnLongPress(a))},setup:Ext.privateFn,stopNativeDrag:function(a){a.preventDefault()}}});Ext.define('Ext.drag.Target',{extend:Ext.drag.Item,defaultIdPrefix:'target-',config:{invalidCls:'',validCls:''},constructor:function(a){var b=this,c=a&&a.accepts;if(c){b.accepts=c;a=Ext.apply({},a);delete a.accepts}b.callParent([a]);Ext.drag.Manager.register(b)},accepts:function(a){return !0},disable:function(){this.callParent();this.setupListeners(null)},enable:function(){this.callParent();this.setupListeners()},beforeDrop:Ext.emptyFn,onDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragLeave:Ext.emptyFn,onDragMove:Ext.emptyFn,updateInvalidCls:function(c,b){var a=this.info;this.doUpdateCls(a&&!a.valid,c,b)},updateValidCls:function(c,b){var a=this.info;this.doUpdateCls(a&&a.valid,c,b)},destroy:function(){Ext.drag.Manager.unregister(this);this.callParent()},privates:{doUpdateCls:function(d,b,a){var c=this.getElement();if(a){c.removeCls(a)}if(b&&d){c.addCls(b)}},getElListeners:function(){return {dragenter:'handleNativeDragEnter',dragleave:'handleNativeDragLeave',dragover:'handleNativeDragMove',drop:'handleNativeDrop'}},handleDrop:function(b){var a=this,c=a.hasListeners,d=b.valid;a.getElement().removeCls([a.getInvalidCls(),a.getValidCls()]);if(d&&a.beforeDrop(b)!==!1){if(c.beforedrop&&a.fireEvent('beforedrop',a,b)===!1){return !1}a.onDrop(b);if(c.drop){a.fireEvent('drop',a,b)}}else {return !1}},handleDragEnter:function(b){var a=this,c=b.valid?a.getValidCls():a.getInvalidCls();if(c){a.getElement().addCls(c)}a.onDragEnter(b);if(a.hasListeners.dragenter){a.fireEvent('dragenter',a,b)}},handleDragLeave:function(b){var a=this;a.getElement().removeCls([a.getInvalidCls(),a.getValidCls()]);a.onDragLeave(b);if(a.hasListeners.dragleave){a.fireEvent('dragleave',a,b)}},handleDragMove:function(b){var a=this;a.onDragMove(b);if(a.hasListeners.dragmove){a.fireEvent('dragmove',a,b)}},handleNativeDragEnter:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragEnter(a,c);if(a.hasListeners.dragenter){a.fireEvent('dragenter',a,b)}},handleNativeDragLeave:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragLeave(a,c);if(a.hasListeners.dragleave){a.fireEvent('dragleave',a,b)}},handleNativeDragMove:function(c){var a=this,b=Ext.drag.Manager.getNativeDragInfo(c);b.onNativeDragMove(a,c);if(a.hasListeners.dragmove){a.fireEvent('dragmove',a,b)}},handleNativeDrop:function(d){var a=this,c=a.hasListeners,b=Ext.drag.Manager.getNativeDragInfo(d),e=b.valid;b.onNativeDrop(a,d);if(e){if(c.beforedrop&&a.fireEvent('beforedrop',a,b)===!1){return}if(c.drop){a.fireEvent('drop',a,b)}}}}});Ext.define('Ext.drag.proxy.None',{mixins:[Ext.mixin.Factoryable],alias:'drag.proxy.none',factoryConfig:{aliasPrefix:'drag.proxy.',type:'dragproxy'},config:{source:null},constructor:function(a){var b=a&&a.getElement;if(b){this.getElement=b;a=Ext.apply({},a);delete a.getElement}this.initConfig(a)},cleanup:Ext.emptyFn,dragRevert:function(d,b,f,e){var a=this.getPositionable(d),c=d.proxy.initial;a.addCls(b);a.setXY([c.x,c.y],Ext.apply({callback:function(){a.removeCls(b);e()}},f))},getElement:function(){return null},getPositionable:function(){return this.element},setXY:function(c,d,b){var a=this.getPositionable(c);if(a){a.setXY(d,b)}},update:Ext.emptyFn,privates:{setupElement:function(a){return (this.element=this.getElement(a))},adjustCursorOffset:function(b,a){return a}}});Ext.define('Ext.drag.proxy.Original',{extend:Ext.drag.proxy.None,alias:'drag.proxy.original',getElement:function(a){return a.source.getElement()},getPositionable:function(b){var a=b.source;return a.getComponent()||a.getElement()}});Ext.define('Ext.drag.proxy.Placeholder',{extend:Ext.drag.proxy.None,alias:'drag.proxy.placeholder',config:{cls:'',cursorOffset:[12,20],html:null,invalidCls:'',validCls:''},placeholderCls:Ext.baseCSSPrefix+'drag-proxy-placeholder',cleanup:function(){this.element=Ext.destroy(this.element)},getElement:function(){var a=Ext.getBody().createChild({cls:this.getCls(),html:this.getHtml()});a.addCls(this.placeholderCls);a.setTouchAction({panX:!1,panY:!1});return a},update:function(d){var e=this.element,a=this.getInvalidCls(),b=this.getValidCls(),c=d.valid;if(d.target){e.replaceCls(c?a:b,c?b:a)}else {e.removeCls([a,b])}},updateCls:function(c,b){var a=this.element;if(a){if(b){a.removeCls(b)}if(c){a.addCls(c)}}},updateHtml:function(b){var a=this.element;if(a){a.setHtml(b||'')}},updateInvalidCls:function(b,a){this.doUpdateCls(b,a)},updateValidCls:function(b,a){this.doUpdateCls(b,a)},destroy:function(){this.element=Ext.destroy(this.element);this.callParent()},privates:{adjustCursorOffset:function(c,b){var a=this.getCursorOffset();if(a){b[0]+=(a[0]||0);b[1]+=(a[1]||0)}return b},doUpdateCls:function(c,b){var a=this.element,d;if(a){if(b){d=c&&a.hasCls(b);a.removeCls(b)}if(c&&d){a.addCls(c)}}}}});Ext.define('Ext.event.gesture.Recognizer',{mixins:[Ext.mixin.Identifiable],priority:0,handledEvents:[],isStarted:!1,config:{onRecognized:Ext.emptyFn,callbackScope:null},constructor:function(a){this.initConfig(a);Ext.event.publisher.Gesture.instance.registerRecognizer(this)},onStart:Ext.emptyFn,onEnd:Ext.emptyFn,onTouchStart:Ext.emptyFn,onTouchMove:Ext.emptyFn,onTouchEnd:function(){return this.reset()},onTouchCancel:function(a){return this.cancel(a)},fire:function(a,d,c,b){this.getOnRecognized().call(this.getCallbackScope(),this,a,d,c,b)},cancel:function(a){if(this.isStarted){this.onCancel(a)}return this.reset()},onCancel:Ext.emptyFn,reset:function(){this.isStarted=!1;return !1}});Ext.define('Ext.event.gesture.SingleTouch',{extend:Ext.event.gesture.Recognizer,isSingleTouch:!0,onTouchStart:function(a){if(a.touches.length>1){return this.cancel(a)}}});Ext.define('Ext.event.gesture.DoubleTap',{extend:Ext.event.gesture.SingleTouch,priority:300,config:{moveDistance:8,tapDistance:24,maxDuration:300},handledEvents:['singletap','doubletap'],singleTapTimer:null,startTime:0,lastTapTime:0,onTouchStart:function(b){var a=this,d=a.callParent([b]),c;if(d!==!1){a.isStarted=!0;c=a.lastStartPoint=b.changedTouches[0].point;a.startPoint=a.startPoint||c;a.startTime=b.time;Ext.undefer(a.singleTapTimer)}return d},onTouchMove:function(b){var a=this,d=b.changedTouches[0].point,e=Ext.Element.getViewportScale(),c=Math.round(Math.abs(d.getDistanceTo(a.lastStartPoint)*e));if(c>=a.getMoveDistance()){return a.cancel(b)}},onTouchEnd:function(b){var a=this,f=a.getMaxDuration(),d=b.time,h=b.target,e=a.lastTapTime,j=a.lastTarget,k=b.changedTouches[0].point,c,i,g;a.lastTapTime=d;a.lastTarget=h;if(e){c=d-e;if(c<=f){i=Ext.Element.getViewportScale();g=Math.round(Math.abs(k.getDistanceTo(a.startPoint)*i));if(g<=a.getTapDistance()){if(h!==j){return a.cancel(b)}a.lastTarget=null;a.lastTapTime=0;a.fire('doubletap',b,{touch:b.changedTouches[0],duration:c});return a.callParent([b])}}}if(d-a.startTime>f){a.fire('singletap',b);a.reset()}else {a.setSingleTapTimer(b)}},setSingleTapTimer:function(b){var a=this;a.singleTapTimer=Ext.defer(function(){a.fire('singletap',b);a.reset()},a.getMaxDuration())},reset:function(){var a=this;Ext.undefer(a.singleTapTimer);a.startTime=a.lastTapTime=0;a.lastStartPoint=a.startPoint=a.singleTapTimer=null;return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.doubleTap)});Ext.define('Ext.event.gesture.Drag',{extend:Ext.event.gesture.SingleTouch,priority:100,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:['dragstart','drag','dragend','dragcancel'],config:{minDistance:8},constructor:function(){this.callParent(arguments);this.initInfo()},initInfo:function(){this.info={touch:null,previous:{x:0,y:0},x:0,y:0,delta:{x:0,y:0},absDelta:{x:0,y:0},flick:{velocity:{x:0,y:0}},direction:{x:0,y:0},time:0,previousTime:{x:0,y:0},longpress:!1}},onTouchStart:function(b){var a=this,c=a.callParent([b]);if(c!==!1){a.startTime=b.time;a.startPoint=b.changedTouches[0].point}return c},tryDragStart:function(b){var a=this,e=b.changedTouches[0].point,c=a.getMinDistance(),f=Ext.Element.getViewportScale(),d=Math.round(Math.abs(e.getDistanceTo(a.startPoint)*f));if(d>=c){a.doDragStart(b)}},doDragStart:function(b,g){var a=this,d=b.changedTouches[0],f=d.point,e=a.info,c;if(g){c=Ext.now();a.startTime=c;a.startPoint=f;e.longpress=!0}else {c=b.time}a.isStarted=!0;a.previousPoint=a.lastPoint=f;a.resetInfo('x',b,d);a.resetInfo('y',b,d);e.time=c;a.fire('dragstart',b,e)},onTouchMove:function(b){var a=this,c,d;if(!a.startPoint){return}if(!a.isStarted){a.tryDragStart(b)}if(!a.isStarted){return}c=b.changedTouches[0];d=c.point;if(a.lastPoint){a.previousPoint=a.lastPoint}a.lastPoint=d;a.lastMoveEvent=b;a.updateInfo('x',b,c);a.updateInfo('y',b,c);a.info.time=b.time;a.fire('drag',b,a.info)},onAxisDragEnd:function(b,a){var c=a.time-a.previousTime[b];if(c>0){a.flick.velocity[b]=(a[b]-a.previous[b])/c}},resetInfo:function(b,i,h){var d=this,g=d.lastPoint[b],e=d.startPoint[b],f=g-e,c=b.toUpperCase(),a=d.info;a.touch=h;a.delta[b]=f;a.absDelta[b]=Math.abs(f);a.previousTime[b]=d.startTime;a.previous[b]=e;a[b]=g;a.direction[b]=0;a['start'+c]=d.startPoint[b];a['previous'+c]=a.previous[b];a['page'+c]=a[b];a['delta'+c]=a.delta[b];a['absDelta'+c]=a.absDelta[b];a['previousDelta'+c]=0;a.startTime=d.startTime},updateInfo:function(b,l,k){var e=this,d=e.lastPoint[b],g=e.previousPoint[b],f=e.startPoint[b],i=d-f,a=e.info,h=a.direction,c=b.toUpperCase(),j=a.previous[b];a.touch=k;a.delta[b]=i;a.absDelta[b]=Math.abs(i);if(d!==j&&d!==a[b]){a.previous[b]=a[b];a.previousTime[b]=a.time}a[b]=d;if(d>g){h[b]=1}else if(d<g){h[b]=-1}a['start'+c]=f;a['previous'+c]=a.previous[b];a['page'+c]=a[b];a['delta'+c]=a.delta[b];a['absDelta'+c]=a.absDelta[b];a['previousDelta'+c]=a.previous[b]-f;a.startTime=e.startTime},onTouchEnd:function(b){var a=this,d,e,c;if(a.isStarted){d=b.changedTouches[0];e=d.point;c=a.info;a.lastPoint=e;a.updateInfo('x',b,d);a.updateInfo('y',b,d);c.time=b.time;a.onAxisDragEnd('x',c);a.onAxisDragEnd('y',c);a.fire('dragend',b,c)}return this.callParent([b])},onCancel:function(a){var b=this,c=a.changedTouches[0],d=b.info;if(!a.touches.length){b.lastPoint=c.point}b.updateInfo('x',a,c);b.updateInfo('y',a,c);d.time=a.time;b.fire('dragcancel',a,d,!0)},reset:function(){var a=this;a.lastPoint=a.startPoint=a.previousPoint=a.lastPoint=a.lastMoveEvent=null;a.initInfo();return a.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.drag)});Ext.define('Ext.event.gesture.Swipe',{extend:Ext.event.gesture.SingleTouch,priority:600,handledEvents:['swipestart','swipe','swipecancel'],config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(c){var a=this,d=a.callParent([c]),b;if(d!==!1){b=c.changedTouches[0];a.startTime=c.time;a.isHorizontal=!0;a.isVertical=!0;a.startX=b.pageX;a.startY=b.pageY}return d},onTouchMove:function(b){var a=this,h=b.changedTouches[0],j=h.pageX,k=h.pageY,l=j-a.startX,m=k-a.startY,c=Math.abs(j-a.startX),d=Math.abs(k-a.startY),i=b.time-a.startTime,f,e,g;if((c===0&&d===0)||(i>a.getMaxDuration())){return a.cancel(b)}if(a.isHorizontal&&d>a.getMaxOffset()){a.isHorizontal=!1}if(a.isVertical&&c>a.getMaxOffset()){a.isVertical=!1}if(!a.isVertical||!a.isHorizontal){f=a.getMinDistance();if(a.isHorizontal&&c<f){e=(l<0)?'left':'right';g=c}else if(a.isVertical&&d<f){e=(m<0)?'up':'down';g=d}}if(!a.isHorizontal&&!a.isVertical){return a.cancel(b)}if(e&&!a.isStarted){a.isStarted=!0;a.fire('swipestart',b,{touch:h,direction:e,distance:g,duration:i})}},onTouchEnd:function(b){var a=this,c,l,m,i,j,e,f,d,k,g,h;if(a.onTouchMove(b)!==!1){c=b.changedTouches[0];l=c.pageX;m=c.pageY;i=l-a.startX;j=m-a.startY;e=Math.abs(i);f=Math.abs(j);d=a.getMinDistance();k=b.time-a.startTime;if(a.isVertical&&f<d){a.isVertical=!1}if(a.isHorizontal&&e<d){a.isHorizontal=!1}if(a.isHorizontal){g=(i<0)?'left':'right';h=e}else if(a.isVertical){g=(j<0)?'up':'down';h=f}a.fire('swipe',b,{touch:c,direction:g,distance:h,duration:k})}return this.callParent([b])},onCancel:function(a){this.fire('swipecancel',a,null,!0)},reset:function(){var a=this;a.startTime=a.isHorizontal=a.isVertical=a.startX=a.startY=null;return a.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.swipe)});Ext.define('Ext.event.gesture.EdgeSwipe',{extend:Ext.event.gesture.Swipe,priority:500,handledEvents:['edgeswipe','edgeswipestart','edgeswipeend','edgeswipecancel'],config:{minDistance:60},onTouchStart:function(d){var a=this,c=a.callParent([d]),b;if(c!==!1){b=d.changedTouches[0];a.direction=null;a.isHorizontal=!0;a.isVertical=!0;a.startX=b.pageX;a.startY=b.pageY}return c},onTouchMove:function(d){var a=this,f=d.changedTouches[0],m=f.pageX,n=f.pageY,g=m-a.startX,h=n-a.startY,j=Math.abs(n-a.startY),i=Math.abs(m-a.startX),e=a.getMinDistance(),k=a.getMaxOffset(),l=d.time-a.startTime,p=Ext.Viewport&&Ext.Element.getViewportWidth(),o=Ext.Viewport&&Ext.Element.getViewportHeight(),b,c;if(a.isVertical&&i>k){a.isVertical=!1}if(a.isHorizontal&&j>k){a.isHorizontal=!1}if(a.isVertical&&a.isHorizontal){if(j>i){a.isHorizontal=!1}else {a.isVertical=!1}}if(a.isHorizontal){b=(g<0)?'left':'right';c=g}else if(a.isVertical){b=(h<0)?'up':'down';c=h}b=a.direction||(a.direction=b);if(b==='up'){c=h*-1}else if(b==='left'){c=g*-1}a.distance=c;if(!c){return a.cancel(d)}if(!a.isStarted){if((b==='right'&&a.startX>e)||(b==='down'&&a.startY>e)||(b==='left'&&(p-a.startX)>e)||(b==='up'&&(o-a.startY)>e)){return a.cancel(d)}a.isStarted=!0;a.startTime=d.time;a.fire('edgeswipestart',d,{touch:f,direction:b,distance:c,duration:l})}else {a.fire('edgeswipe',d,{touch:f,direction:b,distance:c,duration:l})}},onTouchEnd:function(b){var a=this,c;if(a.onTouchMove(b)!==!1){c=b.time-a.startTime;a.fire('edgeswipeend',b,{touch:b.changedTouches[0],direction:a.direction,distance:a.distance,duration:c})}return this.reset()},onCancel:function(a){this.fire('edgeswipecancel',a,{touch:a.changedTouches[0]},!0)},reset:function(){var a=this;a.direction=a.isHorizontal=a.isVertical=a.startX=a.startY=a.startTime=a.distance=null;return a.callParent()}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.edgeSwipe)});Ext.define('Ext.event.gesture.LongPress',{extend:Ext.event.gesture.SingleTouch,priority:400,config:{moveDistance:8,minDuration:1000},handledEvents:['longpress','taphold'],onTouchStart:function(b){var a=this,c=a.callParent([b]);if(c!==!1){a.startPoint=b.changedTouches[0].point;a.setLongPressTimer(b)}return c},setLongPressTimer:function(b){var a=this;Ext.undefer(a.timer);a.timer=Ext.defer(a.fireLongPress,a.getMinDuration(),a,[b])},onTouchMove:function(b){var a=this,d=b.changedTouches[0].point,e=Ext.Element.getViewportScale(),c=Math.round(Math.abs(d.getDistanceTo(a.startPoint)*e));if(c>=a.getMoveDistance()){return a.cancel(b)}},reset:function(){var a=this;a.timer=a.startPoint=Ext.undefer(a.timer);return a.callParent()},fireLongPress:function(a){var c=this,b={touch:a.changedTouches[0],duration:c.getMinDuration(),startDrag:c.startDrag};this.fire('taphold',a,b);this.fire('longpress',a,b);this.reset()},startDrag:function(){var b=Ext.event.gesture.Drag.instance,a=this.parentEvent;b.doDragStart(a,!0);Ext.event.publisher.Gesture.instance.claimRecognizer(b,a)}},function(a){var b=Ext.manifest.gestures;a.instance=new a(b&&b.longPress)});Ext.define('Ext.event.gesture.MultiTouch',{extend:Ext.event.gesture.Recognizer,requiredTouchesCount:2,isTracking:!1,isMultiTouch:!0,onTouchStart:function(d){var a=this,b=a.requiredTouchesCount,e=d.touches,c=e.length;if(c===b){a.isTracking=!0}else if(c>b){return a.cancel(d)}},reset:function(){this.isTracking=!1;return this.callParent()}});Ext.define('Ext.event.gesture.Pinch',{extend:Ext.event.gesture.MultiTouch,priority:700,handledEvents:['pinchstart','pinch','pinchend','pinchcancel'],startDistance:0,lastTouches:null,onTouchMove:function(d){var a=this,c,f,e,b;if(a.isTracking){c=d.touches;f=c[0].point;e=c[1].point;b=f.getDistanceTo(e);if(b===0){return}if(!a.isStarted){a.isStarted=!0;a.startDistance=b;a.fire('pinchstart',d,{touches:c,distance:b,scale:1})}else {a.fire('pinch',d,{touches:c,distance:b,scale:b/a.startDistance})}}},onTouchEnd:function(a){if(this.isStarted){this.fire('pinchend',a)}return this.callParent([a])},onCancel:function(a){this.fire('pinchcancel',a,null,!0)},reset:function(){this.lastTouches=null;this.startDistance=0;return this.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.pinch)});Ext.define('Ext.event.gesture.Rotate',{extend:Ext.event.gesture.MultiTouch,priority:800,handledEvents:['rotatestart','rotate','rotateend','rotatecancel'],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(h){var b=this,c,d,j,i,a,f,e,g;if(b.isTracking){c=h.touches;d=b.lastAngle;j=c[0].point;i=c[1].point;a=j.getAngleTo(i);if(d!==null){g=Math.abs(d-a);f=a+360;e=a-360;if(Math.abs(f-d)<g){a=f}else if(Math.abs(e-d)<g){a=e}}b.lastAngle=a;if(!b.isStarted){b.isStarted=!0;b.startAngle=a;b.fire('rotatestart',h,{touches:c,angle:a,rotation:0})}else {b.fire('rotate',h,{touches:c,angle:a,rotation:a-b.startAngle})}b.lastTouches=Ext.Array.clone(c)}},onTouchEnd:function(a){if(this.isStarted){this.fire('rotateend',a)}return this.callParent([a])},onCancel:function(a){this.fire('rotatecancel',a,null,!0)},reset:function(){var a=this;a.lastTouches=a.lastAngle=a.startAngle=null;return this.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.rotate)});Ext.define('Ext.event.gesture.Tap',{extend:Ext.event.gesture.SingleTouch,priority:200,handledEvents:['tap','tapcancel'],config:{moveDistance:8},onTouchStart:function(c){var a=this,b=a.callParent([c]);if(b!==!1){a.isStarted=!0;a.startPoint=c.changedTouches[0].point}return b},onTouchMove:function(b){var a=this,d=b.changedTouches[0].point,e=Ext.Element.getViewportScale(),c=Math.round(Math.abs(d.getDistanceTo(a.startPoint)*e));if(c>=a.getMoveDistance()){return a.cancel(b)}},onTouchEnd:function(a){this.fire('tap',a,{touch:a.changedTouches[0]});return this.callParent([a])},onCancel:function(a){this.fire('tapcancel',a,{touch:a.changedTouches[0]},!0)},reset:function(){this.startPoint=null;return this.callParent()}},function(b){var a=Ext.manifest.gestures;b.instance=new b(a&&a.tap)});Ext.define('Ext.event.publisher.Focus',{extend:Ext.event.publisher.Dom,type:'focus',handledEvents:['focusenter','focusleave','focusmove'],handledDomEvents:['focusin','focusout'],publishDelegatedDomEvent:function(a){var c=this,b=a.relatedTarget;if(c.$suppressEvents){return}if(a.type==='focusout'){if(b==null){c.processFocusIn(a,a.target,document.body)}}else {if(b==null||!b.tagName){b=document.body}c.processFocusIn(a,b,a.target)}},processFocusIn:function(j,b,a){var e=this,i,c,d=[],k=e.focusFly,g,f,h;if((b&&k.attach(b).isFocusSuspended())||(a&&k.attach(a).isFocusSuspended())){return}if(a.compareDocumentPosition){g=!!(a.compareDocumentPosition(b)&4)}for(c=b,i=Ext.dom.Element.getCommonAncestor(a,b,!0);c&&c!==i;c=c.parentNode){d.push(c)}if(d.length){f=e.createSyntheticEvent('focusleave',j,b,a,b,a,g);e.publish(f,d);if(f.stopped){return}}d.length=0;for(c=a;c&&c!==i;c=c.parentNode){d.push(c)}h=e.createSyntheticEvent('focusenter',j,a,b,b,a,g);if(d.length){e.publish(h,d);if(h.stopped){return}}d=e.getPropagatingTargets(i);if(d.length){f=e.createSyntheticEvent('focusmove',j,a,b,b,a,g);e.publish(f,d);if(f.stopped){return}}if(Ext.GlobalEvents.hasListeners.focus){Ext.GlobalEvents.fireEvent('focus',{event:h,toElement:a,fromElement:b,backwards:g})}},createSyntheticEvent:function(f,c,h,b,d,g,e){var a=new Ext.event.Event(c);a.type=f;a.relatedTarget=b;a.target=h;a.fromElement=d;a.toElement=g;a.backwards=e;return a}},function(a){var b;a.prototype.focusFly=new Ext.dom.Fly();a.instance=new a();if(!Ext.supports.FocusinFocusoutEvents){this.override({handledDomEvents:['focus','blur'],publishDelegatedDomEvent:function(c){var e=this,d;e.callSuper([c]);d=c.target!==window&&c.target!==document;if(c.type==='blur'){if(!d){if(c.explicitOriginalTarget===a.previousActiveElement){if(c.target===window){Ext.undefer(b);b=0;e.processFocusIn(c,a.previousActiveElement,document.body);a.previousActiveElement=null}}}else {b=Ext.defer(function(){b=0;e.processFocusIn(c,c.target,document.body);a.previousActiveElement=null},1);if(d&&Ext.cache[c.target.id]){Ext.cache[c.target.id].focusinTimeout=b}}a.previousActiveElement=d?c.target:null}else {Ext.undefer(b);b=0;e.processFocusIn(c,a.previousActiveElement||document.body,d?c.target:document.body)}}});Ext.define(null,{override:'Ext.dom.Element',destroy:function(){if(this.focusinTimeout){Ext.undefer(this.focusinTimeout);this.focusinTimeout=null}this.callParent()}})}});Ext.define('Ext.field.InputMask',function(a){return {cachedConfig:{blank:'_',characters:{'*':'[A-Za-z0-9]','a':'[a-z]','A':'[A-Z]','0':'[0-9]','9':'[0-9]'},ignoreCase:!0},config:{pattern:null},_cached:!1,_lastEditablePos:null,_mask:null,statics:{active:{},from:function(c,d){var e=a.active,b;if(c===null){b=null}else if(typeof c!=='string'){if(d&&!d._cached){b=d;b.setConfig(c)}else {b=new a(c)}}else if(!(b=e[c])){if(!(b=a.cache.remove(c))){b=new a({pattern:c})}e[c]=b;b._cached=1}else {++b._cached}return b}},constructor:function(b){this.initConfig(b)},release:function(){var b=this,d=a.cache,c;if(b._cached&&!--b._cached){c=b.getPattern();if(a.active[c]!==b){Ext.raise('Invalid call to InputMask#release (not active)')}if(d.map[c]){Ext.raise('Invalid call to InputMask#release (already cached)')}delete a.active[c];d.add(c,b);d.trim(d.maxSize)}else if(b._cached===0){Ext.raise('Invalid call to InputMask#release (already released)')}},clearRange:function(f,e,l){var d=this,h=d.getBlank(),j=e+l,k=f.length,c='',b,i,g;if(!h){g=d._prefix.length;for(b=0;b<k;++b){if(b<g||b<e||b>=j){c+=f[b]}}c=d.formatValue(c)}else {i=d.getPattern();for(b=0;b<k;++b){if(b<e||b>=j){c+=f[b]}else if(d.isFixedChar(b)){c+=i[b]}else {c+=h}}}return c},formatValue:function(g){var d=this,i=d.getBlank(),b,e,h,f,c;if(!i){f=d._prefix;e=f.length;c=this.insertRange('',g,0);for(b=c.length;b>e&&d.isFixedChar(b-1);){--b}c=(b<e)?f:c.slice(0,b-1)}else if(g){c=d.formatValue('');c=d.insertRange(c,g,0)}else {h=d.getPattern();c='';for(b=0,e=h.length;b<e;++b){if(d.isFixedChar(b)){c+=h[b]}else {c+=i}}}return c},getEditPosLeft:function(c){for(var b=c;b>=0;--b){if(!this.isFixedChar(b)){return b}}return null},getEditPosRight:function(e){var c=this._mask,d=c.length,b;for(b=e;b<d;++b){if(!this.isFixedChar(b)){return b}}return null},getFilledLength:function(c){var d=this,f=d.getBlank(),e,b;if(!f){return c.length}for(b=c&&c.length;b-->0;){e=c[b];if(!d.isFixedChar(b)&&d.isAllowedChar(e,b)){break}}return ++b||d._prefix.length},getSubLength:function(j,c,g){var d=this,f=d.getPattern(),e=0,i=f.length,h=c.length,b;for(b=g;b<i&&e<h;){if(!d.isFixedChar(b)||f[b]===c[e]){if(d.isAllowedChar(c[e++],b,!0)){++b}}else {++b}}return b-g},insertRange:function(l,h,k){var d=this,i=d.getPattern(),e=d.getBlank(),p=d.isFilled(l),m=d._prefix.length,o=i.length,n=h.length,c=l,g,j,b,f;if(!e&&k>c.length){c+=i.slice(c.length,k)}for(b=k,f=0;b<o&&f<n;){j=d.isFixedChar(b);if(!j||i[b]===h[f]){g=h[f++];if(d.isAllowedChar(g,b,!0)){if(b<c.length){if(e||p||b<m){c=c.slice(0,b)+g+c.slice(b+1)}else {c=d.formatValue(c.substr(0,b)+g+c.substr(b))}}else if(!e){c+=g}++b}}else {if(!e&&b>=c.length){c+=i[b]}else if(e&&j&&h[f]===e){++f}++b}}return c},isAllowedChar:function(c,e,i){var b=this,g=b.getPattern(),h,f,d;if(b.isFixedChar(e)){return g[e]===c}h=g[e];f=b.getCharacters();d=f[h];return !d||d.test(c||'')||(i&&c===b.getBlank())},isEmpty:function(c){for(var b=0,d=c.length;b<d;++b){if(!this.isFixedChar(b)&&this.isAllowedChar(c[b],b)){return !1}}return !0},isFilled:function(b){return this.getFilledLength(b)===this._mask.length},isFixedChar:function(b){return Ext.Array.indexOf(this._fixedCharPositions,b)>-1},setCaretToEnd:function(b,e){var d=this.getFilledLength(e),c=this.getEditPosRight(d);if(c!==null){Ext.raf(function(){if(!b.destroyed){b.setCaretPos(c);Ext.raf(function(){if(!b.destroyed){b.setCaretPos(c)}})}})}},onBlur:function(b,c){if(b.getAutoHideInputMask()!==!1){if(this.isEmpty(c)){b.maskProcessed=!0;b.setValue('')}}},onFocus:function(b,c){if(b.getAutoHideInputMask()!==!1){if(!c){b.maskProcessed=!0;b.setValue(this._mask)}}this.setCaretToEnd(b,c)},onChange:function(b,c,e){var f=this,d;if(b.maskProcessed||c===e){b.maskProcessed=!1;return !0}if(c){d=f.formatValue(c);b.maskProcessed=!0;b.setValue(d)}},processAutocomplete:function(c,b){var d=this,e;if(b){if(b.length>d._mask.length){b=b.substr(0,d._mask.length)}e=d.formatValue(b);c.maskProcessed=!0;c.inputElement.dom.value=e;c.setValue(e);this.setCaretToEnd(c,b)}},showEmptyMask:function(b,c){var d=this.formatValue();b.maskProcessed=!0;b.setValue(d);if(c){this.setCaretToEnd(b)}},onKeyDown:function(d,h,c){if(c.ctrlKey||c.metaKey){return}var e=this,o=c.keyCode===c.DELETE,l=o==='Delete',n=l||(c.keyCode===c.BACKSPACE),i=h,b,g,m,f,j,k;if(n){b=d.getCaretPos();f=e._prefix.length;j=d.getTextSelection();k=j[0];m=j[1]-k;if(m){i=e.clearRange(h,k,m)}else if(b<f||(!l&&b===f)){b=f}else {g=l?e.getEditPosRight(b):e.getEditPosLeft(b-1);if(g!==null){i=e.clearRange(h,g,1);b=g}}if(i!==h){d.maskProcessed=!0;d.setValue(i)}c.preventDefault();d.setCaretPos(b)}},onKeyPress:function(f,k,e){var c=this,l=e.keyCode,h=e.getChar(),n=c.getPattern(),m=c._prefix.length,d=k,b,g,j,i;if(l===e.ENTER||l===e.TAB||e.ctrlKey||e.metaKey){return}b=f.getCaretPos();i=f.getTextSelection();if(c.isFixedChar(b)&&n[b]===h){d=c.insertRange(d,h,b);++b}else {g=c.getEditPosRight(b);if(g!==null&&c.isAllowedChar(h,g)){j=i[0];d=c.clearRange(d,j,i[1]-j);d=c.insertRange(d,h,g);b=g+1}}if(d!==k){f.maskProcessed=!0;f.setValue(d)}e.preventDefault();if(b<c._lastEditablePos&&b>m){b=c.getEditPosRight(b)}f.setCaretPos(b)},onPaste:function(e,f,d){var b,c=d.browserEvent.clipboardData;if(c&&c.getData){b=c.getData('text/plain')}else if(Ext.global.clipboardData&&Ext.global.clipboardData.getData){b=Ext.global.clipboardData.getData('Text')}if(b){this.paste(e,f,b,e.getTextSelection())}d.preventDefault()},paste:function(e,f,h,g){var d=this,b=g[0],i=g[1]-b,c=i?d.clearRange(f,b,i):f,j=d.getSubLength(c,h,b);c=d.insertRange(c,h,b);b+=j;b=d.getEditPosRight(b)||b;if(c!==f){e.maskProcessed=!0;e.setValue(c)}e.setCaretPos(b)},syncPattern:function(b){var c=b.getValue(),d;if(b.getAutoHideInputMask()===!1){if(!c){this.showEmptyMask(b)}else {d=this.formatValue(c);b.maskProcessed=!0;b.setValue(d)}}else {if(c){d=this.formatValue(c);b.maskProcessed=!0;b.setValue(d)}}},applyCharacters:function(d){var e={},f=this.getIgnoreCase()?'i':'',c,b;for(c in d){b=d[c];if(typeof b==='string'){b=new RegExp(b,f)}e[c]=b}return e},updatePattern:function(e){var d=this,j=d.getCharacters(),g=0,l=e&&e.length,k=d.getBlank(),h=[],i='',c='',f,b;for(b=0;b<l;++b){f=e[b];if(!j[f]){h.push(c.length);c+=f}else {g=c.length+1;c+=k}}d._lastEditablePos=g;d._mask=c;d._fixedCharPositions=h;for(b=0;b<c.length&&d.isFixedChar(b);++b){i+=c[b]}d._prefix=i}}},function(a){a.cache=new Ext.util.LRU();a.cache.maxSize=100});Ext.define('Ext.fx.runner.Css',{extend:Ext.Evented,prefixedProperties:{'transform':!0,'transform-origin':!0,'perspective':!0,'transform-style':!0,'transition':!0,'transition-property':!0,'transition-duration':!0,'transition-timing-function':!0,'transition-delay':!0,'animation':!0,'animation-name':!0,'animation-duration':!0,'animation-iteration-count':!0,'animation-direction':!0,'animation-timing-function':!0,'animation-delay':!0},lengthProperties:{'top':!0,'right':!0,'bottom':!0,'left':!0,'width':!0,'height':!0,'max-height':!0,'max-width':!0,'min-height':!0,'min-width':!0,'margin-bottom':!0,'margin-left':!0,'margin-right':!0,'margin-top':!0,'padding-bottom':!0,'padding-left':!0,'padding-right':!0,'padding-top':!0,'border-bottom-width':!0,'border-left-width':!0,'border-right-width':!0,'border-spacing':!0,'border-top-width':!0,'border-width':!0,'outline-width':!0,'letter-spacing':!0,'line-height':!0,'text-indent':!0,'word-spacing':!0,'font-size':!0,'translate':!0,'translateX':!0,'translateY':!0,'translateZ':!0,'translate3d':!0,'x':!0,'y':!0},durationProperties:{'transition-duration':!0,'transition-delay':!0,'animation-duration':!0,'animation-delay':!0},angleProperties:{rotate:!0,rotateX:!0,rotateY:!0,rotateZ:!0,skew:!0,skewX:!0,skewY:!0},DEFAULT_UNIT_LENGTH:'px',DEFAULT_UNIT_ANGLE:'deg',DEFAULT_UNIT_DURATION:'ms',customProperties:{x:!0,y:!0},formattedNameCache:{'x':'left','y':'top'},transformMethods3d:['translateX','translateY','translateZ','rotate','rotateX','rotateY','rotateZ','skewX','skewY','scaleX','scaleY','scaleZ'],transformMethodsNo3d:['translateX','translateY','rotate','skewX','skewY','scaleX','scaleY'],constructor:function(){var a=this;a.transformMethods=Ext.feature.has.Css3dTransforms?a.transformMethods3d:a.transformMethodsNo3d;a.vendorPrefix=Ext.browser.getStyleDashPrefix();a.ruleStylesCache={};a.callParent()},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement('style');a.type='text/css';(document.head||document.getElementsByTagName('head')[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(j){var i=this.getStyleSheet(),h=this.ruleStylesCache,k=i.cssRules,d,g,b,c,f,a,e;for(d in j){g=j[d];b=h[d];if(b===undefined){f=k.length;i.insertRule(d+'{}',f);b=h[d]=k.item(f).style}c=b.$cache;if(!c){c=b.$cache={}}for(a in g){e=this.formatValue(g[a],a);a=this.formatName(a);if(c[a]!==e){c[a]=e;if(e===null){b.removeProperty(a)}else {b.setProperty(a,e)}}}}return this},applyStyles:function(f){var c,e,d,b,a,g;for(c in f){if(f.hasOwnProperty(c)){this.activeElement=e=document.getElementById(c);if(!e){continue}d=e.style;b=f[c];for(a in b){if(b.hasOwnProperty(a)){g=this.formatValue(b[a],a);a=this.formatName(a);if(g===null){d.removeProperty(a)}else {d.setProperty(a,g)}}}}}this.activeElement=null;return this},formatName:function(b){var c=this.formattedNameCache,a=c[b];if(!a){if((Ext.os.is.Tizen||!Ext.feature.has.CssTransformNoPrefix)&&this.prefixedProperties[b]){a=this.vendorPrefix+b}else {a=b}c[b]=a}return a},formatValue:function(a,b){var k=typeof a,i=this.DEFAULT_UNIT_LENGTH,j=this.customProperties[b],g,d,c,f,h,e;if(a===null){return ''}if(k==='string'){if(this.lengthProperties[b]){if(!Ext.dom.Element.hasUnit(a)){a=a+i;if(j){a=this.getCustomValue(a,b)}}}return a}else if(k==='number'){if(a===0){return '0'}if(this.lengthProperties[b]){a=a+i;if(j){a=this.getCustomValue(a,b)}return a}if(this.angleProperties[b]){return a+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return a+this.DEFAULT_UNIT_DURATION}}else if(b==='transform'){g=this.transformMethods;h=[];for(c=0,f=g.length;c<f;c++){d=g[c];h.push(d+'('+this.formatValue(a[d],d)+')')}return h.join(' ')}else if(Ext.isArray(a)){e=[];for(c=0,f=a.length;c<f;c++){e.push(this.formatValue(a[c],b))}return (e.length>0)?e.join(', '):'none'}return a},getCustomValue:function(a,b){var c=Ext.fly(this.activeElement);if(b==='x'){a=c.translateXY(parseInt(a,10)).x}else if(b==='y'){a=c.translateXY(null,parseInt(a,10)).y}return a+this.DEFAULT_UNIT_LENGTH}});Ext.define('Ext.fx.runner.CssTransition',{extend:Ext.fx.runner.Css,alternateClassName:'Ext.Animator',singleton:!0,listenersAttached:!1,constructor:function(){this.runningAnimationsData={};this.transitionQueue={toData:{},transitionData:{}};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=!0;Ext.getWin().on('transitionend','onTransitionEnd',this)},onTransitionEnd:function(c){var a=c.target,b=a.id;if(b&&this.runningAnimationsData.hasOwnProperty(b)){this.refreshRunningAnimationsData(Ext.get(a),[c.browserEvent.propertyName])}},getElementId:function(a){return a.getId?a.getId():a.id},onAnimationEnd:function(d,a,b,c,n){var l=this.getElementId(d),j=this.runningAnimationsData[l],k={},h={},g,f,e,m,i;b.un('stop','onAnimationStop',this);if(j){g=j.nameMap}k[l]=h;if(a.onBeforeEnd){a.onBeforeEnd.call(a.scope||this,d,c)}b.fireEvent('animationbeforeend',b,d,c);this.fireEvent('animationbeforeend',this,b,d,c);if(n||(!c&&!a.preserveEndState)){f=a.toPropertyNames;for(e=0,m=f.length;e<m;e++){i=f[e];if(g&&!g.hasOwnProperty(i)){h[i]=null}}}if(a.after){Ext.merge(h,a.after)}this.applyStyles(k);if(a.onEnd){a.onEnd.call(a.scope||this,d,c)}b.fireEvent('animationend',b,d,c);this.fireEvent('animationend',this,b,d,c);Ext.AnimationQueue.stop(Ext.emptyFn,b)},onAllAnimationsEnd:function(d){var a=this.getElementId(d),b=this.transitionQueue,c={};delete this.runningAnimationsData[a];c[a]={'transition-property':null,'transition-duration':null,'transition-timing-function':null,'transition-delay':null};delete b.toData[a];delete b.transitionData[a];this.applyStyles(c);this.fireEvent('animationallend',this,d)},hasRunningAnimations:function(c){var b=this.getElementId(c),a=this.runningAnimationsData;return a.hasOwnProperty(b)&&a[b].sessions.length>0},refreshRunningAnimationsData:function(i,m,f,g){var s=this.getElementId(i),r=this.runningAnimationsData,e=r[s];if(!e){return}var o=e.nameMap,n=e.nameList,c=e.sessions,h,j,p,d,b,a,k,q,l=!1;f=Boolean(f);g=Boolean(g);if(!c){return this}h=c.length;if(h===0){return this}if(g){e.nameMap={};n.length=0;for(b=0;b<h;b++){a=c[b];this.onAnimationEnd(i,a.data,a.animation,f,g)}c.length=0}else {for(b=0;b<h;b++){a=c[b];k=a.map;q=a.list;for(j=0,p=m.length;j<p;j++){d=m[j];if(k[d]){delete k[d];Ext.Array.remove(q,d);a.length--;if(--o[d]==0){delete o[d];Ext.Array.remove(n,d)}}}if(a.length==0){c.splice(b,1);b--;h--;l=!0;this.onAnimationEnd(i,a.data,a.animation,f)}}}if(!g&&!f&&c.length==0&&l){this.onAllAnimationsEnd(i)}},getRunningData:function(b){var a=this.runningAnimationsData;if(!a.hasOwnProperty(b)){a[b]={nameMap:{},nameList:[],sessions:[]}}return a[b]},getTestElement:function(){var e=this,b=e.testElement,c=e.iframe,a,d;if(b){if(b.ownerDocument.defaultView!==c.contentWindow){a=c.contentDocument;a.body.appendChild(b);e.testElementComputedStyle=a.defaultView.getComputedStyle(b)}}else {c=e.iframe=document.createElement('iframe');c.setAttribute('data-sticky',!0);c.setAttribute('tabIndex',-1);d=c.style;d.setProperty('visibility','hidden','important');d.setProperty('width','0px','important');d.setProperty('height','0px','important');d.setProperty('position','absolute','important');d.setProperty('border','0px','important');d.setProperty('zIndex','-1000','important');document.body.appendChild(c);a=c.contentDocument;a.open();a.writeln('</body>');a.close();e.testElement=b=a.createElement('div');b.style.setProperty('position','absolute','important');a.body.appendChild(b);e.testElementComputedStyle=a.defaultView.getComputedStyle(b)}return b},getCssStyleValue:function(b,a){var c=this.getTestElement(),e=this.testElementComputedStyle,d=c.style;d.setProperty(b,a);if(Ext.browser.is.Firefox){c.offsetHeight}a=e.getPropertyValue(b);d.removeProperty(b);return a},run:function(s){var a=this,H=[],J=a.lengthProperties,F={},L=a.transitionQueue.toData,d={},K=a.transitionQueue.transitionData,h,i,l,j,G,f,e,t,u,r,q,v,w,I,c,n,A,D,g,b,k,E,m,x,p,o,y,C,z,B;if(!a.listenersAttached){a.attachListeners()}s=Ext.Array.from(s);for(v=0,I=s.length;v<I;v++){c=s[v];c=Ext.factory(c,Ext.fx.Animation);H.push(c);a.activeElement=h=c.getElement();Ext.AnimationQueue.start(Ext.emptyFn,c);D=window.getComputedStyle(h.dom);i=a.getElementId(h);d[i]=d=Ext.merge({},c.getData());B=c.getOnBeforeStart();if(B){B.call(c.scope||a,h)}c.fireEvent('animationstart',c,d);a.fireEvent('animationstart',a,c,d);G=d.before;l=d.from;j=d.to;d.fromPropertyNames=f=[];d.toPropertyNames=e=[];for(b in j){if(j.hasOwnProperty(b)){j[b]=k=a.formatValue(j[b],b);g=a.formatName(b);x=J.hasOwnProperty(b);if(!x){k=a.getCssStyleValue(g,k)}if(l.hasOwnProperty(b)){l[b]=m=a.formatValue(l[b],b);if(!x){m=a.getCssStyleValue(g,m)}if(k!==m){f.push(g);e.push(g)}}else {E=D.getPropertyValue(g);if(k!==E){e.push(g)}}}}n=e.length;if(n===0){a.onAnimationEnd(h,d,c);continue}r=a.getRunningData(i);y=r.sessions;if(y.length>0){a.refreshRunningAnimationsData(h,Ext.Array.merge(f,e),!0,d.replacePrevious)}p=r.nameMap;o=r.nameList;A={};for(w=0;w<n;w++){b=e[w];A[b]=!0;if(!p.hasOwnProperty(b)){p[b]=1;o.push(b)}else {p[b]++}}C={element:h,map:A,list:e.slice(),length:n,data:d,animation:c};y.push(C);c.on('stop','onAnimationStop',a);q=Ext.apply({},G);Ext.apply(q,l);if(o.length>0){f=Ext.Array.difference(o,f);e=Ext.Array.merge(f,e);q['transition-property']=f}F[i]=q;L[i]=Ext.apply({},j);K[i]={'transition-property':e,'transition-duration':d.duration,'transition-timing-function':d.easing,'transition-delay':d.delay};c.startTime=Date.now()}a.activeElement=null;u=a.$className;a.applyStyles(F);t=function(b){if(b.data===u&&b.source===window){window.removeEventListener('message',t,!1);a.applyStyles(a.transitionQueue.toData)}};if(!a.messageTimerId){z=function(){var b;a.messageTimerId=null;if(Ext.isIE){a.applyStyles(a.transitionQueue.transitionData);if(!a.messageFollowupId){b=function(){a.messageFollowupId=null;window.addEventListener('message',t,!1);window.postMessage(u,'*')};b.$skipTimerCheck=!0;a.messageFollowupId=Ext.raf(b)}}else {Ext.merge(a.transitionQueue.toData,a.transitionQueue.transitionData);window.addEventListener('message',t,!1);window.postMessage(u,'*')}};z.$skipTimerCheck=!0;a.messageTimerId=Ext.raf(z)}return H},onAnimationStop:function(j){var a=this,d=a.runningAnimationsData,h=0,g=0,f,i,e,c,k,b;for(f in d){if(d.hasOwnProperty(f)){i=d[f];e=i.sessions;h++;for(c=0,k=e.length;c<k;c++){b=e[c];if(b.animation===j){a.refreshRunningAnimationsData(b.element,b.list.slice(),!1);if(j.destroying){g++}}}}}if(h===g){if(a.messageFollowupId){Ext.unraf(a.messageFollowupId);a.messageFollowupId=null}if(a.messageTimerId){Ext.unraf(a.messageTimerId);a.messageTimerId=null}Ext.apply(a.transitionQueue,{toData:{},transitionData:{}})}}});Ext.define('Ext.fx.Runner',{constructor:function(){return new Ext.fx.runner.CssTransition()}});Ext.define('Ext.fx.animation.Cube',{extend:Ext.fx.animation.Abstract,alias:'animation.cube',config:{before:{},after:{},direction:'right',out:!1},getData:function(){var j=this.getTo(),f=this.getFrom(),k=this.getBefore(),m=this.getAfter(),h=this.getOut(),d=this.getDirection(),i=this.getElement(),g=i.getWidth(),n=i.getHeight(),l=h?'100% 100%':'0% 0%',c=1,e=1,a={rotateY:0,translateZ:0},b={rotateY:0,translateZ:0};if(d=="left"||d=="right"){if(h){e=0.5;b.translateZ=g;b.rotateY=-90}else {c=0.5;a.translateZ=g;a.rotateY=90}}k['transform-origin']=l;m['transform-origin']=null;j.set('transform',b);f.set('transform',a);f.set('opacity',c);j.set('opacity',e);return this.callParent(arguments)}});Ext.define('Ext.fx.animation.Wipe',{extend:Ext.fx.Animation,alternateClassName:'Ext.fx.animation.WipeIn',config:{easing:'ease-out',direction:'right',out:!1},refresh:function(){var i=this,o=i.getElement(),l=o.dom.getBoundingClientRect(),g=l.width,c=l.height,j=i.getFrom(),m=i.getTo(),h=i.getOut(),n=i.getDirection(),f=0,b=0,d=0,e=0,a,k;switch(n){case 'up':if(h){a='-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))';b=c*3+'px';e=c+'px'}else {a='-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))';b=-c*2+'px';e=0};break;case 'down':if(h){a='-webkit-gradient(linear, left top, left bottom, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))';b=-c*2+'px';e=0}else {a='-webkit-gradient(linear, left top, left bottom, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))';b=c*3+'px';e=c+'px'};break;case 'right':if(h){a='-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))';f=-g*2+'px';d=0}else {a='-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))';d=-g*2+'px'};break;case 'left':if(h){a='-webkit-gradient(linear, right top, left top, from(transparent), to(#000), color-stop(66%, #000), color-stop(33%, transparent))';d=-g*2+'px'}else {a='-webkit-gradient(linear, right top, left top, from(#000), to(transparent), color-stop(33%, #000), color-stop(66%, transparent))';f=-g*2+'px';d=0};break;}if(!h){k=b;b=e;e=k;k=f;f=d;d=k}j.set('mask-image',a);j.set('mask-size',g*3+'px '+c*3+'px');j.set('mask-position-x',f);j.set('mask-position-y',b);m.set('mask-position-x',d);m.set('mask-position-y',e)}});Ext.define('Ext.fx.animation.WipeOut',{extend:Ext.fx.animation.Wipe,config:{out:!0}});Ext.define('Ext.fx.easing.Bounce',{extend:Ext.fx.easing.Abstract,config:{springTension:0.3,acceleration:30,startVelocity:0},getValue:function(){var b=Ext.Date.now()-this.getStartTime(),a=(b/this.getAcceleration()),c=a*Math.pow(Math.E,-this.getSpringTension()*a);return this.getStartValue()+(this.getStartVelocity()*c)}});Ext.define('Ext.fx.easing.Momentum',{extend:Ext.fx.easing.Abstract,config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define('Ext.fx.easing.BoundMomentum',{extend:Ext.fx.easing.Abstract,config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(b,a){return Ext.factory(b,Ext.fx.easing.Momentum,a)},applyBounce:function(b,a){return Ext.factory(b,Ext.fx.easing.Bounce,a)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=!1;this.isOutOfBound=!1;return this.callParent(arguments)},getValue:function(){var d=this.getMomentum(),j=this.getBounce(),f=d.getStartVelocity(),b=f>0?1:-1,i=this.getMinMomentumValue(),h=this.getMaxMomentumValue(),g=(b==1)?h:i,c=this.lastValue,a,e;if(f===0){return this.getStartValue()}if(!this.isOutOfBound){a=d.getValue();e=d.getVelocity();if(Math.abs(e)<this.getMinVelocity()){this.isEnded=!0}if(a>=i&&a<=h){return a}this.isOutOfBound=!0;j.setStartTime(Ext.Date.now()).setStartVelocity(e).setStartValue(g)}a=j.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(c!==null){if((b==1&&a<c)||(b==-1&&a>c)){this.isBouncingBack=!0}}}else {if(Math.round(a)==g){this.isEnded=!0}}}this.lastValue=a;return a}});Ext.define('Ext.fx.easing.EaseIn',{extend:Ext.fx.easing.Linear,alias:'easing.ease-in',config:{exponent:4,duration:1500},getValue:function(){var a=Ext.Date.now()-this.getStartTime(),b=this.getDuration(),d=this.getStartValue(),f=this.getEndValue(),e=this.distance,h=a/b,g=Math.pow(h,this.getExponent()),c=d+(g*e);if(a>=b){this.isEnded=!0;return f}return c}});Ext.define('Ext.fx.easing.EaseOut',{extend:Ext.fx.easing.Linear,alias:'easing.ease-out',config:{exponent:4,duration:1500},getValue:function(){var a=Ext.Date.now()-this.getStartTime(),b=this.getDuration(),d=this.getStartValue(),f=this.getEndValue(),e=this.distance,i=a/b,h=1-i,g=1-Math.pow(h,this.getExponent()),c=d+(g*e);if(a>=b){this.isEnded=!0;return f}return c}});Ext.define('Ext.fx.easing.Easing',{constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,'easing')}});Ext.define('Ext.fx.runner.CssAnimation',{extend:Ext.fx.runner.Css,constructor:function(){this.runningAnimationsMap={};this.elementEndStates={};this.animationElementMap={};this.keyframesRulesCache={};this.uniqueId=0;return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=!0;Ext.getWin().on({animationstart:'onAnimationStart',animationend:'onAnimationEnd',scope:this})},onAnimationStart:function(g){var f=g.browserEvent.animationName,a=this.animationElementMap[f],e=this.runningAnimationsMap[a][f],c=this.elementEndStates,d=c[a],b={};if(d){delete c[a];b[a]=d;this.applyStyles(b)}if(e.before){b[a]=e.before;this.applyStyles(b)}},onAnimationEnd:function(f){var e=f.target,b=f.browserEvent.animationName,c=this.animationElementMap,h=c[b],g=this.runningAnimationsMap,d=g[h],a=d[b];if(a.onBeforeEnd){a.onBeforeEnd.call(a.scope||this,e)}if(a.onEnd){a.onEnd.call(a.scope||this,e)}delete c[b];delete d[b];this.removeKeyframesRule(b)},generateAnimationId:function(){return 'animation-'+(++this.uniqueId)},run:function(f){var q={},t=this.elementEndStates,s=this.animationElementMap,p=this.runningAnimationsMap,b,n,d,e,h,r,a,g,c,o,k,l,m,i,j;if(!this.listenersAttached){this.attachListeners()}f=Ext.Array.from(f);for(h=0,r=f.length;h<r;h++){a=f[h];a=Ext.factory(a,Ext.fx.Animation);d=a.getElement().getId();e=a.getName()||this.generateAnimationId();s[e]=d;a=a.getData();n=a.states;this.addKeyframesRule(e,n);b=p[d];if(!b){b=p[d]={}}b[e]=a;o=[];k=[];l=[];m=[];i=[];j=[];for(g in b){if(b.hasOwnProperty(g)){c=b[g];o.push(g);k.push(c.duration);l.push(c.easing);m.push(c.delay);i.push(c.direction);j.push(c.iteration)}}q[d]={'animation-name':o,'animation-duration':k,'animation-timing-function':l,'animation-delay':m,'animation-direction':i,'animation-iteration-count':j};if(a.preserveEndState){t[d]=n['100%']}}this.applyStyles(q)},addKeyframesRule:function(k,i){var e,f,d,g,c,h,b,a,j;g=this.getStyleSheet();c=g.cssRules;b=c.length;g.insertRule('@'+this.vendorPrefix+'keyframes '+k+'{}',b);d=c[b];for(e in i){f=i[e];c=d.cssRules;b=c.length;h=[];for(a in f){j=this.formatValue(f[a],a);a=this.formatName(a);h.push(a+':'+j)}d.insertRule(e+'{'+h.join(';')+'}',b)}return this},removeKeyframesRule:function(f){var b=this.getStyleSheet(),c=b.cssRules,a,e,d;for(a=0,e=c.length;a<e;a++){d=c[a];if(d.name===f){b.removeRule(a);break}}return this}});Ext.define('Ext.list.AbstractTreeItem',{extend:Ext.Widget,isTreeListItem:!0,cachedConfig:{expandable:!1,expanded:!1,iconCls:'',leaf:!0,loading:!1,selected:!1,selectedParent:!1},config:{iconClsProperty:'iconCls',indent:null,owner:null,node:null,over:null,parentItem:null,text:{lazy:!0,$value:''},textProperty:'text'},updateNode:function(b){if(b){var a=this,g=a.itemMap,e,h,i,d,f,c;a.element.dom.setAttribute('data-recordId',b.internalId);if(!g){e=b.childNodes;h=a.getOwner();a.itemMap=g={};for(d=0,i=e.length;d<i;++d){c=e[d];if(c.data.visible){f=h.createItem(c,a);g[c.internalId]=f;a.insertItem(f,null)}}}a.setExpanded(b.isExpanded());a.doNodeUpdate(b)}},updateSelected:function(b){if(!this.isConfiguring){var a=this.getParentItem();while(a&&!a.isRootListItem){a.setSelectedParent(b);a=a.getParentItem()}}},collapse:function(){this.getNode().collapse()},expand:function(){this.getNode().expand()},getToolElement:Ext.emptyFn,insertItem:Ext.emptyFn,isExpanded:function(){return this.getExpanded()},isSelectionEvent:Ext.emptyFn,isToggleEvent:Ext.emptyFn,nodeCollapse:function(e,b){var a=this,d=a.getOwner(),c=a.preventAnimation?null:d.getAnimation();a.nodeCollapseBegin(c,b);if(!c){a.nodeCollapseEnd(b)}},nodeCollapseBegin:function(d,c){var a=this,b=a.getOwner();a.setExpanded(!1);b.fireEvent('itemcollapse',b,a)},nodeCollapseEnd:function(a){if(!a&&!this.destroying){this.getOwner().updateLayout()}},nodeExpand:function(e){var a=this,d=a.getOwner(),c=a.getFloated(),b=!c&&d.getAnimation();a.nodeExpandBegin(b);if(!b){a.nodeExpandEnd()}},nodeExpandBegin:function(c){var a=this,b=a.getOwner();a.setExpanded(!0);b.fireEvent('itemexpand',b,a)},nodeExpandEnd:function(){if(!this.destroying){this.getOwner().updateLayout()}},nodeInsert:function(f,g){var a=this,d=a.getOwner(),h=a.itemMap,i=f.internalId,b=d.getItem(f),e=null,c;if(b){c=b.getParentItem();c.removeItem(b);if(c!==a){c.doUpdateExpandable();b.setParentItem(a)}}else {b=a.getOwner().createItem(f,a)}h[i]=b;if(g){e=h[g.internalId]}a.insertItem(b,e);a.doUpdateExpandable();d.fireEvent('iteminsert',d,a,b,e);d.updateLayout()},nodeRemove:function(f){var a=this,d=a.itemMap,c=a.getOwner(),e=f.internalId,b=d[e];if(b){delete d[e];a.removeItem(b);b.destroy();a.doUpdateExpandable();c.fireEvent('itemremove',c,a,b);c.updateLayout()}},nodeUpdate:function(a,b){this.doNodeUpdate(a)},onClick:function(c){var a=this,b=a.getOwner(),e=a.getNode(),d={event:c,item:a,node:e,tree:b,select:e.get('selectable')!==!1&&a.isSelectionEvent(c),toggle:a.isToggleEvent(c)};if(b.fireEvent('itemclick',b,d)!==!1){if(d.toggle){a.toggleExpanded();c.preventDefault()}if(d.select){b.setSelection(a.getNode())}}},removeItem:Ext.emptyFn,destroy:function(){var a=this,b=a.itemMap,c=a.getOwner(),d;if(b){for(d in b){b[d].destroy()}a.itemMap=null}if(c){c.removeItem(a.getNode())}a.setNode(null);a.setParentItem(null);a.setOwner(null);a.callParent()},privates:{doNodeUpdate:function(b,e){var a=this,d=this.getTextProperty(),c=this.getIconClsProperty();if(d){a.setText(b.data[d])}if(c){a.setIconCls(b.data[c])}a.setLoading(b.isLoading());a.setLeaf(b.isLeaf());a.doUpdateExpandable()},doUpdateExpandable:function(){var a=this.getNode();this.setExpandable(a.isExpandable())},toggleExpanded:function(){if(this.isExpanded()){this.collapse()}else {this.expand()}},updateIndent:function(c){var a=this.itemMap,b;for(b in a){a[b].setIndent(c)}},updateOwner:function(a){this.parent=a}}});Ext.define('Ext.list.RootTreeItem',{extend:Ext.list.AbstractTreeItem,isRootListItem:!0,element:{reference:'element',tag:'ul',cls:Ext.baseCSSPrefix+'treelist-root-container'},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else {this.element.appendChild(b.element)}},isToggleEvent:function(a){return !1}});Ext.define('Ext.mixin.ItemRippler',{mixinId:'itemrippler',config:{itemRipple:null},shouldRippleItem:function(c,d){var a,b;if(d.getTarget(this.noItemRippleSelector,this.element)){return !1}a=c&&this.getItemRipple();if(a&&c.isWidget){b=c.shouldRipple(d);if(b){a=Ext.apply({},a,b)}}return a},rippleItem:function(d,c){if(!d){return}var a=this,h=c.type.match(a.rippleStateRe),b=a.shouldRippleItem(d,c),k=b&&b.release,j=k===!0,e=d.isWidget?d.el:d,i,l,f,g;if(b&&h&&j){a.$rippleStart=c.getXY()}if(b&&e&&((!h&&j)||(h&&k!==!0))){g=a.$rippledItems||(a.$rippledItems=[]);f=a.$rippleStart;if(f){i=c.getXY();l=Math.sqrt(Math.pow((i[0]-f[0]),2)+Math.pow((i[1]-f[1]),2));if(l<=8){e.ripple(c,b);g.push(e)}}else {e.ripple(c,b);g.push(e)}a.$rippleStart=null}},destroyAllRipples:function(){for(var a=this.$rippledItems;a&&a.length;){a.pop().destroyAllRipples()}},privates:{noItemRippleSelector:'.'+Ext.baseCSSPrefix+'item-no-ripple, '+'.'+Ext.baseCSSPrefix+'item-no-tap',rippleStateRe:/start|down/}});Ext.define('Ext.list.TreeItem',{extend:Ext.list.AbstractTreeItem,xtype:'treelistitem',collapsedCls:Ext.baseCSSPrefix+'treelist-item-collapsed',expandedCls:Ext.baseCSSPrefix+'treelist-item-expanded',floatedToolCls:Ext.baseCSSPrefix+'treelist-item-tool-floated',leafCls:Ext.baseCSSPrefix+'treelist-item-leaf',expandableCls:Ext.baseCSSPrefix+'treelist-item-expandable',hideIconCls:Ext.baseCSSPrefix+'treelist-item-hide-icon',loadingCls:Ext.baseCSSPrefix+'treelist-item-loading',selectedCls:Ext.baseCSSPrefix+'treelist-item-selected',selectedParentCls:Ext.baseCSSPrefix+'treelist-item-selected-parent',withIconCls:Ext.baseCSSPrefix+'treelist-item-with-icon',hoverCls:Ext.baseCSSPrefix+'treelist-item-over',rowHoverCls:Ext.baseCSSPrefix+'treelist-row-over',isTreeListItem:!0,config:{rowCls:null},rowClsProperty:'rowCls',element:{reference:'element',tag:'li',cls:Ext.baseCSSPrefix+'treelist-item',children:[{reference:'rowElement',cls:Ext.baseCSSPrefix+'treelist-row',children:[{reference:'wrapElement',cls:Ext.baseCSSPrefix+'treelist-item-wrap',children:[{reference:'iconElement',cls:Ext.baseCSSPrefix+'treelist-item-icon'},{reference:'textElement',cls:Ext.baseCSSPrefix+'treelist-item-text'},{reference:'expanderElement',cls:Ext.baseCSSPrefix+'treelist-item-expander'}]}]},{reference:'itemContainer',tag:'ul',cls:Ext.baseCSSPrefix+'treelist-container'},{reference:'toolElement',cls:Ext.baseCSSPrefix+'treelist-item-tool'}]},constructor:function(b){this.callParent([b]);var a=this.toolElement.dom;a.parentNode.removeChild(a)},getToolElement:function(){return this.toolElement},insertItem:function(b,a){if(a){b.element.insertBefore(a.element)}else {this.itemContainer.appendChild(b.element)}},isSelectionEvent:function(b){var a=this.getOwner();return (!this.isToggleEvent(b)||!a.getExpanderOnly()||a.getSelectOnExpander())},isToggleEvent:function(b){var a=!1;if(this.getOwner().getExpanderOnly()){a=b.target===this.expanderElement.dom}else {a=!this.itemContainer.contains(b.target)}return a},nodeCollapseBegin:function(b,c){var a=this,d=a.itemContainer,e;if(a.expanding){a.stopAnimation(a.expanding)}e=b&&d.getHeight();a.callParent([b,c]);if(b){d.dom.style.display='block';a.collapsingForExpand=c;a.collapsing=this.runAnimation(Ext.merge({from:{height:e},to:{height:0},callback:a.nodeCollapseDone,scope:a},b))}},nodeCollapseDone:function(c){var a=this,b=a.itemContainer;if(!a.destroying&&!a.destroyed){a.collapsing=null;b.dom.style.display='';b.setHeight(null);a.nodeCollapseEnd(a.collapsingForExpand)}},nodeExpandBegin:function(b){var a=this,c=a.itemContainer,d;if(a.collapsing){a.stopAnimation(a.collapsing)}a.callParent([b]);if(b){d=c.getHeight();c.setHeight(0);a.expanding=a.runAnimation(Ext.merge({to:{height:d},callback:a.nodeExpandDone,scope:a},b))}},nodeExpandDone:function(){this.expanding=null;this.itemContainer.setHeight(null);this.nodeExpandEnd()},removeItem:function(a){this.itemContainer.removeChild(a.element)},updateNode:function(b,a){this.syncIndent();this.callParent([b,a])},updateExpandable:function(b){var a=this.getNode();this.updateExpandCls();if(a){a.set('expandable',b)}},updateExpanded:function(b){var a=this.getNode();this.updateExpandCls();if(a){a.set('expanded',b)}},updateIconCls:function(b,c){var a=this,d=a.element;a.doIconCls(a.iconElement,b,c);a.doIconCls(a.toolElement,b,c);d.toggleCls(a.withIconCls,!!b);d.toggleCls(a.hideIconCls,b===null)},updateLeaf:function(a){this.element.toggleCls(this.leafCls,a)},updateLoading:function(a){this.element.toggleCls(this.loadingCls,a)},updateOver:function(b){var a=this;a.element.toggleCls(a.hoverCls,!!b);a.rowElement.toggleCls(a.rowHoverCls,b>1)},updateRowCls:function(b,a){this.rowElement.replaceCls(a,b)},updateSelected:function(b,e){var a=this,d=a.selectedCls,c=a.getToolElement();a.callParent([b,e]);a.element.toggleCls(d,b);if(c){c.toggleCls(d,b)}},updateSelectedParent:function(b){var a=this;a.element.toggleCls(a.selectedParentCls,b);var c=a.getToolElement();if(c){c.toggleCls(a.selectedCls,b)}},updateText:function(a){this.textElement.update(a)},privates:{doNodeUpdate:function(a){this.callParent([a]);this.setRowCls(a&&a.data[this.rowClsProperty])},doIconCls:function(b,c,a){if(a){b.removeCls(a)}if(c){b.addCls(c)}},syncIndent:function(){var a=this,d=a.getIndent(),c=a.getNode(),b;if(c){b=c.data.depth-1;a.wrapElement.dom.style.marginLeft=(b*d)+'px'}},updateExpandCls:function(){if(!this.updatingExpandCls){var a=this,e=a.getExpandable(),b=a.element,f=a.getExpanded(),d=a.expandedCls,c=a.collapsedCls;a.updatingExpandCls=!0;b.toggleCls(a.expandableCls,e);if(e){b.toggleCls(d,f);b.toggleCls(c,!f)}else {b.removeCls([d,c])}a.updatingExpandCls=!1}},updateIndent:function(b,a){this.syncIndent();this.callParent([b,a])}}},function(a){a.prototype.floatedCls=[Ext.Widget.prototype.floatedCls,Ext.baseCSSPrefix+'treelist-item-floated']});Ext.define('Ext.list.Tree',{extend:Ext.Gadget,xtype:'treelist',mixins:[Ext.mixin.ItemRippler],expanderFirstCls:Ext.baseCSSPrefix+'treelist-expander-first',expanderOnlyCls:Ext.baseCSSPrefix+'treelist-expander-only',highlightPathCls:Ext.baseCSSPrefix+'treelist-highlight-path',microCls:Ext.baseCSSPrefix+'treelist-micro',uiPrefix:Ext.baseCSSPrefix+'treelist-',element:{reference:'element',cls:Ext.baseCSSPrefix+'treelist '+Ext.baseCSSPrefix+'unselectable',listeners:{click:'onClick',touchstart:'onTouchStart',touchend:'onTouchEnd',mouseenter:'onMouseEnter',mouseleave:'onMouseLeave',mouseover:'onMouseOver'},children:[{reference:'toolsElement',cls:Ext.baseCSSPrefix+'treelist-toolstrip',listeners:{click:'onToolStripClick',mouseover:'onToolStripMouseOver'}}]},cachedConfig:{animation:{duration:500,easing:'ease'},expanderFirst:!0,expanderOnly:!0},config:{floatLeafItems:!1,defaults:{xtype:'treelistitem'},highlightPath:null,iconSize:null,indent:null,micro:!1,overItem:null,selection:null,selectOnExpander:!1,singleExpand:null,store:null,ui:null},twoWayBindable:{selection:1},publishes:{selection:1},defaultBindProperty:'store',constructor:function(a){this.callParent([a]);this.publishState('selection',this.getSelection())},destroy:function(){var a=this;a.unfloatAll();a.activeFloater=null;a.setSelection(null);a.setStore(null);a.callParent()},updateOverItem:function(f,c){var e={},d=2,a,b;for(a=f;a;a=this.getItem(b.parentNode)){b=a.getNode();e[b.internalId]=!0;a.setOver(d);d=1}if(c&&!c.destroyed){for(a=c;a;a=this.getItem(b.parentNode)){b=a.getNode();if(e[b.internalId]){break}a.setOver(0)}}},applyMicro:function(a){return Boolean(a)},applySelection:function(a,c){var b=this.getStore();if(!b){a=null}if(b&&a!==null&&!(a instanceof Ext.data.Model)){a=b.getNodeById(a)}if(a&&a.get('selectable')===!1){a=c}return a},updateSelection:function(d,e){var b=this,a,c;if(!b.destroying){a=b.getItem(e);if(a){a.setSelected(!1)}a=b.getItem(d);if(a){a.setSelected(!0);while(c=a.getParentItem()){c.setExpanded(!0);a=c}}b.fireEvent('selectionchange',b,d)}},applyStore:function(a){return a&&Ext.StoreManager.lookup(a,'tree')},updateStore:function(c,b){var a=this,d;if(b){if(!b.destroyed){if(b.getAutoDestroy()){b.destroy()}else {a.storeListeners.destroy()}}a.removeRoot();a.storeListeners=null}if(c){a.storeListeners=c.on({destroyable:!0,scope:a,filterchange:'onFilterChange',nodeappend:'onNodeAppend',nodecollapse:'onNodeCollapse',nodeexpand:'onNodeExpand',nodeinsert:'onNodeInsert',noderemove:'onNodeRemove',rootchange:'onRootChange',update:'onNodeUpdate'});d=c.getRoot();if(d){a.createRootItem(d)}}if(!a.destroying){a.updateLayout()}},updateExpanderFirst:function(a){this.element.toggleCls(this.expanderFirstCls,a)},updateExpanderOnly:function(a){this.element.toggleCls(this.expanderOnlyCls,!a)},updateHighlightPath:function(a){this.element.toggleCls(this.highlightPathCls,a)},updateMicro:function(b){var a=this;if(!b){a.unfloatAll();a.activeFloater=null}a.element.toggleCls(a.microCls,b)},updateUi:function(e,b){var a=this,d=a.element,c=a.uiPrefix;if(b){d.removeCls(c+b)}if(e){d.addCls(c+e)}delete a.iconSize;a.syncIconSize()},getItem:function(a){var b=this.itemMap,c;if(a&&b){c=b[a.internalId]}return c||null},getItemConfig:function(b,a){return Ext.apply({parentItem:a.isRootListItem?null:a,owner:this,node:b,indent:this.getIndent()},this.getDefaults())},privates:{checkForOutsideClick:function(b){var a=this.activeFloater;if(!a.element.contains(b.target)){this.unfloatAll()}},collapsingForExpand:!1,createItem:function(d,f){var c=this,e=Ext.create(c.getItemConfig(d,f)),g=c.toolsElement,a,b;if(f.isRootListItem){a=e.getToolElement();if(a){b=c.findVisiblePreviousSibling(d);if(!b){g.insertFirst(a)}else {b=c.getItem(b);a.insertAfter(b.getToolElement())}a.dom.setAttribute('data-recordId',d.internalId);a.isTool=!0}}c.itemMap[d.internalId]=e;return e},createRootItem:function(c){var a=this,b;a.itemMap={};a.rootItem=b=new Ext.list.RootTreeItem({indent:a.getIndent(),node:c,owner:a});a.element.appendChild(b.element);a.itemMap[c.internalId]=b},findVisiblePreviousSibling:function(b){var a=b.previousSibling;while(a){if(a.data.visible){return a}a=a.previousSibling}return null},floatItem:function(b,c){var a=this,d;if(b.getFloated()){return}if(a.toolMouseListeners){a.toolMouseListeners.destroy();a.floaterMouseListeners.destroy();a.floaterMouseListeners=a.toolMouseListeners=null}a.unfloatAll();if(!c&&!a.getFloatLeafItems()&&b.getNode().isLeaf()){return}a.activeFloater=d=b;a.floatedByHover=c;b.setFloated(!0);if(c){a.toolMouseListeners=b.getToolElement().monitorMouseLeave(300,a.checkForMouseLeave,a);a.floaterMouseListeners=(b.floater||b).el.monitorMouseLeave(300,a.checkForMouseLeave,a);d.element.on('mouseover','onMouseOver',a)}else {Ext.on('mousedown','checkForOutsideClick',a)}},shouldRippleItem:function(a,b){if(a&&a.getSelected()){return !1}return this.mixins.itemrippler.shouldRippleItem.call(this,a,b)},onTouchStart:function(a){this.doItemRipple(a)},onTouchEnd:function(a){this.doItemRipple(a)},doItemRipple:function(b){var d=this,a=b.getTarget('[data-recordId]'),c;if(a){c=a.getAttribute('data-recordId');a=d.itemMap[c];if(a&&d.shouldRippleItem(a,b)){this.rippleItem(a,b)}}},onClick:function(c){var a=c.getTarget('[data-recordId]'),b;if(a){b=a.getAttribute('data-recordId');a=this.itemMap[b];if(a){a.onClick(c)}}},onMouseEnter:function(a){this.onMouseOver(a)},onMouseLeave:function(){this.setOverItem(null)},onMouseOver:function(b){var a=Ext.Component.from(b);this.setOverItem(a&&a.isTreeListItem&&a)},checkForMouseLeave:function(c){var a=this.activeFloater,b=c.getRelatedTarget();if(a){if(b!==a.getToolElement().dom&&!a.element.contains(b)){this.unfloatAll()}}},onFilterChange:function(a){this.onRootChange(a.getRoot())},onNodeAppend:function(a,c){if(a){var b=this.itemMap[a.internalId];if(b){b.nodeInsert(c,null)}}},onNodeCollapse:function(b){var a=this.itemMap[b.internalId];if(a){a.nodeCollapse(b,this.collapsingForExpand)}},onNodeExpand:function(f){var a=this,b=a.itemMap[f.internalId],d,h,c,g,e;if(b){if(!b.isRootItem&&a.getSingleExpand()){a.collapsingForExpand=!0;g=(b.getParentItem()||a.rootItem).getNode();d=g.childNodes;for(c=0,h=d.length;c<h;++c){e=d[c];if(e!==f){e.collapse()}}a.collapsing=!1}b.nodeExpand(f)}},onNodeInsert:function(b,d,c){var a=this.itemMap[b.internalId];if(a){a.nodeInsert(d,c)}},onNodeRemove:function(a,d,c){if(a&&!c){var b=this.itemMap[a.internalId];if(b){b.nodeRemove(d)}}},onNodeUpdate:function(d,b,e,c){var a=this.itemMap[b.internalId];if(a){a.nodeUpdate(b,c)}},onRootChange:function(b){var a=this;a.removeRoot();if(b){a.createRootItem(b)}a.updateLayout();a.fireEvent('refresh',a)},removeItem:function(e){var c=this.itemMap,d=e.internalId,b,a;if(c){b=c[d];if(b.getParentItem()===null){a=b.getToolElement();if(a){this.toolsElement.removeChild(a)}}delete c[d]}},removeRoot:function(){var a=this,b=a.rootItem;if(b){a.element.removeChild(b.element);a.rootItem=a.itemMap=Ext.destroy(b)}},onToolStripClick:function(c){var a=c.getTarget('[data-recordId]'),b;if(a){b=a.getAttribute('data-recordId');a=this.itemMap[b];if(a){if(a===this.activeFloater){this.unfloatAll()}else {this.floatItem(a,!1)}}}},onToolStripMouseOver:function(c){var a=c.getTarget('[data-recordId]'),b;if(a){b=a.getAttribute('data-recordId');a=this.itemMap[b];if(a){this.floatItem(a,!0)}}},syncIconSize:function(){var a=this,b=a.iconSize||(a.iconSize=parseInt(a.element.getStyle('background-position'),10));a.setIconSize(b)},unfloatAll:function(){var a=this,b=a.activeFloater;if(b){b.setFloated(!1);a.activeFloater=null;if(a.floatedByHover){if(a.toolMouseListeners){a.toolMouseListeners.destroy();a.floaterMouseListeners.destroy();a.floaterMouseListeners=a.toolMouseListeners=null}b.element.un('mouseover','onMouseOver',a)}else {Ext.un('mousedown','checkForOutsideClick',a)}}},defaultIconSize:22,updateIconSize:function(a){this.setIndent(a||this.defaultIconSize)},updateIndent:function(b){var a=this.rootItem;if(a){a.setIndent(b)}}}});Ext.define('Ext.mixin.ConfigProxy',function(a){return {extend:Ext.Mixin,mixinConfig:{id:'configproxy',extended:function(e,b,d){var c=d.proxyConfig;b.$configProxies=Ext.apply({},b.superclass.self.$configProxies);if(c){delete d.proxyConfig;a.processClass(b,c)}}},onClassMixedIn:function(c){var b=c.prototype,d=b.proxyConfig,e=b.initConfig;b.$proxiedConfigs=null;c.$configProxies={};b.initConfig=function(b){e.apply(this,arguments);this.$proxiedConfigs=null;return this};if(d){delete b.proxyConfig;a.processClass(c,d)}},getProxiedConfigs:function(k){var b=this,j=b.config,c=b.self.$configProxies[k],f=c&&c.length,d,h,e,g,i;if(f&&b.isConfiguring){h=b.$proxiedConfigs||(b.$proxiedConfigs={});while(f-->0){d=c[f];h[g=d.name]=d;if((i=j[g])!==undefined){(e||(e={}))[g]=i}}}return e},mergeProxiedConfigs:function(h,c,g){var e=this,b=c,d=e.getProxiedConfigs(h),f;if(d){if(!c){b=d}else if(c.constructor===Object){f=e.self.getConfigurator();b=f.merge(e,Ext.clone(c),d)}}if(g&&b===c){b=Ext.clone(b)}return b},statics:{processClass:function(m,p){var q=Ext.Config,d=m.prototype,o={},n=m.$configProxies,k,e,j,f,g,i,l,b,h,c;for(g in p){j=q.get(g).names.get;e=p[g];if(Ext.isArray(e)){i=null}else {i=e.methods;e=e.configs}if(!(h=n[g])){n[g]=h=[]}else {n[g]=h=h.slice()}for(f=0,l=i&&i.length;f<l;++f){if(!d[b=i[f]]){d[b]=a.wrapFn(j,b)}else {Ext.raise('Cannot proxy method "'+b+'"')}}for(f=0,l=e&&e.length;f<l;++f){k=q.get(c=e[f]);if(c in o){Ext.raise('Duplicate proxy config definitions for "'+c+'"')}if(c in d.config){Ext.raise('Config "'+c+'" already defined for class '+d.$className)}o[c]=undefined;h.push(k);if(!d[b=k.names.get]){d[b]=a.wrapGet(j,b)}else {Ext.raise('Cannot proxy "'+c+'" config getter')}if(!d[b=k.names.set]){d[b]=a.wrapSet(j,b,c)}else {Ext.raise('Cannot proxy "'+c+'" config setter')}}}m.addConfig(o)},wrapFn:function(b,c){return function(){var d=this[b]();return d&&d[c].apply(d,arguments)}},wrapGet:function(c,b){return function(){var d=this[c]();return d&&d[b]()}},wrapSet:function(d,c,b){return function(h){var g=this,f,e;if(!g.isConfiguring||h!==undefined){f=g[d]();e=g.$proxiedConfigs;if(e&&e[b]){delete e[b];f=null}if(f){f[c](h)}}return g}}}}});Ext.define('Ext.mixin.ConfigState',{extend:Ext.Mixin,mixinConfig:{id:'configstate'},alternateStateConfig:'',toggleConfigState:function(e){var a=this,b=a.capturedConfigState,c=a.getConfig(a.alternateStateConfig),d;if(!c){return}if(e){b={};for(d in c){b[d]=a.getConfig(d)}a.capturedConfigState=b;a.setConfig(c)}else if(!a.isConfiguring&&b){a.setConfig(b);delete a.capturedConfigState}}});Ext.define('Ext.mixin.Mashup',function(a){return {extend:'Ext.Mixin',mixinConfig:{id:'mashup',extended:function(c,b){a.process(b)}},statics:{process:function(g){var h=g.prototype,f=h.requiredScripts,c=g._classHooks,i=c.onCreated,k=g.prototype.xtypes,j=Ext.manifest.mashup||{},e=h.mashupConfig,d,b;if(f){delete h.requiredScripts;c.onCreated=function(){var n=this,l=[],m=Ext.Array.slice(arguments),o=j.redirect||{};f=l.concat(f);e=e&&j[e.key];if(k){for(d=0;!e&&d<k.length;++d){e=j[k[d]]}}for(d=0;d<f.length;d++){b=f[d];if(o[b]===!1){continue}b=o[b]||b;if(b.indexOf('{')>-1){if(e){b=new Ext.Template(b).apply(e)}else {Ext.log.error('Missing mashup options for '+h.$className+' script "'+b+'"')}}l.push(b)}if(!l.length){c.onCreated=i;c.onCreated.call(n,m);return}Ext.Loader.loadScripts({url:l,cache:!0,onError:function(d,b){g.scriptError=g.prototype.scriptError=b;c.onCreated=i;c.onCreated.call(n,m)},onLoad:function(){c.onCreated=i;c.onCreated.call(n,m)}})}}}},onClassMixedIn:function(b){a.process(b)}}});Ext.define('Ext.mixin.Responsive',function(a){return {extend:Ext.Mixin,mixinConfig:{id:'responsive',after:{destroy:'destroy'}},config:{responsiveConfig:{$value:undefined,merge:function(c,d,g,f){if(!c){return d}var e=d?Ext.Object.chain(d):{},b;for(b in c){if(!f||!(b in e)){e[b]={fn:null,config:c[b]}}}return e}},responsiveFormulas:{$value:0,merge:function(c,d,e,b){return this.mergeNew(c,d,e,b)}}},destroy:function(){a.unregister(this)},privates:{statics:{active:!1,all:{},context:Ext.Object.chain(Ext.platformTags),count:0,nextId:0,activate:function(){a.active=!0;a.updateContext();Ext.on('resize',a.onResize,a)},deactivate:function(){a.active=!1;Ext.un('resize',a.onResize,a)},notify:function(){var b=a.all,e=a.context,d=Ext.GlobalEvents,f=a.timer,c;if(f){a.timer=Ext.unasap(f)}a.updateContext();Ext.suspendLayouts();d.fireEvent('beforeresponsiveupdate',e);for(c in b){b[c].setupResponsiveContext()}d.fireEvent('beginresponsiveupdate',e);for(c in b){b[c].updateResponsiveState()}d.fireEvent('responsiveupdate',e);Ext.resumeLayouts(!0)},onResize:function(){if(!a.timer){a.timer=Ext.asap(a.onTimer)}},onTimer:function(){a.timer=null;a.notify()},processConfig:function(c,d,b){var g=d&&d[b],f=c.config,h,e;if(g){e=c.self.getConfigurator();h=e.configs[b];f[b]=h.merge(g,f[b],c)}},register:function(b){var c=b.$responsiveId;if(!c){b.$responsiveId=c=++a.nextId;a.all[c]=b;if(++a.count===1){a.activate()}}},unregister:function(b){var c=b.$responsiveId;if(c in a.all){b.$responsiveId=null;delete a.all[c];if(--a.count===0){a.deactivate()}}},updateContext:function(){var e=Ext.Element,d=e.getViewportWidth(),c=e.getViewportHeight(),b=a.context;b.width=d;b.height=c;b.tall=d<c;b.wide=!b.tall;b.landscape=b.portrait=!1;if(!b.platform){b.platform=Ext.platformTags}b[Ext.dom.Element.getOrientation()]=!0}},afterClassMixedIn:function(f){var c=f.prototype,e=c.responsiveConfig,d=c.responsiveFormulas,b;if(e||d){b={};if(e){delete c.responsiveConfig;b.responsiveConfig=e}if(d){delete c.responsiveFormulas;b.responsiveFormulas=d}f.getConfigurator().add(b)}},applyResponsiveConfig:function(b){for(var c in b){b[c].fn=Ext.createRuleFn(c)}return b},applyResponsiveFormulas:function(c){var e={},b,d;if(c){for(d in c){if(Ext.isString(b=c[d])){b=Ext.createRuleFn(b)}e[d]=b}}return e},getResponsiveState:function(){var f=a.context,c=this.getResponsiveConfig(),e={},b,d;if(c){for(d in c){b=c[d];if(b.fn.call(this,f)){Ext.merge(e,b.config)}}}return e},setupResponsiveContext:function(){var b=this.getResponsiveFormulas(),d=a.context,c;if(b){for(c in b){d[c]=b[c].call(this,d)}}},transformInstanceConfig:function(c){var d=this,b;a.register(d);if(c){a.processConfig(d,c,'responsiveConfig');a.processConfig(d,c,'responsiveFormulas')}d.setupResponsiveContext();b=d.getResponsiveState();if(c){b=Ext.merge({},c,b);delete b.responsiveConfig;delete b.responsiveFormulas}return b},updateResponsiveState:function(){var b=this.getResponsiveState();this.setConfig(b)}}}});Ext.define('Ext.mixin.Selectable',{extend:Ext.Mixin,mixinConfig:{id:'selectable',after:{updateStore:'updateStore'}},config:{disableSelection:null,mode:'SINGLE',allowDeselect:!1,lastSelected:null,lastFocused:null,deselectOnContainerClick:!0,selected:!0,pruneRemoved:!0,selection:null,twoWayBindable:{selection:1},publishes:{selection:1}},modes:{SINGLE:!0,SIMPLE:!0,MULTI:!0},onNavigate:function(a){},selectableEventHooks:{add:'onSelectionStoreAdd',remove:'onSelectionStoreRemove',update:'onSelectionStoreUpdate',clear:{fn:'onSelectionStoreClear',priority:1000},load:'refreshSelection',refresh:'refreshSelection'},initSelectable:function(){this.publishState('selection',this.getSelection())},applySelected:function(a){if(!a.isCollection){a=new Ext.util.Collection(a)}a.addObserver(this);return a},applyMode:function(a){a=a?a.toUpperCase():'SINGLE';return this.modes[a]?a:'SINGLE'},updateStore:function(d,a){var b=this,c=Ext.apply({},b.selectableEventHooks,{scope:b});if(a&&Ext.isObject(a)&&a.isStore){if(a.autoDestroy){a.destroy()}else {a.un(c)}}if(d){d.on(c);b.refreshSelection()}},selectAll:function(c){var a=this,b=a.getStore().getRange();a.select(b,!0,c)},deselectAll:function(b){var a=this;a.deselect(a.getSelected().getRange(),b);a.setLastSelected(null);a.setLastFocused(null)},updateSelection:function(a){if(this.changingSelection){return}if(a){this.select(a)}else {this.deselectAll()}},selectWithEvent:function(b){var a=this,c=a.isSelected(b);switch(a.getMode()){case 'MULTI':case 'SIMPLE':if(c){a.deselect(b)}else {a.select(b,!0)};break;case 'SINGLE':if(a.getAllowDeselect()&&c){a.deselect(b)}else {a.select(b,!1)};break;}},selectRange:function(a,b,g){var f=this,h=f.getStore(),d=[],e,c;if(f.getDisableSelection()){return}if(a>b){e=b;b=a;a=e}for(c=a;c<=b;c++){d.push(h.getAt(c))}this.doMultiSelect(d,g)},select:function(a,e,c){var b=this,d;if(b.getDisableSelection()){return}if(typeof a==="number"){a=[b.getStore().getAt(a)]}if(!a){return}if(b.getMode()=="SINGLE"&&a){d=a.length?a[0]:a;b.doSingleSelect(d,c)}else {b.doMultiSelect(a,e,c)}},doSingleSelect:function(b,a){this.doMultiSelect([b],!1,a)},doMultiSelect:function(a,h,g){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var j=this,b=j.getSelected(),e=b.getCount(),f=[],i=a.length,k=!1,c=0,d;if(!h&&e){f=b.getRange()}for(c=0;c<i;c++){d=a[c];if(typeof d==='number'){a[c]=store.getAt(d)}}b.suppressEvent=g;b.splice(e,f,a);b.suppressEvent=!1},deselect:function(a,f){var e=this;if(e.getDisableSelection()){return}a=Ext.isArray(a)?a:[a];var c=e.getSelected(),g=e.getStore(),h=a.length,b,d;for(b=0;b<h;b++){d=a[b];if(typeof d==='number'){a[b]=g.getAt(d)}}c.suppressEvent=f;c.remove(a);c.suppressEvent=!1},onCollectionRemove:function(a,e){var b=this,c=b.getLastSelected(),d=e.items;if(c&&!a.contains(c)){b.setLastSelected(a.last())}b.onItemDeselect(d,a.suppressEvent);if(!a.suppressEvent){b.fireSelectionChange(d)}},onCollectionAdd:function(a,d){var b=this,c=d.items;b.setLastSelected(a.last());b.onItemSelect(c,a.suppressEvent);if(!a.suppressEvent){b.fireSelectionChange(c)}},updateLastFocused:function(a,b){this.onLastFocusChanged(b,a)},fireSelectionChange:function(b){var a=this;a.changingSelection=!0;a.setSelection(a.getLastSelected()||null);a.changingSelection=!1;a.fireAction('selectionchange',[a,b],'getSelections')},getSelections:function(){return this.getSelected().getRange()},isSelected:function(a){a=Ext.isNumber(a)?this.getStore().getAt(a):a;return this.getSelected().indexOf(a)!==-1},hasSelection:function(){return this.getSelected().getCount()>0},refreshSelection:function(){var g=this,b=g.getSelected(),h=b.getRange(),j=h.length,a=g.getStore().getData(),f=[],i=[],e,c,d;if(g.getPruneRemoved()){a=a.getSource()||a;for(e=0;e<j;e++){c=h[e];d=a.get(a.getKey(c));if(d){if(d!==c){f.push(c);i.push(d)}}else {f.push(c)}}}b.suppressEvent=!0;b.splice(b.getCount(),f,i);b.suppressEvent=!1},onSelectionStoreRemove:function(h,e){var a=this,f=a.getSelected(),g=e.length,b,c,d;if(a.getDisableSelection()){return}for(d=0;d<g;d++){c=e[d];if(f.remove(c)){if(a.getLastSelected()==c){a.setLastSelected(null)}if(a.getLastFocused()==c){a.setLastFocused(null)}b=b||[];b.push(c)}}if(b){a.fireSelectionChange([b])}},onSelectionStoreClear:function(a){var b=a.getData().items;this.onSelectionStoreRemove(a,b)},getSelectionCount:function(){return this.getSelected().getCount()},onSelectionStoreAdd:Ext.emptyFn,onSelectionStoreUpdate:Ext.emptyFn,onItemSelect:Ext.emptyFn,onItemDeselect:Ext.emptyFn,onLastFocusChanged:Ext.emptyFn,onEditorKey:Ext.emptyFn},function(){});Ext.define('Ext.mixin.StoreWatcher',{mixinId:'storewatcher',config:{dataSource:null,owner:null,ownerListeners:{destroyable:!0,storechange:'onStoreChange'},sourceListeners:null,store:null,storeListeners:null},afterClassMixedIn:function(c){var e=this.getConfigurator(),b=c.prototype,d={},a;for(a in e.configs){if(b.hasOwnProperty(a)){d[a]=b[a];delete b[a]}}c.addConfig(d)},onFilterChange:function(b){var a;if(!b){a=null}else if(b.getDataSource){a=b.getDataSource()}else {a=b.getData()}this.setDataSource(a)},onStoreChange:function(b,a){this.setStore(a)},updateDataSource:function(a){this.syncListeners(a,'$sourceListeners','getSourceListeners')},updateOwner:function(a){this.syncListeners(a,'$ownerListeners','getOwnerListeners');this.setStore(a?a.getStore():null)},applyStore:function(a){return (a&&!a.isEmptyStore)?a:null},updateStore:function(a){this.syncListeners(a,'$storeListeners','getStoreListeners');this.onFilterChange(a)},privates:{syncListeners:function(d,c,a){var b=this,e=b[c];if(e){b[c]=null;e.destroy()}if(d){a=b[a]();a=Ext.applyIf({destroyable:!0,scope:b},a);b[c]=d.on(a)}}}});Ext.define('Ext.mixin.StyleCacher',{extend:Ext.Mixin,mixinConfig:{id:'stylecacher'},getCachedStyle:function(c,b){var a=this.$styleCache;if(!a){a=this.$styleCache={}}if(!(b in a)){a[b]=Ext.fly(c).getStyle(b)}return a[b]}});Ext.define('Ext.perf.Accumulator',function(){var b=null,d=Ext.global['chrome'],c,a=function(){a=Ext.now;var b,c;if(Ext.isChrome&&d&&d.Interval){b=new d.Interval();b.start();a=function(){return b.microseconds()/1000}}else if(window.ActiveXObject){try{c=new ActiveXObject('SenchaToolbox.Toolbox');Ext.senchaToolbox=c;a=function(){return c.milliseconds}}catch(e){}}Ext.perf.getTimestamp=Ext.perf.Accumulator.getTimestamp=a;return a()};function adjustSet(a,b){a.sum+=b;a.min=Math.min(a.min,b);a.max=Math.max(a.max,b)}function leaveFrame(f){var d=f?f:(a()-this.time),e=this,c=e.accum;++c.count;if(!--c.depth){adjustSet(c.total,d)}adjustSet(c.pure,d-e.childTime);b=e.parent;if(b){++b.accum.childCount;b.childTime+=d}}function makeSet(){return {min:Number.MAX_VALUE,max:0,sum:0}}function makeTap(b,a){return function(){var c=b.enter(),d=a.apply(this,arguments);c.leave();return d}}function setToJSON(d,e,b,c){var a={avg:0,min:c.min,max:c.max,sum:0};if(d){b=b||0;a.sum=c.sum-e*b;a.avg=a.sum/d}return a}return {constructor:function(b){var a=this;a.count=a.childCount=a.depth=a.maxDepth=0;a.pure=makeSet();a.total=makeSet();a.name=b},statics:{getTimestamp:a},format:function(b){if(!c){c=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>'].join(''),{time:function(a){return Math.round(a*100)/100}})}var a=this.getData(b);a.name=this.name;a.pure.type='Pure';a.total.type='Total';a.times=[a.pure,a.total];return c.apply(a)},getData:function(b){var a=this;return {count:a.count,childCount:a.childCount,depth:a.maxDepth,pure:setToJSON(a.count,a.childCount,b,a.pure),total:setToJSON(a.count,a.childCount,b,a.total)}},enter:function(){var c=this,d={accum:c,leave:leaveFrame,childTime:0,parent:b};++c.depth;if(c.maxDepth<c.depth){c.maxDepth=c.depth}b=d;d.time=a();return d},monitor:function(c,a,b){var d=this.enter();if(b){c.apply(a,b)}else {c.call(a)}d.leave()},report:function(){Ext.log(this.format())},tap:function(d,g){var j=this,k=typeof g==='string'?[g]:g,b,f,a,h,e,c,i,l;l=function(){if(typeof d==='string'){b=Ext.global;h=d.split('.');for(a=0,e=h.length;a<e;++a){b=b[h[a]]}}else {b=d}for(a=0,e=k.length;a<e;++a){c=k[a];f=c.charAt(0)==='!';if(f){c=c.substring(1)}else {f=!(c in b.prototype)}i=f?b:b.prototype;i[c]=makeTap(j,i[c])}};Ext.ClassManager.onCreated(l,j,d);return j}}},function(){Ext.perf.getTimestamp=this.getTimestamp});Ext.define('Ext.perf.Monitor',{singleton:!0,alternateClassName:'Ext.Perf',constructor:function(){this.accumulators=[];this.accumulatorsByName={}},calibrate:function(){var d=new Ext.perf.Accumulator('$'),g=d.total,a=Ext.perf.Accumulator.getTimestamp,e=0,f,c,b;b=a();do{f=d.enter();f.leave();++e}while(g.sum<100);c=a();return (c-b)/e},get:function(b){var c=this,a=c.accumulatorsByName[b];if(!a){c.accumulatorsByName[b]=a=new Ext.perf.Accumulator(b);c.accumulators.push(a)}return a},enter:function(a){return this.get(a).enter()},monitor:function(b,c,a){this.get(b).monitor(c,a)},report:function(){var a=this,b=a.accumulators,c=a.calibrate();b.sort(function(a,b){return (a.name<b.name)?-1:((b.name<a.name)?1:0)});a.updateGC();Ext.log('Calibration: '+Math.round(c*100)/100+' msec/sample');Ext.each(b,function(a){Ext.log(a.format(c))})},getData:function(c){var a={},b=this.accumulators;Ext.each(b,function(b){if(c||b.count){a[b.name]=b.getData()}});return a},reset:function(){Ext.each(this.accumulators,function(b){var a=b;a.count=a.childCount=a.depth=a.maxDepth=0;a.pure={min:Number.MAX_VALUE,max:0,sum:0};a.total={min:Number.MAX_VALUE,max:0,sum:0}})},updateGC:function(){var b=this.accumulatorsByName.GC,c=Ext.senchaToolbox,a;if(b){b.count=c.garbageCollectionCounter||0;if(b.count){a=b.pure;b.total.sum=a.sum=c.garbageCollectionMilliseconds;a.min=a.max=a.sum/b.count;a=b.total;a.min=a.max=a.sum/b.count}}},watchGC:function(){Ext.perf.getTimestamp();var a=Ext.senchaToolbox;if(a){this.get("GC");a.watchGarbageCollector(!1)}},setup:function(a){if(!a){a={render:{'Ext.Component':'render'},layout:{'Ext.layout.Context':'run'}}}this.currentConfig=a;var d,c,f,b,e;for(d in a){if(a.hasOwnProperty(d)){c=a[d];f=Ext.Perf.get(d);for(b in c){if(c.hasOwnProperty(b)){e=c[b];f.tap(b,e)}}}}this.watchGC()},setupLog:function(e){var a,f,d,b,c;for(a in e){if(e.hasOwnProperty(a)){f=Ext.ClassManager.get(a);if(f){d=e[a];c={};for(b in d){c[b]=(function(b,a){return function(){var g,c,f,d,h;g=+Date.now();h=this.callParent(arguments);c=+Date.now()-g;if(window.console&&c>0){d=a==='this'?this:typeof a==='string'?this[a]:typeof a==='number'?arguments[a]:null;if(d){f=d.id}if(f!=null){console.log(b+' for '+f+': '+c+'ms')}else {console.log(b+' for unknown: '+c+'ms')}if(console.trace){console.trace()}}return h}})(b,d[b])}Ext.override(f,c)}}}}});Ext.define('Ext.plugin.AbstractClipboard',{extend:Ext.plugin.Abstract,cachedConfig:{formats:{text:{get:'getTextData',put:'putTextData'}}},config:{memory:null,source:'system',system:'text',gridListeners:null},destroy:function(){var a=this,c=a.keyMap,b=a.shared;Ext.destroy(a.destroyListener);if(c){a.keyMap=Ext.destroy(c);if(!--b.counter){b.textArea=Ext.destroy(b.textArea)}}else {a.renderListener=Ext.destroy(a.renderListener)}a.callParent()},init:function(b){var a=this,c=a.getGridListeners();if(b.rendered){a.finishInit(b)}else if(c){a.renderListener=b.on(Ext.apply({scope:a,destroyable:!0,single:!0},c))}},onCmpReady:function(){this.renderListener=null;this.finishInit(this.getCmp())},getTarget:function(a){return a.el},privates:{shared:{counter:0,data:null,textArea:null},applyMemory:function(a){a=this.applySource(a);if(a){for(var b=a.length;b-->0;){if(a[b]==='system'){Ext.raise('Invalid clipboard format "'+a[b]+'"')}}}return a},applySource:function(a){if(a){if(Ext.isString(a)){a=[a]}else if(a.length===0){a=null}}if(a){var c=this.getFormats();for(var b=a.length;b-->0;){if(a[b]!=='system'&&!c[a[b]]){Ext.raise('Invalid clipboard format "'+a[b]+'"')}}}return a||null},applySystem:function(a){var b=this.getFormats();if(!b[a]){Ext.raise('Invalid clipboard format "'+a+'"')}return a},doCutCopy:function(h,g){var a=this,d=a.allFormats||a.syncFormats(),c=a.getData(g,d),f=a.getMemory(),b=a.getSystem(),e;if(a.validateAction(h)===!1){return}a.shared.data=f&&c;if(b){e=c[b];if(d[b]<3){delete c[b]}a.setClipboardData(e)}},doPaste:function(a,c){var b=this.getFormats();this[b[a].put](c,a)},finishInit:function(b){var a=this;a.keyMap=new Ext.util.KeyMap({target:a.getTarget(b),ignoreInputFields:!0,binding:[{ctrl:!0,key:'x',fn:a.onCut,scope:a},{ctrl:!0,key:'c',fn:a.onCopy,scope:a},{ctrl:!0,key:'v',fn:a.onPaste,scope:a}]});++a.shared.counter;a.destroyListener=b.on({destroyable:!0,destroy:'destroy',scope:a})},getData:function(h,a){var f=this,c=f.getFormats(),e,g,b,d;if(Ext.isString(a)){if(!c[a]){Ext.raise('Invalid clipboard format "'+a+'"')}e=f[c[a].get](a,h)}else {e={};d=[];if(a){for(b in a){if(!c[b]){Ext.raise('Invalid clipboard format "'+b+'"')}d.push(b)}}else {d=Ext.Object.getAllKeys(c)}for(g=d.length;g-->0;){e[b]=f[c[b].get](b,h&&!g)}}return e},getHiddenTextArea:function(){var b=this.shared,a;a=b.textArea;if(!a){a=b.textArea=Ext.getBody().createChild({tag:'textarea',tabIndex:-1,style:{position:'absolute',top:'-1000px',width:'1px',height:'1px'}});a.suspendFocusEvents()}return a},onCopy:function(b,a){this.doCutCopy(a,!1)},onCut:function(b,a){this.doCutCopy(a,!0)},onPaste:function(h,g){var b=this,d=b.shared.data,e=b.getSource(),c,f,a;if(b.validateAction(g)===!1){return}if(e){for(c=0,f=e.length;c<f;++c){a=e[c];if(a==='system'){a=b.getSystem();b.pasteClipboardData(a);break}else if(d&&(a in d)){b.doPaste(a,d[a]);break}}}},pasteClipboardData:function(e){var c=this,d=window.clipboardData,b,a;if(d&&d.getData){c.doPaste(e,d.getData("text"))}else {a=Ext.Element.getActiveElement(!0);b=c.getHiddenTextArea().dom;b.value='';if(a){a.suspendFocusEvents()}b.focus();Ext.defer(function(){if(a){a.focus();a.resumeFocusEvents()}c.doPaste(e,b.value);b.value=''},100,c)}},setClipboardData:function(d){var c=window.clipboardData;if(c&&c.setData){c.setData("text",d)}else {var e=this,b=e.getHiddenTextArea().dom,a=Ext.Element.getActiveElement(!0);b.value=d;if(a){a.suspendFocusEvents()}b.focus();b.select();Ext.defer(function(){b.value='';if(a){a.focus();a.resumeFocusEvents()}},50)}},syncFormats:function(){var c=this,a={},b=c.getMemory(),f=c.getSystem(),d,e;if(f){a[f]=1}if(b){for(d=b.length;d-->0;){e=b[d];a[e]=a[e]?3:2}}return c.allFormats=a},updateMemory:function(){this.allFormats=null},updateSystem:function(){this.allFormats=null},validateAction:Ext.privateFn}});Ext.define('Ext.plugin.MouseEnter',{extend:Ext.plugin.Abstract,alias:'plugin.mouseenter',element:'el',init:function(c){if(!this.delegate){Ext.raise('mouseenter plugin must be configured with a delegate selector')}if(!this.handler){Ext.raise('mouseenter plugin must be configured with handler callback')}var a=this,d={mouseover:'onMouseEvent',scope:a,destroyable:!0},b=a.element;if(a.leaveHandler||a.delay){d.mouseout='onMouseEvent'}if(typeof b==='string'){b=c[a.element]}if(b){a.mouseListener=Ext.get(b).on(d)}else {c.on({render:function(){a.mouseListener=c[a.element].on(d)},single:!0})}},onMouseEvent:function(c){var a=this,b=c.getTarget(a.delegate);if(b&&b!==c.getRelatedTarget(a.delegate)){if(a.delay){Ext.undefer(a.mouseEventTimer);a.mouseEventTimer=Ext.defer(a.handleMouseEvent,a.delay,a,[c,b])}else {a.handleMouseEvent(c,b)}}},handleMouseEvent:function(b,c){var a=this;if(b.type==='mouseover'){Ext.callback(a.handler,null,[b,c],0,a.cmp,a.scope)}else if(a.leaveHandler){Ext.callback(a.leaveHandler,null,[b,c],0,a.cmp,a.scope)}},destroy:function(){Ext.destroy(this.mouseListener);this.callParent()}});Ext.define('Ext.sparkline.Shape',{constructor:function(b,e,d,c){var a=this;a.target=b;a.id=e;a.type=d;a.args=c},append:function(){this.target.appendShape(this);return this}});Ext.define('Ext.sparkline.CanvasBase',{shapeCount:0,_pxregex:/(\d+)(px)?\s*$/i,constructor:function(a){this.owner=a;this.rtl=this.owner.getInherited().rtl},setWidth:function(a){this.pixelWidth=a},setHeight:function(a){this.pixelHeight=a},drawLine:function(c,e,d,f,a,b){return this.drawShape([[c,e],[d,f]],a,b)},drawShape:function(d,b,a,c){return this._genShape('Shape',[d,b,a,c])},drawCircle:function(e,f,d,b,a,c){return this._genShape('Circle',[e,f,d,b,a,c])},drawPieSlice:function(f,g,e,a,d,c,b){return this._genShape('PieSlice',[f,g,e,a,d,c,b])},drawRect:function(e,f,d,c,b,a){return this._genShape('Rect',[e,f,d,c,b,a])},getElement:function(){return this.el},getLastShapeId:function(){return this.lastShapeId},reset:function(){Ext.raise('reset not implemented')},_genShape:function(c,a){var b=this.shapeCount++;a.unshift(b);return new Ext.sparkline.Shape(this,b,c,a)},appendShape:function(a){Ext.raise('appendShape not implemented')},replaceWithShape:function(a,b){Ext.raise('replaceWithShape not implemented')},insertAfterShape:function(a,b){Ext.raise('insertAfterShape not implemented')},removeShapeId:function(a){Ext.raise('removeShapeId not implemented')},getShapeAt:function(a,b){Ext.raise('getShapeAt not implemented')},render:function(){Ext.raise('render not implemented')}});Ext.define('Ext.sparkline.CanvasCanvas',{extend:Ext.sparkline.CanvasBase,statics:{contextOverrides:(function(){var a=window.devicePixelRatio||1;return {moveTo:function(b,c){if(this.rtl){b=this.canvas.width-b-1}this.$moveTo(b*a,c*a)},lineTo:function(b,c){if(this.rtl){b=this.canvas.width-b-1}this.$lineTo(b*a,c*a)},arc:function(b,g,f,d,e,c){if(this.rtl){b=this.canvas.width-b-1}this.$arc(b*a,g*a,f*a,d,e,c)},clearRect:function(b,e,c,d){if(this.rtl){b=this.canvas.width-b-c}this.$clearRect(b*a,e*a,c*a,d*a)}}})()},setWidth:function(a){this.callParent(arguments);this.owner.element.dom.width=a*(window.devicePixelRatio||1)},setHeight:function(a){this.callParent(arguments);this.owner.element.dom.height=a*(window.devicePixelRatio||1)},onOwnerUpdate:function(){var a=this;a.el=a.owner.element;a.interact=!a.owner.initialConfig.disableInteraction;a.shapes={};a.shapeseq=[];a.currentTargetShapeId=a.lastShapeId=null},_getContext:function(e,d,f){var a=this.context,b,c;if(!a){this.context=a=this.el.dom.getContext('2d');b=Ext.sparkline.CanvasCanvas.contextOverrides;for(c in b){a['$'+c]=a[c]}Ext.apply(a,b);a.rtl=this.rtl}if(e!=null){a.strokeStyle=e}a.lineWidth=f||1;if(d!=null){a.fillStyle=d}return a},reset:function(){var a=this._getContext();a.clearRect(0,0,this.pixelWidth,this.pixelHeight);this.shapes={};this.shapeseq=[];this.currentTargetShapeId=this.lastShapeId=null},_drawShape:function(i,b,e,d,h){var a=this._getContext(e,d,h),f=this.rtl?-0.5:0.5,c,g;a.beginPath();a.moveTo(b[0][0]+f,b[0][1]+0.5);for(c=1,g=b.length;c<g;c++){a.lineTo(b[c][0]+f,b[c][1]+0.5)}if(e!=null){a.stroke()}if(d!=null){a.fill()}if(this.targetX!=null&&this.targetY!=null&&a.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=i}},_drawCircle:function(e,g,h,f,c,b,d){var a=this._getContext(c,b,d);a.beginPath();a.arc(g,h,f,0,2*Math.PI,!1);if(this.targetX!=null&&this.targetY!=null&&a.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=e}if(c!=null){a.stroke()}if(b!=null){a.fill()}},_drawPieSlice:function(h,b,c,i,f,g,e,d){var a=this._getContext(e,d);a.beginPath();a.moveTo(b,c);a.arc(b,c,i,f,g,!1);a.lineTo(b,c);a.closePath();if(e!=null){a.stroke()}if(d){a.fill()}if(this.targetX!==undefined&&this.targetY!==undefined&&a.isPointInPath(this.targetX,this.targetY)){this.currentTargetShapeId=h}},_drawRect:function(g,a,b,d,c,f,e){return this._drawShape(g,[[a,b],[a+d,b],[a+d,b+c],[a,b+c],[a,b]],f,e)},appendShape:function(a){this.shapes[a.id]=a;this.shapeseq.push(a.id);this.lastShapeId=a.id;return a.id},replaceWithShape:function(d,c){var b=this.shapeseq,a;this.shapes[c.id]=c;for(a=b.length;a--;){if(b[a]===d){b[a]=c.id}}delete this.shapes[d]},replaceWithShapes:function(e,c){var b=this.shapeseq,f={},d,a,g;for(a=e.length;a--;){f[e[a]]=!0}for(a=b.length;a--;){d=b[a];if(f[d]){b.splice(a,1);delete this.shapes[d];g=a}}for(a=c.length;a--;){b.splice(g,0,c[a].id);this.shapes[c[a].id]=c[a]}},insertAfterShape:function(d,c){var b=this.shapeseq,a;for(a=b.length;a--;){if(b[a]===d){b.splice(a+1,0,c.id);this.shapes[c.id]=c;return}}},removeShapeId:function(c){var b=this.shapeseq,a;for(a=b.length;a--;){if(b[a]===c){b.splice(a,1);break}}delete this.shapes[c]},getShapeAt:function(a,b){if(this.rtl){a=this.el.dom.width-a-1}this.targetX=a;this.targetY=b;this.render();return this.currentTargetShapeId},render:function(){var c=this.shapeseq,g=this.shapes,e=c.length,f=this._getContext(),d,b,a;f.clearRect(0,0,this.pixelWidth,this.pixelHeight);for(a=0;a<e;a++){d=c[a];b=g[d];this['_draw'+b.type].apply(this,b.args)}if(!this.interact){this.shapes={};this.shapeseq=[]}}});Ext.define('Ext.sparkline.VmlCanvas',{extend:Ext.sparkline.CanvasBase,setWidth:function(b){var a=this;a.callParent(arguments);a.owner.groupEl.dom.coordsize=a.width+' '+(a.height||0);a.owner.groupEl.dom.style.width=b+'px'},setHeight:function(b){var a=this;a.callParent(arguments);a.owner.groupEl.dom.coordsize=(a.width||0)+' '+a.height;a.owner.groupEl.dom.style.height=b+'px'},onOwnerUpdate:function(){var a=this;a.group=a.owner.groupEl;a.el=a.owner.element;a.prerender=[]},_drawShape:function(l,d,f,e,c){var a=[],g,i,j,h,k,b;for(b=0,k=d.length;b<k;b++){a[b]=(d[b][0])+','+(d[b][1])}g=a.splice(0,1);c=c==null?1:c;i=f==null?' stroked="false" ':' strokeWeight="'+c+'px" strokeColor="'+f+'" ';j=e==null?' filled="false"':' fillColor="'+e+'" filled="true" ';h=a[0]===a[a.length-1]?'x ':'';return ['<svml:shape coordorigin="0 0" coordsize="',this.pixelWidth,' ',this.pixelHeight,'" id="jqsshape',l,'" ',i,j,' style="position:absolute;height:',this.pixelHeight,'px;width:',this.pixelWidth,'px" ',' path="m ',g,' l ',a.join(', '),' ',h,'e"></svml:shape>'].join('')},_drawCircle:function(j,g,h,a,d,c,i){var b=a*2,e,f;g-=a;h-=a;e=d==null?' stroked="false" ':' strokeWeight="'+i+'px" strokeColor="'+d+'" ';f=c==null?' filled="false"':' fillColor="'+c+'" filled="true" ';return ['<svml:oval id="jqsshape',j,'" ',e,f,' style="position:absolute;top:',h,'px; left:',g,'px;width:',b,'px;height:',b,'px"></svml:oval>'].join('')},_drawPieSlice:function(o,d,e,a,b,c,k,j){var m,n=this.pixelWidth,l=this.pixelHeight,f,g,h,i,p=k==null?' stroked="false" ':' strokeWeight="1px" strokeColor="'+k+'" ',q=j==null?' filled="false"':' fillColor="'+j+'" filled="true" ';if(b===c){return ''}if((c-b)===(2*Math.PI)){b=0;c=(2*Math.PI)}f=d+Math.round(Math.cos(b)*a);g=e+Math.round(Math.sin(b)*a);h=d+Math.round(Math.cos(c)*a);i=e+Math.round(Math.sin(c)*a);if(f===h&&g===i){if((c-b)<Math.PI){return ''}f=h=d+a;g=i=e}if(f===h&&g===i&&(c-b)<Math.PI){return ''}m=[d-a,e-a,d+a,e+a,f,g,h,i];return ['<svml:shape coordorigin="0 0" coordsize="',n,' ',l,'" id="jqsshape',o,'" ',p,q,' style="position:absolute;height:',l,'px;width:',n,'px" path="m ',d,',',e,' wa ',m.join(', '),' x e"></svml:shape>'].join('')},_drawRect:function(g,a,b,d,c,f,e){return this._drawShape(g,[[a,b],[a,b+c],[a+d,b+c],[a+d,b],[a,b]],f,e)},reset:function(){Ext.fly(this.group).empty()},appendShape:function(a){this.prerender.push(this['_draw'+a.type].apply(this,a.args));this.lastShapeId=a.id;return a.id},replaceWithShape:function(c,a){var b=this.el.getById('jqsshape'+c,!0),d=this['_draw'+a.type].apply(this,a.args);b.outerHTML=d},replaceWithShapes:function(b,c){var e=this.el.getById('jqsshape'+b[0],!0),d='',f=c.length,a;for(a=0;a<f;a++){d+=this['_draw'+c[a].type].apply(this,c[a].args)}e.outerHTML=d;for(a=1;a<b.length;a++){this.el.getById('jqsshape'+b[a]).destroy()}},insertAfterShape:function(c,a){var b=this.el.getById('jqsshape'+c,!0),d=this['_draw'+a.type].apply(this,a.args);b.insertAdjacentHTML('afterEnd',d)},removeShapeId:function(b){var a=this.el.getById('jqsshape'+b,!0);this.group.removeChild(a)},getShapeAt:function(b,c){var a=this.el.id.substr(8);return a},render:function(){this.group.dom.innerHTML=this.prerender.join('')}},function(){Ext.onInternalReady(function(){var a=document;if(a.namespaces&&!a.namespaces.svml){a.namespaces.add("svml","urn:schemas-microsoft-com:vml",'#default#VML')}})});Ext.define('Ext.util.Color',{alternateClassName:'Ext.draw.Color',statics:{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbToHexRe:/\s*rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbaToHexRe:/\s*rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\.\d]+)\)/,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*/,NONE:'none',RGBA_NONE:'rgba(0, 0, 0, 0)'},isColor:!0,lightnessFactor:0.2,constructor:function(d,b,c,a){this.setRGB(d,b,c,a)},clone:function(){var a=this;return new this.self(a.r,a.g,a.b,a.a)},setRGB:function(e,c,d,b){var a=this;a.r=Math.min(255,Math.max(0,e));a.g=Math.min(255,Math.max(0,c));a.b=Math.min(255,Math.max(0,d));if(b===undefined){a.a=1}else {a.a=Math.min(1,Math.max(0,b))}},getBrightness:function(){var c=this.r/255*100,b=this.g/255*100,a=this.b/255*100;return ((c*299)+(b*587)+(a*114))/1000},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},getHSL:function(){var h=this,f=h.r/255,e=h.g/255,g=h.b/255,b=Math.max(f,e,g),d=Math.min(f,e,g),c=b-d,a,j=0,i=0.5*(b+d);if(d!==b){j=(i<=0.5)?c/(b+d):c/(2-b-d);if(f===b){a=60*(e-g)/c}else if(e===b){a=120+60*(g-f)/c}else {a=240+60*(f-e)/c}if(a<0){a+=360}if(a>=360){a-=360}}return [a,j,i]},getHSV:function(){var g=this,d=g.r/255,c=g.g/255,f=g.b/255,b=Math.max(d,c,f),i=Math.min(d,c,f),e=b-i,a,j=0,h=b;if(i!=b){j=h?e/h:0;if(d===b){a=60*(c-f)/e}else if(c===b){a=60*(f-d)/e+120}else {a=60*(d-c)/e+240}if(a<0){a+=360}if(a>=360){a-=360}}return [a,j,h]},setHSL:function(f,g,c){var d=this,h=Math.abs,b,e,a;f=(f%360+360)%360;g=g>1?1:g<0?0:g;c=c>1?1:c<0?0:c;if(g===0||f===null){c*=255;d.setRGB(c,c,c)}else {f/=60;b=g*(1-h(2*c-1));e=b*(1-h(f%2-1));a=c-b/2;a*=255;b*=255;e*=255;switch(Math.floor(f)){case 0:d.setRGB(b+a,e+a,a);break;case 1:d.setRGB(e+a,b+a,a);break;case 2:d.setRGB(a,b+a,e+a);break;case 3:d.setRGB(a,e+a,b+a);break;case 4:d.setRGB(e+a,a,b+a);break;case 5:d.setRGB(b+a,a,e+a);break;}}return d},setHSV:function(f,g,c){var d=this,b,e,a;f=(f%360+360)%360;g=g>1?1:g<0?0:g;c=c>1?1:c<0?0:c;if(g===0||f===null){c*=255;d.setRGB(c,c,c)}else {f/=60;b=c*g;e=b*(1-Math.abs(f%2-1));a=c-b;a*=255;b*=255;e*=255;switch(Math.floor(f)){case 0:d.setRGB(b+a,e+a,a);break;case 1:d.setRGB(e+a,b+a,a);break;case 2:d.setRGB(a,b+a,e+a);break;case 3:d.setRGB(a,e+a,b+a);break;case 4:d.setRGB(e+a,a,b+a);break;case 5:d.setRGB(b+a,a,e+a);break;}}return d},createLighter:function(b){var a=this.clone();a.lighten(b);return a},lighten:function(a){if(!a&&a!==0){a=this.lightnessFactor}var b=this.getHSL();this.setHSL(b[0],b[1],Ext.Number.constrain(b[2]+a,0,1))},createDarker:function(b){var a=this.clone();a.darken(b);return a},darken:function(a){if(!a&&a!==0){a=this.lightnessFactor}return this.lighten(-a)},toString:function(){var a=this,b=Math.round;if(a.a===1){var e=b(a.r).toString(16),d=b(a.g).toString(16),c=b(a.b).toString(16);e=(e.length===1)?'0'+e:e;d=(d.length===1)?'0'+d:d;c=(c.length===1)?'0'+c:c;return ['#',e,d,c].join('')}else {return 'rgba('+[b(a.r),b(a.g),b(a.b),a.a===0?0:a.a.toFixed(15)].join(', ')+')'}},toHex:function(e){var d=this.r,c=this.g,b=this.b,a=b|(c<<8)|(d<<16);return '#'+('000000'+a.toString(16)).slice(-6)},setFromString:function(b){var a,c,e,d,g=1,f=parseInt;if(b===Ext.util.Color.NONE){this.r=this.g=this.b=this.a=0;return this}if((b.length===4||b.length===7)&&b.substr(0,1)==='#'){a=b.match(Ext.util.Color.hexRe);if(a){c=f(a[1],16)>>0;e=f(a[2],16)>>0;d=f(a[3],16)>>0;if(b.length===4){c+=(c*16);e+=(e*16);d+=(d*16)}}}else if((a=b.match(Ext.util.Color.rgbToHexRe))){c=+a[1];e=+a[2];d=+a[3]}else if((a=b.match(Ext.util.Color.rgbaToHexRe))){c=+a[1];e=+a[2];d=+a[3];g=+a[4]}else {if(Ext.util.Color.ColorList.hasOwnProperty(b.toLowerCase())){return this.setFromString(Ext.util.Color.ColorList[b.toLowerCase()])}}if(typeof c==='undefined'){return this}this.r=c;this.g=e;this.b=d;this.a=g;return this}},function(){var a=new this();this.addStatics({fly:function(b,d,e,c){switch(arguments.length){case 1:a.setFromString(b);break;case 3:case 4:a.setRGB(b,d,e,c);break;default:return null;}return a},ColorList:{aliceblue:'#f0f8ff',antiquewhite:'#faebd7',aqua:'#00ffff',aquamarine:'#7fffd4',azure:'#f0ffff',beige:'#f5f5dc',bisque:'#ffe4c4',black:'#000000',blanchedalmond:'#ffebcd',blue:'#0000ff',blueviolet:'#8a2be2',brown:'#a52a2a',burlywood:'#deb887',cadetblue:'#5f9ea0',chartreuse:'#7fff00',chocolate:'#d2691e',coral:'#ff7f50',cornflowerblue:'#6495ed',cornsilk:'#fff8dc',crimson:'#dc143c',cyan:'#00ffff',darkblue:'#00008b',darkcyan:'#008b8b',darkgoldenrod:'#b8860b',darkgray:'#a9a9a9',darkgreen:'#006400',darkkhaki:'#bdb76b',darkmagenta:'#8b008b',darkolivegreen:'#556b2f',darkorange:'#ff8c00',darkorchid:'#9932cc',darkred:'#8b0000',darksalmon:'#e9967a',darkseagreen:'#8fbc8f',darkslateblue:'#483d8b',darkslategray:'#2f4f4f',darkturquoise:'#00ced1',darkviolet:'#9400d3',deeppink:'#ff1493',deepskyblue:'#00bfff',dimgray:'#696969',dodgerblue:'#1e90ff',firebrick:'#b22222',floralwhite:'#fffaf0',forestgreen:'#228b22',fuchsia:'#ff00ff',gainsboro:'#dcdcdc',ghostwhite:'#f8f8ff',gold:'#ffd700',goldenrod:'#daa520',gray:'#808080',green:'#008000',greenyellow:'#adff2f',honeydew:'#f0fff0',hotpink:'#ff69b4',indianred:'#cd5c5c',indigo:'#4b0082',ivory:'#fffff0',khaki:'#f0e68c',lavender:'#e6e6fa',lavenderblush:'#fff0f5',lawngreen:'#7cfc00',lemonchiffon:'#fffacd',lightblue:'#add8e6',lightcoral:'#f08080',lightcyan:'#e0ffff',lightgoldenrodyellow:'#fafad2',lightgray:'#d3d3d3',lightgrey:'#d3d3d3',lightgreen:'#90ee90',lightpink:'#ffb6c1',lightsalmon:'#ffa07a',lightseagreen:'#20b2aa',lightskyblue:'#87cefa',lightslategray:'#778899',lightsteelblue:'#b0c4de',lightyellow:'#ffffe0',lime:'#00ff00',limegreen:'#32cd32',linen:'#faf0e6',magenta:'#ff00ff',maroon:'#800000',mediumaquamarine:'#66cdaa',mediumblue:'#0000cd',mediumorchid:'#ba55d3',mediumpurple:'#9370d8',mediumseagreen:'#3cb371',mediumslateblue:'#7b68ee',mediumspringgreen:'#00fa9a',mediumturquoise:'#48d1cc',mediumvioletred:'#c71585',midnightblue:'#191970',mintcream:'#f5fffa',mistyrose:'#ffe4e1',moccasin:'#ffe4b5',navajowhite:'#ffdead',navy:'#000080',oldlace:'#fdf5e6',olive:'#808000',olivedrab:'#6b8e23',orange:'#ffa500',orangered:'#ff4500',orchid:'#da70d6',palegoldenrod:'#eee8aa',palegreen:'#98fb98',paleturquoise:'#afeeee',palevioletred:'#d87093',papayawhip:'#ffefd5',peachpuff:'#ffdab9',peru:'#cd853f',pink:'#ffc0cb',plum:'#dda0dd',powderblue:'#b0e0e6',purple:'#800080',red:'#ff0000',rosybrown:'#bc8f8f',royalblue:'#4169e1',saddlebrown:'#8b4513',salmon:'#fa8072',sandybrown:'#f4a460',seagreen:'#2e8b57',seashell:'#fff5ee',sienna:'#a0522d',silver:'#c0c0c0',skyblue:'#87ceeb',slateblue:'#6a5acd',slategray:'#708090',snow:'#fffafa',springgreen:'#00ff7f',steelblue:'#4682b4',tan:'#d2b48c',teal:'#008080',thistle:'#d8bfd8',tomato:'#ff6347',turquoise:'#40e0d0',violet:'#ee82ee',wheat:'#f5deb3',white:'#ffffff',whitesmoke:'#f5f5f5',yellow:'#ffff00',yellowgreen:'#9acd32'},fromHSL:function(a,c,b){return (new this(0,0,0,0)).setHSL(a,c,b)},fromHSV:function(a,b,c){return (new this(0,0,0,0)).setHSL(a,b,c)},fromString:function(a){return (new this(0,0,0,0)).setFromString(a)},create:function(a){if(a instanceof this){return a}else if(Ext.isArray(a)){return new Ext.util.Color(a[0],a[1],a[2],a[3])}else if(Ext.isString(a)){return Ext.util.Color.fromString(a)}else if(arguments.length>2){return new Ext.util.Color(arguments[0],arguments[1],arguments[2],arguments[3])}else {return new Ext.util.Color(0,0,0,0)}}})});Ext.define('Ext.sparkline.Base',{extend:Ext.Gadget,xtype:'sparkline',cachedConfig:{lineColor:'#157fcc',defaultPixelsPerValue:3,tagValuesAttribute:'values',enableTagOptions:!1,enableHighlight:!0,highlightColor:null,highlightLighten:0.1,tooltipSkipNull:!0,tooltipPrefix:'',tooltipSuffix:'',disableTooltips:!1,disableInteraction:!1,tipTpl:null},config:{values:null},baseCls:Ext.baseCSSPrefix+'sparkline',element:{tag:'canvas',reference:'element',style:{display:'inline-block',verticalAlign:'top'},listeners:{mouseenter:'onMouseEnter',mouseleave:'onMouseLeave',mousemove:'onMouseMove'},width:0,height:0},defaultBindProperty:'values',redrawQueue:{},inheritableStatics:{onClassCreated:function(d){var e=d.prototype.updateConfigChange,b=d.prototype,f=d.getConfigurator().configs,c,a;for(c in f){if(c!=='tipTpl'){a=Ext.Config.get(c).names.update;if(b[a]){b[a]=Ext.Function.createSequence(b[a],e)}else {b[a]=e}}}}},constructor:function(c){var a=this,b=Ext.sparkline;a.canvas=Ext.supports.Canvas?new b.CanvasCanvas(a):new b.VmlCanvas(a);a.callParent([c])},all:function(d,b,c){var a;for(a=b.length;a--;){if(c&&b[a]===null){continue}if(b[a]!==d){return !1}}return !0},updateConfigChange:function(b){var a=this;if(a.bufferRedraw||!a.height||!a.width){a.redrawQueue[a.getId()]=a;if(!a.redrawTimer){Ext.sparkline.Base.prototype.redrawTimer=Ext.raf(a.processRedrawQueue)}}else {a.redraw()}return b},applyTipTpl:function(a){if(a&&!a.isTemplate){a=new Ext.XTemplate(a)}return a},normalizeValue:function(a){var b;switch(a){case 'undefined':a=undefined;break;case 'null':a=null;break;case 'true':a=!0;break;case 'false':a=!1;break;default:b=parseFloat(a);if(a==b){a=b};}return a},normalizeValues:function(c){var a,b=[];for(a=c.length;a--;){b[a]=this.normalizeValue(c[a])}return b},updateWidth:function(b,d){var a=this,e=a.element.dom,c=a.measurer;a.callParent([b,d]);a.canvas.setWidth(b);a.width=b;if(a.height==null&&c){a.setHeight(parseInt(c.getCachedStyle(e.parentNode,'line-height'),10))}},updateHeight:function(a,c){var b=this;b.callParent([a,c]);b.canvas.setHeight(a);b.height=a},setValues:function(a){var b=this,c=b.getValues();a=a==null?[]:Ext.Array.from(a);b.values=a;b.callParent([a]);if(a===c){b.updateValues([a,c])}},redraw:function(){var a=this;if(!a.destroyed){a.canvas.onOwnerUpdate();a.canvas.reset();if(a.getValues()){a.onUpdate();a.renderGraph()}}},onUpdate:Ext.emptyFn,renderGraph:function(){var a=!0;if(this.disabled){this.canvas.reset();a=!1}return a},onMouseEnter:function(a){this.onMouseMove(a)},onMouseMove:function(b){var a=this;a.canvasRegion=a.canvasRegion||a.canvas.el.getRegion();a.currentPageXY=b.getPoint();a.redraw()},onMouseLeave:function(){var a=this;a.canvasRegion=a.currentPageXY=a.targetX=a.targetY=null;a.redraw();a.hideTip()},updateDisplay:function(){var a=this,d=a.getValues(),c,b;if(d&&d.length&&a.currentPageXY&&a.canvasRegion.contains(a.currentPageXY)){b=a.getRegion(a.currentPageXY[0]-a.canvasRegion.left,(a.canvasRegion.bottom-1)-a.currentPageXY[1]);if(b!=null&&a.isValidRegion(b,d)){if(!a.disableHighlight){a.renderHighlight(b)}if(!a.getDisableTooltips()){c=a.getRegionTooltip(b)}}if(a.hasListeners.sparklineregionchange){a.fireEvent('sparklineregionchange',a)}if(c){a.getSharedTooltip().setHtml(c);a.showTip()}}if(!c){a.hideTip()}},getRegion:Ext.emptyFn,getRegionTooltip:function(m){var b=this,i=[],k=b.getTipTpl(),a,f,e,h,l,g,j,d,c;a=b.getRegionFields(m);g=b.tooltipFormatter;if(g){return g(b,b,a)}if(!k){return ''}if(!Ext.isArray(a)){a=[a]}f=b.tooltipFormatFieldlist;e=b.tooltipFormatFieldlistKey;if(f&&e){h=[];for(d=a.length;d--;){l=a[d][e];if((c=Ext.Array.indexOf(l,f))!==-1){h[c]=a[d]}}a=h}j=a.length;for(c=0;c<j;c++){if(!a[c].isNull||!b.getTooltipSkipNull()){Ext.apply(a[c],{prefix:b.getTooltipPrefix(),suffix:b.getTooltipSuffix()});i.push(k.apply(a[c]))}}if(i.length){return i.join('<br>')}return ''},getRegionFields:Ext.emptyFn,calcHighlightColor:function(b){var e=this,c=e.getHighlightColor(),d=e.getHighlightLighten(),a;if(c){return c}if(d){a=Ext.util.Color.fromString(b);if(a){a.lighten(d);b=a.toHex()}}return b},destroy:function(){delete this.redrawQueue[this.getId()];this.callParent()},privates:{hideTip:Ext.privateFn,isValidRegion:function(a,b){return a<b.length},showTip:Ext.privateFn}},function(b){var a=b.prototype;a.getSharedTooltip=function(){var d=this,c=d.tooltip;if(!c){a.tooltip=c=b.constructTip()}return c};b.onClassCreated(b);a.processRedrawQueue=function(){var c=a.redrawQueue,d;for(d in c){c[d].redraw()}a.redrawQueue={};a.redrawTimer=0}});Ext.define('Ext.sparkline.BarBase',{extend:Ext.sparkline.Base,renderHighlight:function(a){this.renderRegion(a,!0)},renderGraph:function(){var a=this,h=a.values,g=a.canvas,e=a.regionShapes||(a.regionShapes={}),b,f,c,d;if(!a.callParent()){return}for(c=h.length;c--;){b=a.renderRegion(c);if(b){if(Ext.isArray(b)){f=[];for(d=b.length;d--;){b[d].append();f.push(b[d].id)}e[c]=f}else {b.append();e[c]=b.id}}else {e[c]=null}}if(a.currentPageXY){a.currentRegion=null;a.updateDisplay()}g.render()}});Ext.define('Ext.sparkline.RangeMap',{constructor:function(c){var b,a,d=[];for(b in c){if(c.hasOwnProperty(b)&&typeof b==='string'&&b.indexOf(':')>-1){a=b.split(':');a[0]=a[0].length===0?-Infinity:parseFloat(a[0]);a[1]=a[1].length===0?Infinity:parseFloat(a[1]);a[2]=c[b];d.push(a)}}this.map=c;this.rangelist=d||!1},get:function(c){var b=this.rangelist,d,a,e;if((e=this.map[c])!==undefined){return e}if(b){for(d=b.length;d--;){a=b[d];if(a[0]<=c&&a[1]>=c){return a[2]}}}}});Ext.define('Ext.sparkline.Bar',{extend:Ext.sparkline.BarBase,alias:'widget.sparklinebar',config:{barColor:'#3366cc',negBarColor:'#f44',stackedBarColor:['#3366cc','#dc3912','#ff9900','#109618','#66aa00','#dd4477','#0099c6','#990099'],zeroColor:null,nullColor:null,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMin:null,chartRangeMax:null,chartRangeClip:!1,colorMap:null},tipTpl:'&#9679; {prefix}{value}{suffix}',remove:function(b,e){var a,d,c=[];for(a=0,d=b.length;a<d;a++){if(b[a]!==e){c.push(b[a])}}return c},all:function(b,d,c){var a;for(a=b.length;a--;){if(c&&b[a]===null){continue}if(b[a]!==d){return !1}}return !0},applyColorMap:function(b){var a=this;if(Ext.isArray(b)){a.colorMapByIndex=b;a.colorMapByValue=null}else {a.colorMapByIndex=null;a.colorMapByValue=b;if(a.colorMapByValue&&a.colorMapByValue.get==null){a.colorMapByValue=new Ext.sparkline.RangeMap(b)}}a.updateConfigChange();return b},onUpdate:function(){var a=this,d=a.values,D=a.getBarWidth(),C=a.getBarSpacing(),o=a.getChartRangeMin(),n=a.getChartRangeMax(),m=a.getChartRangeClip(),q=Infinity,k=-Infinity,u,x,w,p,i,c,s,B,y=a.getZeroAxis(),h,e,f,A,z,g,r,l,G,F,b,j,E,v=[],t=[];for(c=0,s=d.length;c<s;c++){b=d[c];u=typeof (b)==='string'&&b.indexOf(':')>-1;if(u||Ext.isArray(b)){g=!0;if(u){b=d[c]=a.normalizeValues(b.split(':'))}b=a.remove(b,null);x=Math.min.apply(Math,b);w=Math.max.apply(Math,b);if(x<q){q=x}if(w>k){k=w}}}a.stacked=g;a.regionShapes={};a.totalBarWidth=D+C;if(d.length){a.width=(d.length*D)+((d.length-1)*C)}if(m){A=o==null?-Infinity:o;z=n==null?Infinity:n}i=[];p=g?[]:i;for(c=0,s=d.length;c<s;c++){if(g){r=d[c];d[c]=F=[];v[c]=0;p[c]=t[c]=0;for(l=0,G=r.length;l<G;l++){b=F[l]=m?Ext.Number.constrain(r[l],A,z):r[l];if(b!==null){if(b>0){v[c]+=b}if(q<0&&k>0){if(b<0){t[c]+=Math.abs(b)}else {p[c]+=b}}else {p[c]+=Math.abs(b-(b<0?k:q))}i.push(b)}}}else {b=m?Ext.Number.constrain(d[c],A,z):d[c];b=d[c]=a.normalizeValue(b);if(b!==null){i.push(b)}}}a.max=f=Math.max.apply(Math,i);a.min=e=Math.min.apply(Math,i);a.stackMax=k=g?Math.max.apply(Math,v):f;a.stackMin=q=g?Math.min.apply(Math,i):e;if(o!=null&&(m||o<e)){e=o}if(n!=null&&(m||n>f)){f=n}if(e<=0&&f>=0&&y){h=0}else if(!y){h=e}else if(e>0){h=e}else {h=f}a.xAxisOffset=h;B=g?(Math.max.apply(Math,p)+Math.max.apply(Math,t)):f-e;a.canvasHeightEf=(y&&e<0)?a.getHeight()-2:a.getHeight()-1;if(e<h){E=(g&&f>=0)?k:f;j=(E-h)/B*a.getHeight();if(j!==Math.ceil(j)){a.canvasHeightEf-=2;j=Math.ceil(j)}}else {j=a.getHeight()}a.yoffset=j;a.range=B},getRegion:function(b,c){var a=Math.floor(b/this.totalBarWidth);return (a<0||a>=this.values.length)?undefined:a},getRegionFields:function(c){var e=Ext.Array.from(this.values[c]),d=[],a,b;for(b=e.length;b--;){a=e[b];d.push({isNull:a===null,value:a,color:this.calcColor(b,a,c),offset:c})}return d},calcColor:function(i,d,h){var b=this,c=b.colorMapByIndex,e=b.colorMapByValue,a,g,f=b.getZeroColor();if(this.stacked){a=b.getStackedBarColor()}else {a=(d<0)?b.getNegBarColor():b.getBarColor()}if(d===0&&f!=null){a=f}if(e&&(g=e.get(d))){a=g}else if(c&&c.length>h){a=c[h]}return Ext.isArray(a)?a[i%a.length]:a},renderRegion:function(l,n){var a=this,b=a.values[l],g=a.xAxisOffset,t=a.range,w=a.stacked,r=a.canvas,o=a.getBarWidth(),u=l*a.totalBarWidth,v=a.canvasHeightEf,d=a.yoffset,i,f,c,s,j,h,p,e,m,q,k=a.getNullColor();b=Ext.isArray(b)?b:[b];p=b.length;e=b[0];s=a.all(b,null);q=a.all(b,g,!0);if(s){if(k){c=n?k:a.calcHighlightColor(k,a);i=(d>0)?d-1:d;r.drawRect(u,i,o-1,0,c,c).append()}return}j=d;for(h=0;h<p;h++){e=b[h];if(w&&e===g){if(!q||m){continue}m=!0}if(t>0){f=Math.floor(v*((Math.abs(e-g)/t)))+1}else {f=1}if(e<g||(e===g&&d===0)){i=j;j+=f}else {i=d-f;d-=f}c=a.calcColor(h,e,l);if(n){c=a.calcHighlightColor(c,a)}r.drawRect(u,i,o-1,f-1,c,c).append()}}},function(a){a.onClassCreated(a)});Ext.define('Ext.sparkline.Box',{extend:Ext.sparkline.Base,alias:'widget.sparklinebox',config:{raw:!1,boxLineColor:'#000',boxFillColor:'#cdf',whiskerColor:'#000',outlierLineColor:'#333',outlierFillColor:'#fff',medianColor:'#f00',showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:null,targetColor:'#4a2',chartRangeMin:null,chartRangeMax:null},tipTpl:['{field:this.fields}: {value}',{fields:function(b){var a={lq:'Lower Quartile',med:'Median',uq:'Upper Quartile',lo:'Left Outlier',ro:'Right Outlier',lw:'Left Whisker',rw:'Right Whisker'};return a[b]}}],tooltipFormatFieldlistKey:'field',quartile:function(a,c){var b;if(c===2){b=Math.floor(a.length/2);return a.length%2?a[b]:(a[b-1]+a[b])/2}else {if(a.length%2){b=(a.length*c+c)/4;return b%1?(a[Math.floor(b)]+a[Math.floor(b)-1])/2:a[b-1]}else {b=(a.length*c+2)/4;return b%1?(a[Math.floor(b)]+a[Math.floor(b)-1])/2:a[b-1]}}},applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);if(!this.raw){a.sort(function(b,c){return b-c})}this.disabled=!(a&&a.length);this.updateConfigChange();return a},getRegion:function(){return 1},getRegionFields:function(){var a=[{field:'lq',value:this.quartiles[0]},{field:'med',value:this.quartiles[1]},{field:'uq',value:this.quartiles[2]}];if(this.loutlier!==undefined){a.push({field:'lo',value:this.loutlier})}if(this.routlier!==undefined){a.push({field:'ro',value:this.routlier})}if(this.lwhisker!==undefined){a.push({field:'lw',value:this.lwhisker})}if(this.rwhisker!==undefined){a.push({field:'rw',value:this.rwhisker})}return a},renderHighlight:Ext.emptyFn,renderGraph:function(){var a=this,h=a.canvas,b=a.values,t=b.length,s=a.getWidth(),c=a.getHeight(),y=a.getChartRangeMin(),x=a.getChartRangeMax(),e=y==null?Math.min.apply(Math,b):y,D=x==null?Math.max.apply(Math,b):x,f=0,g,n,u,j,m,k,i,o,l,p,d,q=a.getSpotRadius(),w=a.getOutlierLineColor(),v=a.getOutlierFillColor(),r=a.getShowOutliers(),B=a.getOutlierIQR(),C=a.getLineColor(),z=a.getWhiskerColor(),A=a.getTargetColor();if(!a.callParent()){return}if(a.raw){if(r&&b.length>5){n=b[0];g=b[1];j=b[2];m=b[3];k=b[4];i=b[5];o=b[6]}else {g=b[0];j=b[1];m=b[2];k=b[3];i=b[4]}}else {j=a.quartile(b,1);m=a.quartile(b,2);k=a.quartile(b,3);u=k-j;if(r){g=i=null;for(l=0;l<t;l++){if(g==null&&b[l]>j-(u*B)){g=b[l]}if(b[l]<k+(u*B)){i=b[l]}}n=b[0];o=b[t-1]}else {g=b[0];i=b[t-1]}}a.quartiles=[j,m,k];a.lwhisker=g;a.rwhisker=i;a.loutlier=n;a.routlier=o;d=s/(D-e+1);if(r){f=Math.ceil(q);s-=2*Math.ceil(q);d=s/(D-e+1);if(n<g){h.drawCircle((n-e)*d+f,c/2,q,w,v).append()}if(o>i){h.drawCircle((o-e)*d+f,c/2,q,w,v).append()}}h.drawRect(Math.round((j-e)*d+f),Math.round(c*0.1),Math.round((k-j)*d),Math.round(c*0.8),a.getBoxLineColor(),a.getBoxFillColor()).append();h.drawLine(Math.round((g-e)*d+f),Math.round(c/2),Math.round((j-e)*d+f),Math.round(c/2),C).append();h.drawLine(Math.round((g-e)*d+f),Math.round(c/4),Math.round((g-e)*d+f),Math.round(c-c/4),z).append();h.drawLine(Math.round((i-e)*d+f),Math.round(c/2),Math.round((k-e)*d+f),Math.round(c/2),C).append();h.drawLine(Math.round((i-e)*d+f),Math.round(c/4),Math.round((i-e)*d+f),Math.round(c-c/4),z).append();h.drawLine(Math.round((m-e)*d+f),Math.round(c*0.1),Math.round((m-e)*d+f),Math.round(c*0.9),a.getMedianColor()).append();if(a.target){p=Math.ceil(a.spotRadius);h.drawLine(Math.round((a.target-e)*d+f),Math.round((c/2)-p),Math.round((a.target-e)*d+f),Math.round((c/2)+p),A).append();h.drawLine(Math.round((a.target-e)*d+f-p),Math.round(c/2),Math.round((a.target-e)*d+f+p),Math.round(c/2),A).append()}if(a.currentPageXY&&a.canvasRegion.contains(a.currentPageXY)){a.currentRegion=null;a.updateDisplay()}h.render()}});Ext.define('Ext.sparkline.Bullet',{extend:Ext.sparkline.Base,alias:'widget.sparklinebullet',config:{targetColor:'#f33',targetWidth:3,performanceColor:'#33f',rangeColors:['#d3dafe','#a8b6ff','#7f94ff'],base:null},tipTpl:['{fieldkey:this.fields} - {value}',{fields:function(a){if(a==='r'){return 'Range'}if(a==='p'){return 'Performance'}if(a==='t'){return 'Target'}}}],applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),this.normalizeValue);this.disabled=!(a&&a.length);this.updateConfigChange();return a},onUpdate:function(){var a=this,d=a.values,c,e,b,f=a.getBase();a.callParent(arguments);b=d.slice();b[0]=b[0]===null?b[2]:b[0];b[1]=d[1]===null?b[2]:b[1];c=Math.min.apply(Math,d);e=Math.max.apply(Math,d);if(f==null){c=c<0?c:0}else {c=f}a.min=c;a.max=e;a.range=e-c;a.shapes={};a.valueShapes={};a.regiondata={};if(!d.length){a.disabled=!0}},getRegion:function(b,c){var a=this.canvas.getShapeAt(b,c);return (a!==undefined&&this.shapes[a]!==undefined)?this.shapes[a]:undefined},getRegionFields:function(a){return {fieldkey:a.substr(0,1),value:this.values[parseInt(a.substr(1),10)],region:a}},renderHighlight:function(c){var b=this,d=b.valueShapes,f=b.shapes,e=d[c],a;delete f[e];switch(c.substr(0,1)){case 'r':a=b.renderRange(parseInt(c.substr(1),10),!0);break;case 'p':a=b.renderPerformance(!0);break;case 't':a=b.renderTarget(!0);break;}d[c]=a.id;f[a.id]=c;b.canvas.replaceWithShape(e,a)},renderRange:function(d,f){var a=this,g=a.values[d],e=Math.round(a.getWidth()*((g-a.min)/a.range)),c=a.getRangeColors(),b=c[Math.min(d-2,c.length-1)];if(f){b=a.calcHighlightColor(b)}return a.canvas.drawRect(0,0,e-1,a.getHeight()-1,b,b)},renderPerformance:function(b){var d=this.values[1],c=Math.round(this.getWidth()*((d-this.min)/this.range)),a=this.getPerformanceColor();if(b){a=this.calcHighlightColor(a)}return this.canvas.drawRect(0,Math.round(this.getHeight()*0.3),c-1,Math.round(this.getHeight()*0.4)-1,a,a)},renderTarget:function(e){var f=this.values[0],b=this.getTargetWidth(),g=Math.round(this.getWidth()*((f-this.min)/this.range)-(b/2)),c=Math.round(this.getHeight()*0.1),d=this.getHeight()-(c*2),a=this.getTargetColor();if(e){a=this.calcHighlightColor(a)}return this.canvas.drawRect(g,c,b-1,d-1,a,a)},renderGraph:function(){var a=this,g=a.values.length,f=a.canvas,c,b,e=a.shapes||(a.shapes={}),d=a.valueShapes||(a.valueShapes={});if(!a.callParent()){return}for(c=2;c<g;c++){b=a.renderRange(c).append();e[b.id]='r'+c;d['r'+c]=b.id}if(a.values[1]!==null){b=a.renderPerformance().append();e[b.id]='p1';d.p1=b.id}if(a.values[0]!==null){b=this.renderTarget().append();e[b.id]='t0';d.t0=b.id}if(a.currentPageXY&&a.canvasRegion.contains(a.currentPageXY)){a.updateDisplay()}f.render()},privates:{isValidRegion:function(a,b){return parseInt(a.substr(1),10)<b.length}}});Ext.define('Ext.sparkline.Discrete',{extend:Ext.sparkline.BarBase,alias:'widget.sparklinediscrete',config:{lineHeight:'auto',thresholdColor:null,thresholdValue:0,chartRangeMax:null,chartRangeMin:null,chartRangeClip:!1},tipTpl:'{prefix}{value}{suffix}',applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.updateConfigChange();return a},onUpdate:function(){var a=this,b=a.values,d=a.getChartRangeMin(),c=a.getChartRangeMax(),e=a.getChartRangeClip();a.callParent(arguments);a.regionShapes={};a.min=Math.min.apply(Math,b);a.max=Math.max.apply(Math,b);a.range=a.max-a.min;a.width=a.getWidth();a.interval=Math.floor(a.width/b.length);a.itemWidth=a.width/b.length;if(d!=null&&(e||d<a.min)){a.min=d}if(c!=null&&(e||c>a.max)){a.max=c}if(a.canvas){if(a.getLineHeight()==='auto'){a.setLineHeight(Math.round(a.getHeight()*0.3))}}},getRegion:function(a,b){return Math.floor(a/this.itemWidth)},getRegionFields:function(a){return {isNull:this.values[a]===undefined,value:this.values[a],offset:a}},renderRegion:function(h,l){var a=this,o=a.values,j=a.min,q=a.max,p=a.range,m=a.interval,n=a.canvas,k=a.getHeight(),g=a.getLineHeight(),i=k-g,c,d,b,e,f=a.getThresholdColor();d=Ext.Number.constrain(o[h],j,q);e=h*m;c=Math.round(i-i*((d-j)/p));b=(f&&d<a.getThresholdValue())?f:a.getLineColor();if(l){b=a.calcHighlightColor(b)}n.drawLine(e,c,e,c+g,b).append()}});Ext.define('Ext.sparkline.Line',{extend:Ext.sparkline.Base,alias:'widget.sparklineline',config:{fillColor:'#def',spotColor:'#f80',highlightSpotColor:'#5f5',highlightLineColor:'#f22',spotRadius:1.5,minSpotColor:'#f80',maxSpotColor:'#f80',lineWidth:1,normalRangeMin:null,normalRangeMax:null,normalRangeColor:'#ccc',drawNormalOnTop:!1,chartRangeMin:null,chartRangeMax:null,chartRangeMinX:null,chartRangeMaxX:null,valueSpots:null},tipTpl:'&#9679; {prefix}{y}{suffix}',applyValueSpots:function(a){if(a&&!a.get){a=new Ext.sparkline.RangeMap(a)}this.updateConfigChange();return a},onUpdate:function(){this.vertices=[];this.regionMap=[];this.xvalues=[];this.yvalues=[];this.yminmax=[]},getRegion:function(c,d){var a,b=this.regionMap;for(a=b.length;a--;){if(b[a]!==null&&c>=b[a][0]&&c<=b[a][1]){return b[a][2]}}return undefined},getRegionFields:function(a){return {isNull:this.yvalues[a]===null,x:this.xvalues[a],y:this.yvalues[a],color:this.getLineColor(),fillColor:this.getFillColor(),offset:a}},renderHighlight:function(g){var a=this,f=a.canvas,b=a.vertices[g],e=a.getSpotRadius(),d=a.getHighlightSpotColor(),c=a.getHighlightLineColor();if(!b){return}if(e&&d){f.drawCircle(b[0],b[1],e,null,d).append()}if(c){f.drawLine(b[0],a.canvasTop,b[0],a.canvasTop+a.getHeight(),c).append()}},scanValues:function(){var b=this,g=b.values,h=g.length,c=b.xvalues,f=b.yvalues,d=b.yminmax,e,a;for(e=0;e<h;e++){a=g[e];if(typeof a==='string'){a=a.split(':')}if(a&&a.length===2){c.push(Number(a[0]));f.push(a=Number(a[1]));d.push(a)}else {c.push(e);if(a==null||a==='null'){f.push(null)}else {f.push(a=Number(a));d.push(a)}}}if(b.xvalues){c=b.xvalues}b.maxy=b.maxyorg=Math.max.apply(Math,d);b.miny=b.minyorg=Math.min.apply(Math,d);b.maxx=Math.max.apply(Math,c);b.minx=Math.min.apply(Math,c);b.xvalues=c;b.yvalues=f;b.yminmax=d},processRangeOptions:function(){var a=this,d=a.getNormalRangeMin(),g=a.getNormalRangeMax(),f=a.getChartRangeMin(),c=a.getChartRangeMinX(),e=a.getChartRangeMax(),b=a.getChartRangeMaxX();if(d!=null){if(d<a.miny){a.miny=d}if(g>a.maxy){a.maxy=g}}if(f!=null&&(a.chartRangeClip||f<a.miny)){a.miny=f}if(e!=null&&(a.chartRangeClip||e>a.maxy)){this.maxy=e}if(c!=null&&(a.chartRangeClipX||c<a.minx)){a.minx=c}if(b!=null&&(a.chartRangeClipX||b>a.maxx)){a.maxx=b}},drawNormalRange:function(f,g,a,e,c){var d=this.getNormalRangeMin(),b=this.getNormalRangeMax(),i=g+Math.round(a-(a*((b-this.miny)/c))),h=Math.round((a*(b-d))/c);this.canvas.drawRect(f,i,e,h,undefined,this.normalRangeColor).append()},renderGraph:function(){var a=this,m=a.canvas,g=a.getWidth(),e=a.getHeight(),H=a.vertices,c=a.getSpotRadius(),K=a.regionMap,n,k,l,h,i,C,d,A,q,o,J,w,I,E,B,z,y,x,p,u=a.getValueSpots(),r,D,j,f,b,v=a.getSpotColor(),t=a.getMinSpotColor(),s=a.getMaxSpotColor(),G=a.getNormalRangeMin(),F=a.getDrawNormalOnTop();if(!a.callParent()){return}a.scanValues();a.processRangeOptions();j=a.xvalues;f=a.yvalues;if(!a.yminmax.length||a.yvalues.length<2){return}h=i=0;n=a.maxx-a.minx===0?1:a.maxx-a.minx;k=a.maxy-a.miny===0?1:a.maxy-a.miny;l=a.yvalues.length-1;if(c&&(g<(c*4)||e<(c*4))){c=0}if(c){r=a.getHighlightSpotColor()&&!a.disableInteraction;if(r||t||(v&&f[l]===a.miny)){e-=Math.ceil(c)}if(r||s||(v&&f[l]===a.maxy)){e-=Math.ceil(c);h+=Math.ceil(c)}if(r||((t||s)&&(f[0]===a.miny||f[0]===a.maxy))){i+=Math.ceil(c);g-=Math.ceil(c)}if(r||v||(t||s&&(f[l]===a.miny||f[l]===a.maxy))){g-=Math.ceil(c)}}e--;if(G!=null&&!F){a.drawNormalRange(i,h,e,g,k)}d=[];A=[d];E=B=null;z=f.length;for(b=0;b<z;b++){q=j[b];J=j[b+1];o=f[b];w=i+Math.round((q-a.minx)*(g/n));I=b<z-1?i+Math.round((J-a.minx)*(g/n)):g;B=w+((I-w)/2);K[b]=[E||0,B,b];E=B;if(o===null){if(b){if(f[b-1]!==null){d=[];A.push(d)}H.push(null)}}else {if(o<a.miny){o=a.miny}if(o>a.maxy){o=a.maxy}if(!d.length){d.push([w,h+e])}C=[w,h+Math.round(e-(e*((o-this.miny)/k)))];d.push(C);H.push(C)}}y=[];x=[];p=A.length;for(b=0;b<p;b++){d=A[b];if(d.length){if(a.fillColor){d.push([d[d.length-1][0],(h+e)]);x.push(d.slice(0));d.pop()}if(d.length>2){d[0]=[d[0][0],d[1][1]]}y.push(d)}}p=x.length;for(b=0;b<p;b++){m.drawShape(x[b],a.fillColor,a.fillColor).append()}if(G!=null&&F){a.drawNormalRange(i,h,e,g,k)}p=y.length;for(b=0;b<p;b++){m.drawShape(y[b],a.getLineColor(),null,a.getLineWidth()).append()}if(c&&u){if(u.get==null){u=new Ext.sparkline.RangeMap(u)}for(b=0;b<z;b++){D=u.get(f[b]);if(D){m.drawCircle(i+Math.round((j[b]-a.minx)*(g/n)),h+Math.round(e-(e*((f[b]-a.miny)/k))),c,null,D).append()}}}if(c&&v&&f[l]!=null){m.drawCircle(i+Math.round((j[j.length-1]-a.minx)*(g/n)),h+Math.round(e-(e*((f[l]-a.miny)/k))),c,null,v).append()}if(a.maxy!==a.minyorg){if(c&&t){q=j[Ext.Array.indexOf(f,a.minyorg)];m.drawCircle(i+Math.round((q-a.minx)*(g/n)),h+Math.round(e-(e*((a.minyorg-a.miny)/k))),c,null,t).append()}if(c&&s){q=j[Ext.Array.indexOf(f,a.maxyorg)];m.drawCircle(i+Math.round((q-a.minx)*(g/n)),h+Math.round(e-(e*((a.maxyorg-a.miny)/k))),c,null,s).append()}}a.canvasTop=h;if(a.currentPageXY&&a.canvasRegion.contains(a.currentPageXY)){a.updateDisplay()}m.render()}});Ext.define('Ext.sparkline.Pie',{extend:Ext.sparkline.Base,alias:'widget.sparklinepie',config:{offset:0,sliceColors:['#3366cc','#dc3912','#ff9900','#109618','#66aa00','#dd4477','#0099c6','#990099'],borderWidth:0,borderColor:'#000'},tipTpl:'&#9679; {value} ({percent:number("0.0")}%)',applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.updateConfigChange();return a},onUpdate:function(){var a=this,b=a.values,d=0,c;a.callParent(arguments);a.shapes={};a.valueShapes={};if(b.length>0){for(c=b.length;c--;){d+=b[c]}}a.total=d;a.radius=Math.floor(Math.min(a.getWidth(),a.getHeight())/2)},getRegion:function(c,d){var b=window.devicePixelRatio||1,a=this.canvas.getShapeAt(c*b,d*b);return (a!=null&&this.shapes[a]!=null)?this.shapes[a]:null},getRegionFields:function(a){var b=this.getSliceColors();return {isNull:this.values[a]==null,value:this.values[a],percent:this.values[a]/this.total*100,color:b[a%b.length],offset:a}},renderHighlight:function(a){this.renderSlice(a,!0).append()},renderSlice:function(o,n){var a=this,p=a.canvas,f=a.radius,m=a.getBorderWidth(),h=a.getOffset(),q=2*Math.PI,i=a.values,k=a.total,d=h?(2*Math.PI)*(h/360):0,j,e,b,l,c,g=this.getSliceColors();l=i.length;for(b=0;b<l;b++){j=d;e=d;if(k>0){e=d+(q*(i[b]/k))}if(o===b){c=g[b%g.length];if(n){c=a.calcHighlightColor(c)}return p.drawPieSlice(f,f,f-m,j,e,null,c)}d=e}},renderGraph:function(){var a=this,f=a.canvas,g=a.values,d=a.radius,c=a.getBorderWidth(),e,b,i=a.shapes||(a.shapes={}),h=a.valueShapes||(a.valueShapes={});if(!a.callParent()){return}if(c){f.drawCircle(d,d,Math.floor(d-(c/2)),a.getBorderColor(),null,c).append()}for(b=g.length;b--;){if(g[b]){e=a.renderSlice(b).append();h[b]=e.id;i[e.id]=b}}if(a.currentPageXY&&a.canvasRegion.contains(a.currentPageXY)){a.currentRegion=null;a.updateDisplay()}f.render()}});Ext.define('Ext.sparkline.TriState',{extend:Ext.sparkline.BarBase,alias:'widget.sparklinetristate',config:{barWidth:4,barSpacing:1,posBarColor:'#6f6',negBarColor:'#f44',zeroBarColor:'#999',colorMap:{}},tipTpl:['&#9679; {value:this.states}',{states:function(b){var a=Number(b);if(a===-1){return 'Loss'}if(a===0){return 'Draw'}if(a===1){return 'Win'}return b}}],applyColorMap:function(b){var a=this;if(Ext.isArray(b)){a.colorMapByIndex=b;a.colorMapByValue=null}else {a.colorMapByIndex=null;a.colorMapByValue=b;if(a.colorMapByValue&&a.colorMapByValue.get==null){a.colorMapByValue=new Ext.sparkline.RangeMap(b)}}a.updateConfigChange();return b},applyValues:function(a){a=Ext.Array.map(Ext.Array.from(a),Number);this.disabled=!(a&&a.length);this.updateConfigChange();return a},onUpdate:function(){this.totalBarWidth=this.getBarWidth()+this.getBarSpacing()},getBarWidth:function(){var a=this.values;return this._barWidth||(this.getWidth()-(a.length-1)*this.getBarSpacing())/a.length},getRegion:function(a,b){return Math.floor(a/this.totalBarWidth)},getRegionFields:function(a){return {isNull:this.values[a]==null,value:this.values[a],color:this.calcColor(this.values[a],a),offset:a}},calcColor:function(h,c){var b=this,g=b.values,d=b.colorMapByIndex,e=b.colorMapByValue,a,f;if(e&&(f=e.get(h))){a=f}else if(d&&d.length>c){a=d[c]}else if(g[c]<0){a=b.getNegBarColor()}else if(g[c]>0){a=b.getPosBarColor()}else {a=b.getZeroBarColor()}return a},renderRegion:function(d,k){var b=this,g=b.values,i=b.canvas,h,e,c,j,f,a;h=i.pixelHeight;c=Math.round(h/2);j=d*b.totalBarWidth;if(g[d]<0){f=c;e=c-1}else if(g[d]>0){f=0;e=c-1}else {f=c-1;e=2}a=b.calcColor(g[d],d);if(a==null){return}if(k){a=b.calcHighlightColor(a)}i.drawRect(j,f,b.getBarWidth()-1,e-1,a,a).append()}});Ext.define('Ext.util.Base64',{singleton:!0,_str:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a){var b=this;var g='',h,c,d,j,k,i,e,f=0;a=b._utf8_encode(a);var l=a.length;while(f<l){h=a.charCodeAt(f++);c=a.charCodeAt(f++);d=a.charCodeAt(f++);j=h>>2;k=((h&3)<<4)|(c>>4);i=((c&15)<<2)|(d>>6);e=d&63;if(isNaN(c)){i=e=64}else if(isNaN(d)){e=64}g=g+b._str.charAt(j)+b._str.charAt(k)+b._str.charAt(i)+b._str.charAt(e)}return g},decode:function(b){var c=this;var a='',h,i,j,k,f,e,g,d=0;b=b.replace(/[^A-Za-z0-9\+\/\=]/g,"");var l=b.length;while(d<l){k=c._str.indexOf(b.charAt(d++));f=c._str.indexOf(b.charAt(d++));e=c._str.indexOf(b.charAt(d++));g=c._str.indexOf(b.charAt(d++));h=(k<<2)|(f>>4);i=((f&15)<<4)|(e>>2);j=((e&3)<<6)|g;a=a+String.fromCharCode(h);if(e!==64){a=a+String.fromCharCode(i)}if(g!==64){a=a+String.fromCharCode(j)}}a=c._utf8_decode(a);return a},_utf8_encode:function(c){c=c.replace(/\r\n/g,"\n");var b='',d=0,e=c.length;for(;d<e;d++){var a=c.charCodeAt(d);if(a<128){b+=String.fromCharCode(a)}else if((a>127)&&(a<2048)){b+=String.fromCharCode((a>>6)|192);b+=String.fromCharCode((a&63)|128)}else {b+=String.fromCharCode((a>>12)|224);b+=String.fromCharCode(((a>>6)&63)|128);b+=String.fromCharCode((a&63)|128)}}return b},_utf8_decode:function(c){var d='',a=0,b=0,f=0,e=0,g=c.length;while(a<g){b=c.charCodeAt(a);if(b<128){d+=String.fromCharCode(b);a++}else if((b>191)&&(b<224)){e=c.charCodeAt(a+1);d+=String.fromCharCode(((b&31)<<6)|(e&63));a+=2}else {e=c.charCodeAt(a+1);f=c.charCodeAt(a+2);d+=String.fromCharCode(((b&15)<<12)|((e&63)<<6)|(f&63));a+=3}}return d}});Ext.define('Ext.util.DelimitedValue',{dateFormat:'C',delimiter:'\t',lineBreak:'\n',quote:'"',lineBreakRe:/\r?\n/g,lastLineBreakRe:/(\r?\n|\r)$/,constructor:function(a){if(a){Ext.apply(this,a)}this.parseREs={};this.quoteREs={}},decode:function(g,m,k){if(!g){return []}var c=this,d=m||c.delimiter,h=[],l=[h],a=k!==undefined?k:c.quote,o=c.quoteREs,n=c.parseREs,f,e,b,i,j;f=a===c.quote?n[d]:null;f=f||new RegExp("(\\"+d+"|\\r?\\n|\\r|^)"+"(?:"+(a===null?'()':"\\"+a+"([^\\"+a+"]*(?:\\"+a+"\\"+a+"[^\\"+a+"]*)*)\\"+a+"|")+"([^"+(a===null?'':a)+d+"\\r\\n]*))","gi");e=a===c.quote?o[a]:null;e=e||new RegExp('\\'+a+'\\'+a,'g');g=g.replace(c.lastLineBreakRe,'');while((b=f.exec(g))){i=b[1];if(i.length&&i!==d){l.push(h=[])}if(!b.index&&b[0].charAt(0)===d){h.push('')}if(b[2]){j=b[2].replace(e,a)}else {j=b[3]}h.push(j)}return l},encode:function(k,n,h){var c=this,j=n||c.delimiter,m=c.dateFormat,b=h!==undefined?h:c.quote,o=b+b,g=k.length,l=c.lineBreakRe,i=[],e=[],a,d,f;while(g-->0){f=k[g];e.length=d=f.length;while(d-->0){a=f[d];if(a==null){a=''}else if(typeof a==='string'){if(a&&b!==null){if(a.indexOf(b)>-1){a=b+a.split(b).join(o)+b}else if(a.indexOf(j)>-1||l.test(a)){a=b+a+b}}}else if(Ext.isDate(a)){a=Ext.Date.format(a,m)}else if(a&&(isNaN(a)||Ext.isArray(a))){Ext.raise('Cannot serialize '+Ext.typeOf(a)+' into CSV')}e[d]=a}i[g]=e.join(j)}return i.join(c.lineBreak)}});Ext.define('Ext.util.CSV',{extend:Ext.util.DelimitedValue,singleton:!0,delimiter:','});Ext.define('Ext.util.ClickRepeater',{alternateClassName:'Ext.util.TapRepeater',mixins:[Ext.mixin.Observable],config:{el:null,target:null,disabled:null},interval:20,delay:250,preventDefault:!0,stopDefault:!1,timer:0,handler:null,scope:null,constructor:function(a){var b=this;if(arguments.length===2){b.setEl(a);a=arguments[1]}b.mixins.observable.constructor.call(this,a)},destroy:function(){this.setEl(null);this.callParent()},privates:{fireClick:function(b){var a=this;a.fireEvent("click",a,b);Ext.callback(a.handler,a.scope,[a,b],0,a.getTarget())},updateDisabled:function(b){var a=this;if(b){a.savedEl=a.getEl();a.setEl(null)}else if(a.savedEl){a.setEl(a.savedEl)}},updateTarget:function(a){this.setEl(a.el)},updateEl:function(c,d){var a=this,b;if(d){d.selectable();Ext.undefer(a.timer);if(a.pressedCls){d.removeCls(a.pressedCls)}Ext.getDoc().un('mouseup',a.handleMouseUp,a);a.elListeners=Ext.destroy(a.elListeners)}if(c){c.unselectable();b={mousedown:a.handleMouseDown,scope:a,destroyable:!0};if(a.preventDefault||a.stopDefault){b.click=a.eventOptions}a.elListeners=c.on(b)}},eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},handleMouseDown:function(b){var a=this,c=a.getEl();Ext.undefer(a.timer);if(a.pressedCls){c.addCls(a.pressedCls)}a.mousedownTime=Ext.now();if(b.pointerType==='mouse'){c.on("mouseout",a.handleMouseOut,a)}Ext.getDoc().on("mouseup",a.handleMouseUp,a);a.fireEvent("mousedown",a,b);a.fireClick(b);if(a.accelerate){a.delay=400}a.timer=Ext.defer(a.click,a.delay||a.interval,a,[b]);if(a.mousedownPreventDefault){b.preventDefault()}if(a.mousedownStopEvent){b.stopEvent()}},click:function(b){var a=this;a.fireClick(b);a.timer=Ext.defer(a.click,a.accelerate?a.easeOutExpo(Ext.now()-a.mousedownTime,400,-390,12000):a.interval,a,[b])},easeOutExpo:function(d,a,b,c){return (d===c)?a+b:b*(-Math.pow(2,-10*d/c)+1)+a},handleMouseOut:function(){var a=this,b=a.getEl();Ext.undefer(a.timer);if(a.pressedCls){b.removeCls(a.pressedCls)}b.on("mouseover",a.handleMouseReturn,a)},handleMouseReturn:function(c){var a=this,b=a.getEl();b.un("mouseover",a.handleMouseReturn,a);if(a.pressedCls){b.addCls(a.pressedCls)}a.click(c)},handleMouseUp:function(c){var a=this,b=a.getEl();Ext.undefer(a.timer);b.un("mouseover",a.handleMouseReturn,a);b.un("mouseout",a.handleMouseOut,a);Ext.getDoc().un("mouseup",a.handleMouseUp,a);if(a.pressedCls){b.removeCls(a.pressedCls)}a.fireEvent("mouseup",a,c)}}});Ext.define('Ext.util.Cookies',{singleton:!0,set:function(h,g){var a=arguments,b=a.length,c=(b>2)?a[2]:null,e=(b>3)?a[3]:'/',d=(b>4)?a[4]:null,f=(b>5)?a[5]:!1;document.cookie=h+"="+escape(g)+((c===null)?"":("; expires="+c.toUTCString()))+((e===null)?"":("; path="+e))+((d===null)?"":("; domain="+d))+((f===!0)?"; secure":"")},get:function(e){var d=document.cookie.split('; '),f=d.length,b,a,c;for(a=0;a<f;++a){b=d[a].split('=');if(b[0]===e){c=b[1];return c?unescape(c):''}}return null},clear:function(b,a){if(this.get(b)){a=a||'/';document.cookie=b+'='+'; expires=Thu, 01-Jan-1970 00:00:01 GMT; path='+a}}});Ext.define('Ext.util.LocalStorage',{id:null,destroyed:!1,lazyKeys:!0,prefix:'',session:!1,_keys:null,_store:null,_users:0,statics:{cache:{},get:function(c){var d=this,e=d.cache,b={_users:1},a;if(Ext.isString(c)){b.id=c}else {Ext.apply(b,c)}if(!(a=e[b.id])){a=new d(b)}else {if(a===!0){Ext.raise('Creating a shared instance of private local store "'+d.id+'".')}++a._users}return a},supported:!0},constructor:function(b){var a=this;Ext.apply(a,b);if(!a.hasOwnProperty('id')){Ext.raise("No id was provided to the local store.")}if(a._users){Ext.util.LocalStorage.cache[a.id]=a}else {if(Ext.util.LocalStorage.cache[a.id]){Ext.raise('Cannot create duplicate instance of local store "'+a.id+'". Use Ext.util.LocalStorage.get() to share instances.')}Ext.util.LocalStorage.cache[a.id]=!0}a.init()},init:function(){var a=this,b=a.id;if(!a.prefix&&b){a.prefix=b+'-'}a._store=(a.session?window.sessionStorage:window.localStorage)},destroy:function(){var a=this;if(a._users){Ext.log.warn('LocalStorage(id='+a.id+') destroyed while in use')}delete Ext.util.LocalStorage.cache[a.id];a._store=a._keys=null;a.callParent()},getKeys:function(){var c=this,g=c._store,f=c.prefix,a=c._keys,e=f.length,d,b;if(!a){c._keys=a=[];for(d=g.length;d--;){b=g.key(d);if(b.length>e){if(f===b.substring(0,e)){a.push(b.substring(e))}}}}return a},release:function(){if(!--this._users){this.destroy()}},save:Ext.emptyFn,clear:function(){var a=this,e=a._store,d=a.prefix,b=a._keys||a.getKeys(),c;for(c=b.length;c--;){e.removeItem(d+b[c])}b.length=0},key:function(a){var b=this._keys||this.getKeys();return (0<=a&&a<b.length)?b[a]:null},getItem:function(a){var b=this.prefix+a;return this._store.getItem(b)},removeItem:function(d){var a=this,f=a.prefix+d,b=a._store,c=a._keys,e=b.length;b.removeItem(f);if(c&&e!==b.length){if(a.lazyKeys){a._keys=null}else {Ext.Array.remove(c,d)}}},setItem:function(d,f){var b=this,g=b.prefix+d,a=b._store,e=a.length,c=b._keys;a.setItem(g,f);if(c&&e!==a.length){c.push(d)}}},function(){var a=this;if('localStorage' in window){return}if(!Ext.isIE){a.supported=!1;a.prototype.init=function(){Ext.raise("Local storage is not supported on this browser")};return}a.override({data:null,flushDelay:1,init:function(){var a=this,c=a.data,b;a.el=b=document.createElement('div');b.id=(a.id||(a.id='extjs-localstore'));b.addBehavior('#default#userdata');Ext.getHead().dom.appendChild(b);b.load(a.id);c=b.getAttribute('xdata');a.data=c=(c?Ext.decode(c):{});a._flushFn=function(){a._timer=null;a.save(0)}},destroy:function(){var a=this,b=a.el;if(b){if(a._timer){a.save()}b.parentNode.removeChild(b);a.data=a.el=null;a.callParent()}},getKeys:function(){var b=this,a=b._keys;if(!a){b._keys=a=Ext.Object.getKeys(b.data)}return a},save:function(b){var a=this;if(!b){a._timer=Ext.undefer(a._timer);a.el.setAttribute('xdata',Ext.encode(a.data));a.el.save(a.id)}else if(!a._timer){a._timer=Ext.defer(a._flushFn,b)}},clear:function(){var a=this;a.data={};a._keys=null;a.save(a.flushDelay)},getItem:function(b){var a=this.data;return (b in a)?a[b]:null},removeItem:function(b){var a=this,d=a._keys,c=a.data;if(b in c){delete c[b];if(d){if(a.lazyKeys){a._keys=null}else {Ext.Array.remove(d,b)}}a.save(a.flushDelay)}},setItem:function(b,e){var a=this,c=a.data,d=a._keys;if(d&&!(b in c)){d.push(b)}c[b]=e;a.save(a.flushDelay)}})});Ext.define('Ext.util.Spans',{isSpans:!0,constructor:function(){this.spans=this.spans||[]},clear:function(){this.spans.length=0;return this},add:function(b,a){if(a===undefined){if(typeof b==='number'){a=b+1}else {a=b[1];b=b[0]}}var g=this,f=g.spans,i,h,d,e,c;d=g.bisect(b);if(d){c=f[d-1];i=c[0];h=c[1];if(b<=h){if(a<=h){return !1}b=i;f.splice(--d,1)}}e=g.bisect(a);if(e>d){c=f[e-1];a=Math.max(a,c[1])}if(e<f.length){c=f[e];if(a===c[0]){a=c[1];++e}}f.splice(d,e-d,[b,a]);return !0},contains:function(a,b){if(b===undefined){if(typeof a==='number'){b=a+1}else {b=a[1];a=a[0]}}var d=this.spans,c=this.bisect(a),f=!1,g,e;if(c&&a<(g=d[c-1][1])){f=b<=g}else if(c<d.length){e=d[c];f=e[0]<=a&&b<=e[1]}return f},each:function(g,e){var d=this.spans,f=d.length,a,b,c;for(a=0;a<f;a++){b=d[a];for(c=b[0];c<b[1];c++){if(g.call(e||this,a)===!1){return}}}},intersects:function(a,c){if(c===undefined){if(typeof a==='number'){c=a+1}else {c=a[1];a=a[0]}}var d=this.spans,b=this.bisect(a),e=!1;if(b&&a<d[b-1][1]){e=!0}else if(b<d.length){e=d[b][0]<c}return e},remove:function(a,b){if(b===undefined){if(typeof a==='number'){b=a+1}else {b=a[1];a=a[0]}}var i=this,f=i.spans,d=i.bisect(a),h=!1,c,e,g;if(d){e=f[d-1];g=e[1];if(a<g){e[1]=a;if(b<g){f.splice(d,0,[b,g]);return !0}h=!0}}c=i.bisect(b);if(d<c){h=!0;e=f[c-1];if(b<e[1]){e[0]=b;--c}c-=d;if(c){f.splice(d,c)}}return h},stash:function(){return this.spans.slice()},unstash:function(a){this.spans=a;return this},getCount:function(){var d=this.spans,e=d.length,c=0,a,b;for(a=0;a<e;a++){b=d[a];c+=b[1]-b[0]}return c},privates:{bisect:function(a){return Ext.Number.bisectTuples(this.spans,a,0)}}});Ext.define('Ext.util.TsvDecoder',{extend:Ext.util.DelimitedValue,alternateClassName:'Ext.util.TSV',delimiter:'\t'},function(a){Ext.util.TSV=new a()});Ext.define('Ext.util.TaskManager',{extend:Ext.util.TaskRunner,alternateClassName:['Ext.TaskManager'],singleton:!0});Ext.define('Ext.util.TextMetrics',{statics:{shared:null,measure:function(d,e,c){var b=this,a=b.shared||(b.shared=new b(d,c));a.bind(d);a.setFixedWidth(c||'auto');return a.getSize(e)},destroy:function(){this.shared=Ext.destroy(this.shared)}},constructor:function(b,a){var c=this,d=c.measure=Ext.getBody().createChild({'data-sticky':!0,role:'presentation',cls:Ext.baseCSSPrefix+'textmetrics',style:{position:'absolute',left:'-1000px',top:'-1000px',visibility:'hidden'}});if(b){c.bind(b)}if(a){d.setWidth(a)}},getSize:function(c){var a=this.measure,b;a.setHtml(c);b=a.getSize();a.setHtml('');return b},bind:function(a){this.measure.setStyle((this.el||(this.self.prototype.el=new Ext.dom.Fly())).attach(a).getStyle(['font-size','font-size-adjust','font-style','font-weight','font-family','font-kerning','font-stretch','line-height','text-transform','text-decoration','letter-spacing','word-break']))},setFixedWidth:function(a){this.measure.setWidth(a)},getWidth:function(a){this.measure.dom.style.width='auto';return this.getSize(a).width},getHeight:function(a){return this.getSize(a).height},destroy:function(){var a=this;a.el=a.measure=Ext.destroy(a.measure);a.callParent()}},function(){Ext.Element.override({getTextWidth:function(a,c,b){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.valueFrom(a,this.dom.innerHTML,!0)).width,c||0,b||1000000)}})});Ext.define('Ext.util.paintmonitor.OverflowChange',{extend:Ext.util.paintmonitor.Abstract,eventName:Ext.browser.is.Firefox?'overflow':'overflowchanged',monitorClass:'overflowchange',onElementPainted:function(a){this.getCallback().apply(this.getScope(),this.getArgs())}});Ext.define('Ext.util.sizemonitor.OverflowChange',{extend:Ext.util.sizemonitor.Abstract,constructor:function(a){this.onExpand=this.onExpand.bind(this);this.onShrink=this.onShrink.bind(this);this.callParent(arguments)},getElementConfig:function(){return {reference:'detectorsContainer',classList:[Ext.baseCSSPrefix+'size-monitors','overflowchanged'],children:[{reference:'expandMonitor',className:'expand',children:[{reference:'expandHelper'}]},{reference:'shrinkMonitor',className:'shrink',children:[{reference:'shrinkHelper'}]}]}},bindListeners:function(b){var a=b?'addEventListener':'removeEventListener';this.expandMonitor[a](Ext.browser.is.Firefox?'underflow':'overflowchanged',this.onExpand,!0);this.shrinkMonitor[a](Ext.browser.is.Firefox?'overflow':'overflowchanged',this.onShrink,!0)},onExpand:function(a){if(!(this.destroyed||(Ext.browser.is.Webkit&&a.horizontalOverflow&&a.verticalOverflow))){Ext.TaskQueue.requestRead('refresh',this)}},onShrink:function(a){if(!(this.destroyed||(Ext.browser.is.Webkit&&!a.horizontalOverflow&&!a.verticalOverflow))){Ext.TaskQueue.requestRead('refresh',this)}},refreshMonitors:function(){if(this.destroying||this.destroyed){return}var b=this.expandHelper,c=this.shrinkHelper,d=this.getContentBounds(),f=d.width,e=d.height,a;if(b&&!b.destroyed){a=b.style;a.width=(f+1)+'px';a.height=(e+1)+'px'}if(c&&!c.destroyed){a=c.style;a.width=f+'px';a.height=e+'px'}Ext.TaskQueue.requestRead('refresh',this)},destroy:function(){this.onExpand=this.onShrink=null;this.callParent()}});Ext.define('Ext.util.translatable.ScrollParent',{extend:Ext.util.translatable.Dom,alias:'translatable.scrollparent',isScrollParent:!0,applyElement:function(b){var a=Ext.get(b);if(a){this.parent=a.parent()}return a},doTranslate:function(b,c){var a=this.parent;a.setScrollLeft(Math.round(-b));a.setScrollTop(Math.round(-c));this.callParent([b,c])},getPosition:function(){var c=this,a=c.position,b=c.parent;a.x=b.getScrollLeft();a.y=b.getScrollTop();return a}});Ext.ClassManager.addNameAlternateMappings({"Ext.AbstractComponent":[],"Ext.AbstractManager":[],"Ext.ActionSheet":[],"Ext.Ajax":[],"Ext.Anim":[],"Ext.AnimationQueue":[],"Ext.Audio":[],"Ext.Button":[],"Ext.Component":["Ext.lib.Component","Ext.Gadget"],"Ext.ComponentManager":["Ext.ComponentMgr"],"Ext.ComponentQuery":[],"Ext.Container":["Ext.lib.Container","Ext.container.Container"],"Ext.Decorator":[],"Ext.Deferred":[],"Ext.Dialog":["Ext.Window","Ext.window.Window"],"Ext.Editor":[],"Ext.Evented":["Ext.EventedBase"],"Ext.GlobalEvents":["Ext.globalEvents"],"Ext.Glyph":[],"Ext.Img":["Ext.Image"],"Ext.Indicator":[],"Ext.Label":[],"Ext.LoadMask":[],"Ext.Mask":[],"Ext.Media":[],"Ext.MessageBox":[],"Ext.Mixin":[],"Ext.Panel":["Ext.panel.Panel"],"Ext.Progress":["Ext.ProgressBarWidget"],"Ext.ProgressBase":[],"Ext.Promise":[],"Ext.SegmentedButton":["Ext.button.Segmented"],"Ext.Sheet":[],"Ext.Spacer":[],"Ext.SplitButton":[],"Ext.TaskQueue":[],"Ext.Template":[],"Ext.Title":[],"Ext.TitleBar":[],"Ext.Toast":[],"Ext.Tool":["Ext.panel.Tool"],"Ext.Toolbar":[],"Ext.Video":[],"Ext.Widget":["Ext.Gadget"],"Ext.XTemplate":[],"Ext.app.Application":[],"Ext.app.BaseController":[],"Ext.app.Controller":[],"Ext.app.EventBus":[],"Ext.app.EventDomain":[],"Ext.app.Profile":[],"Ext.app.Util":[],"Ext.app.ViewController":[],"Ext.app.ViewModel":[],"Ext.app.bind.AbstractStub":[],"Ext.app.bind.BaseBinding":[],"Ext.app.bind.Binding":[],"Ext.app.bind.Formula":[],"Ext.app.bind.LinkStub":[],"Ext.app.bind.Multi":[],"Ext.app.bind.Parser":[],"Ext.app.bind.RootStub":[],"Ext.app.bind.Stub":[],"Ext.app.bind.Template":[],"Ext.app.bind.TemplateBinding":[],"Ext.app.domain.Component":[],"Ext.app.domain.Controller":[],"Ext.app.domain.Direct":[],"Ext.app.domain.Global":[],"Ext.app.domain.Store":[],"Ext.app.domain.View":[],"Ext.behavior.Behavior":[],"Ext.carousel.Carousel":["Ext.Carousel"],"Ext.carousel.Infinite":[],"Ext.carousel.Item":[],"Ext.data.AbstractStore":[],"Ext.data.ArrayStore":["Ext.data.SimpleStore"],"Ext.data.Batch":[],"Ext.data.BufferedStore":[],"Ext.data.ChainedStore":[],"Ext.data.Connection":[],"Ext.data.DirectStore":[],"Ext.data.Error":[],"Ext.data.ErrorCollection":["Ext.data.Errors"],"Ext.data.Group":[],"Ext.data.JsonP":[],"Ext.data.JsonPStore":[],"Ext.data.JsonStore":[],"Ext.data.LocalStore":[],"Ext.data.Model":["Ext.data.Record"],"Ext.data.ModelManager":["Ext.ModelMgr"],"Ext.data.NodeInterface":[],"Ext.data.NodeStore":[],"Ext.data.PageMap":[],"Ext.data.ProxyStore":[],"Ext.data.Range":[],"Ext.data.Request":[],"Ext.data.ResultSet":[],"Ext.data.Session":[],"Ext.data.SortTypes":[],"Ext.data.Store":[],"Ext.data.StoreManager":["Ext.StoreMgr","Ext.data.StoreMgr","Ext.StoreManager"],"Ext.data.TreeModel":[],"Ext.data.TreeStore":[],"Ext.data.Types":[],"Ext.data.Validation":[],"Ext.data.XmlStore":[],"Ext.data.field.Boolean":[],"Ext.data.field.Date":[],"Ext.data.field.Field":["Ext.data.Field"],"Ext.data.field.Integer":[],"Ext.data.field.Number":[],"Ext.data.field.String":[],"Ext.data.flash.BinaryXhr":[],"Ext.data.identifier.Generator":[],"Ext.data.identifier.Negative":[],"Ext.data.identifier.Sequential":[],"Ext.data.identifier.Uuid":[],"Ext.data.matrix.Matrix":[],"Ext.data.matrix.Side":[],"Ext.data.matrix.Slice":[],"Ext.data.operation.Create":[],"Ext.data.operation.Destroy":[],"Ext.data.operation.Operation":["Ext.data.Operation"],"Ext.data.operation.Read":[],"Ext.data.operation.Update":[],"Ext.data.proxy.Ajax":["Ext.data.HttpProxy","Ext.data.AjaxProxy"],"Ext.data.proxy.Client":["Ext.data.ClientProxy"],"Ext.data.proxy.Direct":["Ext.data.DirectProxy"],"Ext.data.proxy.JsonP":["Ext.data.ScriptTagProxy"],"Ext.data.proxy.LocalStorage":["Ext.data.LocalStorageProxy"],"Ext.data.proxy.Memory":["Ext.data.MemoryProxy"],"Ext.data.proxy.Proxy":["Ext.data.DataProxy","Ext.data.Proxy"],"Ext.data.proxy.Rest":["Ext.data.RestProxy"],"Ext.data.proxy.Server":["Ext.data.ServerProxy"],"Ext.data.proxy.SessionStorage":["Ext.data.SessionStorageProxy"],"Ext.data.proxy.WebStorage":["Ext.data.WebStorageProxy"],"Ext.data.reader.Array":["Ext.data.ArrayReader"],"Ext.data.reader.Json":["Ext.data.JsonReader"],"Ext.data.reader.Reader":["Ext.data.Reader","Ext.data.DataReader"],"Ext.data.reader.Xml":["Ext.data.XmlReader"],"Ext.data.request.Ajax":[],"Ext.data.request.Base":[],"Ext.data.request.Form":[],"Ext.data.schema.Association":[],"Ext.data.schema.ManyToMany":[],"Ext.data.schema.ManyToOne":[],"Ext.data.schema.Namer":[],"Ext.data.schema.OneToOne":[],"Ext.data.schema.Role":[],"Ext.data.schema.Schema":[],"Ext.data.session.BatchVisitor":[],"Ext.data.session.ChangesVisitor":[],"Ext.data.session.ChildChangesVisitor":[],"Ext.data.summary.Average":[],"Ext.data.summary.Base":[],"Ext.data.summary.Count":[],"Ext.data.summary.Max":[],"Ext.data.summary.Min":[],"Ext.data.summary.Sum":[],"Ext.data.validator.AbstractDate":[],"Ext.data.validator.Bound":[],"Ext.data.validator.CIDRv4":[],"Ext.data.validator.CIDRv6":[],"Ext.data.validator.Currency":[],"Ext.data.validator.CurrencyUS":[],"Ext.data.validator.Date":[],"Ext.data.validator.DateTime":[],"Ext.data.validator.Email":[],"Ext.data.validator.Exclusion":[],"Ext.data.validator.Format":[],"Ext.data.validator.IPAddress":[],"Ext.data.validator.Inclusion":[],"Ext.data.validator.Length":[],"Ext.data.validator.List":[],"Ext.data.validator.NotNull":[],"Ext.data.validator.Number":[],"Ext.data.validator.Phone":[],"Ext.data.validator.Presence":[],"Ext.data.validator.Range":[],"Ext.data.validator.Time":[],"Ext.data.validator.Url":[],"Ext.data.validator.Validator":[],"Ext.data.virtual.Group":[],"Ext.data.virtual.Page":[],"Ext.data.virtual.PageMap":[],"Ext.data.virtual.Range":[],"Ext.data.virtual.Store":[],"Ext.data.writer.Json":["Ext.data.JsonWriter"],"Ext.data.writer.Writer":["Ext.data.DataWriter","Ext.data.Writer"],"Ext.data.writer.Xml":["Ext.data.XmlWriter"],"Ext.dataview.Abstract":[],"Ext.dataview.BoundList":[],"Ext.dataview.BoundListLocation":[],"Ext.dataview.BoundListNavigationModel":[],"Ext.dataview.Component":[],"Ext.dataview.DataItem":["Ext.dataview.component.DataItem"],"Ext.dataview.DataView":["Ext.DataView"],"Ext.dataview.Disclosable":[],"Ext.dataview.EmptyText":[],"Ext.dataview.GenericItem":[],"Ext.dataview.IndexBar":["Ext.IndexBar"],"Ext.dataview.ItemHeader":[],"Ext.dataview.List":["Ext.List"],"Ext.dataview.ListItem":["Ext.dataview.component.ListItem"],"Ext.dataview.Location":[],"Ext.dataview.NavigationModel":[],"Ext.dataview.NestedList":["Ext.NestedList"],"Ext.dataview.Pinnable":[],"Ext.dataview.SimpleListItem":["Ext.dataview.component.SimpleListItem"],"Ext.dataview.listswiper.Accordion":[],"Ext.dataview.listswiper.Item":[],"Ext.dataview.listswiper.ListSwiper":[],"Ext.dataview.listswiper.Stepper":[],"Ext.dataview.plugin.ItemTip":[],"Ext.dataview.plugin.ListPaging":["Ext.plugin.ListPaging"],"Ext.dataview.plugin.SortableList":["Ext.plugin.SortableList"],"Ext.dataview.pullrefresh.Bar":[],"Ext.dataview.pullrefresh.Item":[],"Ext.dataview.pullrefresh.PullRefresh":["Ext.plugin.PullRefresh"],"Ext.dataview.pullrefresh.Spinner":[],"Ext.dataview.selection.Model":[],"Ext.dataview.selection.Records":[],"Ext.dataview.selection.Rows":[],"Ext.dataview.selection.Selection":[],"Ext.direct.Event":[],"Ext.direct.ExceptionEvent":[],"Ext.direct.JsonProvider":[],"Ext.direct.Manager":[],"Ext.direct.PollingProvider":[],"Ext.direct.Provider":[],"Ext.direct.RemotingEvent":[],"Ext.direct.RemotingMethod":[],"Ext.direct.RemotingProvider":[],"Ext.direct.Transaction":[],"Ext.dom.CompositeElement":["Ext.CompositeElement"],"Ext.dom.CompositeElementLite":["Ext.CompositeElementLite"],"Ext.dom.Element":["Ext.Element"],"Ext.dom.ElementEvent":[],"Ext.dom.Fly":["Ext.dom.Element.Fly"],"Ext.dom.GarbageCollector":[],"Ext.dom.Helper":["Ext.DomHelper","Ext.core.DomHelper"],"Ext.dom.Query":["Ext.core.DomQuery","Ext.DomQuery"],"Ext.dom.Shadow":["Ext.Shadow"],"Ext.dom.Shim":[],"Ext.dom.TouchAction":[],"Ext.dom.Underlay":[],"Ext.dom.UnderlayPool":[],"Ext.drag.Constraint":[],"Ext.drag.Info":[],"Ext.drag.Item":[],"Ext.drag.Manager":[],"Ext.drag.Source":[],"Ext.drag.Target":[],"Ext.drag.proxy.None":[],"Ext.drag.proxy.Original":[],"Ext.drag.proxy.Placeholder":[],"Ext.event.Event":["Ext.EventObjectImpl"],"Ext.event.gesture.DoubleTap":[],"Ext.event.gesture.Drag":[],"Ext.event.gesture.EdgeSwipe":[],"Ext.event.gesture.LongPress":[],"Ext.event.gesture.MultiTouch":[],"Ext.event.gesture.Pinch":[],"Ext.event.gesture.Recognizer":[],"Ext.event.gesture.Rotate":[],"Ext.event.gesture.SingleTouch":[],"Ext.event.gesture.Swipe":[],"Ext.event.gesture.Tap":[],"Ext.event.publisher.Dom":[],"Ext.event.publisher.ElementPaint":[],"Ext.event.publisher.ElementSize":[],"Ext.event.publisher.Focus":[],"Ext.event.publisher.Gesture":[],"Ext.event.publisher.Publisher":[],"Ext.field.BoxLabelable":[],"Ext.field.Checkbox":["Ext.form.Checkbox"],"Ext.field.ComboBox":["Ext.form.field.ComboBox"],"Ext.field.Container":[],"Ext.field.Date":["Ext.form.DatePicker","Ext.field.DatePicker"],"Ext.field.DatePickerNative":["Ext.form.DatePickerNative"],"Ext.field.Display":["Ext.form.Display"],"Ext.field.Email":["Ext.form.Email"],"Ext.field.Field":["Ext.form.Field"],"Ext.field.File":[],"Ext.field.FileButton":[],"Ext.field.Hidden":["Ext.form.Hidden"],"Ext.field.Input":[],"Ext.field.InputMask":[],"Ext.field.Manager":[],"Ext.field.Number":["Ext.form.Number"],"Ext.field.Panel":[],"Ext.field.Password":["Ext.form.Password"],"Ext.field.Picker":[],"Ext.field.Radio":["Ext.form.Radio"],"Ext.field.Search":["Ext.form.Search"],"Ext.field.Select":["Ext.form.Select"],"Ext.field.SingleSlider":[],"Ext.field.Slider":["Ext.form.Slider"],"Ext.field.Spinner":["Ext.form.Spinner"],"Ext.field.Text":["Ext.form.Text"],"Ext.field.TextArea":["Ext.form.TextArea"],"Ext.field.Time":[],"Ext.field.Toggle":["Ext.form.Toggle"],"Ext.field.Url":["Ext.form.Url"],"Ext.field.trigger.Base":[],"Ext.field.trigger.Clear":[],"Ext.field.trigger.Component":[],"Ext.field.trigger.Date":[],"Ext.field.trigger.Expand":[],"Ext.field.trigger.File":[],"Ext.field.trigger.Menu":[],"Ext.field.trigger.Reveal":[],"Ext.field.trigger.Search":[],"Ext.field.trigger.SpinDown":[],"Ext.field.trigger.SpinUp":[],"Ext.field.trigger.Time":[],"Ext.field.trigger.Trigger":[],"Ext.form.Borders":[],"Ext.form.FieldSet":[],"Ext.form.Panel":["Ext.form.FormPanel"],"Ext.fx.Animation":[],"Ext.fx.Runner":[],"Ext.fx.State":[],"Ext.fx.animation.Abstract":[],"Ext.fx.animation.Cube":[],"Ext.fx.animation.Fade":["Ext.fx.animation.FadeIn"],"Ext.fx.animation.FadeOut":[],"Ext.fx.animation.Flip":[],"Ext.fx.animation.Pop":["Ext.fx.animation.PopIn"],"Ext.fx.animation.PopOut":[],"Ext.fx.animation.Slide":["Ext.fx.animation.SlideIn"],"Ext.fx.animation.SlideOut":[],"Ext.fx.animation.Wipe":["Ext.fx.animation.WipeIn"],"Ext.fx.animation.WipeOut":[],"Ext.fx.easing.Abstract":[],"Ext.fx.easing.Bounce":[],"Ext.fx.easing.BoundMomentum":[],"Ext.fx.easing.EaseIn":[],"Ext.fx.easing.EaseOut":[],"Ext.fx.easing.Easing":[],"Ext.fx.easing.Linear":[],"Ext.fx.easing.Momentum":[],"Ext.fx.runner.Css":[],"Ext.fx.runner.CssAnimation":[],"Ext.fx.runner.CssTransition":["Ext.Animator"],"Ext.grid.CellEditor":[],"Ext.grid.Grid":[],"Ext.grid.HeaderContainer":[],"Ext.grid.Location":[],"Ext.grid.NavigationModel":[],"Ext.grid.PagingToolbar":[],"Ext.grid.Row":[],"Ext.grid.RowBody":[],"Ext.grid.RowHeader":[],"Ext.grid.SummaryRow":[],"Ext.grid.Tree":["Ext.tree.Tree"],"Ext.grid.cell.Base":[],"Ext.grid.cell.Boolean":[],"Ext.grid.cell.Cell":[],"Ext.grid.cell.Check":[],"Ext.grid.cell.Date":[],"Ext.grid.cell.Expander":[],"Ext.grid.cell.Number":[],"Ext.grid.cell.RowNumberer":[],"Ext.grid.cell.Text":[],"Ext.grid.cell.Tree":[],"Ext.grid.cell.Widget":[],"Ext.grid.column.Boolean":[],"Ext.grid.column.Check":[],"Ext.grid.column.Column":["Ext.grid.column.Template"],"Ext.grid.column.Date":[],"Ext.grid.column.Number":[],"Ext.grid.column.RowNumberer":[],"Ext.grid.column.Selection":[],"Ext.grid.column.Text":[],"Ext.grid.column.Tree":[],"Ext.grid.menu.Columns":[],"Ext.grid.menu.GroupByThis":[],"Ext.grid.menu.ShowInGroups":[],"Ext.grid.menu.SortAsc":[],"Ext.grid.menu.SortDesc":[],"Ext.grid.plugin.CellEditing":[],"Ext.grid.plugin.Clipboard":[],"Ext.grid.plugin.ColumnResizing":[],"Ext.grid.plugin.Editable":[],"Ext.grid.plugin.PagingToolbar":[],"Ext.grid.plugin.RowExpander":[],"Ext.grid.plugin.RowOperations":["Ext.grid.plugin.MultiSelection"],"Ext.grid.plugin.Summary":["Ext.grid.plugin.SummaryRow"],"Ext.grid.plugin.ViewOptions":[],"Ext.grid.plugin.ViewOptionsListItem":[],"Ext.grid.selection.Cells":[],"Ext.grid.selection.Columns":[],"Ext.grid.selection.Model":[],"Ext.grid.selection.Replicator":[],"Ext.grid.selection.SelectionExtender":[],"Ext.layout.Auto":["Ext.layout.Default"],"Ext.layout.Box":[],"Ext.layout.Card":[],"Ext.layout.Carousel":[],"Ext.layout.Center":[],"Ext.layout.Fit":[],"Ext.layout.Float":[],"Ext.layout.Form":[],"Ext.layout.HBox":[],"Ext.layout.VBox":[],"Ext.layout.card.fx.Abstract":[],"Ext.layout.card.fx.Cover":[],"Ext.layout.card.fx.Cube":[],"Ext.layout.card.fx.Fade":[],"Ext.layout.card.fx.Flip":[],"Ext.layout.card.fx.Pop":[],"Ext.layout.card.fx.Reveal":[],"Ext.layout.card.fx.Scroll":[],"Ext.layout.card.fx.ScrollCover":[],"Ext.layout.card.fx.ScrollReveal":[],"Ext.layout.card.fx.Serial":[],"Ext.layout.card.fx.Slide":[],"Ext.layout.card.fx.Style":[],"Ext.layout.overflow.Scroller":[],"Ext.layout.wrapper.BoxDock":[],"Ext.layout.wrapper.Inner":[],"Ext.list.AbstractTreeItem":[],"Ext.list.Location":[],"Ext.list.RootTreeItem":[],"Ext.list.Tree":[],"Ext.list.TreeItem":[],"Ext.menu.CheckItem":[],"Ext.menu.Item":["Ext.menu.TextItem"],"Ext.menu.Manager":["Ext.menu.MenuMgr"],"Ext.menu.Menu":[],"Ext.menu.RadioItem":[],"Ext.menu.Separator":[],"Ext.mixin.Accessible":[],"Ext.mixin.Bindable":[],"Ext.mixin.Bufferable":[],"Ext.mixin.ComponentDelegation":[],"Ext.mixin.ConfigProxy":[],"Ext.mixin.ConfigState":[],"Ext.mixin.Container":[],"Ext.mixin.Dirty":[],"Ext.mixin.Factoryable":[],"Ext.mixin.Focusable":[],"Ext.mixin.FocusableContainer":[],"Ext.mixin.Hookable":[],"Ext.mixin.Inheritable":[],"Ext.mixin.ItemRippler":[],"Ext.mixin.Keyboard":[],"Ext.mixin.Mashup":[],"Ext.mixin.Pluggable":[],"Ext.mixin.Progressable":[],"Ext.mixin.Queryable":[],"Ext.mixin.Responsive":[],"Ext.mixin.Selectable":[],"Ext.mixin.StoreWatcher":[],"Ext.mixin.StyleCacher":[],"Ext.mixin.Templatable":[],"Ext.mixin.Toolable":[],"Ext.mixin.Traversable":[],"Ext.navigation.Bar":[],"Ext.navigation.View":["Ext.NavigationView"],"Ext.override.sparkline.Base":[],"Ext.overrides.Progress":[],"Ext.overrides.Widget":[],"Ext.overrides.app.Application":[],"Ext.overrides.dom.Element":[],"Ext.overrides.drag.proxy.Placeholder":[],"Ext.overrides.list.Tree":[],"Ext.overrides.list.TreeItem":[],"Ext.panel.Collapser":[],"Ext.panel.Collapsible":[],"Ext.panel.Date":[],"Ext.panel.DateTitle":[],"Ext.panel.DateView":[],"Ext.panel.Header":[],"Ext.panel.Resizable":[],"Ext.panel.Resizer":[],"Ext.panel.Time":[],"Ext.panel.TimeHeader":[],"Ext.panel.TimeView":[],"Ext.panel.Title":[],"Ext.panel.YearPicker":[],"Ext.parse.Parser":[],"Ext.parse.Symbol":[],"Ext.parse.Tokenizer":[],"Ext.parse.symbol.Constant":[],"Ext.parse.symbol.Infix":[],"Ext.parse.symbol.InfixRight":[],"Ext.parse.symbol.Paren":[],"Ext.parse.symbol.Prefix":[],"Ext.perf.Accumulator":[],"Ext.perf.Monitor":["Ext.Perf"],"Ext.picker.Date":["Ext.DatePicker"],"Ext.picker.Picker":["Ext.Picker"],"Ext.picker.Slot":[],"Ext.picker.Tablet":[],"Ext.plugin.Abstract":["Ext.AbstractPlugin"],"Ext.plugin.AbstractClipboard":[],"Ext.plugin.MouseEnter":[],"Ext.plugin.Responsive":[],"Ext.plugin.TabGuard":[],"Ext.promise.Consequence":[],"Ext.promise.Deferred":[],"Ext.promise.Promise":[],"Ext.route.Action":[],"Ext.route.Handler":[],"Ext.route.Mixin":[],"Ext.route.Route":[],"Ext.route.Router":[],"Ext.scroll.Scroller":[],"Ext.slider.Slider":[],"Ext.slider.Thumb":[],"Ext.slider.Toggle":[],"Ext.sparkline.Bar":[],"Ext.sparkline.BarBase":[],"Ext.sparkline.Base":[],"Ext.sparkline.Box":[],"Ext.sparkline.Bullet":[],"Ext.sparkline.CanvasBase":[],"Ext.sparkline.CanvasCanvas":[],"Ext.sparkline.Discrete":[],"Ext.sparkline.Line":[],"Ext.sparkline.Pie":[],"Ext.sparkline.RangeMap":[],"Ext.sparkline.Shape":[],"Ext.sparkline.TriState":[],"Ext.sparkline.VmlCanvas":[],"Ext.tab.Bar":["Ext.TabBar"],"Ext.tab.Panel":["Ext.TabPanel"],"Ext.tab.Tab":["Ext.Tab"],"Ext.tip.Manager":[],"Ext.tip.ToolTip":[],"Ext.util.AbstractMixedCollection":[],"Ext.util.Audio":[],"Ext.util.Bag":[],"Ext.util.Base64":[],"Ext.util.BufferedCollection":[],"Ext.util.CSS":[],"Ext.util.CSV":[],"Ext.util.ClickRepeater":["Ext.util.TapRepeater"],"Ext.util.Collection":[],"Ext.util.CollectionKey":[],"Ext.util.Color":["Ext.draw.Color"],"Ext.util.Cookies":[],"Ext.util.DelimitedValue":[],"Ext.util.Draggable":[],"Ext.util.Filter":[],"Ext.util.FilterCollection":[],"Ext.util.Fly":[],"Ext.util.Format":[],"Ext.util.Geolocation":["Ext.util.GeoLocation"],"Ext.util.Group":[],"Ext.util.GroupCollection":[],"Ext.util.Grouper":[],"Ext.util.HashMap":[],"Ext.util.History":["Ext.History"],"Ext.util.Inflector":[],"Ext.util.InputBlocker":[],"Ext.util.ItemCollection":["Ext.ItemCollection"],"Ext.util.KeyMap":["Ext.KeyMap"],"Ext.util.KeyNav":["Ext.KeyNav"],"Ext.util.LineSegment":[],"Ext.util.LocalStorage":[],"Ext.util.LruCache":[],"Ext.util.MixedCollection":[],"Ext.util.ObjectTemplate":[],"Ext.util.Observable":[],"Ext.util.Offset":[],"Ext.util.PaintMonitor":[],"Ext.util.Point":[],"Ext.util.PositionMap":[],"Ext.util.Positionable":[],"Ext.util.Region":[],"Ext.util.Schedulable":[],"Ext.util.Scheduler":[],"Ext.util.SizeMonitor":[],"Ext.util.Sortable":[],"Ext.util.Sorter":[],"Ext.util.SorterCollection":[],"Ext.util.Spans":[],"Ext.util.TextMetrics":[],"Ext.util.TranslatableGroup":[],"Ext.util.TranslatableList":[],"Ext.util.TsvDecoder":["Ext.util.TSV"],"Ext.util.Wrapper":[],"Ext.util.XTemplateCompiler":[],"Ext.util.XTemplateParser":[],"Ext.util.paintmonitor.Abstract":[],"Ext.util.paintmonitor.CssAnimation":[],"Ext.util.paintmonitor.OverflowChange":[],"Ext.util.sizemonitor.Abstract":[],"Ext.util.sizemonitor.OverflowChange":[],"Ext.util.sizemonitor.Scroll":[],"Ext.util.translatable.Abstract":[],"Ext.util.translatable.Component":[],"Ext.util.translatable.CssPosition":[],"Ext.util.translatable.CssTransform":[],"Ext.util.translatable.Dom":[],"Ext.util.translatable.ScrollParent":[],"Ext.util.translatable.ScrollPosition":[],"Ext.viewport.Android":[],"Ext.viewport.Default":[],"Ext.viewport.Ios":[],"Ext.viewport.Viewport":[],"Ext.viewport.WindowsPhone":["Ext.viewport.WP"]});Ext.ClassManager.addNameAliasMappings({"Ext.AbstractComponent":[],"Ext.AbstractManager":[],"Ext.ActionSheet":["widget.actionsheet"],"Ext.Ajax":[],"Ext.Anim":[],"Ext.AnimationQueue":[],"Ext.Audio":["widget.audio"],"Ext.Button":["widget.button"],"Ext.Component":["widget.component"],"Ext.ComponentManager":[],"Ext.ComponentQuery":[],"Ext.Container":["widget.container"],"Ext.Decorator":[],"Ext.Deferred":[],"Ext.Dialog":["widget.dialog","widget.window"],"Ext.Editor":["widget.editor"],"Ext.Evented":[],"Ext.GlobalEvents":[],"Ext.Glyph":[],"Ext.Img":["widget.image","widget.img"],"Ext.Indicator":["widget.indicator"],"Ext.Label":["widget.label"],"Ext.LoadMask":["widget.loadmask"],"Ext.Mask":["widget.mask"],"Ext.Media":["widget.media"],"Ext.MessageBox":["widget.messagebox"],"Ext.Mixin":[],"Ext.Panel":["widget.panel"],"Ext.Progress":["widget.progress","widget.progressbarwidget"],"Ext.ProgressBase":[],"Ext.Promise":[],"Ext.SegmentedButton":["widget.segmentedbutton"],"Ext.Sheet":["widget.sheet"],"Ext.Spacer":["widget.spacer"],"Ext.SplitButton":["widget.splitbutton"],"Ext.TaskQueue":[],"Ext.Template":[],"Ext.Title":["widget.title"],"Ext.TitleBar":["widget.titlebar"],"Ext.Toast":[],"Ext.Tool":["widget.paneltool","widget.tool"],"Ext.Toolbar":["widget.toolbar"],"Ext.Video":["widget.video"],"Ext.Widget":["widget.widget"],"Ext.XTemplate":[],"Ext.app.Application":[],"Ext.app.BaseController":[],"Ext.app.Controller":[],"Ext.app.EventBus":[],"Ext.app.EventDomain":[],"Ext.app.Profile":[],"Ext.app.Util":[],"Ext.app.ViewController":["controller.controller"],"Ext.app.ViewModel":["viewmodel.default"],"Ext.app.bind.AbstractStub":[],"Ext.app.bind.BaseBinding":[],"Ext.app.bind.Binding":[],"Ext.app.bind.Formula":[],"Ext.app.bind.LinkStub":[],"Ext.app.bind.Multi":[],"Ext.app.bind.Parser":[],"Ext.app.bind.RootStub":[],"Ext.app.bind.Stub":[],"Ext.app.bind.Template":[],"Ext.app.bind.TemplateBinding":[],"Ext.app.domain.Component":[],"Ext.app.domain.Controller":[],"Ext.app.domain.Direct":[],"Ext.app.domain.Global":[],"Ext.app.domain.Store":[],"Ext.app.domain.View":[],"Ext.behavior.Behavior":[],"Ext.carousel.Carousel":["widget.carousel"],"Ext.carousel.Infinite":[],"Ext.carousel.Item":[],"Ext.data.AbstractStore":[],"Ext.data.ArrayStore":["store.array"],"Ext.data.Batch":[],"Ext.data.BufferedStore":["store.buffered"],"Ext.data.ChainedStore":["store.chained"],"Ext.data.Connection":[],"Ext.data.DirectStore":["store.direct"],"Ext.data.Error":[],"Ext.data.ErrorCollection":[],"Ext.data.Group":[],"Ext.data.JsonP":[],"Ext.data.JsonPStore":["store.jsonp"],"Ext.data.JsonStore":["store.json"],"Ext.data.LocalStore":[],"Ext.data.Model":[],"Ext.data.ModelManager":[],"Ext.data.NodeInterface":[],"Ext.data.NodeStore":["store.node"],"Ext.data.PageMap":[],"Ext.data.ProxyStore":[],"Ext.data.Range":[],"Ext.data.Request":[],"Ext.data.ResultSet":[],"Ext.data.Session":[],"Ext.data.SortTypes":[],"Ext.data.Store":["store.store"],"Ext.data.StoreManager":[],"Ext.data.TreeModel":[],"Ext.data.TreeStore":["store.tree"],"Ext.data.Types":[],"Ext.data.Validation":[],"Ext.data.XmlStore":["store.xml"],"Ext.data.field.Boolean":["data.field.bool","data.field.boolean"],"Ext.data.field.Date":["data.field.date"],"Ext.data.field.Field":["data.field.auto"],"Ext.data.field.Integer":["data.field.int","data.field.integer"],"Ext.data.field.Number":["data.field.float","data.field.number"],"Ext.data.field.String":["data.field.string"],"Ext.data.flash.BinaryXhr":[],"Ext.data.identifier.Generator":["data.identifier.default"],"Ext.data.identifier.Negative":["data.identifier.negative"],"Ext.data.identifier.Sequential":["data.identifier.sequential"],"Ext.data.identifier.Uuid":["data.identifier.uuid"],"Ext.data.matrix.Matrix":[],"Ext.data.matrix.Side":[],"Ext.data.matrix.Slice":[],"Ext.data.operation.Create":["data.operation.create"],"Ext.data.operation.Destroy":["data.operation.destroy"],"Ext.data.operation.Operation":[],"Ext.data.operation.Read":["data.operation.read"],"Ext.data.operation.Update":["data.operation.update"],"Ext.data.proxy.Ajax":["proxy.ajax"],"Ext.data.proxy.Client":[],"Ext.data.proxy.Direct":["proxy.direct"],"Ext.data.proxy.JsonP":["proxy.jsonp","proxy.scripttag"],"Ext.data.proxy.LocalStorage":["proxy.localstorage"],"Ext.data.proxy.Memory":["proxy.memory"],"Ext.data.proxy.Proxy":["proxy.proxy"],"Ext.data.proxy.Rest":["proxy.rest"],"Ext.data.proxy.Server":["proxy.server"],"Ext.data.proxy.SessionStorage":["proxy.sessionstorage"],"Ext.data.proxy.WebStorage":[],"Ext.data.reader.Array":["reader.array"],"Ext.data.reader.Json":["reader.json"],"Ext.data.reader.Reader":["reader.base"],"Ext.data.reader.Xml":["reader.xml"],"Ext.data.request.Ajax":["request.ajax"],"Ext.data.request.Base":[],"Ext.data.request.Form":["request.form"],"Ext.data.schema.Association":[],"Ext.data.schema.ManyToMany":[],"Ext.data.schema.ManyToOne":[],"Ext.data.schema.Namer":["namer.default"],"Ext.data.schema.OneToOne":[],"Ext.data.schema.Role":[],"Ext.data.schema.Schema":["schema.default"],"Ext.data.session.BatchVisitor":[],"Ext.data.session.ChangesVisitor":[],"Ext.data.session.ChildChangesVisitor":[],"Ext.data.summary.Average":["data.summary.average"],"Ext.data.summary.Base":["data.summary.base"],"Ext.data.summary.Count":["data.summary.count"],"Ext.data.summary.Max":["data.summary.max"],"Ext.data.summary.Min":["data.summary.min"],"Ext.data.summary.Sum":["data.summary.sum"],"Ext.data.validator.AbstractDate":[],"Ext.data.validator.Bound":["data.validator.bound"],"Ext.data.validator.CIDRv4":["data.validator.cidrv4"],"Ext.data.validator.CIDRv6":["data.validator.cidrv6"],"Ext.data.validator.Currency":["data.validator.currency"],"Ext.data.validator.CurrencyUS":["data.validator.currency-us"],"Ext.data.validator.Date":["data.validator.date"],"Ext.data.validator.DateTime":["data.validator.datetime"],"Ext.data.validator.Email":["data.validator.email"],"Ext.data.validator.Exclusion":["data.validator.exclusion"],"Ext.data.validator.Format":["data.validator.format"],"Ext.data.validator.IPAddress":["data.validator.ipaddress"],"Ext.data.validator.Inclusion":["data.validator.inclusion"],"Ext.data.validator.Length":["data.validator.length"],"Ext.data.validator.List":["data.validator.list"],"Ext.data.validator.NotNull":["data.validator.notnull"],"Ext.data.validator.Number":["data.validator.number"],"Ext.data.validator.Phone":["data.validator.phone"],"Ext.data.validator.Presence":["data.validator.presence"],"Ext.data.validator.Range":["data.validator.range"],"Ext.data.validator.Time":["data.validator.time"],"Ext.data.validator.Url":["data.validator.url"],"Ext.data.validator.Validator":["data.validator.base"],"Ext.data.virtual.Group":[],"Ext.data.virtual.Page":[],"Ext.data.virtual.PageMap":[],"Ext.data.virtual.Range":[],"Ext.data.virtual.Store":["store.virtual"],"Ext.data.writer.Json":["writer.json"],"Ext.data.writer.Writer":["writer.base"],"Ext.data.writer.Xml":["writer.xml"],"Ext.dataview.Abstract":[],"Ext.dataview.BoundList":["widget.boundlist"],"Ext.dataview.BoundListLocation":[],"Ext.dataview.BoundListNavigationModel":["navmodel.boundlist"],"Ext.dataview.Component":["widget.componentdataview"],"Ext.dataview.DataItem":["widget.dataitem"],"Ext.dataview.DataView":["widget.dataview"],"Ext.dataview.Disclosable":[],"Ext.dataview.EmptyText":["widget.emptytext"],"Ext.dataview.GenericItem":[],"Ext.dataview.IndexBar":["widget.indexbar"],"Ext.dataview.ItemHeader":["widget.itemheader"],"Ext.dataview.List":["widget.list"],"Ext.dataview.ListItem":["widget.listitem"],"Ext.dataview.Location":[],"Ext.dataview.NavigationModel":["navmodel.dataview"],"Ext.dataview.NestedList":["widget.nestedlist"],"Ext.dataview.Pinnable":[],"Ext.dataview.SimpleListItem":["widget.simplelistitem"],"Ext.dataview.listswiper.Accordion":["widget.listswiperaccordion"],"Ext.dataview.listswiper.Item":["widget.listswiperitem"],"Ext.dataview.listswiper.ListSwiper":["plugin.listswiper"],"Ext.dataview.listswiper.Stepper":["widget.listswiperstepper"],"Ext.dataview.plugin.ItemTip":["plugin.dataviewtip"],"Ext.dataview.plugin.ListPaging":["plugin.listpaging"],"Ext.dataview.plugin.SortableList":["plugin.sortablelist"],"Ext.dataview.pullrefresh.Bar":["widget.pullrefreshbar"],"Ext.dataview.pullrefresh.Item":[],"Ext.dataview.pullrefresh.PullRefresh":["plugin.pullrefresh"],"Ext.dataview.pullrefresh.Spinner":["widget.pullrefreshspinner"],"Ext.dataview.selection.Model":["selmodel.dataview"],"Ext.dataview.selection.Records":["selection.records"],"Ext.dataview.selection.Rows":["selection.rows"],"Ext.dataview.selection.Selection":[],"Ext.direct.Event":["direct.event"],"Ext.direct.ExceptionEvent":["direct.exception"],"Ext.direct.JsonProvider":["direct.jsonprovider"],"Ext.direct.Manager":[],"Ext.direct.PollingProvider":["direct.pollingprovider"],"Ext.direct.Provider":["direct.provider"],"Ext.direct.RemotingEvent":["direct.rpc"],"Ext.direct.RemotingMethod":[],"Ext.direct.RemotingProvider":["direct.remotingprovider"],"Ext.direct.Transaction":["direct.transaction"],"Ext.dom.CompositeElement":[],"Ext.dom.CompositeElementLite":[],"Ext.dom.Element":[],"Ext.dom.ElementEvent":[],"Ext.dom.Fly":[],"Ext.dom.GarbageCollector":[],"Ext.dom.Helper":[],"Ext.dom.Query":[],"Ext.dom.Shadow":[],"Ext.dom.Shim":[],"Ext.dom.TouchAction":[],"Ext.dom.Underlay":[],"Ext.dom.UnderlayPool":[],"Ext.drag.Constraint":["drag.constraint.base"],"Ext.drag.Info":[],"Ext.drag.Item":[],"Ext.drag.Manager":[],"Ext.drag.Source":[],"Ext.drag.Target":[],"Ext.drag.proxy.None":["drag.proxy.none"],"Ext.drag.proxy.Original":["drag.proxy.original"],"Ext.drag.proxy.Placeholder":["drag.proxy.placeholder"],"Ext.event.Event":[],"Ext.event.gesture.DoubleTap":[],"Ext.event.gesture.Drag":[],"Ext.event.gesture.EdgeSwipe":[],"Ext.event.gesture.LongPress":[],"Ext.event.gesture.MultiTouch":[],"Ext.event.gesture.Pinch":[],"Ext.event.gesture.Recognizer":[],"Ext.event.gesture.Rotate":[],"Ext.event.gesture.SingleTouch":[],"Ext.event.gesture.Swipe":[],"Ext.event.gesture.Tap":[],"Ext.event.publisher.Dom":[],"Ext.event.publisher.ElementPaint":[],"Ext.event.publisher.ElementSize":[],"Ext.event.publisher.Focus":[],"Ext.event.publisher.Gesture":[],"Ext.event.publisher.Publisher":[],"Ext.field.BoxLabelable":[],"Ext.field.Checkbox":["widget.checkbox","widget.checkboxfield"],"Ext.field.ComboBox":["widget.combobox","widget.comboboxfield"],"Ext.field.Container":["widget.containerfield","widget.fieldcontainer"],"Ext.field.Date":["widget.datefield","widget.datepickerfield"],"Ext.field.DatePickerNative":["widget.datepickernativefield"],"Ext.field.Display":["widget.displayfield"],"Ext.field.Email":["widget.emailfield"],"Ext.field.Field":["widget.field"],"Ext.field.File":["widget.filefield"],"Ext.field.FileButton":["widget.filebutton"],"Ext.field.Hidden":["widget.hiddenfield"],"Ext.field.Input":["widget.inputfield"],"Ext.field.InputMask":[],"Ext.field.Manager":[],"Ext.field.Number":["widget.numberfield"],"Ext.field.Panel":["widget.fieldpanel"],"Ext.field.Password":["widget.passwordfield"],"Ext.field.Picker":["widget.pickerfield"],"Ext.field.Radio":["widget.radio","widget.radiofield"],"Ext.field.Search":["widget.searchfield"],"Ext.field.Select":["widget.selectfield"],"Ext.field.SingleSlider":["widget.singlesliderfield"],"Ext.field.Slider":["widget.sliderfield"],"Ext.field.Spinner":["widget.spinnerfield"],"Ext.field.Text":["widget.textfield"],"Ext.field.TextArea":["widget.textareafield"],"Ext.field.Time":["widget.timefield"],"Ext.field.Toggle":["widget.togglefield"],"Ext.field.Url":["widget.urlfield"],"Ext.field.trigger.Base":["trigger.base"],"Ext.field.trigger.Clear":["trigger.clear","widget.cleartrigger"],"Ext.field.trigger.Component":["trigger.component"],"Ext.field.trigger.Date":["trigger.date","widget.datetrigger"],"Ext.field.trigger.Expand":["trigger.expand","widget.expandtrigger"],"Ext.field.trigger.File":["trigger.file"],"Ext.field.trigger.Menu":["trigger.menu","widget.menutrigger"],"Ext.field.trigger.Reveal":["trigger.reveal","widget.revealtrigger"],"Ext.field.trigger.Search":["trigger.search","widget.searchtrigger"],"Ext.field.trigger.SpinDown":["trigger.spindown","widget.spindowntrigger"],"Ext.field.trigger.SpinUp":["trigger.spinup","widget.spinuptrigger"],"Ext.field.trigger.Time":["trigger.time","widget.timetrigger"],"Ext.field.trigger.Trigger":["trigger.trigger","widget.trigger"],"Ext.form.Borders":[],"Ext.form.FieldSet":["widget.fieldset"],"Ext.form.Panel":["widget.formpanel"],"Ext.fx.Animation":[],"Ext.fx.Runner":[],"Ext.fx.State":[],"Ext.fx.animation.Abstract":[],"Ext.fx.animation.Cube":["animation.cube"],"Ext.fx.animation.Fade":["animation.fade","animation.fadeIn"],"Ext.fx.animation.FadeOut":["animation.fadeOut"],"Ext.fx.animation.Flip":["animation.flip"],"Ext.fx.animation.Pop":["animation.pop","animation.popIn"],"Ext.fx.animation.PopOut":["animation.popOut"],"Ext.fx.animation.Slide":["animation.slide","animation.slideIn"],"Ext.fx.animation.SlideOut":["animation.slideOut"],"Ext.fx.animation.Wipe":[],"Ext.fx.animation.WipeOut":[],"Ext.fx.easing.Abstract":[],"Ext.fx.easing.Bounce":[],"Ext.fx.easing.BoundMomentum":[],"Ext.fx.easing.EaseIn":["easing.ease-in"],"Ext.fx.easing.EaseOut":["easing.ease-out"],"Ext.fx.easing.Easing":[],"Ext.fx.easing.Linear":["easing.linear"],"Ext.fx.easing.Momentum":[],"Ext.fx.runner.Css":[],"Ext.fx.runner.CssAnimation":[],"Ext.fx.runner.CssTransition":[],"Ext.grid.CellEditor":["widget.celleditor"],"Ext.grid.Grid":["widget.grid"],"Ext.grid.HeaderContainer":["widget.headercontainer"],"Ext.grid.Location":[],"Ext.grid.NavigationModel":["navmodel.grid"],"Ext.grid.PagingToolbar":["widget.pagingtoolbar"],"Ext.grid.Row":["widget.gridrow"],"Ext.grid.RowBody":["widget.rowbody"],"Ext.grid.RowHeader":["widget.rowheader"],"Ext.grid.SummaryRow":["widget.gridsummaryrow"],"Ext.grid.Tree":["widget.tree"],"Ext.grid.cell.Base":["widget.gridcellbase"],"Ext.grid.cell.Boolean":["widget.booleancell"],"Ext.grid.cell.Cell":["widget.gridcell"],"Ext.grid.cell.Check":["widget.checkcell"],"Ext.grid.cell.Date":["widget.datecell"],"Ext.grid.cell.Expander":["widget.expandercell"],"Ext.grid.cell.Number":["widget.numbercell"],"Ext.grid.cell.RowNumberer":["widget.rownumberercell"],"Ext.grid.cell.Text":["widget.textcell"],"Ext.grid.cell.Tree":["widget.treecell"],"Ext.grid.cell.Widget":["widget.widgetcell"],"Ext.grid.column.Boolean":["widget.booleancolumn"],"Ext.grid.column.Check":["widget.checkcolumn"],"Ext.grid.column.Column":["widget.column","widget.gridcolumn","widget.templatecolumn"],"Ext.grid.column.Date":["widget.datecolumn"],"Ext.grid.column.Number":["widget.numbercolumn"],"Ext.grid.column.RowNumberer":["widget.rownumberer"],"Ext.grid.column.Selection":["widget.selectioncolumn"],"Ext.grid.column.Text":["widget.textcolumn"],"Ext.grid.column.Tree":["widget.treecolumn"],"Ext.grid.menu.Columns":["widget.gridcolumnsmenu"],"Ext.grid.menu.GroupByThis":["widget.gridgroupbythismenuitem"],"Ext.grid.menu.ShowInGroups":["widget.gridshowingroupsmenuitem"],"Ext.grid.menu.SortAsc":["widget.gridsortascmenuitem"],"Ext.grid.menu.SortDesc":["widget.gridsortdescmenuitem"],"Ext.grid.plugin.CellEditing":["plugin.cellediting","plugin.gridcellediting"],"Ext.grid.plugin.Clipboard":["plugin.clipboard"],"Ext.grid.plugin.ColumnResizing":["plugin.columnresizing","plugin.gridcolumnresizing"],"Ext.grid.plugin.Editable":["plugin.grideditable"],"Ext.grid.plugin.PagingToolbar":["plugin.gridpagingtoolbar","plugin.pagingtoolbar"],"Ext.grid.plugin.RowExpander":["plugin.rowexpander"],"Ext.grid.plugin.RowOperations":["plugin.gridmultiselection","plugin.multiselection","plugin.rowoperations"],"Ext.grid.plugin.Summary":["plugin.gridsummary","plugin.gridsummaryrow","plugin.summaryrow"],"Ext.grid.plugin.ViewOptions":["plugin.gridviewoptions"],"Ext.grid.plugin.ViewOptionsListItem":["widget.viewoptionslistitem"],"Ext.grid.selection.Cells":["selection.cells"],"Ext.grid.selection.Columns":["selection.columns"],"Ext.grid.selection.Model":["selmodel.grid"],"Ext.grid.selection.Replicator":["plugin.selectionreplicator"],"Ext.grid.selection.SelectionExtender":[],"Ext.layout.Auto":["layout.auto","layout.default"],"Ext.layout.Box":["layout.box"],"Ext.layout.Card":["layout.card"],"Ext.layout.Carousel":["layout.carousel"],"Ext.layout.Center":["layout.center"],"Ext.layout.Fit":["layout.fit"],"Ext.layout.Float":["layout.float"],"Ext.layout.Form":["layout.form"],"Ext.layout.HBox":["layout.hbox"],"Ext.layout.VBox":["layout.vbox"],"Ext.layout.card.fx.Abstract":["layout.card.fx.abstract"],"Ext.layout.card.fx.Cover":["layout.card.fx.cover"],"Ext.layout.card.fx.Cube":["layout.card.fx.cube"],"Ext.layout.card.fx.Fade":["layout.card.fx.fade"],"Ext.layout.card.fx.Flip":["layout.card.fx.flip"],"Ext.layout.card.fx.Pop":["layout.card.fx.pop"],"Ext.layout.card.fx.Reveal":["layout.card.fx.reveal"],"Ext.layout.card.fx.Scroll":["layout.card.fx.scroll"],"Ext.layout.card.fx.ScrollCover":["layout.card.fx.scrollcover"],"Ext.layout.card.fx.ScrollReveal":["layout.card.fx.scrollreveal"],"Ext.layout.card.fx.Serial":[],"Ext.layout.card.fx.Slide":["layout.card.fx.slide"],"Ext.layout.card.fx.Style":[],"Ext.layout.overflow.Scroller":["layout.overflow.scroller"],"Ext.layout.wrapper.BoxDock":[],"Ext.layout.wrapper.Inner":[],"Ext.list.AbstractTreeItem":[],"Ext.list.Location":[],"Ext.list.RootTreeItem":[],"Ext.list.Tree":["widget.treelist"],"Ext.list.TreeItem":["widget.treelistitem"],"Ext.menu.CheckItem":["widget.menucheckitem"],"Ext.menu.Item":["widget.menuitem"],"Ext.menu.Manager":[],"Ext.menu.Menu":["widget.menu"],"Ext.menu.RadioItem":["widget.menuradioitem"],"Ext.menu.Separator":["widget.menuseparator"],"Ext.mixin.Accessible":[],"Ext.mixin.Bindable":[],"Ext.mixin.Bufferable":[],"Ext.mixin.ComponentDelegation":[],"Ext.mixin.ConfigProxy":[],"Ext.mixin.ConfigState":[],"Ext.mixin.Container":[],"Ext.mixin.Dirty":[],"Ext.mixin.Factoryable":[],"Ext.mixin.Focusable":[],"Ext.mixin.FocusableContainer":[],"Ext.mixin.Hookable":[],"Ext.mixin.Inheritable":[],"Ext.mixin.ItemRippler":[],"Ext.mixin.Keyboard":[],"Ext.mixin.Mashup":[],"Ext.mixin.Pluggable":[],"Ext.mixin.Progressable":[],"Ext.mixin.Queryable":[],"Ext.mixin.Responsive":[],"Ext.mixin.Selectable":[],"Ext.mixin.StoreWatcher":[],"Ext.mixin.StyleCacher":[],"Ext.mixin.Templatable":[],"Ext.mixin.Toolable":[],"Ext.mixin.Traversable":[],"Ext.navigation.Bar":[],"Ext.navigation.View":["widget.navigationview"],"Ext.override.sparkline.Base":[],"Ext.overrides.Progress":[],"Ext.overrides.Widget":[],"Ext.overrides.app.Application":[],"Ext.overrides.dom.Element":[],"Ext.overrides.drag.proxy.Placeholder":[],"Ext.overrides.list.Tree":[],"Ext.overrides.list.TreeItem":[],"Ext.panel.Collapser":[],"Ext.panel.Collapsible":[],"Ext.panel.Date":["widget.datepanel"],"Ext.panel.DateTitle":["widget.datetitle"],"Ext.panel.DateView":["widget.dateview"],"Ext.panel.Header":["widget.panelheader"],"Ext.panel.Resizable":[],"Ext.panel.Resizer":[],"Ext.panel.Time":["widget.timepanel"],"Ext.panel.TimeHeader":["widget.analogtimeheader"],"Ext.panel.TimeView":["widget.analogtime"],"Ext.panel.Title":["widget.paneltitle"],"Ext.panel.YearPicker":["widget.yearpicker"],"Ext.parse.Parser":[],"Ext.parse.Symbol":[],"Ext.parse.Tokenizer":[],"Ext.parse.symbol.Constant":[],"Ext.parse.symbol.Infix":[],"Ext.parse.symbol.InfixRight":[],"Ext.parse.symbol.Paren":[],"Ext.parse.symbol.Prefix":[],"Ext.perf.Accumulator":[],"Ext.perf.Monitor":[],"Ext.picker.Date":["widget.datepicker"],"Ext.picker.Picker":["widget.picker"],"Ext.picker.Slot":["widget.pickerslot"],"Ext.picker.Tablet":["widget.tabletpicker"],"Ext.plugin.Abstract":[],"Ext.plugin.AbstractClipboard":[],"Ext.plugin.MouseEnter":["plugin.mouseenter"],"Ext.plugin.Responsive":["plugin.responsive"],"Ext.plugin.TabGuard":["plugin.tabguard"],"Ext.promise.Consequence":[],"Ext.promise.Deferred":[],"Ext.promise.Promise":[],"Ext.route.Action":[],"Ext.route.Handler":[],"Ext.route.Mixin":[],"Ext.route.Route":[],"Ext.route.Router":[],"Ext.scroll.Scroller":["scroller.scroller"],"Ext.slider.Slider":["widget.slider"],"Ext.slider.Thumb":["widget.thumb"],"Ext.slider.Toggle":["widget.toggleslider"],"Ext.sparkline.Bar":["widget.sparklinebar"],"Ext.sparkline.BarBase":[],"Ext.sparkline.Base":["widget.sparkline"],"Ext.sparkline.Box":["widget.sparklinebox"],"Ext.sparkline.Bullet":["widget.sparklinebullet"],"Ext.sparkline.CanvasBase":[],"Ext.sparkline.CanvasCanvas":[],"Ext.sparkline.Discrete":["widget.sparklinediscrete"],"Ext.sparkline.Line":["widget.sparklineline"],"Ext.sparkline.Pie":["widget.sparklinepie"],"Ext.sparkline.RangeMap":[],"Ext.sparkline.Shape":[],"Ext.sparkline.TriState":["widget.sparklinetristate"],"Ext.sparkline.VmlCanvas":[],"Ext.tab.Bar":["widget.tabbar"],"Ext.tab.Panel":["widget.tabpanel"],"Ext.tab.Tab":["widget.tab"],"Ext.tip.Manager":[],"Ext.tip.ToolTip":["widget.tooltip"],"Ext.util.AbstractMixedCollection":[],"Ext.util.Audio":[],"Ext.util.Bag":[],"Ext.util.Base64":[],"Ext.util.BufferedCollection":[],"Ext.util.CSS":[],"Ext.util.CSV":[],"Ext.util.ClickRepeater":[],"Ext.util.Collection":[],"Ext.util.CollectionKey":[],"Ext.util.Color":[],"Ext.util.Cookies":[],"Ext.util.DelimitedValue":[],"Ext.util.Draggable":[],"Ext.util.Filter":[],"Ext.util.FilterCollection":[],"Ext.util.Fly":[],"Ext.util.Format":[],"Ext.util.Geolocation":[],"Ext.util.Group":[],"Ext.util.GroupCollection":[],"Ext.util.Grouper":[],"Ext.util.HashMap":[],"Ext.util.History":[],"Ext.util.Inflector":[],"Ext.util.InputBlocker":[],"Ext.util.ItemCollection":[],"Ext.util.KeyMap":[],"Ext.util.KeyNav":[],"Ext.util.LineSegment":[],"Ext.util.LocalStorage":[],"Ext.util.LruCache":[],"Ext.util.MixedCollection":[],"Ext.util.ObjectTemplate":[],"Ext.util.Observable":[],"Ext.util.Offset":[],"Ext.util.PaintMonitor":[],"Ext.util.Point":[],"Ext.util.PositionMap":[],"Ext.util.Positionable":[],"Ext.util.Region":[],"Ext.util.Schedulable":[],"Ext.util.Scheduler":[],"Ext.util.SizeMonitor":[],"Ext.util.Sortable":[],"Ext.util.Sorter":[],"Ext.util.SorterCollection":[],"Ext.util.Spans":[],"Ext.util.TextMetrics":[],"Ext.util.TranslatableGroup":[],"Ext.util.TranslatableList":[],"Ext.util.TsvDecoder":[],"Ext.util.Wrapper":[],"Ext.util.XTemplateCompiler":[],"Ext.util.XTemplateParser":[],"Ext.util.paintmonitor.Abstract":[],"Ext.util.paintmonitor.CssAnimation":[],"Ext.util.paintmonitor.OverflowChange":[],"Ext.util.sizemonitor.Abstract":[],"Ext.util.sizemonitor.OverflowChange":[],"Ext.util.sizemonitor.Scroll":[],"Ext.util.translatable.Abstract":[],"Ext.util.translatable.Component":["translatable.component"],"Ext.util.translatable.CssPosition":["translatable.cssposition"],"Ext.util.translatable.CssTransform":["translatable.csstransform"],"Ext.util.translatable.Dom":["translatable.dom"],"Ext.util.translatable.ScrollParent":["translatable.scrollparent"],"Ext.util.translatable.ScrollPosition":["translatable.scrollposition"],"Ext.viewport.Android":[],"Ext.viewport.Default":["widget.viewport"],"Ext.viewport.Ios":[],"Ext.viewport.Viewport":[],"Ext.viewport.WindowsPhone":[]});