/* Minification failed. Returning unminified contents.
(4,4): run-time error CSS1019: Unexpected token, found '('
(4,5): run-time error CSS1019: Unexpected token, found 'function('
(4,17): run-time error CSS1031: Expected selector, found ')'
(4,17): run-time error CSS1025: Expected comma or open brace, found ')'
(4,152): run-time error CSS1019: Unexpected token, found ')'
(4,153): run-time error CSS1019: Unexpected token, found '('
(4,159): run-time error CSS1031: Expected selector, found 'function('
(4,20163): run-time error CSS1019: Unexpected token, found ')'
(12,1): run-time error CSS1019: Unexpected token, found '!'
(12,2): run-time error CSS1019: Unexpected token, found 'function('
(12,14): run-time error CSS1031: Expected selector, found ')'
(12,14): run-time error CSS1025: Expected comma or open brace, found ')'
(12,246): run-time error CSS1019: Unexpected token, found '('
(12,252): run-time error CSS1031: Expected selector, found 'function('
(12,57790): run-time error CSS1019: Unexpected token, found ')'
(19,1): run-time error CSS1019: Unexpected token, found '('
(19,11): run-time error CSS1031: Expected selector, found '('
(19,11): run-time error CSS1025: Expected comma or open brace, found '('
(19,96): run-time error CSS1019: Unexpected token, found ')'
(19,97): run-time error CSS1019: Unexpected token, found '('
(19,107): run-time error CSS1031: Expected selector, found '('
(19,107): run-time error CSS1025: Expected comma or open brace, found '('
(19,36732): run-time error CSS1019: Unexpected token, found ')'
(27,1): run-time error CSS1019: Unexpected token, found '('
(27,11): run-time error CSS1031: Expected selector, found '('
(27,11): run-time error CSS1025: Expected comma or open brace, found '('
(95,2): run-time error CSS1019: Unexpected token, found ')'
(95,3): run-time error CSS1019: Unexpected token, found '('
(95,20): run-time error CSS1031: Expected selector, found ')'
(95,20): run-time error CSS1025: Expected comma or open brace, found ')'
(111,1): run-time error CSS1019: Unexpected token, found '('
(111,11): run-time error CSS1031: Expected selector, found '('
(111,11): run-time error CSS1025: Expected comma or open brace, found '('
(119,2): run-time error CSS1019: Unexpected token, found ')'
(119,3): run-time error CSS1019: Unexpected token, found '('
(119,18): run-time error CSS1031: Expected selector, found '!'
(119,18): run-time error CSS1025: Expected comma or open brace, found '!'
(275,2): run-time error CSS1019: Unexpected token, found ')'
(277,1): run-time error CSS1019: Unexpected token, found '"use strict"'
(282,8): run-time error CSS1031: Expected selector, found '='
(282,8): run-time error CSS1025: Expected comma or open brace, found '='
(285,27): run-time error CSS1031: Expected selector, found '='
(285,27): run-time error CSS1025: Expected comma or open brace, found '='
(291,24): run-time error CSS1031: Expected selector, found '='
(291,24): run-time error CSS1025: Expected comma or open brace, found '='
(298,4): run-time error CSS1031: Expected selector, found '('
(298,4): run-time error CSS1025: Expected comma or open brace, found '('
(308,4): run-time error CSS1031: Expected selector, found '('
(308,4): run-time error CSS1025: Expected comma or open brace, found '('
(320,4): run-time error CSS1031: Expected selector, found '('
(320,4): run-time error CSS1025: Expected comma or open brace, found '('
(326,4): run-time error CSS1031: Expected selector, found '('
(326,4): run-time error CSS1025: Expected comma or open brace, found '('
(332,4): run-time error CSS1031: Expected selector, found '('
(332,4): run-time error CSS1025: Expected comma or open brace, found '('
(339,30): run-time error CSS1031: Expected selector, found '='
(339,30): run-time error CSS1025: Expected comma or open brace, found '='
(348,20): run-time error CSS1031: Expected selector, found '='
(348,20): run-time error CSS1025: Expected comma or open brace, found '='
(349,13): run-time error CSS1031: Expected selector, found '='
(349,13): run-time error CSS1025: Expected comma or open brace, found '='
(355,21): run-time error CSS1031: Expected selector, found '='
(355,21): run-time error CSS1025: Expected comma or open brace, found '='
(358,15): run-time error CSS1031: Expected selector, found '='
(358,15): run-time error CSS1025: Expected comma or open brace, found '='
(360,20): run-time error CSS1031: Expected selector, found '='
(360,20): run-time error CSS1025: Expected comma or open brace, found '='
(372,16): run-time error CSS1031: Expected selector, found '='
(372,16): run-time error CSS1025: Expected comma or open brace, found '='
(374,11): run-time error CSS1031: Expected selector, found '='
(374,11): run-time error CSS1025: Expected comma or open brace, found '='
(393,2): run-time error CSS1019: Unexpected token, found '('
(393,3): run-time error CSS1019: Unexpected token, found ')'
(395,1): run-time error CSS1019: Unexpected token, found 'eval('
(395,15): run-time error CSS1031: Expected selector, found '('
(395,15): run-time error CSS1025: Expected comma or open brace, found '('
(395,407): run-time error CSS1019: Unexpected token, found '('
(395,408): run-time error CSS1019: Unexpected token, found ''a(31.9&&!31.9.3c){(8(){6 G=8(s,x,f){5.1L=[];5.1p={};5.29=C;5.1K={};5.1a={};5.f=9.1y({2z:18,37:2u,2r:18,2Z:18,2T:2u,2S:2u},f);5.2Q(s,x);a(s){5.1n(5.1a[\'1V\'],x,5.f)}5.1a=C};G.m.2G=\'0.7.0\';G.m.2Q=8(s,x){6 2E=/\\{#3i *(\\w*?)( .*)*\\}/g;6 20,1x,H;6 1v=C;6 2x=[];2v((20=2E.3U(s))!=C){1v=2E.1v;1x=20[1];H=s.2s(\'{#/3i \'+1x+\'}\',1v);a(H==-1){Y c 12(\'14: G "\'+1x+\'" 2n 1Q 3H.\');}5.1a[1x]=s.2h(1v,H);2x[1x]=L.2c(20[2])}a(1v===C){5.1a[\'1V\']=s;b}F(6 i 1N 5.1a){a(i!=\'1V\'){5.1K[i]=c G()}}F(6 i 1N 5.1a){a(i!=\'1V\'){5.1K[i].1n(5.1a[i],9.1y({},x||{},5.1K||{}),9.1y({},5.f,2x[i]));5.1a[i]=C}}};G.m.1n=8(s,x,f){a(s==15){5.1L.A(c 1d(\'\',1));b}s=s.W(/[\\n\\r]/g,\'\');s=s.W(/\\{\\*.*?\\*\\}/g,\'\');5.29=9.1y({},5.1K||{},x||{});5.f=c 25(f);6 j=5.1L;6 J=s.1c(/\\{#.*?\\}/g);6 Z=0,H=0;6 e;6 1b=0;6 21=0;F(6 i=0,l=(J)?(J.O):(0);i<l;++i){a(1b){H=s.2s(\'{#/1z}\');a(H==-1){Y c 12("14: 3f 1G 3e 1z.");}a(H>Z){j.A(c 1d(s.2h(Z,H),1))}Z=H+11;1b=0;i=9.3Z(\'{#/1z}\',J);3b}H=s.2s(J[i],Z);a(H>Z){j.A(c 1d(s.2h(Z,H),1b))}6 3X=J[i].1c(/\\{#([\\w\\/]+).*?\\}/);6 2w=E.$1;36(2w){q\'3T\':++21;j.1U();q\'a\':e=c 1t(J[i],j);j.A(e);j=e;M;q\'U\':j.1U();M;q\'/a\':2v(21){j=j.1T();--21}q\'/F\':q\'/1S\':j=j.1T();M;q\'1S\':e=c 1j(J[i],j);j.A(e);j=e;M;q\'F\':e=1R(J[i],j);j.A(e);j=e;M;q\'2q\':j.A(c 2I(J[i],5.29));M;q\'h\':j.A(c 2p(J[i]));M;q\'2o\':j.A(c 2m(J[i]));M;q\'3M\':j.A(c 1d(\'{\'));M;q\'3K\':j.A(c 1d(\'}\'));M;q\'1z\':1b=1;M;q\'/1z\':Y c 12("14: 3f 2k 3e 1z.");2R:Y c 12(\'14: 3G 3E \'+2w+\'.\');}Z=H+J[i].O}a(s.O>Z){j.A(c 1d(s.3D(Z),1b))}};G.m.I=8(d,h,z,B){++B;6 $T=d,22,1Y;a(5.f.2T){$T=L.1m(d,{1W:(5.f.37&&B==1),1F:5.f.2z})}a(!5.f.2S){22=5.1p;1Y=h}U{22=L.1m(5.1p,{1W:(5.f.2r),1F:18});1Y=L.1m(h,{1W:(5.f.2r&&B==1),1F:18})}6 $P=9.1y({},22,1Y);6 $Q=z;$Q.2G=5.2G;6 13=\'\';F(6 i=0,l=5.1L.O;i<l;++i){13+=5.1L[i].I($T,$P,$Q,B)}--B;b 13};G.m.28=8(1J,1M){5.1p[1J]=1M};L=8(){};L.3q=8(3p){b 3p.W(/&/g,\'&4b;\').W(/>/g,\'&3o;\').W(/</g,\'&3n;\').W(/"/g,\'&48;\').W(/\'/g,\'&#39;\')};L.1m=8(d,1A){a(d==C){b d}36(d.3m){q 25:6 o={};F(6 i 1N d){o[i]=L.1m(d[i],1A)}a(!1A.1F){o.3k=d.3k}b o;q 47:6 o=[];F(6 i=0,l=d.O;i<l;++i){o[i]=L.1m(d[i],1A)}b o;q 3j:b(1A.1W)?(L.3q(d)):(d);q 46:a(1A.1F){Y c 12("14: 45 44 1Q 43.");}2R:b d}};L.2c=8(24){a(24===C||24===15){b{}}6 o=24.42(/[= ]/);a(o[0]===\'\'){o.41()}6 2B={};F(6 i=0,l=o.O;i<l;i+=2){2B[o[i]]=o[i+1]}b 2B};6 1d=8(2A,1b){5.23=2A;5.3h=1b};1d.m.I=8(d,h,z,B){6 t=5.23;a(!5.3h){6 $T=d;6 $P=h;6 $Q=z;t=t.W(/\\{(.*?)\\}/g,8(40,3g){6 19=V(3g);a(1I 19==\'8\'){6 f=9.K(z,\'1i\').f;a(f.2z||!f.2Z){b\'\'}U{19=19($T,$P,$Q)}}b(19===15)?(""):(3j(19))})}b t};6 1t=8(D,1r){5.1Z=1r;D.1c(/\\{#(?:U)*a (.*?)\\}/);5.3d=E.$1;5.1g=[];5.1f=[];5.1w=5.1g};1t.m.A=8(e){5.1w.A(e)};1t.m.1T=8(){b 5.1Z};1t.m.1U=8(){5.1w=5.1f};1t.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;6 2y=(V(5.3d))?(5.1g):(5.1f);6 13=\'\';F(6 i=0,l=2y.O;i<l;++i){13+=2y[i].I(d,h,z,B)}b 13};1R=8(D,1r){a(D.1c(/\\{#F (\\w+?) *= *(\\S+?) +3Y +(\\S+?) *(?:R=(\\S+?))*\\}/)){D=\'{#1S 1R.3a 38 \'+E.$1+\' 2k=\'+(E.$2||0)+\' 1G=\'+(E.$3||-1)+\' R=\'+(E.$4||1)+\' 1E=$T}\';b c 1j(D,1r)}U{Y c 12(\'14: 3W 3V "35": \'+D);}};1R.3a=8(i){b i};6 1j=8(D,1r){5.1Z=1r;D.1c(/\\{#1S (.+?) 38 (\\w+?)( .+)*\\}/);5.34=E.$1;5.y=E.$2;5.N=E.$3||C;5.N=L.2c(5.N);5.1g=[];5.1f=[];5.1w=5.1g};1j.m.A=8(e){5.1w.A(e)};1j.m.1T=8(){b 5.1Z};1j.m.1U=8(){5.1w=5.1f};1j.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;6 1h=V(5.34);6 1D=[];6 1u=1I 1h;a(1u==\'33\'){6 2t=[];9.17(1h,8(k,v){1D.A(k);2t.A(v)});1h=2t}6 1E=(5.N.1E!==15)?(V(5.N.1E)):{};6 s=1H(V(5.N.2k)||0),e;6 R=1H(V(5.N.R)||1);a(1u!=\'8\'){e=1h.O}U{a(5.N.1G===15||5.N.1G===C){e=1H.3S}U{e=1H(V(5.N.1G))+((R>0)?(1):(-1))}}6 13=\'\';6 i,l;a(5.N.1C){6 19=s+1H(V(5.N.1C));e=(19>e)?(e):(19)}a((e>s&&R>0)||(e<s&&R<0)){6 1q=0;6 30=(1u!=\'8\')?(3R.3Q((e-s)/R)):15;6 1s,1k;F(;((R>0)?(s<e):(s>e));s+=R,++1q){1s=1D[s];a(1u!=\'8\'){1k=1h[s]}U{1k=1h(s);a(1k===15||1k===C){M}}a((1u==\'33\')&&(1s 1N 25)&&(25[1s]===$T[1s])){3b}$T=1E;6 p=$T[5.y]=1k;$T[5.y+\'$2Y\']=s;$T[5.y+\'$1q\']=1q;$T[5.y+\'$2X\']=(1q==0);$T[5.y+\'$3l\']=(s+R>=e);$T[5.y+\'$2V\']=30;$T[5.y+\'$1D\']=1s;$T[5.y+\'$1I\']=1I 1k;F(i=0,l=5.1g.O;i<l;++i){13+=5.1g[i].I($T,h,z,B)}1e $T[5.y+\'$2Y\'];1e $T[5.y+\'$1q\'];1e $T[5.y+\'$2X\'];1e $T[5.y+\'$3l\'];1e $T[5.y+\'$2V\'];1e $T[5.y+\'$1D\'];1e $T[5.y+\'$1I\'];1e $T[5.y]}}U{F(i=0,l=5.1f.O;i<l;++i){13+=5.1f[i].I($T,h,z,B)}}b 13};6 2I=8(D,x){D.1c(/\\{#2q (.*?)(?: 3P=(.*?))?\\}/);5.2H=x[E.$1];a(5.2H==15){Y c 12(\'14: 3O 35 2q: \'+E.$1);}5.2U=E.$2};2I.m.I=8(d,h,z,B){6 $T=d;b 5.2H.I(V(5.2U),h,z,B)};6 2p=8(D){D.1c(/\\{#h 1J=(\\w*?) 1M=(.*?)\\}/);5.y=E.$1;5.23=E.$2};2p.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;h[5.y]=V(5.23);b\'\'};6 2m=8(D){D.1c(/\\{#2o 3N=(.*?)\\}/);5.2d=V(E.$1);5.2l=5.2d.O;a(5.2l<=0){Y c 12(\'14: 2o 3L 3J 3I\');}5.2f=0;5.2b=-1};2m.m.I=8(d,h,z,B){6 2j=9.K(z,\'1B\');a(2j!=5.2b){5.2b=2j;5.2f=0}6 i=5.2f++%5.2l;b 5.2d[i]};9.X.1n=8(s,x,f){a(s.3m===G){b 9(5).17(8(){9.K(5,\'1i\',s);9.K(5,\'1B\',0)})}U{b 9(5).17(8(){9.K(5,\'1i\',c G(s,x,f));9.K(5,\'1B\',0)})}};9.X.3F=8(1o,x,f){6 s=9.2g({1l:1o,2e:18}).2P;b 9(5).1n(s,x,f)};9.X.3C=8(2i,x,f){6 s=$(\'#\'+2i).2A();a(s==C){s=$(\'#\'+2i).2O();s=s.W(/&3n;/g,"<").W(/&3o;/g,">")}s=9.3B(s);s=s.W(/^<\\!\\[3A\\[([\\s\\S]*)\\]\\]>$/3z,\'$1\');b 9(5).1n(s,x,f)};9.X.3y=8(){6 1C=0;9(5).17(8(){a(9.K(5,\'1i\')){++1C}});b 1C};9.X.3x=8(){9(5).32();b 9(5).17(8(){9.2N(5,\'1i\')})};9.X.28=8(1J,1M){b 9(5).17(8(){6 t=9.K(5,\'1i\');a(t===15){Y c 12(\'14: G 2n 1Q 2W.\');}t.28(1J,1M)})};9.X.2a=8(d,h){b 9(5).17(8(){6 t=9.K(5,\'1i\');a(t===15){Y c 12(\'14: G 2n 1Q 2W.\');}9.K(5,\'1B\',9.K(5,\'1B\')+1);9(5).2O(t.I(d,h,5,0))})};9.X.3w=8(1o,h){6 10=5;6 s=9.2g({1l:1o,2e:18,3v:18,3u:\'3t\',3s:8(d){9(10).2a(d,h)}});b 5};6 1P=8(1l,h,1O,1X,16){5.2M=1l;5.1p=h;5.2L=1O;5.2K=1X;5.16=16;5.2C=C;6 10=5;9(16).17(8(){9.K(5,\'2D\',10)});5.27()};1P.m.27=8(){5.2J();a(5.16.O==0){b}6 10=5;9.4f(5.2M,5.2K,8(d){9(10.16).2a(d,10.1p)});5.2C=4e(8(){10.27()},5.2L)};1P.m.2J=8(){5.16=9.3r(5.16,8(o){a(9.4d.4c){6 n=o.2F;2v(n&&n!=4a){n=n.2F}b n!=C}U{b o.2F!=C}})};9.X.49=8(1l,h,1O,1X){6 u=c 1P(1l,h,1O,1X,5);b u.2C};9.X.32=8(){b 9(5).17(8(){6 26=9.K(5,\'2D\');a(26==C){b}6 10=5;26.16=9.3r(26.16,8(o){b o!=10});9.2N(5,\'2D\')})};9.1y({3c:8(s,x,f){b c G(s,x,f)},4g:8(1o,x,f){6 s=9.2g({1l:1o,2e:18}).2P;b c G(s,x,f)}})})(9)}''
(395,6611): run-time error CSS1019: Unexpected token, found ','
(395,6613): run-time error CSS1019: Unexpected token, found '62'
(395,6615): run-time error CSS1019: Unexpected token, found ','
(395,6617): run-time error CSS1019: Unexpected token, found '265'
(395,6620): run-time error CSS1019: Unexpected token, found ','
(395,6622): run-time error CSS1019: Unexpected token, found ''|||||this|var||function|jQuery|if|return|new|||settings||param||node|||prototype||||case|||||||includes|_name|element|push|deep|null|oper|RegExp|for|Template|se|get|op|data|TemplateUtils|break|_option|length|||step|||else|eval|replace|fn|throw|ss|that||Error|ret|jTemplates|undefined|objs|each|false|tmp|_templates_code|literalMode|match|TextNode|delete|_onFalse|_onTrue|fcount|jTemplate|opFOREACH|cval|url|cloneData|setTemplate|url_|_param|iteration|par|ckey|opIF|mode|lastIndex|_currentState|tname|extend|literal|filter|jTemplateSID|count|key|extData|noFunc|end|Number|typeof|name|_templates|_tree|value|in|interval|Updater|not|opFORFactory|foreach|getParent|switchToElse|MAIN|escapeData|args|_param2|_parent|iter|elseif_level|_param1|_value|optionText|Object|updater|run|setParam|_includes|processTemplate|_lastSessionID|optionToObject|_values|async|_index|ajax|substring|elementName|sid|begin|_length|Cycle|is|cycle|UserParam|include|filter_params|indexOf|arr|true|while|op_|_template_settings|tab|disallow_functions|val|obj|timer|jTemplateUpdater|reg|parentNode|version|_template|Include|detectDeletedNodes|_args|_interval|_url|removeData|html|responseText|splitTemplates|default|clone_params|clone_data|_root|total|defined|first|index|runnable_functions|_total|window|processTemplateStop|object|_arg|find|switch|filter_data|as||funcIterator|continue|createTemplate|_cond|of|No|__a1|_literalMode|template|String|toString|last|constructor|lt|gt|txt|escapeHTML|grep|success|json|dataType|cache|processTemplateURL|removeTemplate|hasTemplate|im|CDATA|trim|setTemplateElement|substr|tag|setTemplateURL|unknown|closed|elements|no|rdelim|has|ldelim|values|Cannot|root|ceil|Math|MAX_VALUE|elseif|exec|failed|Operator|ppp|to|inArray|__a0|shift|split|allowed|are|Functions|Function|Array|quot|processTemplateStart|document|amp|msie|browser|setTimeout|getJSON|createTemplateURL''
(395,8496): run-time error CSS1030: Expected identifier, found 'split('
(395,8496): run-time error CSS1019: Unexpected token, found 'split('
(395,8502): run-time error CSS1019: Unexpected token, found ''|''
(395,8505): run-time error CSS1019: Unexpected token, found ')'
(395,8506): run-time error CSS1019: Unexpected token, found ','
(395,8508): run-time error CSS1019: Unexpected token, found '0'
(395,8509): run-time error CSS1019: Unexpected token, found ','
(395,8511): run-time error CSS1019: Unexpected token, found '{'
(395,8512): run-time error CSS1019: Unexpected token, found '}'
(395,8513): run-time error CSS1019: Unexpected token, found ')'
(395,8514): run-time error CSS1019: Unexpected token, found ')'
(399,7): run-time error CSS1031: Expected selector, found '='
(399,7): run-time error CSS1025: Expected comma or open brace, found '='
(443,2): run-time error CSS1019: Unexpected token, found '('
(443,3): run-time error CSS1019: Unexpected token, found ')'
(446,22): run-time error CSS1031: Expected selector, found '='
(446,22): run-time error CSS1025: Expected comma or open brace, found '='
(459,25): run-time error CSS1031: Expected selector, found '='
(459,25): run-time error CSS1025: Expected comma or open brace, found '='
(569,2): run-time error CSS1019: Unexpected token, found '('
(569,3): run-time error CSS1019: Unexpected token, found ')'
(570,25): run-time error CSS1031: Expected selector, found '='
(570,25): run-time error CSS1025: Expected comma or open brace, found '='
(586,10): run-time error CSS1031: Expected selector, found 'clickAutocompleteTextLi('
(586,10): run-time error CSS1025: Expected comma or open brace, found 'clickAutocompleteTextLi('
(591,24): run-time error CSS1031: Expected selector, found '='
(591,24): run-time error CSS1025: Expected comma or open brace, found '='
(661,1): run-time error CSS1019: Unexpected token, found '$'
(661,2): run-time error CSS1019: Unexpected token, found '('
(661,12): run-time error CSS1031: Expected selector, found '('
(661,12): run-time error CSS1025: Expected comma or open brace, found '('
(671,2): run-time error CSS1019: Unexpected token, found ')'
(675,15): run-time error CSS1031: Expected selector, found '='
(675,15): run-time error CSS1025: Expected comma or open brace, found '='
(723,2): run-time error CSS1019: Unexpected token, found '('
(723,3): run-time error CSS1019: Unexpected token, found ')'
(724,1): run-time error CSS1019: Unexpected token, found '$'
(724,2): run-time error CSS1019: Unexpected token, found '('
(724,12): run-time error CSS1031: Expected selector, found '('
(724,12): run-time error CSS1025: Expected comma or open brace, found '('
(745,2): run-time error CSS1019: Unexpected token, found ')'
(746,1): run-time error CSS1019: Unexpected token, found '$'
(746,2): run-time error CSS1019: Unexpected token, found '('
(746,9): run-time error CSS1031: Expected selector, found ')'
(746,9): run-time error CSS1025: Expected comma or open brace, found ')'
(758,2): run-time error CSS1019: Unexpected token, found ')'
(761,12): run-time error CSS1031: Expected selector, found '='
(761,12): run-time error CSS1025: Expected comma or open brace, found '='
(1058,1): run-time error CSS1019: Unexpected token, found '$'
(1058,2): run-time error CSS1019: Unexpected token, found '('
(1058,12): run-time error CSS1031: Expected selector, found '('
(1058,12): run-time error CSS1025: Expected comma or open brace, found '('
(1080,2): run-time error CSS1019: Unexpected token, found ')'
(1081,1): run-time error CSS1019: Unexpected token, found '$'
(1081,2): run-time error CSS1019: Unexpected token, found '('
(1081,12): run-time error CSS1031: Expected selector, found '('
(1081,12): run-time error CSS1025: Expected comma or open brace, found '('
(1110,2): run-time error CSS1019: Unexpected token, found ')'
(1111,1): run-time error CSS1019: Unexpected token, found 'if('
(1111,4): run-time error CSS1019: Unexpected token, found '!'
(1111,13): run-time error CSS1031: Expected selector, found ')'
(1111,13): run-time error CSS1025: Expected comma or open brace, found ')'
(1111,49): run-time error CSS1031: Expected selector, found '='
(1111,49): run-time error CSS1025: Expected comma or open brace, found '='
(1112,15): run-time error CSS1031: Expected selector, found '='
(1112,15): run-time error CSS1025: Expected comma or open brace, found '='
(1113,297): run-time error CSS1031: Expected selector, found '='
(1113,297): run-time error CSS1025: Expected comma or open brace, found '='
(1113,318): run-time error CSS1031: Expected selector, found '='
(1113,318): run-time error CSS1025: Expected comma or open brace, found '='
(1113,376): run-time error CSS1031: Expected selector, found '='
(1113,376): run-time error CSS1025: Expected comma or open brace, found '='
(1114,1): run-time error CSS1019: Unexpected token, found 'if('
(1114,30): run-time error CSS1030: Expected identifier, found '|'
(1114,30): run-time error CSS1031: Expected selector, found '|'
(1114,30): run-time error CSS1025: Expected comma or open brace, found '|'
(1114,130): run-time error CSS1031: Expected selector, found '&'
(1114,130): run-time error CSS1025: Expected comma or open brace, found '&'
(1114,209): run-time error CSS1031: Expected selector, found '&'
(1114,209): run-time error CSS1025: Expected comma or open brace, found '&'
(1114,250): run-time error CSS1031: Expected selector, found '='
(1114,250): run-time error CSS1025: Expected comma or open brace, found '='
(1114,253): run-time error CSS1019: Unexpected token, found '-'
(1114,254): run-time error CSS1019: Unexpected token, found '1'
(1114,255): run-time error CSS1019: Unexpected token, found '!'
(1114,256): run-time error CSS1019: Unexpected token, found '='
(1114,278): run-time error CSS1030: Expected identifier, found 'indexOf('
(1114,278): run-time error CSS1031: Expected selector, found 'indexOf('
(1114,278): run-time error CSS1025: Expected comma or open brace, found 'indexOf('
(1114,390): run-time error CSS1031: Expected selector, found '='
(1114,390): run-time error CSS1025: Expected comma or open brace, found '='
(1115,23): run-time error CSS1031: Expected selector, found '='
(1115,23): run-time error CSS1025: Expected comma or open brace, found '='
(1115,148): run-time error CSS1031: Expected selector, found '='
(1115,148): run-time error CSS1025: Expected comma or open brace, found '='
(1115,267): run-time error CSS1031: Expected selector, found '='
(1115,267): run-time error CSS1025: Expected comma or open brace, found '='
(1115,381): run-time error CSS1031: Expected selector, found '='
(1115,381): run-time error CSS1025: Expected comma or open brace, found '='
(1115,399): run-time error CSS1031: Expected selector, found '='
(1115,399): run-time error CSS1025: Expected comma or open brace, found '='
(1116,20): run-time error CSS1031: Expected selector, found '='
(1116,20): run-time error CSS1025: Expected comma or open brace, found '='
(1116,110): run-time error CSS1031: Expected selector, found '='
(1116,110): run-time error CSS1025: Expected comma or open brace, found '='
(1116,133): run-time error CSS1031: Expected selector, found '='
(1116,133): run-time error CSS1025: Expected comma or open brace, found '='
(1116,149): run-time error CSS1031: Expected selector, found '='
(1116,149): run-time error CSS1025: Expected comma or open brace, found '='
(1116,172): run-time error CSS1031: Expected selector, found '='
(1116,172): run-time error CSS1025: Expected comma or open brace, found '='
(1116,246): run-time error CSS1031: Expected selector, found '&'
(1116,246): run-time error CSS1025: Expected comma or open brace, found '&'
(1117,14): run-time error CSS1031: Expected selector, found '&'
(1117,14): run-time error CSS1025: Expected comma or open brace, found '&'
(1117,254): run-time error CSS1031: Expected selector, found '='
(1117,254): run-time error CSS1025: Expected comma or open brace, found '='
(1140,307): run-time error CSS1019: Unexpected token, found ')'
(1140,323): run-time error CSS1031: Expected selector, found '='
(1140,323): run-time error CSS1025: Expected comma or open brace, found '='
(1140,363): run-time error CSS1019: Unexpected token, found ')'
(1140,388): run-time error CSS1031: Expected selector, found '='
(1140,388): run-time error CSS1025: Expected comma or open brace, found '='
(1140,428): run-time error CSS1019: Unexpected token, found ')'
(1140,452): run-time error CSS1031: Expected selector, found '='
(1140,452): run-time error CSS1025: Expected comma or open brace, found '='
(1140,492): run-time error CSS1019: Unexpected token, found ')'
(1141,15): run-time error CSS1031: Expected selector, found '='
(1141,15): run-time error CSS1025: Expected comma or open brace, found '='
(1141,55): run-time error CSS1019: Unexpected token, found ')'
(1141,75): run-time error CSS1031: Expected selector, found '='
(1141,75): run-time error CSS1025: Expected comma or open brace, found '='
(1141,288): run-time error CSS1031: Expected selector, found '='
(1141,288): run-time error CSS1025: Expected comma or open brace, found '='
(1142,18): run-time error CSS1031: Expected selector, found '='
(1142,18): run-time error CSS1025: Expected comma or open brace, found '='
(1142,294): run-time error CSS1031: Expected selector, found '='
(1142,294): run-time error CSS1025: Expected comma or open brace, found '='
(1143,16): run-time error CSS1031: Expected selector, found '='
(1143,16): run-time error CSS1025: Expected comma or open brace, found '='
(1143,298): run-time error CSS1031: Expected selector, found '='
(1143,298): run-time error CSS1025: Expected comma or open brace, found '='
(1144,17): run-time error CSS1031: Expected selector, found '='
(1144,17): run-time error CSS1025: Expected comma or open brace, found '='
(1144,77): run-time error CSS1031: Expected selector, found '='
(1144,77): run-time error CSS1025: Expected comma or open brace, found '='
(1144,245): run-time error CSS1031: Expected selector, found '='
(1144,245): run-time error CSS1025: Expected comma or open brace, found '='
(1145,17): run-time error CSS1031: Expected selector, found '='
(1145,17): run-time error CSS1025: Expected comma or open brace, found '='
(1145,253): run-time error CSS1031: Expected selector, found '='
(1145,253): run-time error CSS1025: Expected comma or open brace, found '='
(1146,21): run-time error CSS1031: Expected selector, found '='
(1146,21): run-time error CSS1025: Expected comma or open brace, found '='
(1146,88): run-time error CSS1031: Expected selector, found '='
(1146,88): run-time error CSS1025: Expected comma or open brace, found '='
(1146,146): run-time error CSS1031: Expected selector, found '='
(1146,146): run-time error CSS1025: Expected comma or open brace, found '='
(1146,213): run-time error CSS1031: Expected selector, found '='
(1146,213): run-time error CSS1025: Expected comma or open brace, found '='
(1147,24): run-time error CSS1031: Expected selector, found '='
(1147,24): run-time error CSS1025: Expected comma or open brace, found '='
(1148,120): run-time error CSS1031: Expected selector, found '='
(1148,120): run-time error CSS1025: Expected comma or open brace, found '='
(1148,382): run-time error CSS1031: Expected selector, found '='
(1148,382): run-time error CSS1025: Expected comma or open brace, found '='
(1149,17): run-time error CSS1031: Expected selector, found '='
(1149,17): run-time error CSS1025: Expected comma or open brace, found '='
(1149,264): run-time error CSS1031: Expected selector, found '='
(1149,264): run-time error CSS1025: Expected comma or open brace, found '='
(1150,24): run-time error CSS1031: Expected selector, found '='
(1150,24): run-time error CSS1025: Expected comma or open brace, found '='
(1151,24): run-time error CSS1031: Expected selector, found '='
(1151,24): run-time error CSS1025: Expected comma or open brace, found '='
(1153,22): run-time error CSS1031: Expected selector, found '='
(1153,22): run-time error CSS1025: Expected comma or open brace, found '='
(1154,89): run-time error CSS1031: Expected selector, found '='
(1154,89): run-time error CSS1025: Expected comma or open brace, found '='
(1155,28): run-time error CSS1031: Expected selector, found '='
(1155,28): run-time error CSS1025: Expected comma or open brace, found '='
(1156,22): run-time error CSS1031: Expected selector, found '='
(1156,22): run-time error CSS1025: Expected comma or open brace, found '='
(1156,224): run-time error CSS1031: Expected selector, found '='
(1156,224): run-time error CSS1025: Expected comma or open brace, found '='
(1157,17): run-time error CSS1031: Expected selector, found '='
(1157,17): run-time error CSS1025: Expected comma or open brace, found '='
(1157,245): run-time error CSS1031: Expected selector, found '='
(1157,245): run-time error CSS1025: Expected comma or open brace, found '='
(1157,351): run-time error CSS1031: Expected selector, found '='
(1157,351): run-time error CSS1025: Expected comma or open brace, found '='
(1157,421): run-time error CSS1031: Expected selector, found '='
(1157,421): run-time error CSS1025: Expected comma or open brace, found '='
(1158,23): run-time error CSS1031: Expected selector, found '='
(1158,23): run-time error CSS1025: Expected comma or open brace, found '='
(1158,84): run-time error CSS1031: Expected selector, found '='
(1158,84): run-time error CSS1025: Expected comma or open brace, found '='
(1158,208): run-time error CSS1031: Expected selector, found '='
(1158,208): run-time error CSS1025: Expected comma or open brace, found '='
(1159,20): run-time error CSS1031: Expected selector, found '='
(1159,20): run-time error CSS1025: Expected comma or open brace, found '='
(1162,255): run-time error CSS1031: Expected selector, found '='
(1162,255): run-time error CSS1025: Expected comma or open brace, found '='
(1163,18): run-time error CSS1031: Expected selector, found '='
(1163,18): run-time error CSS1025: Expected comma or open brace, found '='
(1163,199): run-time error CSS1031: Expected selector, found '='
(1163,199): run-time error CSS1025: Expected comma or open brace, found '='
(1163,320): run-time error CSS1031: Expected selector, found '='
(1163,320): run-time error CSS1025: Expected comma or open brace, found '='
(1164,24): run-time error CSS1031: Expected selector, found '='
(1164,24): run-time error CSS1025: Expected comma or open brace, found '='
(1164,156): run-time error CSS1031: Expected selector, found '='
(1164,156): run-time error CSS1025: Expected comma or open brace, found '='
(1164,283): run-time error CSS1031: Expected selector, found '='
(1164,283): run-time error CSS1025: Expected comma or open brace, found '='
(1165,32): run-time error CSS1031: Expected selector, found '='
(1165,32): run-time error CSS1025: Expected comma or open brace, found '='
(1165,238): run-time error CSS1031: Expected selector, found '='
(1165,238): run-time error CSS1025: Expected comma or open brace, found '='
(1165,348): run-time error CSS1031: Expected selector, found '='
(1165,348): run-time error CSS1025: Expected comma or open brace, found '='
(1166,19): run-time error CSS1031: Expected selector, found '='
(1166,19): run-time error CSS1025: Expected comma or open brace, found '='
(1166,468): run-time error CSS1031: Expected selector, found '='
(1166,468): run-time error CSS1025: Expected comma or open brace, found '='
(1167,24): run-time error CSS1031: Expected selector, found '='
(1167,24): run-time error CSS1025: Expected comma or open brace, found '='
(1167,141): run-time error CSS1031: Expected selector, found '='
(1167,141): run-time error CSS1025: Expected comma or open brace, found '='
(1167,348): run-time error CSS1031: Expected selector, found '='
(1167,348): run-time error CSS1025: Expected comma or open brace, found '='
(1168,16): run-time error CSS1031: Expected selector, found '='
(1168,16): run-time error CSS1025: Expected comma or open brace, found '='
(1168,93): run-time error CSS1031: Expected selector, found '='
(1168,93): run-time error CSS1025: Expected comma or open brace, found '='
(1168,215): run-time error CSS1031: Expected selector, found '='
(1168,215): run-time error CSS1025: Expected comma or open brace, found '='
(1171,387): run-time error CSS1019: Unexpected token, found ')'
(1171,404): run-time error CSS1031: Expected selector, found '='
(1171,404): run-time error CSS1025: Expected comma or open brace, found '='
(1175,445): run-time error CSS1019: Unexpected token, found ')'
(1175,464): run-time error CSS1031: Expected selector, found '='
(1175,464): run-time error CSS1025: Expected comma or open brace, found '='
(1191,435): run-time error CSS1019: Unexpected token, found ')'
(1191,455): run-time error CSS1031: Expected selector, found '='
(1191,455): run-time error CSS1025: Expected comma or open brace, found '='
(1197,391): run-time error CSS1019: Unexpected token, found ')'
(1197,419): run-time error CSS1031: Expected selector, found '='
(1197,419): run-time error CSS1025: Expected comma or open brace, found '='
(1209,259): run-time error CSS1019: Unexpected token, found ')'
(1209,288): run-time error CSS1031: Expected selector, found '='
(1209,288): run-time error CSS1025: Expected comma or open brace, found '='
(1224,398): run-time error CSS1019: Unexpected token, found ')'
(1224,418): run-time error CSS1031: Expected selector, found '='
(1224,418): run-time error CSS1025: Expected comma or open brace, found '='
(1226,528): run-time error CSS1019: Unexpected token, found ')'
(1226,552): run-time error CSS1031: Expected selector, found '='
(1226,552): run-time error CSS1025: Expected comma or open brace, found '='
(1246,470): run-time error CSS1019: Unexpected token, found ')'
(1246,493): run-time error CSS1031: Expected selector, found '='
(1246,493): run-time error CSS1025: Expected comma or open brace, found '='
(1250,200): run-time error CSS1019: Unexpected token, found ')'
(1250,219): run-time error CSS1031: Expected selector, found '='
(1250,219): run-time error CSS1025: Expected comma or open brace, found '='
(1256,239): run-time error CSS1019: Unexpected token, found ')'
(1256,259): run-time error CSS1031: Expected selector, found '='
(1256,259): run-time error CSS1025: Expected comma or open brace, found '='
(1282,249): run-time error CSS1019: Unexpected token, found ')'
(1282,272): run-time error CSS1031: Expected selector, found '='
(1282,272): run-time error CSS1025: Expected comma or open brace, found '='
(1297,499): run-time error CSS1019: Unexpected token, found ')'
(1297,517): run-time error CSS1031: Expected selector, found '='
(1297,517): run-time error CSS1025: Expected comma or open brace, found '='
(1298,34): run-time error CSS1019: Unexpected token, found ')'
(1298,52): run-time error CSS1031: Expected selector, found '='
(1298,52): run-time error CSS1025: Expected comma or open brace, found '='
(1303,510): run-time error CSS1019: Unexpected token, found ')'
(1303,528): run-time error CSS1031: Expected selector, found '='
(1303,528): run-time error CSS1025: Expected comma or open brace, found '='
(1304,119): run-time error CSS1019: Unexpected token, found ')'
(1304,137): run-time error CSS1031: Expected selector, found '='
(1304,137): run-time error CSS1025: Expected comma or open brace, found '='
(1305,376): run-time error CSS1019: Unexpected token, found ')'
(1305,394): run-time error CSS1031: Expected selector, found '='
(1305,394): run-time error CSS1025: Expected comma or open brace, found '='
(1308,115): run-time error CSS1019: Unexpected token, found ')'
(1308,135): run-time error CSS1031: Expected selector, found '='
(1308,135): run-time error CSS1025: Expected comma or open brace, found '='
(1309,355): run-time error CSS1019: Unexpected token, found ')'
(1309,373): run-time error CSS1031: Expected selector, found '='
(1309,373): run-time error CSS1025: Expected comma or open brace, found '='
(1348,55): run-time error CSS1019: Unexpected token, found ')'
(1348,77): run-time error CSS1031: Expected selector, found '='
(1348,77): run-time error CSS1025: Expected comma or open brace, found '='
(1372,362): run-time error CSS1019: Unexpected token, found ')'
(1372,393): run-time error CSS1031: Expected selector, found '='
(1372,393): run-time error CSS1025: Expected comma or open brace, found '='
(1386,400): run-time error CSS1019: Unexpected token, found ')'
(1386,425): run-time error CSS1031: Expected selector, found '='
(1386,425): run-time error CSS1025: Expected comma or open brace, found '='
(1397,377): run-time error CSS1019: Unexpected token, found ')'
(1397,394): run-time error CSS1031: Expected selector, found '='
(1397,394): run-time error CSS1025: Expected comma or open brace, found '='
(1397,678): run-time error CSS1031: Expected selector, found '='
(1397,678): run-time error CSS1025: Expected comma or open brace, found '='
(1398,17): run-time error CSS1031: Expected selector, found '='
(1398,17): run-time error CSS1025: Expected comma or open brace, found '='
(1399,14): run-time error CSS1031: Expected selector, found '='
(1399,14): run-time error CSS1025: Expected comma or open brace, found '='
(1400,18): run-time error CSS1031: Expected selector, found '='
(1400,18): run-time error CSS1025: Expected comma or open brace, found '='
(1401,14): run-time error CSS1031: Expected selector, found '='
(1401,14): run-time error CSS1025: Expected comma or open brace, found '='
(1402,15): run-time error CSS1031: Expected selector, found '='
(1402,15): run-time error CSS1025: Expected comma or open brace, found '='
(1406,26): run-time error CSS1031: Expected selector, found '='
(1406,26): run-time error CSS1025: Expected comma or open brace, found '='
(1406,358): run-time error CSS1031: Expected selector, found '='
(1406,358): run-time error CSS1025: Expected comma or open brace, found '='
(1428,291): run-time error CSS1019: Unexpected token, found ')'
(1428,311): run-time error CSS1031: Expected selector, found '='
(1428,311): run-time error CSS1025: Expected comma or open brace, found '='
(1442,348): run-time error CSS1019: Unexpected token, found ')'
(1442,365): run-time error CSS1031: Expected selector, found '='
(1442,365): run-time error CSS1025: Expected comma or open brace, found '='
(1448,330): run-time error CSS1019: Unexpected token, found ')'
(1448,350): run-time error CSS1031: Expected selector, found '='
(1448,350): run-time error CSS1025: Expected comma or open brace, found '='
(1452,113): run-time error CSS1019: Unexpected token, found ')'
(1452,135): run-time error CSS1031: Expected selector, found '='
(1452,135): run-time error CSS1025: Expected comma or open brace, found '='
(1464,66): run-time error CSS1019: Unexpected token, found ')'
(1464,88): run-time error CSS1031: Expected selector, found '='
(1464,88): run-time error CSS1025: Expected comma or open brace, found '='
(1471,183): run-time error CSS1019: Unexpected token, found ')'
(1471,200): run-time error CSS1031: Expected selector, found '='
(1471,200): run-time error CSS1025: Expected comma or open brace, found '='
(1471,346): run-time error CSS1019: Unexpected token, found ')'
(1473,1): run-time error CSS1019: Unexpected token, found '('
(1473,11): run-time error CSS1031: Expected selector, found '('
(1473,11): run-time error CSS1025: Expected comma or open brace, found '('
(1483,2): run-time error CSS1019: Unexpected token, found ')'
(1483,3): run-time error CSS1019: Unexpected token, found '('
(1483,10): run-time error CSS1031: Expected selector, found ')'
(1483,10): run-time error CSS1025: Expected comma or open brace, found ')'
(1501,3): run-time error CSS1019: Unexpected token, found '('
(1501,13): run-time error CSS1031: Expected selector, found '('
(1501,13): run-time error CSS1025: Expected comma or open brace, found '('
(1511,2): run-time error CSS1019: Unexpected token, found '('
(1511,12): run-time error CSS1031: Expected selector, found '('
(1511,12): run-time error CSS1025: Expected comma or open brace, found '('
(4494,2): run-time error CSS1019: Unexpected token, found ')'
(4494,3): run-time error CSS1019: Unexpected token, found ')'
(4496,20): run-time error CSS1031: Expected selector, found '='
(4496,20): run-time error CSS1025: Expected comma or open brace, found '='
(4528,1): run-time error CSS1019: Unexpected token, found '$'
(4528,2): run-time error CSS1019: Unexpected token, found '('
(4528,12): run-time error CSS1031: Expected selector, found '('
(4528,12): run-time error CSS1025: Expected comma or open brace, found '('
(4530,2): run-time error CSS1019: Unexpected token, found ')'
(4532,10): run-time error CSS1031: Expected selector, found 'currency('
(4532,10): run-time error CSS1025: Expected comma or open brace, found 'currency('
(4574,10): run-time error CSS1031: Expected selector, found 'getData('
(4574,10): run-time error CSS1025: Expected comma or open brace, found 'getData('
(4628,10): run-time error CSS1031: Expected selector, found 'createAreaChartWithLabels('
(4628,10): run-time error CSS1025: Expected comma or open brace, found 'createAreaChartWithLabels('
(4739,10): run-time error CSS1031: Expected selector, found 'zoomChart('
(4739,10): run-time error CSS1025: Expected comma or open brace, found 'zoomChart('
(4745,10): run-time error CSS1031: Expected selector, found 'createAreaChart('
(4745,10): run-time error CSS1025: Expected comma or open brace, found 'createAreaChart('
(4914,10): run-time error CSS1031: Expected selector, found 'drawPieGraph('
(4914,10): run-time error CSS1025: Expected comma or open brace, found 'drawPieGraph('
(4973,10): run-time error CSS1031: Expected selector, found 'drawBarsGraph('
(4973,10): run-time error CSS1025: Expected comma or open brace, found 'drawBarsGraph('
(5159,15): run-time error CSS1031: Expected selector, found '='
(5159,15): run-time error CSS1025: Expected comma or open brace, found '='
(5218,2): run-time error CSS1019: Unexpected token, found '('
(5218,3): run-time error CSS1019: Unexpected token, found ')'
(5221,12): run-time error CSS1031: Expected selector, found '='
(5221,12): run-time error CSS1025: Expected comma or open brace, found '='
(5232,1): run-time error CSS1019: Unexpected token, found '$'
(5232,2): run-time error CSS1019: Unexpected token, found '('
(5232,12): run-time error CSS1031: Expected selector, found '('
(5232,12): run-time error CSS1025: Expected comma or open brace, found '('
(5254,2): run-time error CSS1019: Unexpected token, found ')'
 */
/*
 Copyright (C) Federico Zivolo 2018
 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
 */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return $(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?o['offset'+e]+n['margin'+('Height'===e?'Top':'Left')]+n['margin'+('Height'===e?'Bottom':'Right')]:0)}function c(){var e=document.body,t=document.documentElement,o=r(10)&&getComputedStyle(t);return{height:h('Height',e,t,o),width:h('Width',e,t,o)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c():{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&'HTML'===o.nodeName&&(a.top=$(a.top,0),a.left=$(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var y=parseFloat(m.marginTop,10),w=parseFloat(m.marginLeft,10);b.top-=h-y,b.bottom-=h-y,b.left-=c-w,b.right-=c-w,b.marginTop=y,b.marginLeft=w}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function y(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=$(o.clientWidth,window.innerWidth||0),r=$(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function w(e){var n=e.nodeName;return'BODY'===n||'HTML'===n?!1:'fixed'===t(e,'position')||w(o(e))}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=y(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!w(d)){var m=c(),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),n=parseFloat(t.marginLeft)+parseFloat(t.marginRight),i={width:e.offsetWidth+n,height:e.offsetHeight+o};return i}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function I(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function F(){this.state.eventsEnabled||(this.state=I(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function j(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function K(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function G(e){return'end'===e?'start':'start'===e?'end':e}function z(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=me.indexOf(e),n=me.slice(o+1).concat(me.slice(0,o));return t?n.reverse():n}function V(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?$(document.documentElement.clientHeight,window.innerHeight||0):$(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function _(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return V(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function X(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:_(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var J=Math.min,Q=Math.round,Z=Math.floor,$=Math.max,ee='undefined'!=typeof window&&'undefined'!=typeof document,te=['Edge','Trident','Firefox'],oe=0,ne=0;ne<te.length;ne+=1)if(ee&&0<=navigator.userAgent.indexOf(te[ne])){oe=1;break}var i=ee&&window.Promise,ie=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=ee&&!!(window.MSInputMethodContext&&document.documentMode),pe=ee&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],me=fe.slice(3),he={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ce=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return F.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ce.Utils=('undefined'==typeof window?global:window).PopperUtils,ce.placements=fe,ce.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:X,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=$(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h={left:Z(i.left),top:Q(i.top),bottom:Q(i.bottom),right:Z(i.right)},c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?-f.height+h.bottom:h.top,s='right'==g?-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==g?-1:1;m[c]=d*y,m[g]=s*w,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),K(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ce});
//# sourceMappingURL=popper.min.js.map

/*!
  * Bootstrap v4.3.1 (https://getbootstrap.com/)
  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",y="bs.button",E="."+y,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A='input:not([type="hidden"])',N=".active",O=".btn",k={CLICK_DATA_API:"click"+E+C,FOCUS_BLUR_DATA_API:"focus"+E+C+" blur"+E+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(N);o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,y),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(y);t||(t=new n(this),g(this).data(y,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",x=g.fn[L],F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},W="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",z="carousel-item-right",X="carousel-item-left",$="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",ot=".carousel-indicators",rt="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},F,t),_.typeCheckConfig(L,t,U),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===W?(n=X,i=$,M):(n=z,i=G,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},F,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return F}}]),r}();g(document).on(Q.CLICK_DATA_API,rt,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=x,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",yt="collapsed",Et="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(Et)?Et:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",jt="dropup",Ht="dropright",Rt="dropleft",xt="dropdown-menu-right",Ft="position-static",Ut='[data-toggle="dropdown"]',Wt=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",zt="right-start",Xt="left-start",$t={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Gt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Jt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Ft),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(jt)?(e=Qt,g(this._menu).hasClass(xt)&&(e=Bt)):t.hasClass(Ht)?e=zt:t.hasClass(Rt)?e=Xt:g(this._menu).hasClass(xt)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ut)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Ut);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $t}},{key:"DefaultType",get:function(){return Gt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,Ut,Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Jt._clearMenus).on(kt.CLICK_DATA_API,Ut,function(t){t.preventDefault(),t.stopPropagation(),Jt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,Wt,function(t){t.stopPropagation()}),g.fn[It]=Jt._jQueryInterface,g.fn[It].Constructor=Jt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Jt._jQueryInterface};var Zt="modal",te="bs.modal",ee="."+te,ne=g.fn[Zt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-dialog-scrollable",ae="modal-scrollbar-measure",le="modal-backdrop",ce="modal-open",he="fade",ue="show",fe=".modal-dialog",de=".modal-body",ge='[data-toggle="modal"]',_e='[data-dismiss="modal"]',me=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pe=".sticky-top",ve=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,_e,function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckConfig(Zt,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(se)?this._dialog.querySelector(de).scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=le,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(me)),e=[].slice.call(document.querySelectorAll(pe));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(ce)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+pe));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=ae,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,ge,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});ve._jQueryInterface.call(g(e),o,this)}),g.fn[Zt]=ve._jQueryInterface,g.fn[Zt].Constructor=ve,g.fn[Zt].noConflict=function(){return g.fn[Zt]=ne,ve._jQueryInterface};var ye=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ee={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ce=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function Se(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ye.indexOf(n)||Boolean(t.nodeValue.match(Ce)||t.nodeValue.match(Te));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var be="tooltip",Ie="bs.tooltip",De="."+Ie,we=g.fn[be],Ae="bs-tooltip",Ne=new RegExp("(^|\\s)"+Ae+"\\S+","g"),Oe=["sanitize","whiteList","sanitizeFn"],ke={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object"},Pe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Le={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ye),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Je}},{key:"NAME",get:function(){return Ve}},{key:"DATA_KEY",get:function(){return Ye}},{key:"Event",get:function(){return rn}},{key:"EVENT_KEY",get:function(){return ze}},{key:"DefaultType",get:function(){return Ze}}]),i}(Be);g.fn[Ve]=sn._jQueryInterface,g.fn[Ve].Constructor=sn,g.fn[Ve].noConflict=function(){return g.fn[Ve]=Xe,sn._jQueryInterface};var an="scrollspy",ln="bs.scrollspy",cn="."+ln,hn=g.fn[an],un={offset:10,method:"auto",target:""},fn={offset:"number",method:"string",target:"(string|element)"},dn={ACTIVATE:"activate"+cn,SCROLL:"scroll"+cn,LOAD_DATA_API:"load"+cn+".data-api"},gn="dropdown-item",_n="active",mn='[data-spy="scroll"]',pn=".nav, .list-group",vn=".nav-link",yn=".nav-item",En=".list-group-item",Cn=".dropdown",Tn=".dropdown-item",Sn=".dropdown-toggle",bn="offset",In="position",Dn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+vn+","+this._config.target+" "+En+","+this._config.target+" "+Tn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(dn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bn:In,o="auto"===this._config.method?t:this._config.method,r=o===In?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,ln),g(this._scrollElement).off(cn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},un,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(an),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(an,t,fn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(gn)?(n.closest(Cn).find(Sn).addClass(_n),n.addClass(_n)):(n.addClass(_n),n.parents(pn).prev(vn+", "+En).addClass(_n),n.parents(pn).prev(yn).children(vn).addClass(_n)),g(this._scrollElement).trigger(dn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(_n)}).forEach(function(t){return t.classList.remove(_n)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(ln);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(ln,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return un}}]),n}();g(window).on(dn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(mn)),e=t.length;e--;){var n=g(t[e]);Dn._jQueryInterface.call(n,n.data())}}),g.fn[an]=Dn._jQueryInterface,g.fn[an].Constructor=Dn,g.fn[an].noConflict=function(){return g.fn[an]=hn,Dn._jQueryInterface};var wn="bs.tab",An="."+wn,Nn=g.fn.tab,On={HIDE:"hide"+An,HIDDEN:"hidden"+An,SHOW:"show"+An,SHOWN:"shown"+An,CLICK_DATA_API:"click"+An+".data-api"},kn="dropdown-menu",Pn="active",Ln="disabled",jn="fade",Hn="show",Rn=".dropdown",xn=".nav, .list-group",Fn=".active",Un="> li > .active",Wn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',qn=".dropdown-toggle",Mn="> .dropdown-menu .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass(Ln))){var t,i,e=g(this._element).closest(xn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass(jn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(Hn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find(Mn)[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(jn)&&t.classList.add(Hn),t.parentNode&&g(t.parentNode).hasClass(kn)){var o=g(t).closest(Rn)[0];if(o){var r=[].slice.call(o.querySelectorAll(qn));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,Wn,function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Xn="fade",$n="hide",Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ei='[data-dismiss="toast"]',ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add(Xn);var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove($n),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,ei,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add($n),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=bootstrap.min.js.map
/*! jQuery UI - v1.12.1 - 2019-02-06
* http://jqueryui.com
* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */

(function (t) { "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery) })(function (t) { t.ui = t.ui || {}, t.ui.version = "1.12.1"; var e = 0, i = Array.prototype.slice; t.cleanData = function (e) { return function (i) { var s, n, o; for (o = 0; null != (n = i[o]) ; o++) try { s = t._data(n, "events"), s && s.remove && t(n).triggerHandler("remove") } catch (a) { } e(i) } }(t.cleanData), t.widget = function (e, i, s) { var n, o, a, r = {}, l = e.split(".")[0]; e = e.split(".")[1]; var h = l + "-" + e; return s || (s = i, i = t.Widget), t.isArray(s) && (s = t.extend.apply(null, [{}].concat(s))), t.expr[":"][h.toLowerCase()] = function (e) { return !!t.data(e, h) }, t[l] = t[l] || {}, n = t[l][e], o = t[l][e] = function (t, e) { return this._createWidget ? (arguments.length && this._createWidget(t, e), void 0) : new o(t, e) }, t.extend(o, n, { version: s.version, _proto: t.extend({}, s), _childConstructors: [] }), a = new i, a.options = t.widget.extend({}, a.options), t.each(s, function (e, s) { return t.isFunction(s) ? (r[e] = function () { function t() { return i.prototype[e].apply(this, arguments) } function n(t) { return i.prototype[e].apply(this, t) } return function () { var e, i = this._super, o = this._superApply; return this._super = t, this._superApply = n, e = s.apply(this, arguments), this._super = i, this._superApply = o, e } }(), void 0) : (r[e] = s, void 0) }), o.prototype = t.widget.extend(a, { widgetEventPrefix: n ? a.widgetEventPrefix || e : e }, r, { constructor: o, namespace: l, widgetName: e, widgetFullName: h }), n ? (t.each(n._childConstructors, function (e, i) { var s = i.prototype; t.widget(s.namespace + "." + s.widgetName, o, i._proto) }), delete n._childConstructors) : i._childConstructors.push(o), t.widget.bridge(e, o), o }, t.widget.extend = function (e) { for (var s, n, o = i.call(arguments, 1), a = 0, r = o.length; r > a; a++) for (s in o[a]) n = o[a][s], o[a].hasOwnProperty(s) && void 0 !== n && (e[s] = t.isPlainObject(n) ? t.isPlainObject(e[s]) ? t.widget.extend({}, e[s], n) : t.widget.extend({}, n) : n); return e }, t.widget.bridge = function (e, s) { var n = s.prototype.widgetFullName || e; t.fn[e] = function (o) { var a = "string" == typeof o, r = i.call(arguments, 1), l = this; return a ? this.length || "instance" !== o ? this.each(function () { var i, s = t.data(this, n); return "instance" === o ? (l = s, !1) : s ? t.isFunction(s[o]) && "_" !== o.charAt(0) ? (i = s[o].apply(s, r), i !== s && void 0 !== i ? (l = i && i.jquery ? l.pushStack(i.get()) : i, !1) : void 0) : t.error("no such method '" + o + "' for " + e + " widget instance") : t.error("cannot call methods on " + e + " prior to initialization; " + "attempted to call method '" + o + "'") }) : l = void 0 : (r.length && (o = t.widget.extend.apply(null, [o].concat(r))), this.each(function () { var e = t.data(this, n); e ? (e.option(o || {}), e._init && e._init()) : t.data(this, n, new s(o, this)) })), l } }, t.Widget = function () { }, t.Widget._childConstructors = [], t.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "<div>", options: { classes: {}, disabled: !1, create: null }, _createWidget: function (i, s) { s = t(s || this.defaultElement || this)[0], this.element = t(s), this.uuid = e++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = t(), this.hoverable = t(), this.focusable = t(), this.classesElementLookup = {}, s !== this && (t.data(s, this.widgetFullName, this), this._on(!0, this.element, { remove: function (t) { t.target === s && this.destroy() } }), this.document = t(s.style ? s.ownerDocument : s.document || s), this.window = t(this.document[0].defaultView || this.document[0].parentWindow)), this.options = t.widget.extend({}, this.options, this._getCreateOptions(), i), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init() }, _getCreateOptions: function () { return {} }, _getCreateEventData: t.noop, _create: t.noop, _init: t.noop, destroy: function () { var e = this; this._destroy(), t.each(this.classesElementLookup, function (t, i) { e._removeClass(i, t) }), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace) }, _destroy: t.noop, widget: function () { return this.element }, option: function (e, i) { var s, n, o, a = e; if (0 === arguments.length) return t.widget.extend({}, this.options); if ("string" == typeof e) if (a = {}, s = e.split("."), e = s.shift(), s.length) { for (n = a[e] = t.widget.extend({}, this.options[e]), o = 0; s.length - 1 > o; o++) n[s[o]] = n[s[o]] || {}, n = n[s[o]]; if (e = s.pop(), 1 === arguments.length) return void 0 === n[e] ? null : n[e]; n[e] = i } else { if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e]; a[e] = i } return this._setOptions(a), this }, _setOptions: function (t) { var e; for (e in t) this._setOption(e, t[e]); return this }, _setOption: function (t, e) { return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this }, _setOptionClasses: function (e) { var i, s, n; for (i in e) n = this.classesElementLookup[i], e[i] !== this.options.classes[i] && n && n.length && (s = t(n.get()), this._removeClass(n, i), s.addClass(this._classes({ element: s, keys: i, classes: e, add: !0 }))) }, _setOptionDisabled: function (t) { this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus")) }, enable: function () { return this._setOptions({ disabled: !1 }) }, disable: function () { return this._setOptions({ disabled: !0 }) }, _classes: function (e) { function i(i, o) { var a, r; for (r = 0; i.length > r; r++) a = n.classesElementLookup[i[r]] || t(), a = e.add ? t(t.unique(a.get().concat(e.element.get()))) : t(a.not(e.element).get()), n.classesElementLookup[i[r]] = a, s.push(i[r]), o && e.classes[i[r]] && s.push(e.classes[i[r]]) } var s = [], n = this; return e = t.extend({ element: this.element, classes: this.options.classes || {} }, e), this._on(e.element, { remove: "_untrackClassesElement" }), e.keys && i(e.keys.match(/\S+/g) || [], !0), e.extra && i(e.extra.match(/\S+/g) || []), s.join(" ") }, _untrackClassesElement: function (e) { var i = this; t.each(i.classesElementLookup, function (s, n) { -1 !== t.inArray(e.target, n) && (i.classesElementLookup[s] = t(n.not(e.target).get())) }) }, _removeClass: function (t, e, i) { return this._toggleClass(t, e, i, !1) }, _addClass: function (t, e, i) { return this._toggleClass(t, e, i, !0) }, _toggleClass: function (t, e, i, s) { s = "boolean" == typeof s ? s : i; var n = "string" == typeof t || null === t, o = { extra: n ? e : i, keys: n ? t : e, element: n ? this.element : t, add: s }; return o.element.toggleClass(this._classes(o), s), this }, _on: function (e, i, s) { var n, o = this; "boolean" != typeof e && (s = i, i = e, e = !1), s ? (i = n = t(i), this.bindings = this.bindings.add(i)) : (s = i, i = this.element, n = this.widget()), t.each(s, function (s, a) { function r() { return e || o.options.disabled !== !0 && !t(this).hasClass("ui-state-disabled") ? ("string" == typeof a ? o[a] : a).apply(o, arguments) : void 0 } "string" != typeof a && (r.guid = a.guid = a.guid || r.guid || t.guid++); var l = s.match(/^([\w:-]*)\s*(.*)$/), h = l[1] + o.eventNamespace, c = l[2]; c ? n.on(h, c, r) : i.on(h, r) }) }, _off: function (e, i) { i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.off(i).off(i), this.bindings = t(this.bindings.not(e).get()), this.focusable = t(this.focusable.not(e).get()), this.hoverable = t(this.hoverable.not(e).get()) }, _delay: function (t, e) { function i() { return ("string" == typeof t ? s[t] : t).apply(s, arguments) } var s = this; return setTimeout(i, e || 0) }, _hoverable: function (e) { this.hoverable = this.hoverable.add(e), this._on(e, { mouseenter: function (e) { this._addClass(t(e.currentTarget), null, "ui-state-hover") }, mouseleave: function (e) { this._removeClass(t(e.currentTarget), null, "ui-state-hover") } }) }, _focusable: function (e) { this.focusable = this.focusable.add(e), this._on(e, { focusin: function (e) { this._addClass(t(e.currentTarget), null, "ui-state-focus") }, focusout: function (e) { this._removeClass(t(e.currentTarget), null, "ui-state-focus") } }) }, _trigger: function (e, i, s) { var n, o, a = this.options[e]; if (s = s || {}, i = t.Event(i), i.type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(), i.target = this.element[0], o = i.originalEvent) for (n in o) n in i || (i[n] = o[n]); return this.element.trigger(i, s), !(t.isFunction(a) && a.apply(this.element[0], [i].concat(s)) === !1 || i.isDefaultPrevented()) } }, t.each({ show: "fadeIn", hide: "fadeOut" }, function (e, i) { t.Widget.prototype["_" + e] = function (s, n, o) { "string" == typeof n && (n = { effect: n }); var a, r = n ? n === !0 || "number" == typeof n ? i : n.effect || i : e; n = n || {}, "number" == typeof n && (n = { duration: n }), a = !t.isEmptyObject(n), n.complete = o, n.delay && s.delay(n.delay), a && t.effects && t.effects.effect[r] ? s[e](n) : r !== e && s[r] ? s[r](n.duration, n.easing, o) : s.queue(function (i) { t(this)[e](), o && o.call(s[0]), i() }) } }), t.widget, function () { function e(t, e, i) { return [parseFloat(t[0]) * (u.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (u.test(t[1]) ? i / 100 : 1)] } function i(e, i) { return parseInt(t.css(e, i), 10) || 0 } function s(e) { var i = e[0]; return 9 === i.nodeType ? { width: e.width(), height: e.height(), offset: { top: 0, left: 0 } } : t.isWindow(i) ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } } : i.preventDefault ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } } : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() } } var n, o = Math.max, a = Math.abs, r = /left|center|right/, l = /top|center|bottom/, h = /[\+\-]\d+(\.[\d]+)?%?/, c = /^\w+/, u = /%$/, d = t.fn.position; t.position = { scrollbarWidth: function () { if (void 0 !== n) return n; var e, i, s = t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), o = s.children()[0]; return t("body").append(s), e = o.offsetWidth, s.css("overflow", "scroll"), i = o.offsetWidth, e === i && (i = s[0].clientWidth), s.remove(), n = e - i }, getScrollInfo: function (e) { var i = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"), s = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"), n = "scroll" === i || "auto" === i && e.width < e.element[0].scrollWidth, o = "scroll" === s || "auto" === s && e.height < e.element[0].scrollHeight; return { width: o ? t.position.scrollbarWidth() : 0, height: n ? t.position.scrollbarWidth() : 0 } }, getWithinInfo: function (e) { var i = t(e || window), s = t.isWindow(i[0]), n = !!i[0] && 9 === i[0].nodeType, o = !s && !n; return { element: i, isWindow: s, isDocument: n, offset: o ? t(e).offset() : { left: 0, top: 0 }, scrollLeft: i.scrollLeft(), scrollTop: i.scrollTop(), width: i.outerWidth(), height: i.outerHeight() } } }, t.fn.position = function (n) { if (!n || !n.of) return d.apply(this, arguments); n = t.extend({}, n); var u, p, f, g, m, _, v = t(n.of), b = t.position.getWithinInfo(n.within), y = t.position.getScrollInfo(b), w = (n.collision || "flip").split(" "), k = {}; return _ = s(v), v[0].preventDefault && (n.at = "left top"), p = _.width, f = _.height, g = _.offset, m = t.extend({}, g), t.each(["my", "at"], function () { var t, e, i = (n[this] || "").split(" "); 1 === i.length && (i = r.test(i[0]) ? i.concat(["center"]) : l.test(i[0]) ? ["center"].concat(i) : ["center", "center"]), i[0] = r.test(i[0]) ? i[0] : "center", i[1] = l.test(i[1]) ? i[1] : "center", t = h.exec(i[0]), e = h.exec(i[1]), k[this] = [t ? t[0] : 0, e ? e[0] : 0], n[this] = [c.exec(i[0])[0], c.exec(i[1])[0]] }), 1 === w.length && (w[1] = w[0]), "right" === n.at[0] ? m.left += p : "center" === n.at[0] && (m.left += p / 2), "bottom" === n.at[1] ? m.top += f : "center" === n.at[1] && (m.top += f / 2), u = e(k.at, p, f), m.left += u[0], m.top += u[1], this.each(function () { var s, r, l = t(this), h = l.outerWidth(), c = l.outerHeight(), d = i(this, "marginLeft"), _ = i(this, "marginTop"), x = h + d + i(this, "marginRight") + y.width, C = c + _ + i(this, "marginBottom") + y.height, D = t.extend({}, m), T = e(k.my, l.outerWidth(), l.outerHeight()); "right" === n.my[0] ? D.left -= h : "center" === n.my[0] && (D.left -= h / 2), "bottom" === n.my[1] ? D.top -= c : "center" === n.my[1] && (D.top -= c / 2), D.left += T[0], D.top += T[1], s = { marginLeft: d, marginTop: _ }, t.each(["left", "top"], function (e, i) { t.ui.position[w[e]] && t.ui.position[w[e]][i](D, { targetWidth: p, targetHeight: f, elemWidth: h, elemHeight: c, collisionPosition: s, collisionWidth: x, collisionHeight: C, offset: [u[0] + T[0], u[1] + T[1]], my: n.my, at: n.at, within: b, elem: l }) }), n.using && (r = function (t) { var e = g.left - D.left, i = e + p - h, s = g.top - D.top, r = s + f - c, u = { target: { element: v, left: g.left, top: g.top, width: p, height: f }, element: { element: l, left: D.left, top: D.top, width: h, height: c }, horizontal: 0 > i ? "left" : e > 0 ? "right" : "center", vertical: 0 > r ? "top" : s > 0 ? "bottom" : "middle" }; h > p && p > a(e + i) && (u.horizontal = "center"), c > f && f > a(s + r) && (u.vertical = "middle"), u.important = o(a(e), a(i)) > o(a(s), a(r)) ? "horizontal" : "vertical", n.using.call(this, t, u) }), l.offset(t.extend(D, { using: r })) }) }, t.ui.position = { fit: { left: function (t, e) { var i, s = e.within, n = s.isWindow ? s.scrollLeft : s.offset.left, a = s.width, r = t.left - e.collisionPosition.marginLeft, l = n - r, h = r + e.collisionWidth - a - n; e.collisionWidth > a ? l > 0 && 0 >= h ? (i = t.left + l + e.collisionWidth - a - n, t.left += l - i) : t.left = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionWidth : n : l > 0 ? t.left += l : h > 0 ? t.left -= h : t.left = o(t.left - r, t.left) }, top: function (t, e) { var i, s = e.within, n = s.isWindow ? s.scrollTop : s.offset.top, a = e.within.height, r = t.top - e.collisionPosition.marginTop, l = n - r, h = r + e.collisionHeight - a - n; e.collisionHeight > a ? l > 0 && 0 >= h ? (i = t.top + l + e.collisionHeight - a - n, t.top += l - i) : t.top = h > 0 && 0 >= l ? n : l > h ? n + a - e.collisionHeight : n : l > 0 ? t.top += l : h > 0 ? t.top -= h : t.top = o(t.top - r, t.top) } }, flip: { left: function (t, e) { var i, s, n = e.within, o = n.offset.left + n.scrollLeft, r = n.width, l = n.isWindow ? n.scrollLeft : n.offset.left, h = t.left - e.collisionPosition.marginLeft, c = h - l, u = h + e.collisionWidth - r - l, d = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0, p = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0, f = -2 * e.offset[0]; 0 > c ? (i = t.left + d + p + f + e.collisionWidth - r - o, (0 > i || a(c) > i) && (t.left += d + p + f)) : u > 0 && (s = t.left - e.collisionPosition.marginLeft + d + p + f - l, (s > 0 || u > a(s)) && (t.left += d + p + f)) }, top: function (t, e) { var i, s, n = e.within, o = n.offset.top + n.scrollTop, r = n.height, l = n.isWindow ? n.scrollTop : n.offset.top, h = t.top - e.collisionPosition.marginTop, c = h - l, u = h + e.collisionHeight - r - l, d = "top" === e.my[1], p = d ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0, f = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0, g = -2 * e.offset[1]; 0 > c ? (s = t.top + p + f + g + e.collisionHeight - r - o, (0 > s || a(c) > s) && (t.top += p + f + g)) : u > 0 && (i = t.top - e.collisionPosition.marginTop + p + f + g - l, (i > 0 || u > a(i)) && (t.top += p + f + g)) } }, flipfit: { left: function () { t.ui.position.flip.left.apply(this, arguments), t.ui.position.fit.left.apply(this, arguments) }, top: function () { t.ui.position.flip.top.apply(this, arguments), t.ui.position.fit.top.apply(this, arguments) } } } }(), t.ui.position, t.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }, t.fn.extend({ uniqueId: function () { var t = 0; return function () { return this.each(function () { this.id || (this.id = "ui-id-" + ++t) }) } }(), removeUniqueId: function () { return this.each(function () { /^ui-id-\d+$/.test(this.id) && t(this).removeAttr("id") }) } }), t.ui.safeActiveElement = function (t) { var e; try { e = t.activeElement } catch (i) { e = t.body } return e || (e = t.body), e.nodeName || (e = t.body), e }, t.widget("ui.menu", { version: "1.12.1", defaultElement: "<ul>", delay: 300, options: { icons: { submenu: "ui-icon-caret-1-e" }, items: "> *", menus: "ul", position: { my: "left top", at: "right top" }, role: "menu", blur: null, focus: null, select: null }, _create: function () { this.activeMenu = this.element, this.mouseHandled = !1, this.element.uniqueId().attr({ role: this.options.role, tabIndex: 0 }), this._addClass("ui-menu", "ui-widget ui-widget-content"), this._on({ "mousedown .ui-menu-item": function (t) { t.preventDefault() }, "click .ui-menu-item": function (e) { var i = t(e.target), s = t(t.ui.safeActiveElement(this.document[0])); !this.mouseHandled && i.not(".ui-state-disabled").length && (this.select(e), e.isPropagationStopped() || (this.mouseHandled = !0), i.has(".ui-menu").length ? this.expand(e) : !this.element.is(":focus") && s.closest(".ui-menu").length && (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer))) }, "mouseenter .ui-menu-item": function (e) { if (!this.previousFilter) { var i = t(e.target).closest(".ui-menu-item"), s = t(e.currentTarget); i[0] === s[0] && (this._removeClass(s.siblings().children(".ui-state-active"), null, "ui-state-active"), this.focus(e, s)) } }, mouseleave: "collapseAll", "mouseleave .ui-menu": "collapseAll", focus: function (t, e) { var i = this.active || this.element.find(this.options.items).eq(0); e || this.focus(t, i) }, blur: function (e) { this._delay(function () { var i = !t.contains(this.element[0], t.ui.safeActiveElement(this.document[0])); i && this.collapseAll(e) }) }, keydown: "_keydown" }), this.refresh(), this._on(this.document, { click: function (t) { this._closeOnDocumentClick(t) && this.collapseAll(t), this.mouseHandled = !1 } }) }, _destroy: function () { var e = this.element.find(".ui-menu-item").removeAttr("role aria-disabled"), i = e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup"); this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(), i.children().each(function () { var e = t(this); e.data("ui-menu-submenu-caret") && e.remove() }) }, _keydown: function (e) { var i, s, n, o, a = !0; switch (e.keyCode) { case t.ui.keyCode.PAGE_UP: this.previousPage(e); break; case t.ui.keyCode.PAGE_DOWN: this.nextPage(e); break; case t.ui.keyCode.HOME: this._move("first", "first", e); break; case t.ui.keyCode.END: this._move("last", "last", e); break; case t.ui.keyCode.UP: this.previous(e); break; case t.ui.keyCode.DOWN: this.next(e); break; case t.ui.keyCode.LEFT: this.collapse(e); break; case t.ui.keyCode.RIGHT: this.active && !this.active.is(".ui-state-disabled") && this.expand(e); break; case t.ui.keyCode.ENTER: case t.ui.keyCode.SPACE: this._activate(e); break; case t.ui.keyCode.ESCAPE: this.collapse(e); break; default: a = !1, s = this.previousFilter || "", o = !1, n = e.keyCode >= 96 && 105 >= e.keyCode ? "" + (e.keyCode - 96) : String.fromCharCode(e.keyCode), clearTimeout(this.filterTimer), n === s ? o = !0 : n = s + n, i = this._filterMenuItems(n), i = o && -1 !== i.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : i, i.length || (n = String.fromCharCode(e.keyCode), i = this._filterMenuItems(n)), i.length ? (this.focus(e, i), this.previousFilter = n, this.filterTimer = this._delay(function () { delete this.previousFilter }, 1e3)) : delete this.previousFilter } a && e.preventDefault() }, _activate: function (t) { this.active && !this.active.is(".ui-state-disabled") && (this.active.children("[aria-haspopup='true']").length ? this.expand(t) : this.select(t)) }, refresh: function () { var e, i, s, n, o, a = this, r = this.options.icons.submenu, l = this.element.find(this.options.menus); this._toggleClass("ui-menu-icons", null, !!this.element.find(".ui-icon").length), s = l.filter(":not(.ui-menu)").hide().attr({ role: this.options.role, "aria-hidden": "true", "aria-expanded": "false" }).each(function () { var e = t(this), i = e.prev(), s = t("<span>").data("ui-menu-submenu-caret", !0); a._addClass(s, "ui-menu-icon", "ui-icon " + r), i.attr("aria-haspopup", "true").prepend(s), e.attr("aria-labelledby", i.attr("id")) }), this._addClass(s, "ui-menu", "ui-widget ui-widget-content ui-front"), e = l.add(this.element), i = e.find(this.options.items), i.not(".ui-menu-item").each(function () { var e = t(this); a._isDivider(e) && a._addClass(e, "ui-menu-divider", "ui-widget-content") }), n = i.not(".ui-menu-item, .ui-menu-divider"), o = n.children().not(".ui-menu").uniqueId().attr({ tabIndex: -1, role: this._itemRole() }), this._addClass(n, "ui-menu-item")._addClass(o, "ui-menu-item-wrapper"), i.filter(".ui-state-disabled").attr("aria-disabled", "true"), this.active && !t.contains(this.element[0], this.active[0]) && this.blur() }, _itemRole: function () { return { menu: "menuitem", listbox: "option" }[this.options.role] }, _setOption: function (t, e) { if ("icons" === t) { var i = this.element.find(".ui-menu-icon"); this._removeClass(i, null, this.options.icons.submenu)._addClass(i, null, e.submenu) } this._super(t, e) }, _setOptionDisabled: function (t) { this._super(t), this.element.attr("aria-disabled", t + ""), this._toggleClass(null, "ui-state-disabled", !!t) }, focus: function (t, e) { var i, s, n; this.blur(t, t && "focus" === t.type), this._scrollIntoView(e), this.active = e.first(), s = this.active.children(".ui-menu-item-wrapper"), this._addClass(s, null, "ui-state-active"), this.options.role && this.element.attr("aria-activedescendant", s.attr("id")), n = this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"), this._addClass(n, null, "ui-state-active"), t && "keydown" === t.type ? this._close() : this.timer = this._delay(function () { this._close() }, this.delay), i = e.children(".ui-menu"), i.length && t && /^mouse/.test(t.type) && this._startOpening(i), this.activeMenu = e.parent(), this._trigger("focus", t, { item: e }) }, _scrollIntoView: function (e) { var i, s, n, o, a, r; this._hasScroll() && (i = parseFloat(t.css(this.activeMenu[0], "borderTopWidth")) || 0, s = parseFloat(t.css(this.activeMenu[0], "paddingTop")) || 0, n = e.offset().top - this.activeMenu.offset().top - i - s, o = this.activeMenu.scrollTop(), a = this.activeMenu.height(), r = e.outerHeight(), 0 > n ? this.activeMenu.scrollTop(o + n) : n + r > a && this.activeMenu.scrollTop(o + n - a + r)) }, blur: function (t, e) { e || clearTimeout(this.timer), this.active && (this._removeClass(this.active.children(".ui-menu-item-wrapper"), null, "ui-state-active"), this._trigger("blur", t, { item: this.active }), this.active = null) }, _startOpening: function (t) { clearTimeout(this.timer), "true" === t.attr("aria-hidden") && (this.timer = this._delay(function () { this._close(), this._open(t) }, this.delay)) }, _open: function (e) { var i = t.extend({ of: this.active }, this.options.position); clearTimeout(this.timer), this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden", "true"), e.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(i) }, collapseAll: function (e, i) { clearTimeout(this.timer), this.timer = this._delay(function () { var s = i ? this.element : t(e && e.target).closest(this.element.find(".ui-menu")); s.length || (s = this.element), this._close(s), this.blur(e), this._removeClass(s.find(".ui-state-active"), null, "ui-state-active"), this.activeMenu = s }, this.delay) }, _close: function (t) { t || (t = this.active ? this.active.parent() : this.element), t.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false") }, _closeOnDocumentClick: function (e) { return !t(e.target).closest(".ui-menu").length }, _isDivider: function (t) { return !/[^\-\u2014\u2013\s]/.test(t.text()) }, collapse: function (t) { var e = this.active && this.active.parent().closest(".ui-menu-item", this.element); e && e.length && (this._close(), this.focus(t, e)) }, expand: function (t) { var e = this.active && this.active.children(".ui-menu ").find(this.options.items).first(); e && e.length && (this._open(e.parent()), this._delay(function () { this.focus(t, e) })) }, next: function (t) { this._move("next", "first", t) }, previous: function (t) { this._move("prev", "last", t) }, isFirstItem: function () { return this.active && !this.active.prevAll(".ui-menu-item").length }, isLastItem: function () { return this.active && !this.active.nextAll(".ui-menu-item").length }, _move: function (t, e, i) { var s; this.active && (s = "first" === t || "last" === t ? this.active["first" === t ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[t + "All"](".ui-menu-item").eq(0)), s && s.length && this.active || (s = this.activeMenu.find(this.options.items)[e]()), this.focus(i, s) }, nextPage: function (e) { var i, s, n; return this.active ? (this.isLastItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.nextAll(".ui-menu-item").each(function () { return i = t(this), 0 > i.offset().top - s - n }), this.focus(e, i)) : this.focus(e, this.activeMenu.find(this.options.items)[this.active ? "last" : "first"]())), void 0) : (this.next(e), void 0) }, previousPage: function (e) { var i, s, n; return this.active ? (this.isFirstItem() || (this._hasScroll() ? (s = this.active.offset().top, n = this.element.height(), this.active.prevAll(".ui-menu-item").each(function () { return i = t(this), i.offset().top - s + n > 0 }), this.focus(e, i)) : this.focus(e, this.activeMenu.find(this.options.items).first())), void 0) : (this.next(e), void 0) }, _hasScroll: function () { return this.element.outerHeight() < this.element.prop("scrollHeight") }, select: function (e) { this.active = this.active || t(e.target).closest(".ui-menu-item"); var i = { item: this.active }; this.active.has(".ui-menu").length || this.collapseAll(e, !0), this._trigger("select", e, i) }, _filterMenuItems: function (e) { var i = e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"), s = RegExp("^" + i, "i"); return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function () { return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text())) }) } }), t.widget("ui.autocomplete", { version: "1.12.1", defaultElement: "<input>", options: { appendTo: null, autoFocus: !1, delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null, change: null, close: null, focus: null, open: null, response: null, search: null, select: null }, requestIndex: 0, pending: 0, _create: function () { var e, i, s, n = this.element[0].nodeName.toLowerCase(), o = "textarea" === n, a = "input" === n; this.isMultiLine = o || !a && this._isContentEditable(this.element), this.valueMethod = this.element[o || a ? "val" : "text"], this.isNewMenu = !0, this._addClass("ui-autocomplete-input"), this.element.attr("autocomplete", "off"), this._on(this.element, { keydown: function (n) { if (this.element.prop("readOnly")) return e = !0, s = !0, i = !0, void 0; e = !1, s = !1, i = !1; var o = t.ui.keyCode; switch (n.keyCode) { case o.PAGE_UP: e = !0, this._move("previousPage", n); break; case o.PAGE_DOWN: e = !0, this._move("nextPage", n); break; case o.UP: e = !0, this._keyEvent("previous", n); break; case o.DOWN: e = !0, this._keyEvent("next", n); break; case o.ENTER: this.menu.active && (e = !0, n.preventDefault(), this.menu.select(n)); break; case o.TAB: this.menu.active && this.menu.select(n); break; case o.ESCAPE: this.menu.element.is(":visible") && (this.isMultiLine || this._value(this.term), this.close(n), n.preventDefault()); break; default: i = !0, this._searchTimeout(n) } }, keypress: function (s) { if (e) return e = !1, (!this.isMultiLine || this.menu.element.is(":visible")) && s.preventDefault(), void 0; if (!i) { var n = t.ui.keyCode; switch (s.keyCode) { case n.PAGE_UP: this._move("previousPage", s); break; case n.PAGE_DOWN: this._move("nextPage", s); break; case n.UP: this._keyEvent("previous", s); break; case n.DOWN: this._keyEvent("next", s) } } }, input: function (t) { return s ? (s = !1, t.preventDefault(), void 0) : (this._searchTimeout(t), void 0) }, focus: function () { this.selectedItem = null, this.previous = this._value() }, blur: function (t) { return this.cancelBlur ? (delete this.cancelBlur, void 0) : (clearTimeout(this.searching), this.close(t), this._change(t), void 0) } }), this._initSource(), this.menu = t("<ul>").appendTo(this._appendTo()).menu({ role: null }).hide().menu("instance"), this._addClass(this.menu.element, "ui-autocomplete", "ui-front"), this._on(this.menu.element, { mousedown: function (e) { e.preventDefault(), this.cancelBlur = !0, this._delay(function () { delete this.cancelBlur, this.element[0] !== t.ui.safeActiveElement(this.document[0]) && this.element.trigger("focus") }) }, menufocus: function (e, i) { var s, n; return this.isNewMenu && (this.isNewMenu = !1, e.originalEvent && /^mouse/.test(e.originalEvent.type)) ? (this.menu.blur(), this.document.one("mousemove", function () { t(e.target).trigger(e.originalEvent) }), void 0) : (n = i.item.data("ui-autocomplete-item"), !1 !== this._trigger("focus", e, { item: n }) && e.originalEvent && /^key/.test(e.originalEvent.type) && this._value(n.value), s = i.item.attr("aria-label") || n.value, s && t.trim(s).length && (this.liveRegion.children().hide(), t("<div>").text(s).appendTo(this.liveRegion)), void 0) }, menuselect: function (e, i) { var s = i.item.data("ui-autocomplete-item"), n = this.previous; this.element[0] !== t.ui.safeActiveElement(this.document[0]) && (this.element.trigger("focus"), this.previous = n, this._delay(function () { this.previous = n, this.selectedItem = s })), !1 !== this._trigger("select", e, { item: s }) && this._value(s.value), this.term = this._value(), this.close(e), this.selectedItem = s } }), this.liveRegion = t("<div>", { role: "status", "aria-live": "assertive", "aria-relevant": "additions" }).appendTo(this.document[0].body), this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"), this._on(this.window, { beforeunload: function () { this.element.removeAttr("autocomplete") } }) }, _destroy: function () { clearTimeout(this.searching), this.element.removeAttr("autocomplete"), this.menu.element.remove(), this.liveRegion.remove() }, _setOption: function (t, e) { this._super(t, e), "source" === t && this._initSource(), "appendTo" === t && this.menu.element.appendTo(this._appendTo()), "disabled" === t && e && this.xhr && this.xhr.abort() }, _isEventTargetInWidget: function (e) { var i = this.menu.element[0]; return e.target === this.element[0] || e.target === i || t.contains(i, e.target) }, _closeOnClickOutside: function (t) { this._isEventTargetInWidget(t) || this.close() }, _appendTo: function () { var e = this.options.appendTo; return e && (e = e.jquery || e.nodeType ? t(e) : this.document.find(e).eq(0)), e && e[0] || (e = this.element.closest(".ui-front, dialog")), e.length || (e = this.document[0].body), e }, _initSource: function () { var e, i, s = this; t.isArray(this.options.source) ? (e = this.options.source, this.source = function (i, s) { s(t.ui.autocomplete.filter(e, i.term)) }) : "string" == typeof this.options.source ? (i = this.options.source, this.source = function (e, n) { s.xhr && s.xhr.abort(), s.xhr = t.ajax({ url: i, data: e, dataType: "json", success: function (t) { n(t) }, error: function () { n([]) } }) }) : this.source = this.options.source }, _searchTimeout: function (t) { clearTimeout(this.searching), this.searching = this._delay(function () { var e = this.term === this._value(), i = this.menu.element.is(":visible"), s = t.altKey || t.ctrlKey || t.metaKey || t.shiftKey; (!e || e && !i && !s) && (this.selectedItem = null, this.search(null, t)) }, this.options.delay) }, search: function (t, e) { return t = null != t ? t : this._value(), this.term = this._value(), t.length < this.options.minLength ? this.close(e) : this._trigger("search", e) !== !1 ? this._search(t) : void 0 }, _search: function (t) { this.pending++, this._addClass("ui-autocomplete-loading"), this.cancelSearch = !1, this.source({ term: t }, this._response()) }, _response: function () { var e = ++this.requestIndex; return t.proxy(function (t) { e === this.requestIndex && this.__response(t), this.pending--, this.pending || this._removeClass("ui-autocomplete-loading") }, this) }, __response: function (t) { t && (t = this._normalize(t)), this._trigger("response", null, { content: t }), !this.options.disabled && t && t.length && !this.cancelSearch ? (this._suggest(t), this._trigger("open")) : this._close() }, close: function (t) { this.cancelSearch = !0, this._close(t) }, _close: function (t) { this._off(this.document, "mousedown"), this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), this.isNewMenu = !0, this._trigger("close", t)) }, _change: function (t) { this.previous !== this._value() && this._trigger("change", t, { item: this.selectedItem }) }, _normalize: function (e) { return e.length && e[0].label && e[0].value ? e : t.map(e, function (e) { return "string" == typeof e ? { label: e, value: e } : t.extend({}, e, { label: e.label || e.value, value: e.value || e.label }) }) }, _suggest: function (e) { var i = this.menu.element.empty(); this._renderMenu(i, e), this.isNewMenu = !0, this.menu.refresh(), i.show(), this._resizeMenu(), i.position(t.extend({ of: this.element }, this.options.position)), this.options.autoFocus && this.menu.next(), this._on(this.document, { mousedown: "_closeOnClickOutside" }) }, _resizeMenu: function () { var t = this.menu.element; t.outerWidth(Math.max(t.width("").outerWidth() + 1, this.element.outerWidth())) }, _renderMenu: function (e, i) { var s = this; t.each(i, function (t, i) { s._renderItemData(e, i) }) }, _renderItemData: function (t, e) { return this._renderItem(t, e).data("ui-autocomplete-item", e) }, _renderItem: function (e, i) { return t("<li>").append(t("<div>").text(i.label)).appendTo(e) }, _move: function (t, e) { return this.menu.element.is(":visible") ? this.menu.isFirstItem() && /^previous/.test(t) || this.menu.isLastItem() && /^next/.test(t) ? (this.isMultiLine || this._value(this.term), this.menu.blur(), void 0) : (this.menu[t](e), void 0) : (this.search(null, e), void 0) }, widget: function () { return this.menu.element }, _value: function () { return this.valueMethod.apply(this.element, arguments) }, _keyEvent: function (t, e) { (!this.isMultiLine || this.menu.element.is(":visible")) && (this._move(t, e), e.preventDefault()) }, _isContentEditable: function (t) { if (!t.length) return !1; var e = t.prop("contentEditable"); return "inherit" === e ? this._isContentEditable(t.parent()) : "true" === e } }), t.extend(t.ui.autocomplete, { escapeRegex: function (t) { return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") }, filter: function (e, i) { var s = RegExp(t.ui.autocomplete.escapeRegex(i), "i"); return t.grep(e, function (t) { return s.test(t.label || t.value || t) }) } }), t.widget("ui.autocomplete", t.ui.autocomplete, { options: { messages: { noResults: "No search results.", results: function (t) { return t + (t > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate." } } }, __response: function (e) { var i; this._superApply(arguments), this.options.disabled || this.cancelSearch || (i = e && e.length ? this.options.messages.results(e.length) : this.options.messages.noResults, this.liveRegion.children().hide(), t("<div>").text(i).appendTo(this.liveRegion)) } }), t.ui.autocomplete });
/*!
* jQuery Cookie Plugin v1.3.0
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function ($, document, undefined) {
    var pluses = /\+/g;

    function raw(s) {
        return s;
    }

    function decoded(s) {
        return unRfc2068(decodeURIComponent(s.replace(pluses, ' ')));
    }

    function unRfc2068(value) {
        if (value.indexOf('"') === 0) {
            // This is a quoted cookie as according to RFC2068, unescape
            value = value.slice(1, -1).replace('\\"', '"').replace('\\\\', '\\');
        }
        return value;
    }

    var config = $.cookie = function (key, value, options) {

        // write
        if (value !== undefined) {
            options = $.extend({}, config.defaults, options);

            if (value === null) {
                options.expires = -1;
            }

            if (typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }

            value = config.json ? JSON.stringify(value) : String(value);

            return (document.cookie = [
				encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
				options.path ? '; path=' + options.path : '',
				options.domain ? '; domain=' + options.domain : '',
				options.secure ? '; secure' : ''
            ].join(''));
        }

        // read
        var decode = config.raw ? raw : decoded;
        var cookies = document.cookie.split('; ');
        for (var i = 0, l = cookies.length; i < l; i++) {
            var parts = cookies[i].split('=');
            if (decode(parts.shift()) === key) {
                var cookie = decode(parts.join('='));
                return config.json ? JSON.parse(cookie) : cookie;
            }
        }
        return null;
    };

    config.defaults = {};

    $.removeCookie = function (key, options) {
        if ($.cookie(key) !== null) {
            $.cookie(key, null, options);
            return true;
        }
        return false;
    };

})(jQuery, document);
/*!
 * Lazy Load - JavaScript plugin for lazy loading images
 *
 * Copyright (c) 2007-2019 Mika Tuupola
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Project home:
 *   https://appelsiini.net/projects/lazyload
 *
 * Version: 2.0.0-rc.2
 *
 */

(function (root, factory) {
    if (typeof exports === "object") {
        module.exports = factory(root);
    } else if (typeof define === "function" && define.amd) {
        define([], factory);
    } else {
        root.LazyLoad = factory(root);
    }
})(typeof global !== "undefined" ? global : this.window || this.global, function (root) {

    "use strict";

    if (typeof define === "function" && define.amd) {
        root = window;
    }

    const defaults = {
        src: "data-src",
        srcset: "data-srcset",
        selector: ".lazyload",
        root: null,
        rootMargin: "0px",
        threshold: 0
    };

    /**
    * Merge two or more objects. Returns a new object.
    * @private
    * @param {Boolean}  deep     If true, do a deep (or recursive) merge [optional]
    * @param {Object}   objects  The objects to merge together
    * @returns {Object}          Merged values of defaults and options
    */
    const extend = function () {

        let extended = {};
        let deep = false;
        let i = 0;
        let length = arguments.length;

        /* Check if a deep merge */
        if (Object.prototype.toString.call(arguments[0]) === "[object Boolean]") {
            deep = arguments[0];
            i++;
        }

        /* Merge the object into the extended object */
        let merge = function (obj) {
            for (let prop in obj) {
                if (Object.prototype.hasOwnProperty.call(obj, prop)) {
                    /* If deep merge and property is an object, merge properties */
                    if (deep && Object.prototype.toString.call(obj[prop]) === "[object Object]") {
                        extended[prop] = extend(true, extended[prop], obj[prop]);
                    } else {
                        extended[prop] = obj[prop];
                    }
                }
            }
        };

        /* Loop through each object and conduct a merge */
        for (; i < length; i++) {
            let obj = arguments[i];
            merge(obj);
        }

        return extended;
    };

    function LazyLoad(images, options) {
        this.settings = extend(defaults, options || {});
        this.images = images || document.querySelectorAll(this.settings.selector);
        this.observer = null;
        this.init();
    }

    LazyLoad.prototype = {
        init: function () {

            /* Without observers load everything and bail out early. */
            if (!root.IntersectionObserver) {
                this.loadImages();
                return;
            }

            let self = this;
            let observerConfig = {
                root: this.settings.root,
                rootMargin: this.settings.rootMargin,
                threshold: [this.settings.threshold]
            };

            this.observer = new IntersectionObserver(function (entries) {
                Array.prototype.forEach.call(entries, function (entry) {
                    if (entry.isIntersecting) {
                        self.observer.unobserve(entry.target);
                        let src = entry.target.getAttribute(self.settings.src);
                        let srcset = entry.target.getAttribute(self.settings.srcset);
                        if ("img" === entry.target.tagName.toLowerCase()) {
                            if (src) {
                                entry.target.src = src;
                            }
                            if (srcset) {
                                entry.target.srcset = srcset;
                            }
                        } else {
                            entry.target.style.backgroundImage = "url(" + src + ")";
                        }
                    }
                });
            }, observerConfig);

            Array.prototype.forEach.call(this.images, function (image) {
                self.observer.observe(image);
            });
        },

        loadAndDestroy: function () {
            if (!this.settings) { return; }
            this.loadImages();
            this.destroy();
        },

        loadImages: function () {
            if (!this.settings) { return; }

            let self = this;
            Array.prototype.forEach.call(this.images, function (image) {
                let src = image.getAttribute(self.settings.src);
                let srcset = image.getAttribute(self.settings.srcset);
                if ("img" === image.tagName.toLowerCase()) {
                    if (src) {
                        image.src = src;
                    }
                    if (srcset) {
                        image.srcset = srcset;
                    }
                } else {
                    image.style.backgroundImage = "url('" + src + "')";
                }
            });
        },

        destroy: function () {
            if (!this.settings) { return; }
            this.observer.disconnect();
            this.settings = null;
        }
    };

    root.lazyload = function (images, options) {
        return new LazyLoad(images, options);
    };

    if (root.jQuery) {
        const $ = root.jQuery;
        $.fn.lazyload = function (options) {
            options = options || {};
            options.attribute = options.attribute || "data-src";
            new LazyLoad($.makeArray(this), options);
            return this;
        };
    }

    return LazyLoad;
});

"use strict";

/*******************************************
Helper Libraries
*******************************************/
var GC = { cookies: {}, styling: {}, sell: {}, search: {}, init: {}};

// Convert a number string to a Number. i.e.  var myString = "1,234.56"; var num = myString.toNumber(2); // 1234.56
String.prototype.toNumber = function (s) {
    var decimals = s || 2;
    return Number(this.replace(/[^0-9\.]+/g, "")).toFixed(decimals);
};

// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function (from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

//Array Map
if (typeof Array.prototype.map !== "function") {
    Array.prototype.map = function (callback, thisArg) {
        for (var i = 0, n = this.length, a = []; i < n; i++) {
            if (i in this) a[i] = callback.call(thisArg, this[i]);
        }
        return a;
    };
}

// add indexOf to IE 8 and below
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (needle) {
        for (var i = 0; i < this.length; i++) {
            if (this[i] === needle) {
                return i;
            }
        }
        return -1;
    };
}

//String Trim Function.  i.e. var myString = " Hello World "; myString.trim(); //result: "Hello World"
if (typeof String.prototype.trim !== "function") {
    String.prototype.trim = function () {
        return this.replace(/^\s+|\s+$/g, "");
    };
}
//String Trim Left Function.  i.e. var myString = " Hello World "; myString.trimLeft(); //result: "Hello World "
if (typeof String.prototype.trimLeft !== "function") {
    String.prototype.trimLeft = function () {
        return this.replace(/^\s+/, "");
    };
}
//String Trim Right Function string.trimRight()
if (typeof String.prototype.trimRight !== "function") {
    String.prototype.trimRight = function () {
        return this.replace(/\s+$/, "");
    };
}

//Takes a number and Convert to a money format with c=<digits after decimal>, d=<type of decimal points>, t=<type of thousands seperator> i.e. c=2, d='.', t=',' | (1234.560).formatMoney(2, '.', ','); returns 1,234.56
Number.prototype.formatMoney = function (c, d, t) {
    var s, j, i;
    var n = this;
    c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "." : d, t = t == undefined ? "," : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};



GC.fieldFocusClear = function (field, value) { if (field.value == value) { field.value = ""; } };
GC.stopRKey = (function (evt) {
    var evt = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
});

document.onkeypress = GC.stopRKey;

// Enter key select the button to click for a textbox
GC.doBtnClick = function (e, btnId) { var code = (e.keyCode || e.which); if (code === 13) { $(btnId).click(); } };

GC.copyToClipboard = function (el) {
    var url = $(el).data('url');

    navigator.clipboard.writeText(url).then(function () {
        $('.jsCopiedTooltip').fadeIn('fast');
        setTimeout(function () {
            $('.jsCopiedTooltip').fadeOut('slow');
        }, 1000)
    });
};

//btnFavorite
GC.addFavorite = function (productId) { window.location = '/customer/favorites/add/' + productId; };

GC.helper = function () {
    /********************************
    Insert leading zeros (2013.01.16.CAS)
    ********************************/
    function pad(num, size) {
        var output = num.toString();
        while (output.length < size) {
            output = "0" + output;
        }
        return output;
    }
    function getId(idString) {
        return Number(idString.split('-')[1]);
    }

    return {
        zeroPad: pad,
        getId: getId
    };
}();
/* jTemplates 0.7.0 (http://jtemplates.tpython.com) Copyright (c) 2008 Tomasz Gloc */
eval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] }]; e = function () { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p }('a(31.9&&!31.9.3c){(8(){6 G=8(s,x,f){5.1L=[];5.1p={};5.29=C;5.1K={};5.1a={};5.f=9.1y({2z:18,37:2u,2r:18,2Z:18,2T:2u,2S:2u},f);5.2Q(s,x);a(s){5.1n(5.1a[\'1V\'],x,5.f)}5.1a=C};G.m.2G=\'0.7.0\';G.m.2Q=8(s,x){6 2E=/\\{#3i *(\\w*?)( .*)*\\}/g;6 20,1x,H;6 1v=C;6 2x=[];2v((20=2E.3U(s))!=C){1v=2E.1v;1x=20[1];H=s.2s(\'{#/3i \'+1x+\'}\',1v);a(H==-1){Y c 12(\'14: G "\'+1x+\'" 2n 1Q 3H.\');}5.1a[1x]=s.2h(1v,H);2x[1x]=L.2c(20[2])}a(1v===C){5.1a[\'1V\']=s;b}F(6 i 1N 5.1a){a(i!=\'1V\'){5.1K[i]=c G()}}F(6 i 1N 5.1a){a(i!=\'1V\'){5.1K[i].1n(5.1a[i],9.1y({},x||{},5.1K||{}),9.1y({},5.f,2x[i]));5.1a[i]=C}}};G.m.1n=8(s,x,f){a(s==15){5.1L.A(c 1d(\'\',1));b}s=s.W(/[\\n\\r]/g,\'\');s=s.W(/\\{\\*.*?\\*\\}/g,\'\');5.29=9.1y({},5.1K||{},x||{});5.f=c 25(f);6 j=5.1L;6 J=s.1c(/\\{#.*?\\}/g);6 Z=0,H=0;6 e;6 1b=0;6 21=0;F(6 i=0,l=(J)?(J.O):(0);i<l;++i){a(1b){H=s.2s(\'{#/1z}\');a(H==-1){Y c 12("14: 3f 1G 3e 1z.");}a(H>Z){j.A(c 1d(s.2h(Z,H),1))}Z=H+11;1b=0;i=9.3Z(\'{#/1z}\',J);3b}H=s.2s(J[i],Z);a(H>Z){j.A(c 1d(s.2h(Z,H),1b))}6 3X=J[i].1c(/\\{#([\\w\\/]+).*?\\}/);6 2w=E.$1;36(2w){q\'3T\':++21;j.1U();q\'a\':e=c 1t(J[i],j);j.A(e);j=e;M;q\'U\':j.1U();M;q\'/a\':2v(21){j=j.1T();--21}q\'/F\':q\'/1S\':j=j.1T();M;q\'1S\':e=c 1j(J[i],j);j.A(e);j=e;M;q\'F\':e=1R(J[i],j);j.A(e);j=e;M;q\'2q\':j.A(c 2I(J[i],5.29));M;q\'h\':j.A(c 2p(J[i]));M;q\'2o\':j.A(c 2m(J[i]));M;q\'3M\':j.A(c 1d(\'{\'));M;q\'3K\':j.A(c 1d(\'}\'));M;q\'1z\':1b=1;M;q\'/1z\':Y c 12("14: 3f 2k 3e 1z.");2R:Y c 12(\'14: 3G 3E \'+2w+\'.\');}Z=H+J[i].O}a(s.O>Z){j.A(c 1d(s.3D(Z),1b))}};G.m.I=8(d,h,z,B){++B;6 $T=d,22,1Y;a(5.f.2T){$T=L.1m(d,{1W:(5.f.37&&B==1),1F:5.f.2z})}a(!5.f.2S){22=5.1p;1Y=h}U{22=L.1m(5.1p,{1W:(5.f.2r),1F:18});1Y=L.1m(h,{1W:(5.f.2r&&B==1),1F:18})}6 $P=9.1y({},22,1Y);6 $Q=z;$Q.2G=5.2G;6 13=\'\';F(6 i=0,l=5.1L.O;i<l;++i){13+=5.1L[i].I($T,$P,$Q,B)}--B;b 13};G.m.28=8(1J,1M){5.1p[1J]=1M};L=8(){};L.3q=8(3p){b 3p.W(/&/g,\'&4b;\').W(/>/g,\'&3o;\').W(/</g,\'&3n;\').W(/"/g,\'&48;\').W(/\'/g,\'&#39;\')};L.1m=8(d,1A){a(d==C){b d}36(d.3m){q 25:6 o={};F(6 i 1N d){o[i]=L.1m(d[i],1A)}a(!1A.1F){o.3k=d.3k}b o;q 47:6 o=[];F(6 i=0,l=d.O;i<l;++i){o[i]=L.1m(d[i],1A)}b o;q 3j:b(1A.1W)?(L.3q(d)):(d);q 46:a(1A.1F){Y c 12("14: 45 44 1Q 43.");}2R:b d}};L.2c=8(24){a(24===C||24===15){b{}}6 o=24.42(/[= ]/);a(o[0]===\'\'){o.41()}6 2B={};F(6 i=0,l=o.O;i<l;i+=2){2B[o[i]]=o[i+1]}b 2B};6 1d=8(2A,1b){5.23=2A;5.3h=1b};1d.m.I=8(d,h,z,B){6 t=5.23;a(!5.3h){6 $T=d;6 $P=h;6 $Q=z;t=t.W(/\\{(.*?)\\}/g,8(40,3g){6 19=V(3g);a(1I 19==\'8\'){6 f=9.K(z,\'1i\').f;a(f.2z||!f.2Z){b\'\'}U{19=19($T,$P,$Q)}}b(19===15)?(""):(3j(19))})}b t};6 1t=8(D,1r){5.1Z=1r;D.1c(/\\{#(?:U)*a (.*?)\\}/);5.3d=E.$1;5.1g=[];5.1f=[];5.1w=5.1g};1t.m.A=8(e){5.1w.A(e)};1t.m.1T=8(){b 5.1Z};1t.m.1U=8(){5.1w=5.1f};1t.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;6 2y=(V(5.3d))?(5.1g):(5.1f);6 13=\'\';F(6 i=0,l=2y.O;i<l;++i){13+=2y[i].I(d,h,z,B)}b 13};1R=8(D,1r){a(D.1c(/\\{#F (\\w+?) *= *(\\S+?) +3Y +(\\S+?) *(?:R=(\\S+?))*\\}/)){D=\'{#1S 1R.3a 38 \'+E.$1+\' 2k=\'+(E.$2||0)+\' 1G=\'+(E.$3||-1)+\' R=\'+(E.$4||1)+\' 1E=$T}\';b c 1j(D,1r)}U{Y c 12(\'14: 3W 3V "35": \'+D);}};1R.3a=8(i){b i};6 1j=8(D,1r){5.1Z=1r;D.1c(/\\{#1S (.+?) 38 (\\w+?)( .+)*\\}/);5.34=E.$1;5.y=E.$2;5.N=E.$3||C;5.N=L.2c(5.N);5.1g=[];5.1f=[];5.1w=5.1g};1j.m.A=8(e){5.1w.A(e)};1j.m.1T=8(){b 5.1Z};1j.m.1U=8(){5.1w=5.1f};1j.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;6 1h=V(5.34);6 1D=[];6 1u=1I 1h;a(1u==\'33\'){6 2t=[];9.17(1h,8(k,v){1D.A(k);2t.A(v)});1h=2t}6 1E=(5.N.1E!==15)?(V(5.N.1E)):{};6 s=1H(V(5.N.2k)||0),e;6 R=1H(V(5.N.R)||1);a(1u!=\'8\'){e=1h.O}U{a(5.N.1G===15||5.N.1G===C){e=1H.3S}U{e=1H(V(5.N.1G))+((R>0)?(1):(-1))}}6 13=\'\';6 i,l;a(5.N.1C){6 19=s+1H(V(5.N.1C));e=(19>e)?(e):(19)}a((e>s&&R>0)||(e<s&&R<0)){6 1q=0;6 30=(1u!=\'8\')?(3R.3Q((e-s)/R)):15;6 1s,1k;F(;((R>0)?(s<e):(s>e));s+=R,++1q){1s=1D[s];a(1u!=\'8\'){1k=1h[s]}U{1k=1h(s);a(1k===15||1k===C){M}}a((1u==\'33\')&&(1s 1N 25)&&(25[1s]===$T[1s])){3b}$T=1E;6 p=$T[5.y]=1k;$T[5.y+\'$2Y\']=s;$T[5.y+\'$1q\']=1q;$T[5.y+\'$2X\']=(1q==0);$T[5.y+\'$3l\']=(s+R>=e);$T[5.y+\'$2V\']=30;$T[5.y+\'$1D\']=1s;$T[5.y+\'$1I\']=1I 1k;F(i=0,l=5.1g.O;i<l;++i){13+=5.1g[i].I($T,h,z,B)}1e $T[5.y+\'$2Y\'];1e $T[5.y+\'$1q\'];1e $T[5.y+\'$2X\'];1e $T[5.y+\'$3l\'];1e $T[5.y+\'$2V\'];1e $T[5.y+\'$1D\'];1e $T[5.y+\'$1I\'];1e $T[5.y]}}U{F(i=0,l=5.1f.O;i<l;++i){13+=5.1f[i].I($T,h,z,B)}}b 13};6 2I=8(D,x){D.1c(/\\{#2q (.*?)(?: 3P=(.*?))?\\}/);5.2H=x[E.$1];a(5.2H==15){Y c 12(\'14: 3O 35 2q: \'+E.$1);}5.2U=E.$2};2I.m.I=8(d,h,z,B){6 $T=d;b 5.2H.I(V(5.2U),h,z,B)};6 2p=8(D){D.1c(/\\{#h 1J=(\\w*?) 1M=(.*?)\\}/);5.y=E.$1;5.23=E.$2};2p.m.I=8(d,h,z,B){6 $T=d;6 $P=h;6 $Q=z;h[5.y]=V(5.23);b\'\'};6 2m=8(D){D.1c(/\\{#2o 3N=(.*?)\\}/);5.2d=V(E.$1);5.2l=5.2d.O;a(5.2l<=0){Y c 12(\'14: 2o 3L 3J 3I\');}5.2f=0;5.2b=-1};2m.m.I=8(d,h,z,B){6 2j=9.K(z,\'1B\');a(2j!=5.2b){5.2b=2j;5.2f=0}6 i=5.2f++%5.2l;b 5.2d[i]};9.X.1n=8(s,x,f){a(s.3m===G){b 9(5).17(8(){9.K(5,\'1i\',s);9.K(5,\'1B\',0)})}U{b 9(5).17(8(){9.K(5,\'1i\',c G(s,x,f));9.K(5,\'1B\',0)})}};9.X.3F=8(1o,x,f){6 s=9.2g({1l:1o,2e:18}).2P;b 9(5).1n(s,x,f)};9.X.3C=8(2i,x,f){6 s=$(\'#\'+2i).2A();a(s==C){s=$(\'#\'+2i).2O();s=s.W(/&3n;/g,"<").W(/&3o;/g,">")}s=9.3B(s);s=s.W(/^<\\!\\[3A\\[([\\s\\S]*)\\]\\]>$/3z,\'$1\');b 9(5).1n(s,x,f)};9.X.3y=8(){6 1C=0;9(5).17(8(){a(9.K(5,\'1i\')){++1C}});b 1C};9.X.3x=8(){9(5).32();b 9(5).17(8(){9.2N(5,\'1i\')})};9.X.28=8(1J,1M){b 9(5).17(8(){6 t=9.K(5,\'1i\');a(t===15){Y c 12(\'14: G 2n 1Q 2W.\');}t.28(1J,1M)})};9.X.2a=8(d,h){b 9(5).17(8(){6 t=9.K(5,\'1i\');a(t===15){Y c 12(\'14: G 2n 1Q 2W.\');}9.K(5,\'1B\',9.K(5,\'1B\')+1);9(5).2O(t.I(d,h,5,0))})};9.X.3w=8(1o,h){6 10=5;6 s=9.2g({1l:1o,2e:18,3v:18,3u:\'3t\',3s:8(d){9(10).2a(d,h)}});b 5};6 1P=8(1l,h,1O,1X,16){5.2M=1l;5.1p=h;5.2L=1O;5.2K=1X;5.16=16;5.2C=C;6 10=5;9(16).17(8(){9.K(5,\'2D\',10)});5.27()};1P.m.27=8(){5.2J();a(5.16.O==0){b}6 10=5;9.4f(5.2M,5.2K,8(d){9(10.16).2a(d,10.1p)});5.2C=4e(8(){10.27()},5.2L)};1P.m.2J=8(){5.16=9.3r(5.16,8(o){a(9.4d.4c){6 n=o.2F;2v(n&&n!=4a){n=n.2F}b n!=C}U{b o.2F!=C}})};9.X.49=8(1l,h,1O,1X){6 u=c 1P(1l,h,1O,1X,5);b u.2C};9.X.32=8(){b 9(5).17(8(){6 26=9.K(5,\'2D\');a(26==C){b}6 10=5;26.16=9.3r(26.16,8(o){b o!=10});9.2N(5,\'2D\')})};9.1y({3c:8(s,x,f){b c G(s,x,f)},4g:8(1o,x,f){6 s=9.2g({1l:1o,2e:18}).2P;b c G(s,x,f)}})})(9)}', 62, 265, '|||||this|var||function|jQuery|if|return|new|||settings||param||node|||prototype||||case|||||||includes|_name|element|push|deep|null|oper|RegExp|for|Template|se|get|op|data|TemplateUtils|break|_option|length|||step|||else|eval|replace|fn|throw|ss|that||Error|ret|jTemplates|undefined|objs|each|false|tmp|_templates_code|literalMode|match|TextNode|delete|_onFalse|_onTrue|fcount|jTemplate|opFOREACH|cval|url|cloneData|setTemplate|url_|_param|iteration|par|ckey|opIF|mode|lastIndex|_currentState|tname|extend|literal|filter|jTemplateSID|count|key|extData|noFunc|end|Number|typeof|name|_templates|_tree|value|in|interval|Updater|not|opFORFactory|foreach|getParent|switchToElse|MAIN|escapeData|args|_param2|_parent|iter|elseif_level|_param1|_value|optionText|Object|updater|run|setParam|_includes|processTemplate|_lastSessionID|optionToObject|_values|async|_index|ajax|substring|elementName|sid|begin|_length|Cycle|is|cycle|UserParam|include|filter_params|indexOf|arr|true|while|op_|_template_settings|tab|disallow_functions|val|obj|timer|jTemplateUpdater|reg|parentNode|version|_template|Include|detectDeletedNodes|_args|_interval|_url|removeData|html|responseText|splitTemplates|default|clone_params|clone_data|_root|total|defined|first|index|runnable_functions|_total|window|processTemplateStop|object|_arg|find|switch|filter_data|as||funcIterator|continue|createTemplate|_cond|of|No|__a1|_literalMode|template|String|toString|last|constructor|lt|gt|txt|escapeHTML|grep|success|json|dataType|cache|processTemplateURL|removeTemplate|hasTemplate|im|CDATA|trim|setTemplateElement|substr|tag|setTemplateURL|unknown|closed|elements|no|rdelim|has|ldelim|values|Cannot|root|ceil|Math|MAX_VALUE|elseif|exec|failed|Operator|ppp|to|inArray|__a0|shift|split|allowed|are|Functions|Function|Array|quot|processTemplateStart|document|amp|msie|browser|setTimeout|getJSON|createTemplateURL'.split('|'), 0, {}));
//***********************
//GC Query String Function
//***********************
GC.qs = function () {
    function getValue(qName) {
        var result = {}, queryString = location.search.substring(1), re = /([^&=]+)=([^&]*)/g, m;
        while (m = re.exec(queryString)) {
            result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
        }
        return result[qName];
    };

    function updateValue(that, queryName, redirectToFirstPage) {

        function getCat() {
            var ddlCat = '#ddlCat';
            var cat = $(ddlCat).find('li').val();
            if (cat > 0) {
                return cat;
            }
            else return "";
        }
        var category = getCat();
        var qs = {
            name: queryName,
            selection: (that.type === 'checkbox') ? that.checked : $(that).val(),
            queryUrl: location.search,
            nameExist: location.search.indexOf(queryName)
        };

        if (qs.nameExist !== -1) {
            qs.queryUrl = qs.queryUrl.replace(qs.name + "=" + GC.qs.getValue(qs.name), qs.name + "=" + qs.selection);

        } else {
            qs.queryUrl = (qs.queryUrl === '') ? "?" + qs.name + "=" + qs.selection : qs.queryUrl + "&" + qs.name + "=" + qs.selection;
        }
        qs.queryUrl = (redirectToFirstPage) ? qs.queryUrl.replace("page=" + getValue("page"), "") : qs.queryUrl;

        var hasCategory = /cat=/.test(qs.queryUrl);
        qs.queryUrl = (!hasCategory && category > 0) ? qs.queryUrl + "&cat=" + category : qs.queryUrl;
        document.location = qs.queryUrl;
    };

    return {
        update: updateValue,
        getValue: getValue
    };
}();


GC.qs.fillCheckboxes = function (checkboxGroup, qsName) {
    var qsValue = GC.qs.getValue(qsName) || "";
    $(checkboxGroup).find('input').each(function () {
        for (var i = 0; i < qsValue.length; i++) {
            if ($(this).val() === qsValue.charAt(i)) {
                $(this).prop('checked', true);
            }
        }
    });
};
/********************************
GC Page Cookie Settings
********************************/
GC.cookies.pageSettings = function () {

    var c = {
        cookieName: 'opt',
        cookieDefault: '2.32.0.1.0.creditcard',
        cookieExpires: { expires: 1, path: '/' }
    };

    var s = {
        settings: {
            viewType: 2,
            pageSize: 32,
            sortBy: 0,
            metalSizeType: 1,
            inStock: 0,
            paymentType: 1
        },
        ids: {
            viewMode: '.jsViewType',
            sortBy: '#ddlSort',
            pageSize: '#ddlPageSize',
            metalSizeType: '#jsFiltersSize',
            inStock: '#cbInStock',
            payType: '.cbPayType'
        },
        txtSearch: '.jsTxtSearch'
    };

    function setCookie(option, value) {
        var cookieValue = $.cookie(c.cookieName);
        if (!cookieValue) {
            $.cookie(c.cookieName, c.cookieDefault, c.cookieExpires);
        }

        var cookieOptions = cookieValue.split('.');

        if (cookieOptions.length !== 6) {
            $.cookie(c.cookieName, c.cookieDefault, c.cookieExpires);
        }
        else {

            for (var i = 0; i < cookieOptions.length; i++) {
                if (option === i) {
                    cookieOptions[i] = value;
                }
            }
            cookieValue = cookieOptions.join('.');
            $.cookie(c.cookieName, cookieValue, c.cookieExpires);
        }
    }

    function getPageSettings() {
        
        var settingsCookie = $.cookie(c.cookieName) || c.cookieDefault;
        var settings = settingsCookie.split('.');
        s.settings.viewType = settings[0] || GC.qs.getValue('vt') || 3;
        s.settings.pageSize = settings[1] || GC.qs.getValue('psize') || 16;
        s.settings.sortBy = settings[2] || GC.qs.getValue('sort');
        s.settings.metalSizeType = settings[3] || 1;
        s.settings.inStock = (settings[4] === '1') || (GC.qs.getValue('instk') === 'true');
        s.settings.paymentType = settings[5] || 1;
    }

    var bindEvents = function () {
        $(s.ids.viewMode).on('click', function () {
            setCookie(0, $(this).val());
            GC.qs.update(this, 'vt');
        });

        $(s.ids.pageSize).find('button').on('click', function () {
            setCookie(1, $(this).val());
            GC.qs.update(this, 'psize', true);

        });

        $(s.ids.sortBy).on('change', function () {
            setCookie(2, $(this).val());
            GC.qs.update(this, 'sort');
        });

        $(s.ids.metalSizeType).find(".jsSizeTab li").click(function () {
            setCookie(3, $(this).find('input').val());
        });

        $(s.ids.inStock).on('change', function () {
            var isStockOnly = $(this).is(":checked");
            var value = (isStockOnly) ? 1 : 0;
            setCookie(4, value);
            GC.qs.update(this, 'instk', true);
        });

        $(s.ids.payType).on('click', function () {
            var paymentType = $(this).val();

            if (paymentType) {
                paymentType = paymentType.toLowerCase();
            }
            setCookie(5, paymentType);
        });

        getPageSettings();
    };

    function initSettings(newCookie) {
        c.cookieName = newCookie || c.cookieName;
        bindEvents();
        return s;
    }

    return { init: initSettings }; //initalizes config, return settings object, pass in cookie name
}();
GC.initImageLazyLoading = function() {
    $("img.lazy").lazyload({
        event: "delay",
        effect: 'fadeIn'
    });

    //image lazyloading
    $(window).bind("load", function () {
        var timeout = setTimeout(function () {
            $("img.lazy").trigger("delay")
        }, 100);
    });
};
/********************************
GC Search Function
********************************/
function clickAutocompleteTextLi(searchText) {
    $('.jsTxtSearch').val(searchText);
    $('.jsSearchBtn').click();
}

GC.search.autocomplete = (function () {
    var ajaxFormSubmit = function () {
        var $form = $(this);

        var options = {
            url: $form.attr("action"),
            type: $form.attr("method"),
            data: $form.serialize()
        };

        $.ajax(options).done(function (data) {
            var $target = $($form.attr("data-otf-target"));
            $target.replaceWith(data);
        });
        //return false;
    };

    var createAutocomplete = function () {
        var $input = $(this);
        var options = {
            source: $input.attr("data-otf-autocomplete"),
            select: function (event, ui) {
                if (ui.item.productId > 0)
                    window.location = "/products/" + ui.item.productId;
            }
        };

        $input.autocomplete(options).autocomplete("instance")._renderItem = function (ul, item) {
            return $("<li class='jsAutoCompleteLi'>").addClass(item.type)
                .append(buildImage(item.image))
                .append(item.label)
                .append(formatSku(item.sku))
                .appendTo(ul);
        };

        function buildImage(imageName) {
            if (!imageName)
                return;

            var img = $('<img class="jsAcImg">');
            img.prop('src', '/files/images/products/' + imageName);

            return img;
        }
        
        function formatSku(sku) {
            var span = $('<span class="jsAcSku">');
            span.text(sku);
            return span;
        }
    };

    $('.jsTxtSearch').bind('autocompleteopen', function (event, data) {
        var li = $('<li>').addClass('viewAllResult').prop('tabindex', -1);
        var link = $('<a>').html('See more results for <span>' + $(this).val() + '</span>').attr('onclick', "$('.jsSearchBtn').click();");
        link.appendTo(li);
        li.appendTo('ul.ui-autocomplete');

        $('.jsAutoCompleteLi').each(function () {
            var text = $(this).text()
            $(this).attr('onclick', "clickAutocompleteTextLi('" + text + "');");
        });
    });

    $("form[data-otf-ajax='true']").submit(ajaxFormSubmit);
    $("input[data-otf-autocomplete]").each(createAutocomplete);

    

})();
$(function () {
    var gclid = GC.qs.getValue('gclid') || "";
    if (gclid != '') {
        var option = {
            url: "/help/UpdateGCLID?gclid="+ gclid,
            type: 'POST'
        }
       
        $.ajax(option);
    }
});
/********************************
GC Cart Precios Metal Ticker Function
********************************/
GC.spotTicker = function () {
    var up = { arrow: 'fa-caret-up', color: 'green' };
    var down = { arrow: 'fa-caret-down', color: 'red' };

    var au = { spot: '.jsGoldPrice', arrow: '.jsGoldArrow', diff: '.jsGoldDiff' };
    var ag = { spot: '.jsSilverPrice', arrow: '.jsSilverArrow', diff: '.jsSilverDiff' };
    var pt = { spot: '.jsPlatinumPrice', arrow: '.jsPlatinumArrow', diff: '.jsPlatinumDiff' };
    var pd = { spot: '.jsPalladiumPrice', arrow: '.jsPalladiumArrow', diff: '.jsPalladiumDiff' };

    function updateTicker(metal, price, change) {
        $(metal.spot).text('$' + price.formatMoney());
        $(metal.diff).text(change.toFixed('2'));

        if (change >= 0) {
            $(metal.arrow).removeClass(down.arrow).addClass(up.arrow);
            $(metal.arrow).removeClass(down.color).addClass(up.color);
            $(metal.diff).removeClass(down.color).addClass(up.color);
        } else {
            $(metal.arrow).removeClass(up.arrow).addClass(down.arrow);
            $(metal.arrow).removeClass(up.color).addClass(down.color);
            $(metal.diff).removeClass(up.color).addClass(down.color);
        }
    }

    function getSpot(isBid) {
        $.ajax({
            type: "GET",
            contentType: "application/json; charset=utf-8",
            url: (isBid) ? "/api/spot/bid" : "/api/spot/ask",
            data: "{}",
            cache: false, //set cache to false so that the broswer will not cache the service call
            dataType: "json",
            success: function (data) {
                updateTicker(au, data.au, data.auChange);
                updateTicker(ag, data.ag, data.agChange);
                updateTicker(pt, data.pt, data.ptChange);
                updateTicker(pd, data.pd, data.pdChange);
            },
            error: function () { console.log("json call failed") }
        });
    }

    return {
        get: function (msec, isBid) {
            getSpot(isBid);
            setTimeout('GC.spotTicker.get(' + msec + ',' + isBid + ')', msec);
        }
    }
}();
$(function () {
    "use strict";

    var cookieConsent = $.cookie('cookieconsent');

    if (cookieConsent != 'dismiss') {
        $.get('/widget/CookieLaw').done(function (data) {
            $('#jsGDRP').append(data);
            setTimeout(function () {
                $('#jsGDRP .gdrp').addClass('active');
            }, 100);
        });
    }

    $('html').on('click', '#jsAgreeGDPR', function () {
        $('#jsGDRP .gdrp').removeClass('active');
        $.cookie('cookieconsent', 'dismiss', { expires: 365, path: '/' });
        setTimeout(function () {
            $('#jsGDRP').remove();
        }, 1000);
    });
});
$(window).on('load', function () {
    var ua = window.navigator.userAgent;

    var msie = ua.indexOf('MSIE ');
    if (msie > 0) {
        // IE 10 or older => return version number
        var version = parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);

        if (version < 10) {
            window.location.href('/help/upgrade-browser');
        }
    }
});


var layout = {
    siteNotification: function () {
        //    $.get('/widget/sitenotification').done(function (data) {
        //        $('#jsInitSiteNotificationAjax').html(data);
        //        $("img.lazy").lazyload();
        //    });
        $(document).on('click', '.jsBtnExpand', function (event) {
            $('.jsText').toggleClass('text');
            $('.jsBtnExpand').toggleClass('fa-angle-down');
            $('.jsBtnExpand').toggleClass('fa-angle-up');
        });

    },
    initMiniCart: function () {
        $.get('/widget/minicart').done(function (data) {
            $('#jsMiniCart').empty().append(data);
        });
    },

    initCSS: function () {
        var css = $('#jsCSSBundle').val();

        $('<link />', {
            rel: 'stylesheet',
            type: 'text/css',
            href: css
        }).appendTo('head');
    },

    lazyLoad: function () {
        let images = document.querySelectorAll('.lazy');
        lazyload(images);

        //image lazyloading
        $(window).bind("load", function () {
            var timeout = setTimeout(function () {
                $("img.lazy").trigger("delay")
            }, 100);
        });
    },

    smoothScroll: function () {
        $(document).on('click', '.jsSmoothScroll', function (event) {
            event.preventDefault();

            $('html, body').animate({
                scrollTop: ($($.attr(this, 'href')).offset().top) - 50
            }, 500);

        });
    },

    mobileMenu: function () {
        $('#jsMobileMenu-btn').click(function () {
            var windowWidth = $(window).width();

            if (windowWidth < 1024) {
                $('#jsMobileMenu-ctn').addClass('mmShow');
            }
        });

        $('.jsBtnCloseMobileMenu').click(function () {
            $('#jsMobileMenu-ctn').removeClass('mmShow').addClass('mmHide');

            setTimeout(function () {
                $('#jsMobileMenu-ctn').removeClass('mmHide');
            }, 450);
        });

        $('.jsMMBg').click(function () {
            $('.jsBtnCloseMobileMenu').click();
        });
    },


    menu: function () {


        $('.jsGoToMenu').click(function () {
            var windowWidth = $(window).width();

            if (windowWidth < 1024) {
                $('.jsMainMenu').addClass('mmShow');
            }
        });

        $('.jsBtnCloseMobileMenu').click(function () {
            $('.jsMainMenu').removeClass('mmShow').addClass('mmHide');

            setTimeout(function () {
                $('.jsMainMenu').removeClass('mmHide');
            }, 450);
        });

        $('.jsMMBg').click(function () {
            $('.jsBtnCloseMobileMenu').click();
        });

        $('html').on('click', '.jsMainMenu .jsArrow', function () {

            var megaMenu = $(this).siblings('.megaMenu');

            if (megaMenu.is(":visible")) {
                megaMenu.hide();
            } else {
                megaMenu.show();
            }
        })
    },

    megaMenu: function () {
        function closeMegaMenu($parent) {
            $parent.removeClass('active').addClass('deactive');
            setTimeout(function () {
                $parent.removeClass('deactive');
            }, 450);
        }

        $('html').on('mouseover', '.jsMegaMenu', function () {
            var windowWidth = $(window).width();

            if (windowWidth > 1024) {
                var $this = $(this);
                var $active = $this.siblings('.jsMegaMenu.active');

                if ($active.length === 0) {
                    $this.addClass('active');
                } else {
                    closeMegaMenu($active);
                    setTimeout(function () {
                        $this.addClass('active');
                    }, 100);
                }
            };
        });

        $('html').on('mouseleave', '.jsMegaMenu.active', function (e) {
            var $this = $(this);
            setTimeout(function () {
                closeMegaMenu($this);
            }, 100);
        });


    },

    menuAccount: function () {
        function closeAccountMenu($this) {
            $('#jsMenuAccount-ctn').removeClass('active').addClass('deactive');

            setTimeout(function () {
                $this.removeClass('active');
                $('#jsMenuAccount-ctn').removeClass('deactive');
            }, 950);
        };

        $('#jsMenuAccount-btn').click(function () {
            if ($(this).hasClass('active')) {
                closeAccountMenu($(this));
            } else {
                $(this).addClass('active');
                $('#jsMenuAccount-ctn').addClass('active');
            }
        });

        $(document).click(function (e) {
            var $cont = $('#jsMenuAccount')

            if (!$cont.is(e.target) && $cont.has(e.target).length === 0 && $('#jsMenuAccount-btn').hasClass('active')) {
                closeAccountMenu($('#jsMenuAccount-btn'));
            }
        });
    },

    modal: function () {
        $('html').on('click', '.jsModalClose', function (e) {
            var container = $('.jsModalContent');
            if (!container.is(e.target) && container.has(e.target).length === 0) {
                $('#jsAjaxPopup').empty();
                layout.initMiniCart();
            }
        });

        $('html').on('click', '.jsModalCloseBtn', function () {
            $('#jsAjaxPopup').empty();
        });
    },

    stickyFooter: function () {
        var bodyHeight = $('body').height();
        var browserHeight = $(window).height();

        if (browserHeight > bodyHeight) {
            $('.jsFooter').addClass('sticky');
        } else {
            $('.jsFooter').removeClass('sticky');
        }
    },

    stickySpotPrice: function () {
        var pos = $('#jsSpotPriceHeader').offset();
        if (pos == null) {
            return;
        }

        var divPos = pos.top;

        $(window).scroll(function () {
            var docPos = $(document).scrollTop();

            if (docPos > divPos) {
                $('#jsSpotPriceHeader').parent().addClass('fixed');
            } else {
                $('#jsSpotPriceHeader').parent().removeClass('fixed');
            }
        });
    },

    spotPriceMenu: function () {
        function closeSpotPrice() {

        };

        $('#jsSpotPrice-btn').click(function () {

            if ($(this).hasClass('active')) {
                $(this).removeClass('active');
                $('#jsSpotPrice-ctn').removeClass('active');
            } else {
                $(this).addClass('active');
                $('#jsSpotPrice-ctn').addClass('active');
            }
        });
    },

    incrementProductQty: function () {
        $(document).on('click', '.jsProductQtyAdd', function () {
            var parent = $(this).parents('.wrap');
            var textBox = parent.find('.jsProductQty');
            var hiddenQty = parent.find('.jsProductQtyHidden');

            var qty = Number(textBox.val()) + 1;

            textBox.val(qty);
            hiddenQty.val(qty); // hack to prevent existing ajax javascript from breaking. need to refactor form submit
        });

        $(document).on('keyup', '.jsProductQty', function () {
            var parent = $(this).parents('.wrap');
            var qty = $(this).val();
            var hiddenQty = parent.find('.jsProductQtyHidden');
            hiddenQty.val(qty); // hack to update quantity textbox prevent existing ajax javascript from breaking. need to refactor form submit
        });
    },

    decrementProductQty: function () {
        $(document).on('click', '.jsProductQtyMin', function () {
            var parent = $(this).parents('.wrap');
            var textBox = parent.find('.jsProductQty');
            var hiddenQty = parent.find('.jsProductQtyHidden');

            var qty = Number(textBox.val()) - 1;

            if (qty < 1) {
                qty = 1;
            }

            textBox.val(qty);
            hiddenQty.val(qty); // hack to prevent existing ajax javascript from breaking. need to refactor form submit
        });
    },
    lazyLoadProductModule: function () {
        $('module').each(function () {
            var $module = $(this);

            var moduleParam = getParam($module);

            $.post('/content-module/product-module', moduleParam).done(function (data) {
                $module.replaceWith(data);
                $("img.lazy").lazyload();
            });

            function getParam($module) {
                return {
                    type: $module.attr("product"),
                    search: $module.attr("search"),
                    categoryId: $module.attr("categoryId"),
                    skus: $module.attr("skus"),
                    count: $module.attr("count"),
                    template: $module.attr("template"),
                };
            }
        });
    }
}


$(function () {
    "use strict";

    document.documentElement.classList.remove("no-js");

    GC.spotTicker.get(10000);

    layout.siteNotification();
    //layout.mobileMenu();
    layout.menu();
    layout.menuAccount();
    layout.lazyLoad();
    layout.smoothScroll();
    //layout.megaMenu();
    layout.modal();
    layout.stickyFooter();
    layout.spotPriceMenu();

    layout.incrementProductQty();
    layout.decrementProductQty();
    layout.lazyLoadProductModule();
    //layout.stickySpotPrice();
});
$(function () {
    "use strict";

    var newsletterModal = $.cookie('newslettermodal');

    if (newsletterModal != 'ishide') {
        $.get('/email/NewsletterSignup').done(function (data) {
            $('body').append(data);

            var isShowNewsletterModal = $('#jsNewsletterSignupModal').data('show-modal');

            if (isShowNewsletterModal == 'True') {
                setTimeout(function () {
                    $('#jsNewsletterSignupModal').addClass('show');
                }, 100);
            } else {
                $('#jsNewsletterSignupModal').remove();
            }
        });
    }

    $('html').on('click', '#jsNewsletterModalClose', function () {
        $('#jsNewsletterSignupModal').removeClass('show');
        $.cookie('newslettermodal', 'ishide', { expires: 365, path:'/' });
        setTimeout(function () {
            $('#jsNewsletterSignupModal').remove();
        }, 1000);
    });
    
});
if(!AmCharts)var AmCharts={};AmCharts.inheriting={};
AmCharts.Class=function(a){var b=function(){arguments[0]!==AmCharts.inheriting&&(this.events={},this.construct.apply(this,arguments))};a.inherits?(b.prototype=new a.inherits(AmCharts.inheriting),b.base=a.inherits.prototype,delete a.inherits):(b.prototype.createEvents=function(){for(var a=0,b=arguments.length;a<b;a++)this.events[arguments[a]]=[]},b.prototype.listenTo=function(a,b,d){a.events[b].push({handler:d,scope:this})},b.prototype.addListener=function(a,b,d){this.events[a].push({handler:b,scope:d})},
b.prototype.removeListener=function(a,b,d){a=a.events[b];for(b=a.length-1;0<=b;b--)a[b].handler===d&&a.splice(b,1)},b.prototype.fire=function(a,b){for(var d=this.events[a],h=0,i=d.length;h<i;h++){var j=d[h];j.handler.call(j.scope,b)}});for(var d in a)b.prototype[d]=a[d];return b};AmCharts.charts=[];AmCharts.addChart=function(a){AmCharts.charts.push(a)};AmCharts.removeChart=function(a){for(var b=AmCharts.charts,d=b.length-1;0<=d;d--)b[d]==a&&b.splice(d,1)};
if(document.addEventListener||window.opera)AmCharts.isNN=!0,AmCharts.isIE=!1,AmCharts.dx=0.5,AmCharts.dy=0.5;document.attachEvent&&(AmCharts.isNN=!1,AmCharts.isIE=!0,AmCharts.dx=0,AmCharts.dy=0);window.chrome&&(AmCharts.chrome=!0);AmCharts.IEversion=0;-1!=navigator.appVersion.indexOf("MSIE")&&document.documentMode&&(AmCharts.IEversion=Number(document.documentMode));AmCharts.handleResize=function(){for(var a=AmCharts.charts,b=0;b<a.length;b++){var d=a[b];d&&d.div&&d.handleResize()}};
AmCharts.handleMouseUp=function(a){for(var b=AmCharts.charts,d=0;d<b.length;d++){var e=b[d];e&&e.handleReleaseOutside(a)}};AmCharts.handleMouseMove=function(a){for(var b=AmCharts.charts,d=0;d<b.length;d++){var e=b[d];e&&e.handleMouseMove(a)}};AmCharts.resetMouseOver=function(){for(var a=AmCharts.charts,b=0;b<a.length;b++){var d=a[b];d&&(d.mouseIsOver=!1)}};AmCharts.onReadyArray=[];AmCharts.ready=function(a){AmCharts.onReadyArray.push(a)};
AmCharts.handleLoad=function(){for(var a=AmCharts.onReadyArray,b=0;b<a.length;b++)(0,a[b])()};AmCharts.useUTC=!1;AmCharts.updateRate=40;AmCharts.uid=0;AmCharts.getUniqueId=function(){AmCharts.uid++;return"AmChartsEl-"+AmCharts.uid};AmCharts.isNN&&(document.addEventListener("mousemove",AmCharts.handleMouseMove,!0),window.addEventListener("resize",AmCharts.handleResize,!0),document.addEventListener("mouseup",AmCharts.handleMouseUp,!0),window.addEventListener("load",AmCharts.handleLoad,!0));
AmCharts.isIE&&(document.attachEvent("onmousemove",AmCharts.handleMouseMove),window.attachEvent("onresize",AmCharts.handleResize),document.attachEvent("onmouseup",AmCharts.handleMouseUp),window.attachEvent("onload",AmCharts.handleLoad));AmCharts.AmChart=AmCharts.Class({construct:function(){this.version="2.7.7";AmCharts.addChart(this);this.createEvents("dataUpdated","init");this.height=this.width="100%";this.dataChanged=!0;this.chartCreated=!1;this.previousWidth=this.previousHeight=0;this.backgroundColor="#FFFFFF";this.borderAlpha=this.backgroundAlpha=0;this.color=this.borderColor="#000000";this.fontFamily="Verdana";this.fontSize=11;this.numberFormatter={precision:-1,decimalSeparator:".",thousandsSeparator:","};this.percentFormatter=
{precision:2,decimalSeparator:".",thousandsSeparator:","};this.labels=[];this.allLabels=[];this.titles=[];this.marginRight=this.marginLeft=this.autoMarginOffset=0;var a=document.createElement("div"),b=a.style;b.overflow="hidden";b.position="relative";b.textAlign="left";this.chartDiv=a;a=document.createElement("div");b=a.style;b.overflow="hidden";b.position="relative";this.legendDiv=a;this.balloon=new AmCharts.AmBalloon;this.balloon.chart=this;this.titleHeight=0;this.prefixesOfBigNumbers=[{number:1E3,
prefix:"k"},{number:1E6,prefix:"M"},{number:1E9,prefix:"G"},{number:1E12,prefix:"T"},{number:1E15,prefix:"P"},{number:1E18,prefix:"E"},{number:1E21,prefix:"Z"},{number:1E24,prefix:"Y"}];this.prefixesOfSmallNumbers=[{number:1E-24,prefix:"y"},{number:1E-21,prefix:"z"},{number:1E-18,prefix:"a"},{number:1E-15,prefix:"f"},{number:1E-12,prefix:"p"},{number:1E-9,prefix:"n"},{number:1E-6,prefix:"\u03bc"},{number:0.001,prefix:"m"}];this.panEventsEnabled=!1;AmCharts.bezierX=3;AmCharts.bezierY=6;this.product=
"amcharts"},drawChart:function(){var a=this.container,b=this.realWidth,d=this.realHeight,e=this.set,f=AmCharts.polygon(a,[0,b-1,b-1,0],[0,0,d-1,d-1],this.backgroundColor,this.backgroundAlpha,1,this.borderColor,this.borderAlpha);this.background=f;e.push(f);if(f=this.backgroundImage)this.path&&(f=this.path+f),this.bgImg=a=a.image(f,0,0,b,d),e.push(a);this.redrawLabels();this.drawTitles()},drawTitles:function(){var a=this.titles;if(AmCharts.ifArray(a))for(var b=20,d=0;d<a.length;d++){var e=a[d],f=e.color;
void 0==f&&(f=this.color);var g=e.size;isNaN(e.alpha);var h=this.marginLeft,f=AmCharts.text(this.container,e.text,f,this.fontFamily,g);f.translate(h+(this.divRealWidth-this.marginRight-h)/2,b);h=!0;void 0!=e.bold&&(h=e.bold);h&&f.attr({"font-weight":"bold"});b+=g+6;this.freeLabelsSet.push(f)}},write:function(a){var b=this.balloon;b&&!b.chart&&(b.chart=this);this.div=a="object"!=typeof a?document.getElementById(a):a;a.style.overflow="hidden";var b=this.chartDiv,d=this.legendDiv,e=this.legend,f=d.style,
g=b.style;this.measure();if(e)switch(e.position){case "bottom":a.appendChild(b);a.appendChild(d);break;case "top":a.appendChild(d);a.appendChild(b);break;case "absolute":var h=document.createElement("div"),i=h.style;i.position="relative";i.width=a.style.width;i.height=a.style.height;a.appendChild(h);f.position="absolute";g.position="absolute";void 0!=e.left&&(f.left=e.left+"px");void 0!=e.right&&(f.right=e.right+"px");void 0!=e.top&&(f.top=e.top+"px");void 0!=e.bottom&&(f.bottom=e.bottom+"px");e.marginLeft=
0;e.marginRight=0;h.appendChild(b);h.appendChild(d);break;case "right":f.position="relative";g.position="absolute";a.appendChild(b);a.appendChild(d);break;case "left":f.position="relative",g.position="absolute",a.appendChild(b),a.appendChild(d)}else a.appendChild(b);this.listenersAdded||(this.addListeners(),this.listenersAdded=!0);this.initChart()},createLabelsSet:function(){AmCharts.remove(this.labelsSet);this.labelsSet=this.container.set();this.freeLabelsSet.push(this.labelsSet)},initChart:function(){this.divIsFixed=
AmCharts.findIfFixed(this.chartDiv);this.previousHeight=this.realHeight;this.previousWidth=this.realWidth;this.destroy();var a=0;if(document.attachEvent&&!window.opera){var a=1,b=this.legend;if(b&&(b=b.position,"right"==b||"left"==b))a=2}AmCharts.isNN&&AmCharts.findIfAuto(this.chartDiv)&&(a=3);this.mouseMode=a;a=this.container=new AmCharts.AmDraw(this.chartDiv,this.realWidth,this.realHeight);this.set=a.set();this.gridSet=a.set();this.graphsBehindSet=a.set();this.bulletBehindSet=a.set();this.columnSet=
a.set();this.graphsSet=a.set();this.trendLinesSet=a.set();this.axesLabelsSet=a.set();this.axesSet=a.set();this.cursorSet=a.set();this.scrollbarsSet=a.set();this.bulletSet=a.set();this.freeLabelsSet=a.set();this.balloonsSet=a.set();this.balloonsSet.setAttr("id","balloons");this.zoomButtonSet=a.set();this.linkSet=a.set();this.drb();this.renderFix()},measure:function(){var a=this.div,b=this.chartDiv,d=a.offsetWidth,e=a.offsetHeight,f=this.container;a.clientHeight&&(d=a.clientWidth,e=a.clientHeight);
var g=AmCharts.removePx(AmCharts.getStyle(a,"padding-left")),h=AmCharts.removePx(AmCharts.getStyle(a,"padding-right")),i=AmCharts.removePx(AmCharts.getStyle(a,"padding-top")),j=AmCharts.removePx(AmCharts.getStyle(a,"padding-bottom"));isNaN(g)||(d-=g);isNaN(h)||(d-=h);isNaN(i)||(e-=i);isNaN(j)||(e-=j);g=a.style;a=g.width;g=g.height;-1!=a.indexOf("px")&&(d=AmCharts.removePx(a));-1!=g.indexOf("px")&&(e=AmCharts.removePx(g));a=AmCharts.toCoordinate(this.width,d);g=AmCharts.toCoordinate(this.height,e);
if(a!=this.previousWidth||g!=this.previousHeight)b.style.width=a+"px",b.style.height=g+"px",f&&f.setSize(a,g),this.balloon.setBounds(2,2,a-2,g);this.realWidth=a;this.realHeight=g;this.divRealWidth=d;this.divRealHeight=e},destroy:function(){this.chartDiv.innerHTML="";this.clearTimeOuts()},clearTimeOuts:function(){var a=this.timeOuts;if(a)for(var b=0;b<a.length;b++)clearTimeout(a[b]);this.timeOuts=[]},clear:function(){AmCharts.callMethod("clear",[this.chartScrollbar,this.scrollbarV,this.scrollbarH,
this.chartCursor]);this.chartCursor=this.scrollbarH=this.scrollbarV=this.chartScrollbar=null;this.clearTimeOuts();this.container&&this.container.remove();AmCharts.removeChart(this)},setMouseCursor:function(a){"auto"==a&&AmCharts.isNN&&(a="default");this.chartDiv.style.cursor=a;this.legendDiv.style.cursor=a},redrawLabels:function(){this.labels=[];var a=this.allLabels;this.createLabelsSet();for(var b=0;b<a.length;b++)this.drawLabel(a[b])},drawLabel:function(a){if(this.container){var b=a.y,d=a.text,
e=a.align,f=a.size,g=a.color,h=a.rotation,i=a.alpha,j=a.bold,k=AmCharts.toCoordinate(a.x,this.realWidth),b=AmCharts.toCoordinate(b,this.realHeight);k||(k=0);b||(b=0);void 0==g&&(g=this.color);isNaN(f)&&(f=this.fontSize);e||(e="start");"left"==e&&(e="start");"right"==e&&(e="end");"center"==e&&(e="middle",h?b=this.realHeight-b+b/2:k=this.realWidth/2-k);void 0==i&&(i=1);void 0==h&&(h=0);b+=f/2;a=AmCharts.text(this.container,d,g,this.fontFamily,f,e,j,i);a.translate(k,b);0!=h&&a.rotate(h);this.labelsSet.push(a);
this.labels.push(a)}},addLabel:function(a,b,d,e,f,g,h,i,j){a={x:a,y:b,text:d,align:e,size:f,color:g,alpha:i,rotation:h,bold:j};this.container&&this.drawLabel(a);this.allLabels.push(a)},clearLabels:function(){for(var a=this.labels,b=a.length-1;0<=b;b--)a[b].remove();this.labels=[];this.allLabels=[]},updateHeight:function(){var a=this.divRealHeight,b=this.legend;if(b){var d=this.legendDiv.offsetHeight,b=b.position;if("top"==b||"bottom"==b)a-=d,0>a&&(a=0),this.chartDiv.style.height=a+"px"}return a},
updateWidth:function(){var a=this.divRealWidth,b=this.divRealHeight,d=this.legend;if(d){var e=this.legendDiv,f=e.offsetWidth,g=e.offsetHeight,e=e.style,h=this.chartDiv.style,d=d.position;if("right"==d||"left"==d)a-=f,0>a&&(a=0),h.width=a+"px","left"==d?h.left=f+"px":e.left=a+"px",e.top=(b-g)/2+"px"}return a},getTitleHeight:function(){var a=0,b=this.titles;if(0<b.length)for(var a=15,d=0;d<b.length;d++)a+=b[d].size+6;return a},addTitle:function(a,b,d,e,f){isNaN(b)&&(b=this.fontSize+2);a={text:a,size:b,
color:d,alpha:e,bold:f};this.titles.push(a);return a},addListeners:function(){var a=this,b=a.chartDiv;AmCharts.isNN&&(a.panEventsEnabled&&"ontouchstart"in document.documentElement&&(b.addEventListener("touchstart",function(b){a.handleTouchMove.call(a,b);a.handleTouchStart.call(a,b)},!0),b.addEventListener("touchmove",function(b){a.handleTouchMove.call(a,b)},!0),b.addEventListener("touchend",function(b){a.handleTouchEnd.call(a,b)},!0)),b.addEventListener("mousedown",function(b){a.handleMouseDown.call(a,
b)},!0),b.addEventListener("mouseover",function(b){a.handleMouseOver.call(a,b)},!0),b.addEventListener("mouseout",function(b){a.handleMouseOut.call(a,b)},!0));AmCharts.isIE&&(b.attachEvent("onmousedown",function(b){a.handleMouseDown.call(a,b)}),b.attachEvent("onmouseover",function(b){a.handleMouseOver.call(a,b)}),b.attachEvent("onmouseout",function(b){a.handleMouseOut.call(a,b)}))},dispDUpd:function(){var a;this.dispatchDataUpdated&&(this.dispatchDataUpdated=!1,a="dataUpdated",this.fire(a,{type:a,
chart:this}));this.chartCreated||(a="init",this.fire(a,{type:a,chart:this}))},drb:function(){},validateSize:function(){var a=this;a.measure();var b=a.legend;if((a.realWidth!=a.previousWidth||a.realHeight!=a.previousHeight)&&0<a.realWidth&&0<a.realHeight&&a.chartCreated){a.sizeChanged=!0;if(b){clearTimeout(a.legendInitTO);var d=setTimeout(function(){b.invalidateSize()},100);a.timeOuts.push(d);a.legendInitTO=d}clearTimeout(a.initTO);d=setTimeout(function(){a.initChart()},100);a.timeOuts.push(d);a.initTO=
d}a.renderFix();b&&b.renderFix()},invalidateSize:function(){var a=this;a.previousWidth=NaN;a.previousHeight=NaN;a.marginsUpdated=!1;clearTimeout(a.initTO);var b=setTimeout(function(){a.validateSize()},1);a.timeOuts.push(b);a.initTO=b},validateData:function(a){this.chartCreated&&(this.dataChanged=!0,this.marginsUpdated=!1,this.initChart(a))},validateNow:function(){this.initChart()},showItem:function(a){a.hidden=!1;this.initChart()},hideItem:function(a){a.hidden=!0;this.initChart()},hideBalloon:function(){var a=
this;a.hoverInt=setTimeout(function(){a.hideBalloonReal.call(a)},80)},hideBalloonReal:function(){var a=this.balloon;a&&a.hide()},showBalloon:function(a,b,d,e,f){var g=this;clearTimeout(g.balloonTO);g.balloonTO=setTimeout(function(){g.showBalloonReal.call(g,a,b,d,e,f)},1)},showBalloonReal:function(a,b,d,e,f){this.handleMouseMove();var g=this.balloon;g.enabled&&(g.followCursor(!1),g.changeColor(b),d||g.setPosition(e,f),g.followCursor(d),a&&g.showBalloon(a))},handleTouchMove:function(a){this.hideBalloon();
var b=this.chartDiv;a.touches&&(a=a.touches.item(0),this.mouseX=a.pageX-AmCharts.findPosX(b),this.mouseY=a.pageY-AmCharts.findPosY(b))},handleMouseOver:function(){AmCharts.resetMouseOver();this.mouseIsOver=!0},handleMouseOut:function(){AmCharts.resetMouseOver();this.mouseIsOver=!1},handleMouseMove:function(a){if(this.mouseIsOver){var b=this.chartDiv;a||(a=window.event);var d,e;if(a){switch(this.mouseMode){case 3:d=a.pageX-AmCharts.findPosX(b)+AmCharts.findScrollLeft(b,0);e=a.pageY-AmCharts.findPosY(b)+
AmCharts.findScrollTop(b,0);break;case 2:d=a.x-AmCharts.findPosX(b);e=a.y-AmCharts.findPosY(b);break;case 1:d=a.x;e=a.y;break;case 0:this.divIsFixed?(d=a.clientX-AmCharts.findPosX(b),e=a.clientY-AmCharts.findPosY(b)):(d=a.pageX-AmCharts.findPosX(b),e=a.pageY-AmCharts.findPosY(b))}this.mouseX=d;this.mouseY=e}}},handleTouchStart:function(a){this.handleMouseDown(a)},handleTouchEnd:function(a){AmCharts.resetMouseOver();this.handleReleaseOutside(a)},handleReleaseOutside:function(){},handleMouseDown:function(a){AmCharts.resetMouseOver();
this.mouseIsOver=!0;a&&a.preventDefault&&a.preventDefault()},addLegend:function(a){AmCharts.extend(a,new AmCharts.AmLegend);this.legend=a;a.chart=this;a.div=this.legendDiv;var b=this.handleLegendEvent;this.listenTo(a,"showItem",b);this.listenTo(a,"hideItem",b);this.listenTo(a,"clickMarker",b);this.listenTo(a,"rollOverItem",b);this.listenTo(a,"rollOutItem",b);this.listenTo(a,"rollOverMarker",b);this.listenTo(a,"rollOutMarker",b);this.listenTo(a,"clickLabel",b)},removeLegend:function(){this.legend=
void 0;this.legendDiv.innerHTML=""},handleResize:function(){(AmCharts.isPercents(this.width)||AmCharts.isPercents(this.height))&&this.validateSize();this.renderFix()},renderFix:function(){if(!AmCharts.VML){var a=this.container;a&&a.renderFix()}},getSVG:function(){if(AmCharts.hasSVG)return this.container}});AmCharts.Slice=AmCharts.Class({construct:function(){}});AmCharts.SerialDataItem=AmCharts.Class({construct:function(){}});AmCharts.GraphDataItem=AmCharts.Class({construct:function(){}});
AmCharts.Guide=AmCharts.Class({construct:function(){}});AmCharts.toBoolean=function(a,b){if(void 0==a)return b;switch(String(a).toLowerCase()){case "true":case "yes":case "1":return!0;case "false":case "no":case "0":case null:return!1;default:return Boolean(a)}};AmCharts.removeFromArray=function(a,b){for(var d=a.length-1;0<=d;d--)a[d]==b&&a.splice(d,1)};
AmCharts.getStyle=function(a,b){var d="";document.defaultView&&document.defaultView.getComputedStyle?d=document.defaultView.getComputedStyle(a,"").getPropertyValue(b):a.currentStyle&&(b=b.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),d=a.currentStyle[b]);return d};AmCharts.removePx=function(a){return Number(a.substring(0,a.length-2))};
AmCharts.getURL=function(a,b){if(a)if("_self"==b||!b)window.location.href=a;else if("_top"==b&&window.top)window.top.location.href=a;else if("_parent"==b&&window.parent)window.parent.location.href=a;else{var d=document.getElementsByName(b)[0];d?d.src=a:window.open(a)}};AmCharts.formatMilliseconds=function(a,b){if(-1!=a.indexOf("fff")){var d=b.getMilliseconds(),e=String(d);10>d&&(e="00"+d);10<=d&&100>d&&(e="0"+d);a=a.replace(/fff/g,e)}return a};
AmCharts.ifArray=function(a){return a&&0<a.length?!0:!1};AmCharts.callMethod=function(a,b){for(var d=0;d<b.length;d++){var e=b[d];if(e){if(e[a])e[a]();var f=e.length;if(0<f)for(var g=0;g<f;g++){var h=e[g];if(h&&h[a])h[a]()}}}};AmCharts.toNumber=function(a){return"number"==typeof a?a:Number(String(a).replace(/[^0-9\-.]+/g,""))};
AmCharts.toColor=function(a){if(""!=a&&void 0!=a)if(-1!=a.indexOf(","))for(var a=a.split(","),b=0;b<a.length;b++){var d=a[b].substring(a[b].length-6,a[b].length);a[b]="#"+d}else a=a.substring(a.length-6,a.length),a="#"+a;return a};AmCharts.toCoordinate=function(a,b,d){var e;void 0!=a&&(a=a.toString(),d&&d<b&&(b=d),e=Number(a),-1!=a.indexOf("!")&&(e=b-Number(a.substr(1))),-1!=a.indexOf("%")&&(e=b*Number(a.substr(0,a.length-1))/100));return e};
AmCharts.fitToBounds=function(a,b,d){a<b&&(a=b);a>d&&(a=d);return a};AmCharts.isDefined=function(a){return void 0==a?!1:!0};AmCharts.stripNumbers=function(a){return a.replace(/[0-9]+/g,"")};AmCharts.extractPeriod=function(a){var b=AmCharts.stripNumbers(a),d=1;b!=a&&(d=Number(a.slice(0,a.indexOf(b))));return{period:b,count:d}};
AmCharts.resetDateToMin=function(a,b,d,e){void 0==e&&(e=1);var f=a.getFullYear(),g=a.getMonth(),h=a.getDate(),i=a.getHours(),j=a.getMinutes(),k=a.getSeconds(),l=a.getMilliseconds(),a=a.getDay();switch(b){case "YYYY":f=Math.floor(f/d)*d;g=0;h=1;l=k=j=i=0;break;case "MM":g=Math.floor(g/d)*d;h=1;l=k=j=i=0;break;case "WW":0==a&&0<e&&(a=7);h=h-a+e;l=k=j=i=0;break;case "DD":h=Math.floor(h/d)*d;l=k=j=i=0;break;case "hh":i=Math.floor(i/d)*d;l=k=j=0;break;case "mm":j=Math.floor(j/d)*d;l=k=0;break;case "ss":k=
Math.floor(k/d)*d;l=0;break;case "fff":l=Math.floor(l/d)*d}return a=new Date(f,g,h,i,j,k,l)};AmCharts.getPeriodDuration=function(a,b){void 0==b&&(b=1);var d;switch(a){case "YYYY":d=316224E5;break;case "MM":d=26784E5;break;case "WW":d=6048E5;break;case "DD":d=864E5;break;case "hh":d=36E5;break;case "mm":d=6E4;break;case "ss":d=1E3;break;case "fff":d=1}return d*b};AmCharts.roundTo=function(a,b){if(0>b)return a;var d=Math.pow(10,b);return Math.round(a*d)/d};
AmCharts.toFixed=function(a,b){var d=Math.round(a*Math.pow(10,b)).toString();if(0<b){var e=d.length;if(e<b)for(var f=0;f<b-e;f++)d="0"+d;e=d.substring(0,d.length-b);""==e&&(e=0);return e+"."+d.substring(d.length-b,d.length)}return d.toString()};AmCharts.intervals={s:{nextInterval:"ss",contains:1E3},ss:{nextInterval:"mm",contains:60,count:0},mm:{nextInterval:"hh",contains:60,count:1},hh:{nextInterval:"DD",contains:24,count:2},DD:{nextInterval:"",contains:Infinity,count:3}};
AmCharts.getMaxInterval=function(a,b){var d=AmCharts.intervals;return a>=d[b].contains?(a=Math.round(a/d[b].contains),b=d[b].nextInterval,AmCharts.getMaxInterval(a,b)):"ss"==b?d[b].nextInterval:b};
AmCharts.formatDuration=function(a,b,d,e,f,g){var h=AmCharts.intervals,i=g.decimalSeparator;if(a>=h[b].contains){var j=a-Math.floor(a/h[b].contains)*h[b].contains;"ss"==b&&(j=AmCharts.formatNumber(j,g),1==j.split(i)[0].length&&(j="0"+j));if(("mm"==b||"hh"==b)&&10>j)j="0"+j;d=j+""+e[b]+""+d;a=Math.floor(a/h[b].contains);b=h[b].nextInterval;return AmCharts.formatDuration(a,b,d,e,f,g)}"ss"==b&&(a=AmCharts.formatNumber(a,g),1==a.split(i)[0].length&&(a="0"+a));if(("mm"==b||"hh"==b)&&10>a)a="0"+a;d=a+""+
e[b]+""+d;if(h[f].count>h[b].count)for(a=h[b].count;a<h[f].count;a++)b=h[b].nextInterval,"ss"==b||"mm"==b||"hh"==b?d="00"+e[b]+""+d:"DD"==b&&(d="0"+e[b]+""+d);":"==d.charAt(d.length-1)&&(d=d.substring(0,d.length-1));return d};
AmCharts.formatNumber=function(a,b,d,e,f){a=AmCharts.roundTo(a,b.precision);isNaN(d)&&(d=b.precision);var g=b.decimalSeparator,b=b.thousandsSeparator,h=0>a?"-":"",a=Math.abs(a),i=a.toString(),j=!1;-1!=i.indexOf("e")&&(j=!0);0<=d&&(0!=a&&!j)&&(i=AmCharts.toFixed(a,d));if(j)j=i;else{for(var i=i.split("."),j="",k=i[0].toString(),l=k.length;0<=l;l-=3)j=l!=k.length?0!=l?k.substring(l-3,l)+b+j:k.substring(l-3,l)+j:k.substring(l-3,l);void 0!=i[1]&&(j=j+g+i[1]);void 0!=d&&(0<d&&"0"!=j)&&(j=AmCharts.addZeroes(j,
g,d))}j=h+j;""==h&&(!0==e&&0!=a)&&(j="+"+j);!0==f&&(j+="%");return j};AmCharts.addZeroes=function(a,b,d){a=a.split(b);void 0==a[1]&&0<d&&(a[1]="0");return a[1].length<d?(a[1]+="0",AmCharts.addZeroes(a[0]+b+a[1],b,d)):void 0!=a[1]?a[0]+b+a[1]:a[0]};
AmCharts.scientificToNormal=function(a){var b,a=a.toString().split("e");if("-"==a[1].substr(0,1)){b="0.";for(var d=0;d<Math.abs(Number(a[1]))-1;d++)b+="0";b+=a[0].split(".").join("")}else{var e=0;b=a[0].split(".");b[1]&&(e=b[1].length);b=a[0].split(".").join("");for(d=0;d<Math.abs(Number(a[1]))-e;d++)b+="0"}return b};
AmCharts.toScientific=function(a,b){if(0==a)return"0";var d=Math.floor(Math.log(Math.abs(a))*Math.LOG10E);Math.pow(10,d);mantissa=mantissa.toString().split(".").join(b);return mantissa.toString()+"e"+d};AmCharts.randomColor=function(){function a(){return Math.floor(256*Math.random()).toString(16)}return"#"+a()+a()+a()};
AmCharts.hitTest=function(a,b,d){var e=!1,f=a.x,g=a.x+a.width,h=a.y,i=a.y+a.height,j=AmCharts.isInRectangle;e||(e=j(f,h,b));e||(e=j(f,i,b));e||(e=j(g,h,b));e||(e=j(g,i,b));!e&&!0!=d&&(e=AmCharts.hitTest(b,a,!0));return e};AmCharts.isInRectangle=function(a,b,d){return a>=d.x-5&&a<=d.x+d.width+5&&b>=d.y-5&&b<=d.y+d.height+5?!0:!1};AmCharts.isPercents=function(a){if(-1!=String(a).indexOf("%"))return!0};AmCharts.dayNames="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" ");
AmCharts.shortDayNames="Sun Mon Tue Wed Thu Fri Sat".split(" ");AmCharts.monthNames="January February March April May June July August September October November December".split(" ");AmCharts.shortMonthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ");
AmCharts.formatDate=function(a,b){var d,e,f,g,h,i,j,k;AmCharts.useUTC?(d=a.getUTCFullYear(),e=a.getUTCMonth(),f=a.getUTCDate(),g=a.getUTCDay(),h=a.getUTCHours(),i=a.getUTCMinutes(),j=a.getUTCSeconds(),k=a.getUTCMilliseconds()):(d=a.getFullYear(),e=a.getMonth(),f=a.getDate(),g=a.getDay(),h=a.getHours(),i=a.getMinutes(),j=a.getSeconds(),k=a.getMilliseconds());var l=String(d).substr(2,2),m=e+1;9>e&&(m="0"+m);var r=f;10>f&&(r="0"+f);var n="0"+g,q=h;24==q&&(q=0);var p=q;10>p&&(p="0"+p);b=b.replace(/JJ/g,
p);b=b.replace(/J/g,q);q=h;0==q&&(q=24);p=q;10>p&&(p="0"+p);b=b.replace(/HH/g,p);b=b.replace(/H/g,q);q=h;11<q&&(q-=12);p=q;10>p&&(p="0"+p);b=b.replace(/KK/g,p);b=b.replace(/K/g,q);q=h;0==q&&(q=12);12<q&&(q-=12);p=q;10>p&&(p="0"+p);b=b.replace(/LL/g,p);b=b.replace(/L/g,q);q=i;10>q&&(q="0"+q);b=b.replace(/NN/g,q);b=b.replace(/N/g,i);i=j;10>i&&(i="0"+i);b=b.replace(/SS/g,i);b=b.replace(/S/g,j);j=k;10>j&&(j="00"+j);100>j&&(j="0"+j);i=k;10>i&&(i="00"+i);b=b.replace(/QQQ/g,j);b=b.replace(/QQ/g,i);b=b.replace(/Q/g,
k);b=12>h?b.replace(/A/g,"am"):b.replace(/A/g,"pm");b=b.replace(/YYYY/g,"@IIII@");b=b.replace(/YY/g,"@II@");b=b.replace(/MMMM/g,"@XXXX@");b=b.replace(/MMM/g,"@XXX@");b=b.replace(/MM/g,"@XX@");b=b.replace(/M/g,"@X@");b=b.replace(/DD/g,"@RR@");b=b.replace(/D/g,"@R@");b=b.replace(/EEEE/g,"@PPPP@");b=b.replace(/EEE/g,"@PPP@");b=b.replace(/EE/g,"@PP@");b=b.replace(/E/g,"@P@");b=b.replace(/@IIII@/g,d);b=b.replace(/@II@/g,l);b=b.replace(/@XXXX@/g,AmCharts.monthNames[e]);b=b.replace(/@XXX@/g,AmCharts.shortMonthNames[e]);
b=b.replace(/@XX@/g,m);b=b.replace(/@X@/g,e+1);b=b.replace(/@RR@/g,r);b=b.replace(/@R@/g,f);b=b.replace(/@PPPP@/g,AmCharts.dayNames[g]);b=b.replace(/@PPP@/g,AmCharts.shortDayNames[g]);b=b.replace(/@PP@/g,n);return b=b.replace(/@P@/g,g)};AmCharts.findPosX=function(a){var b=a.offsetLeft;if(a.offsetParent)for(;a=a.offsetParent;)b+=a.offsetLeft,a!=document.body&&a!=document.documentElement&&(b-=a.scrollLeft);return b};
AmCharts.findPosY=function(a){var b=a.offsetTop;if(a.offsetParent)for(;a=a.offsetParent;)b+=a.offsetTop,a!=document.body&&a!=document.documentElement&&(b-=a.scrollTop);return b};AmCharts.findIfFixed=function(a){if(a.offsetParent)for(;a=a.offsetParent;)if("fixed"==a.style.position)return!0;return!1};AmCharts.findIfAuto=function(a){return a.style&&"auto"==a.style.overflow?!0:a.parentNode?AmCharts.findIfAuto(a.parentNode):!1};
AmCharts.findScrollLeft=function(a,b){a.scrollLeft&&(b+=a.scrollLeft);return a.parentNode?AmCharts.findScrollLeft(a.parentNode,b):b};AmCharts.findScrollTop=function(a,b){a.scrollTop&&(b+=a.scrollTop);return a.parentNode?AmCharts.findScrollTop(a.parentNode,b):b};AmCharts.formatValue=function(a,b,d,e,f,g,h,i){if(b){void 0==f&&(f="");for(var j=0;j<d.length;j++){var k=d[j],l=b[k];void 0!=l&&(l=g?AmCharts.addPrefix(l,i,h,e):AmCharts.formatNumber(l,e),a=a.replace(RegExp("\\[\\["+f+""+k+"\\]\\]","g"),l))}}return a};
AmCharts.formatDataContextValue=function(a,b){if(a)for(var d=a.match(/\[\[.*?\]\]/g),e=0;e<d.length;e++){var f=d[e],f=f.substr(2,f.length-4);void 0!=b[f]&&(a=a.replace(RegExp("\\[\\["+f+"\\]\\]","g"),b[f]))}return a};AmCharts.massReplace=function(a,b){for(var d in b){var e=b[d];void 0==e&&(e="");a=a.replace(d,e)}return a};AmCharts.cleanFromEmpty=function(a){return a.replace(/\[\[[^\]]*\]\]/g,"")};
AmCharts.addPrefix=function(a,b,d,e){var f=AmCharts.formatNumber(a,e),g="",h;if(0==a)return"0";0>a&&(g="-");a=Math.abs(a);if(1<a)for(h=b.length-1;-1<h;h--){if(a>=b[h].number){a/=b[h].number;e=Number(e.precision);1>e&&(e=1);a=AmCharts.roundTo(a,e);f=g+""+a+""+b[h].prefix;break}}else for(h=0;h<d.length;h++)if(a<=d[h].number){a/=d[h].number;e=Math.abs(Math.round(Math.log(a)*Math.LOG10E));a=AmCharts.roundTo(a,e);f=g+""+a+""+d[h].prefix;break}return f};AmCharts.remove=function(a){a&&a.remove()};
AmCharts.copyProperties=function(a,b){for(var d in a)"events"!=d&&(void 0!=a[d]&&"function"!=typeof a[d])&&(b[d]=a[d])};AmCharts.recommended=function(){var a="js";document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")||swfobject&&swfobject.hasFlashPlayerVersion("8")&&(a="flash");return a};AmCharts.getEffect=function(a){">"==a&&(a="easeOutSine");"<"==a&&(a="easeInSine");"elastic"==a&&(a="easeOutElastic");return a};
AmCharts.extend=function(a,b){for(var d in b)void 0==a[d]&&(a[d]=b[d])};AmCharts.fixNewLines=function(a){9>AmCharts.IEversion&&0<AmCharts.IEversion&&(a=AmCharts.massReplace(a,{"\n":"\r"}));return a};AmCharts.Bezier=AmCharts.Class({construct:function(a,b,d,e,f,g,h,i,j,k){"object"==typeof h&&(h=h[0]);"object"==typeof i&&(i=i[0]);g={fill:h,"fill-opacity":i,"stroke-width":g};void 0!=j&&0<j&&(g["stroke-dasharray"]=j);isNaN(f)||(g["stroke-opacity"]=f);e&&(g.stroke=e);e="M"+Math.round(b[0])+","+Math.round(d[0]);f=[];for(j=0;j<b.length;j++)f.push({x:Number(b[j]),y:Number(d[j])});1<f.length&&(b=this.interpolate(f),e+=this.drawBeziers(b));k?e+=k:AmCharts.VML||(e+="M0,0 L0,0");this.path=a.path(e).attr(g)},
interpolate:function(a){var b=[];b.push({x:a[0].x,y:a[0].y});var d=a[1].x-a[0].x,e=a[1].y-a[0].y,f=AmCharts.bezierX,g=AmCharts.bezierY;b.push({x:a[0].x+d/f,y:a[0].y+e/g});for(var h=1;h<a.length-1;h++){var i=a[h-1],j=a[h],e=a[h+1],d=e.x-j.x,e=e.y-i.y,i=j.x-i.x;i>d&&(i=d);b.push({x:j.x-i/f,y:j.y-e/g});b.push({x:j.x,y:j.y});b.push({x:j.x+i/f,y:j.y+e/g})}e=a[a.length-1].y-a[a.length-2].y;d=a[a.length-1].x-a[a.length-2].x;b.push({x:a[a.length-1].x-d/f,y:a[a.length-1].y-e/g});b.push({x:a[a.length-1].x,
y:a[a.length-1].y});return b},drawBeziers:function(a){for(var b="",d=0;d<(a.length-1)/3;d++)b+=this.drawBezierMidpoint(a[3*d],a[3*d+1],a[3*d+2],a[3*d+3]);return b},drawBezierMidpoint:function(a,b,d,e){var f=Math.round,g=this.getPointOnSegment(a,b,0.75),h=this.getPointOnSegment(e,d,0.75),i=(e.x-a.x)/16,j=(e.y-a.y)/16,k=this.getPointOnSegment(a,b,0.375),a=this.getPointOnSegment(g,h,0.375);a.x-=i;a.y-=j;b=this.getPointOnSegment(h,g,0.375);b.x+=i;b.y+=j;d=this.getPointOnSegment(e,d,0.375);i=this.getMiddle(k,
a);g=this.getMiddle(g,h);h=this.getMiddle(b,d);k=" Q"+f(k.x)+","+f(k.y)+","+f(i.x)+","+f(i.y);k+=" Q"+f(a.x)+","+f(a.y)+","+f(g.x)+","+f(g.y);k+=" Q"+f(b.x)+","+f(b.y)+","+f(h.x)+","+f(h.y);return k+=" Q"+f(d.x)+","+f(d.y)+","+f(e.x)+","+f(e.y)},getMiddle:function(a,b){return{x:(a.x+b.x)/2,y:(a.y+b.y)/2}},getPointOnSegment:function(a,b,d){return{x:a.x+(b.x-a.x)*d,y:a.y+(b.y-a.y)*d}}});AmCharts.Cuboid=AmCharts.Class({construct:function(a,b,d,e,f,g,h,i,j,k,l,m,r){this.set=a.set();this.container=a;this.h=Math.round(d);this.w=Math.round(b);this.dx=e;this.dy=f;this.colors=g;this.alpha=h;this.bwidth=i;this.bcolor=j;this.balpha=k;this.colors=g;r?0>b&&0==l&&(l=180):0>d&&270==l&&(l=90);this.gradientRotation=l;0==e&&0==f&&(this.cornerRadius=m);this.draw()},draw:function(){var a=this.set;a.clear();var b=this.container,d=this.w,e=this.h,f=this.dx,g=this.dy,h=this.colors,i=this.alpha,j=this.bwidth,
k=this.bcolor,l=this.balpha,m=this.gradientRotation,r=this.cornerRadius,n=h,q=h;"object"==typeof h&&(n=h[0],q=h[h.length-1]);if(0<f||0<g){var p=q,q=AmCharts.adjustLuminosity(n,-0.2),q=AmCharts.adjustLuminosity(n,-0.2),s=AmCharts.polygon(b,[0,f,d+f,d,0],[0,g,g,0,0],q,i,0,0,0,m);if(0<l)var t=AmCharts.line(b,[0,f,d+f],[0,g,g],k,l,j);var u=AmCharts.polygon(b,[0,0,d,d,0],[0,e,e,0,0],q,i,0,0,0,0,m);u.translate(f,g);if(0<l)var x=AmCharts.line(b,[f,f],[g,g+e],k,1,j);var z=AmCharts.polygon(b,[0,0,f,f,0],[0,
e,e+g,g,0],q,i,0,0,0,m),y=AmCharts.polygon(b,[d,d,d+f,d+f,d],[0,e,e+g,g,0],q,i,0,0,0,m);if(0<l)var v=AmCharts.line(b,[d,d+f,d+f,d],[0,g,e+g,e],k,l,j);q=AmCharts.adjustLuminosity(p,0.2);p=AmCharts.polygon(b,[0,f,d+f,d,0],[e,e+g,e+g,e,e],q,i,0,0,0,m);if(0<l)var C=AmCharts.line(b,[0,f,d+f],[e,e+g,e+g],k,l,j)}1>Math.abs(e)&&(e=0);1>Math.abs(d)&&(d=0);b=0==e?AmCharts.line(b,[0,d],[0,0],n,l,j):0==d?AmCharts.line(b,[0,0],[0,e],n,l,j):0<r?AmCharts.rect(b,d,e,h,i,j,k,l,r,m):AmCharts.polygon(b,[0,0,d,d,0],
[0,e,e,0,0],h,i,j,k,l,m);e=0>e?[s,t,u,x,z,y,v,p,C,b]:[p,C,u,x,z,y,s,t,v,b];for(s=0;s<e.length;s++)(t=e[s])&&a.push(t)},width:function(a){this.w=a;this.draw()},height:function(a){this.h=a;this.draw()},animateHeight:function(a,b){var d=this;d.easing=b;d.totalFrames=1E3*a/AmCharts.updateRate;d.rh=d.h;d.frame=0;d.height(1);setTimeout(function(){d.updateHeight.call(d)},AmCharts.updateRate)},updateHeight:function(){var a=this;a.frame++;var b=a.totalFrames;a.frame<=b&&(b=a.easing(0,a.frame,1,a.rh-1,b),a.height(b),
setTimeout(function(){a.updateHeight.call(a)},AmCharts.updateRate))},animateWidth:function(a,b){var d=this;d.easing=b;d.totalFrames=1E3*a/AmCharts.updateRate;d.rw=d.w;d.frame=0;d.width(1);setTimeout(function(){d.updateWidth.call(d)},AmCharts.updateRate)},updateWidth:function(){var a=this;a.frame++;var b=a.totalFrames;a.frame<=b&&(b=a.easing(0,a.frame,1,a.rw-1,b),a.width(b),setTimeout(function(){a.updateWidth.call(a)},AmCharts.updateRate))}});AmCharts.AmLegend=AmCharts.Class({construct:function(){this.createEvents("rollOverMarker","rollOverItem","rollOutMarker","rollOutItem","showItem","hideItem","clickMarker","rollOverItem","rollOutItem","clickLabel");this.position="bottom";this.borderColor=this.color="#000000";this.borderAlpha=0;this.markerLabelGap=5;this.verticalGap=10;this.align="left";this.horizontalGap=0;this.spacing=10;this.markerDisabledColor="#AAB3B3";this.markerType="square";this.markerSize=16;this.markerBorderAlpha;this.markerBorderThickness=
1;this.marginBottom=this.marginTop=0;this.marginLeft=this.marginRight=20;this.autoMargins=!0;this.valueWidth=50;this.switchable=!0;this.switchType="x";this.switchColor="#FFFFFF";this.rollOverColor="#CC0000";this.selectedColor;this.reversedOrder=!1;this.labelText="[[title]]";this.valueText="[[value]]";this.useMarkerColorForLabels=!1;this.rollOverGraphAlpha=1;this.textClickEnabled=!1;this.equalWidths=!0;this.dateFormat="DD-MM-YYYY";this.backgroundColor="#FFFFFF";this.backgroundAlpha=0;this.ly;this.lx;
this.showEntries=!0},setData:function(a){this.data=a;this.invalidateSize()},invalidateSize:function(){this.destroy();this.entries=[];this.valueLabels=[];AmCharts.ifArray(this.data)&&this.drawLegend()},drawLegend:function(){var a=this.chart,b=this.position,d=this.width,e=a.realWidth,f=a.realHeight,g=this.div,h=this.data;isNaN(this.fontSize)&&(this.fontSize=a.fontSize);if("right"==b||"left"==b)this.maxColumns=1,this.marginLeft=this.marginRight=10;else if(this.autoMargins){this.marginRight=a.marginRight;
this.marginLeft=a.marginLeft;var i=a.autoMarginOffset;"bottom"==b?(this.marginBottom=i,this.marginTop=0):(this.marginTop=i,this.marginBottom=0)}this.divWidth=b=void 0!=d?AmCharts.toCoordinate(d,e):a.realWidth;g.style.width=b+"px";this.container=new AmCharts.AmDraw(g,b,f);this.lx=0;this.ly=8;f=this.markerSize;f>this.fontSize&&(this.ly=f/2-1);0<f&&(this.lx+=f+this.markerLabelGap);this.titleWidth=0;if(f=this.title)a=AmCharts.text(this.container,f,this.color,a.fontFamily,this.fontSize,"start",!0),a.translate(0,
this.marginTop+this.verticalGap+this.ly+1),a=a.getBBox(),this.titleWidth=a.width+15,this.titleHeight=a.height+6;this.index=this.maxLabelWidth=0;if(this.showEntries){for(a=0;a<h.length;a++)this.createEntry(h[a]);for(a=this.index=0;a<h.length;a++)this.createValue(h[a])}this.arrangeEntries();this.updateValues()},arrangeEntries:function(){var a=this.position,b=this.marginLeft+this.titleWidth,d=this.marginRight,e=this.marginTop,f=this.marginBottom,g=this.horizontalGap,h=this.div,i=this.divWidth,j=this.maxColumns,
k=this.verticalGap,l=this.spacing,m=i-d-b,r=0,n=0,q=this.container,p=q.set();this.set=p;q=q.set();p.push(q);for(var s=this.entries,t=0;t<s.length;t++){var u=s[t].getBBox(),x=u.width;x>r&&(r=x);u=u.height;u>n&&(n=u)}for(var z=x=0,y=g,t=0;t<s.length;t++){var v=s[t];this.reversedOrder&&(v=s[s.length-t-1]);var u=v.getBBox(),C;this.equalWidths?C=g+z*(r+l+this.markerLabelGap):(C=y,y=y+u.width+g+l);C+u.width>m&&0<t&&(x++,z=0,C=g,y=C+u.width+g+l);v.translate(C,(n+k)*x);z++;!isNaN(j)&&z>=j&&(z=0,x++);q.push(v)}u=
q.getBBox();j=u.height+2*k-1;"left"==a||"right"==a?(i=u.width+2*g,h.style.width=i+b+d+"px"):i=i-b-d-1;d=AmCharts.polygon(this.container,[0,i,i,0],[0,0,j,j],this.backgroundColor,this.backgroundAlpha,1,this.borderColor,this.borderAlpha);p.push(d);p.translate(b,e);d.toBack();b=g;if("top"==a||"bottom"==a||"absolute"==a)"center"==this.align?b=g+(i-u.width)/2:"right"==this.align&&(b=g+i-u.width);q.translate(b,k+1);this.titleHeight>j&&(j=this.titleHeight);a=j+e+f+1;0>a&&(a=0);h.style.height=Math.round(a)+
"px"},createEntry:function(a){if(!1!==a.visibleInLegend){var b=this.chart,d=a.markerType;d||(d=this.markerType);var e=a.color,f=a.alpha;a.legendKeyColor&&(e=a.legendKeyColor());a.legendKeyAlpha&&(f=a.legendKeyAlpha());!0==a.hidden&&(e=this.markerDisabledColor);var g=this.createMarker(d,e,f);this.addListeners(g,a);f=this.container.set([g]);this.switchable&&f.setAttr("cursor","pointer");var h=this.switchType;if(h){var i;i="x"==h?this.createX():this.createV();i.dItem=a;!0!=a.hidden?"x"==h?i.hide():i.show():
"x"!=h&&i.hide();this.switchable||i.hide();this.addListeners(i,a);a.legendSwitch=i;f.push(i)}h=this.color;a.showBalloon&&(this.textClickEnabled&&void 0!=this.selectedColor)&&(h=this.selectedColor);this.useMarkerColorForLabels&&(h=e);!0==a.hidden&&(h=this.markerDisabledColor);e=AmCharts.massReplace(this.labelText,{"[[title]]":a.title});i=this.fontSize;var j=this.markerSize;if(g&&j<i){var k=0;if("bubble"==d||"circle"==d)k=j/2;g.translate(k,k+this.ly-i/2+(i+2-j)/2)}if(e){var l=AmCharts.text(this.container,
e,h,b.fontFamily,i,"start");l.translate(this.lx,this.ly);f.push(l);b=l.getBBox().width;this.maxLabelWidth<b&&(this.maxLabelWidth=b)}this.entries[this.index]=f;a.legendEntry=this.entries[this.index];a.legendLabel=l;this.index++}},addListeners:function(a,b){var d=this;a&&a.mouseover(function(){d.rollOverMarker(b)}).mouseout(function(){d.rollOutMarker(b)}).click(function(){d.clickMarker(b)})},rollOverMarker:function(a){this.switchable&&this.dispatch("rollOverMarker",a);this.dispatch("rollOverItem",a)},
rollOutMarker:function(a){this.switchable&&this.dispatch("rollOutMarker",a);this.dispatch("rollOutItem",a)},clickMarker:function(a){this.switchable?!0==a.hidden?this.dispatch("showItem",a):this.dispatch("hideItem",a):this.textClickEnabled&&this.dispatch("clickMarker",a)},rollOverLabel:function(a){a.hidden||(this.textClickEnabled&&a.legendLabel&&a.legendLabel.attr({fill:this.rollOverColor}),this.dispatch("rollOverItem",a))},rollOutLabel:function(a){if(!a.hidden){if(this.textClickEnabled&&a.legendLabel){var b=
this.color;void 0!=this.selectedColor&&a.showBalloon&&(b=this.selectedColor);this.useMarkerColorForLabels&&(b=a.lineColor,void 0==b&&(b=a.color));a.legendLabel.attr({fill:b})}this.dispatch("rollOutItem",a)}},clickLabel:function(a){this.textClickEnabled?a.hidden||this.dispatch("clickLabel",a):this.switchable&&(!0==a.hidden?this.dispatch("showItem",a):this.dispatch("hideItem",a))},dispatch:function(a,b){this.fire(a,{type:a,dataItem:b,target:this,chart:this.chart})},createValue:function(a){var b=this,
d=b.fontSize;if(!1!==a.visibleInLegend){var e=b.maxLabelWidth;b.equalWidths||(b.valueAlign="left");"left"==b.valueAlign&&(e=a.legendEntry.getBBox().width);var f=e;if(b.valueText){var g=b.color;b.useMarkerColorForLabels&&(g=a.color);!0==a.hidden&&(g=b.markerDisabledColor);var h=b.valueText,e=e+b.lx+b.markerLabelGap+b.valueWidth,i="end";"left"==b.valueAlign&&(e-=b.valueWidth,i="start");g=AmCharts.text(b.container,h,g,b.chart.fontFamily,d,i);g.translate(e,b.ly);b.entries[b.index].push(g);f+=b.valueWidth+
b.markerLabelGap;g.dItem=a;b.valueLabels.push(g)}b.index++;g=b.markerSize;g<d+7&&(g=d+7,AmCharts.VML&&(g+=3));d=b.container.rect(b.markerSize+b.markerLabelGap,0,f,g,0,0).attr({stroke:"none",fill:"#FFFFFF","fill-opacity":0.005});d.dItem=a;b.entries[b.index-1].push(d);d.mouseover(function(){b.rollOverLabel(a)}).mouseout(function(){b.rollOutLabel(a)}).click(function(){b.clickLabel(a)})}},createV:function(){var a=this.markerSize;return AmCharts.polygon(this.container,[a/5,a/2,a-a/5,a/2],[a/3,a-a/5,a/
5,a/1.7],this.switchColor)},createX:function(){var a=this.markerSize-3,b={stroke:this.switchColor,"stroke-width":3},d=this.container,e=AmCharts.line(d,[3,a],[3,a]).attr(b),a=AmCharts.line(d,[3,a],[a,3]).attr(b);return this.container.set([e,a])},createMarker:function(a,b,d){var e=this.markerSize,f=this.container,g,h=this.markerBorderColor;h||(h=b);var i=this.markerBorderThickness,j=this.markerBorderAlpha;switch(a){case "square":g=AmCharts.polygon(f,[0,e,e,0],[0,0,e,e],b,d,i,h,j);break;case "circle":g=
AmCharts.circle(f,e/2,b,d,i,h,j);g.translate(e/2,e/2);break;case "line":g=AmCharts.line(f,[0,e],[e/2,e/2],b,d,i);break;case "dashedLine":g=AmCharts.line(f,[0,e],[e/2,e/2],b,d,i,3);break;case "triangleUp":g=AmCharts.polygon(f,[0,e/2,e,e],[e,0,e,e],b,d,i,h,j);break;case "triangleDown":g=AmCharts.polygon(f,[0,e/2,e,e],[0,e,0,0],b,d,i,h,j);break;case "bubble":g=AmCharts.circle(f,e/2,b,d,i,h,j,!0),g.translate(e/2,e/2)}return g},validateNow:function(){this.invalidateSize()},updateValues:function(){for(var a=
this.valueLabels,b=this.chart,d=0;d<a.length;d++){var e=a[d],f=e.dItem;if(void 0!=f.type){var g=f.currentDataItem;if(g){var h=this.valueText;f.legendValueText&&(h=f.legendValueText);f=h;f=b.formatString(f,g);e.text(f)}else e.text(" ")}else g=b.formatString(this.valueText,f),e.text(g)}},renderFix:function(){if(!AmCharts.VML){var a=this.container;a&&a.renderFix()}},destroy:function(){this.div.innerHTML="";AmCharts.remove(this.set)}});AmCharts.AmBalloon=AmCharts.Class({construct:function(){this.enabled=!0;this.fillColor="#CC0000";this.fillAlpha=1;this.borderThickness=2;this.borderColor="#FFFFFF";this.borderAlpha=1;this.cornerRadius=6;this.maximumWidth=220;this.horizontalPadding=8;this.verticalPadding=5;this.pointerWidth=10;this.pointerOrientation="V";this.color="#FFFFFF";this.textShadowColor="#000000";this.adjustBorderColor=!1;this.showBullet=!0;this.show=this.follow=!1;this.bulletSize=3;this.textAlign="middle"},draw:function(){var a=
this.pointToX,b=this.pointToY,d=this.textAlign;if(!isNaN(a)){var e=this.chart,f=e.container,g=this.set;AmCharts.remove(g);AmCharts.remove(this.pointer);this.set=g=f.set();e.balloonsSet.push(g);if(this.show){var h=this.l,i=this.t,j=this.r,k=this.b,l=this.textShadowColor;this.color==l&&(l=void 0);var m=this.balloonColor,r=this.fillColor,n=this.borderColor;void 0!=m&&(this.adjustBorderColor?n=m:r=m);var q=this.horizontalPadding,p=this.verticalPadding,m=this.pointerWidth,s=this.pointerOrientation,t=this.cornerRadius,
u=e.fontFamily,x=this.fontSize;void 0==x&&(x=e.fontSize);e=AmCharts.text(f,this.text,this.color,u,x,d);g.push(e);if(void 0!=l){var z=AmCharts.text(f,this.text,l,u,x,d,!1,0.4);g.push(z)}u=e.getBBox();l=u.height+2*p;p=u.width+2*q;window.opera&&(l+=2);var y,x=x/2+5;switch(d){case "middle":y=p/2;break;case "left":y=q;break;case "right":y=p-q}e.translate(y,x);z&&z.translate(y+1,x+1);"H"!=s?(y=a-p/2,d=b<i+l+10&&"down"!=s?b+m:b-l-m):(2*m>l&&(m=l/2),d=b-l/2,y=a<h+(j-h)/2?a+m:a-p-m);d+l>=k&&(d=k-l);d<i&&(d=
i);y<h&&(y=h);y+p>j&&(y=j-p);0<t||0==m?(n=AmCharts.rect(f,p,l,r,this.fillAlpha,this.borderThickness,n,this.borderAlpha,this.cornerRadius),this.showBullet&&(f=AmCharts.circle(f,this.bulletSize,r,this.fillAlpha),f.translate(a,b),this.pointer=f)):(k=[],t=[],"H"!=s?(h=a-y,h>p-m&&(h=p-m),h<m&&(h=m),k=[0,h-m,a-y,h+m,p,p,0,0],t=b<i+l+10&&"down"!=s?[0,0,b-d,0,0,l,l,0]:[l,l,b-d,l,l,0,0,l]):(i=b-d,i>l-m&&(i=l-m),i<m&&(i=m),t=[0,i-m,b-d,i+m,l,l,0,0],k=a<h+(j-h)/2?[0,0,a-y,0,0,p,p,0]:[p,p,a-y,p,p,0,0,p]),n=AmCharts.polygon(f,
k,t,r,this.fillAlpha,this.borderThickness,n,this.borderAlpha));g.push(n);n.toFront();z&&z.toFront();e.toFront();g.translate(y,d);u=n.getBBox();this.bottom=d+u.y+u.height;this.yPos=u.y+d}}},followMouse:function(){if(this.follow&&this.show){var a=this.chart.mouseX,b=this.chart.mouseY-3;this.pointToX=a;this.pointToY=b;if(a!=this.previousX||b!=this.previousY)if(this.previousX=a,this.previousY=b,0==this.cornerRadius)this.draw();else{var d=this.set;if(d){var e=d.getBBox(),a=a-e.width/2,f=b-e.height-10;
a<this.l&&(a=this.l);a>this.r-e.width&&(a=this.r-e.width);f<this.t&&(f=b+10);d.translate(a,f)}}}},changeColor:function(a){this.balloonColor=a},setBounds:function(a,b,d,e){this.l=a;this.t=b;this.r=d;this.b=e},showBalloon:function(a){this.text=a;this.show=!0;this.draw()},hide:function(){this.follow=this.show=!1;this.destroy()},setPosition:function(a,b,d){this.pointToX=a;this.pointToY=b;d&&(a!=this.previousX||b!=this.previousY)&&this.draw();this.previousX=a;this.previousY=b},followCursor:function(a){var b=
this;(b.follow=a)?(b.pShowBullet=b.showBullet,b.showBullet=!1):void 0!=b.pShowBullet&&(b.showBullet=b.pShowBullet);clearInterval(b.interval);var d=b.chart.mouseX,e=b.chart.mouseY;!isNaN(d)&&a&&(b.pointToX=d,b.pointToY=e-3,b.interval=setInterval(function(){b.followMouse.call(b)},40))},destroy:function(){clearInterval(this.interval);AmCharts.remove(this.set);AmCharts.remove(this.pointer)}});AmCharts.AmCoordinateChart=AmCharts.Class({inherits:AmCharts.AmChart,construct:function(){AmCharts.AmCoordinateChart.base.construct.call(this);this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem");this.plotAreaFillColors="#FFFFFF";this.plotAreaFillAlphas=0;this.plotAreaBorderColor="#000000";this.plotAreaBorderAlpha=0;this.startAlpha=1;this.startDuration=0;this.startEffect="elastic";this.sequencedAnimation=!0;this.colors="#FF6600 #FCD202 #B0DE09 #0D8ECF #2A0CD0 #CD0D74 #CC0000 #00CC00 #0000CC #DDDDDD #999999 #333333 #990000".split(" ");
this.balloonDateFormat="MMM DD, YYYY";this.valueAxes=[];this.graphs=[]},initChart:function(){AmCharts.AmCoordinateChart.base.initChart.call(this);this.createValueAxes();AmCharts.VML&&(this.startAlpha=1);var a=this.legend;a&&a.setData(this.graphs)},createValueAxes:function(){if(0==this.valueAxes.length){var a=new AmCharts.ValueAxis;this.addValueAxis(a)}},parseData:function(){this.processValueAxes();this.processGraphs()},parseSerialData:function(){AmCharts.AmSerialChart.base.parseData.call(this);var a=
this.graphs,b={},d=this.seriesIdField;d||(d=this.categoryField);this.chartData=[];var e=this.dataProvider;if(e){var f=!1;this.categoryAxis&&(f=this.categoryAxis.parseDates);if(f)var g=AmCharts.extractPeriod(this.categoryAxis.minPeriod),h=g.period,g=g.count;var i={};this.lookupTable=i;for(var j=0;j<e.length;j++){var k={},l=e[j],m=l[this.categoryField];k.category=String(m);i[l[d]]=k;f&&(m=new Date(m.getFullYear(),m.getMonth(),m.getDate(),m.getHours(),m.getMinutes(),m.getSeconds(),m.getMilliseconds()),
m=AmCharts.resetDateToMin(m,h,g),k.category=m,k.time=m.getTime());var r=this.valueAxes;k.axes={};k.x={};for(var n=0;n<r.length;n++){var q=r[n].id;k.axes[q]={};k.axes[q].graphs={};for(var p=0;p<a.length;p++){var m=a[p],s=m.id,t=m.periodValue;if(m.valueAxis.id==q){k.axes[q].graphs[s]={};var u={};u.index=j;m.dataProvider&&(l=b);u.values=this.processValues(l,m,t);this.processFields(m,u,l);u.category=k.category;u.serialDataItem=k;u.graph=m;k.axes[q].graphs[s]=u}}}this.chartData[j]=k}}for(b=0;b<a.length;b++)m=
a[b],m.dataProvider&&this.parseGraphData(m)},processValues:function(a,b,d){var e={},f=!1;if(("candlestick"==b.type||"ohlc"==b.type)&&""!=d)f=!0;var g=Number(a[b.valueField+d]);isNaN(g)||(e.value=g);f&&(d="Open");g=Number(a[b.openField+d]);isNaN(g)||(e.open=g);f&&(d="Close");g=Number(a[b.closeField+d]);isNaN(g)||(e.close=g);f&&(d="Low");g=Number(a[b.lowField+d]);isNaN(g)||(e.low=g);f&&(d="High");g=Number(a[b.highField+d]);isNaN(g)||(e.high=g);return e},parseGraphData:function(a){var b=a.dataProvider,
d=a.seriesIdField;d||(d=this.seriesIdField);d||(d=this.categoryField);for(var e=0;e<b.length;e++){var f=b[e],g=this.lookupTable[String(f[d])],h=a.valueAxis.id;g&&(h=g.axes[h].graphs[a.id],h.serialDataItem=g,h.values=this.processValues(f,a,a.periodValue),this.processFields(a,h,f))}},addValueAxis:function(a){a.chart=this;this.valueAxes.push(a);this.validateData()},removeValueAxesAndGraphs:function(){for(var a=this.valueAxes,b=a.length-1;-1<b;b--)this.removeValueAxis(a[b])},removeValueAxis:function(a){var b=
this.graphs,d;for(d=b.length-1;0<=d;d--){var e=b[d];e&&e.valueAxis==a&&this.removeGraph(e)}b=this.valueAxes;for(d=b.length-1;0<=d;d--)b[d]==a&&b.splice(d,1);this.validateData()},addGraph:function(a){this.graphs.push(a);this.chooseGraphColor(a,this.graphs.length-1);this.validateData()},removeGraph:function(a){for(var b=this.graphs,d=b.length-1;0<=d;d--)b[d]==a&&(b.splice(d,1),a.destroy());this.validateData()},processValueAxes:function(){for(var a=this.valueAxes,b=0;b<a.length;b++){var d=a[b];d.chart=
this;d.id||(d.id="valueAxis"+b);if(!0===this.usePrefixes||!1===this.usePrefixes)d.usePrefixes=this.usePrefixes}},processGraphs:function(){for(var a=this.graphs,b=0;b<a.length;b++){var d=a[b];d.chart=this;d.valueAxis||(d.valueAxis=this.valueAxes[0]);d.id||(d.id="graph"+b)}},formatString:function(a,b){var d=b.graph,e=d.valueAxis;e.duration&&b.values.value&&(e=AmCharts.formatDuration(b.values.value,e.duration,"",e.durationUnits,e.maxInterval,e.numberFormatter),a=a.split("[[value]]").join(e));a=AmCharts.massReplace(a,
{"[[title]]":d.title,"[[description]]":b.description,"<br>":"\n"});a=AmCharts.fixNewLines(a);return a=AmCharts.cleanFromEmpty(a)},getBalloonColor:function(a,b){var d=a.lineColor,e=a.balloonColor,f=a.fillColors;"object"==typeof f?d=f[0]:void 0!=f&&(d=f);if(b.isNegative){var f=a.negativeLineColor,g=a.negativeFillColors;"object"==typeof g?f=g[0]:void 0!=g&&(f=g);void 0!=f&&(d=f)}void 0!=b.color&&(d=b.color);void 0==e&&(e=d);return e},getGraphById:function(a){return this.getObjById(this.graphs,a)},getValueAxisById:function(a){return this.getObjById(this.valueAxes,
a)},getObjById:function(a,b){for(var d,e=0;e<a.length;e++){var f=a[e];f.id==b&&(d=f)}return d},processFields:function(a,b,d){if(a.itemColors){var e=a.itemColors,f=b.index;b.color=f<e.length?e[f]:AmCharts.randomColor()}e="lineColor color alpha fillColors description bullet customBullet bulletSize bulletConfig url".split(" ");for(f=0;f<e.length;f++){var g=e[f],h=a[g+"Field"];h&&(h=d[h],AmCharts.isDefined(h)&&(b[g]=h))}b.dataContext=d},chooseGraphColor:function(a,b){if(void 0==a.lineColor){var d;d=this.colors.length>
b?this.colors[b]:AmCharts.randomColor();a.lineColor=d}},handleLegendEvent:function(a){var b=a.type;if(a=a.dataItem){var d=a.hidden,e=a.showBalloon;switch(b){case "clickMarker":e?this.hideGraphsBalloon(a):this.showGraphsBalloon(a);break;case "clickLabel":e?this.hideGraphsBalloon(a):this.showGraphsBalloon(a);break;case "rollOverItem":d||this.highlightGraph(a);break;case "rollOutItem":d||this.unhighlightGraph();break;case "hideItem":this.hideGraph(a);break;case "showItem":this.showGraph(a)}}},highlightGraph:function(a){var b=
this.graphs,d,e=0.2;this.legend&&(e=this.legend.rollOverGraphAlpha);if(1!=e)for(d=0;d<b.length;d++){var f=b[d];f!=a&&f.changeOpacity(e)}},unhighlightGraph:function(){this.legend&&(alpha=this.legend.rollOverGraphAlpha);if(1!=alpha)for(var a=this.graphs,b=0;b<a.length;b++)a[b].changeOpacity(1)},showGraph:function(a){a.hidden=!1;this.dataChanged=!0;this.marginsUpdated=!1;this.initChart()},hideGraph:function(a){this.dataChanged=!0;this.marginsUpdated=!1;a.hidden=!0;this.initChart()},hideGraphsBalloon:function(a){a.showBalloon=
!1;this.updateLegend()},showGraphsBalloon:function(a){a.showBalloon=!0;this.updateLegend()},updateLegend:function(){this.legend&&this.legend.invalidateSize()},animateAgain:function(){var a=this.graphs;if(a)for(var b=0;b<a.length;b++)a[b].animationPlayed=!1}});AmCharts.AmRectangularChart=AmCharts.Class({inherits:AmCharts.AmCoordinateChart,construct:function(){AmCharts.AmRectangularChart.base.construct.call(this);this.createEvents("zoomed");this.marginRight=this.marginBottom=this.marginTop=this.marginLeft=20;this.verticalPosition=this.horizontalPosition=this.depth3D=this.angle=0;this.heightMultiplyer=this.widthMultiplyer=1;this.zoomOutText="Show all";this.zbSet;this.zoomOutButton={backgroundColor:"#b2e1ff",backgroundAlpha:1};this.trendLines=[];this.autoMargins=
!0;this.marginsUpdated=!1;this.autoMarginOffset=10},initChart:function(){AmCharts.AmRectangularChart.base.initChart.call(this);this.updateDxy();var a=!0;!this.marginsUpdated&&this.autoMargins&&(this.resetMargins(),a=!1);this.updateMargins();this.updatePlotArea();this.updateScrollbars();this.updateTrendLines();this.updateChartCursor();this.updateValueAxes();a&&(this.scrollbarOnly||this.updateGraphs())},drawChart:function(){AmCharts.AmRectangularChart.base.drawChart.call(this);this.drawPlotArea();if(AmCharts.ifArray(this.chartData)){var a=
this.chartCursor;a&&a.draw();a=this.zoomOutText;""!=a&&a&&this.drawZoomOutButton()}},resetMargins:function(){var a={};if("serial"==this.chartType){for(var b=this.valueAxes,d=0;d<b.length;d++){var e=b[d];e.ignoreAxisWidth||(e.setOrientation(this.rotate),e.fixAxisPosition(),a[e.position]=!0)}if((d=this.categoryAxis)&&!d.ignoreAxisWidth)d.setOrientation(!this.rotate),d.fixAxisPosition(),d.fixAxisPosition(),a[d.position]=!0}else{e=this.xAxes;b=this.yAxes;for(d=0;d<e.length;d++){var f=e[d];f.ignoreAxisWidth||
(f.setOrientation(!0),f.fixAxisPosition(),a[f.position]=!0)}for(d=0;d<b.length;d++)e=b[d],e.ignoreAxisWidth||(e.setOrientation(!1),e.fixAxisPosition(),a[e.position]=!0)}a.left&&(this.marginLeft=0);a.right&&(this.marginRight=0);a.top&&(this.marginTop=0);a.bottom&&(this.marginBottom=0);this.fixMargins=a},measureMargins:function(){var a=this.valueAxes,b,d=this.autoMarginOffset,e=this.fixMargins,f=this.realWidth,g=this.realHeight,h=d,i=d,j=f-d;b=g-d;for(var k=0;k<a.length;k++)b=this.getAxisBounds(a[k],
h,j,i,b),h=b.l,j=b.r,i=b.t,b=b.b;if(a=this.categoryAxis)b=this.getAxisBounds(a,h,j,i,b),h=b.l,j=b.r,i=b.t,b=b.b;e.left&&h<d&&(this.marginLeft=Math.round(-h+d));e.right&&j>f-d&&(this.marginRight=Math.round(j-f+d));e.top&&i<d&&(this.marginTop=Math.round(this.marginTop-i+d+this.titleHeight));e.bottom&&b>g-d&&(this.marginBottom=Math.round(b-g+d));this.animateAgain();this.initChart()},getAxisBounds:function(a,b,d,e,f){if(!a.ignoreAxisWidth){var g=a.labelsSet,h=a.tickLength;a.inside&&(h=0);if(g)switch(g=
a.getBBox(),a.position){case "top":a=g.y;e>a&&(e=a);break;case "bottom":a=g.y+g.height;f<a&&(f=a);break;case "right":a=g.x+g.width+h+3;d<a&&(d=a);break;case "left":a=g.x-h,b>a&&(b=a)}}return{l:b,t:e,r:d,b:f}},drawZoomOutButton:function(){var a=this,b=a.container.set();a.zoomButtonSet.push(b);var d=a.color,e=a.fontSize,f=a.zoomOutButton;f&&(f.fontSize&&(e=f.fontSize),f.color&&(d=f.color));d=AmCharts.text(a.container,a.zoomOutText,d,a.fontFamily,e,"start");e=d.getBBox();d.translate(29,6+e.height/2);
f=AmCharts.rect(a.container,e.width+40,e.height+15,f.backgroundColor,f.backgroundAlpha);b.push(f);a.zbBG=f;void 0!=a.pathToImages&&(f=a.container.image(a.pathToImages+"lens.png",0,0,16,16),f.translate(7,e.height/2-1),f.toFront(),b.push(f));d.toFront();b.push(d);f=b.getBBox();b.translate(a.marginLeftReal+a.plotAreaWidth-f.width,a.marginTopReal);b.hide();b.mouseover(function(){a.rollOverZB()}).mouseout(function(){a.rollOutZB()}).click(function(){a.clickZB()}).touchstart(function(){a.rollOverZB()}).touchend(function(){a.rollOutZB();
a.clickZB()});for(f=0;f<b.length;f++)b[f].attr({cursor:"pointer"});a.zbSet=b},rollOverZB:function(){this.zbBG.show()},rollOutZB:function(){this.zbBG.hide()},clickZB:function(){this.zoomOut()},zoomOut:function(){this.updateScrollbar=!0;this.zoom()},drawPlotArea:function(){var a=this.dx,b=this.dy,d=this.marginLeftReal,e=this.marginTopReal,f=this.plotAreaWidth,g=this.plotAreaHeight,h=this.plotAreaFillColors,i=this.plotAreaFillAlphas,j=this.plotAreaBorderColor,k=this.plotAreaBorderAlpha;this.trendLinesSet.clipRect(d,
e,f,g);"object"==typeof i&&(i=i[0]);h=AmCharts.polygon(this.container,[0,f,f,0],[0,0,g,g],h,i,1,j,k,this.plotAreaGradientAngle);h.translate(d+a,e+b);this.set.push(h);0!=a&&0!=b&&(h=this.plotAreaFillColors,"object"==typeof h&&(h=h[0]),h=AmCharts.adjustLuminosity(h,-0.15),f=AmCharts.polygon(this.container,[0,a,f+a,f,0],[0,b,b,0,0],h,i,1,j,k),f.translate(d,e+g),this.set.push(f),a=AmCharts.polygon(this.container,[0,0,a,a,0],[0,g,g+b,b,0],h,i,1,j,k),a.translate(d,e),this.set.push(a))},updatePlotArea:function(){this.realWidth=
this.updateWidth()-1;this.realHeight=this.updateHeight()-1;var a=this.realWidth-this.marginLeftReal-this.marginRightReal-this.dx,b=this.realHeight-this.marginTopReal-this.marginBottomReal;1>a&&(a=1);1>b&&(b=1);this.plotAreaWidth=Math.round(a);this.plotAreaHeight=Math.round(b)},updateDxy:function(){this.dx=this.depth3D*Math.cos(this.angle*Math.PI/180);this.dy=-this.depth3D*Math.sin(this.angle*Math.PI/180)},updateMargins:function(){var a=this.getTitleHeight();this.titleHeight=a;this.marginTopReal=this.marginTop-
this.dy+a;this.marginBottomReal=this.marginBottom;this.marginLeftReal=this.marginLeft;this.marginRightReal=this.marginRight},updateValueAxes:function(){for(var a=this.valueAxes,b=this.marginLeftReal,d=this.marginTopReal,e=this.plotAreaHeight,f=this.plotAreaWidth,g=0;g<a.length;g++){var h=a[g];h.axisRenderer=AmCharts.RecAxis;h.guideFillRenderer=AmCharts.RecFill;h.axisItemRenderer=AmCharts.RecItem;h.dx=this.dx;h.dy=this.dy;h.viW=f;h.viH=e;h.marginsChanged=!0;h.viX=b;h.viY=d;this.updateObjectSize(h)}},
updateObjectSize:function(a){a.width=this.plotAreaWidth*this.widthMultiplyer;a.height=this.plotAreaHeight*this.heightMultiplyer;a.x=this.marginLeftReal+this.horizontalPosition;a.y=this.marginTopReal+this.verticalPosition},updateGraphs:function(){for(var a=this.graphs,b=0;b<a.length;b++){var d=a[b];d.x=this.marginLeftReal+this.horizontalPosition;d.y=this.marginTopReal+this.verticalPosition;d.width=this.plotAreaWidth*this.widthMultiplyer;d.height=this.plotAreaHeight*this.heightMultiplyer;d.index=b;
d.dx=this.dx;d.dy=this.dy;d.rotate=this.rotate;d.chartType=this.chartType}},updateChartCursor:function(){var a=this.chartCursor;a&&(a.x=this.marginLeftReal,a.y=this.marginTopReal,a.width=this.plotAreaWidth,a.height=this.plotAreaHeight,a.chart=this)},updateScrollbars:function(){},addChartCursor:function(a){AmCharts.callMethod("destroy",[this.chartCursor]);a&&(this.listenTo(a,"changed",this.handleCursorChange),this.listenTo(a,"zoomed",this.handleCursorZoom));this.chartCursor=a},removeChartCursor:function(){AmCharts.callMethod("destroy",
[this.chartCursor]);this.chartCursor=null},zoomTrendLines:function(){for(var a=this.trendLines,b=0;b<a.length;b++){var d=a[b];d.valueAxis.recalculateToPercents?d.set&&d.set.hide():(d.x=this.marginLeftReal+this.horizontalPosition,d.y=this.marginTopReal+this.verticalPosition,d.draw())}},addTrendLine:function(a){this.trendLines.push(a)},removeTrendLine:function(a){for(var b=this.trendLines,d=b.length-1;0<=d;d--)b[d]==a&&b.splice(d,1)},adjustMargins:function(a,b){var d=a.scrollbarHeight;"top"==a.position?
b?this.marginLeftReal+=d:this.marginTopReal+=d:b?this.marginRightReal+=d:this.marginBottomReal+=d},getScrollbarPosition:function(a,b,d){a.position=b?"bottom"==d||"left"==d?"bottom":"top":"top"==d||"right"==d?"bottom":"top"},updateChartScrollbar:function(a,b){if(a){a.rotate=b;var d=this.marginTopReal,e=this.marginLeftReal,f=a.scrollbarHeight,g=this.dx,h=this.dy;"top"==a.position?b?(a.y=d,a.x=e-f):(a.y=d-f+h,a.x=e+g):b?(a.y=d+h,a.x=e+this.plotAreaWidth+g):(a.y=d+this.plotAreaHeight+1,a.x=this.marginLeftReal)}},
showZB:function(a){var b=this.zbSet;b&&(a?b.show():b.hide(),this.zbBG.hide())},handleReleaseOutside:function(a){AmCharts.AmRectangularChart.base.handleReleaseOutside.call(this,a);(a=this.chartCursor)&&a.handleReleaseOutside()},handleMouseDown:function(a){AmCharts.AmRectangularChart.base.handleMouseDown.call(this,a);var b=this.chartCursor;b&&b.handleMouseDown(a)},handleCursorChange:function(){}});AmCharts.TrendLine=AmCharts.Class({construct:function(){this.createEvents("click");this.isProtected=!1;this.dashLength=0;this.lineColor="#00CC00";this.lineThickness=this.lineAlpha=1},draw:function(){var a=this;a.destroy();var b=a.chart,d=b.container,e,f,g,h,i=a.categoryAxis,j=a.initialDate,k=a.initialCategory,l=a.finalDate,m=a.finalCategory,r=a.valueAxis,n=a.valueAxisX,q=a.initialXValue,p=a.finalXValue,s=a.initialValue,t=a.finalValue,u=r.recalculateToPercents;i&&(j&&(e=i.dateToCoordinate(j)),k&&(e=
i.categoryToCoordinate(k)),l&&(f=i.dateToCoordinate(l)),m&&(f=i.categoryToCoordinate(m)));n&&!u&&(isNaN(q)||(e=n.getCoordinate(q)),isNaN(p)||(f=n.getCoordinate(p)));r&&!u&&(isNaN(s)||(g=r.getCoordinate(s)),isNaN(t)||(h=r.getCoordinate(t)));!isNaN(e)&&(!isNaN(f)&&!isNaN(g)&&!isNaN(g))&&(b.rotate?(i=[g,h],f=[e,f]):(i=[e,f],f=[g,h]),g=a.lineColor,e=AmCharts.line(d,i,f,g,a.lineAlpha,a.lineThickness,a.dashLength),f=AmCharts.line(d,i,f,g,0.005,5),d=d.set([e,f]),d.translate(b.marginLeftReal,b.marginTopReal),
b.trendLinesSet.push(d),a.line=e,a.set=d,f.mouseup(function(){a.handleLineClick()}).mouseover(function(){a.handleLineOver()}).mouseout(function(){a.handleLineOut()}),f.touchend&&f.touchend(function(){a.handleLineClick()}))},handleLineClick:function(){var a={type:"click",trendLine:this,chart:this.chart};this.fire(a.type,a)},handleLineOver:function(){var a=this.rollOverColor;void 0!=a&&this.line.attr({stroke:a})},handleLineOut:function(){this.line.attr({stroke:this.lineColor})},destroy:function(){AmCharts.remove(this.set)}});AmCharts.AmSerialChart=AmCharts.Class({inherits:AmCharts.AmRectangularChart,construct:function(){AmCharts.AmSerialChart.base.construct.call(this);this.createEvents("changed");this.columnSpacing=5;this.columnWidth=0.8;this.updateScrollbar=!0;var a=new AmCharts.CategoryAxis;a.chart=this;this.categoryAxis=a;this.chartType="serial";this.zoomOutOnDataUpdate=!0;this.skipZoom=!1;this.minSelectedTime=0},initChart:function(){AmCharts.AmSerialChart.base.initChart.call(this);this.updateCategoryAxis();this.dataChanged&&
(this.updateData(),this.dataChanged=!1,this.dispatchDataUpdated=!0);for(var a=this.countColumns(),b=this.graphs,d=0;d<b.length;d++)b[d].columnCount=a;this.updateScrollbar=!0;this.drawChart();this.autoMargins&&!this.marginsUpdated&&(this.marginsUpdated=!0,this.measureMargins())},validateData:function(a){this.marginsUpdated=!1;this.zoomOutOnDataUpdate&&!a&&(this.endTime=this.end=this.startTime=this.start=NaN);AmCharts.AmSerialChart.base.validateData.call(this)},drawChart:function(){AmCharts.AmSerialChart.base.drawChart.call(this);
var a=this.chartData;if(AmCharts.ifArray(a)){var b=this.chartScrollbar;b&&b.draw();if(0<this.realWidth&&0<this.realHeight){var b=a.length-1,d,e;d=this.categoryAxis;if(d.parseDates&&!d.equalSpacing){if(d=this.startTime,e=this.endTime,isNaN(d)||isNaN(e))d=a[0].time,e=a[b].time}else if(d=this.start,e=this.end,isNaN(d)||isNaN(e))d=0,e=b;this.endTime=this.startTime=this.end=this.start=void 0;this.zoom(d,e)}}else this.cleanChart();this.dispDUpd();this.chartCreated=!0},cleanChart:function(){AmCharts.callMethod("destroy",
[this.valueAxes,this.graphs,this.categoryAxis,this.chartScrollbar,this.chartCursor])},updateCategoryAxis:function(){var a=this.categoryAxis;a.id="categoryAxis";a.rotate=this.rotate;a.axisRenderer=AmCharts.RecAxis;a.guideFillRenderer=AmCharts.RecFill;a.axisItemRenderer=AmCharts.RecItem;a.setOrientation(!this.rotate);a.x=this.marginLeftReal;a.y=this.marginTopReal;a.dx=this.dx;a.dy=this.dy;a.width=this.plotAreaWidth;a.height=this.plotAreaHeight;a.viW=this.plotAreaWidth;a.viH=this.plotAreaHeight;a.viX=
this.marginLeftReal;a.viY=this.marginTopReal;a.marginsChanged=!0},updateValueAxes:function(){AmCharts.AmSerialChart.base.updateValueAxes.call(this);for(var a=this.valueAxes,b=0;b<a.length;b++){var d=a[b],e=this.rotate;d.rotate=e;d.setOrientation(e);e=this.categoryAxis;if(!e.startOnAxis||e.parseDates)d.expandMinMax=!0}},updateData:function(){this.parseData();var a=this.chartCursor;a&&a.updateData();for(var a=this.graphs,b=0;b<a.length;b++)a[b].data=this.chartData},updateMargins:function(){AmCharts.AmSerialChart.base.updateMargins.call(this);
var a=this.chartScrollbar;a&&(this.getScrollbarPosition(a,this.rotate,this.categoryAxis.position),this.adjustMargins(a,this.rotate))},updateScrollbars:function(){this.updateChartScrollbar(this.chartScrollbar,this.rotate)},zoom:function(a,b){var d=this.categoryAxis;d.parseDates&&!d.equalSpacing?this.timeZoom(a,b):this.indexZoom(a,b)},timeZoom:function(a,b){var d=this.maxSelectedTime;isNaN(d)||(b!=this.endTime&&b-a>d&&(a=b-d,this.updateScrollbar=!0),a!=this.startTime&&b-a>d&&(b=a+d,this.updateScrollbar=
!0));var e=this.minSelectedTime;if(0<e&&b-a<e)var f=Math.round(a+(b-a)/2),e=Math.round(e/2),a=f-e,b=f+e;var g=this.chartData,f=this.categoryAxis;if(AmCharts.ifArray(g)&&(a!=this.startTime||b!=this.endTime)){var h=f.minDuration();this.firstTime=e=g[0].time;var i=g[g.length-1].time;this.lastTime=i;a||(a=e,isNaN(d)||(a=i-d));b||(b=i);a>i&&(a=i);b<e&&(b=e);a<e&&(a=e);b>i&&(b=i);b<a&&(b=a+h);this.startTime=a;this.endTime=b;d=g.length-1;h=this.getClosestIndex(g,"time",a,!0,0,d);g=this.getClosestIndex(g,
"time",b,!1,h,d);f.timeZoom(a,b);f.zoom(h,g);this.start=AmCharts.fitToBounds(h,0,d);this.end=AmCharts.fitToBounds(g,0,d);this.zoomAxesAndGraphs();this.zoomScrollbar();a!=e||b!=i?this.showZB(!0):this.showZB(!1);this.updateColumnsDepth();this.dispatchTimeZoomEvent()}},indexZoom:function(a,b){var d=this.maxSelectedSeries;isNaN(d)||(b!=this.end&&b-a>d&&(a=b-d,this.updateScrollbar=!0),a!=this.start&&b-a>d&&(b=a+d,this.updateScrollbar=!0));if(a!=this.start||b!=this.end){var e=this.chartData.length-1;isNaN(a)&&
(a=0,isNaN(d)||(a=e-d));isNaN(b)&&(b=e);b<a&&(b=a);b>e&&(b=e);a>e&&(a=e-1);0>a&&(a=0);this.start=a;this.end=b;this.categoryAxis.zoom(a,b);this.zoomAxesAndGraphs();this.zoomScrollbar();0!=a||b!=this.chartData.length-1?this.showZB(!0):this.showZB(!1);this.updateColumnsDepth();this.dispatchIndexZoomEvent()}},updateGraphs:function(){AmCharts.AmSerialChart.base.updateGraphs.call(this);for(var a=this.graphs,b=0;b<a.length;b++){var d=a[b];d.columnWidth=this.columnWidth;d.categoryAxis=this.categoryAxis}},
updateColumnsDepth:function(){var a,b=this.graphs;AmCharts.remove(this.columnsSet);this.columnsArray=[];for(a=0;a<b.length;a++){var d=b[a],e=d.columnsArray;if(e)for(var f=0;f<e.length;f++)this.columnsArray.push(e[f])}this.columnsArray.sort(this.compareDepth);if(0<this.columnsArray.length){b=this.container.set();this.columnSet.push(b);for(a=0;a<this.columnsArray.length;a++)b.push(this.columnsArray[a].column.set);d&&b.translate(d.x,d.y);this.columnsSet=b}},compareDepth:function(a,b){return a.depth>
b.depth?1:-1},zoomScrollbar:function(){var a=this.chartScrollbar,b=this.categoryAxis;a&&this.updateScrollbar&&(b.parseDates&&!b.equalSpacing?a.timeZoom(this.startTime,this.endTime):a.zoom(this.start,this.end),this.updateScrollbar=!0)},updateTrendLines:function(){for(var a=this.trendLines,b=0;b<a.length;b++){var d=a[b];d.chart=this;d.valueAxis||(d.valueAxis=this.valueAxes[0]);d.categoryAxis=this.categoryAxis}},zoomAxesAndGraphs:function(){if(!this.scrollbarOnly){for(var a=this.valueAxes,b=0;b<a.length;b++)a[b].zoom(this.start,
this.end);a=this.graphs;for(b=0;b<a.length;b++)a[b].zoom(this.start,this.end);this.zoomTrendLines();(b=this.chartCursor)&&b.zoom(this.start,this.end,this.startTime,this.endTime)}},countColumns:function(){for(var a=0,b=this.valueAxes.length,d=this.graphs.length,e,f,g=!1,h,i=0;i<b;i++){f=this.valueAxes[i];var j=f.stackType;if("100%"==j||"regular"==j){g=!1;for(h=0;h<d;h++)e=this.graphs[h],!e.hidden&&(e.valueAxis==f&&"column"==e.type)&&(!g&&e.stackable&&(a++,g=!0),e.stackable||a++,e.columnIndex=a-1)}if("none"==
j||"3d"==j)for(h=0;h<d;h++)e=this.graphs[h],!e.hidden&&(e.valueAxis==f&&"column"==e.type)&&(e.columnIndex=a,a++);if("3d"==j){for(i=0;i<d;i++)e=this.graphs[i],e.depthCount=a;a=1}}return a},parseData:function(){AmCharts.AmSerialChart.base.parseData.call(this);this.parseSerialData()},getCategoryIndexByValue:function(a){for(var b=this.chartData,d,e=0;e<b.length;e++)b[e].category==a&&(d=e);return d},handleCursorChange:function(a){this.updateLegendValues(a.index)},handleCursorZoom:function(a){this.updateScrollbar=
!0;this.zoom(a.start,a.end)},handleScrollbarZoom:function(a){this.updateScrollbar=!1;this.zoom(a.start,a.end)},dispatchTimeZoomEvent:function(){if(this.prevStartTime!=this.startTime||this.prevEndTime!=this.endTime){var a={type:"zoomed"};a.startDate=new Date(this.startTime);a.endDate=new Date(this.endTime);a.startIndex=this.start;a.endIndex=this.end;this.startIndex=this.start;this.endIndex=this.end;this.startDate=a.startDate;this.endDate=a.endDate;this.prevStartTime=this.startTime;this.prevEndTime=
this.endTime;var b=this.categoryAxis,d=AmCharts.extractPeriod(b.minPeriod).period,b=b.dateFormatsObject[d];a.startValue=AmCharts.formatDate(a.startDate,b);a.endValue=AmCharts.formatDate(a.endDate,b);a.chart=this;a.target=this;this.fire(a.type,a)}},dispatchIndexZoomEvent:function(){if(this.prevStartIndex!=this.start||this.prevEndIndex!=this.end){this.startIndex=this.start;this.endIndex=this.end;var a=this.chartData;if(AmCharts.ifArray(a)&&!isNaN(this.start)&&!isNaN(this.end)){var b={chart:this,target:this,
type:"zoomed"};b.startIndex=this.start;b.endIndex=this.end;b.startValue=a[this.start].category;b.endValue=a[this.end].category;this.categoryAxis.parseDates&&(this.startTime=a[this.start].time,this.endTime=a[this.end].time,b.startDate=new Date(this.startTime),b.endDate=new Date(this.endTime));this.prevStartIndex=this.start;this.prevEndIndex=this.end;this.fire(b.type,b)}}},updateLegendValues:function(a){for(var b=this.graphs,d=0;d<b.length;d++){var e=b[d];e.currentDataItem=isNaN(a)?void 0:this.chartData[a].axes[e.valueAxis.id].graphs[e.id]}this.legend&&
this.legend.updateValues()},getClosestIndex:function(a,b,d,e,f,g){0>f&&(f=0);g>a.length-1&&(g=a.length-1);var h=f+Math.round((g-f)/2),i=a[h][b];if(1>=g-f){if(e)return f;e=a[g][b];return Math.abs(a[f][b]-d)<Math.abs(e-d)?f:g}return d==i?h:d<i?this.getClosestIndex(a,b,d,e,f,h):this.getClosestIndex(a,b,d,e,h,g)},zoomToIndexes:function(a,b){this.updateScrollbar=!0;var d=this.chartData;if(d){var e=d.length;0<e&&(0>a&&(a=0),b>e-1&&(b=e-1),e=this.categoryAxis,e.parseDates&&!e.equalSpacing?this.zoom(d[a].time,
d[b].time):this.zoom(a,b))}},zoomToDates:function(a,b){this.updateScrollbar=!0;var d=this.chartData;if(this.categoryAxis.equalSpacing){var e=this.getClosestIndex(d,"time",a.getTime(),!0,0,d.length),d=this.getClosestIndex(d,"time",b.getTime(),!1,0,d.length);this.zoom(e,d)}else this.zoom(a.getTime(),b.getTime())},zoomToCategoryValues:function(a,b){this.updateScrollbar=!0;this.zoom(this.getCategoryIndexByValue(a),this.getCategoryIndexByValue(b))},formatString:function(a,b){var d=b.graph;if(-1!=a.indexOf("[[category]]")){var e=
b.serialDataItem.category;if(this.categoryAxis.parseDates){var f=this.balloonDateFormat,g=this.chartCursor;g&&(f=g.categoryBalloonDateFormat);-1!=a.indexOf("[[category]]")&&(f=AmCharts.formatDate(e,f),-1!=f.indexOf("fff")&&(f=AmCharts.formatMilliseconds(f,e)),e=f)}a=a.replace(/\[\[category\]\]/g,String(e))}d=d.numberFormatter;d||(d=this.numberFormatter);e=b.graph.valueAxis;if((f=e.duration)&&!isNaN(b.values.value))e=AmCharts.formatDuration(b.values.value,f,"",e.durationUnits,e.maxInterval,d),a=a.replace(RegExp("\\[\\[value\\]\\]",
"g"),e);e="value open low high close total".split(" ");f=this.percentFormatter;a=AmCharts.formatValue(a,b.percents,e,f,"percents.");a=AmCharts.formatValue(a,b.values,e,d,"",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);a=AmCharts.formatValue(a,b.values,["percents"],f);-1!=a.indexOf("[[")&&(a=AmCharts.formatDataContextValue(a,b.dataContext));return a=AmCharts.AmSerialChart.base.formatString.call(this,a,b)},addChartScrollbar:function(a){AmCharts.callMethod("destroy",[this.chartScrollbar]);
a&&(a.chart=this,this.listenTo(a,"zoomed",this.handleScrollbarZoom));this.rotate?void 0==a.width&&(a.width=a.scrollbarHeight):void 0==a.height&&(a.height=a.scrollbarHeight);this.chartScrollbar=a},removeChartScrollbar:function(){AmCharts.callMethod("destroy",[this.chartScrollbar]);this.chartScrollbar=null},handleReleaseOutside:function(a){AmCharts.AmSerialChart.base.handleReleaseOutside.call(this,a);AmCharts.callMethod("handleReleaseOutside",[this.chartScrollbar])}});AmCharts.AmRadarChart=AmCharts.Class({inherits:AmCharts.AmCoordinateChart,construct:function(){AmCharts.AmRadarChart.base.construct.call(this);this.marginRight=this.marginBottom=this.marginTop=this.marginLeft=0;this.chartType="radar";this.radius="35%"},initChart:function(){AmCharts.AmRadarChart.base.initChart.call(this);this.dataChanged&&(this.updateData(),this.dataChanged=!1,this.dispatchDataUpdated=!0);this.drawChart()},updateData:function(){this.parseData();for(var a=this.graphs,b=0;b<a.length;b++)a[b].data=
this.chartData},updateGraphs:function(){for(var a=this.graphs,b=0;b<a.length;b++){var d=a[b];d.index=b;d.width=this.realRadius;d.height=this.realRadius;d.x=this.marginLeftReal;d.y=this.marginTopReal;d.chartType=this.chartType}},parseData:function(){AmCharts.AmRadarChart.base.parseData.call(this);this.parseSerialData()},updateValueAxes:function(){for(var a=this.valueAxes,b=0;b<a.length;b++){var d=a[b];d.axisRenderer=AmCharts.RadAxis;d.guideFillRenderer=AmCharts.RadarFill;d.axisItemRenderer=AmCharts.RadItem;
d.autoGridCount=!1;d.x=this.marginLeftReal;d.y=this.marginTopReal;d.width=this.realRadius;d.height=this.realRadius}},drawChart:function(){AmCharts.AmRadarChart.base.drawChart.call(this);var a=this.updateWidth(),b=this.updateHeight(),d=this.marginTop+this.getTitleHeight(),e=this.marginLeft,b=b-d-this.marginBottom;this.marginLeftReal=e+(a-e-this.marginRight)/2;this.marginTopReal=d+b/2;this.realRadius=AmCharts.toCoordinate(this.radius,a,b);this.updateValueAxes();this.updateGraphs();a=this.chartData;
if(AmCharts.ifArray(a)){if(0<this.realWidth&&0<this.realHeight){a=a.length-1;e=this.valueAxes;for(d=0;d<e.length;d++)e[d].zoom(0,a);e=this.graphs;for(d=0;d<e.length;d++)e[d].zoom(0,a)}}else this.cleanChart();this.dispDUpd();this.chartCreated=!0},formatString:function(a,b){var d=b.graph;-1!=a.indexOf("[[category]]")&&(a=a.replace(/\[\[category\]\]/g,String(b.serialDataItem.category)));d=d.numberFormatter;d||(d=this.numberFormatter);a=AmCharts.formatValue(a,b.values,["value"],d,"",this.usePrefixes,
this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);return a=AmCharts.AmRadarChart.base.formatString.call(this,a,b)},cleanChart:function(){this.callMethod("destroy",[this.valueAxes,this.graphs])}});AmCharts.AxisBase=AmCharts.Class({construct:function(){this.viY=this.viX=this.y=this.x=this.dy=this.dx=0;this.axisWidth;this.axisThickness=1;this.axisColor="#000000";this.axisAlpha=1;this.gridCount=this.tickLength=5;this.gridAlpha=0.15;this.gridThickness=1;this.gridColor="#000000";this.dashLength=0;this.labelFrequency=1;this.showLastLabel=this.showFirstLabel=!0;this.fillColor="#FFFFFF";this.fillAlpha=0;this.labelsEnabled=!0;this.labelRotation=0;this.autoGridCount=!0;this.valueRollOverColor="#CC0000";
this.offset=0;this.guides=[];this.visible=!0;this.counter=0;this.guides=[];this.ignoreAxisWidth=this.inside=!1;this.titleColor;this.titleFontSize;this.titleBold=!0},zoom:function(a,b){this.start=a;this.end=b;this.dataChanged=!0;this.draw()},fixAxisPosition:function(){var a=this.position;"H"==this.orientation?("left"==a&&(a="bottom"),"right"==a&&(a="top")):("bottom"==a&&(a="left"),"top"==a&&(a="right"));this.position=a},draw:function(){var a=this.chart;void 0==this.titleColor&&(this.titleColor=a.color);
isNaN(this.titleFontSize)&&(this.titleFontSize=a.fontSize+1);this.allLabels=[];this.counter=0;this.destroy();this.fixAxisPosition();this.labels=[];var b=a.container,d=b.set();a.gridSet.push(d);this.set=d;b=b.set();a.axesLabelsSet.push(b);this.labelsSet=b;this.axisLine=new this.axisRenderer(this);this.autoGridCount&&("V"==this.orientation?(a=this.height/35,3>a&&(a=3)):a=this.width/75,this.gridCount=a);this.axisWidth=this.axisLine.axisWidth;this.addTitle()},setOrientation:function(a){this.orientation=
a?"H":"V"},addTitle:function(){var a=this.title;if(a){var b=this.chart;this.titleLabel=AmCharts.text(b.container,a,this.titleColor,b.fontFamily,this.titleFontSize,"middle",this.titleBold)}},positionTitle:function(){var a=this.titleLabel;if(a){var b,d,e=this.labelsSet,f={};0<e.length()?f=e.getBBox():(f.x=0,f.y=0,f.width=this.viW,f.height=this.viH);e.push(a);var e=f.x,g=f.y;AmCharts.VML&&(this.rotate?e-=this.x:g-=this.y);var h=f.width,f=f.height,i=this.viW,j=this.viH;a.getBBox();var k=0,l=this.titleFontSize/
2,m=this.inside;switch(this.position){case "top":b=i/2;d=g-10-l;break;case "bottom":b=i/2;d=g+f+10+l;break;case "left":b=e-10-l;m&&(b-=5);d=j/2;k=-90;break;case "right":b=e+h+10+l-3,m&&(b+=7),d=j/2,k=-90}this.marginsChanged?(a.translate(b,d),this.tx=b,this.ty=d):a.translate(this.tx,this.ty);this.marginsChanged=!1;0!=k&&a.rotate(k)}},pushAxisItem:function(a){var b=a.graphics();0<b.length()&&this.set.push(b);(a=a.getLabel())&&this.labelsSet.push(a)},addGuide:function(a){this.guides.push(a)},removeGuide:function(a){for(var b=
this.guides,d=0;d<b.length;d++)b[d]==a&&b.splice(d,1)},handleGuideOver:function(a){clearTimeout(this.chart.hoverInt);var b=a.graphics.getBBox(),d=b.x+b.width/2,b=b.y+b.height/2,e=a.fillColor;void 0==e&&(e=a.lineColor);this.chart.showBalloon(a.balloonText,e,!0,d,b)},handleGuideOut:function(){this.chart.hideBalloon()},addEventListeners:function(a,b){var d=this;a.mouseover(function(){d.handleGuideOver(b)});a.mouseout(function(){d.handleGuideOut(b)})},getBBox:function(){var a=this.labelsSet.getBBox();
AmCharts.VML||(a={x:a.x+this.x,y:a.y+this.y,width:a.width,height:a.height});return a},destroy:function(){AmCharts.remove(this.set);AmCharts.remove(this.labelsSet);var a=this.axisLine;a&&AmCharts.remove(a.set);AmCharts.remove(this.grid0)}});AmCharts.ValueAxis=AmCharts.Class({inherits:AmCharts.AxisBase,construct:function(){this.createEvents("axisChanged","logarithmicAxisFailed","axisSelfZoomed","axisZoomed");AmCharts.ValueAxis.base.construct.call(this);this.dataChanged=!0;this.gridCount=8;this.stackType="none";this.position="left";this.unitPosition="right";this.recalculateToPercents=this.includeHidden=this.includeGuidesInMinMax=this.integersOnly=!1;this.duration;this.durationUnits={DD:"d. ",hh:":",mm:":",ss:""};this.scrollbar=!1;this.maxDecCount;
this.baseValue=0;this.radarCategoriesEnabled=!0;this.gridType="polygons";this.useScientificNotation=!1;this.axisTitleOffset=10;this.minMaxMultiplayer=1},updateData:function(){0>=this.gridCount&&(this.gridCount=1);this.totals=[];this.data=this.chart.chartData;"xy"!=this.chart.chartType&&(this.stackGraphs("smoothedLine"),this.stackGraphs("line"),this.stackGraphs("column"),this.stackGraphs("step"));this.recalculateToPercents&&this.recalculate();this.synchronizationMultiplyer&&this.synchronizeWithAxis?
this.foundGraphs=!0:(this.foundGraphs=!1,this.getMinMax())},draw:function(){AmCharts.ValueAxis.base.draw.call(this);var a=this.chart,b=this.set;"duration"==this.type&&(this.duration="ss");!0==this.dataChanged&&(this.updateData(),this.dataChanged=!1);if(this.logarithmic&&(0>=this.getMin(0,this.data.length-1)||0>=this.minimum))this.fire("logarithmicAxisFailed",{type:"logarithmicAxisFailed",chart:a});else{this.grid0=null;var d,e,f=a.dx,g=a.dy,h=!1,i=this.logarithmic,j=a.chartType;if(!isNaN(this.min)&&
!isNaN(this.max)&&this.foundGraphs&&Infinity!=this.min&&-Infinity!=this.max){var k=this.labelFrequency,l=this.showFirstLabel,m=this.showLastLabel,r=1,n=0,q=Math.round((this.max-this.min)/this.step)+1;if(!0==i){var p=Math.log(this.max)*Math.LOG10E-Math.log(this.minReal)*Math.LOG10E;this.stepWidth=this.axisWidth/p;2<p&&(q=Math.ceil(Math.log(this.max)*Math.LOG10E)+1,n=Math.round(Math.log(this.minReal)*Math.LOG10E),q>this.gridCount&&(r=Math.ceil(q/this.gridCount)))}else this.stepWidth=this.axisWidth/
(this.max-this.min);d=0;1>this.step&&-1<this.step&&(d=this.getDecimals(this.step));this.integersOnly&&(d=0);d>this.maxDecCount&&(d=this.maxDecCount);isNaN(this.precision)||(d=this.precision);this.max=AmCharts.roundTo(this.max,this.maxDecCount);this.min=AmCharts.roundTo(this.min,this.maxDecCount);var s={};s.precision=d;s.decimalSeparator=a.numberFormatter.decimalSeparator;s.thousandsSeparator=a.numberFormatter.thousandsSeparator;this.numberFormatter=s;var t=this.guides,u=t.length;if(0<u){var x=this.fillAlpha;
for(e=this.fillAlpha=0;e<u;e++){var z=t[e],y=NaN;if(!isNaN(z.toValue)){var y=this.getCoordinate(z.toValue),v=new this.axisItemRenderer(this,y,"",!0,NaN,NaN,z);this.pushAxisItem(v)}var C=NaN;isNaN(z.value)||(C=this.getCoordinate(z.value),v=new this.axisItemRenderer(this,C,z.label,!0,NaN,(y-C)/2,z),this.pushAxisItem(v));isNaN(y-C)||(v=new this.guideFillRenderer(this,C,y,z),this.pushAxisItem(v),v=v.graphics(),z.graphics=v,z.balloonText&&this.addEventListeners(v,z))}this.fillAlpha=x}t=!1;for(e=n;e<q;e+=
r)v=AmCharts.roundTo(this.step*e+this.min,d),-1!=String(v).indexOf("e")&&(t=!0,String(v).split("e"));this.duration&&(this.maxInterval=AmCharts.getMaxInterval(this.max,this.duration));for(e=n;e<q;e+=r)if(n=this.step*e+this.min,n=AmCharts.roundTo(n,this.maxDecCount+1),!(this.integersOnly&&Math.round(n)!=n)){!0==i&&(0==n&&(n=this.minReal),2<p&&(n=Math.pow(10,e)),t=-1!=String(n).indexOf("e")?!0:!1);this.useScientificNotation&&(t=!0);this.usePrefixes&&(t=!1);t?(v=-1==String(n).indexOf("e")?n.toExponential(15):
String(n),v=v.split("e"),d=Number(v[0]),v=Number(v[1]),d=AmCharts.roundTo(d,14),10==d&&(d=1,v+=1),v=d+"e"+v,0==n&&(v="0"),1==n&&(v="1")):(i&&(d=String(n).split("."),s.precision=d[1]?d[1].length:-1),v=this.usePrefixes?AmCharts.addPrefix(n,a.prefixesOfBigNumbers,a.prefixesOfSmallNumbers,s):AmCharts.formatNumber(n,s,s.precision));this.duration&&(v=AmCharts.formatDuration(n,this.duration,"",this.durationUnits,this.maxInterval,s));this.recalculateToPercents?v+="%":(d=this.unit)&&(v="left"==this.unitPosition?
d+v:v+d);Math.round(e/k)!=e/k&&(v=void 0);if(0==e&&!l||e==q-1&&!m)v=" ";d=this.getCoordinate(n);v=new this.axisItemRenderer(this,d,v);this.pushAxisItem(v);if(n==this.baseValue&&"radar"!=j){var J,E,u=this.viW,x=this.viH,n=this.viX,v=this.viY;"H"==this.orientation?0<=d&&d<=u+1&&(J=[d,d,d+f],E=[x,0,g]):0<=d&&d<=x+1&&(J=[0,u,u+f],E=[d,d,d+g]);J&&(d=AmCharts.fitToBounds(2*this.gridAlpha,0,1),d=AmCharts.line(a.container,J,E,this.gridColor,d,1,this.dashLength),d.translate(n,v),this.grid0=d,a.axesSet.push(d),
d.toBack())}}e=this.baseValue;this.min>this.baseValue&&this.max>this.baseValue&&(e=this.min);this.min<this.baseValue&&this.max<this.baseValue&&(e=this.max);i&&e<this.minReal&&(e=this.minReal);this.baseCoord=this.getCoordinate(e);a={type:"axisChanged",target:this,chart:a};a.min=i?this.minReal:this.min;a.max=this.max;this.fire("axisChanged",a);this.axisCreated=!0}else h=!0;i=this.axisLine.set;a=this.labelsSet;this.positionTitle();"radar"!=j?(j=this.viX,e=this.viY,b.translate(j,e),a.translate(j,e)):
i.toFront();!this.visible||h?(b.hide(),i.hide(),a.hide()):(b.show(),i.show(),a.show())}},getDecimals:function(a){var b=0;isNaN(a)||(a=a.toString(),-1!=a.indexOf("e-")?b=Number(a.split("-")[1]):-1!=a.indexOf(".")&&(b=a.split(".")[1].length));return b},stackGraphs:function(a){var b=this.stackType;"stacked"==b&&(b="regular");"line"==b&&(b="none");"100% stacked"==b&&(b="100%");this.stackType=b;var d=[],e=[],f=[],g=[],h,i=this.chart.graphs,j,k,l,m=this.baseValue;if(("line"==a||"step"==a||"smoothedLine"==
a)&&("regular"==b||"100%"==b))for(l=0;l<i.length;l++)h=i[l],h.hidden||(k=h.type,h.chart==this.chart&&(h.valueAxis==this&&a==k&&h.stackable)&&(j&&(h.stackGraph=j),j=h));for(j=this.start;j<=this.end;j++){var r=0;for(l=0;l<i.length;l++)if(h=i[l],!h.hidden&&(k=h.type,h.chart==this.chart&&(h.valueAxis==this&&a==k&&h.stackable)&&(k=this.data[j].axes[this.id].graphs[h.id],h=k.values.value,!isNaN(h)))){var n=this.getDecimals(h);r<n&&(r=n);g[j]=isNaN(g[j])?Math.abs(h):g[j]+Math.abs(h);g[j]=AmCharts.roundTo(g[j],
r);if("regular"==b){if("line"==a||"step"==a||"smoothedLine"==a)isNaN(d[j])?(d[j]=h,k.values.close=h,k.values.open=this.baseValue):(k.values.close=isNaN(h)?d[j]:h+d[j],k.values.open=d[j],d[j]=k.values.close);"column"==a&&!isNaN(h)&&(k.values.close=h,0>h?(k.values.close=h,isNaN(e[j])?k.values.open=m:(k.values.close+=e[j],k.values.open=e[j]),e[j]=k.values.close):(k.values.close=h,isNaN(f[j])?k.values.open=m:(k.values.close+=f[j],k.values.open=f[j]),f[j]=k.values.close))}}}for(j=this.start;j<=this.end;j++)for(l=
0;l<i.length;l++)h=i[l],h.hidden||(k=h.type,h.chart==this.chart&&(h.valueAxis==this&&a==k&&h.stackable)&&(k=this.data[j].axes[this.id].graphs[h.id],h=k.values.value,isNaN(h)||(d=100*(h/g[j]),k.values.percents=d,k.values.total=g[j],"100%"==b&&(isNaN(e[j])&&(e[j]=0),isNaN(f[j])&&(f[j]=0),0>d?(k.values.close=AmCharts.fitToBounds(d+e[j],-100,100),k.values.open=e[j],e[j]=k.values.close):(k.values.close=AmCharts.fitToBounds(d+f[j],-100,100),k.values.open=f[j],f[j]=k.values.close)))))},recalculate:function(){for(var a=
this.chart.graphs,b=0;b<a.length;b++){var d=a[b];if(d.valueAxis==this){var e="value";if("candlestick"==d.type||"ohlc"==d.type)e="open";var f,g,h=this.end+2,h=AmCharts.fitToBounds(this.end+1,0,this.data.length-1),i=this.start;0<i&&i--;for(var j=this.start;j<=h&&!(g=this.data[j].axes[this.id].graphs[d.id],f=g.values[e],!isNaN(f));j++);for(e=i;e<=h;e++){g=this.data[e].axes[this.id].graphs[d.id];g.percents={};var i=g.values,k;for(k in i)g.percents[k]="percents"!=k?100*(i[k]/f)-100:i[k]}}}},getMinMax:function(){for(var a=
!1,b=this.chart,d=b.graphs,e=0;e<d.length;e++){var f=d[e].type;if("line"==f||"step"==f||"smoothedLine"==f)this.expandMinMax&&(a=!0)}a&&(0<this.start&&this.start--,this.end<this.data.length-1&&this.end++);"serial"==b.chartType&&!0==b.categoryAxis.parseDates&&!a&&this.end<this.data.length-1&&this.end++;a=this.minMaxMultiplayer;this.min=this.getMin(this.start,this.end);this.max=this.getMax();a=(this.max-this.min)*(a-1);this.min-=a;this.max+=a;a=this.guides.length;if(this.includeGuidesInMinMax&&0<a)for(b=
0;b<a;b++)d=this.guides[b],d.toValue<this.min&&(this.min=d.toValue),d.value<this.min&&(this.min=d.value),d.toValue>this.max&&(this.max=d.toValue),d.value>this.max&&(this.max=d.value);isNaN(this.minimum)||(this.min=this.minimum);isNaN(this.maximum)||(this.max=this.maximum);this.min>this.max&&(a=this.max,this.max=this.min,this.min=a);isNaN(this.minTemp)||(this.min=this.minTemp);isNaN(this.maxTemp)||(this.max=this.maxTemp);this.minReal=this.min;this.maxReal=this.max;0==this.min&&0==this.max&&(this.max=
9);this.min>this.max&&(this.min=this.max-1);a=this.min;b=this.max;d=this.max-this.min;e=0==d?Math.pow(10,Math.floor(Math.log(Math.abs(this.max))*Math.LOG10E))/10:Math.pow(10,Math.floor(Math.log(Math.abs(d))*Math.LOG10E))/10;isNaN(this.maximum)&&isNaN(this.maxTemp)&&(this.max=Math.ceil(this.max/e)*e+e);isNaN(this.minimum)&&isNaN(this.minTemp)&&(this.min=Math.floor(this.min/e)*e-e);0>this.min&&0<=a&&(this.min=0);0<this.max&&0>=b&&(this.max=0);"100%"==this.stackType&&(this.min=0>this.min?-100:0,this.max=
0>this.max?0:100);d=this.max-this.min;e=Math.pow(10,Math.floor(Math.log(Math.abs(d))*Math.LOG10E))/10;this.step=Math.ceil(d/this.gridCount/e)*e;d=Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E));d=d.toExponential(0).split("e");e=Number(d[1]);9==Number(d[0])&&e++;d=this.generateNumber(1,e);e=Math.ceil(this.step/d);5<e&&(e=10);5>=e&&2<e&&(e=5);this.step=Math.ceil(this.step/(d*e))*d*e;1>d?(this.maxDecCount=Math.abs(Math.log(Math.abs(d))*Math.LOG10E),this.maxDecCount=Math.round(this.maxDecCount),
this.step=AmCharts.roundTo(this.step,this.maxDecCount+1)):this.maxDecCount=0;this.min=this.step*Math.floor(this.min/this.step);this.max=this.step*Math.ceil(this.max/this.step);0>this.min&&0<=a&&(this.min=0);0<this.max&&0>=b&&(this.max=0);1<this.minReal&&1<this.max-this.minReal&&(this.minReal=Math.floor(this.minReal));d=Math.pow(10,Math.floor(Math.log(Math.abs(this.minReal))*Math.LOG10E));0==this.min&&(this.minReal=d);0==this.min&&1<this.minReal&&(this.minReal=1);0<this.min&&0<this.minReal-this.step&&
(this.minReal=this.min+this.step<this.minReal?this.min+this.step:this.min);d=Math.log(b)*Math.LOG10E-Math.log(a)*Math.LOG10E;this.logarithmic&&(2<d?(this.minReal=this.min=Math.pow(10,Math.floor(Math.log(Math.abs(a))*Math.LOG10E)),this.max=Math.pow(10,Math.ceil(Math.log(Math.abs(b))*Math.LOG10E))):(b=Math.pow(10,Math.floor(Math.log(Math.abs(this.min))*Math.LOG10E))/10,a=Math.pow(10,Math.floor(Math.log(Math.abs(a))*Math.LOG10E))/10,b<a&&(this.minReal=this.min=10*a)))},generateNumber:function(a,b){var d=
"",e;e=0>b?Math.abs(b)-1:Math.abs(b);for(var f=0;f<e;f++)d+="0";return 0>b?Number("0."+d+String(a)):Number(String(a)+d)},getMin:function(a,b){for(var d,e=a;e<=b;e++){var f=this.data[e].axes[this.id].graphs,g;for(g in f){var h=this.chart.getGraphById(g);if(h.includeInMinMax&&(!h.hidden||this.includeHidden)){isNaN(d)&&(d=Infinity);this.foundGraphs=!0;h=f[g].values;this.recalculateToPercents&&(h=f[g].percents);var i;if(this.minMaxField)i=h[this.minMaxField],i<d&&(d=i);else for(var j in h)"percents"!=
j&&"total"!=j&&(i=h[j],i<d&&(d=i))}}}return d},getMax:function(){for(var a,b=this.start;b<=this.end;b++){var d=this.data[b].axes[this.id].graphs,e;for(e in d){var f=this.chart.getGraphById(e);if(f.includeInMinMax&&(!f.hidden||this.includeHidden)){isNaN(a)&&(a=-Infinity);this.foundGraphs=!0;f=d[e].values;this.recalculateToPercents&&(f=d[e].percents);var g;if(this.minMaxField)g=f[this.minMaxField],g>a&&(a=g);else for(var h in f)"percents"!=h&&"total"!=h&&(g=f[h],g>a&&(a=g))}}}return a},dispatchZoomEvent:function(a,
b){var d={type:"axisZoomed",startValue:a,endValue:b,target:this,chart:this.chart};this.fire(d.type,d)},zoomToValues:function(a,b){if(b<a)var d=b,b=a,a=d;a<this.min&&(a=this.min);b>this.max&&(b=this.max);d={type:"axisSelfZoomed"};d.chart=this.chart;d.valueAxis=this;d.multiplyer=this.axisWidth/Math.abs(this.getCoordinate(b)-this.getCoordinate(a));d.position="V"==this.orientation?this.reversed?this.getCoordinate(a)-this.y:this.getCoordinate(b)-this.y:this.reversed?this.getCoordinate(b)-this.x:this.getCoordinate(a)-
this.x;this.fire(d.type,d)},coordinateToValue:function(a){if(isNaN(a))return NaN;var b=this.axisWidth,d=this.stepWidth,e=this.reversed,f=this.rotate,g=this.min,h=this.minReal;return!0==this.logarithmic?Math.pow(10,(f?!0==e?(b-a)/d:a/d:!0==e?a/d:(b-a)/d)+Math.log(h)*Math.LOG10E):!0==e?f?g-(a-b)/d:a/d+g:f?a/d+g:g-(a-b)/d},getCoordinate:function(a){if(isNaN(a))return NaN;var b=this.rotate,d=this.reversed,e=this.axisWidth,f=this.stepWidth,g=this.min,h=this.minReal;!0==this.logarithmic?(a=Math.log(a)*
Math.LOG10E-Math.log(h)*Math.LOG10E,b=b?!0==d?e-f*a:f*a:!0==d?f*a:e-f*a):b=!0==d?b?e-f*(a-g):f*(a-g):b?f*(a-g):e-f*(a-g);b=this.rotate?b+(this.x-this.viX):b+(this.y-this.viY);return Math.round(b)},synchronizeWithAxis:function(a){this.synchronizeWithAxis=a;this.removeListener(this.synchronizeWithAxis,"axisChanged",this.handleSynchronization);this.listenTo(this.synchronizeWithAxis,"axisChanged",this.handleSynchronization)},handleSynchronization:function(){var a=this.synchronizeWithAxis,b=a.min,d=a.max,
a=a.step,e=this.synchronizationMultiplyer;e&&(this.min=b*e,this.max=d*e,this.step=a*e,b=Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E)),b=Math.abs(Math.log(Math.abs(b))*Math.LOG10E),this.maxDecCount=b=Math.round(b),this.draw())}});AmCharts.CategoryAxis=AmCharts.Class({inherits:AmCharts.AxisBase,construct:function(){AmCharts.CategoryAxis.base.construct.call(this);this.minPeriod="DD";this.equalSpacing=this.parseDates=!1;this.position="bottom";this.startOnAxis=!1;this.firstDayOfWeek=1;this.gridPosition="middle";this.boldPeriodBeginning=!0;this.periods=[{period:"ss",count:1},{period:"ss",count:5},{period:"ss",count:10},{period:"ss",count:30},{period:"mm",count:1},{period:"mm",count:5},{period:"mm",count:10},{period:"mm",count:30},
{period:"hh",count:1},{period:"hh",count:3},{period:"hh",count:6},{period:"hh",count:12},{period:"DD",count:1},{period:"DD",count:2},{period:"WW",count:1},{period:"MM",count:1},{period:"MM",count:2},{period:"MM",count:3},{period:"MM",count:6},{period:"YYYY",count:1},{period:"YYYY",count:2},{period:"YYYY",count:5},{period:"YYYY",count:10},{period:"YYYY",count:50},{period:"YYYY",count:100}];this.dateFormats=[{period:"fff",format:"JJ:NN:SS"},{period:"ss",format:"JJ:NN:SS"},{period:"mm",format:"JJ:NN"},
{period:"hh",format:"JJ:NN"},{period:"DD",format:"MMM DD"},{period:"WW",format:"MMM DD"},{period:"MM",format:"MMM"},{period:"YYYY",format:"YYYY"}];this.nextPeriod={};this.nextPeriod.fff="ss";this.nextPeriod.ss="mm";this.nextPeriod.mm="hh";this.nextPeriod.hh="DD";this.nextPeriod.DD="MM";this.nextPeriod.MM="YYYY"},draw:function(){AmCharts.CategoryAxis.base.draw.call(this);this.generateDFObject();var a=this.chart.chartData;this.data=a;if(AmCharts.ifArray(a)){var b=this.chart,d=this.start,e=this.labelFrequency,
f=0,g=this.end-d+1,h=this.gridCount,i=this.showFirstLabel,j=this.showLastLabel,k,l="",l=AmCharts.extractPeriod(this.minPeriod);k=AmCharts.getPeriodDuration(l.period,l.count);var m,r,n,q,p;m=this.rotate;var s=this.firstDayOfWeek,t=this.boldPeriodBeginning,a=AmCharts.resetDateToMin(new Date(a[a.length-1].time+1.05*k),this.minPeriod,1,s).getTime();this.endTime>a&&(this.endTime=a);if(this.parseDates&&!this.equalSpacing){if(this.timeDifference=this.endTime-this.startTime,d=this.choosePeriod(0),e=d.period,
m=d.count,r=AmCharts.getPeriodDuration(e,m),r<k&&(e=l.period,m=l.count,r=k),a=e,"WW"==a&&(a="DD"),this.stepWidth=this.getStepWidth(this.timeDifference),h=Math.ceil(this.timeDifference/r)+1,l=AmCharts.resetDateToMin(new Date(this.startTime-r),e,m,s).getTime(),a==e&&1==m&&(n=r*this.stepWidth),this.cellWidth=k*this.stepWidth,g=Math.round(l/r),d=-1,g/2==Math.round(g/2)&&(d=-2,l-=r),0<this.gridCount)for(g=d;g<=h;g++){q=l+1.5*r;q=AmCharts.resetDateToMin(new Date(q),e,m,s).getTime();k=(q-this.startTime)*
this.stepWidth;p=!1;this.nextPeriod[a]&&(p=this.checkPeriodChange(this.nextPeriod[a],1,q,l));var u=!1;p?(l=this.dateFormatsObject[this.nextPeriod[a]],u=!0):l=this.dateFormatsObject[a];t||(u=!1);l=AmCharts.formatDate(new Date(q),l);if(g==d&&!i||g==h&&!j)l=" ";k=new this.axisItemRenderer(this,k,l,!1,n,0,!1,u);this.pushAxisItem(k);l=q}}else if(this.parseDates){if(this.parseDates&&this.equalSpacing){f=this.start;this.startTime=this.data[this.start].time;this.endTime=this.data[this.end].time;this.timeDifference=
this.endTime-this.startTime;d=this.choosePeriod(0);e=d.period;m=d.count;r=AmCharts.getPeriodDuration(e,m);r<k&&(e=l.period,m=l.count,r=k);a=e;"WW"==a&&(a="DD");this.stepWidth=this.getStepWidth(g);h=Math.ceil(this.timeDifference/r)+1;l=AmCharts.resetDateToMin(new Date(this.startTime-r),e,m,s).getTime();this.cellWidth=this.getStepWidth(g);g=Math.round(l/r);d=-1;g/2==Math.round(g/2)&&(d=-2,l-=r);g=this.start;g/2==Math.round(g/2)&&g--;0>g&&(g=0);n=this.end+2;n>=this.data.length&&(n=this.data.length);
s=!1;for(this.end-this.start>this.gridCount&&(s=!0);g<n;g++)if(q=this.data[g].time,this.checkPeriodChange(e,m,q,l)){k=this.getCoordinate(g-this.start);p=!1;this.nextPeriod[a]&&(p=this.checkPeriodChange(this.nextPeriod[a],1,q,l));u=!1;p?(l=this.dateFormatsObject[this.nextPeriod[a]],u=!0):l=this.dateFormatsObject[a];l=AmCharts.formatDate(new Date(q),l);if(g==d&&!i||g==h&&!j)l=" ";s?s=!1:(t||(u=!1),k=new this.axisItemRenderer(this,k,l,void 0,void 0,void 0,void 0,u),k.graphics(),this.pushAxisItem(k));
l=q}}}else if(this.cellWidth=this.getStepWidth(g),g<h&&(h=g),f+=this.start,this.stepWidth=this.getStepWidth(g),0<h){t=Math.floor(g/h);g=f;g/2==Math.round(g/2)&&g--;0>g&&(g=0);for(h=0;g<=this.end+2;g+=t){l=0<=g&&g<this.data.length?this.data[g].category:"";k=this.getCoordinate(g-f);n=0;"start"==this.gridPosition&&(k-=this.cellWidth/2,n=this.cellWidth/2);if(g==d&&!i||g==this.end&&!j)l=void 0;Math.round(h/e)!=h/e&&(l=void 0);h++;s=this.cellWidth;m&&(s=NaN);k=new this.axisItemRenderer(this,k,l,!0,s,n,
void 0,!1,n);this.pushAxisItem(k)}}for(g=0;g<this.data.length;g++)if(i=this.data[g])j=this.parseDates&&!this.equalSpacing?Math.round((i.time-this.startTime)*this.stepWidth+this.cellWidth/2):this.getCoordinate(g-f),i.x[this.id]=j}i=this.guides.length;for(g=0;g<i;g++)j=this.guides[g],h=t=d=NaN,j.toCategory&&(h=b.getCategoryIndexByValue(j.toCategory),isNaN(h)||(d=this.getCoordinate(h-f),k=new this.axisItemRenderer(this,d,"",!0,NaN,NaN,j),this.pushAxisItem(k))),j.category&&(h=b.getCategoryIndexByValue(j.category),
isNaN(h)||(t=this.getCoordinate(h-f),h=(d-t)/2,k=new this.axisItemRenderer(this,t,j.label,!0,NaN,h,j),this.pushAxisItem(k))),j.toDate&&(this.equalSpacing?(h=b.getClosestIndex(this.data,"time",j.toDate.getTime(),!1,0,this.data.length-1),isNaN(h)||(d=this.getCoordinate(h-f))):d=(j.toDate.getTime()-this.startTime)*this.stepWidth,k=new this.axisItemRenderer(this,d,"",!0,NaN,NaN,j),this.pushAxisItem(k)),j.date&&(this.equalSpacing?(h=b.getClosestIndex(this.data,"time",j.date.getTime(),!1,0,this.data.length-
1),isNaN(h)||(t=this.getCoordinate(h-f))):t=(j.date.getTime()-this.startTime)*this.stepWidth,h=(d-t)/2,k="H"==this.orientation?new this.axisItemRenderer(this,t,j.label,!1,2*h,NaN,j):new this.axisItemRenderer(this,t,j.label,!1,NaN,h,j),this.pushAxisItem(k)),d=new this.guideFillRenderer(this,t,d,j),t=d.graphics(),this.pushAxisItem(d),j.graphics=t,t.index=g,j.balloonText&&this.addEventListeners(t,j);this.axisCreated=!0;b=this.x;f=this.y;this.set.translate(b,f);this.labelsSet.translate(b,f);this.positionTitle();
(b=this.axisLine.set)&&b.toFront()},choosePeriod:function(a){var b=AmCharts.getPeriodDuration(this.periods[a].period,this.periods[a].count),b=Math.ceil(this.timeDifference/b),d=this.periods;return b<=this.gridCount?d[a]:a+1<d.length?this.choosePeriod(a+1):d[a]},getStepWidth:function(a){var b;this.startOnAxis?(b=this.axisWidth/(a-1),1==a&&(b=this.axisWidth)):b=this.axisWidth/a;return b},getCoordinate:function(a){a*=this.stepWidth;this.startOnAxis||(a+=this.stepWidth/2);return Math.round(a)},timeZoom:function(a,
b){this.startTime=a;this.endTime=b+this.minDuration()},minDuration:function(){var a=AmCharts.extractPeriod(this.minPeriod);return AmCharts.getPeriodDuration(a.period,a.count)},checkPeriodChange:function(a,b,d,e){var e=new Date(e),f=this.firstDayOfWeek,d=AmCharts.resetDateToMin(new Date(d),a,b,f).getTime(),a=AmCharts.resetDateToMin(e,a,b,f).getTime();return d!=a?!0:!1},generateDFObject:function(){this.dateFormatsObject={};for(var a=0;a<this.dateFormats.length;a++){var b=this.dateFormats[a];this.dateFormatsObject[b.period]=
b.format}},xToIndex:function(a){var b=this.data,d=this.chart,e=d.rotate,f=this.stepWidth;this.parseDates&&!this.equalSpacing?(a=this.startTime+Math.round(a/f)-this.minDuration()/2,d=d.getClosestIndex(b,"time",a,!1,this.start,this.end+1)):(this.startOnAxis||(a-=f/2),d=this.start+Math.round(a/f));var d=AmCharts.fitToBounds(d,0,b.length-1),g;b[d]&&(g=b[d].x[this.id]);e?g>this.height+1&&d--:g>this.width+1&&d--;0>g&&d++;return d=AmCharts.fitToBounds(d,0,b.length-1)},dateToCoordinate:function(a){return this.parseDates&&
!this.equalSpacing?(a.getTime()-this.startTime)*this.stepWidth:this.parseDates&&this.equalSpacing?(a=this.chart.getClosestIndex(this.data,"time",a.getTime(),!1,0,this.data.length-1),this.getCoordinate(a-this.start)):NaN},categoryToCoordinate:function(a){return this.chart?(a=this.chart.getCategoryIndexByValue(a),this.getCoordinate(a-this.start)):NaN},coordinateToDate:function(a){return this.equalSpacing?(a=this.xToIndex(a),new Date(this.data[a].time)):new Date(this.startTime+a/this.stepWidth)}});AmCharts.RecAxis=AmCharts.Class({construct:function(a){var b=a.chart,d=a.axisThickness,e=a.axisColor,f=a.axisAlpha,g=a.offset,h=a.dx,i=a.dy,j=a.viX,k=a.viY,l=a.viH,m=a.viW,r=b.container;"H"==a.orientation?(e=AmCharts.line(r,[0,m],[0,0],e,f,d),this.axisWidth=a.width,"bottom"==a.position?(a=d/2+g+l+k-1,d=j):(a=-d/2-g+k+i,d=h+j)):(this.axisWidth=a.height,"right"==a.position?(e=AmCharts.line(r,[0,0,-h],[0,l,l-i],e,f,d),a=k+i,d=d/2+g+h+m+j-1):(e=AmCharts.line(r,[0,0],[0,l],e,f,d),a=k,d=-d/2-g+j));e.translate(d,
a);b.axesSet.push(e);this.set=e}});AmCharts.RecItem=AmCharts.Class({construct:function(a,b,d,e,f,g,h,i,j){b=Math.round(b);void 0==d&&(d="");j||(j=0);void 0==e&&(e=!0);var k=a.chart.fontFamily,l=a.fontSize;void 0==l&&(l=a.chart.fontSize);var m=a.color;void 0==m&&(m=a.chart.color);var r=a.chart.container,n=r.set();this.set=n;var q=a.axisThickness,p=a.axisColor,s=a.axisAlpha,t=a.tickLength,u=a.gridAlpha,x=a.gridThickness,z=a.gridColor,y=a.dashLength,v=a.fillColor,C=a.fillAlpha,J=a.labelsEnabled,E=a.labelRotation,V=a.counter,L=a.inside,
N=a.dx,F=a.dy,S=a.orientation,M=a.position,Q=a.previousCoord,ea=a.viH,Z=a.viW,$=a.offset,aa,O;h?(J=!0,isNaN(h.tickLength)||(t=h.tickLength),void 0!=h.lineColor&&(z=h.lineColor),isNaN(h.lineAlpha)||(u=h.lineAlpha),isNaN(h.dashLength)||(y=h.dashLength),isNaN(h.lineThickness)||(x=h.lineThickness),!0==h.inside&&(L=!0),isNaN(h.labelRotation)||(E=h.labelRotation)):""==d&&(t=0);O="start";f&&(O="middle");var R=E*Math.PI/180,ha,D=0,w=0,fa=0,ca=ha=0;"V"==S&&(E=0);if(J)var T=AmCharts.text(r,d,m,k,l,O,i),ca=
T.getBBox().width;if("H"==S){if(0<=b&&b<=Z+1&&(0<t&&(0<s&&b+j<=Z+1)&&(aa=AmCharts.line(r,[b+j,b+j],[0,t],p,s,x),n.push(aa)),0<u&&(O=AmCharts.line(r,[b,b+N,b+N],[ea,ea+F,F],z,u,x,y),n.push(O))),w=0,D=b,h&&90==E&&(D-=l),!1==e?(O="start",w="bottom"==M?L?w+t:w-t:L?w-t:w+t,D+=3,f&&(D+=f/2,O="middle"),0<E&&(O="middle")):O="middle",1==V&&(0<C&&!h&&Q<Z)&&(e=AmCharts.fitToBounds(b,0,Z),Q=AmCharts.fitToBounds(Q,0,Z),ha=e-Q,0<ha&&(fill=AmCharts.rect(r,ha,a.height,v,C),fill.translate(e-ha+N,F),n.push(fill))),
"bottom"==M?(w+=ea+l/2+$,L?0<E?(w=ea-ca/2*Math.sin(R)-t-3,D+=ca/2*Math.cos(R)):w-=t+l+3+3:0<E?(w=ea+ca/2*Math.sin(R)+t+3,D-=ca/2*Math.cos(R)):w+=t+q+3+3):(w+=F+l/2-$,D+=N,L?0<E?(w=ca/2*Math.sin(R)+t+3,D-=ca/2*Math.cos(R)):w+=t+3:0<E?(w=-(ca/2)*Math.sin(R)-t-6,D+=ca/2*Math.cos(R)):w-=t+l+3+q+3),"bottom"==M?ha=(L?ea-t-1:ea+q-1)+$:(fa=N,ha=(L?F:F-t-q+1)-$),g&&(D+=g),F=D,0<E&&(F+=ca/2*Math.cos(R)),T&&(M=0,L&&(M=ca*Math.cos(R)),F+M>Z+1||0>F))T.remove(),T=null}else{0<=b&&b<=ea+1&&(0<t&&(0<s&&b+j<=ea+1)&&
(aa=AmCharts.line(r,[0,t],[b+j,b+j],p,s,x),n.push(aa)),0<u&&(O=AmCharts.line(r,[0,N,Z+N],[b,b+F,b+F],z,u,x,y),n.push(O)));O="end";if(!0==L&&"left"==M||!1==L&&"right"==M)O="start";w=b-l/2;1==V&&(0<C&&!h)&&(e=AmCharts.fitToBounds(b,0,ea),Q=AmCharts.fitToBounds(Q,0,ea),R=e-Q,fill=AmCharts.polygon(r,[0,a.width,a.width,0],[0,0,R,R],v,C),fill.translate(N,e-R+F),n.push(fill));w+=l/2;"right"==M?(D+=N+Z+$,w+=F,L?(D-=t+4,g||(w-=l/2+3)):(D+=t+4+q,w-=2)):L?(D+=t+4-$,g||(w-=l/2+3),h&&(D+=N,w+=F)):(D+=-t-q-4-2-
$,w-=2);aa&&("right"==M?(fa+=N+$+Z,ha+=F,fa=L?fa-q:fa+q):(fa-=$,L||(fa-=t+q)));g&&(w+=g);L=-3;"right"==M&&(L+=F);if(T&&(w>ea+1||w<L))T.remove(),T=null}aa&&aa.translate(fa,ha);!1==a.visible&&(aa&&aa.remove(),T&&(T.remove(),T=null));T&&(T.attr({"text-anchor":O}),T.translate(D,w),0!=E&&T.rotate(-E),a.allLabels.push(T)," "!=d&&(this.label=T));a.counter=0==V?1:0;a.previousCoord=b;0==this.set.node.childNodes.length&&this.set.remove()},graphics:function(){return this.set},getLabel:function(){return this.label}});AmCharts.RecFill=AmCharts.Class({construct:function(a,b,d,e){var f=a.dx,g=a.dy,h=a.orientation,i=0;if(d<b)var j=b,b=d,d=j;var k=e.fillAlpha;isNaN(k)&&(k=0);j=a.chart.container;e=e.fillColor;"V"==h?(b=AmCharts.fitToBounds(b,0,a.viH),d=AmCharts.fitToBounds(d,0,a.viH)):(b=AmCharts.fitToBounds(b,0,a.viW),d=AmCharts.fitToBounds(d,0,a.viW));d-=b;isNaN(d)&&(d=4,i=2,k=0);0>d&&"object"==typeof e&&(e=e.join(",").split(",").reverse());"V"==h?(a=AmCharts.rect(j,a.width,d,e,k),a.translate(f,b-i+g)):(a=AmCharts.rect(j,
d,a.height,e,k),a.translate(b-i+f,g));this.set=j.set([a])},graphics:function(){return this.set},getLabel:function(){}});AmCharts.RadAxis=AmCharts.Class({construct:function(a){var b=a.chart,d=a.axisThickness,e=a.axisColor,f=a.axisAlpha,g=a.x,h=a.y;this.set=b.container.set();b.axesSet.push(this.set);var i=a.axisTitleOffset,j=a.radarCategoriesEnabled,k=a.chart.fontFamily,l=a.fontSize;void 0==l&&(l=a.chart.fontSize);var m=a.color;void 0==m&&(m=a.chart.color);if(b){this.axisWidth=a.height;for(var a=b.chartData,r=a.length,n=0;n<r;n++){var q=180-360/r*n,p=g+this.axisWidth*Math.sin(q/180*Math.PI),s=h+this.axisWidth*Math.cos(q/
180*Math.PI),p=AmCharts.line(b.container,[g,p],[h,s],e,f,d);this.set.push(p);if(j){var t="start",p=g+(this.axisWidth+i)*Math.sin(q/180*Math.PI),s=h+(this.axisWidth+i)*Math.cos(q/180*Math.PI);if(180==q||0==q)t="middle",p-=5;0>q&&(t="end",p-=10);180==q&&(s-=5);0==q&&(s+=5);q=AmCharts.text(b.container,a[n].category,m,k,l,t);q.translate(p+5,s);this.set.push(q);q.getBBox()}}}}});AmCharts.RadItem=AmCharts.Class({construct:function(a,b,d,e,f,g,h){void 0==d&&(d="");var i=a.chart.fontFamily,j=a.fontSize;void 0==j&&(j=a.chart.fontSize);var k=a.color;void 0==k&&(k=a.chart.color);var l=a.chart.container;this.set=e=l.set();var m=a.axisColor,r=a.axisAlpha,n=a.tickLength,q=a.gridAlpha,p=a.gridThickness,s=a.gridColor,t=a.dashLength,u=a.fillColor,x=a.fillAlpha,z=a.labelsEnabled,f=a.counter,y=a.inside,v=a.gridType,b=b-a.height,C,g=a.x,J=a.y;h?(z=!0,isNaN(h.tickLength)||(n=h.tickLength),
void 0!=h.lineColor&&(s=h.lineColor),isNaN(h.lineAlpha)||(q=h.lineAlpha),isNaN(h.dashLength)||(t=h.dashLength),isNaN(h.lineThickness)||(p=h.lineThickness),!0==h.inside&&(y=!0)):d||(q/=3,n/=2);var E="end",V=-1;y&&(E="start",V=1);if(z){var L=AmCharts.text(l,d,k,i,j,E);L.translate(g+(n+3)*V,b);e.push(L);this.label=L;C=AmCharts.line(l,[g,g+n*V],[b,b],m,r,p);e.push(C)}b=a.y-b;if("polygons"==v){for(var N=[],F=[],S=a.data.length,d=0;d<S;d++)i=180-360/S*d,N.push(b*Math.sin(i/180*Math.PI)),F.push(b*Math.cos(i/
180*Math.PI));N.push(N[0]);F.push(F[0]);d=AmCharts.line(l,N,F,s,q,p,t)}else d=AmCharts.circle(l,b,"#FFFFFF",0,p,s,q);d.translate(g,J);e.push(d);if(1==f&&0<x&&!h){h=a.previousCoord;if("polygons"==v){for(d=S;0<=d;d--)i=180-360/S*d,N.push(h*Math.sin(i/180*Math.PI)),F.push(h*Math.cos(i/180*Math.PI));N=AmCharts.polygon(l,N,F,u,x)}else N=AmCharts.wedge(l,0,0,0,-360,b,b,h,0,{fill:u,"fill-opacity":x,stroke:0,"stroke-opacity":0,"stroke-width":0});e.push(N);N.translate(g,J)}!1==a.visible&&(C&&C.hide(),L&&L.hide());
a.counter=0==f?1:0;a.previousCoord=b},graphics:function(){return this.set},getLabel:function(){return this.label}});AmCharts.RadarFill=AmCharts.Class({construct:function(a,b,d,e){var f=Math.max(b,d),b=d=Math.min(b,d),d=a.chart.container,g=e.fillAlpha,h=e.fillColor,f=Math.abs(f)-a.y,b=Math.abs(b)-a.y,i=-e.angle,e=-e.toAngle;isNaN(i)&&(i=0);isNaN(e)&&(e=-360);this.set=d.set();void 0==h&&(h="#000000");isNaN(g)&&(g=0);if("polygons"==a.gridType){for(var e=[],j=[],k=a.data.length,l=0;l<k;l++)i=180-360/k*l,e.push(f*Math.sin(i/180*Math.PI)),j.push(f*Math.cos(i/180*Math.PI));e.push(e[0]);j.push(j[0]);for(l=k;0<=l;l--)i=
180-360/k*l,e.push(b*Math.sin(i/180*Math.PI)),j.push(b*Math.cos(i/180*Math.PI));this.fill=AmCharts.polygon(d,e,j,h,g)}else this.fill=AmCharts.wedge(d,0,0,i,e-i,f,f,b,0,{fill:h,"fill-opacity":g,stroke:0,"stroke-opacity":0,"stroke-width":0});this.set.push(this.fill);this.fill.translate(a.x,a.y)},graphics:function(){return this.set},getLabel:function(){}});AmCharts.AmGraph=AmCharts.Class({construct:function(){this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem");this.type="line";this.stackable=!0;this.columnCount=1;this.columnIndex=0;this.centerCustomBullets=this.showBalloon=!0;this.maxBulletSize=50;this.minBulletSize=0;this.balloonText="[[value]]";this.hidden=this.scrollbar=this.animationPlayed=!1;this.columnWidth=0.8;this.pointPosition="middle";this.depthCount=1;this.includeInMinMax=!0;this.negativeBase=
0;this.visibleInLegend=!0;this.showAllValueLabels=!1;this.showBalloonAt="close";this.lineThickness=1;this.dashLength=0;this.connect=!0;this.lineAlpha=1;this.bullet="none";this.bulletBorderThickness=2;this.bulletAlpha=this.bulletBorderAlpha=1;this.bulletSize=8;this.hideBulletsCount=this.bulletOffset=0;this.labelPosition="top";this.cornerRadiusTop=0;this.cursorBulletAlpha=1;this.gradientOrientation="vertical";this.dy=this.dx=0;this.periodValue="";this.y=this.x=0},draw:function(){var a=this.chart,b=
a.container;this.container=b;this.destroy();var d=b.set(),e=b.set();this.behindColumns?(a.graphsBehindSet.push(d),a.bulletBehindSet.push(e)):(a.graphsSet.push(d),a.bulletSet.push(e));this.bulletSet=e;if(!this.scrollbar){var f=a.marginLeftReal,a=a.marginTopReal;d.translate(f,a);e.translate(f,a)}if("column"==this.type)var g=b.set();AmCharts.remove(this.columnsSet);d.push(g);this.set=d;this.columnsSet=g;this.columnsArray=[];this.ownColumns=[];this.allBullets=[];this.animationArray=[];AmCharts.ifArray(this.data)&&
(b=!1,"xy"==this.chartType?this.xAxis.axisCreated&&this.yAxis.axisCreated&&(b=!0):this.valueAxis.axisCreated&&(b=!0),!this.hidden&&b&&this.createGraph())},createGraph:function(){var a=this.chart;"inside"==this.labelPosition&&(this.labelPosition="bottom");this.startAlpha=a.startAlpha;this.seqAn=a.sequencedAnimation;this.baseCoord=this.valueAxis.baseCoord;this.fillColors||(this.fillColors=this.lineColor);void 0==this.fillAlphas&&(this.fillAlphas=0);void 0==this.bulletColor&&(this.bulletColor=this.lineColor,
this.bulletColorNegative=this.negativeLineColor);void 0==this.bulletAlpha&&(this.bulletAlpha=this.lineAlpha);this.bulletBorderColor||(this.bulletBorderAlpha=0);if(!isNaN(this.valueAxis.min)&&!isNaN(this.valueAxis.max)){switch(this.chartType){case "serial":this.createSerialGraph();break;case "radar":this.createRadarGraph();break;case "xy":this.createXYGraph(),this.positiveClip(this.set)}this.animationPlayed=!0}},createXYGraph:function(){var a=[],b=[],d=this.xAxis,e=this.yAxis;this.pmh=e.viH+1;this.pmw=
d.viW+1;this.pmy=this.pmx=0;for(var f=this.start;f<=this.end;f++){var g=this.data[f].axes[d.id].graphs[this.id],h=g.values,i=h.x,j=h.y,h=d.getCoordinate(i),k=e.getCoordinate(j);if(!isNaN(i)&&!isNaN(j)&&(a.push(h),b.push(k),(i=this.createBullet(g,h,k,f))||(i=0),j=this.labelText))g=this.createLabel(g,h,k,j),this.positionLabel(h,k,g,this.labelPosition,i)}this.drawLineGraph(a,b);this.launchAnimation()},createRadarGraph:function(){for(var a=this.valueAxis.stackType,b=[],d=[],e,f,g=this.start;g<=this.end;g++){var h=
this.data[g].axes[this.valueAxis.id].graphs[this.id],i;i="none"==a||"3d"==a?h.values.value:h.values.close;if(isNaN(i))this.drawLineGraph(b,d),b=[],d=[];else{var j=this.y-(this.valueAxis.getCoordinate(i)-this.height),k=180-360/(this.end-this.start+1)*g;i=j*Math.sin(k/180*Math.PI);j*=Math.cos(k/180*Math.PI);b.push(i);d.push(j);(k=this.createBullet(h,i,j,g))||(k=0);var l=this.labelText;l&&(h=this.createLabel(h,i,j,l),this.positionLabel(i,j,h,this.labelPosition,k));isNaN(e)&&(e=i);isNaN(f)&&(f=j)}}b.push(e);
d.push(f);this.drawLineGraph(b,d);this.launchAnimation()},positionLabel:function(a,b,d,e,f){var g=d.getBBox();switch(e){case "left":a-=(g.width+f)/2+2;break;case "top":b-=(f+g.height)/2+1;break;case "right":a+=(g.width+f)/2+2;break;case "bottom":b+=(f+g.height)/2+1}d.translate(a,b)},createSerialGraph:function(){var a=this.id,b=this.index,d=this.data,e=this.chart.container,f=this.valueAxis,g=this.type,h=this.columnWidth,i=this.width,j=this.height,k=this.y,l=this.rotate,m=this.columnCount,r=AmCharts.toCoordinate(this.cornerRadiusTop,
h/2),n=this.connect,q=[],p=[],s,t,u=this.chart.graphs.length,x,z=this.dx/this.depthCount,y=this.dy/this.depthCount,v=f.stackType,C=this.labelPosition,J=this.start,E=this.end,V=this.scrollbar,L=this.categoryAxis,N=this.baseCoord,F=this.negativeBase,S=this.columnIndex,M=this.lineThickness,Q=this.lineAlpha,ea=this.lineColor,Z=this.dashLength,$=this.set;"above"==C&&(C="top");"below"==C&&(C="bottom");var aa=270;"horizontal"==this.gradientOrientation&&(aa=0);this.gradientRotation=aa;var O=this.chart.columnSpacing,
R=L.cellWidth,ha=(R*h-m)/m;O>ha&&(O=ha);var D,w,fa,ca=j+1,T=i+1,Ka=0,Sa=0,Ta,Ua,La,Ma,zb=this.fillColors,Da=this.negativeFillColors,va=this.negativeLineColor,Ea=this.fillAlphas,Fa=this.negativeFillAlphas;"object"==typeof Ea&&(Ea=Ea[0]);"object"==typeof Fa&&(Fa=Fa[0]);var Na=f.getCoordinate(f.min);f.logarithmic&&(Na=f.getCoordinate(f.minReal));this.minCoord=Na;this.resetBullet&&(this.bullet="none");if(!V&&("line"==g||"smoothedLine"==g||"step"==g))if(1==d.length&&("step"!=g&&"none"==this.bullet)&&(this.bullet=
"round",this.resetBullet=!0),Da||void 0!=va){var wa=F;wa>f.max&&(wa=f.max);wa<f.min&&(wa=f.min);f.logarithmic&&(wa=f.minReal);var ra=f.getCoordinate(wa),lb=f.getCoordinate(f.max);l?(ca=j,T=Math.abs(lb-ra),Ta=j,Ua=Math.abs(Na-ra),Ma=Sa=0,f.reversed?(Ka=0,La=ra):(Ka=ra,La=0)):(T=i,ca=Math.abs(lb-ra),Ua=i,Ta=Math.abs(Na-ra),La=Ka=0,f.reversed?(Ma=k,Sa=ra):Ma=ra+1)}var sa=Math.round;this.pmx=sa(Ka);this.pmy=sa(Sa);this.pmh=sa(ca);this.pmw=sa(T);this.nmx=sa(La);this.nmy=sa(Ma);this.nmh=sa(Ta);this.nmw=
sa(Ua);h="column"==g?(R*h-O*(m-1))/m:R*h;1>h&&(h=1);var K;if("line"==g||"step"==g||"smoothedLine"==g){if(0<J)for(K=J-1;-1<K;K--)if(D=d[K],w=D.axes[f.id].graphs[a],fa=w.values.value){J=K;break}if(E<d.length-1)for(K=E+1;K<d.length;K++)if(D=d[K],w=D.axes[f.id].graphs[a],fa=w.values.value){E=K;break}}E<d.length-1&&E++;var ka=[],la=[],Va=!1;if("line"==g||"step"==g||"smoothedLine"==g)if(this.stackable&&"regular"==v||"100%"==v)Va=!0;for(K=J;K<=E;K++){D=d[K];w=D.axes[f.id].graphs[a];w.index=K;var ma=NaN,
B=NaN,A=NaN,X=NaN,U=NaN,Oa=NaN,xa=NaN,Pa=NaN,ya=NaN,W=NaN,ba=NaN,na=NaN,oa=NaN,P=NaN,ja=void 0,ta=zb,Ga=Ea,da=ea;void 0!=w.color&&(ta=w.color);w.fillColors&&(ta=w.fillColors);isNaN(w.alpha)||(Ga=w.alpha);var pa=w.values;f.recalculateToPercents&&(pa=w.percents);if(pa){P=!this.stackable||"none"==v||"3d"==v?pa.value:pa.close;if("candlestick"==g||"ohlc"==g)var P=pa.close,Wa=pa.low,xa=f.getCoordinate(Wa),Xa=pa.high,ya=f.getCoordinate(Xa);var ia=pa.open,A=f.getCoordinate(P);isNaN(ia)||(U=f.getCoordinate(ia));
if(!V)switch(this.showBalloonAt){case "close":w.y=A;break;case "open":w.y=U;break;case "high":w.y=ya;break;case "low":w.y=xa}var ma=D.x[L.id],za=Math.round(R/2),Ya=za;"start"==this.pointPosition&&(ma-=R/2,za=0,Ya=R);V||(w.x=ma);-1E5>ma&&(ma=-1E5);ma>i+1E5&&(ma=i+1E5);l?(B=A,X=U,U=A=ma,isNaN(ia)&&(X=N),Oa=xa,Pa=ya):(X=B=ma,isNaN(ia)&&(U=N));switch(g){case "line":isNaN(P)?n||(this.drawLineGraph(q,p,ka,la),q=[],p=[],ka=[],la=[]):(P<F&&(w.isNegative=!0),q.push(B),p.push(A),W=B,ba=A,na=B,oa=A,Va&&(ka.push(X),
la.push(U)));break;case "smoothedLine":isNaN(P)?n||(this.drawSmoothedGraph(q,p,ka,la),q=[],p=[],ka=[],la=[]):(P<F&&(w.isNegative=!0),q.push(B),p.push(A),W=B,ba=A,na=B,oa=A,Va&&(ka.push(X),la.push(U)));break;case "step":isNaN(P)?n||(t=NaN,this.drawLineGraph(q,p,ka,la),q=[],p=[],ka=[],la=[]):(P<F&&(w.isNegative=!0),l?(isNaN(s)||(q.push(s),p.push(A-za)),p.push(A-za),q.push(B),p.push(A+Ya),q.push(B)):(isNaN(t)||(p.push(t),q.push(B-za)),q.push(B-za),p.push(A),q.push(B+Ya),p.push(A)),s=B,t=A,W=B,ba=A,na=
B,oa=A);break;case "column":var Aa=da;void 0!=w.lineColor&&(Aa=w.lineColor);if(!isNaN(P)){P<F&&(w.isNegative=!0,Da&&(ta=Da),void 0!=va&&(da=va));var mb=f.min,nb=f.max;if(!(P<mb&&(ia<mb||void 0==ia)||P>nb&&ia>nb))if(l){if("3d"==v)var H=A-0.5*(h+O)+O/2+y*S,I=X+z*S;else H=A-(m/2-S)*(h+O)+O/2,I=X;var G=h,W=B,ba=H+h/2,na=B,oa=H+h/2;H+G>j&&(G=j-H);0>H&&(G+=H,H=0);var Y=B-X,Ab=I,I=AmCharts.fitToBounds(I,0,i),Y=Y+(Ab-I),Y=AmCharts.fitToBounds(Y,-I,i-I+z*S);if(H<j&&0<G&&(ja=new AmCharts.Cuboid(e,Y,G,z,y,ta,
Ga,M,Aa,Q,aa,r,l),"bottom"!=C))if(C="right",0>P)C="left";else if("regular"==v||"100%"==v)W+=this.dx}else{"3d"==v?(I=B-0.5*(h+O)+O/2+z*S,H=U+y*S):(I=B-(m/2-S)*(h+O)+O/2,H=U);G=h;W=I+h/2;ba=A;na=I+h/2;oa=A;I+G>i+S*z&&(G=i-I+S*z);0>I&&(G+=I,I=0);var Y=A-U,Bb=H,H=AmCharts.fitToBounds(H,0,j),Y=Y+(Bb-H),Y=AmCharts.fitToBounds(Y,-H+y*S,j-H);if(I<i+S*z&&0<G)if(ja=new AmCharts.Cuboid(e,G,Y,z,y,ta,Ga,M,Aa,this.lineAlpha,aa,r,l),0>P)C="bottom";else if("regular"==v||"100%"==v)ba+=this.dy}if(ja){var qa=ja.set;
qa.translate(I,H);this.columnsSet.push(qa);w.url&&qa.setAttr("cursor","pointer");if(!V){"none"==v&&(x=l?(this.end+1-K)*u-b:u*K+b);"3d"==v&&(l?(x=(u-b)*(this.end+1-K),W+=z*this.columnIndex,na+=z*this.columnIndex,w.y+=z*this.columnIndex):(x=(u-b)*(K+1),W+=3,ba+=y*this.columnIndex+7,oa+=y*this.columnIndex,w.y+=y*this.columnIndex));if("regular"==v||"100%"==v)C="middle",x=l?0<pa.value?(this.end+1-K)*u+b:(this.end+1-K)*u-b:0<pa.value?u*K+b:u*K-b;this.columnsArray.push({column:ja,depth:x});w.x=l?H+G/2:I+
G/2;this.ownColumns.push(ja);this.animateColumns(ja,K,B,X,A,U);this.addListeners(qa,w)}w.columnSprite=qa}}break;case "candlestick":if(!isNaN(ia)&&!isNaN(Xa)&&!isNaN(Wa)&&!isNaN(P)){var Qa,Za;P<ia&&(w.isNegative=!0,Da&&(ta=Da),Fa&&(Ga=Fa),void 0!=va&&(da=va));Aa=da;if(l){if(H=A-h/2,I=X,G=h,H+G>j&&(G=j-H),0>H&&(G+=H,H=0),H<j&&0<G){var $a,ab;P>ia?($a=[B,Pa],ab=[X,Oa]):($a=[X,Pa],ab=[B,Oa]);A<j&&0<A&&(Qa=AmCharts.line(e,$a,[A,A],da,Q,M),Za=AmCharts.line(e,ab,[A,A],da,Q,M));Y=B-X;ja=new AmCharts.Cuboid(e,
Y,G,z,y,ta,Ea,M,Aa,Q,aa,r,l)}}else if(I=B-h/2,H=U+M/2,G=h,I+G>i&&(G=i-I),0>I&&(G+=I,I=0),Y=A-U,I<i&&0<G){var ja=new AmCharts.Cuboid(e,G,Y,z,y,ta,Ga,M,Aa,Q,aa,r,l),bb,cb;P>ia?(bb=[A,ya],cb=[U,xa]):(bb=[U,ya],cb=[A,xa]);B<i&&0<B&&(Qa=AmCharts.line(e,[B,B],bb,da,Q,M),Za=AmCharts.line(e,[B,B],cb,da,Q,M))}ja&&(qa=ja.set,$.push(qa),qa.translate(I,H),w.url&&qa.setAttr("cursor","pointer"),Qa&&($.push(Qa),$.push(Za)),W=B,ba=A,na=B,oa=A,V||(w.x=l?H+G/2:I+G/2,this.animateColumns(ja,K,B,X,A,U),this.addListeners(qa,
w)))}break;case "ohlc":if(!isNaN(ia)&&!isNaN(Xa)&&!isNaN(Wa)&&!isNaN(P)){P<ia&&(w.isNegative=!0,void 0!=va&&(da=va));var db,eb,fb;if(l){var gb=A-h/2,gb=AmCharts.fitToBounds(gb,0,j),ob=AmCharts.fitToBounds(A,0,j),hb=A+h/2,hb=AmCharts.fitToBounds(hb,0,j);eb=AmCharts.line(e,[X,X],[gb,ob],da,Q,M,Z);0<A&&A<j&&(db=AmCharts.line(e,[Oa,Pa],[A,A],da,Q,M,Z));fb=AmCharts.line(e,[B,B],[ob,hb],da,Q,M,Z)}else{var ib=B-h/2,ib=AmCharts.fitToBounds(ib,0,i),pb=AmCharts.fitToBounds(B,0,i),jb=B+h/2,jb=AmCharts.fitToBounds(jb,
0,i);eb=AmCharts.line(e,[ib,pb],[U,U],da,Q,M,Z);0<B&&B<i&&(db=AmCharts.line(e,[B,B],[xa,ya],da,Q,M,Z));fb=AmCharts.line(e,[pb,jb],[A,A],da,Q,M,Z)}$.push(eb);$.push(db);$.push(fb);W=B;ba=A;na=B;oa=A}}if(!V&&!isNaN(P)){var qb=this.hideBulletsCount;if(this.end-this.start<=qb||0==qb){var Ba=this.createBullet(w,na,oa,K);Ba||(Ba=0);var rb=this.labelText;if(rb){var ga=this.createLabel(w,0,0,rb),ua=0,Ca=0,sb=ga.getBBox(),Ra=sb.width,kb=sb.height;switch(C){case "left":ua=-(Ra/2+Ba/2+3);break;case "top":Ca=
-(kb/2+Ba/2+3);break;case "right":ua=Ba/2+2+Ra/2;break;case "bottom":l&&"column"==g?(W=N,0>P?(ua=-6,ga.attr({"text-anchor":"end"})):(ua=6,ga.attr({"text-anchor":"start"}))):(Ca=Ba/2+kb/2,ga.x=-(Ra/2+2));break;case "middle":"column"==g&&(l?(ua=-(B-X)/2-z,0>Y&&(ua+=z),Math.abs(B-X)<Ra&&!this.showAllValueLabels&&(ga.remove(),ga=null)):(Ca=-(A-U)/2,0>Y&&(Ca-=y),Math.abs(A-U)<kb&&!this.showAllValueLabels&&(ga.remove(),ga=null)))}if(ga)if(W+=ua,ba+=Ca,ga.translate(W,ba),l){if(0>ba||ba>j)ga.remove(),ga=
null}else{var tb=0;"3d"==v&&(tb=z*S);if(0>W||W>i+tb)ga.remove(),ga=null}}if("column"==g&&"regular"==v||"100%"==v){var ub=f.totalText;if(ub){var Ha=this.createLabel(w,0,0,ub),vb=Ha.getBBox(),wb=vb.width,xb=vb.height,Ia,Ja,yb=f.totals[K];yb&&yb.remove();l?(Ja=A,Ia=0>P?B-wb/2-2:B+wb/2+3):(Ia=B,Ja=0>P?A+xb/2:A-xb/2-3);Ha.translate(Ia,Ja);f.totals[K]=Ha;l?(0>Ja||Ja>j)&&Ha.remove():(0>Ia||Ia>i)&&Ha.remove()}}}}}}if("line"==g||"step"==g||"smoothedLine"==g)"smoothedLine"==g?this.drawSmoothedGraph(q,p,ka,
la):this.drawLineGraph(q,p,ka,la),V||this.launchAnimation()},animateColumns:function(a,b){var d=this,e=d.chart.startDuration;0<e&&!d.animationPlayed&&(d.seqAn?(a.set.hide(),d.animationArray.push(a),e=setTimeout(function(){d.animate.call(d)},1E3*e/(d.end-d.start+1)*(b-d.start)),d.timeOuts.push(e)):d.animate(a))},createLabel:function(a,b,d,e){var f=this.chart,g=this.color;void 0==g&&(g=f.color);var h=this.fontSize;void 0==h&&(h=f.fontSize);a=f.formatString(e,a,this);a=AmCharts.cleanFromEmpty(a);f=AmCharts.text(this.container,
a,g,f.fontFamily,h);f.translate(b,d);this.bulletSet.push(f);this.allBullets.push(f);return f},positiveClip:function(a){a.clipRect(this.pmx,this.pmy,this.pmw,this.pmh)},negativeClip:function(a){a.clipRect(this.nmx,this.nmy,this.nmw,this.nmh)},drawLineGraph:function(a,b,d,e){if(1<a.length){var f=this.set,g=this.container,h=g.set(),i=g.set();f.push(h);f.push(i);var j=this.lineAlpha,k=this.lineThickness,l=this.dashLength,f=this.fillAlphas,m=this.fillColors,r=this.negativeLineColor,n=this.negativeFillColors,
q=this.negativeFillAlphas,p=this.baseCoord,s=AmCharts.line(g,a,b,this.lineColor,j,k,l,!1,!0);h.push(s);void 0!=r&&(j=AmCharts.line(g,a,b,r,j,k,l,!1,!0),i.push(j));if(0<f&&(j=a.join(";").split(";"),k=b.join(";").split(";"),"serial"==this.chartType&&(0<d.length?(d.reverse(),e.reverse(),j=a.concat(d),k=b.concat(e)):this.rotate?(k.push(k[k.length-1]),j.push(p),k.push(k[0]),j.push(p),k.push(k[0]),j.push(j[0])):(j.push(j[j.length-1]),k.push(p),j.push(j[0]),k.push(p),j.push(a[0]),k.push(k[0]))),a=AmCharts.polygon(g,
j,k,m,f,0,0,0,this.gradientRotation),h.push(a),n||void 0!=r))q||(q=f),n||(n=r),g=AmCharts.polygon(g,j,k,n,q,0,0,0,this.gradientRotation),i.push(g);this.applyMask(i,h)}},applyMask:function(a,b){var d=a.length();"serial"==this.chartType&&!this.scrollbar&&(this.positiveClip(b),0<d&&this.negativeClip(a))},drawSmoothedGraph:function(a,b,d,e){if(1<a.length){var f=this.set,g=this.container,h=g.set(),i=g.set();f.push(h);f.push(i);var j=this.lineAlpha,k=this.lineThickness,f=this.dashLength,l=this.fillAlphas,
m=this.fillColors,r=this.negativeLineColor,n=this.negativeFillColors,q=this.negativeFillAlphas,p=this.baseCoord,s=new AmCharts.Bezier(g,a,b,this.lineColor,j,k,m,0,f);h.push(s.path);void 0!=r&&(j=new AmCharts.Bezier(g,a,b,r,j,k,m,0,f),i.push(j.path));if(0<l&&(k=a.join(";").split(";"),s=b.join(";").split(";"),j="",0<d.length?(d.reverse(),e.reverse(),k=a.concat(d),s=b.concat(e)):(this.rotate?(j+=" L"+p+","+b[b.length-1],j+=" L"+p+","+b[0]):(j+=" L"+a[a.length-1]+","+p,j+=" L"+a[0]+","+p),j+=" L"+a[0]+
","+b[0]),d=new AmCharts.Bezier(g,k,s,NaN,0,0,m,l,f,j),h.push(d.path),n||void 0!=r))q||(q=l),n||(n=r),a=new AmCharts.Bezier(g,a,b,NaN,0,0,n,q,f,j),i.push(a.path);this.applyMask(i,h)}},launchAnimation:function(){var a=this,b=a.chart.startDuration;if(0<b&&!a.animationPlayed){var d=a.set,e=a.bulletSet;AmCharts.VML||(d.attr({opacity:a.startAlpha}),e.attr({opacity:a.startAlpha}));d.hide();e.hide();a.seqAn?(b=setTimeout(function(){a.animateGraphs.call(a)},1E3*a.index*b),a.timeOuts.push(b)):a.animateGraphs()}},
animateGraphs:function(){var a=this.chart,b=this.set,d=this.bulletSet,e=this.x,f=this.y;b.show();d.show();var g=a.startDuration,a=a.startEffect;b&&(this.rotate?(b.translate(-1E3,f),d.translate(-1E3,f)):(b.translate(e,-1E3),d.translate(e,-1E3)),b.animate({opacity:1,translate:e+","+f},g,a),d.animate({opacity:1,translate:e+","+f},g,a))},animate:function(a){var b=this.chart,d=this.container,e=this.animationArray;!a&&0<e.length&&(a=e[0],e.shift());d=d[AmCharts.getEffect(b.startEffect)];b=b.startDuration;
a&&(this.rotate?a.animateWidth(b,d):a.animateHeight(b,d),a.set.show())},legendKeyColor:function(){var a=this.legendColor,b=this.lineAlpha;void 0==a&&(a=this.lineColor,0==b&&(b=this.fillColors)&&(a="object"==typeof b?b[0]:b));return a},legendKeyAlpha:function(){var a=this.legendAlpha;void 0==a&&(a=this.lineAlpha,0==a&&this.fillAlphas&&(a=this.fillAlphas),0==a&&(a=this.bulletAlpha),0==a&&(a=1));return a},createBullet:function(a,b,d){var e=this.container,f=this.bulletOffset,g=this.bulletSize;isNaN(a.bulletSize)||
(g=a.bulletSize);if(!isNaN(this.maxValue)){var h=a.values.value;isNaN(h)||(g=h/this.maxValue*this.maxBulletSize)}g<this.minBulletSize&&(g=this.minBulletSize);this.rotate?b+=f:d-=f;var i;if("none"!=this.bullet||a.bullet){var j=this.bulletColor;a.isNegative&&void 0!=this.bulletColorNegative&&(j=this.bulletColorNegative);void 0!=a.color&&(j=a.color);f=this.bullet;a.bullet&&(f=a.bullet);var h=this.bulletBorderThickness,k=this.bulletBorderColor,l=this.bulletBorderAlpha,m=this.bulletAlpha,r=a.alpha;isNaN(r)||
(m=r);switch(f){case "round":i=AmCharts.circle(e,g/2,j,m,h,k,l);break;case "square":i=AmCharts.polygon(e,[0,g,g,0],[0,0,g,g],j,m,h,k,l);b-=g/2;d-=g/2;break;case "triangleUp":i=AmCharts.triangle(e,g,0,j,m,h,k,l);break;case "triangleDown":i=AmCharts.triangle(e,g,180,j,m,h,k,l);break;case "triangleLeft":i=AmCharts.triangle(e,g,270,j,m,h,k,l);break;case "triangleRight":i=AmCharts.triangle(e,g,90,j,m,h,k,l);break;case "bubble":i=AmCharts.circle(e,g/2,j,m,h,k,l,!0)}}h=f=0;if(this.customBullet||a.customBullet)k=
this.customBullet,a.customBullet&&(k=a.customBullet),k&&(i&&i.remove(),"function"==typeof k?(i=new k,i.chart=this.chart,a.bulletConfig&&(i.availableSpace=d,i.graph=this,a.bulletConfig.minCoord=this.minCoord-d,i.bulletConfig=a.bulletConfig),i.write(e),i=i.set):(this.chart.path&&(k=this.chart.path+k),i=e.image(k,0,0,g,g),this.centerCustomBullets&&(b-=g/2,d-=g/2,f-=g/2,h-=g/2)));if(i){a.url&&i.setAttr("cursor","pointer");this.allBullets.push(i);if("serial"==this.chartType&&(0>b-f||b-f>this.width||d<
-g/2||d-h>this.height))i.remove(),i=null;i&&(this.bulletSet.push(i),i.translate(b,d),this.addListeners(i,a))}return g},showBullets:function(){for(var a=this.allBullets,b=0;b<a.length;b++)a[b].show()},hideBullets:function(){for(var a=this.allBullets,b=0;b<a.length;b++)a[b].hide()},addListeners:function(a,b){var d=this;a.mouseover(function(){d.handleRollOver(b)}).mouseout(function(){d.handleRollOut(b)}).click(function(){d.handleClick(b)}).dblclick(function(){d.handleDoubleClick(b)})},handleRollOver:function(a){if(a){var b=
this.chart,d={type:"rollOverGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart};this.fire("rollOverGraphItem",d);b.fire("rollOverGraphItem",d);clearTimeout(b.hoverInt);d=this.showBalloon;b.chartCursor&&"serial"==this.chartType&&(d=!1,!b.chartCursor.valueBalloonsEnabled&&this.showBalloon&&(d=!0));d&&(d=b.formatString(this.balloonText,a,a.graph),d=AmCharts.cleanFromEmpty(d),a=b.getBalloonColor(this,a),b.balloon.showBullet=!1,b.balloon.pointerOrientation="V",b.showBalloon(d,a,!0))}},
handleRollOut:function(a){this.chart.hideBalloon();a&&(a={type:"rollOutGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart},this.fire("rollOutGraphItem",a),this.chart.fire("rollOutGraphItem",a))},handleClick:function(a){if(a){var b={type:"clickGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart};this.fire("clickGraphItem",b);this.chart.fire("clickGraphItem",b);AmCharts.getURL(a.url,this.urlTarget)}},handleDoubleClick:function(a){a&&(a={type:"doubleClickGraphItem",
item:a,index:a.index,graph:this,target:this,chart:this.chart},this.fire("doubleClickGraphItem",a),this.chart.fire("doubleClickGraphItem",a))},zoom:function(a,b){this.start=a;this.end=b;this.draw()},changeOpacity:function(a){var b=this.set;b&&b.setAttr("opacity",a);if(b=this.ownColumns)for(var d=0;d<b.length;d++){var e=b[d].set;e&&e.setAttr("opacity",a)}(b=this.bulletSet)&&b.setAttr("opacity",a)},destroy:function(){AmCharts.remove(this.set);AmCharts.remove(this.bulletSet);var a=this.timeOuts;if(a)for(var b=
0;b<a.length;b++)clearTimeout(a[b]);this.timeOuts=[]}});AmCharts.ChartCursor=AmCharts.Class({construct:function(){this.createEvents("changed","zoomed","onHideCursor","draw");this.enabled=!0;this.cursorAlpha=1;this.selectionAlpha=0.2;this.cursorColor="#CC0000";this.categoryBalloonAlpha=1;this.color="#FFFFFF";this.type="cursor";this.zoomed=!1;this.zoomable=!0;this.pan=!1;this.animate=!0;this.categoryBalloonDateFormat="MMM DD, YYYY";this.categoryBalloonEnabled=this.valueBalloonsEnabled=!0;this.rolledOver=!1;this.cursorPosition="middle";this.bulletsEnabled=
this.skipZoomDispatch=!1;this.bulletSize=8;this.oneBalloonOnly=!1},draw:function(){var a=this;a.destroy();var b=a.chart,d=b.container;a.rotate=b.rotate;a.container=d;d=d.set();d.translate(a.x,a.y);a.set=d;b.cursorSet.push(d);d=new AmCharts.AmBalloon;d.chart=b;a.categoryBalloon=d;d.cornerRadius=0;d.borderThickness=0;d.borderAlpha=0;d.showBullet=!1;var e=a.categoryBalloonColor;void 0==e&&(e=a.cursorColor);d.fillColor=e;d.fillAlpha=a.categoryBalloonAlpha;d.borderColor=e;d.color=a.color;a.rotate&&(d.pointerOrientation=
"H");if(a.valueBalloonsEnabled)for(d=0;d<b.graphs.length;d++)e=new AmCharts.AmBalloon,e.chart=b,AmCharts.copyProperties(b.balloon,e),b.graphs[d].valueBalloon=e;"cursor"==a.type?a.createCursor():a.createCrosshair();a.interval=setInterval(function(){a.detectMovement.call(a)},40)},updateData:function(){var a=this.chart.chartData;this.data=a;AmCharts.ifArray(a)&&(this.firstTime=a[0].time,this.lastTime=a[a.length-1].time)},createCursor:function(){var a=this.chart,b=this.cursorAlpha,d=a.categoryAxis,e=
d.position,f=d.inside,g=d.axisThickness,h=this.categoryBalloon,i,j,k=a.dx,l=a.dy,m=this.x,r=this.y,n=this.width,q=this.height,a=a.rotate,p=d.tickLength;h.pointerWidth=p;a?(i=[0,n,n+k],j=[0,0,l]):(i=[k,0,0],j=[l,0,q-1]);this.line=b=AmCharts.line(this.container,i,j,this.cursorColor,b,1);this.set.push(b);a?(f&&(h.pointerWidth=0),"right"==e?f?h.setBounds(m,r+l,m+n+k,r+q+l):h.setBounds(m+n+k+g,r+l,m+n+1E3,r+q+l):f?h.setBounds(m,r,n+m,q+r):h.setBounds(-1E3,-1E3,m-p-g,r+q+15)):(h.maxWidth=n,d.parseDates&&
(p=0,h.pointerWidth=0),"top"==e?f?h.setBounds(m+k,r+l,n+k+m,q+r):h.setBounds(m+k,-1E3,n+k+m,r+l-p-g):f?h.setBounds(m,r,n+m,q+r-p):h.setBounds(m,r+q+p+g-1,m+n,r+q+p+g));this.hideCursor()},createCrosshair:function(){var a=this.cursorAlpha,b=this.container,d=AmCharts.line(b,[0,0],[0,this.height],this.cursorColor,a,1),a=AmCharts.line(b,[0,this.width],[0,0],this.cursorColor,a,1);this.set.push(d);this.set.push(a);this.vLine=d;this.hLine=a;this.hideCursor()},detectMovement:function(){var a=this.chart;if(a.mouseIsOver){var b=
a.mouseX-this.x,d=a.mouseY-this.y;0<b&&b<this.width&&0<d&&d<this.height?(this.drawing?this.rolledOver||a.setMouseCursor("crosshair"):this.pan&&(this.rolledOver||a.setMouseCursor("move")),this.rolledOver=!0,this.setPosition()):this.rolledOver&&(this.handleMouseOut(),this.rolledOver=!1)}else this.rolledOver&&(this.handleMouseOut(),this.rolledOver=!1)},getMousePosition:function(){var a,b=this.width,d=this.height;a=this.chart;this.rotate?(a=a.mouseY-this.y,0>a&&(a=0),a>d&&(a=d)):(a=a.mouseX-this.x,0>
a&&(a=0),a>b&&(a=b));return a},updateCrosshair:function(){var a=this.chart,b=a.mouseX-this.x,d=a.mouseY-this.y,e=this.vLine,f=this.hLine,b=AmCharts.fitToBounds(b,0,this.width),d=AmCharts.fitToBounds(d,0,this.height);0<this.cursorAlpha&&(e.show(),f.show(),e.translate(b,0),f.translate(0,d));this.zooming&&this.updateSelectionSize(b,d);!a.mouseIsOver&&!this.zooming&&this.hideCursor()},updateSelectionSize:function(a,b){AmCharts.remove(this.selection);var d=this.selectionPosX,e=this.selectionPosY,f=0,g=
0,h=this.width,i=this.height;isNaN(a)||(d>a&&(f=a,h=d-a),d<a&&(f=d,h=a-d),d==a&&(f=a,h=0));isNaN(b)||(e>b&&(g=b,i=e-b),e<b&&(g=e,i=b-e),e==b&&(g=b,i=0));0<h&&0<i&&(d=AmCharts.rect(this.container,h,i,this.cursorColor,this.selectionAlpha),d.translate(f+this.x,g+this.y),this.selection=d)},arrangeBalloons:function(){var a=this.valueBalloons,b=this.x,d=this.y,e=this.height+d;a.sort(this.compareY);for(var f=0;f<a.length;f++){var g=a[f].balloon;g.setBounds(b,d,b+this.width,e);g.draw();e=g.yPos-3}this.arrangeBalloons2()},
compareY:function(a,b){return a.yy<b.yy?1:-1},arrangeBalloons2:function(){var a=this.valueBalloons;a.reverse();for(var b,d=this.x,e,f=0;f<a.length;f++){var g=a[f].balloon;b=g.bottom;var h=g.bottom-g.yPos;0<f&&b-h<e+3&&(g.setBounds(d,e+3,d+this.width,e+h+3),g.draw());g.set&&g.set.show();e=g.bottom}},showBullets:function(){AmCharts.remove(this.allBullets);var a=this.container,b=a.set();this.set.push(b);this.set.show();this.allBullets=b;for(var b=this.chart.graphs,d=0;d<b.length;d++){var e=b[d];if(!e.hidden&&
e.balloonText){var f=this.data[this.index].axes[e.valueAxis.id].graphs[e.id],g=f.y;if(!isNaN(g)){var h,i;h=f.x;this.rotate?(i=g,g=h):i=h;e=AmCharts.circle(a,this.bulletSize/2,this.chart.getBalloonColor(e,f),e.cursorBulletAlpha);e.translate(i,g);this.allBullets.push(e)}}}},destroy:function(){this.clear();AmCharts.remove(this.selection);this.selection=null;var a=this.categoryBalloon;a&&a.destroy();this.destroyValueBalloons();AmCharts.remove(this.set)},clear:function(){clearInterval(this.interval)},
destroyValueBalloons:function(){var a=this.valueBalloons;if(a)for(var b=0;b<a.length;b++)a[b].balloon.hide()},zoom:function(a,b,d,e){var f=this.chart;this.destroyValueBalloons();this.zooming=!1;var g;this.rotate?this.selectionPosY=g=f.mouseY:this.selectionPosX=g=f.mouseX;this.start=a;this.end=b;this.startTime=d;this.endTime=e;this.zoomed=!0;var h=f.categoryAxis,f=this.rotate;g=this.width;var i=this.height;h.parseDates&&!h.equalSpacing?(a=e-d+h.minDuration(),a=f?i/a:g/a):a=f?i/(b-a):g/(b-a);this.stepWidth=
a;this.setPosition();this.hideCursor()},hideObj:function(a){a&&a.hide()},hideCursor:function(a){void 0==a&&(a=!0);this.hideObj(this.set);this.hideObj(this.categoryBalloon);this.hideObj(this.line);this.hideObj(this.vLine);this.hideObj(this.hLine);this.hideObj(this.allBullets);this.destroyValueBalloons();AmCharts.remove(this.selection);this.previousIndex=NaN;a&&this.fire("onHideCursor",{type:"onHideCursor",chart:this.chart,target:this});this.drawing||this.chart.setMouseCursor("auto")},setPosition:function(a,
b){void 0==b&&(b=!0);if("cursor"==this.type){if(AmCharts.ifArray(this.data)){a||(a=this.getMousePosition());if((a!=this.previousMousePosition||!0==this.zoomed||this.oneBalloonOnly)&&!isNaN(a)){var d=this.chart.categoryAxis.xToIndex(a);if(d!=this.previousIndex||this.zoomed||"mouse"==this.cursorPosition||this.oneBalloonOnly)this.updateCursor(d,b),this.zoomed=!1}this.previousMousePosition=a}}else this.updateCrosshair()},updateCursor:function(a,b){var d=this.chart,e=d.mouseX-this.x,f=d.mouseY-this.y;
this.drawingNow&&(AmCharts.remove(this.drawingLine),this.drawingLine=AmCharts.line(this.container,[this.x+this.drawStartX,this.x+e],[this.y+this.drawStartY,this.y+f],this.cursorColor,1,1));if(this.enabled){void 0==b&&(b=!0);this.index=a;var g=d.categoryAxis,h=d.dx,i=d.dy,j=this.x,k=this.y,l=this.width,m=this.height,r=this.data[a],n=r.x[g.id],q=d.rotate,p=g.inside,s=this.stepWidth,t=this.categoryBalloon,u=this.firstTime,x=this.lastTime,z=this.cursorPosition,y=g.position,v=this.zooming,C=this.panning,
J=d.graphs,E=g.axisThickness;if(d.mouseIsOver||v||C||this.forceShow)if(this.forceShow=!1,C){k=this.panClickPos;d=this.panClickEndTime;v=this.panClickStartTime;h=this.panClickEnd;j=this.panClickStart;e=(q?k-f:k-e)/s;if(!g.parseDates||g.equalSpacing)e=Math.round(e);0!=e&&(k={type:"zoomed",target:this},k.chart=this.chart,g.parseDates&&!g.equalSpacing?(d+e>x&&(e=x-d),v+e<u&&(e=u-v),k.start=v+e,k.end=d+e,this.fire(k.type,k)):h+e>=this.data.length||0>j+e||(k.start=j+e,k.end=h+e,this.fire(k.type,k)))}else{"start"==
z&&(n-=g.cellWidth/2);"mouse"==z&&d.mouseIsOver&&(n=q?f-2:e-2);if(q){if(0>n)if(v)n=0;else{this.hideCursor();return}if(n>m+1)if(v)n=m+1;else{this.hideCursor();return}}else{if(0>n)if(v)n=0;else{this.hideCursor();return}if(n>l)if(v)n=l;else{this.hideCursor();return}}0<this.cursorAlpha&&(u=this.line,q?u.translate(0,n+i):u.translate(n,0),u.show());this.linePos=q?n+i:n;v&&(q?this.updateSelectionSize(NaN,n):this.updateSelectionSize(n,NaN));u=!0;v&&(u=!1);this.categoryBalloonEnabled&&u?(q?(p&&("right"==y?
t.setBounds(j,k+i,j+l+h,k+n+i):t.setBounds(j,k+i,j+l+h,k+n)),"right"==y?p?t.setPosition(j+l+h,k+n+i):t.setPosition(j+l+h+E,k+n+i):p?t.setPosition(j,k+n):t.setPosition(j-E,k+n)):"top"==y?p?t.setPosition(j+n+h,k+i):t.setPosition(j+n+h,k+i-E+1):p?t.setPosition(j+n,k+m):t.setPosition(j+n,k+m+E-1),g.parseDates?(g=AmCharts.formatDate(r.category,this.categoryBalloonDateFormat),-1!=g.indexOf("fff")&&(g=AmCharts.formatMilliseconds(g,r.category)),t.showBalloon(g)):t.showBalloon(r.category)):t.hide();J&&this.bulletsEnabled&&
this.showBullets();this.destroyValueBalloons();if(J&&this.valueBalloonsEnabled&&u&&d.balloon.enabled){this.valueBalloons=g=[];if(this.oneBalloonOnly)for(var i=Infinity,V,u=0;u<J.length;u++)s=J[u],s.showBalloon&&(!s.hidden&&s.balloonText)&&(t=r.axes[s.valueAxis.id].graphs[s.id],x=t.y,isNaN(x)||(q?Math.abs(e-x)<i&&(i=Math.abs(e-x),V=s):Math.abs(f-x)<i&&(i=Math.abs(f-x),V=s)));for(u=0;u<J.length;u++)if(s=J[u],!(this.oneBalloonOnly&&s!=V)&&(s.showBalloon&&!s.hidden&&s.balloonText)&&(t=r.axes[s.valueAxis.id].graphs[s.id],
x=t.y,!isNaN(x))){n=t.x;p=!0;if(q){if(i=x,0>n||n>m)p=!1}else if(i=n,n=x,0>i||i>l+h)p=!1;p&&(p=s.valueBalloon,y=d.getBalloonColor(s,t),p.setBounds(j,k,j+l,k+m),p.pointerOrientation="H",p.changeColor(y),void 0!=s.balloonAlpha&&(p.fillAlpha=s.balloonAlpha),void 0!=s.balloonTextColor&&(p.color=s.balloonTextColor),p.setPosition(i+j,n+k),s=d.formatString(s.balloonText,t,s),""!=s&&p.showBalloon(s),!q&&p.set&&p.set.hide(),g.push({yy:x,balloon:p}))}q||this.arrangeBalloons()}b?(k={type:"changed"},k.index=a,
k.target=this,k.chart=this.chart,k.zooming=v,k.position=q?f:e,k.target=this,d.fire("changed",k),this.fire("changed",k),this.skipZoomDispatch=!1):(this.skipZoomDispatch=!0,d.updateLegendValues(a));this.previousIndex=a}}else this.hideCursor()},enableDrawing:function(a){this.enabled=!a;this.hideCursor();this.rolledOver=!1;this.drawing=a},isZooming:function(a){a&&a!=this.zooming&&this.handleMouseDown("fake");!a&&a!=this.zooming&&this.handleMouseUp()},handleMouseOut:function(){if(this.enabled)if(this.zooming)this.setPosition();
else{this.index=void 0;var a={type:"changed",index:void 0,target:this};a.chart=this.chart;this.fire("changed",a);this.hideCursor()}},handleReleaseOutside:function(){this.handleMouseUp()},handleMouseUp:function(){var a=this.chart,b=a.mouseX-this.x,d=a.mouseY-this.y;if(this.drawingNow){this.drawingNow=!1;AmCharts.remove(this.drawingLine);var e=this.drawStartX,f=this.drawStartY;if(2<Math.abs(e-b)||2<Math.abs(f-d))a={type:"draw",target:this,chart:a,initialX:e,initialY:f,finalX:b,finalY:d},this.fire(a.type,
a)}if(this.enabled&&0<this.data.length){if(this.pan)this.rolledOver=!1;else if(this.zoomable&&this.zooming){a={type:"zoomed",target:this};a.chart=this.chart;if("cursor"==this.type)this.rotate?this.selectionPosY=d:this.selectionPosX=d=b,2>Math.abs(d-this.initialMouse)&&this.fromIndex==this.index||(this.index<this.fromIndex?(a.end=this.fromIndex,a.start=this.index):(a.end=this.index,a.start=this.fromIndex),d=this.chart.categoryAxis,d.parseDates&&!d.equalSpacing&&(a.start=this.data[a.start].time,a.end=
this.data[a.end].time),this.skipZoomDispatch||this.fire(a.type,a));else{var g=this.initialMouseX,h=this.initialMouseY;3>Math.abs(b-g)&&3>Math.abs(d-h)||(e=Math.min(g,b),f=Math.min(h,d),b=Math.abs(g-b),d=Math.abs(h-d),a.selectionHeight=d,a.selectionWidth=b,a.selectionY=f,a.selectionX=e,this.skipZoomDispatch||this.fire(a.type,a))}AmCharts.remove(this.selection)}this.panning=this.zooming=this.skipZoomDispatch=!1}},showCursorAt:function(a){var b=this.chart.categoryAxis,a=b.parseDates?b.dateToCoordinate(a):
b.categoryToCoordinate(a);this.previousMousePosition=NaN;this.forceShow=!0;this.setPosition(a,!1)},handleMouseDown:function(a){if(this.zoomable||this.pan||this.drawing){var b=this.rotate,d=this.chart,e=d.mouseX-this.x,f=d.mouseY-this.y;if(0<e&&e<this.width&&0<f&&f<this.height||"fake"==a)this.setPosition(),this.drawing?(this.drawStartY=f,this.drawStartX=e,this.drawingNow=!0):this.pan?(this.zoomable=!1,d.setMouseCursor("move"),this.panning=!0,this.panClickPos=b?f:e,this.panClickStart=this.start,this.panClickEnd=
this.end,this.panClickStartTime=this.startTime,this.panClickEndTime=this.endTime):this.zoomable&&("cursor"==this.type?(this.fromIndex=this.index,b?(this.initialMouse=f,this.selectionPosY=this.linePos):(this.initialMouse=e,this.selectionPosX=this.linePos)):(this.initialMouseX=e,this.initialMouseY=f,this.selectionPosX=e,this.selectionPosY=f),this.zooming=!0)}}});AmCharts.SimpleChartScrollbar=AmCharts.Class({construct:function(){this.createEvents("zoomed");this.backgroundColor="#D4D4D4";this.backgroundAlpha=1;this.selectedBackgroundColor="#EFEFEF";this.scrollDuration=this.selectedBackgroundAlpha=1;this.resizeEnabled=!0;this.hideResizeGrips=!1;this.scrollbarHeight=20;this.updateOnReleaseOnly=!1;9>document.documentMode&&(this.updateOnReleaseOnly=!0);this.dragIconWidth=11;this.dragIconHeight=18},draw:function(){var a=this;a.destroy();a.interval=setInterval(function(){a.updateScrollbar.call(a)},
40);var b=a.chart.container,d=a.rotate,e=a.chart,f=b.set();a.set=f;e.scrollbarsSet.push(f);var g,h;d?(g=a.scrollbarHeight,h=e.plotAreaHeight):(h=a.scrollbarHeight,g=e.plotAreaWidth);a.width=g;if((a.height=h)&&g){var i=AmCharts.rect(b,g,h,a.backgroundColor,a.backgroundAlpha);a.bg=i;f.push(i);i=AmCharts.rect(b,g,h,"#000",0.005);f.push(i);a.invisibleBg=i;i.click(function(){a.handleBgClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()}).touchend(function(){a.handleBgClick()});
i=AmCharts.rect(b,g,h,a.selectedBackgroundColor,a.selectedBackgroundAlpha);a.selectedBG=i;f.push(i);g=AmCharts.rect(b,g,h,"#000",0.005);a.dragger=g;f.push(g);g.mousedown(function(b){a.handleDragStart(b)}).mouseup(function(){a.handleDragStop()}).mouseover(function(){a.handleDraggerOver()}).mouseout(function(){a.handleMouseOut()}).touchstart(function(b){a.handleDragStart(b)}).touchend(function(){a.handleDragStop()});g=e.pathToImages;d?(i=g+"dragIconH.gif",g=a.dragIconWidth,d=a.dragIconHeight):(i=g+
"dragIcon.gif",d=a.dragIconWidth,g=a.dragIconHeight);h=b.image(i,0,0,d,g);var i=b.image(i,0,0,d,g),j=10,k=20;e.panEventsEnabled&&(j=25,k=a.scrollbarHeight);var l=AmCharts.rect(b,j,k,"#000",0.005),m=AmCharts.rect(b,j,k,"#000",0.005);m.translate(-(j-d)/2,-(k-g)/2);l.translate(-(j-d)/2,-(k-g)/2);d=b.set([h,m]);b=b.set([i,l]);a.iconLeft=d;f.push(a.iconLeft);a.iconRight=b;f.push(b);d.mousedown(function(){a.leftDragStart()}).mouseup(function(){a.leftDragStop()}).mouseover(function(){a.iconRollOver()}).mouseout(function(){a.iconRollOut()}).touchstart(function(){a.leftDragStart()}).touchend(function(){a.leftDragStop()});
b.mousedown(function(){a.rightDragStart()}).mouseup(function(){a.rightDragStop()}).mouseover(function(){a.iconRollOver()}).mouseout(function(){a.iconRollOut()}).touchstart(function(){a.rightDragStart()}).touchend(function(){a.rightDragStop()});AmCharts.ifArray(e.chartData)?f.show():f.hide();a.hideDragIcons()}f.translate(a.x,a.y);a.clipDragger(!1)},updateScrollbarSize:function(a,b){var d=this.dragger,e,f,g,h;this.rotate?(e=0,f=a,g=this.width+1,h=b-a,d.setAttr("height",b-a),d.setAttr("y",f)):(e=a,f=
0,g=b-a,h=this.height+1,d.setAttr("width",b-a),d.setAttr("x",e));this.clipAndUpdate(e,f,g,h)},updateScrollbar:function(){var a,b=!1,d,e,f=this.x,g=this.y,h=this.dragger,i=this.getDBox();d=i.x+f;e=i.y+g;var j=i.width,i=i.height,k=this.rotate,l=this.chart,m=this.width,r=this.height,n=l.mouseX,q=l.mouseY;a=this.initialMouse;l.mouseIsOver&&(this.dragging&&(l=this.initialCoord,k?(a=l+(q-a),0>a&&(a=0),l=r-i,a>l&&(a=l),h.setAttr("y",a)):(a=l+(n-a),0>a&&(a=0),l=m-j,a>l&&(a=l),h.setAttr("x",a))),this.resizingRight&&
(k?(a=q-e,a+e>r+g&&(a=r-e+g),0>a?(this.resizingRight=!1,b=this.resizingLeft=!0):(0==a&&(a=0.1),h.setAttr("height",a))):(a=n-d,a+d>m+f&&(a=m-d+f),0>a?(this.resizingRight=!1,b=this.resizingLeft=!0):(0==a&&(a=0.1),h.setAttr("width",a)))),this.resizingLeft&&(k?(d=e,e=q,e<g&&(e=g),e>r+g&&(e=r+g),a=!0==b?d-e:i+d-e,0>a?(this.resizingRight=!0,this.resizingLeft=!1,h.setAttr("y",d+i-g)):(0==a&&(a=0.1),h.setAttr("y",e-g),h.setAttr("height",a))):(e=n,e<f&&(e=f),e>m+f&&(e=m+f),a=!0==b?d-e:j+d-e,0>a?(this.resizingRight=
!0,this.resizingLeft=!1,h.setAttr("x",d+j-f)):(0==a&&(a=0.1),h.setAttr("x",e-f),h.setAttr("width",a)))),this.clipDragger(!0))},clipDragger:function(a){var b=this.getDBox(),d=b.x,e=b.y,f=b.width,b=b.height,g=!1;if(this.rotate){if(d=0,f=this.width+1,this.clipY!=e||this.clipH!=b)g=!0}else if(e=0,b=this.height+1,this.clipX!=d||this.clipW!=f)g=!0;g&&(this.clipAndUpdate(d,e,f,b),a&&(this.updateOnReleaseOnly||this.dispatchScrollbarEvent()))},maskGraphs:function(){},clipAndUpdate:function(a,b,d,e){this.clipX=
a;this.clipY=b;this.clipW=d;this.clipH=e;this.selectedBG.clipRect(a,b,d,e);this.updateDragIconPositions();this.maskGraphs(a,b,d,e)},dispatchScrollbarEvent:function(){if(this.skipEvent)this.skipEvent=!1;else{var a=this.chart;a.hideBalloon();var b=this.getDBox(),d=b.x,e=b.y,f=b.width,b=b.height;this.rotate?(d=e,f=this.height/b):f=this.width/f;a={type:"zoomed",position:d,chart:a,target:this,multiplyer:f};this.fire(a.type,a)}},updateDragIconPositions:function(){var a=this.getDBox(),b=a.x,d=a.y,e=this.iconLeft,
f=this.iconRight,g,h,i=this.scrollbarHeight;this.rotate?(g=this.dragIconWidth,h=this.dragIconHeight,e.translate((i-h)/2,d-g/2),f.translate((i-h)/2,d+a.height-g/2)):(g=this.dragIconHeight,h=this.dragIconWidth,e.translate(b-h/2,(i-g)/2),f.translate(b+-h/2+a.width,(i-g)/2))},showDragIcons:function(){this.resizeEnabled&&(this.iconLeft.show(),this.iconRight.show())},hideDragIcons:function(){!this.resizingLeft&&(!this.resizingRight&&!this.dragging)&&(this.hideResizeGrips&&(this.iconLeft.hide(),this.iconRight.hide()),
this.removeCursors())},removeCursors:function(){this.chart.setMouseCursor("auto")},relativeZoom:function(a,b){this.dragger.stop();this.multiplyer=a;this.position=b;this.updateScrollbarSize(b,this.rotate?b+this.height/a:b+this.width/a)},destroy:function(){this.clear();AmCharts.remove(this.set)},clear:function(){clearInterval(this.interval)},handleDragStart:function(){var a=this.chart;this.dragger.stop();this.removeCursors();this.dragging=!0;var b=this.getDBox();this.rotate?(this.initialCoord=b.y,this.initialMouse=
a.mouseY):(this.initialCoord=b.x,this.initialMouse=a.mouseX)},handleDragStop:function(){this.updateOnReleaseOnly&&(this.updateScrollbar(),this.skipEvent=!1,this.dispatchScrollbarEvent());this.dragging=!1;this.mouseIsOver&&this.removeCursors();this.updateScrollbar()},handleDraggerOver:function(){this.handleMouseOver()},leftDragStart:function(){this.dragger.stop();this.resizingLeft=!0},leftDragStop:function(){this.resizingLeft=!1;this.mouseIsOver||this.removeCursors();this.updateOnRelease()},rightDragStart:function(){this.dragger.stop();
this.resizingRight=!0},rightDragStop:function(){this.resizingRight=!1;this.mouseIsOver||this.removeCursors();this.updateOnRelease()},iconRollOut:function(){this.removeCursors()},iconRollOver:function(){this.rotate?this.chart.setMouseCursor("n-resize"):this.chart.setMouseCursor("e-resize");this.handleMouseOver()},getDBox:function(){return this.dragger.getBBox()},handleBgClick:function(){if(!this.resizingRight&&!this.resizingLeft){this.zooming=!0;var a,b,d=this.scrollDuration,e=this.dragger;a=this.getDBox();
var f=a.height,g=a.width;b=this.chart;var h=this.y,i=this.x,j=this.rotate;j?(a="y",b=b.mouseY-f/2-h,b=AmCharts.fitToBounds(b,0,this.height-f)):(a="x",b=b.mouseX-g/2-i,b=AmCharts.fitToBounds(b,0,this.width-g));this.updateOnReleaseOnly?(this.skipEvent=!1,e.setAttr(a,b),this.dispatchScrollbarEvent(),this.clipDragger()):(b=Math.round(b),j?e.animate({y:b},d,">"):e.animate({x:b},d,">"))}},updateOnRelease:function(){this.updateOnReleaseOnly&&(this.updateScrollbar(),this.skipEvent=!1,this.dispatchScrollbarEvent())},
handleReleaseOutside:function(){if(this.set){if(this.resizingLeft||this.resizingRight||this.dragging)this.updateOnRelease(),this.removeCursors();this.mouseIsOver=this.dragging=this.resizingRight=this.resizingLeft=!1;this.hideDragIcons();this.updateScrollbar()}},handleMouseOver:function(){this.mouseIsOver=!0;this.showDragIcons()},handleMouseOut:function(){this.mouseIsOver=!1;this.hideDragIcons()}});AmCharts.ChartScrollbar=AmCharts.Class({inherits:AmCharts.SimpleChartScrollbar,construct:function(){AmCharts.ChartScrollbar.base.construct.call(this);this.graphLineColor="#BBBBBB";this.graphLineAlpha=0;this.graphFillColor="#BBBBBB";this.graphFillAlpha=1;this.selectedGraphLineColor="#888888";this.selectedGraphLineAlpha=0;this.selectedGraphFillColor="#888888";this.selectedGraphFillAlpha=1;this.gridCount=0;this.gridColor="#FFFFFF";this.gridAlpha=0.7;this.skipEvent=this.autoGridCount=!1;this.color="#FFFFFF";
this.scrollbarCreated=!1},init:function(){var a=this.categoryAxis,b=this.chart;a||(this.categoryAxis=a=new AmCharts.CategoryAxis);a.chart=b;a.id="scrollbar";a.dateFormats=b.categoryAxis.dateFormats;a.boldPeriodBeginning=b.categoryAxis.boldPeriodBeginning;a.axisItemRenderer=AmCharts.RecItem;a.axisRenderer=AmCharts.RecAxis;a.guideFillRenderer=AmCharts.RecFill;a.inside=!0;a.fontSize=this.fontSize;a.tickLength=0;a.axisAlpha=0;this.graph&&(a=this.valueAxis,a||(this.valueAxis=a=new AmCharts.ValueAxis,a.visible=
!1,a.scrollbar=!0,a.axisItemRenderer=AmCharts.RecItem,a.axisRenderer=AmCharts.RecAxis,a.guideFillRenderer=AmCharts.RecFill,a.labelsEnabled=!1,a.chart=b),b=this.unselectedGraph,b||(b=new AmCharts.AmGraph,b.scrollbar=!0,this.unselectedGraph=b),b=this.selectedGraph,b||(b=new AmCharts.AmGraph,b.scrollbar=!0,this.selectedGraph=b));this.scrollbarCreated=!0},draw:function(){var a=this;AmCharts.ChartScrollbar.base.draw.call(a);a.scrollbarCreated||a.init();var b=a.chart,d=b.chartData,e=a.categoryAxis,f=a.rotate,
g=a.x,h=a.y,i=a.width,j=a.height,k=b.categoryAxis,l=a.set;e.setOrientation(!f);e.parseDates=k.parseDates;e.rotate=f;e.equalSpacing=k.equalSpacing;e.minPeriod=k.minPeriod;e.startOnAxis=k.startOnAxis;e.viW=i;e.viH=j;e.width=i;e.height=j;e.gridCount=a.gridCount;e.gridColor=a.gridColor;e.gridAlpha=a.gridAlpha;e.color=a.color;e.autoGridCount=a.autoGridCount;e.parseDates&&!e.equalSpacing&&e.timeZoom(d[0].time,d[d.length-1].time);e.zoom(0,d.length-1);if(k=a.graph){var m=a.valueAxis,r=k.valueAxis;m.id=r.id;
m.rotate=f;m.setOrientation(f);m.width=i;m.height=j;m.viW=i;m.viH=j;m.dataProvider=d;m.reversed=r.reversed;m.logarithmic=r.logarithmic;m.gridAlpha=0;m.axisAlpha=0;l.push(m.set);f?m.y=h:m.x=g;for(var g=Infinity,h=-Infinity,n=0;n<d.length;n++){var q=d[n].axes[r.id].graphs[k.id].values,p;for(p in q)if("percents"!=p&&"total"!=p){var s=q[p];s<g&&(g=s);s>h&&(h=s)}}Infinity!=g&&(m.minimum=g);-Infinity!=h&&(m.maximum=h+0.1*(h-g));g==h&&(m.minimum-=1,m.maximum+=1);m.zoom(0,d.length-1);p=a.unselectedGraph;
p.id=k.id;p.rotate=f;p.chart=b;p.chartType=b.chartType;p.data=d;p.valueAxis=m;p.chart=k.chart;p.categoryAxis=a.categoryAxis;p.valueField=k.valueField;p.openField=k.openField;p.closeField=k.closeField;p.highField=k.highField;p.lowField=k.lowField;p.lineAlpha=a.graphLineAlpha;p.lineColor=a.graphLineColor;p.fillAlphas=a.graphFillAlpha;p.fillColors=a.graphFillColor;p.connect=k.connect;p.hidden=k.hidden;p.width=i;p.height=j;r=a.selectedGraph;r.id=k.id;r.rotate=f;r.chart=b;r.chartType=b.chartType;r.data=
d;r.valueAxis=m;r.chart=k.chart;r.categoryAxis=e;r.valueField=k.valueField;r.openField=k.openField;r.closeField=k.closeField;r.highField=k.highField;r.lowField=k.lowField;r.lineAlpha=a.selectedGraphLineAlpha;r.lineColor=a.selectedGraphLineColor;r.fillAlphas=a.selectedGraphFillAlpha;r.fillColors=a.selectedGraphFillColor;r.connect=k.connect;r.hidden=k.hidden;r.width=i;r.height=j;b=a.graphType;b||(b=k.type);p.type=b;r.type=b;d=d.length-1;p.zoom(0,d);r.zoom(0,d);r.set.click(function(){a.handleBackgroundClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()});
p.set.click(function(){a.handleBackgroundClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()});l.push(p.set);l.push(r.set)}l.push(e.set);l.push(e.labelsSet);a.bg.toBack();a.invisibleBg.toFront();a.dragger.toFront();a.iconLeft.toFront();a.iconRight.toFront()},timeZoom:function(a,b){this.startTime=a;this.endTime=b;this.timeDifference=b-a;this.skipEvent=!0;this.zoomScrollbar()},zoom:function(a,b){this.start=a;this.end=b;this.skipEvent=!0;this.zoomScrollbar()},
dispatchScrollbarEvent:function(){if(this.skipEvent)this.skipEvent=!1;else{var a=this.chart.chartData,b,d,e=this.dragger.getBBox();b=e.x;d=e.y;var f=e.width,e=e.height;this.rotate?(b=d,d=e):d=f;f={type:"zoomed",target:this};f.chart=this.chart;var e=this.categoryAxis,g=this.stepWidth;if(e.parseDates&&!e.equalSpacing){var a=a[0].time,h=e.minDuration(),e=Math.round(b/g)+a,a=this.dragging?e+this.timeDifference:Math.round((b+d)/g)+a-h;e>a&&(e=a);if(e!=this.startTime||a!=this.endTime)this.startTime=e,this.endTime=
a,f.start=e,f.end=a,f.startDate=new Date(e),f.endDate=new Date(a),this.fire(f.type,f)}else if(e.startOnAxis||(b+=g/2),d-=this.stepWidth/2,g=e.xToIndex(b),b=e.xToIndex(b+d),g!=this.start||this.end!=b)e.startOnAxis&&(this.resizingRight&&g==b&&b++,this.resizingLeft&&g==b&&(0<g?g--:b=1)),this.start=g,this.end=this.dragging?this.start+this.difference:b,f.start=this.start,f.end=this.end,e.parseDates&&(a[this.start]&&(f.startDate=new Date(a[this.start].time)),a[this.end]&&(f.endDate=new Date(a[this.end].time))),
this.fire(f.type,f)}},zoomScrollbar:function(){var a,b;b=this.chart.chartData;var d=this.categoryAxis,e;d.parseDates&&!d.equalSpacing?(e=d.stepWidth,b=b[0].time,a=e*(this.startTime-b),b=e*(this.endTime-b+d.minDuration())):(a=b[this.start].x[d.id],b=b[this.end].x[d.id],e=d.stepWidth,d.startOnAxis||(d=e/2,a-=d,b+=d));this.stepWidth=e;this.updateScrollbarSize(a,b)},maskGraphs:function(a,b,d,e){var f=this.selectedGraph;f&&f.set.clipRect(a,b,d,e)},handleDragStart:function(){AmCharts.ChartScrollbar.base.handleDragStart.call(this);
this.difference=this.end-this.start;this.timeDifference=this.endTime-this.startTime;0>this.timeDifference&&(this.timeDifference=0)},handleBackgroundClick:function(){AmCharts.ChartScrollbar.base.handleBackgroundClick.call(this);this.dragging||(this.difference=this.end-this.start,this.timeDifference=this.endTime-this.startTime,0>this.timeDifference&&(this.timeDifference=0))}});AmCharts.circle=function(a,b,d,e,f,g,h,i){if(void 0==f||0==f)f=1;void 0==g&&(g="#000000");void 0==h&&(h=0);e={fill:d,stroke:g,"fill-opacity":e,"stroke-width":f,"stroke-opacity":h};a=a.circle(0,0,b).attr(e);i&&a.gradient("radialGradient",[d,AmCharts.adjustLuminosity(d,-0.6)]);return a};AmCharts.text=function(a,b,d,e,f,g,h,i){g||(g="middle");"right"==g&&(g="end");d={fill:d,"font-family":e,"font-size":f,opacity:i};!0==h&&(d["font-weight"]="bold");d["text-anchor"]=g;return a.text(b,d)};
AmCharts.polygon=function(a,b,d,e,f,g,h,i,j){isNaN(g)&&(g=0);isNaN(i)&&(i=f);var k=e,l=!1;"object"==typeof k&&1<k.length&&(l=!0,k=k[0]);void 0==h&&(h=k);for(var f={fill:k,stroke:h,"fill-opacity":f,"stroke-width":g,"stroke-opacity":i},g=AmCharts.dx,h=AmCharts.dy,i=Math.round,k="M"+(i(b[0])+g)+","+(i(d[0])+h),m=1;m<b.length;m++)k+=" L"+(i(b[m])+g)+","+(i(d[m])+h);a=a.path(k+" Z").attr(f);l&&a.gradient("linearGradient",e,j);return a};
AmCharts.rect=function(a,b,d,e,f,g,h,i,j,k){isNaN(g)&&(g=0);void 0==j&&(j=0);void 0==k&&(k=270);isNaN(f)&&(f=0);var l=e,m=!1;"object"==typeof l&&(l=l[0],m=!0);void 0==h&&(h=l);void 0==i&&(i=f);var b=Math.round(b),d=Math.round(d),r=0,n=0;0>b&&(b=Math.abs(b),r=-b);0>d&&(d=Math.abs(d),n=-d);r+=AmCharts.dx;n+=AmCharts.dy;f={fill:l,stroke:h,"fill-opacity":f,"stroke-opacity":i};a=a.rect(r,n,b,d,j,g).attr(f);m&&a.gradient("linearGradient",e,k);return a};
AmCharts.triangle=function(a,b,d,e,f,g,h,i){if(void 0==g||0==g)g=1;void 0==h&&(h="#000");void 0==i&&(i=0);var e={fill:e,stroke:h,"fill-opacity":f,"stroke-width":g,"stroke-opacity":i},b=b/2,j;0==d&&(j=" M"+-b+","+b+" L0,"+-b+" L"+b+","+b+" Z");180==d&&(j=" M"+-b+","+-b+" L0,"+b+" L"+b+","+-b+" Z");90==d&&(j=" M"+-b+","+-b+" L"+b+",0 L"+-b+","+b+" Z");270==d&&(j=" M"+-b+",0 L"+b+","+b+" L"+b+","+-b+" Z");return a.path(j).attr(e)};
AmCharts.line=function(a,b,d,e,f,g,h,i,j){g={fill:"none","stroke-width":g};void 0!=h&&0<h&&(g["stroke-dasharray"]=h);isNaN(f)||(g["stroke-opacity"]=f);e&&(g.stroke=e);for(var e=Math.round,f=AmCharts.dx,h=AmCharts.dy,i="M"+(e(b[0])+f)+","+(e(d[0])+h),k=1;k<b.length;k++)i+=" L"+(e(b[k])+f)+","+(e(d[k])+h);if(AmCharts.VML)return a.path(i,void 0,!0).attr(g);j&&(i+=" M0,0 L0,0");return a.path(i).attr(g)};
AmCharts.wedge=function(a,b,d,e,f,g,h,i,j,k,l){var m=Math.round,g=m(g),h=m(h),i=m(i),r=m(h/g*i),n=AmCharts.VML;-359.95>=f&&(f=-359.95);var q=1/180*Math.PI,p=b+Math.cos(e*q)*i,s=d+Math.sin(-e*q)*r,t=b+Math.cos(e*q)*g,u=d+Math.sin(-e*q)*h,x=b+Math.cos((e+f)*q)*g,z=d+Math.sin((-e-f)*q)*h,y=b+Math.cos((e+f)*q)*i,q=d+Math.sin((-e-f)*q)*r,v={fill:AmCharts.adjustLuminosity(k.fill,-0.2),"stroke-opacity":0},C=0;180<Math.abs(f)&&(C=1);var e=a.set(),J;n&&(p=m(10*p),t=m(10*t),x=m(10*x),y=m(10*y),s=m(10*s),u=
m(10*u),z=m(10*z),q=m(10*q),b=m(10*b),j=m(10*j),d=m(10*d),g*=10,h*=10,i*=10,r*=10,1>Math.abs(f)&&(1>=Math.abs(x-t)&&1>=Math.abs(z-u))&&(J=!0));f="";if(0<j){n?(path=" M"+p+","+(s+j)+" L"+t+","+(u+j),J||(path+=" A"+(b-g)+","+(j+d-h)+","+(b+g)+","+(j+d+h)+","+t+","+(u+j)+","+x+","+(z+j)),path+=" L"+y+","+(q+j),0<i&&(J||(path+=" B"+(b-i)+","+(j+d-r)+","+(b+i)+","+(j+d+r)+","+y+","+(j+q)+","+p+","+(j+s)))):(path=" M"+p+","+(s+j)+" L"+t+","+(u+j),path+=" A"+g+","+h+",0,"+C+",1,"+x+","+(z+j)+" L"+y+","+
(q+j),0<i&&(path+=" A"+i+","+r+",0,"+C+",0,"+p+","+(s+j)));path+=" Z";c=a.path(path,void 0,void 0,"1000,1000").attr(v);e.push(c);var E=a.path(" M"+p+","+s+" L"+p+","+(s+j)+" L"+t+","+(u+j)+" L"+t+","+u+" L"+p+","+s+" Z",void 0,void 0,"1000,1000").attr(v),j=a.path(" M"+x+","+z+" L"+x+","+(z+j)+" L"+y+","+(q+j)+" L"+y+","+q+" L"+x+","+z+" Z",void 0,void 0,"1000,1000").attr(v);e.push(E);e.push(j)}n?(J||(f=" A"+m(b-g)+","+m(d-h)+","+m(b+g)+","+m(d+h)+","+m(t)+","+m(u)+","+m(x)+","+m(z)),g=" M"+m(p)+","+
m(s)+" L"+m(t)+","+m(u)+f+" L"+m(y)+","+m(q)):g=" M"+p+","+s+" L"+t+","+u+(" A"+g+","+h+",0,"+C+",1,"+x+","+z)+" L"+y+","+q;0<i&&(n?J||(g+=" B"+(b-i)+","+(d-r)+","+(b+i)+","+(d+r)+","+y+","+q+","+p+","+s):g+=" A"+i+","+r+",0,"+C+",0,"+p+","+s);a=a.path(g+" Z",void 0,void 0,"1000,1000").attr(k);if(l){b=[];for(d=0;d<l.length;d++)b.push(AmCharts.adjustLuminosity(k.fill,l[d]));0<b.length&&a.gradient("linearGradient",b)}e.push(a);return e};
AmCharts.adjustLuminosity=function(a,b){a=String(a).replace(/[^0-9a-f]/gi,"");6>a.length&&(a=String(a[0])+String(a[0])+String(a[1])+String(a[1])+String(a[2])+String(a[2]));var b=b||0,d="#",e,f;for(f=0;3>f;f++)e=parseInt(a.substr(2*f,2),16),e=Math.round(Math.min(Math.max(0,e+e*b),255)).toString(16),d+=("00"+e).substr(e.length);return d};AmCharts.AmPieChart=AmCharts.Class({inherits:AmCharts.AmChart,construct:function(){this.createEvents("rollOverSlice","rollOutSlice","clickSlice","pullOutSlice","pullInSlice");AmCharts.AmPieChart.base.construct.call(this);this.colors="#FF0F00 #FF6600 #FF9E01 #FCD202 #F8FF01 #B0DE09 #04D215 #0D8ECF #0D52D1 #2A0CD0 #8A0CCF #CD0D74 #754DEB #DDDDDD #999999 #333333 #000000 #57032A #CA9726 #990000 #4B0C25".split(" ");this.pieAlpha=1;this.pieBaseColor;this.pieBrightnessStep=30;this.groupPercent=0;this.groupedTitle=
"Other";this.groupedPulled=!1;this.groupedAlpha=1;this.marginLeft=0;this.marginBottom=this.marginTop=10;this.marginRight=0;this.minRadius=10;this.hoverAlpha=1;this.depth3D=0;this.startAngle=90;this.angle=this.innerRadius=0;this.outlineColor="#FFFFFF";this.outlineAlpha=0;this.outlineThickness=1;this.startRadius="500%";this.startDuration=this.startAlpha=1;this.startEffect="bounce";this.sequencedAnimation=!1;this.pullOutRadius="20%";this.pullOutDuration=1;this.pullOutEffect="bounce";this.pullOnHover=
this.pullOutOnlyOne=!1;this.labelsEnabled=!0;this.labelRadius=30;this.labelTickColor="#000000";this.labelTickAlpha=0.2;this.labelText="[[title]]: [[percents]]%";this.hideLabelsPercent=0;this.balloonText="[[title]]: [[percents]]% ([[value]])\n[[description]]";this.dataProvider;this.urlTarget="_self";this.previousScale=1;this.autoMarginOffset=10;this.gradientRatio=[]},initChart:function(){AmCharts.AmPieChart.base.initChart.call(this);this.dataChanged&&(this.parseData(),this.dispatchDataUpdated=!0,this.dataChanged=
!1,this.legend&&this.legend.setData(this.chartData));this.drawChart()},handleLegendEvent:function(a){var b=a.type;if(a=a.dataItem){var d=a.hidden;switch(b){case "clickMarker":d||this.clickSlice(a);break;case "clickLabel":d||this.clickSlice(a);break;case "rollOverItem":d||this.rollOverSlice(a,!1);break;case "rollOutItem":d||this.rollOutSlice(a);break;case "hideItem":this.hideSlice(a);break;case "showItem":this.showSlice(a)}}},invalidateVisibility:function(){this.recalculatePercents();this.initChart();
var a=this.legend;a&&a.invalidateSize()},drawChart:function(){var a=this;AmCharts.AmPieChart.base.drawChart.call(a);var b=a.chartData;if(AmCharts.ifArray(b)){if(0<a.realWidth&&0<a.realHeight){AmCharts.VML&&(a.startAlpha=1);var d=a.startDuration,e=a.container,f=a.updateWidth();a.realWidth=f;var g=a.updateHeight();a.realHeight=g;var h=AmCharts.toCoordinate,i=h(a.marginLeft,f),j=h(a.marginRight,f),k=h(a.marginTop,g)+a.getTitleHeight(),l=h(a.marginBottom,g);a.chartDataLabels=[];a.ticks=[];var m,r,n,q=
AmCharts.toNumber(a.labelRadius),p=a.measureMaxLabel();if(!a.labelText||!a.labelsEnabled)q=p=0;m=void 0==a.pieX?(f-i-j)/2+i:h(a.pieX,a.realWidth);r=void 0==a.pieY?(g-k-l)/2+k:h(a.pieY,g);n=h(a.radius,f,g);a.pullOutRadiusReal=AmCharts.toCoordinate(a.pullOutRadius,n);n||(f=0<=q?f-i-j-2*p:f-i-j,g=g-k-l,n=Math.min(f,g),g<f&&(n/=1-a.angle/90,n>f&&(n=f)),a.pullOutRadiusReal=AmCharts.toCoordinate(a.pullOutRadius,n),n=0<=q?n-1.8*(q+a.pullOutRadiusReal):n-1.8*a.pullOutRadiusReal,n/=2);n<a.minRadius&&(n=a.minRadius);
a.pullOutRadiusReal=h(a.pullOutRadius,n);h=h(a.innerRadius,n);h>=n&&(h=n-1);g=AmCharts.fitToBounds(a.startAngle,0,360);0<a.depth3D&&(g=270<=g?270:90);k=n-n*a.angle/90;for(l=0;l<b.length;l++)if(f=b[l],!0!=f.hidden&&0<f.percents){var s=360*-f.percents/100,j=Math.cos((g+s/2)/180*Math.PI),p=Math.sin((-g-s/2)/180*Math.PI)*(k/n),i={fill:f.color,stroke:a.outlineColor,"stroke-width":a.outlineThickness,"stroke-opacity":a.outlineAlpha};f.url&&(i.cursor="pointer");i=AmCharts.wedge(e,m,r,g,s,n,k,h,a.depth3D,
i,a.gradientRatio);a.addEventListeners(i,f);f.startAngle=g;b[l].wedge=i;if(0<d){var t=a.startAlpha;a.chartCreated&&(t=f.alpha);i.setAttr("opacity",t)}f.ix=j;f.iy=p;f.wedge=i;f.index=l;if(a.labelsEnabled&&a.labelText&&f.percents>=a.hideLabelsPercent){s=g+s/2;0>=s&&(s+=360);var j=m+j*(n+q),t=r+p*(n+q),u,p=0;if(0<=q){var x;90>=s&&0<=s?(x=0,u="start",p=8):360>=s&&270<s?(x=1,u="start",p=8):270>=s&&180<s?(x=2,u="end",p=-8):180>=s&&90<s&&(x=3,u="end",p=-8);f.labelQuarter=x}else u="middle";s=a.formatString(a.labelText,
f);s=AmCharts.text(e,s,a.color,a.fontFamily,a.fontSize,u);s.translate(j+1.5*p,t);f.tx=j+1.5*p;f.ty=t;t=setTimeout(function(){a.showLabels.call(a)},1E3*d);a.timeOuts.push(t);0<=a.labelRadius?i.push(s):a.freeLabelsSet.push(s);f.label=s;a.chartDataLabels[l]=s;f.tx=j;f.tx2=j+p}a.graphsSet.push(i);(0==f.alpha||0<d&&!a.chartCreated)&&i.hide();g-=360*f.percents/100;0>=g&&(g+=360)}0<q&&a.arrangeLabels();a.pieXReal=m;a.pieYReal=r;a.radiusReal=n;a.innerRadiusReal=h;0<q&&a.drawTicks();a=this;a.chartCreated?
a.pullSlices(!0):(t=setTimeout(function(){a.pullSlices.call(a)},1200*d),a.timeOuts.push(t));a.chartCreated||a.startSlices();a.setDepths()}}else a.cleanChart();a.chartCreated=!0;a.dispDUpd()},setDepths:function(){for(var a=this.chartData,b=0;b<a.length;b++){var d=a[b],e=d.wedge,d=d.startAngle;90>=d&&0<=d||360>=d&&270<d?e.toFront():(270>=d&&180<d||180>=d&&90<d)&&e.toBack()}},addEventListeners:function(a,b){var d=this;a.mouseover(function(){d.rollOverSlice(b,!0)}).mouseout(function(){d.rollOutSlice(b)}).click(function(){d.clickSlice(b)})},
formatString:function(a,b){a=AmCharts.formatValue(a,b,["value"],this.numberFormatter,"",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);a=AmCharts.formatValue(a,b,["percents"],this.percentFormatter);a=AmCharts.massReplace(a,{"[[title]]":b.title,"[[description]]":b.description,"<br>":"\n"});a=AmCharts.fixNewLines(a);return a=AmCharts.cleanFromEmpty(a)},drawTicks:function(){for(var a=this.chartData,b=0;b<a.length;b++)if(this.chartDataLabels[b]){var d=a[b],e=d.ty,f=this.radiusReal,
e=AmCharts.line(this.container,[this.pieXReal+d.ix*f,d.tx,d.tx2],[this.pieYReal+d.iy*f,e,e],this.labelTickColor,this.labelTickAlpha);d.wedge.push(e);this.ticks[b]=e}},arrangeLabels:function(){for(var a=this.chartData,b=a.length,d,e=b-1;0<=e;e--)d=a[e],0==d.labelQuarter&&!d.hidden&&this.checkOverlapping(e,d,0,!0,0);for(e=0;e<b;e++)d=a[e],1==d.labelQuarter&&!d.hidden&&this.checkOverlapping(e,d,1,!1,0);for(e=b-1;0<=e;e--)d=a[e],2==d.labelQuarter&&!d.hidden&&this.checkOverlapping(e,d,2,!0,0);for(e=0;e<
b;e++)d=a[e],3==d.labelQuarter&&!d.hidden&&this.checkOverlapping(e,d,3,!1,0)},checkOverlapping:function(a,b,d,e,f){var g,h,i=this.chartData,j=i.length,k=b.label;if(k){if(!0==e)for(h=a+1;h<j;h++)(g=this.checkOverlappingReal(b,i[h],d))&&(h=j);else for(h=a-1;0<=h;h--)(g=this.checkOverlappingReal(b,i[h],d))&&(h=0);!0==g&&100>f&&(g=b.ty+3*b.iy,b.ty=g,k.translate(b.tx2,g),this.checkOverlapping(a,b,d,e,f+1))}},checkOverlappingReal:function(a,b,d){var e=!1,f=a.label,g=b.label;a.labelQuarter==d&&(!a.hidden&&
!b.hidden&&g)&&(f=f.getBBox(),d={},d.width=f.width,d.height=f.height,d.y=a.ty,d.x=a.tx,a=g.getBBox(),g={},g.width=a.width,g.height=a.height,g.y=b.ty,g.x=b.tx,AmCharts.hitTest(d,g)&&(e=!0));return e},startSlices:function(){for(var a=this,b=500*(a.startDuration/a.chartData.length),d=0;d<a.chartData.length;d++)if(0<a.startDuration&&a.sequencedAnimation){var e=setTimeout(function(){a.startSequenced.call(a)},b*d);a.timeOuts.push(e)}else a.startSlice(a.chartData[d])},pullSlices:function(a){for(var b=this.chartData,
d=0;d<b.length;d++){var e=b[d];e.pulled&&this.pullSlice(e,1,a)}},startSequenced:function(){for(var a=this.chartData,b=0;b<a.length;b++)if(!a[b].started){this.startSlice(this.chartData[b]);break}},startSlice:function(a){a.started=!0;var b=a.wedge,d=this.startDuration;if(b&&0<d){0<a.alpha&&b.show();var e=AmCharts.toCoordinate(this.startRadius,this.radiusReal);b.translate(Math.round(a.ix*e),Math.round(a.iy*e));b.animate({opacity:a.alpha,translate:"0,0"},d,this.startEffect)}},showLabels:function(){for(var a=
this.chartData,b=0;b<a.length;b++)if(0<a[b].alpha){var d=this.chartDataLabels[b];d&&d.show();(d=this.ticks[b])&&d.show()}},showSlice:function(a){isNaN(a)?a.hidden=!1:this.chartData[a].hidden=!1;this.hideBalloon();this.invalidateVisibility()},hideSlice:function(a){isNaN(a)?a.hidden=!0:this.chartData[a].hidden=!0;this.hideBalloon();this.invalidateVisibility()},rollOverSlice:function(a,b){isNaN(a)||(a=this.chartData[a]);clearTimeout(this.hoverInt);this.pullOnHover&&this.pullSlice(a,1);var d=this.innerRadiusReal+
(this.radiusReal-this.innerRadiusReal)/2;a.pulled&&(d+=this.pullOutRadiusReal);1>this.hoverAlpha&&a.wedge&&a.wedge.attr({opacity:this.hoverAlpha});var e;e=a.ix*d+this.pieXReal;var d=a.iy*d+this.pieYReal,f=this.formatString(this.balloonText,a),g=AmCharts.adjustLuminosity(a.color,-0.15);this.showBalloon(f,g,b,e,d);e={type:"rollOverSlice",dataItem:a,chart:this};this.fire(e.type,e)},rollOutSlice:function(a){isNaN(a)||(a=this.chartData[a]);a.wedge&&a.wedge.attr({opacity:a.alpha});this.hideBalloon();a=
{type:"rollOutSlice",dataItem:a,chart:this};this.fire(a.type,a)},clickSlice:function(a){isNaN(a)||(a=this.chartData[a]);this.hideBalloon();a.pulled?this.pullSlice(a,0):this.pullSlice(a,1);AmCharts.getURL(a.url,this.urlTarget);a={type:"clickSlice",dataItem:a,chart:this};this.fire(a.type,a)},pullSlice:function(a,b,d){var e=a.ix,f=a.iy,g=this.pullOutDuration;!0===d&&(g=0);var d=a.wedge,h=this.pullOutRadiusReal;d&&d.animate({translate:b*e*h+","+b*f*h},g,this.pullOutEffect);1==b?(a.pulled=!0,this.pullOutOnlyOne&&
this.pullInAll(a.index),a={type:"pullOutSlice",dataItem:a,chart:this}):(a.pulled=!1,a={type:"pullInSlice",dataItem:a,chart:this});this.fire(a.type,a)},pullInAll:function(a){for(var b=this.chartData,d=0;d<this.chartData.length;d++)d!=a&&b[d].pulled&&this.pullSlice(b[d],0)},pullOutAll:function(){for(var a=this.chartData,b=0;b<a.length;b++)a[b].pulled||this.pullSlice(a[b],1)},parseData:function(){var a=[];this.chartData=a;var b=this.dataProvider;if(void 0!=b){for(var d=b.length,e=0,f=0;f<d;f++){var g=
{},h=b[f];g.dataContext=h;g.value=Number(h[this.valueField]);var i=h[this.titleField];i||(i="");g.title=i;g.pulled=AmCharts.toBoolean(h[this.pulledField],!1);(i=h[this.descriptionField])||(i="");g.description=i;g.url=h[this.urlField];g.visibleInLegend=AmCharts.toBoolean(h[this.visibleInLegendField],!0);i=h[this.alphaField];g.alpha=void 0!=i?Number(i):this.pieAlpha;h=h[this.colorField];void 0!=h&&(g.color=AmCharts.toColor(h));e+=g.value;g.hidden=!1;a[f]=g}for(f=b=0;f<d;f++)g=a[f],g.percents=100*(g.value/
e),g.percents<this.groupPercent&&b++;1<b&&(this.groupValue=0,this.removeSmallSlices(),a.push({title:this.groupedTitle,value:this.groupValue,percents:100*(this.groupValue/e),pulled:this.groupedPulled,color:this.groupedColor,url:this.groupedUrl,description:this.groupedDescription,alpha:this.groupedAlpha}));for(f=0;f<a.length;f++)this.pieBaseColor?h=AmCharts.adjustLuminosity(this.pieBaseColor,f*this.pieBrightnessStep/100):(h=this.colors[f],void 0==h&&(h=AmCharts.randomColor())),void 0==a[f].color&&(a[f].color=
h);this.recalculatePercents()}},recalculatePercents:function(){for(var a=this.chartData,b=0,d=0;d<a.length;d++){var e=a[d];!e.hidden&&0<e.value&&(b+=e.value)}for(d=0;d<a.length;d++)e=this.chartData[d],e.percents=!e.hidden&&0<e.value?100*e.value/b:0},removeSmallSlices:function(){for(var a=this.chartData,b=a.length-1;0<=b;b--)a[b].percents<this.groupPercent&&(this.groupValue+=a[b].value,a.splice(b,1))},animateAgain:function(){var a=this;a.startSlices();var b=setTimeout(function(){a.pullSlices.call(a)},
1200*a.startDuration);a.timeOuts.push(b)},measureMaxLabel:function(){for(var a=this.chartData,b=0,d=0;d<a.length;d++){var e=this.formatString(this.labelText,a[d]),e=AmCharts.text(this.container,e,this.color,this.fontFamily,this.fontSize),f=e.getBBox().width;f>b&&(b=f);e.remove()}return b}});AmCharts.AmXYChart=AmCharts.Class({inherits:AmCharts.AmRectangularChart,construct:function(){AmCharts.AmXYChart.base.construct.call(this);this.createEvents("zoomed");this.xAxes;this.yAxes;this.scrollbarV;this.scrollbarH;this.maxZoomFactor=20;this.chartType="xy"},initChart:function(){AmCharts.AmXYChart.base.initChart.call(this);this.dataChanged&&(this.updateData(),this.dataChanged=!1,this.dispatchDataUpdated=!0);this.updateScrollbar=!0;this.drawChart();this.autoMargins&&!this.marginsUpdated&&(this.marginsUpdated=
!0,this.measureMargins());var a=this.marginLeftReal,b=this.marginTopReal,d=this.plotAreaWidth,e=this.plotAreaHeight;this.graphsSet.clipRect(a,b,d,e);this.bulletSet.clipRect(a,b,d,e);this.trendLinesSet.clipRect(a,b,d,e)},createValueAxes:function(){var a=[],b=[];this.xAxes=a;this.yAxes=b;for(var d=this.valueAxes,e=0;e<d.length;e++){var f=d[e],g=f.position;if("top"==g||"bottom"==g)f.rotate=!0;f.setOrientation(f.rotate);g=f.orientation;"V"==g&&b.push(f);"H"==g&&a.push(f)}0==b.length&&(f=new AmCharts.ValueAxis,
f.rotate=!1,f.setOrientation(!1),d.push(f),b.push(f));0==a.length&&(f=new AmCharts.ValueAxis,f.rotate=!0,f.setOrientation(!0),d.push(f),a.push(f));for(e=0;e<d.length;e++)this.processValueAxis(d[e],e);a=this.graphs;for(e=0;e<a.length;e++)this.processGraph(a[e],e)},drawChart:function(){AmCharts.AmXYChart.base.drawChart.call(this);AmCharts.ifArray(this.chartData)?(this.chartScrollbar&&(this.updateScrollbars(),this.scrollbarH.draw(),this.scrollbarV.draw()),this.zoomChart()):this.cleanChart();this.dispDUpd();
this.chartCreated=!0},cleanChart:function(){AmCharts.callMethod("destroy",[this.valueAxes,this.graphs,this.scrollbarV,this.scrollbarH,this.chartCursor])},zoomChart:function(){this.toggleZoomOutButton();this.zoomObjects(this.valueAxes);this.zoomObjects(this.graphs);this.zoomTrendLines();this.dispatchAxisZoom()},toggleZoomOutButton:function(){1==this.heightMultiplyer&&1==this.widthMultiplyer?this.showZB(!1):this.showZB(!0)},dispatchAxisZoom:function(){for(var a=this.valueAxes,b=0;b<a.length;b++){var d=
a[b];if(!isNaN(d.min)&&!isNaN(d.max)){var e,f;"V"==d.orientation?(e=d.coordinateToValue(-this.verticalPosition),f=d.coordinateToValue(-this.verticalPosition+this.plotAreaHeight)):(e=d.coordinateToValue(-this.horizontalPosition),f=d.coordinateToValue(-this.horizontalPosition+this.plotAreaWidth));if(!isNaN(e)&&!isNaN(f)){if(e>f){var g=f;f=e;e=g}d.dispatchZoomEvent(e,f)}}}},zoomObjects:function(a){for(var b=a.length,d=0;d<b;d++){var e=a[d];this.updateObjectSize(e);e.zoom(0,this.chartData.length-1)}},
updateData:function(){this.parseData();for(var a=this.chartData,b=a.length-1,d=this.graphs,e=this.dataProvider,f=0,g=0;g<d.length;g++){var h=d[g];h.data=a;h.zoom(0,b);if(h=h.valueField)for(var i=0;i<e.length;i++){var j=e[i][h];j>f&&(f=j)}}for(g=0;g<d.length;g++)h=d[g],h.maxValue=f;if(a=this.chartCursor)a.updateData(),a.type="crosshair",a.valueBalloonsEnabled=!1},zoomOut:function(){this.verticalPosition=this.horizontalPosition=0;this.heightMultiplyer=this.widthMultiplyer=1;this.zoomChart();this.zoomScrollbars()},
processValueAxis:function(a){a.chart=this;a.minMaxField="H"==a.orientation?"x":"y";a.minTemp=NaN;a.maxTemp=NaN;this.listenTo(a,"axisSelfZoomed",this.handleAxisSelfZoom)},processGraph:function(a){a.xAxis||(a.xAxis=this.xAxes[0]);a.yAxis||(a.yAxis=this.yAxes[0])},parseData:function(){AmCharts.AmXYChart.base.parseData.call(this);this.chartData=[];for(var a=this.dataProvider,b=this.valueAxes,d=this.graphs,e=0;e<a.length;e++){for(var f={axes:{},x:{},y:{}},g=a[e],h=0;h<b.length;h++){var i=b[h].id;f.axes[i]=
{};f.axes[i].graphs={};for(var j=0;j<d.length;j++){var k=d[j],l=k.id;if(k.xAxis.id==i||k.yAxis.id==i){var m={};m.serialDataItem=f;m.index=e;var r={},n=Number(g[k.valueField]);isNaN(n)||(r.value=n);n=Number(g[k.xField]);isNaN(n)||(r.x=n);n=Number(g[k.yField]);isNaN(n)||(r.y=n);m.values=r;this.processFields(k,m,g);m.serialDataItem=f;m.graph=k;f.axes[i].graphs[l]=m}}}this.chartData[e]=f}},formatString:function(a,b){var d=b.graph.numberFormatter;d||(d=this.numberFormatter);a=AmCharts.formatValue(a,b.values,
["value","x","y"],d);-1!=a.indexOf("[[")&&(a=AmCharts.formatDataContextValue(a,b.dataContext));return a=AmCharts.AmSerialChart.base.formatString.call(this,a,b)},addChartScrollbar:function(a){AmCharts.callMethod("destroy",[this.chartScrollbar,this.scrollbarH,this.scrollbarV]);if(a){var b=new AmCharts.SimpleChartScrollbar,d=new AmCharts.SimpleChartScrollbar;b.skipEvent=!0;d.skipEvent=!0;b.chart=this;d.chart=this;this.listenTo(b,"zoomed",this.handleVSBZoom);this.listenTo(d,"zoomed",this.handleHSBZoom);
var e="backgroundColor backgroundAlpha selectedBackgroundColor selectedBackgroundAlpha scrollDuration resizeEnabled hideResizeGrips scrollbarHeight updateOnReleaseOnly".split(" ");AmCharts.copyProperties(a,b,e);AmCharts.copyProperties(a,d,e);b.rotate=!0;d.rotate=!1;this.scrollbarHeight=a.scrollbarHeight;this.scrollbarH=d;this.scrollbarV=b;this.chartScrollbar=a}},updateTrendLines:function(){for(var a=this.trendLines,b=0;b<a.length;b++){var d=a[b];d.chart=this;d.valueAxis||(d.valueAxis=this.yAxes[0]);
d.valueAxisX||(d.valueAxisX=this.xAxes[0])}},updateMargins:function(){AmCharts.AmXYChart.base.updateMargins.call(this);var a=this.scrollbarV;a&&(this.getScrollbarPosition(a,!0,this.yAxes[0].position),this.adjustMargins(a,!0));if(a=this.scrollbarH)this.getScrollbarPosition(a,!1,this.xAxes[0].position),this.adjustMargins(a,!1)},updateScrollbars:function(){this.updateChartScrollbar(this.scrollbarV,!0);this.updateChartScrollbar(this.scrollbarH,!1)},zoomScrollbars:function(){var a=this.scrollbarH;a&&a.relativeZoom(this.widthMultiplyer,
-this.horizontalPosition/this.widthMultiplyer);(a=this.scrollbarV)&&a.relativeZoom(this.heightMultiplyer,-this.verticalPosition/this.heightMultiplyer)},fitMultiplyer:function(a){a>this.maxZoomFactor&&(a=this.maxZoomFactor);return a},handleHSBZoom:function(a){var b=this.fitMultiplyer(a.multiplyer),a=-a.position*b,d=-(this.plotAreaWidth*b-this.plotAreaWidth);a<d&&(a=d);this.widthMultiplyer=b;this.horizontalPosition=a;this.zoomChart()},handleVSBZoom:function(a){var b=this.fitMultiplyer(a.multiplyer),
a=-a.position*b,d=-(this.plotAreaHeight*b-this.plotAreaHeight);a<d&&(a=d);this.heightMultiplyer=b;this.verticalPosition=a;this.zoomChart()},handleCursorZoom:function(a){var b=this.widthMultiplyer*this.plotAreaWidth/a.selectionWidth,d=this.heightMultiplyer*this.plotAreaHeight/a.selectionHeight,b=this.fitMultiplyer(b),d=this.fitMultiplyer(d);this.horizontalPosition=(this.horizontalPosition-a.selectionX)*b/this.widthMultiplyer;this.verticalPosition=(this.verticalPosition-a.selectionY)*d/this.heightMultiplyer;
this.widthMultiplyer=b;this.heightMultiplyer=d;this.zoomChart();this.zoomScrollbars()},handleAxisSelfZoom:function(a){if("H"==a.valueAxis.orientation){var b=this.fitMultiplyer(a.multiplyer),a=-a.position/this.widthMultiplyer*b,d=-(this.plotAreaWidth*b-this.plotAreaWidth);a<d&&(a=d);this.horizontalPosition=a;this.widthMultiplyer=b}else b=this.fitMultiplyer(a.multiplyer),a=-a.position/this.heightMultiplyer*b,d=-(this.plotAreaHeight*b-this.plotAreaHeight),a<d&&(a=d),this.verticalPosition=a,this.heightMultiplyer=
b;this.zoomChart();this.zoomScrollbars()},removeChartScrollbar:function(){AmCharts.callMethod("destroy",[this.scrollbarH,this.scrollbarV]);this.scrollbarV=this.scrollbarH=null},handleReleaseOutside:function(a){AmCharts.AmXYChart.base.handleReleaseOutside.call(this,a);AmCharts.callMethod("handleReleaseOutside",[this.scrollbarH,this.scrollbarV])}});AmCharts.AmDraw=AmCharts.Class({construct:function(a,b,d){AmCharts.SVG_NS="http://www.w3.org/2000/svg";AmCharts.SVG_XLINK="http://www.w3.org/1999/xlink";AmCharts.hasSVG=!!document.createElementNS&&!!document.createElementNS(AmCharts.SVG_NS,"svg").createSVGRect;1>b&&(b=10);1>d&&(d=10);this.div=a;this.width=b;this.height=d;this.rBin=document.createElement("div");if(AmCharts.hasSVG){var e=this.createSvgElement("svg");e.style.position="absolute";e.style.width=b+"px";e.style.height=d+"px";e.setAttribute("version",
"1.1");a.appendChild(e);this.container=e;this.R=new AmCharts.SVGRenderer(this)}else AmCharts.isIE&&(AmCharts.VML=!0,AmCharts.vmlStyleSheet||(document.namespaces.add("v","urn:schemas-microsoft-com:vml"),b=document.createStyleSheet(),b.addRule("v\\:shape","behavior:url(#default#VML); display:inline-block; antialias:true"),b.addRule("v\\:polyline","behavior:url(#default#VML); display:inline-block; antialias:true"),b.addRule("v\\:roundrect","behavior:url(#default#VML); display:inline-block; antialias:true"),
b.addRule("v\\:stroke","behavior:url(#default#VML); display:inline-block; antialias:true"),b.addRule("v\\:fill","behavior:url(#default#VML); display:inline-block; antialias:true"),b.addRule("v\\:oval","behavior:url(#default#VML); display:inline-block; antialias:true"),b.addRule("v\\:curve","behavior:url(#default#VML); display:inline-block; antialias:true"),AmCharts.vmlStyleSheet=b),this.container=a,this.R=new AmCharts.VMLRenderer(this),this.R.disableSelection(a))},createSvgElement:function(a){return document.createElementNS(AmCharts.SVG_NS,
a)},circle:function(a,b,d,e){var f=new AmCharts.AmDObject("circle",this);f.attr({r:d,cx:a,cy:b});this.addToContainer(f.node,e);return f},setSize:function(a,b){this.container.style.width=a+"px";this.container.style.height=b+"px"},rect:function(a,b,d,e,f,g,h){var i=new AmCharts.AmDObject("rect",this);AmCharts.VML&&(f=100*f/Math.min(d,e),d+=2*g,e+=2*g,i.bw=g,i.node.style.marginLeft=-g,i.node.style.marginTop=-g);1>d&&(d=1);1>e&&(e=1);i.attr({x:a,y:b,width:d,height:e,rx:f,ry:f,"stroke-width":g});this.addToContainer(i.node,
h);return i},image:function(a,b,d,e,f,g){var h=new AmCharts.AmDObject("image",this);h.attr({x:b,y:d,width:e,height:f});this.R.path(h,a);this.addToContainer(h.node,g);return h},addToContainer:function(a,b){b||(b=this.container);b.appendChild(a)},text:function(a,b,d){return this.R.text(a,b,d)},path:function(a,b,d,e){var f=new AmCharts.AmDObject("path",this);e||(e="100,100");f.attr({cs:e});d?f.attr({dd:a}):f.attr({d:a});this.addToContainer(f.node,b);return f},set:function(a){return this.R.set(a)},remove:function(a){if(a){var b=
this.rBin;b.appendChild(a);b.innerHTML=""}},bounce:function(a,b,d,e,f){return(b/=f)<1/2.75?e*7.5625*b*b+d:b<2/2.75?e*(7.5625*(b-=1.5/2.75)*b+0.75)+d:b<2.5/2.75?e*(7.5625*(b-=2.25/2.75)*b+0.9375)+d:e*(7.5625*(b-=2.625/2.75)*b+0.984375)+d},easeInSine:function(a,b,d,e,f){return-e*Math.cos(b/f*(Math.PI/2))+e+d},easeOutSine:function(a,b,d,e,f){return e*Math.sin(b/f*(Math.PI/2))+d},easeOutElastic:function(a,b,d,e,f){var a=1.70158,g=0,h=e;if(0==b)return d;if(1==(b/=f))return d+e;g||(g=0.3*f);h<Math.abs(e)?
(h=e,a=g/4):a=g/(2*Math.PI)*Math.asin(e/h);return h*Math.pow(2,-10*b)*Math.sin((b*f-a)*2*Math.PI/g)+e+d},renderFix:function(){var a=this.container,b=a.style;b.left="0px";b.top="0px";a.getScreenCTM&&a.createSVGMatrix&&(a=a.createSVGMatrix()||a.getScreenCTM(),b.left=-(a.e-Math.floor(a.e))+"px",b.top=-(a.f-Math.floor(a.f))+"px")}});AmCharts.AmDObject=AmCharts.Class({construct:function(a,b){this.D=b;this.R=b.R;this.node=this.R.create(this,a);this.children=[];this.y=this.x=0;this.scale=1},attr:function(a){this.R.attr(this,a);return this},getAttr:function(a){return this.node.getAttribute(a)},setAttr:function(a,b){this.R.setAttr(this,a,b);return this},clipRect:function(a,b,d,e){this.R.clipRect(this,a,b,d,e)},translate:function(a,b,d){this.R.move(this,Math.round(a),Math.round(b),d);this.x=a;this.y=b;this.scale=d;this.angle&&this.rotate(this.angle)},
rotate:function(a){this.R.rotate(this,a);this.angle=a},animate:function(a,b,d){for(var e in a){var f=e,g=a[e],d=AmCharts.getEffect(d);this.R.animate(this,f,g,b,d)}},push:function(a){if(a){var b=this.node;b.appendChild(a.node);var d=a.clipPath;d&&b.appendChild(d);(d=a.grad)&&b.appendChild(d);this.children.push(a)}},text:function(a){this.R.setText(this,a)},remove:function(){this.R.remove(this)},clear:function(){var a=this.node;if(a.hasChildNodes())for(;1<=a.childNodes.length;)a.removeChild(a.firstChild)},
hide:function(){this.setAttr("visibility","hidden")},show:function(){this.setAttr("visibility","visible")},getBBox:function(){return this.R.getBBox(this)},toFront:function(){var a=this.node;if(a){var b=a.parentNode;b&&b.appendChild(a)}},toBack:function(){var a=this.node;if(a){var b=a.parentNode;if(b){var d=b.firstChild;d&&b.insertBefore(a,d)}}},mouseover:function(a){this.R.addListener(this,"mouseover",a);return this},mouseout:function(a){this.R.addListener(this,"mouseout",a);return this},click:function(a){this.R.addListener(this,
"click",a);return this},dblclick:function(a){this.R.addListener(this,"dblclick",a);return this},mousedown:function(a){this.R.addListener(this,"mousedown",a);return this},mouseup:function(a){this.R.addListener(this,"mouseup",a);return this},touchstart:function(a){this.R.addListener(this,"touchstart",a);return this},touchend:function(a){this.R.addListener(this,"touchend",a);return this},stop:function(){var a=this.animationX;a&&AmCharts.removeFromArray(this.R.animations,a);(a=this.animationY)&&AmCharts.removeFromArray(this.R.animations,
a)},length:function(){return this.node.childNodes.length},gradient:function(a,b,d){this.R.gradient(this,a,b,d)}});AmCharts.VMLRenderer=AmCharts.Class({construct:function(a){this.D=a;this.cNames={circle:"oval",rect:"roundrect",path:"shape"};this.styleMap={x:"left",y:"top",width:"width",height:"height","font-family":"fontFamily","font-size":"fontSize",visibility:"visibility"};this.animations=[]},create:function(a,b){var d;if("group"==b)d=document.createElement("div"),a.type="div";else if("text"==b)d=document.createElement("div"),a.type="text";else if("image"==b)d=document.createElement("img"),a.type="image";else{a.type=
"shape";a.shapeType=this.cNames[b];d=document.createElement("v:"+this.cNames[b]);var e=document.createElement("v:stroke");d.appendChild(e);a.stroke=e;e=document.createElement("v:fill");d.appendChild(e);a.fill=e}d.style.position="absolute";d.style.top=0;d.style.left=0;return d},path:function(a,b){a.node.setAttribute("src",b)},setAttr:function(a,b,d){if(void 0!==d){if(8===document.documentMode)var e=!0;var f=a.node,g=a.type,h=f.style;"r"==b&&(h.width=2*d,h.height=2*d);if("roundrect"==a.shapeType&&("width"==
b||"height"==b))d-=1;"cursor"==b&&(h.cursor=d);"cx"==b&&(h.left=d-AmCharts.removePx(h.width)/2);"cy"==b&&(h.top=d-AmCharts.removePx(h.height)/2);var i=this.styleMap[b];void 0!=i&&(h[i]=d);"text"==g&&("text-anchor"==b&&(a.anchor=d,i=f.clientWidth,"end"==d&&(h.marginLeft=-i+"px"),"middle"==d&&(h.marginLeft=-(i/2)+"px"),"start"==d&&(h.marginLeft="0px")),"fill"==b&&(h.color=d),"font-weight"==b&&(h.fontWeight=d));h=a.children;for(i=0;i<h.length;i++)h[i].setAttr(b,d);if("shape"==g){"cs"==b&&(f.style.width=
"100px",f.style.height="100px",f.setAttribute("coordsize",d));"d"==b&&f.setAttribute("path",this.svgPathToVml(d));"dd"==b&&f.setAttribute("path",d);g=a.stroke;a=a.fill;"stroke"==b&&(e?g.color=d:g.setAttribute("color",d));"stroke-width"==b&&(e?g.weight=d:g.setAttribute("weight",d));"stroke-opacity"==b&&(e?g.opacity=d:g.setAttribute("opacity",d));"stroke-dasharray"==b&&(h="solid",0<d&&3>d&&(h="dot"),3<=d&&6>=d&&(h="dash"),6<d&&(h="longdash"),e?g.dashstyle=h:g.setAttribute("dashstyle",h));if("fill-opacity"==
b||"opacity"==b)0==d?e?a.on=!1:a.setAttribute("on",!1):e?a.opacity=d:a.setAttribute("opacity",d);"fill"==b&&(e?a.color=d:a.setAttribute("color",d));"rx"==b&&(e?f.arcSize=d+"%":f.setAttribute("arcsize",d+"%"))}}},attr:function(a,b){for(var d in b)this.setAttr(a,d,b[d])},text:function(a,b,d){var e=new AmCharts.AmDObject("text",this.D),f=e.node;f.style.whiteSpace="pre";a=document.createTextNode(a);f.appendChild(a);this.D.addToContainer(f,d);this.attr(e,b);return e},getBBox:function(a){return this.getBox(a.node)},
getBox:function(a){var b=a.offsetLeft,d=a.offsetTop,e=a.offsetWidth,f=a.offsetHeight,g;if(a.hasChildNodes()){for(var h,i,j=0;j<a.childNodes.length;j++){g=this.getBox(a.childNodes[j]);var k=g.x;isNaN(k)||(isNaN(h)?h=k:k<h&&(h=k));var l=g.y;isNaN(l)||(isNaN(i)?i=l:l<i&&(i=l));k=g.width+k;isNaN(k)||(e=Math.max(e,k));g=g.height+l;isNaN(g)||(f=Math.max(f,g))}0>h&&(b+=h);0>i&&(d+=i)}return{x:b,y:d,width:e,height:f}},setText:function(a,b){var d=a.node;d&&(d.removeChild(d.firstChild),d.appendChild(document.createTextNode(b)));
this.setAttr(a,"text-anchor",a.anchor)},addListener:function(a,b,d){a.node["on"+b]=d},move:function(a,b,d){var e=a.node,f=e.style;"text"==a.type&&(d-=AmCharts.removePx(f.fontSize)/2-1);"oval"==a.shapeType&&(b-=AmCharts.removePx(f.width)/2,d-=AmCharts.removePx(f.height)/2);a=a.bw;isNaN(a)||(b-=a,d-=a);e.style.left=b+"px";e.style.top=d+"px"},svgPathToVml:function(a){for(var b=a.split(" "),a="",d,e=Math.round,f=0;f<b.length;f++){var g=b[f],h=g.substring(0,1),g=g.substring(1),i=g.split(","),j=e(i[0])+
","+e(i[1]);"M"==h&&(a+=" m "+j);"L"==h&&(a+=" l "+j);"Z"==h&&(a+=" x e");if("Q"==h){var k=d.length,l=d[k-1],m=i[0],r=i[1],j=i[2],n=i[3];d=e(d[k-2]/3+2/3*m);l=e(l/3+2/3*r);m=e(2/3*m+j/3);r=e(2/3*r+n/3);a+=" c "+d+","+l+","+m+","+r+","+j+","+n}"A"==h&&(a+=" wa "+g);"B"==h&&(a+=" at "+g);d=i}return a},animate:function(a,b,d,e,f){var g=this,h=a.node;if("translate"==b){var i=d.split(","),b=i[1],d=h.offsetTop,h={obj:a,frame:0,attribute:"left",from:h.offsetLeft,to:i[0],time:e,effect:f};g.animations.push(h);
e={obj:a,frame:0,attribute:"top",from:d,to:b,time:e,effect:f};g.animations.push(e);a.animationX=h;a.animationY=e}g.interval||(g.interval=setInterval(function(){g.updateAnimations.call(g)},AmCharts.updateRate))},updateAnimations:function(){for(var a=this.animations.length-1;0<=a;a--){var b=this.animations[a],d=1E3*b.time/AmCharts.updateRate,e=b.frame+1,f=b.obj,g=b.attribute;if(e<=d){b.frame++;var h=Number(b.from),i=Number(b.to)-h,b=this.D[b.effect](0,e,h,i,d);0==i?this.animations.splice(a,1):f.node.style[g]=
b}else f.node.style[g]=Number(b.to),this.animations.splice(a,1)}},clipRect:function(a,b,d,e,f){a.node.style.clip="rect("+d+"px "+(b+e)+"px "+(d+f)+"px "+b+"px)"},rotate:function(a,b){var d=a.node,e=d.style,f=this.getBGColor(d.parentNode);e.backgroundColor=f;e.paddingLeft=1;var f=b*Math.PI/180,g=Math.cos(f),h=Math.sin(f),i=AmCharts.removePx(e.left),j=AmCharts.removePx(e.top),k=d.offsetWidth,d=d.offsetHeight,l=b/Math.abs(b);e.left=i+k/2-k/2*Math.cos(f)-l*d/2*Math.sin(f)+3;e.top=j-l*k/2*Math.sin(f)+
l*d/2*Math.sin(f);e.cssText=e.cssText+"; filter:progid:DXImageTransform.Microsoft.Matrix(M11='"+g+"', M12='"+-h+"', M21='"+h+"', M22='"+g+"', sizingmethod='auto expand');"},getBGColor:function(a){var b="#FFFFFF";if(a.style){var d=a.style.backgroundColor;""!=d?b=d:a.parentNode&&(b=this.getBGColor(a.parentNode))}return b},set:function(a){var b=new AmCharts.AmDObject("group",this.D);this.D.container.appendChild(b.node);if(a)for(var d=0;d<a.length;d++)b.push(a[d]);return b},gradient:function(a,b,d,e){var f=
"";"radialGradient"==b&&(b="gradientradial",d.reverse());"linearGradient"==b&&(b="gradient");for(var g=0;g<d.length;g++){var h=Math.round(100*g/(d.length-1)),f=f+(h+"% "+d[g]);g<d.length-1&&(f+=",")}a=a.fill;90==e?e=0:270==e?e=180:180==e?e=90:0==e&&(e=270);8===document.documentMode?(a.type=b,a.angle=e):(a.setAttribute("type",b),a.setAttribute("angle",e));f&&(a.colors.value=f)},remove:function(a){a.clipPath&&this.D.remove(a.clipPath);this.D.remove(a.node)},disableSelection:function(a){void 0!=typeof a.onselectstart&&
(a.onselectstart=function(){return!1});a.style.cursor="default"}});AmCharts.SVGRenderer=AmCharts.Class({construct:function(a){this.D=a;this.animations=[]},create:function(a,b){return document.createElementNS(AmCharts.SVG_NS,b)},attr:function(a,b){for(var d in b)this.setAttr(a,d,b[d])},setAttr:function(a,b,d){void 0!==d&&a.node.setAttribute(b,d)},animate:function(a,b,d,e,f){var g=this,h=a.node;"translate"==b?(h=(h=h.getAttribute("transform"))?String(h).substring(10,h.length-1):"0,0",h=h.split(", ").join(" "),h=h.split(" ").join(","),0==h&&(h="0,0")):h=h.getAttribute(b);
b={obj:a,frame:0,attribute:b,from:h,to:d,time:e,effect:f};g.animations.push(b);a.animationX=b;g.interval||(g.interval=setInterval(function(){g.updateAnimations.call(g)},AmCharts.updateRate))},updateAnimations:function(){for(var a=this.animations.length-1;0<=a;a--){var b=this.animations[a],d=1E3*b.time/AmCharts.updateRate,e=b.frame+1,f=b.obj,g=b.attribute;if(e<=d){b.frame++;if("translate"==g)var h=b.from.split(","),g=Number(h[0]),h=Number(h[1]),i=b.to.split(","),j=Number(i[0]),i=Number(i[1]),j=0==
j-g?j:Math.round(this.D[b.effect](0,e,g,j-g,d)),b=0==i-h?i:Math.round(this.D[b.effect](0,e,h,i-h,d)),g="transform",b="translate("+j+","+b+")";else h=Number(b.from),j=Number(b.to),j-=h,b=this.D[b.effect](0,e,h,j,d),0==j&&this.animations.splice(a,1);this.setAttr(f,g,b)}else"translate"==g?(i=b.to.split(","),j=Number(i[0]),i=Number(i[1]),f.translate(j,i)):(j=Number(b.to),this.setAttr(f,g,j)),this.animations.splice(a,1)}},getBBox:function(a){if(a=a.node)try{return a.getBBox()}catch(b){}return{width:0,
height:0,x:0,y:0}},path:function(a,b){a.node.setAttributeNS(AmCharts.SVG_XLINK,"xlink:href",b)},clipRect:function(a,b,d,e,f){var g=a.node,h=a.clipPath;h&&this.D.remove(h);var i=g.parentNode;i&&(g=document.createElementNS(AmCharts.SVG_NS,"clipPath"),h=AmCharts.getUniqueId(),g.setAttribute("id",h),this.D.rect(b,d,e,f,0,0,g),i.appendChild(g),b="#",AmCharts.baseHref&&!AmCharts.isIE&&(b=window.location.href+b),this.setAttr(a,"clip-path","url("+b+h+")"),this.clipPathC++,a.clipPath=g)},text:function(a,b,
d){for(var e=new AmCharts.AmDObject("text",this.D),a=String(a).split("\n"),f=b["font-size"],g=0;g<a.length;g++){var h=this.create(null,"tspan");h.appendChild(document.createTextNode(a[g]));h.setAttribute("y",(f+2)*g+f/2+0);h.setAttribute("x",0);e.node.appendChild(h)}e.node.setAttribute("y",f/2+0);this.attr(e,b);this.D.addToContainer(e.node,d);return e},setText:function(a,b){var d=a.node;d&&(d.removeChild(d.firstChild),d.appendChild(document.createTextNode(b)))},move:function(a,b,d,e){b="translate("+
b+","+d+")";e&&(b=b+" scale("+e+")");this.setAttr(a,"transform",b)},rotate:function(a,b){var d=a.node.getAttribute("transform"),e="rotate("+b+")";d&&(e=d+" "+e);this.setAttr(a,"transform",e)},set:function(a){var b=new AmCharts.AmDObject("g",this.D);this.D.container.appendChild(b.node);if(a)for(var d=0;d<a.length;d++)b.push(a[d]);return b},addListener:function(a,b,d){a.node["on"+b]=d},gradient:function(a,b,d,e){var f=a.node,g=a.grad;g&&this.D.remove(g);b=document.createElementNS(AmCharts.SVG_NS,b);
g=AmCharts.getUniqueId();b.setAttribute("id",g);if(!isNaN(e)){var h=0,i=0,j=0,k=0;90==e?j=100:270==e?k=100:180==e?h=100:0==e&&(i=100);b.setAttribute("x1",h+"%");b.setAttribute("x2",i+"%");b.setAttribute("y1",j+"%");b.setAttribute("y2",k+"%")}for(e=0;e<d.length;e++)h=document.createElementNS(AmCharts.SVG_NS,"stop"),i=100*e/(d.length-1),0==e&&(i=0),h.setAttribute("offset",i+"%"),h.setAttribute("stop-color",d[e]),b.appendChild(h);f.parentNode.appendChild(b);d="#";AmCharts.baseHref&&!AmCharts.isIE&&(d=
window.location.href+d);f.setAttribute("fill","url("+d+g+")");a.grad=b},remove:function(a){a.clipPath&&this.D.remove(a.clipPath);a.grad&&this.D.remove(a.grad);this.D.remove(a.node)}});AmCharts.AmDSet=AmCharts.Class({construct:function(){this.create("g")},attr:function(a){this.R.attr(this.node,a)},move:function(a,b){this.R.move(this.node,a,b)}});
// Text Change
(function (a) {
    a.event.special.textchange = {
        setup: function () { a(this).data("lastValue", this.contentEditable === "true" ? a(this).html() : a(this).val()); a(this).bind("keyup.textchange", a.event.special.textchange.handler); a(this).bind("cut.textchange paste.textchange input.textchange", a.event.special.textchange.delayedHandler) }, teardown: function () { a(this).unbind(".textchange") }, handler: function () { a.event.special.textchange.triggerIfChanged(a(this)) }, delayedHandler: function () {
            var c = a(this); setTimeout(function () { a.event.special.textchange.triggerIfChanged(c) }, 25)
        }, triggerIfChanged: function (a) { var b = a[0].contentEditable === "true" ? a.html() : a.val(); b !== a.data("lastValue") && (a.trigger("textchange", [a.data("lastValue")]), a.data("lastValue", b)) }
    }; a.event.special.hastext = { setup: function () { a(this).bind("textchange", a.event.special.hastext.handler) }, teardown: function () { a(this).unbind("textchange", a.event.special.hastext.handler) }, handler: function (c, b) { b === "" && b !== a(this).val() && a(this).trigger("hastext") } }; a.event.special.notext = {
        setup: function () {
            a(this).bind("textchange", a.event.special.notext.handler)
        }, teardown: function () { a(this).unbind("textchange", a.event.special.notext.handler) }, handler: function (c, b) { a(this).val() === "" && a(this).val() !== b && a(this).trigger("notext") }
    }
})(jQuery);
/*
     _ _      _       _
 ___| (_) ___| | __  (_)___
/ __| | |/ __| |/ /  | / __|
\__ \ | | (__|   < _ | \__ \
|___/_|_|\___|_|\_(_)/ |___/
                   |__/

 Version: 1.8.0
  Author: Ken Wheeler
 Website: http://kenwheeler.github.io
    Docs: http://kenwheeler.github.io/slick
    Repo: http://github.com/kenwheeler/slick
  Issues: http://github.com/kenwheeler/slick/issues

 */
/* global window, document, define, jQuery, setInterval, clearInterval */
; (function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        define(['jquery'], factory);
    } else if (typeof exports !== 'undefined') {
        module.exports = factory(require('jquery'));
    } else {
        factory(jQuery);
    }

}(function ($) {
    'use strict';
    var Slick = window.Slick || {};

    Slick = (function () {

        var instanceUid = 0;

        function Slick(element, settings) {

            var _ = this, dataSettings;

            _.defaults = {
                accessibility: true,
                adaptiveHeight: false,
                appendArrows: $(element),
                appendDots: $(element),
                arrows: true,
                asNavFor: null,
                prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
                nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
                autoplay: false,
                autoplaySpeed: 3000,
                centerMode: false,
                centerPadding: '50px',
                cssEase: 'ease',
                customPaging: function (slider, i) {
                    return $('<button type="button" />').text(i + 1);
                },
                dots: false,
                dotsClass: 'slick-dots',
                draggable: true,
                easing: 'linear',
                edgeFriction: 0.35,
                fade: false,
                focusOnSelect: false,
                focusOnChange: false,
                infinite: true,
                initialSlide: 0,
                lazyLoad: 'ondemand',
                mobileFirst: false,
                pauseOnHover: true,
                pauseOnFocus: true,
                pauseOnDotsHover: false,
                respondTo: 'window',
                responsive: null,
                rows: 1,
                rtl: false,
                slide: '',
                slidesPerRow: 1,
                slidesToShow: 1,
                slidesToScroll: 1,
                speed: 500,
                swipe: true,
                swipeToSlide: false,
                touchMove: true,
                touchThreshold: 5,
                useCSS: true,
                useTransform: true,
                variableWidth: false,
                vertical: false,
                verticalSwiping: false,
                waitForAnimate: true,
                zIndex: 1000
            };

            _.initials = {
                animating: false,
                dragging: false,
                autoPlayTimer: null,
                currentDirection: 0,
                currentLeft: null,
                currentSlide: 0,
                direction: 1,
                $dots: null,
                listWidth: null,
                listHeight: null,
                loadIndex: 0,
                $nextArrow: null,
                $prevArrow: null,
                scrolling: false,
                slideCount: null,
                slideWidth: null,
                $slideTrack: null,
                $slides: null,
                sliding: false,
                slideOffset: 0,
                swipeLeft: null,
                swiping: false,
                $list: null,
                touchObject: {},
                transformsEnabled: false,
                unslicked: false
            };

            $.extend(_, _.initials);

            _.activeBreakpoint = null;
            _.animType = null;
            _.animProp = null;
            _.breakpoints = [];
            _.breakpointSettings = [];
            _.cssTransitions = false;
            _.focussed = false;
            _.interrupted = false;
            _.hidden = 'hidden';
            _.paused = true;
            _.positionProp = null;
            _.respondTo = null;
            _.rowCount = 1;
            _.shouldClick = true;
            _.$slider = $(element);
            _.$slidesCache = null;
            _.transformType = null;
            _.transitionType = null;
            _.visibilityChange = 'visibilitychange';
            _.windowWidth = 0;
            _.windowTimer = null;

            dataSettings = $(element).data('slick') || {};

            _.options = $.extend({}, _.defaults, settings, dataSettings);

            _.currentSlide = _.options.initialSlide;

            _.originalSettings = _.options;

            if (typeof document.mozHidden !== 'undefined') {
                _.hidden = 'mozHidden';
                _.visibilityChange = 'mozvisibilitychange';
            } else if (typeof document.webkitHidden !== 'undefined') {
                _.hidden = 'webkitHidden';
                _.visibilityChange = 'webkitvisibilitychange';
            }

            _.autoPlay = $.proxy(_.autoPlay, _);
            _.autoPlayClear = $.proxy(_.autoPlayClear, _);
            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
            _.changeSlide = $.proxy(_.changeSlide, _);
            _.clickHandler = $.proxy(_.clickHandler, _);
            _.selectHandler = $.proxy(_.selectHandler, _);
            _.setPosition = $.proxy(_.setPosition, _);
            _.swipeHandler = $.proxy(_.swipeHandler, _);
            _.dragHandler = $.proxy(_.dragHandler, _);
            _.keyHandler = $.proxy(_.keyHandler, _);

            _.instanceUid = instanceUid++;

            // A simple way to check for HTML strings
            // Strict HTML recognition (must start with <)
            // Extracted from jQuery v1.11 source
            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;


            _.registerBreakpoints();
            _.init(true);

        }

        return Slick;

    }());

    Slick.prototype.activateADA = function () {
        var _ = this;

        _.$slideTrack.find('.slick-active').attr({
            'aria-hidden': 'false'
        }).find('a, input, button, select').attr({
            'tabindex': '0'
        });

    };

    Slick.prototype.addSlide = Slick.prototype.slickAdd = function (markup, index, addBefore) {

        var _ = this;

        if (typeof (index) === 'boolean') {
            addBefore = index;
            index = null;
        } else if (index < 0 || (index >= _.slideCount)) {
            return false;
        }

        _.unload();

        if (typeof (index) === 'number') {
            if (index === 0 && _.$slides.length === 0) {
                $(markup).appendTo(_.$slideTrack);
            } else if (addBefore) {
                $(markup).insertBefore(_.$slides.eq(index));
            } else {
                $(markup).insertAfter(_.$slides.eq(index));
            }
        } else {
            if (addBefore === true) {
                $(markup).prependTo(_.$slideTrack);
            } else {
                $(markup).appendTo(_.$slideTrack);
            }
        }

        _.$slides = _.$slideTrack.children(this.options.slide);

        _.$slideTrack.children(this.options.slide).detach();

        _.$slideTrack.append(_.$slides);

        _.$slides.each(function (index, element) {
            $(element).attr('data-slick-index', index);
        });

        _.$slidesCache = _.$slides;

        _.reinit();

    };

    Slick.prototype.animateHeight = function () {
        var _ = this;
        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
            _.$list.animate({
                height: targetHeight
            }, _.options.speed);
        }
    };

    Slick.prototype.animateSlide = function (targetLeft, callback) {

        var animProps = {},
            _ = this;

        _.animateHeight();

        if (_.options.rtl === true && _.options.vertical === false) {
            targetLeft = -targetLeft;
        }
        if (_.transformsEnabled === false) {
            if (_.options.vertical === false) {
                _.$slideTrack.animate({
                    left: targetLeft
                }, _.options.speed, _.options.easing, callback);
            } else {
                _.$slideTrack.animate({
                    top: targetLeft
                }, _.options.speed, _.options.easing, callback);
            }

        } else {

            if (_.cssTransitions === false) {
                if (_.options.rtl === true) {
                    _.currentLeft = -(_.currentLeft);
                }
                $({
                    animStart: _.currentLeft
                }).animate({
                    animStart: targetLeft
                }, {
                    duration: _.options.speed,
                    easing: _.options.easing,
                    step: function (now) {
                        now = Math.ceil(now);
                        if (_.options.vertical === false) {
                            animProps[_.animType] = 'translate(' +
                                now + 'px, 0px)';
                            _.$slideTrack.css(animProps);
                        } else {
                            animProps[_.animType] = 'translate(0px,' +
                                now + 'px)';
                            _.$slideTrack.css(animProps);
                        }
                    },
                    complete: function () {
                        if (callback) {
                            callback.call();
                        }
                    }
                });

            } else {

                _.applyTransition();
                targetLeft = Math.ceil(targetLeft);

                if (_.options.vertical === false) {
                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
                } else {
                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
                }
                _.$slideTrack.css(animProps);

                if (callback) {
                    setTimeout(function () {

                        _.disableTransition();

                        callback.call();
                    }, _.options.speed);
                }

            }

        }

    };

    Slick.prototype.getNavTarget = function () {

        var _ = this,
            asNavFor = _.options.asNavFor;

        if (asNavFor && asNavFor !== null) {
            asNavFor = $(asNavFor).not(_.$slider);
        }

        return asNavFor;

    };

    Slick.prototype.asNavFor = function (index) {

        var _ = this,
            asNavFor = _.getNavTarget();

        if (asNavFor !== null && typeof asNavFor === 'object') {
            asNavFor.each(function () {
                var target = $(this).slick('getSlick');
                if (!target.unslicked) {
                    target.slideHandler(index, true);
                }
            });
        }

    };

    Slick.prototype.applyTransition = function (slide) {

        var _ = this,
            transition = {};

        if (_.options.fade === false) {
            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
        } else {
            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
        }

        if (_.options.fade === false) {
            _.$slideTrack.css(transition);
        } else {
            _.$slides.eq(slide).css(transition);
        }

    };

    Slick.prototype.autoPlay = function () {

        var _ = this;

        _.autoPlayClear();

        if (_.slideCount > _.options.slidesToShow) {
            _.autoPlayTimer = setInterval(_.autoPlayIterator, _.options.autoplaySpeed);
        }

    };

    Slick.prototype.autoPlayClear = function () {

        var _ = this;

        if (_.autoPlayTimer) {
            clearInterval(_.autoPlayTimer);
        }

    };

    Slick.prototype.autoPlayIterator = function () {

        var _ = this,
            slideTo = _.currentSlide + _.options.slidesToScroll;

        if (!_.paused && !_.interrupted && !_.focussed) {

            if (_.options.infinite === false) {

                if (_.direction === 1 && (_.currentSlide + 1) === (_.slideCount - 1)) {
                    _.direction = 0;
                }

                else if (_.direction === 0) {

                    slideTo = _.currentSlide - _.options.slidesToScroll;

                    if (_.currentSlide - 1 === 0) {
                        _.direction = 1;
                    }

                }

            }

            _.slideHandler(slideTo);

        }

    };

    Slick.prototype.buildArrows = function () {

        var _ = this;

        if (_.options.arrows === true) {

            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');

            if (_.slideCount > _.options.slidesToShow) {

                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');

                if (_.htmlExpr.test(_.options.prevArrow)) {
                    _.$prevArrow.prependTo(_.options.appendArrows);
                }

                if (_.htmlExpr.test(_.options.nextArrow)) {
                    _.$nextArrow.appendTo(_.options.appendArrows);
                }

                if (_.options.infinite !== true) {
                    _.$prevArrow
                        .addClass('slick-disabled')
                        .attr('aria-disabled', 'true');
                }

            } else {

                _.$prevArrow.add(_.$nextArrow)

                    .addClass('slick-hidden')
                    .attr({
                        'aria-disabled': 'true',
                        'tabindex': '-1'
                    });

            }

        }

    };

    Slick.prototype.buildDots = function () {

        var _ = this,
            i, dot;

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$slider.addClass('slick-dotted');

            dot = $('<ul />').addClass(_.options.dotsClass);

            for (i = 0; i <= _.getDotCount() ; i += 1) {
                dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
            }

            _.$dots = dot.appendTo(_.options.appendDots);

            _.$dots.find('li').first().addClass('slick-active');

        }

    };

    Slick.prototype.buildOut = function () {

        var _ = this;

        _.$slides =
            _.$slider
                .children(_.options.slide + ':not(.slick-cloned)')
                .addClass('slick-slide');

        _.slideCount = _.$slides.length;

        _.$slides.each(function (index, element) {
            $(element)
                .attr('data-slick-index', index)
                .data('originalStyling', $(element).attr('style') || '');
        });

        _.$slider.addClass('slick-slider');

        _.$slideTrack = (_.slideCount === 0) ?
            $('<div class="slick-track"/>').appendTo(_.$slider) :
            _.$slides.wrapAll('<div class="slick-track"/>').parent();

        _.$list = _.$slideTrack.wrap(
            '<div class="slick-list"/>').parent();
        _.$slideTrack.css('opacity', 0);

        if (_.options.centerMode === true || _.options.swipeToSlide === true) {
            _.options.slidesToScroll = 1;
        }

        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');

        _.setupInfinite();

        _.buildArrows();

        _.buildDots();

        _.updateDots();


        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);

        if (_.options.draggable === true) {
            _.$list.addClass('draggable');
        }

    };

    Slick.prototype.buildRows = function () {

        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides, slidesPerSection;

        newSlides = document.createDocumentFragment();
        originalSlides = _.$slider.children();

        if (_.options.rows > 0) {

            slidesPerSection = _.options.slidesPerRow * _.options.rows;
            numOfSlides = Math.ceil(
                originalSlides.length / slidesPerSection
            );

            for (a = 0; a < numOfSlides; a++) {
                var slide = document.createElement('div');
                for (b = 0; b < _.options.rows; b++) {
                    var row = document.createElement('div');
                    for (c = 0; c < _.options.slidesPerRow; c++) {
                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
                        if (originalSlides.get(target)) {
                            row.appendChild(originalSlides.get(target));
                        }
                    }
                    slide.appendChild(row);
                }
                newSlides.appendChild(slide);
            }

            _.$slider.empty().append(newSlides);
            _.$slider.children().children().children()
                .css({
                    'width': (100 / _.options.slidesPerRow) + '%',
                    'display': 'inline-block'
                });

        }

    };

    Slick.prototype.checkResponsive = function (initial, forceUpdate) {

        var _ = this,
            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
        var sliderWidth = _.$slider.width();
        var windowWidth = window.innerWidth || $(window).width();

        if (_.respondTo === 'window') {
            respondToWidth = windowWidth;
        } else if (_.respondTo === 'slider') {
            respondToWidth = sliderWidth;
        } else if (_.respondTo === 'min') {
            respondToWidth = Math.min(windowWidth, sliderWidth);
        }

        if (_.options.responsive &&
            _.options.responsive.length &&
            _.options.responsive !== null) {

            targetBreakpoint = null;

            for (breakpoint in _.breakpoints) {
                if (_.breakpoints.hasOwnProperty(breakpoint)) {
                    if (_.originalSettings.mobileFirst === false) {
                        if (respondToWidth < _.breakpoints[breakpoint]) {
                            targetBreakpoint = _.breakpoints[breakpoint];
                        }
                    } else {
                        if (respondToWidth > _.breakpoints[breakpoint]) {
                            targetBreakpoint = _.breakpoints[breakpoint];
                        }
                    }
                }
            }

            if (targetBreakpoint !== null) {
                if (_.activeBreakpoint !== null) {
                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
                        _.activeBreakpoint =
                            targetBreakpoint;
                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
                            _.unslick(targetBreakpoint);
                        } else {
                            _.options = $.extend({}, _.originalSettings,
                                _.breakpointSettings[
                                    targetBreakpoint]);
                            if (initial === true) {
                                _.currentSlide = _.options.initialSlide;
                            }
                            _.refresh(initial);
                        }
                        triggerBreakpoint = targetBreakpoint;
                    }
                } else {
                    _.activeBreakpoint = targetBreakpoint;
                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
                        _.unslick(targetBreakpoint);
                    } else {
                        _.options = $.extend({}, _.originalSettings,
                            _.breakpointSettings[
                                targetBreakpoint]);
                        if (initial === true) {
                            _.currentSlide = _.options.initialSlide;
                        }
                        _.refresh(initial);
                    }
                    triggerBreakpoint = targetBreakpoint;
                }
            } else {
                if (_.activeBreakpoint !== null) {
                    _.activeBreakpoint = null;
                    _.options = _.originalSettings;
                    if (initial === true) {
                        _.currentSlide = _.options.initialSlide;
                    }
                    _.refresh(initial);
                    triggerBreakpoint = targetBreakpoint;
                }
            }

            // only trigger breakpoints during an actual break. not on initialize.
            if (!initial && triggerBreakpoint !== false) {
                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
            }
        }

    };

    Slick.prototype.changeSlide = function (event, dontAnimate) {

        var _ = this,
            $target = $(event.currentTarget),
            indexOffset, slideOffset, unevenOffset;

        // If target is a link, prevent default action.
        if ($target.is('a')) {
            event.preventDefault();
        }

        // If target is not the <li> element (ie: a child), find the <li>.
        if (!$target.is('li')) {
            $target = $target.closest('li');
        }

        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;

        switch (event.data.message) {

            case 'previous':
                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
                if (_.slideCount > _.options.slidesToShow) {
                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
                }
                break;

            case 'next':
                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
                if (_.slideCount > _.options.slidesToShow) {
                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
                }
                break;

            case 'index':
                var index = event.data.index === 0 ? 0 :
                    event.data.index || $target.index() * _.options.slidesToScroll;

                _.slideHandler(_.checkNavigable(index), false, dontAnimate);
                $target.children().trigger('focus');
                break;

            default:
                return;
        }

    };

    Slick.prototype.checkNavigable = function (index) {

        var _ = this,
            navigables, prevNavigable;

        navigables = _.getNavigableIndexes();
        prevNavigable = 0;
        if (index > navigables[navigables.length - 1]) {
            index = navigables[navigables.length - 1];
        } else {
            for (var n in navigables) {
                if (index < navigables[n]) {
                    index = prevNavigable;
                    break;
                }
                prevNavigable = navigables[n];
            }
        }

        return index;
    };

    Slick.prototype.cleanUpEvents = function () {

        var _ = this;

        if (_.options.dots && _.$dots !== null) {

            $('li', _.$dots)
                .off('click.slick', _.changeSlide)
                .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
                .off('mouseleave.slick', $.proxy(_.interrupt, _, false));

            if (_.options.accessibility === true) {
                _.$dots.off('keydown.slick', _.keyHandler);
            }
        }

        _.$slider.off('focus.slick blur.slick');

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);

            if (_.options.accessibility === true) {
                _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
                _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
            }
        }

        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);

        _.$list.off('click.slick', _.clickHandler);

        $(document).off(_.visibilityChange, _.visibility);

        _.cleanUpSlideEvents();

        if (_.options.accessibility === true) {
            _.$list.off('keydown.slick', _.keyHandler);
        }

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().off('click.slick', _.selectHandler);
        }

        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);

        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);

        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);

        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);

    };

    Slick.prototype.cleanUpSlideEvents = function () {

        var _ = this;

        _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
        _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));

    };

    Slick.prototype.cleanUpRows = function () {

        var _ = this, originalSlides;

        if (_.options.rows > 0) {
            originalSlides = _.$slides.children().children();
            originalSlides.removeAttr('style');
            _.$slider.empty().append(originalSlides);
        }

    };

    Slick.prototype.clickHandler = function (event) {

        var _ = this;

        if (_.shouldClick === false) {
            event.stopImmediatePropagation();
            event.stopPropagation();
            event.preventDefault();
        }

    };

    Slick.prototype.destroy = function (refresh) {

        var _ = this;

        _.autoPlayClear();

        _.touchObject = {};

        _.cleanUpEvents();

        $('.slick-cloned', _.$slider).detach();

        if (_.$dots) {
            _.$dots.remove();
        }

        if (_.$prevArrow && _.$prevArrow.length) {

            _.$prevArrow
                .removeClass('slick-disabled slick-arrow slick-hidden')
                .removeAttr('aria-hidden aria-disabled tabindex')
                .css('display', '');

            if (_.htmlExpr.test(_.options.prevArrow)) {
                _.$prevArrow.remove();
            }
        }

        if (_.$nextArrow && _.$nextArrow.length) {

            _.$nextArrow
                .removeClass('slick-disabled slick-arrow slick-hidden')
                .removeAttr('aria-hidden aria-disabled tabindex')
                .css('display', '');

            if (_.htmlExpr.test(_.options.nextArrow)) {
                _.$nextArrow.remove();
            }
        }


        if (_.$slides) {

            _.$slides
                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
                .removeAttr('aria-hidden')
                .removeAttr('data-slick-index')
                .each(function () {
                    $(this).attr('style', $(this).data('originalStyling'));
                });

            _.$slideTrack.children(this.options.slide).detach();

            _.$slideTrack.detach();

            _.$list.detach();

            _.$slider.append(_.$slides);
        }

        _.cleanUpRows();

        _.$slider.removeClass('slick-slider');
        _.$slider.removeClass('slick-initialized');
        _.$slider.removeClass('slick-dotted');

        _.unslicked = true;

        if (!refresh) {
            _.$slider.trigger('destroy', [_]);
        }

    };

    Slick.prototype.disableTransition = function (slide) {

        var _ = this,
            transition = {};

        transition[_.transitionType] = '';

        if (_.options.fade === false) {
            _.$slideTrack.css(transition);
        } else {
            _.$slides.eq(slide).css(transition);
        }

    };

    Slick.prototype.fadeSlide = function (slideIndex, callback) {

        var _ = this;

        if (_.cssTransitions === false) {

            _.$slides.eq(slideIndex).css({
                zIndex: _.options.zIndex
            });

            _.$slides.eq(slideIndex).animate({
                opacity: 1
            }, _.options.speed, _.options.easing, callback);

        } else {

            _.applyTransition(slideIndex);

            _.$slides.eq(slideIndex).css({
                opacity: 1,
                zIndex: _.options.zIndex
            });

            if (callback) {
                setTimeout(function () {

                    _.disableTransition(slideIndex);

                    callback.call();
                }, _.options.speed);
            }

        }

    };

    Slick.prototype.fadeSlideOut = function (slideIndex) {

        var _ = this;

        if (_.cssTransitions === false) {

            _.$slides.eq(slideIndex).animate({
                opacity: 0,
                zIndex: _.options.zIndex - 2
            }, _.options.speed, _.options.easing);

        } else {

            _.applyTransition(slideIndex);

            _.$slides.eq(slideIndex).css({
                opacity: 0,
                zIndex: _.options.zIndex - 2
            });

        }

    };

    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function (filter) {

        var _ = this;

        if (filter !== null) {

            _.$slidesCache = _.$slides;

            _.unload();

            _.$slideTrack.children(this.options.slide).detach();

            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);

            _.reinit();

        }

    };

    Slick.prototype.focusHandler = function () {

        var _ = this;

        _.$slider
            .off('focus.slick blur.slick')
            .on('focus.slick blur.slick', '*', function (event) {

                event.stopImmediatePropagation();
                var $sf = $(this);

                setTimeout(function () {

                    if (_.options.pauseOnFocus) {
                        _.focussed = $sf.is(':focus');
                        _.autoPlay();
                    }

                }, 0);

            });
    };

    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function () {

        var _ = this;
        return _.currentSlide;

    };

    Slick.prototype.getDotCount = function () {

        var _ = this;

        var breakPoint = 0;
        var counter = 0;
        var pagerQty = 0;

        if (_.options.infinite === true) {
            if (_.slideCount <= _.options.slidesToShow) {
                ++pagerQty;
            } else {
                while (breakPoint < _.slideCount) {
                    ++pagerQty;
                    breakPoint = counter + _.options.slidesToScroll;
                    counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
                }
            }
        } else if (_.options.centerMode === true) {
            pagerQty = _.slideCount;
        } else if (!_.options.asNavFor) {
            pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
        } else {
            while (breakPoint < _.slideCount) {
                ++pagerQty;
                breakPoint = counter + _.options.slidesToScroll;
                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
            }
        }

        return pagerQty - 1;

    };

    Slick.prototype.getLeft = function (slideIndex) {

        var _ = this,
            targetLeft,
            verticalHeight,
            verticalOffset = 0,
            targetSlide,
            coef;

        _.slideOffset = 0;
        verticalHeight = _.$slides.first().outerHeight(true);

        if (_.options.infinite === true) {
            if (_.slideCount > _.options.slidesToShow) {
                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
                coef = -1

                if (_.options.vertical === true && _.options.centerMode === true) {
                    if (_.options.slidesToShow === 2) {
                        coef = -1.5;
                    } else if (_.options.slidesToShow === 1) {
                        coef = -2
                    }
                }
                verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
            }
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
                    if (slideIndex > _.slideCount) {
                        _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
                    } else {
                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
                    }
                }
            }
        } else {
            if (slideIndex + _.options.slidesToShow > _.slideCount) {
                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
            }
        }

        if (_.slideCount <= _.options.slidesToShow) {
            _.slideOffset = 0;
            verticalOffset = 0;
        }

        if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
            _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
        } else if (_.options.centerMode === true && _.options.infinite === true) {
            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
        } else if (_.options.centerMode === true) {
            _.slideOffset = 0;
            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
        }

        if (_.options.vertical === false) {
            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
        } else {
            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
        }

        if (_.options.variableWidth === true) {

            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
            } else {
                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
            }

            if (_.options.rtl === true) {
                if (targetSlide[0]) {
                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
                } else {
                    targetLeft = 0;
                }
            } else {
                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
            }

            if (_.options.centerMode === true) {
                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
                } else {
                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
                }

                if (_.options.rtl === true) {
                    if (targetSlide[0]) {
                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
                    } else {
                        targetLeft = 0;
                    }
                } else {
                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
                }

                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
            }
        }

        return targetLeft;

    };

    Slick.prototype.getOption = Slick.prototype.slickGetOption = function (option) {

        var _ = this;

        return _.options[option];

    };

    Slick.prototype.getNavigableIndexes = function () {

        var _ = this,
            breakPoint = 0,
            counter = 0,
            indexes = [],
            max;

        if (_.options.infinite === false) {
            max = _.slideCount;
        } else {
            breakPoint = _.options.slidesToScroll * -1;
            counter = _.options.slidesToScroll * -1;
            max = _.slideCount * 2;
        }

        while (breakPoint < max) {
            indexes.push(breakPoint);
            breakPoint = counter + _.options.slidesToScroll;
            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
        }

        return indexes;

    };

    Slick.prototype.getSlick = function () {

        return this;

    };

    Slick.prototype.getSlideCount = function () {

        var _ = this,
            slidesTraversed, swipedSlide, centerOffset;

        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;

        if (_.options.swipeToSlide === true) {
            _.$slideTrack.find('.slick-slide').each(function (index, slide) {
                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
                    swipedSlide = slide;
                    return false;
                }
            });

            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;

            return slidesTraversed;

        } else {
            return _.options.slidesToScroll;
        }

    };

    Slick.prototype.goTo = Slick.prototype.slickGoTo = function (slide, dontAnimate) {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'index',
                index: parseInt(slide)
            }
        }, dontAnimate);

    };

    Slick.prototype.init = function (creation) {

        var _ = this;

        if (!$(_.$slider).hasClass('slick-initialized')) {

            $(_.$slider).addClass('slick-initialized');

            _.buildRows();
            _.buildOut();
            _.setProps();
            _.startLoad();
            _.loadSlider();
            _.initializeEvents();
            _.updateArrows();
            _.updateDots();
            _.checkResponsive(true);
            _.focusHandler();

        }

        if (creation) {
            _.$slider.trigger('init', [_]);
        }

        if (_.options.accessibility === true) {
            _.initADA();
        }

        if (_.options.autoplay) {

            _.paused = false;
            _.autoPlay();

        }

    };

    Slick.prototype.initADA = function () {
        var _ = this,
                numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
                tabControlIndexes = _.getNavigableIndexes().filter(function (val) {
                    return (val >= 0) && (val < _.slideCount);
                });

        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
            'aria-hidden': 'true',
            'tabindex': '-1'
        }).find('a, input, button, select').attr({
            'tabindex': '-1'
        });

        if (_.$dots !== null) {
            _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function (i) {
                var slideControlIndex = tabControlIndexes.indexOf(i);

                $(this).attr({
                    'role': 'tabpanel',
                    'id': 'slick-slide' + _.instanceUid + i,
                    'tabindex': -1
                });

                if (slideControlIndex !== -1) {
                    var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex
                    if ($('#' + ariaButtonControl).length) {
                        $(this).attr({
                            'aria-describedby': ariaButtonControl
                        });
                    }
                }
            });

            _.$dots.attr('role', 'tablist').find('li').each(function (i) {
                var mappedSlideIndex = tabControlIndexes[i];

                $(this).attr({
                    'role': 'presentation'
                });

                $(this).find('button').first().attr({
                    'role': 'tab',
                    'id': 'slick-slide-control' + _.instanceUid + i,
                    'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
                    'aria-label': (i + 1) + ' of ' + numDotGroups,
                    'aria-selected': null,
                    'tabindex': '-1'
                });

            }).eq(_.currentSlide).find('button').attr({
                'aria-selected': 'true',
                'tabindex': '0'
            }).end();
        }

        for (var i = _.currentSlide, max = i + _.options.slidesToShow; i < max; i++) {
            if (_.options.focusOnChange) {
                _.$slides.eq(i).attr({ 'tabindex': '0' });
            } else {
                _.$slides.eq(i).removeAttr('tabindex');
            }
        }

        _.activateADA();

    };

    Slick.prototype.initArrowEvents = function () {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
            _.$prevArrow
               .off('click.slick')
               .on('click.slick', {
                   message: 'previous'
               }, _.changeSlide);
            _.$nextArrow
               .off('click.slick')
               .on('click.slick', {
                   message: 'next'
               }, _.changeSlide);

            if (_.options.accessibility === true) {
                _.$prevArrow.on('keydown.slick', _.keyHandler);
                _.$nextArrow.on('keydown.slick', _.keyHandler);
            }
        }

    };

    Slick.prototype.initDotEvents = function () {

        var _ = this;

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
            $('li', _.$dots).on('click.slick', {
                message: 'index'
            }, _.changeSlide);

            if (_.options.accessibility === true) {
                _.$dots.on('keydown.slick', _.keyHandler);
            }
        }

        if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {

            $('li', _.$dots)
                .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
                .on('mouseleave.slick', $.proxy(_.interrupt, _, false));

        }

    };

    Slick.prototype.initSlideEvents = function () {

        var _ = this;

        if (_.options.pauseOnHover) {

            _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
            _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));

        }

    };

    Slick.prototype.initializeEvents = function () {

        var _ = this;

        _.initArrowEvents();

        _.initDotEvents();
        _.initSlideEvents();

        _.$list.on('touchstart.slick mousedown.slick', {
            action: 'start'
        }, _.swipeHandler);
        _.$list.on('touchmove.slick mousemove.slick', {
            action: 'move'
        }, _.swipeHandler);
        _.$list.on('touchend.slick mouseup.slick', {
            action: 'end'
        }, _.swipeHandler);
        _.$list.on('touchcancel.slick mouseleave.slick', {
            action: 'end'
        }, _.swipeHandler);

        _.$list.on('click.slick', _.clickHandler);

        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));

        if (_.options.accessibility === true) {
            _.$list.on('keydown.slick', _.keyHandler);
        }

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
        }

        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));

        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));

        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);

        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
        $(_.setPosition);

    };

    Slick.prototype.initUI = function () {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {

            _.$prevArrow.show();
            _.$nextArrow.show();

        }

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$dots.show();

        }

    };

    Slick.prototype.keyHandler = function (event) {

        var _ = this;
        //Dont slide if the cursor is inside the form fields and arrow keys are pressed
        if (!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
            if (event.keyCode === 37 && _.options.accessibility === true) {
                _.changeSlide({
                    data: {
                        message: _.options.rtl === true ? 'next' : 'previous'
                    }
                });
            } else if (event.keyCode === 39 && _.options.accessibility === true) {
                _.changeSlide({
                    data: {
                        message: _.options.rtl === true ? 'previous' : 'next'
                    }
                });
            }
        }

    };

    Slick.prototype.lazyLoad = function () {

        var _ = this,
            loadRange, cloneRange, rangeStart, rangeEnd;

        function loadImages(imagesScope) {

            $('img[data-lazy]', imagesScope).each(function () {

                var image = $(this),
                    imageSource = $(this).attr('data-lazy'),
                    imageSrcSet = $(this).attr('data-srcset'),
                    imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
                    imageToLoad = document.createElement('img');

                imageToLoad.onload = function () {

                    image
                        .animate({ opacity: 0 }, 100, function () {

                            if (imageSrcSet) {
                                image
                                    .attr('srcset', imageSrcSet);

                                if (imageSizes) {
                                    image
                                        .attr('sizes', imageSizes);
                                }
                            }

                            image
                                .attr('src', imageSource)
                                .animate({ opacity: 1 }, 200, function () {
                                    image
                                        .removeAttr('data-lazy data-srcset data-sizes')
                                        .removeClass('slick-loading');
                                });
                            _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
                        });

                };

                imageToLoad.onerror = function () {

                    image
                        .removeAttr('data-lazy')
                        .removeClass('slick-loading')
                        .addClass('slick-lazyload-error');

                    _.$slider.trigger('lazyLoadError', [_, image, imageSource]);

                };

                imageToLoad.src = imageSource;

            });

        }

        if (_.options.centerMode === true) {
            if (_.options.infinite === true) {
                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
                rangeEnd = rangeStart + _.options.slidesToShow + 2;
            } else {
                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
            }
        } else {
            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
            rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
            if (_.options.fade === true) {
                if (rangeStart > 0) rangeStart--;
                if (rangeEnd <= _.slideCount) rangeEnd++;
            }
        }

        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);

        if (_.options.lazyLoad === 'anticipated') {
            var prevSlide = rangeStart - 1,
                nextSlide = rangeEnd,
                $slides = _.$slider.find('.slick-slide');

            for (var i = 0; i < _.options.slidesToScroll; i++) {
                if (prevSlide < 0) prevSlide = _.slideCount - 1;
                loadRange = loadRange.add($slides.eq(prevSlide));
                loadRange = loadRange.add($slides.eq(nextSlide));
                prevSlide--;
                nextSlide++;
            }
        }

        loadImages(loadRange);

        if (_.slideCount <= _.options.slidesToShow) {
            cloneRange = _.$slider.find('.slick-slide');
            loadImages(cloneRange);
        } else
            if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
                cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
                loadImages(cloneRange);
            } else if (_.currentSlide === 0) {
                cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
                loadImages(cloneRange);
            }

    };

    Slick.prototype.loadSlider = function () {

        var _ = this;

        _.setPosition();

        _.$slideTrack.css({
            opacity: 1
        });

        _.$slider.removeClass('slick-loading');

        _.initUI();

        if (_.options.lazyLoad === 'progressive') {
            _.progressiveLazyLoad();
        }

    };

    Slick.prototype.next = Slick.prototype.slickNext = function () {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'next'
            }
        });

    };

    Slick.prototype.orientationChange = function () {

        var _ = this;

        _.checkResponsive();
        _.setPosition();

    };

    Slick.prototype.pause = Slick.prototype.slickPause = function () {

        var _ = this;

        _.autoPlayClear();
        _.paused = true;

    };

    Slick.prototype.play = Slick.prototype.slickPlay = function () {

        var _ = this;

        _.autoPlay();
        _.options.autoplay = true;
        _.paused = false;
        _.focussed = false;
        _.interrupted = false;

    };

    Slick.prototype.postSlide = function (index) {

        var _ = this;

        if (!_.unslicked) {

            _.$slider.trigger('afterChange', [_, index]);

            _.animating = false;

            if (_.slideCount > _.options.slidesToShow) {
                _.setPosition();
            }

            _.swipeLeft = null;

            if (_.options.autoplay) {
                _.autoPlay();
            }

            if (_.options.accessibility === true) {
                _.initADA();

                if (_.options.focusOnChange) {
                    var $currentSlide = $(_.$slides.get(_.currentSlide));
                    $currentSlide.attr('tabindex', 0).focus();
                }
            }

        }

    };

    Slick.prototype.prev = Slick.prototype.slickPrev = function () {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'previous'
            }
        });

    };

    Slick.prototype.preventDefault = function (event) {

        event.preventDefault();

    };

    Slick.prototype.progressiveLazyLoad = function (tryCount) {

        tryCount = tryCount || 1;

        var _ = this,
            $imgsToLoad = $('img[data-lazy]', _.$slider),
            image,
            imageSource,
            imageSrcSet,
            imageSizes,
            imageToLoad;

        if ($imgsToLoad.length) {

            image = $imgsToLoad.first();
            imageSource = image.attr('data-lazy');
            imageSrcSet = image.attr('data-srcset');
            imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes');
            imageToLoad = document.createElement('img');

            imageToLoad.onload = function () {

                if (imageSrcSet) {
                    image
                        .attr('srcset', imageSrcSet);

                    if (imageSizes) {
                        image
                            .attr('sizes', imageSizes);
                    }
                }

                image
                    .attr('src', imageSource)
                    .removeAttr('data-lazy data-srcset data-sizes')
                    .removeClass('slick-loading');

                if (_.options.adaptiveHeight === true) {
                    _.setPosition();
                }

                _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
                _.progressiveLazyLoad();

            };

            imageToLoad.onerror = function () {

                if (tryCount < 3) {

                    /**
                     * try to load the image 3 times,
                     * leave a slight delay so we don't get
                     * servers blocking the request.
                     */
                    setTimeout(function () {
                        _.progressiveLazyLoad(tryCount + 1);
                    }, 500);

                } else {

                    image
                        .removeAttr('data-lazy')
                        .removeClass('slick-loading')
                        .addClass('slick-lazyload-error');

                    _.$slider.trigger('lazyLoadError', [_, image, imageSource]);

                    _.progressiveLazyLoad();

                }

            };

            imageToLoad.src = imageSource;

        } else {

            _.$slider.trigger('allImagesLoaded', [_]);

        }

    };

    Slick.prototype.refresh = function (initializing) {

        var _ = this, currentSlide, lastVisibleIndex;

        lastVisibleIndex = _.slideCount - _.options.slidesToShow;

        // in non-infinite sliders, we don't want to go past the
        // last visible index.
        if (!_.options.infinite && (_.currentSlide > lastVisibleIndex)) {
            _.currentSlide = lastVisibleIndex;
        }

        // if less slides than to show, go to start.
        if (_.slideCount <= _.options.slidesToShow) {
            _.currentSlide = 0;

        }

        currentSlide = _.currentSlide;

        _.destroy(true);

        $.extend(_, _.initials, { currentSlide: currentSlide });

        _.init();

        if (!initializing) {

            _.changeSlide({
                data: {
                    message: 'index',
                    index: currentSlide
                }
            }, false);

        }

    };

    Slick.prototype.registerBreakpoints = function () {

        var _ = this, breakpoint, currentBreakpoint, l,
            responsiveSettings = _.options.responsive || null;

        if ($.type(responsiveSettings) === 'array' && responsiveSettings.length) {

            _.respondTo = _.options.respondTo || 'window';

            for (breakpoint in responsiveSettings) {

                l = _.breakpoints.length - 1;

                if (responsiveSettings.hasOwnProperty(breakpoint)) {
                    currentBreakpoint = responsiveSettings[breakpoint].breakpoint;

                    // loop through the breakpoints and cut out any existing
                    // ones with the same breakpoint number, we don't want dupes.
                    while (l >= 0) {
                        if (_.breakpoints[l] && _.breakpoints[l] === currentBreakpoint) {
                            _.breakpoints.splice(l, 1);
                        }
                        l--;
                    }

                    _.breakpoints.push(currentBreakpoint);
                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;

                }

            }

            _.breakpoints.sort(function (a, b) {
                return (_.options.mobileFirst) ? a - b : b - a;
            });

        }

    };

    Slick.prototype.reinit = function () {

        var _ = this;

        _.$slides =
            _.$slideTrack
                .children(_.options.slide)
                .addClass('slick-slide');

        _.slideCount = _.$slides.length;

        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
            _.currentSlide = _.currentSlide - _.options.slidesToScroll;
        }

        if (_.slideCount <= _.options.slidesToShow) {
            _.currentSlide = 0;
        }

        _.registerBreakpoints();

        _.setProps();
        _.setupInfinite();
        _.buildArrows();
        _.updateArrows();
        _.initArrowEvents();
        _.buildDots();
        _.updateDots();
        _.initDotEvents();
        _.cleanUpSlideEvents();
        _.initSlideEvents();

        _.checkResponsive(false, true);

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
        }

        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);

        _.setPosition();
        _.focusHandler();

        _.paused = !_.options.autoplay;
        _.autoPlay();

        _.$slider.trigger('reInit', [_]);

    };

    Slick.prototype.resize = function () {

        var _ = this;

        if ($(window).width() !== _.windowWidth) {
            clearTimeout(_.windowDelay);
            _.windowDelay = window.setTimeout(function () {
                _.windowWidth = $(window).width();
                _.checkResponsive();
                if (!_.unslicked) { _.setPosition(); }
            }, 50);
        }
    };

    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function (index, removeBefore, removeAll) {

        var _ = this;

        if (typeof (index) === 'boolean') {
            removeBefore = index;
            index = removeBefore === true ? 0 : _.slideCount - 1;
        } else {
            index = removeBefore === true ? --index : index;
        }

        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
            return false;
        }

        _.unload();

        if (removeAll === true) {
            _.$slideTrack.children().remove();
        } else {
            _.$slideTrack.children(this.options.slide).eq(index).remove();
        }

        _.$slides = _.$slideTrack.children(this.options.slide);

        _.$slideTrack.children(this.options.slide).detach();

        _.$slideTrack.append(_.$slides);

        _.$slidesCache = _.$slides;

        _.reinit();

    };

    Slick.prototype.setCSS = function (position) {

        var _ = this,
            positionProps = {},
            x, y;

        if (_.options.rtl === true) {
            position = -position;
        }
        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';

        positionProps[_.positionProp] = position;

        if (_.transformsEnabled === false) {
            _.$slideTrack.css(positionProps);
        } else {
            positionProps = {};
            if (_.cssTransitions === false) {
                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
                _.$slideTrack.css(positionProps);
            } else {
                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
                _.$slideTrack.css(positionProps);
            }
        }

    };

    Slick.prototype.setDimensions = function () {

        var _ = this;

        if (_.options.vertical === false) {
            if (_.options.centerMode === true) {
                _.$list.css({
                    padding: ('0px ' + _.options.centerPadding)
                });
            }
        } else {
            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
            if (_.options.centerMode === true) {
                _.$list.css({
                    padding: (_.options.centerPadding + ' 0px')
                });
            }
        }

        _.listWidth = _.$list.width();
        _.listHeight = _.$list.height();


        if (_.options.vertical === false && _.options.variableWidth === false) {
            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));

        } else if (_.options.variableWidth === true) {
            _.$slideTrack.width(5000 * _.slideCount);
        } else {
            _.slideWidth = Math.ceil(_.listWidth);
            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
        }

        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);

    };

    Slick.prototype.setFade = function () {

        var _ = this,
            targetLeft;

        _.$slides.each(function (index, element) {
            targetLeft = (_.slideWidth * index) * -1;
            if (_.options.rtl === true) {
                $(element).css({
                    position: 'relative',
                    right: targetLeft,
                    top: 0,
                    zIndex: _.options.zIndex - 2,
                    opacity: 0
                });
            } else {
                $(element).css({
                    position: 'relative',
                    left: targetLeft,
                    top: 0,
                    zIndex: _.options.zIndex - 2,
                    opacity: 0
                });
            }
        });

        _.$slides.eq(_.currentSlide).css({
            zIndex: _.options.zIndex - 1,
            opacity: 1
        });

    };

    Slick.prototype.setHeight = function () {

        var _ = this;

        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
            _.$list.css('height', targetHeight);
        }

    };

    Slick.prototype.setOption =
    Slick.prototype.slickSetOption = function () {

        /**
         * accepts arguments in format of:
         *
         *  - for changing a single option's value:
         *     .slick("setOption", option, value, refresh )
         *
         *  - for changing a set of responsive options:
         *     .slick("setOption", 'responsive', [{}, ...], refresh )
         *
         *  - for updating multiple values at once (not responsive)
         *     .slick("setOption", { 'option': value, ... }, refresh )
         */

        var _ = this, l, item, option, value, refresh = false, type;

        if ($.type(arguments[0]) === 'object') {

            option = arguments[0];
            refresh = arguments[1];
            type = 'multiple';

        } else if ($.type(arguments[0]) === 'string') {

            option = arguments[0];
            value = arguments[1];
            refresh = arguments[2];

            if (arguments[0] === 'responsive' && $.type(arguments[1]) === 'array') {

                type = 'responsive';

            } else if (typeof arguments[1] !== 'undefined') {

                type = 'single';

            }

        }

        if (type === 'single') {

            _.options[option] = value;


        } else if (type === 'multiple') {

            $.each(option, function (opt, val) {

                _.options[opt] = val;

            });


        } else if (type === 'responsive') {

            for (item in value) {

                if ($.type(_.options.responsive) !== 'array') {

                    _.options.responsive = [value[item]];

                } else {

                    l = _.options.responsive.length - 1;

                    // loop through the responsive object and splice out duplicates.
                    while (l >= 0) {

                        if (_.options.responsive[l].breakpoint === value[item].breakpoint) {

                            _.options.responsive.splice(l, 1);

                        }

                        l--;

                    }

                    _.options.responsive.push(value[item]);

                }

            }

        }

        if (refresh) {

            _.unload();
            _.reinit();

        }

    };

    Slick.prototype.setPosition = function () {

        var _ = this;

        _.setDimensions();

        _.setHeight();

        if (_.options.fade === false) {
            _.setCSS(_.getLeft(_.currentSlide));
        } else {
            _.setFade();
        }

        _.$slider.trigger('setPosition', [_]);

    };

    Slick.prototype.setProps = function () {

        var _ = this,
            bodyStyle = document.body.style;

        _.positionProp = _.options.vertical === true ? 'top' : 'left';

        if (_.positionProp === 'top') {
            _.$slider.addClass('slick-vertical');
        } else {
            _.$slider.removeClass('slick-vertical');
        }

        if (bodyStyle.WebkitTransition !== undefined ||
            bodyStyle.MozTransition !== undefined ||
            bodyStyle.msTransition !== undefined) {
            if (_.options.useCSS === true) {
                _.cssTransitions = true;
            }
        }

        if (_.options.fade) {
            if (typeof _.options.zIndex === 'number') {
                if (_.options.zIndex < 3) {
                    _.options.zIndex = 3;
                }
            } else {
                _.options.zIndex = _.defaults.zIndex;
            }
        }

        if (bodyStyle.OTransform !== undefined) {
            _.animType = 'OTransform';
            _.transformType = '-o-transform';
            _.transitionType = 'OTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.MozTransform !== undefined) {
            _.animType = 'MozTransform';
            _.transformType = '-moz-transform';
            _.transitionType = 'MozTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.webkitTransform !== undefined) {
            _.animType = 'webkitTransform';
            _.transformType = '-webkit-transform';
            _.transitionType = 'webkitTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.msTransform !== undefined) {
            _.animType = 'msTransform';
            _.transformType = '-ms-transform';
            _.transitionType = 'msTransition';
            if (bodyStyle.msTransform === undefined) _.animType = false;
        }
        if (bodyStyle.transform !== undefined && _.animType !== false) {
            _.animType = 'transform';
            _.transformType = 'transform';
            _.transitionType = 'transition';
        }
        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
    };


    Slick.prototype.setSlideClasses = function (index) {

        var _ = this,
            centerOffset, allSlides, indexOffset, remainder;

        allSlides = _.$slider
            .find('.slick-slide')
            .removeClass('slick-active slick-center slick-current')
            .attr('aria-hidden', 'true');

        _.$slides
            .eq(index)
            .addClass('slick-current');

        if (_.options.centerMode === true) {

            var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;

            centerOffset = Math.floor(_.options.slidesToShow / 2);

            if (_.options.infinite === true) {

                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
                    _.$slides
                        .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                } else {

                    indexOffset = _.options.slidesToShow + index;
                    allSlides
                        .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                }

                if (index === 0) {

                    allSlides
                        .eq(allSlides.length - 1 - _.options.slidesToShow)
                        .addClass('slick-center');

                } else if (index === _.slideCount - 1) {

                    allSlides
                        .eq(_.options.slidesToShow)
                        .addClass('slick-center');

                }

            }

            _.$slides
                .eq(index)
                .addClass('slick-center');

        } else {

            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {

                _.$slides
                    .slice(index, index + _.options.slidesToShow)
                    .addClass('slick-active')
                    .attr('aria-hidden', 'false');

            } else if (allSlides.length <= _.options.slidesToShow) {

                allSlides
                    .addClass('slick-active')
                    .attr('aria-hidden', 'false');

            } else {

                remainder = _.slideCount % _.options.slidesToShow;
                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;

                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {

                    allSlides
                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                } else {

                    allSlides
                        .slice(indexOffset, indexOffset + _.options.slidesToShow)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                }

            }

        }

        if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
            _.lazyLoad();
        }
    };

    Slick.prototype.setupInfinite = function () {

        var _ = this,
            i, slideIndex, infiniteCount;

        if (_.options.fade === true) {
            _.options.centerMode = false;
        }

        if (_.options.infinite === true && _.options.fade === false) {

            slideIndex = null;

            if (_.slideCount > _.options.slidesToShow) {

                if (_.options.centerMode === true) {
                    infiniteCount = _.options.slidesToShow + 1;
                } else {
                    infiniteCount = _.options.slidesToShow;
                }

                for (i = _.slideCount; i > (_.slideCount -
                        infiniteCount) ; i -= 1) {
                    slideIndex = i - 1;
                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
                        .attr('data-slick-index', slideIndex - _.slideCount)
                        .prependTo(_.$slideTrack).addClass('slick-cloned');
                }
                for (i = 0; i < infiniteCount + _.slideCount; i += 1) {
                    slideIndex = i;
                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
                        .attr('data-slick-index', slideIndex + _.slideCount)
                        .appendTo(_.$slideTrack).addClass('slick-cloned');
                }
                _.$slideTrack.find('.slick-cloned').find('[id]').each(function () {
                    $(this).attr('id', '');
                });

            }

        }

    };

    Slick.prototype.interrupt = function (toggle) {

        var _ = this;

        if (!toggle) {
            _.autoPlay();
        }
        _.interrupted = toggle;

    };

    Slick.prototype.selectHandler = function (event) {

        var _ = this;

        var targetElement =
            $(event.target).is('.slick-slide') ?
                $(event.target) :
                $(event.target).parents('.slick-slide');

        var index = parseInt(targetElement.attr('data-slick-index'));

        if (!index) index = 0;

        if (_.slideCount <= _.options.slidesToShow) {

            _.slideHandler(index, false, true);
            return;

        }

        _.slideHandler(index);

    };

    Slick.prototype.slideHandler = function (index, sync, dontAnimate) {

        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
            _ = this, navTarget;

        sync = sync || false;

        if (_.animating === true && _.options.waitForAnimate === true) {
            return;
        }

        if (_.options.fade === true && _.currentSlide === index) {
            return;
        }

        if (sync === false) {
            _.asNavFor(index);
        }

        targetSlide = index;
        targetLeft = _.getLeft(targetSlide);
        slideLeft = _.getLeft(_.currentSlide);

        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;

        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
            if (_.options.fade === false) {
                targetSlide = _.currentSlide;
                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
                    _.animateSlide(slideLeft, function () {
                        _.postSlide(targetSlide);
                    });
                } else {
                    _.postSlide(targetSlide);
                }
            }
            return;
        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
            if (_.options.fade === false) {
                targetSlide = _.currentSlide;
                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
                    _.animateSlide(slideLeft, function () {
                        _.postSlide(targetSlide);
                    });
                } else {
                    _.postSlide(targetSlide);
                }
            }
            return;
        }

        if (_.options.autoplay) {
            clearInterval(_.autoPlayTimer);
        }

        if (targetSlide < 0) {
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
            } else {
                animSlide = _.slideCount + targetSlide;
            }
        } else if (targetSlide >= _.slideCount) {
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                animSlide = 0;
            } else {
                animSlide = targetSlide - _.slideCount;
            }
        } else {
            animSlide = targetSlide;
        }

        _.animating = true;

        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);

        oldSlide = _.currentSlide;
        _.currentSlide = animSlide;

        _.setSlideClasses(_.currentSlide);

        if (_.options.asNavFor) {

            navTarget = _.getNavTarget();
            navTarget = navTarget.slick('getSlick');

            if (navTarget.slideCount <= navTarget.options.slidesToShow) {
                navTarget.setSlideClasses(_.currentSlide);
            }

        }

        _.updateDots();
        _.updateArrows();

        if (_.options.fade === true) {
            if (dontAnimate !== true) {

                _.fadeSlideOut(oldSlide);

                _.fadeSlide(animSlide, function () {
                    _.postSlide(animSlide);
                });

            } else {
                _.postSlide(animSlide);
            }
            _.animateHeight();
            return;
        }

        if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
            _.animateSlide(targetLeft, function () {
                _.postSlide(animSlide);
            });
        } else {
            _.postSlide(animSlide);
        }

    };

    Slick.prototype.startLoad = function () {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {

            _.$prevArrow.hide();
            _.$nextArrow.hide();

        }

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$dots.hide();

        }

        _.$slider.addClass('slick-loading');

    };

    Slick.prototype.swipeDirection = function () {

        var xDist, yDist, r, swipeAngle, _ = this;

        xDist = _.touchObject.startX - _.touchObject.curX;
        yDist = _.touchObject.startY - _.touchObject.curY;
        r = Math.atan2(yDist, xDist);

        swipeAngle = Math.round(r * 180 / Math.PI);
        if (swipeAngle < 0) {
            swipeAngle = 360 - Math.abs(swipeAngle);
        }

        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
            return (_.options.rtl === false ? 'left' : 'right');
        }
        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
            return (_.options.rtl === false ? 'left' : 'right');
        }
        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
            return (_.options.rtl === false ? 'right' : 'left');
        }
        if (_.options.verticalSwiping === true) {
            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
                return 'down';
            } else {
                return 'up';
            }
        }

        return 'vertical';

    };

    Slick.prototype.swipeEnd = function (event) {

        var _ = this,
            slideCount,
            direction;

        _.dragging = false;
        _.swiping = false;

        if (_.scrolling) {
            _.scrolling = false;
            return false;
        }

        _.interrupted = false;
        _.shouldClick = (_.touchObject.swipeLength > 10) ? false : true;

        if (_.touchObject.curX === undefined) {
            return false;
        }

        if (_.touchObject.edgeHit === true) {
            _.$slider.trigger('edge', [_, _.swipeDirection()]);
        }

        if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {

            direction = _.swipeDirection();

            switch (direction) {

                case 'left':
                case 'down':

                    slideCount =
                        _.options.swipeToSlide ?
                            _.checkNavigable(_.currentSlide + _.getSlideCount()) :
                            _.currentSlide + _.getSlideCount();

                    _.currentDirection = 0;

                    break;

                case 'right':
                case 'up':

                    slideCount =
                        _.options.swipeToSlide ?
                            _.checkNavigable(_.currentSlide - _.getSlideCount()) :
                            _.currentSlide - _.getSlideCount();

                    _.currentDirection = 1;

                    break;

                default:


            }

            if (direction != 'vertical') {

                _.slideHandler(slideCount);
                _.touchObject = {};
                _.$slider.trigger('swipe', [_, direction]);

            }

        } else {

            if (_.touchObject.startX !== _.touchObject.curX) {

                _.slideHandler(_.currentSlide);
                _.touchObject = {};

            }

        }

    };

    Slick.prototype.swipeHandler = function (event) {

        var _ = this;

        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
            return;
        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
            return;
        }

        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
            event.originalEvent.touches.length : 1;

        _.touchObject.minSwipe = _.listWidth / _.options
            .touchThreshold;

        if (_.options.verticalSwiping === true) {
            _.touchObject.minSwipe = _.listHeight / _.options
                .touchThreshold;
        }

        switch (event.data.action) {

            case 'start':
                _.swipeStart(event);
                break;

            case 'move':
                _.swipeMove(event);
                break;

            case 'end':
                _.swipeEnd(event);
                break;

        }

    };

    Slick.prototype.swipeMove = function (event) {

        var _ = this,
            edgeWasHit = false,
            curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;

        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;

        if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
            return false;
        }

        curLeft = _.getLeft(_.currentSlide);

        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;

        _.touchObject.swipeLength = Math.round(Math.sqrt(
            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));

        verticalSwipeLength = Math.round(Math.sqrt(
            Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));

        if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
            _.scrolling = true;
            return false;
        }

        if (_.options.verticalSwiping === true) {
            _.touchObject.swipeLength = verticalSwipeLength;
        }

        swipeDirection = _.swipeDirection();

        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
            _.swiping = true;
            event.preventDefault();
        }

        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
        if (_.options.verticalSwiping === true) {
            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
        }


        swipeLength = _.touchObject.swipeLength;

        _.touchObject.edgeHit = false;

        if (_.options.infinite === false) {
            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
                _.touchObject.edgeHit = true;
            }
        }

        if (_.options.vertical === false) {
            _.swipeLeft = curLeft + swipeLength * positionOffset;
        } else {
            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
        }
        if (_.options.verticalSwiping === true) {
            _.swipeLeft = curLeft + swipeLength * positionOffset;
        }

        if (_.options.fade === true || _.options.touchMove === false) {
            return false;
        }

        if (_.animating === true) {
            _.swipeLeft = null;
            return false;
        }

        _.setCSS(_.swipeLeft);

    };

    Slick.prototype.swipeStart = function (event) {

        var _ = this,
            touches;

        _.interrupted = true;

        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
            _.touchObject = {};
            return false;
        }

        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
            touches = event.originalEvent.touches[0];
        }

        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;

        _.dragging = true;

    };

    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function () {

        var _ = this;

        if (_.$slidesCache !== null) {

            _.unload();

            _.$slideTrack.children(this.options.slide).detach();

            _.$slidesCache.appendTo(_.$slideTrack);

            _.reinit();

        }

    };

    Slick.prototype.unload = function () {

        var _ = this;

        $('.slick-cloned', _.$slider).remove();

        if (_.$dots) {
            _.$dots.remove();
        }

        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
            _.$prevArrow.remove();
        }

        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
            _.$nextArrow.remove();
        }

        _.$slides
            .removeClass('slick-slide slick-active slick-visible slick-current')
            .attr('aria-hidden', 'true')
            .css('width', '');

    };

    Slick.prototype.unslick = function (fromBreakpoint) {

        var _ = this;
        _.$slider.trigger('unslick', [_, fromBreakpoint]);
        _.destroy();

    };

    Slick.prototype.updateArrows = function () {

        var _ = this,
            centerOffset;

        centerOffset = Math.floor(_.options.slidesToShow / 2);

        if (_.options.arrows === true &&
            _.slideCount > _.options.slidesToShow &&
            !_.options.infinite) {

            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            if (_.currentSlide === 0) {

                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {

                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {

                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            }

        }

    };

    Slick.prototype.updateDots = function () {

        var _ = this;

        if (_.$dots !== null) {

            _.$dots
                .find('li')
                    .removeClass('slick-active')
                    .end();

            _.$dots
                .find('li')
                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
                .addClass('slick-active');

        }

    };

    Slick.prototype.visibility = function () {

        var _ = this;

        if (_.options.autoplay) {

            if (document[_.hidden]) {

                _.interrupted = true;

            } else {

                _.interrupted = false;

            }

        }

    };

    $.fn.slick = function () {
        var _ = this,
            opt = arguments[0],
            args = Array.prototype.slice.call(arguments, 1),
            l = _.length,
            i,
            ret;
        for (i = 0; i < l; i++) {
            if (typeof opt == 'object' || typeof opt == 'undefined')
                _[i].slick = new Slick(_[i], opt);
            else
                ret = _[i].slick[opt].apply(_[i].slick, args);
            if (typeof ret != 'undefined') return ret;
        }
        return _;
    };

}));

GC.productCarousel = function (container) {
    var productList = $(container).find('.jsProductCarousel');
    var prevArrow = $(container).find('.jsProductPrev');
    var nextArrow = $(container).find('.jsProductNext');

    var opt = {
        infinite: true,
        slidesToScroll: 2,
        slidesToShow: 4,
        prevArrow: $(prevArrow),
        nextArrow: $(nextArrow),
        responsive: [
            {
                breakpoint: 1200,
                settings: {
                    slidesToShow: 3
                }
            },
            {
                breakpoint: 576,
                settings: {
                    slidesToShow: 1,
                    slidesToScroll: 1
                }
            }
        ]
    };

    $(productList).slick(opt);

    $("img.lazy").lazyload();
};
$(function () {
    //GC.spotTicker.get(5000);
});

function currency(symbol, theValue) {
    var currencyValue = theValue.replace(",", "");
    var decimalPos;
    var decimal;
    var fullPart;
    var newStr;

    decimalPos = currencyValue.lastIndexOf(".");
    if (decimalPos != -1) {
        decimalPos = decimalPos + 1;
    }
    if (decimalPos != -1) {
        decimal = currencyValue.substring(decimalPos, currencyValue.length);
        if (decimal.length > 2) {
            decimal = decimal.substring(0, 2);
        }
        if (decimal.length < 2) {
            while (decimal.length < 2) {
                decimal += "0";
            }
        }
    }
    if (decimalPos != -1) {
        fullPart = currencyValue.substring(0, decimalPos - 1);
    } else {
        fullPart = currencyValue;
        decimal = "00";
    }
    newStr = "";
    for (i = 0; i < fullPart.length; i++) {
        newStr = fullPart.substring(fullPart.length - i - 1, fullPart.length - i) + newStr;
        if (((i + 1) % 3 == 0) & ((i + 1) > 0)) {
            if ((i + 1) < fullPart.length) {
                newStr = "," + newStr;
            }
        }
    }
    theValue = String(symbol) + String(newStr) + "." + String(decimal);
    return theValue;
}

//get data for Area chart
function getData(param, isMiniChart) {
    //if (param == "Gold" || param == "Silver" || param == "Platinum" || param == "Palladium" || param == "Portfolio") {
    var hidTime = isMiniChart == true ? ".hidCommaDelimitedTimeMiniChart" : ".hidCommaDelimitedTime";
    //}
    //else {
    //var hidTime = ".hid" + param + "CommaDelimitedTime";    Obsolete, since all codes of stocks has been removed
    //}
    var hidData = ".hid" + param + "CommaDelimitedData";
    var graphData = new Array();
    var allData = new Array();
   
    if ($(hidTime).val()) {
        var timeIndex = 0;
        
        if ($(hidData).val()) {
            graphData = $.map($(hidData).val().split("~"), function (value) { if (isNaN(value)) { alert(value); } return Number(value); });
        }

        allData = $.map($(hidTime).val().split("~"), function (value) {
            var returnMe;

            var meDate = new Date();
            if (String(value).length == 8) {
                meDate = new Date(Number(value.substring(0, 4)), Number(value.substring(4, 6)) - 1, Number(value.substring(6, 8)));
            }
            else if (String(value).length > 8) {
                var amOrPM = value.substring(18, 20);
                meDate = new Date(Number(value.substring(0, 4)), Number(value.substring(4, 6)) - 1, Number(value.substring(6, 8)), Number((amOrPM == "PM" && value.substring(9, 11) != "12" ? 12 : 0)) + Number((amOrPM == "AM" && value.substring(9, 11) == "12" ? -12 : 0)) + Number(value.substring(9, 11)), Number(value.substring(12, 14)), Number(value.substring(15, 17)));
            }

            returnMe = {
                date: meDate,
                Value: (graphData.length > 0 ? Number(graphData[timeIndex]) : 0),
                displayValue: (graphData.length > 0 ? currency('$', String(Number(graphData[timeIndex]))) : "")
            };

            if (graphData.length <= 0) {
                delete returnMe["Value"];
                delete returnMe["displayValue"];
            }

            timeIndex = timeIndex + 1;
            return returnMe;

        });
    }

    return {
        graphData: graphData,
        allData: allData
    };
}

//create Area chart
function createAreaChartWithLabels(index, graphData, allData) {
    var chartAreaGraph = new AmCharts.AmSerialChart();
    chartAreaGraph.pathToImages = "/files/images/amcharts/";
    chartAreaGraph.zoomOutButton = {
        backgroundColor: '#000000',
        backgroundAlpha: 0.15
    };
    chartAreaGraph.dataProvider = allData;
    chartAreaGraph.categoryField = "date";

    chartAreaGraph.autoMargins = true;
    chartAreaGraph.autoMarginOffset = 20;
    chartAreaGraph.marginLeft = 85;
    chartAreaGraph.marginTop = 25;
    chartAreaGraph.marginBottom = 35;
    chartAreaGraph.marginRight = 5;

    chartAreaGraph.addLabel(0, 0, $('.hidTitle').val(), "center", "12", "#3e576f");
    //chartAreaGraph.addLabel(0, 400, "Time", "center", "12", "#000000");
    //chartAreaGraph.addLabel(10, 414, "Value", "center", "12", "#000000", 270);

    

    // AXES
    // category
    var categoryAxis = chartAreaGraph.categoryAxis;
    categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true
    categoryAxis.minPeriod = "ss"; // our data is daily, so we set minPeriod to DD
    categoryAxis.autoGridCount = true;
    //categoryAxis.gridCount = 10;
    categoryAxis.gridAlpha = 0.1;
    categoryAxis.gridColor = "#000000";
    categoryAxis.axisColor = "#555555";
    // we want custom date formatting, so we change it in next line
    categoryAxis.dateFormats = [{
        period: 'ss',
        format: 'LL:NN:SSA'
    }, {
        period: 'mm',
        format: 'LL:NNA'
    }, {
        period: 'hh',
        format: 'LL:NNA'
    }, {
        period: 'DD',
        format: 'DD'
    }, {
        period: 'WW',
        format: 'MMM DD'
    }, {
        period: 'MM',
        format: 'MMM'
    }, {
        period: 'YYYY',
        format: 'YYYY'
    }];

    // value
    var valueAxis = new AmCharts.ValueAxis();
    valueAxis.axisAlpha = 0.2;
    valueAxis.dashLength = 1;
    valueAxis.unit = "$";
    valueAxis.unitPosition = "left";
    valueAxis.precision = 2;
    chartAreaGraph.addValueAxis(valueAxis);

    if (graphData.length > 0) {
        var graph1 = new AmCharts.AmGraph();
        graph1.title = index;
        graph1.connect = "false";
        graph1.valueField = "Value";
        graph1.bullet = "round";
        graph1.bulletBorderColor = "#FFFFFF";
        graph1.bulletBorderThickness = 2;
        graph1.lineThickness = 1;
        graph1.lineColor = "#5891B5";
        graph1.negativeLineColor = "#0164A7";
        graph1.hideBulletsCount = 50;
        graph1.balloonText = " [[displayValue]]";
        graph1.legendValueText = "[[displayValue]]";
        graph1.fillAlphas = 0.3;
        chartAreaGraph.addGraph(graph1);

        var chartScrollbar1 = new AmCharts.ChartScrollbar();
        chartScrollbar1.graph = graph1;
        chartScrollbar1.scrollbarHeight = 40;
        chartScrollbar1.color = "#000000";
        chartScrollbar1.autoGridCount = true;
        chartScrollbar1.selectedGraphLineAlpha = 0.5;
        chartAreaGraph.addChartScrollbar(chartScrollbar1);
    }

    var chartCursor = new AmCharts.ChartCursor();
    chartCursor.categoryBalloonDateFormat = "MM/DD/YYYY LL:NNA";
    chartCursor.cursorPosition = "mouse";
    chartAreaGraph.addChartCursor(chartCursor);

    var legend = new AmCharts.AmLegend();
    legend.valueWidth = 75;
    chartAreaGraph.addLegend(legend);
   
    var graphDiv = "#metal-graph";
    
    if ($(graphDiv).length) {
        chartAreaGraph.write('metal-graph');
        // listen for "dataUpdated" event (fired when chart is rendered) and call zoomChart method when it happens
        chartAreaGraph.addListener("dataUpdated", zoomChart(chartAreaGraph, allData));
    }
}

// this method is called when chart is first inited as we listen for "dataUpdated" event
function zoomChart(chartAreaGraph,allData) {
    // different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
    chartAreaGraph.zoomToIndexes(0, allData.length - 1);
}


function createAreaChart(index, graphData, allData) {
    var chartAreaGraph = new AmCharts.AmSerialChart();
    chartAreaGraph.pathToImages = "/files/images/amcharts/";

    chartAreaGraph.dataProvider = allData;
    chartAreaGraph.categoryField = "date";

    chartAreaGraph.autoMargins = true;
    //chartAreaGraph.autoMarginOffset = 20;
    chartAreaGraph.marginLeft = 0;
    chartAreaGraph.marginTop = 0;
    chartAreaGraph.marginBottom = 0;
    chartAreaGraph.marginRight = 0;
    //if ($('.hidTitle').length != 0) {
    //    chartAreaGraph.addLabel(0, 0, $('.hidTitle').val(), "center", "16", "#3e576f");
    //}
    //chartAreaGraph.addLabel(0, 0, String(htmlDecode(htmlDecode("Palladium"))), "left", "10", "#3e576f");
    //chartAreaGraph.addLabel(0, 400, "Time", "center", "12", "#000000");
    //chartAreaGraph.addLabel(10, 414, "Value", "center", "12", "#000000", 270);

    // AXES
    // category
    var categoryAxis = chartAreaGraph.categoryAxis;
    categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true
    categoryAxis.minPeriod = "ss"; // our data is daily, so we set minPeriod to DD                
    categoryAxis.autoGridCount = true;
    //categoryAxis.gridCount = 10;
    categoryAxis.gridAlpha = 0.1;
    categoryAxis.gridColor = "#000000";
    categoryAxis.axisColor = "#555555";
    categoryAxis.labelsEnabled = false;
    // we want custom date formatting, so we change it in next line
    categoryAxis.dateFormats = [{
        period: 'ss',
        format: 'LL:NN:SSA'
    }, {
        period: 'mm',
        format: 'LL:NNA'
    }, {
        period: 'hh',
        format: 'LL:NNA'
    }, {
        period: 'DD',
        format: 'DD'
    }, {
        period: 'WW',
        format: 'MMM DD'
    }, {
        period: 'MM',
        format: 'MMM'
    }, {
        period: 'YYYY',
        format: 'YYYY'
    }];

    // value  

    var valueAxis = new AmCharts.ValueAxis();
    valueAxis.axisAlpha = 0.2;
    valueAxis.dashLength = 1;
    valueAxis.unit = "$";
    valueAxis.unitPosition = "left";
    valueAxis.precision = 2;
    valueAxis.labelsEnabled = false;
    chartAreaGraph.addValueAxis(valueAxis);

    if (graphData.length > 0) {
        var graph1 = new AmCharts.AmGraph();
        graph1.title = index;
        graph1.valueField = "Value";
        graph1.bullet = "round";
        graph1.bulletBorderColor = "#FFFFFF";
        graph1.bulletBorderThickness = 0;
        graph1.bulletSize = 2;
        graph1.lineThickness = 1;
        graph1.lineColor = "#5891B5";
        graph1.negativeLineColor = "#0164A7";
        graph1.hideBulletsCount = 50;
        graph1.balloonText = "[[displayValue]]";
        graph1.legendValueText = "[[displayValue]]";
        graph1.fillAlphas = 0.3;
        chartAreaGraph.addGraph(graph1);
        /*
        var chartScrollbar1 = new AmCharts.ChartScrollbar();
        chartScrollbar1.graph = graph1;
        chartScrollbar1.scrollbarHeight = 40;
        chartScrollbar1.color = "#000000";
        chartScrollbar1.autoGridCount = true;
        chartScrollbar1.selectedGraphLineAlpha = 0.5;
        chartAreaSAnPGraph.addChartScrollbar(chartScrollbar1);
        */
    }

    var chartCursor = new AmCharts.ChartCursor();
    chartCursor.categoryBalloonEnabled = false;
    chartCursor.cursorPosition = "mouse";
    chartCursor.categoryBalloonDateFormat = "MM/DD/YYYY LL:NNA";
    chartCursor.zoomable = false;
    chartCursor.pan = false;
    chartCursor.addListener('changed', function (objectArgument) {
        if (objectArgument.chart.dataProvider[objectArgument.index]) {
            var meDateZ = (objectArgument.chart.dataProvider[objectArgument.index]).date;
            var meMonthZ = String(Number(meDateZ.getMonth()) + 1);
            var amOrPMZ = "AM";
            if (String(meMonthZ).length == 1) {
                meMonthZ = "0" + meMonthZ;
            }
            
            var meDayZ = String(meDateZ.getDate());
            if (String(meDayZ).length == 1) {
                meDayZ = "0" + meDayZ;
            }

            var meYearZ = String(meDateZ.getFullYear());

            var meHourZ = "";
            if (meDateZ.getHours() > 12) {
                meHourZ = String(meDateZ.getHours() - 12);
            }
            else {
                meHourZ = String(meDateZ.getHours());
            }

            if (meDateZ.getHours() >= 12) {
                amOrPMZ = "PM";
            }

            if (String(meHourZ).length == 1) {
                meHourZ = "0" + String(meHourZ);
            }
            if (meHourZ == "00") {
                meHourZ = "12";
                amOrPMZ = "AM";
            }

            var meMinuteZ = String(meDateZ.getMinutes());

            if (String(meMinuteZ).length == 1) {
                meMinuteZ = "0" + meMinuteZ;
            }

            var meSecondZ = String(meDateZ.getSeconds());

            if (String(meSecondZ).length == 1) {
                meSecondZ = "0" + meSecondZ;
            }

            $('#' + index.toLowerCase() + "Time").text(meMonthZ + "/" + meDayZ + "/" + String(meYearZ).substr(2, 2) + " " + meHourZ + ":" + meMinuteZ + ":" + meSecondZ + " " + amOrPMZ);
        }
    });
    chartCursor.addListener('onHideCursor', function (objectArgument) {
        $('#' + index.toLowerCase() + "Time").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
    });
    chartAreaGraph.addChartCursor(chartCursor);
    /*
    var legend = new AmCharts.AmLegend();
    legend.valueWidth = 75;
    chartAreaSAnPGraph.addLegend(legend);
    */
   
    var graphDiv = "#"+index.toLowerCase() + "-graph";
    if ($(graphDiv).length) {
        chartAreaGraph.write(index.toLowerCase() + '-graph');
        chartAreaGraph.zoomToIndexes(0, allData.length - 1);
    }
    return chartAreaGraph;
}

//create Pie chart
function drawPieGraph() {
    var chartPieGraph;
    var chartAllDataPie = new Array();
    var chartColorsPie = new Array();

    if (String($('.hidGoldPieData').val()).length > 0) {
        chartAllDataPie.push({ name: $('.hidGoldPieTitle').val(), value: Number($('.hidGoldPieData').val()) });
        chartColorsPie.push("#0164A7");
    }
    if (String($('.hidSilverPieData').val()).length > 0) {
        chartAllDataPie.push({ name: $('.hidSilverPieTitle').val(), value: Number($('.hidSilverPieData').val()) });
        chartColorsPie.push("#A24A48");
    }
    if (String($('.hidPlatinumPieData').val()).length > 0) {
        chartAllDataPie.push({ name: $('.hidPlatinumPieTitle').val(), value: Number($('.hidPlatinumPieData').val()) });
        chartColorsPie.push("#8BA357");
    }
    if (String($('.hidPalladiumPieData').val()).length > 0) {
        chartAllDataPie.push({ name: $('.hidPalladiumPieTitle').val(), value: Number($('.hidPalladiumPieData').val()) });
        chartColorsPie.push("#7E6C92");
    }

    AmCharts.ready(function () {
        // PIE CHART
        chartPieGraph = new AmCharts.AmPieChart();
        chartPieGraph.dataProvider = chartAllDataPie;
        chartPieGraph.titleField = "name";
        chartPieGraph.valueField = "value";
        chartPieGraph.outlineColor = "#FFFFFF";
        chartPieGraph.colors = chartColorsPie;
        chartPieGraph.outlineAlpha = 0.8;
        chartPieGraph.outlineThickness = 2;
        // this makes the chart 3D
        chartPieGraph.depth3D = 15;
        chartPieGraph.angle = 45;
        chartPieGraph.labelText = "[[title]]: [[percents]]%";
        chartPieGraph.balloonText = "[[title]]: [[percents]]%";
        chartPieGraph.autoMargins = true;
        //chartPieGraph.autoMarginOffset = 20;
        chartPieGraph.marginLeft = 0;
        chartPieGraph.marginTop = 20;
        chartPieGraph.marginBottom = 0;
        chartPieGraph.marginRight = 0;

        //chartPieGraph.addLabel(0, 0, $('.hidTitle').val(), "center", "16", "#3e576f");

        /*
        var legend = new AmCharts.AmLegend();
        legend.valueWidth = 75;
        legend.valueText = " ";
        chartPieGraph.addLegend(legend);
        */

        // WRITE
        chartPieGraph.write("portfolio-graph");
    });
}

//create Bar chart
function drawBarsGraph() {
    var GoldPicked = false;
    var SilverPicked = false;
    var PlatinumPicked = false;
    var PalladiumPicked = false;
    var chartBarData;
    var chartBarGraph;
    $(function () {
        var monthIndex = 0;
        var metalsCount = ($('.hidMetalsBarData').val().split("~")).length;
        var metalsPicked = $('.hidMetalsBarData').val().split("~");
        for (var metalIndex = 0; metalIndex < metalsCount; metalIndex++) {
            switch (metalsPicked[metalIndex]) {
                case "Gold":
                    GoldPicked = true;
                    break;
                case "Silver":
                    SilverPicked = true;
                    break;
                case "Platinum":
                    PlatinumPicked = true;
                    break;
                case "Palladium":
                    PalladiumPicked = true;
                    break;
            }
        }
        var metalsDataValue = $.map($('.hidMetalsBarDataValue').val().split("~"), function (metalDataValue) { return Number(metalDataValue) });
        chartBarData = $.map($('.hidBarTime').val().split("~"), function (monthValue) {
            var returnMe;
            var myMetalValues = new Array();
            for (var i = monthIndex * metalsCount; i < (monthIndex * metalsCount) + metalsCount; i++) {
                myMetalValues.push(metalsDataValue[i]);
            }
            var postIncrementI = 0;
            returnMe = {
                month: monthValue,
                gold: (GoldPicked ? Number(myMetalValues[postIncrementI]) : 0),
                displayGold: (GoldPicked ? currency('$', String(Number(myMetalValues[postIncrementI++]))) : ""),
                silver: (SilverPicked ? Number(myMetalValues[postIncrementI]) : 0),
                displaySilver: (SilverPicked ? currency('$', String(Number(myMetalValues[postIncrementI++]))) : ""),
                platinum: (PlatinumPicked ? Number(myMetalValues[postIncrementI]) : 0),
                displayPlatinum: (PlatinumPicked ? currency('$', String(Number(myMetalValues[postIncrementI++]))) : ""),
                palladium: (PalladiumPicked ? Number(myMetalValues[postIncrementI]) : 0),
                displayPalladium: (PalladiumPicked ? currency('$', String(Number(myMetalValues[postIncrementI++]))) : "")
            };

            if (!GoldPicked) {
                delete returnMe["gold"];
                delete returnMe["displayGold"];
            }

            if (!SilverPicked) {
                delete returnMe["silver"];
                delete returnMe["displaySilver"];
            }

            if (!PlatinumPicked) {
                delete returnMe["platinum"];
                delete returnMe["displayPlatinum"];

            }

            if (!PalladiumPicked) {
                delete returnMe["palladium"];
                delete returnMe["displayPalladium"];
            }

            monthIndex = monthIndex + 1;
            return returnMe;
        });

        AmCharts.ready(function () {
            // SERIAL CHART
            chartBarGraph = new AmCharts.AmSerialChart();
            chartBarGraph.dataProvider = chartBarData;
            chartBarGraph.categoryField = "month";
            chartBarGraph.startDuration = 1;
            chartBarGraph.plotAreaBorderColor = "#DADADA";
            chartBarGraph.plotAreaBorderAlpha = 1;
            // this single line makes the chart a bar chart          
            chartBarGraph.rotate = true;
            chartBarGraph.depth3D = 20;
            chartBarGraph.angle = 25;

            //chartBarGraph.autoMargins = true;
            //chartBarGraph.autoMarginOffset = 20;
            chartBarGraph.marginLeft = 0;
            chartBarGraph.marginTop = 20;
            chartBarGraph.marginBottom = 0;
            chartBarGraph.marginRight = 0;

            //chartBarGraph.addLabel(0, 0, $('.hidTitle').val(), "center", "16", "#3e576f");
            //chartBarGraph.addLabel(0, 400, "Value", "center", "12", "#000000");
            //chartBarGraph.addLabel(10, 414, "Time", "center", "12", "#000000", 270);

            // AXES
            // Category
            var categoryAxis = chartBarGraph.categoryAxis;
            categoryAxis.gridPosition = "start";
            categoryAxis.gridAlpha = 0.1;
            categoryAxis.axisAlpha = 0;

            // Value
            var valueAxis = new AmCharts.ValueAxis();
            valueAxis.axisAlpha = 0;
            valueAxis.gridAlpha = 0.1;
            valueAxis.position = "bottom";
            valueAxis.unit = "$";
            valueAxis.unitPosition = "left";
            valueAxis.precision = 2;
            chartBarGraph.addValueAxis(valueAxis);

            // GRAPHS
            if (GoldPicked) {
                // first graph

                var graph1 = new AmCharts.AmGraph();
                graph1.type = "column";
                graph1.title = "Gold";
                graph1.valueField = "gold";
                graph1.lineAlpha = 0;
                graph1.fillColors = "#0164A7";
                graph1.fillAlphas = 1;
                graph1.balloonText = "Gold: [[displayGold]]";
                graph1.legendValueText = "[[displayGold]]";
                chartBarGraph.addGraph(graph1);
            }

            if (SilverPicked) {
                // second graph

                var graph2 = new AmCharts.AmGraph();
                graph2.type = "column";
                graph2.title = "Silver";
                graph2.valueField = "silver";
                graph2.lineAlpha = 0;
                graph2.fillColors = "#A24A48";
                graph2.fillAlphas = 1;
                graph2.balloonText = "Silver: [[displaySilver]]";
                graph2.legendValueText = "[[displaySilver]]";
                chartBarGraph.addGraph(graph2);
            }

            if (PlatinumPicked) {

                // third graph
                var graph3 = new AmCharts.AmGraph();
                graph3.type = "column";
                graph3.title = "Platinum";
                graph3.valueField = "platinum";
                graph3.lineAlpha = 0;
                graph3.fillColors = "#8BA357";
                graph3.fillAlphas = 1;
                graph3.balloonText = "Platinum: [[displayPlatinum]]";
                graph3.legendValueText = "[[displayPlatinum]]";
                chartBarGraph.addGraph(graph3);
            }

            if (PalladiumPicked) {

                // forth graph
                var graph4 = new AmCharts.AmGraph();
                graph4.type = "column";
                graph4.title = "Palladium";
                graph4.valueField = "palladium";
                graph4.lineAlpha = 0;
                graph4.fillColors = "#7E6C92";
                graph4.fillAlphas = 1;
                graph4.balloonText = "Palladium: [[displayPalladium]]";
                graph4.legendValueText = "[[displayPalladium]]";
                chartBarGraph.addGraph(graph4);

            }

            // LEGEND
            var legend = new AmCharts.AmLegend();
            chartBarGraph.addLegend(legend);

            // WRITE
            chartBarGraph.write('portfolio-graph');
        });

    });
}

GC.calculator = function () {

    var o = {
        ounce: "#jsTotalOunces",
        spreadTotal: "#jsSpreadTotal",
        sell: { spot: "#jsSellSpot", premium: "#jsSellPremium", value: "#jsSellTotalValue" },
        buy: { spot: "#jsBuySpot", premium: "#jsBuyPremium", value: "#jsBuyTotalValue" }

    };
    var v = {
        ounce: getVal(o.ounce),
        spreadTotal: getVal(o.spreadTotal),
        sell: { spot: getVal(o.sell.spot), premium: getVal(o.sell.premium), value: getVal(o.sell.value, true) },
        buy: { spot: getVal(o.buy.spot), premium: getVal(o.buy.premium), value: getVal(o.buy.value, true) }
    };

    var total = { sell: 0, buy: 0, spread: 0 };

    function getVal(id, text) {
        return (text) ? Number($(id).text()) : Number($(id).val());
    }

    function calculateValue(v) {
        total.sell = (v.sell.spot + v.sell.premium) * v.ounce;
        total.buy = (v.buy.spot + v.buy.premium) * v.ounce;
        total.spread = v.sell.premium - v.buy.premium;
        $(o.sell.value).text("$" + total.sell.formatMoney());
        $(o.buy.value).text("$" + total.buy.formatMoney());
        $(o.spreadTotal).text("$" + (total.sell - total.buy).formatMoney());
    }

    function getOunces() {
        $(document).on('input propertychange paste', o.ounce, function () {
            v.ounce = getVal(this);
            calculateValue(v);
        });

        $(document).on('input propertychange paste', o.sell.spot, function () {
            v.sell.spot = getVal(this);
            calculateValue(v);
        });

        $(document).on('input propertychange paste', o.sell.premium, function () {
            v.sell.premium = getVal(this);
            calculateValue(v);
        });

        $(document).on('input propertychange paste', o.buy.spot, function () {
            v.buy.spot = getVal(this);
            calculateValue(v);
        });

        $(document).on('input propertychange paste', o.buy.premium, function () {
            v.buy.premium = getVal(this);
            calculateValue(v);
        });
    }

    return { init: getOunces };
}();


var charts = {
    initBlock: function () {
        GC.productCarousel('#jsInitProductSpotlight');

        //var listId = $('.jsListId').val();
        //$.get('/category/RelatedProductsListing?categoryId=' + listId).done(function (data) {
        //    $('#jsInitProductSpotlight').append(data);
        //});
    }
};

$(function () {
    GC.calculator.init();

    charts.initBlock();
    //GC.smoothScroll();

    var chartAreaGraph;
    var metalData = getData("Metal", false);
    var chartMetalAllData = metalData.allData;
    var metalGraphData = metalData.graphData;
    var chartAreaMetalGraph = createAreaChartWithLabels("Metal", metalGraphData, chartMetalAllData);

    var goldMetalData = getData("Gold", true);
    var silverMetalData = getData("Silver", true);
    var platinumMetalData = getData("Platinum", true);
    var palladiumMetalData = getData("Palladium", true);

    var goldMiniChart = createAreaChart("Gold", goldMetalData.graphData, goldMetalData.allData);
    var silverMiniChart = createAreaChart("Silver", silverMetalData.graphData, silverMetalData.allData);
    var platinumMiniChart = createAreaChart("Platinum", platinumMetalData.graphData, platinumMetalData.allData);
    var palladiumMiniChart = createAreaChart("Palladium", palladiumMetalData.graphData, palladiumMetalData.allData);
    $('#loading').addClass("none");
});
