bitburner-src/dist/vendor.bundle.js
2019-02-11 16:23:46 -08:00

674 lines
2.3 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(window.webpackJsonp=window.webpackJsonp||[]).push([[0],Array(40).concat([function(e,t,n){"use strict";var r,i,o,s,a,l=9e15,u=1e9,c="0123456789abcdef",h="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",d="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",f={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-l,maxE:l,crypto:!1},p=!0,g="[DecimalError] ",m=g+"Invalid argument: ",v=g+"Precision limit exceeded",y=g+"crypto unavailable",b=Math.floor,w=Math.pow,x=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,C=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,k=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,A=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,E=1e7,_=7,S=h.length-1,F=d.length-1,D={};function T(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",(n=_-r.length)&&(o+=W(n)),o+=r;s=e[t],(n=_-(r=s+"").length)&&(o+=W(n))}else if(0===s)return"0";for(;s%10==0;)s/=10;return o+s}function B(e,t,n){if(e!==~~e||e<t||e>n)throw Error(m+e)}function L(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=_,i=0):(i=Math.ceil((t+1)/_),t%=_),o=w(10,_-t),a=e[i]%o|0,null==r?t<3?(0==t?a=a/100|0:1==t&&(a=a/10|0),s=n<4&&99999==a||n>3&&49999==a||5e4==a||0==a):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[i+1]/o/100|0)==w(10,t-2)-1||(a==o/2||0==a)&&0==(e[i+1]/o/100|0):t<4?(0==t?a=a/1e3|0:1==t?a=a/100|0:2==t&&(a=a/10|0),s=(r||n<4)&&9999==a||!r&&n>3&&4999==a):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==w(10,t-3)-1,s}function M(e,t,n){for(var r,i,o=[0],s=0,a=e.length;s<a;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=c.indexOf(e.charAt(s++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}D.absoluteValue=D.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),P(e)},D.ceil=function(){return P(new this.constructor(this),this.e+1,2)},D.comparedTo=D.cmp=function(e){var t,n,r,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return l&&u?l!==u?l:s===a?0:!s^l<0?1:-1:NaN;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(t=0,n=(r=s.length)<(i=a.length)?r:i;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^l<0?1:-1;return r===i?0:r>i^l<0?1:-1},D.cosine=D.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_,r.rounding=1,n=function(e,t){var n,r,i=t.d.length;i<32?(n=Math.ceil(i/3),r=Math.pow(4,-n).toString()):(n=16,r="2.3283064365386962890625e-10");e.precision+=n,t=X(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}(r,Z(r,n)),r.precision=e,r.rounding=t,P(2==a||3==a?n.neg():n,e,t,!0)):new r(1):new r(NaN)},D.cubeRoot=D.cbrt=function(){var e,t,n,r,i,o,s,a,l,u,c=this,h=c.constructor;if(!c.isFinite()||c.isZero())return new h(c);for(p=!1,(o=c.s*Math.pow(c.s*c,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=T(c.d),(o=((e=c.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=Math.pow(n,1/3),e=b((e+1)/3)-(e%3==(e<0?-1:2)),(r=new h(n=o==1/0?"5e"+e:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=c.s),s=(e=h.precision)+3;;)if(u=(l=(a=r).times(a).times(a)).plus(c),r=O(u.plus(c).times(a),u.plus(l),s+2,1),T(a.d).slice(0,s)===(n=T(r.d)).slice(0,s)){if("9999"!=(n=n.slice(s-3,s+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(P(r,e+1,1),t=!r.times(r).times(r).eq(c));break}if(!i&&(P(a,e+1,0),a.times(a).times(a).eq(c))){r=a;break}s+=4,i=1}return p=!0,P(r,e,h.rounding,t)},D.decimalPlaces=D.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=((e=t.length-1)-b(this.e/_))*_,e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},D.dividedBy=D.div=function(e){return O(this,new this.constructor(e))},D.dividedToIntegerBy=D.divToInt=function(e){var t=this.constructor;return P(O(this,new t(e),0,1,1),t.precision,t.rounding)},D.equals=D.eq=function(e){return 0===this.cmp(e)},D.floor=function(){return P(new this.constructor(this),this.e+1,3)},D.greaterThan=D.gt=function(e){return this.cmp(e)>0},D.greaterThanOrEqualTo=D.gte=function(e){var t=this.cmp(e);return 1==t||0===t},D.hyperbolicCosine=D.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,(i=o.d.length)<32?(e=Math.ceil(i/3),t=Math.pow(4,-e).toString()):(e=16,t="2.3283064365386962890625e-10"),o=X(s,1,o.times(t),new s(1),!0);for(var l,u=e,c=new s(8);u--;)l=o.times(o),o=a.minus(l.times(c.minus(l.times(c))));return P(o,s.precision=n,s.rounding=r,!0)},D.hyperbolicSine=D.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=X(o,2,i,i,!0);else{e=(e=1.4*Math.sqrt(r))>16?16:0|e,i=X(o,2,i=i.times(Math.pow(5,-e)),i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=t,o.rounding=n,P(i,t,n,!0)},D.hyperbolicTangent=D.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,O(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},D.inverseCosine=D.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?t.isNeg()?N(n,i,o):new n(0):new n(NaN):t.isZero()?N(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=N(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))},D.inverseHyperbolicCosine=D.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,p=!1,n=n.times(n).minus(1).sqrt().plus(n),p=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},D.inverseHyperbolicSine=D.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,p=!1,n=n.times(n).plus(1).sqrt().plus(n),p=!0,r.precision=e,r.rounding=t,n.ln())},D.inverseHyperbolicTangent=D.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?P(new o(i),e,t,!0):(o.precision=n=r-i.e,i=O(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)},D.inverseSine=D.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==t?0===t?((e=N(o,n+4,r).times(.5)).s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},D.inverseTangent=D.atan=function(){var e,t,n,r,i,o,s,a,l,u=this,c=u.constructor,h=c.precision,d=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&h+4<=F)return(s=N(c,h+4,d).times(.25)).s=u.s,s}else{if(!u.s)return new c(NaN);if(h+4<=F)return(s=N(c,h+4,d).times(.5)).s=u.s,s}for(c.precision=a=h+10,c.rounding=1,e=n=Math.min(28,a/_+2|0);e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(p=!1,t=Math.ceil(a/_),r=1,l=u.times(u),s=new c(u),i=u;-1!==e;)if(i=i.times(l),o=s.minus(i.div(r+=2)),i=i.times(l),void 0!==(s=o.plus(i.div(r+=2))).d[t])for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),p=!0,P(s,c.precision=h,c.rounding=d,!0)},D.isFinite=function(){return!!this.d},D.isInteger=D.isInt=function(){return!!this.d&&b(this.e/_)>this.d.length-2},D.isNaN=function(){return!this.s},D.isNegative=D.isNeg=function(){return this.s<0},D.isPositive=D.isPos=function(){return this.s>0},D.isZero=function(){return!!this.d&&0===this.d[0]},D.lessThan=D.lt=function(e){return this.cmp(e)<0},D.lessThanOrEqualTo=D.lte=function(e){return this.cmp(e)<1},D.logarithm=D.log=function(e){var t,n,r,i,o,s,a,l,u=this.constructor,c=u.precision,h=u.rounding;if(null==e)e=new u(10),t=!0;else{if(n=(e=new u(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new u(NaN);t=e.eq(10)}if(n=this.d,this.s<0||!n||!n[0]||this.eq(1))return new u(n&&!n[0]?-1/0:1!=this.s?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if(p=!1,s=G(this,a=c+5),r=t?I(u,a+10):G(e,a),L((l=O(s,r,a,1)).d,i=c,h))do{if(s=G(this,a+=10),r=t?I(u,a+10):G(e,a),l=O(s,r,a,1),!o){+T(l.d).slice(i+1,i+15)+1==1e14&&(l=P(l,c+1,0));break}}while(L(l.d,i+=10,h));return p=!0,P(l,c,h)},D.minus=D.sub=function(e){var t,n,r,i,o,s,a,l,u,c,h,d,f=this,g=f.constructor;if(e=new g(e),!f.d||!e.d)return f.s&&e.s?f.d?e.s=-e.s:e=new g(e.d||f.s!==e.s?f:NaN):e=new g(NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=g.precision,l=g.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else{if(!u[0])return new g(3===l?-0:0);e=new g(f)}return p?P(e,a,l):e}if(n=b(e.e/_),c=b(f.e/_),u=u.slice(),o=c-n){for((h=o<0)?(t=u,o=-o,s=d.length):(t=d,n=c,s=u.length),o>(r=Math.max(Math.ceil(a/_),s)+2)&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for((h=(r=u.length)<(s=d.length))&&(s=r),r=0;r<s;r++)if(u[r]!=d[r]){h=u[r]<d[r];break}o=0}for(h&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,r=d.length-s;r>0;--r)u[s++]=0;for(r=d.length;r>o;){if(u[--r]<d[r]){for(i=r;i&&0===u[--i];)u[i]=E-1;--u[i],u[r]+=E}u[r]-=d[r]}for(;0===u[--s];)u.pop();for(;0===u[0];u.shift())--n;return u[0]?(e.d=u,e.e=j(u,n),p?P(e,a,l):e):new g(3===l?-0:0)},D.modulo=D.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?P(new r(n),r.precision,r.rounding):(p=!1,9==r.modulo?(t=O(n,e.abs(),0,3,1)).s*=e.s:t=O(n,e,0,r.modulo,1),t=t.times(e),p=!0,n.minus(t))},D.naturalExponential=D.exp=function(){return V(this)},D.naturalLogarithm=D.ln=function(){return G(this)},D.negated=D.neg=function(){var e=new this.constructor(this);return e.s=-e.s,P(e)},D.plus=D.add=function(e){var t,n,r,i,o,s,a,l,u,c,h=this,d=h.constructor;if(e=new d(e),!h.d||!e.d)return h.s&&e.s?h.d||(e=new d(e.d||h.s===e.s?h:NaN)):e=new d(NaN),e;if(h.s!=e.s)return e.s=-e.s,h.minus(e);if(u=h.d,c=e.d,a=d.precision,l=d.rounding,!u[0]||!c[0])return c[0]||(e=new d(h)),p?P(e,a,l):e;if(o=b(h.e/_),r=b(e.e/_),u=u.slice(),i=o-r){for(i<0?(n=u,i=-i,s=c.length):(n=c,r=o,s=u.length),i>(s=(o=Math.ceil(a/_))>s?o+1:s+1)&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((s=u.length)-(i=c.length)<0&&(i=s,n=c,c=u,u=n),t=0;i;)t=(u[--i]=u[i]+c[i]+t)/E|0,u[i]%=E;for(t&&(u.unshift(t),++r),s=u.length;0==u[--s];)u.pop();return e.d=u,e.e=j(u,r),p?P(e,a,l):e},D.precision=D.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(m+e);return n.d?(t=$(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},D.round=function(){var e=this,t=e.constructor;return P(new t(e),e.e+1,t.rounding)},D.sine=D.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_,r.rounding=1,n=function(e,t){var n,r=t.d.length;if(r<3)return X(e,2,t,t);n=(n=1.4*Math.sqrt(r))>16?16:0|n,t=t.times(Math.pow(5,-n)),t=X(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}(r,Z(r,n)),r.precision=e,r.rounding=t,P(a>2?n.neg():n,e,t,!0)):new r(NaN)},D.squareRoot=D.sqrt=function(){var e,t,n,r,i,o,s=this,a=s.d,l=s.e,u=s.s,c=s.constructor;if(1!==u||!a||!a[0])return new c(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(p=!1,0==(u=Math.sqrt(+s))||u==1/0?(((t=T(a)).length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=b((l+1)/2)-(l<0||l%2),r=new c(t=u==1/0?"1e"+l:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+l)):r=new c(u.toString()),n=(l=c.precision)+3;;)if(r=(o=r).plus(O(s,o,n+2,1)).times(.5),T(o.d).slice(0,n)===(t=T(r.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(P(r,l+1,1),e=!r.times(r).eq(s));break}if(!i&&(P(o,l+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}return p=!0,P(r,l,c.rounding,e)},D.tangent=D.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,(n=n.sin()).s=1,n=O(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,P(2==a||4==a?n.neg():n,e,t,!0)):new r(NaN)},D.times=D.mul=function(e){var t,n,r,i,o,s,a,l,u,c=this,h=c.constructor,d=c.d,f=(e=new h(e)).d;if(e.s*=c.s,!(d&&d[0]&&f&&f[0]))return new h(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*e.s:e.s/0);for(n=b(c.e/_)+b(e.e/_),(l=d.length)<(u=f.length)&&(o=d,d=f,f=o,s=l,l=u,u=s),o=[],r=s=l+u;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,i=l+r;i>r;)a=o[i]+f[r]*d[i-r-1]+t,o[i--]=a%E|0,t=a/E|0;o[i]=(o[i]+t)%E|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=j(o,n),p?P(e,h.precision,h.rounding):e},D.toBinary=function(e,t){return J(this,2,e,t)},D.toDecimalPlaces=D.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(B(e,0,u),void 0===t?t=r.rounding:B(t,0,8),P(n,e+n.e+1,t))},D.toExponential=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=R(r,!0):(B(e,0,u),void 0===t?t=i.rounding:B(t,0,8),n=R(r=P(new i(r),e+1,t),!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n},D.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return void 0===e?n=R(i):(B(e,0,u),void 0===t?t=o.rounding:B(t,0,8),n=R(r=P(new o(i),e+i.e+1,t),!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},D.toFraction=function(e){var t,n,r,i,o,s,a,l,u,c,h,d,f=this,g=f.d,v=f.constructor;if(!g)return new v(f);if(u=n=new v(1),s=(o=(t=new v(r=l=new v(0))).e=$(g)-f.e-1)%_,t.d[0]=w(10,s<0?_+s:s),null==e)e=o>0?t:u;else{if(!(a=new v(e)).isInt()||a.lt(u))throw Error(m+a);e=a.gt(t)?o>0?t:u:a}for(p=!1,a=new v(T(g)),c=v.precision,v.precision=o=g.length*_*2;h=O(a,t,0,1,1),1!=(i=n.plus(h.times(r))).cmp(e);)n=r,r=i,i=u,u=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=O(e.minus(n),r,0,1,1),l=l.plus(i.times(u)),n=n.plus(i.times(r)),l.s=u.s=f.s,d=O(u,r,o,1).minus(f).abs().cmp(O(l,n,o,1).minus(f).abs())<1?[u,r]:[l,n],v.precision=c,p=!0,d},D.toHexadecimal=D.toHex=function(e,t){return J(this,16,e,t)},D.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),null==e){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),void 0!==t&&B(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(p=!1,t<4&&(t=[4,5,7,8][t]),n=O(n,e,0,t,1).times(e),p=!0,P(n)):(e.s=n.s,n=e),n},D.toNumber=function(){return+this},D.toOctal=function(e,t){return J(this,8,e,t)},D.toPower=D.pow=function(e){var t,n,r,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!(a.d&&e.d&&a.d[0]&&e.d[0]))return new l(w(+a,u));if((a=new l(a)).eq(1))return a;if(r=l.precision,o=l.rounding,e.eq(1))return P(a,r,o);if((t=b(e.e/_))>=e.d.length-1&&(n=u<0?-u:u)<=9007199254740991)return i=H(l,a,n,r),e.s<0?new l(1).div(i):P(i,r,o);if((s=a.s)<0){if(t<e.d.length-1)return new l(NaN);if(0==(1&e.d[t])&&(s=1),0==a.e&&1==a.d[0]&&1==a.d.length)return a.s=s,a}return(t=0!=(n=w(+a,u))&&isFinite(n)?new l(n+"").e:b(u*(Math.log("0."+T(a.d))/Math.LN10+a.e+1)))>l.maxE+1||t<l.minE-1?new l(t>0?s/0:0):(p=!1,l.rounding=a.s=1,n=Math.min(12,(t+"").length),(i=V(e.times(G(a,r+n)),r)).d&&L((i=P(i,r+5,1)).d,r,o)&&(t=r+10,+T((i=P(V(e.times(G(a,t+n)),t),t+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=P(i,r+1,0))),i.s=s,p=!0,l.rounding=o,P(i,r,o))},D.toPrecision=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=R(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(B(e,1,u),void 0===t?t=i.rounding:B(t,0,8),n=R(r=P(new i(r),e,t),e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n},D.toSignificantDigits=D.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(B(e,1,u),void 0===t?t=n.rounding:B(t,0,8)),P(new n(this),e,t)},D.toString=function(){var e=this,t=e.constructor,n=R(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},D.truncated=D.trunc=function(){return P(new this.constructor(this),this.e+1,1)},D.valueOf=D.toJSON=function(){var e=this,t=e.constructor,n=R(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var O=function(){function e(e,t,n){var r,i=0,o=e.length;for(e=e.slice();o--;)r=e[o]*t+i,e[o]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=e[n]<t[n]?1:0,e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,a,l,u){var c,h,d,f,p,g,m,v,y,w,x,C,k,A,S,F,D,T,B,L,M=r.constructor,O=r.s==i.s?1:-1,R=r.d,j=i.d;if(!(R&&R[0]&&j&&j[0]))return new M(r.s&&i.s&&(R?!j||R[0]!=j[0]:j)?R&&0==R[0]||!j?0*O:O/0:NaN);for(u?(p=1,h=r.e-i.e):(u=E,p=_,h=b(r.e/p)-b(i.e/p)),B=j.length,D=R.length,w=(y=new M(O)).d=[],d=0;j[d]==(R[d]||0);d++);if(j[d]>(R[d]||0)&&h--,null==o?(A=o=M.precision,a=M.rounding):A=l?o+(r.e-i.e)+1:o,A<0)w.push(1),g=!0;else{if(A=A/p+2|0,d=0,1==B){for(f=0,j=j[0],A++;(d<D||f)&&A--;d++)S=f*u+(R[d]||0),w[d]=S/j|0,f=S%j|0;g=f||d<D}else{for((f=u/(j[0]+1)|0)>1&&(j=e(j,f,u),R=e(R,f,u),B=j.length,D=R.length),F=B,C=(x=R.slice(0,B)).length;C<B;)x[C++]=0;(L=j.slice()).unshift(0),T=j[0],j[1]>=u/2&&++T;do{f=0,(c=t(j,x,B,C))<0?(k=x[0],B!=C&&(k=k*u+(x[1]||0)),(f=k/T|0)>1?(f>=u&&(f=u-1),1==(c=t(m=e(j,f,u),x,v=m.length,C=x.length))&&(f--,n(m,B<v?L:j,v,u))):(0==f&&(c=f=1),m=j.slice()),(v=m.length)<C&&m.unshift(0),n(x,m,C,u),-1==c&&(c=t(j,x,B,C=x.length))<1&&(f++,n(x,B<C?L:j,C,u)),C=x.length):0===c&&(f++,x=[0]),w[d++]=f,c&&x[0]?x[C++]=R[F]||0:(x=[R[F]],C=1)}while((F++<D||void 0!==x[0])&&A--);g=void 0!==x[0]}w[0]||w.shift()}if(1==p)y.e=h,s=g;else{for(d=1,f=w[0];f>=10;f/=10)d++;y.e=d+h*p-1,P(y,l?o+y.e+1:o,a,g)}return y}}();function P(e,t,n,r){var i,o,s,a,l,u,c,h,d,f=e.constructor;e:if(null!=t){if(!(h=e.d))return e;for(i=1,a=h[0];a>=10;a/=10)i++;if((o=t-i)<0)o+=_,s=t,l=(c=h[d=0])/w(10,i-s-1)%10|0;else if((d=Math.ceil((o+1)/_))>=(a=h.length)){if(!r)break e;for(;a++<=d;)h.push(0);c=l=0,i=1,s=(o%=_)-_+1}else{for(c=a=h[d],i=1;a>=10;a/=10)i++;l=(s=(o%=_)-_+i)<0?0:c/w(10,i-s-1)%10|0}if(r=r||t<0||void 0!==h[d+1]||(s<0?c:c%w(10,i-s-1)),u=n<4?(l||r)&&(0==n||n==(e.s<0?3:2)):l>5||5==l&&(4==n||r||6==n&&(o>0?s>0?c/w(10,i-s):0:h[d-1])%10&1||n==(e.s<0?8:7)),t<1||!h[0])return h.length=0,u?(t-=e.e+1,h[0]=w(10,(_-t%_)%_),e.e=-t||0):h[0]=e.e=0,e;if(0==o?(h.length=d,a=1,d--):(h.length=d+1,a=w(10,_-o),h[d]=s>0?(c/w(10,i-s)%w(10,s)|0)*a:0),u)for(;;){if(0==d){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==E&&(h[0]=1));break}if(h[d]+=a,h[d]!=E)break;h[d--]=0,a=1}for(o=h.length;0===h[--o];)h.pop()}return p&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function R(e,t,n){if(!e.isFinite())return K(e);var r,i=e.e,o=T(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+W(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+W(-i-1)+o,n&&(r=n-s)>0&&(o+=W(r))):i>=s?(o+=W(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+W(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=W(r))),o}function j(e,t){var n=e[0];for(t*=_;n>=10;n/=10)t++;return t}function I(e,t,n){if(t>S)throw p=!0,n&&(e.precision=n),Error(v);return P(new e(i),t,1,!0)}function N(e,t,n){if(t>F)throw Error(v);return P(new e(o),t,n,!0)}function $(e){var t=e.length-1,n=t*_+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function W(e){for(var t="";e--;)t+="0";return t}function H(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/_+4);for(p=!1;;){if(n%2&&Q((o=o.times(t)).d,s)&&(i=!0),0===(n=b(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}Q((t=t.times(t)).d,s)}return p=!0,o}function z(e){return 1&e.d[e.d.length-1]}function U(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;){if(!(r=new e(t[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function V(e,t){var n,r,i,o,s,a,l,u=0,c=0,h=0,d=e.constructor,f=d.rounding,g=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(p=!1,l=g):l=t,a=new d(.03125);e.e>-2;)e=e.times(a),h+=5;for(l+=r=Math.log(w(2,h))/Math.LN10*2+5|0,n=o=s=new d(1),d.precision=l;;){if(o=P(o.times(e),l,1),n=n.times(++c),T((a=s.plus(O(o,n,l,1))).d).slice(0,l)===T(s.d).slice(0,l)){for(i=h;i--;)s=P(s.times(s),l,1);if(null!=t)return d.precision=g,s;if(!(u<3&&L(s.d,l-r,f,u)))return P(s,d.precision=g,f,p=!0);d.precision=l+=10,n=o=a=new d(1),c=0,u++}s=a}}function G(e,t){var n,r,i,o,s,a,l,u,c,h,d,f=1,g=e,m=g.d,v=g.constructor,y=v.rounding,b=v.precision;if(g.s<0||!m||!m[0]||!g.e&&1==m[0]&&1==m.length)return new v(m&&!m[0]?-1/0:1!=g.s?NaN:m?0:g);if(null==t?(p=!1,c=b):c=t,v.precision=c+=10,r=(n=T(m)).charAt(0),!(Math.abs(o=g.e)<15e14))return u=I(v,c+2,b).times(o+""),g=G(new v(r+"."+n.slice(1)),c-10).plus(u),v.precision=b,null==t?P(g,b,y,p=!0):g;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=T((g=g.times(e)).d)).charAt(0),f++;for(o=g.e,r>1?(g=new v("0."+n),o++):g=new v(r+"."+n.slice(1)),h=g,l=s=g=O(g.minus(1),g.plus(1),c,1),d=P(g.times(g),c,1),i=3;;){if(s=P(s.times(d),c,1),T((u=l.plus(O(s,new v(i),c,1))).d).slice(0,c)===T(l.d).slice(0,c)){if(l=l.times(2),0!==o&&(l=l.plus(I(v,c+2,b).times(o+""))),l=O(l,new v(f),c,1),null!=t)return v.precision=b,l;if(!L(l.d,c-10,y,a))return P(l,v.precision=b,y,p=!0);v.precision=c+=10,u=s=g=O(h.minus(1),h.plus(1),c,1),d=P(g.times(g),c,1),i=a=1}l=u,i+=2}}function K(e){return String(e.s*e.s/0)}function q(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);r++);for(i=t.length;48===t.charCodeAt(i-1);--i);if(t=t.slice(r,i)){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%_,n<0&&(r+=_),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=_;r<i;)e.d.push(+t.slice(r,r+=_));t=t.slice(r),r=_-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),p&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Y(e,t){var n,i,o,s,a,l,u,c,h;if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(C.test(t))n=16,t=t.toLowerCase();else if(x.test(t))n=2;else{if(!k.test(t))throw Error(m+t);n=8}for((s=t.search(/p/i))>0?(u=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),a=(s=t.indexOf("."))>=0,i=e.constructor,a&&(s=(l=(t=t.replace(".","")).length)-s,o=H(i,new i(n),s,2*s)),s=h=(c=M(t,n,E)).length-1;0===c[s];--s)c.pop();return s<0?new i(0*e.s):(e.e=j(c,h),e.d=c,p=!1,a&&(e=O(e,o,4*l)),u&&(e=e.times(Math.abs(u)<54?Math.pow(2,u):r.pow(2,u))),p=!0,e)}function X(e,t,n,r,i){var o,s,a,l,u=e.precision,c=Math.ceil(u/_);for(p=!1,l=n.times(n),a=new e(r);;){if(s=O(a.times(l),new e(t++*t++),u,1),a=i?r.plus(s):r.minus(s),r=O(s.times(l),new e(t++*t++),u,1),void 0!==(s=a.plus(r)).d[c]){for(o=c;s.d[o]===a.d[o]&&o--;);if(-1==o)break}o=a,a=r,r=s,s=o,0}return p=!0,s.d.length=c+1,s}function Z(e,t){var n,r=t.s<0,i=N(e,e.precision,1),o=i.times(.5);if((t=t.abs()).lte(o))return a=r?4:1,t;if((n=t.divToInt(i)).isZero())a=r?3:2;else{if((t=t.minus(n.times(i))).lte(o))return a=z(n)?r?2:3:r?4:1,t;a=z(n)?r?1:4:r?3:2}return t.minus(i).abs()}function J(e,t,n,r){var i,o,a,l,h,d,f,p,g,m=e.constructor,v=void 0!==n;if(v?(B(n,1,u),void 0===r?r=m.rounding:B(r,0,8)):(n=m.precision,r=m.rounding),e.isFinite()){for(a=(f=R(e)).indexOf("."),v?(i=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):i=t,a>=0&&(f=f.replace(".",""),(g=new m(1)).e=f.length-a,g.d=M(R(g),10,i),g.e=g.d.length),o=h=(p=M(f,10,i)).length;0==p[--h];)p.pop();if(p[0]){if(a<0?o--:((e=new m(e)).d=p,e.e=o,p=(e=O(e,g,n,r,0,i)).d,o=e.e,d=s),a=p[n],l=i/2,d=d||void 0!==p[n+1],d=r<4?(void 0!==a||d)&&(0===r||r===(e.s<0?3:2)):a>l||a===l&&(4===r||d||6===r&&1&p[n-1]||r===(e.s<0?8:7)),p.length=n,d)for(;++p[--n]>i-1;)p[n]=0,n||(++o,p.unshift(1));for(h=p.length;!p[h-1];--h);for(a=0,f="";a<h;a++)f+=c.charAt(p[a]);if(v){if(h>1)if(16==t||8==t){for(a=16==t?4:3,--h;h%a;h++)f+="0";for(h=(p=M(f,i,t)).length;!p[h-1];--h);for(a=1,f="1.";a<h;a++)f+=c.charAt(p[a])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>h)for(o-=h;o--;)f+="0";else o<h&&(f=f.slice(0,o)+"."+f.slice(o))}else f=v?"0p+0":"0";f=(16==t?"0x":2==t?"0b":8==t?"0o":"")+f}else f=K(e);return e.s<0?"-"+f:f}function Q(e,t){if(e.length>t)return e.length=t,!0}function ee(e){return new this(e).abs()}function te(e){return new this(e).acos()}function ne(e){return new this(e).acosh()}function re(e,t){return new this(e).plus(t)}function ie(e){return new this(e).asin()}function oe(e){return new this(e).asinh()}function se(e){return new this(e).atan()}function ae(e){return new this(e).atanh()}function le(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?N(this,r,i):new this(0)).s=e.s:!e.d||t.isZero()?(n=N(this,o,1).times(.5)).s=e.s:t.s<0?(this.precision=o,this.rounding=1,n=this.atan(O(e,t,o,1)),t=N(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(O(e,t,o,1)):(n=N(this,o,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function ue(e){return new this(e).cbrt()}function ce(e){return P(e=new this(e),e.e+1,2)}function he(e){if(!e||"object"!=typeof e)throw Error(g+"Object expected");var t,n,r,i=["precision",1,u,"rounding",0,8,"toExpNeg",-l,0,"toExpPos",0,l,"maxE",0,l,"minE",-l,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(void 0!==(r=e[n=i[t]])){if(!(b(r)===r&&r>=i[t+1]&&r<=i[t+2]))throw Error(m+n+": "+r);this[n]=r}if(void 0!==(r=e[n="crypto"])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(m+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(y);this[n]=!0}else this[n]=!1}return this}function de(e){return new this(e).cos()}function fe(e){return new this(e).cosh()}function pe(e,t){return new this(e).div(t)}function ge(e){return new this(e).exp()}function me(e){return P(e=new this(e),e.e+1,3)}function ve(){var e,t,n=new this(0);for(p=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return p=!0,new this(1/0);n=t}return p=!0,n.sqrt()}function ye(e){return new this(e).ln()}function be(e,t){return new this(e).log(t)}function we(e){return new this(e).log(2)}function xe(e){return new this(e).log(10)}function Ce(){return U(this,arguments,"lt")}function ke(){return U(this,arguments,"gt")}function Ae(e,t){return new this(e).mod(t)}function Ee(e,t){return new this(e).mul(t)}function _e(e,t){return new this(e).pow(t)}function Se(e){var t,n,r,i,o=0,s=new this(1),a=[];if(void 0===e?e=this.precision:B(e,1,u),r=Math.ceil(e/_),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=t[o])>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(y);for(t=crypto.randomBytes(r*=4);o<r;)(i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((127&t[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=r/4}else for(;o<r;)a[o++]=1e7*Math.random()|0;for(r=a[--o],e%=_,r&&e&&(i=w(10,_-e),a[o]=(r/i|0)*i);0===a[o];o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;0===a[0];n-=_)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<_&&(n-=_-r)}return s.e=n,s.d=a,s}function Fe(e){return P(e=new this(e),e.e+1,this.rounding)}function De(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function Te(e){return new this(e).sin()}function Be(e){return new this(e).sinh()}function Le(e){return new this(e).sqrt()}function Me(e,t){return new this(e).sub(t)}function Oe(e){return new this(e).tan()}function Pe(e){return new this(e).tanh()}function Re(e){return P(e=new this(e),e.e+1,1)}r=function e(t){var n,r,i;function o(e){var t,n,r,i=this;if(!(i instanceof o))return new o(e);if(i.constructor=o,e instanceof o)return i.s=e.s,i.e=e.e,void(i.d=(e=e.d)?e.slice():e);if("number"==(r=typeof e)){if(0===e)return i.s=1/e<0?-1:1,i.e=0,void(i.d=[0]);if(e<0?(e=-e,i.s=-1):i.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;return i.e=t,void(i.d=[e])}return 0*e!=0?(e||(i.s=NaN),i.e=NaN,void(i.d=null)):q(i,e.toString())}if("string"!==r)throw Error(m+e);return 45===e.charCodeAt(0)?(e=e.slice(1),i.s=-1):i.s=1,A.test(e)?q(i,e):Y(i,e)}if(o.prototype=D,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=he,o.clone=e,o.abs=ee,o.acos=te,o.acosh=ne,o.add=re,o.asin=ie,o.asinh=oe,o.atan=se,o.atanh=ae,o.atan2=le,o.cbrt=ue,o.ceil=ce,o.cos=de,o.cosh=fe,o.div=pe,o.exp=ge,o.floor=me,o.hypot=ve,o.ln=ye,o.log=be,o.log10=xe,o.log2=we,o.max=Ce,o.min=ke,o.mod=Ae,o.mul=Ee,o.pow=_e,o.random=Se,o.round=Fe,o.sign=De,o.sin=Te,o.sinh=Be,o.sqrt=Le,o.sub=Me,o.tan=Oe,o.tanh=Pe,o.trunc=Re,void 0===t&&(t={}),t)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)t.hasOwnProperty(r=i[n++])||(t[r]=this[r]);return o.config(t),o}(f),i=new r(h),o=new r(d),t.a=r},,,,,,,,,,function(e,t,n){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),r=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),s=r||i||o,a=s&&(r?document.documentMode||6:+(o||i)[1]),l=!o&&/WebKit\//.test(e),u=l&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),h=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),f=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),g=!o&&/AppleWebKit/.test(e)&&/Mobile\/\w+/.test(e),m=/Android/.test(e),v=g||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=g||/Mac/.test(t),b=/\bCrOS\b/.test(e),w=/win/i.test(t),x=h&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(h=!1,l=!0);var C=y&&(u||h&&(null==x||x<12.11)),k=n||s&&a>=9;function A(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var E,_=function(e,t){var n=e.className,r=A(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function S(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function F(e,t){return S(e).appendChild(t)}function D(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function T(e,t,n,r){var i=D(e,t,n,r);return i.setAttribute("role","presentation"),i}function B(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function L(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function M(e,t){var n=e.className;A(t).test(n)||(e.className+=(n?" ":"")+t)}function O(e,t){for(var n=e.split(" "),r=0;r<n.length;r++)n[r]&&!A(n[r]).test(t)&&(t+=" "+n[r]);return t}E=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};var P=function(e){e.select()};function R(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function j(e,t,n){for(var r in t||(t={}),e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function I(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=r||0,s=i||0;;){var a=e.indexOf("\t",o);if(a<0||a>=t)return s+(t-o);s+=a-o,s+=n-s%n,o=a+1}}g?P=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:s&&(P=function(e){try{e.select()}catch(e){}});var N=function(){this.id=null};function $(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}N.prototype.set=function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)};var W=30,H={toString:function(){return"CodeMirror.Pass"}},z={scroll:!1},U={origin:"*mouse"},V={origin:"+move"};function G(e,t,n){for(var r=0,i=0;;){var o=e.indexOf("\t",r);-1==o&&(o=e.length);var s=o-r;if(o==e.length||i+s>=t)return r+Math.min(s,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var K=[""];function q(e){for(;K.length<=e;)K.push(Y(K)+" ");return K[e]}function Y(e){return e[e.length-1]}function X(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function Z(){}function J(e,t){var n;return Object.create?n=Object.create(e):(Z.prototype=e,n=new Z),t&&j(t,n),n}var Q=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function ee(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||Q.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var re=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&re.test(e)}function oe(e,t,n){for(;(n<0?t>0:t<e.length)&&ie(e.charAt(t));)t+=n;return t}function se(e,t,n){for(var r=t>n?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}function ae(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function le(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i}),r}function ue(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function ce(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function he(e){if(null==e.parent)return null;for(var t=e.parent,n=$(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function de(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var s=0;s<e.lines.length;++s){var a=e.lines[s],l=a.height;if(t<l)break;t-=l}return n+s}function fe(e,t){return t>=e.first&&t<e.first+e.size}function pe(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function ge(e,t,n){if(void 0===n&&(n=null),!(this instanceof ge))return new ge(e,t,n);this.line=e,this.ch=t,this.sticky=n}function me(e,t){return e.line-t.line||e.ch-t.ch}function ve(e,t){return e.sticky==t.sticky&&0==me(e,t)}function ye(e){return ge(e.line,e.ch)}function be(e,t){return me(e,t)<0?t:e}function we(e,t){return me(e,t)<0?e:t}function xe(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function Ce(e,t){if(t.line<e.first)return ge(e.first,0);var n=e.first+e.size-1;return t.line>n?ge(n,ae(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?ge(e.line,t):n<0?ge(e.line,0):e}(t,ae(e,t.line).text.length)}function ke(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=Ce(e,t[r]);return n}var Ae=!1,Ee=!1;function _e(e,t,n){this.marker=e,this.from=t,this.to=n}function Se(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function Fe(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function De(e,t){if(t.full)return null;var n=fe(e,t.from.line)&&ae(e,t.from.line).markedSpans,r=fe(e,t.to.line)&&ae(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,s=0==me(t.from,t.to),a=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],s=o.marker,a=null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t);if(a||o.from==t&&"bookmark"==s.type&&(!n||!o.marker.insertLeft)){var l=null==o.to||(s.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new _e(s,o.from,l?null:o.to))}}return r}(n,i,s),l=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],s=o.marker,a=null==o.to||(s.inclusiveRight?o.to>=t:o.to>t);if(a||o.from==t&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var l=null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new _e(s,l?null:o.from-t,null==o.to?null:o.to-t))}}return r}(r,o,s),u=1==t.text.length,c=Y(t.text).length+(u?i:0);if(a)for(var h=0;h<a.length;++h){var d=a[h];if(null==d.to){var f=Se(l,d.marker);f?u&&(d.to=null==f.to?null:f.to+c):d.to=i}}if(l)for(var p=0;p<l.length;++p){var g=l[p];if(null!=g.to&&(g.to+=c),null==g.from){var m=Se(a,g.marker);m||(g.from=c,u&&(a||(a=[])).push(g))}else g.from+=c,u&&(a||(a=[])).push(g)}a&&(a=Te(a)),l&&l!=a&&(l=Te(l));var v=[a];if(!u){var y,b=t.text.length-2;if(b>0&&a)for(var w=0;w<a.length;++w)null==a[w].to&&(y||(y=[])).push(new _e(a[w].marker,null,null));for(var x=0;x<b;++x)v.push(y);v.push(l)}return v}function Te(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Be(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Le(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Me(e){return e.inclusiveLeft?-1:0}function Oe(e){return e.inclusiveRight?1:0}function Pe(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),o=me(r.from,i.from)||Me(e)-Me(t);if(o)return-o;var s=me(r.to,i.to)||Oe(e)-Oe(t);return s||t.id-e.id}function Re(e,t){var n,r=Ee&&e.markedSpans;if(r)for(var i=void 0,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||Pe(n,i.marker)<0)&&(n=i.marker);return n}function je(e){return Re(e,!0)}function Ie(e){return Re(e,!1)}function Ne(e,t){var n,r=Ee&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||Pe(n,o.marker)<0)&&(n=o.marker)}return n}function $e(e,t,n,r,i){var o=ae(e,t),s=Ee&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var u=l.marker.find(0),c=me(u.from,n)||Me(l.marker)-Me(i),h=me(u.to,r)||Oe(l.marker)-Oe(i);if(!(c>=0&&h<=0||c<=0&&h>=0)&&(c<=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?me(u.to,n)>=0:me(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?me(u.from,r)<=0:me(u.from,r)<0)))return!0}}}function We(e){for(var t;t=je(e);)e=t.find(-1,!0).line;return e}function He(e,t){var n=ae(e,t),r=We(n);return n==r?t:he(r)}function ze(e,t){if(t>e.lastLine())return t;var n,r=ae(e,t);if(!Ue(e,r))return t;for(;n=Ie(r);)r=n.find(1,!0).line;return he(r)+1}function Ue(e,t){var n=Ee&&t.markedSpans;if(n)for(var r=void 0,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&Ve(e,t,r))return!0}}function Ve(e,t,n){if(null==n.to){var r=n.marker.find(1,!0);return Ve(e,r.line,Se(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if((i=t.markedSpans[o]).marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(null==i.to||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&Ve(e,t,i))return!0}function Ge(e){for(var t=0,n=(e=We(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==n)break;t+=a.height}return t}function Ke(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=je(r);){var i=t.find(0,!0);r=i.from.line,n+=i.from.ch-i.to.ch}for(r=e;t=Ie(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,r=o.to.line,n+=r.text.length-o.to.ch}return n}function qe(e){var t=e.display,n=e.doc;t.maxLine=ae(n,n.first),t.maxLineLength=Ke(t.maxLine),t.maxLineChanged=!0,n.iter(function(e){var n=Ke(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}var Ye=null;function Xe(e,t,n){var r;Ye=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:Ye=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:Ye=i)}return null!=r?r:Ye}var Ze=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,r=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,s=/[1n]/;function a(e,t,n){this.level=e,this.from=t,this.to=n}return function(l,u){var c,h="ltr"==u?"L":"R";if(0==l.length||"ltr"==u&&!n.test(l))return!1;for(var d=l.length,f=[],p=0;p<d;++p)f.push((c=l.charCodeAt(p))<=247?e.charAt(c):1424<=c&&c<=1524?"R":1536<=c&&c<=1785?t.charAt(c-1536):1774<=c&&c<=2220?"r":8192<=c&&c<=8203?"w":8204==c?"b":"L");for(var g=0,m=h;g<d;++g){var v=f[g];"m"==v?f[g]=m:m=v}for(var y=0,b=h;y<d;++y){var w=f[y];"1"==w&&"r"==b?f[y]="n":i.test(w)&&(b=w,"r"==w&&(f[y]="R"))}for(var x=1,C=f[0];x<d-1;++x){var k=f[x];"+"==k&&"1"==C&&"1"==f[x+1]?f[x]="1":","!=k||C!=f[x+1]||"1"!=C&&"n"!=C||(f[x]=C),C=k}for(var A=0;A<d;++A){var E=f[A];if(","==E)f[A]="N";else if("%"==E){var _=void 0;for(_=A+1;_<d&&"%"==f[_];++_);for(var S=A&&"!"==f[A-1]||_<d&&"1"==f[_]?"1":"N",F=A;F<_;++F)f[F]=S;A=_-1}}for(var D=0,T=h;D<d;++D){var B=f[D];"L"==T&&"1"==B?f[D]="L":i.test(B)&&(T=B)}for(var L=0;L<d;++L)if(r.test(f[L])){var M=void 0;for(M=L+1;M<d&&r.test(f[M]);++M);for(var O="L"==(L?f[L-1]:h),P="L"==(M<d?f[M]:h),R=O==P?O?"L":"R":h,j=L;j<M;++j)f[j]=R;L=M-1}for(var I,N=[],$=0;$<d;)if(o.test(f[$])){var W=$;for(++$;$<d&&o.test(f[$]);++$);N.push(new a(0,W,$))}else{var H=$,z=N.length;for(++$;$<d&&"L"!=f[$];++$);for(var U=H;U<$;)if(s.test(f[U])){H<U&&N.splice(z,0,new a(1,H,U));var V=U;for(++U;U<$&&s.test(f[U]);++U);N.splice(z,0,new a(2,V,U)),H=U}else++U;H<$&&N.splice(z,0,new a(1,H,$))}return"ltr"==u&&(1==N[0].level&&(I=l.match(/^\s+/))&&(N[0].from=I[0].length,N.unshift(new a(0,0,I[0].length))),1==Y(N).level&&(I=l.match(/\s+$/))&&(Y(N).to-=I[0].length,N.push(new a(0,d-I[0].length,d)))),"rtl"==u?N.reverse():N}}();function Je(e,t){var n=e.order;return null==n&&(n=e.order=Ze(e.text,t)),n}var Qe=[],et=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||Qe).concat(n)}};function tt(e,t){return e._handlers&&e._handlers[t]||Qe}function nt(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=$(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function rt(e,t){var n=tt(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function it(e,t,n){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),rt(e,n||t.type,e,t),ct(t)||t.codemirrorIgnore}function ot(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==$(n,t[r])&&n.push(t[r])}function st(e,t){return tt(e,t).length>0}function at(e){e.prototype.on=function(e,t){et(this,e,t)},e.prototype.off=function(e,t){nt(this,e,t)}}function lt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function ut(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function ct(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function ht(e){lt(e),ut(e)}function dt(e){return e.target||e.srcElement}function ft(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var pt,gt,mt=function(){if(s&&a<9)return!1;var e=D("div");return"draggable"in e||"dragDrop"in e}();function vt(e){if(null==pt){var t=D("span","");F(e,D("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(pt=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&a<8))}var n=pt?D("span",""):D("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function yt(e){if(null!=gt)return gt;var t=F(e,document.createTextNode("AخA")),n=E(t,0,1).getBoundingClientRect(),r=E(t,1,2).getBoundingClientRect();return S(e),!(!n||n.left==n.right)&&(gt=r.right-n.right<3)}var bt,wt=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),t+=s+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},xt=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Ct="oncopy"in(bt=D("div"))||(bt.setAttribute("oncopy","return;"),"function"==typeof bt.oncopy),kt=null,At={},Et={};function _t(e){if("string"==typeof e&&Et.hasOwnProperty(e))e=Et[e];else if(e&&"string"==typeof e.name&&Et.hasOwnProperty(e.name)){var t=Et[e.name];"string"==typeof t&&(t={name:t}),(e=J(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return _t("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return _t("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function St(e,t){t=_t(t);var n=At[t.name];if(!n)return St(e,"text/plain");var r=n(e,t);if(Ft.hasOwnProperty(t.name)){var i=Ft[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var s in t.modeProps)r[s]=t.modeProps[s];return r}var Ft={};function Dt(e,t){var n=Ft.hasOwnProperty(e)?Ft[e]:Ft[e]={};j(t,n)}function Tt(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Bt(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Lt(e,t,n){return!e.startState||e.startState(t,n)}var Mt=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};Mt.prototype.eol=function(){return this.pos>=this.string.length},Mt.prototype.sol=function(){return this.pos==this.lineStart},Mt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Mt.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Mt.prototype.eat=function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},Mt.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Mt.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Mt.prototype.skipToEnd=function(){this.pos=this.string.length},Mt.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Mt.prototype.backUp=function(e){this.pos-=e},Mt.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=I(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?I(this.string,this.lineStart,this.tabSize):0)},Mt.prototype.indentation=function(){return I(this.string,null,this.tabSize)-(this.lineStart?I(this.string,this.lineStart,this.tabSize):0)},Mt.prototype.match=function(e,t,n){if("string"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);if(i(o)==i(e))return!1!==t&&(this.pos+=e.length),!0},Mt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Mt.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Mt.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Mt.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var Ot=function(e,t){this.state=e,this.lookAhead=t},Pt=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function Rt(e,t,n,r){var i=[e.state.modeGen],o={};Vt(e,t.text,e.doc.mode,n,function(e,t){return i.push(e,t)},o,r);for(var s=n.state,a=function(r){n.baseTokens=i;var a=e.state.overlays[r],l=1,u=0;n.state=!0,Vt(e,t.text,a.mode,n,function(e,t){for(var n=l;u<e;){var r=i[l];r>e&&i.splice(l,1,e,i[l+1],r),l+=2,u=Math.min(e,r)}if(t)if(a.opaque)i.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;n<l;n+=2){var o=i[n+1];i[n+1]=(o?o+" ":"")+"overlay "+t}},o),n.state=s,n.baseTokens=null,n.baseTokenPos=1},l=0;l<e.state.overlays.length;++l)a(l);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function jt(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=It(e,he(t)),i=t.text.length>e.options.maxHighlightLength&&Tt(e.doc.mode,r.state),o=Rt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function It(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Pt(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,s=n?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>s;--a){if(a<=o.first)return o.first;var l=ae(o,a-1),u=l.stateAfter;if(u&&(!n||a+(u instanceof Ot?u.lookAhead:0)<=o.modeFrontier))return a;var c=I(l.text,null,e.options.tabSize);(null==i||r>c)&&(i=a-1,r=c)}return i}(e,t,n),s=o>r.first&&ae(r,o-1).stateAfter,a=s?Pt.fromSaved(r,s,o):new Pt(r,Lt(r.mode),o);return r.iter(o,t,function(n){Nt(e,n.text,a);var r=a.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&r<i.viewTo?a.save():null,a.nextLine()}),n&&(r.modeFrontier=a.line),a}function Nt(e,t,n,r){var i=e.doc.mode,o=new Mt(t,e.options.tabSize,n);for(o.start=o.pos=r||0,""==t&&$t(i,n.state);!o.eol();)Wt(i,o,n.state),o.start=o.pos}function $t(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=Bt(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function Wt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=Bt(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}Pt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},Pt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Pt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Pt.fromSaved=function(e,t,n){return t instanceof Ot?new Pt(e,Tt(e.mode,t.state),n,t.lookAhead):new Pt(e,Tt(e.mode,t),n)},Pt.prototype.save=function(e){var t=!1!==e?Tt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Ot(t,this.maxLookAhead):t};var Ht=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function zt(e,t,n,r){var i,o=e.doc,s=o.mode;t=Ce(o,t);var a,l=ae(o,t.line),u=It(e,t.line,n),c=new Mt(l.text,e.options.tabSize,u);for(r&&(a=[]);(r||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=Wt(s,c,u.state),r&&a.push(new Ht(c,i,Tt(o.mode,u.state)));return r?a:new Ht(c,i,u.state)}function Ut(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?"bgClass":"textClass";null==t[r]?t[r]=n[2]:new RegExp("(?:^|s)"+n[2]+"(?:$|s)").test(t[r])||(t[r]+=" "+n[2])}return e}function Vt(e,t,n,r,i,o,s){var a=n.flattenSpans;null==a&&(a=e.options.flattenSpans);var l,u=0,c=null,h=new Mt(t,e.options.tabSize,r),d=e.options.addModeClass&&[null];for(""==t&&Ut($t(n,r.state),o);!h.eol();){if(h.pos>e.options.maxHighlightLength?(a=!1,s&&Nt(e,t,r,h.pos),h.pos=t.length,l=null):l=Ut(Wt(n,h,r.state,d),o),d){var f=d[0].name;f&&(l="m-"+(l?f+" "+l:f))}if(!a||c!=l){for(;u<h.start;)u=Math.min(h.start,u+5e3),i(u,c);c=l}h.start=h.pos}for(;u<h.pos;){var p=Math.min(h.pos,u+5e3);i(p,c),u=p}}var Gt=function(e,t,n){this.text=e,Le(this,t),this.height=n?n(this):1};function Kt(e){e.parent=null,Be(e)}Gt.prototype.lineNo=function(){return he(this)},at(Gt);var qt={},Yt={};function Xt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Yt:qt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Zt(e,t){var n=T("span",null,null,l?"padding-right: .1px":null),r={pre:T("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,s=void 0;r.pos=0,r.addToken=Qt,yt(e.display.measure)&&(s=Je(o,e.doc.direction))&&(r.addToken=en(r.addToken,s)),r.map=[];var a=t!=e.display.externalMeasured&&he(o);nn(o,r,jt(e,o,a)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=O(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=O(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(vt(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var u=r.content.lastChild;(/\bcm-tab\b/.test(u.className)||u.querySelector&&u.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return rt(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=O(r.pre.className,r.textClass||"")),r}function Jt(e){var t=D("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Qt(e,t,n,r,i,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;i<e.length;i++){var o=e.charAt(i);" "!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=" "),r+=o,n=" "==o}return r}(t,e.trailingSpace):t,h=e.cm.state.specialChars,d=!1;if(h.test(t)){u=document.createDocumentFragment();for(var f=0;;){h.lastIndex=f;var p=h.exec(t),g=p?p.index-f:t.length-f;if(g){var m=document.createTextNode(c.slice(f,f+g));s&&a<9?u.appendChild(D("span",[m])):u.appendChild(m),e.map.push(e.pos,e.pos+g,m),e.col+=g,e.pos+=g}if(!p)break;f+=g+1;var v=void 0;if("\t"==p[0]){var y=e.cm.options.tabSize,b=y-e.col%y;(v=u.appendChild(D("span",q(b),"cm-tab"))).setAttribute("role","presentation"),v.setAttribute("cm-text","\t"),e.col+=b}else"\r"==p[0]||"\n"==p[0]?((v=u.appendChild(D("span","\r"==p[0]?"␍":"␤","cm-invalidchar"))).setAttribute("cm-text",p[0]),e.col+=1):((v=e.cm.options.specialCharPlaceholder(p[0])).setAttribute("cm-text",p[0]),s&&a<9?u.appendChild(D("span",[v])):u.appendChild(v),e.col+=1);e.map.push(e.pos,e.pos+1,v),e.pos++}}else e.col+=t.length,u=document.createTextNode(c),e.map.push(e.pos,e.pos+t.length,u),s&&a<9&&(d=!0),e.pos+=t.length;if(e.trailingSpace=32==c.charCodeAt(t.length-1),n||r||i||d||o){var w=n||"";r&&(w+=r),i&&(w+=i);var x=D("span",[u],w,o);if(l)for(var C in l)l.hasOwnProperty(C)&&"style"!=C&&"class"!=C&&x.setAttribute(C,l[C]);return e.content.appendChild(x)}e.content.appendChild(u)}}function en(e,t){return function(n,r,i,o,s,a,l){i=i?i+" cm-force-border":"cm-force-border";for(var u=n.pos,c=u+r.length;;){for(var h=void 0,d=0;d<t.length&&!((h=t[d]).to>u&&h.from<=u);d++);if(h.to>=c)return e(n,r,i,o,s,a,l);e(n,r.slice(0,h.to-u),i,o,null,a,l),o=null,r=r.slice(h.to-u),u=h.to}}}function tn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function nn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var s,a,l,u,c,h,d,f=i.length,p=0,g=1,m="",v=0;;){if(v==p){l=u=c=a="",d=null,h=null,v=1/0;for(var y=[],b=void 0,w=0;w<r.length;++w){var x=r[w],C=x.marker;if("bookmark"==C.type&&x.from==p&&C.widgetNode)y.push(C);else if(x.from<=p&&(null==x.to||x.to>p||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&v>x.to&&(v=x.to,u=""),C.className&&(l+=" "+C.className),C.css&&(a=(a?a+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==v&&(b||(b=[])).push(C.endStyle,x.to),C.title&&((d||(d={})).title=C.title),C.attributes)for(var k in C.attributes)(d||(d={}))[k]=C.attributes[k];C.collapsed&&(!h||Pe(h.marker,C)<0)&&(h=x)}else x.from>p&&v>x.from&&(v=x.from)}if(b)for(var A=0;A<b.length;A+=2)b[A+1]==v&&(u+=" "+b[A]);if(!h||h.from==p)for(var E=0;E<y.length;++E)tn(t,0,y[E]);if(h&&(h.from||0)==p){if(tn(t,(null==h.to?f+1:h.to)-p,h.marker,null==h.from),null==h.to)return;h.to==p&&(h=!1)}}if(p>=f)break;for(var _=Math.min(f,v);;){if(m){var S=p+m.length;if(!h){var F=S>_?m.slice(0,_-p):m;t.addToken(t,F,s?s+l:l,c,p+F.length==v?u:"",a,d)}if(S>=_){m=m.slice(_-p),p=_;break}p=S,c=""}m=i.slice(o,o=n[g++]),s=Xt(n[g++],t.cm.options)}}else for(var D=1;D<n.length;D+=2)t.addToken(t,i.slice(o,o=n[D]),Xt(n[D+1],t.cm.options))}function rn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Ie(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}(t),this.size=this.rest?he(Y(this.rest))-n+1:1,this.node=this.text=null,this.hidden=Ue(e,t)}function on(e,t,n){for(var r,i=[],o=t;o<n;o=r){var s=new rn(e.doc,ae(e.doc,o),o);r=o+s.size,i.push(s)}return i}var sn=null,an=null;function ln(e,t){var n=tt(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);sn?r=sn.delayedCallbacks:an?r=an:(r=an=[],setTimeout(un,0));for(var o=function(e){r.push(function(){return n[e].apply(null,i)})},s=0;s<n.length;++s)o(s)}}function un(){var e=an;an=null;for(var t=0;t<e.length;++t)e[t]()}function cn(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];"text"==o?fn(e,t):"gutter"==o?gn(e,t,n,r):"class"==o?pn(e,t):"widget"==o&&mn(e,t,r)}t.changes=null}function hn(e){return e.node==e.text&&(e.node=D("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),s&&a<8&&(e.node.style.zIndex=2)),e.node}function dn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Zt(e,t)}function fn(e,t){var n=t.text.className,r=dn(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,pn(e,t)):n&&(t.text.className=n)}function pn(e,t){!function(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var r=hn(t);t.background=r.insertBefore(D("div",null,n),r.firstChild),e.display.input.setUneditable(t.background)}}(e,t),t.line.wrapClass?hn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function gn(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=hn(t);t.gutterBackground=D("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var s=hn(t),a=t.gutter=D("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(e.display.input.setUneditable(a),s.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(D("div",pe(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<e.options.gutters.length;++l){var u=e.options.gutters[l],c=o.hasOwnProperty(u)&&o[u];c&&a.appendChild(D("div",[c],"CodeMirror-gutter-elt","left: "+r.gutterLeft[u]+"px; width: "+r.gutterWidth[u]+"px"))}}}function mn(e,t,n){t.alignable&&(t.alignable=null);for(var r=t.node.firstChild,i=void 0;r;r=i)i=r.nextSibling,"CodeMirror-linewidget"==r.className&&t.node.removeChild(r);yn(e,t,n)}function vn(e,t,n,r){var i=dn(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),pn(e,t),gn(e,t,n,r),yn(e,t,r),t.node}function yn(e,t,n){if(bn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)bn(e,t.rest[r],t,n,!1)}function bn(e,t,n,r,i){if(t.widgets)for(var o=hn(n),s=0,a=t.widgets;s<a.length;++s){var l=a[s],u=D("div",[l.node],"CodeMirror-linewidget");l.handleMouseEvents||u.setAttribute("cm-ignore-events","true"),wn(l,u,n,r),e.display.input.setUneditable(u),i&&l.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),ln(l,"redraw")}}function wn(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+"px",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+"px"))}function xn(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!B(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),F(t.display.measure,D("div",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function Cn(e,t){for(var n=dt(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function kn(e){return e.lineSpace.offsetTop}function An(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function En(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=F(e.measure,D("pre","x")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(e.cachedPaddingH=r),r}function _n(e){return W-e.display.nativeBarWidth}function Sn(e){return e.display.scroller.clientWidth-_n(e)-e.display.barWidth}function Fn(e){return e.display.scroller.clientHeight-_n(e)-e.display.barHeight}function Dn(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(he(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Tn(e,t,n,r){return Mn(e,Ln(e,t),n,r)}function Bn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[lr(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function Ln(e,t){var n=he(t),r=Bn(e,n);r&&!r.text?r=null:r&&r.changes&&(cn(e,r,n,rr(e)),e.curOp.forceUpdate=!0),r||(r=function(e,t){var n=he(t=We(t)),r=e.display.externalMeasured=new rn(e.doc,t,n);r.lineN=n;var i=r.built=Zt(e,r);return r.text=i.pre,F(e.display.lineMeasure,i.pre),r}(e,t));var i=Dn(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Mn(e,t,n,r,i){t.before&&(n=-1);var o,l=n+(r||"");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var r=e.options.lineWrapping,i=r&&Sn(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var s=t.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],u=s[a+1];Math.abs(l.bottom-u.bottom)>2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=Rn(t.map,n,r),l=o.node,u=o.start,c=o.end,h=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;u&&ie(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c<o.coverEnd&&ie(t.line.text.charAt(o.coverStart+c));)++c;if((i=s&&a<9&&0==u&&c==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():jn(E(l,u,c).getClientRects(),r)).left||i.right||0==u)break;c=u,u-=1,h="right"}s&&a<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=kt)return kt;var t=F(e,D("span","x")),n=t.getBoundingClientRect(),r=E(t,0,1).getBoundingClientRect();return kt=Math.abs(n.left-r.left)>1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var f;u>0&&(h=r="right"),i=e.options.lineWrapping&&(f=l.getClientRects()).length>1?f["right"==r?f.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!u&&(!i||!i.left&&!i.right)){var p=l.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+nr(e.display),top:p.top,bottom:p.bottom}:Pn}for(var g=i.top-t.rect.top,m=i.bottom-t.rect.top,v=(g+m)/2,y=t.view.measure.heights,b=0;b<y.length-1&&!(v<y[b]);b++);var w=b?y[b-1]:0,x=y[b],C={left:("right"==h?i.right:i.left)-t.rect.left,right:("left"==h?i.left:i.right)-t.rect.left,top:w,bottom:x};return i.left||i.right||(C.bogus=!0),e.options.singleCursorHeightPerLine||(C.rtop=g,C.rbottom=m),C}(e,t,n,r)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var On,Pn={left:0,right:0,top:0,bottom:0};function Rn(e,t,n){for(var r,i,o,s,a,l,u=0;u<e.length;u+=3)if(a=e[u],l=e[u+1],t<a?(i=0,o=1,s="left"):t<l?o=1+(i=t-a):(u==e.length-3||t==l&&e[u+3]>t)&&(i=(o=l-a)-1,t>=l&&(s="right")),null!=i){if(r=e[u+2],a==l&&n==(r.insertLeft?"left":"right")&&(s=n),"left"==n&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[2+(u-=3)],s="left";if("right"==n&&i==l-a)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],s="right";break}return{node:r,start:i,end:o,collapse:s,coverStart:a,coverEnd:l}}function jn(e,t){var n=Pn;if("left"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function In(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Nn(e){e.display.externalMeasure=null,S(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)In(e.display.view[t])}function $n(e){Nn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Wn(){return c&&m?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Hn(){return c&&m?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function zn(e){var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;++n)e.widgets[n].above&&(t+=xn(e.widgets[n]));return t}function Un(e,t,n,r,i){if(!i){var o=zn(t);n.top+=o,n.bottom+=o}if("line"==r)return n;r||(r="local");var s=Ge(t);if("local"==r?s+=kn(e.display):s-=e.display.viewOffset,"page"==r||"window"==r){var a=e.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==r?0:Hn());var l=a.left+("window"==r?0:Wn());n.left+=l,n.right+=l}return n.top+=s,n.bottom+=s,n}function Vn(e,t,n){if("div"==n)return t;var r=t.left,i=t.top;if("page"==n)r-=Wn(),i-=Hn();else if("local"==n||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var s=e.display.lineSpace.getBoundingClientRect();return{left:r-s.left,top:i-s.top}}function Gn(e,t,n,r,i){return r||(r=ae(e.doc,t.line)),Un(e,r,Tn(e,r,t.ch,i),n)}function Kn(e,t,n,r,i,o){function s(t,s){var a=Mn(e,i,t,s?"right":"left",o);return s?a.left=a.right:a.right=a.left,Un(e,r,a,n)}r=r||ae(e.doc,t.line),i||(i=Ln(e,r));var a=Je(r,e.doc.direction),l=t.ch,u=t.sticky;if(l>=r.text.length?(l=r.text.length,u="before"):l<=0&&(l=0,u="after"),!a)return s("before"==u?l-1:l,"before"==u);function c(e,t,n){var r=a[t],i=1==r.level;return s(n?e-1:e,i!=n)}var h=Xe(a,l,u),d=Ye,f=c(l,h,"before"==u);return null!=d&&(f.other=c(l,d,"before"!=u)),f}function qn(e,t){var n=0;t=Ce(e.doc,t),e.options.lineWrapping||(n=nr(e.display)*t.ch);var r=ae(e.doc,t.line),i=Ge(r)+kn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Yn(e,t,n,r,i){var o=ge(e,t,n);return o.xRel=i,r&&(o.outside=!0),o}function Xn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Yn(r.first,0,null,!0,-1);var i=de(r,n),o=r.first+r.size-1;if(i>o)return Yn(r.first+r.size-1,ae(r,o).text.length,null,!0,1);t<0&&(t=0);for(var s=ae(r,i);;){var a=er(e,s,i,t,n),l=Ne(s,a.ch+(a.xRel>0?1:0));if(!l)return a;var u=l.find(1);if(u.line==i)return u;s=ae(r,i=u.line)}}function Zn(e,t,n,r){r-=zn(t);var i=t.text.length,o=se(function(t){return Mn(e,n,t-1).bottom<=r},i,0);return i=se(function(t){return Mn(e,n,t).top>r},o,i),{begin:o,end:i}}function Jn(e,t,n,r){n||(n=Ln(e,t));var i=Un(e,t,Mn(e,n,r),"line").top;return Zn(e,t,n,i)}function Qn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function er(e,t,n,r,i){i-=Ge(t);var o=Ln(e,t),s=zn(t),a=0,l=t.text.length,u=!0,c=Je(t,e.doc.direction);if(c){var h=(e.options.lineWrapping?function(e,t,n,r,i,o,s){var a=Zn(e,t,r,s),l=a.begin,u=a.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,h=null,d=0;d<i.length;d++){var f=i[d];if(!(f.from>=u||f.to<=l)){var p=1!=f.level,g=Mn(e,r,p?Math.min(u,f.to)-1:Math.max(l,f.from)).right,m=g<o?o-g+1e9:g-o;(!c||h>m)&&(c=f,h=m)}}return c||(c=i[i.length-1]),c.from<l&&(c={from:l,to:c.to,level:c.level}),c.to>u&&(c={from:c.from,to:u,level:c.level}),c}:function(e,t,n,r,i,o,s){var a=se(function(a){var l=i[a],u=1!=l.level;return Qn(Kn(e,ge(n,u?l.to:l.from,u?"before":"after"),"line",t,r),o,s,!0)},0,i.length-1),l=i[a];if(a>0){var u=1!=l.level,c=Kn(e,ge(n,u?l.from:l.to,u?"after":"before"),"line",t,r);Qn(c,o,s,!0)&&c.top>s&&(l=i[a-1])}return l})(e,t,n,o,c,r,i);u=1!=h.level,a=u?h.from:h.to-1,l=u?h.to:h.from-1}var d,f,p=null,g=null,m=se(function(t){var n=Mn(e,o,t);return n.top+=s,n.bottom+=s,!!Qn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(p=t,g=n),!0)},a,l),v=!1;if(g){var y=r-g.left<g.right-r,b=y==u;m=p+(b?0:1),f=b?"after":"before",d=y?g.left:g.right}else{u||m!=l&&m!=a||m++,f=0==m?"after":m==t.text.length?"before":Mn(e,o,m-(u?1:0)).bottom+s<=i==u?"after":"before";var w=Kn(e,ge(n,m,f),"line",t,o);d=w.left,v=i<w.top||i>=w.bottom}return m=oe(t.text,m,1),Yn(n,m,f,v,r-d)}function tr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==On){On=D("pre");for(var t=0;t<49;++t)On.appendChild(document.createTextNode("x")),On.appendChild(D("br"));On.appendChild(document.createTextNode("x"))}F(e.measure,On);var n=On.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),S(e.measure),n||1}function nr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=D("span","xxxxxxxxxx"),n=D("pre",[t]);F(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function rr(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,s=0;o;o=o.nextSibling,++s)n[e.options.gutters[s]]=o.offsetLeft+o.clientLeft+i,r[e.options.gutters[s]]=o.clientWidth;return{fixedPos:ir(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function ir(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function or(e){var t=tr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/nr(e.display)-3);return function(i){if(Ue(e.doc,i))return 0;var o=0;if(i.widgets)for(var s=0;s<i.widgets.length;s++)i.widgets[s].height&&(o+=i.widgets[s].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function sr(e){var t=e.doc,n=or(e);t.iter(function(e){var t=n(e);t!=e.height&&ce(e,t)})}function ar(e,t,n,r){var i=e.display;if(!n&&"true"==dt(t).getAttribute("cm-not-content"))return null;var o,s,a=i.lineSpace.getBoundingClientRect();try{o=t.clientX-a.left,s=t.clientY-a.top}catch(t){return null}var l,u=Xn(e,o,s);if(r&&1==u.xRel&&(l=ae(e.doc,u.line).text).length==u.ch){var c=I(l,l.length,e.options.tabSize)-l.length;u=ge(u.line,Math.max(0,Math.round((o-En(e.display).left)/nr(e.display))-c))}return u}function lr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function ur(e){e.display.input.showSelection(e.display.input.prepareSelection())}function cr(e,t){void 0===t&&(t=!0);for(var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),s=0;s<n.sel.ranges.length;s++)if(t||s!=n.sel.primIndex){var a=n.sel.ranges[s];if(!(a.from().line>=e.display.viewTo||a.to().line<e.display.viewFrom)){var l=a.empty();(l||e.options.showCursorWhenSelecting)&&hr(e,a.head,i),l||fr(e,a,o)}}return r}function hr(e,t,n){var r=Kn(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(D("div"," ","CodeMirror-cursor"));if(i.style.left=r.left+"px",i.style.top=r.top+"px",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+"px",r.other){var o=n.appendChild(D("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));o.style.display="",o.style.left=r.other.left+"px",o.style.top=r.other.top+"px",o.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function dr(e,t){return e.top-t.top||e.left-t.left}function fr(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),s=En(e.display),a=s.left,l=Math.max(r.sizerWidth,Sn(e)-r.sizer.offsetLeft)-s.right,u="ltr"==i.direction;function c(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),o.appendChild(D("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==n?l-e:n)+"px;\n height: "+(r-t)+"px"))}function h(t,n,r){var o,s,h=ae(i,t),d=h.text.length;function f(n,r){return Gn(e,ge(t,n),"div",h,r)}function p(t,n,r){var i=Jn(e,h,null,t),o="ltr"==n==("after"==r)?"left":"right",s="after"==r?i.begin:i.end-(/\s/.test(h.text.charAt(i.end-1))?2:1);return f(s,o)[o]}var g=Je(h,i.direction);return function(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,o=0;o<e.length;++o){var s=e[o];(s.from<n&&s.to>t||t==n&&s.to==t)&&(r(Math.max(s.from,t),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(g,n||0,null==r?d:r,function(e,t,i,h){var m="ltr"==i,v=f(e,m?"left":"right"),y=f(t-1,m?"right":"left"),b=null==n&&0==e,w=null==r&&t==d,x=0==h,C=!g||h==g.length-1;if(y.top-v.top<=3){var k=(u?b:w)&&x,A=(u?w:b)&&C,E=k?a:(m?v:y).left,_=A?l:(m?y:v).right;c(E,v.top,_-E,v.bottom)}else{var S,F,D,T;m?(S=u&&b&&x?a:v.left,F=u?l:p(e,i,"before"),D=u?a:p(t,i,"after"),T=u&&w&&C?l:y.right):(S=u?p(e,i,"before"):a,F=!u&&b&&x?l:v.right,D=!u&&w&&C?a:y.left,T=u?p(t,i,"after"):l),c(S,v.top,F-S,v.bottom),v.bottom<y.top&&c(a,v.bottom,null,y.top),c(D,y.top,T-D,y.bottom)}(!o||dr(v,o)<0)&&(o=v),dr(y,o)<0&&(o=y),(!s||dr(v,s)<0)&&(s=v),dr(y,s)<0&&(s=y)}),{start:o,end:s}}var d=t.from(),f=t.to();if(d.line==f.line)h(d.line,d.ch,f.ch);else{var p=ae(i,d.line),g=ae(i,f.line),m=We(p)==We(g),v=h(d.line,d.ch,m?p.text.length+1:null).end,y=h(f.line,m?0:null,f.ch).start;m&&(v.top<y.top-2?(c(v.right,v.top,null,v.bottom),c(a,y.top,y.left,y.bottom)):c(v.right,v.top,y.left-v.right,v.bottom)),v.bottom<y.top&&c(a,v.bottom,null,y.top)}n.appendChild(o)}function pr(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function gr(e){e.state.focused||(e.display.input.focus(),vr(e))}function mr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,yr(e))},100)}function vr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(rt(e,"focus",e,t),e.state.focused=!0,M(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),pr(e))}function yr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(rt(e,"blur",e,t),e.state.focused=!1,_(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function br(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i=t.view[r],o=e.options.lineWrapping,l=void 0,u=0;if(!i.hidden){if(s&&a<8){var c=i.node.offsetTop+i.node.offsetHeight;l=c-n,n=c}else{var h=i.node.getBoundingClientRect();l=h.bottom-h.top,!o&&i.text.firstChild&&(u=i.text.firstChild.getBoundingClientRect().right-h.left-1)}var d=i.line.height-l;if(l<2&&(l=tr(t)),(d>.005||d<-.005)&&(ce(i.line,l),wr(i.line),i.rest))for(var f=0;f<i.rest.length;f++)wr(i.rest[f]);if(u>e.display.sizerWidth){var p=Math.ceil(u/nr(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function wr(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function xr(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-kn(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=de(t,r),s=de(t,i);if(n&&n.ensure){var a=n.ensure.from.line,l=n.ensure.to.line;a<o?(o=a,s=de(t,Ge(ae(t,a))+e.wrapper.clientHeight)):Math.min(l,t.lastLine())>=s&&(o=de(t,Ge(ae(t,l))-e.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function Cr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=ir(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",s=0;s<n.length;s++)if(!n[s].hidden){e.options.fixedGutter&&(n[s].gutter&&(n[s].gutter.style.left=o),n[s].gutterBackground&&(n[s].gutterBackground.style.left=o));var a=n[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+"px")}}function kr(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=pe(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(D("div",[D("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=i.firstChild.offsetWidth,s=i.offsetWidth-o;return r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-s)+1,r.lineNumWidth=r.lineNumInnerWidth+s,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",li(e),!0}return!1}function Ar(e,t){var n=e.display,r=tr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Fn(e),s={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+An(n),l=t.top<r,u=t.bottom>a-r;if(t.top<i)s.scrollTop=l?0:t.top;else if(t.bottom>i+o){var c=Math.min(t.top,(u?a:t.bottom)-o);c!=i&&(s.scrollTop=c)}var h=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,d=Sn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),f=t.right-t.left>d;return f&&(t.right=t.left+d),t.left<10?s.scrollLeft=0:t.left<h?s.scrollLeft=Math.max(0,t.left-(f?0:10)):t.right>d+h-3&&(s.scrollLeft=t.right+(f?0:10)-d),s}function Er(e,t){null!=t&&(Fr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function _r(e){Fr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Sr(e,t,n){null==t&&null==n||Fr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Fr(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=qn(e,t.from),r=qn(e,t.to);Dr(e,n,r,t.margin)}}function Dr(e,t,n,r){var i=Ar(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Sr(e,i.scrollLeft,i.scrollTop)}function Tr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ai(e,{top:t}),Br(e,t,!0),n&&ai(e),ni(e,100))}function Br(e,t,n){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Lr(e,t,n,r){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,Cr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Mr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+An(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+_n(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Or=function(e,t,n){this.cm=n;var r=this.vert=D("div",[D("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=D("div",[D("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),et(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),et(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Or.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Or.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Or.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Or.prototype.zeroWidthHack=function(){var e=y&&!f?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new N,this.disableVert=new N},Or.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,function r(){var i=e.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.pointerEvents="none":t.set(1e3,r)})},Or.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Pr=function(){};function Rr(e,t){t||(t=Mr(e));var n=e.display.barWidth,r=e.display.barHeight;jr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&br(e),jr(e,Mr(e)),n=e.display.barWidth,r=e.display.barHeight}function jr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Pr.prototype.update=function(){return{bottom:0,right:0}},Pr.prototype.setScrollLeft=function(){},Pr.prototype.setScrollTop=function(){},Pr.prototype.clear=function(){};var Ir={native:Or,null:Pr};function Nr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&_(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Ir[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),et(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){"horizontal"==n?Lr(e,t):Tr(e,t)},e),e.display.scrollbars.addClass&&M(e.display.wrapper,e.display.scrollbars.addClass)}var $r=0;function Wr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++$r},t=e.curOp,sn?sn.ops.push(t):t.ownsGroup=sn={ops:[t],delayedCallbacks:[]}}function Hr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}(n)}finally{sn=null,t(n)}}(t,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)zr(t[n]);for(var r=0;r<t.length;r++)(i=t[r]).updatedDisplay=i.mustUpdate&&oi(i.cm,i.update);for(var i,o=0;o<t.length;o++)Ur(t[o]);for(var s=0;s<t.length;s++)Vr(t[s]);for(var a=0;a<t.length;a++)Gr(t[a])}(e)})}function zr(e){var t=e.cm,n=t.display;!function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=_n(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=_n(e)+"px",t.scrollbarsClipped=!0)}(t),e.updateMaxLine&&qe(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ii(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Ur(e){var t=e.cm,n=t.display;e.updatedDisplay&&br(t),e.barMeasure=Mr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Tn(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+_n(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Sn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Vr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Lr(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==L();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&Rr(t,e.barMeasure),e.updatedDisplay&&ui(t,e.barMeasure),e.selectionChanged&&pr(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&gr(e.cm)}function Gr(e){var t=e.cm,n=t.display,r=t.doc;if(e.updatedDisplay&&si(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&Br(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Lr(t,e.scrollLeft,!0,!0),e.scrollToPos){var i=function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(t=t.ch?ge(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t,n="before"==t.sticky?ge(t.line,t.ch+1,"before"):t);for(var o=0;o<5;o++){var s=!1,a=Kn(e,t),l=n&&n!=t?Kn(e,n):a;i={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-r,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+r};var u=Ar(e,i),c=e.doc.scrollTop,h=e.doc.scrollLeft;if(null!=u.scrollTop&&(Tr(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(s=!0)),null!=u.scrollLeft&&(Lr(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-h)>1&&(s=!0)),!s)break}return i}(t,Ce(r,e.scrollToPos.from),Ce(r,e.scrollToPos.to),e.scrollToPos.margin);!function(e,t){if(!it(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=D("div","",null,"position: absolute;\n top: "+(t.top-n.viewOffset-kn(e.display))+"px;\n height: "+(t.bottom-t.top+_n(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,i)}var o=e.maybeHiddenMarkers,s=e.maybeUnhiddenMarkers;if(o)for(var a=0;a<o.length;++a)o[a].lines.length||rt(o[a],"hide");if(s)for(var l=0;l<s.length;++l)s[l].lines.length&&rt(s[l],"unhide");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&rt(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function Kr(e,t){if(e.curOp)return t();Wr(e);try{return t()}finally{Hr(e)}}function qr(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Wr(e);try{return t.apply(e,arguments)}finally{Hr(e)}}}function Yr(e){return function(){if(this.curOp)return e.apply(this,arguments);Wr(this);try{return e.apply(this,arguments)}finally{Hr(this)}}}function Xr(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Wr(t);try{return e.apply(this,arguments)}finally{Hr(t)}}}function Zr(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Ee&&He(e.doc,t)<i.viewTo&&Qr(e);else if(n<=i.viewFrom)Ee&&ze(e.doc,n+r)>i.viewFrom?Qr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)Qr(e);else if(t<=i.viewFrom){var o=ei(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Qr(e)}else if(n>=i.viewTo){var s=ei(e,t,t,-1);s?(i.view=i.view.slice(0,s.index),i.viewTo=s.lineN):Qr(e)}else{var a=ei(e,t,t,-1),l=ei(e,n,n+r,1);a&&l?(i.view=i.view.slice(0,a.index).concat(on(e,a.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):Qr(e)}var u=i.externalMeasured;u&&(n<u.lineN?u.lineN+=r:t<u.lineN+u.size&&(i.externalMeasured=null))}function Jr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[lr(e,t)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==$(s,n)&&s.push(n)}}}function Qr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function ei(e,t,n,r){var i,o=lr(e,t),s=e.display.view;if(!Ee||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var a=e.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=t){if(r>0){if(o==s.length-1)return null;i=a+s[o].size-t,o++}else i=a-t;t+=i,n+=i}for(;He(e.doc,n)!=n;){if(o==(r<0?0:s.length-1))return null;n+=r*s[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function ti(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function ni(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,R(ri,e))}function ri(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=It(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var s=o.styles,a=o.text.length>e.options.maxHighlightLength?Tt(t.mode,r.state):null,l=Rt(e,o,r,!0);a&&(r.state=a),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var h=!s||s.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),d=0;!h&&d<s.length;++d)h=s[d]!=o.styles[d];h&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&Nt(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return ni(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Kr(e,function(){for(var t=0;t<i.length;t++)Jr(e,i[t],"text")})}}var ii=function(e,t,n){var r=e.display;this.viewport=t,this.visible=xr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Sn(e),this.force=n,this.dims=rr(e),this.events=[]};function oi(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return Qr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==ti(e))return!1;kr(e)&&(Qr(e),t.dims=rr(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),s=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>s&&n.viewTo-s<20&&(s=Math.min(i,n.viewTo)),Ee&&(o=He(e.doc,o),s=ze(e.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=on(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=on(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(lr(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(on(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,lr(e,n)))),r.viewTo=n}(e,o,s),n.viewOffset=Ge(ae(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=ti(e);if(!a&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=L();if(!t||!B(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&B(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,s=o.firstChild;function a(t){var n=t.nextSibling;return l&&y&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=r.view,c=r.viewFrom,h=0;h<u.length;h++){var d=u[h];if(d.hidden);else if(d.node&&d.node.parentNode==o){for(;s!=d.node;)s=a(s);var f=i&&null!=t&&t<=c&&d.lineNumber;d.changes&&($(d.changes,"gutter")>-1&&(f=!1),cn(e,d,c,n)),f&&(S(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(pe(e.options,c)))),s=d.node.nextSibling}else{var p=vn(e,d,c,n);o.insertBefore(p,s)}c+=d.size}for(;s;)s=a(s)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=L()&&(e.activeElt.focus(),e.anchorNode&&B(document.body,e.anchorNode)&&B(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),S(n.cursorDiv),S(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ni(e,400)),n.updateLineNumbers=null,!0}function si(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Sn(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+An(e.display)-Fn(e),n.top)}),t.visible=xr(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&oi(e,t);r=!1){br(e);var i=Mr(e);ur(e),Rr(e,i),ui(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ai(e,t){var n=new ii(e,t);if(oi(e,n)){br(e),si(e,n);var r=Mr(e);ur(e),Rr(e,r),ui(e,r),n.finish()}}function li(e){var t=e.display.gutters.offsetWidth;e.display.sizer.style.marginLeft=t+"px"}function ui(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+_n(e)+"px"}function ci(e){var t=e.display.gutters,n=e.options.gutters;S(t);for(var r=0;r<n.length;++r){var i=n[r],o=t.appendChild(D("div",null,"CodeMirror-gutter "+i));"CodeMirror-linenumbers"==i&&(e.display.lineGutter=o,o.style.width=(e.display.lineNumWidth||1)+"px")}t.style.display=r?"":"none",li(e)}function hi(e){var t=$(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):t>-1&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}ii.prototype.signal=function(e,t){st(e,t)&&this.events.push(arguments)},ii.prototype.finish=function(){for(var e=0;e<this.events.length;e++)rt.apply(null,this.events[e])};var di=0,fi=null;function pi(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function gi(e){var t=pi(e);return t.x*=fi,t.y*=fi,t}function mi(e,t){var r=pi(t),i=r.x,o=r.y,s=e.display,a=s.scroller,u=a.scrollWidth>a.clientWidth,c=a.scrollHeight>a.clientHeight;if(i&&u||o&&c){if(o&&y&&l)e:for(var d=t.target,f=s.view;d!=a;d=d.parentNode)for(var p=0;p<f.length;p++)if(f[p].node==d){e.display.currentWheelTarget=d;break e}if(i&&!n&&!h&&null!=fi)return o&&c&&Tr(e,Math.max(0,a.scrollTop+o*fi)),Lr(e,Math.max(0,a.scrollLeft+i*fi)),(!o||o&&c)&&lt(t),void(s.wheelStartX=null);if(o&&null!=fi){var g=o*fi,m=e.doc.scrollTop,v=m+s.wrapper.clientHeight;g<0?m=Math.max(0,m+g-50):v=Math.min(e.doc.height,v+g+50),ai(e,{top:m,bottom:v})}di<20&&(null==s.wheelStartX?(s.wheelStartX=a.scrollLeft,s.wheelStartY=a.scrollTop,s.wheelDX=i,s.wheelDY=o,setTimeout(function(){if(null!=s.wheelStartX){var e=a.scrollLeft-s.wheelStartX,t=a.scrollTop-s.wheelStartY,n=t&&s.wheelDY&&t/s.wheelDY||e&&s.wheelDX&&e/s.wheelDX;s.wheelStartX=s.wheelStartY=null,n&&(fi=(fi*di+n)/(di+1),++di)}},200)):(s.wheelDX+=i,s.wheelDY+=o))}}s?fi=-.53:n?fi=15:c?fi=-.7:d&&(fi=-1/3);var vi=function(e,t){this.ranges=e,this.primIndex=t};vi.prototype.primary=function(){return this.ranges[this.primIndex]},vi.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!ve(n.anchor,r.anchor)||!ve(n.head,r.head))return!1}return!0},vi.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new yi(ye(this.ranges[t].anchor),ye(this.ranges[t].head));return new vi(e,this.primIndex)},vi.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},vi.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(me(t,r.from())>=0&&me(e,r.to())<=0)return n}return-1};var yi=function(e,t){this.anchor=e,this.head=t};function bi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(e,t){return me(e.from(),t.from())}),n=$(t,i);for(var o=1;o<t.length;o++){var s=t[o],a=t[o-1],l=me(a.to(),s.from());if(r&&!s.empty()?l>0:l>=0){var u=we(a.from(),s.from()),c=be(a.to(),s.to()),h=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,t.splice(--o,2,new yi(h?c:u,h?u:c))}}return new vi(t,n)}function wi(e,t){return new vi([new yi(e,t||e)],0)}function xi(e){return e.text?ge(e.from.line+e.text.length-1,Y(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ci(e,t){if(me(e,t.from)<0)return e;if(me(e,t.to)<=0)return xi(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=xi(t).ch-t.to.ch),ge(n,r)}function ki(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new yi(Ci(i.anchor,t),Ci(i.head,t)))}return bi(e.cm,n,e.sel.primIndex)}function Ai(e,t,n){return e.line==t.line?ge(n.line,e.ch-t.ch+n.ch):ge(n.line+(e.line-t.line),e.ch)}function Ei(e){e.doc.mode=St(e.options,e.doc.modeOption),_i(e)}function _i(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,ni(e,100),e.state.modeGen++,e.curOp&&Zr(e)}function Si(e,t){return 0==t.from.ch&&0==t.to.ch&&""==Y(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Fi(e,t,n,r){function i(e){return n?n[e]:null}function o(e,n,i){!function(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Be(e),Le(e,n);var i=r?r(e):1;i!=e.height&&ce(e,i)}(e,n,i,r),ln(e,"change",e,t)}function s(e,t){for(var n=[],o=e;o<t;++o)n.push(new Gt(u[o],i(o),r));return n}var a=t.from,l=t.to,u=t.text,c=ae(e,a.line),h=ae(e,l.line),d=Y(u),f=i(u.length-1),p=l.line-a.line;if(t.full)e.insert(0,s(0,u.length)),e.remove(u.length,e.size-u.length);else if(Si(e,t)){var g=s(0,u.length-1);o(h,h.text,f),p&&e.remove(a.line,p),g.length&&e.insert(a.line,g)}else if(c==h)if(1==u.length)o(c,c.text.slice(0,a.ch)+d+c.text.slice(l.ch),f);else{var m=s(1,u.length-1);m.push(new Gt(d+c.text.slice(l.ch),f,r)),o(c,c.text.slice(0,a.ch)+u[0],i(0)),e.insert(a.line+1,m)}else if(1==u.length)o(c,c.text.slice(0,a.ch)+u[0]+h.text.slice(l.ch),i(0)),e.remove(a.line+1,p);else{o(c,c.text.slice(0,a.ch)+u[0],i(0)),o(h,d+h.text.slice(l.ch),f);var v=s(1,u.length-1);p>1&&e.remove(a.line+1,p-1),e.insert(a.line+1,v)}ln(e,"change",e,t)}function Di(e,t,n){!function e(r,i,o){if(r.linked)for(var s=0;s<r.linked.length;++s){var a=r.linked[s];if(a.doc!=i){var l=o&&a.sharedHist;n&&!l||(t(a.doc,l),e(a.doc,r,l))}}}(e,null,!0)}function Ti(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,sr(e),Ei(e),Bi(e),e.options.lineWrapping||qe(e),e.options.mode=t.modeOption,Zr(e)}function Bi(e){("rtl"==e.doc.direction?M:_)(e.display.lineDiv,"CodeMirror-rtl")}function Li(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function Mi(e,t){var n={from:ye(t.from),to:xi(t),text:le(e,t.from,t.to)};return Ii(e,n,t.from.line,t.to.line+1),Di(e,function(e){return Ii(e,n,t.from.line,t.to.line+1)},!0),n}function Oi(e){for(;e.length;){var t=Y(e);if(!t.ranges)break;e.pop()}}function Pi(e,t,n,r){var i=e.history;i.undone.length=0;var o,s,a=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&i.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Oi(e.done),Y(e.done)):e.done.length&&!Y(e.done).ranges?Y(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Y(e.done)):void 0}(i,i.lastOp==r)))s=Y(o.changes),0==me(t.from,t.to)&&0==me(t.from,s.to)?s.to=xi(t):o.changes.push(Mi(e,t));else{var l=Y(i.done);for(l&&l.ranges||ji(e.sel,i.done),o={changes:[Mi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,s||rt(e,"historyAdded")}function Ri(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,Y(i.done),t))?i.done[i.done.length-1]=t:ji(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Oi(i.undone)}function ji(e,t){var n=Y(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Ii(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function Ni(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function $i(e,t){var n=function(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(Ni(n[i]));return r}(e,t),r=De(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],s=r[i];if(o&&s)e:for(var a=0;a<s.length;++a){for(var l=s[a],u=0;u<o.length;++u)if(o[u].marker==l.marker)continue e;o.push(l)}else s&&(n[i]=s)}return n}function Wi(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?vi.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];r.push({changes:a});for(var l=0;l<s.length;++l){var u=s[l],c=void 0;if(a.push({from:u.from,to:u.to,text:u.text}),t)for(var h in u)(c=h.match(/^spans_(\d+)$/))&&$(t,Number(c[1]))>-1&&(Y(a)[h]=u[h],delete u[h])}}}return r}function Hi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=me(t,i)<0;o!=me(n,i)<0?(i=t,t=n):o!=me(t,n)<0&&(t=n)}return new yi(i,t)}return new yi(n||t,t)}function zi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),qi(e,new vi([Hi(e.sel.primary(),t,n,i)],0),r)}function Ui(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Hi(e.sel.ranges[o],t[o],null,i);var s=bi(e.cm,r,e.sel.primIndex);qi(e,s,n)}function Vi(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,qi(e,bi(e.cm,i,e.sel.primIndex),r)}function Gi(e,t,n,r){qi(e,wi(t,n),r)}function Ki(e,t,n){var r=e.history.done,i=Y(r);i&&i.ranges?(r[r.length-1]=t,Yi(e,t,n)):qi(e,t,n)}function qi(e,t,n){Yi(e,t,n),Ri(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function Yi(e,t,n){(st(e,"beforeSelectionChange")||e.cm&&st(e.cm,"beforeSelectionChange"))&&(t=function(e,t,n){var r={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new yi(Ce(e,t[n].anchor),Ce(e,t[n].head))},origin:n&&n.origin};return rt(e,"beforeSelectionChange",e,r),e.cm&&rt(e.cm,"beforeSelectionChange",e.cm,r),r.ranges!=t.ranges?bi(e.cm,r.ranges,r.ranges.length-1):t}(e,t,n));var r=n&&n.bias||(me(t.primary().head,e.sel.primary().head)<0?-1:1);Xi(e,Ji(e,t,r,!0)),n&&!1===n.scroll||!e.cm||_r(e.cm)}function Xi(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,ot(e.cm)),ln(e,"cursorActivity",e))}function Zi(e){Xi(e,Ji(e,e.sel,null,!1))}function Ji(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var s=t.ranges[o],a=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],l=eo(e,s.anchor,a&&a.anchor,n,r),u=eo(e,s.head,a&&a.head,n,r);(i||l!=s.anchor||u!=s.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new yi(l,u))}return i?bi(e.cm,i,t.primIndex):t}function Qi(e,t,n,r,i){var o=ae(e,t.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker;if((null==a.from||(l.inclusiveLeft?a.from<=t.ch:a.from<t.ch))&&(null==a.to||(l.inclusiveRight?a.to>=t.ch:a.to>t.ch))){if(i&&(rt(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var u=l.find(r<0?1:-1),c=void 0;if((r<0?l.inclusiveRight:l.inclusiveLeft)&&(u=to(e,u,-r,u&&u.line==t.line?o:null)),u&&u.line==t.line&&(c=me(u,n))&&(r<0?c<0:c>0))return Qi(e,u,t,r,i)}var h=l.find(r<0?-1:1);return(r<0?l.inclusiveLeft:l.inclusiveRight)&&(h=to(e,h,r,h.line==t.line?o:null)),h?Qi(e,h,t,r,i):null}}return t}function eo(e,t,n,r,i){var o=r||1,s=Qi(e,t,n,o,i)||!i&&Qi(e,t,n,o,!0)||Qi(e,t,n,-o,i)||!i&&Qi(e,t,n,-o,!0);return s||(e.cantEdit=!0,ge(e.first,0))}function to(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?Ce(e,ge(t.line-1)):null:n>0&&t.ch==(r||ae(e,t.line)).text.length?t.line<e.first+e.size-1?ge(t.line+1,0):null:new ge(t.line,t.ch+n)}function no(e){e.setSelection(ge(e.firstLine(),0),ge(e.lastLine()),z)}function ro(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(t,n,i,o){t&&(r.from=Ce(e,t)),n&&(r.to=Ce(e,n)),i&&(r.text=i),void 0!==o&&(r.origin=o)}),rt(e,"beforeChange",e,r),e.cm&&rt(e.cm,"beforeChange",e.cm,r),r.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:r.from,to:r.to,text:r.text,origin:r.origin}}function io(e,t,n){if(e.cm){if(!e.cm.curOp)return qr(e.cm,io)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(st(e,"beforeChange")||e.cm&&st(e.cm,"beforeChange"))||(t=ro(e,t,!0))){var r=Ae&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=$(r,n)||(r||(r=[])).push(n)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var s=r[o],a=s.find(0),l=0;l<i.length;++l){var u=i[l];if(!(me(u.to,a.from)<0||me(u.from,a.to)>0)){var c=[l,1],h=me(u.from,a.from),d=me(u.to,a.to);(h<0||!s.inclusiveLeft&&!h)&&c.push({from:u.from,to:a.from}),(d>0||!s.inclusiveRight&&!d)&&c.push({from:a.to,to:u.to}),i.splice.apply(i,c),l+=c.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)oo(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else oo(e,t)}}function oo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=me(t.from,t.to)){var n=ki(e,t);Pi(e,t,n,e.cm?e.cm.curOp.id:NaN),lo(e,t,n,De(e,t));var r=[];Di(e,function(e,n){n||-1!=$(r,e.history)||(fo(e.history,t),r.push(e.history)),lo(e,t,null,De(e,t))})}}function so(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,s=e.sel,a="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u<a.length&&(i=a[u],n?!i.ranges||i.equals(e.sel):i.ranges);u++);if(u!=a.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(i=a.pop()).ranges){if(r)return void a.push(i);break}if(ji(i,l),n&&!i.equals(e.sel))return void qi(e,i,{clearRedo:!1});s=i}var c=[];ji(s,l),l.push({changes:c,generation:o.generation}),o.generation=i.generation||++o.maxGeneration;for(var h=st(e,"beforeChange")||e.cm&&st(e.cm,"beforeChange"),d=function(n){var r=i.changes[n];if(r.origin=t,h&&!ro(e,r,!1))return a.length=0,{};c.push(Mi(e,r));var o=n?ki(e,r):Y(a);lo(e,r,o,$i(e,r)),!n&&e.cm&&e.cm.scrollIntoView({from:r.from,to:xi(r)});var s=[];Di(e,function(e,t){t||-1!=$(s,e.history)||(fo(e.history,r),s.push(e.history)),lo(e,r,null,$i(e,r))})},f=i.changes.length-1;f>=0;--f){var p=d(f);if(p)return p.v}}}}function ao(e,t){if(0!=t&&(e.first+=t,e.sel=new vi(X(e.sel.ranges,function(e){return new yi(ge(e.anchor.line+t,e.anchor.ch),ge(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){Zr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)Jr(e.cm,r,"gutter")}}function lo(e,t,n,r){if(e.cm&&!e.cm.curOp)return qr(e.cm,lo)(e,t,n,r);if(t.to.line<e.first)ao(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);ao(e,i),t={from:ge(e.first,0),to:ge(t.to.line+i,t.to.ch),text:[Y(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:ge(o,ae(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=le(e,t.from,t.to),n||(n=ki(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,s=t.to,a=!1,l=o.line;e.options.lineWrapping||(l=he(We(ae(r,o.line))),r.iter(l,s.line+1,function(e){if(e==i.maxLine)return a=!0,!0})),r.sel.contains(t.from,t.to)>-1&&ot(e),Fi(r,t,n,or(e)),e.options.lineWrapping||(r.iter(l,o.line+t.text.length,function(e){var t=Ke(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,a=!1)}),a&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=ae(e,r).stateAfter;if(i&&(!(i instanceof Ot)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}(r,o.line),ni(e,400);var u=t.text.length-(s.line-o.line)-1;t.full?Zr(e):o.line!=s.line||1!=t.text.length||Si(e.doc,t)?Zr(e,o.line,s.line+1,u):Jr(e,o.line,"text");var c=st(e,"changes"),h=st(e,"change");if(h||c){var d={from:o,to:s,text:t.text,removed:t.removed,origin:t.origin};h&&ln(e,"change",e,d),c&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(d)}e.display.selForContextMenu=null}(e.cm,t,r):Fi(e,t,r),Yi(e,n,z)}}function uo(e,t,n,r,i){var o;r||(r=n),me(r,n)<0&&(n=(o=[r,n])[0],r=o[1]),"string"==typeof t&&(t=e.splitLines(t)),io(e,{from:n,to:r,text:t,origin:i})}function co(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function ho(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],s=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)co(o.ranges[a].anchor,t,n,r),co(o.ranges[a].head,t,n,r)}else{for(var l=0;l<o.changes.length;++l){var u=o.changes[l];if(n<u.from.line)u.from=ge(u.from.line+r,u.from.ch),u.to=ge(u.to.line+r,u.to.ch);else if(t<=u.to.line){s=!1;break}}s||(e.splice(0,i+1),i=0)}}}function fo(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;ho(e.done,n,r,i),ho(e.undone,n,r,i)}function po(e,t,n,r){var i=t,o=t;return"number"==typeof t?o=ae(e,xe(e,t)):i=he(t),null==i?null:(r(o,i)&&e.cm&&Jr(e.cm,i,n),o)}function go(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function mo(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}yi.prototype.from=function(){return we(this.anchor,this.head)},yi.prototype.to=function(){return be(this.anchor,this.head)},yi.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},go.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height,Kt(i),ln(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},mo.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var o=Math.min(t,i-e),s=r.height;if(r.removeInner(e,o),this.height-=s-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof go))){var a=[];this.collapse(a),this.children=[new go(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var s=i.lines.length%25+25,a=s;a<i.lines.length;){var l=new go(i.lines.slice(a,a+=25));i.height-=l.height,this.children.splice(++r,0,l),l.parent=this}i.lines=i.lines.slice(0,s),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new mo(t);if(e.parent){e.size-=n.size,e.height-=n.height;var r=$(e.parent.children,e);e.parent.children.splice(r+1,0,n)}else{var i=new mo(e.children);i.parent=e,e.children=[i,n],e=i}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var s=Math.min(t,o-e);if(i.iterN(e,s,n))return!0;if(0==(t-=s))break;e=0}else e-=o}}};var vo=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t};function yo(e,t,n){Ge(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Er(e,n)}vo.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=he(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=xn(this);ce(n,Math.max(0,n.height-o)),e&&(Kr(e,function(){yo(e,n,-o),Jr(e,r,"widget")}),ln(e,"lineWidgetCleared",e,this,r))}},vo.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=xn(this)-t;i&&(Ue(this.doc,r)||ce(r,r.height+i),n&&Kr(n,function(){n.curOp.forceUpdate=!0,yo(n,r,i),ln(n,"lineWidgetChanged",n,e,he(r))}))},at(vo);var bo=0,wo=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++bo};function xo(e,t,n,r,i){if(r&&r.shared)return function(e,t,n,r,i){(r=j(r)).shared=!1;var o=[xo(e,t,n,r,i)],s=o[0],a=r.widgetNode;return Di(e,function(e){a&&(r.widgetNode=a.cloneNode(!0)),o.push(xo(e,Ce(e,t),Ce(e,n),r,i));for(var l=0;l<e.linked.length;++l)if(e.linked[l].isParent)return;s=Y(o)}),new Co(o,s)}(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return qr(e.cm,xo)(e,t,n,r,i);var o=new wo(e,i),s=me(t,n);if(r&&j(r,o,!1),s>0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=T("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if($e(e,t.line,t,n,o)||t.line!=n.line&&$e(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ee=!0}o.addToHistory&&Pi(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a,l=t.line,u=e.cm;if(e.iter(l,n.line+1,function(e){u&&o.collapsed&&!u.options.lineWrapping&&We(e)==u.display.maxLine&&(a=!0),o.collapsed&&l!=t.line&&ce(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new _e(o,l==t.line?t.ch:null,l==n.line?n.ch:null)),++l}),o.collapsed&&e.iter(t.line,n.line+1,function(t){Ue(e,t)&&ce(t,0)}),o.clearOnEnter&&et(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(Ae=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++bo,o.atomic=!0),u){if(a&&(u.curOp.updateMaxLine=!0),o.collapsed)Zr(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)Jr(u,c,"text");o.atomic&&Zi(u.doc),ln(u,"markerAdded",u,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Wr(e),st(this,"clear")){var n=this.find();n&&ln(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;o<this.lines.length;++o){var s=this.lines[o],a=Se(s.markedSpans,this);e&&!this.collapsed?Jr(e,he(s),"text"):e&&(null!=a.to&&(i=he(s)),null!=a.from&&(r=he(s))),s.markedSpans=Fe(s.markedSpans,a),null==a.from&&this.collapsed&&!Ue(this.doc,s)&&e&&ce(s,tr(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var l=0;l<this.lines.length;++l){var u=We(this.lines[l]),c=Ke(u);c>e.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&Zr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Zi(e.doc)),e&&ln(e,"markerCleared",e,this,r,i),t&&Hr(e),this.parent&&this.parent.clear()}},wo.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],s=Se(o.markedSpans,this);if(null!=s.from&&(n=ge(t?o:he(o),s.from),-1==e))return n;if(null!=s.to&&(r=ge(t?o:he(o),s.to),1==e))return r}return n&&{from:n,to:r}},wo.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;t&&r&&Kr(r,function(){var i=t.line,o=he(t.line),s=Bn(r,o);if(s&&(In(s),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!Ue(n.doc,i)&&null!=n.height){var a=n.height;n.height=null;var l=xn(n)-a;l&&ce(i,i.height+l)}ln(r,"markerChanged",r,e)})},wo.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=$(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},wo.prototype.detachLine=function(e){if(this.lines.splice($(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},at(wo);var Co=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function ko(e){return e.findMarks(ge(e.first,0),e.clipPos(ge(e.lastLine())),function(e){return e.parent})}function Ao(e){for(var t=function(t){var n=e[t],r=[n.primary.doc];Di(n.primary.doc,function(e){return r.push(e)});for(var i=0;i<n.markers.length;i++){var o=n.markers[i];-1==$(r,o.doc)&&(o.parent=null,n.markers.splice(i--,1))}},n=0;n<e.length;n++)t(n)}Co.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();ln(this,"clear")}},Co.prototype.find=function(e,t){return this.primary.find(e,t)},at(Co);var Eo=0,_o=function(e,t,n,r,i){if(!(this instanceof _o))return new _o(e,t,n,r,i);null==n&&(n=0),mo.call(this,[new go([new Gt("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=ge(n,0);this.sel=wi(o),this.history=new Li(null),this.id=++Eo,this.modeOption=t,this.lineSep=r,this.direction="rtl"==i?"rtl":"ltr",this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Fi(this,{from:o,to:o,text:e}),qi(this,wi(o),z)};_o.prototype=J(mo.prototype,{constructor:_o,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=ue(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:Xr(function(e){var t=ge(this.first,0),n=this.first+this.size-1;io(this,{from:t,to:ge(n,ae(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&Sr(this.cm,0,0),qi(this,wi(t),z)}),replaceRange:function(e,t,n,r){t=Ce(this,t),n=n?Ce(this,n):t,uo(this,e,t,n,r)},getRange:function(e,t,n){var r=le(this,Ce(this,e),Ce(this,t));return!1===n?r:r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(fe(this,e))return ae(this,e)},getLineNumber:function(e){return he(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=ae(this,e)),We(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return Ce(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:Xr(function(e,t,n){Gi(this,Ce(this,"number"==typeof e?ge(e,t||0):e),null,n)}),setSelection:Xr(function(e,t,n){Gi(this,Ce(this,e),Ce(this,t||e),n)}),extendSelection:Xr(function(e,t,n){zi(this,Ce(this,e),t&&Ce(this,t),n)}),extendSelections:Xr(function(e,t){Ui(this,ke(this,e),t)}),extendSelectionsBy:Xr(function(e,t){var n=X(this.sel.ranges,e);Ui(this,ke(this,n),t)}),setSelections:Xr(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new yi(Ce(this,e[i].anchor),Ce(this,e[i].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),qi(this,bi(this.cm,r,t),n)}}),addSelection:Xr(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new yi(Ce(this,e),Ce(this,t||e))),qi(this,bi(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t,n=this.sel.ranges,r=0;r<n.length;r++){var i=le(this,n[r].from(),n[r].to());t=t?t.concat(i):i}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=le(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||"+input")},replaceSelections:Xr(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var s=i.ranges[o];r[o]={from:s.from(),to:s.to(),text:this.splitLines(e[o]),origin:n}}for(var a=t&&"end"!=t&&function(e,t,n){for(var r=[],i=ge(e.first,0),o=i,s=0;s<t.length;s++){var a=t[s],l=Ai(a.from,i,o),u=Ai(xi(a),i,o);if(i=a.to,o=u,"around"==n){var c=e.sel.ranges[s],h=me(c.head,c.anchor)<0;r[s]=new yi(h?u:l,h?l:u)}else r[s]=new yi(l,l)}return new vi(r,e.sel.primIndex)}(this,r,t),l=r.length-1;l>=0;l--)io(this,r[l]);a?Ki(this,a):this.cm&&_r(this.cm)}),undo:Xr(function(){so(this,"undo")}),redo:Xr(function(){so(this,"redo")}),undoSelection:Xr(function(){so(this,"undo",!0)}),redoSelection:Xr(function(){so(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){this.history=new Li(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Wi(this.history.done),undone:Wi(this.history.undone)}},setHistory:function(e){var t=this.history=new Li(this.history.maxGeneration);t.done=Wi(e.done.slice(0),null,!0),t.undone=Wi(e.undone.slice(0),null,!0)},setGutterMarker:Xr(function(e,t,n){return po(this,e,"gutter",function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&ne(r)&&(e.gutterMarkers=null),!0})}),clearGutter:Xr(function(e){var t=this;this.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&po(t,n,"gutter",function(){return n.gutterMarkers[e]=null,ne(n.gutterMarkers)&&(n.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if("number"==typeof e){if(!fe(this,e))return null;if(t=e,!(e=ae(this,e)))return null}else if(null==(t=he(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:Xr(function(e,t,n){return po(this,e,"gutter"==t?"gutter":"class",function(e){var r="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass";if(e[r]){if(A(n).test(e[r]))return!1;e[r]+=" "+n}else e[r]=n;return!0})}),removeLineClass:Xr(function(e,t,n){return po(this,e,"gutter"==t?"gutter":"class",function(e){var r="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass",i=e[r];if(!i)return!1;if(null==n)e[r]=null;else{var o=i.match(A(n));if(!o)return!1;var s=o.index+o[0].length;e[r]=i.slice(0,o.index)+(o.index&&s!=i.length?" ":"")+i.slice(s)||null}return!0})}),addLineWidget:Xr(function(e,t,n){return function(e,t,n,r){var i=new vo(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),po(e,t,"widget",function(t){var n=t.widgets||(t.widgets=[]);if(null==i.insertAt?n.push(i):n.splice(Math.min(n.length-1,Math.max(0,i.insertAt)),0,i),i.line=t,o&&!Ue(e,t)){var r=Ge(t)<e.scrollTop;ce(t,t.height+xn(i)),r&&Er(o,i.height),o.curOp.forceUpdate=!0}return!0}),o&&ln(o,"lineWidgetAdded",o,i,"number"==typeof t?t:he(t)),i}(this,e,t,n)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return xo(this,Ce(this,e),Ce(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return xo(this,e=Ce(this,e),e,n,"bookmark")},findMarksAt:function(e){var t=[],n=ae(this,(e=Ce(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=Ce(this,e),t=Ce(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var s=o.markedSpans;if(s)for(var a=0;a<s.length;a++){var l=s[a];null!=l.to&&i==e.line&&e.ch>=l.to||null==l.from&&i!=e.line||null!=l.from&&i==t.line&&l.from>=t.ch||n&&!n(l.marker)||r.push(l.marker.parent||l.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)null!=n[r].from&&e.push(n[r].marker)}),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter(function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n}),Ce(this,ge(n,t))},indexFromPos:function(e){var t=(e=Ce(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new _o(ue(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var r=new _o(ue(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),s=e.clipPos(i.to);if(me(o,s)){var a=xo(e,o,s,r.primary,r.primary.type);r.markers.push(a),a.parent=r}}}(r,ko(this)),r},unlinkDoc:function(e){if(e instanceof ks&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){var n=this.linked[t];if(n.doc==e){this.linked.splice(t,1),e.unlinkDoc(this),Ao(ko(this));break}}if(e.history==this.history){var r=[e.id];Di(e,function(e){return r.push(e.id)},!0),e.history=new Li(null),e.history.done=Wi(this.history.done,r),e.history.undone=Wi(this.history.undone,r)}},iterLinkedDocs:function(e){Di(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):wt(e)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:Xr(function(e){var t;"rtl"!=e&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&Kr(t=this.cm,function(){Bi(t),Zr(t)}))})}),_o.prototype.eachLine=_o.prototype.iter;var So=0;function Fo(e){var t=this;if(Do(t),!it(t,e)&&!Cn(t.display,e)){lt(e),s&&(So=+new Date);var n=ar(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),a=0,l=function(e,r){if(!t.options.allowDropFileTypes||-1!=$(t.options.allowDropFileTypes,e.type)){var s=new FileReader;s.onload=qr(t,function(){var e=s.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(e)&&(e=""),o[r]=e,++a==i){var l={from:n=Ce(t.doc,n),to:n,text:t.doc.splitLines(o.join(t.doc.lineSeparator())),origin:"paste"};io(t.doc,l),Ki(t.doc,wi(n,xi(l)))}}),s.readAsText(e)}},u=0;u<i;++u)l(r[u],u);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var c=e.dataTransfer.getData("Text");if(c){var h;if(t.state.draggingText&&!t.state.draggingText.copy&&(h=t.listSelections()),Yi(t.doc,wi(n,n)),h)for(var d=0;d<h.length;++d)uo(t.doc,"",h[d].anchor,h[d].head,"drag");t.replaceSelection(c,"around","paste"),t.display.input.focus()}}catch(e){}}}}function Do(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function To(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],r=0;r<t.length;r++){var i=t[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var t=0;t<n.length;t++)e(n[t])})}}var Bo=!1;function Lo(){var e;Bo||(et(window,"resize",function(){null==e&&(e=setTimeout(function(){e=null,To(Mo)},100))}),et(window,"blur",function(){return To(yr)}),Bo=!0)}function Mo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Oo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Po=0;Po<10;Po++)Oo[Po+48]=Oo[Po+96]=String(Po);for(var Ro=65;Ro<=90;Ro++)Oo[Ro]=String.fromCharCode(Ro);for(var jo=1;jo<=12;jo++)Oo[jo+111]=Oo[jo+63235]="F"+jo;var Io={};function No(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))i=!0;else if(/^a(lt)?$/i.test(a))t=!0;else if(/^(c|ctrl|control)$/i.test(a))n=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);r=!0}}return t&&(e="Alt-"+e),n&&(e="Ctrl-"+e),i&&(e="Cmd-"+e),r&&(e="Shift-"+e),e}function $o(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==r){delete e[n];continue}for(var i=X(n.split(" "),No),o=0;o<i.length;o++){var s=void 0,a=void 0;o==i.length-1?(a=i.join(" "),s=r):(a=i.slice(0,o+1).join(" "),s="...");var l=t[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else t[a]=s}delete e[n]}for(var u in t)e[u]=t[u];return e}function Wo(e,t,n,r){var i=(t=Vo(t)).call?t.call(e,r):t[e];if(!1===i)return"nothing";if("..."===i)return"multi";if(null!=i&&n(i))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Wo(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var s=Wo(e,t.fallthrough[o],n,r);if(s)return s}}}function Ho(e){var t="string"==typeof e?e:Oo[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function zo(e,t,n){var r=e;return t.altKey&&"Alt"!=r&&(e="Alt-"+e),(C?t.metaKey:t.ctrlKey)&&"Ctrl"!=r&&(e="Ctrl-"+e),(C?t.ctrlKey:t.metaKey)&&"Cmd"!=r&&(e="Cmd-"+e),!n&&t.shiftKey&&"Shift"!=r&&(e="Shift-"+e),e}function Uo(e,t){if(h&&34==e.keyCode&&e.char)return!1;var n=Oo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),zo(n,e,t))}function Vo(e){return"string"==typeof e?Io[e]:e}function Go(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&me(o.from,Y(r).to)<=0;){var s=r.pop();if(me(s.from,o.from)<0){o.from=s.from;break}}r.push(o)}Kr(e,function(){for(var t=r.length-1;t>=0;t--)uo(e.doc,"",r[t].from,r[t].to,"+delete");_r(e)})}function Ko(e,t,n){var r=oe(e.text,t+n,n);return r<0||r>e.text.length?null:r}function qo(e,t,n){var r=Ko(e,t.ch,n);return null==r?null:new ge(t.line,r,n<0?"after":"before")}function Yo(e,t,n,r,i){if(e){var o=Je(n,t.doc.direction);if(o){var s,a=i<0?Y(o):o[0],l=i<0==(1==a.level),u=l?"after":"before";if(a.level>0||"rtl"==t.doc.direction){var c=Ln(t,n);s=i<0?n.text.length-1:0;var h=Mn(t,c,s).top;s=se(function(e){return Mn(t,c,e).top==h},i<0==(1==a.level)?a.from:a.to-1,s),"before"==u&&(s=Ko(n,s,1))}else s=i<0?a.to:a.from;return new ge(r,s,u)}}return new ge(r,i<0?n.text.length:0,i<0?"before":"after")}Io.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Io.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Io.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Io.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Io.default=y?Io.macDefault:Io.pcDefault;var Xo={selectAll:no,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),z)},killLine:function(e){return Go(e,function(t){if(t.empty()){var n=ae(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:ge(t.head.line+1,0)}:{from:t.head,to:ge(t.head.line,n)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return Go(e,function(t){return{from:ge(t.from().line,0),to:Ce(e.doc,ge(t.to().line+1,0))}})},delLineLeft:function(e){return Go(e,function(e){return{from:ge(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(e){return Go(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return{from:r,to:t.from()}})},delWrappedLineRight:function(e){return Go(e,function(t){var n=e.charCoords(t.head,"div").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:r}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(ge(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(ge(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return Zo(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return Jo(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return function(e,t){var n=ae(e.doc,t),r=function(e){for(var t;t=Ie(e);)e=t.find(1,!0).line;return e}(n);return r!=n&&(t=he(r)),Yo(!0,e,n,t,-1)}(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")},V)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")},V)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5,r=e.coordsChar({left:0,top:n},"div");return r.ch<e.getLine(r.line).search(/\S/)?Jo(e,t.head):r},V)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"char")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),s=I(e.getLine(o.line),o.ch,r);t.push(q(r-s%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return Kr(e,function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=ae(e.doc,i.line).text;if(o)if(i.ch==o.length&&(i=new ge(i.line,i.ch-1)),i.ch>0)i=new ge(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ge(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var s=ae(e.doc,i.line-1).text;s&&(i=new ge(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+s.charAt(s.length-1),ge(i.line-1,s.length-1),i,"+transpose"))}n.push(new yi(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Kr(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);_r(e)})},openLine:function(e){return e.replaceSelection("\n","start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function Zo(e,t){var n=ae(e.doc,t),r=We(n);return r!=n&&(t=he(r)),Yo(!0,e,r,t,1)}function Jo(e,t){var n=Zo(e,t.line),r=ae(e.doc,n.line),i=Je(r,e.doc.direction);if(!i||0==i[0].level){var o=Math.max(0,r.text.search(/\S/)),s=t.line==n.line&&t.ch<=o&&t.ch;return ge(n.line,s?0:o,n.sticky)}return n}function Qo(e,t,n){if("string"==typeof t&&!(t=Xo[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=H}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var es=new N;function ts(e,t,n,r){var i=e.state.keySeq;if(i){if(Ho(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:es.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),ns(e,i+" "+t,n,r))return!0}return ns(e,t,n,r)}function ns(e,t,n,r){var i=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Wo(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Wo(t,e.options.extraKeys,n,e)||Wo(t,e.options.keyMap,n,e)}(e,t,r);return"multi"==i&&(e.state.keySeq=t),"handled"==i&&ln(e,"keyHandled",e,t,n),"handled"!=i&&"multi"!=i||(lt(n),pr(e)),!!i}function rs(e,t){var n=Uo(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?ts(e,"Shift-"+n,t,function(t){return Qo(e,t,!0)})||ts(e,n,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return Qo(e,t)}):ts(e,n,t,function(t){return Qo(e,t)}))}var is=null;function os(e){var t=this;if(t.curOp.focus=L(),!it(t,e)){s&&a<11&&27==e.keyCode&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=16==n||e.shiftKey;var r=rs(t,e);h&&(is=r?n:null,!r&&88==n&&!Ct&&(y?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),18!=n||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function n(e){18!=e.keyCode&&e.altKey||(_(t,"CodeMirror-crosshair"),nt(document,"keyup",n),nt(document,"mouseover",n))}M(t,"CodeMirror-crosshair"),et(document,"keyup",n),et(document,"mouseover",n)}(t)}}function ss(e){16==e.keyCode&&(this.doc.sel.shift=!1),it(this,e)}function as(e){var t=this;if(!(Cn(t.display,e)||it(t,e)||e.ctrlKey&&!e.altKey||y&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(h&&n==is)return is=null,void lt(e);if(!h||e.which&&!(e.which<10)||!rs(t,e)){var i=String.fromCharCode(null==r?n:r);"\b"!=i&&(function(e,t,n){return ts(e,"'"+n+"'",t,function(t){return Qo(e,t,!0)})}(t,e,i)||t.display.input.onKeyPress(e))}}}var ls,us,cs=function(e,t,n){this.time=e,this.pos=t,this.button=n};function hs(e){var t=this,n=t.display;if(!(it(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,Cn(n,e))l||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));else if(!ps(t,e)){var r=ar(t,e),i=ft(e),o=r?function(e,t){var n=+new Date;return us&&us.compare(n,e,t)?(ls=us=null,"triple"):ls&&ls.compare(n,e,t)?(us=new cs(n,e,t),ls=null,"double"):(ls=new cs(n,e,t),us=null,"single")}(r,i):"single";window.focus(),1==i&&t.state.selectingText&&t.state.selectingText(e),r&&function(e,t,n,r,i){var o="Click";return"double"==r?o="Double"+o:"triple"==r&&(o="Triple"+o),ts(e,zo(o=(1==t?"Left":2==t?"Middle":"Right")+o,i),i,function(t){if("string"==typeof t&&(t=Xo[t]),!t)return!1;var r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),r=t(e,n)!=H}finally{e.state.suppressEdits=!1}return r})}(t,i,r,o,e)||(1==i?r?function(e,t,n,r){s?setTimeout(R(gr,e),0):e.curOp.focus=L();var i,o=function(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(null==i.unit){var o=b?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}return(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),null==i.addNew&&(i.addNew=y?n.metaKey:n.ctrlKey),null==i.moveOnDrag&&(i.moveOnDrag=!(y?n.altKey:n.ctrlKey)),i}(e,n,r),u=e.doc.sel;e.options.dragDrop&&mt&&!e.isReadOnly()&&"single"==n&&(i=u.contains(t))>-1&&(me((i=u.ranges[i]).from(),t)<0||t.xRel>0)&&(me(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,u=qr(e,function(t){l&&(i.scroller.draggable=!1),e.state.draggingText=!1,nt(i.wrapper.ownerDocument,"mouseup",u),nt(i.wrapper.ownerDocument,"mousemove",c),nt(i.scroller,"dragstart",h),nt(i.scroller,"drop",u),o||(lt(t),r.addNew||zi(e.doc,n,null,null,r.extend),l||s&&9==a?setTimeout(function(){i.wrapper.ownerDocument.body.focus(),i.input.focus()},20):i.input.focus())}),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},h=function(){return o=!0};l&&(i.scroller.draggable=!0),e.state.draggingText=u,u.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),et(i.wrapper.ownerDocument,"mouseup",u),et(i.wrapper.ownerDocument,"mousemove",c),et(i.scroller,"dragstart",h),et(i.scroller,"drop",u),mr(e),setTimeout(function(){return i.input.focus()},20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;lt(t);var s,a,l=o.sel,u=l.ranges;if(r.addNew&&!r.extend?(a=o.sel.contains(n),s=a>-1?u[a]:new yi(n,n)):(s=o.sel.primary(),a=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(s=new yi(n,n)),n=ar(e,t,!0,!0),a=-1;else{var c=ds(e,n,r.unit);s=r.extend?Hi(s,c.anchor,c.head,r.extend):c}r.addNew?-1==a?(a=u.length,qi(o,bi(e,u.concat([s]),a),{scroll:!1,origin:"*mouse"})):u.length>1&&u[a].empty()&&"char"==r.unit&&!r.extend?(qi(o,bi(e,u.slice(0,a).concat(u.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),l=o.sel):Vi(o,a,s,U):(a=0,qi(o,new vi([s],0),U),l=o.sel);var h=n;function d(t){if(0!=me(h,t))if(h=t,"rectangle"==r.unit){for(var i=[],u=e.options.tabSize,c=I(ae(o,n.line).text,n.ch,u),d=I(ae(o,t.line).text,t.ch,u),f=Math.min(c,d),p=Math.max(c,d),g=Math.min(n.line,t.line),m=Math.min(e.lastLine(),Math.max(n.line,t.line));g<=m;g++){var v=ae(o,g).text,y=G(v,f,u);f==p?i.push(new yi(ge(g,y),ge(g,y))):v.length>y&&i.push(new yi(ge(g,y),ge(g,G(v,p,u))))}i.length||i.push(new yi(n,n)),qi(o,bi(e,l.ranges.slice(0,a).concat(i),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=s,x=ds(e,t,r.unit),C=w.anchor;me(x.anchor,C)>0?(b=x.head,C=we(w.from(),x.anchor)):(b=x.anchor,C=be(w.to(),x.head));var k=l.ranges.slice(0);k[a]=function(e,t){var n=t.anchor,r=t.head,i=ae(e.doc,n.line);if(0==me(n,r)&&n.sticky==r.sticky)return t;var o=Je(i);if(!o)return t;var s=Xe(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return t;var l,u=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==u||u==o.length)return t;if(r.line!=n.line)l=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=Xe(o,r.ch,r.sticky),h=c-s||(r.ch-n.ch)*(1==a.level?-1:1);l=c==u-1||c==u?h<0:h>0}var d=o[u+(l?-1:0)],f=l==(1==d.level),p=f?d.from:d.to,g=f?"after":"before";return n.ch==p&&n.sticky==g?t:new yi(new ge(n.line,p,g),r)}(e,new yi(Ce(o,C),b)),qi(o,bi(e,k,a),U)}}var f=i.wrapper.getBoundingClientRect(),p=0;function g(t){e.state.selectingText=!1,p=1/0,lt(t),i.input.focus(),nt(i.wrapper.ownerDocument,"mousemove",m),nt(i.wrapper.ownerDocument,"mouseup",v),o.history.lastSelOrigin=null}var m=qr(e,function(t){0!==t.buttons&&ft(t)?function t(n){var s=++p,a=ar(e,n,!0,"rectangle"==r.unit);if(a)if(0!=me(a,h)){e.curOp.focus=L(),d(a);var l=xr(i,o);(a.line>=l.to||a.line<l.from)&&setTimeout(qr(e,function(){p==s&&t(n)}),150)}else{var u=n.clientY<f.top?-20:n.clientY>f.bottom?20:0;u&&setTimeout(qr(e,function(){p==s&&(i.scroller.scrollTop+=u,t(n))}),50)}}(t):g(t)}),v=qr(e,g);e.state.selectingText=v,et(i.wrapper.ownerDocument,"mousemove",m),et(i.wrapper.ownerDocument,"mouseup",v)}(e,r,t,o)}(t,r,o,e):dt(e)==n.scroller&&lt(e):2==i?(r&&zi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):3==i&&(k?t.display.input.onContextMenu(e):mr(t)))}}function ds(e,t,n){if("char"==n)return new yi(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new yi(ge(t.line,0),Ce(e.doc,ge(t.line+1,0)));var r=n(e,t);return new yi(r.from,r.to)}function fs(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&lt(t);var s=e.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!st(e,n))return ct(t);o-=a.top-s.viewOffset;for(var l=0;l<e.options.gutters.length;++l){var u=s.gutters.childNodes[l];if(u&&u.getBoundingClientRect().right>=i){var c=de(e.doc,o),h=e.options.gutters[l];return rt(e,n,e,c,h,t),ct(t)}}}function ps(e,t){return fs(e,t,"gutterClick",!0)}function gs(e,t){Cn(e.display,t)||function(e,t){return!!st(e,"gutterContextMenu")&&fs(e,t,"gutterContextMenu",!1)}(e,t)||it(e,t,"contextmenu")||k||e.display.input.onContextMenu(t)}function ms(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),$n(e)}cs.prototype.compare=function(e,t,n){return this.time+400>e&&0==me(t,this.pos)&&n==this.button};var vs={toString:function(){return"CodeMirror.Init"}},ys={},bs={};function ws(e){ci(e),Zr(e),Cr(e)}function xs(e,t,n){var r=n&&n!=vs;if(!t!=!r){var i=e.display.dragFunctions,o=t?et:nt;o(e.display.scroller,"dragstart",i.start),o(e.display.scroller,"dragenter",i.enter),o(e.display.scroller,"dragover",i.over),o(e.display.scroller,"dragleave",i.leave),o(e.display.scroller,"drop",i.drop)}}function Cs(e){e.options.lineWrapping?(M(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(_(e.display.wrapper,"CodeMirror-wrap"),qe(e)),sr(e),Zr(e),$n(e),setTimeout(function(){return Rr(e)},100)}function ks(e,t){var r=this;if(!(this instanceof ks))return new ks(e,t);this.options=t=t?j(t):{},j(ys,t,!1),hi(t);var i=t.value;"string"==typeof i?i=new _o(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var o=new ks.inputStyles[t.inputStyle](this),u=this.display=new function(e,t,r){var i=this;this.input=r,i.scrollbarFiller=D("div",null,"CodeMirror-scrollbar-filler"),i.scrollbarFiller.setAttribute("cm-not-content","true"),i.gutterFiller=D("div",null,"CodeMirror-gutter-filler"),i.gutterFiller.setAttribute("cm-not-content","true"),i.lineDiv=T("div",null,"CodeMirror-code"),i.selectionDiv=D("div",null,null,"position: relative; z-index: 1"),i.cursorDiv=D("div",null,"CodeMirror-cursors"),i.measure=D("div",null,"CodeMirror-measure"),i.lineMeasure=D("div",null,"CodeMirror-measure"),i.lineSpace=T("div",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,"position: relative; outline: none");var o=T("div",[i.lineSpace],"CodeMirror-lines");i.mover=D("div",[o],null,"position: relative"),i.sizer=D("div",[i.mover],"CodeMirror-sizer"),i.sizerWidth=null,i.heightForcer=D("div",null,null,"position: absolute; height: "+W+"px; width: 1px;"),i.gutters=D("div",null,"CodeMirror-gutters"),i.lineGutter=null,i.scroller=D("div",[i.sizer,i.heightForcer,i.gutters],"CodeMirror-scroll"),i.scroller.setAttribute("tabIndex","-1"),i.wrapper=D("div",[i.scrollbarFiller,i.gutterFiller,i.scroller],"CodeMirror"),s&&a<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),l||n&&v||(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,r.init(i)}(e,i,o);for(var c in u.wrapper.CodeMirror=this,ci(this),ms(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Nr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new N,keySeq:null,specialChars:null},t.autofocus&&!v&&u.input.focus(),s&&a<11&&setTimeout(function(){return r.display.input.reset(!0)},20),function(e){var t=e.display;et(t.scroller,"mousedown",qr(e,hs)),et(t.scroller,"dblclick",s&&a<11?qr(e,function(t){if(!it(e,t)){var n=ar(e,t);if(n&&!ps(e,t)&&!Cn(e.display,t)){lt(t);var r=e.findWordAt(n);zi(e.doc,r.anchor,r.head)}}}):function(t){return it(e,t)||lt(t)}),et(t.scroller,"contextmenu",function(t){return gs(e,t)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}et(t.scroller,"touchstart",function(i){if(!it(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!ps(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),et(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),et(t.scroller,"touchend",function(n){var r=t.activeTouch;if(r&&!Cn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var s,a=e.coordsChar(t.activeTouch,"page");s=!r.prev||o(r,r.prev)?new yi(a,a):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(a):new yi(ge(a.line,0),Ce(e.doc,ge(a.line+1,0))),e.setSelection(s.anchor,s.head),e.focus(),lt(n)}i()}),et(t.scroller,"touchcancel",i),et(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Tr(e,t.scroller.scrollTop),Lr(e,t.scroller.scrollLeft,!0),rt(e,"scroll",e))}),et(t.scroller,"mousewheel",function(t){return mi(e,t)}),et(t.scroller,"DOMMouseScroll",function(t){return mi(e,t)}),et(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){it(e,t)||ht(t)},over:function(t){it(e,t)||(function(e,t){var n=ar(e,t);if(n){var r=document.createDocumentFragment();hr(e,n,r),e.display.dragCursor||(e.display.dragCursor=D("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),F(e.display.dragCursor,r)}}(e,t),ht(t))},start:function(t){return function(e,t){if(s&&(!e.state.draggingText||+new Date-So<100))ht(t);else if(!it(e,t)&&!Cn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=D("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),h&&n.parentNode.removeChild(n)}}(e,t)},drop:qr(e,Fo),leave:function(t){it(e,t)||Do(e)}};var l=t.input.getField();et(l,"keyup",function(t){return ss.call(e,t)}),et(l,"keydown",qr(e,os)),et(l,"keypress",qr(e,as)),et(l,"focus",function(t){return vr(e,t)}),et(l,"blur",function(t){return yr(e,t)})}(this),Lo(),Wr(this),this.curOp.forceUpdate=!0,Ti(this,i),t.autofocus&&!v||this.hasFocus()?setTimeout(R(vr,this),20):yr(this),bs)bs.hasOwnProperty(c)&&bs[c](r,t[c],vs);kr(this),t.finishInit&&t.finishInit(this);for(var f=0;f<As.length;++f)As[f](r);Hr(this),l&&t.lineWrapping&&"optimizelegibility"==getComputedStyle(u.lineDiv).textRendering&&(u.lineDiv.style.textRendering="auto")}ks.defaults=ys,ks.optionHandlers=bs;var As=[];function Es(e,t,n,r){var i,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=It(e,t).state:n="prev");var s=e.options.tabSize,a=ae(o,t),l=I(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var u,c=a.text.match(/^\s*/)[0];if(r||/\S/.test(a.text)){if("smart"==n&&((u=o.mode.indent(i,a.text.slice(c.length),a.text))==H||u>150)){if(!r)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?I(ae(o,t-1).text,null,s):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var h="",d=0;if(e.options.indentWithTabs)for(var f=Math.floor(u/s);f;--f)d+=s,h+="\t";if(d<u&&(h+=q(u-d)),h!=c)return uo(o,h,ge(t,0),ge(t,c.length),"+input"),a.stateAfter=null,!0;for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==t&&g.head.ch<c.length){var m=ge(t,c.length);Vi(o,p,new yi(m,m));break}}}ks.defineInitHook=function(e){return As.push(e)};var _s=null;function Ss(e){_s=e}function Fs(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var s=e.state.pasteIncoming||"paste"==i,a=wt(t),l=null;if(s&&r.ranges.length>1)if(_s&&_s.text.join("\n")==t){if(r.ranges.length%_s.text.length==0){l=[];for(var u=0;u<_s.text.length;u++)l.push(o.splitLines(_s.text[u]))}}else a.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(l=X(a,function(e){return[e]}));for(var c=e.curOp.updateInput,h=r.ranges.length-1;h>=0;h--){var d=r.ranges[h],f=d.from(),p=d.to();d.empty()&&(n&&n>0?f=ge(f.line,f.ch-n):e.state.overwrite&&!s?p=ge(p.line,Math.min(ae(o,p.line).text.length,p.ch+Y(a).length)):s&&_s&&_s.lineWise&&_s.text.join("\n")==t&&(f=p=ge(f.line,0)));var g={from:f,to:p,text:l?l[h%l.length]:a,origin:i||(s?"paste":e.state.cutIncoming?"cut":"+input")};io(e.doc,g),ln(e,"inputRead",e,g)}t&&!s&&Ts(e,t),_r(e),e.curOp.updateInput<2&&(e.curOp.updateInput=c),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=!1}function Ds(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Kr(t,function(){return Fs(t,n,0,null,"paste")}),!0}function Ts(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(t.indexOf(o.electricChars.charAt(a))>-1){s=Es(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(ae(e.doc,i.head.line).text.slice(0,i.head.ch))&&(s=Es(e,i.head.line,"smart"));s&&ln(e,"electricInput",e,i.head.line)}}}function Bs(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:ge(i,0),head:ge(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function Ls(e,t,n,r){e.setAttribute("autocorrect",!!n),e.setAttribute("autocapitalize",!!r),e.setAttribute("spellcheck",!!t)}function Ms(){var e=D("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none"),t=D("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return l?e.style.width="1000px":e.setAttribute("wrap","off"),g&&(e.style.border="1px solid black"),Ls(e),t}function Os(e,t,n,r,i){var o=t,s=n,a=ae(e,t.line);function l(r){var o,s;if(null==(o=i?function(e,t,n,r){var i=Je(t,e.doc.direction);if(!i)return qo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=Xe(i,n.ch,n.sticky),s=i[o];if("ltr"==e.doc.direction&&s.level%2==0&&(r>0?s.to>n.ch:s.from<n.ch))return qo(t,n,r);var a,l=function(e,n){return Ko(t,e instanceof ge?e.ch:e,n)},u=function(n){return e.options.lineWrapping?(a=a||Ln(e,t),Jn(e,t,a,n)):{begin:0,end:t.text.length}},c=u("before"==n.sticky?l(n,-1):n.ch);if("rtl"==e.doc.direction||1==s.level){var h=1==s.level==r<0,d=l(n,h?1:-1);if(null!=d&&(h?d<=s.to&&d<=c.end:d>=s.from&&d>=c.begin)){var f=h?"before":"after";return new ge(n.line,d,f)}}var p=function(e,t,r){for(var o=function(e,t){return t?new ge(n.line,l(e,1),"before"):new ge(n.line,e,"after")};e>=0&&e<i.length;e+=t){var s=i[e],a=t>0==(1!=s.level),u=a?r.begin:l(r.end,-1);if(s.from<=u&&u<s.to)return o(u,a);if(u=a?s.from:l(s.to,-1),r.begin<=u&&u<r.end)return o(u,a)}},g=p(o+r,r,c);if(g)return g;var m=r>0?c.end:l(c.begin,-1);return null==m||r>0&&m==t.text.length||!(g=p(r>0?0:i.length-1,r,u(m)))?null:g}(e.cm,a,t,n):qo(a,t,n))){if(r||((s=t.line+n)<e.first||s>=e.first+e.size||(t=new ge(s,t.ch,t.sticky),!(a=ae(e,s)))))return!1;t=Yo(i,e.cm,a,t.line,n)}else t=o;return!0}if("char"==r)l();else if("column"==r)l(!0);else if("word"==r||"group"==r)for(var u=null,c="group"==r,h=e.cm&&e.cm.getHelper(t,"wordChars"),d=!0;!(n<0)||l(!d);d=!1){var f=a.text.charAt(t.ch)||"\n",p=te(f,h)?"w":c&&"\n"==f?"n":!c||/\s/.test(f)?null:"p";if(!c||d||p||(p="s"),u&&u!=p){n<0&&(n=1,l(),t.sticky="after");break}if(p&&(u=p),n>0&&!l(!d))break}var g=eo(e,t,o,s,!0);return ve(o,g)&&(g.hitSide=!0),g}function Ps(e,t,n,r){var i,o,s=e.doc,a=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(l-.5*tr(e.display),3);i=(n>0?t.bottom:t.top)+n*u}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Xn(e,a,i)).outside;){if(n<0?i<=0:i>=s.height){o.hitSide=!0;break}i+=5*n}return o}var Rs=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new N,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function js(e,t){var n=Bn(e,t.line);if(!n||n.hidden)return null;var r=ae(e.doc,t.line),i=Dn(n,r,t.line),o=Je(r,e.doc.direction),s="left";if(o){var a=Xe(o,t.ch);s=a%2?"right":"left"}var l=Rn(i.map,t.ch,s);return l.offset="right"==l.collapse?l.end:l.start,l}function Is(e,t){return t&&(e.bad=!0),e}function Ns(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Is(e.clipPos(ge(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return $s(o,t,n)}}function $s(e,t,n){var r=e.text.firstChild,i=!1;if(!t||!B(r,t))return Is(ge(he(e.line),0),!0);if(t==r&&(i=!0,t=r.childNodes[n],n=0,!t)){var o=e.rest?Y(e.rest):e.line;return Is(ge(he(o),o.text.length),i)}var s=3==t.nodeType?t:null,a=t;for(s||1!=t.childNodes.length||3!=t.firstChild.nodeType||(s=t.firstChild,n&&(n=s.nodeValue.length));a.parentNode!=r;)a=a.parentNode;var l=e.measure,u=l.maps;function c(t,n,r){for(var i=-1;i<(u?u.length:0);i++)for(var o=i<0?l.map:u[i],s=0;s<o.length;s+=3){var a=o[s+2];if(a==t||a==n){var c=he(i<0?e.line:e.rest[i]),h=o[s]+r;return(r<0||a!=t)&&(h=o[s+(r?1:0)]),ge(c,h)}}}var h=c(s,a,n);if(h)return Is(h,i);for(var d=a.nextSibling,f=s?s.nodeValue.length-n:0;d;d=d.nextSibling){if(h=c(d,d.firstChild,0))return Is(ge(h.line,h.ch-f),i);f+=d.textContent.length}for(var p=a.previousSibling,g=n;p;p=p.previousSibling){if(h=c(p,p.firstChild,-1))return Is(ge(h.line,h.ch+g),i);g+=p.textContent.length}}Rs.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;function o(e){if(!it(r,e)){if(r.somethingSelected())Ss({lineWise:!1,text:r.getSelections()}),"cut"==e.type&&r.replaceSelection("",null,"cut");else{if(!r.options.lineWiseCopyCut)return;var t=Bs(r);Ss({lineWise:!0,text:t.text}),"cut"==e.type&&r.operation(function(){r.setSelections(t.ranges,0,z),r.replaceSelection("",null,"cut")})}if(e.clipboardData){e.clipboardData.clearData();var o=_s.text.join("\n");if(e.clipboardData.setData("Text",o),e.clipboardData.getData("Text")==o)return void e.preventDefault()}var s=Ms(),a=s.firstChild;r.display.lineSpace.insertBefore(s,r.display.lineSpace.firstChild),a.value=_s.text.join("\n");var l=document.activeElement;P(a),setTimeout(function(){r.display.lineSpace.removeChild(s),l.focus(),l==i&&n.showPrimarySelection()},50)}}Ls(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize),et(i,"paste",function(e){it(r,e)||Ds(e,r)||a<=11&&setTimeout(qr(r,function(){return t.updateFromDOM()}),20)}),et(i,"compositionstart",function(e){t.composing={data:e.data,done:!1}}),et(i,"compositionupdate",function(e){t.composing||(t.composing={data:e.data,done:!1})}),et(i,"compositionend",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),et(i,"touchstart",function(){return n.forceCompositionEnd()}),et(i,"input",function(){t.composing||t.readFromDOMSoon()}),et(i,"copy",o),et(i,"cut",o)},Rs.prototype.prepareSelection=function(){var e=cr(this.cm,!1);return e.focus=this.cm.state.focused,e},Rs.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Rs.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Rs.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,r=t.doc.sel.primary(),i=r.from(),o=r.to();if(t.display.viewTo==t.display.viewFrom||i.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var s=Ns(t,e.anchorNode,e.anchorOffset),a=Ns(t,e.focusNode,e.focusOffset);if(!s||s.bad||!a||a.bad||0!=me(we(s,a),i)||0!=me(be(s,a),o)){var l=t.display.view,u=i.line>=t.display.viewFrom&&js(t,i)||{node:l[0].measure.map[2],offset:0},c=o.line<t.display.viewTo&&js(t,o);if(!c){var h=l[l.length-1].measure,d=h.maps?h.maps[h.maps.length-1]:h.map;c={node:d[d.length-1],offset:d[d.length-2]-d[d.length-3]}}if(u&&c){var f,p=e.rangeCount&&e.getRangeAt(0);try{f=E(u.node,u.offset,c.offset,c.node)}catch(e){}f&&(!n&&t.state.focused?(e.collapse(u.node,u.offset),f.collapsed||(e.removeAllRanges(),e.addRange(f))):(e.removeAllRanges(),e.addRange(f)),p&&null==e.anchorNode?e.addRange(p):n&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Rs.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},Rs.prototype.showMultipleSelections=function(e){F(this.cm.display.cursorDiv,e.cursors),F(this.cm.display.selectionDiv,e.selection)},Rs.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Rs.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return B(this.div,t)},Rs.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Rs.prototype.blur=function(){this.div.blur()},Rs.prototype.getField=function(){return this.div},Rs.prototype.supportsTouch=function(){return!0},Rs.prototype.receivedFocus=function(){var e=this;this.selectionInEditor()?this.pollSelection():Kr(this.cm,function(){return e.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))})},Rs.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Rs.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(m&&c&&this.cm.options.gutters.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=Ns(t,e.anchorNode,e.anchorOffset),r=Ns(t,e.focusNode,e.focusOffset);n&&r&&Kr(t,function(){qi(t.doc,wi(n,r),z),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}}},Rs.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,r=this.cm,i=r.display,o=r.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>r.firstLine()&&(s=ge(s.line-1,ae(r.doc,s.line-1).length)),a.ch==ae(r.doc,a.line).text.length&&a.line<r.lastLine()&&(a=ge(a.line+1,0)),s.line<i.viewFrom||a.line>i.viewTo-1)return!1;s.line==i.viewFrom||0==(e=lr(r,s.line))?(t=he(i.view[0].line),n=i.view[0].node):(t=he(i.view[e].line),n=i.view[e-1].node.nextSibling);var l,u,c=lr(r,a.line);if(c==i.view.length-1?(l=i.viewTo-1,u=i.lineDiv.lastChild):(l=he(i.view[c+1].line)-1,u=i.view[c+1].node.previousSibling),!n)return!1;for(var h=r.doc.splitLines(function(e,t,n,r,i){var o="",s=!1,a=e.doc.lineSeparator(),l=!1;function u(){s&&(o+=a,l&&(o+=a),s=l=!1)}function c(e){e&&(u(),o+=e)}function h(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,d=t.getAttribute("cm-marker");if(d){var f=e.findMarks(ge(r,0),ge(i+1,0),(m=+d,function(e){return e.id==m}));return void(f.length&&(o=f[0].find(0))&&c(le(e.doc,o.from,o.to).join(a)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var g=0;g<t.childNodes.length;g++)h(t.childNodes[g]);/^(pre|p)$/i.test(t.nodeName)&&(l=!0),p&&(s=!0)}else 3==t.nodeType&&c(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var m}for(;h(t),t!=n;)t=t.nextSibling,l=!1;return o}(r,n,u,t,l)),d=le(r.doc,ge(t,0),ge(l,ae(r.doc,l).text.length));h.length>1&&d.length>1;)if(Y(h)==Y(d))h.pop(),d.pop(),l--;else{if(h[0]!=d[0])break;h.shift(),d.shift(),t++}for(var f=0,p=0,g=h[0],m=d[0],v=Math.min(g.length,m.length);f<v&&g.charCodeAt(f)==m.charCodeAt(f);)++f;for(var y=Y(h),b=Y(d),w=Math.min(y.length-(1==h.length?f:0),b.length-(1==d.length?f:0));p<w&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)++p;if(1==h.length&&1==d.length&&t==s.line)for(;f&&f>s.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)f--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(f).replace(/\u200b+$/,"");var x=ge(t,f),C=ge(l,d.length?Y(d).length-p:0);return h.length>1||h[0]||me(x,C)?(uo(r.doc,h,x,C,"+input"),!0):void 0},Rs.prototype.ensurePolled=function(){this.forceCompositionEnd()},Rs.prototype.reset=function(){this.forceCompositionEnd()},Rs.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Rs.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Rs.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Kr(this.cm,function(){return Zr(e.cm)})},Rs.prototype.setUneditable=function(e){e.contentEditable="false"},Rs.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||qr(this.cm,Fs)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Rs.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Rs.prototype.onContextMenu=function(){},Rs.prototype.resetPosition=function(){},Rs.prototype.needsContentAttribute=!0;var Ws=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new N,this.hasSelection=!1,this.composing=null};Ws.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!it(r,e)){if(r.somethingSelected())Ss({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Bs(r);Ss({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,z):(n.prevInput="",i.value=t.text.join("\n"),P(i))}"cut"==e.type&&(r.state.cutIncoming=!0)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(i.style.width="0px"),et(i,"input",function(){s&&a>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),et(i,"paste",function(e){it(r,e)||Ds(e,r)||(r.state.pasteIncoming=!0,n.fastPoll())}),et(i,"cut",o),et(i,"copy",o),et(e.scroller,"paste",function(t){Cn(e,t)||it(r,t)||(r.state.pasteIncoming=!0,n.focus())}),et(e.lineSpace,"selectstart",function(t){Cn(e,t)||lt(t)}),et(i,"compositionstart",function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}}),et(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Ws.prototype.createField=function(e){this.wrapper=Ms(),this.textarea=this.wrapper.firstChild},Ws.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=cr(e);if(e.options.moveInputWithCursor){var i=Kn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),s=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+s.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+s.left-o.left))}return r},Ws.prototype.showSelection=function(e){var t=this.cm,n=t.display;F(n.cursorDiv,e.cursors),F(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ws.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&P(this.textarea),s&&a>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null))}},Ws.prototype.getField=function(){return this.textarea},Ws.prototype.supportsTouch=function(){return!1},Ws.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!v||L()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ws.prototype.blur=function(){this.textarea.blur()},Ws.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ws.prototype.receivedFocus=function(){this.slowPoll()},Ws.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ws.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function n(){var r=t.poll();r||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))})},Ws.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||xt(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=""),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(r.length,i.length);l<u&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return Kr(t,function(){Fs(t,i.slice(l),r.length-l,null,e.composing?"*compose":null),i.length>1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ws.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ws.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},Ws.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ar(n,e),u=r.scroller.scrollTop;if(o&&!h){var c=n.options.resetSelectionOnContextMenu;c&&-1==n.doc.sel.contains(o)&&qr(n,qi)(n.doc,wi(o),z);var d,f=i.style.cssText,p=t.wrapper.style.cssText,g=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-g.top-5)+"px; left: "+(e.clientX-g.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(d=window.scrollY),r.input.focus(),l&&window.scrollTo(null,d),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),s&&a>=9&&v(),k){ht(e);var m=function(){nt(window,"mouseup",m),setTimeout(y,20)};et(window,"mouseup",m)}else setTimeout(y,50)}function v(){if(null!=i.selectionStart){var e=n.somethingSelected(),o=""+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=p,i.style.cssText=f,s&&a<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=u),null!=i.selectionStart)){(!s||s&&a<9)&&v();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&""==t.prevInput?qr(n,no)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Ws.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Ws.prototype.setUneditable=function(){},Ws.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=vs&&i(e,t,n)}:i)}e.defineOption=n,e.Init=vs,n("value","",function(e,t){return e.setValue(t)},!0),n("mode",null,function(e,t){e.doc.modeOption=t,Ei(e)},!0),n("indentUnit",2,Ei,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(e){_i(e),$n(e),Zr(e)},!0),n("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(ge(r,o))}r++});for(var i=n.length-1;i>=0;i--)uo(e.doc,t,n[i],ge(n[i].line,n[i].ch+t.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=vs&&e.refresh()}),n("specialCharPlaceholder",Jt,function(e){return e.refresh()},!0),n("electricChars",!0),n("inputStyle",v?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),n("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),n("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),n("rtlMoveVisually",!w),n("wholeLineUpdateBefore",!0),n("theme","default",function(e){ms(e),ws(e)},!0),n("keyMap","default",function(e,t,n){var r=Vo(t),i=n!=vs&&Vo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Cs,!0),n("gutters",[],function(e){hi(e.options),ws(e)},!0),n("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?ir(e.display)+"px":"0",e.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(e){return Rr(e)},!0),n("scrollbarStyle","native",function(e){Nr(e),Rr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),n("lineNumbers",!1,function(e){hi(e.options),ws(e)},!0),n("firstLineNumber",1,ws,!0),n("lineNumberFormatter",function(e){return e},ws,!0),n("showCursorWhenSelecting",!1,ur,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(e,t){"nocursor"==t&&(yr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),n("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),n("dragDrop",!0,xs),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,ur,!0),n("singleCursorHeightPerLine",!0,ur,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,_i,!0),n("addModeClass",!1,_i,!0),n("pollInterval",100),n("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),n("historyEventDelay",1250),n("viewportMargin",10,function(e){return e.refresh()},!0),n("maxHighlightLength",1e4,_i,!0),n("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),n("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),n("autofocus",null),n("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),n("phrases",null)}(ks),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&qr(this,t[e])(this,n,i),rt(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Vo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:Yr(function(t,n){var r=t.token?t:e.getMode(this.options,t);if(r.startState)throw new Error("Overlays may not be stateful.");!function(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}(this.state.overlays,{mode:r,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},function(e){return e.priority}),this.state.modeGen++,Zr(this)}),removeOverlay:Yr(function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||"string"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void Zr(this)}}),indentLine:Yr(function(e,t,n){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),fe(this.doc,e)&&Es(this,e,t,n)}),indentSelection:Yr(function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(Es(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&_r(this));else{var o=i.from(),s=i.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<n;++l)Es(this,l,e);var u=this.doc.sel.ranges;0==o.ch&&t.length==u.length&&u[r].from().ch>0&&Vi(this.doc,r,new yi(o,u[r].to()),z)}}}),getTokenAt:function(e,t){return zt(this,e,t)},getLineTokens:function(e,t){return zt(this,ge(e),t,!0)},getTokenTypeAt:function(e){e=Ce(this.doc,e);var t,n=jt(this,ae(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var s=r+i>>1;if((s?n[2*s-1]:0)>=o)i=s;else{if(!(n[2*s+1]<o)){t=n[2*s+2];break}r=s+1}}var a=t?t.indexOf("overlay "):-1;return a<0?t:0==a?null:t.slice(0,a-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var r=[];if(!n.hasOwnProperty(t))return r;var i=n[t],o=this.getModeAt(e);if("string"==typeof o[t])i[o[t]]&&r.push(i[o[t]]);else if(o[t])for(var s=0;s<o[t].length;s++){var a=i[o[t][s]];a&&r.push(a)}else o.helperType&&i[o.helperType]?r.push(i[o.helperType]):i[o.name]&&r.push(i[o.name]);for(var l=0;l<i._global.length;l++){var u=i._global[l];u.pred(o,this)&&-1==$(r,u.val)&&r.push(u.val)}return r},getStateAfter:function(e,t){var n=this.doc;return It(this,(e=xe(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary();return Kn(this,null==e?n.head:"object"==typeof e?Ce(this.doc,e):e?n.from():n.to(),t||"page")},charCoords:function(e,t){return Gn(this,Ce(this.doc,e),t||"page")},coordsChar:function(e,t){return Xn(this,(e=Vn(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=Vn(this,{top:e,left:0},t||"page").top,de(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1;if("number"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,i=!0),r=ae(this.doc,e)}else r=e;return Un(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Ge(r):0)},defaultTextHeight:function(){return tr(this.display)},defaultCharWidth:function(){return nr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,s,a,l=this.display,u=(e=Kn(this,Ce(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==r)u=e.top;else if("above"==r||"near"==r){var h=Math.max(l.wrapper.clientHeight,this.doc.height),d=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>h)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=h&&(u=e.bottom),c+t.offsetWidth>d&&(c=d-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==i?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,s={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(a=Ar(o,s)).scrollTop&&Tr(o,a.scrollTop),null!=a.scrollLeft&&Lr(o,a.scrollLeft))},triggerOnKeyDown:Yr(os),triggerOnKeyPress:Yr(as),triggerOnKeyUp:ss,triggerOnMouseDown:Yr(hs),execCommand:function(e){if(Xo.hasOwnProperty(e))return Xo[e].call(null,this)},triggerElectric:Yr(function(e){Ts(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=Ce(this.doc,e),s=0;s<t&&!(o=Os(this.doc,o,i,n,r)).hitSide;++s);return o},moveH:Yr(function(e,t){var n=this;this.extendSelectionsBy(function(r){return n.display.shift||n.doc.extend||r.empty()?Os(n.doc,r.head,e,t,n.options.rtlMoveVisually):e<0?r.from():r.to()},V)}),deleteH:Yr(function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection("",null,"+delete"):Go(this,function(n){var i=Os(r,n.head,e,t,!1);return e<0?{from:i,to:n.head}:{from:n.head,to:i}})}),findPosV:function(e,t,n,r){var i=1,o=r;t<0&&(i=-1,t=-t);for(var s=Ce(this.doc,e),a=0;a<t;++a){var l=Kn(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Ps(this,l,i,n)).hitSide)break}return s},moveV:Yr(function(e,t){var n=this,r=this.doc,i=[],o=!this.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy(function(s){if(o)return e<0?s.from():s.to();var a=Kn(n,s.head,"div");null!=s.goalColumn&&(a.left=s.goalColumn),i.push(a.left);var l=Ps(n,a,e,t);return"page"==t&&s==r.sel.primary()&&Er(n,Gn(n,l,"div").top-a.top),l},V),i.length)for(var s=0;s<r.sel.ranges.length;s++)r.sel.ranges[s].goalColumn=i[s]}),findWordAt:function(e){var t=this.doc,n=ae(t,e.line).text,r=e.ch,i=e.ch;if(n){var o=this.getHelper(e,"wordChars");"before"!=e.sticky&&i!=n.length||!r?++i:--r;for(var s=n.charAt(r),a=te(s,o)?function(e){return te(e,o)}:/\s/.test(s)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!te(e)};r>0&&a(n.charAt(r-1));)--r;for(;i<n.length&&a(n.charAt(i));)++i}return new yi(ge(e.line,r),ge(e.line,i))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?M(this.display.cursorDiv,"CodeMirror-overwrite"):_(this.display.cursorDiv,"CodeMirror-overwrite"),rt(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==L()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:Yr(function(e,t){Sr(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-_n(this)-this.display.barHeight,width:e.scrollWidth-_n(this)-this.display.barWidth,clientHeight:Fn(this),clientWidth:Sn(this)}},scrollIntoView:Yr(function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:ge(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Fr(e),e.curOp.scrollToPos=t}(this,e):Dr(this,e.from,e.to,e.margin)}),setSize:Yr(function(e,t){var n=this,r=function(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e};null!=e&&(this.display.wrapper.style.width=r(e)),null!=t&&(this.display.wrapper.style.height=r(t)),this.options.lineWrapping&&Nn(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){Jr(n,i,"widget");break}++i}),this.curOp.forceUpdate=!0,rt(this,"refresh",this)}),operation:function(e){return Kr(this,e)},startOperation:function(){return Wr(this)},endOperation:function(){return Hr(this)},refresh:Yr(function(){var e=this.display.cachedTextHeight;Zr(this),this.curOp.forceUpdate=!0,$n(this),Sr(this,this.doc.scrollLeft,this.doc.scrollTop),li(this),(null==e||Math.abs(e-tr(this.display))>.5)&&sr(this),rt(this,"refresh",this)}),swapDoc:Yr(function(e){var t=this.doc;return t.cm=null,Ti(this,e),$n(this),this.display.input.reset(),Sr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,ln(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},at(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(ks);var Hs="iter insert remove copy getEditor constructor".split(" ");for(var zs in _o.prototype)_o.prototype.hasOwnProperty(zs)&&$(Hs,zs)<0&&(ks.prototype[zs]=function(e){return function(){return e.apply(this.doc,arguments)}}(_o.prototype[zs]));return at(_o),ks.inputStyles={textarea:Ws,contenteditable:Rs},ks.defineMode=function(e){ks.defaults.mode||"null"==e||(ks.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),At[e]=t}.apply(this,arguments)},ks.defineMIME=function(e,t){Et[e]=t},ks.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),ks.defineMIME("text/plain","null"),ks.defineExtension=function(e,t){ks.prototype[e]=t},ks.defineDocExtension=function(e,t){_o.prototype[e]=t},ks.fromTextArea=function(e,t){if((t=t?j(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=L();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=a.getValue()}var i;if(e.form&&(et(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var s=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=s}}catch(e){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(nt(e.form,"submit",r),"function"==typeof e.form.submit&&(e.form.submit=i))}},e.style.display="none";var a=ks(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return a},function(e){e.off=nt,e.on=et,e.wheelEventPixels=gi,e.Doc=_o,e.splitLines=wt,e.countColumn=I,e.findColumn=G,e.isWordChar=ee,e.Pass=H,e.signal=rt,e.Line=Gt,e.changeEnd=xi,e.scrollbarModel=Ir,e.Pos=ge,e.cmpPos=me,e.modes=At,e.mimeModes=Et,e.resolveMode=_t,e.getMode=St,e.modeExtensions=Ft,e.extendMode=Dt,e.copyState=Tt,e.startState=Lt,e.innerMode=Bt,e.commands=Xo,e.keyMap=Io,e.keyName=Uo,e.isModifierKey=Ho,e.lookupKey=Wo,e.normalizeKeyMap=$o,e.StringStream=Mt,e.SharedTextMarker=Co,e.TextMarker=wo,e.LineWidget=vo,e.e_preventDefault=lt,e.e_stopPropagation=ut,e.e_stop=ht,e.addClass=M,e.contains=B,e.rmClass=_,e.keyNames=Oo}(ks),ks.version="5.43.0",ks}()},,,,,,,,,,,,,,,,,,,,,,function(e,t,n){var r;
/*!
* jQuery JavaScript Library v3.3.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2018-01-20T17:24Z
*/
/*!
* jQuery JavaScript Library v3.3.1
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2018-01-20T17:24Z
*/
!function(t,n){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var o=[],s=n.document,a=Object.getPrototypeOf,l=o.slice,u=o.concat,c=o.push,h=o.indexOf,d={},f=d.toString,p=d.hasOwnProperty,g=p.toString,m=g.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},b=function(e){return null!=e&&e===e.window},w={type:!0,src:!0,noModule:!0};function x(e,t,n){var r,i=(t=t||s).createElement("script");if(i.text=e,n)for(r in w)n[r]&&(i[r]=n[r]);t.head.appendChild(i).parentNode.removeChild(i)}function C(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?d[f.call(e)]||"object":typeof e}var k=function(e,t){return new k.fn.init(e,t)},A=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function E(e){var t=!!e&&"length"in e&&e.length,n=C(e);return!y(e)&&!b(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}k.fn=k.prototype={jquery:"3.3.1",constructor:k,length:0,toArray:function(){return l.call(this)},get:function(e){return null==e?l.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(e){return this.pushStack(k.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:c,sort:o.sort,splice:o.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,l=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[a]||{},a++),"object"==typeof s||y(s)||(s={}),a===l&&(s=this,a--);a<l;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],s!==(r=e[t])&&(u&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&k.isPlainObject(n)?n:{},s[t]=k.extend(u,o,r)):void 0!==r&&(s[t]=r));return s},k.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==f.call(e))&&(!(t=a(e))||"function"==typeof(n=p.call(t,"constructor")&&t.constructor)&&g.call(n)===m)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){x(e)},each:function(e,t){var n,r=0;if(E(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(A,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(E(Object(e))?k.merge(n,"string"==typeof e?[e]:e):c.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:h.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,s=!n;i<o;i++)!t(e[i],i)!==s&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,s=[];if(E(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return u.apply([],s)},guid:1,support:v}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=o[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){d["[object "+t+"]"]=t.toLowerCase()});var _=
/*!
* Sizzle CSS Selector Engine v2.3.3
* https://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-08-08
*/
function(e){var t,n,r,i,o,s,a,l,u,c,h,d,f,p,g,m,v,y,b,w="sizzle"+1*new Date,x=e.document,C=0,k=0,A=se(),E=se(),_=se(),S=function(e,t){return e===t&&(h=!0),0},F={}.hasOwnProperty,D=[],T=D.pop,B=D.push,L=D.push,M=D.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",j="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+R+"*("+j+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+j+"))|)"+R+"*\\]",N=":("+j+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(R+"+","g"),W=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),H=new RegExp("^"+R+"*,"+R+"*"),z=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp("="+R+"*([^\\]'\"]*?)"+R+"*\\]","g"),V=new RegExp(N),G=new RegExp("^"+j+"$"),K={ID:new RegExp("^#("+j+")"),CLASS:new RegExp("^\\.("+j+")"),TAG:new RegExp("^("+j+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Q=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(D=M.call(x.childNodes),x.childNodes),D[x.childNodes.length].nodeType}catch(e){L={apply:D.length?function(e,t){B.apply(e,M.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function oe(e,t,r,i){var o,a,u,c,h,p,v,y=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:x)!==f&&d(t),t=t||f,g)){if(11!==C&&(h=Z.exec(e)))if(o=h[1]){if(9===C){if(!(u=t.getElementById(o)))return r;if(u.id===o)return r.push(u),r}else if(y&&(u=y.getElementById(o))&&b(t,u)&&u.id===o)return r.push(u),r}else{if(h[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=h[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!_[e+" "]&&(!m||!m.test(e))){if(1!==C)y=t,v=e;else if("object"!==t.nodeName.toLowerCase()){for((c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=w),a=(p=s(e)).length;a--;)p[a]="#"+c+" "+ve(p[a]);v=p.join(","),y=J.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,y.querySelectorAll(v)),r}catch(e){}finally{c===w&&t.removeAttribute("id")}}}return l(e.replace(W,"$1"),t,r,i)}function se(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ae(e){return e[w]=!0,e}function le(e){var t=f.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ue(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function he(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function fe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function pe(e){return ae(function(t){return t=+t,ae(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,s=e?e.ownerDocument||e:x;return s!==f&&9===s.nodeType&&s.documentElement?(p=(f=s).documentElement,g=!o(f),x!==f&&(i=f.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=le(function(e){return e.appendChild(f.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=X.test(f.getElementsByClassName),n.getById=le(function(e){return p.appendChild(e).id=w,!f.getElementsByName||!f.getElementsByName(w).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Q,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Q,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],m=[],(n.qsa=X.test(f.querySelectorAll))&&(le(function(e){p.appendChild(e).innerHTML="<a id='"+w+"'></a><select id='"+w+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+R+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+w+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||m.push(".#.+[+~]")}),le(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=f.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),p.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=X.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&le(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),v.push("!=",N)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=X.test(p.compareDocumentPosition),b=t||X.test(p.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return h=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===f||e.ownerDocument===x&&b(x,e)?-1:t===f||t.ownerDocument===x&&b(x,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return h=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!i||!o)return e===f?-1:t===f?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[r]===a[r];)r++;return r?ce(s[r],a[r]):s[r]===x?-1:a[r]===x?1:0},f):f},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&d(e),t=t.replace(U,"='$1']"),n.matchesSelector&&g&&!_[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,f,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==f&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==f&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&F.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(h=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(S),h){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ae,match:K,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Q,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Q,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=s(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Q,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=A[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&A(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,h,d,f,p,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a,b=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&y){for(b=(f=(u=(c=(h=(d=m)[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[e]||[])[0]===C&&u[1])&&u[2],d=f&&m.childNodes[f];d=++f&&d&&d[g]||(b=f=0)||p.pop();)if(1===d.nodeType&&++b&&d===t){c[e]=[C,f,b];break}}else if(y&&(b=f=(u=(c=(h=(d=t)[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[e]||[])[0]===C&&u[1]),!1===b)for(;(d=++f&&d&&d[g]||(b=f=0)||p.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++b||(y&&((c=(h=d[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[e]=[C,b]),d!==t)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[w]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ae(function(e,n){for(var r,o=i(e,t),s=o.length;s--;)e[r=O(e,o[s])]=!(n[r]=o[s])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ae(function(e){var t=[],n=[],r=a(e.replace(W,"$1"));return r[w]?ae(function(e,t,n,i){for(var o,s=r(e,null,i,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ae(function(e){return function(t){return oe(e,t).length>0}}),contains:ae(function(e){return e=e.replace(Q,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ae(function(e){return G.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Q,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===p},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:fe(!1),disabled:fe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:pe(function(){return[0]}),last:pe(function(e,t){return[t-1]}),eq:pe(function(e,t,n){return[n<0?n+t:n]}),even:pe(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:pe(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:pe(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:pe(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=he(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=de(t);function me(){}function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function ye(e,t,n){var r=t.dir,i=t.next,o=i||r,s=n&&"parentNode"===o,a=k++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,i);return!1}:function(t,n,l){var u,c,h,d=[C,a];if(l){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,l))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(c=(h=t[w]||(t[w]={}))[t.uniqueID]||(h[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((u=c[o])&&u[0]===C&&u[1]===a)return d[2]=u[2];if(c[o]=d,d[2]=e(t,n,l))return!0}return!1}}function be(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function we(e,t,n,r,i){for(var o,s=[],a=0,l=e.length,u=null!=t;a<l;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),u&&t.push(a)));return s}function xe(e,t,n,r,i,o){return r&&!r[w]&&(r=xe(r)),i&&!i[w]&&(i=xe(i,o)),ae(function(o,s,a,l){var u,c,h,d=[],f=[],p=s.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:we(g,d,e,a,l),v=n?i||(o?e:p||r)?[]:s:m;if(n&&n(m,v,a,l),r)for(u=we(v,f),r(u,[],a,l),c=u.length;c--;)(h=u[c])&&(v[f[c]]=!(m[f[c]]=h));if(o){if(i||e){if(i){for(u=[],c=v.length;c--;)(h=v[c])&&u.push(m[c]=h);i(null,v=[],u,l)}for(c=v.length;c--;)(h=v[c])&&(u=i?O(o,h):d[c])>-1&&(o[u]=!(s[u]=h))}}else v=we(v===s?v.splice(p,v.length):v),i?i(null,s,v,l):L.apply(s,v)})}function Ce(e){for(var t,n,i,o=e.length,s=r.relative[e[0].type],a=s||r.relative[" "],l=s?1:0,c=ye(function(e){return e===t},a,!0),h=ye(function(e){return O(t,e)>-1},a,!0),d=[function(e,n,r){var i=!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):h(e,n,r));return t=null,i}];l<o;l++)if(n=r.relative[e[l].type])d=[ye(be(d),n)];else{if((n=r.filter[e[l].type].apply(null,e[l].matches))[w]){for(i=++l;i<o&&!r.relative[e[i].type];i++);return xe(l>1&&be(d),l>1&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(W,"$1"),n,l<i&&Ce(e.slice(l,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}d.push(n)}return be(d)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,s=oe.tokenize=function(e,t){var n,i,o,s,a,l,u,c=E[e+" "];if(c)return t?0:c.slice(0);for(a=e,l=[],u=r.preFilter;a;){for(s in n&&!(i=H.exec(a))||(i&&(a=a.slice(i[0].length)||a),l.push(o=[])),n=!1,(i=z.exec(a))&&(n=i.shift(),o.push({value:n,type:i[0].replace(W," ")}),a=a.slice(n.length)),r.filter)!(i=K[s].exec(a))||u[s]&&!(i=u[s](i))||(n=i.shift(),o.push({value:n,type:s,matches:i}),a=a.slice(n.length));if(!n)break}return t?a.length:a?oe.error(e):E(e,l).slice(0)},a=oe.compile=function(e,t){var n,i=[],o=[],a=_[e+" "];if(!a){for(t||(t=s(e)),n=t.length;n--;)(a=Ce(t[n]))[w]?i.push(a):o.push(a);(a=_(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,s,a,l,c){var h,p,m,v=0,y="0",b=o&&[],w=[],x=u,k=o||i&&r.find.TAG("*",c),A=C+=null==x?1:Math.random()||.1,E=k.length;for(c&&(u=s===f||s||c);y!==E&&null!=(h=k[y]);y++){if(i&&h){for(p=0,s||h.ownerDocument===f||(d(h),a=!g);m=e[p++];)if(m(h,s||f,a)){l.push(h);break}c&&(C=A)}n&&((h=!m&&h)&&v--,o&&b.push(h))}if(v+=y,n&&y!==v){for(p=0;m=t[p++];)m(b,w,s,a);if(o){if(v>0)for(;y--;)b[y]||w[y]||(w[y]=T.call(l));w=we(w)}L.apply(l,w),c&&!o&&w.length>0&&v+t.length>1&&oe.uniqueSort(l)}return c&&(C=A,u=x),b};return n?ae(o):o}(o,i))).selector=e}return a},l=oe.select=function(e,t,n,i){var o,l,u,c,h,d="function"==typeof e&&e,f=!i&&s(e=d.selector||e);if(n=n||[],1===f.length){if((l=f[0]=f[0].slice(0)).length>2&&"ID"===(u=l[0]).type&&9===t.nodeType&&g&&r.relative[l[1].type]){if(!(t=(r.find.ID(u.matches[0].replace(Q,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(o=K.needsContext.test(e)?0:l.length;o--&&(u=l[o],!r.relative[c=u.type]);)if((h=r.find[c])&&(i=h(u.matches[0].replace(Q,ee),J.test(l[0].type)&&ge(t.parentNode)||t))){if(l.splice(o,1),!(e=i.length&&ve(l)))return L.apply(n,i),n;break}}return(d||a(e,f))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=w.split("").sort(S).join("")===w,n.detectDuplicates=!!h,d(),n.sortDetached=le(function(e){return 1&e.compareDocumentPosition(f.createElement("fieldset"))}),le(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ue("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&le(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ue("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||ue(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(n);k.find=_,k.expr=_.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=_.uniqueSort,k.text=_.getText,k.isXMLDoc=_.isXML,k.contains=_.contains,k.escapeSelector=_.escape;var S=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},F=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=k.expr.match.needsContext;function T(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return y(t)?k.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?k.grep(e,function(e){return e===t!==n}):"string"!=typeof t?k.grep(e,function(e){return h.call(t,e)>-1!==n}):k.filter(t,e,n)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return r>1?k.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&D.test(e)?k(e):e||[],!1).length}});var M,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||M,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:O.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:s,!0)),B.test(r[1])&&k.isPlainObject(t))for(r in t)y(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=s.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,M=k(s);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function j(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],s="string"!=typeof e&&k(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?h.call(k(e),this[0]):h.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return j(e,"nextSibling")},prev:function(e){return j(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return F((e.parentNode||{}).firstChild,e)},children:function(e){return F(e.firstChild)},contents:function(e){return T(e,"iframe")?e.contentDocument:(T(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(e,t){k.fn[e]=function(n,r){var i=k.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=k.filter(r,i)),this.length>1&&(R[e]||k.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function N(e){return e}function $(e){throw e}function W(e,t,n,r){var i;try{e&&y(i=e.promise)?i.call(e).done(t).fail(n):e&&y(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return k.each(e.match(I)||[],function(e,n){t[n]=!0}),t}(e):k.extend({},e);var t,n,r,i,o=[],s=[],a=-1,l=function(){for(i=i||e.once,r=t=!0;s.length;a=-1)for(n=s.shift();++a<o.length;)!1===o[a].apply(n[0],n[1])&&e.stopOnFalse&&(a=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},u={add:function(){return o&&(n&&!t&&(a=o.length-1,s.push(n)),function t(n){k.each(n,function(n,r){y(r)?e.unique&&u.has(r)||o.push(r):r&&r.length&&"string"!==C(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;(n=k.inArray(t,o,n))>-1;)o.splice(n,1),n<=a&&a--}),this},has:function(e){return e?k.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},k.extend({Deferred:function(e){var t=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return k.Deferred(function(n){k.each(t,function(t,r){var i=y(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var o=0;function s(e,t,r,i){return function(){var a=this,l=arguments,u=function(){var n,u;if(!(e<o)){if((n=r.apply(a,l))===t.promise())throw new TypeError("Thenable self-resolution");u=n&&("object"==typeof n||"function"==typeof n)&&n.then,y(u)?i?u.call(n,s(o,t,N,i),s(o,t,$,i)):(o++,u.call(n,s(o,t,N,i),s(o,t,$,i),s(o,t,N,t.notifyWith))):(r!==N&&(a=void 0,l=[n]),(i||t.resolveWith)(a,l))}},c=i?u:function(){try{u()}catch(n){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(n,c.stackTrace),e+1>=o&&(r!==$&&(a=void 0,l=[n]),t.rejectWith(a,l))}};e?c():(k.Deferred.getStackHook&&(c.stackTrace=k.Deferred.getStackHook()),n.setTimeout(c))}}return k.Deferred(function(n){t[0][3].add(s(0,n,y(i)?i:N,n.notifyWith)),t[1][3].add(s(0,n,y(e)?e:N)),t[2][3].add(s(0,n,y(r)?r:$))}).promise()},promise:function(e){return null!=e?k.extend(e,i):i}},o={};return k.each(t,function(e,n){var s=n[2],a=n[5];i[n[1]]=s.add,a&&s.add(function(){r=a},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=l.call(arguments),o=k.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?l.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(W(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)W(i[n],s(n),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&H.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){n.setTimeout(function(){throw e})};var z=k.Deferred();function U(){s.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),k.ready()}k.fn.ready=function(e){return z.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0,!0!==e&&--k.readyWait>0||z.resolveWith(s,[k]))}}),k.ready.then=z.then,"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(k.ready):(s.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var V=function(e,t,n,r,i,o,s){var a=0,l=e.length,u=null==n;if("object"===C(n))for(a in i=!0,n)V(e,t,a,n[a],!0,o,s);else if(void 0!==r&&(i=!0,y(r)||(s=!0),u&&(s?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(k(e),n)})),t))for(;a<l;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:u?t.call(e):l?t(e[0],n):o},G=/^-ms-/,K=/-([a-z])/g;function q(e,t){return t.toUpperCase()}function Y(e){return e.replace(G,"ms-").replace(K,q)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Z(){this.expando=k.expando+Z.uid++}Z.uid=1,Z.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[Y(t)]=n;else for(r in t)i[Y(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Y(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Y):(t=Y(t))in r?[t]:t.match(I)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var J=new Z,Q=new Z,ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,te=/[A-Z]/g;function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(te,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:ee.test(e)?JSON.parse(e):e)}(n)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return Q.hasData(e)||J.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),k.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=Q.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=Y(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Q.set(this,e)}):V(this,function(t){var n;if(o&&void 0===t)return void 0!==(n=Q.get(o,e))?n:void 0!==(n=ne(o,e))?n:void 0;this.each(function(){Q.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:k.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?k.queue(this[0],e):void 0===t?this:this.each(function(){var n=k.queue(this,e,t);k._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&k.dequeue(this,e)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=J.get(o[s],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&k.contains(e.ownerDocument,e)&&"none"===k.css(e,"display")},ae=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=s[o];return i};function le(e,t,n,r){var i,o,s=20,a=r?function(){return r.cur()}:function(){return k.css(e,t,"")},l=a(),u=n&&n[3]||(k.cssNumber[t]?"":"px"),c=(k.cssNumber[t]||"px"!==u&&+l)&&ie.exec(k.css(e,t));if(c&&c[3]!==u){for(l/=2,u=u||c[3],c=+l||1;s--;)k.style(e,t,c+u),(1-o)*(1-(o=a()/l||.5))<=0&&(s=0),c/=o;c*=2,k.style(e,t,c+u),n=n||[]}return n&&(c=+c||+l||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=c,r.end=i)),i}var ue={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=ue[r];return i||(t=n.body.appendChild(n.createElement(r)),i=k.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ue[r]=i,i)}function he(e,t){for(var n,r,i=[],o=0,s=e.length;o<s;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&se(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<s;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}k.fn.extend({show:function(){return he(this,!0)},hide:function(){return he(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var de=/^(?:checkbox|radio)$/i,fe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,pe=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function me(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&T(e,t)?k.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var ye,be,we=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,s,a,l,u,c,h=t.createDocumentFragment(),d=[],f=0,p=e.length;f<p;f++)if((o=e[f])||0===o)if("object"===C(o))k.merge(d,o.nodeType?[o]:o);else if(we.test(o)){for(s=s||h.appendChild(t.createElement("div")),a=(fe.exec(o)||["",""])[1].toLowerCase(),l=ge[a]||ge._default,s.innerHTML=l[1]+k.htmlPrefilter(o)+l[2],c=l[0];c--;)s=s.lastChild;k.merge(d,s.childNodes),(s=h.firstChild).textContent=""}else d.push(t.createTextNode(o));for(h.textContent="",f=0;o=d[f++];)if(r&&k.inArray(o,r)>-1)i&&i.push(o);else if(u=k.contains(o.ownerDocument,o),s=me(h.appendChild(o),"script"),u&&ve(s),n)for(c=0;o=s[c++];)pe.test(o.type||"")&&n.push(o);return h}ye=s.createDocumentFragment().appendChild(s.createElement("div")),(be=s.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),ye.appendChild(be),v.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var Ce=s.documentElement,ke=/^key/,Ae=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function _e(){return!0}function Se(){return!1}function Fe(){try{return s.activeElement}catch(e){}}function De(e,t,n,r,i,o){var s,a;if("object"==typeof t){for(a in"string"!=typeof n&&(r=r||n,n=void 0),t)De(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(s=i,(i=function(e){return k().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}k.event={global:{},add:function(e,t,n,r,i){var o,s,a,l,u,c,h,d,f,p,g,m=J.get(e);if(m)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(Ce,i),n.guid||(n.guid=k.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(t){return void 0!==k&&k.event.triggered!==t.type?k.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(I)||[""]).length;u--;)f=g=(a=Ee.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f&&(h=k.event.special[f]||{},f=(i?h.delegateType:h.bindType)||f,h=k.event.special[f]||{},c=k.extend({type:f,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=l[f])||((d=l[f]=[]).delegateCount=0,h.setup&&!1!==h.setup.call(e,r,p,s)||e.addEventListener&&e.addEventListener(f,s)),h.add&&(h.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),k.event.global[f]=!0)},remove:function(e,t,n,r,i){var o,s,a,l,u,c,h,d,f,p,g,m=J.hasData(e)&&J.get(e);if(m&&(l=m.events)){for(u=(t=(t||"").match(I)||[""]).length;u--;)if(f=g=(a=Ee.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),f){for(h=k.event.special[f]||{},d=l[f=(r?h.delegateType:h.bindType)||f]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,h.remove&&h.remove.call(e,c));s&&!d.length&&(h.teardown&&!1!==h.teardown.call(e,p,m.handle)||k.removeEvent(e,f,m.handle),delete l[f])}else for(f in l)k.event.remove(e,f+t[u],n,r,!0);k.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=k.event.fix(e),l=new Array(arguments.length),u=(J.get(this,"events")||{})[a.type]||[],c=k.event.special[a.type]||{};for(l[0]=a,t=1;t<arguments.length;t++)l[t]=arguments[t];if(a.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,a)){for(s=k.event.handlers.call(this,a,u),t=0;(i=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,l))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,i,o,s,a=[],l=t.delegateCount,u=e.target;if(l&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],s={},n=0;n<l;n++)void 0===s[i=(r=t[n]).selector+" "]&&(s[i]=r.needsContext?k(i,this).index(u)>-1:k.find(i,this,null,[u]).length),s[i]&&o.push(r);o.length&&a.push({elem:u,handlers:o})}return u=this,l<t.length&&a.push({elem:u,handlers:t.slice(l)}),a},addProp:function(e,t){Object.defineProperty(k.Event.prototype,e,{enumerable:!0,configurable:!0,get:y(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Fe()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Fe()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&T(this,"input"))return this.click(),!1},_default:function(e){return T(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?_e:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=_e,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=_e,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=_e,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&ke.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ae.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){k.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||k.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),k.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var Te=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Be=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,Me=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return T(e,"table")&&T(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function je(e,t){var n,r,i,o,s,a,l,u;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),s=J.set(t,o),u=o.events))for(i in delete s.handle,s.events={},u)for(n=0,r=u[i].length;n<r;n++)k.event.add(t,i,u[i][n]);Q.hasData(e)&&(a=Q.access(e),l=k.extend({},a),Q.set(t,l))}}function Ie(e,t,n,r){t=u.apply([],t);var i,o,s,a,l,c,h=0,d=e.length,f=d-1,p=t[0],g=y(p);if(g||d>1&&"string"==typeof p&&!v.checkClone&&Le.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),Ie(o,t,n,r)});if(d&&(o=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=(s=k.map(me(i,"script"),Pe)).length;h<d;h++)l=i,h!==f&&(l=k.clone(l,!0,!0),a&&k.merge(s,me(l,"script"))),n.call(e[h],l,h);if(a)for(c=s[s.length-1].ownerDocument,k.map(s,Re),h=0;h<a;h++)l=s[h],pe.test(l.type||"")&&!J.access(l,"globalEval")&&k.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?k._evalUrl&&k._evalUrl(l.src):x(l.textContent.replace(Me,""),c,l))}return e}function Ne(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(me(r)),r.parentNode&&(n&&k.contains(r.ownerDocument,r)&&ve(me(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(Te,"<$1></$2>")},clone:function(e,t,n){var r,i,o,s,a,l,u,c=e.cloneNode(!0),h=k.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(s=me(c),r=0,i=(o=me(e)).length;r<i;r++)a=o[r],l=s[r],void 0,"input"===(u=l.nodeName.toLowerCase())&&de.test(a.type)?l.checked=a.checked:"input"!==u&&"textarea"!==u||(l.defaultValue=a.defaultValue);if(t)if(n)for(o=o||me(e),s=s||me(c),r=0,i=o.length;r<i;r++)je(o[r],s[r]);else je(e,c);return(s=me(c,"script")).length>0&&ve(s,!h&&me(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),k.fn.extend({detach:function(e){return Ne(this,e,!0)},remove:function(e){return Ne(this,e)},text:function(e){return V(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(me(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return V(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Be.test(e)&&!ge[(fe.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(me(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Ie(this,arguments,function(t){var n=this.parentNode;k.inArray(this,e)<0&&(k.cleanData(me(this)),n&&n.replaceChild(t,this))},e)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){k.fn[e]=function(e){for(var n,r=[],i=k(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),k(i[s])[t](n),c.apply(r,n.get());return this.pushStack(r)}});var $e=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),We=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},He=new RegExp(oe.join("|"),"i");function ze(e,t,n){var r,i,o,s,a=e.style;return(n=n||We(e))&&(""!==(s=n.getPropertyValue(t)||n[t])||k.contains(e.ownerDocument,e)||(s=k.style(e,t)),!v.pixelBoxStyles()&&$e.test(s)&&He.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function Ue(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(c){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",Ce.appendChild(u).appendChild(c);var e=n.getComputedStyle(c);r="1%"!==e.top,l=12===t(e.marginLeft),c.style.right="60%",a=36===t(e.right),i=36===t(e.width),c.style.position="absolute",o=36===c.offsetWidth||"absolute",Ce.removeChild(u),c=null}}function t(e){return Math.round(parseFloat(e))}var r,i,o,a,l,u=s.createElement("div"),c=s.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===c.style.backgroundClip,k.extend(v,{boxSizingReliable:function(){return e(),i},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),r},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),o}}))}();var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ke={position:"absolute",visibility:"hidden",display:"block"},qe={letterSpacing:"0",fontWeight:"400"},Ye=["Webkit","Moz","ms"],Xe=s.createElement("div").style;function Ze(e){var t=k.cssProps[e];return t||(t=k.cssProps[e]=function(e){if(e in Xe)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=Ye.length;n--;)if((e=Ye[n]+t)in Xe)return e}(e)||e),t}function Je(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var s="width"===t?1:0,a=0,l=0;if(n===(r?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(l+=k.css(e,n+oe[s],!0,i)),r?("content"===n&&(l-=k.css(e,"padding"+oe[s],!0,i)),"margin"!==n&&(l-=k.css(e,"border"+oe[s]+"Width",!0,i))):(l+=k.css(e,"padding"+oe[s],!0,i),"padding"!==n?l+=k.css(e,"border"+oe[s]+"Width",!0,i):a+=k.css(e,"border"+oe[s]+"Width",!0,i));return!r&&o>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-a-.5))),l}function et(e,t,n){var r=We(e),i=ze(e,t,r),o="border-box"===k.css(e,"boxSizing",!1,r),s=o;if($e.test(i)){if(!n)return i;i="auto"}return s=s&&(v.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===k.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],s=!0),(i=parseFloat(i)||0)+Qe(e,t,n||(o?"border":"content"),s,r,i)+"px"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=ze(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=Y(t),l=Ge.test(t),u=e.style;if(l||(t=Ze(a)),s=k.cssHooks[t]||k.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t];"string"===(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"===o&&(n+=i&&i[3]||(k.cssNumber[a]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var i,o,s,a=Y(t);return Ge.test(t)||(t=Ze(a)),(s=k.cssHooks[t]||k.cssHooks[a])&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=ze(e,t,r)),"normal"===i&&t in qe&&(i=qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,t){k.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ae(e,Ke,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),s="border-box"===k.css(e,"boxSizing",!1,o),a=r&&Qe(e,t,r,s,o);return s&&v.scrollboxSize()===o.position&&(a-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),a&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=k.css(e,t)),Je(0,n,a)}}}),k.cssHooks.marginLeft=Ue(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(ze(e,"marginLeft"))||e.getBoundingClientRect().left-ae(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(e,t){k.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(k.cssHooks[e+t].set=Je)}),k.fn.extend({css:function(e,t){return V(this,function(e,t,n){var r,i,o={},s=0;if(Array.isArray(t)){for(r=We(e),i=t.length;s<i;s++)o[t[s]]=k.css(e,t[s],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,arguments.length>1)}}),k.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[k.cssProps[e.prop]]&&!k.cssHooks[e.prop]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=tt.prototype.init,k.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function st(){rt&&(!1===s.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(st):n.setTimeout(st,k.fx.interval),k.fx.tick())}function at(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(ct.tweeners[t]||[]).concat(ct.tweeners["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o=0,s=ct.prefilters.length,a=k.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;for(var t=nt||at(),n=Math.max(0,u.startTime+u.duration-t),r=1-(n/u.duration||0),o=0,s=u.tweens.length;o<s;o++)u.tweens[o].run(r);return a.notifyWith(e,[u,r,n]),r<1&&s?n:(s||a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:k.extend({},t),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||at(),duration:n.duration,tweens:[],createTween:function(t,n){var r=k.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)u.tweens[n].run(1);return t?(a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u,t])):a.rejectWith(e,[u,t]),this}}),c=u.props;for(!function(e,t){var n,r,i,o,s;for(n in e)if(i=t[r=Y(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=k.cssHooks[r])&&"expand"in s)for(n in o=s.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,u.opts.specialEasing);o<s;o++)if(r=ct.prefilters[o].call(u,e,c,u.opts))return y(r.stop)&&(k._queueHooks(u.elem,u.opts.queue).stop=r.stop.bind(r)),r;return k.map(c,ut,u),y(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),k.fx.timer(k.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u}k.Animation=k.extend(ct,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){y(e)?(t=e,e=["*"]):e=e.match(I);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ct.tweeners[n]=ct.tweeners[n]||[],ct.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,s,a,l,u,c,h="width"in t||"height"in t,d=this,f={},p=e.style,g=e.nodeType&&se(e),m=J.get(e,"fxshow");for(r in n.queue||(null==(s=k._queueHooks(e,"fx")).unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,k.queue(e,"fx").length||s.empty.fire()})})),t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!m||void 0===m[r])continue;g=!0}f[r]=m&&m[r]||k.style(e,r)}if((l=!k.isEmptyObject(t))||!k.isEmptyObject(f))for(r in h&&1===e.nodeType&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],null==(u=m&&m.display)&&(u=J.get(e,"display")),"none"===(c=k.css(e,"display"))&&(u?c=u:(he([e],!0),u=e.style.display||u,c=k.css(e,"display"),he([e]))),("inline"===c||"inline-block"===c&&null!=u)&&"none"===k.css(e,"float")&&(l||(d.done(function(){p.display=u}),null==u&&(c=p.display,u="none"===c?"":c)),p.display="inline-block")),n.overflow&&(p.overflow="hidden",d.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]})),l=!1,f)l||(m?"hidden"in m&&(g=m.hidden):m=J.access(e,"fxshow",{display:u}),o&&(m.hidden=!g),g&&he([e],!0),d.done(function(){for(r in g||he([e]),J.remove(e,"fxshow"),f)k.style(e,r,f[r])})),l=ut(g?m[r]:0,r,d),r in m||(m[r]=l.start,g&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?ct.prefilters.unshift(e):ct.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||y(e)&&e,duration:e,easing:n&&t||t&&!y(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){y(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=k.isEmptyObject(e),o=k.speed(t,n,r),s=function(){var t=ct(this,k.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=k.timers,s=J.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&ot.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||k.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=k.timers,s=r?r.length:0;for(n.finish=!0,k.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),k.each(["toggle","show","hide"],function(e,t){var n=k.fn[t];k.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(lt(t,!0),e,r,i)}}),k.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){k.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),nt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){rt||(rt=!0,st())},k.fx.stop=function(){rt=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(e,t){return e=k.fx&&k.fx.speeds[e]||e,t=t||"fx",this.queue(t,function(t,r){var i=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(i)}})},function(){var e=s.createElement("input"),t=s.createElement("select").appendChild(s.createElement("option"));e.type="checkbox",v.checkOn=""!==e.value,v.optSelected=t.selected,(e=s.createElement("input")).value="t",e.type="radio",v.radioValue="t"===e.value}();var ht,dt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return V(this,k.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&T(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var n=dt[t]||k.find.attr;dt[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=dt[s],dt[s]=i,i=null!=n(e,t,r)?s:null,dt[s]=o),i}});var ft=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;function gt(e){return(e.match(I)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}k.fn.extend({prop:function(e,t){return V(this,k.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):ft.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,l=0;if(y(e))return this.each(function(t){k(this).addClass(e.call(this,t,mt(this)))});if((t=vt(e)).length)for(;n=this[l++];)if(i=mt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(a=gt(r))&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,l=0;if(y(e))return this.each(function(t){k(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=vt(e)).length)for(;n=this[l++];)if(i=mt(n),r=1===n.nodeType&&" "+gt(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(a=gt(r))&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):y(e)?this.each(function(n){k(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,s;if(r)for(i=0,o=k(this),s=vt(e);t=s[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+gt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;k.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=y(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,k(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=k.map(i,function(e){return null==e?"":e+""})),(t=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=k.valHooks[i.type]||k.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(yt,""):null==n?"":n:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:gt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],l=s?o+1:i.length;for(r=o<0?l:s?o:0;r<l;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!T(n.parentNode,"optgroup"))){if(t=k(n).val(),s)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),s=i.length;s--;)((r=i[s]).selected=k.inArray(k.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=k.inArray(k(e).val(),t)>-1}},v.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in n;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,r,i){var o,a,l,u,c,h,d,f,g=[r||s],m=p.call(e,"type")?e.type:e,v=p.call(e,"namespace")?e.namespace.split("."):[];if(a=f=l=r=r||s,3!==r.nodeType&&8!==r.nodeType&&!bt.test(m+k.event.triggered)&&(m.indexOf(".")>-1&&(m=(v=m.split(".")).shift(),v.sort()),c=m.indexOf(":")<0&&"on"+m,(e=e[k.expando]?e:new k.Event(m,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:k.makeArray(t,[e]),d=k.event.special[m]||{},i||!d.trigger||!1!==d.trigger.apply(r,t))){if(!i&&!d.noBubble&&!b(r)){for(u=d.delegateType||m,bt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)g.push(a),l=a;l===(r.ownerDocument||s)&&g.push(l.defaultView||l.parentWindow||n)}for(o=0;(a=g[o++])&&!e.isPropagationStopped();)f=a,e.type=o>1?u:d.bindType||m,(h=(J.get(a,"events")||{})[e.type]&&J.get(a,"handle"))&&h.apply(a,t),(h=c&&a[c])&&h.apply&&X(a)&&(e.result=h.apply(a,t),!1===e.result&&e.preventDefault());return e.type=m,i||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(g.pop(),t)||!X(r)||c&&y(r[m])&&!b(r)&&((l=r[c])&&(r[c]=null),k.event.triggered=m,e.isPropagationStopped()&&f.addEventListener(m,wt),r[m](),e.isPropagationStopped()&&f.removeEventListener(m,wt),k.event.triggered=void 0,l&&(r[c]=l)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),v.focusin||k.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){k.event.simulate(t,e.target,k.event.fix(e))};k.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var xt=n.location,Ct=Date.now(),kt=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var At=/\[\]$/,Et=/\r?\n/g,_t=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Ft(e,t,n,r){var i;if(Array.isArray(t))k.each(t,function(t,i){n||At.test(e)?r(e,i):Ft(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==C(t))r(e,t);else for(i in t)Ft(e+"["+i+"]",t[i],n,r)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=y(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)Ft(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&St.test(this.nodeName)&&!_t.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Dt=/%20/g,Tt=/#.*$/,Bt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,Ot=/^\/\//,Pt={},Rt={},jt="*/".concat("*"),It=s.createElement("a");function Nt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(I)||[];if(y(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function $t(e,t,n,r){var i={},o=e===Rt;function s(a){var l;return i[a]=!0,k.each(e[a]||[],function(e,a){var u=a(t,n,r);return"string"!=typeof u||o||i[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),s(u),!1)}),l}return s(t.dataTypes[0])||!i["*"]&&s("*")}function Wt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}It.href=xt.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(xt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":jt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,k.ajaxSettings),t):Wt(k.ajaxSettings,e)},ajaxPrefilter:Nt(Pt),ajaxTransport:Nt(Rt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,a,l,u,c,h,d,f,p=k.ajaxSetup({},t),g=p.context||p,m=p.context&&(g.nodeType||g.jquery)?k(g):k.event,v=k.Deferred(),y=k.Callbacks("once memory"),b=p.statusCode||{},w={},x={},C="canceled",A={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(e,t){return null==c&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==c&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)A.always(e[A.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),E(0,t),this}};if(v.promise(A),p.url=((e||p.url||xt.href)+"").replace(Ot,xt.protocol+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(I)||[""],null==p.crossDomain){u=s.createElement("a");try{u.href=p.url,u.href=u.href,p.crossDomain=It.protocol+"//"+It.host!=u.protocol+"//"+u.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=k.param(p.data,p.traditional)),$t(Pt,p,t,A),c)return A;for(d in(h=k.event&&p.global)&&0==k.active++&&k.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Mt.test(p.type),i=p.url.replace(Tt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Dt,"+")):(f=p.url.slice(i.length),p.data&&(p.processData||"string"==typeof p.data)&&(i+=(kt.test(i)?"&":"?")+p.data,delete p.data),!1===p.cache&&(i=i.replace(Bt,"$1"),f=(kt.test(i)?"&":"?")+"_="+Ct+++f),p.url=i+f),p.ifModified&&(k.lastModified[i]&&A.setRequestHeader("If-Modified-Since",k.lastModified[i]),k.etag[i]&&A.setRequestHeader("If-None-Match",k.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||t.contentType)&&A.setRequestHeader("Content-Type",p.contentType),A.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+jt+"; q=0.01":""):p.accepts["*"]),p.headers)A.setRequestHeader(d,p.headers[d]);if(p.beforeSend&&(!1===p.beforeSend.call(g,A,p)||c))return A.abort();if(C="abort",y.add(p.complete),A.done(p.success),A.fail(p.error),r=$t(Rt,p,t,A)){if(A.readyState=1,h&&m.trigger("ajaxSend",[A,p]),c)return A;p.async&&p.timeout>0&&(l=n.setTimeout(function(){A.abort("timeout")},p.timeout));try{c=!1,r.send(w,E)}catch(e){if(c)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,s,a){var u,d,f,w,x,C=t;c||(c=!0,l&&n.clearTimeout(l),r=void 0,o=a||"",A.readyState=e>0?4:0,u=e>=200&&e<300||304===e,s&&(w=function(e,t,n){for(var r,i,o,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(p,A,s)),w=function(e,t,n,r){var i,o,s,a,l,u={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)u[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=u[l+" "+o]||u["* "+o]))for(i in u)if((a=i.split(" "))[1]===o&&(s=u[l+" "+a[0]]||u["* "+a[0]])){!0===s?s=u[i]:!0!==u[i]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(p,w,A,u),u?(p.ifModified&&((x=A.getResponseHeader("Last-Modified"))&&(k.lastModified[i]=x),(x=A.getResponseHeader("etag"))&&(k.etag[i]=x)),204===e||"HEAD"===p.type?C="nocontent":304===e?C="notmodified":(C=w.state,d=w.data,u=!(f=w.error))):(f=C,!e&&C||(C="error",e<0&&(e=0))),A.status=e,A.statusText=(t||C)+"",u?v.resolveWith(g,[d,C,A]):v.rejectWith(g,[A,C,f]),A.statusCode(b),b=void 0,h&&m.trigger(u?"ajaxSuccess":"ajaxError",[A,p,u?d:f]),y.fireWith(g,[A,C]),h&&(m.trigger("ajaxComplete",[A,p]),--k.active||k.event.trigger("ajaxStop")))}return A},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,t){k[t]=function(e,n,r,i){return y(n)&&(i=i||r,r=n,n=void 0),k.ajax(k.extend({url:e,type:t,dataType:i,data:n,success:r},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return y(e)?this.each(function(t){k(this).wrapInner(e.call(this,t))}):this.each(function(){var t=k(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=y(e);return this.each(function(n){k(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ht={0:200,1223:204},zt=k.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,k.ajaxTransport(function(e){var t,r;if(v.cors||zt&&!e.crossDomain)return{send:function(i,o){var s,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)a[s]=e.xhrFields[s];for(s in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)a.setRequestHeader(s,i[s]);t=function(e){return function(){t&&(t=r=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Ht[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),r=a.onerror=a.ontimeout=t("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(r,i){t=k("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),s.head.appendChild(t[0])},abort:function(){n&&n()}}});var Ut,Vt=[],Gt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Vt.pop()||k.expando+"_"+Ct++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,r){var i,o,s,a=!1!==e.jsonp&&(Gt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=y(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Gt,"$1"+i):!1!==e.jsonp&&(e.url+=(kt.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return s||k.error(i+" was not called"),s[0]},e.dataTypes[0]="json",o=n[i],n[i]=function(){s=arguments},r.always(function(){void 0===o?k(n).removeProp(i):n[i]=o,e[i]&&(e.jsonpCallback=t.jsonpCallback,Vt.push(i)),s&&y(o)&&o(s[0]),s=o=void 0}),"script"}),v.createHTMLDocument=((Ut=s.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=s.implementation.createHTMLDocument("")).createElement("base")).href=s.location.href,t.head.appendChild(r)):t=s),i=B.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ");return a>-1&&(r=gt(e.slice(a)),e=e.slice(0,a)),y(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(e){return k.grep(k.timers,function(t){return e===t.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,s,a,l,u=k.css(e,"position"),c=k(e),h={};"static"===u&&(e.style.position="relative"),a=c.offset(),o=k.css(e,"top"),l=k.css(e,"left"),("absolute"===u||"fixed"===u)&&(o+l).indexOf("auto")>-1?(s=(r=c.position()).top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(l)||0),y(t)&&(t=t.call(e,n,k.extend({},a))),null!=t.top&&(h.top=t.top-a.top+s),null!=t.left&&(h.left=t.left-a.left+i),"using"in t?t.using.call(e,h):c.css(h)}},k.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){k.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||Ce})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;k.fn[e]=function(r){return V(this,function(e,r,i){var o;if(b(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),k.each(["top","left"],function(e,t){k.cssHooks[t]=Ue(v.pixelPosition,function(e,n){if(n)return n=ze(e,t),$e.test(n)?k(e).position()[t]+"px":n})}),k.each({Height:"height",Width:"width"},function(e,t){k.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){k.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return V(this,function(t,n,i){var o;return b(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?k.css(t,n,a):k.style(t,n,i,a)},t,s?i:void 0,s)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){k.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),y(e))return r=l.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(l.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=T,k.isFunction=y,k.isWindow=b,k.camelCase=Y,k.type=C,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},void 0===(r=function(){return k}.apply(t,[]))||(e.exports=r);var Kt=n.jQuery,qt=n.$;return k.noConflict=function(e){return n.$===k&&(n.$=qt),e&&n.jQuery===k&&(n.jQuery=Kt),k},i||(n.jQuery=n.$=k),k})},,,,,,,function(e,t,n){"use strict";var r=n(126),i=n(290),o=n(170),s=n(484),a=n(148);function l(e){return e}function u(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}t.newBlob=function(e,n){t.checkSupport("blob");try{return new Blob([e],{type:n})}catch(t){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return r.append(e),r.getBlob(n)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var c={stringifyByChunk:function(e,t,n){var r=[],i=0,o=e.length;if(o<=n)return String.fromCharCode.apply(null,e);for(;i<o;)"array"===t||"nodebuffer"===t?r.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+n,o)))):r.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+n,o)))),i+=n;return r.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return r.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return r.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var n=65536,r=t.getTypeOf(e),i=!0;if("uint8array"===r?i=c.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=c.applyCanBeUsed.nodebuffer),i)for(;n>1;)try{return c.stringifyByChunk(e,r,n)}catch(e){n=Math.floor(n/2)}return c.stringifyByChar(e)}function d(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}t.applyFromCharCode=h;var f={};f.string={string:l,array:function(e){return u(e,new Array(e.length))},arraybuffer:function(e){return f.string.uint8array(e).buffer},uint8array:function(e){return u(e,new Uint8Array(e.length))},nodebuffer:function(e){return u(e,o.allocBuffer(e.length))}},f.array={string:h,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},f.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},f.uint8array={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return o.newBufferFrom(e)}},f.nodebuffer={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return f.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:l},t.transformTo=function(e,n){if(n||(n=""),!e)return n;t.checkSupport(e);var r=t.getTypeOf(n);return f[r][e](n)},t.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":r.nodebuffer&&o.isBuffer(e)?"nodebuffer":r.uint8array&&e instanceof Uint8Array?"uint8array":r.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},t.checkSupport=function(e){if(!r[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},t.MAX_VALUE_16BITS=65535,t.MAX_VALUE_32BITS=-1,t.pretty=function(e){var t,n,r="";for(n=0;n<(e||"").length;n++)r+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return r},t.delay=function(e,t,n){s(function(){e.apply(n||null,t||[])})},t.inherits=function(e,t){var n=function(){};n.prototype=t.prototype,e.prototype=new n},t.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},t.prepareContent=function(e,n,o,s,l){return a.Promise.resolve(n).then(function(e){return r.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise(function(t,n){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=function(e){n(e.target.error)},r.readAsArrayBuffer(e)}):e}).then(function(n){var c,h=t.getTypeOf(n);return h?("arraybuffer"===h?n=t.transformTo("uint8array",n):"string"===h&&(l?n=i.decode(n):o&&!0!==s&&(n=u(c=n,r.uint8array?new Uint8Array(c.length):new Array(c.length)))),n):a.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},,,,,,,,,,,,,,,,function(e,t,n){var r,i;
/*! @preserve
* numeral.js
* version : 2.0.6
* author : Adam Draper
* license : MIT
* http://adamwdraper.github.com/Numeral-js/
*/void 0===(i="function"==typeof(r=function(){var e,t,n,r,i,o={},s={},a={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},l={currentLocale:a.currentLocale,zeroFormat:a.zeroFormat,nullFormat:a.nullFormat,defaultFormat:a.defaultFormat,scalePercentBy100:a.scalePercentBy100};function u(e,t){this._input=e,this._value=t}return(e=function(n){var r,i,s,a;if(e.isNumeral(n))r=n.value();else if(0===n||void 0===n)r=0;else if(null===n||t.isNaN(n))r=null;else if("string"==typeof n)if(l.zeroFormat&&n===l.zeroFormat)r=0;else if(l.nullFormat&&n===l.nullFormat||!n.replace(/[^0-9]+/g,"").length)r=null;else{for(i in o)if((a="function"==typeof o[i].regexps.unformat?o[i].regexps.unformat():o[i].regexps.unformat)&&n.match(a)){s=o[i].unformat;break}r=(s=s||e._.stringToNumber)(n)}else r=Number(n)||null;return new u(n,r)}).version="2.0.6",e.isNumeral=function(e){return e instanceof u},e._=t={numberToFormat:function(t,n,r){var i,o,a,l,u,c,h,d,f=s[e.options.currentLocale],p=!1,g=!1,m="",v="",y=!1;if(t=t||0,a=Math.abs(t),e._.includes(n,"(")?(p=!0,n=n.replace(/[\(|\)]/g,"")):(e._.includes(n,"+")||e._.includes(n,"-"))&&(c=e._.includes(n,"+")?n.indexOf("+"):t<0?n.indexOf("-"):-1,n=n.replace(/[\+|\-]/g,"")),e._.includes(n,"a")&&(o=!!(o=n.match(/a(k|m|b|t)?/))&&o[1],e._.includes(n," a")&&(m=" "),n=n.replace(new RegExp(m+"a[kmbt]?"),""),a>=1e12&&!o||"t"===o?(m+=f.abbreviations.trillion,t/=1e12):a<1e12&&a>=1e9&&!o||"b"===o?(m+=f.abbreviations.billion,t/=1e9):a<1e9&&a>=1e6&&!o||"m"===o?(m+=f.abbreviations.million,t/=1e6):(a<1e6&&a>=1e3&&!o||"k"===o)&&(m+=f.abbreviations.thousand,t/=1e3)),e._.includes(n,"[.]")&&(g=!0,n=n.replace("[.]",".")),l=t.toString().split(".")[0],u=n.split(".")[1],h=n.indexOf(","),i=(n.split(".")[0].split(",")[0].match(/0/g)||[]).length,u?(e._.includes(u,"[")?(u=(u=u.replace("]","")).split("["),v=e._.toFixed(t,u[0].length+u[1].length,r,u[1].length)):v=e._.toFixed(t,u.length,r),l=v.split(".")[0],v=e._.includes(v,".")?f.delimiters.decimal+v.split(".")[1]:"",g&&0===Number(v.slice(1))&&(v="")):l=e._.toFixed(t,0,r),m&&!o&&Number(l)>=1e3&&m!==f.abbreviations.trillion)switch(l=String(Number(l)/1e3),m){case f.abbreviations.thousand:m=f.abbreviations.million;break;case f.abbreviations.million:m=f.abbreviations.billion;break;case f.abbreviations.billion:m=f.abbreviations.trillion}if(e._.includes(l,"-")&&(l=l.slice(1),y=!0),l.length<i)for(var b=i-l.length;b>0;b--)l="0"+l;return h>-1&&(l=l.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+f.delimiters.thousands)),0===n.indexOf(".")&&(l=""),d=l+v+(m||""),p?d=(p&&y?"(":"")+d+(p&&y?")":""):c>=0?d=0===c?(y?"-":"+")+d:d+(y?"-":"+"):y&&(d="-"+d),d},stringToNumber:function(e){var t,n,r,i=s[l.currentLocale],o=e,a={thousand:3,million:6,billion:9,trillion:12};if(l.zeroFormat&&e===l.zeroFormat)n=0;else if(l.nullFormat&&e===l.nullFormat||!e.replace(/[^0-9]+/g,"").length)n=null;else{for(t in n=1,"."!==i.delimiters.decimal&&(e=e.replace(/\./g,"").replace(i.delimiters.decimal,".")),a)if(r=new RegExp("[^a-zA-Z]"+i.abbreviations[t]+"(?:\\)|(\\"+i.currency.symbol+")?(?:\\))?)?$"),o.match(r)){n*=Math.pow(10,a[t]);break}n*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),n*=Number(e)}return n},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,n){return e.slice(0,n)+t+e.slice(n)},reduce:function(e,t){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof t)throw new TypeError(t+" is not a function");var n,r=Object(e),i=r.length>>>0,o=0;if(3===arguments.length)n=arguments[2];else{for(;o<i&&!(o in r);)o++;if(o>=i)throw new TypeError("Reduce of empty array with no initial value");n=r[o++]}for(;o<i;o++)o in r&&(n=t(n,r[o],o,r));return n},multiplier:function(e){var t=e.toString().split(".");return t.length<2?1:Math.pow(10,t[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce(function(e,n){var r=t.multiplier(n);return e>r?e:r},1)},toFixed:function(e,t,n,r){var i,o,s,a,l=e.toString().split("."),u=t-(r||0);return i=2===l.length?Math.min(Math.max(l[1].length,u),t):u,s=Math.pow(10,i),a=(n(e+"e+"+i)/s).toFixed(i),r>t-i&&(o=new RegExp("\\.?0{1,"+(r-(t-i))+"}$"),a=a.replace(o,"")),a}},e.options=l,e.formats=o,e.locales=s,e.locale=function(e){return e&&(l.currentLocale=e.toLowerCase()),l.currentLocale},e.localeData=function(e){if(!e)return s[l.currentLocale];if(e=e.toLowerCase(),!s[e])throw new Error("Unknown locale : "+e);return s[e]},e.reset=function(){for(var e in a)l[e]=a[e]},e.zeroFormat=function(e){l.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){l.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){l.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,t,n){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=n,n},e.validate=function(t,n){var r,i,o,s,a,l,u,c;if("string"!=typeof t&&(t+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",t)),(t=t.trim()).match(/^\d+$/))return!0;if(""===t)return!1;try{u=e.localeData(n)}catch(t){u=e.localeData(e.locale())}return o=u.currency.symbol,a=u.abbreviations,r=u.delimiters.decimal,i="."===u.delimiters.thousands?"\\.":u.delimiters.thousands,!(null!==(c=t.match(/^[^\d]+/))&&(t=t.substr(1),c[0]!==o)||null!==(c=t.match(/[^\d]+$/))&&(t=t.slice(0,-1),c[0]!==a.thousand&&c[0]!==a.million&&c[0]!==a.billion&&c[0]!==a.trillion)||(l=new RegExp(i+"{2}"),t.match(/[^\d.,]/g)||(s=t.split(r)).length>2||(s.length<2?!s[0].match(/^\d+.*\d$/)||s[0].match(l):1===s[0].length?!s[0].match(/^\d+$/)||s[0].match(l)||!s[1].match(/^\d+$/):!s[0].match(/^\d+.*\d$/)||s[0].match(l)||!s[1].match(/^\d+$/))))},e.fn=u.prototype={clone:function(){return e(this)},format:function(t,n){var r,i,s,a=this._value,u=t||l.defaultFormat;if(n=n||Math.round,0===a&&null!==l.zeroFormat)i=l.zeroFormat;else if(null===a&&null!==l.nullFormat)i=l.nullFormat;else{for(r in o)if(u.match(o[r].regexps.format)){s=o[r].format;break}i=(s=s||e._.numberToFormat)(a,u,n)}return i},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],function(e,t,r,i){return e+Math.round(n*t)},0)/n,this},subtract:function(e){var n=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],function(e,t,r,i){return e-Math.round(n*t)},Math.round(this._value*n))/n,this},multiply:function(e){return this._value=t.reduce([this._value,e],function(e,n,r,i){var o=t.correctionFactor(e,n);return Math.round(e*o)*Math.round(n*o)/Math.round(o*o)},1),this},divide:function(e){return this._value=t.reduce([this._value,e],function(e,n,r,i){var o=t.correctionFactor(e,n);return Math.round(e*o)/Math.round(n*o)}),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,n,r){var i,o=e._.includes(n," BPS")?" ":"";return t*=1e4,n=n.replace(/\s?BPS/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"BPS"),i=i.join("")):i=i+o+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},i="("+(i=(n={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(r.suffixes.filter(function(e){return n.suffixes.indexOf(e)<0})).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(i)},format:function(t,i,o){var s,a,l,u=e._.includes(i,"ib")?r:n,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),s=0;s<=u.suffixes.length;s++)if(a=Math.pow(u.base,s),l=Math.pow(u.base,s+1),null===t||0===t||t>=a&&t<l){c+=u.suffixes[s],a>0&&(t/=a);break}return e._.numberToFormat(t,i,o)+c},unformat:function(t){var i,o,s=e._.stringToNumber(t);if(s){for(i=n.suffixes.length-1;i>=0;i--){if(e._.includes(t,n.suffixes[i])){o=Math.pow(n.base,i);break}if(e._.includes(t,r.suffixes[i])){o=Math.pow(r.base,i);break}}s*=o||1}return s}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,n,r){var i,o,s=e.locales[e.options.currentLocale],a={before:n.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:n.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(n=n.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,n,r),t>=0?(a.before=a.before.replace(/[\-\(]/,""),a.after=a.after.replace(/[\-\)]/,"")):t<0&&!e._.includes(a.before,"-")&&!e._.includes(a.before,"(")&&(a.before="-"+a.before),o=0;o<a.before.length;o++)switch(a.before[o]){case"$":i=e._.insert(i,s.currency.symbol,o);break;case" ":i=e._.insert(i," ",o+s.currency.symbol.length-1)}for(o=a.after.length-1;o>=0;o--)switch(a.after[o]){case"$":i=o===a.after.length-1?i+s.currency.symbol:e._.insert(i,s.currency.symbol,-(a.after.length-(1+o)));break;case" ":i=o===a.after.length-1?i+" ":e._.insert(i," ",-(a.after.length-(1+o)+s.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,n,r){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return n=n.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),n,r)+"e"+i[1]},unformat:function(t){var n=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),r=Number(n[0]),i=Number(n[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([r,Math.pow(10,i)],function(t,n,r,i){var o=e._.correctionFactor(t,n);return t*o*(n*o)/(o*o)},1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,n,r){var i=e.locales[e.options.currentLocale],o=e._.includes(n," o")?" ":"";return n=n.replace(/\s?o/,""),o+=i.ordinal(t),e._.numberToFormat(t,n,r)+o}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,n,r){var i,o=e._.includes(n," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),n=n.replace(/\s?\%/,""),i=e._.numberToFormat(t,n,r),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"%"),i=i.join("")):i=i+o+"%",i},unformat:function(t){var n=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*n:n}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,n){var r=Math.floor(e/60/60),i=Math.floor((e-60*r*60)/60),o=Math.round(e-60*r*60-60*i);return r+":"+(i<10?"0"+i:i)+":"+(o<10?"0"+o:o)},unformat:function(e){var t=e.split(":"),n=0;return 3===t.length?(n+=60*Number(t[0])*60,n+=60*Number(t[1]),n+=Number(t[2])):2===t.length&&(n+=60*Number(t[0]),n+=Number(t[1])),Number(n)}}),e})?r.call(t,n,t,e):r)||(e.exports=i)},,,,function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},,,,,,function(e,t,n){"use strict";function r(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var e=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},e.exports=r},,,,,,,,function(e,t){
/*!
* Chai - flag utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t,n){var r=e.__flags||(e.__flags=Object.create(null));if(3!==arguments.length)return r[t];r[t]=n}},,,,,,,,,,,,function(e,t,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(e[r]=n[r])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var o={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var o=0;o<r;o++)e[i+o]=t[n+o]},flattenChunks:function(e){var t,n,r,i,o,s;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(s=new Uint8Array(r),i=0,t=0,n=e.length;t<n;t++)o=e[t],s.set(o,i),i+=o.length;return s}},s={arraySet:function(e,t,n,r,i){for(var o=0;o<r;o++)e[i+o]=t[n+o]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,o)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,s))},t.setTyped(r)},function(e,t,n){"use strict";(function(e){if(t.base64=!0,t.array=!0,t.string=!0,t.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,t.nodebuffer=void 0!==e,t.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)t.blob=!1;else{var r=new ArrayBuffer(0);try{t.blob=0===new Blob([r],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(r),t.blob=0===i.getBlob("application/zip").size}catch(e){t.blob=!1}}}try{t.nodestream=!!n(298).Readable}catch(e){t.nodestream=!1}}).call(this,n(150).Buffer)},function(e,t,n){(function(e){!function(){"use strict";var r,i,o,s,a,l,u,c,h,d,f,p,g,m,v,y,b,w,x,C,k,A,E,_,S,F;function D(e){return Y.Statement.hasOwnProperty(e.type)}a=n(446),l=n(444),r=a.Syntax,o={"||":(i={Sequence:0,Yield:1,Await:1,Assignment:1,Conditional:2,ArrowFunction:2,LogicalOR:3,LogicalAND:4,BitwiseOR:5,BitwiseXOR:6,BitwiseAND:7,Equality:8,Relational:9,BitwiseSHIFT:10,Additive:11,Multiplicative:12,Unary:13,Postfix:14,Call:15,New:16,TaggedTemplate:17,Member:18,Primary:19}).LogicalOR,"&&":i.LogicalAND,"|":i.BitwiseOR,"^":i.BitwiseXOR,"&":i.BitwiseAND,"==":i.Equality,"!=":i.Equality,"===":i.Equality,"!==":i.Equality,is:i.Equality,isnt:i.Equality,"<":i.Relational,">":i.Relational,"<=":i.Relational,">=":i.Relational,in:i.Relational,instanceof:i.Relational,"<<":i.BitwiseSHIFT,">>":i.BitwiseSHIFT,">>>":i.BitwiseSHIFT,"+":i.Additive,"-":i.Additive,"*":i.Multiplicative,"%":i.Multiplicative,"/":i.Multiplicative};var T=7,B=1;function L(e,t){var n="";for(t|=0;t>0;t>>>=1,e+=e)1&t&&(n+=e);return n}function M(e){var t=e.length;return t&&l.code.isLineTerminator(e.charCodeAt(t-1))}function O(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function P(e,t){var n,r;function i(e){return"object"==typeof e&&e instanceof Object&&!(e instanceof RegExp)}for(n in t)t.hasOwnProperty(n)&&(i(r=t[n])?i(e[n])?P(e[n],r):e[n]=P({},r):e[n]=r);return e}function R(e,t){return 8232==(-2&e)?(t?"u":"\\u")+(8232===e?"2028":"2029"):10===e||13===e?(t?"":"\\")+(10===e?"n":"r"):String.fromCharCode(e)}function j(e,t){var n;return 8===e?"\\b":12===e?"\\f":9===e?"\\t":(n=e.toString(16).toUpperCase(),h||e>255?"\\u"+"0000".slice(n.length)+n:0!==e||l.code.isDecimalDigit(t)?11===e?"\\x0B":"\\x"+"00".slice(n.length)+n:"\\0")}function I(e){if(92===e)return"\\\\";if(10===e)return"\\n";if(13===e)return"\\r";if(8232===e)return"\\u2028";if(8233===e)return"\\u2029";throw new Error("Incorrectly classified character")}function N(e,t){if(!A)return Array.isArray(e)?function e(t){var n,r,i,o="";for(n=0,r=t.length;n<r;++n)i=t[n],o+=Array.isArray(i)?e(i):i;return o}(e):e;if(null==t){if(e instanceof s)return e;t={}}return null==t.loc?new s(null,null,A,e,t.name||null):new s(t.loc.start.line,t.loc.start.column,!0===A?t.loc.source||null:A,e,t.name||null)}function $(){return v||" "}function W(e,t){var n,r,i,o;return 0===(n=N(e).toString()).length?[t]:0===(r=N(t).toString()).length?[e]:(i=n.charCodeAt(n.length-1),o=r.charCodeAt(0),(43===i||45===i)&&i===o||l.code.isIdentifierPartES5(i)&&l.code.isIdentifierPartES5(o)||47===i&&105===o?[e,$(),t]:l.code.isWhiteSpace(i)||l.code.isLineTerminator(i)||l.code.isWhiteSpace(o)||l.code.isLineTerminator(o)?[e,t]:[e,v,t])}function H(e){return[u,e]}function z(e){var t;t=u,e(u+=c),u=t}function U(e,t){if("Line"===e.type){if(M(e.value))return"//"+e.value;var n="//"+e.value;return _||(n+="\n"),n}return C.format.indent.adjustMultilineComment&&/[\n\r]/.test(e.value)?function(e,t){var n,r,i,o,s,a,c,h;for(n=e.split(/\r\n|[\r\n]/),a=Number.MAX_VALUE,r=1,i=n.length;r<i;++r){for(o=n[r],s=0;s<o.length&&l.code.isWhiteSpace(o.charCodeAt(s));)++s;a>s&&(a=s)}for(void 0!==t?(c=u,"*"===n[1][a]&&(t+=" "),u=t):(1&a&&--a,c=u),r=1,i=n.length;r<i;++r)h=N(H(n[r].slice(a))),n[r]=A?h.join(""):h;return u=c,n.join("\n")}("/*"+e.value+"*/",t):"/*"+e.value+"*/"}function V(e,t){var n,i,o,s,a,h,d,f,p,g,m,v;if(e.leadingComments&&e.leadingComments.length>0){if(s=t,_){for(t=[],f=(o=e.leadingComments[0]).extendedRange,p=o.range,(v=((m=E.substring(f[0],p[0])).match(/\n/g)||[]).length)>0?(t.push(L("\n",v)),t.push(H(U(o)))):(t.push(m),t.push(U(o))),g=p,n=1,i=e.leadingComments.length;n<i;n++)p=(o=e.leadingComments[n]).range,v=(E.substring(g[1],p[0]).match(/\n/g)||[]).length,t.push(L("\n",v)),t.push(H(U(o))),g=p;v=(E.substring(p[1],f[1]).match(/\n/g)||[]).length,t.push(L("\n",v))}else for(o=e.leadingComments[0],t=[],w&&e.type===r.Program&&0===e.body.length&&t.push("\n"),t.push(U(o)),M(N(t).toString())||t.push("\n"),n=1,i=e.leadingComments.length;n<i;++n)M(N(d=[U(o=e.leadingComments[n])]).toString())||d.push("\n"),t.push(H(d));t.push(H(s))}if(e.trailingComments)if(_)f=(o=e.trailingComments[0]).extendedRange,p=o.range,(v=((m=E.substring(f[0],p[0])).match(/\n/g)||[]).length)>0?(t.push(L("\n",v)),t.push(H(U(o)))):(t.push(m),t.push(U(o)));else for(a=!M(N(t).toString()),h=L(" ",function(e){var t;for(t=e.length-1;t>=0&&!l.code.isLineTerminator(e.charCodeAt(t));--t);return e.length-1-t}(N([u,t,c]).toString())),n=0,i=e.trailingComments.length;n<i;++n)o=e.trailingComments[n],a?(t=0===n?[t,c]:[t,h]).push(U(o,h)):t=[t,H(U(o))],n===i-1||M(N(t).toString())||(t=[t,"\n"]);return t}function G(e,t,n){var r,i=0;for(r=e;r<t;r++)"\n"===E[r]&&i++;for(r=1;r<i;r++)n.push(m)}function K(e,t,n){return t<n?["(",e,")"]:e}function q(e){var t,n,r;for(t=1,n=(r=e.split(/\r\n|\n/)).length;t<n;t++)r[t]=m+u+r[t];return r}function Y(){}function X(e){return N(e.name,e)}function Z(e,t){return e.async?"async"+(t?$():v):""}function J(e){return e.generator&&!C.moz.starlessGenerator?"*"+v:""}function Q(e){var t=e.value,n="";return t.async&&(n+=Z(t,!e.computed)),t.generator&&(n+=J(t)?"*":""),n}function ee(e){var t;if(t=new Y,D(e))return t.generateStatement(e,B);if(function(e){return Y.Expression.hasOwnProperty(e.type)}(e))return t.generateExpression(e,i.Sequence,T);throw new Error("Unknown node type: "+e.type)}Y.prototype.maybeBlock=function(e,t){var n,i,o=this;return i=!C.comment||!e.leadingComments,e.type===r.BlockStatement&&i?[v,this.generateStatement(e,t)]:e.type===r.EmptyStatement&&i?";":(z(function(){n=[m,H(o.generateStatement(e,t))]}),n)},Y.prototype.maybeBlockSuffix=function(e,t){var n=M(N(t).toString());return e.type!==r.BlockStatement||C.comment&&e.leadingComments||n?n?[t,u]:[t,m,u]:[t,v]},Y.prototype.generatePattern=function(e,t,n){return e.type===r.Identifier?X(e):this.generateExpression(e,t,n)},Y.prototype.generateFunctionParams=function(e){var t,n,o,s;if(s=!1,e.type!==r.ArrowFunctionExpression||e.rest||e.defaults&&0!==e.defaults.length||1!==e.params.length||e.params[0].type!==r.Identifier){for((o=e.type===r.ArrowFunctionExpression?[Z(e,!1)]:[]).push("("),e.defaults&&(s=!0),t=0,n=e.params.length;t<n;++t)s&&e.defaults[t]?o.push(this.generateAssignment(e.params[t],e.defaults[t],"=",i.Assignment,T)):o.push(this.generatePattern(e.params[t],i.Assignment,T)),t+1<n&&o.push(","+v);e.rest&&(e.params.length&&o.push(","+v),o.push("..."),o.push(X(e.rest))),o.push(")")}else o=[Z(e,!0),X(e.params[0])];return o},Y.prototype.generateFunctionBody=function(e){var t,n;return t=this.generateFunctionParams(e),e.type===r.ArrowFunctionExpression&&(t.push(v),t.push("=>")),e.expression?(t.push(v),"{"===(n=this.generateExpression(e.body,i.Assignment,T)).toString().charAt(0)&&(n=["(",n,")"]),t.push(n)):t.push(this.maybeBlock(e.body,9)),t},Y.prototype.generateIterationForStatement=function(e,t,n){var o=["for"+v+(t.await?"await"+v:"")+"("],s=this;return z(function(){t.left.type===r.VariableDeclaration?z(function(){o.push(t.left.kind+$()),o.push(s.generateStatement(t.left.declarations[0],0))}):o.push(s.generateExpression(t.left,i.Call,T)),o=[W(o=W(o,e),s.generateExpression(t.right,i.Sequence,T)),")"]}),o.push(this.maybeBlock(t.body,n)),o},Y.prototype.generatePropertyKey=function(e,t){var n=[];return t&&n.push("["),n.push(this.generateExpression(e,i.Sequence,T)),t&&n.push("]"),n},Y.prototype.generateAssignment=function(e,t,n,r,o){return i.Assignment<r&&(o|=1),K([this.generateExpression(e,i.Call,o),v+n+v,this.generateExpression(t,i.Assignment,o)],i.Assignment,r)},Y.prototype.semicolon=function(e){return!b&&32&e?"":";"},Y.Statement={BlockStatement:function(e,t){var n,r,i=["{",m],o=this;return z(function(){var s,a,l,u;for(0===e.body.length&&_&&(n=e.range)[1]-n[0]>2&&("\n"===(r=E.substring(n[0]+1,n[1]-1))[0]&&(i=["{"]),i.push(r)),u=B,8&t&&(u|=16),s=0,a=e.body.length;s<a;++s)_&&(0===s&&(e.body[0].leadingComments&&(n=e.body[0].leadingComments[0].extendedRange,"\n"===(r=E.substring(n[0],n[1]))[0]&&(i=["{"])),e.body[0].leadingComments||G(e.range[0],e.body[0].range[0],i)),s>0&&(e.body[s-1].trailingComments||e.body[s].leadingComments||G(e.body[s-1].range[1],e.body[s].range[0],i))),s===a-1&&(u|=32),l=e.body[s].leadingComments&&_?o.generateStatement(e.body[s],u):H(o.generateStatement(e.body[s],u)),i.push(l),M(N(l).toString())||_&&s<a-1&&e.body[s+1].leadingComments||i.push(m),_&&s===a-1&&(e.body[s].trailingComments||G(e.body[s].range[1],e.range[1],i))}),i.push(H("}")),i},BreakStatement:function(e,t){return e.label?"break "+e.label.name+this.semicolon(t):"break"+this.semicolon(t)},ContinueStatement:function(e,t){return e.label?"continue "+e.label.name+this.semicolon(t):"continue"+this.semicolon(t)},ClassBody:function(e,t){var n=["{",m],r=this;return z(function(t){var o,s;for(o=0,s=e.body.length;o<s;++o)n.push(t),n.push(r.generateExpression(e.body[o],i.Sequence,T)),o+1<s&&n.push(m)}),M(N(n).toString())||n.push(m),n.push(u),n.push("}"),n},ClassDeclaration:function(e,t){var n;return n=["class"],e.id&&(n=W(n,this.generateExpression(e.id,i.Sequence,T))),e.superClass&&(n=W(n,W("extends",this.generateExpression(e.superClass,i.Assignment,T)))),n.push(v),n.push(this.generateStatement(e.body,33)),n},DirectiveStatement:function(e,t){return C.raw&&e.raw?e.raw+this.semicolon(t):function(e){var t,n,r,i;for(i="double"===p?'"':"'",t=0,n=e.length;t<n;++t){if(39===(r=e.charCodeAt(t))){i='"';break}if(34===r){i="'";break}92===r&&++t}return i+e+i}(e.directive)+this.semicolon(t)},DoWhileStatement:function(e,t){var n=W("do",this.maybeBlock(e.body,B));return W(n=this.maybeBlockSuffix(e.body,n),["while"+v+"(",this.generateExpression(e.test,i.Sequence,T),")"+this.semicolon(t)])},CatchClause:function(e,t){var n,r=this;return z(function(){var t;n=["catch"+v+"(",r.generateExpression(e.param,i.Sequence,T),")"],e.guard&&(t=r.generateExpression(e.guard,i.Sequence,T),n.splice(2,0," if ",t))}),n.push(this.maybeBlock(e.body,B)),n},DebuggerStatement:function(e,t){return"debugger"+this.semicolon(t)},EmptyStatement:function(e,t){return";"},ExportDefaultDeclaration:function(e,t){var n,r=["export"];return n=32&t?33:B,r=W(r,"default"),r=D(e.declaration)?W(r,this.generateStatement(e.declaration,n)):W(r,this.generateExpression(e.declaration,i.Assignment,T)+this.semicolon(t))},ExportNamedDeclaration:function(e,t){var n,o=["export"],s=this;return n=32&t?33:B,e.declaration?W(o,this.generateStatement(e.declaration,n)):(e.specifiers&&(0===e.specifiers.length?o=W(o,"{"+v+"}"):e.specifiers[0].type===r.ExportBatchSpecifier?o=W(o,this.generateExpression(e.specifiers[0],i.Sequence,T)):(o=W(o,"{"),z(function(t){var n,r;for(o.push(m),n=0,r=e.specifiers.length;n<r;++n)o.push(t),o.push(s.generateExpression(e.specifiers[n],i.Sequence,T)),n+1<r&&o.push(","+m)}),M(N(o).toString())||o.push(m),o.push(u+"}")),e.source?o=W(o,["from"+v,this.generateExpression(e.source,i.Sequence,T),this.semicolon(t)]):o.push(this.semicolon(t))),o)},ExportAllDeclaration:function(e,t){return["export"+v,"*"+v,"from"+v,this.generateExpression(e.source,i.Sequence,T),this.semicolon(t)]},ExpressionStatement:function(e,t){var n,o;return 123===(o=N(n=[this.generateExpression(e.expression,i.Sequence,T)]).toString()).charCodeAt(0)||function(e){var t;return"class"===e.slice(0,5)&&(123===(t=e.charCodeAt(5))||l.code.isWhiteSpace(t)||l.code.isLineTerminator(t))}(o)||function(e){var t;return"function"===e.slice(0,8)&&(40===(t=e.charCodeAt(8))||l.code.isWhiteSpace(t)||42===t||l.code.isLineTerminator(t))}(o)||function(e){var t,n,r;if("async"!==e.slice(0,5))return!1;if(!l.code.isWhiteSpace(e.charCodeAt(5)))return!1;for(n=6,r=e.length;n<r&&l.code.isWhiteSpace(e.charCodeAt(n));++n);return n!==r&&"function"===e.slice(n,n+8)&&(40===(t=e.charCodeAt(n+8))||l.code.isWhiteSpace(t)||42===t||l.code.isLineTerminator(t))}(o)||x&&16&t&&e.expression.type===r.Literal&&"string"==typeof e.expression.value?n=["(",n,")"+this.semicolon(t)]:n.push(this.semicolon(t)),n},ImportDeclaration:function(e,t){var n,o,s=this;return 0===e.specifiers.length?["import",v,this.generateExpression(e.source,i.Sequence,T),this.semicolon(t)]:(n=["import"],o=0,e.specifiers[o].type===r.ImportDefaultSpecifier&&(n=W(n,[this.generateExpression(e.specifiers[o],i.Sequence,T)]),++o),e.specifiers[o]&&(0!==o&&n.push(","),e.specifiers[o].type===r.ImportNamespaceSpecifier?n=W(n,[v,this.generateExpression(e.specifiers[o],i.Sequence,T)]):(n.push(v+"{"),e.specifiers.length-o==1?(n.push(v),n.push(this.generateExpression(e.specifiers[o],i.Sequence,T)),n.push(v+"}"+v)):(z(function(t){var r,a;for(n.push(m),r=o,a=e.specifiers.length;r<a;++r)n.push(t),n.push(s.generateExpression(e.specifiers[r],i.Sequence,T)),r+1<a&&n.push(","+m)}),M(N(n).toString())||n.push(m),n.push(u+"}"+v)))),n=W(n,["from"+v,this.generateExpression(e.source,i.Sequence,T),this.semicolon(t)]))},VariableDeclarator:function(e,t){var n=1&t?T:6;return e.init?[this.generateExpression(e.id,i.Assignment,n),v,"=",v,this.generateExpression(e.init,i.Assignment,n)]:this.generatePattern(e.id,i.Assignment,n)},VariableDeclaration:function(e,t){var n,r,i,o,s,a=this;function l(){for(o=e.declarations[0],C.comment&&o.leadingComments?(n.push("\n"),n.push(H(a.generateStatement(o,s)))):(n.push($()),n.push(a.generateStatement(o,s))),r=1,i=e.declarations.length;r<i;++r)o=e.declarations[r],C.comment&&o.leadingComments?(n.push(","+m),n.push(H(a.generateStatement(o,s)))):(n.push(","+v),n.push(a.generateStatement(o,s)))}return n=[e.kind],s=1&t?B:0,e.declarations.length>1?z(l):l(),n.push(this.semicolon(t)),n},ThrowStatement:function(e,t){return[W("throw",this.generateExpression(e.argument,i.Sequence,T)),this.semicolon(t)]},TryStatement:function(e,t){var n,r,i,o;if(n=["try",this.maybeBlock(e.block,B)],n=this.maybeBlockSuffix(e.block,n),e.handlers)for(r=0,i=e.handlers.length;r<i;++r)n=W(n,this.generateStatement(e.handlers[r],B)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(e.handlers[r].body,n));else{for(r=0,i=(o=e.guardedHandlers||[]).length;r<i;++r)n=W(n,this.generateStatement(o[r],B)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(o[r].body,n));if(e.handler)if(Array.isArray(e.handler))for(r=0,i=e.handler.length;r<i;++r)n=W(n,this.generateStatement(e.handler[r],B)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(e.handler[r].body,n));else n=W(n,this.generateStatement(e.handler,B)),e.finalizer&&(n=this.maybeBlockSuffix(e.handler.body,n))}return e.finalizer&&(n=W(n,["finally",this.maybeBlock(e.finalizer,B)])),n},SwitchStatement:function(e,t){var n,r,o,s,a,l=this;if(z(function(){n=["switch"+v+"(",l.generateExpression(e.discriminant,i.Sequence,T),")"+v+"{"+m]}),e.cases)for(a=B,o=0,s=e.cases.length;o<s;++o)o===s-1&&(a|=32),r=H(this.generateStatement(e.cases[o],a)),n.push(r),M(N(r).toString())||n.push(m);return n.push(H("}")),n},SwitchCase:function(e,t){var n,o,s,a,l,u=this;return z(function(){for(n=e.test?[W("case",u.generateExpression(e.test,i.Sequence,T)),":"]:["default:"],s=0,(a=e.consequent.length)&&e.consequent[0].type===r.BlockStatement&&(o=u.maybeBlock(e.consequent[0],B),n.push(o),s=1),s===a||M(N(n).toString())||n.push(m),l=B;s<a;++s)s===a-1&&32&t&&(l|=32),o=H(u.generateStatement(e.consequent[s],l)),n.push(o),s+1===a||M(N(o).toString())||n.push(m)}),n},IfStatement:function(e,t){var n,o,s=this;return z(function(){n=["if"+v+"(",s.generateExpression(e.test,i.Sequence,T),")"]}),o=B,32&t&&(o|=32),e.alternate?(n.push(this.maybeBlock(e.consequent,B)),n=this.maybeBlockSuffix(e.consequent,n),n=e.alternate.type===r.IfStatement?W(n,["else ",this.generateStatement(e.alternate,o)]):W(n,W("else",this.maybeBlock(e.alternate,o)))):n.push(this.maybeBlock(e.consequent,o)),n},ForStatement:function(e,t){var n,o=this;return z(function(){n=["for"+v+"("],e.init?e.init.type===r.VariableDeclaration?n.push(o.generateStatement(e.init,0)):(n.push(o.generateExpression(e.init,i.Sequence,6)),n.push(";")):n.push(";"),e.test?(n.push(v),n.push(o.generateExpression(e.test,i.Sequence,T)),n.push(";")):n.push(";"),e.update?(n.push(v),n.push(o.generateExpression(e.update,i.Sequence,T)),n.push(")")):n.push(")")}),n.push(this.maybeBlock(e.body,32&t?33:B)),n},ForInStatement:function(e,t){return this.generateIterationForStatement("in",e,32&t?33:B)},ForOfStatement:function(e,t){return this.generateIterationForStatement("of",e,32&t?33:B)},LabeledStatement:function(e,t){return[e.label.name+":",this.maybeBlock(e.body,32&t?33:B)]},Program:function(e,t){var n,r,i,o,s;for(o=e.body.length,n=[w&&o>0?"\n":""],s=17,i=0;i<o;++i)w||i!==o-1||(s|=32),_&&(0===i&&(e.body[0].leadingComments||G(e.range[0],e.body[i].range[0],n)),i>0&&(e.body[i-1].trailingComments||e.body[i].leadingComments||G(e.body[i-1].range[1],e.body[i].range[0],n))),r=H(this.generateStatement(e.body[i],s)),n.push(r),i+1<o&&!M(N(r).toString())&&(_&&e.body[i+1].leadingComments||n.push(m)),_&&i===o-1&&(e.body[i].trailingComments||G(e.body[i].range[1],e.range[1],n));return n},FunctionDeclaration:function(e,t){return[Z(e,!0),"function",J(e)||$(),e.id?X(e.id):"",this.generateFunctionBody(e)]},ReturnStatement:function(e,t){return e.argument?[W("return",this.generateExpression(e.argument,i.Sequence,T)),this.semicolon(t)]:["return"+this.semicolon(t)]},WhileStatement:function(e,t){var n,r=this;return z(function(){n=["while"+v+"(",r.generateExpression(e.test,i.Sequence,T),")"]}),n.push(this.maybeBlock(e.body,32&t?33:B)),n},WithStatement:function(e,t){var n,r=this;return z(function(){n=["with"+v+"(",r.generateExpression(e.object,i.Sequence,T),")"]}),n.push(this.maybeBlock(e.body,32&t?33:B)),n}},O(Y.prototype,Y.Statement),Y.Expression={SequenceExpression:function(e,t,n){var r,o,s;for(i.Sequence<t&&(n|=1),r=[],o=0,s=e.expressions.length;o<s;++o)r.push(this.generateExpression(e.expressions[o],i.Assignment,n)),o+1<s&&r.push(","+v);return K(r,i.Sequence,t)},AssignmentExpression:function(e,t,n){return this.generateAssignment(e.left,e.right,e.operator,t,n)},ArrowFunctionExpression:function(e,t,n){return K(this.generateFunctionBody(e),i.ArrowFunction,t)},ConditionalExpression:function(e,t,n){return i.Conditional<t&&(n|=1),K([this.generateExpression(e.test,i.LogicalOR,n),v+"?"+v,this.generateExpression(e.consequent,i.Assignment,n),v+":"+v,this.generateExpression(e.alternate,i.Assignment,n)],i.Conditional,t)},LogicalExpression:function(e,t,n){return this.BinaryExpression(e,t,n)},BinaryExpression:function(e,t,n){var r,i,s,a;return(i=o[e.operator])<t&&(n|=1),r=47===(a=(s=this.generateExpression(e.left,i,n)).toString()).charCodeAt(a.length-1)&&l.code.isIdentifierPartES5(e.operator.charCodeAt(0))?[s,$(),e.operator]:W(s,e.operator),s=this.generateExpression(e.right,i+1,n),"/"===e.operator&&"/"===s.toString().charAt(0)||"<"===e.operator.slice(-1)&&"!--"===s.toString().slice(0,3)?(r.push($()),r.push(s)):r=W(r,s),"in"!==e.operator||1&n?K(r,i,t):["(",r,")"]},CallExpression:function(e,t,n){var r,o,s;for((r=[this.generateExpression(e.callee,i.Call,3)]).push("("),o=0,s=e.arguments.length;o<s;++o)r.push(this.generateExpression(e.arguments[o],i.Assignment,T)),o+1<s&&r.push(","+v);return r.push(")"),2&n?K(r,i.Call,t):["(",r,")"]},NewExpression:function(e,t,n){var r,o,s,a,l;if(o=e.arguments.length,l=4&n&&!y&&0===o?5:1,r=W("new",this.generateExpression(e.callee,i.New,l)),!(4&n)||y||o>0){for(r.push("("),s=0,a=o;s<a;++s)r.push(this.generateExpression(e.arguments[s],i.Assignment,T)),s+1<a&&r.push(","+v);r.push(")")}return K(r,i.New,t)},MemberExpression:function(e,t,n){var o,s;return o=[this.generateExpression(e.object,i.Call,2&n?3:1)],e.computed?(o.push("["),o.push(this.generateExpression(e.property,i.Sequence,2&n?T:5)),o.push("]")):(e.object.type===r.Literal&&"number"==typeof e.object.value&&(s=N(o).toString()).indexOf(".")<0&&!/[eExX]/.test(s)&&l.code.isDecimalDigit(s.charCodeAt(s.length-1))&&!(s.length>=2&&48===s.charCodeAt(0))&&o.push(" "),o.push("."),o.push(X(e.property))),K(o,i.Member,t)},MetaProperty:function(e,t,n){var r;return(r=[]).push("string"==typeof e.meta?e.meta:X(e.meta)),r.push("."),r.push("string"==typeof e.property?e.property:X(e.property)),K(r,i.Member,t)},UnaryExpression:function(e,t,n){var r,o,s,a,u;return o=this.generateExpression(e.argument,i.Unary,T),""===v?r=W(e.operator,o):(r=[e.operator],e.operator.length>2?r=W(r,o):(u=(a=N(r).toString()).charCodeAt(a.length-1),s=o.toString().charCodeAt(0),(43===u||45===u)&&u===s||l.code.isIdentifierPartES5(u)&&l.code.isIdentifierPartES5(s)?(r.push($()),r.push(o)):r.push(o))),K(r,i.Unary,t)},YieldExpression:function(e,t,n){var r;return r=e.delegate?"yield*":"yield",e.argument&&(r=W(r,this.generateExpression(e.argument,i.Yield,T))),K(r,i.Yield,t)},AwaitExpression:function(e,t,n){return K(W(e.all?"await*":"await",this.generateExpression(e.argument,i.Await,T)),i.Await,t)},UpdateExpression:function(e,t,n){return e.prefix?K([e.operator,this.generateExpression(e.argument,i.Unary,T)],i.Unary,t):K([this.generateExpression(e.argument,i.Postfix,T),e.operator],i.Postfix,t)},FunctionExpression:function(e,t,n){var r=[Z(e,!0),"function"];return e.id?(r.push(J(e)||$()),r.push(X(e.id))):r.push(J(e)||v),r.push(this.generateFunctionBody(e)),r},ArrayPattern:function(e,t,n){return this.ArrayExpression(e,t,n,!0)},ArrayExpression:function(e,t,n,r){var o,s,a=this;return e.elements.length?(s=!r&&e.elements.length>1,o=["[",s?m:""],z(function(t){var n,r;for(n=0,r=e.elements.length;n<r;++n)e.elements[n]?(o.push(s?t:""),o.push(a.generateExpression(e.elements[n],i.Assignment,T))):(s&&o.push(t),n+1===r&&o.push(",")),n+1<r&&o.push(","+(s?m:v))}),s&&!M(N(o).toString())&&o.push(m),o.push(s?u:""),o.push("]"),o):"[]"},RestElement:function(e,t,n){return"..."+this.generatePattern(e.argument)},ClassExpression:function(e,t,n){var r;return r=["class"],e.id&&(r=W(r,this.generateExpression(e.id,i.Sequence,T))),e.superClass&&(r=W(r,W("extends",this.generateExpression(e.superClass,i.Assignment,T)))),r.push(v),r.push(this.generateStatement(e.body,33)),r},MethodDefinition:function(e,t,n){return W(e.static?["static"+v]:[],"get"===e.kind||"set"===e.kind?[W(e.kind,this.generatePropertyKey(e.key,e.computed)),this.generateFunctionBody(e.value)]:[Q(e),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)])},Property:function(e,t,n){return"get"===e.kind||"set"===e.kind?[e.kind,$(),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)]:e.shorthand?"AssignmentPattern"===e.value.type?this.AssignmentPattern(e.value,i.Sequence,T):this.generatePropertyKey(e.key,e.computed):e.method?[Q(e),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)]:[this.generatePropertyKey(e.key,e.computed),":"+v,this.generateExpression(e.value,i.Assignment,T)]},ObjectExpression:function(e,t,n){var r,o,s,a,l=this;return e.properties.length?(r=e.properties.length>1,z(function(){s=l.generateExpression(e.properties[0],i.Sequence,T)}),r||(a=N(s).toString(),/[\r\n]/g.test(a))?(z(function(t){var n,a;if(o=["{",m,t,s],r)for(o.push(","+m),n=1,a=e.properties.length;n<a;++n)o.push(t),o.push(l.generateExpression(e.properties[n],i.Sequence,T)),n+1<a&&o.push(","+m)}),M(N(o).toString())||o.push(m),o.push(u),o.push("}"),o):["{",v,s,v,"}"]):"{}"},AssignmentPattern:function(e,t,n){return this.generateAssignment(e.left,e.right,"=",t,n)},ObjectPattern:function(e,t,n){var o,s,a,l,c=this;if(!e.properties.length)return"{}";if(l=!1,1===e.properties.length)e.properties[0].value.type!==r.Identifier&&(l=!0);else for(s=0,a=e.properties.length;s<a;++s)if(!e.properties[s].shorthand){l=!0;break}return o=["{",l?m:""],z(function(t){var n,r;for(n=0,r=e.properties.length;n<r;++n)o.push(l?t:""),o.push(c.generateExpression(e.properties[n],i.Sequence,T)),n+1<r&&o.push(","+(l?m:v))}),l&&!M(N(o).toString())&&o.push(m),o.push(l?u:""),o.push("}"),o},ThisExpression:function(e,t,n){return"this"},Super:function(e,t,n){return"super"},Identifier:function(e,t,n){return X(e)},ImportDefaultSpecifier:function(e,t,n){return X(e.id||e.local)},ImportNamespaceSpecifier:function(e,t,n){var r=["*"],i=e.id||e.local;return i&&r.push(v+"as"+$()+X(i)),r},ImportSpecifier:function(e,t,n){var r=e.imported,i=[r.name],o=e.local;return o&&o.name!==r.name&&i.push($()+"as"+$()+X(o)),i},ExportSpecifier:function(e,t,n){var r=e.local,i=[r.name],o=e.exported;return o&&o.name!==r.name&&i.push($()+"as"+$()+X(o)),i},Literal:function(e,t,n){var i;if(e.hasOwnProperty("raw")&&k&&C.raw)try{if((i=k(e.raw).body[0].expression).type===r.Literal&&i.value===e.value)return e.raw}catch(e){}return null===e.value?"null":"string"==typeof e.value?function(e){var t,n,r,i,o,s="",a=0,u=0;for(t=0,n=e.length;t<n;++t){if(39===(r=e.charCodeAt(t)))++a;else if(34===r)++u;else if(47===r&&h)s+="\\";else{if(l.code.isLineTerminator(r)||92===r){s+=I(r);continue}if(!l.code.isIdentifierPartES5(r)&&(h&&r<32||!h&&!g&&(r<32||r>126))){s+=j(r,e.charCodeAt(t+1));continue}}s+=String.fromCharCode(r)}if(o=(i=!("double"===p||"auto"===p&&u<a))?"'":'"',!(i?a:u))return o+s+o;for(e=s,s=o,t=0,n=e.length;t<n;++t)(39===(r=e.charCodeAt(t))&&i||34===r&&!i)&&(s+="\\"),s+=String.fromCharCode(r);return s+o}(e.value):"number"==typeof e.value?function(e){var t,n,r,i,o;if(e!=e)throw new Error("Numeric literal whose value is NaN");if(e<0||0===e&&1/e<0)throw new Error("Numeric literal whose value is negative");if(e===1/0)return h?"null":d?"1e400":"1e+400";if(t=""+e,!d||t.length<3)return t;for(n=t.indexOf("."),h||48!==t.charCodeAt(0)||1!==n||(n=0,t=t.slice(1)),r=t,t=t.replace("e+","e"),i=0,(o=r.indexOf("e"))>0&&(i=+r.slice(o+1),r=r.slice(0,o)),n>=0&&(i-=r.length-n-1,r=+(r.slice(0,n)+r.slice(n+1))+""),o=0;48===r.charCodeAt(r.length+o-1);)--o;return 0!==o&&(i-=o,r=r.slice(0,o)),0!==i&&(r+="e"+i),(r.length<t.length||f&&e>1e12&&Math.floor(e)===e&&(r="0x"+e.toString(16)).length<t.length)&&+r===e&&(t=r),t}(e.value):"boolean"==typeof e.value?e.value?"true":"false":e.regex?"/"+e.regex.pattern+"/"+e.regex.flags:function(e){var t,n,r,i,o,s,a,l;if(n=e.toString(),e.source){if(!(t=n.match(/\/([^/]*)$/)))return n;for(r=t[1],n="",a=!1,l=!1,i=0,o=e.source.length;i<o;++i)s=e.source.charCodeAt(i),l?(n+=R(s,l),l=!1):(a?93===s&&(a=!1):47===s?n+="\\":91===s&&(a=!0),n+=R(s,l),l=92===s);return"/"+n+"/"+r}return n}(e.value)},GeneratorExpression:function(e,t,n){return this.ComprehensionExpression(e,t,n)},ComprehensionExpression:function(e,t,n){var o,s,a,l,u=this;return o=e.type===r.GeneratorExpression?["("]:["["],C.moz.comprehensionExpressionStartsWithAssignment&&(l=this.generateExpression(e.body,i.Assignment,T),o.push(l)),e.blocks&&z(function(){for(s=0,a=e.blocks.length;s<a;++s)l=u.generateExpression(e.blocks[s],i.Sequence,T),s>0||C.moz.comprehensionExpressionStartsWithAssignment?o=W(o,l):o.push(l)}),e.filter&&(o=W(o,"if"+v),l=this.generateExpression(e.filter,i.Sequence,T),o=W(o,["(",l,")"])),C.moz.comprehensionExpressionStartsWithAssignment||(l=this.generateExpression(e.body,i.Assignment,T),o=W(o,l)),o.push(e.type===r.GeneratorExpression?")":"]"),o},ComprehensionBlock:function(e,t,n){var o;return o=W(o=W(o=e.left.type===r.VariableDeclaration?[e.left.kind,$(),this.generateStatement(e.left.declarations[0],0)]:this.generateExpression(e.left,i.Call,T),e.of?"of":"in"),this.generateExpression(e.right,i.Sequence,T)),["for"+v+"(",o,")"]},SpreadElement:function(e,t,n){return["...",this.generateExpression(e.argument,i.Assignment,T)]},TaggedTemplateExpression:function(e,t,n){var r=3;return 2&n||(r=1),K([this.generateExpression(e.tag,i.Call,r),this.generateExpression(e.quasi,i.Primary,4)],i.TaggedTemplate,t)},TemplateElement:function(e,t,n){return e.value.raw},TemplateLiteral:function(e,t,n){var r,o,s;for(r=["`"],o=0,s=e.quasis.length;o<s;++o)r.push(this.generateExpression(e.quasis[o],i.Primary,T)),o+1<s&&(r.push("${"+v),r.push(this.generateExpression(e.expressions[o],i.Sequence,T)),r.push(v+"}"));return r.push("`"),r},ModuleSpecifier:function(e,t,n){return this.Literal(e,t,n)}},O(Y.prototype,Y.Expression),Y.prototype.generateExpression=function(e,t,n){var o,s;return s=e.type||r.Property,C.verbatim&&e.hasOwnProperty(C.verbatim)?function(e,t){var n;return N("string"==typeof(n=e[C.verbatim])?K(q(n),i.Sequence,t):K(q(n.content),null!=n.precedence?n.precedence:i.Sequence,t),e)}(e,t):(o=this[s](e,t,n),C.comment&&(o=V(e,o)),N(o,e))},Y.prototype.generateStatement=function(e,t){var n,i;return n=this[e.type](e,t),C.comment&&(n=V(e,n)),i=N(n).toString(),e.type!==r.Program||w||""!==m||"\n"!==i.charAt(i.length-1)||(n=A?N(n).replaceRight(/\s+$/,""):i.replace(/\s+$/,"")),N(n,e)},S={indent:{style:"",base:0},renumber:!0,hexadecimal:!0,quotes:"auto",escapeless:!0,compact:!0,parentheses:!1,semicolons:!1},F={indent:{style:" ",base:0,adjustMultilineComment:!1},newline:"\n",space:" ",json:!1,renumber:!1,hexadecimal:!1,quotes:"single",escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},t.version=n(434).version,t.generate=function(r,i){var o,a,l={indent:null,base:null,parse:null,comment:!1,format:{indent:{style:" ",base:0,adjustMultilineComment:!1},newline:"\n",space:" ",json:!1,renumber:!1,hexadecimal:!1,quotes:"single",escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},moz:{comprehensionExpressionStartsWithAssignment:!1,starlessGenerator:!1},sourceMap:null,sourceMapRoot:null,sourceMapWithCode:!1,directive:!1,raw:!0,verbatim:null,sourceCode:null};return null!=i?("string"==typeof i.indent&&(l.format.indent.style=i.indent),"number"==typeof i.base&&(l.format.indent.base=i.base),i=P(l,i),c=i.format.indent.style,u="string"==typeof i.base?i.base:L(c,i.format.indent.base)):(c=(i=l).format.indent.style,u=L(c,i.format.indent.base)),h=i.format.json,d=i.format.renumber,f=!h&&i.format.hexadecimal,p=h?"double":i.format.quotes,g=i.format.escapeless,m=i.format.newline,v=i.format.space,i.format.compact&&(m=v=c=u=""),y=i.format.parentheses,b=i.format.semicolons,w=i.format.safeConcatenation,x=i.directive,k=h?null:i.parse,A=i.sourceMap,E=i.sourceCode,_=i.format.preserveBlankLines&&null!==E,C=i,A&&(s=t.browser?e.sourceMap.SourceNode:n(441).SourceNode),o=ee(r),A?(a=o.toStringWithSourceMap({file:i.file,sourceRoot:i.sourceMapRoot}),i.sourceContent&&a.map.setSourceContent(i.sourceMap,i.sourceContent),i.sourceMapWithCode?a:a.map.toString()):(a={code:o.toString(),map:null},i.sourceMapWithCode?a:a.code)},t.attachComments=a.attachComments,t.Precedence=P({},i),t.browser=!1,t.FORMAT_MINIFY=S,t.FORMAT_DEFAULTS=F}()}).call(this,n(99))},function(e,t){
/*!
* Chai - transferFlags utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t,n){var r=e.__flags||(e.__flags=Object.create(null));for(var i in t.__flags||(t.__flags=Object.create(null)),n=3!==arguments.length||n,r)(n||"object"!==i&&"ssfi"!==i&&"lockSsfi"!==i&&"message"!=i)&&(t.__flags[i]=r[i])}},function(e,t){e.exports={includeStack:!1,showDiff:!0,truncateThreshold:40,useProxy:!0,proxyExcludedKeys:["then","inspect","toJSON"]}},function(e,t,n){
/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=[];
/*!
* Chai version
*/t.version="4.1.2",
/*!
* Assertion Error
*/
t.AssertionError=n(264);
/*!
* Utils for plugins (not exported)
*/
var i=n(429);t.use=function(e){return~r.indexOf(e)||(e(t,i),r.push(e)),t},
/*!
* Utility Functions
*/
t.util=i;
/*!
* Configuration
*/
var o=n(129);t.config=o;
/*!
* Primary `Assertion` prototype
*/
var s=n(413);t.use(s);
/*!
* Core Assertions
*/
var a=n(412);t.use(a);
/*!
* Expect interface
*/
var l=n(411);t.use(l);
/*!
* Should interface
*/
var u=n(410);t.use(u);
/*!
* Assert interface
*/
var c=n(409);t.use(c)},function(e,t,n){"use strict";var r=n(172).nextTick,i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var o=n(149);o.inherits=n(132);var s=n(297),a=n(233);o.inherits(h,s);for(var l=i(a.prototype),u=0;u<l.length;u++){var c=l[u];h.prototype[c]||(h.prototype[c]=a.prototype[c])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||r(f,this)}function f(e){e.end()}Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),r(t,e)}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},,,,,,,,,,function(e,t,n){"use strict";for(var r=n(79),i=n(126),o=n(170),s=n(105),a=new Array(256),l=0;l<256;l++)a[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;a[254]=a[254]=1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,n,r,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=i.uint8array?new Uint8Array(l):new Array(l),s=0,o=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[s++]=n:n<2048?(t[s++]=192|n>>>6,t[s++]=128|63&n):n<65536?(t[s++]=224|n>>>12,t[s++]=128|n>>>6&63,t[s++]=128|63&n):(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63,t[s++]=128|n>>>6&63,t[s++]=128|63&n);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?r.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,i,o,s=e.length,l=new Array(2*s);for(n=0,t=0;t<s;)if((i=e[t++])<128)l[n++]=i;else if((o=a[i])>4)l[n++]=65533,t+=o-1;else{for(i&=2===o?31:3===o?15:7;o>1&&t<s;)i=i<<6|63&e[t++],o--;o>1?l[n++]=65533:i<65536?l[n++]=i:(i-=65536,l[n++]=55296|i>>10&1023,l[n++]=56320|1023&i)}return l.length!==n&&(l.subarray?l=l.subarray(0,n):l.length=n),r.applyFromCharCode(l)}(e=r.transformTo(i.uint8array?"uint8array":"array",e))},r.inherits(u,s),u.prototype.processChunk=function(e){var n=r.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var o=n;(n=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),n.set(o,this.leftOver.length)}else n=this.leftOver.concat(n);this.leftOver=null}var s=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+a[e[n]]>t?n:t}(n),l=n;s!==n.length&&(i.uint8array?(l=n.subarray(0,s),this.leftOver=n.subarray(s,n.length)):(l=n.slice(0,s),this.leftOver=n.slice(s,n.length))),this.push({data:t.utf8decode(l),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=u,r.inherits(c,s),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,s,a,l,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(o(n=this._events[e]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(i(n))for(a=Array.prototype.slice.call(arguments,1),s=(u=n.slice()).length,l=0;l<s;l++)u[l].apply(this,a);return!0},n.prototype.addListener=function(e,t){var s;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?i(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,i(this._events[e])&&!this._events[e].warned&&(s=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,o,s,a;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(n=this._events[e]).length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(a=s;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){o=a;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function s(e){var n=e,r=i(e);if(r){if(!r.path)return e;n=r.path}for(var s,a=t.isAbsolute(n),l=n.split(/\/+/),u=0,c=l.length-1;c>=0;c--)"."===(s=l[c])?l.splice(c,1):".."===s?u++:u>0&&(""===s?(l.splice(c+1,u),u=0):(l.splice(c,2),u--));return""===(n=l.join("/"))&&(n=a?"/":"."),r?(r.path=n,o(r)):n}function a(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),a=i(e);if(a&&(e=a.path||"/"),n&&!n.scheme)return a&&(n.scheme=a.scheme),o(n);if(n||t.match(r))return t;if(a&&!a.host&&!a.path)return a.host=t,o(a);var l="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=l,o(a)):l}t.urlParse=i,t.urlGenerate=o,t.normalize=s,t.join=a,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var l=!("__proto__"in Object.create(null));function u(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function h(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=l?u:function(e){return c(e)?"$"+e:e},t.fromSetString=l?u:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=h(e.source,t.source);return 0!==r?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)||n?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!=(r=e.generatedLine-t.generatedLine)?r:h(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)||n?r:0!==(r=h(e.source,t.source))?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:h(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=h(e.source,t.source))?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:h(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=i(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var l=r.path.lastIndexOf("/");l>=0&&(r.path=r.path.substring(0,l+1))}t=a(o(r),t)}return s(t)}},,,,function(e,t,n){"use strict";var r=null;r="undefined"!=typeof Promise?Promise:n(470),e.exports={Promise:r}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(150).Buffer)},function(e,t,n){"use strict";(function(e){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var r=n(496),i=n(495),o=n(299);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,n)}function u(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=d(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(l.isBuffer(t)){var n=0|f(t.length);return 0===(e=a(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):d(e,t);if("Buffer"===t.type&&o(t.data))return d(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=a(e,t<0?0:0|f(t)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|f(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function f(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return $(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return W(e).length;default:if(r)return $(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,r,i){var o,s=1,a=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,l/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(o=n;o<a;o++)if(u(e,o)===u(t,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===l)return c*s}else-1!==c&&(o-=o-c),c=-1}else for(n+l>a&&(n=a-l),o=n;o>=0;o--){for(var h=!0,d=0;d<l;d++)if(u(e,o+d)!==u(t,d)){h=!1;break}if(h)return o}return-1}function y(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function b(e,t,n,r){return H($(t,e.length-n),e,n,r)}function w(e,t,n,r){return H(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function x(e,t,n,r){return w(e,t,n,r)}function C(e,t,n,r){return H(W(t),e,n,r)}function k(e,t,n,r){return H(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,l,u=e[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=n)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(o=e[i+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(l=(15&u)<<12|(63&o)<<6|63&s)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(l=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h}return function(e){var t=e.length;if(t<=_)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=_));return n}(r)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,n){return u(null,e,t,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,n){return function(e,t,n,r){return c(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=l.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?E(this,0,e):function(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return F(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,s=n-t,a=Math.min(o,s),u=this.slice(r,i),c=e.slice(t,n),h=0;h<a;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},l.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function F(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function D(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=t;o<n;++o)i+=N(e[o]);return i}function T(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function B(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,n,r,i,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function M(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function O(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function P(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,o){return o||P(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||P(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;n=new l(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},l.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||B(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},l.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||B(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||B(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||B(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||B(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||B(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||B(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||B(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||B(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return t||B(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||B(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||B(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||B(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||B(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||B(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||B(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||B(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||B(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||L(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},l.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||L(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},l.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=l.isBuffer(e)?e:$(new l(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var I=/[^+\/0-9A-Za-z-_]/g;function N(e){return e<16?"0"+e.toString(16):e.toString(16)}function $(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function W(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(99))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var l,u=[],c=!1,h=-1;function d(){c&&l&&(c=!1,l.length?u=l.concat(u):h=-1,u.length&&f())}function f(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(l=u,u=[];++h<t;)l&&l[h].run();h=-1,t=u.length}l=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||c||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},,,,,,,,,,,,,,function(e,t,n){var r=n(129),i=n(113),o=n(261),s=n(167),a=["__flags","__methods","_obj","assert"];function l(e,t,n){if(!n){n=[];for(var r=0;r<=e.length;r++)n[r]=[]}return n[e.length]&&n[e.length][t.length]||(0===e.length||0===t.length?n[e.length][t.length]=Math.max(e.length,t.length):n[e.length][t.length]=Math.min(l(e.slice(0,-1),t,n)+1,l(e,t.slice(0,-1),n)+1,l(e.slice(0,-1),t.slice(0,-1),n)+(e.slice(-1)===t.slice(-1)?0:1))),n[e.length][t.length]}e.exports=function(e,t){return s()?new Proxy(e,{get:function e(n,s){if("string"==typeof s&&-1===r.proxyExcludedKeys.indexOf(s)&&!Reflect.has(n,s)){if(t)throw Error("Invalid Chai property: "+t+"."+s+'. See docs for proper usage of "'+t+'".');var u=o(n).filter(function(e){return!Object.prototype.hasOwnProperty(e)&&-1===a.indexOf(e)}).sort(function(e,t){return l(s,e)-l(s,t)});throw u.length&&l(u[0],s)<4?Error("Invalid Chai property: "+s+'. Did you mean "'+u[0]+'"?'):Error("Invalid Chai property: "+s)}return-1!==a.indexOf(s)||i(n,"lockSsfi")||i(n,"ssfi",e),Reflect.get(n,s)}}):e}},function(e,t,n){n(129);var r=Object.getOwnPropertyDescriptor(function(){},"length");
/*!
* Chai - addLengthGuard utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t,n){return r.configurable?(Object.defineProperty(e,"length",{get:function(){if(n)throw Error("Invalid Chai property: "+t+'.length. Due to a compatibility issue, "length" cannot directly follow "'+t+'". Use "'+t+'.lengthOf" instead.');throw Error("Invalid Chai property: "+t+'.length. See docs for proper usage of "'+t+'".')}}),e):e}},function(e,t,n){var r=n(129);
/*!
* Chai - isProxyEnabled helper
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/e.exports=function(){return r.useProxy&&"undefined"!=typeof Proxy&&"undefined"!=typeof Reflect}},function(e,t,n){var r=n(262),i=n(261),o=n(424),s=n(129);e.exports=function(e,t,n,r){return l({showHidden:t,seen:[],stylize:function(e){return e}},e,void 0===n?2:n)};var a=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&"nodeType"in e&&1===e.nodeType&&"string"==typeof e.nodeName};function l(e,n,g){if(n&&"function"==typeof n.inspect&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var m=n.inspect(g,e);return"string"!=typeof m&&(m=l(e,m,g)),m}var v=function(e,t){switch(typeof t){case"undefined":return e.stylize("undefined","undefined");case"string":var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string");case"number":return 0===t&&1/t==-1/0?e.stylize("-0","number"):e.stylize(""+t,"number");case"boolean":return e.stylize(""+t,"boolean");case"symbol":return e.stylize(t.toString(),"symbol")}if(null===t)return e.stylize("null","null")}(e,n);if(v)return v;if(a(n)){if("outerHTML"in n)return n.outerHTML;try{if(document.xmlVersion)return(new XMLSerializer).serializeToString(n);var y=document.createElementNS("http://www.w3.org/1999/xhtml","_");y.appendChild(n.cloneNode(!1));var b=y.innerHTML.replace("><",">"+n.innerHTML+"<");return y.innerHTML="",b}catch(e){}}var w,x,C=o(n),k=e.showHidden?i(n):C;if(0===k.length||f(n)&&(1===k.length&&"stack"===k[0]||2===k.length&&"description"===k[0]&&"stack"===k[1])){if("function"==typeof n)return x=(w=r(n))?": "+w:"",e.stylize("[Function"+x+"]","special");if(h(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(d(n))return e.stylize(Date.prototype.toUTCString.call(n),"date");if(f(n))return u(n)}var A,E,_="",S=!1,F=!1,D=["{","}"];if("object"==typeof(A=n)&&/\w+Array]$/.test(p(A))&&(F=!0,D=["[","]"]),function(e){return Array.isArray(e)||"object"==typeof e&&"[object Array]"===p(e)}(n)&&(S=!0,D=["[","]"]),"function"==typeof n&&(_=" [Function"+(x=(w=r(n))?": "+w:"")+"]"),h(n)&&(_=" "+RegExp.prototype.toString.call(n)),d(n)&&(_=" "+Date.prototype.toUTCString.call(n)),f(n))return u(n);if(0===k.length&&(!S||0==n.length))return D[0]+_+D[1];if(g<0)return h(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");if(e.seen.push(n),S)E=function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)Object.prototype.hasOwnProperty.call(t,String(s))?o.push(c(e,t,n,r,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(c(e,t,n,r,i,!0))}),o}(e,n,g,C,k);else{if(F)return function(e){for(var t="[ ",n=0;n<e.length;++n){if(t.length>=s.truncateThreshold-7){t+="...";break}t+=e[n]+", "}-1!==(t+=" ]").indexOf(", ]")&&(t=t.replace(", ]"," ]"));return t}(n);E=k.map(function(t){return c(e,n,g,C,t,S)})}return e.seen.pop(),function(e,t,n){if(e.reduce(function(e,t){return 0,t.indexOf("\n")>=0&&0,e+t.length+1},0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(E,_,D)}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function c(e,t,n,r,i,o){var s,a,u=Object.getOwnPropertyDescriptor(t,i);if(u&&(u.get?a=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(a=e.stylize("[Setter]","special"))),r.indexOf(i)<0&&(s="["+i+"]"),a||(e.seen.indexOf(t[i])<0?(a=l(e,t[i],null===n?null:n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),void 0===s){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function h(e){return"object"==typeof e&&"[object RegExp]"===p(e)}function d(e){return"object"==typeof e&&"[object Date]"===p(e)}function f(e){return"object"==typeof e&&"[object Error]"===p(e)}function p(e){return Object.prototype.toString.call(e)}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){"use strict";(function(t){e.exports={isNode:void 0!==t,newBufferFrom:function(e,n){return new t(e,n)},allocBuffer:function(e){return t.alloc?t.alloc(e):new t(e)},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}}).call(this,n(150).Buffer)},function(e,t,n){var r=n(150),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";(function(t){!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick(function(){e.apply(null,o)})}}}:e.exports=t}).call(this,n(151))},function(e,t,n){(function(e,r){var i;
/**
* @license
* Lodash <https://lodash.com/>
* Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/(function(){var o,s=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",u="__lodash_hash_undefined__",c=500,h="__lodash_placeholder__",d=1,f=2,p=4,g=1,m=2,v=1,y=2,b=4,w=8,x=16,C=32,k=64,A=128,E=256,_=512,S=30,F="...",D=800,T=16,B=1,L=2,M=1/0,O=9007199254740991,P=1.7976931348623157e308,R=NaN,j=4294967295,I=j-1,N=j>>>1,$=[["ary",A],["bind",v],["bindKey",y],["curry",w],["curryRight",x],["flip",_],["partial",C],["partialRight",k],["rearg",E]],W="[object Arguments]",H="[object Array]",z="[object AsyncFunction]",U="[object Boolean]",V="[object Date]",G="[object DOMException]",K="[object Error]",q="[object Function]",Y="[object GeneratorFunction]",X="[object Map]",Z="[object Number]",J="[object Null]",Q="[object Object]",ee="[object Proxy]",te="[object RegExp]",ne="[object Set]",re="[object String]",ie="[object Symbol]",oe="[object Undefined]",se="[object WeakMap]",ae="[object WeakSet]",le="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",he="[object Float64Array]",de="[object Int8Array]",fe="[object Int16Array]",pe="[object Int32Array]",ge="[object Uint8Array]",me="[object Uint8ClampedArray]",ve="[object Uint16Array]",ye="[object Uint32Array]",be=/\b__p \+= '';/g,we=/\b(__p \+=) '' \+/g,xe=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ce=/&(?:amp|lt|gt|quot|#39);/g,ke=/[&<>"']/g,Ae=RegExp(Ce.source),Ee=RegExp(ke.source),_e=/<%-([\s\S]+?)%>/g,Se=/<%([\s\S]+?)%>/g,Fe=/<%=([\s\S]+?)%>/g,De=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Te=/^\w*$/,Be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,Me=RegExp(Le.source),Oe=/^\s+|\s+$/g,Pe=/^\s+/,Re=/\s+$/,je=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ie=/\{\n\/\* \[wrapped with (.+)\] \*/,Ne=/,? & /,$e=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,We=/\\(\\)?/g,He=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ze=/\w*$/,Ue=/^[-+]0x[0-9a-f]+$/i,Ve=/^0b[01]+$/i,Ge=/^\[object .+?Constructor\]$/,Ke=/^0o[0-7]+$/i,qe=/^(?:0|[1-9]\d*)$/,Ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xe=/($^)/,Ze=/['\n\r\u2028\u2029\\]/g,Je="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="[\\ud800-\\udfff]",tt="["+Qe+"]",nt="["+Je+"]",rt="\\d+",it="[\\u2700-\\u27bf]",ot="[a-z\\xdf-\\xf6\\xf8-\\xff]",st="[^\\ud800-\\udfff"+Qe+rt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",at="\\ud83c[\\udffb-\\udfff]",lt="[^\\ud800-\\udfff]",ut="(?:\\ud83c[\\udde6-\\uddff]){2}",ct="[\\ud800-\\udbff][\\udc00-\\udfff]",ht="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+ot+"|"+st+")",ft="(?:"+ht+"|"+st+")",pt="(?:"+nt+"|"+at+")"+"?",gt="[\\ufe0e\\ufe0f]?"+pt+("(?:\\u200d(?:"+[lt,ut,ct].join("|")+")[\\ufe0e\\ufe0f]?"+pt+")*"),mt="(?:"+[it,ut,ct].join("|")+")"+gt,vt="(?:"+[lt+nt+"?",nt,ut,ct,et].join("|")+")",yt=RegExp("[']","g"),bt=RegExp(nt,"g"),wt=RegExp(at+"(?="+at+")|"+vt+gt,"g"),xt=RegExp([ht+"?"+ot+"+(?:['](?:d|ll|m|re|s|t|ve))?(?="+[tt,ht,"$"].join("|")+")",ft+"+(?:['](?:D|LL|M|RE|S|T|VE))?(?="+[tt,ht+dt,"$"].join("|")+")",ht+"?"+dt+"+(?:['](?:d|ll|m|re|s|t|ve))?",ht+"+(?:['](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rt,mt].join("|"),"g"),Ct=RegExp("[\\u200d\\ud800-\\udfff"+Je+"\\ufe0e\\ufe0f]"),kt=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,At=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Et=-1,_t={};_t[ce]=_t[he]=_t[de]=_t[fe]=_t[pe]=_t[ge]=_t[me]=_t[ve]=_t[ye]=!0,_t[W]=_t[H]=_t[le]=_t[U]=_t[ue]=_t[V]=_t[K]=_t[q]=_t[X]=_t[Z]=_t[Q]=_t[te]=_t[ne]=_t[re]=_t[se]=!1;var St={};St[W]=St[H]=St[le]=St[ue]=St[U]=St[V]=St[ce]=St[he]=St[de]=St[fe]=St[pe]=St[X]=St[Z]=St[Q]=St[te]=St[ne]=St[re]=St[ie]=St[ge]=St[me]=St[ve]=St[ye]=!0,St[K]=St[q]=St[se]=!1;var Ft={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Dt=parseFloat,Tt=parseInt,Bt="object"==typeof e&&e&&e.Object===Object&&e,Lt="object"==typeof self&&self&&self.Object===Object&&self,Mt=Bt||Lt||Function("return this")(),Ot="object"==typeof t&&t&&!t.nodeType&&t,Pt=Ot&&"object"==typeof r&&r&&!r.nodeType&&r,Rt=Pt&&Pt.exports===Ot,jt=Rt&&Bt.process,It=function(){try{var e=Pt&&Pt.require&&Pt.require("util").types;return e||jt&&jt.binding&&jt.binding("util")}catch(e){}}(),Nt=It&&It.isArrayBuffer,$t=It&&It.isDate,Wt=It&&It.isMap,Ht=It&&It.isRegExp,zt=It&&It.isSet,Ut=It&&It.isTypedArray;function Vt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Gt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var s=e[i];t(r,s,n(s),e)}return r}function Kt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function qt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Yt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Xt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function Zt(e,t){return!!(null==e?0:e.length)&&ln(e,t,0)>-1}function Jt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Qt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function en(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function tn(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function nn(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function rn(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var on=dn("length");function sn(e,t,n){var r;return n(e,function(e,n,i){if(t(e,n,i))return r=n,!1}),r}function an(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function ln(e,t,n){return t==t?function(e,t,n){var r=n-1,i=e.length;for(;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):an(e,cn,n)}function un(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function cn(e){return e!=e}function hn(e,t){var n=null==e?0:e.length;return n?gn(e,t)/n:R}function dn(e){return function(t){return null==t?o:t[e]}}function fn(e){return function(t){return null==e?o:e[t]}}function pn(e,t,n,r,i){return i(e,function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)}),n}function gn(e,t){for(var n,r=-1,i=e.length;++r<i;){var s=t(e[r]);s!==o&&(n=n===o?s:n+s)}return n}function mn(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function vn(e){return function(t){return e(t)}}function yn(e,t){return Qt(t,function(t){return e[t]})}function bn(e,t){return e.has(t)}function wn(e,t){for(var n=-1,r=e.length;++n<r&&ln(t,e[n],0)>-1;);return n}function xn(e,t){for(var n=e.length;n--&&ln(t,e[n],0)>-1;);return n}var Cn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),kn=fn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function An(e){return"\\"+Ft[e]}function En(e){return Ct.test(e)}function _n(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Sn(e,t){return function(n){return e(t(n))}}function Fn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n];s!==t&&s!==h||(e[n]=h,o[i++]=n)}return o}function Dn(e,t){return"__proto__"==t?o:e[t]}function Tn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function Bn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function Ln(e){return En(e)?function(e){var t=wt.lastIndex=0;for(;wt.test(e);)++t;return t}(e):on(e)}function Mn(e){return En(e)?function(e){return e.match(wt)||[]}(e):function(e){return e.split("")}(e)}var On=fn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var Pn=function e(t){var n,r=(t=null==t?Mt:Pn.defaults(Mt.Object(),t,Pn.pick(Mt,At))).Array,i=t.Date,Je=t.Error,Qe=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,rt=t.String,it=t.TypeError,ot=r.prototype,st=Qe.prototype,at=tt.prototype,lt=t["__core-js_shared__"],ut=st.toString,ct=at.hasOwnProperty,ht=0,dt=(n=/[^.]+$/.exec(lt&&lt.keys&&lt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ft=at.toString,pt=ut.call(tt),gt=Mt._,mt=nt("^"+ut.call(ct).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vt=Rt?t.Buffer:o,wt=t.Symbol,Ct=t.Uint8Array,Ft=vt?vt.allocUnsafe:o,Bt=Sn(tt.getPrototypeOf,tt),Lt=tt.create,Ot=at.propertyIsEnumerable,Pt=ot.splice,jt=wt?wt.isConcatSpreadable:o,It=wt?wt.iterator:o,on=wt?wt.toStringTag:o,fn=function(){try{var e=$o(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Rn=t.clearTimeout!==Mt.clearTimeout&&t.clearTimeout,jn=i&&i.now!==Mt.Date.now&&i.now,In=t.setTimeout!==Mt.setTimeout&&t.setTimeout,Nn=et.ceil,$n=et.floor,Wn=tt.getOwnPropertySymbols,Hn=vt?vt.isBuffer:o,zn=t.isFinite,Un=ot.join,Vn=Sn(tt.keys,tt),Gn=et.max,Kn=et.min,qn=i.now,Yn=t.parseInt,Xn=et.random,Zn=ot.reverse,Jn=$o(t,"DataView"),Qn=$o(t,"Map"),er=$o(t,"Promise"),tr=$o(t,"Set"),nr=$o(t,"WeakMap"),rr=$o(tt,"create"),ir=nr&&new nr,or={},sr=hs(Jn),ar=hs(Qn),lr=hs(er),ur=hs(tr),cr=hs(nr),hr=wt?wt.prototype:o,dr=hr?hr.valueOf:o,fr=hr?hr.toString:o;function pr(e){if(Fa(e)&&!va(e)&&!(e instanceof yr)){if(e instanceof vr)return e;if(ct.call(e,"__wrapped__"))return ds(e)}return new vr(e)}var gr=function(){function e(){}return function(t){if(!Sa(t))return{};if(Lt)return Lt(t);e.prototype=t;var n=new e;return e.prototype=o,n}}();function mr(){}function vr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}function yr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=j,this.__views__=[]}function br(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function wr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Cr(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new xr;++t<n;)this.add(e[t])}function kr(e){var t=this.__data__=new wr(e);this.size=t.size}function Ar(e,t){var n=va(e),r=!n&&ma(e),i=!n&&!r&&xa(e),o=!n&&!r&&!i&&Ra(e),s=n||r||i||o,a=s?mn(e.length,rt):[],l=a.length;for(var u in e)!t&&!ct.call(e,u)||s&&("length"==u||i&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Ko(u,l))||a.push(u);return a}function Er(e){var t=e.length;return t?e[Ci(0,t-1)]:o}function _r(e,t){return ls(ro(e),Pr(t,0,e.length))}function Sr(e){return ls(ro(e))}function Fr(e,t,n){(n===o||fa(e[t],n))&&(n!==o||t in e)||Mr(e,t,n)}function Dr(e,t,n){var r=e[t];ct.call(e,t)&&fa(r,n)&&(n!==o||t in e)||Mr(e,t,n)}function Tr(e,t){for(var n=e.length;n--;)if(fa(e[n][0],t))return n;return-1}function Br(e,t,n,r){return $r(e,function(e,i,o){t(r,e,n(e),o)}),r}function Lr(e,t){return e&&io(t,il(t),e)}function Mr(e,t,n){"__proto__"==t&&fn?fn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Or(e,t){for(var n=-1,i=t.length,s=r(i),a=null==e;++n<i;)s[n]=a?o:Qa(e,t[n]);return s}function Pr(e,t,n){return e==e&&(n!==o&&(e=e<=n?e:n),t!==o&&(e=e>=t?e:t)),e}function Rr(e,t,n,r,i,s){var a,l=t&d,u=t&f,c=t&p;if(n&&(a=i?n(e,r,i,s):n(e)),a!==o)return a;if(!Sa(e))return e;var h=va(e);if(h){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return ro(e,a)}else{var g=zo(e),m=g==q||g==Y;if(xa(e))return Zi(e,l);if(g==Q||g==W||m&&!i){if(a=u||m?{}:Vo(e),!l)return u?function(e,t){return io(e,Ho(e),t)}(e,function(e,t){return e&&io(t,ol(t),e)}(a,e)):function(e,t){return io(e,Wo(e),t)}(e,Lr(a,e))}else{if(!St[g])return i?e:{};a=function(e,t,n){var r,i,o,s=e.constructor;switch(t){case le:return Ji(e);case U:case V:return new s(+e);case ue:return function(e,t){var n=t?Ji(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case ce:case he:case de:case fe:case pe:case ge:case me:case ve:case ye:return Qi(e,n);case X:return new s;case Z:case re:return new s(e);case te:return(o=new(i=e).constructor(i.source,ze.exec(i))).lastIndex=i.lastIndex,o;case ne:return new s;case ie:return r=e,dr?tt(dr.call(r)):{}}}(e,g,l)}}s||(s=new kr);var v=s.get(e);if(v)return v;if(s.set(e,a),Ma(e))return e.forEach(function(r){a.add(Rr(r,t,n,r,e,s))}),a;if(Da(e))return e.forEach(function(r,i){a.set(i,Rr(r,t,n,i,e,s))}),a;var y=h?o:(c?u?Mo:Lo:u?ol:il)(e);return Kt(y||e,function(r,i){y&&(r=e[i=r]),Dr(a,i,Rr(r,t,n,i,e,s))}),a}function jr(e,t,n){var r=n.length;if(null==e)return!r;for(e=tt(e);r--;){var i=n[r],s=t[i],a=e[i];if(a===o&&!(i in e)||!s(a))return!1}return!0}function Ir(e,t,n){if("function"!=typeof e)throw new it(l);return is(function(){e.apply(o,n)},t)}function Nr(e,t,n,r){var i=-1,o=Zt,a=!0,l=e.length,u=[],c=t.length;if(!l)return u;n&&(t=Qt(t,vn(n))),r?(o=Jt,a=!1):t.length>=s&&(o=bn,a=!1,t=new Cr(t));e:for(;++i<l;){var h=e[i],d=null==n?h:n(h);if(h=r||0!==h?h:0,a&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;u.push(h)}else o(t,d,r)||u.push(h)}return u}pr.templateSettings={escape:_e,evaluate:Se,interpolate:Fe,variable:"",imports:{_:pr}},pr.prototype=mr.prototype,pr.prototype.constructor=pr,vr.prototype=gr(mr.prototype),vr.prototype.constructor=vr,yr.prototype=gr(mr.prototype),yr.prototype.constructor=yr,br.prototype.clear=function(){this.__data__=rr?rr(null):{},this.size=0},br.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},br.prototype.get=function(e){var t=this.__data__;if(rr){var n=t[e];return n===u?o:n}return ct.call(t,e)?t[e]:o},br.prototype.has=function(e){var t=this.__data__;return rr?t[e]!==o:ct.call(t,e)},br.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=rr&&t===o?u:t,this},wr.prototype.clear=function(){this.__data__=[],this.size=0},wr.prototype.delete=function(e){var t=this.__data__,n=Tr(t,e);return!(n<0||(n==t.length-1?t.pop():Pt.call(t,n,1),--this.size,0))},wr.prototype.get=function(e){var t=this.__data__,n=Tr(t,e);return n<0?o:t[n][1]},wr.prototype.has=function(e){return Tr(this.__data__,e)>-1},wr.prototype.set=function(e,t){var n=this.__data__,r=Tr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},xr.prototype.clear=function(){this.size=0,this.__data__={hash:new br,map:new(Qn||wr),string:new br}},xr.prototype.delete=function(e){var t=Io(this,e).delete(e);return this.size-=t?1:0,t},xr.prototype.get=function(e){return Io(this,e).get(e)},xr.prototype.has=function(e){return Io(this,e).has(e)},xr.prototype.set=function(e,t){var n=Io(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Cr.prototype.add=Cr.prototype.push=function(e){return this.__data__.set(e,u),this},Cr.prototype.has=function(e){return this.__data__.has(e)},kr.prototype.clear=function(){this.__data__=new wr,this.size=0},kr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},kr.prototype.get=function(e){return this.__data__.get(e)},kr.prototype.has=function(e){return this.__data__.has(e)},kr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof wr){var r=n.__data__;if(!Qn||r.length<s-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new xr(r)}return n.set(e,t),this.size=n.size,this};var $r=ao(qr),Wr=ao(Yr,!0);function Hr(e,t){var n=!0;return $r(e,function(e,r,i){return n=!!t(e,r,i)}),n}function zr(e,t,n){for(var r=-1,i=e.length;++r<i;){var s=e[r],a=t(s);if(null!=a&&(l===o?a==a&&!Pa(a):n(a,l)))var l=a,u=s}return u}function Ur(e,t){var n=[];return $r(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function Vr(e,t,n,r,i){var o=-1,s=e.length;for(n||(n=Go),i||(i=[]);++o<s;){var a=e[o];t>0&&n(a)?t>1?Vr(a,t-1,n,r,i):en(i,a):r||(i[i.length]=a)}return i}var Gr=lo(),Kr=lo(!0);function qr(e,t){return e&&Gr(e,t,il)}function Yr(e,t){return e&&Kr(e,t,il)}function Xr(e,t){return Xt(t,function(t){return Aa(e[t])})}function Zr(e,t){for(var n=0,r=(t=Ki(t,e)).length;null!=e&&n<r;)e=e[cs(t[n++])];return n&&n==r?e:o}function Jr(e,t,n){var r=t(e);return va(e)?r:en(r,n(e))}function Qr(e){return null==e?e===o?oe:J:on&&on in tt(e)?function(e){var t=ct.call(e,on),n=e[on];try{e[on]=o;var r=!0}catch(e){}var i=ft.call(e);return r&&(t?e[on]=n:delete e[on]),i}(e):function(e){return ft.call(e)}(e)}function ei(e,t){return e>t}function ti(e,t){return null!=e&&ct.call(e,t)}function ni(e,t){return null!=e&&t in tt(e)}function ri(e,t,n){for(var i=n?Jt:Zt,s=e[0].length,a=e.length,l=a,u=r(a),c=1/0,h=[];l--;){var d=e[l];l&&t&&(d=Qt(d,vn(t))),c=Kn(d.length,c),u[l]=!n&&(t||s>=120&&d.length>=120)?new Cr(l&&d):o}d=e[0];var f=-1,p=u[0];e:for(;++f<s&&h.length<c;){var g=d[f],m=t?t(g):g;if(g=n||0!==g?g:0,!(p?bn(p,m):i(h,m,n))){for(l=a;--l;){var v=u[l];if(!(v?bn(v,m):i(e[l],m,n)))continue e}p&&p.push(m),h.push(g)}}return h}function ii(e,t,n){var r=null==(e=ns(e,t=Ki(t,e)))?e:e[cs(ks(t))];return null==r?o:Vt(r,e,n)}function oi(e){return Fa(e)&&Qr(e)==W}function si(e,t,n,r,i){return e===t||(null==e||null==t||!Fa(e)&&!Fa(t)?e!=e&&t!=t:function(e,t,n,r,i,s){var a=va(e),l=va(t),u=a?H:zo(e),c=l?H:zo(t),h=(u=u==W?Q:u)==Q,d=(c=c==W?Q:c)==Q,f=u==c;if(f&&xa(e)){if(!xa(t))return!1;a=!0,h=!1}if(f&&!h)return s||(s=new kr),a||Ra(e)?To(e,t,n,r,i,s):function(e,t,n,r,i,o,s){switch(n){case ue:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case le:return!(e.byteLength!=t.byteLength||!o(new Ct(e),new Ct(t)));case U:case V:case Z:return fa(+e,+t);case K:return e.name==t.name&&e.message==t.message;case te:case re:return e==t+"";case X:var a=_n;case ne:var l=r&g;if(a||(a=Tn),e.size!=t.size&&!l)return!1;var u=s.get(e);if(u)return u==t;r|=m,s.set(e,t);var c=To(a(e),a(t),r,i,o,s);return s.delete(e),c;case ie:if(dr)return dr.call(e)==dr.call(t)}return!1}(e,t,u,n,r,i,s);if(!(n&g)){var p=h&&ct.call(e,"__wrapped__"),v=d&&ct.call(t,"__wrapped__");if(p||v){var y=p?e.value():e,b=v?t.value():t;return s||(s=new kr),i(y,b,n,r,s)}}return!!f&&(s||(s=new kr),function(e,t,n,r,i,s){var a=n&g,l=Lo(e),u=l.length,c=Lo(t).length;if(u!=c&&!a)return!1;for(var h=u;h--;){var d=l[h];if(!(a?d in t:ct.call(t,d)))return!1}var f=s.get(e);if(f&&s.get(t))return f==t;var p=!0;s.set(e,t),s.set(t,e);for(var m=a;++h<u;){d=l[h];var v=e[d],y=t[d];if(r)var b=a?r(y,v,d,t,e,s):r(v,y,d,e,t,s);if(!(b===o?v===y||i(v,y,n,r,s):b)){p=!1;break}m||(m="constructor"==d)}if(p&&!m){var w=e.constructor,x=t.constructor;w!=x&&"constructor"in e&&"constructor"in t&&!("function"==typeof w&&w instanceof w&&"function"==typeof x&&x instanceof x)&&(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,r,i,s))}(e,t,n,r,si,i))}function ai(e,t,n,r){var i=n.length,s=i,a=!r;if(null==e)return!s;for(e=tt(e);i--;){var l=n[i];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<s;){var u=(l=n[i])[0],c=e[u],h=l[1];if(a&&l[2]){if(c===o&&!(u in e))return!1}else{var d=new kr;if(r)var f=r(c,h,u,e,t,d);if(!(f===o?si(h,c,g|m,r,d):f))return!1}}return!0}function li(e){return!(!Sa(e)||dt&&dt in e)&&(Aa(e)?mt:Ge).test(hs(e))}function ui(e){return"function"==typeof e?e:null==e?Tl:"object"==typeof e?va(e)?gi(e[0],e[1]):pi(e):Nl(e)}function ci(e){if(!Jo(e))return Vn(e);var t=[];for(var n in tt(e))ct.call(e,n)&&"constructor"!=n&&t.push(n);return t}function hi(e){if(!Sa(e))return function(e){var t=[];if(null!=e)for(var n in tt(e))t.push(n);return t}(e);var t=Jo(e),n=[];for(var r in e)("constructor"!=r||!t&&ct.call(e,r))&&n.push(r);return n}function di(e,t){return e<t}function fi(e,t){var n=-1,i=ba(e)?r(e.length):[];return $r(e,function(e,r,o){i[++n]=t(e,r,o)}),i}function pi(e){var t=No(e);return 1==t.length&&t[0][2]?es(t[0][0],t[0][1]):function(n){return n===e||ai(n,e,t)}}function gi(e,t){return Yo(e)&&Qo(t)?es(cs(e),t):function(n){var r=Qa(n,e);return r===o&&r===t?el(n,e):si(t,r,g|m)}}function mi(e,t,n,r,i){e!==t&&Gr(t,function(s,a){if(Sa(s))i||(i=new kr),function(e,t,n,r,i,s,a){var l=Dn(e,n),u=Dn(t,n),c=a.get(u);if(c)Fr(e,n,c);else{var h=s?s(l,u,n+"",e,t,a):o,d=h===o;if(d){var f=va(u),p=!f&&xa(u),g=!f&&!p&&Ra(u);h=u,f||p||g?va(l)?h=l:wa(l)?h=ro(l):p?(d=!1,h=Zi(u,!0)):g?(d=!1,h=Qi(u,!0)):h=[]:Ba(u)||ma(u)?(h=l,ma(l)?h=Ua(l):(!Sa(l)||r&&Aa(l))&&(h=Vo(u))):d=!1}d&&(a.set(u,h),i(h,u,r,s,a),a.delete(u)),Fr(e,n,h)}}(e,t,a,n,mi,r,i);else{var l=r?r(Dn(e,a),s,a+"",e,t,i):o;l===o&&(l=s),Fr(e,a,l)}},ol)}function vi(e,t){var n=e.length;if(n)return Ko(t+=t<0?n:0,n)?e[t]:o}function yi(e,t,n){var r=-1;return t=Qt(t.length?t:[Tl],vn(jo())),function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(fi(e,function(e,n,i){return{criteria:Qt(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,s=i.length,a=n.length;++r<s;){var l=eo(i[r],o[r]);if(l){if(r>=a)return l;var u=n[r];return l*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)})}function bi(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var s=t[r],a=Zr(e,s);n(a,s)&&Si(o,Ki(s,e),a)}return o}function wi(e,t,n,r){var i=r?un:ln,o=-1,s=t.length,a=e;for(e===t&&(t=ro(t)),n&&(a=Qt(e,vn(n)));++o<s;)for(var l=0,u=t[o],c=n?n(u):u;(l=i(a,c,l,r))>-1;)a!==e&&Pt.call(a,l,1),Pt.call(e,l,1);return e}function xi(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;Ko(i)?Pt.call(e,i,1):Ni(e,i)}}return e}function Ci(e,t){return e+$n(Xn()*(t-e+1))}function ki(e,t){var n="";if(!e||t<1||t>O)return n;do{t%2&&(n+=e),(t=$n(t/2))&&(e+=e)}while(t);return n}function Ai(e,t){return os(ts(e,t,Tl),e+"")}function Ei(e){return Er(fl(e))}function _i(e,t){var n=fl(e);return ls(n,Pr(t,0,n.length))}function Si(e,t,n,r){if(!Sa(e))return e;for(var i=-1,s=(t=Ki(t,e)).length,a=s-1,l=e;null!=l&&++i<s;){var u=cs(t[i]),c=n;if(i!=a){var h=l[u];(c=r?r(h,u,l):o)===o&&(c=Sa(h)?h:Ko(t[i+1])?[]:{})}Dr(l,u,c),l=l[u]}return e}var Fi=ir?function(e,t){return ir.set(e,t),e}:Tl,Di=fn?function(e,t){return fn(e,"toString",{configurable:!0,enumerable:!1,value:Sl(t),writable:!0})}:Tl;function Ti(e){return ls(fl(e))}function Bi(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=r(o);++i<o;)s[i]=e[i+t];return s}function Li(e,t){var n;return $r(e,function(e,r,i){return!(n=t(e,r,i))}),!!n}function Mi(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=N){for(;r<i;){var o=r+i>>>1,s=e[o];null!==s&&!Pa(s)&&(n?s<=t:s<t)?r=o+1:i=o}return i}return Oi(e,t,Tl,n)}function Oi(e,t,n,r){t=n(t);for(var i=0,s=null==e?0:e.length,a=t!=t,l=null===t,u=Pa(t),c=t===o;i<s;){var h=$n((i+s)/2),d=n(e[h]),f=d!==o,p=null===d,g=d==d,m=Pa(d);if(a)var v=r||g;else v=c?g&&(r||f):l?g&&f&&(r||!p):u?g&&f&&!p&&(r||!m):!p&&!m&&(r?d<=t:d<t);v?i=h+1:s=h}return Kn(s,I)}function Pi(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n],a=t?t(s):s;if(!n||!fa(a,l)){var l=a;o[i++]=0===s?0:s}}return o}function Ri(e){return"number"==typeof e?e:Pa(e)?R:+e}function ji(e){if("string"==typeof e)return e;if(va(e))return Qt(e,ji)+"";if(Pa(e))return fr?fr.call(e):"";var t=e+"";return"0"==t&&1/e==-M?"-0":t}function Ii(e,t,n){var r=-1,i=Zt,o=e.length,a=!0,l=[],u=l;if(n)a=!1,i=Jt;else if(o>=s){var c=t?null:Ao(e);if(c)return Tn(c);a=!1,i=bn,u=new Cr}else u=t?[]:l;e:for(;++r<o;){var h=e[r],d=t?t(h):h;if(h=n||0!==h?h:0,a&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),l.push(h)}else i(u,d,n)||(u!==l&&u.push(d),l.push(h))}return l}function Ni(e,t){return null==(e=ns(e,t=Ki(t,e)))||delete e[cs(ks(t))]}function $i(e,t,n,r){return Si(e,t,n(Zr(e,t)),r)}function Wi(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?Bi(e,r?0:o,r?o+1:i):Bi(e,r?o+1:0,r?i:o)}function Hi(e,t){var n=e;return n instanceof yr&&(n=n.value()),tn(t,function(e,t){return t.func.apply(t.thisArg,en([e],t.args))},n)}function zi(e,t,n){var i=e.length;if(i<2)return i?Ii(e[0]):[];for(var o=-1,s=r(i);++o<i;)for(var a=e[o],l=-1;++l<i;)l!=o&&(s[o]=Nr(s[o]||a,e[l],t,n));return Ii(Vr(s,1),t,n)}function Ui(e,t,n){for(var r=-1,i=e.length,s=t.length,a={};++r<i;){var l=r<s?t[r]:o;n(a,e[r],l)}return a}function Vi(e){return wa(e)?e:[]}function Gi(e){return"function"==typeof e?e:Tl}function Ki(e,t){return va(e)?e:Yo(e,t)?[e]:us(Va(e))}var qi=Ai;function Yi(e,t,n){var r=e.length;return n=n===o?r:n,!t&&n>=r?e:Bi(e,t,n)}var Xi=Rn||function(e){return Mt.clearTimeout(e)};function Zi(e,t){if(t)return e.slice();var n=e.length,r=Ft?Ft(n):new e.constructor(n);return e.copy(r),r}function Ji(e){var t=new e.constructor(e.byteLength);return new Ct(t).set(new Ct(e)),t}function Qi(e,t){var n=t?Ji(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function eo(e,t){if(e!==t){var n=e!==o,r=null===e,i=e==e,s=Pa(e),a=t!==o,l=null===t,u=t==t,c=Pa(t);if(!l&&!c&&!s&&e>t||s&&a&&u&&!l&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!s&&!c&&e<t||c&&n&&i&&!r&&!s||l&&n&&i||!a&&i||!u)return-1}return 0}function to(e,t,n,i){for(var o=-1,s=e.length,a=n.length,l=-1,u=t.length,c=Gn(s-a,0),h=r(u+c),d=!i;++l<u;)h[l]=t[l];for(;++o<a;)(d||o<s)&&(h[n[o]]=e[o]);for(;c--;)h[l++]=e[o++];return h}function no(e,t,n,i){for(var o=-1,s=e.length,a=-1,l=n.length,u=-1,c=t.length,h=Gn(s-l,0),d=r(h+c),f=!i;++o<h;)d[o]=e[o];for(var p=o;++u<c;)d[p+u]=t[u];for(;++a<l;)(f||o<s)&&(d[p+n[a]]=e[o++]);return d}function ro(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function io(e,t,n,r){var i=!n;n||(n={});for(var s=-1,a=t.length;++s<a;){var l=t[s],u=r?r(n[l],e[l],l,n,e):o;u===o&&(u=e[l]),i?Mr(n,l,u):Dr(n,l,u)}return n}function oo(e,t){return function(n,r){var i=va(n)?Gt:Br,o=t?t():{};return i(n,e,jo(r,2),o)}}function so(e){return Ai(function(t,n){var r=-1,i=n.length,s=i>1?n[i-1]:o,a=i>2?n[2]:o;for(s=e.length>3&&"function"==typeof s?(i--,s):o,a&&qo(n[0],n[1],a)&&(s=i<3?o:s,i=1),t=tt(t);++r<i;){var l=n[r];l&&e(t,l,r,s)}return t})}function ao(e,t){return function(n,r){if(null==n)return n;if(!ba(n))return e(n,r);for(var i=n.length,o=t?i:-1,s=tt(n);(t?o--:++o<i)&&!1!==r(s[o],o,s););return n}}function lo(e){return function(t,n,r){for(var i=-1,o=tt(t),s=r(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===n(o[l],l,o))break}return t}}function uo(e){return function(t){var n=En(t=Va(t))?Mn(t):o,r=n?n[0]:t.charAt(0),i=n?Yi(n,1).join(""):t.slice(1);return r[e]()+i}}function co(e){return function(t){return tn(Al(ml(t).replace(yt,"")),e,"")}}function ho(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=gr(e.prototype),r=e.apply(n,t);return Sa(r)?r:n}}function fo(e){return function(t,n,r){var i=tt(t);if(!ba(t)){var s=jo(n,3);t=il(t),n=function(e){return s(i[e],e,i)}}var a=e(t,n,r);return a>-1?i[s?t[a]:a]:o}}function po(e){return Bo(function(t){var n=t.length,r=n,i=vr.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new it(l);if(i&&!a&&"wrapper"==Po(s))var a=new vr([],!0)}for(r=a?r:n;++r<n;){var u=Po(s=t[r]),c="wrapper"==u?Oo(s):o;a=c&&Xo(c[0])&&c[1]==(A|w|C|E)&&!c[4].length&&1==c[9]?a[Po(c[0])].apply(a,c[3]):1==s.length&&Xo(s)?a[u]():a.thru(s)}return function(){var e=arguments,r=e[0];if(a&&1==e.length&&va(r))return a.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}})}function go(e,t,n,i,s,a,l,u,c,h){var d=t&A,f=t&v,p=t&y,g=t&(w|x),m=t&_,b=p?o:ho(e);return function v(){for(var y=arguments.length,w=r(y),x=y;x--;)w[x]=arguments[x];if(g)var C=Ro(v),k=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(w,C);if(i&&(w=to(w,i,s,g)),a&&(w=no(w,a,l,g)),y-=k,g&&y<h){var A=Fn(w,C);return Co(e,t,go,v.placeholder,n,w,A,u,c,h-y)}var E=f?n:this,_=p?E[e]:e;return y=w.length,u?w=function(e,t){for(var n=e.length,r=Kn(t.length,n),i=ro(e);r--;){var s=t[r];e[r]=Ko(s,n)?i[s]:o}return e}(w,u):m&&y>1&&w.reverse(),d&&c<y&&(w.length=c),this&&this!==Mt&&this instanceof v&&(_=b||ho(_)),_.apply(E,w)}}function mo(e,t){return function(n,r){return function(e,t,n,r){return qr(e,function(e,i,o){t(r,n(e),i,o)}),r}(n,e,t(r),{})}}function vo(e,t){return function(n,r){var i;if(n===o&&r===o)return t;if(n!==o&&(i=n),r!==o){if(i===o)return r;"string"==typeof n||"string"==typeof r?(n=ji(n),r=ji(r)):(n=Ri(n),r=Ri(r)),i=e(n,r)}return i}}function yo(e){return Bo(function(t){return t=Qt(t,vn(jo())),Ai(function(n){var r=this;return e(t,function(e){return Vt(e,r,n)})})})}function bo(e,t){var n=(t=t===o?" ":ji(t)).length;if(n<2)return n?ki(t,e):t;var r=ki(t,Nn(e/Ln(t)));return En(t)?Yi(Mn(r),0,e).join(""):r.slice(0,e)}function wo(e){return function(t,n,i){return i&&"number"!=typeof i&&qo(t,n,i)&&(n=i=o),t=$a(t),n===o?(n=t,t=0):n=$a(n),function(e,t,n,i){for(var o=-1,s=Gn(Nn((t-e)/(n||1)),0),a=r(s);s--;)a[i?s:++o]=e,e+=n;return a}(t,n,i=i===o?t<n?1:-1:$a(i),e)}}function xo(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=za(t),n=za(n)),e(t,n)}}function Co(e,t,n,r,i,s,a,l,u,c){var h=t&w;t|=h?C:k,(t&=~(h?k:C))&b||(t&=~(v|y));var d=[e,t,i,h?s:o,h?a:o,h?o:s,h?o:a,l,u,c],f=n.apply(o,d);return Xo(e)&&rs(f,d),f.placeholder=r,ss(f,e,t)}function ko(e){var t=et[e];return function(e,n){if(e=za(e),n=null==n?0:Kn(Wa(n),292)){var r=(Va(e)+"e").split("e");return+((r=(Va(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var Ao=tr&&1/Tn(new tr([,-0]))[1]==M?function(e){return new tr(e)}:Pl;function Eo(e){return function(t){var n=zo(t);return n==X?_n(t):n==ne?Bn(t):function(e,t){return Qt(t,function(t){return[t,e[t]]})}(t,e(t))}}function _o(e,t,n,i,s,a,u,c){var d=t&y;if(!d&&"function"!=typeof e)throw new it(l);var f=i?i.length:0;if(f||(t&=~(C|k),i=s=o),u=u===o?u:Gn(Wa(u),0),c=c===o?c:Wa(c),f-=s?s.length:0,t&k){var p=i,g=s;i=s=o}var m=d?o:Oo(e),_=[e,t,n,i,s,p,g,a,u,c];if(m&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<(v|y|A),s=r==A&&n==w||r==A&&n==E&&e[7].length<=t[8]||r==(A|E)&&t[7].length<=t[8]&&n==w;if(!o&&!s)return e;r&v&&(e[2]=t[2],i|=n&v?0:b);var a=t[3];if(a){var l=e[3];e[3]=l?to(l,a,t[4]):a,e[4]=l?Fn(e[3],h):t[4]}(a=t[5])&&(l=e[5],e[5]=l?no(l,a,t[6]):a,e[6]=l?Fn(e[5],h):t[6]),(a=t[7])&&(e[7]=a),r&A&&(e[8]=null==e[8]?t[8]:Kn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(_,m),e=_[0],t=_[1],n=_[2],i=_[3],s=_[4],!(c=_[9]=_[9]===o?d?0:e.length:Gn(_[9]-f,0))&&t&(w|x)&&(t&=~(w|x)),t&&t!=v)S=t==w||t==x?function(e,t,n){var i=ho(e);return function s(){for(var a=arguments.length,l=r(a),u=a,c=Ro(s);u--;)l[u]=arguments[u];var h=a<3&&l[0]!==c&&l[a-1]!==c?[]:Fn(l,c);return(a-=h.length)<n?Co(e,t,go,s.placeholder,o,l,h,o,o,n-a):Vt(this&&this!==Mt&&this instanceof s?i:e,this,l)}}(e,t,c):t!=C&&t!=(v|C)||s.length?go.apply(o,_):function(e,t,n,i){var o=t&v,s=ho(e);return function t(){for(var a=-1,l=arguments.length,u=-1,c=i.length,h=r(c+l),d=this&&this!==Mt&&this instanceof t?s:e;++u<c;)h[u]=i[u];for(;l--;)h[u++]=arguments[++a];return Vt(d,o?n:this,h)}}(e,t,n,i);else var S=function(e,t,n){var r=t&v,i=ho(e);return function t(){return(this&&this!==Mt&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return ss((m?Fi:rs)(S,_),e,t)}function So(e,t,n,r){return e===o||fa(e,at[n])&&!ct.call(r,n)?t:e}function Fo(e,t,n,r,i,s){return Sa(e)&&Sa(t)&&(s.set(t,e),mi(e,t,o,Fo,s),s.delete(t)),e}function Do(e){return Ba(e)?o:e}function To(e,t,n,r,i,s){var a=n&g,l=e.length,u=t.length;if(l!=u&&!(a&&u>l))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var h=-1,d=!0,f=n&m?new Cr:o;for(s.set(e,t),s.set(t,e);++h<l;){var p=e[h],v=t[h];if(r)var y=a?r(v,p,h,t,e,s):r(p,v,h,e,t,s);if(y!==o){if(y)continue;d=!1;break}if(f){if(!rn(t,function(e,t){if(!bn(f,t)&&(p===e||i(p,e,n,r,s)))return f.push(t)})){d=!1;break}}else if(p!==v&&!i(p,v,n,r,s)){d=!1;break}}return s.delete(e),s.delete(t),d}function Bo(e){return os(ts(e,o,ys),e+"")}function Lo(e){return Jr(e,il,Wo)}function Mo(e){return Jr(e,ol,Ho)}var Oo=ir?function(e){return ir.get(e)}:Pl;function Po(e){for(var t=e.name+"",n=or[t],r=ct.call(or,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function Ro(e){return(ct.call(pr,"placeholder")?pr:e).placeholder}function jo(){var e=pr.iteratee||Bl;return e=e===Bl?ui:e,arguments.length?e(arguments[0],arguments[1]):e}function Io(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function No(e){for(var t=il(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Qo(i)]}return t}function $o(e,t){var n=function(e,t){return null==e?o:e[t]}(e,t);return li(n)?n:o}var Wo=Wn?function(e){return null==e?[]:(e=tt(e),Xt(Wn(e),function(t){return Ot.call(e,t)}))}:Hl,Ho=Wn?function(e){for(var t=[];e;)en(t,Wo(e)),e=Bt(e);return t}:Hl,zo=Qr;function Uo(e,t,n){for(var r=-1,i=(t=Ki(t,e)).length,o=!1;++r<i;){var s=cs(t[r]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&_a(i)&&Ko(s,i)&&(va(e)||ma(e))}function Vo(e){return"function"!=typeof e.constructor||Jo(e)?{}:gr(Bt(e))}function Go(e){return va(e)||ma(e)||!!(jt&&e&&e[jt])}function Ko(e,t){var n=typeof e;return!!(t=null==t?O:t)&&("number"==n||"symbol"!=n&&qe.test(e))&&e>-1&&e%1==0&&e<t}function qo(e,t,n){if(!Sa(n))return!1;var r=typeof t;return!!("number"==r?ba(n)&&Ko(t,n.length):"string"==r&&t in n)&&fa(n[t],e)}function Yo(e,t){if(va(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Pa(e))||Te.test(e)||!De.test(e)||null!=t&&e in tt(t)}function Xo(e){var t=Po(e),n=pr[t];if("function"!=typeof n||!(t in yr.prototype))return!1;if(e===n)return!0;var r=Oo(n);return!!r&&e===r[0]}(Jn&&zo(new Jn(new ArrayBuffer(1)))!=ue||Qn&&zo(new Qn)!=X||er&&"[object Promise]"!=zo(er.resolve())||tr&&zo(new tr)!=ne||nr&&zo(new nr)!=se)&&(zo=function(e){var t=Qr(e),n=t==Q?e.constructor:o,r=n?hs(n):"";if(r)switch(r){case sr:return ue;case ar:return X;case lr:return"[object Promise]";case ur:return ne;case cr:return se}return t});var Zo=lt?Aa:zl;function Jo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||at)}function Qo(e){return e==e&&!Sa(e)}function es(e,t){return function(n){return null!=n&&n[e]===t&&(t!==o||e in tt(n))}}function ts(e,t,n){return t=Gn(t===o?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=Gn(i.length-t,0),a=r(s);++o<s;)a[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(a),Vt(e,this,l)}}function ns(e,t){return t.length<2?e:Zr(e,Bi(t,0,-1))}var rs=as(Fi),is=In||function(e,t){return Mt.setTimeout(e,t)},os=as(Di);function ss(e,t,n){var r=t+"";return os(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(je,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Kt($,function(n){var r="_."+n[0];t&n[1]&&!Zt(e,r)&&e.push(r)}),e.sort()}(function(e){var t=e.match(Ie);return t?t[1].split(Ne):[]}(r),n)))}function as(e){var t=0,n=0;return function(){var r=qn(),i=T-(r-n);if(n=r,i>0){if(++t>=D)return arguments[0]}else t=0;return e.apply(o,arguments)}}function ls(e,t){var n=-1,r=e.length,i=r-1;for(t=t===o?r:t;++n<t;){var s=Ci(n,i),a=e[s];e[s]=e[n],e[n]=a}return e.length=t,e}var us=function(e){var t=aa(e,function(e){return n.size===c&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Be,function(e,n,r,i){t.push(r?i.replace(We,"$1"):n||e)}),t});function cs(e){if("string"==typeof e||Pa(e))return e;var t=e+"";return"0"==t&&1/e==-M?"-0":t}function hs(e){if(null!=e){try{return ut.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function ds(e){if(e instanceof yr)return e.clone();var t=new vr(e.__wrapped__,e.__chain__);return t.__actions__=ro(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var fs=Ai(function(e,t){return wa(e)?Nr(e,Vr(t,1,wa,!0)):[]}),ps=Ai(function(e,t){var n=ks(t);return wa(n)&&(n=o),wa(e)?Nr(e,Vr(t,1,wa,!0),jo(n,2)):[]}),gs=Ai(function(e,t){var n=ks(t);return wa(n)&&(n=o),wa(e)?Nr(e,Vr(t,1,wa,!0),o,n):[]});function ms(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:Wa(n);return i<0&&(i=Gn(r+i,0)),an(e,jo(t,3),i)}function vs(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r-1;return n!==o&&(i=Wa(n),i=n<0?Gn(r+i,0):Kn(i,r-1)),an(e,jo(t,3),i,!0)}function ys(e){return null!=e&&e.length?Vr(e,1):[]}function bs(e){return e&&e.length?e[0]:o}var ws=Ai(function(e){var t=Qt(e,Vi);return t.length&&t[0]===e[0]?ri(t):[]}),xs=Ai(function(e){var t=ks(e),n=Qt(e,Vi);return t===ks(n)?t=o:n.pop(),n.length&&n[0]===e[0]?ri(n,jo(t,2)):[]}),Cs=Ai(function(e){var t=ks(e),n=Qt(e,Vi);return(t="function"==typeof t?t:o)&&n.pop(),n.length&&n[0]===e[0]?ri(n,o,t):[]});function ks(e){var t=null==e?0:e.length;return t?e[t-1]:o}var As=Ai(Es);function Es(e,t){return e&&e.length&&t&&t.length?wi(e,t):e}var _s=Bo(function(e,t){var n=null==e?0:e.length,r=Or(e,t);return xi(e,Qt(t,function(e){return Ko(e,n)?+e:e}).sort(eo)),r});function Ss(e){return null==e?e:Zn.call(e)}var Fs=Ai(function(e){return Ii(Vr(e,1,wa,!0))}),Ds=Ai(function(e){var t=ks(e);return wa(t)&&(t=o),Ii(Vr(e,1,wa,!0),jo(t,2))}),Ts=Ai(function(e){var t=ks(e);return t="function"==typeof t?t:o,Ii(Vr(e,1,wa,!0),o,t)});function Bs(e){if(!e||!e.length)return[];var t=0;return e=Xt(e,function(e){if(wa(e))return t=Gn(e.length,t),!0}),mn(t,function(t){return Qt(e,dn(t))})}function Ls(e,t){if(!e||!e.length)return[];var n=Bs(e);return null==t?n:Qt(n,function(e){return Vt(t,o,e)})}var Ms=Ai(function(e,t){return wa(e)?Nr(e,t):[]}),Os=Ai(function(e){return zi(Xt(e,wa))}),Ps=Ai(function(e){var t=ks(e);return wa(t)&&(t=o),zi(Xt(e,wa),jo(t,2))}),Rs=Ai(function(e){var t=ks(e);return t="function"==typeof t?t:o,zi(Xt(e,wa),o,t)}),js=Ai(Bs);var Is=Ai(function(e){var t=e.length,n=t>1?e[t-1]:o;return Ls(e,n="function"==typeof n?(e.pop(),n):o)});function Ns(e){var t=pr(e);return t.__chain__=!0,t}function $s(e,t){return t(e)}var Ws=Bo(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Or(t,e)};return!(t>1||this.__actions__.length)&&r instanceof yr&&Ko(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:$s,args:[i],thisArg:o}),new vr(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(o),e})):this.thru(i)});var Hs=oo(function(e,t,n){ct.call(e,n)?++e[n]:Mr(e,n,1)});var zs=fo(ms),Us=fo(vs);function Vs(e,t){return(va(e)?Kt:$r)(e,jo(t,3))}function Gs(e,t){return(va(e)?qt:Wr)(e,jo(t,3))}var Ks=oo(function(e,t,n){ct.call(e,n)?e[n].push(t):Mr(e,n,[t])});var qs=Ai(function(e,t,n){var i=-1,o="function"==typeof t,s=ba(e)?r(e.length):[];return $r(e,function(e){s[++i]=o?Vt(t,e,n):ii(e,t,n)}),s}),Ys=oo(function(e,t,n){Mr(e,n,t)});function Xs(e,t){return(va(e)?Qt:fi)(e,jo(t,3))}var Zs=oo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Js=Ai(function(e,t){if(null==e)return[];var n=t.length;return n>1&&qo(e,t[0],t[1])?t=[]:n>2&&qo(t[0],t[1],t[2])&&(t=[t[0]]),yi(e,Vr(t,1),[])}),Qs=jn||function(){return Mt.Date.now()};function ea(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,_o(e,A,o,o,o,o,t)}function ta(e,t){var n;if("function"!=typeof t)throw new it(l);return e=Wa(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=o),n}}var na=Ai(function(e,t,n){var r=v;if(n.length){var i=Fn(n,Ro(na));r|=C}return _o(e,r,t,n,i)}),ra=Ai(function(e,t,n){var r=v|y;if(n.length){var i=Fn(n,Ro(ra));r|=C}return _o(t,r,e,n,i)});function ia(e,t,n){var r,i,s,a,u,c,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new it(l);function g(t){var n=r,s=i;return r=i=o,h=t,a=e.apply(s,n)}function m(e){var n=e-c;return c===o||n>=t||n<0||f&&e-h>=s}function v(){var e=Qs();if(m(e))return y(e);u=is(v,function(e){var n=t-(e-c);return f?Kn(n,s-(e-h)):n}(e))}function y(e){return u=o,p&&r?g(e):(r=i=o,a)}function b(){var e=Qs(),n=m(e);if(r=arguments,i=this,c=e,n){if(u===o)return function(e){return h=e,u=is(v,t),d?g(e):a}(c);if(f)return u=is(v,t),g(c)}return u===o&&(u=is(v,t)),a}return t=za(t)||0,Sa(n)&&(d=!!n.leading,s=(f="maxWait"in n)?Gn(za(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){u!==o&&Xi(u),h=0,r=c=i=u=o},b.flush=function(){return u===o?a:y(Qs())},b}var oa=Ai(function(e,t){return Ir(e,1,t)}),sa=Ai(function(e,t,n){return Ir(e,za(t)||0,n)});function aa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new it(l);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(aa.Cache||xr),n}function la(e){if("function"!=typeof e)throw new it(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}aa.Cache=xr;var ua=qi(function(e,t){var n=(t=1==t.length&&va(t[0])?Qt(t[0],vn(jo())):Qt(Vr(t,1),vn(jo()))).length;return Ai(function(r){for(var i=-1,o=Kn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return Vt(e,this,r)})}),ca=Ai(function(e,t){var n=Fn(t,Ro(ca));return _o(e,C,o,t,n)}),ha=Ai(function(e,t){var n=Fn(t,Ro(ha));return _o(e,k,o,t,n)}),da=Bo(function(e,t){return _o(e,E,o,o,o,t)});function fa(e,t){return e===t||e!=e&&t!=t}var pa=xo(ei),ga=xo(function(e,t){return e>=t}),ma=oi(function(){return arguments}())?oi:function(e){return Fa(e)&&ct.call(e,"callee")&&!Ot.call(e,"callee")},va=r.isArray,ya=Nt?vn(Nt):function(e){return Fa(e)&&Qr(e)==le};function ba(e){return null!=e&&_a(e.length)&&!Aa(e)}function wa(e){return Fa(e)&&ba(e)}var xa=Hn||zl,Ca=$t?vn($t):function(e){return Fa(e)&&Qr(e)==V};function ka(e){if(!Fa(e))return!1;var t=Qr(e);return t==K||t==G||"string"==typeof e.message&&"string"==typeof e.name&&!Ba(e)}function Aa(e){if(!Sa(e))return!1;var t=Qr(e);return t==q||t==Y||t==z||t==ee}function Ea(e){return"number"==typeof e&&e==Wa(e)}function _a(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=O}function Sa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Fa(e){return null!=e&&"object"==typeof e}var Da=Wt?vn(Wt):function(e){return Fa(e)&&zo(e)==X};function Ta(e){return"number"==typeof e||Fa(e)&&Qr(e)==Z}function Ba(e){if(!Fa(e)||Qr(e)!=Q)return!1;var t=Bt(e);if(null===t)return!0;var n=ct.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ut.call(n)==pt}var La=Ht?vn(Ht):function(e){return Fa(e)&&Qr(e)==te};var Ma=zt?vn(zt):function(e){return Fa(e)&&zo(e)==ne};function Oa(e){return"string"==typeof e||!va(e)&&Fa(e)&&Qr(e)==re}function Pa(e){return"symbol"==typeof e||Fa(e)&&Qr(e)==ie}var Ra=Ut?vn(Ut):function(e){return Fa(e)&&_a(e.length)&&!!_t[Qr(e)]};var ja=xo(di),Ia=xo(function(e,t){return e<=t});function Na(e){if(!e)return[];if(ba(e))return Oa(e)?Mn(e):ro(e);if(It&&e[It])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[It]());var t=zo(e);return(t==X?_n:t==ne?Tn:fl)(e)}function $a(e){return e?(e=za(e))===M||e===-M?(e<0?-1:1)*P:e==e?e:0:0===e?e:0}function Wa(e){var t=$a(e),n=t%1;return t==t?n?t-n:t:0}function Ha(e){return e?Pr(Wa(e),0,j):0}function za(e){if("number"==typeof e)return e;if(Pa(e))return R;if(Sa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Sa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Oe,"");var n=Ve.test(e);return n||Ke.test(e)?Tt(e.slice(2),n?2:8):Ue.test(e)?R:+e}function Ua(e){return io(e,ol(e))}function Va(e){return null==e?"":ji(e)}var Ga=so(function(e,t){if(Jo(t)||ba(t))io(t,il(t),e);else for(var n in t)ct.call(t,n)&&Dr(e,n,t[n])}),Ka=so(function(e,t){io(t,ol(t),e)}),qa=so(function(e,t,n,r){io(t,ol(t),e,r)}),Ya=so(function(e,t,n,r){io(t,il(t),e,r)}),Xa=Bo(Or);var Za=Ai(function(e,t){e=tt(e);var n=-1,r=t.length,i=r>2?t[2]:o;for(i&&qo(t[0],t[1],i)&&(r=1);++n<r;)for(var s=t[n],a=ol(s),l=-1,u=a.length;++l<u;){var c=a[l],h=e[c];(h===o||fa(h,at[c])&&!ct.call(e,c))&&(e[c]=s[c])}return e}),Ja=Ai(function(e){return e.push(o,Fo),Vt(al,o,e)});function Qa(e,t,n){var r=null==e?o:Zr(e,t);return r===o?n:r}function el(e,t){return null!=e&&Uo(e,t,ni)}var tl=mo(function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=ft.call(t)),e[t]=n},Sl(Tl)),nl=mo(function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=ft.call(t)),ct.call(e,t)?e[t].push(n):e[t]=[n]},jo),rl=Ai(ii);function il(e){return ba(e)?Ar(e):ci(e)}function ol(e){return ba(e)?Ar(e,!0):hi(e)}var sl=so(function(e,t,n){mi(e,t,n)}),al=so(function(e,t,n,r){mi(e,t,n,r)}),ll=Bo(function(e,t){var n={};if(null==e)return n;var r=!1;t=Qt(t,function(t){return t=Ki(t,e),r||(r=t.length>1),t}),io(e,Mo(e),n),r&&(n=Rr(n,d|f|p,Do));for(var i=t.length;i--;)Ni(n,t[i]);return n});var ul=Bo(function(e,t){return null==e?{}:function(e,t){return bi(e,t,function(t,n){return el(e,n)})}(e,t)});function cl(e,t){if(null==e)return{};var n=Qt(Mo(e),function(e){return[e]});return t=jo(t),bi(e,n,function(e,n){return t(e,n[0])})}var hl=Eo(il),dl=Eo(ol);function fl(e){return null==e?[]:yn(e,il(e))}var pl=co(function(e,t,n){return t=t.toLowerCase(),e+(n?gl(t):t)});function gl(e){return kl(Va(e).toLowerCase())}function ml(e){return(e=Va(e))&&e.replace(Ye,Cn).replace(bt,"")}var vl=co(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),yl=co(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),bl=uo("toLowerCase");var wl=co(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var xl=co(function(e,t,n){return e+(n?" ":"")+kl(t)});var Cl=co(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),kl=uo("toUpperCase");function Al(e,t,n){return e=Va(e),(t=n?o:t)===o?function(e){return kt.test(e)}(e)?function(e){return e.match(xt)||[]}(e):function(e){return e.match($e)||[]}(e):e.match(t)||[]}var El=Ai(function(e,t){try{return Vt(e,o,t)}catch(e){return ka(e)?e:new Je(e)}}),_l=Bo(function(e,t){return Kt(t,function(t){t=cs(t),Mr(e,t,na(e[t],e))}),e});function Sl(e){return function(){return e}}var Fl=po(),Dl=po(!0);function Tl(e){return e}function Bl(e){return ui("function"==typeof e?e:Rr(e,d))}var Ll=Ai(function(e,t){return function(n){return ii(n,e,t)}}),Ml=Ai(function(e,t){return function(n){return ii(e,n,t)}});function Ol(e,t,n){var r=il(t),i=Xr(t,r);null!=n||Sa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=Xr(t,il(t)));var o=!(Sa(n)&&"chain"in n&&!n.chain),s=Aa(e);return Kt(i,function(n){var r=t[n];e[n]=r,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=ro(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,en([this.value()],arguments))})}),e}function Pl(){}var Rl=yo(Qt),jl=yo(Yt),Il=yo(rn);function Nl(e){return Yo(e)?dn(cs(e)):function(e){return function(t){return Zr(t,e)}}(e)}var $l=wo(),Wl=wo(!0);function Hl(){return[]}function zl(){return!1}var Ul=vo(function(e,t){return e+t},0),Vl=ko("ceil"),Gl=vo(function(e,t){return e/t},1),Kl=ko("floor");var ql,Yl=vo(function(e,t){return e*t},1),Xl=ko("round"),Zl=vo(function(e,t){return e-t},0);return pr.after=function(e,t){if("function"!=typeof t)throw new it(l);return e=Wa(e),function(){if(--e<1)return t.apply(this,arguments)}},pr.ary=ea,pr.assign=Ga,pr.assignIn=Ka,pr.assignInWith=qa,pr.assignWith=Ya,pr.at=Xa,pr.before=ta,pr.bind=na,pr.bindAll=_l,pr.bindKey=ra,pr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return va(e)?e:[e]},pr.chain=Ns,pr.chunk=function(e,t,n){t=(n?qo(e,t,n):t===o)?1:Gn(Wa(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var s=0,a=0,l=r(Nn(i/t));s<i;)l[a++]=Bi(e,s,s+=t);return l},pr.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},pr.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return en(va(n)?ro(n):[n],Vr(t,1))},pr.cond=function(e){var t=null==e?0:e.length,n=jo();return e=t?Qt(e,function(e){if("function"!=typeof e[1])throw new it(l);return[n(e[0]),e[1]]}):[],Ai(function(n){for(var r=-1;++r<t;){var i=e[r];if(Vt(i[0],this,n))return Vt(i[1],this,n)}})},pr.conforms=function(e){return function(e){var t=il(e);return function(n){return jr(n,e,t)}}(Rr(e,d))},pr.constant=Sl,pr.countBy=Hs,pr.create=function(e,t){var n=gr(e);return null==t?n:Lr(n,t)},pr.curry=function e(t,n,r){var i=_o(t,w,o,o,o,o,o,n=r?o:n);return i.placeholder=e.placeholder,i},pr.curryRight=function e(t,n,r){var i=_o(t,x,o,o,o,o,o,n=r?o:n);return i.placeholder=e.placeholder,i},pr.debounce=ia,pr.defaults=Za,pr.defaultsDeep=Ja,pr.defer=oa,pr.delay=sa,pr.difference=fs,pr.differenceBy=ps,pr.differenceWith=gs,pr.drop=function(e,t,n){var r=null==e?0:e.length;return r?Bi(e,(t=n||t===o?1:Wa(t))<0?0:t,r):[]},pr.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?Bi(e,0,(t=r-(t=n||t===o?1:Wa(t)))<0?0:t):[]},pr.dropRightWhile=function(e,t){return e&&e.length?Wi(e,jo(t,3),!0,!0):[]},pr.dropWhile=function(e,t){return e&&e.length?Wi(e,jo(t,3),!0):[]},pr.fill=function(e,t,n,r){var i=null==e?0:e.length;return i?(n&&"number"!=typeof n&&qo(e,t,n)&&(n=0,r=i),function(e,t,n,r){var i=e.length;for((n=Wa(n))<0&&(n=-n>i?0:i+n),(r=r===o||r>i?i:Wa(r))<0&&(r+=i),r=n>r?0:Ha(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},pr.filter=function(e,t){return(va(e)?Xt:Ur)(e,jo(t,3))},pr.flatMap=function(e,t){return Vr(Xs(e,t),1)},pr.flatMapDeep=function(e,t){return Vr(Xs(e,t),M)},pr.flatMapDepth=function(e,t,n){return n=n===o?1:Wa(n),Vr(Xs(e,t),n)},pr.flatten=ys,pr.flattenDeep=function(e){return null!=e&&e.length?Vr(e,M):[]},pr.flattenDepth=function(e,t){return null!=e&&e.length?Vr(e,t=t===o?1:Wa(t)):[]},pr.flip=function(e){return _o(e,_)},pr.flow=Fl,pr.flowRight=Dl,pr.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},pr.functions=function(e){return null==e?[]:Xr(e,il(e))},pr.functionsIn=function(e){return null==e?[]:Xr(e,ol(e))},pr.groupBy=Ks,pr.initial=function(e){return null!=e&&e.length?Bi(e,0,-1):[]},pr.intersection=ws,pr.intersectionBy=xs,pr.intersectionWith=Cs,pr.invert=tl,pr.invertBy=nl,pr.invokeMap=qs,pr.iteratee=Bl,pr.keyBy=Ys,pr.keys=il,pr.keysIn=ol,pr.map=Xs,pr.mapKeys=function(e,t){var n={};return t=jo(t,3),qr(e,function(e,r,i){Mr(n,t(e,r,i),e)}),n},pr.mapValues=function(e,t){var n={};return t=jo(t,3),qr(e,function(e,r,i){Mr(n,r,t(e,r,i))}),n},pr.matches=function(e){return pi(Rr(e,d))},pr.matchesProperty=function(e,t){return gi(e,Rr(t,d))},pr.memoize=aa,pr.merge=sl,pr.mergeWith=al,pr.method=Ll,pr.methodOf=Ml,pr.mixin=Ol,pr.negate=la,pr.nthArg=function(e){return e=Wa(e),Ai(function(t){return vi(t,e)})},pr.omit=ll,pr.omitBy=function(e,t){return cl(e,la(jo(t)))},pr.once=function(e){return ta(2,e)},pr.orderBy=function(e,t,n,r){return null==e?[]:(va(t)||(t=null==t?[]:[t]),va(n=r?o:n)||(n=null==n?[]:[n]),yi(e,t,n))},pr.over=Rl,pr.overArgs=ua,pr.overEvery=jl,pr.overSome=Il,pr.partial=ca,pr.partialRight=ha,pr.partition=Zs,pr.pick=ul,pr.pickBy=cl,pr.property=Nl,pr.propertyOf=function(e){return function(t){return null==e?o:Zr(e,t)}},pr.pull=As,pr.pullAll=Es,pr.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?wi(e,t,jo(n,2)):e},pr.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?wi(e,t,o,n):e},pr.pullAt=_s,pr.range=$l,pr.rangeRight=Wl,pr.rearg=da,pr.reject=function(e,t){return(va(e)?Xt:Ur)(e,la(jo(t,3)))},pr.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=jo(t,3);++r<o;){var s=e[r];t(s,r,e)&&(n.push(s),i.push(r))}return xi(e,i),n},pr.rest=function(e,t){if("function"!=typeof e)throw new it(l);return Ai(e,t=t===o?t:Wa(t))},pr.reverse=Ss,pr.sampleSize=function(e,t,n){return t=(n?qo(e,t,n):t===o)?1:Wa(t),(va(e)?_r:_i)(e,t)},pr.set=function(e,t,n){return null==e?e:Si(e,t,n)},pr.setWith=function(e,t,n,r){return r="function"==typeof r?r:o,null==e?e:Si(e,t,n,r)},pr.shuffle=function(e){return(va(e)?Sr:Ti)(e)},pr.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&qo(e,t,n)?(t=0,n=r):(t=null==t?0:Wa(t),n=n===o?r:Wa(n)),Bi(e,t,n)):[]},pr.sortBy=Js,pr.sortedUniq=function(e){return e&&e.length?Pi(e):[]},pr.sortedUniqBy=function(e,t){return e&&e.length?Pi(e,jo(t,2)):[]},pr.split=function(e,t,n){return n&&"number"!=typeof n&&qo(e,t,n)&&(t=n=o),(n=n===o?j:n>>>0)?(e=Va(e))&&("string"==typeof t||null!=t&&!La(t))&&!(t=ji(t))&&En(e)?Yi(Mn(e),0,n):e.split(t,n):[]},pr.spread=function(e,t){if("function"!=typeof e)throw new it(l);return t=null==t?0:Gn(Wa(t),0),Ai(function(n){var r=n[t],i=Yi(n,0,t);return r&&en(i,r),Vt(e,this,i)})},pr.tail=function(e){var t=null==e?0:e.length;return t?Bi(e,1,t):[]},pr.take=function(e,t,n){return e&&e.length?Bi(e,0,(t=n||t===o?1:Wa(t))<0?0:t):[]},pr.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Bi(e,(t=r-(t=n||t===o?1:Wa(t)))<0?0:t,r):[]},pr.takeRightWhile=function(e,t){return e&&e.length?Wi(e,jo(t,3),!1,!0):[]},pr.takeWhile=function(e,t){return e&&e.length?Wi(e,jo(t,3)):[]},pr.tap=function(e,t){return t(e),e},pr.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new it(l);return Sa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ia(e,t,{leading:r,maxWait:t,trailing:i})},pr.thru=$s,pr.toArray=Na,pr.toPairs=hl,pr.toPairsIn=dl,pr.toPath=function(e){return va(e)?Qt(e,cs):Pa(e)?[e]:ro(us(Va(e)))},pr.toPlainObject=Ua,pr.transform=function(e,t,n){var r=va(e),i=r||xa(e)||Ra(e);if(t=jo(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Sa(e)&&Aa(o)?gr(Bt(e)):{}}return(i?Kt:qr)(e,function(e,r,i){return t(n,e,r,i)}),n},pr.unary=function(e){return ea(e,1)},pr.union=Fs,pr.unionBy=Ds,pr.unionWith=Ts,pr.uniq=function(e){return e&&e.length?Ii(e):[]},pr.uniqBy=function(e,t){return e&&e.length?Ii(e,jo(t,2)):[]},pr.uniqWith=function(e,t){return t="function"==typeof t?t:o,e&&e.length?Ii(e,o,t):[]},pr.unset=function(e,t){return null==e||Ni(e,t)},pr.unzip=Bs,pr.unzipWith=Ls,pr.update=function(e,t,n){return null==e?e:$i(e,t,Gi(n))},pr.updateWith=function(e,t,n,r){return r="function"==typeof r?r:o,null==e?e:$i(e,t,Gi(n),r)},pr.values=fl,pr.valuesIn=function(e){return null==e?[]:yn(e,ol(e))},pr.without=Ms,pr.words=Al,pr.wrap=function(e,t){return ca(Gi(t),e)},pr.xor=Os,pr.xorBy=Ps,pr.xorWith=Rs,pr.zip=js,pr.zipObject=function(e,t){return Ui(e||[],t||[],Dr)},pr.zipObjectDeep=function(e,t){return Ui(e||[],t||[],Si)},pr.zipWith=Is,pr.entries=hl,pr.entriesIn=dl,pr.extend=Ka,pr.extendWith=qa,Ol(pr,pr),pr.add=Ul,pr.attempt=El,pr.camelCase=pl,pr.capitalize=gl,pr.ceil=Vl,pr.clamp=function(e,t,n){return n===o&&(n=t,t=o),n!==o&&(n=(n=za(n))==n?n:0),t!==o&&(t=(t=za(t))==t?t:0),Pr(za(e),t,n)},pr.clone=function(e){return Rr(e,p)},pr.cloneDeep=function(e){return Rr(e,d|p)},pr.cloneDeepWith=function(e,t){return Rr(e,d|p,t="function"==typeof t?t:o)},pr.cloneWith=function(e,t){return Rr(e,p,t="function"==typeof t?t:o)},pr.conformsTo=function(e,t){return null==t||jr(e,t,il(t))},pr.deburr=ml,pr.defaultTo=function(e,t){return null==e||e!=e?t:e},pr.divide=Gl,pr.endsWith=function(e,t,n){e=Va(e),t=ji(t);var r=e.length,i=n=n===o?r:Pr(Wa(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},pr.eq=fa,pr.escape=function(e){return(e=Va(e))&&Ee.test(e)?e.replace(ke,kn):e},pr.escapeRegExp=function(e){return(e=Va(e))&&Me.test(e)?e.replace(Le,"\\$&"):e},pr.every=function(e,t,n){var r=va(e)?Yt:Hr;return n&&qo(e,t,n)&&(t=o),r(e,jo(t,3))},pr.find=zs,pr.findIndex=ms,pr.findKey=function(e,t){return sn(e,jo(t,3),qr)},pr.findLast=Us,pr.findLastIndex=vs,pr.findLastKey=function(e,t){return sn(e,jo(t,3),Yr)},pr.floor=Kl,pr.forEach=Vs,pr.forEachRight=Gs,pr.forIn=function(e,t){return null==e?e:Gr(e,jo(t,3),ol)},pr.forInRight=function(e,t){return null==e?e:Kr(e,jo(t,3),ol)},pr.forOwn=function(e,t){return e&&qr(e,jo(t,3))},pr.forOwnRight=function(e,t){return e&&Yr(e,jo(t,3))},pr.get=Qa,pr.gt=pa,pr.gte=ga,pr.has=function(e,t){return null!=e&&Uo(e,t,ti)},pr.hasIn=el,pr.head=bs,pr.identity=Tl,pr.includes=function(e,t,n,r){e=ba(e)?e:fl(e),n=n&&!r?Wa(n):0;var i=e.length;return n<0&&(n=Gn(i+n,0)),Oa(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&ln(e,t,n)>-1},pr.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:Wa(n);return i<0&&(i=Gn(r+i,0)),ln(e,t,i)},pr.inRange=function(e,t,n){return t=$a(t),n===o?(n=t,t=0):n=$a(n),function(e,t,n){return e>=Kn(t,n)&&e<Gn(t,n)}(e=za(e),t,n)},pr.invoke=rl,pr.isArguments=ma,pr.isArray=va,pr.isArrayBuffer=ya,pr.isArrayLike=ba,pr.isArrayLikeObject=wa,pr.isBoolean=function(e){return!0===e||!1===e||Fa(e)&&Qr(e)==U},pr.isBuffer=xa,pr.isDate=Ca,pr.isElement=function(e){return Fa(e)&&1===e.nodeType&&!Ba(e)},pr.isEmpty=function(e){if(null==e)return!0;if(ba(e)&&(va(e)||"string"==typeof e||"function"==typeof e.splice||xa(e)||Ra(e)||ma(e)))return!e.length;var t=zo(e);if(t==X||t==ne)return!e.size;if(Jo(e))return!ci(e).length;for(var n in e)if(ct.call(e,n))return!1;return!0},pr.isEqual=function(e,t){return si(e,t)},pr.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:o)?n(e,t):o;return r===o?si(e,t,o,n):!!r},pr.isError=ka,pr.isFinite=function(e){return"number"==typeof e&&zn(e)},pr.isFunction=Aa,pr.isInteger=Ea,pr.isLength=_a,pr.isMap=Da,pr.isMatch=function(e,t){return e===t||ai(e,t,No(t))},pr.isMatchWith=function(e,t,n){return n="function"==typeof n?n:o,ai(e,t,No(t),n)},pr.isNaN=function(e){return Ta(e)&&e!=+e},pr.isNative=function(e){if(Zo(e))throw new Je(a);return li(e)},pr.isNil=function(e){return null==e},pr.isNull=function(e){return null===e},pr.isNumber=Ta,pr.isObject=Sa,pr.isObjectLike=Fa,pr.isPlainObject=Ba,pr.isRegExp=La,pr.isSafeInteger=function(e){return Ea(e)&&e>=-O&&e<=O},pr.isSet=Ma,pr.isString=Oa,pr.isSymbol=Pa,pr.isTypedArray=Ra,pr.isUndefined=function(e){return e===o},pr.isWeakMap=function(e){return Fa(e)&&zo(e)==se},pr.isWeakSet=function(e){return Fa(e)&&Qr(e)==ae},pr.join=function(e,t){return null==e?"":Un.call(e,t)},pr.kebabCase=vl,pr.last=ks,pr.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return n!==o&&(i=(i=Wa(n))<0?Gn(r+i,0):Kn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):an(e,cn,i,!0)},pr.lowerCase=yl,pr.lowerFirst=bl,pr.lt=ja,pr.lte=Ia,pr.max=function(e){return e&&e.length?zr(e,Tl,ei):o},pr.maxBy=function(e,t){return e&&e.length?zr(e,jo(t,2),ei):o},pr.mean=function(e){return hn(e,Tl)},pr.meanBy=function(e,t){return hn(e,jo(t,2))},pr.min=function(e){return e&&e.length?zr(e,Tl,di):o},pr.minBy=function(e,t){return e&&e.length?zr(e,jo(t,2),di):o},pr.stubArray=Hl,pr.stubFalse=zl,pr.stubObject=function(){return{}},pr.stubString=function(){return""},pr.stubTrue=function(){return!0},pr.multiply=Yl,pr.nth=function(e,t){return e&&e.length?vi(e,Wa(t)):o},pr.noConflict=function(){return Mt._===this&&(Mt._=gt),this},pr.noop=Pl,pr.now=Qs,pr.pad=function(e,t,n){e=Va(e);var r=(t=Wa(t))?Ln(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return bo($n(i),n)+e+bo(Nn(i),n)},pr.padEnd=function(e,t,n){e=Va(e);var r=(t=Wa(t))?Ln(e):0;return t&&r<t?e+bo(t-r,n):e},pr.padStart=function(e,t,n){e=Va(e);var r=(t=Wa(t))?Ln(e):0;return t&&r<t?bo(t-r,n)+e:e},pr.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),Yn(Va(e).replace(Pe,""),t||0)},pr.random=function(e,t,n){if(n&&"boolean"!=typeof n&&qo(e,t,n)&&(t=n=o),n===o&&("boolean"==typeof t?(n=t,t=o):"boolean"==typeof e&&(n=e,e=o)),e===o&&t===o?(e=0,t=1):(e=$a(e),t===o?(t=e,e=0):t=$a(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Xn();return Kn(e+i*(t-e+Dt("1e-"+((i+"").length-1))),t)}return Ci(e,t)},pr.reduce=function(e,t,n){var r=va(e)?tn:pn,i=arguments.length<3;return r(e,jo(t,4),n,i,$r)},pr.reduceRight=function(e,t,n){var r=va(e)?nn:pn,i=arguments.length<3;return r(e,jo(t,4),n,i,Wr)},pr.repeat=function(e,t,n){return t=(n?qo(e,t,n):t===o)?1:Wa(t),ki(Va(e),t)},pr.replace=function(){var e=arguments,t=Va(e[0]);return e.length<3?t:t.replace(e[1],e[2])},pr.result=function(e,t,n){var r=-1,i=(t=Ki(t,e)).length;for(i||(i=1,e=o);++r<i;){var s=null==e?o:e[cs(t[r])];s===o&&(r=i,s=n),e=Aa(s)?s.call(e):s}return e},pr.round=Xl,pr.runInContext=e,pr.sample=function(e){return(va(e)?Er:Ei)(e)},pr.size=function(e){if(null==e)return 0;if(ba(e))return Oa(e)?Ln(e):e.length;var t=zo(e);return t==X||t==ne?e.size:ci(e).length},pr.snakeCase=wl,pr.some=function(e,t,n){var r=va(e)?rn:Li;return n&&qo(e,t,n)&&(t=o),r(e,jo(t,3))},pr.sortedIndex=function(e,t){return Mi(e,t)},pr.sortedIndexBy=function(e,t,n){return Oi(e,t,jo(n,2))},pr.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=Mi(e,t);if(r<n&&fa(e[r],t))return r}return-1},pr.sortedLastIndex=function(e,t){return Mi(e,t,!0)},pr.sortedLastIndexBy=function(e,t,n){return Oi(e,t,jo(n,2),!0)},pr.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=Mi(e,t,!0)-1;if(fa(e[n],t))return n}return-1},pr.startCase=xl,pr.startsWith=function(e,t,n){return e=Va(e),n=null==n?0:Pr(Wa(n),0,e.length),t=ji(t),e.slice(n,n+t.length)==t},pr.subtract=Zl,pr.sum=function(e){return e&&e.length?gn(e,Tl):0},pr.sumBy=function(e,t){return e&&e.length?gn(e,jo(t,2)):0},pr.template=function(e,t,n){var r=pr.templateSettings;n&&qo(e,t,n)&&(t=o),e=Va(e),t=qa({},t,r,So);var i,s,a=qa({},t.imports,r.imports,So),l=il(a),u=yn(a,l),c=0,h=t.interpolate||Xe,d="__p += '",f=nt((t.escape||Xe).source+"|"+h.source+"|"+(h===Fe?He:Xe).source+"|"+(t.evaluate||Xe).source+"|$","g"),p="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++Et+"]")+"\n";e.replace(f,function(t,n,r,o,a,l){return r||(r=o),d+=e.slice(c,l).replace(Ze,An),n&&(i=!0,d+="' +\n__e("+n+") +\n'"),a&&(s=!0,d+="';\n"+a+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=l+t.length,t}),d+="';\n";var g=t.variable;g||(d="with (obj) {\n"+d+"\n}\n"),d=(s?d.replace(be,""):d).replace(we,"$1").replace(xe,"$1;"),d="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var m=El(function(){return Qe(l,p+"return "+d).apply(o,u)});if(m.source=d,ka(m))throw m;return m},pr.times=function(e,t){if((e=Wa(e))<1||e>O)return[];var n=j,r=Kn(e,j);t=jo(t),e-=j;for(var i=mn(r,t);++n<e;)t(n);return i},pr.toFinite=$a,pr.toInteger=Wa,pr.toLength=Ha,pr.toLower=function(e){return Va(e).toLowerCase()},pr.toNumber=za,pr.toSafeInteger=function(e){return e?Pr(Wa(e),-O,O):0===e?e:0},pr.toString=Va,pr.toUpper=function(e){return Va(e).toUpperCase()},pr.trim=function(e,t,n){if((e=Va(e))&&(n||t===o))return e.replace(Oe,"");if(!e||!(t=ji(t)))return e;var r=Mn(e),i=Mn(t);return Yi(r,wn(r,i),xn(r,i)+1).join("")},pr.trimEnd=function(e,t,n){if((e=Va(e))&&(n||t===o))return e.replace(Re,"");if(!e||!(t=ji(t)))return e;var r=Mn(e);return Yi(r,0,xn(r,Mn(t))+1).join("")},pr.trimStart=function(e,t,n){if((e=Va(e))&&(n||t===o))return e.replace(Pe,"");if(!e||!(t=ji(t)))return e;var r=Mn(e);return Yi(r,wn(r,Mn(t))).join("")},pr.truncate=function(e,t){var n=S,r=F;if(Sa(t)){var i="separator"in t?t.separator:i;n="length"in t?Wa(t.length):n,r="omission"in t?ji(t.omission):r}var s=(e=Va(e)).length;if(En(e)){var a=Mn(e);s=a.length}if(n>=s)return e;var l=n-Ln(r);if(l<1)return r;var u=a?Yi(a,0,l).join(""):e.slice(0,l);if(i===o)return u+r;if(a&&(l+=u.length-l),La(i)){if(e.slice(l).search(i)){var c,h=u;for(i.global||(i=nt(i.source,Va(ze.exec(i))+"g")),i.lastIndex=0;c=i.exec(h);)var d=c.index;u=u.slice(0,d===o?l:d)}}else if(e.indexOf(ji(i),l)!=l){var f=u.lastIndexOf(i);f>-1&&(u=u.slice(0,f))}return u+r},pr.unescape=function(e){return(e=Va(e))&&Ae.test(e)?e.replace(Ce,On):e},pr.uniqueId=function(e){var t=++ht;return Va(e)+t},pr.upperCase=Cl,pr.upperFirst=kl,pr.each=Vs,pr.eachRight=Gs,pr.first=bs,Ol(pr,(ql={},qr(pr,function(e,t){ct.call(pr.prototype,t)||(ql[t]=e)}),ql),{chain:!1}),pr.VERSION="4.17.10",Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){pr[e].placeholder=pr}),Kt(["drop","take"],function(e,t){yr.prototype[e]=function(n){n=n===o?1:Gn(Wa(n),0);var r=this.__filtered__&&!t?new yr(this):this.clone();return r.__filtered__?r.__takeCount__=Kn(n,r.__takeCount__):r.__views__.push({size:Kn(n,j),type:e+(r.__dir__<0?"Right":"")}),r},yr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Kt(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==B||3==n;yr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:jo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Kt(["head","last"],function(e,t){var n="take"+(t?"Right":"");yr.prototype[e]=function(){return this[n](1).value()[0]}}),Kt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");yr.prototype[e]=function(){return this.__filtered__?new yr(this):this[n](1)}}),yr.prototype.compact=function(){return this.filter(Tl)},yr.prototype.find=function(e){return this.filter(e).head()},yr.prototype.findLast=function(e){return this.reverse().find(e)},yr.prototype.invokeMap=Ai(function(e,t){return"function"==typeof e?new yr(this):this.map(function(n){return ii(n,e,t)})}),yr.prototype.reject=function(e){return this.filter(la(jo(e)))},yr.prototype.slice=function(e,t){e=Wa(e);var n=this;return n.__filtered__&&(e>0||t<0)?new yr(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==o&&(n=(t=Wa(t))<0?n.dropRight(-t):n.take(t-e)),n)},yr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},yr.prototype.toArray=function(){return this.take(j)},qr(yr.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=pr[r?"take"+("last"==t?"Right":""):t],s=r||/^find/.test(t);i&&(pr.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,l=t instanceof yr,u=a[0],c=l||va(t),h=function(e){var t=i.apply(pr,en([e],a));return r&&d?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(l=c=!1);var d=this.__chain__,f=!!this.__actions__.length,p=s&&!d,g=l&&!f;if(!s&&c){t=g?t:new yr(this);var m=e.apply(t,a);return m.__actions__.push({func:$s,args:[h],thisArg:o}),new vr(m,d)}return p&&g?e.apply(this,a):(m=this.thru(h),p?r?m.value()[0]:m.value():m)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(e){var t=ot[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);pr.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(va(i)?i:[],e)}return this[n](function(n){return t.apply(va(n)?n:[],e)})}}),qr(yr.prototype,function(e,t){var n=pr[t];if(n){var r=n.name+"";(or[r]||(or[r]=[])).push({name:t,func:n})}}),or[go(o,y).name]=[{name:"wrapper",func:o}],yr.prototype.clone=function(){var e=new yr(this.__wrapped__);return e.__actions__=ro(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ro(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ro(this.__views__),e},yr.prototype.reverse=function(){if(this.__filtered__){var e=new yr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},yr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=va(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=Kn(t,e+s);break;case"takeRight":e=Gn(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,l=a-s,u=r?a:s-1,c=this.__iteratees__,h=c.length,d=0,f=Kn(l,this.__takeCount__);if(!n||!r&&i==l&&f==l)return Hi(e,this.__actions__);var p=[];e:for(;l--&&d<f;){for(var g=-1,m=e[u+=t];++g<h;){var v=c[g],y=v.iteratee,b=v.type,w=y(m);if(b==L)m=w;else if(!w){if(b==B)continue e;break e}}p[d++]=m}return p},pr.prototype.at=Ws,pr.prototype.chain=function(){return Ns(this)},pr.prototype.commit=function(){return new vr(this.value(),this.__chain__)},pr.prototype.next=function(){this.__values__===o&&(this.__values__=Na(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},pr.prototype.plant=function(e){for(var t,n=this;n instanceof mr;){var r=ds(n);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},pr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof yr){var t=e;return this.__actions__.length&&(t=new yr(this)),(t=t.reverse()).__actions__.push({func:$s,args:[Ss],thisArg:o}),new vr(t,this.__chain__)}return this.thru(Ss)},pr.prototype.toJSON=pr.prototype.valueOf=pr.prototype.value=function(){return Hi(this.__wrapped__,this.__actions__)},pr.prototype.first=pr.prototype.head,It&&(pr.prototype[It]=function(){return this}),pr}();Mt._=Pn,(i=function(){return Pn}.call(t,n,t,r))===o||(r.exports=i)}).call(this)}).call(this,n(99),n(513)(e))},function(e,t,n){!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function i(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var a=e.getLineHandle(t.line),l=t.ch-1,u=o&&o.afterCursor;null==u&&(u=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var c=i(o),h=!u&&l>=0&&c.test(a.text.charAt(l))&&r[a.text.charAt(l)]||c.test(a.text.charAt(l+1))&&r[a.text.charAt(++l)];if(!h)return null;var d=">"==h.charAt(1)?1:-1;if(o&&o.strict&&d>0!=(l==t.ch))return null;var f=e.getTokenTypeAt(n(t.line,l+1)),p=s(e,n(t.line,l+(d>0?1:0)),d,f||null,o);return null==p?null:{from:n(t.line,l),to:p&&p.pos,match:p&&p.ch==h.charAt(0),forward:d>0}}function s(e,t,o,s,a){for(var l=a&&a.maxScanLineLength||1e4,u=a&&a.maxScanLines||1e3,c=[],h=i(a),d=o>0?Math.min(t.line+u,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-u),f=t.line;f!=d;f+=o){var p=e.getLine(f);if(p){var g=o>0?0:p.length-1,m=o>0?p.length:-1;if(!(p.length>l))for(f==t.line&&(g=t.ch-(o<0?1:0));g!=m;g+=o){var v=p.charAt(g);if(h.test(v)&&(void 0===s||e.getTokenTypeAt(n(f,g+1))==s)){var y=r[v];if(">"==y.charAt(1)==o>0)c.push(v);else{if(!c.length)return{pos:n(f,g),ch:v};c.pop()}}}}}return f-o!=(o>0?e.lastLine():e.firstLine())&&null}function a(e,r,i){for(var s=e.state.matchBrackets.maxHighlightLineLength||1e3,a=[],l=e.listSelections(),u=0;u<l.length;u++){var c=l[u].empty()&&o(e,l[u].head,i);if(c&&e.getLine(c.from.line).length<=s){var h=c.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";a.push(e.markText(c.from,n(c.from.line,c.from.ch+1),{className:h})),c.to&&e.getLine(c.to.line).length<=s&&a.push(e.markText(c.to,n(c.to.line,c.to.ch+1),{className:h}))}}if(a.length){t&&e.state.focused&&e.focus();var d=function(){e.operation(function(){for(var e=0;e<a.length;e++)a[e].clear()})};if(!r)return d;setTimeout(d,800)}}function l(e){e.operation(function(){e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null),e.state.matchBrackets.currentlyHighlighted=a(e,!1,e.state.matchBrackets)})}e.defineOption("matchBrackets",!1,function(t,n,r){r&&r!=e.Init&&(t.off("cursorActivity",l),t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",l))}),e.defineExtension("matchBrackets",function(){a(this,!0)}),e.defineExtension("findMatchingBracket",function(e,t,n){return(n||"boolean"==typeof t)&&(n?(n.strict=t,t=n):t=t?{strict:!0}:null),o(this,e,t)}),e.defineExtension("scanForBracket",function(e,t,n,r){return s(this,e,t,n,r)})}(n(50))},function(e,t,n){!function(e){"use strict";function t(e){return"string"==typeof e?function(t){return t==e}:e||function(){return!0}}var n=function(e,t){this.node=e,this.state=t},r=Object.create||function(e){function t(){}return t.prototype=e,new t};function i(e,t,n){n(e,t)}function o(e,t,n){}var s={};s.Program=s.BlockStatement=function(e,t,n){for(var r=0,i=e.body;r<i.length;r+=1){var o=i[r];n(o,t,"Statement")}},s.Statement=i,s.EmptyStatement=o,s.ExpressionStatement=s.ParenthesizedExpression=function(e,t,n){return n(e.expression,t,"Expression")},s.IfStatement=function(e,t,n){n(e.test,t,"Expression"),n(e.consequent,t,"Statement"),e.alternate&&n(e.alternate,t,"Statement")},s.LabeledStatement=function(e,t,n){return n(e.body,t,"Statement")},s.BreakStatement=s.ContinueStatement=o,s.WithStatement=function(e,t,n){n(e.object,t,"Expression"),n(e.body,t,"Statement")},s.SwitchStatement=function(e,t,n){n(e.discriminant,t,"Expression");for(var r=0,i=e.cases;r<i.length;r+=1){var o=i[r];o.test&&n(o.test,t,"Expression");for(var s=0,a=o.consequent;s<a.length;s+=1){var l=a[s];n(l,t,"Statement")}}},s.SwitchCase=function(e,t,n){e.test&&n(e.test,t,"Expression");for(var r=0,i=e.consequent;r<i.length;r+=1){var o=i[r];n(o,t,"Statement")}},s.ReturnStatement=s.YieldExpression=s.AwaitExpression=function(e,t,n){e.argument&&n(e.argument,t,"Expression")},s.ThrowStatement=s.SpreadElement=function(e,t,n){return n(e.argument,t,"Expression")},s.TryStatement=function(e,t,n){n(e.block,t,"Statement"),e.handler&&n(e.handler,t),e.finalizer&&n(e.finalizer,t,"Statement")},s.CatchClause=function(e,t,n){n(e.param,t,"Pattern"),n(e.body,t,"ScopeBody")},s.WhileStatement=s.DoWhileStatement=function(e,t,n){n(e.test,t,"Expression"),n(e.body,t,"Statement")},s.ForStatement=function(e,t,n){e.init&&n(e.init,t,"ForInit"),e.test&&n(e.test,t,"Expression"),e.update&&n(e.update,t,"Expression"),n(e.body,t,"Statement")},s.ForInStatement=s.ForOfStatement=function(e,t,n){n(e.left,t,"ForInit"),n(e.right,t,"Expression"),n(e.body,t,"Statement")},s.ForInit=function(e,t,n){"VariableDeclaration"==e.type?n(e,t):n(e,t,"Expression")},s.DebuggerStatement=o,s.FunctionDeclaration=function(e,t,n){return n(e,t,"Function")},s.VariableDeclaration=function(e,t,n){for(var r=0,i=e.declarations;r<i.length;r+=1){var o=i[r];n(o,t)}},s.VariableDeclarator=function(e,t,n){n(e.id,t,"Pattern"),e.init&&n(e.init,t,"Expression")},s.Function=function(e,t,n){e.id&&n(e.id,t,"Pattern");for(var r=0,i=e.params;r<i.length;r+=1){var o=i[r];n(o,t,"Pattern")}n(e.body,t,e.expression?"ScopeExpression":"ScopeBody")},s.ScopeBody=function(e,t,n){return n(e,t,"Statement")},s.ScopeExpression=function(e,t,n){return n(e,t,"Expression")},s.Pattern=function(e,t,n){"Identifier"==e.type?n(e,t,"VariablePattern"):"MemberExpression"==e.type?n(e,t,"MemberPattern"):n(e,t)},s.VariablePattern=o,s.MemberPattern=i,s.RestElement=function(e,t,n){return n(e.argument,t,"Pattern")},s.ArrayPattern=function(e,t,n){for(var r=0,i=e.elements;r<i.length;r+=1){var o=i[r];o&&n(o,t,"Pattern")}},s.ObjectPattern=function(e,t,n){for(var r=0,i=e.properties;r<i.length;r+=1){var o=i[r];n(o.value,t,"Pattern")}},s.Expression=i,s.ThisExpression=s.Super=s.MetaProperty=o,s.ArrayExpression=function(e,t,n){for(var r=0,i=e.elements;r<i.length;r+=1){var o=i[r];o&&n(o,t,"Expression")}},s.ObjectExpression=function(e,t,n){for(var r=0,i=e.properties;r<i.length;r+=1){var o=i[r];n(o,t)}},s.FunctionExpression=s.ArrowFunctionExpression=s.FunctionDeclaration,s.SequenceExpression=s.TemplateLiteral=function(e,t,n){for(var r=0,i=e.expressions;r<i.length;r+=1){var o=i[r];n(o,t,"Expression")}},s.UnaryExpression=s.UpdateExpression=function(e,t,n){n(e.argument,t,"Expression")},s.BinaryExpression=s.LogicalExpression=function(e,t,n){n(e.left,t,"Expression"),n(e.right,t,"Expression")},s.AssignmentExpression=s.AssignmentPattern=function(e,t,n){n(e.left,t,"Pattern"),n(e.right,t,"Expression")},s.ConditionalExpression=function(e,t,n){n(e.test,t,"Expression"),n(e.consequent,t,"Expression"),n(e.alternate,t,"Expression")},s.NewExpression=s.CallExpression=function(e,t,n){if(n(e.callee,t,"Expression"),e.arguments)for(var r=0,i=e.arguments;r<i.length;r+=1){var o=i[r];n(o,t,"Expression")}},s.MemberExpression=function(e,t,n){n(e.object,t,"Expression"),e.computed&&n(e.property,t,"Expression")},s.ExportNamedDeclaration=s.ExportDefaultDeclaration=function(e,t,n){e.declaration&&n(e.declaration,t,"ExportNamedDeclaration"==e.type||e.declaration.id?"Statement":"Expression"),e.source&&n(e.source,t,"Expression")},s.ExportAllDeclaration=function(e,t,n){n(e.source,t,"Expression")},s.ImportDeclaration=function(e,t,n){for(var r=0,i=e.specifiers;r<i.length;r+=1){var o=i[r];n(o,t)}n(e.source,t,"Expression")},s.ImportSpecifier=s.ImportDefaultSpecifier=s.ImportNamespaceSpecifier=s.Identifier=s.Literal=o,s.TaggedTemplateExpression=function(e,t,n){n(e.tag,t,"Expression"),n(e.quasi,t,"Expression")},s.ClassDeclaration=s.ClassExpression=function(e,t,n){return n(e,t,"Class")},s.Class=function(e,t,n){e.id&&n(e.id,t,"Pattern"),e.superClass&&n(e.superClass,t,"Expression");for(var r=0,i=e.body.body;r<i.length;r+=1){var o=i[r];n(o,t)}},s.MethodDefinition=s.Property=function(e,t,n){e.computed&&n(e.key,t,"Expression"),n(e.value,t,"Expression")},e.simple=function(t,n,r,i,o){r||(r=e.base),function e(t,i,o){var s=o||t.type,a=n[s];r[s](t,i,e),a&&a(t,i)}(t,i,o)},e.ancestor=function(t,n,r,i){r||(r=e.base);var o=[];!function e(t,i,s){var a=s||t.type,l=n[a],u=t!=o[o.length-1];u&&o.push(t),r[a](t,i,e),l&&l(t,i||o,o),u&&o.pop()}(t,i)},e.recursive=function(t,n,r,i,o){var s=r?e.make(r,i):i;!function e(t,n,r){s[r||t.type](t,n,e)}(t,n,o)},e.full=function(t,n,r,i,o){r||(r=e.base),function e(t,i,o){var s=o||t.type;r[s](t,i,e),o||n(t,i,s)}(t,i,o)},e.fullAncestor=function(t,n,r,i){r||(r=e.base);var o=[];!function e(t,i,s){var a=s||t.type,l=t!=o[o.length-1];l&&o.push(t),r[a](t,i,e),s||n(t,i||o,o,a),l&&o.pop()}(t,i)},e.findNodeAt=function(r,i,o,s,a,l){s=t(s),a||(a=e.base);try{!function e(t,r,l){var u=l||t.type;if((null==i||t.start<=i)&&(null==o||t.end>=o)&&a[u](t,r,e),(null==i||t.start==i)&&(null==o||t.end==o)&&s(u,t))throw new n(t,r)}(r,l)}catch(e){if(e instanceof n)return e;throw e}},e.findNodeAround=function(r,i,o,s,a){o=t(o),s||(s=e.base);try{!function e(t,r,a){var l=a||t.type;if(!(t.start>i||t.end<i)&&(s[l](t,r,e),o(l,t)))throw new n(t,r)}(r,a)}catch(e){if(e instanceof n)return e;throw e}},e.findNodeAfter=function(r,i,o,s,a){o=t(o),s||(s=e.base);try{!function e(t,r,a){if(!(t.end<i)){var l=a||t.type;if(t.start>=i&&o(l,t))throw new n(t,r);s[l](t,r,e)}}(r,a)}catch(e){if(e instanceof n)return e;throw e}},e.findNodeBefore=function(r,i,o,s,a){var l;return o=t(o),s||(s=e.base),function e(t,r,a){if(!(t.start>i)){var u=a||t.type;t.end<=i&&(!l||l.node.end<t.end)&&o(u,t)&&(l=new n(t,r)),s[u](t,r,e)}}(r,a),l},e.make=function(t,n){n||(n=e.base);var i=r(n);for(var o in t)i[o]=t[o];return i},e.base=s,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,n){var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function o(e){return function(e,t){var n,r,s,a,l,u,c,h,d,f=1,p=e.length,g="";for(r=0;r<p;r++)if("string"==typeof e[r])g+=e[r];else if(Array.isArray(e[r])){if((a=e[r])[2])for(n=t[f],s=0;s<a[2].length;s++){if(!n.hasOwnProperty(a[2][s]))throw new Error(o('[sprintf] property "%s" does not exist',a[2][s]));n=n[a[2][s]]}else n=a[1]?t[a[1]]:t[f++];if(i.not_type.test(a[8])&&i.not_primitive.test(a[8])&&n instanceof Function&&(n=n()),i.numeric_arg.test(a[8])&&"number"!=typeof n&&isNaN(n))throw new TypeError(o("[sprintf] expecting number but found %T",n));switch(i.number.test(a[8])&&(h=n>=0),a[8]){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a[6]?parseInt(a[6]):0);break;case"e":n=a[7]?parseFloat(n).toExponential(a[7]):parseFloat(n).toExponential();break;case"f":n=a[7]?parseFloat(n).toFixed(a[7]):parseFloat(n);break;case"g":n=a[7]?String(Number(n.toPrecision(a[7]))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a[7]?n.substring(0,a[7]):n;break;case"t":n=String(!!n),n=a[7]?n.substring(0,a[7]):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a[7]?n.substring(0,a[7]):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a[7]?n.substring(0,a[7]):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(a[8])?g+=n:(!i.number.test(a[8])||h&&!a[3]?d="":(d=h?"+":"-",n=n.toString().replace(i.sign,"")),u=a[4]?"0"===a[4]?"0":a[4].charAt(1):" ",c=a[6]-(d+n).length,l=a[6]&&c>0?u.repeat(c):"",g+=a[5]?d+n+l:"0"===u?d+l+n:l+d+n)}return g}(function(e){if(a[e])return a[e];var t,n=e,r=[],o=0;for(;n;){if(null!==(t=i.text.exec(n)))r.push(t[0]);else if(null!==(t=i.modulo.exec(n)))r.push("%");else{if(null===(t=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var s=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))s.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(u[1])}t[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push(t)}n=n.substring(t[0].length)}return a[e]=r}(e),arguments)}function s(e,t){return o.apply(null,[e].concat(t||[]))}var a=Object.create(null);t.sprintf=o,t.vsprintf=s,"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=s,void 0===(r=function(){return{sprintf:o,vsprintf:s}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){var r,i=i||function(e){"use strict";if(!(void 0===e||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=function(){return e.URL||e.webkitURL||e},n=e.document.createElementNS("http://www.w3.org/1999/xhtml","a"),r="download"in n,i=/constructor/i.test(e.HTMLElement)||e.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent),s=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},a=function(e){setTimeout(function(){"string"==typeof e?t().revokeObjectURL(e):e.remove()},4e4)},l=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},u=function(u,c,h){h||(u=l(u));var d,f=this,p="application/octet-stream"===u.type,g=function(){!function(e,t,n){for(var r=(t=[].concat(t)).length;r--;){var i=e["on"+t[r]];if("function"==typeof i)try{i.call(e,n||e)}catch(e){s(e)}}}(f,"writestart progress write writeend".split(" "))};if(f.readyState=f.INIT,r)return d=t().createObjectURL(u),void setTimeout(function(){var e,t;n.href=d,n.download=c,e=n,t=new MouseEvent("click"),e.dispatchEvent(t),g(),a(d),f.readyState=f.DONE});!function(){if((o||p&&i)&&e.FileReader){var n=new FileReader;return n.onloadend=function(){var t=o?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");e.open(t,"_blank")||(e.location.href=t),t=void 0,f.readyState=f.DONE,g()},n.readAsDataURL(u),void(f.readyState=f.INIT)}d||(d=t().createObjectURL(u)),p?e.location.href=d:e.open(d,"_blank")||(e.location.href=d);f.readyState=f.DONE,g(),a(d)}()},c=u.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,n){return t=t||e.name||"download",n||(e=l(e)),navigator.msSaveOrOpenBlob(e,t)}:(c.abort=function(){},c.readyState=c.INIT=0,c.WRITING=1,c.DONE=2,c.error=c.onwritestart=c.onprogress=c.onwrite=c.onabort=c.onerror=c.onwriteend=null,function(e,t,n){return new u(e,t||e.name||"download",n)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */void 0!==e&&e.exports?e.exports.saveAs=i:null!==n(247)&&null!==n(447)&&(void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r))},function(e,t,n){"use strict";function r(){if(!(this instanceof r))return new r;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new r;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}r.prototype=n(497),r.prototype.loadAsync=n(452),r.support=n(126),r.defaults=n(284),r.version="3.1.5",r.loadAsync=function(e,t){return(new r).loadAsync(e,t)},r.external=n(148),e.exports=r},function(e,t,n){var r,i,o;
/*!
autosize 4.0.2
license: MIT
http://www.jacklmoore.com/autosize
*/i=[e,t],void 0===(o="function"==typeof(r=function(e,t){"use strict";var n,r,i="function"==typeof Map?new Map:(n=[],r=[],{has:function(e){return n.indexOf(e)>-1},get:function(e){return r[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),r.push(t))},delete:function(e){var t=n.indexOf(e);t>-1&&(n.splice(t,1),r.splice(t,1))}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function s(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!i.has(e)){var t=null,n=null,r=null,s=function(){e.clientWidth!==n&&h()},a=function(t){window.removeEventListener("resize",s,!1),e.removeEventListener("input",h,!1),e.removeEventListener("keyup",h,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",h,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n]}),i.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",h,!1),window.addEventListener("resize",s,!1),e.addEventListener("input",h,!1),e.addEventListener("autosize:update",h,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",i.set(e,{destroy:a,update:h}),"vertical"===(l=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===l.resize&&(e.style.resize="horizontal"),t="content-box"===l.boxSizing?-(parseFloat(l.paddingTop)+parseFloat(l.paddingBottom)):parseFloat(l.borderTopWidth)+parseFloat(l.borderBottomWidth),isNaN(t)&&(t=0),h()}var l;function u(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function c(){if(0!==e.scrollHeight){var r=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),i=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+t+"px",n=e.clientWidth,r.forEach(function(e){e.node.scrollTop=e.scrollTop}),i&&(document.documentElement.scrollTop=i)}}function h(){c();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),i="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(i<t?"hidden"===n.overflowY&&(u("scroll"),c(),i="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==n.overflowY&&(u("hidden"),c(),i="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),r!==i){r=i;var s=o("autosize:resized");try{e.dispatchEvent(s)}catch(e){}}}}function a(e){var t=i.get(e);t&&t.destroy()}function l(e){var t=i.get(e);t&&t.update()}var u=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((u=function(e){return e}).destroy=function(e){return e},u.update=function(e){return e}):((u=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return s(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],a),e},u.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],l),e}),t.default=u,e.exports=t.default})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){(function(t){var n;n=function(){"use strict";var e="function"==typeof Promise,n="object"==typeof self?self:t,r="undefined"!=typeof Symbol,i="undefined"!=typeof Map,o="undefined"!=typeof Set,s="undefined"!=typeof WeakMap,a="undefined"!=typeof WeakSet,l="undefined"!=typeof DataView,u=r&&void 0!==Symbol.iterator,c=r&&void 0!==Symbol.toStringTag,h=o&&"function"==typeof Set.prototype.entries,d=i&&"function"==typeof Map.prototype.entries,f=h&&Object.getPrototypeOf((new Set).entries()),p=d&&Object.getPrototypeOf((new Map).entries()),g=u&&"function"==typeof Array.prototype[Symbol.iterator],m=g&&Object.getPrototypeOf([][Symbol.iterator]()),v=u&&"function"==typeof String.prototype[Symbol.iterator],y=v&&Object.getPrototypeOf(""[Symbol.iterator]()),b=8,w=-1;return function(t){var r=typeof t;if("object"!==r)return r;if(null===t)return"null";if(t===n)return"global";if(Array.isArray(t)&&(!1===c||!(Symbol.toStringTag in t)))return"Array";if("object"==typeof window&&null!==window){if("object"==typeof window.location&&t===window.location)return"Location";if("object"==typeof window.document&&t===window.document)return"Document";if("object"==typeof window.navigator){if("object"==typeof window.navigator.mimeTypes&&t===window.navigator.mimeTypes)return"MimeTypeArray";if("object"==typeof window.navigator.plugins&&t===window.navigator.plugins)return"PluginArray"}if(("function"==typeof window.HTMLElement||"object"==typeof window.HTMLElement)&&t instanceof window.HTMLElement){if("BLOCKQUOTE"===t.tagName)return"HTMLQuoteElement";if("TD"===t.tagName)return"HTMLTableDataCellElement";if("TH"===t.tagName)return"HTMLTableHeaderCellElement"}}var u=c&&t[Symbol.toStringTag];if("string"==typeof u)return u;var h=Object.getPrototypeOf(t);return h===RegExp.prototype?"RegExp":h===Date.prototype?"Date":e&&h===Promise.prototype?"Promise":o&&h===Set.prototype?"Set":i&&h===Map.prototype?"Map":a&&h===WeakSet.prototype?"WeakSet":s&&h===WeakMap.prototype?"WeakMap":l&&h===DataView.prototype?"DataView":i&&h===p?"Map Iterator":o&&h===f?"Set Iterator":g&&h===m?"Array Iterator":v&&h===y?"String Iterator":null===h?"Object":Object.prototype.toString.call(t).slice(b,w)}},e.exports=n()}).call(this,n(99))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,n){"use strict";var r=n(79);var i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==r.getTypeOf(e)?function(e,t,n,r){var o=i,s=r+n;e^=-1;for(var a=r;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,n,r){var o=i,s=r+n;e^=-1;for(var a=r;a<s;a++)e=e>>>8^o[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},function(e,t,n){"use strict";var r=n(148),i=n(283),o=n(282),s=n(281);o=n(282);function a(e,t,n,r,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=r,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,n){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},e.exports=a},function(e,t,n){e.exports=!n(287)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";(function(t,r,i){var o=n(172).nextTick;function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,l=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:o;y.WritableState=v;var u=n(149);u.inherits=n(132);var c={deprecate:n(490)},h=n(296),d=n(171).Buffer,f=i.Uint8Array||function(){};var p,g=n(293);function m(){}function v(e,t){a=a||n(131),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o(i,r),o(A,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),A(e,t))}(e,n,r,t,i);else{var s=C(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||x(e,n),r?l(w,e,n,s,i):w(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||n(131),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new v(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function b(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function w(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),A(e,t)}function x(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,l=!0;n;)i[a]=n,n.isBuf||(l=!1),n=n.next,a+=1;i.allBuffers=l,b(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var u=n.chunk,c=n.encoding,h=n.callback;if(b(e,t,!1,t.objectMode?1:u.length,u,c,h),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),A(e,t)})}function A(e,t){var n=C(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o(k,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}u.inherits(y,h),v.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(v.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof v)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof f);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,a,r,i,o);return l}(this,i,a,e,t,n)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||x(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,A(e,t),n&&(t.finished?o(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=g.destroy,y.prototype._undestroy=g.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(151),n(492).setImmediate,n(99))},function(e,t,n){(t=e.exports=n(297)).Stream=t,t.Readable=t,t.Writable=n(233),t.Duplex=n(131),t.Transform=n(291),t.PassThrough=n(489)},,,,,function(e,t,n){!function(e){"use strict";function t(t,n,i,o){if(i&&i.call){var s=i;i=null}else var s=r(t,i,"rangeFinder");"number"==typeof n&&(n=e.Pos(n,0));var a=r(t,i,"minFoldSize");function l(e){var r=s(t,n);if(!r||r.to.line-r.from.line<a)return null;for(var i=t.findMarksAt(r.from),l=0;l<i.length;++l)if(i[l].__isFold&&"fold"!==o){if(!e)return null;r.cleared=!0,i[l].clear()}return r}var u=l(!0);if(r(t,i,"scanUp"))for(;!u&&n.line>t.firstLine();)n=e.Pos(n.line-1,0),u=l(!1);if(u&&!u.cleared&&"unfold"!==o){var c=function(e,t){var n=r(e,t,"widget");if("string"==typeof n){var i=document.createTextNode(n);(n=document.createElement("span")).appendChild(i),n.className="CodeMirror-foldmarker"}else n&&(n=n.cloneNode(!0));return n}(t,i);e.on(c,"mousedown",function(t){h.clear(),e.e_preventDefault(t)});var h=t.markText(u.from,u.to,{replacedWith:c,clearOnEnter:r(t,i,"clearOnEnter"),__isFold:!0});h.on("clear",function(n,r){e.signal(t,"unfold",t,n,r)}),e.signal(t,"fold",t,u.from,u.to)}}e.newFoldFunction=function(e,n){return function(r,i){t(r,i,{rangeFinder:e,widget:n})}},e.defineExtension("foldCode",function(e,n,r){t(this,e,n,r)}),e.defineExtension("isFolded",function(e){for(var t=this.findMarksAt(e),n=0;n<t.length;++n)if(t[n].__isFold)return!0}),e.commands.toggleFold=function(e){e.foldCode(e.getCursor())},e.commands.fold=function(e){e.foldCode(e.getCursor(),null,"fold")},e.commands.unfold=function(e){e.foldCode(e.getCursor(),null,"unfold")},e.commands.foldAll=function(t){t.operation(function(){for(var n=t.firstLine(),r=t.lastLine();n<=r;n++)t.foldCode(e.Pos(n,0),null,"fold")})},e.commands.unfoldAll=function(t){t.operation(function(){for(var n=t.firstLine(),r=t.lastLine();n<=r;n++)t.foldCode(e.Pos(n,0),null,"unfold")})},e.registerHelper("fold","combine",function(){var e=Array.prototype.slice.call(arguments,0);return function(t,n){for(var r=0;r<e.length;++r){var i=e[r](t,n);if(i)return i}}}),e.registerHelper("fold","auto",function(e,t){for(var n=e.getHelpers(t,"fold"),r=0;r<n.length;r++){var i=n[r](e,t);if(i)return i}});var n={rangeFinder:e.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};function r(e,t,r){if(t&&void 0!==t[r])return t[r];var i=e.options.foldOptions;return i&&void 0!==i[r]?i[r]:n[r]}e.defineOption("foldOptions",null),e.defineExtension("foldOption",function(e,t){return r(this,e,t)})}(n(50))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement("div"))).className=r?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,"dialog-opened"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",function(r,i,o){o||(o={}),n(this,null);var s=t(this,r,o.bottom),a=!1,l=this;function u(t){if("string"==typeof t)h.value=t;else{if(a)return;a=!0,e.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),l.focus(),o.onClose&&o.onClose(s)}}var c,h=s.getElementsByTagName("input")[0];return h?(h.focus(),o.value&&(h.value=o.value,!1!==o.selectValueOnOpen&&h.select()),o.onInput&&e.on(h,"input",function(e){o.onInput(e,h.value,u)}),o.onKeyUp&&e.on(h,"keyup",function(e){o.onKeyUp(e,h.value,u)}),e.on(h,"keydown",function(t){o&&o.onKeyDown&&o.onKeyDown(t,h.value,u)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(h.blur(),e.e_stop(t),u()),13==t.keyCode&&i(h.value,t))}),!1!==o.closeOnBlur&&e.on(h,"blur",u)):(c=s.getElementsByTagName("button")[0])&&(e.on(c,"click",function(){u(),l.focus()}),!1!==o.closeOnBlur&&e.on(c,"blur",u),c.focus()),u}),e.defineExtension("openConfirm",function(r,i,o){n(this,null);var s=t(this,r,o&&o.bottom),a=s.getElementsByTagName("button"),l=!1,u=this,c=1;function h(){l||(l=!0,e.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s),u.focus())}a[0].focus();for(var d=0;d<a.length;++d){var f=a[d];!function(t){e.on(f,"click",function(n){e.e_preventDefault(n),h(),t&&t(u)})}(i[d]),e.on(f,"blur",function(){--c,setTimeout(function(){c<=0&&h()},200)}),e.on(f,"focus",function(){++c})}}),e.defineExtension("openNotification",function(r,i){n(this,u);var o,s=t(this,r,i&&i.bottom),a=!1,l=i&&void 0!==i.duration?i.duration:5e3;function u(){a||(a=!0,clearTimeout(o),e.rmClass(s.parentNode,"dialog-opened"),s.parentNode.removeChild(s))}return e.on(s,"click",function(t){e.e_preventDefault(t),u()}),l&&(o=setTimeout(u,l)),u})}(n(50))},function(e,t,n){!function(e){"use strict";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?"i":"")+(e.global?"g":"")+(e.multiline?"m":"")}(e),r=n,i=0;i<t.length;i++)-1==r.indexOf(t.charAt(i))&&(r+=t.charAt(i));return n==r?e:new RegExp(e.source,r)}function o(e,t,n){t=i(t,"g");for(var o=n.line,s=n.ch,a=e.lastLine();o<=a;o++,s=0){t.lastIndex=s;var l=e.getLine(o),u=t.exec(l);if(u)return{from:r(o,u.index),to:r(o,u.index+u[0].length),match:u}}}function s(e,t){for(var n,r=0;;){t.lastIndex=r;var i=t.exec(e);if(!i)return n;if((r=(n=i).index+(n[0].length||1))==e.length)return n}}function a(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var s=i+o>>1,a=r(e.slice(0,s)).length;if(a==n)return s;a>n?o=s:i=s+1}}function l(e,l,u,c){var h;this.atOccurrence=!1,this.doc=e,u=u?e.clipPos(u):r(0,0),this.pos={from:u,to:u},"object"==typeof c?h=c.caseFold:(h=c,c=null),"string"==typeof l?(null==h&&(h=!1),this.matches=function(i,o){return(i?function(e,i,o,s){if(!i.length)return null;var l=s?t:n,u=l(i).split(/\r|\n\r?/);e:for(var c=o.line,h=o.ch,d=e.firstLine()-1+u.length;c>=d;c--,h=-1){var f=e.getLine(c);h>-1&&(f=f.slice(0,h));var p=l(f);if(1==u.length){var g=p.lastIndexOf(u[0]);if(-1==g)continue e;return{from:r(c,a(f,p,g,l)),to:r(c,a(f,p,g+u[0].length,l))}}var m=u[u.length-1];if(p.slice(0,m.length)==m){for(var v=1,o=c-u.length+1;v<u.length-1;v++)if(l(e.getLine(o+v))!=u[v])continue e;var y=e.getLine(c+1-u.length),b=l(y);if(b.slice(b.length-u[0].length)==u[0])return{from:r(c+1-u.length,a(y,b,y.length-u[0].length,l)),to:r(c,a(f,p,m.length,l))}}}}:function(e,i,o,s){if(!i.length)return null;var l=s?t:n,u=l(i).split(/\r|\n\r?/);e:for(var c=o.line,h=o.ch,d=e.lastLine()+1-u.length;c<=d;c++,h=0){var f=e.getLine(c).slice(h),p=l(f);if(1==u.length){var g=p.indexOf(u[0]);if(-1==g)continue e;var o=a(f,p,g,l)+h;return{from:r(c,a(f,p,g,l)+h),to:r(c,a(f,p,g+u[0].length,l)+h)}}var m=p.length-u[0].length;if(p.slice(m)==u[0]){for(var v=1;v<u.length-1;v++)if(l(e.getLine(c+v))!=u[v])continue e;var y=e.getLine(c+u.length-1),b=l(y),w=u[u.length-1];if(b.slice(0,w.length)==w)return{from:r(c,a(f,p,m,l)+h),to:r(c+u.length-1,a(y,b,w.length,l))}}}})(e,l,o,h)}):(l=i(l,"gm"),c&&!1===c.multiline?this.matches=function(t,n){return(t?function(e,t,n){t=i(t,"g");for(var o=n.line,a=n.ch,l=e.firstLine();o>=l;o--,a=-1){var u=e.getLine(o);a>-1&&(u=u.slice(0,a));var c=s(u,t);if(c)return{from:r(o,c.index),to:r(o,c.index+c[0].length),match:c}}}:o)(e,l,n)}:this.matches=function(t,n){return(t?function(e,t,n){t=i(t,"gm");for(var o,a=1,l=n.line,u=e.firstLine();l>=u;){for(var c=0;c<a;c++){var h=e.getLine(l--);o=null==o?h.slice(0,n.ch):h+"\n"+o}a*=2;var d=s(o,t);if(d){var f=o.slice(0,d.index).split("\n"),p=d[0].split("\n"),g=l+f.length,m=f[f.length-1].length;return{from:r(g,m),to:r(g+p.length-1,1==p.length?m+p[0].length:p[p.length-1].length),match:d}}}}:function(e,t,n){if(!function(e){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source)}(t))return o(e,t,n);t=i(t,"gm");for(var s,a=1,l=n.line,u=e.lastLine();l<=u;){for(var c=0;c<a&&!(l>u);c++){var h=e.getLine(l++);s=null==s?h:s+"\n"+h}a*=2,t.lastIndex=n.ch;var d=t.exec(s);if(d){var f=s.slice(0,d.index).split("\n"),p=d[0].split("\n"),g=n.line+f.length-1,m=f[f.length-1].length;return{from:r(g,m),to:r(g+p.length-1,1==p.length?m+p[0].length:p[p.length-1].length),match:d}}}})(e,l,n)})}String.prototype.normalize?(t=function(e){return e.normalize("NFD").toLowerCase()},n=function(e){return e.normalize("NFD")}):(t=function(e){return e.toLowerCase()},n=function(e){return e}),l.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var n=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));n&&0==e.cmpPos(n.from,n.to);)t?n.from.ch?n.from=r(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(r(n.from.line-1))):n.to.ch<this.doc.getLine(n.to.line).length?n.to=r(n.to.line,n.to.ch+1):n=n.to.line==this.doc.lastLine()?null:this.matches(t,r(n.to.line+1,0));if(n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var i=r(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,n){if(this.atOccurrence){var i=e.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to,n),this.pos.to=r(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",function(e,t,n){return new l(this.doc,e,t,n)}),e.defineDocExtension("getSearchCursor",function(e,t,n){return new l(this,e,t,n)}),e.defineExtension("selectMatches",function(t,n){for(var r=[],i=this.getSearchCursor(t,this.getCursor("from"),n);i.findNext()&&!(e.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}(n(50))},,,,,function(e,t){e.exports.id="ace/mode/javascript_worker",e.exports.src='"no use strict";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail="";testPath;){var alias=paths[testPath];if("string"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,"/")+(tail||alias.main||alias.name);if(alias===!1)return"";var i=testPath.lastIndexOf("/");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf("!")){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if("."==moduleName.charAt(0)){var base=parentId.split("/").slice(0,-1).join("/");for(moduleName=(base?base+"/":"")+moduleName;-1!==moduleName.indexOf(".")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,"").replace(/\\/\\.\\//,"/").replace(/[^\\/]+\\/\\.\\.\\//,"")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error("worker.js acequire() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log("unable to load "+id);var path=resolveModuleId(id,window.acequire.tlns);return".js"!=path.slice(-3)&&(path+=".js"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,"string"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),"function"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=["require","exports","module"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case"require":return req;case"exports":return module.exports;case"module":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire("ace/lib/event_emitter").EventEmitter,oop=window.acequire("ace/lib/oop"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error("Unknown command:"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire("ace/lib/es5-shim"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define("ace/lib/oop",["require","exports","module"],function(acequire,exports){"use strict";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define("ace/range",["require","exports","module"],function(acequire,exports){"use strict";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){"object"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){"object"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define("ace/apply_delta",["require","exports","module"],function(acequire,exports){"use strict";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||"";switch(delta.action){case"insert":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case"remove":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(acequire,exports){"use strict";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){"object"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?"unshift":"push"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),EventEmitter=acequire("./lib/event_emitter").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert="insert"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal("change",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),applyDelta=acequire("./apply_delta").applyDelta,EventEmitter=acequire("./lib/event_emitter").EventEmitter,Range=acequire("./range").Range,Anchor=acequire("./anchor").Anchor,Document=function(textOrLines){this.$lines=[""],0===textOrLines.length?this.$lines=[""]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0==="aaa".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,"\\n").split("\\n")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:"\\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\\r\\n";case"unix":return"\\n";default:return this.$autoNewLine||"\\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return"\\r\\n"==text||"\\r"==text||"\\n"==text},this.getLine=function(row){return this.$lines[row]||""},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||"").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\'\', \'\']) instead."),this.insertMergedLines(position,["",""])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:"insert",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([""]),column=0):(lines=[""].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:"insert",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:"remove",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:"remove",lines:["",""]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert="insert"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal("change",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(""),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:"insert"==delta.action?"remove":"insert",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define("ace/lib/lang",["require","exports","module"],function(acequire,exports){"use strict";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split("").reverse().join("")},exports.stringRepeat=function(string,count){for(var result="";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,"")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,"")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&"object"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if("object"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if("[object Object]"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},exports.escapeHTML=function(str){return str.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/\'/g,"&#39;").replace(/</g,"&#60;")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(acequire,exports){"use strict";acequire("../range").Range;var Document=acequire("../document").Document,lang=acequire("../lib/lang"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(""),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on("change",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:"insert",start:data[i],lines:data[i+1]};else var d={action:"remove",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define("ace/mode/javascript/jshint",["require","exports","module"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire="function"==typeof acequire&&acequire;if(!jumped&&currentRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error("Cannot find module \'"+name+"\'");throw err.code="MODULE_NOT_FOUND",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire="function"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({"/node_modules/browserify/node_modules/events/events.js":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return"function"==typeof arg}function isNumber(arg){return"number"==typeof arg}function isObject(arg){return"object"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),"error"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError(\'Uncaught, unspecified "error" event.\')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[type].length),"function"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError("listener must be a function");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit("removeListener",type,listener);else if(isObject(list)){for(i=length;i--\x3e0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit("removeListener",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)"removeListener"!==key&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events={},this\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],"/node_modules/jshint/data/ascii-identifier-data.js":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],"/node_modules/jshint/lodash.js":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return"function"==typeof value||!1}function baseToString(value){return"string"==typeof value?value:null==value?"":value+""}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&"object"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return"function"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:"object"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return"function"!=valType&&"object"!=valType&&"function"!=othType&&"object"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+"";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+"";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if("number"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if("function"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for("function"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer="function"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return"function"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+""}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor="constructor"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!("function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if("number"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq="string"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if("string"==type&&reIsPlainProp.test(value)||"number"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return"number"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,"function"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if("number"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&"number"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex="number"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,"string"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),("function"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&"boolean"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:"function"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer="function"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return"function"==type||!!value&&"object"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return"number"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return"string"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto="function"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+"";for(var key in object)skipIndexes&&isIndex(key,length)||"constructor"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\\\$&"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION="3.7.0",FUNC_ERROR_TEXT="Expected a function",argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reIsDeepProp=/\\.|\\[(?:[^[\\]]+|(["\'])(?:(?!\\1)[^\\n\\\\]|\\\\.)*?)\\1\\]/,reIsPlainProp=/^\\w*$/,rePropName=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\n\\\\]|\\\\.)*?)\\2)\\]/g,reRegExpChars=/[.*+?^${}()|[\\]\\/\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\(\\\\)?/g,reFlags=/\\w*$/,reIsHostCtor=/^\\[object .+?Constructor\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={"function":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&"object"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,"$1.*?")+"$"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),"xo")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\bthis\\b/.test(function(){return this}),support.funcNames="string"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty("length"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return"function"==typeof Ctor&&Ctor.prototype===object||"function"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\n}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],"/node_modules/jshint/src/jshint.js":[function(_dereq_,module,exports){var _=_dereq_("../lodash"),events=_dereq_("events"),vars=_dereq_("./vars.js"),messages=_dereq_("./messages.js"),Lexer=_dereq_("./lex.js").Lexer,reg=_dereq_("./reg.js"),state=_dereq_("./state.js").state,style=_dereq_("./style.js"),options=_dereq_("./options.js"),scopeManager=_dereq_("./scope-manager.js"),JSHINT=function(){"use strict";function checkOption(name,t){return name=name.trim(),/^[+-]W\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||"jslint"===t.type||_.has(options.removed,name)?!0:(error("E001",t,name),!1)}function isString(obj){return"[object String]"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\{([^{}]*)\\}/g,function(a,b){var r=data[b];return"string"==typeof r||"number"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict="global"),state.inES6()||warning("W134",state.tokens.next,"module",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict="global")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict="global")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict="global")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict="global"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:"JSHintError",line:line,character:chr,message:message+" ("+percentage+"% scanned).",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\d{3}/.test(code)?msg=messages.errors[code]:/I\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},"(end)"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:"(error)",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||"",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit("E043",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:"(internal)",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\s+)?[^\\s,:]+(?:\\s*:\\s*(-\\s+)?[^\\s,]+)?/g)||[],predef={};if("globals"===nt.type){body.forEach(function(g,idx){g=g.split(":");var key=(g[0]||"").trim(),val=(g[1]||"").trim();if("-"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error("E002",nt),void 0}"-"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]="true"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}"exported"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error("E002",nt),void 0}state.funct["(scope)"].addExported(e)}),"members"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||\'"\'!==ch1&&"\'"!==ch1||(m=m.substr(1,m.length-2).replace(\'\\\\"\',\'"\')),membersOnly[m]=!1}));var numvals=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];("jshint"===nt.type||"jslint"===nt.type)&&(body.forEach(function(g){g=g.split(":");var key=(g[0]||"").trim(),val=(g[1]||"").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if("false"!==val){if(val=+val,"number"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error("E032",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]="indent"===key?4:!1;else{if("validthis"===key)return state.funct["(global)"]?void error("E009"):"true"!==val&&"false"!==val?void error("E002",nt):(state.option.validthis="true"===val,void 0);if("quotmark"!==key)if("shadow"!==key)if("unused"!==key)if("latedef"!==key)if("ignore"!==key)if("strict"!==key){"module"===key&&(hasParsedCode(state.funct)||error("E055",state.tokens.next,"module"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if("esversion"===key){switch(val){case"5":state.inES5(!0)&&warning("I003");case"3":case"6":state.option.moz=!1,state.option.esversion=+val;break;case"2015":state.option.moz=!1,state.option.esversion=6;break;default:error("E002",nt)}return hasParsedCode(state.funct)||error("E055",state.tokens.next,"esversion"),void 0}var match=/^([+-])(W\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]="-"===match[1],void 0;var tn;return"true"===val||"false"===val?("jslint"===nt.type?(tn=options.renamed[key]||key,state.option[tn]="true"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]="true"===val,"newcap"===key&&(state.option["(explicitNewcap)"]=!0),void 0):(error("E002",nt),void 0)}switch(val){case"true":state.option.moz=!1,state.option.esversion=esversions[key];break;case"false":state.option.moz||(state.option.esversion=5);break;default:error("E002",nt)}}else switch(val){case"true":state.option.strict=!0;break;case"false":state.option.strict=!1;break;case"func":case"global":case"implied":state.option.strict=val;break;default:error("E002",nt)}else switch(val){case"line":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error("E002",nt)}else switch(val){case"true":state.option.latedef=!0;break;case"false":state.option.latedef=!1;break;case"nofunc":state.option.latedef="nofunc";break;default:error("E002",nt)}else switch(val){case"true":state.option.unused=!0;break;case"false":state.option.unused=!1;break;case"vars":case"strict":state.option.unused=val;break;default:error("E002",nt)}else switch(val){case"true":state.option.shadow=!0;break;case"outer":state.option.shadow="outer";break;case"false":case"inner":state.option.shadow="inner";break;default:error("E002",nt)}else switch(val){case"true":case"false":state.option.quotmark="true"===val;break;case"double":case"single":state.option.quotmark=val;break;default:error("E002",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||"(end)"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while("(endline)"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case"(number)":"."===state.tokens.next.id&&warning("W005",state.tokens.curr);break;case"-":("-"===state.tokens.next.id||"--"===state.tokens.next.id)&&warning("W006");break;case"+":("+"===state.tokens.next.id||"++"===state.tokens.next.id)&&warning("W007")}for(id&&state.tokens.next.id!==id&&(t?"(end)"===state.tokens.next.id?error("E019",t,t.id):error("E020",state.tokens.next,id,t.id,t.line,state.tokens.next.value):("(identifier)"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning("W116",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit("E041",state.tokens.curr.line),"(end)"===state.tokens.next.id||"(error)"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)"falls through"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if("(endline)"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return";"===next.id||"}"===next.id||":"===next.id?!0:isInfix(next)===isInfix(curr)||"yield"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&"unary"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||"let"!==state.tokens.next.value||"("!==peek(0).value||(state.inMoz()||warning("W118",state.tokens.next,"let expressions"),isLetExpr=!0,state.funct["(scope)"].stack(),advance("let"),advance("("),state.tokens.prev.fud(),advance(")")),"(end)"===state.tokens.next.id&&error("E006",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains(["]",")"],state.tokens.prev.id)&&_.contains(["[","("],state.tokens.curr.id);if(isDangerous&&warning("W014",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct["(verb)"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error("E030",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||"(template)"===state.tokens.next.type)&&!isEndOfExpr();)isArray="Array"===state.tokens.curr.value,isObject="Object"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&("new"!==left.value||left.first&&left.first.value&&"."===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&"("===state.tokens.curr.id&&")"===state.tokens.next.id&&warning("W009",state.tokens.curr),isObject&&"("===state.tokens.curr.id&&")"===state.tokens.next.id&&warning("W010",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error("E033",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct["(scope)"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning("W014",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning("E022",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning("I001"),comma.first=!1),warning("W014",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(",")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return error("E024",state.tokens.next,state.tokens.next.value),!1}if("(punctuator)"===state.tokens.next.type)switch(state.tokens.next.value){case"}":case"]":case",":if(opts.allowTrailing)return!0;case")":return error("E024",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&"object"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>="a"&&"z">=c||c>="A"&&"Z">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud="function"==typeof f?f:function(){return this.arity="unary",this.right=expression(150),("++"===this.id||"--"===this.id)&&(state.option.plusplus?warning("W016",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||"."===this.right.id||"["===this.right.id||warning("W017",this),this.right&&this.right.isMetaProperty?error("E031",this):this.right&&this.right.identifier&&state.funct["(scope)"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return"function"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),"in"!==s&&"instanceof"!==s||"!"!==left.id||warning("W018",left,"!"),"function"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:"arrow",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,"NaN")||isIdentifier(right,"NaN")?warning("W019",this):f&&f.apply(this,[left,right]),left&&right||quit("E041",state.tokens.curr.line),"!"===left.id&&warning("W018",left,"!"),"!"===right.id&&warning("W018",right,"!"),this},x}function isPoorRelation(node){return node&&("(number)"===node.type&&0===+node.value||"(string)"===node.type&&""===node.value||"null"===node.type&&!state.option.eqnull||"true"===node.type||"false"===node.type||"undefined"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,"(identifier)"===right.type&&"typeof"===right.value&&"(string)"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return"this"===left.type&&null===state.funct["(context)"]?isGlobal=!0:"(identifier)"===left.type&&(state.option.node&&"global"===left.value?isGlobal=!0:!state.option.browser||"window"!==left.value&&"document"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return"object"==typeof obj?"prototype"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&"object"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=["Array","ArrayBuffer","Boolean","Collator","DataView","Date","DateTimeFormat","Error","EvalError","Float32Array","Float64Array","Function","Infinity","Intl","Int16Array","Int32Array","Int8Array","Iterator","Number","NumberFormat","Object","RangeError","ReferenceError","RegExp","StopIteration","String","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning("W121",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct["(scope)"].block.reassign(left.value,left),"."===left.id?((!left.left||"arguments"===left.left.value&&!state.isStrict())&&warning("E031",assignToken),state.nameStack.set(state.tokens.prev),!0):"{"===left.id||"["===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct["(scope)"].block.modify(t.id,t.token)}):"{"!==left.id&&left.left?"arguments"!==left.left.value||state.isStrict()||warning("E031",assignToken):warning("E031",assignToken),"["===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error("E031",assignToken),!0):left.identifier&&!isReserved(left)?("exception"===state.funct["(scope)"].labeltype(left.value)&&warning("W022",left),state.nameStack.set(left),!0):(left===state.syntax["function"]&&warning("W023",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,"function"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error("E031",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led="function"==typeof f?f:function(left){return state.option.bitwise&&warning("W016",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning("W016",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error("E031",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning("W016",this,this.id):left.identifier&&!isReserved(left)||"."===left.id||"["===left.id||warning("W017",this),left.isMetaProperty?error("E031",this):left&&left.identifier&&state.funct["(scope)"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&"undefined"===val?val:(warning("W024",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if("..."===state.tokens.next.value){if(state.inES6(!0)||warning("W119",state.tokens.next,"spread/rest operator","6"),advance(),checkPunctuator(state.tokens.next,"..."))for(warning("E024",state.tokens.next,"...");checkPunctuator(state.tokens.next,"...");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning("E024",state.tokens.curr,"..."),void 0)}error("E030",state.tokens.next,state.tokens.next.value),";"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(";"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while("(end)"!==t.id&&"(comment)"===t.id);if(t.reach)return;if("(endline)"!==t.id){if("function"===t.id){state.option.latedef===!0&&warning("W026",t);break}warning("W027",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(";"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&"(end)"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,"}");sameLine&&!blockEnd?errorAt("E058",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt("W033",state.tokens.curr.line,state.tokens.curr.character)}else advance(";")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(";"===t.id)return advance(";"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&":"===peek().id&&(warning("W024",t,t.id),res=!1),t.identifier&&!res&&":"===peek().id&&(advance(),advance(":"),hasOwnScope=!0,state.funct["(scope)"].stack(),state.funct["(scope)"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||"{"===state.tokens.next.value||warning("W028",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),"{"===t.id){var iscase="case"===state.funct["(verb)"]&&":"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&"function"===r.value||"(punctuator)"===r.type&&r.left&&r.left.identifier&&"function"===r.left.value||state.isStrict()||"global"!==state.option.strict||warning("E007"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&"("===r.id&&"new"===r.left.id&&warning("W031",t):warning("W030",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct["(scope)"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&"(end)"!==state.tokens.next.id;)";"===state.tokens.next.id?(p=peek(),(!p||"("!==p.id&&"["!==p.id)&&warning("W032"),advance(";")):a.push(statement());return a}function directives(){for(var i,p,pn;"(string)"===state.tokens.next.id;){if(p=peek(0),"(endline)"===p.id){i=1;do pn=peek(i++);while("(endline)"===pn.id);if(";"===pn.id)p=pn;else{if("["===pn.value||"."===pn.value)break;state.option.asi&&"("!==pn.value||warning("W033",state.tokens.next)}}else{if("."===p.id||"["===p.id)break;";"!==p.id&&warning("W033",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||"use strict"===directive&&"implied"===state.option.strict)&&warning("W034",state.tokens.curr,directive),state.directive[directive]=!0,";"===p.id&&advance(";")}state.isStrict()&&(state.option["(explicitNewcap)"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct["(metrics)"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),"{"===state.tokens.next.id){if(advance("{"),state.funct["(scope)"].stack(),line=state.tokens.curr.line,"}"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct["(context)"]["(global)"]&&(m["use strict"]||state.isStrict()||warning("E007"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance("}",t),isfunc&&(state.funct["(scope)"].validateParams(),m&&(state.directive=m)),state.funct["(scope)"].unstack(),indent=old_indent}else if(ordinary)state.funct["(noblockscopedvar)"]="for"!==state.tokens.next.id,state.funct["(scope)"].stack(),(!stmt||state.option.curly)&&warning("W116",state.tokens.next,"{",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct["(scope)"].unstack(),delete state.funct["(noblockscopedvar)"];else if(isfunc){if(state.funct["(scope)"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error("W118",state.tokens.curr,"function closure expressions"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct["(context)"]["(global)"]&&(m["use strict"]||state.isStrict()||warning("E007")),state.funct["(scope)"].unstack()}else error("E021",state.tokens.next,"{",state.tokens.next.value);switch(state.funct["(verb)"]){case"break":case"continue":case"return":case"throw":if(iscase)break;default:state.funct["(verb)"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning("W035",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&"boolean"!=typeof membersOnly[m]&&warning("W036",state.tokens.curr,m),"number"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct["(comparray)"].stack();var reversed=!1;return"for"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning("W116",state.tokens.next,"for",state.tokens.next.value),state.funct["(comparray)"].setState("use"),res.right=expression(10)),advance("for"),"each"===state.tokens.next.value&&(advance("each"),state.inMoz()||warning("W118",state.tokens.curr,"for each")),advance("("),state.funct["(comparray)"].setState("define"),res.left=expression(130),_.contains(["in","of"],state.tokens.next.value)?advance():error("E045",state.tokens.curr),state.funct["(comparray)"].setState("generate"),expression(10),advance(")"),"if"===state.tokens.next.value&&(advance("if"),advance("("),state.funct["(comparray)"].setState("filter"),res.filter=expression(10),advance(")")),reversed||(state.funct["(comparray)"].setState("use"),res.right=expression(10)),advance("]"),state.funct["(comparray)"].unstack(),res}function isMethod(){return state.funct["(statement)"]&&"class"===state.funct["(statement)"].type||state.funct["(context)"]&&"class"===state.funct["(context)"]["(verb)"]}function isPropertyName(token){return token.identifier||"(string)"===token.id||"(number)"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return"object"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?"object"==typeof id&&("(string)"===id.id||"(identifier)"===id.id?id=id.value:"(number)"===id.id&&(id=""+id.value)):"(string)"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):"(number)"===state.tokens.next.id&&(id=""+state.tokens.next.value,preserve||advance()),"hasOwnProperty"===id&&warning("W001"),id}function functionparams(options){function addParam(addParamArgs){state.funct["(scope)"].addParam.apply(state.funct["(scope)"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct["(scope)"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance("("),")"===state.tokens.next.id)return advance(")"),void 0;for(;;){arity++;var currentParams=[];if(_.contains(["{","["],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,"...")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[",",")"]);)advance();if(pastDefault&&"="!==state.tokens.next.id&&error("W138",state.tokens.current),"="===state.tokens.next.id&&(state.inES6()||warning("W119",state.tokens.next,"default parameters","6"),advance("="),pastDefault=!0,expression(10)),currentParams.forEach(addParam),","!==state.tokens.next.id)return advance(")",next),{arity:arity,params:paramsIds};pastRest&&warning("W131",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={"(name)":name,"(breakage)":0,"(loopage)":0,"(tokens)":{},"(properties)":{},"(catch)":!1,"(global)":!1,"(line)":null,"(character)":null,"(metrics)":null,"(statement)":null,"(context)":null,"(scope)":null,"(comparray)":null,"(generator)":null,"(arrow)":null,"(params)":null};return token&&_.extend(funct,{"(line)":token.line,"(character)":token.character,"(metrics)":createMetrics(token)}),_.extend(funct,overwrites),funct["(context)"]&&(funct["(scope)"]=funct["(context)"]["(scope)"],funct["(comparray)"]=funct["(context)"]["(comparray)"]),funct}function isFunctor(token){return"(scope)"in token}function hasParsedCode(funct){return funct["(global)"]&&!funct["(verb)"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:"(template)",type:"(template)",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator="generator"===options.type,isArrow="arrow"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{"(statement)":statement,"(context)":state.funct,"(arrow)":isArrow,"(generator)":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct["(scope)"].stack("functionouter");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct["(scope)"].block.add(internallyAccessibleName,classExprBinding?"class":"function",state.tokens.curr,!1),state.funct["(scope)"].stack("functionparams");var paramsInfo=functionparams(options);return paramsInfo?(state.funct["(params)"]=paramsInfo.params,state.funct["(metrics)"].arity=paramsInfo.arity,state.funct["(metrics)"].verifyMaxParametersPerFunction()):state.funct["(metrics)"].arity=0,isArrow&&(state.inES6(!0)||warning("W119",state.tokens.curr,"arrow function syntax (=>)","6"),options.loneArg||advance("=>")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&"yielded"!==state.funct["(generator)"]&&warning("W124",state.tokens.curr),state.funct["(metrics)"].verifyMaxStatementsPerFunction(),state.funct["(metrics)"].verifyMaxComplexityPerFunction(),state.funct["(unusedOption)"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct["(last)"]=state.tokens.curr.line,state.funct["(lastcharacter)"]=state.tokens.curr.character,state.funct["(scope)"].unstack(),state.funct["(scope)"].unstack(),state.funct=state.funct["(context)"],ignoreLoopFunc||state.option.loopfunc||!state.funct["(loopage)"]||f["(isCapturing)"]&&warning("W083",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning("W071",functionStartToken,this.statementCount)\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning("W072",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning("W074",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct["(metrics)"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,","===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":paren||state.option.boss||warning("W084")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning("W078",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,".")){var left=state.tokens.curr.id;advance(".");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error("E057",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning("W104",state.tokens.curr,isAssignment?"destructuring assignment":"destructuring binding","6"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,["[","{"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,","))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,"(")){var is_rest=checkPunctuator(state.tokens.next,"...");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning("E030",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance("("),nextInnerDE(),advance(")")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,"[")?(advance("["),expression(10),advance("]"),advance(":"),nextInnerDE()):"(string)"===state.tokens.next.id||"(number)"===state.tokens.next.id?(advance(),advance(":"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,":")?(advance(":"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,"[")){openingParsed||advance("["),checkPunctuator(state.tokens.next,"]")&&warning("W137",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,"]");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,",")&&(warning("W130",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,"=")&&(checkPunctuator(state.tokens.prev,"...")?advance("]"):advance("="),"undefined"===state.tokens.next.id&&warning("W080",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,"]")||advance(",");advance("]")}else if(checkPunctuator(firstToken,"{")){for(openingParsed||advance("{"),checkPunctuator(state.tokens.next,"}")&&warning("W137",state.tokens.curr);!checkPunctuator(state.tokens.next,"}")&&(assignmentProperty(),checkPunctuator(state.tokens.next,"=")&&(advance("="),"undefined"===state.tokens.next.id&&warning("W080",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,"}")||(advance(","),!checkPunctuator(state.tokens.next,"}"))););advance("}")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning("W080",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet="let"===type,isConst="const"===type;for(state.inES6()||warning("W104",state.tokens.curr,type,"6"),isLet&&"("===state.tokens.next.value?(state.inMoz()||warning("W118",state.tokens.next,"let block"),advance("("),state.funct["(scope)"].stack(),letblock=!0):state.funct["(noblockscopedvar)"]&&error("E048",state.tokens.curr,isConst?"Const":"Let"),statement.first=[];;){var names=[];_.contains(["{","["],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&"="!==state.tokens.next.id&&warning("E012",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct["(scope)"].block.isGlobal()&&predefined[t.id]===!1&&warning("W079",t.token,t.id),t.id&&!state.funct["(noblockscopedvar)"]&&(state.funct["(scope)"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct["(scope)"].setExported(t.token.value,t.token)));if("="===state.tokens.next.id&&(advance("="),prefix||"undefined"!==state.tokens.next.id||warning("W080",state.tokens.prev,state.tokens.prev.value),!prefix&&"="===peek(0).id&&state.tokens.next.identifier&&warning("W120",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),","!==state.tokens.next.id)break;comma()}return letblock&&(advance(")"),block(!0,!0),statement.block=!0,state.funct["(scope)"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning("W104",state.tokens.curr,"class","6"),isStatement?(this.name=identifier(),state.funct["(scope)"].addlabel(this.name,{type:"class",token:state.tokens.curr})):state.tokens.next.identifier&&"extends"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;"extends"===state.tokens.next.value&&(advance("extends"),c.heritage=expression(10)),state.inClassBody=!0,advance("{"),c.body=classbody(c),advance("}"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;"}"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,";"!==name.id){if("*"===name.id&&(isGenerator=!0,advance("*"),name=state.tokens.next),"["===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning("W052",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&"static"===name.value&&(checkPunctuator(state.tokens.next,"*")&&(isGenerator=!0,advance("*")),(isPropertyName(state.tokens.next)||"["===state.tokens.next.id)&&(computed="["===state.tokens.next.id,isStatic=!0,name=state.tokens.next,"["===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||"get"!==name.value&&"set"!==name.value||(isPropertyName(state.tokens.next)||"["===state.tokens.next.id)&&(computed="["===state.tokens.next.id,getset=name,name=state.tokens.next,"["===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,"(")){for(error("E054",state.tokens.next,state.tokens.next.value);"}"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,"(");)advance();"("!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):("constructor"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&"constructor"===name.value){var propDesc="get"===getset.value?"class getter method":"class setter method";error("E049",name,propDesc,"constructor")}else"prototype"===name.value&&error("E049",name,"class method","prototype");propertyName(name),doFunction({statement:c,type:isGenerator?"generator":null,classExprBinding:c.namedExpr?c.name:null})}else warning("W032"),advance(";");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=["key","class method","static class method"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&"__proto__"!==name?warning("W075",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName="get"===accessorType?"getterToken":"setterToken",msg="";isClass?(isStatic&&(msg+="static "),msg+=accessorType+"ter method"):msg="key",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&"__proto__"!==name&&warning("W075",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance("["),state.inES6()||warning("W119",state.tokens.curr,"computed property names","6");var value=expression(10);return advance("]"),value}function checkPunctuators(token,values){return"(punctuator)"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return"(punctuator)"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning("W104",state.tokens.curr,"destructuring assignment","6"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance("{"),"}"!==state.tokens.next.id)for(;;){if("(end)"===state.tokens.next.id)error("E026",state.tokens.next,t.line);else{if("}"===state.tokens.next.id){warning("W094",state.tokens.curr);break}","===state.tokens.next.id?error("E028",state.tokens.next):"(string)"!==state.tokens.next.id&&warning("W095",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning("W075",state.tokens.next,"key",state.tokens.next.value):"__proto__"===state.tokens.next.value&&!state.option.proto||"__iterator__"===state.tokens.next.value&&!state.option.iterator?warning("W096",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(":"),jsonValue(),","!==state.tokens.next.id)break;advance(",")}advance("}")}function jsonArray(){var t=state.tokens.next;if(advance("["),"]"!==state.tokens.next.id)for(;;){if("(end)"===state.tokens.next.id)error("E027",state.tokens.next,t.line);else{if("]"===state.tokens.next.id){warning("W094",state.tokens.curr);break}","===state.tokens.next.id&&error("E028",state.tokens.next)}if(jsonValue(),","!==state.tokens.next.id)break;advance(",")}advance("]")}switch(state.tokens.next.id){case"{":jsonObject();break;case"[":jsonArray();break;case"true":case"false":case"null":case"(number)":case"(string)":advance();break;case"-":advance("-"),advance("(number)");break;default:error("E003",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},functionicity=["closure","exception","global","label","outer","unused","var"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=["xml","unknown"],typeofValues.es3=["undefined","boolean","number","string","function","object"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat("symbol"),type("(number)",function(){return this}),type("(string)",function(){return this}),state.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var v=this.value;return"=>"===state.tokens.next.id?this:(state.funct["(comparray)"].check(v)||state.funct["(scope)"].block.use(v,state.tokens.curr),this)},led:function(){error("E033",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax["(template)"]=_.extend({type:"(template)",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax["(template middle)"]=_.extend({type:"(template middle)",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax["(template tail)"]=_.extend({type:"(template tail)",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax["(no subst template)"]=_.extend({type:"(template)",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type("(regexp)",function(){return this}),delim("(endline)"),delim("(begin)"),delim("(end)").reach=!0,delim("(error)").reach=!0,delim("}").reach=!0,delim(")"),delim("]"),delim(\'"\').reach=!0,delim("\'").reach=!0,delim(";"),delim(":").reach=!0,delim("#"),reserve("else"),reserve("case").reach=!0,reserve("catch"),reserve("default").reach=!0,reserve("finally"),reservevar("arguments",function(x){state.isStrict()&&state.funct["(global)"]&&warning("E008",x)}),reservevar("eval"),reservevar("false"),reservevar("Infinity"),reservevar("null"),reservevar("this",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct["(statement)"]&&state.funct["(name)"].charAt(0)>"Z"||state.funct["(global)"])&&warning("W040",x)}),reservevar("true"),reservevar("undefined"),assignop("=","assign",20),assignop("+=","assignadd",20),assignop("-=","assignsub",20),assignop("*=","assignmult",20),assignop("/=","assigndiv",20).nud=function(){error("E014")},assignop("%=","assignmod",20),bitwiseassignop("&="),bitwiseassignop("|="),bitwiseassignop("^="),bitwiseassignop("<<="),bitwiseassignop(">>="),bitwiseassignop(">>>="),infix(",",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning("W127"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),","!==state.tokens.next.value||!comma())break}return that},10,!0),infix("?",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(":"),that["else"]=expression(10),that},30);var orPrecendence=40;infix("||",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix("&&","and",50),bitwise("|","bitor",70),bitwise("^","bitxor",80),bitwise("&","bitand",90),relation("==",function(left,right){var eqnull=state.option.eqnull&&("null"===(left&&left.value)||"null"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning("W116",this,"===","==");break;case isPoorRelation(left):warning("W041",this,"===",left.value);break;case isPoorRelation(right):warning("W041",this,"===",right.value);break;case isTypoTypeof(right,left,state):warning("W122",this,right.value);break;case isTypoTypeof(left,right,state):warning("W122",this,left.value)}return this}),relation("===",function(left,right){return isTypoTypeof(right,left,state)?warning("W122",this,right.value):isTypoTypeof(left,right,state)&&warning("W122",this,left.value),this}),relation("!=",function(left,right){var eqnull=state.option.eqnull&&("null"===(left&&left.value)||"null"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning("W116",this,"!==","!=")):isPoorRelation(left)?warning("W041",this,"!==",left.value):isPoorRelation(right)?warning("W041",this,"!==",right.value):isTypoTypeof(right,left,state)?warning("W122",this,right.value):isTypoTypeof(left,right,state)&&warning("W122",this,left.value),this}),relation("!==",function(left,right){return isTypoTypeof(right,left,state)?warning("W122",this,right.value):isTypoTypeof(left,right,state)&&warning("W122",this,left.value),this}),relation("<"),relation(">"),relation("<="),relation(">="),bitwise("<<","shiftleft",120),bitwise(">>","shiftright",120),bitwise(">>>","shiftrightunsigned",120),infix("in","in",120),infix("instanceof","instanceof",120),infix("+",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&"(string)"===left.id&&"(string)"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&&reg.javascriptURL.test(left.value)&&warning("W050",left),left):that},130),prefix("+","num"),prefix("+++",function(){return warning("W007"),this.arity="unary",this.right=expression(150),this}),infix("+++",function(left){return warning("W007"),this.left=left,this.right=expression(130),this},130),infix("-","sub",130),prefix("-","neg"),prefix("---",function(){return warning("W006"),this.arity="unary",this.right=expression(150),this}),infix("---",function(left){return warning("W006"),this.left=left,this.right=expression(130),this},130),infix("*","mult",140),infix("/","div",140),infix("%","mod",140),suffix("++"),prefix("++","preinc"),state.syntax["++"].exps=!0,suffix("--"),prefix("--","predec"),state.syntax["--"].exps=!0,prefix("delete",function(){var p=expression(10);return p?("."!==p.id&&"["!==p.id&&warning("W051"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix("~",function(){return state.option.bitwise&&warning("W016",this,"~"),this.arity="unary",this.right=expression(150),this}),prefix("...",function(){return state.inES6(!0)||warning("W119",this,"spread/rest operator","6"),state.tokens.next.identifier||"(string)"===state.tokens.next.type||checkPunctuators(state.tokens.next,["[","("])||error("E030",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix("!",function(){return this.arity="unary",this.right=expression(150),this.right||quit("E041",this.line||0),bang[this.right.id]===!0&&warning("W018",this,"!"),this}),prefix("typeof",function(){var p=expression(150);return this.first=this.right=p,p||quit("E041",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix("new",function(){var mp=metaProperty("target",function(){state.inES6(!0)||warning("W119",state.tokens.prev,"new.target","6");for(var inFunction,c=state.funct;c&&(inFunction=!c["(global)"],c["(arrow)"]);)c=c["(context)"];inFunction||warning("W136",state.tokens.prev,"new.target")});if(mp)return mp;var i,c=expression(155);if(c&&"function"!==c.id)if(c.identifier)switch(c["new"]=!0,c.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":warning("W053",state.tokens.prev,c.value);break;case"Symbol":state.inES6()&&warning("W053",state.tokens.prev,c.value);break;case"Function":state.option.evil||warning("W054");break;case"Date":case"RegExp":case"this":break;default:"function"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&("A">i||i>"Z")&&!state.funct["(scope)"].isPredefined(c.value)&&warning("W055",state.tokens.curr))}else"."!==c.id&&"["!==c.id&&"("!==c.id&&warning("W056",state.tokens.curr);else state.option.supernew||warning("W057",this);return"("===state.tokens.next.id||state.option.supernew||warning("W058",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax["new"].exps=!0,prefix("void").exps=!0,infix(".",function(left,that){var m=identifier(!1,!0);return"string"==typeof m&&countMember(m),that.left=left,that.right=m,m&&"hasOwnProperty"===m&&"="===state.tokens.next.value&&warning("W001"),!left||"arguments"!==left.value||"callee"!==m&&"caller"!==m?state.option.evil||!left||"document"!==left.value||"write"!==m&&"writeln"!==m||warning("W060",left):state.option.noarg?warning("W059",left,m):state.isStrict()&&error("E008"),state.option.evil||"eval"!==m&&"execScript"!==m||isGlobalEval(left,state)&&warning("W061"),that},160,!0),infix("(",function(left,that){state.option.immed&&left&&!left.immed&&"function"===left.id&&warning("W062");var n=0,p=[];if(left&&"(identifier)"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1==="Array Number String Boolean Date Object Error Symbol".indexOf(left.value)&&("Math"===left.value?warning("W063",left):state.option.newcap&&warning("W064",left)),")"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,","===state.tokens.next.id;)comma();return advance(")"),"object"==typeof left&&(state.inES5()||"parseInt"!==left.value||1!==n||warning("W065",state.tokens.curr),state.option.evil||("eval"===left.value||"Function"===left.value||"execScript"===left.value?(warning("W061",left),p[0]&&"(string)"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||"(string)"!==p[0].id||"setTimeout"!==left.value&&"setInterval"!==left.value?!p[0]||"(string)"!==p[0].id||"."!==left.value||"window"!==left.left.value||"setTimeout"!==left.right&&"setInterval"!==left.right||(warning("W066",left),addInternalSrc(left,p[0].value)):(warning("W066",left),addInternalSrc(left,p[0].value))),left.identifier||"."===left.id||"["===left.id||"=>"===left.id||"("===left.id||"&&"===left.id||"||"===left.id||"?"===left.id||state.inES6()&&left["(name)"]||warning("W067",that)),that.left=left,that},155,!0).exps=!0,prefix("(",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do"("===pn.value?parens+=1:")"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||")"!==pn1.value)&&";"!==pn.value&&"(end)"!==pn.type);if("function"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),"=>"===pn.value)return doFunction({type:"arrow",parsedOpening:!0});var exprs=[];if(")"!==state.tokens.next.id)for(;exprs.push(expression(10)),","===state.tokens.next.id;)state.option.nocomma&&warning("W127"),comma();return advance(")",this),state.option.immed&&exprs[0]&&"function"===exprs[0].id&&"("!==state.tokens.next.id&&"."!==state.tokens.next.id&&"["!==state.tokens.next.id&&warning("W068",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[","]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&("{"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||"}"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||"{"===ret.id&&"=>"===preceeding.id||"(number)"===ret.type&&checkPunctuator(pn,".")&&/^\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp<state.tokens.next.lbp),isNecessary||warning("W126",opening),ret.paren=!0),ret):void 0}),application("=>"),infix("[",function(left,that){var s,e=expression(10);return e&&"(string)"===e.type&&(state.option.evil||"eval"!==e.value&&"execScript"!==e.value||isGlobalEval(left,state)&&warning("W061"),countMember(e.value),!state.option.sub&&reg.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning("W069",state.tokens.prev,e.value))),advance("]",that),e&&"hasOwnProperty"===e.value&&"="===state.tokens.next.value&&warning("W001"),that.left=left,that.right=e,that},160,!0),prefix("[",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning("W118",state.tokens.curr,"array comprehension"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));"(end)"!==state.tokens.next.id;){for(;","===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning("W128");do advance(",");while(","===state.tokens.next.id);continue}warning("W070")}advance(",")}if("]"===state.tokens.next.id)break;if(this.first.push(expression(10)),","!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),"]"===state.tokens.next.id&&!state.inES5()){warning("W070",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance("]",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;"}"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||","!==peekIgnoreEOL().id&&"}"!==peekIgnoreEOL().id)if(":"===peek().id||"get"!==nextVal&&"set"!==nextVal){if("*"===state.tokens.next.value&&"(punctuator)"===state.tokens.next.type?(state.inES6()||warning("W104",state.tokens.next,"generator functions","6"),advance("*"),isGeneratorMethod=!0):isGeneratorMethod=!1,"["===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),"string"!=typeof i)break;"("===state.tokens.next.value?(state.inES6()||warning("W104",state.tokens.curr,"concise methods","6"),doFunction({type:isGeneratorMethod?"generator":null})):(advance(":"),expression(10))}else advance(nextVal),state.inES5()||error("E034"),i=propertyName(),i||state.inES6()||error("E035"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f["(params)"],"get"===nextVal&&i&&p?warning("W076",t,p[0],i):"set"!==nextVal||!i||p&&1===p.length||warning("W077",t,i);else state.inES6()||warning("W104",state.tokens.next,"object short notation","6"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),","!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),","===state.tokens.next.id?warning("W070",state.tokens.curr):"}"!==state.tokens.next.id||state.inES5()||warning("W070",state.tokens.curr)}return b&&(indent-=state.option.indent),advance("}",this),checkProperties(props),this},x.fud=function(){error("E036",state.tokens.curr)}}(delim("{"));var conststatement=stmt("const",function(context){return blockVariableStatement("const",this,context)});conststatement.exps=!0;var letstatement=stmt("let",function(context){return blockVariableStatement("let",this,context)});letstatement.exps=!0;var varstatement=stmt("var",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains(["{","["],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning("W132",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct["(global)"]&&(predefined[t.id]===!1?warning("W079",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning("W129",t.token,t.id)),t.id&&("for"===implied?(state.funct["(scope)"].has(t.id)||report&&warning("W088",t.token,t.id),state.funct["(scope)"].block.use(t.id,t.token)):(state.funct["(scope)"].addlabel(t.id,{type:"var",token:t.token}),lone&&inexport&&state.funct["(scope)"].setExported(t.id,t.token)),names.push(t.token)));if("="===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance("="),prefix||!report||state.funct["(loopage)"]||"undefined"!==state.tokens.next.id||warning("W080",state.tokens.prev,state.tokens.prev.value),"="===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct["(params)"]||-1===state.funct["(params)"].indexOf(state.tokens.next.value))&&warning("W120",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),","!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt("class",function(){return classdef.call(this,!0)}),blockstmt("function",function(context){var inexport=context&&context.inexport,generator=!1;"*"===state.tokens.next.value&&(advance("*"),state.inES6({strict:!0})?generator=!0:warning("W119",state.tokens.curr,"function*","6")),inblock&&warning("W082",state.tokens.curr);var i=optionalidentifier();return state.funct["(scope)"].addlabel(i,{type:"function",token:state.tokens.curr}),void 0===i?warning("W025"):inexport&&state.funct["(scope)"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?"generator":null,ignoreLoopFunc:inblock}),"("===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error("E039"),this}),prefix("function",function(){var generator=!1;"*"===state.tokens.next.value&&(state.inES6()||warning("W119",state.tokens.curr,"function*","6"),advance("*"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?"generator":null}),this}),blockstmt("if",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance("(");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type="(punctuator)"===expr.type&&"!"===expr.value?"(negative)":"(positive)"),advance(")",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&"(negative)"===forinifcheck.type&&s&&s[0]&&"(identifier)"===s[0].type&&"continue"===s[0].value&&(forinifcheck.type="(negative-with-continue)"),"else"===state.tokens.next.id&&(advance("else"),"if"===state.tokens.next.id||"switch"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt("try",function(){function doCatch(){if(advance("catch"),advance("("),state.funct["(scope)"].stack("catchparams"),checkPunctuators(state.tokens.next,["[","{"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct["(scope)"].addParam(token.id,token,"exception")})}else"(identifier)"!==state.tokens.next.type?warning("E030",state.tokens.next,state.tokens.next.value):state.funct["(scope)"].addParam(identifier(),state.tokens.curr,"exception");"if"===state.tokens.next.value&&(state.inMoz()||warning("W118",state.tokens.curr,"catch filter"),advance("if"),expression(0)),advance(")"),block(!1),state.funct["(scope)"].unstack()}var b;for(block(!0);"catch"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning("W118",state.tokens.next,"multiple catch blocks"),doCatch(),b=!0;return"finally"===state.tokens.next.id?(advance("finally"),block(!0),void 0):(b||error("E021",state.tokens.next,"catch",state.tokens.next.value),this)}),blockstmt("while",function(){var t=state.tokens.next;return state.funct["(breakage)"]+=1,state.funct["(loopage)"]+=1,increaseComplexityCount(),advance("("),checkCondAssignment(expression(0)),advance(")",t),block(!0,!0),state.funct["(breakage)"]-=1,state.funct["(loopage)"]-=1,this}).labelled=!0,blockstmt("with",function(){var t=state.tokens.next;return state.isStrict()?error("E010",state.tokens.curr):state.option.withstmt||warning("W085",state.tokens.curr),advance("("),expression(0),advance(")",t),block(!0,!0),this}),blockstmt("switch",function(){var t=state.tokens.next,g=!1,noindent=!1;\nfor(state.funct["(breakage)"]+=1,advance("("),checkCondAssignment(expression(0)),advance(")",t),t=state.tokens.next,advance("{"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case"case":switch(state.funct["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:state.tokens.curr.caseFallsThrough||warning("W086",state.tokens.curr,"case")}advance("case"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(":"),state.funct["(verb)"]="case";break;case"default":switch(state.funct["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning("W086",state.tokens.curr,"default"))}advance("default"),g=!0,advance(":");break;case"}":return noindent||(indent-=state.option.indent),advance("}",t),state.funct["(breakage)"]-=1,state.funct["(verb)"]=void 0,void 0;case"(end)":return error("E023",state.tokens.next,"}"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case",":return error("E040"),void 0;case":":g=!1,statements();break;default:return error("E025",state.tokens.curr),void 0}else{if(":"!==state.tokens.curr.id)return error("E021",state.tokens.next,"case",state.tokens.next.value),void 0;advance(":"),error("E024",state.tokens.curr,":"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt("debugger",function(){return state.option.debug||warning("W087",this),this}).exps=!0,function(){var x=stmt("do",function(){state.funct["(breakage)"]+=1,state.funct["(loopage)"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance("while");var t=state.tokens.next;return advance("("),checkCondAssignment(expression(0)),advance(")",t),state.funct["(breakage)"]-=1,state.funct["(loopage)"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt("for",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;"each"===t.value&&(foreachtok=t,advance("each"),state.inMoz()||warning("W118",state.tokens.curr,"for each")),increaseComplexityCount(),advance("(");var nextop,comma,initializer,i=0,inof=["in","of"],level=0;checkPunctuators(state.tokens.next,["{","["])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,["{","["])?++level:checkPunctuators(nextop,["}","]"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,",")?comma=nextop:!initializer&&checkPunctuator(nextop,"=")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&";"!==nextop.value&&"(end)"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||"of"!==nextop.value||warning("W104",nextop,"for of","6");var ok=!(initializer||comma);if(initializer&&error("W133",comma,nextop.value,"initializer is forbidden"),comma&&error("W133",comma,nextop.value,"more than one ForBinding"),"var"===state.tokens.next.id?(advance("var"),state.tokens.curr.fud({prefix:!0})):"let"===state.tokens.next.id||"const"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct["(scope)"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:"for",ignore:!ok}),advance(nextop.value),expression(20),advance(")",t),"in"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:"(none)"})),state.funct["(breakage)"]+=1,state.funct["(loopage)"]+=1,s=block(!0,!0),"in"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&("object"!=typeof s[0]||"if"!==s[0].value)||"(positive)"===check.type&&s.length>1||"(negative)"===check.type)&&warning("W089",this)}state.forinifcheckneeded=!1}state.funct["(breakage)"]-=1,state.funct["(loopage)"]-=1}else{if(foreachtok&&error("E045",foreachtok),";"!==state.tokens.next.id)if("var"===state.tokens.next.id)advance("var"),state.tokens.curr.fud();else if("let"===state.tokens.next.id)advance("let"),letscope=!0,state.funct["(scope)"].stack(),state.tokens.curr.fud();else for(;expression(0,"for"),","===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(";"),state.funct["(loopage)"]+=1,";"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(";"),";"===state.tokens.next.id&&error("E021",state.tokens.next,")",";"),")"!==state.tokens.next.id)for(;expression(0,"for"),","===state.tokens.next.id;)comma();advance(")",t),state.funct["(breakage)"]+=1,block(!0,!0),state.funct["(breakage)"]-=1,state.funct["(loopage)"]-=1}return letscope&&state.funct["(scope)"].unstack(),this}).labelled=!0,stmt("break",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),";"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct["(breakage)"]&&warning("W052",state.tokens.next,this.value):(state.funct["(scope)"].funct.hasBreakLabel(v)||warning("W090",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt("continue",function(){var v=state.tokens.next.value;return 0===state.funct["(breakage)"]&&warning("W052",state.tokens.next,this.value),state.funct["(loopage)"]||warning("W052",state.tokens.next,this.value),state.option.asi||nolinebreak(this),";"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct["(scope)"].funct.hasBreakLabel(v)||warning("W090",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt("return",function(){return this.line===startLine(state.tokens.next)?";"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||"(punctuator)"!==this.first.type||"="!==this.first.value||this.first.paren||state.option.boss||warningAt("W093",this.first.line,this.first.character)):"(punctuator)"===state.tokens.next.type&&["[","{","+","-"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix("yield",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct["(generator)"]?"(catch)"===state.funct["(name)"]&&state.funct["(context)"]["(generator)"]||error("E046",state.tokens.curr,"yield"):state.inES6()||warning("W104",state.tokens.curr,"yield","6"),state.funct["(generator)"]="yielded";var delegatingYield=!1;return"*"===state.tokens.next.value&&(delegatingYield=!0,advance("*")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||";"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),"(punctuator)"!==this.first.type||"="!==this.first.value||this.first.paren||state.option.boss||warningAt("W093",this.first.line,this.first.character)),state.inMoz()&&")"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||"yield"===prev.id)&&error("E050",this)),this})),stmt("throw",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt("import",function(){if(state.inES6()||warning("W119",state.tokens.curr,"import","6"),"(string)"===state.tokens.next.type)return advance("(string)"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct["(scope)"].addlabel(this.name,{type:"const",token:state.tokens.curr}),","!==state.tokens.next.value)return advance("from"),advance("(string)"),this;advance(",")}if("*"===state.tokens.next.id)advance("*"),advance("as"),state.tokens.next.identifier&&(this.name=identifier(),state.funct["(scope)"].addlabel(this.name,{type:"const",token:state.tokens.curr}));else for(advance("{");;){if("}"===state.tokens.next.value){advance("}");break}var importName;if("default"===state.tokens.next.type?(importName="default",advance("default")):importName=identifier(),"as"===state.tokens.next.value&&(advance("as"),importName=identifier()),state.funct["(scope)"].addlabel(importName,{type:"const",token:state.tokens.curr}),","!==state.tokens.next.value){if("}"===state.tokens.next.value){advance("}");break}error("E024",state.tokens.next,state.tokens.next.value);break}advance(",")}return advance("from"),advance("(string)"),this}).exps=!0,stmt("export",function(){var token,identifier,ok=!0;if(state.inES6()||(warning("W119",state.tokens.curr,"export","6"),ok=!1),state.funct["(scope)"].block.isGlobal()||(error("E053",state.tokens.curr),ok=!1),"*"===state.tokens.next.value)return advance("*"),advance("from"),advance("(string)"),this;if("default"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance("default");var exportType=state.tokens.next.id;return("function"===exportType||"class"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct["(scope)"].addlabel(identifier,{type:exportType,token:token}),state.funct["(scope)"].setExported(identifier,token)),this}if("{"===state.tokens.next.value){advance("{");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error("E030",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),"as"===state.tokens.next.value&&(advance("as"),state.tokens.next.identifier||error("E030",state.tokens.next,state.tokens.next.value),advance()),","!==state.tokens.next.value){if("}"===state.tokens.next.value){advance("}");break}error("E024",state.tokens.next,state.tokens.next.value);break}advance(",")}return"from"===state.tokens.next.value?(advance("from"),advance("(string)")):ok&&exportedTokens.forEach(function(token){state.funct["(scope)"].setExported(token.value,token)}),this}if("var"===state.tokens.next.id)advance("var"),state.tokens.curr.fud({inexport:!0});else if("let"===state.tokens.next.id)advance("let"),state.tokens.curr.fud({inexport:!0});else if("const"===state.tokens.next.id)advance("const"),state.tokens.curr.fud({inexport:!0});else if("function"===state.tokens.next.id)this.block=!0,advance("function"),state.syntax["function"].fud({inexport:!0});else if("class"===state.tokens.next.id){this.block=!0,advance("class");var classNameToken=state.tokens.next;state.syntax["class"].fud(),state.funct["(scope)"].setExported(classNameToken.value,classNameToken)}else error("E024",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord("abstract"),FutureReservedWord("boolean"),FutureReservedWord("byte"),FutureReservedWord("char"),FutureReservedWord("class",{es5:!0,nud:classdef}),FutureReservedWord("double"),FutureReservedWord("enum",{es5:!0}),FutureReservedWord("export",{es5:!0}),FutureReservedWord("extends",{es5:!0}),FutureReservedWord("final"),FutureReservedWord("float"),FutureReservedWord("goto"),FutureReservedWord("implements",{es5:!0,strictOnly:!0}),FutureReservedWord("import",{es5:!0}),FutureReservedWord("int"),FutureReservedWord("interface",{es5:!0,strictOnly:!0}),FutureReservedWord("long"),FutureReservedWord("native"),FutureReservedWord("package",{es5:!0,strictOnly:!0}),FutureReservedWord("private",{es5:!0,strictOnly:!0}),FutureReservedWord("protected",{es5:!0,strictOnly:!0}),FutureReservedWord("public",{es5:!0,strictOnly:!0}),FutureReservedWord("short"),FutureReservedWord("static",{es5:!0,strictOnly:!0}),FutureReservedWord("super",{es5:!0}),FutureReservedWord("synchronized"),FutureReservedWord("transient"),FutureReservedWord("volatile");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,["[","{"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,["[","{"])?bracketStack+=1:checkPunctuators(pn,["]","}"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&"for"===pn.value&&!checkPunctuator(prev,".")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,["}","]"])){if("="===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if("."===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,";")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&"(end)"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode="use",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning("W098",v.token,v.raw_text||v.value),v.undef&&state.funct["(scope)"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains(["use","define","generate","filter"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&"use"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&"define"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&"generate"===_current.mode?(state.funct["(scope)"].block.use(v,state.tokens.curr),!0):_current&&"filter"===_current.mode?(use(v)&&state.funct["(scope)"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,"\\\\$&")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||"object"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope="(main)"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;"-"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],("esversion"===optionKey&&5===o[optionKey]||"es5"===optionKey&&o[optionKey])&&warning("I003"),"newcap"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj["(explicitNewcap)"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on("warning",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on("error",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor("(global)",null,{"(global)":!0,"(scope)":scopeManagerInst,"(comparray)":arrayComprehension(),"(metrics)":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt("E004",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(" ").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax["(begin)"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+"[\\\\s\\\\S]*?"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,"ig"),s=s.replace(reIgnore,function(match){return match.replace(/./g," ")}))})),lex=new Lexer(s),lex.on("warning",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on("error",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on("fatal",function(ev){quit("E041",ev.line,ev.from)}),lex.on("Identifier",function(ev){emitter.emit("Identifier",ev)}),lex.on("String",function(ev){emitter.emit("String",ev)}),lex.on("Number",function(ev){emitter.emit("Number",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case"{":case"[":destructuringAssignOrJsonValue();break;default:directives(),state.directive["use strict"]&&"global"!==state.option.strict&&warning("W097",state.tokens.prev),statements()}"(end)"!==state.tokens.next.id&&quit("E041",state.tokens.curr.line),state.funct["(scope)"].unstack()}catch(err){if(!err||"JSHintError"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:"(main)",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if("(main)"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct["(scope)"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct["(scope)"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f["(name)"],fu.param=f["(params)"],fu.line=f["(line)"],fu.character=f["(character)"],fu.last=f["(last)"],fu.lastcharacter=f["(lastcharacter)"],fu.metrics={complexity:f["(metrics)"].ComplexityCount,parameters:f["(metrics)"].arity,statements:f["(metrics)"].statementCount},data.functions.push(fu)}var unuseds=state.funct["(scope)"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if("number"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();"object"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{"../lodash":"/node_modules/jshint/lodash.js","./lex.js":"/node_modules/jshint/src/lex.js","./messages.js":"/node_modules/jshint/src/messages.js","./options.js":"/node_modules/jshint/src/options.js","./reg.js":"/node_modules/jshint/src/reg.js","./scope-manager.js":"/node_modules/jshint/src/scope-manager.js","./state.js":"/node_modules/jshint/src/state.js","./style.js":"/node_modules/jshint/src/style.js","./vars.js":"/node_modules/jshint/src/vars.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/lex.js":[function(_dereq_,module,exports){"use strict";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;"string"==typeof lines&&(lines=lines.replace(/\\r\\n/g,"\\n").replace(/\\r/g,"\\n").split("\\n")),lines[0]&&"#!"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf("node")&&(state.option.node=!0),lines[0]=""),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=" ";this.ignoreLinterErrors=!1}var _=_dereq_("../lodash"),events=_dereq_("events"),reg=_dereq_("./reg.js"),state=_dereq_("./state.js").state,unicodeData=_dereq_("../data/ascii-identifier-data.js"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(" ").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if("."===this.peek(1)&&"."===this.peek(2))return{type:Token.Punctuator,value:"..."};case"(":case")":case";":case",":case"[":case"]":case":":case"~":case"?":return{type:Token.Punctuator,value:ch1};case"{":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case"}":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case"#":return{type:Token.Punctuator,value:ch1};case"":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),">"===ch1&&">"===ch2&&">"===ch3&&"="===ch4?{type:Token.Punctuator,value:">>>="}:"="===ch1&&"="===ch2&&"="===ch3?{type:Token.Punctuator,value:"==="}:"!"===ch1&&"="===ch2&&"="===ch3?{type:Token.Punctuator,value:"!=="}:">"===ch1&&">"===ch2&&">"===ch3?{type:Token.Punctuator,value:">>>"}:"<"===ch1&&"<"===ch2&&"="===ch3?{type:Token.Punctuator,value:"<<="}:">"===ch1&&">"===ch2&&"="===ch3?{type:Token.Punctuator,value:">>="}:"="===ch1&&">"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&"+-<>&|".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:"<>=!+-*%&|^".indexOf(ch1)>=0?"="===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:"/"===ch1?"="===ch2?{type:Token.Punctuator,value:"/="}:{type:Token.Punctuator,value:"/"}:null},scanComments:function(){function commentToken(label,body,opt){var special=["jshint","jslint","members","member","globals","global","exported"],isSpecial=!1,value=label+body,commentType="plain";return opt=opt||{},opt.isMultiline&&(value+="*/"),body=body.replace(/\\n/g," "),"/*"===label&&reg.fallsThrough.test(body)&&(isSpecial=!0,commentType="falls through"),special.forEach(function(str){if(!isSpecial&&("//"!==label||"jshint"===str)&&(" "===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||" "!==body.charAt(0)||" "!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+" "+str,body=body.substr(str.length+1)),isSpecial))switch(str){case"member":commentType="members";break;case"global":commentType="globals";break;default:var options=body.split(":").map(function(v){return v.replace(/^\\s+/,"").replace(/\\s+$/,"")});if(2===options.length)switch(options[0]){case"ignore":switch(options[1]){case"start":self.ignoringLinterErrors=!0,isSpecial=!1;break;case"end":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if("*"===ch1&&"/"===ch2)return this.trigger("error",{code:"E018",line:startLine,character:startChar}),this.skip(2),null;if("/"!==ch1||"*"!==ch2&&"/"!==ch2)return null;if("/"===ch2)return this.skip(this.input.length),commentToken("//",rest);var body="";if("*"===ch2){for(this.inComment=!0,this.skip(2);"*"!==this.peek()||"/"!==this.peek(1);)if(""===this.peek()){if(body+="\\n",!this.nextLine())return this.trigger("error",{code:"E017",line:startLine,character:startChar}),this.inComment=!1,commentToken("/*",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken("/*",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id="",index=0,readUnicodeEscapeSequence=function(){if(index+=1,"u"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,"\\\\u"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case"true":case"false":type=Token.BooleanLiteral;break;case"null":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return"$"===ch||"_"===ch||"\\\\"===ch||ch>="a"&&"z">=ch||ch>="A"&&"Z">=ch}var bad,index=0,value="",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if("."!==char&&!isDecimalDigit(char))return null;if("."!==char){for(value=this.peek(index),index+=1,char=this.peek(index),"0"===value&&(("x"===char||"X"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),("o"===char||"O"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger("warning",{code:"W119",line:this.line,character:this.char,data:["Octal integer literal","6"]}),index+=1,value+=char),("b"===char||"B"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger("warning",{code:"W119",line:this.line,character:this.char,data:["Binary integer literal","6"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if("."===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if("e"===char||"E"===char){if(value+=char,index+=1,char=this.peek(index),("+"===char||"-"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case"\'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\\\\'"]},checks,function(){return state.jsonMode});break;case"b":char="\\\\b";break;case"f":char="\\\\f";break;case"n":char="\\\\n";break;case"r":char="\\\\r";break;case"t":char="\\\\t";break;case"0":char="\\\\0";var n=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case"u":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger("warning",{code:"W052",line:this.line,character:this.char,data:["u"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\\\v"]},checks,function(){return state.jsonMode}),char="\v";break;case"x":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\\\x-"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case"\\\\":char="\\\\\\\\";break;case\'"\':char=\'\\\\"\';break;case"/":break;case"":allowNewLine=!0,char=""}return{"char":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value="",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if("`"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,"char":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||"}"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;"`"!==this.peek();){for(;""===(ch=this.peek());)if(value+="\\n",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger("error",{code:"E052",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if("$"===ch&&"{"===this.peek(1))return value+="${",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\nif("\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else"`"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if(\'"\'!==quote&&"\'"!==quote)return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},checks,function(){return state.jsonMode&&\'"\'!==quote});var value="",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(""===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char}),!this.nextLine())return this.trigger("error",{code:"E029",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(" ">char&&this.trigger("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]}),"\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body="",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){" ">char&&(malformed=!0,this.trigger("warning",{code:"W048",line:this.line,character:this.char})),"<"===char&&(malformed=!0,this.trigger("warning",{code:"W049",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||"/"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)"]"===char&&("\\\\"!==this.peek(index-1)||"\\\\"===this.peek(index-2))&&(isCharSet=!1),"\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if("\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),"/"===char){index+=1;continue}if("["===char){index+=1;continue}}if("["!==char){if("/"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(""))}catch(err){malformed=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\s/.test(this.peek()))for(start=this.char;/\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith("/*","//")||this.inComment&&endsWith("*/")||(this.input="")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger("warning",{code:"W125",line:this.line,character:char+1}),this.input=this.input.replace(/\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger("warning",{code:"W100",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen<this.input.length){var inComment=this.inComment||startsWith.call(inputTrimmed,"//")||startsWith.call(inputTrimmed,"/*"),shouldTriggerError=!inComment||!reg.maxlenException.test(inputTrimmed);shouldTriggerError&&this.trigger("warning",{code:"W101",line:this.line,character:this.input.length})}return!0},start:function(){this.nextLine()},token:function(){function isReserved(token,isProperty){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(isProperty)return!1}return!0}for(var token,checks=asyncTrigger(),create=function(type,value,isProperty,token){var obj;if("(endline)"!==type&&"(end)"!==type&&(this.prereg=!1),"(punctuator)"===type){switch(value){case".":case")":case"~":case"#":case"]":case"++":case"--":this.prereg=!1;break;default:this.prereg=!0}obj=Object.create(state.syntax[value]||state.syntax["(error)"])}return"(identifier)"===type&&(("return"===value||"case"===value||"typeof"===value)&&(this.prereg=!0),_.has(state.syntax,value)&&(obj=Object.create(state.syntax[value]||state.syntax["(error)"]),isReserved(obj,isProperty&&"(identifier)"===type)||(obj=null))),obj||(obj=Object.create(state.syntax[type])),obj.identifier="(identifier)"===type,obj.type=obj.type||type,obj.value=value,obj.line=this.line,obj.character=this.char,obj.from=this.from,obj.identifier&&token&&(obj.raw_text=token.text||token.value),token&&token.startLine&&token.startLine!==this.line&&(obj.startLine=token.startLine),token&&token.context&&(obj.context=token.context),token&&token.depth&&(obj.depth=token.depth),token&&token.isUnclosed&&(obj.isUnclosed=token.isUnclosed),isProperty&&obj.identifier&&(obj.isProperty=isProperty),obj.check=checks.check,obj}.bind(this);;){if(!this.input.length)return this.nextLine()?create("(endline)",""):this.exhausted?null:(this.exhausted=!0,create("(end)",""));if(token=this.next(checks))switch(token.type){case Token.StringLiteral:return this.triggerAsync("String",{line:this.line,"char":this.char,from:this.from,startLine:token.startLine,startChar:token.startChar,value:token.value,quote:token.quote},checks,function(){return!0}),create("(string)",token.value,null,token);case Token.TemplateHead:return this.trigger("TemplateHead",{line:this.line,"char":this.char,from:this.from,startLine:token.startLine,startChar:token.startChar,value:token.value}),create("(template)",token.value,null,token);case Token.TemplateMiddle:return this.trigger("TemplateMiddle",{line:this.line,"char":this.char,from:this.from,startLine:token.startLine,startChar:token.startChar,value:token.value}),create("(template middle)",token.value,null,token);case Token.TemplateTail:return this.trigger("TemplateTail",{line:this.line,"char":this.char,from:this.from,startLine:token.startLine,startChar:token.startChar,value:token.value}),create("(template tail)",token.value,null,token);case Token.NoSubstTemplate:return this.trigger("NoSubstTemplate",{line:this.line,"char":this.char,from:this.from,startLine:token.startLine,startChar:token.startChar,value:token.value}),create("(no subst template)",token.value,null,token);case Token.Identifier:this.triggerAsync("Identifier",{line:this.line,"char":this.char,from:this.form,name:token.value,raw_name:token.text,isProperty:"."===state.tokens.curr.id},checks,function(){return!0});case Token.Keyword:case Token.NullLiteral:case Token.BooleanLiteral:return create("(identifier)",token.value,"."===state.tokens.curr.id,token);case Token.NumericLiteral:return token.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[token.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},checks,function(){return 16===token.base&&state.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},checks,function(){return state.isStrict()&&8===token.base&&token.isLegacy}),this.trigger("Number",{line:this.line,"char":this.char,from:this.from,value:token.value,base:token.base,isMalformed:token.malformed}),create("(number)",token.value);case Token.RegExp:return create("(regexp)",token.value);case Token.Comment:if(state.tokens.curr.comment=!0,token.isSpecial)return{id:"(comment)",value:token.value,body:token.body,type:token.commentType,isSpecial:token.isSpecial,line:this.line,character:this.char,from:this.from};break;case"":break;default:return create("(punctuator)",token.value)}else this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="")}}},exports.Lexer=Lexer,exports.Context=Context},{"../data/ascii-identifier-data.js":"/node_modules/jshint/data/ascii-identifier-data.js","../lodash":"/node_modules/jshint/lodash.js","./reg.js":"/node_modules/jshint/src/reg.js","./state.js":"/node_modules/jshint/src/state.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/messages.js":[function(_dereq_,module,exports){"use strict";var _=_dereq_("../lodash"),errors={E001:"Bad option: \'{a}\'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:\'Missing "use strict" statement.\',E008:"Strict violation.",E009:"Option \'validthis\' can\'t be used in a global scope.",E010:"\'with\' is not allowed in strict mode.",E011:"\'{a}\' has already been declared.",E012:"const \'{a}\' is initialized to \'undefined\'.",E013:"Attempting to override \'{a}\' which is a constant.",E014:"A regular expression literal can be confused with \'/=\'.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched \'{a}\'.",E020:"Expected \'{a}\' to match \'{b}\' from line {c} and instead saw \'{d}\'.",E021:"Expected \'{a}\' and instead saw \'{b}\'.",E022:"Line breaking error \'{a}\'.",E023:"Missing \'{a}\'.",E024:"Unexpected \'{a}\'.",E025:"Missing \':\' on a case clause.",E026:"Missing \'}\' to match \'{\' from line {a}.",E027:"Missing \']\' to match \'[\' from line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw \'{a}\'.",E031:"Bad assignment.",E032:"Expected a small integer or \'false\' and instead saw \'{a}\'.",E033:"Expected an operator and instead saw \'{a}\'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:null,E045:"Invalid for each loop.",E046:"A yield statement shall be within a generator function (with syntax: `function*`)",E047:null,E048:"{a} declaration not directly within block.",E049:"A {a} cannot be named \'{b}\'.",E050:"Mozilla acequires the yield expression to be parenthesized here.",E051:null,E052:"Unclosed template literal.",E053:"Export declaration must be in global scope.",E054:"Class properties must be methods. Expected \'(\' but instead saw \'{a}\'.",E055:"The \'{a}\' option cannot be set after any executable code.",E056:"\'{a}\' was used before it was declared, which is illegal for \'{b}\' variables.",E057:"Invalid meta property: \'{a}.{b}\'.",E058:"Missing semicolon."},warnings={W001:"\'hasOwnProperty\' is a really bad name.",W002:"Value of \'{a}\' may be overwritten in IE 8 and earlier.",W003:"\'{a}\' was used before it was defined.",W004:"\'{a}\' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing plusses.",W008:"A leading decimal point can be confused with a dot: \'{a}\'.",W009:"The array literal notation [] is preferable.",W010:"The object literal notation {} is preferable.",W011:null,W012:null,W013:null,W014:"Bad line breaking before \'{a}\'.",W015:null,W016:"Unexpected use of \'{a}\'.",W017:"Bad operand.",W018:"Confusing use of \'{a}\'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"Reassignment of \'{a}\', which is is a {b}. Use \'var\' or \'let\' to declare bindings that may change.",W022:"Do not assign to the exception parameter.",W023:"Expected an identifier in an assignment and instead saw a function invocation.",W024:"Expected an identifier and instead saw \'{a}\' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable \'{a}\' after \'{b}\'.",W028:"Label \'{a}\' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use \'new\' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:\'Unnecessary directive "{a}".\',W035:"Empty block.",W036:"Unexpected /*member \'{a}\'.",W037:"\'{a}\' is a statement label.",W038:"\'{a}\' used out of scope.",W039:"\'{a}\' is not allowed.",W040:"Possible strict violation.",W041:"Use \'{a}\' to compare with \'{b}\'.",W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number \'{a}\'.",W046:"Don\'t use extra leading zeros \'{a}\'.",W047:"A trailing decimal point can be confused with a dot: \'{a}\'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character \'{a}\' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected \'{a}\'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is \'new\' necessary?",W058:"Missing \'()\' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing \'new\' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"[\'{a}\'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function\'s cyclomatic complexity is too high. ({a})",W075:"Duplicate {a} \'{b}\'.",W076:"Unexpected parameter \'{a}\' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of \'{a}\'.",W080:"It\'s not necessary to initialize \'{a}\' to \'undefined\'.",W081:null,W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Don\'t make functions within a loop.",W084:"Assignment in conditional expression",W085:"Don\'t use \'with\'.",W086:"Expected a \'break\' statement before \'{a}\'.",W087:"Forgotten \'debugger\' statement?",W088:"Creating global \'for\' variable. Should be \'for (var {a} ...\'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"\'{a}\' is not a statement label.",W091:null,W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The \'{a}\' key may produce unexpected results.",W097:\'Use the function form of "use strict".\',W098:"\'{a}\' is defined but never used.",W099:null,W100:"This character may get silently deleted by one or more browsers.",W101:"Line is too long.",W102:null,W103:"The \'{a}\' property is deprecated.",W104:"\'{a}\' is available in ES{b} (use \'esversion: {b}\') or Mozilla JS extensions (use moz).",W105:"Unexpected {a} in \'{b}\'.",W106:"Identifier \'{a}\' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected \'{a}\' and instead saw \'{b}\'.",W117:"\'{a}\' is not defined.",W118:"\'{a}\' is only available in Mozilla JavaScript extensions (use moz option).",W119:"\'{a}\' is only available in ES{b} (use \'esversion: {b}\').",W120:"You might be leaking a variable ({a}) here.",W121:"Extending prototype of native object: \'{a}\'.",W122:"Invalid typeof value \'{a}\'",W123:"\'{a}\' is already defined in outer scope.",W124:"A generator function shall contain a yield statement.",W125:"This line contains non-breaking spaces: http://jshint.com/doc/options/#nonbsp",W126:"Unnecessary grouping operator.",W127:"Unexpected use of a comma operator.",W128:"Empty array elements acequire elision=true.",W129:"\'{a}\' is defined in a future version of JavaScript. Use a different variable name to avoid migration issues.",W130:"Invalid element after rest element.",W131:"Invalid parameter after rest parameter.",W132:"`var` declarations are forbidden. Use `let` or `const` instead.",W133:"Invalid for-{a} loop left-hand-side: {b}.",W134:"The \'{a}\' option is only available when linting ECMAScript {b} code.",W135:"{a} may not be supported by non-browser environments.",W136:"\'{a}\' must be in function scope.",W137:"Empty destructuring.",W138:"Regular parameters should not come after default parameters."},info={I001:"Comma warnings can be turned off with \'laxcomma\'.",I002:null,I003:"ES5 option is now set per default"};exports.errors={},exports.warnings={},exports.info={},_.each(errors,function(desc,code){exports.errors[code]={code:code,desc:desc}}),_.each(warnings,function(desc,code){exports.warnings[code]={code:code,desc:desc}}),_.each(info,function(desc,code){exports.info[code]={code:code,desc:desc}})},{"../lodash":"/node_modules/jshint/lodash.js"}],"/node_modules/jshint/src/name-stack.js":[function(_dereq_,module){"use strict";function NameStack(){this._stack=[]}Object.defineProperty(NameStack.prototype,"length",{get:function(){return this._stack.length}}),NameStack.prototype.push=function(){this._stack.push(null)},NameStack.prototype.pop=function(){this._stack.pop()},NameStack.prototype.set=function(token){this._stack[this.length-1]=token},NameStack.prototype.infer=function(){var type,nameToken=this._stack[this.length-1],prefix="";return nameToken&&"class"!==nameToken.type||(nameToken=this._stack[this.length-2]),nameToken?(type=nameToken.type,"(string)"!==type&&"(number)"!==type&&"(identifier)"!==type&&"default"!==type?"(expression)":(nameToken.accessorType&&(prefix=nameToken.accessorType+" "),prefix+nameToken.value)):"(empty)"},module.exports=NameStack},{}],"/node_modules/jshint/src/options.js":[function(_dereq_,module,exports){"use strict";exports.bool={enforcing:{bitwise:!0,freeze:!0,camelcase:!0,curly:!0,eqeqeq:!0,futurehostile:!0,notypeof:!0,es3:!0,es5:!0,forin:!0,funcscope:!0,immed:!0,iterator:!0,newcap:!0,noarg:!0,nocomma:!0,noempty:!0,nonbsp:!0,nonew:!0,undef:!0,singleGroups:!1,varstmt:!1,enforceall:!1},relaxing:{asi:!0,multistr:!0,debug:!0,boss:!0,evil:!0,globalstrict:!0,plusplus:!0,proto:!0,scripturl:!0,sub:!0,supernew:!0,laxbreak:!0,laxcomma:!0,validthis:!0,withstmt:!0,moz:!0,noyield:!0,eqnull:!0,lastsemic:!0,loopfunc:!0,expr:!0,esnext:!0,elision:!0},environments:{mootools:!0,couch:!0,jasmine:!0,jquery:!0,node:!0,qunit:!0,rhino:!0,shelljs:!0,prototypejs:!0,yui:!0,mocha:!0,module:!0,wsh:!0,worker:!0,nonstandard:!0,browser:!0,browserify:!0,devel:!0,dojo:!0,typed:!0,phantom:!0},obsolete:{onecase:!0,regexp:!0,regexdash:!0}},exports.val={maxlen:!1,indent:!1,maxerr:!1,predef:!1,globals:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,shadow:!1,strict:!0,unused:!0,latedef:!1,ignore:!1,ignoreDelimiters:!1,esversion:5},exports.inverted={bitwise:!0,forin:!0,newcap:!0,plusplus:!0,regexp:!0,undef:!0,eqeqeq:!0,strict:!0},exports.validNames=Object.keys(exports.val).concat(Object.keys(exports.bool.relaxing)).concat(Object.keys(exports.bool.enforcing)).concat(Object.keys(exports.bool.obsolete)).concat(Object.keys(exports.bool.environments)),exports.renamed={eqeq:"eqeqeq",windows:"wsh",sloppy:"strict"},exports.removed={nomen:!0,onevar:!0,passfail:!0,white:!0,gcl:!0,smarttabs:!0,trailing:!0},exports.noenforceall={varstmt:!0,strict:!0}},{}],"/node_modules/jshint/src/reg.js":[function(_dereq_,module,exports){"use strict";exports.unsafeString=/@cc|<\\/?|script|\\]\\s*\\]|<\\s*!|&lt/i,exports.unsafeChars=/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/,exports.needEsc=/[\\u0000-\\u001f&<"\\/\\\\\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/,exports.needEscGlobal=/[\\u0000-\\u001f&<"\\/\\\\\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,exports.starSlash=/\\*\\//,exports.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,exports.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\s*:/i,exports.fallsThrough=/^\\s*falls?\\sthrough\\s*$/,exports.maxlenException=/^(?:(?:\\/\\/|\\/\\*|\\*) ?)?[^ ]+$/},{}],"/node_modules/jshint/src/scope-manager.js":[function(_dereq_,module){"use strict";var _=_dereq_("../lodash"),events=_dereq_("events"),marker={},scopeManager=function(state,predefined,exported,declared){function _newScope(type){_current={"(labels)":Object.create(null),"(usages)":Object.create(null),"(breakLabels)":Object.create(null),"(parent)":_current,"(type)":type,"(params)":"functionparams"===type||"catchparams"===type?[]:null},_scopeStack.push(_current)}function warning(code,token){emitter.emit("warning",{code:code,token:token,data:_.slice(arguments,2)})}function error(code,token){emitter.emit("warning",{code:code,token:token,data:_.slice(arguments,2)})}function _setupUsages(labelName){_current["(usages)"][labelName]||(_current["(usages)"][labelName]={"(modified)":[],"(reassigned)":[],"(tokens)":[]})}function _checkForUnused(){if("functionparams"===_current["(type)"])return _checkParams(),void 0;var curentLabels=_current["(labels)"];for(var labelName in curentLabels)curentLabels[labelName]&&"exception"!==curentLabels[labelName]["(type)"]&&curentLabels[labelName]["(unused)"]&&_warnUnused(labelName,curentLabels[labelName]["(token)"],"var")}function _checkParams(){var params=_current["(params)"];if(params)for(var unused_opt,param=params.pop();param;){var label=_current["(labels)"][param];if(unused_opt=_getUnusedOption(state.funct["(unusedOption)"]),"undefined"===param)return;if(label["(unused)"])_warnUnused(param,label["(token)"],"param",state.funct["(unusedOption)"]);else if("last-param"===unused_opt)return;param=params.pop()}}function _getLabel(labelName){for(var i=_scopeStack.length-1;i>=0;--i){var scopeLabels=_scopeStack[i]["(labels)"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current["(usages)"][labelName])return current["(usages)"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if("outer"===state.option.shadow)for(var isGlobal="global"===_currentFunctBody["(type)"],isNewFunction="functionparams"===_current["(type)"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem["(labels)"][labelName]&&warning("W123",token,labelName),stackItem["(breakLabels)"][labelName]&&warning("W123",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&"function"===type||"function"!==type)&&warning("W003",token,labelName)}var _current,_scopeStack=[];_newScope("global"),_current["(predefined)"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt="last-param"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning("W098",{line:line,from:chr},raw_name),(unused_opt||"var"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(" ").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0]["(predefined)"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||"functionparams"!==previousScope["(type)"]||(_current["(isFuncBody)"]=!0,_current["(context)"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams="functionparams"===_current["(type)"],isUnstackingFunctionOuter="functionouter"===_current["(type)"],currentUsages=_current["(usages)"],currentLabels=_current["(labels)"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf("__proto__")&&usedLabelNameList.push("__proto__"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel["(type)"];if(usedLabel["(useOutsideOfScope)"]&&!state.option.funcscope){var usedTokens=usage["(tokens)"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel["(function)"]===usedTokens[j]["(function)"]&&error("W038",usedTokens[j],usedLabelName)}if(_current["(labels)"][usedLabelName]["(unused)"]=!1,"const"===usedLabelType&&usage["(modified)"])for(j=0;usage["(modified)"].length>j;j++)error("E013",usage["(modified)"][j],usedLabelName);if(("function"===usedLabelType||"class"===usedLabelType)&&usage["(reassigned)"])for(j=0;usage["(reassigned)"].length>j;j++)error("W021",usage["(reassigned)"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct["(isCapturing)"]=!0),subScope)if(subScope["(usages)"][usedLabelName]){var subScopeUsage=subScope["(usages)"][usedLabelName];subScopeUsage["(modified)"]=subScopeUsage["(modified)"].concat(usage["(modified)"]),subScopeUsage["(tokens)"]=subScopeUsage["(tokens)"].concat(usage["(tokens)"]),subScopeUsage["(reassigned)"]=subScopeUsage["(reassigned)"].concat(usage["(reassigned)"]),subScopeUsage["(onlyUsedSubFunction)"]=!1}else subScope["(usages)"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope["(usages)"][usedLabelName]["(onlyUsedSubFunction)"]=!0);else if("boolean"==typeof _current["(predefined)"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current["(predefined)"][usedLabelName]===!1&&usage["(reassigned)"])for(j=0;usage["(reassigned)"].length>j;j++)warning("W020",usage["(reassigned)"][j])}else if(usage["(tokens)"])for(j=0;usage["(tokens)"].length>j;j++){var undefinedToken=usage["(tokens)"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning("W117",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],"var")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName]["(blockscoped)"]||"exception"===currentLabels[defLabelName]["(type)"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope["(labels)"][defLabelName]=currentLabels[defLabelName],"global"!==_currentFunctBody["(type)"]&&(subScope["(labels)"][defLabelName]["(useOutsideOfScope)"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope["(isFuncBody)"]||"global"===scope["(type)"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||"param","exception"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&"exception"!==previouslyDefinedLabelType&&(state.option.node||warning("W002",state.tokens.next,labelName))}if(_.has(_current["(labels)"],labelName)?_current["(labels)"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current["(labels)"][labelName]={"(type)":type,"(token)":token,"(unused)":!0},_current["(params)"].push(labelName)),_.has(_current["(usages)"],labelName)){var usage=_current["(usages)"][labelName];usage["(onlyUsedSubFunction)"]?_latedefWarning(type,labelName,token):warning("E056",token,labelName,type)}},validateParams:function(){if("global"!==_currentFunctBody["(type)"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody["(parent)"];currentFunctParamScope["(params)"]&&currentFunctParamScope["(params)"].forEach(function(labelName){var label=currentFunctParamScope["(labels)"][labelName];label&&label.duplicated&&(isStrict?warning("E011",label["(token)"],labelName):state.option.shadow!==!0&&warning("W004",label["(token)"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf("__proto__")&&list.push("__proto__"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return"__proto__"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName]["(type)"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0]["(labels)"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName]["(unused)"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope["(type)"])break;if(_.has(scope["(labels)"],labelName)&&!scope["(labels)"][labelName]["(blockscoped)"])return scope["(labels)"][labelName]["(unused)"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped="let"===type||"const"===type||"class"===type,isexported="global"===(isblockscoped?_current:_currentFunctBody)["(type)"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current["(labels)"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||"global"===_current["(type)"]||(declaredInCurrentScope=!!_currentFunctBody["(parent)"]["(labels)"][labelName]),!declaredInCurrentScope&&_current["(usages)"][labelName]){var usage=_current["(usages)"][labelName];usage["(onlyUsedSubFunction)"]?_latedefWarning(type,labelName,token):warning("E056",token,labelName,type)}declaredInCurrentScope?warning("E011",token,labelName):"outer"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning("W004",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning("E011",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&"__proto__"!==labelName&&"global"!==_currentFunctBody["(type)"]&&warning("W004",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),"global"===_currentFunctBody["(type)"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current["(labels)"][labelName]&&(!onlyBlockscoped||current["(labels)"][labelName]["(blockscoped)"]))return current["(labels)"][labelName]["(type)"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&"functionparams"===scopeCheck["(type)"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current["(breakLabels)"][labelName])return!0;if("functionparams"===current["(type)"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current["(labels)"][labelName]={"(type)":type,"(token)":tok,"(blockscoped)":!1,"(function)":_currentFunctBody,"(unused)":unused}}},block:{isGlobal:function(){return"global"===_current["(type)"]},use:function(labelName,token){var paramScope=_currentFunctBody["(parent)"];paramScope&&paramScope["(labels)"][labelName]&&"param"===paramScope["(labels)"][labelName]["(type)"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope["(labels)"][labelName]["(unused)"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token["(function)"]=_currentFunctBody,_current["(usages)"][labelName]["(tokens)"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current["(usages)"][labelName]["(reassigned)"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current["(usages)"][labelName]["(modified)"].push(token)},add:function(labelName,type,tok,unused){_current["(labels)"][labelName]={"(type)":type,"(token)":tok,"(blockscoped)":!0,"(unused)":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning("E011",token,labelName):"outer"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning("W004",token,labelName):_checkOuterShadow(labelName,token)),_current["(breakLabels)"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{"../lodash":"/node_modules/jshint/lodash.js",events:"/node_modules/browserify/node_modules/events/events.js"}],"/node_modules/jshint/src/state.js":[function(_dereq_,module,exports){"use strict";var NameStack=_dereq_("./name-stack.js"),state={syntax:{},isStrict:function(){return this.directive["use strict"]||this.inClassBody||this.option.module||"implied"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab="",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{"./name-stack.js":"/node_modules/jshint/src/name-stack.js"}],"/node_modules/jshint/src/style.js":[function(_dereq_,module,exports){"use strict";exports.register=function(linter){linter.on("Identifier",function(data){linter.getOption("proto")||"__proto__"===data.name&&linter.warn("W103",{line:data.line,"char":data.char,data:[data.name,"6"]})}),linter.on("Identifier",function(data){linter.getOption("iterator")||"__iterator__"===data.name&&linter.warn("W103",{line:data.line,"char":data.char,data:[data.name]})}),linter.on("Identifier",function(data){linter.getOption("camelcase")&&data.name.replace(/^_+|_+$/g,"").indexOf("_")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn("W106",{line:data.line,"char":data.from,data:[data.name]})}),linter.on("String",function(data){var code,quotmark=linter.getOption("quotmark");quotmark&&("single"===quotmark&&"\'"!==data.quote&&(code="W109"),"double"===quotmark&&\'"\'!==data.quote&&(code="W108"),quotmark===!0&&(linter.getCache("quotmark")||linter.setCache("quotmark",data.quote),linter.getCache("quotmark")!==data.quote&&(code="W110")),code&&linter.warn(code,{line:data.line,"char":data.char}))}),linter.on("Number",function(data){"."===data.value.charAt(0)&&linter.warn("W008",{line:data.line,"char":data.char,data:[data.value]}),"."===data.value.substr(data.value.length-1)&&linter.warn("W047",{line:data.line,"char":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn("W046",{line:data.line,"char":data.char,data:[data.value]})}),linter.on("String",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\s*:/i;linter.getOption("scripturl")||re.test(data.value)&&linter.warn("W107",{line:data.line,"char":data.char})})}},{}],"/node_modules/jshint/src/vars.js":[function(_dereq_,module,exports){"use strict";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,"throws":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},["/node_modules/jshint/src/jshint.js"])}),ace.define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(acequire,exports,module){"use strict";function startRegex(arr){return RegExp("^("+arr.join("|")+")")}var oop=acequire("../lib/oop"),Mirror=acequire("../worker/mirror").Mirror,lint=acequire("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable \'(.+)\'.",\'Missing "use strict"\']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\\\{a\\\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\\\[\'{a}\'\\\\] is better written in dot notation.","\'{a}\' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\n/,"\\n"),!value)return this.sender.emit("annotate",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?"warning":"error";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type="warning";if("Missing semicolon."==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\S/)),"error"==maxErrorLevel&&str&&/[\\w\\d{([\'"]/.test(str)?(error.reason=\'Missing ";" before statement\',type="error"):type="info"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type="info":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):"\'{a}\' is not defined."==raw?type="warning":"\'{a}\' is defined but never used."==raw&&(type="info")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit("annotate",errors)}}.call(JavaScriptWorker.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,"sentinel",{}),"sentinel"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if("function"!=typeof target)throw new TypeError("Function.prototype.bind called on incompatible "+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,"__defineGetter__"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,"XXX"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return"[object Array]"==_toString(obj)});var boxedString=Object("a"),splitString="a"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=[],thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError("reduce of empty array with no initial value")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError("reduceRight of empty array with no initial value")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(object,property){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if("object"!=typeof prototype)throw new TypeError("typeof prototype["+typeof prototype+"] != \'object\'");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom="undefined"==typeof document||doesDefinePropertyWork(document.createElement("div"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR="Property description must be an object: ",ERR_NON_OBJECT_TARGET="Object.defineProperty called on non-object: ",ERR_ACCESSORS_NOT_SUPPORTED="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(object,property,descriptor){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if("object"!=typeof descriptor&&"function"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,"value"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,"get")&&defineGetter(object,property,descriptor.get),owns(descriptor,"set")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return"function"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name="";owns(object,name);)name+="?";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError("Object.keys called on a non-object");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws="\t\\n\v\\f\\r    \\u2028\\u2029\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=RegExp("^"+ws+ws+"*"),trimEndRegexp=RegExp(ws+ws+"*$");String.prototype.trim=function(){return(this+"").replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}var toObject=function(o){if(null==o)throw new TypeError("can\'t convert "+o+" to object");return Object(o)}});'},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,n){var r,i;i=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){var r=n(2).mergeOpts,i=n(1),o=n(3).Output,s=i.lineBreak,a=i.allLineBreaks;e.exports.Beautifier=function(e,t){t=r(t=t||{},"css"),e=e||"";var n=0,i=t.indent_size?parseInt(t.indent_size,10):4,l=t.indent_char||" ",u=void 0!==t.preserve_newlines&&t.preserve_newlines,c=void 0===t.selector_separator_newline||t.selector_separator_newline,h=void 0!==t.end_with_newline&&t.end_with_newline,d=void 0===t.newline_between_rules||t.newline_between_rules,f=void 0!==t.space_around_combinator&&t.space_around_combinator;f=f||void 0!==t.space_around_selector_separator&&t.space_around_selector_separator;var p=t.eol?t.eol:"auto";t.indent_with_tabs&&(l="\t",i=1),"auto"===p&&(p="\n",e&&s.test(e||"")&&(p=e.match(s)[0])),p=p.replace(/\\r/,"\r").replace(/\\n/,"\n");var g,m=/^\s+$/,v=-1,y=0;function b(){return(g=e.charAt(++v))||""}function w(t){var n,r=v;return t&&C(),n=e.charAt(v+1)||"",v=r-1,b(),n}function x(t){for(var n=v;b();)if("\\"===g)b();else{if(-1!==t.indexOf(g))break;if("\n"===g)break}return e.substring(n,v+1)}function C(e){for(var t=0;m.test(w());)b(),"\n"===g&&e&&u&&(B.add_new_line(!0),t++);return n=t,t}function k(){var e="";for(g&&m.test(g)&&(e=g);m.test(b());)e+=g;return e}function A(){var t=v,n="/"===w();for(b();b();){if(!n&&"*"===g&&"/"===w()){b();break}if(n&&"\n"===g)return e.substring(t,v)}return e.substring(t,v)+g}function E(t){return e.substring(v-t.length,v).toLowerCase()===t}function _(){for(var t=0,n=v+1;n<e.length;n++){var r=e.charAt(n);if("{"===r)return!0;if("("===r)t+=1;else if(")"===r){if(0===t)return!1;t-=1}else if(";"===r||"}"===r)return!1}return!1}var S="",F=0;if((e=e.replace(a,"\n"))&&e.length){for(;" "===e.charAt(F)||"\t"===e.charAt(F);)F+=1;S=e.substring(0,F),e=e.substring(F)}var D,T,B,L=new Array(i+1).join(l);function M(e){B.just_added_newline()&&B.set_indent(D),B.add_token(e)}function O(e){e&&(B.space_before_token=!0)}this.beautify=function(){B=new o(L,S),D=0,T=0,v=-1,g=null,y=0;for(var e,t,r=!1,i=!1,s=!1,a="",l="";;){var u=k(),F=""!==u,P=-1!==u.indexOf("\n");if(l=a,a=g,!g)break;if("/"===g&&"*"===w()){var R=0===D;(P||R)&&B.add_new_line(),M(A()),B.add_new_line(),R&&B.add_new_line(!0)}else if("/"===g&&"/"===w())P||"{"===l||B.trim(!0),B.space_before_token=!0,M(A()),B.add_new_line();else if("@"===g)if(O(F),"{"===w())M(x("}"));else{M(g);var j=(e=v,t=x(": ,;{}()[]/='\""),v=e-1,b(),t);j.match(/[ :]$/)&&(b(),M(j=x(": ").replace(/\s$/,"")),B.space_before_token=!0),(j=j.replace(/\s$/,""))in this.NESTED_AT_RULE&&(T+=1,j in this.CONDITIONAL_GROUP_RULE&&(s=!0))}else"#"===g&&"{"===w()?(O(F),M(x("}"))):"{"===g?"}"===w(!0)?(C(),b(),B.space_before_token=!0,M("{}"),C(!0)||B.add_new_line(),n<2&&d&&0===D&&B.add_new_line(!0)):(D++,B.space_before_token=!0,M(g),C(!0)||B.add_new_line(),s?(s=!1,r=D>T):r=D>=T):"}"===g?(D>0&&D--,B.add_new_line(),M(g),r=!1,i=!1,T&&T--,C(!0)||B.add_new_line(),n<2&&d&&0===D&&B.add_new_line(!0)):":"===g?(C(),!r&&!s||E("&")||_()||E("(")?(E(" ")&&(B.space_before_token=!0),":"===w()?(b(),M("::")):M(":")):(M(":"),i||(i=!0,B.space_before_token=!0))):'"'===g||"'"===g?(O(F),M(x(g))):";"===g?(i=!1,M(g),C(!0)||B.add_new_line()):"("===g?E("url")?(M(g),C(),b()&&(")"!==g&&'"'!==g&&"'"!==g?M(x(")")):v--)):(y++,O(F),M(g),C()):")"===g?(M(g),y--):","===g?(M(g),!C(!0)&&c&&!i&&y<1?B.add_new_line():B.space_before_token=!0):(">"===g||"+"===g||"~"===g)&&!i&&y<1?f?(B.space_before_token=!0,M(g),B.space_before_token=!0):(M(g),C(),g&&m.test(g)&&(g="")):"]"===g?M(g):"["===g?(O(F),M(g)):"="===g?(C(),M("="),m.test(g)&&(g="")):"!"===g?(M(" "),M(g)):(O(F),M(g))}return B.get_code(h,p)},this.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},this.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0}}},function(e,t){var n="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ--ℝℤΩℨK--ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA--zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",r=new RegExp("["+n+"]"),i=new RegExp("["+n+"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍--_]");t.newline=/[\n\r\u2028\u2029]/,t.lineBreak=new RegExp("\r\n|"+t.newline.source),t.allLineBreaks=new RegExp(t.lineBreak.source,"g"),t.isIdentifierStart=function(e){return e<65?36===e||64===e:e<91||(e<97?95===e:e<123||e>=170&&r.test(String.fromCharCode(e)))},t.isIdentifierChar=function(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||e>=170&&i.test(String.fromCharCode(e))))}},function(e,t){e.exports.mergeOpts=function(e,t){var n,r={};for(n in e)n!==t&&(r[n]=e[n]);if(t in e)for(n in e[t])r[n]=e[t][n];return r}},function(e,t){e.exports.Output=function(e,t){t=t||"",this.indent_cache=[t],this.baseIndentLength=t.length,this.indent_length=e.length,this.raw=!1;var n=[];this.baseIndentString=t,this.indent_string=e,this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.add_outputline=function(){this.previous_line=this.current_line,this.current_line=new function(e){var t=0,n=-1,r=[],i=!0;this.set_indent=function(r){t=e.baseIndentLength+r*e.indent_length,n=r},this.get_character_count=function(){return t},this.is_empty=function(){return i},this.last=function(){return this._empty?null:r[r.length-1]},this.push=function(e){r.push(e),t+=e.length,i=!1},this.pop=function(){var e=null;return i||(e=r.pop(),t-=e.length,i=0===r.length),e},this.remove_indent=function(){n>0&&(n-=1,t-=e.indent_length)},this.trim=function(){for(;" "===this.last();)r.pop(),t-=1;i=0===r.length},this.toString=function(){var t="";return this._empty||(n>=0&&(t=e.indent_cache[n]),t+=r.join("")),t}}(this),n.push(this.current_line)},this.add_outputline(),this.get_line_number=function(){return n.length},this.add_new_line=function(e){return!(1===this.get_line_number()&&this.just_added_newline()||!e&&this.just_added_newline()||(this.raw||this.add_outputline(),0))},this.get_code=function(e,t){var r=n.join("\n").replace(/[\r\n\t ]+$/,"");return e&&(r+="\n"),"\n"!==t&&(r=r.replace(/[\n]/g,t)),r},this.set_indent=function(e){if(n.length>1){for(;e>=this.indent_cache.length;)this.indent_cache.push(this.indent_cache[this.indent_cache.length-1]+this.indent_string);return this.current_line.set_indent(e),!0}return this.current_line.set_indent(0),!1},this.add_raw_token=function(e){for(var t=0;t<e.newlines;t++)this.add_outputline();this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1},this.add_token=function(e){this.add_space_before_token(),this.current_line.push(e)},this.add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&this.current_line.push(" "),this.space_before_token=!1},this.remove_indent=function(e){for(var t=n.length;e<t;)n[e].remove_indent(),e++},this.trim=function(r){for(r=void 0!==r&&r,this.current_line.trim(e,t);r&&n.length>1&&this.current_line.is_empty();)n.pop(),this.current_line=n[n.length-1],this.current_line.trim();this.previous_line=n.length>1?n[n.length-2]:null},this.just_added_newline=function(){return this.current_line.is_empty()},this.just_added_blankline=function(){return!!this.just_added_newline()&&(1===n.length||n[n.length-2].is_empty())}}},function(e,t,n){var r=n(0).Beautifier;e.exports=function(e,t){return new r(e,t).beautify()}}]),void 0===(r=function(){return{css_beautify:i}}.apply(t,[]))||(e.exports=r)},function(e,t,n){var r,i;i=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t){var n="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ--ℝℤΩℨK--ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA--zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",r=new RegExp("["+n+"]"),i=new RegExp("["+n+"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍--_]");t.newline=/[\n\r\u2028\u2029]/,t.lineBreak=new RegExp("\r\n|"+t.newline.source),t.allLineBreaks=new RegExp(t.lineBreak.source,"g"),t.isIdentifierStart=function(e){return e<65?36===e||64===e:e<91||(e<97?95===e:e<123||e>=170&&r.test(String.fromCharCode(e)))},t.isIdentifierChar=function(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||e>=170&&i.test(String.fromCharCode(e))))}},function(e,t,n){var r=n(3).mergeOpts,i=n(0),o=n(4).Output,s=n(7).Tokenizer;function a(e,t){if(!t.multiline_frame&&t.mode!==d.ForInitializer&&t.mode!==d.Conditional){var n=t.start_line_index;e.remove_indent(n)}}function l(e,t){for(var n=0;n<t.length;n+=1)if(t[n]===e)return!0;return!1}var u=["before-newline","after-newline","preserve-newline"],c=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].replace(/-/g,"_")]=e[n];return t}(u),h=[c.before_newline,c.preserve_newline],d={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};e.exports.Beautifier=function(e,t){"use strict";var n,f,p,g,m,v,y,b,w,x,C,k,A,E=[],_="";function S(e,t){var r=0;return e&&(r=e.indentation_level,!n.just_added_newline()&&e.line_indent_level>r&&(r=e.line_indent_level)),{mode:t,parent:e,last_text:e?e.last_text:"",last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:r,line_indent_level:e?e.line_indent_level:r,start_line_index:n.get_line_number(),ternary_depth:0}}k={TK_START_EXPR:function(){z()||B(g);var e=d.Expression;if("["===g.text){if("TK_WORD"===m||")"===b.last_text)return"TK_RESERVED"===m&&l(b.last_text,p.line_starters)&&(n.space_before_token=!0),I(e),R(),j(),void(A.space_in_paren&&(n.space_before_token=!0));e=d.ArrayLiteral,N(b.mode)&&("["!==b.last_text&&(","!==b.last_text||"]"!==v&&"}"!==v)||A.keep_array_indentation||O())}else"TK_RESERVED"===m&&"for"===b.last_text?e=d.ForInitializer:"TK_RESERVED"===m&&l(b.last_text,["if","while"])&&(e=d.Conditional);";"===b.last_text||"TK_START_BLOCK"===m?O():"TK_END_EXPR"===m||"TK_START_EXPR"===m||"TK_END_BLOCK"===m||"."===b.last_text?M(g.wanted_newline):"TK_RESERVED"===m&&"("===g.text||"TK_WORD"===m||"TK_OPERATOR"===m?"TK_RESERVED"===m&&("function"===b.last_word||"typeof"===b.last_word)||"*"===b.last_text&&(l(v,["function","yield"])||b.mode===d.ObjectLiteral&&l(v,["{",","]))?A.space_after_anon_function&&(n.space_before_token=!0):"TK_RESERVED"!==m||!l(b.last_text,p.line_starters)&&"catch"!==b.last_text||A.space_before_conditional&&(n.space_before_token=!0):n.space_before_token=!0,"("===g.text&&"TK_RESERVED"===m&&l(b.last_word,["await","async"])&&(n.space_before_token=!0),"("===g.text&&("TK_EQUALS"!==m&&"TK_OPERATOR"!==m||H()||M()),"("===g.text&&"TK_WORD"!==m&&"TK_RESERVED"!==m&&M(),I(e),R(),A.space_in_paren&&(n.space_before_token=!0),j()},TK_END_EXPR:function(){for(;b.mode===d.Statement;)W();B(g),b.multiline_frame&&M("]"===g.text&&N(b.mode)&&!A.keep_array_indentation),A.space_in_paren&&("TK_START_EXPR"!==m||A.space_in_empty_paren?n.space_before_token=!0:(n.trim(),n.space_before_token=!1)),"]"===g.text&&A.keep_array_indentation?(R(),W()):(W(),R()),a(n,w),b.do_while&&w.mode===d.Conditional&&(w.mode=d.Expression,b.do_block=!1,b.do_while=!1)},TK_START_BLOCK:function(){B(g);var e=V(1),t=V(2);t&&(l(t.text,[":",","])&&l(e.type,["TK_STRING","TK_WORD","TK_RESERVED"])||l(e.text,["get","set","..."])&&l(t.type,["TK_WORD","TK_RESERVED"]))?l(v,["class","interface"])?I(d.BlockStatement):I(d.ObjectLiteral):"TK_OPERATOR"===m&&"=>"===b.last_text?I(d.BlockStatement):l(m,["TK_EQUALS","TK_START_EXPR","TK_COMMA","TK_OPERATOR"])||"TK_RESERVED"===m&&l(b.last_text,["return","throw","import","default"])?I(d.ObjectLiteral):I(d.BlockStatement);var r=!e.comments_before.length&&"}"===e.text&&"function"===b.last_word&&"TK_END_EXPR"===m;if(A.brace_preserve_inline){var i=0,o=null;b.inline_frame=!0;do{if((o=V(i+=1)).wanted_newline){b.inline_frame=!1;break}}while("TK_EOF"!==o.type&&("TK_END_BLOCK"!==o.type||o.opened!==g))}("expand"===A.brace_style||"none"===A.brace_style&&g.wanted_newline)&&!b.inline_frame?"TK_OPERATOR"!==m&&(r||"TK_EQUALS"===m||"TK_RESERVED"===m&&U(b.last_text)&&"else"!==b.last_text)?n.space_before_token=!0:O(!1,!0):(!N(w.mode)||"TK_START_EXPR"!==m&&"TK_COMMA"!==m||(("TK_COMMA"===m||A.space_in_paren)&&(n.space_before_token=!0),("TK_COMMA"===m||"TK_START_EXPR"===m&&b.inline_frame)&&(M(),w.multiline_frame=w.multiline_frame||b.multiline_frame,b.multiline_frame=!1)),"TK_OPERATOR"!==m&&"TK_START_EXPR"!==m&&("TK_START_BLOCK"!==m||b.inline_frame?n.space_before_token=!0:O())),R(),j()},TK_END_BLOCK:function(){for(B(g);b.mode===d.Statement;)W();var e="TK_START_BLOCK"===m;b.inline_frame&&!e?n.space_before_token=!0:"expand"===A.brace_style?e||O():e||(N(b.mode)&&A.keep_array_indentation?(A.keep_array_indentation=!1,O(),A.keep_array_indentation=!0):O()),W(),R()},TK_WORD:G,TK_RESERVED:G,TK_SEMICOLON:function(){z()?n.space_before_token=!1:B(g);for(var e=V(1);!(b.mode!==d.Statement||b.if_block&&e&&"TK_RESERVED"===e.type&&"else"===e.text||b.do_block);)W();b.import_block&&(b.import_block=!1),R()},TK_STRING:function(){z()?n.space_before_token=!0:(B(g),"TK_RESERVED"===m||"TK_WORD"===m||b.inline_frame?n.space_before_token=!0:"TK_COMMA"===m||"TK_START_EXPR"===m||"TK_EQUALS"===m||"TK_OPERATOR"===m?H()||M():O()),R()},TK_EQUALS:function(){z()||B(g),b.declaration_statement&&(b.declaration_assignment=!0),n.space_before_token=!0,R(),n.space_before_token=!0},TK_OPERATOR:function(){var e="*"===g.text&&("TK_RESERVED"===m&&l(b.last_text,["function","yield"])||l(m,["TK_START_BLOCK","TK_COMMA","TK_END_BLOCK","TK_SEMICOLON"])),t=l(g.text,["-","+"])&&(l(m,["TK_START_BLOCK","TK_START_EXPR","TK_EQUALS","TK_OPERATOR"])||l(b.last_text,p.line_starters)||","===b.last_text);if(z());else{var r=!e;B(g,r)}if("TK_RESERVED"===m&&U(b.last_text))return n.space_before_token=!0,void R();if("*"!==g.text||"TK_DOT"!==m)if("::"!==g.text){if("TK_OPERATOR"===m&&l(A.operator_position,h)&&M(),":"===g.text&&b.in_case)return b.case_body=!0,j(),R(),O(),void(b.in_case=!1);var i=!0,o=!0,s=!1;if(":"===g.text?0===b.ternary_depth?i=!1:(b.ternary_depth-=1,s=!0):"?"===g.text&&(b.ternary_depth+=1),!t&&!e&&A.preserve_newlines&&l(g.text,p.positionable_operators)){var a=":"===g.text,u=a&&s,f=a&&!s;switch(A.operator_position){case c.before_newline:return n.space_before_token=!f,R(),a&&!u||M(),void(n.space_before_token=!0);case c.after_newline:return n.space_before_token=!0,!a||u?V(1).wanted_newline?O(!1,!0):M():n.space_before_token=!1,R(),void(n.space_before_token=!0);case c.preserve_newline:return f||M(),i=!(n.just_added_newline()||f),n.space_before_token=i,R(),void(n.space_before_token=!0)}}if(e){M(),i=!1;var v=V(1);o=v&&l(v.type,["TK_WORD","TK_RESERVED"])}else"..."===g.text?(M(),i="TK_START_BLOCK"===m,o=!1):(l(g.text,["--","++","!","~"])||t)&&(i=!1,o=!1,!g.wanted_newline||"--"!==g.text&&"++"!==g.text||O(!1,!0),";"===b.last_text&&$(b.mode)&&(i=!0),"TK_RESERVED"===m?i=!0:"TK_END_EXPR"===m?i=!("]"===b.last_text&&("--"===g.text||"++"===g.text)):"TK_OPERATOR"===m&&(i=l(g.text,["--","-","++","+"])&&l(b.last_text,["--","-","++","+"]),l(g.text,["+","-"])&&l(b.last_text,["--","++"])&&(o=!0)),(b.mode!==d.BlockStatement||b.inline_frame)&&b.mode!==d.Statement||"{"!==b.last_text&&";"!==b.last_text||O());n.space_before_token=n.space_before_token||i,R(),n.space_before_token=o}else R();else R()},TK_COMMA:function(){B(g,!0),R(),n.space_before_token=!0,b.declaration_statement?($(b.parent.mode)&&(b.declaration_assignment=!1),b.declaration_assignment?(b.declaration_assignment=!1,O(!1,!0)):A.comma_first&&M()):b.mode===d.ObjectLiteral||b.mode===d.Statement&&b.parent.mode===d.ObjectLiteral?(b.mode===d.Statement&&W(),b.inline_frame||O()):A.comma_first&&M()},TK_BLOCK_COMMENT:function(e){if(n.raw)return n.add_raw_token(g),void(g.directives&&"end"===g.directives.preserve&&(n.raw=A.test_output_raw));if(g.directives)return O(!1,e),R(),"start"===g.directives.preserve&&(n.raw=!0),void O(!1,!0);if(!i.newline.test(g.text)&&!g.wanted_newline)return n.space_before_token=!0,R(),void(n.space_before_token=!0);var t,r=function(e){for(var t=[],n=(e=e.replace(i.allLineBreaks,"\n")).indexOf("\n");-1!==n;)t.push(e.substring(0,n)),e=e.substring(n+1),n=e.indexOf("\n");return e.length&&t.push(e),t}(g.text),o=!1,s=!1,a=g.whitespace_before,l=a.length;for(O(!1,e),r.length>1&&(o=function(e,t){for(var n=0;n<e.length;n++){var r=e[n].replace(/^\s+|\s+$/g,"");if(r.charAt(0)!==t)return!1}return!0}(r.slice(1),"*"),s=function(e,t){for(var n,r=0,i=e.length;r<i;r++)if((n=e[r])&&0!==n.indexOf(t))return!1;return!0}(r.slice(1),a)),R(r[0]),t=1;t<r.length;t++)O(!1,!0),o?R(" "+r[t].replace(/^\s+/g,"")):s&&r[t].length>l?R(r[t].substring(l)):n.add_token(r[t]);O(!1,e)},TK_COMMENT:function(e){g.wanted_newline?O(!1,e):n.trim(!0),n.space_before_token=!0,R(),O(!1,e)},TK_DOT:function(){z()||B(g,!0),"TK_RESERVED"===m&&U(b.last_text)?n.space_before_token=!0:M(")"===b.last_text&&A.break_chained_methods),R()},TK_UNKNOWN:function(e){R(),"\n"===g.text[g.text.length-1]&&O(!1,e)},TK_EOF:function(){for(;b.mode===d.Statement;)W();B(g)}},t=r(t=t||{},"js"),A={},"expand-strict"===t.brace_style?t.brace_style="expand":"collapse-preserve-inline"===t.brace_style?t.brace_style="collapse,preserve-inline":void 0!==t.braces_on_own_line?t.brace_style=t.braces_on_own_line?"expand":"collapse":t.brace_style||(t.brace_style="collapse");var F=t.brace_style.split(/[^a-zA-Z0-9_\-]+/);A.brace_preserve_inline=!1,A.brace_style="collapse";for(var D=0;D<F.length;D++)"preserve-inline"===F[D]?A.brace_preserve_inline=!0:A.brace_style=F[D];for(A.indent_size=t.indent_size?parseInt(t.indent_size,10):4,A.indent_char=t.indent_char?t.indent_char:" ",A.eol=t.eol?t.eol:"auto",A.preserve_newlines=void 0===t.preserve_newlines||t.preserve_newlines,A.unindent_chained_methods=void 0!==t.unindent_chained_methods&&t.unindent_chained_methods,A.break_chained_methods=void 0!==t.break_chained_methods&&t.break_chained_methods,A.max_preserve_newlines=void 0===t.max_preserve_newlines?0:parseInt(t.max_preserve_newlines,10),A.space_in_paren=void 0!==t.space_in_paren&&t.space_in_paren,A.space_in_empty_paren=void 0!==t.space_in_empty_paren&&t.space_in_empty_paren,A.jslint_happy=void 0!==t.jslint_happy&&t.jslint_happy,A.space_after_anon_function=void 0!==t.space_after_anon_function&&t.space_after_anon_function,A.keep_array_indentation=void 0!==t.keep_array_indentation&&t.keep_array_indentation,A.space_before_conditional=void 0===t.space_before_conditional||t.space_before_conditional,A.unescape_strings=void 0!==t.unescape_strings&&t.unescape_strings,A.wrap_line_length=void 0===t.wrap_line_length?0:parseInt(t.wrap_line_length,10),A.e4x=void 0!==t.e4x&&t.e4x,A.end_with_newline=void 0!==t.end_with_newline&&t.end_with_newline,A.comma_first=void 0!==t.comma_first&&t.comma_first,A.operator_position=function(e){if(!l(e=e||c.before_newline,u))throw new Error("Invalid Option Value: The option 'operator_position' must be one of the following values\n"+u+"\nYou passed in: '"+e+"'");return e}(t.operator_position),A.test_output_raw=void 0!==t.test_output_raw&&t.test_output_raw,A.jslint_happy&&(A.space_after_anon_function=!0),t.indent_with_tabs&&(A.indent_char="\t",A.indent_size=1),"auto"===A.eol&&(A.eol="\n",e&&i.lineBreak.test(e||"")&&(A.eol=e.match(i.lineBreak)[0])),A.eol=A.eol.replace(/\\r/,"\r").replace(/\\n/,"\n"),y="";A.indent_size>0;)y+=A.indent_char,A.indent_size-=1;var T=0;if(e&&e.length){for(;" "===e.charAt(T)||"\t"===e.charAt(T);)T+=1;_=e.substring(0,T),e=e.substring(T)}function B(e,t){for(var n=e.newlines,r=A.keep_array_indentation&&N(b.mode),i=g,o=0;o<e.comments_before.length;o++)B(g=e.comments_before[o],t),k[g.type](t);if(g=i,r)for(var s=0;s<n;s+=1)O(s>0,t);else if(A.max_preserve_newlines&&n>A.max_preserve_newlines&&(n=A.max_preserve_newlines),A.preserve_newlines&&e.newlines>1){O(!1,t);for(var a=1;a<n;a+=1)O(!0,t)}}m="TK_START_BLOCK",v="",(n=new o(y,_)).raw=A.test_output_raw,x=[],I(d.BlockStatement),this.beautify=function(){for(p=new s(e,A,y),E=p.tokenize(),f=0,g=V();g;)k[g.type](),v=b.last_text,m=g.type,b.last_text=g.text,f+=1,g=V();return n.get_code(A.end_with_newline,A.eol)};var L=["break","continue","return","throw","yield"];function M(e){if(e=void 0!==e&&e,!n.just_added_newline()){var t=A.preserve_newlines&&g.wanted_newline||e;if(l(b.last_text,p.positionable_operators)||l(g.text,p.positionable_operators)){var r=l(b.last_text,p.positionable_operators)&&l(A.operator_position,h)||l(g.text,p.positionable_operators);t=t&&r}if(t)O(!1,!0);else if(A.wrap_line_length){if("TK_RESERVED"===m&&l(b.last_text,L))return;n.current_line.get_character_count()+g.text.length+(n.space_before_token?1:0)>=A.wrap_line_length&&O(!1,!0)}}}function O(e,t){if(!t&&";"!==b.last_text&&","!==b.last_text&&"="!==b.last_text&&"TK_OPERATOR"!==m)for(var r=V(1);!(b.mode!==d.Statement||b.if_block&&r&&"TK_RESERVED"===r.type&&"else"===r.text||b.do_block);)W();n.add_new_line(e)&&(b.multiline_frame=!0)}function P(){n.just_added_newline()&&(A.keep_array_indentation&&N(b.mode)&&g.wanted_newline?(n.current_line.push(g.whitespace_before),n.space_before_token=!1):n.set_indent(b.indentation_level)&&(b.line_indent_level=b.indentation_level))}function R(e){if(n.raw)n.add_raw_token(g);else{if(A.comma_first&&"TK_COMMA"===m&&n.just_added_newline()&&","===n.previous_line.last()){var t=n.previous_line.pop();n.previous_line.is_empty()&&(n.previous_line.push(t),n.trim(!0),n.current_line.pop(),n.trim()),P(),n.add_token(","),n.space_before_token=!0}e=e||g.text,P(),n.add_token(e)}}function j(){b.indentation_level+=1}function I(e){b?(x.push(b),w=b):w=S(null,e),b=S(w,e)}function N(e){return e===d.ArrayLiteral}function $(e){return l(e,[d.Expression,d.ForInitializer,d.Conditional])}function W(){x.length>0&&(w=b,b=x.pop(),w.mode!==d.Statement||A.unindent_chained_methods||a(n,w))}function H(){return b.parent.mode===d.ObjectLiteral&&b.mode===d.Statement&&(":"===b.last_text&&0===b.ternary_depth||"TK_RESERVED"===m&&l(b.last_text,["get","set"]))}function z(){return!!("TK_RESERVED"===m&&l(b.last_text,["var","let","const"])&&"TK_WORD"===g.type||"TK_RESERVED"===m&&"do"===b.last_text||"TK_RESERVED"===m&&l(b.last_text,L)&&!g.wanted_newline||"TK_RESERVED"===m&&"else"===b.last_text&&("TK_RESERVED"!==g.type||"if"!==g.text||g.comments_before.length)||"TK_END_EXPR"===m&&(w.mode===d.ForInitializer||w.mode===d.Conditional)||"TK_WORD"===m&&b.mode===d.BlockStatement&&!b.in_case&&"--"!==g.text&&"++"!==g.text&&"function"!==v&&"TK_WORD"!==g.type&&"TK_RESERVED"!==g.type||b.mode===d.ObjectLiteral&&(":"===b.last_text&&0===b.ternary_depth||"TK_RESERVED"===m&&l(b.last_text,["get","set"])))&&(I(d.Statement),A.unindent_chained_methods||j(),B(g,!0),H()||M("TK_RESERVED"===g.type&&l(g.text,["do","for","if","while"])),!0)}function U(e){return l(e,["case","return","do","if","throw","else"])}function V(e){var t=f+(e||0);return t<0||t>=E.length?null:E[t]}function G(){if("TK_RESERVED"===g.type&&(l(g.text,["set","get"])&&b.mode!==d.ObjectLiteral?g.type="TK_WORD":l(g.text,["as","from"])&&!b.import_block?g.type="TK_WORD":b.mode===d.ObjectLiteral&&":"===V(1).text&&(g.type="TK_WORD")),z()?"TK_RESERVED"===m&&l(b.last_text,["var","let","const"])&&"TK_WORD"===g.type&&(b.declaration_statement=!0):!g.wanted_newline||$(b.mode)||"TK_OPERATOR"===m&&"--"!==b.last_text&&"++"!==b.last_text||"TK_EQUALS"===m||!A.preserve_newlines&&"TK_RESERVED"===m&&l(b.last_text,["var","let","const","set","get"])?B(g):(B(g),O()),b.do_block&&!b.do_while){if("TK_RESERVED"===g.type&&"while"===g.text)return n.space_before_token=!0,R(),n.space_before_token=!0,void(b.do_while=!0);O(),b.do_block=!1}if(b.if_block)if(b.else_block||"TK_RESERVED"!==g.type||"else"!==g.text){for(;b.mode===d.Statement;)W();b.if_block=!1,b.else_block=!1}else b.else_block=!0;return"TK_RESERVED"===g.type&&("case"===g.text||"default"===g.text&&b.in_case_statement)?(O(),(b.case_body||A.jslint_happy)&&(b.indentation_level>0&&(!b.parent||b.indentation_level>b.parent.indentation_level)&&(b.indentation_level-=1),b.case_body=!1),R(),b.in_case=!0,void(b.in_case_statement=!0)):("TK_COMMA"!==m&&"TK_START_EXPR"!==m&&"TK_EQUALS"!==m&&"TK_OPERATOR"!==m||H()||M(),"TK_RESERVED"===g.type&&"function"===g.text?((l(b.last_text,["}",";"])||n.just_added_newline()&&!l(b.last_text,["(","[","{",":","=",","])&&"TK_OPERATOR"!==m)&&(n.just_added_blankline()||g.comments_before.length||(O(),O(!0))),"TK_RESERVED"===m||"TK_WORD"===m?"TK_RESERVED"===m&&(l(b.last_text,["get","set","new","export","async"])||l(b.last_text,L))?n.space_before_token=!0:"TK_RESERVED"===m&&"default"===b.last_text&&"export"===v?n.space_before_token=!0:O():"TK_OPERATOR"===m||"="===b.last_text?n.space_before_token=!0:(b.multiline_frame||!$(b.mode)&&!N(b.mode))&&O(),R(),void(b.last_word=g.text)):(C="NONE","TK_END_BLOCK"===m?w.inline_frame?C="SPACE":"TK_RESERVED"===g.type&&l(g.text,["else","catch","finally","from"])?"expand"===A.brace_style||"end-expand"===A.brace_style||"none"===A.brace_style&&g.wanted_newline?C="NEWLINE":(C="SPACE",n.space_before_token=!0):C="NEWLINE":"TK_SEMICOLON"===m&&b.mode===d.BlockStatement?C="NEWLINE":"TK_SEMICOLON"===m&&$(b.mode)?C="SPACE":"TK_STRING"===m?C="NEWLINE":"TK_RESERVED"===m||"TK_WORD"===m||"*"===b.last_text&&(l(v,["function","yield"])||b.mode===d.ObjectLiteral&&l(v,["{",","]))?C="SPACE":"TK_START_BLOCK"===m?C=b.inline_frame?"SPACE":"NEWLINE":"TK_END_EXPR"===m&&(n.space_before_token=!0,C="NEWLINE"),"TK_RESERVED"===g.type&&l(g.text,p.line_starters)&&")"!==b.last_text&&(C=b.inline_frame||"else"===b.last_text||"export"===b.last_text?"SPACE":"NEWLINE"),"TK_RESERVED"===g.type&&l(g.text,["else","catch","finally"])?("TK_END_BLOCK"!==m||w.mode!==d.BlockStatement||"expand"===A.brace_style||"end-expand"===A.brace_style||"none"===A.brace_style&&g.wanted_newline)&&!b.inline_frame?O():(n.trim(!0),"}"!==n.current_line.last()&&O(),n.space_before_token=!0):"NEWLINE"===C?"TK_RESERVED"===m&&U(b.last_text)?n.space_before_token=!0:"TK_END_EXPR"!==m?"TK_START_EXPR"===m&&"TK_RESERVED"===g.type&&l(g.text,["var","let","const"])||":"===b.last_text||("TK_RESERVED"===g.type&&"if"===g.text&&"else"===b.last_text?n.space_before_token=!0:O()):"TK_RESERVED"===g.type&&l(g.text,p.line_starters)&&")"!==b.last_text&&O():b.multiline_frame&&N(b.mode)&&","===b.last_text&&"}"===v?O():"SPACE"===C&&(n.space_before_token=!0),R(),b.last_word=g.text,void("TK_RESERVED"===g.type&&("do"===g.text?b.do_block=!0:"if"===g.text?b.if_block=!0:"import"===g.text?b.import_block=!0:b.import_block&&"TK_RESERVED"===g.type&&"from"===g.text&&(b.import_block=!1)))))}}},function(e,t){e.exports.InputScanner=function(e){var t=e,n=t.length,r=0;this.back=function(){r-=1},this.hasNext=function(){return r<n},this.next=function(){var e=null;return this.hasNext()&&(e=t.charAt(r),r+=1),e},this.peek=function(e){var i=null;return e=e||0,(e+=r)>=0&&e<n&&(i=t.charAt(e)),i},this.peekCharCode=function(e){var i=0;return e=e||0,(e+=r)>=0&&e<n&&(i=t.charCodeAt(e)),i},this.test=function(e,n){return n=n||0,e.lastIndex=r+n,e.test(t)},this.testChar=function(e,t){var n=this.peek(t);return null!==n&&e.test(n)},this.match=function(e){e.lastIndex=r;var n=e.exec(t);return n&&n.index===r?r+=n[0].length:n=null,n}}},function(e,t){e.exports.mergeOpts=function(e,t){var n,r={};for(n in e)n!==t&&(r[n]=e[n]);if(t in e)for(n in e[t])r[n]=e[t][n];return r}},function(e,t){e.exports.Output=function(e,t){t=t||"",this.indent_cache=[t],this.baseIndentLength=t.length,this.indent_length=e.length,this.raw=!1;var n=[];this.baseIndentString=t,this.indent_string=e,this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.add_outputline=function(){this.previous_line=this.current_line,this.current_line=new function(e){var t=0,n=-1,r=[],i=!0;this.set_indent=function(r){t=e.baseIndentLength+r*e.indent_length,n=r},this.get_character_count=function(){return t},this.is_empty=function(){return i},this.last=function(){return this._empty?null:r[r.length-1]},this.push=function(e){r.push(e),t+=e.length,i=!1},this.pop=function(){var e=null;return i||(e=r.pop(),t-=e.length,i=0===r.length),e},this.remove_indent=function(){n>0&&(n-=1,t-=e.indent_length)},this.trim=function(){for(;" "===this.last();)r.pop(),t-=1;i=0===r.length},this.toString=function(){var t="";return this._empty||(n>=0&&(t=e.indent_cache[n]),t+=r.join("")),t}}(this),n.push(this.current_line)},this.add_outputline(),this.get_line_number=function(){return n.length},this.add_new_line=function(e){return!(1===this.get_line_number()&&this.just_added_newline()||!e&&this.just_added_newline()||(this.raw||this.add_outputline(),0))},this.get_code=function(e,t){var r=n.join("\n").replace(/[\r\n\t ]+$/,"");return e&&(r+="\n"),"\n"!==t&&(r=r.replace(/[\n]/g,t)),r},this.set_indent=function(e){if(n.length>1){for(;e>=this.indent_cache.length;)this.indent_cache.push(this.indent_cache[this.indent_cache.length-1]+this.indent_string);return this.current_line.set_indent(e),!0}return this.current_line.set_indent(0),!1},this.add_raw_token=function(e){for(var t=0;t<e.newlines;t++)this.add_outputline();this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1},this.add_token=function(e){this.add_space_before_token(),this.current_line.push(e)},this.add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&this.current_line.push(" "),this.space_before_token=!1},this.remove_indent=function(e){for(var t=n.length;e<t;)n[e].remove_indent(),e++},this.trim=function(r){for(r=void 0!==r&&r,this.current_line.trim(e,t);r&&n.length>1&&this.current_line.is_empty();)n.pop(),this.current_line=n[n.length-1],this.current_line.trim();this.previous_line=n.length>1?n[n.length-2]:null},this.just_added_newline=function(){return this.current_line.is_empty()},this.just_added_blankline=function(){return!!this.just_added_newline()&&(1===n.length||n[n.length-2].is_empty())}}},function(e,t){e.exports.Token=function(e,t,n,r,i){this.type=e,this.text=t,this.comments_before=[],this.comments_after=[],this.newlines=n||0,this.wanted_newline=n>0,this.whitespace_before=r||"",this.parent=i||null,this.opened=null,this.directives=null}},function(e,t,n){var r=n(1).Beautifier;e.exports=function(e,t){return new r(e,t).beautify()}},function(e,t,n){var r=n(2).InputScanner,i=n(5).Token,o=n(0);function s(e,t){for(var n=0;n<t.length;n+=1)if(t[n]===e)return!0;return!1}e.exports.Tokenizer=function(e,t){var n="\n\r\t ".split(""),a=/[0-9]/,l=/[01]/,u=/[01234567]/,c=/[0123456789abcdefABCDEF]/;this.positionable_operators="!= !== % & && * ** + - / : < << <= == === > >= >> >>> ? ^ | ||".split(" ");var h=this.positionable_operators.concat("! %= &= *= **= ++ += , -- -= /= :: <<= = => >>= >>>= ^= |= ~ ...".split(" "));this.line_starters="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(",");var d,f,p,g,m,v=this.line_starters.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as"]),y=/([\s\S]*?)((?:\*\/)|$)/g,b=/([^\n\r\u2028\u2029]*)/g,w=/\/\* beautify( \w+[:]\w+)+ \*\//g,x=/ (\w+)[:](\w+)/g,C=/([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g,k=/((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g;function A(){var e,A=[];d=0,f="";var E,_=m.next();if(null===_)return["","TK_EOF"];for(E=g.length?g[g.length-1]:new i("TK_START_BLOCK","{");s(_,n);)if(o.newline.test(_)?"\n"===_&&"\r"===m.peek(-2)||(d+=1,A=[]):A.push(_),null===(_=m.next()))return["","TK_EOF"];if(A.length&&(f=A.join("")),a.test(_)||"."===_&&m.testChar(a)){var S=!0,F=!0,D=a;for("0"===_&&m.testChar(/[XxOoBb]/)?(S=!1,F=!1,D=m.testChar(/[Bb]/)?l:m.testChar(/[Oo]/)?u:c,_+=m.next()):"."===_?S=!1:(_="",m.back());m.testChar(D);)_+=m.next(),S&&"."===m.peek()&&(_+=m.next(),S=!1),F&&m.testChar(/[Ee]/)&&(_+=m.next(),m.testChar(/[+-]/)&&(_+=m.next()),F=!1,S=!1);return[_,"TK_WORD"]}if(o.isIdentifierStart(m.peekCharCode(-1))){if(m.hasNext())for(;o.isIdentifierChar(m.peekCharCode())&&(_+=m.next(),m.hasNext()););return"TK_DOT"===E.type||"TK_RESERVED"===E.type&&s(E.text,["set","get"])||!s(_,v)?[_,"TK_WORD"]:"in"===_||"of"===_?[_,"TK_OPERATOR"]:[_,"TK_RESERVED"]}if("("===_||"["===_)return[_,"TK_START_EXPR"];if(")"===_||"]"===_)return[_,"TK_END_EXPR"];if("{"===_)return[_,"TK_START_BLOCK"];if("}"===_)return[_,"TK_END_BLOCK"];if(";"===_)return[_,"TK_SEMICOLON"];if("/"===_){var T="";if("*"===m.peek()){m.next();var B=function(e){if(!e.match(w))return null;var t={};x.lastIndex=0;for(var n=x.exec(e);n;)t[n[1]]=n[2],n=x.exec(e);return t}(T="/*"+m.match(y)[0]);return B&&"start"===B.ignore&&(T+=m.match(C)[0]),[T=T.replace(o.allLineBreaks,"\n"),"TK_BLOCK_COMMENT",B]}if("/"===m.peek())return m.next(),[T="//"+m.match(b)[0],"TK_COMMENT"]}var L,M=/<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g;if("`"===_||"'"===_||'"'===_||("/"===_||t.e4x&&"<"===_&&m.test(M,-1))&&("TK_RESERVED"===E.type&&s(E.text,["return","case","throw","else","do","typeof","yield"])||"TK_END_EXPR"===E.type&&")"===E.text&&E.parent&&"TK_RESERVED"===E.parent.type&&s(E.parent.text,["if","while","for"])||s(E.type,["TK_COMMENT","TK_START_EXPR","TK_START_BLOCK","TK_END_BLOCK","TK_OPERATOR","TK_EQUALS","TK_EOF","TK_SEMICOLON","TK_COMMA"]))){var O=_,P=!1,R=!1;if(e=_,"/"===O)for(var j=!1;m.hasNext()&&(P||j||m.peek()!==O)&&!m.testChar(o.newline);)e+=m.peek(),P?P=!1:(P="\\"===m.peek(),"["===m.peek()?j=!0:"]"===m.peek()&&(j=!1)),m.next();else if(t.e4x&&"<"===O){var I=/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g;m.back();var N="",$=m.match(M);if($){for(var W=$[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),H=0===W.indexOf("{"),z=0;$;){var U=!!$[1],V=$[2];if(!($[$.length-1]||"![CDATA["===V.slice(0,8))&&(V===W||H&&V.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(U?--z:++z),N+=$[0],z<=0)break;$=m.match(I)}return $||(N+=m.match(/[\s\S]*/g)[0]),[N=N.replace(o.allLineBreaks,"\n"),"TK_STRING"]}}else{var G=function(t,n,r){for(var i;m.hasNext()&&(i=m.peek(),P||i!==t&&(n||!o.newline.test(i)));)(P||n)&&o.newline.test(i)?("\r"===i&&"\n"===m.peek(1)&&(m.next(),i=m.peek()),e+="\n"):e+=i,P?("x"!==i&&"u"!==i||(R=!0),P=!1):P="\\"===i,m.next(),r&&-1!==e.indexOf(r,e.length-r.length)&&("`"===t?G("}",n,"`"):G("`",n,"${"),m.hasNext()&&(e+=m.next()))};"`"===O?G("`",!0,"${"):G(O)}if(R&&t.unescape_strings&&(e=function(e){for(var t="",n=0,i=new r(e),o=null;i.hasNext();)if((o=i.match(/([\s]|[^\\]|\\\\)+/g))&&(t+=o[0]),"\\"===i.peek()){if(i.next(),"x"===i.peek())o=i.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==i.peek()){t+="\\",i.hasNext()&&(t+=i.next());continue}o=i.match(/u([0-9A-Fa-f]{4})/g)}if(!o)return e;if((n=parseInt(o[1],16))>126&&n<=255&&0===o[0].indexOf("x"))return e;if(n>=0&&n<32){t+="\\"+o[0];continue}t+=34===n||39===n||92===n?"\\"+String.fromCharCode(n):String.fromCharCode(n)}return t}(e)),m.peek()===O&&(e+=O,m.next(),"/"===O))for(;m.hasNext()&&o.isIdentifierStart(m.peekCharCode());)e+=m.next();return[e,"TK_STRING"]}if("#"===_){if(0===g.length&&"!"===m.peek()){for(e=_;m.hasNext()&&"\n"!==_;)_=m.next(),e+=_;return[(L=e,L.replace(/^\s+|\s+$/g,"")+"\n"),"TK_UNKNOWN"]}var K="#";if(m.hasNext()&&m.testChar(a)){do{K+=_=m.next()}while(m.hasNext()&&"#"!==_&&"="!==_);return"#"===_||("["===m.peek()&&"]"===m.peek(1)?(K+="[]",m.next(),m.next()):"{"===m.peek()&&"}"===m.peek(1)&&(K+="{}",m.next(),m.next())),[K,"TK_WORD"]}}if("<"===_&&("?"===m.peek()||"%"===m.peek())){m.back();var q=m.match(k);if(q)return[_=(_=q[0]).replace(o.allLineBreaks,"\n"),"TK_STRING"]}if("<"===_&&m.match(/\!--/g)){for(_="\x3c!--";m.hasNext()&&!m.testChar(o.newline);)_+=m.next();return p=!0,[_,"TK_COMMENT"]}if("-"===_&&p&&m.match(/->/g))return p=!1,["--\x3e","TK_COMMENT"];if("."===_)return"."===m.peek()&&"."===m.peek(1)?[_+=m.next()+m.next(),"TK_OPERATOR"]:[_,"TK_DOT"];if(s(_,h)){for(;m.hasNext()&&s(_+m.peek(),h)&&(_+=m.next(),m.hasNext()););return","===_?[_,"TK_COMMA"]:"="===_?[_,"TK_EQUALS"]:[_,"TK_OPERATOR"]}return[_,"TK_UNKNOWN"]}this.tokenize=function(){var t,n,o;m=new r(e),p=!1,g=[];for(var s=null,a=[],l=[];!n||"TK_EOF"!==n.type;){for(o=A(),t=new i(o[1],o[0],d,f);"TK_COMMENT"===t.type||"TK_BLOCK_COMMENT"===t.type||"TK_UNKNOWN"===t.type;)"TK_BLOCK_COMMENT"===t.type&&(t.directives=o[2]),l.push(t),o=A(),t=new i(o[1],o[0],d,f);l.length&&(t.comments_before=l,l=[]),"TK_START_BLOCK"===t.type||"TK_START_EXPR"===t.type?(t.parent=n,a.push(s),s=t):("TK_END_BLOCK"===t.type||"TK_END_EXPR"===t.type)&&s&&("]"===t.text&&"["===s.text||")"===t.text&&"("===s.text||"}"===t.text&&"{"===s.text)&&(t.parent=s.parent,t.opened=s,s=a.pop()),g.push(t),n=t}return g}}}]),void 0===(r=function(){return{js_beautify:i}}.apply(t,[]))||(e.exports=r)},,,,,,,,,function(e,t,n){"use strict";var r=/\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\(\/]+)/;function i(e){var t="";if(void 0===e.name){var n=String(e).match(r);n&&(t=n[1])}else t=e.name;return t}e.exports={compatibleInstance:function(e,t){return t instanceof Error&&e===t},compatibleConstructor:function(e,t){return t instanceof Error?e.constructor===t.constructor||e instanceof t.constructor:(t.prototype instanceof Error||t===Error)&&(e.constructor===t||e instanceof t)},compatibleMessage:function(e,t){var n="string"==typeof e?e:e.message;return t instanceof RegExp?t.test(n):"string"==typeof t&&-1!==n.indexOf(t)},getMessage:function(e){var t="";return e&&e.message?t=e.message:"string"==typeof e&&(t=e),t},getConstructorName:function(e){var t=e;return e instanceof Error?t=i(e.constructor):"function"==typeof e&&(t=i(e).trim()||i(new e)),t}}},function(e,t){
/*!
* Chai - getOwnEnumerablePropertySymbols utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e){return"function"!=typeof Object.getOwnPropertySymbols?[]:Object.getOwnPropertySymbols(e).filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}},function(e,t,n){
/*!
* Chai - flag utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var r=n(168),i=n(129);e.exports=function(e){var t=r(e),n=Object.prototype.toString.call(e);if(i.truncateThreshold&&t.length>=i.truncateThreshold){if("[object Function]"===n)return e.name&&""!==e.name?"[Function: "+e.name+"]":"[Function]";if("[object Array]"===n)return"[ Array("+e.length+") ]";if("[object Object]"===n){var o=Object.keys(e);return"{ Object ("+(o.length>2?o.splice(0,2).join(", ")+", ...":o.join(", "))+") }"}return t}return t}},function(e,t){
/*!
* Chai - getProperties utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e){var t=Object.getOwnPropertyNames(e);function n(e){-1===t.indexOf(e)&&t.push(e)}for(var r=Object.getPrototypeOf(e);null!==r;)Object.getOwnPropertyNames(r).forEach(n),r=Object.getPrototypeOf(r);return t}},function(e,t,n){"use strict";var r=Function.prototype.toString,i=/\s*function(?:\s|\s*\/\*[^(?:*\/)]+\*\/\s*)*([^\s\(\/]+)/;e.exports=function(e){if("function"!=typeof e)return null;var t="";if(void 0===Function.prototype.name&&void 0===e.name){var n=r.call(e).match(i);n&&(t=n[1])}else t=e.name;return t}},function(e,t){
/*!
* Chai - getActual utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t){return t.length>4?t[4]:e._obj}},function(e,t){
/*!
* assertion-error
* Copyright(c) 2013 Jake Luer <jake@qualiancy.com>
* MIT Licensed
*/
/*!
* Return a function that will copy properties from
* one object to another excluding any originally
* listed. Returned function will create a new `{}`.
*
* @param {String} excluded properties ...
* @return {Function}
*/
function n(){var e=[].slice.call(arguments);function t(t,n){Object.keys(n).forEach(function(r){~e.indexOf(r)||(t[r]=n[r])})}return function(){for(var e=[].slice.call(arguments),n=0,r={};n<e.length;n++)t(r,e[n]);return r}}function r(e,t,i){var o=n("name","message","stack","constructor","toJSON")(t||{});for(var s in this.message=e||"Unspecified AssertionError",this.showDiff=!1,o)this[s]=o[s];if(i=i||r,Error.captureStackTrace)Error.captureStackTrace(this,i);else try{throw new Error}catch(e){this.stack=e.stack}}
/*!
* Inherit from Error.prototype
*/
/*!
* Primary Exports
*/
e.exports=r,r.prototype=Object.create(Error.prototype),
/*!
* Statically set name
*/
r.prototype.name="AssertionError",
/*!
* Ensure correct constructor
*/
r.prototype.constructor=r,r.prototype.toJSON=function(e){var t=n("constructor","toJSON","stack")({name:this.name},this);return!1!==e&&this.stack&&(t.stack=this.stack),t}},function(e,t,n){},function(e,t,n){var r=n(144),i=Object.prototype.hasOwnProperty,o="undefined"!=typeof Map;function s(){this._array=[],this._set=o?new Map:Object.create(null)}s.fromArray=function(e,t){for(var n=new s,r=0,i=e.length;r<i;r++)n.add(e[r],t);return n},s.prototype.size=function(){return o?this._set.size:Object.getOwnPropertyNames(this._set).length},s.prototype.add=function(e,t){var n=o?e:r.toSetString(e),s=o?this.has(e):i.call(this._set,n),a=this._array.length;s&&!t||this._array.push(e),s||(o?this._set.set(e,a):this._set[n]=a)},s.prototype.has=function(e){if(o)return this._set.has(e);var t=r.toSetString(e);return i.call(this._set,t)},s.prototype.indexOf=function(e){if(o){var t=this._set.get(e);if(t>=0)return t}else{var n=r.toSetString(e);if(i.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},s.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},s.prototype.toArray=function(){return this._array.slice()},t.ArraySet=s},function(e,t,n){var r=n(440);t.encode=function(e){var t,n="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},t.decode=function(e,t,n){var i,o,s,a,l=e.length,u=0,c=0;do{if(t>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(o=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&o),u+=(o&=31)<<c,c+=5}while(i);n.value=(a=(s=u)>>1,1==(1&s)?-a:a),n.rest=t}},function(e,t,n){var r=n(267),i=n(144),o=n(266).ArraySet,s=n(439).MappingList;function a(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new o,this._names=new o,this._mappings=new s,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e){var t=e.sourceRoot,n=new a({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=i.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(r){var o=r;null!==t&&(o=i.relative(t,r)),n._sources.has(o)||n._sources.add(o);var s=e.sourceContentFor(r);null!=s&&n.setSourceContent(r,s)}),n},a.prototype.addMapping=function(e){var t=i.getArg(e,"generated"),n=i.getArg(e,"original",null),r=i.getArg(e,"source",null),o=i.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:o})},a.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=i.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},a.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var s=this._sourceRoot;null!=s&&(r=i.relative(s,r));var a=new o,l=new o;this._mappings.unsortedForEach(function(t){if(t.source===r&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=n&&(t.source=i.join(n,t.source)),null!=s&&(t.source=i.relative(s,t.source)),t.originalLine=o.line,t.originalColumn=o.column,null!=o.name&&(t.name=o.name))}var u=t.source;null==u||a.has(u)||a.add(u);var c=t.name;null==c||l.has(c)||l.add(c)},this),this._sources=a,this._names=l,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=i.join(n,t)),null!=s&&(t=i.relative(s,t)),this.setSourceContent(t,r))},this)},a.prototype._validateMapping=function(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},a.prototype._serializeMappings=function(){for(var e,t,n,o,s=0,a=1,l=0,u=0,c=0,h=0,d="",f=this._mappings.toArray(),p=0,g=f.length;p<g;p++){if(e="",(t=f[p]).generatedLine!==a)for(s=0;t.generatedLine!==a;)e+=";",a++;else if(p>0){if(!i.compareByGeneratedPositionsInflated(t,f[p-1]))continue;e+=","}e+=r.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(o=this._sources.indexOf(t.source),e+=r.encode(o-h),h=o,e+=r.encode(t.originalLine-1-u),u=t.originalLine-1,e+=r.encode(t.originalColumn-l),l=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-c),c=n)),d+=e}return d},a.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=a},function(e,t){!function(){"use strict";var t,n,r,i,o,s;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),s=0;s<128;++s)i[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(o=new Array(128),s=0;s<128;++s)o[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?o[e]:n.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()},function(e,t,n){"use strict";var r=n(272);function i(e){r.call(this,e)}n(79).inherits(i,r),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,n){"use strict";var r=n(79);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return r.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},function(e,t,n){"use strict";var r=n(271);function i(e){r.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}n(79).inherits(i,r),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),o=this.length-4;o>=0;--o)if(this.data[o]===t&&this.data[o+1]===n&&this.data[o+2]===r&&this.data[o+3]===i)return o-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&n===o[1]&&r===o[2]&&i===o[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,n){"use strict";var r=n(79),i=n(126),o=n(272),s=n(450),a=n(449),l=n(270);e.exports=function(e){var t=r.getTypeOf(e);return r.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(r.transformTo("uint8array",e)):new o(r.transformTo("array",e)):new s(e)}},function(e,t,n){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},function(e,t,n){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,n){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,t,n){"use strict";var r=n(125),i=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var s=new r.Buf8(256),a=0;a<256;a++)s[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65537&&(e.subarray&&o||!e.subarray&&i))return String.fromCharCode.apply(null,r.shrinkBuf(e,t));for(var n="",s=0;s<t;s++)n+=String.fromCharCode(e[s]);return n}s[254]=s[254]=1,t.string2buf=function(e){var t,n,i,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new r.Buf8(l),s=0,o=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),n<128?t[s++]=n:n<2048?(t[s++]=192|n>>>6,t[s++]=128|63&n):n<65536?(t[s++]=224|n>>>12,t[s++]=128|n>>>6&63,t[s++]=128|63&n):(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63,t[s++]=128|n>>>6&63,t[s++]=128|63&n);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new r.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},t.buf2string=function(e,t){var n,r,i,o,a=t||e.length,u=new Array(2*a);for(r=0,n=0;n<a;)if((i=e[n++])<128)u[r++]=i;else if((o=s[i])>4)u[r++]=65533,n+=o-1;else{for(i&=2===o?31:3===o?15:7;o>1&&n<a;)i=i<<6|63&e[n++],o--;o>1?u[r++]=65533:i<65536?u[r++]=i:(i-=65536,u[r++]=55296|i>>10&1023,u[r++]=56320|1023&i)}return l(u,r)},t.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+s[e[n]]>t?n:t}},function(e,t,n){"use strict";var r=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,t,n,i){var o=r,s=i+n;e^=-1;for(var a=i;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){for(var i=65535&e|0,o=e>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{o=o+(i=i+t[r++]|0)|0}while(--s);i%=65521,o%=65521}return i|o<<16|0}},function(e,t,n){"use strict";var r=n(105);t.STORE={magic:"\0\0",compressWorker:function(e){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},t.DEFLATE=n(464)},function(e,t,n){"use strict";var r=n(105),i=n(229);function o(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}n(79).inherits(o,r),o.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=o},function(e,t,n){"use strict";var r=n(79),i=n(105);function o(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}r.inherits(o,i),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=o},function(e,t,n){"use strict";var r=n(79),i=n(105);function o(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=r.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}r.inherits(o,i),o.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=o},function(e,t,n){"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},function(e,t,n){"use strict";(function(t){var r=n(79),i=n(468),o=n(105),s=n(290),a=n(126),l=n(148),u=null;if(a.nodestream)try{u=n(467)}catch(e){}function c(e,n){return new l.Promise(function(i,o){var a=[],l=e._internalType,u=e._outputType,c=e._mimeType;e.on("data",function(e,t){a.push(e),n&&n(t)}).on("error",function(e){a=[],o(e)}).on("end",function(){try{var e=function(e,t,n){switch(e){case"blob":return r.newBlob(r.transformTo("arraybuffer",t),n);case"base64":return s.encode(t);default:return r.transformTo(e,t)}}(u,function(e,n){var r,i=0,o=null,s=0;for(r=0;r<n.length;r++)s+=n[r].length;switch(e){case"string":return n.join("");case"array":return Array.prototype.concat.apply([],n);case"uint8array":for(o=new Uint8Array(s),r=0;r<n.length;r++)o.set(n[r],i),i+=n[r].length;return o;case"nodebuffer":return t.concat(n);default:throw new Error("concat : unsupported type '"+e+"'")}}(l,a),c);i(e)}catch(e){o(e)}a=[]}).resume()})}function h(e,t,n){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=n,r.checkSupport(s),this._worker=e.pipe(new i(s)),e.lock()}catch(e){this._worker=new o("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){return c(this,e)},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,function(e){t.call(n,e.data,e.meta)}):this._worker.on(e,function(){r.delay(t,arguments,n)}),this},resume:function(){return r.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(r.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},e.exports=h}).call(this,n(150).Buffer)},function(e,t,n){var r=n(232),i=n(169).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(481);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){var n=e.exports={version:"2.3.0"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";var r=n(79),i=n(126),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encode=function(e){for(var t,n,i,s,a,l,u,c=[],h=0,d=e.length,f=d,p="string"!==r.getTypeOf(e);h<e.length;)f=d-h,p?(t=e[h++],n=h<d?e[h++]:0,i=h<d?e[h++]:0):(t=e.charCodeAt(h++),n=h<d?e.charCodeAt(h++):0,i=h<d?e.charCodeAt(h++):0),s=t>>2,a=(3&t)<<4|n>>4,l=f>1?(15&n)<<2|i>>6:64,u=f>2?63&i:64,c.push(o.charAt(s)+o.charAt(a)+o.charAt(l)+o.charAt(u));return c.join("")},t.decode=function(e){var t,n,r,s,a,l,u=0,c=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&d--,e.charAt(e.length-2)===o.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|d):new Array(0|d);u<e.length;)t=o.indexOf(e.charAt(u++))<<2|(s=o.indexOf(e.charAt(u++)))>>4,n=(15&s)<<4|(a=o.indexOf(e.charAt(u++)))>>2,r=(3&a)<<6|(l=o.indexOf(e.charAt(u++))),h[c++]=t,64!==a&&(h[c++]=n),64!==l&&(h[c++]=r);return h}},function(e,t,n){"use strict";e.exports=o;var r=n(131),i=n(149);function o(e){if(!(this instanceof o))return new o(e);r.call(this,e),this._transformState={afterTransform:function(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){a(e,t,n)}):a(this,null,null)}function a(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=n(132),i.inherits(o,r),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},o.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){"use strict";var r=n(171).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"<22>".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"<22>".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"<22>".repeat(n+2)}}(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"<22>".repeat(this.lastTotal-this.lastNeed):t},o.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=s(t[r]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--r<n)return 0;if((i=s(t[r]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--r<n)return 0;if((i=s(t[r]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(172).nextTick;function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(r(i,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},,,function(e,t,n){e.exports=n(143).EventEmitter},function(e,t,n){"use strict";(function(t,r){var i=n(172).nextTick;e.exports=b;var o,s=n(299);b.ReadableState=y;n(143).EventEmitter;var a=function(e,t){return e.listeners(t).length},l=n(296),u=n(171).Buffer,c=t.Uint8Array||function(){};var h=n(149);h.inherits=n(132);var d=n(295),f=void 0;f=d&&d.debuglog?d.debuglog("stream"):function(){};var p,g=n(493),m=n(293);h.inherits(b,l);var v=["error","close","destroy","pause","resume"];function y(e,t){o=o||n(131),e=e||{};var r=t instanceof o;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(292).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n(131),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function w(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,A(e)}(e,s)):(i||(o=function(e,t){var n;r=t,u.isBuffer(r)||r instanceof c||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):x(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?x(e,s,t,!1):_(e,s)):x(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function x(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&A(e)),_(e,t)}Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=u.from(e,t),t=""),n=!0),w(this,e,t,!1,n)},b.prototype.unshift=function(e){return w(this,e,null,!0,!1)},b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return p||(p=n(292).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};var C=8388608;function k(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i(E,e):E(e))}function E(e){f("emit readable"),e.emit("readable"),T(e)}function _(e,t){t.readingMore||(t.readingMore=!0,i(S,e,t))}function S(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(f("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function F(e){f("readable nexttick read 0"),e.read(0)}function D(e,t){t.reading||(f("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),T(e),t.flowing&&!t.reading&&e.read(0)}function T(e){var t=e._readableState;for(f("flow",t.flowing);t.flowing&&null!==e.read(););}function B(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,i=n.data;e-=i.length;for(;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=u.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function L(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function O(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}b.prototype.read=function(e){f("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):A(this),null;if(0===(e=k(e,t))&&t.ended)return 0===t.length&&L(this),null;var r,i=t.needReadable;return f("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&f("length less than watermark",i=!0),t.ended||t.reading?f("reading or ended",i=!1):i&&(f("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=k(n,t))),null===(r=e>0?B(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&L(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,t);var l=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?c:b;function u(t,r){f("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f("cleanup"),e.removeListener("close",v),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",u),n.removeListener("end",c),n.removeListener("end",b),n.removeListener("data",g),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){f("onend"),e.end()}o.endEmitted?i(l):n.once("end",l),e.on("unpipe",u);var h=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,T(e))}}(n);e.on("drain",h);var d=!1;var p=!1;function g(t){f("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==O(o.pipes,e))&&!d&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){f("onerror",t),b(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function v(){e.removeListener("finish",y),b()}function y(){f("onfinish"),e.removeListener("close",v),b()}function b(){f("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",v),e.once("finish",y),e.emit("pipe",n),o.flowing||(f("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit("unpipe",this,n);return this}var s=O(t.pipes,e);return-1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},b.prototype.on=function(e,t){var n=l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&A(this):i(F,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return e.flowing||(f("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i(D,e,t))}(this,e)),this},b.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(f("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(f("wrapped data"),n.decoder&&(i=n.decoder.write(i)),!n.objectMode||null!==i&&void 0!==i)&&((n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause())))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<v.length;o++)e.on(v[o],this.emit.bind(this,v[o]));return this._read=function(t){f("wrapped _read",t),r&&(r=!1,e.resume())},this},b._fromList=B}).call(this,n(99),n(151))},function(e,t,n){e.exports=n(494)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){(function(){void 0===Math.sgn&&(Math.sgn=function(e){return 0==e?0:e>0?1:-1});var e=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},n=function(e,t){return e.x*t.x+e.y*t.y},r=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},i=function(e,t){return{x:e.x*t,y:e.y*t}},o=Math.pow(2,-65),s=function(t,n){for(var i=[],o=a(t,n),s=n.length-1,u=l(o,2*s-1,i,0),c=e(t,n[0]),h=r(c),f=0,p=0;p<u;p++){c=e(t,d(n,s,i[p],null,null));var g=r(c);g<h&&(h=g,f=i[p])}return c=e(t,n[s]),(g=r(c))<h&&(h=g,f=1),{location:f,distance:h}},a=function(t,r){for(var o=r.length-1,s=2*o-1,a=[],l=[],u=[],c=[],h=[[1,.6,.3,.1],[.4,.6,.6,.4],[.1,.3,.6,1]],d=0;d<=o;d++)a[d]=e(r[d],t);for(d=0;d<=o-1;d++)l[d]=e(r[d+1],r[d]),l[d]=i(l[d],3);for(var f=0;f<=o-1;f++)for(var p=0;p<=o;p++)u[f]||(u[f]=[]),u[f][p]=n(l[f],a[p]);for(d=0;d<=s;d++)c[d]||(c[d]=[]),c[d].y=0,c[d].x=parseFloat(d)/s;for(var g=o,m=o-1,v=0;v<=g+m;v++){var y=Math.max(0,v-m),b=Math.min(v,g);for(d=y;d<=b;d++)j=v-d,c[d+j].y+=u[j][d]*h[j][d]}return c},l=function(e,t,n,r){var i,o,s=[],a=[],f=[],p=[];switch(u(e,t)){case 0:return 0;case 1:if(r>=64)return n[0]=(e[0].x+e[t].x)/2,1;if(c(e,t))return n[0]=h(e,t),1}d(e,t,.5,s,a),i=l(s,t,f,r+1),o=l(a,t,p,r+1);for(var g=0;g<i;g++)n[g]=f[g];for(g=0;g<o;g++)n[g+i]=p[g];return i+o},u=function(e,t){var n,r,i=0;n=r=Math.sgn(e[0].y);for(var o=1;o<=t;o++)(n=Math.sgn(e[o].y))!=r&&i++,r=n;return i},c=function(e,t){var n,r,i,s,a,l,u,c;s=e[0].y-e[t].y,a=e[t].x-e[0].x,l=e[0].x*e[t].y-e[t].x*e[0].y;for(var h=max_distance_below=0,d=1;d<t;d++){var f=s*e[d].x+a*e[d].y+l;f>h?h=f:f<max_distance_below&&(max_distance_below=f)}return 0,1,0,n=(1*(l-h)-0*(c=a))*(1/(0*c-1*(u=s))),u=s,c=a,r=(1*(l-max_distance_below)-0*c)*(1/(0*c-1*u)),i=Math.min(n,r),Math.max(n,r)-i<o?1:0},h=function(e,t){var n=e[t].x-e[0].x,r=e[t].y-e[0].y,i=e[0].x-0;return 0+1*((n*(e[0].y-0)-r*i)*(1/(0*n-1*r)))},d=function(e,t,n,r,i){for(var o=[[]],s=0;s<=t;s++)o[0][s]=e[s];for(var a=1;a<=t;a++)for(s=0;s<=t-a;s++)o[a]||(o[a]=[]),o[a][s]||(o[a][s]={}),o[a][s].x=(1-n)*o[a-1][s].x+n*o[a-1][s+1].x,o[a][s].y=(1-n)*o[a-1][s].y+n*o[a-1][s+1].y;if(null!=r)for(s=0;s<=t;s++)r[s]=o[s][0];if(null!=i)for(s=0;s<=t;s++)i[s]=o[t-s][s];return o[t][0]},f={},p=function(e,t){for(var n=function(e){var t=f[e];if(!t){var n=function(e){return function(t){return e}},r=function(){return function(e){return e}},i=function(){return function(e){return 1-e}},o=function(e){return function(t){for(var n=1,r=0;r<e.length;r++)n*=e[r](t);return n}};(t=[]).push(new function(){return function(t){return Math.pow(t,e)}});for(var s=1;s<e;s++){for(var a=[new n(e)],l=0;l<e-s;l++)a.push(new r);for(l=0;l<s;l++)a.push(new i);t.push(new o(a))}t.push(new function(){return function(t){return Math.pow(1-t,e)}}),f[e]=t}return t}(e.length-1),r=0,i=0,o=0;o<e.length;o++)r+=e[o].x*n[o](t),i+=e[o].y*n[o](t);return{x:r,y:i}},g=function(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},m=function(e){return e[0].x==e[1].x&&e[0].y==e[1].y},v=function(e,t,n){if(m(e))return{point:e[0],location:t};for(var r=p(e,t),i=0,o=t,s=n>0?1:-1,a=null;i<Math.abs(n);)a=p(e,o+=.005*s),i+=g(a,r),r=a;return{point:a,location:o}},y=function(e,t){var n=p(e,t),r=p(e.slice(0,e.length-1),t),i=r.y-n.y,o=r.x-n.x;return 0==i?1/0:Math.atan(i/o)},b=this.jsBezier={distanceFromCurve:s,gradientAtPoint:y,gradientAtPointAlongCurveFrom:function(e,t,n){var r=v(e,t,n);return r.location>1&&(r.location=1),r.location<0&&(r.location=0),y(e,r.location)},nearestPointOnCurve:function(e,t){var n=s(e,t);return{point:d(t,t.length-1,n.location,null,null),location:n.location}},pointOnCurve:p,pointAlongCurveFrom:function(e,t,n){return v(e,t,n).point},perpendicularToCurveAt:function(e,t,n,r){var i=v(e,t,r=null==r?0:r),o=y(e,i.location),s=Math.atan(-1/o),a=n/2*Math.sin(s),l=n/2*Math.cos(s);return[{x:i.point.x+l,y:i.point.y+a},{x:i.point.x-l,y:i.point.y-a}]},locationAlongCurveFrom:function(e,t,n){return v(e,t,n).location},getLength:function(e){if(m(e))return 0;for(var t=p(e,0),n=0,r=0,i=null;r<1;)i=p(e,r+=.005),n+=g(i,t),t=i;return n},version:"0.9.0"};t.jsBezier=b}).call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.Biltong={version:"0.4.0"};t.Biltong=e;var n=function(e){return"[object Array]"===Object.prototype.toString.call(e)},r=function(e,t,r){return r(e=n(e)?e:[e.x,e.y],t=n(t)?t:[t.x,t.y])},i=e.gradient=function(e,t){return r(e,t,function(e,t){return t[0]==e[0]?t[1]>e[1]?1/0:-1/0:t[1]==e[1]?t[0]>e[0]?0:-0:(t[1]-e[1])/(t[0]-e[0])})},o=(e.normal=function(e,t){return-1/i(e,t)},e.lineLength=function(e,t){return r(e,t,function(e,t){return Math.sqrt(Math.pow(t[1]-e[1],2)+Math.pow(t[0]-e[0],2))})},e.quadrant=function(e,t){return r(e,t,function(e,t){return t[0]>e[0]?t[1]>e[1]?2:1:t[0]==e[0]?t[1]>e[1]?2:1:t[1]>e[1]?3:4})}),s=(e.theta=function(e,t){return r(e,t,function(e,t){var n=i(e,t),r=Math.atan(n),s=o(e,t);return 4!=s&&3!=s||(r+=Math.PI),r<0&&(r+=2*Math.PI),r})},e.intersects=function(e,t){var n=e.x,r=e.x+e.w,i=e.y,o=e.y+e.h,s=t.x,a=t.x+t.w,l=t.y,u=t.y+t.h;return n<=s&&s<=r&&i<=l&&l<=o||n<=a&&a<=r&&i<=l&&l<=o||n<=s&&s<=r&&i<=u&&u<=o||n<=a&&s<=r&&i<=u&&u<=o||s<=n&&n<=a&&l<=i&&i<=u||s<=r&&r<=a&&l<=i&&i<=u||s<=n&&n<=a&&l<=o&&o<=u||s<=r&&n<=a&&l<=o&&o<=u},e.encloses=function(e,t,n){var r=e.x,i=e.x+e.w,o=e.y,s=e.y+e.h,a=t.x,l=t.x+t.w,u=t.y,c=t.y+t.h,h=function(e,t,r,i){return n?e<=t&&r>=i:e<t&&r>i};return h(r,a,i,l)&&h(o,u,s,c)},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),a=[null,[-1,-1],[-1,1],[1,1],[1,-1]];e.pointOnLine=function(e,t,n){var r=i(e,t),l=o(e,t),u=n>0?s[l]:a[l],c=Math.atan(r),h=Math.abs(n*Math.sin(c))*u[1],d=Math.abs(n*Math.cos(c))*u[0];return{x:e.x+d,y:e.y+h}},e.perpendicularLineTo=function(e,t,n){var r=i(e,t),o=Math.atan(-1/r),s=n/2*Math.sin(o),a=n/2*Math.cos(o);return[{x:t.x+a,y:t.y+s},{x:t.x-a,y:t.y-s}]}}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=navigator.userAgent.toLowerCase().indexOf("android")>-1,n=function(e,t,n){for(var r=(n=n||e.parentNode).querySelectorAll(t),i=0;i<r.length;i++)if(r[i]===e)return!0;return!1},r=function(e){return"string"==typeof e||e.constructor===String?document.getElementById(e):e},i=function(e){return e.srcElement||e.target},o=function(e,t,n,r){if(r){if(void 0!==e.path&&e.path.indexOf)return{path:e.path,end:e.path.indexOf(n)};var i={path:[],end:-1},o=function(e){i.path.push(e),e===n?i.end=i.path.length-1:null!=e.parentNode&&o(e.parentNode)};return o(t),i}return{path:[t],end:1}},s=function(e,t){for(var n=0,r=e.length;n<r&&e[n]!=t;n++);n<e.length&&e.splice(n,1)},a=1,l=function(e,t,n){var r=a++;return e.__ta=e.__ta||{},e.__ta[t]=e.__ta[t]||{},e.__ta[t][r]=n,n.__tauid=r,r},u=function(e,t,r,s){if(null==e)return r;var a=e.split(","),l=function(s){l.__tauid=r.__tauid;var u=i(s),c=u,h=o(s,u,t,null!=e);if(-1!=h.end)for(var d=0;d<h.end;d++){c=h.path[d];for(var f=0;f<a.length;f++)n(c,a[f],t)&&r.apply(c,arguments)}};return c(r,s,l),l},c=function(e,t,n){e.__taExtra=e.__taExtra||[],e.__taExtra.push([t,n])},h=function(e,t,n,r){if(p&&m[t]){var i=u(r,e,n,m[t]);A(e,m[t],i,n)}"focus"===t&&null==e.getAttribute("tabindex")&&e.setAttribute("tabindex","1"),A(e,t,u(r,e,n,t),n)},d={tap:{touches:1,taps:1},dbltap:{touches:1,taps:2},contextmenu:{touches:2,taps:1}},f=function(e,t,n,r){for(var i in n.__tamee[e])n.__tamee[e].hasOwnProperty(i)&&n.__tamee[e][i].apply(r,[t])},p="ontouchstart"in document.documentElement,g="onmousedown"in document.documentElement,m={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"},v=function(){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1))}return e}(),y=v>-1&&v<9,b=function(e,t){if(null==e)return[0,0];var n=C(e),r=x(n,0);return[r[t+"X"],r[t+"Y"]]},w=function(e){return null==e?[0,0]:y?[e.clientX+document.documentElement.scrollLeft,e.clientY+document.documentElement.scrollTop]:b(e,"page")},x=function(e,t){return e.item?e.item(t):e[t]},C=function(e){return e.touches&&e.touches.length>0?e.touches:e.changedTouches&&e.changedTouches.length>0?e.changedTouches:e.targetTouches&&e.targetTouches.length>0?e.targetTouches:[e]},k=function(e){return C(e).length},A=function(e,t,n,r){if(l(e,t,n),r.__tauid=n.__tauid,e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent){var i=t+n.__tauid;e["e"+i]=n,e[i]=function(){e["e"+i]&&e["e"+i](window.event)},e.attachEvent("on"+t,e[i])}},E=function(e,t,n){null!=n&&_(e,function(){var i=r(this);if(function(e,t,n){if(e.__ta&&e.__ta[t]&&delete e.__ta[t][n.__tauid],n.__taExtra){for(var r=0;r<n.__taExtra.length;r++)E(e,n.__taExtra[r][0],n.__taExtra[r][1]);n.__taExtra.length=0}n.__taUnstore&&n.__taUnstore()}(i,t,n),null!=n.__tauid)if(i.removeEventListener)i.removeEventListener(t,n,!1),p&&m[t]&&i.removeEventListener(m[t],n,!1);else if(this.detachEvent){var o=t+n.__tauid;i[o]&&i.detachEvent("on"+t,i[o]),i[o]=null,i["e"+o]=null}n.__taTouchProxy&&E(e,n.__taTouchProxy[1],n.__taTouchProxy[0])})},_=function(e,t){if(null!=e){e="undefined"!=typeof Window&&"unknown"!=typeof e.top&&e==e.top?[e]:"string"!=typeof e&&null==e.tagName&&null!=e.length?e:"string"==typeof e?document.querySelectorAll(e):[e];for(var n=0;n<e.length;n++)t.apply(e[n])}};this.Mottle=function(t){var a=(t=t||{}).clickThreshold||250,c=t.dblClickThreshold||450,v=new function(){var e=[];return function(t,r,o,s){if(!t.__tamee){t.__tamee={over:!1,mouseenter:[],mouseexit:[]};var a=function(r){var o=i(r);(null==s&&o==t&&!t.__tamee.over||n(o,s,t)&&(null==o.__tamee||!o.__tamee.over))&&(f("mouseenter",r,t,o),o.__tamee=o.__tamee||{},o.__tamee.over=!0,e.push(o))},c=function(r){for(var o=i(r),s=0;s<e.length;s++)o!=e[s]||n(r.relatedTarget||r.toElement,"*",o)||(o.__tamee.over=!1,e.splice(s,1),f("mouseexit",r,t,o))};A(t,"mouseover",u(s,t,a,"mouseover"),a),A(t,"mouseout",u(s,t,c,"mouseout"),c)}o.__taUnstore=function(){delete t.__tamee[r][o.__tauid]},l(t,r,o),t.__tamee[r][o.__tauid]=o}},y=new function(e,t){return function(r,a,l,u){if("contextmenu"==a&&g)h(r,a,l,u);else{if(null==r.__taTapHandler){var c=r.__taTapHandler={tap:[],dbltap:[],contextmenu:[],down:!1,taps:0,downSelectors:[]},f=function(){c.down=!1},p=function(){c.taps=0};h(r,"mousedown",function(s){for(var a=i(s),l=o(s,a,r,null!=u),h=!1,d=0;d<l.end;d++){if(h)return;a=l.path[d];for(var g=0;g<c.downSelectors.length;g++)if(null==c.downSelectors[g]||n(a,c.downSelectors[g],r)){c.down=!0,setTimeout(f,e),setTimeout(p,t),h=!0;break}}}),h(r,"mouseup",function(e){if(c.down){var t,s,a=i(e);c.taps++;var l=k(e);for(var u in d)if(d.hasOwnProperty(u)){var h=d[u];if(h.touches===l&&(1===h.taps||h.taps===c.taps))for(var f=0;f<c[u].length;f++){s=o(e,a,r,null!=c[u][f][1]);for(var p=0;p<s.end;p++)if(t=s.path[p],null==c[u][f][1]||n(t,c[u][f][1],r)){c[u][f][0].apply(t,[e]);break}}}}})}r.__taTapHandler.downSelectors.push(u),r.__taTapHandler[a].push([l,u]),l.__taUnstore=function(){s(r.__taTapHandler[a],l)}}}}(a,c),x=t.smartClicks,C=function(e,t,n,o){null!=n&&_(e,function(){var e=r(this);x&&"click"===t?function(e,t,n,r){null==e.__taSmartClicks&&(h(e,"mousedown",function(t){e.__tad=w(t)},r),h(e,"mouseup",function(t){e.__tau=w(t)},r),h(e,"click",function(t){if(e.__tad&&e.__tau&&e.__tad[0]===e.__tau[0]&&e.__tad[1]===e.__tau[1])for(var n=0;n<e.__taSmartClicks.length;n++)e.__taSmartClicks[n].apply(i(t),[t])},r),e.__taSmartClicks=[]);e.__taSmartClicks.push(n),n.__taUnstore=function(){s(e.__taSmartClicks,n)}}(e,0,n,o):"tap"===t||"dbltap"===t||"contextmenu"===t?y(e,t,n,o):"mouseenter"===t||"mouseexit"==t?v(e,t,n,o):h(e,t,n,o)})};this.remove=function(e){return _(e,function(){var e=r(this);if(e.__ta)for(var t in e.__ta)if(e.__ta.hasOwnProperty(t))for(var n in e.__ta[t])e.__ta[t].hasOwnProperty(n)&&E(e,t,e.__ta[t][n]);e.parentNode&&e.parentNode.removeChild(e)}),this},this.on=function(e,t,n,r){var i=arguments[0],o=4==arguments.length?arguments[2]:null,s=arguments[1],a=arguments[arguments.length-1];return C(i,s,a,o),this},this.off=function(e,t,n){return E(e,t,n),this},this.trigger=function(t,n,i,o){var s=g&&("undefined"==typeof MouseEvent||null==i||i.constructor===MouseEvent),a=p&&!g&&m[n]?m[n]:n,l=!(p&&!g&&m[n]),u=w(i),c=b(i,"screen"),h=function(e){return b(e,"client")}(i);return _(t,function(){var t,d=r(this);i=i||{screenX:c[0],screenY:c[1],clientX:h[0],clientY:h[1]};var f=function(e){o&&(e.payload=o)},g={TouchEvent:function(e){var t=document.createTouch(window,d,0,u[0],u[1],c[0],c[1],h[0],h[1],0,0,0,0),n=document.createTouchList(t),r=document.createTouchList(t),i=document.createTouchList(t);e.initTouchEvent(a,!0,!0,window,null,c[0],c[1],h[0],h[1],!1,!1,!1,!1,n,r,i,1,0)},MouseEvents:function(t){if(t.initMouseEvent(a,!0,!0,window,0,c[0],c[1],h[0],h[1],!1,!1,!1,!1,1,d),e){var n=document.createTouch(window,d,0,u[0],u[1],c[0],c[1],h[0],h[1],0,0,0,0);t.touches=t.targetTouches=t.changedTouches=document.createTouchList(n)}}};if(document.createEvent){var v=!l&&!s&&p&&m[n]&&!e?"TouchEvent":"MouseEvents";t=document.createEvent(v),g[v](t),f(t),d.dispatchEvent(t)}else document.createEventObject&&((t=document.createEventObject()).eventType=t.eventName=a,t.screenX=c[0],t.screenY=c[1],t.clientX=h[0],t.clientY=h[1],f(t),d.fireEvent("on"+a,t))}),this}},this.Mottle.consume=function(e,t){e.stopPropagation?e.stopPropagation():e.returnValue=!1,!t&&e.preventDefault&&e.preventDefault()},this.Mottle.pageLocation=w,this.Mottle.setForceTouchEvents=function(e){p=e},this.Mottle.setForceMouseEvents=function(e){g=e},this.Mottle.version="0.8.0",t.Mottle=this.Mottle}.call("undefined"==typeof window?this:window),function(){"use strict";var e=function(e,t,n){return-1===e.indexOf(t)&&(n?e.unshift(t):e.push(t),!0)},n=function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)},r=function(e){return null!=e&&("string"==typeof e||e.constructor===String)},i=function(e,t,n){for(var r=(n=n||e.parentNode).querySelectorAll(t),i=0;i<r.length;i++)if(r[i]===e)return!0;return!1},o=function(){var e=-1;if("Microsoft Internet Explorer"===navigator.appName){var t=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1))}return e}(),s=o>-1&&o<9,a=9===o,l=function(e){if(s)return[e.clientX+document.documentElement.scrollLeft,e.clientY+document.documentElement.scrollTop];var t=c(e),n=u(t,0);return a?[n.pageX||n.clientX,n.pageY||n.clientY]:[n.pageX,n.pageY]},u=function(e,t){return e.item?e.item(t):e[t]},c=function(e){return e.touches&&e.touches.length>0?e.touches:e.changedTouches&&e.changedTouches.length>0?e.changedTouches:e.targetTouches&&e.targetTouches.length>0?e.targetTouches:[e]},h={draggable:"katavorio-draggable",droppable:"katavorio-droppable",drag:"katavorio-drag",selected:"katavorio-drag-selected",active:"katavorio-drag-active",hover:"katavorio-drag-hover",noSelect:"katavorio-drag-no-select",ghostProxy:"katavorio-ghost-proxy",clonedDrag:"katavorio-clone-drag"},d=["stop","start","drag","drop","over","out","beforeStart"],f=function(){},p=function(){return!0},g=function(e,t,n){for(var r=0;r<e.length;r++)e[r]!=n&&t(e[r])},m=function(e,t,n,r){g(e,function(e){e.setActive(t),t&&e.updatePosition(),n&&e.setHover(r,t)})},v=function(e,t){if(null!=e){e=r(e)||null!=e.tagName||null==e.length?[e]:e;for(var n=0;n<e.length;n++)t.apply(e[n],[e[n]])}},y=function(e){e.stopPropagation?(e.stopPropagation(),e.preventDefault()):e.returnValue=!1},b=function(e,t,n,r){this.params=t||{},this.el=e,this.params.addClass(this.el,this._class),this.uuid=A();var i=!0;return this.setEnabled=function(e){i=e},this.isEnabled=function(){return i},this.toggleEnabled=function(){i=!i},this.setScope=function(e){this.scopes=e?e.split(/\s+/):[r]},this.addScope=function(e){var t={};for(var n in v(this.scopes,function(e){t[e]=!0}),v(e?e.split(/\s+/):[],function(e){t[e]=!0}),this.scopes=[],t)this.scopes.push(n)},this.removeScope=function(e){var t={};for(var n in v(this.scopes,function(e){t[e]=!0}),v(e?e.split(/\s+/):[],function(e){delete t[e]}),this.scopes=[],t)this.scopes.push(n)},this.toggleScope=function(e){var t={};for(var n in v(this.scopes,function(e){t[e]=!0}),v(e?e.split(/\s+/):[],function(e){t[e]?delete t[e]:t[e]=!0}),this.scopes=[],t)this.scopes.push(n)},this.setScope(t.scope),this.k=t.katavorio,t.katavorio},w=function(){return!0},x=function(){return!1},C=function(e,t,n,o){this._class=n.draggable;var s=b.apply(this,arguments);this.rightButtonCanDrag=this.params.rightButtonCanDrag;var a,u=[0,0],c=null,d=null,f=[0,0],g=!1,v=!1!==this.params.consumeStartEvent,C=this.el,k=this.params.clone,_=(this.params.scroll,!1!==t.multipleDrop),S=!1,F=!0===t.ghostProxy?w:t.ghostProxy&&"function"==typeof t.ghostProxy?t.ghostProxy:x,D=t.snapThreshold,T=function(e,t,n,r,i){var o=t*Math.floor(e[0]/t),s=o+t,a=Math.abs(e[0]-o)<=r?o:Math.abs(s-e[0])<=r?s:e[0],l=n*Math.floor(e[1]/n),u=l+n;return[a,Math.abs(e[1]-l)<=i?l:Math.abs(u-e[1])<=i?u:e[1]]};this.posses=[],this.posseRoles={},this.toGrid=function(e){if(null==this.params.grid)return e;var t=this.params.grid?this.params.grid[0]/2:D||5,n=this.params.grid?this.params.grid[1]/2:D||5;return T(e,this.params.grid[0],this.params.grid[1],t,n)},this.snap=function(e,t){if(null!=C){e=e||(this.params.grid?this.params.grid[0]:10),t=t||(this.params.grid?this.params.grid[1]:10);var n=this.params.getPosition(C),r=this.params.grid?this.params.grid[0]/2:D,i=this.params.grid?this.params.grid[1]/2:D;this.params.setPosition(C,T(n,e,t,r,i))}},this.setUseGhostProxy=function(e){F=e?w:x};var B,L=function(e){return!1===t.allowNegative?[Math.max(0,e[0]),Math.max(0,e[1])]:e},M=function(e){a="function"==typeof e?e:e?function(e){return L([Math.max(0,Math.min(R.w-this.size[0],e[0])),Math.max(0,Math.min(R.h-this.size[1],e[1]))])}.bind(this):function(e){return L(e)}}.bind(this);M("function"==typeof this.params.constrain?this.params.constrain:this.params.constrain||this.params.containment),this.setConstrain=function(e){M(e)},this.setRevert=function(e){B=e};var O={},P=this.setFilter=function(t,n){if(t){var o="function"==typeof(s=t)?(s._katavorioId=A(),s._katavorioId):s;O[o]=[function(n){var o,s=n.srcElement||n.target;return r(t)?o=i(s,t,e):"function"==typeof t&&(o=t(n,e)),o},!1!==n]}var s};this.addFilter=P,this.removeFilter=function(e){var t="function"==typeof e?e._katavorioId:e;delete O[t]};this.clearAllFilters=function(){O={}},this.canDrag=this.params.canDrag||p;var R,j=[],I=[];this.downListener=function(e){var t,r,o,a,d,f,p,g,m,b;if((this.rightButtonCanDrag||3!==e.which&&2!==e.button)&&this.isEnabled()&&this.canDrag())if(function(e){for(var t in O){var n=O[t],r=n[0](e);if(n[1]&&(r=!r),!r)return!1}return!0}(e)&&function(e,t,n){var r=e.srcElement||e.target;return!i(r,n.getInputFilterSelector(),t)}(e,this.el,this.k)){if(k){(C=this.el.cloneNode(!0)).setAttribute("id",null),C.style.position="absolute";var w=(t=this.el,r=t.getBoundingClientRect(),o=document.body,a=document.documentElement,d=window.pageYOffset||a.scrollTop||o.scrollTop,f=window.pageXOffset||a.scrollLeft||o.scrollLeft,p=a.clientTop||o.clientTop||0,g=a.clientLeft||o.clientLeft||0,m=r.top+d-p,b=r.left+f-g,{top:Math.round(m),left:Math.round(b)});C.style.left=w.left+"px",C.style.top=w.top+"px",this.params.addClass(C,h.clonedDrag),document.body.appendChild(C)}else C=this.el;v&&y(e),u=l(e),this.params.bind(document,"mousemove",this.moveListener),this.params.bind(document,"mouseup",this.upListener),s.markSelection(this),s.markPosses(this),this.params.addClass(document.body,n.noSelect),W("beforeStart",{el:this.el,pos:c,e:e,drag:this})}else this.params.consumeFilteredEvents&&y(e)}.bind(this),this.moveListener=function(e){if(u){if(!g)if(!1!==W("start",{el:this.el,pos:c,e:e,drag:this})){if(!u)return;this.mark(!0),g=!0}else this.abort();if(u){I.length=0;var t=l(e),n=t[0]-u[0],r=t[1]-u[1],i=this.params.ignoreZoom?1:s.getZoom();n/=i,r/=i,this.moveBy(n,r,e),s.updateSelection(n,r,this),s.updatePosses(n,r,this)}}}.bind(this),this.upListener=function(e){u&&(u=null,this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.params.removeClass(document.body,n.noSelect),this.unmark(e),s.unmarkSelection(this,e),s.unmarkPosses(this,e),this.stop(e),s.notifySelectionDragStop(this,e),s.notifyPosseDragStop(this,e),g=!1,k&&(C&&C.parentNode&&C.parentNode.removeChild(C),C=null),I.length=0,B&&!0===B(this.el,this.params.getPosition(this.el))&&(this.params.setPosition(this.el,c),W("revert",this.el)))}.bind(this),this.getFilters=function(){return O},this.abort=function(){null!=u&&this.upListener()},this.getDragElement=function(){return C||this.el};var N={start:[],drag:[],stop:[],over:[],out:[],beforeStart:[],revert:[]};t.events.start&&N.start.push(t.events.start),t.events.beforeStart&&N.beforeStart.push(t.events.beforeStart),t.events.stop&&N.stop.push(t.events.stop),t.events.drag&&N.drag.push(t.events.drag),t.events.revert&&N.revert.push(t.events.revert),this.on=function(e,t){N[e]&&N[e].push(t)},this.off=function(e,t){if(N[e]){for(var n=[],r=0;r<N[e].length;r++)N[e][r]!==t&&n.push(N[e][r]);N[e]=n}};var $,W=function(e,t){var n=null;if(N[e])for(var r=0;r<N[e].length;r++)try{var i=N[e][r](t);null!=i&&(n=i)}catch(e){}return n};this.notifyStart=function(e){W("start",{el:this.el,pos:this.params.getPosition(C),e:e,drag:this})},this.stop=function(e,t){if(t||g){var n=[],r=s.getSelection(),i=this.params.getPosition(C);if(r.length>1)for(var o=0;o<r.length;o++){var a=this.params.getPosition(r[o].el);n.push([r[o].el,{left:a[0],top:a[1]},r[o]])}else n.push([C,{left:i[0],top:i[1]},this]);W("stop",{el:C,pos:$||i,finalPos:i,e:e,drag:this,selection:n})}},this.mark=function(e){var t;c=this.params.getPosition(C),d=this.params.getPosition(C,!0),f=[d[0]-c[0],d[1]-c[1]],this.size=this.params.getSize(C),j=s.getMatchingDroppables(this),m(j,!0,!1,this),this.params.addClass(C,this.params.dragClass||n.drag),t=this.params.getConstrainingRectangle?this.params.getConstrainingRectangle(C):this.params.getSize(C.parentNode),R={w:t[0],h:t[1]},e&&s.notifySelectionDragStart(this)},this.unmark=function(e,r){if(m(j,!1,!0,this),S&&F(this.el)?($=[C.offsetLeft,C.offsetTop],this.el.parentNode.removeChild(C),C=this.el):$=null,this.params.removeClass(C,this.params.dragClass||n.drag),j.length=0,S=!1,!r){I.length>0&&$&&t.setPosition(this.el,$),I.sort(E);for(var i=0;i<I.length;i++){if(!0===I[i].drop(this,e))break}}},this.moveBy=function(e,n,r){I.length=0;var i=this.toGrid([c[0]+e,c[1]+n]),o=a(i,C);if(F(this.el))if(i[0]!==o[0]||i[1]!==o[1]){if(!S){var s=this.el.cloneNode(!0);t.addClass(s,h.ghostProxy),this.el.parentNode.appendChild(s),C=s,S=!0}o=i}else S&&(this.el.parentNode.removeChild(C),C=this.el,S=!1);var l={x:o[0],y:o[1],w:this.size[0],h:this.size[1]},u={x:l.x+f[0],y:l.y+f[1],w:l.w,h:l.h},d=null;this.params.setPosition(C,o);for(var p=0;p<j.length;p++){var g={x:j[p].pagePosition[0],y:j[p].pagePosition[1],w:j[p].size[0],h:j[p].size[1]};this.params.intersects(u,g)&&(_||null==d||d===j[p].el)&&j[p].canDrop(this)?(d||(d=j[p].el),I.push(j[p]),j[p].setHover(this,!0,r)):j[p].isHover()&&j[p].setHover(this,!1,r)}W("drag",{el:this.el,pos:o,e:r,drag:this})},this.destroy=function(){this.params.unbind(this.el,"mousedown",this.downListener),this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.downListener=null,this.upListener=null,this.moveListener=null},this.params.bind(this.el,"mousedown",this.downListener),this.params.handle?P(this.params.handle,!1):P(this.params.filter,this.params.filterExclude)},k=function(e,t,n,r){this._class=n.droppable,this.params=t||{},this.rank=t.rank||0,this._activeClass=this.params.activeClass||n.active,this._hoverClass=this.params.hoverClass||n.hover,b.apply(this,arguments);var i=!1;this.allowLoopback=!1!==this.params.allowLoopback,this.setActive=function(e){this.params[e?"addClass":"removeClass"](this.el,this._activeClass)},this.updatePosition=function(){this.position=this.params.getPosition(this.el),this.pagePosition=this.params.getPosition(this.el,!0),this.size=this.params.getSize(this.el)},this.canDrop=this.params.canDrop||function(e){return!0},this.isHover=function(){return i},this.setHover=function(e,t,n){(t||null==this.el._katavorioDragHover||this.el._katavorioDragHover===e.el._katavorio)&&(this.params[t?"addClass":"removeClass"](this.el,this._hoverClass),this.el._katavorioDragHover=t?e.el._katavorio:null,i!==t&&this.params.events[t?"over":"out"]({el:this.el,e:n,drag:e,drop:this}),i=t)},this.drop=function(e,t){return this.params.events.drop({drag:e,e:t,drop:this})},this.destroy=function(){this._class=null,this._activeClass=null,this._hoverClass=null,i=null}},A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},E=function(e,t){return e.rank<t.rank?1:e.rank>t.rank?-1:0},_=function(e){return null==e?null:null==(e="string"==typeof e||e.constructor===String?document.getElementById(e):e)?null:(e._katavorio=e._katavorio||A(),e)};this.Katavorio=function(t){var i=[],o={};this._dragsByScope={},this._dropsByScope={};var s=1,a=function(e,t){v(e,function(e){for(var n=0;n<e.scopes.length;n++)t[e.scopes[n]]=t[e.scopes[n]]||[],t[e.scopes[n]].push(e)})},l=function(e,n){var r=0;return v(e,function(e){for(var i=0;i<e.scopes.length;i++)if(n[e.scopes[i]]){var o=t.indexOf(n[e.scopes[i]],e);-1!==o&&(n[e.scopes[i]].splice(o,1),r++)}}),r>0},u=(this.getMatchingDroppables=function(e){for(var t=[],n={},r=0;r<e.scopes.length;r++){var i=this._dropsByScope[e.scopes[r]];if(i)for(var o=0;o<i.length;o++)!i[o].canDrop(e)||n[i[o].uuid]||!i[o].allowLoopback&&i[o].el===e.el||(n[i[o].uuid]=!0,t.push(i[o]))}return t.sort(E),t},function(e){e=e||{};var n,r={events:{}};for(n in t)r[n]=t[n];for(n in e)r[n]=e[n];for(n=0;n<d.length;n++)r.events[d[n]]=e[d[n]]||f;return r.katavorio=this,r}.bind(this)),c=function(e,t){for(var n=0;n<d.length;n++)t[d[n]]&&e.on(d[n],t[d[n]])}.bind(this),p={},m=t.css||{},y=t.scope||"katavorio-drag-scope";for(var b in h)p[b]=h[b];for(var b in m)p[b]=m[b];var w=t.inputFilterSelector||"input,textarea,select,button,option";this.getInputFilterSelector=function(){return w},this.setInputFilterSelector=function(e){return w=e,this},this.draggable=function(e,n){var r=[];return v(e,function(e){if(null!=(e=_(e)))if(null==e._katavorioDrag){var i=u(n);e._katavorioDrag=new C(e,i,p,y),a(e._katavorioDrag,this._dragsByScope),r.push(e._katavorioDrag),t.addClass(e,p.draggable)}else c(e._katavorioDrag,n)}.bind(this)),r},this.droppable=function(e,n){var r=[];return v(e,function(e){if(null!=(e=_(e))){var i=new k(e,u(n),p,y);e._katavorioDrop=e._katavorioDrop||[],e._katavorioDrop.push(i),a(i,this._dropsByScope),r.push(i),t.addClass(e,p.droppable)}}.bind(this)),r},this.select=function(e){return v(e,function(){var e=_(this);e&&e._katavorioDrag&&(o[e._katavorio]||(i.push(e._katavorioDrag),o[e._katavorio]=[e,i.length-1],t.addClass(e,p.selected)))}),this},this.deselect=function(e){return v(e,function(){var e=_(this);if(e&&e._katavorio&&o[e._katavorio]){for(var n=[],r=0;r<i.length;r++)i[r].el!==e&&n.push(i[r]);i=n,delete o[e._katavorio],t.removeClass(e,p.selected)}}),this},this.deselectAll=function(){for(var e in o){var n=o[e];t.removeClass(n[0],p.selected)}i.length=0,o={}},this.markSelection=function(e){g(i,function(e){e.mark()},e)},this.markPosses=function(e){e.posses&&v(e.posses,function(t){e.posseRoles[t]&&D[t]&&g(D[t].members,function(e){e.mark()},e)})},this.unmarkSelection=function(e,t){g(i,function(e){e.unmark(t)},e)},this.unmarkPosses=function(e,t){e.posses&&v(e.posses,function(n){e.posseRoles[n]&&D[n]&&g(D[n].members,function(e){e.unmark(t,!0)},e)})},this.getSelection=function(){return i.slice(0)},this.updateSelection=function(e,t,n){g(i,function(n){n.moveBy(e,t)},n)};var x=function(e,t){t.posses&&v(t.posses,function(n){t.posseRoles[n]&&D[n]&&g(D[n].members,function(t){e(t)},t)})};this.updatePosses=function(e,t,n){x(function(n){n.moveBy(e,t)},n)},this.notifyPosseDragStop=function(e,t){x(function(e){e.stop(t,!0)},e)},this.notifySelectionDragStop=function(e,t){g(i,function(e){e.stop(t,!0)},e)},this.notifySelectionDragStart=function(e,t){g(i,function(e){e.notifyStart(t)},e)},this.setZoom=function(e){s=e},this.getZoom=function(){return s};var A=function(e,t,n,r){v(e,function(e){l(e,n),e[r](t),a(e,n)})};v(["set","add","remove","toggle"],function(e){this[e+"Scope"]=function(t,n){A(t._katavorioDrag,n,this._dragsByScope,e+"Scope"),A(t._katavorioDrop,n,this._dropsByScope,e+"Scope")}.bind(this),this[e+"DragScope"]=function(t,n){A(t.constructor===C?t:t._katavorioDrag,n,this._dragsByScope,e+"Scope")}.bind(this),this[e+"DropScope"]=function(t,n){A(t.constructor===k?t:t._katavorioDrop,n,this._dropsByScope,e+"Scope")}.bind(this)}.bind(this)),this.snapToGrid=function(e,t){for(var n in this._dragsByScope)g(this._dragsByScope[n],function(n){n.snap(e,t)})},this.getDragsForScope=function(e){return this._dragsByScope[e]},this.getDropsForScope=function(e){return this._dropsByScope[e]};var S=function(e,t,n){if((e=_(e))[t]){var r=i.indexOf(e[t]);r>=0&&i.splice(r,1),l(e[t],n)&&v(e[t],function(e){e.destroy()}),delete e[t]}},F=function(e,t,n,r){(e=_(e))[t]&&e[t].off(n,r)};this.elementRemoved=function(e){this.destroyDraggable(e),this.destroyDroppable(e)},this.destroyDraggable=function(e,t,n){1===arguments.length?S(e,"_katavorioDrag",this._dragsByScope):F(e,"_katavorioDrag",t,n)},this.destroyDroppable=function(e,t,n){1===arguments.length?S(e,"_katavorioDrop",this._dropsByScope):F(e,"_katavorioDrop",t,n)},this.reset=function(){this._dragsByScope={},this._dropsByScope={},i=[],o={},D={}};var D={},T=function(t,n,i){var o,s=r(n)?n:n.id,a=!!r(n)||!1!==n.active,l=D[s]||(o={name:s,members:[]},D[s]=o,o);return v(t,function(t){if(t._katavorioDrag){if(i&&null!=t._katavorioDrag.posseRoles[l.name])return;e(l.members,t._katavorioDrag),e(t._katavorioDrag.posses,l.name),t._katavorioDrag.posseRoles[l.name]=a}}),l};this.addToPosse=function(e,t){for(var n=[],r=1;r<arguments.length;r++)n.push(T(e,arguments[r]));return 1===n.length?n[0]:n},this.setPosse=function(e,t){for(var n=[],r=1;r<arguments.length;r++)n.push(T(e,arguments[r],!0).name);return v(e,function(e){if(e._katavorioDrag){var t=function(e,t){for(var n=[],r=0;r<e.length;r++)-1===t.indexOf(e[r])&&n.push(e[r]);return n}(e._katavorioDrag.posses,n);Array.prototype.push.apply([],e._katavorioDrag.posses);for(var r=0;r<t.length;r++)this.removeFromPosse(e,t[r])}}.bind(this)),1===n.length?n[0]:n},this.removeFromPosse=function(e,t){if(arguments.length<2)throw new TypeError("No posse id provided for remove operation");for(var r=1;r<arguments.length;r++)t=arguments[r],v(e,function(e){if(e._katavorioDrag&&e._katavorioDrag.posses){var r=e._katavorioDrag;v(t,function(e){n(D[e].members,r),n(r.posses,e),delete r.posseRoles[e]})}})},this.removeFromAllPosses=function(e){v(e,function(e){if(e._katavorioDrag&&e._katavorioDrag.posses){var t=e._katavorioDrag;v(t.posses,function(e){n(D[e].members,t)}),t.posses.length=0,t.posseRoles={}}})},this.setPosseState=function(e,t,n){var r=D[t];r&&v(e,function(e){e._katavorioDrag&&e._katavorioDrag.posses&&(e._katavorioDrag.posseRoles[r.name]=n)})}},this.Katavorio.version="0.23.0",t.Katavorio=this.Katavorio}.call("undefined"!=typeof window?window:this),function(){var e=function(e){return"[object Array]"===Object.prototype.toString.call(e)},n=function(e){return"string"==typeof e},r=function(e){return"boolean"==typeof e},i=function(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)},o=function(e){return"[object Date]"===Object.prototype.toString.call(e)},s=function(e){return"[object Function]"===Object.prototype.toString.call(e)},a=this;a.jsPlumbUtil={isArray:e,isString:n,isBoolean:r,isNull:function(e){return null==e},isObject:i,isDate:o,isFunction:s,isEmpty:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},isNumber:function(e){return"[object Number]"===Object.prototype.toString.call(e)},clone:function(t){if(n(t))return""+t;if(r(t))return!!t;if(o(t))return new Date(t.getTime());if(s(t))return t;if(e(t)){for(var a=[],l=0;l<t.length;l++)a.push(this.clone(t[l]));return a}if(i(t)){var u={};for(var c in t)u[c]=this.clone(t[c]);return u}return t},merge:function(t,o,s){var a,l,u={};for(s=s||[],l=0;l<s.length;l++)u[s[l]]=!0;var c=this.clone(t);for(l in o)if(null==c[l])c[l]=o[l];else if(n(o[l])||r(o[l]))u[l]?((a=[]).push.apply(a,e(c[l])?c[l]:[c[l]]),a.push.apply(a,e(o[l])?o[l]:[o[l]]),c[l]=a):c[l]=o[l];else if(e(o[l]))a=[],e(c[l])&&a.push.apply(a,c[l]),a.push.apply(a,o[l]),c[l]=a;else if(i(o[l]))for(var h in i(c[l])||(c[l]={}),o[l])c[l][h]=o[l][h];return c},replace:function(e,t,n){if(null!=e){var r=e;return t.replace(/([^\.])+/g,function(e,t,i,o){var s=e.match(/([^\[0-9]+){1}(\[)([0-9+])/),a=function(){return r[s[1]]||(r[s[1]]=[],r[s[1]])};if(i+e.length>=o.length)s?a()[s[3]]=n:r[e]=n;else if(s){var l=a();r=l[s[3]]||(l[s[3]]={},l[s[3]])}else r=r[e]||(r[e]={},r[e])}),e}},functionChain:function(e,t,n){for(var r=0;r<n.length;r++){var i=n[r][0][n[r][1]].apply(n[r][0],n[r][2]);if(i===t)return i}return e},populate:function(t,r,o){var a=function(t){if(null!=t){if(n(t))return function(e){var t=e.match(/(\${.*?})/g);if(null!=t)for(var n=0;n<t.length;n++){var i=r[t[n].substring(2,t[n].length-1)]||"";null!=i&&(e=e.replace(t[n],i))}return e}(t);if(!s(t)||null!=o&&0!==(t.name||"").indexOf(o)){if(e(t)){for(var l=[],u=0;u<t.length;u++)l.push(a(t[u]));return l}if(i(t)){var c={};for(var h in t)c[h]=a(t[h]);return c}return t}return t(r)}};return a(t)},findWithFunction:function(e,t){if(e)for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1},removeWithFunction:function(e,t){var n=a.jsPlumbUtil.findWithFunction(e,t);return n>-1&&e.splice(n,1),-1!==n},remove:function(e,t){var n=e.indexOf(t);return n>-1&&e.splice(n,1),-1!==n},addWithFunction:function(e,t,n){-1===a.jsPlumbUtil.findWithFunction(e,n)&&e.push(t)},addToList:function(e,t,n,r){var i=e[t];return null==i&&(i=[],e[t]=i),i[r?"unshift":"push"](n),i},suggest:function(e,t,n){return-1===e.indexOf(t)&&(n?e.unshift(t):e.push(t),!0)},extend:function(t,n,r){var i;for(n=e(n)?n:[n],i=0;i<n.length;i++)for(var o in n[i].prototype)n[i].prototype.hasOwnProperty(o)&&(t.prototype[o]=n[i].prototype[o]);var s=function(e,t){return function(){for(i=0;i<n.length;i++)n[i].prototype[e]&&n[i].prototype[e].apply(this,arguments);return t.apply(this,arguments)}},a=function(e){for(var n in e)t.prototype[n]=s(n,e[n])};if(arguments.length>2)for(i=2;i<arguments.length;i++)a(arguments[i]);return t},uuid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},logEnabled:!0,log:function(){if(a.jsPlumbUtil.logEnabled&&"undefined"!=typeof console)try{var e=arguments[arguments.length-1];console.log(e)}catch(e){}},wrap:function(e,t,n){return function(){var r=null;try{null!=t&&(r=t.apply(this,arguments))}catch(e){a.jsPlumbUtil.log("jsPlumb function failed : "+e)}if(null!=e&&(null==n||r!==n))try{r=e.apply(this,arguments)}catch(e){a.jsPlumbUtil.log("wrapped function failed : "+e)}return r}}},a.jsPlumbUtil.EventGenerator=function(){var e={},t=!1,n=!1,r={ready:!0},i=[];this.bind=function(t,n,r){var i=function(t){a.jsPlumbUtil.addToList(e,t,n,r),n.__jsPlumb=n.__jsPlumb||{},n.__jsPlumb[a.jsPlumbUtil.uuid()]=t};if("string"==typeof t)i(t);else if(null!=t.length)for(var o=0;o<t.length;o++)i(t[o]);return this},this.fire=function(s,l,u){if(n)i.unshift(arguments);else{if(n=!0,!t&&e[s]){var c=e[s].length,h=0,d=!1,f=null;if(!this.shouldFireEvent||this.shouldFireEvent(s,l,u))for(;!d&&h<c&&!1!==f;){if(r[s])e[s][h].apply(this,[l,u]);else try{f=e[s][h].apply(this,[l,u])}catch(e){a.jsPlumbUtil.log("jsPlumb: fire failed for event "+s+" : "+e)}h++,null!=e&&null!=e[s]||(d=!0)}}n=!1,o()}return this};var o=function(){var e=i.pop();e&&this.fire.apply(this,e)}.bind(this);this.unbind=function(t,n){if(0===arguments.length)e={};else if(1===arguments.length){if("string"==typeof t)delete e[t];else if(t.__jsPlumb){var r;for(var i in t.__jsPlumb)r=t.__jsPlumb[i],a.jsPlumbUtil.remove(e[r]||[],t)}}else 2===arguments.length&&a.jsPlumbUtil.remove(e[t]||[],n);return this},this.getListener=function(t){return e[t]},this.setSuspendEvents=function(e){t=e},this.isSuspendEvents=function(){return t},this.silently=function(e){this.setSuspendEvents(!0);try{e()}catch(e){a.jsPlumbUtil.log("Cannot execute silent function "+e)}this.setSuspendEvents(!1)},this.cleanupListeners=function(){for(var t in e)e[t]=null}},a.jsPlumbUtil.EventGenerator.prototype={cleanup:function(){this.cleanupListeners()}},t.jsPlumbUtil=a.jsPlumbUtil}.call("undefined"!=typeof window?window:this),function(){"use strict";this.jsPlumbUtil.matchesSelector=function(e,t,n){for(var r=(n=n||e.parentNode).querySelectorAll(t),i=0;i<r.length;i++)if(r[i]===e)return!0;return!1},this.jsPlumbUtil.consume=function(e,t){e.stopPropagation?e.stopPropagation():e.returnValue=!1,!t&&e.preventDefault&&e.preventDefault()},this.jsPlumbUtil.sizeElement=function(e,t,n,r,i){e&&(e.style.height=i+"px",e.height=i,e.style.width=r+"px",e.width=r,e.style.left=t+"px",e.style.top=n+"px")}}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this,n=e.jsPlumbUtil,r=function(){return""+(new Date).getTime()},i=function(e){if(e._jsPlumb.paintStyle&&e._jsPlumb.hoverPaintStyle){var t={};p.extend(t,e._jsPlumb.paintStyle),p.extend(t,e._jsPlumb.hoverPaintStyle),delete e._jsPlumb.hoverPaintStyle,t.gradient&&e._jsPlumb.paintStyle.fill&&delete t.gradient,e._jsPlumb.hoverPaintStyle=t}},o=["tap","dbltap","click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","contextmenu"],s=function(e){return null==e?null:e.split(" ")},a=function(e,t,n){for(var r in t)e[r]=n},l=function(e,t){t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t];for(var r=0;r<t.length;r++)try{e.apply(t[r],[t[r]])}catch(e){n.log(".each iteration failed : "+e)}},u=function(e,t,r){if(e.getDefaultType){var i=e.getTypeDescriptor(),o={},s=e.getDefaultType(),l=n.merge({},s);a(o,s,"__default");for(var u=0,c=e._jsPlumb.types.length;u<c;u++){var h=e._jsPlumb.types[u];if("__default"!==h){var d=e._jsPlumb.instance.getType(h,i);null!=d&&(l=n.merge(l,d,["cssClass"]),a(o,d,h))}}t&&(l=n.populate(l,t,"_")),e.applyType(l,r,o),r||e.repaint()}},c=e.jsPlumbUIComponent=function(e){n.EventGenerator.apply(this,arguments);var t=arguments,r=this.idPrefix+(new Date).getTime();this._jsPlumb={instance:e._jsPlumb,parameters:e.parameters||{},paintStyle:null,hoverPaintStyle:null,paintStyleInUse:null,hover:!1,beforeDetach:e.beforeDetach,beforeDrop:e.beforeDrop,overlayPlacements:[],hoverClass:e.hoverClass||e._jsPlumb.Defaults.HoverClass,types:[],typeCache:{}},this.cacheTypeItem=function(e,t,n){this._jsPlumb.typeCache[n]=this._jsPlumb.typeCache[n]||{},this._jsPlumb.typeCache[n][e]=t},this.getCachedTypeItem=function(e,t){return this._jsPlumb.typeCache[t]?this._jsPlumb.typeCache[t][e]:null},this.getId=function(){return r};var i=e.overlays||[],o={};if(this.defaultOverlayKeys){for(var s=0;s<this.defaultOverlayKeys.length;s++)Array.prototype.push.apply(i,this._jsPlumb.instance.Defaults[this.defaultOverlayKeys[s]]||[]);for(s=0;s<i.length;s++){var a=p.convertToFullOverlaySpec(i[s]);o[a[1].id]=a}}var l={overlays:o,parameters:e.parameters||{},scope:e.scope||this._jsPlumb.instance.getDefaultScope()};if(this.getDefaultType=function(){return l},this.appendToDefaultType=function(e){for(var t in e)l[t]=e[t]},e.events)for(var u in e.events)this.bind(u,e.events[u]);this.clone=function(){var e=Object.create(this.constructor.prototype);return this.constructor.apply(e,t),e}.bind(this),this.isDetachAllowed=function(e){var t=!0;if(this._jsPlumb.beforeDetach)try{t=this._jsPlumb.beforeDetach(e)}catch(e){n.log("jsPlumb: beforeDetach callback failed",e)}return t},this.isDropAllowed=function(e,t,r,i,o,s,a){var l=this._jsPlumb.instance.checkCondition("beforeDrop",{sourceId:e,targetId:t,scope:r,connection:i,dropEndpoint:o,source:s,target:a});if(this._jsPlumb.beforeDrop)try{l=this._jsPlumb.beforeDrop({sourceId:e,targetId:t,scope:r,connection:i,dropEndpoint:o,source:s,target:a})}catch(e){n.log("jsPlumb: beforeDrop callback failed",e)}return l};var c=[];this.setListenerComponent=function(e){for(var t=0;t<c.length;t++)c[t][3]=e}},h=function(e,t){var n=e._jsPlumb.types[t],r=e._jsPlumb.instance.getType(n,e.getTypeDescriptor());null!=r&&r.cssClass&&e.canvas&&e._jsPlumb.instance.removeClass(e.canvas,r.cssClass)};n.extend(e.jsPlumbUIComponent,n.EventGenerator,{getParameter:function(e){return this._jsPlumb.parameters[e]},setParameter:function(e,t){this._jsPlumb.parameters[e]=t},getParameters:function(){return this._jsPlumb.parameters},setParameters:function(e){this._jsPlumb.parameters=e},getClass:function(){return p.getClass(this.canvas)},hasClass:function(e){return p.hasClass(this.canvas,e)},addClass:function(e){p.addClass(this.canvas,e)},removeClass:function(e){p.removeClass(this.canvas,e)},updateClasses:function(e,t){p.updateClasses(this.canvas,e,t)},setType:function(e,t,n){this.clearTypes(),this._jsPlumb.types=s(e)||[],u(this,t,n)},getType:function(){return this._jsPlumb.types},reapplyTypes:function(e,t){u(this,e,t)},hasType:function(e){return-1!==this._jsPlumb.types.indexOf(e)},addType:function(e,t,n){var r=s(e),i=!1;if(null!=r){for(var o=0,a=r.length;o<a;o++)this.hasType(r[o])||(this._jsPlumb.types.push(r[o]),i=!0);i&&u(this,t,n)}},removeType:function(e,t,n){var r=s(e),i=!1,o=function(e){var t=this._jsPlumb.types.indexOf(e);return-1!==t&&(h(this,t),this._jsPlumb.types.splice(t,1),!0)}.bind(this);if(null!=r){for(var a=0,l=r.length;a<l;a++)i=o(r[a])||i;i&&u(this,t,n)}},clearTypes:function(e,t){for(var n=this._jsPlumb.types.length,r=0;r<n;r++)h(this,0),this._jsPlumb.types.splice(0,1);u(this,e,t)},toggleType:function(e,t,n){var r=s(e);if(null!=r){for(var i=0,o=r.length;i<o;i++){var a=this._jsPlumb.types.indexOf(r[i]);-1!==a?(h(this,a),this._jsPlumb.types.splice(a,1)):this._jsPlumb.types.push(r[i])}u(this,t,n)}},applyType:function(e,t){if(this.setPaintStyle(e.paintStyle,t),this.setHoverPaintStyle(e.hoverPaintStyle,t),e.parameters)for(var n in e.parameters)this.setParameter(n,e.parameters[n]);this._jsPlumb.paintStyleInUse=this.getPaintStyle()},setPaintStyle:function(e,t){this._jsPlumb.paintStyle=e,this._jsPlumb.paintStyleInUse=this._jsPlumb.paintStyle,i(this),t||this.repaint()},getPaintStyle:function(){return this._jsPlumb.paintStyle},setHoverPaintStyle:function(e,t){this._jsPlumb.hoverPaintStyle=e,i(this),t||this.repaint()},getHoverPaintStyle:function(){return this._jsPlumb.hoverPaintStyle},destroy:function(e){(e||null==this.typeId)&&(this.cleanupListeners(),this.clone=null,this._jsPlumb=null)},isHover:function(){return this._jsPlumb.hover},setHover:function(e,t,n){if(this._jsPlumb&&!this._jsPlumb.instance.currentlyDragging&&!this._jsPlumb.instance.isHoverSuspended()){this._jsPlumb.hover=e;var i=e?"addClass":"removeClass";null!=this.canvas&&(null!=this._jsPlumb.instance.hoverClass&&this._jsPlumb.instance[i](this.canvas,this._jsPlumb.instance.hoverClass),null!=this._jsPlumb.hoverClass&&this._jsPlumb.instance[i](this.canvas,this._jsPlumb.hoverClass)),null!=this._jsPlumb.hoverPaintStyle&&(this._jsPlumb.paintStyleInUse=e?this._jsPlumb.hoverPaintStyle:this._jsPlumb.paintStyle,this._jsPlumb.instance.isSuspendDrawing()||(n=n||r(),this.repaint({timestamp:n,recalc:!1}))),this.getAttachedElements&&!t&&function(e,t,n,r){var i=e.getAttachedElements();if(i)for(var o=0,s=i.length;o<s;o++)r&&r===i[o]||i[o].setHover(t,!0,n)}(this,e,r(),this)}}});var d=0,f=e.jsPlumbInstance=function(t){this.version="2.6.8",t&&p.extend(this.Defaults,t),this.logEnabled=this.Defaults.LogEnabled,this._connectionTypes={},this._endpointTypes={},n.EventGenerator.apply(this);var i=this,s=function(){var e=d+1;return d++,e}(),a=i.bind,u={},h=1,f=function(e){if(null==e)return null;if(3===e.nodeType||8===e.nodeType)return{el:e,text:!0};var t=i.getElement(e);return{el:t,id:n.isString(e)&&null==t?e:z(t)}};for(var g in this.getInstanceIndex=function(){return s},this.setZoom=function(e,t){return h=e,i.fire("zoom",h),t&&i.repaintEverything(),!0},this.getZoom=function(){return h},this.Defaults)u[g]=this.Defaults[g];var m,v=[];this.unbindContainer=function(){if(null!=m&&v.length>0)for(var e=0;e<v.length;e++)i.off(m,v[e][0],v[e][1])},this.setContainer=function(e){this.unbindContainer(),e=this.getElement(e),this.select().each(function(t){t.moveParent(e)}),this.selectEndpoints().each(function(t){t.moveParent(e)});var t=m;m=e,v.length=0;for(var n={endpointclick:"endpointClick",endpointdblclick:"endpointDblClick"},r=function(e,t,r){var o=t.srcElement||t.target,s=(o&&o.parentNode?o.parentNode._jsPlumb:null)||(o?o._jsPlumb:null)||(o&&o.parentNode&&o.parentNode.parentNode?o.parentNode.parentNode._jsPlumb:null);if(s){s.fire(e,s,t);var a=r&&n[r+e]||e;i.fire(a,s.component||s,t)}},s=function(e,t,n){v.push([e,n]),i.on(m,e,t,n)},a=function(e){s(e,".jtk-connector",function(t){r(e,t)}),s(e,".jtk-endpoint",function(t){r(e,t,"endpoint")}),s(e,".jtk-overlay",function(t){r(e,t)})},l=0;l<o.length;l++)a(o[l]);for(var u in k){var c=k[u].el;c.parentNode===t&&(t.removeChild(c),m.appendChild(c))}},this.getContainer=function(){return m},this.bind=function(e,t){"ready"===e&&b?t():a.apply(i,[e,t])},i.importDefaults=function(e){for(var t in e)i.Defaults[t]=e[t];return e.Container&&i.setContainer(e.Container),i},i.restoreDefaults=function(){return i.Defaults=p.extend({},u),i};var y=null,b=!1,w=[],x={},C={},k={},A={},E={},_={},S=!1,F=[],D=!1,T=null,B=this.Defaults.Scope,L=1,M=function(){return""+L++},O=function(e,t){m?m.appendChild(e):t?this.getElement(t).appendChild(e):this.appendToRoot(e)}.bind(this),P=function(e,t,n,o){if(!D){var s,a=z(e),l=i.getDragManager();l&&(s=l.getElementsForDraggable(a)),null==n&&(n=r());var u=ie({elId:a,offset:t,recalc:!1,timestamp:n});if(s&&u&&u.o)for(var c in s)ie({elId:s[c].id,offset:{left:u.o.left+s[c].offset.left,top:u.o.top+s[c].offset.top},recalc:!1,timestamp:n});if(i.anchorManager.redraw(a,t,n,null,o),s)for(var h in s)i.anchorManager.redraw(s[h].id,t,n,s[h].offset,o,!0)}},R=function(e){return C[e]},j=function(e,t){var r=p.extend({},e);if(t&&p.extend(r,t),r.source&&(r.source.endpoint?r.sourceEndpoint=r.source:r.source=i.getElement(r.source)),r.target&&(r.target.endpoint?r.targetEndpoint=r.target:r.target=i.getElement(r.target)),e.uuids&&(r.sourceEndpoint=R(e.uuids[0]),r.targetEndpoint=R(e.uuids[1])),r.sourceEndpoint&&r.sourceEndpoint.isFull())n.log(i,"could not add connection; source endpoint is full");else if(r.targetEndpoint&&r.targetEndpoint.isFull())n.log(i,"could not add connection; target endpoint is full");else{if(!r.type&&r.sourceEndpoint&&(r.type=r.sourceEndpoint.connectionType),r.sourceEndpoint&&r.sourceEndpoint.connectorOverlays){r.overlays=r.overlays||[];for(var o=0,s=r.sourceEndpoint.connectorOverlays.length;o<s;o++)r.overlays.push(r.sourceEndpoint.connectorOverlays[o])}r.sourceEndpoint&&r.sourceEndpoint.scope&&(r.scope=r.sourceEndpoint.scope),!r["pointer-events"]&&r.sourceEndpoint&&r.sourceEndpoint.connectorPointerEvents&&(r["pointer-events"]=r.sourceEndpoint.connectorPointerEvents);var a=function(e,t,n){return i.addEndpoint(e,function(e,t){var n=p.extend({},e);for(var r in t)t[r]&&(n[r]=t[r]);return n}(t,{anchor:r.anchors?r.anchors[n]:r.anchor,endpoint:r.endpoints?r.endpoints[n]:r.endpoint,paintStyle:r.endpointStyles?r.endpointStyles[n]:r.endpointStyle,hoverPaintStyle:r.endpointHoverStyles?r.endpointHoverStyles[n]:r.endpointHoverStyle}))},l=function(e,t,n,i){if(r[e]&&!r[e].endpoint&&!r[e+"Endpoint"]&&!r.newConnection){var o=n[z(r[e])];if(o=o?o[i]:null){if(!o.enabled)return!1;var s=null!=o.endpoint&&o.endpoint._jsPlumb?o.endpoint:a(r[e],o.def,t);if(s.isFull())return!1;r[e+"Endpoint"]=s,!r.scope&&o.def.scope&&(r.scope=o.def.scope),o.uniqueEndpoint?o.endpoint?s.finalEndpoint=o.endpoint:(o.endpoint=s,s.setDeleteOnEmpty(!1)):s.setDeleteOnEmpty(!0),0===t&&o.def.connectorOverlays&&(r.overlays=r.overlays||[],Array.prototype.push.apply(r.overlays,o.def.connectorOverlays))}}};if(!1!==l("source",0,this.sourceEndpointDefinitions,r.type||"default")&&!1!==l("target",1,this.targetEndpointDefinitions,r.type||"default"))return r.sourceEndpoint&&r.targetEndpoint&&(function(e,t){for(var n=e.scope.split(/\s/),r=t.scope.split(/\s/),i=0;i<n.length;i++)for(var o=0;o<r.length;o++)if(r[o]===n[i])return!0;return!1}(r.sourceEndpoint,r.targetEndpoint)||(r=null)),r}}.bind(i),I=function(e){var t=i.Defaults.ConnectionType||i.getDefaultConnectionType();e._jsPlumb=i,e.newConnection=I,e.newEndpoint=$,e.endpointsByUUID=C,e.endpointsByElement=x,e.finaliseConnection=N,e.id="con_"+M();var n=new t(e);return n.isDetachable()&&(n.endpoints[0].initDraggable("_jsPlumbSource"),n.endpoints[1].initDraggable("_jsPlumbTarget")),n},N=i.finaliseConnection=function(e,t,n,r){if(t=t||{},e.suspendedEndpoint||w.push(e),e.pending=null,e.endpoints[0].isTemporarySource=!1,!1!==r&&i.anchorManager.newConnection(e),P(e.source),!t.doNotFireConnectionEvent&&!1!==t.fireEvent){var o={connection:e,source:e.source,target:e.target,sourceId:e.sourceId,targetId:e.targetId,sourceEndpoint:e.endpoints[0],targetEndpoint:e.endpoints[1]};i.fire("connection",o,n)}},$=function(e,t){var n=i.Defaults.EndpointType||p.Endpoint,r=p.extend({},e);r._jsPlumb=i,r.newConnection=I,r.newEndpoint=$,r.endpointsByUUID=C,r.endpointsByElement=x,r.fireDetachEvent=G,r.elementId=t||z(r.source);var o=new n(r);return o.id="ep_"+M(),re(r.elementId,r.source),p.headless||i.getDragManager().endpointAdded(r.source,t),o},W=function(e,t,n){var r=x[e];if(r&&r.length)for(var i=0,o=r.length;i<o;i++){for(var s=0,a=r[i].connections.length;s<a;s++){if(t(r[i].connections[s]))return}n&&n(r[i])}},H=function(e,t,n){t="block"===t;var r=null;n&&(r=function(e){e.setVisible(t,!0,!0)});var i=f(e);W(i.id,function(e){if(t&&n){var r=e.sourceId===i.id?1:0;e.endpoints[r].isVisible()&&e.setVisible(!0)}else e.setVisible(t)},r)},z=function(e,t,r){if(n.isString(e))return e;if(null==e)return null;var o=i.getAttribute(e,"id");return o&&"undefined"!==o||(2===arguments.length&&void 0!==arguments[1]?o=t:(1===arguments.length||3===arguments.length&&!arguments[2])&&(o="jsPlumb_"+s+"_"+M()),r||i.setAttribute(e,"id",o)),o};this.setConnectionBeingDragged=function(e){S=e},this.isConnectionBeingDragged=function(){return S},this.getManagedElements=function(){return k},this.connectorClass="jtk-connector",this.connectorOutlineClass="jtk-connector-outline",this.editableConnectorClass="jtk-connector-editable",this.connectedClass="jtk-connected",this.hoverClass="jtk-hover",this.endpointClass="jtk-endpoint",this.endpointConnectedClass="jtk-endpoint-connected",this.endpointFullClass="jtk-endpoint-full",this.endpointDropAllowedClass="jtk-endpoint-drop-allowed",this.endpointDropForbiddenClass="jtk-endpoint-drop-forbidden",this.overlayClass="jtk-overlay",this.draggingClass="jtk-dragging",this.elementDraggingClass="jtk-element-dragging",this.sourceElementDraggingClass="jtk-source-element-dragging",this.targetElementDraggingClass="jtk-target-element-dragging",this.endpointAnchorClassPrefix="jtk-endpoint-anchor",this.hoverSourceClass="jtk-source-hover",this.hoverTargetClass="jtk-target-hover",this.dragSelectClass="jtk-drag-select",this.Anchors={},this.Connectors={svg:{}},this.Endpoints={svg:{}},this.Overlays={svg:{}},this.ConnectorRenderers={},this.SVG="svg",this.addEndpoint=function(e,t,r){r=r||{};var o=p.extend({},r);p.extend(o,t),o.endpoint=o.endpoint||i.Defaults.Endpoint,o.paintStyle=o.paintStyle||i.Defaults.EndpointStyle;for(var s=[],a=n.isArray(e)||null!=e.length&&!n.isString(e)?e:[e],l=0,u=a.length;l<u;l++){o.source=i.getElement(a[l]),ne(o.source);var c=z(o.source),h=$(o,c),d=re(c,o.source).info.o;n.addToList(x,c,h),D||h.paint({anchorLoc:h.anchor.compute({xy:[d.left,d.top],wh:F[c],element:h,timestamp:T}),timestamp:T}),s.push(h)}return 1===s.length?s[0]:s},this.addEndpoints=function(e,t,r){for(var o=[],s=0,a=t.length;s<a;s++){var l=i.addEndpoint(e,t[s],r);n.isArray(l)?Array.prototype.push.apply(o,l):o.push(l)}return o},this.animate=function(e,t,r){if(!this.animationSupported)return!1;r=r||{};var o=i.getElement(e),s=z(o),a=p.animEvents.step,l=p.animEvents.complete;r[a]=n.wrap(r[a],function(){i.revalidate(s)}),r[l]=n.wrap(r[l],function(){i.revalidate(s)}),i.doAnimate(o,t,r)},this.checkCondition=function(e,t){var r=i.getListener(e),o=!0;if(r&&r.length>0){var s=Array.prototype.slice.call(arguments,1);try{for(var a=0,l=r.length;a<l;a++)o=o&&r[a].apply(r[a],s)}catch(t){n.log(i,"cannot check condition ["+e+"]"+t)}}return o},this.connect=function(e,t){var r,i=j(e,t);if(i){if(null==i.source&&null==i.sourceEndpoint)return void n.log("Cannot establish connection - source does not exist");if(null==i.target&&null==i.targetEndpoint)return void n.log("Cannot establish connection - target does not exist");ne(i.source),r=I(i),N(r,i)}return r};var U=[{el:"source",elId:"sourceId",epDefs:"sourceEndpointDefinitions"},{el:"target",elId:"targetId",epDefs:"targetEndpointDefinitions"}],V=function(e,t,n,r){var i,o,s,a=U[n],l=e[a.elId],u=(e[a.el],e.endpoints[n]),c={index:n,originalSourceId:0===n?l:e.sourceId,newSourceId:e.sourceId,originalTargetId:1===n?l:e.targetId,newTargetId:e.targetId,connection:e};if(t.constructor===p.Endpoint)(i=t).addConnection(e),t=i.element;else if(o=z(t),s=this[a.epDefs][o],o===e[a.elId])i=null;else if(s)for(var h in s){if(!s[h].enabled)return;i=null!=s[h].endpoint&&s[h].endpoint._jsPlumb?s[h].endpoint:this.addEndpoint(t,s[h].def),s[h].uniqueEndpoint&&(s[h].endpoint=i),i.addConnection(e)}else i=e.makeEndpoint(0===n,t,o);return null!=i&&(u.detachFromConnection(e),e.endpoints[n]=i,e[a.el]=i.element,e[a.elId]=i.elementId,c[0===n?"newSourceId":"newTargetId"]=i.elementId,K(c),r||e.repaint()),c.element=t,c}.bind(this);this.setSource=function(e,t,n){var r=V(e,t,0,n);this.anchorManager.sourceChanged(r.originalSourceId,r.newSourceId,e,r.el)},this.setTarget=function(e,t,n){var r=V(e,t,1,n);this.anchorManager.updateOtherEndpoint(r.originalSourceId,r.originalTargetId,r.newTargetId,e)},this.deleteEndpoint=function(e,t,n){var r="string"==typeof e?C[e]:e;return r&&i.deleteObject({endpoint:r,dontUpdateHover:t,deleteAttachedObjects:n}),i},this.deleteEveryEndpoint=function(){var e=i.setSuspendDrawing(!0);for(var t in x){var n=x[t];if(n&&n.length)for(var r=0,o=n.length;r<o;r++)i.deleteEndpoint(n[r],!0)}x={},k={},C={},A={},E={},i.anchorManager.reset();var s=i.getDragManager();return s&&s.reset(),e||i.setSuspendDrawing(!1),i};var G=function(e,t,n){var r=i.Defaults.ConnectionType||i.getDefaultConnectionType(),o=e.constructor===r?{connection:e,source:e.source,target:e.target,sourceId:e.sourceId,targetId:e.targetId,sourceEndpoint:e.endpoints[0],targetEndpoint:e.endpoints[1]}:e;t&&i.fire("connectionDetached",o,n),i.fire("internal.connectionDetached",o,n),i.anchorManager.connectionDetached(o)},K=i.fireMoveEvent=function(e,t){i.fire("connectionMoved",e,t)};this.unregisterEndpoint=function(e){for(var t in e._jsPlumb.uuid&&(C[e._jsPlumb.uuid]=null),i.anchorManager.deleteEndpoint(e),x){var n=x[t];if(n){for(var r=[],o=0,s=n.length;o<s;o++)n[o]!==e&&r.push(n[o]);x[t]=r}x[t].length<1&&delete x[t]}};this.deleteConnection=function(e,t){return!(null==e||!(t=t||{}).force&&!n.functionChain(!0,!1,[[e.endpoints[0],"isDetachAllowed",[e]],[e.endpoints[1],"isDetachAllowed",[e]],[e,"isDetachAllowed",[e]],[i,"checkCondition",["beforeDetach",e]]]))&&(e.setHover(!1),G(e,!e.pending&&!1!==t.fireEvent,t.originalEvent),e.endpoints[0].detachFromConnection(e),e.endpoints[1].detachFromConnection(e),n.removeWithFunction(w,function(t){return e.id===t.id}),e.cleanup(),e.destroy(),!0)},this.deleteEveryConnection=function(e){e=e||{};var t=w.length,n=0;return i.batch(function(){for(var r=0;r<t;r++)n+=i.deleteConnection(w[0],e)?1:0}),n},this.deleteConnectionsForElement=function(e,t){t=t||{},e=i.getElement(e);var n=z(e),r=x[n];if(r&&r.length)for(var o=0,s=r.length;o<s;o++)r[o].deleteEveryConnection(t);return i},this.deleteObject=function(e){var t={endpoints:{},connections:{},endpointCount:0,connectionCount:0},r=!1!==e.deleteAttachedObjects,o=function(n){null!=n&&null==t.connections[n.id]&&(e.dontUpdateHover||null==n._jsPlumb||n.setHover(!1),t.connections[n.id]=n,t.connectionCount++)};for(var s in e.connection?o(e.connection):function(n){if(null!=n&&null==t.endpoints[n.id]&&(e.dontUpdateHover||null==n._jsPlumb||n.setHover(!1),t.endpoints[n.id]=n,t.endpointCount++,r))for(var i=0;i<n.connections.length;i++){var s=n.connections[i];o(s)}}(e.endpoint),t.connections){var a=t.connections[s];if(a._jsPlumb){n.removeWithFunction(w,function(e){return a.id===e.id}),G(a,!1!==e.fireEvent&&!a.pending,e.originalEvent);var l=null==e.deleteAttachedObjects?null:!e.deleteAttachedObjects;a.endpoints[0].detachFromConnection(a,null,l),a.endpoints[1].detachFromConnection(a,null,l),a.cleanup(!0),a.destroy(!0)}}for(var u in t.endpoints){var c=t.endpoints[u];c._jsPlumb&&(i.unregisterEndpoint(c),c.cleanup(!0),c.destroy(!0))}return t},this.draggable=function(e,t){var r;return l(function(e){(r=f(e)).el&&function(e,t,r,o,s){if(!p.headless&&null!=t&&t&&p.isDragSupported(e,i)){var a=r||i.Defaults.DragOptions;if(a=p.extend({},a),p.isAlreadyDraggable(e,i))r.force&&i.initDraggable(e,a);else{var l=p.dragEvents.drag,u=p.dragEvents.stop,c=p.dragEvents.start,h=!1;re(o,e),a[c]=n.wrap(a[c],function(){if(i.setHoverSuspended(!0),i.select({source:e}).addClass(i.elementDraggingClass+" "+i.sourceElementDraggingClass,!0),i.select({target:e}).addClass(i.elementDraggingClass+" "+i.targetElementDraggingClass,!0),i.setConnectionBeingDragged(!0),a.canDrag)return r.canDrag()},!1),a[l]=n.wrap(a[l],function(){var t=i.getUIPosition(arguments,i.getZoom());null!=t&&(P(e,t,null,!0),h&&i.addClass(e,"jtk-dragged"),h=!0)}),a[u]=n.wrap(a[u],function(){for(var e,t,n=arguments[0].selection,r=0;r<n.length;r++)null!=(t=n[r])[1]&&(e=i.getUIPosition([{el:t[2].el,pos:[t[1].left,t[1].top]}]),P(t[2].el,e)),i.removeClass(t[0],"jtk-dragged"),i.select({source:t[2].el}).removeClass(i.elementDraggingClass+" "+i.sourceElementDraggingClass,!0),i.select({target:t[2].el}).removeClass(i.elementDraggingClass+" "+i.targetElementDraggingClass,!0),i.getDragManager().dragEnded(t[2].el);h=!1,i.setHoverSuspended(!1),i.setConnectionBeingDragged(!1)});var d=z(e);_[d]=!0;var f=_[d];a.disabled=null!=f&&!f,i.initDraggable(e,a),i.getDragManager().register(e),s&&i.fire("elementDraggable",{el:e,options:a})}}}(r.el,!0,t,r.id,!0)},e),i},this.droppable=function(e,t){var n;return(t=t||{}).allowLoopback=!1,l(function(e){(n=f(e)).el&&i.initDroppable(n.el,t)},e),i};var q=function(e,t,n){return function(){return function(e,t,n,r){for(var i=0,o=e.length;i<o;i++)e[i][t].apply(e[i],n);return r(e)}(e,t,arguments,n)}},Y=function(e,t){return function(){return function(e,t,n){for(var r=[],i=0,o=e.length;i<o;i++)r.push([e[i][t].apply(e[i],n),e[i]]);return r}(e,t,arguments)}},X=function(e,t){var n=[];if(e)if("string"==typeof e){if("*"===e)return e;n.push(e)}else if(t)n=e;else if(e.length)for(var r=0,i=e.length;r<i;r++)n.push(f(e[r]).id);else n.push(f(e).id);return n},Z=function(e,t,n){return"*"===e||(e.length>0?-1!==e.indexOf(t):!n)};this.getConnections=function(e,t){e?e.constructor===String&&(e={scope:e}):e={};for(var n=e.scope||i.getDefaultScope(),r=X(n,!0),o=X(e.source),s=X(e.target),a=!t&&r.length>1?{}:[],l=function(e,n){if(!t&&r.length>1){var i=a[e];null==i&&(i=a[e]=[]),i.push(n)}else a.push(n)},u=0,c=w.length;u<c;u++){var h=w[u],d=h.proxies&&h.proxies[0]?h.proxies[0].originalEp.elementId:h.sourceId,f=h.proxies&&h.proxies[1]?h.proxies[1].originalEp.elementId:h.targetId;Z(r,h.scope)&&Z(o,d)&&Z(s,f)&&l(h.scope,h)}return a};var J=function(e,t){var n,r,i={length:e.length,each:function(e,t){return function(n){for(var r=0,i=e.length;r<i;r++)n(e[r]);return t(e)}}(e,t),get:function(e){return function(t){return e[t]}}(e)},o=["setHover","removeAllOverlays","setLabel","addClass","addOverlay","removeOverlay","removeOverlays","showOverlay","hideOverlay","showOverlays","hideOverlays","setPaintStyle","setHoverPaintStyle","setSuspendEvents","setParameter","setParameters","setVisible","repaint","addType","toggleType","removeType","removeClass","setType","bind","unbind"],s=["getLabel","getOverlay","isHover","getParameter","getParameters","getPaintStyle","getHoverPaintStyle","isVisible","hasType","getType","isSuspendEvents"];for(n=0,r=o.length;n<r;n++)i[o[n]]=q(e,o[n],t);for(n=0,r=s.length;n<r;n++)i[s[n]]=Y(e,s[n]);return i},Q=function(e){var t=J(e,Q);return p.extend(t,{setDetachable:q(e,"setDetachable",Q),setReattach:q(e,"setReattach",Q),setConnector:q(e,"setConnector",Q),delete:function(){for(var t=0,n=e.length;t<n;t++)i.deleteConnection(e[t])},isDetachable:Y(e,"isDetachable"),isReattach:Y(e,"isReattach")})},ee=function(e){var t=J(e,ee);return p.extend(t,{setEnabled:q(e,"setEnabled",ee),setAnchor:q(e,"setAnchor",ee),isEnabled:Y(e,"isEnabled"),deleteEveryConnection:function(){for(var t=0,n=e.length;t<n;t++)e[t].deleteEveryConnection()},delete:function(){for(var t=0,n=e.length;t<n;t++)i.deleteEndpoint(e[t])}})};this.select=function(e){return(e=e||{}).scope=e.scope||"*",Q(e.connections||i.getConnections(e,!0))},this.selectEndpoints=function(e){(e=e||{}).scope=e.scope||"*";var t=!e.element&&!e.source&&!e.target,n=t?"*":X(e.element),r=t?"*":X(e.source),i=t?"*":X(e.target),o=X(e.scope,!0),s=[];for(var a in x){var l=Z(n,a,!0),u=Z(r,a,!0),c="*"!==r,h=Z(i,a,!0),d="*"!==i;if(l||u||h)e:for(var f=0,p=x[a].length;f<p;f++){var g=x[a][f];if(Z(o,g.scope,!0)){var m=c&&r.length>0&&!g.isSource,v=d&&i.length>0&&!g.isTarget;if(m||v)continue e;s.push(g)}}}return ee(s)},this.getAllConnections=function(){return w},this.getDefaultScope=function(){return B},this.getEndpoint=R,this.getEndpoints=function(e){return x[f(e).id]||[]},this.getDefaultEndpointType=function(){return p.Endpoint},this.getDefaultConnectionType=function(){return p.Connection},this.getId=z,this.appendElement=O;var te=!1;this.isHoverSuspended=function(){return te},this.setHoverSuspended=function(e){te=e},this.hide=function(e,t){return H(e,"none",t),i},this.idstamp=M;var ne=function(e){if(!m&&e){var t=i.getElement(e);t.offsetParent&&i.setContainer(t.offsetParent)}},re=i.manage=function(e,t,n){return k[e]||(k[e]={el:t,endpoints:[],connections:[]},k[e].info=ie({elId:e,timestamp:T}),n||i.fire("manageElement",{id:e,info:k[e].info,el:t})),k[e]},ie=this.updateOffset=function(e){var t,n=e.timestamp,r=e.recalc,o=e.offset,s=e.elId;return D&&!n&&(n=T),!r&&n&&n===E[s]?{o:e.offset||A[s],s:F[s]}:(r||!o&&null==A[s]?null!=(t=k[s]?k[s].el:null)&&(F[s]=i.getSize(t),A[s]=i.getOffset(t),E[s]=n):(A[s]=o||A[s],null==F[s]&&null!=(t=k[s].el)&&(F[s]=i.getSize(t)),E[s]=n),A[s]&&!A[s].right&&(A[s].right=A[s].left+F[s][0],A[s].bottom=A[s].top+F[s][1],A[s].width=F[s][0],A[s].height=F[s][1],A[s].centerx=A[s].left+A[s].width/2,A[s].centery=A[s].top+A[s].height/2),{o:A[s],s:F[s]})};this.init=function(){b||(i.Defaults.Container&&i.setContainer(i.Defaults.Container),i.anchorManager=new e.jsPlumb.AnchorManager({jsPlumbInstance:i}),b=!0,i.fire("ready",i))}.bind(this),this.log=y,this.jsPlumbUIComponent=c,this.makeAnchor=function(){var t,r=function(t,n){if(e.jsPlumb.Anchors[t])return new e.jsPlumb.Anchors[t](n);if(!i.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+t+"'"}};if(0===arguments.length)return null;var o=arguments[0],s=arguments[1],a=(arguments[2],null);if(o.compute&&o.getOrientation)return o;if("string"==typeof o)a=r(arguments[0],{elementId:s,jsPlumbInstance:i});else if(n.isArray(o))if(n.isArray(o[0])||n.isString(o[0]))2===o.length&&n.isObject(o[1])?n.isString(o[0])?(t=e.jsPlumb.extend({elementId:s,jsPlumbInstance:i},o[1]),a=r(o[0],t)):(t=e.jsPlumb.extend({elementId:s,jsPlumbInstance:i,anchors:o[0]},o[1]),a=new e.jsPlumb.DynamicAnchor(t)):a=new p.DynamicAnchor({anchors:o,selector:null,elementId:s,jsPlumbInstance:i});else{var l={x:o[0],y:o[1],orientation:o.length>=4?[o[2],o[3]]:[0,0],offsets:o.length>=6?[o[4],o[5]]:[0,0],elementId:s,jsPlumbInstance:i,cssClass:7===o.length?o[6]:null};(a=new e.jsPlumb.Anchor(l)).clone=function(){return new e.jsPlumb.Anchor(l)}}return a.id||(a.id="anchor_"+M()),a},this.makeAnchors=function(t,r,o){for(var s=[],a=0,l=t.length;a<l;a++)"string"==typeof t[a]?s.push(e.jsPlumb.Anchors[t[a]]({elementId:r,jsPlumbInstance:o})):n.isArray(t[a])&&s.push(i.makeAnchor(t[a],r,o));return s},this.makeDynamicAnchor=function(t,n){return new e.jsPlumb.DynamicAnchor({anchors:t,selector:n,elementId:null,jsPlumbInstance:i})},this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={};var oe=function(t,r,o,s,a){var l=new c(r),u=r._jsPlumb.EndpointDropHandler({jsPlumb:i,enabled:function(){return t.def.enabled},isFull:function(){var e=i.select({target:t.id}).length;return t.def.maxConnections>0&&e>=t.def.maxConnections},element:t.el,elementId:t.id,isSource:s,isTarget:a,addClass:function(e){i.addClass(t.el,e)},removeClass:function(e){i.removeClass(t.el,e)},onDrop:function(e){e.endpoints[0].anchor.locked=!1},isDropAllowed:function(){return l.isDropAllowed.apply(l,arguments)},isRedrop:function(e){return null!=e.suspendedElement&&null!=e.suspendedEndpoint&&e.suspendedEndpoint.element===t.el},getEndpoint:function(n){var o=t.def.endpoint;if(null==o||null==o._jsPlumb){var s=i.deriveEndpointAndAnchorSpec(n.getType().join(" "),!0),a=s.endpoints?e.jsPlumb.extend(r,{endpoint:t.def.def.endpoint||s.endpoints[1]}):r;s.anchors&&(a=e.jsPlumb.extend(a,{anchor:t.def.def.anchor||s.anchors[1]})),(o=i.addEndpoint(t.el,a))._mtNew=!0}if(r.uniqueEndpoint&&(t.def.endpoint=o),o.setDeleteOnEmpty(!0),n.isDetachable()&&o.initDraggable(),null!=o.anchor.positionFinder){var l=i.getUIPosition(arguments,i.getZoom()),u=i.getOffset(t.el),c=i.getSize(t.el),h=null==l?[0,0]:o.anchor.positionFinder(l,u,c,o.anchor.constructorParams);o.anchor.x=h[0],o.anchor.y=h[1]}return o},maybeCleanup:function(e){e._mtNew&&0===e.connections.length?i.deleteObject({endpoint:e}):delete e._mtNew}}),h=e.jsPlumb.dragEvents.drop;return o.scope=o.scope||r.scope||i.Defaults.Scope,o[h]=n.wrap(o[h],u,!0),a&&(o[e.jsPlumb.dragEvents.over]=function(){return!0}),!1===r.allowLoopback&&(o.canDrop=function(e){return e.getDragElement()._jsPlumbRelatedElement!==t.el}),i.initDroppable(t.el,o,"internal"),u};this.makeTarget=function(t,n,r){var o=e.jsPlumb.extend({_jsPlumb:this},r);e.jsPlumb.extend(o,n);for(var s=o.maxConnections||-1,a=function(t){var n=f(t),r=n.id,a=e.jsPlumb.extend({},o.dropOptions||{}),l=o.connectionType||"default";this.targetEndpointDefinitions[r]=this.targetEndpointDefinitions[r]||{},ne(r),n.el._isJsPlumbGroup&&null==a.rank&&(a.rank=-1);var u={def:e.jsPlumb.extend({},o),uniqueEndpoint:o.uniqueEndpoint,maxConnections:s,enabled:!0};o.createEndpoint&&(u.uniqueEndpoint=!0,u.endpoint=i.addEndpoint(t,u.def),u.endpoint.setDeleteOnEmpty(!1)),n.def=u,this.targetEndpointDefinitions[r][l]=u,oe(n,o,a,!0===o.isSource,!0),n.el._katavorioDrop[n.el._katavorioDrop.length-1].targetDef=u}.bind(this),l=t.length&&t.constructor!==String?t:[t],u=0,c=l.length;u<c;u++)a(l[u]);return this},this.unmakeTarget=function(e,t){var n=f(e);return i.destroyDroppable(n.el,"internal"),t||delete this.targetEndpointDefinitions[n.id],this},this.makeSource=function(t,r,o){var s=e.jsPlumb.extend({_jsPlumb:this},o);e.jsPlumb.extend(s,r);var a=s.connectionType||"default",l=i.deriveEndpointAndAnchorSpec(a);s.endpoint=s.endpoint||l.endpoints[0],s.anchor=s.anchor||l.anchors[0];for(var u=s.maxConnections||-1,c=s.onMaxConnections,d=function(r){var o=r.id,l=this.getElement(r.el);this.sourceEndpointDefinitions[o]=this.sourceEndpointDefinitions[o]||{},ne(o);var d={def:e.jsPlumb.extend({},s),uniqueEndpoint:s.uniqueEndpoint,maxConnections:u,enabled:!0};s.createEndpoint&&(d.uniqueEndpoint=!0,d.endpoint=i.addEndpoint(t,d.def),d.endpoint.setDeleteOnEmpty(!1)),this.sourceEndpointDefinitions[o][a]=d,r.def=d;var f=e.jsPlumb.dragEvents.stop,p=e.jsPlumb.dragEvents.drag,g=e.jsPlumb.extend({},s.dragOptions||{}),m=g.drag,v=g.stop,y=null,b=!1;g.scope=g.scope||s.scope,g[p]=n.wrap(g[p],function(){m&&m.apply(this,arguments),b=!1}),g[f]=n.wrap(g[f],function(){if(v&&v.apply(this,arguments),this.currentlyDragging=!1,null!=y._jsPlumb){var e=s.anchor||this.Defaults.Anchor,t=y.anchor,n=y.connections[0],r=this.makeAnchor(e,o,this),a=y.element;if(null!=r.positionFinder){var l=i.getOffset(a),u=this.getSize(a),c={left:l.left+t.x*u[0],top:l.top+t.y*u[1]},h=r.positionFinder(c,l,u,r.constructorParams);r.x=h[0],r.y=h[1]}y.setAnchor(r,!0),y.repaint(),this.repaint(y.elementId),null!=n&&this.repaint(n.targetId)}}.bind(this));var w=function(t){if(3!==t.which&&2!==t.button){var d=this.sourceEndpointDefinitions[o][a];if(d.enabled){if(o=this.getId(this.getElement(r.el)),s.filter)if(!1===(n.isString(s.filter)?function(e,t,n,r,i){for(var o=e.target||e.srcElement,s=!1,a=r.getSelector(t,n),l=0;l<a.length;l++)if(a[l]===o){s=!0;break}return i?!s:s}(t,r.el,s.filter,this,s.filterExclude):s.filter(t,r.el)))return;var f=this.select({source:o}).length;if(d.maxConnections>=0&&f>=d.maxConnections)return c&&c({element:r.el,maxConnections:u},t),!1;var p=e.jsPlumb.getPositionOnElement(t,l,h),m={};e.jsPlumb.extend(m,s),m.isTemporarySource=!0,m.anchor=[p[0],p[1],0,0],m.dragOptions=g,d.def.scope&&(m.scope=d.def.scope),y=this.addEndpoint(o,m),b=!0,y.setDeleteOnEmpty(!0),d.uniqueEndpoint&&(d.endpoint?y.finalEndpoint=d.endpoint:(d.endpoint=y,y.setDeleteOnEmpty(!1)));var v=function(){i.off(y.canvas,"mouseup",v),i.off(r.el,"mouseup",v),b&&(b=!1,i.deleteEndpoint(y))};i.on(y.canvas,"mouseup",v),i.on(r.el,"mouseup",v);var w={};if(d.def.extract)for(var x in d.def.extract){var C=(t.srcElement||t.target).getAttribute(x);C&&(w[d.def.extract[x]]=C)}i.trigger(y.canvas,"mousedown",t,w),n.consume(t)}}}.bind(this);this.on(r.el,"mousedown",w),d.trigger=w,s.filter&&(n.isString(s.filter)||n.isFunction(s.filter))&&i.setDragFilter(r.el,s.filter);var x=e.jsPlumb.extend({},s.dropOptions||{});oe(r,s,x,!0,!0===s.isTarget)}.bind(this),p=t.length&&t.constructor!==String?t:[t],g=0,m=p.length;g<m;g++)d(f(p[g]));return this},this.unmakeSource=function(e,t,n){var r=f(e);i.destroyDroppable(r.el,"internal");var o=this.sourceEndpointDefinitions[r.id];if(o)for(var s in o)if(null==t||t===s){var a=o[s].trigger;a&&i.off(r.el,"mousedown",a),n||delete this.sourceEndpointDefinitions[r.id][s]}return this},this.unmakeEverySource=function(){for(var e in this.sourceEndpointDefinitions)i.unmakeSource(e,null,!0);return this.sourceEndpointDefinitions={},this};var se=function(e,t,r){t=n.isArray(t)?t:[t];var i=z(e);r=r||"default";for(var o=0;o<t.length;o++){var s=this[t[o]][i];if(s&&s[r])return s[r].def.scope||this.Defaults.Scope}}.bind(this),ae=function(e,t,r,i){r=n.isArray(r)?r:[r];var o=z(e);i=i||"default";for(var s=0;s<r.length;s++){var a=this[r[s]][o];a&&a[i]&&(a[i].def.scope=t)}}.bind(this);this.getScope=function(e,t){return se(e,["sourceEndpointDefinitions","targetEndpointDefinitions"])},this.getSourceScope=function(e){return se(e,"sourceEndpointDefinitions")},this.getTargetScope=function(e){return se(e,"targetEndpointDefinitions")},this.setScope=function(e,t,n){this.setSourceScope(e,t,n),this.setTargetScope(e,t,n)},this.setSourceScope=function(e,t,n){ae(e,t,"sourceEndpointDefinitions",n),this.setDragScope(e,t)},this.setTargetScope=function(e,t,n){ae(e,t,"targetEndpointDefinitions",n),this.setDropScope(e,t)},this.unmakeEveryTarget=function(){for(var e in this.targetEndpointDefinitions)i.unmakeTarget(e,!0);return this.targetEndpointDefinitions={},this};var le=function(e,t,r,o,s){var a,l,u,c="source"===e?this.sourceEndpointDefinitions:this.targetEndpointDefinitions;if(s=s||"default",t.length&&!n.isString(t)){a=[];for(var h=0,d=t.length;h<d;h++)c[(l=f(t[h])).id]&&c[l.id][s]&&(a[h]=c[l.id][s].enabled,u=o?!a[h]:r,c[l.id][s].enabled=u,i[u?"removeClass":"addClass"](l.el,"jtk-"+e+"-disabled"))}else{var p=(l=f(t)).id;c[p]&&c[p][s]&&(a=c[p][s].enabled,u=o?!a:r,c[p][s].enabled=u,i[u?"removeClass":"addClass"](l.el,"jtk-"+e+"-disabled"))}return a}.bind(this),ue=function(e,t){return n.isString(e)||!e.length?t.apply(this,[e]):e.length?t.apply(this,[e[0]]):void 0}.bind(this);this.toggleSourceEnabled=function(e,t){return le("source",e,null,!0,t),this.isSourceEnabled(e,t)},this.setSourceEnabled=function(e,t,n){return le("source",e,t,null,n)},this.isSource=function(e,t){return t=t||"default",ue(e,function(e){var n=this.sourceEndpointDefinitions[f(e).id];return null!=n&&null!=n[t]}.bind(this))},this.isSourceEnabled=function(e,t){return t=t||"default",ue(e,function(e){var n=this.sourceEndpointDefinitions[f(e).id];return n&&n[t]&&!0===n[t].enabled}.bind(this))},this.toggleTargetEnabled=function(e,t){return le("target",e,null,!0,t),this.isTargetEnabled(e,t)},this.isTarget=function(e,t){return t=t||"default",ue(e,function(e){var n=this.targetEndpointDefinitions[f(e).id];return null!=n&&null!=n[t]}.bind(this))},this.isTargetEnabled=function(e,t){return t=t||"default",ue(e,function(e){var n=this.targetEndpointDefinitions[f(e).id];return n&&n[t]&&!0===n[t].enabled}.bind(this))},this.setTargetEnabled=function(e,t,n){return le("target",e,t,null,n)},this.ready=function(e){i.bind("ready",e)};var ce=function(e,t){if("object"==typeof e&&e.length)for(var n=0,r=e.length;n<r;n++)t(e[n]);else t(e);return i};this.repaint=function(e,t,n){return ce(e,function(e){P(e,t,n)})},this.revalidate=function(e,t,n){return ce(e,function(e){var r=n?e:i.getId(e);i.updateOffset({elId:r,recalc:!0,timestamp:t});var o=i.getDragManager();o&&o.updateOffsets(r),i.repaint(e)})},this.repaintEverything=function(){var e,t=r();for(e in x)i.updateOffset({elId:e,recalc:!0,timestamp:t});for(e in x)P(e,null,t);return this},this.removeAllEndpoints=function(e,t,n){n=n||[];var r=function(e){var o,s,a=f(e),l=x[a.id];if(l)for(n.push(a),o=0,s=l.length;o<s;o++)i.deleteEndpoint(l[o],!1);if(delete x[a.id],t&&a.el&&3!==a.el.nodeType&&8!==a.el.nodeType)for(o=0,s=a.el.childNodes.length;o<s;o++)r(a.el.childNodes[o])};return r(e),this};var he=function(e,t){i.removeAllEndpoints(e.id,!0,t);for(var n=i.getDragManager(),r=function(e){n&&n.elementRemoved(e.id),i.anchorManager.clearFor(e.id),i.anchorManager.removeFloatingConnection(e.id),i.isSource(e.el)&&i.unmakeSource(e.el),i.isTarget(e.el)&&i.unmakeTarget(e.el),i.destroyDraggable(e.el),i.destroyDroppable(e.el),delete i.floatingConnections[e.id],delete k[e.id],delete A[e.id],e.el&&(i.removeElement(e.el),e.el._jsPlumb=null)},o=1;o<t.length;o++)r(t[o]);r(e)};this.remove=function(e,t){var n=f(e),r=[];return n.text?n.el.parentNode.removeChild(n.el):n.id&&i.batch(function(){he(n,r)},!1===t),i},this.empty=function(e,t){var n=[],r=function(e,t){var i=f(e);if(i.text)i.el.parentNode.removeChild(i.el);else if(i.el){for(;i.el.childNodes.length>0;)r(i.el.childNodes[0]);t||he(i,n)}};return i.batch(function(){r(e,!0)},!1===t),i},this.reset=function(e){i.silently(function(){te=!1,i.removeAllGroups(),i.removeGroupManager(),i.deleteEveryEndpoint(),e||i.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},w.length=0,this.doReset&&this.doReset()}.bind(this))};var de=function(e){e.canvas&&e.canvas.parentNode&&e.canvas.parentNode.removeChild(e.canvas),e.cleanup(),e.destroy()};this.clear=function(){i.select().each(de),i.selectEndpoints().each(de),x={},C={}},this.setDefaultScope=function(e){return B=e,i},this.setDraggable=function(e,t){return p.each(e,function(e){i.isDragSupported(e)&&(_[i.getAttribute(e,"id")]=t,i.setElementDraggable(e,t))})},this.deriveEndpointAndAnchorSpec=function(e,t){for(var n=((t?"":"default ")+e).split(/[\s]/),r=null,o=null,s=null,a=null,l=0;l<n.length;l++){var u=i.getType(n[l],"connection");u&&(u.endpoints&&(r=u.endpoints),u.endpoint&&(o=u.endpoint),u.anchors&&(a=u.anchors),u.anchor&&(s=u.anchor))}return{endpoints:r||[o,o],anchors:a||[s,s]}},this.setId=function(e,t,r){var i;n.isString(e)?i=e:(e=this.getElement(e),i=this.getId(e));var o=this.getConnections({source:i,scope:"*"},!0),s=this.getConnections({target:i,scope:"*"},!0);t=""+t,r?e=this.getElement(t):(e=this.getElement(i),this.setAttribute(e,"id",t)),x[t]=x[i]||[];for(var a=0,l=x[t].length;a<l;a++)x[t][a].setElementId(t),x[t][a].setReferenceElement(e);delete x[i],this.sourceEndpointDefinitions[t]=this.sourceEndpointDefinitions[i],delete this.sourceEndpointDefinitions[i],this.targetEndpointDefinitions[t]=this.targetEndpointDefinitions[i],delete this.targetEndpointDefinitions[i],this.anchorManager.changeId(i,t);var u=this.getDragManager();u&&u.changeId(i,t),k[t]=k[i],delete k[i];var c=function(n,r,i){for(var o=0,s=n.length;o<s;o++)n[o].endpoints[r].setElementId(t),n[o].endpoints[r].setReferenceElement(e),n[o][i+"Id"]=t,n[o][i]=e};c(o,0,"source"),c(s,1,"target"),this.repaint(t)},this.setDebugLog=function(e){y=e},this.setSuspendDrawing=function(e,t){var n=D;return D=e,T=e?(new Date).getTime():null,t&&this.repaintEverything(),n},this.isSuspendDrawing=function(){return D},this.getSuspendedAt=function(){return T},this.batch=function(e,t){var r=this.isSuspendDrawing();r||this.setSuspendDrawing(!0);try{e()}catch(e){n.log("Function run while suspended failed",e)}r||this.setSuspendDrawing(!1,!t)},this.doWhileSuspended=this.batch,this.getCachedData=function(e){var t=A[e];return t?{o:t,s:F[e]}:ie({elId:e})},this.timestamp=r,this.show=function(e,t){return H(e,"block",t),i},this.toggleVisible=function(e,t){var n=null;t&&(n=function(e){var t=e.isVisible();e.setVisible(!t)}),W(e,function(e){var t=e.isVisible();e.setVisible(!t)},n)},this.toggleDraggable=function(e){var t;return p.each(e,function(e){var n=i.getAttribute(e,"id");return t=!(t=null!=_[n]&&_[n]),_[n]=t,i.setDraggable(e,t),t}.bind(this)),t},this.addListener=this.bind;var fe=[];this.registerFloatingConnection=function(e,t,r){fe[e.id]=t,n.addToList(x,e.id,r)},this.getFloatingConnectionFor=function(e){return fe[e]}};n.extend(e.jsPlumbInstance,n.EventGenerator,{setAttribute:function(e,t,n){this.setAttribute(e,t,n)},getAttribute:function(t,n){return this.getAttribute(e.jsPlumb.getElement(t),n)},convertToFullOverlaySpec:function(e){return n.isString(e)&&(e=[e,{}]),e[1].id=e[1].id||n.uuid(),e},registerConnectionType:function(t,n){if(this._connectionTypes[t]=e.jsPlumb.extend({},n),n.overlays){for(var r={},i=0;i<n.overlays.length;i++){var o=this.convertToFullOverlaySpec(n.overlays[i]);r[o[1].id]=o}this._connectionTypes[t].overlays=r}},registerConnectionTypes:function(e){for(var t in e)this.registerConnectionType(t,e[t])},registerEndpointType:function(t,n){if(this._endpointTypes[t]=e.jsPlumb.extend({},n),n.overlays){for(var r={},i=0;i<n.overlays.length;i++){var o=this.convertToFullOverlaySpec(n.overlays[i]);r[o[1].id]=o}this._endpointTypes[t].overlays=r}},registerEndpointTypes:function(e){for(var t in e)this.registerEndpointType(t,e[t])},getType:function(e,t){return"connection"===t?this._connectionTypes[e]:this._endpointTypes[e]},setIdChanged:function(e,t){this.setId(e,t,!0)},setParent:function(e,t){var n=this.getElement(e),r=this.getId(n),i=this.getElement(t),o=this.getId(i),s=this.getDragManager();n.parentNode.removeChild(n),i.appendChild(n),s&&s.setParent(n,r,i,o)},extend:function(e,t,n){var r;if(n)for(r=0;r<n.length;r++)e[n[r]]=t[n[r]];else for(r in t)e[r]=t[r];return e},floatingConnections:{},getFloatingAnchorIndex:function(e){return e.endpoints[0].isFloating()?0:e.endpoints[1].isFloating()?1:-1}}),f.prototype.Defaults={Anchor:"Bottom",Anchors:[null,null],ConnectionsDetachable:!0,ConnectionOverlays:[],Connector:"Bezier",Container:null,DoNotThrowErrors:!1,DragOptions:{},DropOptions:{},Endpoint:"Dot",EndpointOverlays:[],Endpoints:[null,null],EndpointStyle:{fill:"#456"},EndpointStyles:[null,null],EndpointHoverStyle:null,EndpointHoverStyles:[null,null],HoverPaintStyle:null,LabelStyle:{color:"black"},LogEnabled:!1,Overlays:[],MaxConnections:1,PaintStyle:{"stroke-width":4,stroke:"#456"},ReattachConnections:!1,RenderMode:"svg",Scope:"jsPlumb_DefaultScope"};var p=new f;e.jsPlumb=p,p.getInstance=function(e,t){var n=new f(e);if(t)for(var r in t)n[r]=t[r];return n.init(),n},p.each=function(e,t){if(null!=e)if("string"==typeof e)t(p.getElement(e));else if(null!=e.length)for(var n=0;n<e.length;n++)t(p.getElement(e[n]));else t(e)},t.jsPlumb=p}.call("undefined"!=typeof window?window:this),function(){var e=this.jsPlumbUtil,t=function(e,t){if(null==t)return[0,0];var n=s(t),r=o(n,0);return[r[e+"X"],r[e+"Y"]]},n=t.bind(this,"page"),r=t.bind(this,"screen"),i=t.bind(this,"client"),o=function(e,t){return e.item?e.item(t):e[t]},s=function(e){return e.touches&&e.touches.length>0?e.touches:e.changedTouches&&e.changedTouches.length>0?e.changedTouches:e.targetTouches&&e.targetTouches.length>0?e.targetTouches:[e]},a=function(e,t,n){var r;t=null==(r=t)?null:r.replace(/^\s\s*/,"").replace(/\s\s*$/,""),void 0!==e.className.baseVal?e.className.baseVal=t:e.className=t;try{for(var i=e.classList;i.length>0;)i.remove(i.item(0));for(var o=0;o<n.length;o++)n[o]&&i.add(n[o])}catch(e){console.log("JSPLUMB: cannot set class list",e)}},l=function(e){return void 0===e.className.baseVal?e.className:e.className.baseVal},u=function(t,n,r){n=null==n?[]:e.isArray(n)?n:n.split(/\s+/),r=null==r?[]:e.isArray(r)?r:r.split(/\s+/);var i=l(t).split(/\s+/),o=function(e,t){for(var n=0;n<t.length;n++)if(e)-1===i.indexOf(t[n])&&i.push(t[n]);else{var r=i.indexOf(t[n]);-1!==r&&i.splice(r,1)}};o(!0,n),o(!1,r),a(t,i.join(" "),i)};this.jsPlumb.extend(this.jsPlumbInstance.prototype,{headless:!1,pageLocation:n,screenLocation:r,clientLocation:i,getDragManager:function(){return null==this.dragManager&&(this.dragManager=new function(e){var t={},n=[],r={},i={},o={};this.register=function(s){var a=e.getId(s),l=e.getOffset(s);t[a]||(t[a]=s,n.push(s),r[a]={});var u=function(t){if(t)for(var n=0;n<t.childNodes.length;n++)if(3!==t.childNodes[n].nodeType&&8!==t.childNodes[n].nodeType){var s=jsPlumb.getElement(t.childNodes[n]),c=e.getId(t.childNodes[n],null,!0);if(c&&i[c]&&i[c]>0){var h=e.getOffset(s);r[a][c]={id:c,offset:{left:h.left-l.left,top:h.top-l.top}},o[c]=a}u(t.childNodes[n])}};u(s)},this.updateOffsets=function(t,n){if(null!=t){n=n||{};var i=jsPlumb.getElement(t),s=e.getId(i),a=r[s],l=e.getOffset(i);if(a)for(var u in a)if(a.hasOwnProperty(u)){var c=jsPlumb.getElement(u),h=n[u]||e.getOffset(c);if(null==c.offsetParent&&null!=r[s][u])continue;r[s][u]={id:u,offset:{left:h.left-l.left,top:h.top-l.top}},o[u]=s}}},this.endpointAdded=function(n,s){s=s||e.getId(n);var a=document.body,l=n.parentNode;for(i[s]=i[s]?i[s]+1:1;null!=l&&l!==a;){var u=e.getId(l,null,!0);if(u&&t[u]){var c=e.getOffset(l);if(null==r[u][s]){var h=e.getOffset(n);r[u][s]={id:s,offset:{left:h.left-c.left,top:h.top-c.top}},o[s]=u}break}l=l.parentNode}},this.endpointDeleted=function(e){if(i[e.elementId]&&(i[e.elementId]--,i[e.elementId]<=0))for(var t in r)r.hasOwnProperty(t)&&r[t]&&(delete r[t][e.elementId],delete o[e.elementId])},this.changeId=function(e,t){r[t]=r[e],r[e]={},o[t]=o[e],o[e]=null},this.getElementsForDraggable=function(e){return r[e]},this.elementRemoved=function(e){var t=o[e];t&&(delete r[t][e],delete o[e])},this.reset=function(){t={},n=[],r={},i={}},this.dragEnded=function(t){if(null!=t.offsetParent){var n=e.getId(t),r=o[n];r&&this.updateOffsets(r)}},this.setParent=function(t,n,i,s,a){var l=o[n];r[s]||(r[s]={});var u=e.getOffset(i),c=a||e.getOffset(t);l&&r[l]&&delete r[l][n],r[s][n]={id:n,offset:{left:c.left-u.left,top:c.top-u.top}},o[n]=s},this.clearParent=function(e,t){var n=o[t];n&&(delete r[n][t],delete o[t])},this.revalidateParent=function(t,n,r){var i=o[n];if(i){var s={};s[n]=r,this.updateOffsets(i,s),e.revalidate(i)}},this.getDragAncestor=function(t){var n=jsPlumb.getElement(t),r=e.getId(n),i=o[r];return i?jsPlumb.getElement(i):null}}(this)),this.dragManager},recalculateOffsets:function(e){this.getDragManager().updateOffsets(e)},createElement:function(e,t,n,r){return this.createElementNS(null,e,t,n,r)},createElementNS:function(e,t,n,r,i){var o,s=null==e?document.createElement(t):document.createElementNS(e,t);for(o in n=n||{})s.style[o]=n[o];for(o in r&&(s.className=r),i=i||{})s.setAttribute(o,""+i[o]);return s},getAttribute:function(e,t){return null!=e.getAttribute?e.getAttribute(t):null},setAttribute:function(e,t,n){null!=e.setAttribute&&e.setAttribute(t,n)},setAttributes:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.setAttribute(n,t[n])},appendToRoot:function(e){document.body.appendChild(e)},getRenderModes:function(){return["svg"]},getClass:l,addClass:function(e,t){jsPlumb.each(e,function(e){u(e,t)})},hasClass:function(e,t){return(e=jsPlumb.getElement(e)).classList?e.classList.contains(t):-1!==l(e).indexOf(t)},removeClass:function(e,t){jsPlumb.each(e,function(e){u(e,null,t)})},updateClasses:function(e,t,n){jsPlumb.each(e,function(e){u(e,t,n)})},setClass:function(e,t){null!=t&&jsPlumb.each(e,function(e){a(e,t,t.split(/\s+/))})},setPosition:function(e,t){e.style.left=t.left+"px",e.style.top=t.top+"px"},getPosition:function(e){var t=function(t){var n=e.style[t];return n?n.substring(0,n.length-2):0};return{left:t("left"),top:t("top")}},getStyle:function(e,t){return void 0!==window.getComputedStyle?getComputedStyle(e,null).getPropertyValue(t):e.currentStyle[t]},getSelector:function(e,t){return 1===arguments.length?null!=e.nodeType?e:document.querySelectorAll(e):e.querySelectorAll(t)},getOffset:function(e,t,n){e=jsPlumb.getElement(e),n=n||this.getContainer();for(var r={left:e.offsetLeft,top:e.offsetTop},i=t||null!=n&&e!==n&&e.offsetParent!==n?e.offsetParent:null,o=function(e){null!=e&&e!==document.body&&(e.scrollTop>0||e.scrollLeft>0)&&(r.left-=e.scrollLeft,r.top-=e.scrollTop)}.bind(this);null!=i;)r.left+=i.offsetLeft,r.top+=i.offsetTop,o(i),i=t?i.offsetParent:i.offsetParent===n?null:i.offsetParent;if(null!=n&&!t&&(n.scrollTop>0||n.scrollLeft>0)){var s=null!=e.offsetParent?this.getStyle(e.offsetParent,"position"):"static",a=this.getStyle(e,"position");"absolute"!==a&&"fixed"!==a&&"absolute"!==s&&"fixed"!==s&&(r.left-=n.scrollLeft,r.top-=n.scrollTop)}return r},getPositionOnElement:function(e,t,n){var r=void 0!==t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0,width:0,height:0},i=document.body,o=document.documentElement,s=window.pageYOffset||o.scrollTop||i.scrollTop,a=window.pageXOffset||o.scrollLeft||i.scrollLeft,l=o.clientTop||i.clientTop||0,u=o.clientLeft||i.clientLeft||0,c=r.top+s-l+0*n,h=r.left+a-u+0*n,d=jsPlumb.pageLocation(e),f=r.width||t.offsetWidth*n,p=r.height||t.offsetHeight*n;return[(d[0]-h)/f,(d[1]-c)/p]},getAbsolutePosition:function(e){var t=function(t){var n=e.style[t];if(n)return parseFloat(n.substring(0,n.length-2))};return[t("left"),t("top")]},setAbsolutePosition:function(e,t,n,r){n?this.animate(e,{left:"+="+(t[0]-n[0]),top:"+="+(t[1]-n[1])},r):(e.style.left=t[0]+"px",e.style.top=t[1]+"px")},getSize:function(e){return[e.offsetWidth,e.offsetHeight]},getWidth:function(e){return e.offsetWidth},getHeight:function(e){return e.offsetHeight},getRenderMode:function(){return"svg"}})}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this,t=e.jsPlumb,n=e.jsPlumbUtil;t.OverlayCapableJsPlumbUIComponent=function(t){e.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.overlays={},this._jsPlumb.overlayPositions={},t.label&&(this.getDefaultType().overlays.__label=["Label",{label:t.label,location:t.labelLocation||this.defaultLabelLocation||.5,labelStyle:t.labelStyle||this._jsPlumb.instance.Defaults.LabelStyle,id:"__label"}]),this.setListenerComponent=function(e){if(this._jsPlumb)for(var t in this._jsPlumb.overlays)this._jsPlumb.overlays[t].setListenerComponent(e)}},t.OverlayCapableJsPlumbUIComponent.applyType=function(e,t){if(t.overlays){var n,r={};for(n in t.overlays){var i=e._jsPlumb.overlays[t.overlays[n][1].id];if(i)i.updateFrom(t.overlays[n][1]),r[t.overlays[n][1].id]=!0;else{var o=e.getCachedTypeItem("overlay",t.overlays[n][1].id);null!=o?(o.reattach(e._jsPlumb.instance,e),o.setVisible(!0),o.updateFrom(t.overlays[n][1]),e._jsPlumb.overlays[o.id]=o):o=e.addOverlay(t.overlays[n],!0),r[o.id]=!0}}for(n in e._jsPlumb.overlays)null==r[e._jsPlumb.overlays[n].id]&&e.removeOverlay(e._jsPlumb.overlays[n].id,!0)}},n.extend(t.OverlayCapableJsPlumbUIComponent,e.jsPlumbUIComponent,{setHover:function(e,t){if(this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged())for(var n in this._jsPlumb.overlays)this._jsPlumb.overlays[n][e?"addClass":"removeClass"](this._jsPlumb.instance.hoverClass)},addOverlay:function(e,r){var i=function(e,r){var i=null;if(n.isArray(r)){var o=r[0],s=t.extend({component:e,_jsPlumb:e._jsPlumb.instance},r[1]);3===r.length&&t.extend(s,r[2]),i=new(t.Overlays[e._jsPlumb.instance.getRenderMode()][o])(s)}else i=r.constructor===String?new(t.Overlays[e._jsPlumb.instance.getRenderMode()][r])({component:e,_jsPlumb:e._jsPlumb.instance}):r;return i.id=i.id||n.uuid(),e.cacheTypeItem("overlay",i,i.id),e._jsPlumb.overlays[i.id]=i,i}(this,e);return r||this.repaint(),i},getOverlay:function(e){return this._jsPlumb.overlays[e]},getOverlays:function(){return this._jsPlumb.overlays},hideOverlay:function(e){var t=this.getOverlay(e);t&&t.hide()},hideOverlays:function(){for(var e in this._jsPlumb.overlays)this._jsPlumb.overlays[e].hide()},showOverlay:function(e){var t=this.getOverlay(e);t&&t.show()},showOverlays:function(){for(var e in this._jsPlumb.overlays)this._jsPlumb.overlays[e].show()},removeAllOverlays:function(e){for(var t in this._jsPlumb.overlays)this._jsPlumb.overlays[t].cleanup&&this._jsPlumb.overlays[t].cleanup();this._jsPlumb.overlays={},this._jsPlumb.overlayPositions=null,e||this.repaint()},removeOverlay:function(e,t){var n=this._jsPlumb.overlays[e];n&&(n.setVisible(!1),!t&&n.cleanup&&n.cleanup(),delete this._jsPlumb.overlays[e],this._jsPlumb.overlayPositions&&delete this._jsPlumb.overlayPositions[e])},removeOverlays:function(){for(var e=0,t=arguments.length;e<t;e++)this.removeOverlay(arguments[e])},moveParent:function(e){if(this.bgCanvas&&(this.bgCanvas.parentNode.removeChild(this.bgCanvas),e.appendChild(this.bgCanvas)),this.canvas&&this.canvas.parentNode)for(var t in this.canvas.parentNode.removeChild(this.canvas),e.appendChild(this.canvas),this._jsPlumb.overlays)if(this._jsPlumb.overlays[t].isAppendedAtTopLevel){var n=this._jsPlumb.overlays[t].getElement();n.parentNode.removeChild(n),e.appendChild(n)}},getLabel:function(){var e=this.getOverlay("__label");return null!=e?e.getLabel():null},getLabelOverlay:function(){return this.getOverlay("__label")},setLabel:function(e){var n=this.getOverlay("__label");n?e.constructor===String||e.constructor===Function?n.setLabel(e):(e.label&&n.setLabel(e.label),e.location&&n.setLocation(e.location)):(n=function(e,n){var r={cssClass:n.cssClass,labelStyle:e.labelStyle,id:"__label",component:e,_jsPlumb:e._jsPlumb.instance},i=t.extend(r,n);return new(t.Overlays[e._jsPlumb.instance.getRenderMode()].Label)(i)}(this,e.constructor===String||e.constructor===Function?{label:e}:e),this._jsPlumb.overlays.__label=n);this._jsPlumb.instance.isSuspendDrawing()||this.repaint()},cleanup:function(e){for(var t in this._jsPlumb.overlays)this._jsPlumb.overlays[t].cleanup(e),this._jsPlumb.overlays[t].destroy(e);e&&(this._jsPlumb.overlays={},this._jsPlumb.overlayPositions=null)},setVisible:function(e){this[e?"showOverlays":"hideOverlays"]()},setAbsoluteOverlayPosition:function(e,t){this._jsPlumb.overlayPositions[e.id]=t},getAbsoluteOverlayPosition:function(e){return this._jsPlumb.overlayPositions?this._jsPlumb.overlayPositions[e.id]:null},_clazzManip:function(e,t,n){if(!n)for(var r in this._jsPlumb.overlays)this._jsPlumb.overlays[r][e+"Class"](t)},addClass:function(e,t){this._clazzManip("add",e,t)},removeClass:function(e,t){this._clazzManip("remove",e,t)}})}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil,n=["connectorStyle","connectorHoverStyle","connectorOverlays","connector","connectionType","connectorClass","connectorHoverClass"];e.Endpoint=function(r){var i=r._jsPlumb,o=r.newConnection,s=r.newEndpoint;this.idPrefix="_jsplumb_e_",this.defaultLabelLocation=[.5,.5],this.defaultOverlayKeys=["Overlays","EndpointOverlays"],e.OverlayCapableJsPlumbUIComponent.apply(this,arguments),this.appendToDefaultType({connectionType:r.connectionType,maxConnections:null==r.maxConnections?this._jsPlumb.instance.Defaults.MaxConnections:r.maxConnections,paintStyle:r.endpointStyle||r.paintStyle||r.style||this._jsPlumb.instance.Defaults.EndpointStyle||e.Defaults.EndpointStyle,hoverPaintStyle:r.endpointHoverStyle||r.hoverPaintStyle||this._jsPlumb.instance.Defaults.EndpointHoverStyle||e.Defaults.EndpointHoverStyle,connectorStyle:r.connectorStyle,connectorHoverStyle:r.connectorHoverStyle,connectorClass:r.connectorClass,connectorHoverClass:r.connectorHoverClass,connectorOverlays:r.connectorOverlays,connector:r.connector,connectorTooltip:r.connectorTooltip}),this._jsPlumb.enabled=!(!1===r.enabled),this._jsPlumb.visible=!0,this.element=e.getElement(r.source),this._jsPlumb.uuid=r.uuid,this._jsPlumb.floatingEndpoint=null;this._jsPlumb.uuid&&(r.endpointsByUUID[this._jsPlumb.uuid]=this),this.elementId=r.elementId,this.dragProxy=r.dragProxy,this._jsPlumb.connectionCost=r.connectionCost,this._jsPlumb.connectionsDirected=r.connectionsDirected,this._jsPlumb.currentAnchorClass="",this._jsPlumb.events={};var a=!0===r.deleteOnEmpty;this.setDeleteOnEmpty=function(e){a=e};var l=function(){var t=i.endpointAnchorClassPrefix+"-"+this._jsPlumb.currentAnchorClass;this._jsPlumb.currentAnchorClass=this.anchor.getCssClass();var n=i.endpointAnchorClassPrefix+(this._jsPlumb.currentAnchorClass?"-"+this._jsPlumb.currentAnchorClass:"");this.removeClass(t),this.addClass(n),e.updateClasses(this.element,n,t)}.bind(this);this.prepareAnchor=function(e){var t=this._jsPlumb.instance.makeAnchor(e,this.elementId,i);return t.bind("anchorChanged",function(e){this.fire("anchorChanged",{endpoint:this,anchor:e}),l()}.bind(this)),t},this.setPreparedAnchor=function(e,t){return this._jsPlumb.instance.continuousAnchorFactory.clear(this.elementId),this.anchor=e,l(),t||this._jsPlumb.instance.repaint(this.elementId),this},this.setAnchor=function(e,t){var n=this.prepareAnchor(e);return this.setPreparedAnchor(n,t),this};var u=function(e){if(this.connections.length>0)for(var t=0;t<this.connections.length;t++)this.connections[t].setHover(e,!1);else this.setHover(e)}.bind(this);this.bind("mouseover",function(){u(!0)}),this.bind("mouseout",function(){u(!1)}),r._transient||this._jsPlumb.instance.anchorManager.add(this,this.elementId),this.prepareEndpoint=function(n,o){var s,a=function(t,n){var r=i.getRenderMode();if(e.Endpoints[r][t])return new e.Endpoints[r][t](n);if(!i.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown endpoint type '"+t+"'"}},l={_jsPlumb:this._jsPlumb.instance,cssClass:r.cssClass,container:r.container,tooltip:r.tooltip,connectorTooltip:r.connectorTooltip,endpoint:this};return t.isString(n)?s=a(n,l):t.isArray(n)?(l=t.merge(n[1],l),s=a(n[0],l)):s=n.clone(),s.clone=function(){return t.isString(n)?a(n,l):t.isArray(n)?(l=t.merge(n[1],l),a(n[0],l)):void 0}.bind(this),s.typeId=o,s},this.setEndpoint=function(e,t){var n=this.prepareEndpoint(e);this.setPreparedEndpoint(n,!0)},this.setPreparedEndpoint=function(e,t){null!=this.endpoint&&(this.endpoint.cleanup(),this.endpoint.destroy()),this.endpoint=e,this.type=this.endpoint.type,this.canvas=this.endpoint.canvas},e.extend(this,r,n),this.isSource=r.isSource||!1,this.isTemporarySource=r.isTemporarySource||!1,this.isTarget=r.isTarget||!1,this.connections=r.connections||[],this.connectorPointerEvents=r["connector-pointer-events"],this.scope=r.scope||i.getDefaultScope(),this.timestamp=null,this.reattachConnections=r.reattach||i.Defaults.ReattachConnections,this.connectionsDetachable=i.Defaults.ConnectionsDetachable,!1!==r.connectionsDetachable&&!1!==r.detachable||(this.connectionsDetachable=!1),this.dragAllowedWhenFull=!1!==r.dragAllowedWhenFull,r.onMaxConnections&&this.bind("maxConnections",r.onMaxConnections),this.addConnection=function(e){this.connections.push(e),this[(this.connections.length>0?"add":"remove")+"Class"](i.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](i.endpointFullClass)},this.detachFromConnection=function(e,t,n){(t=null==t?this.connections.indexOf(e):t)>=0&&(this.connections.splice(t,1),this[(this.connections.length>0?"add":"remove")+"Class"](i.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](i.endpointFullClass)),!n&&a&&0===this.connections.length&&i.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:!0!==n})},this.deleteEveryConnection=function(e){for(var t=this.connections.length,n=0;n<t;n++)i.deleteConnection(this.connections[0],e)},this.detachFrom=function(e,t,n){for(var r=[],o=0;o<this.connections.length;o++)this.connections[o].endpoints[1]!==e&&this.connections[o].endpoints[0]!==e||r.push(this.connections[o]);for(var s=0,a=r.length;s<a;s++)i.deleteConnection(r[0]);return this},this.getElement=function(){return this.element},this.setElement=function(n){var o=this._jsPlumb.instance.getId(n),s=this.elementId;return t.removeWithFunction(r.endpointsByElement[this.elementId],function(e){return e.id===this.id}.bind(this)),this.element=e.getElement(n),this.elementId=i.getId(this.element),i.anchorManager.rehomeEndpoint(this,s,this.element),i.dragManager.endpointAdded(this.element),t.addToList(r.endpointsByElement,o,this),this},this.makeInPlaceCopy=function(){var e=this.anchor.getCurrentLocation({element:this}),t=this.anchor.getOrientation(this),n=this.anchor.getCssClass(),i={bind:function(){},compute:function(){return[e[0],e[1]]},getCurrentLocation:function(){return[e[0],e[1]]},getOrientation:function(){return t},getCssClass:function(){return n}};return s({dropOptions:r.dropOptions,anchor:i,source:this.element,paintStyle:this.getPaintStyle(),endpoint:r.hideOnDrag?"Blank":this.endpoint,_transient:!0,scope:this.scope,reference:this})},this.connectorSelector=function(){return this.connections[0]},this.setStyle=this.setPaintStyle,this.paint=function(e){var t=(e=e||{}).timestamp,n=!(!1===e.recalc);if(!t||this.timestamp!==t){var r=i.updateOffset({elId:this.elementId,timestamp:t}),o=e.offset?e.offset.o:r.o;if(null!=o){var s=e.anchorPoint,a=e.connectorPaintStyle;if(null==s){var l=e.dimensions||r.s,u={xy:[o.left,o.top],wh:l,element:this,timestamp:t};if(n&&this.anchor.isDynamic&&this.connections.length>0){var c=function(e,t){var n=0;if(null!=t)for(var r=0;r<e.connections.length;r++)if(e.connections[r].sourceId===t||e.connections[r].targetId===t){n=r;break}return e.connections[n]}(this,e.elementWithPrecedence),h=c.endpoints[0]===this?1:0,d=0===h?c.sourceId:c.targetId,f=i.getCachedData(d),p=f.o,g=f.s;u.index=0===h?1:0,u.connection=c,u.txy=[p.left,p.top],u.twh=g,u.tElement=c.endpoints[h]}else this.connections.length>0&&(u.connection=this.connections[0]);s=this.anchor.compute(u)}for(var m in this.endpoint.compute(s,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,a||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=t,this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(m)){var v=this._jsPlumb.overlays[m];v.isVisible()&&(this._jsPlumb.overlayPlacements[m]=v.draw(this.endpoint,this._jsPlumb.paintStyleInUse),v.paint(this._jsPlumb.overlayPlacements[m]))}}}},this.getTypeDescriptor=function(){return"endpoint"},this.isVisible=function(){return this._jsPlumb.visible},this.repaint=this.paint;var c=!1;this.initDraggable=function(){if(!c&&e.isDragSupported(this.element)){var n,a={id:null,element:null},l=null,u=!1,h=null,d=function(e,t,n){var r=!1;return{drag:function(){if(r)return r=!1,!0;if(t.element){var i=n.getUIPosition(arguments,n.getZoom());null!=i&&n.setPosition(t.element,i),n.repaint(t.element,i),e.paint({anchorPoint:e.anchor.getCurrentLocation({element:e})})}},stopDrag:function(){r=!0}}}(this,a,i),f=r.dragOptions||{},p=e.dragEvents.start,g=e.dragEvents.stop,m=e.dragEvents.drag,v=e.dragEvents.beforeStart,y=function(t){l=this.connectorSelector();var c=!0;this.isEnabled()||(c=!1),null!=l||this.isSource||this.isTemporarySource||(c=!1),!this.isSource||!this.isFull()||null!=l&&this.dragAllowedWhenFull||(c=!1),null==l||l.isDetachable(this)||(c=!1);var f=i.checkCondition(null==l?"beforeDrag":"beforeStartDetach",{endpoint:this,source:this.element,sourceId:this.elementId,connection:l});if(!1===f?c=!1:"object"==typeof f?e.extend(f,n||{}):f=n||{},!1===c)return i.stopDrag&&i.stopDrag(this.canvas),d.stopDrag(),!1;for(var p=0;p<this.connections.length;p++)this.connections[p].setHover(!1);this.addClass("endpointDrag"),i.setConnectionBeingDragged(!0),l&&!this.isFull()&&this.isSource&&(l=null),i.updateOffset({elId:this.elementId});var g=this._jsPlumb.instance.getOffset(this.canvas),m=this.canvas,v=this._jsPlumb.instance.getSize(this.canvas);!function(e,t,n,r){var i=t.createElement("div",{position:"absolute"});t.appendElement(i);var o=t.getId(i);t.setPosition(i,n),i.style.width=r[0]+"px",i.style.height=r[1]+"px",t.manage(o,i,!0),e.id=o,e.element=i}(a,i,g,v),i.setAttributes(this.canvas,{dragId:a.id,elId:this.elementId});var y=this.dragProxy||this.endpoint;if(null==this.dragProxy&&null!=this.connectionType){var b=this._jsPlumb.instance.deriveEndpointAndAnchorSpec(this.connectionType);b.endpoints[1]&&(y=b.endpoints[1])}var w=this._jsPlumb.instance.makeAnchor("Center");w.isFloating=!0,this._jsPlumb.floatingEndpoint=function(t,n,r,i,o,s,a,l){return a({paintStyle:t,endpoint:r,anchor:new e.FloatingAnchor({reference:n,referenceCanvas:i,jsPlumbInstance:s}),source:o,scope:l})}(this.getPaintStyle(),w,y,this.canvas,a.element,i,s,this.scope);var x=this._jsPlumb.floatingEndpoint.anchor;if(null==l)this.setHover(!1,!1),(l=o({sourceEndpoint:this,targetEndpoint:this._jsPlumb.floatingEndpoint,source:this.element,target:a.element,anchors:[this.anchor,this._jsPlumb.floatingEndpoint.anchor],paintStyle:r.connectorStyle,hoverPaintStyle:r.connectorHoverStyle,connector:r.connector,overlays:r.connectorOverlays,type:this.connectionType,cssClass:this.connectorClass,hoverClass:this.connectorHoverClass,scope:r.scope,data:f})).pending=!0,l.addClass(i.draggingClass),this._jsPlumb.floatingEndpoint.addClass(i.draggingClass),this._jsPlumb.floatingEndpoint.anchor=x,i.fire("connectionDrag",l),i.anchorManager.newConnection(l);else{u=!0,l.setHover(!1);var C=l.endpoints[0].id===this.id?0:1;this.detachFromConnection(l,null,!0);var k=i.getDragScope(m);i.setAttribute(this.canvas,"originalScope",k),i.fire("connectionDrag",l),0===C?(h=[l.source,l.sourceId,m,k],i.anchorManager.sourceChanged(l.endpoints[C].elementId,a.id,l,a.element)):(h=[l.target,l.targetId,m,k],l.target=a.element,l.targetId=a.id,i.anchorManager.updateOtherEndpoint(l.sourceId,l.endpoints[C].elementId,l.targetId,l)),l.suspendedEndpoint=l.endpoints[C],l.suspendedElement=l.endpoints[C].getElement(),l.suspendedElementId=l.endpoints[C].elementId,l.suspendedElementType=0===C?"source":"target",l.suspendedEndpoint.setHover(!1),this._jsPlumb.floatingEndpoint.referenceEndpoint=l.suspendedEndpoint,l.endpoints[C]=this._jsPlumb.floatingEndpoint,l.addClass(i.draggingClass),this._jsPlumb.floatingEndpoint.addClass(i.draggingClass)}i.registerFloatingConnection(a,l,this._jsPlumb.floatingEndpoint),i.currentlyDragging=!0}.bind(this),b=function(){if(i.setConnectionBeingDragged(!1),l&&null!=l.endpoints){var e=i.getDropEvent(arguments),t=i.getFloatingAnchorIndex(l);if(l.endpoints[0===t?1:0].anchor.locked=!1,l.removeClass(i.draggingClass),this._jsPlumb&&(l.deleteConnectionNow||l.endpoints[t]===this._jsPlumb.floatingEndpoint)&&u&&l.suspendedEndpoint){0===t?(l.floatingElement=l.source,l.floatingId=l.sourceId,l.floatingEndpoint=l.endpoints[0],l.floatingIndex=0,l.source=h[0],l.sourceId=h[1]):(l.floatingElement=l.target,l.floatingId=l.targetId,l.floatingEndpoint=l.endpoints[1],l.floatingIndex=1,l.target=h[0],l.targetId=h[1]);var n=this._jsPlumb.floatingEndpoint;i.setDragScope(h[2],h[3]),l.endpoints[t]=l.suspendedEndpoint,l.isReattach()||l._forceReattach||l._forceDetach||!i.deleteConnection(l,{originalEvent:e})?(l.setHover(!1),l._forceDetach=null,l._forceReattach=null,this._jsPlumb.floatingEndpoint.detachFromConnection(l),l.suspendedEndpoint.addConnection(l),1===t?i.anchorManager.updateOtherEndpoint(l.sourceId,l.floatingId,l.targetId,l):i.anchorManager.sourceChanged(l.floatingId,l.sourceId,l,l.source),i.repaint(h[1])):i.deleteObject({endpoint:n})}this.deleteAfterDragStop?i.deleteObject({endpoint:this}):this._jsPlumb&&this.paint({recalc:!1}),i.fire("connectionDragStop",l,e),l.pending&&i.fire("connectionAborted",l,e),i.currentlyDragging=!1,l.suspendedElement=null,l.suspendedEndpoint=null,l=null}a&&a.element&&i.remove(a.element,!1,!1),this._jsPlumb&&(this.canvas.style.visibility="visible",this.anchor.locked=!1,this._jsPlumb.floatingEndpoint=null)}.bind(this);(f=e.extend({},f)).scope=this.scope||f.scope,f[v]=t.wrap(f[v],function(e){n=e.e.payload||{}},!1),f[p]=t.wrap(f[p],y,!1),f[m]=t.wrap(f[m],d.drag),f[g]=t.wrap(f[g],b),f.multipleDrop=!1,f.canDrag=function(){return this.isSource||this.isTemporarySource||this.connections.length>0}.bind(this),i.initDraggable(this.canvas,f,"internal"),this.canvas._jsPlumbRelatedElement=this.element,c=!0}};var h=r.endpoint||this._jsPlumb.instance.Defaults.Endpoint||e.Defaults.Endpoint;this.setEndpoint(h,!0);var d=r.anchor?r.anchor:r.anchors?r.anchors:i.Defaults.Anchor||"Top";this.setAnchor(d,!0);var f=["default",r.type||""].join(" ");this.addType(f,r.data,!0),this.canvas=this.endpoint.canvas,this.canvas._jsPlumb=this,this.initDraggable();var p=function(n,o,s,a){if(e.isDropSupported(this.element)){var l=r.dropOptions||i.Defaults.DropOptions||e.Defaults.DropOptions;(l=e.extend({},l)).scope=l.scope||this.scope;var u=e.dragEvents.drop,c=e.dragEvents.over,h=e.dragEvents.out,d=this,f=i.EndpointDropHandler({getEndpoint:function(){return d},jsPlumb:i,enabled:function(){return null==s||s.isEnabled()},isFull:function(){return s.isFull()},element:this.element,elementId:this.elementId,isSource:this.isSource,isTarget:this.isTarget,addClass:function(e){d.addClass(e)},removeClass:function(e){d.removeClass(e)},isDropAllowed:function(){return d.isDropAllowed.apply(d,arguments)},reference:a,isRedrop:function(e,t){return e.suspendedEndpoint&&t.reference&&e.suspendedEndpoint.id===t.reference.id}});l[u]=t.wrap(l[u],f,!0),l[c]=t.wrap(l[c],function(){var t=e.getDragObject(arguments),n=i.getAttribute(e.getElement(t),"dragId"),r=i.getFloatingConnectionFor(n);if(null!=r){var o=i.getFloatingAnchorIndex(r);if(this.isTarget&&0!==o||r.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===r.suspendedEndpoint.id){var s=i.checkCondition("checkDropAllowed",{sourceEndpoint:r.endpoints[o],targetEndpoint:this,connection:r});this[(s?"add":"remove")+"Class"](i.endpointDropAllowedClass),this[(s?"remove":"add")+"Class"](i.endpointDropForbiddenClass),r.endpoints[o].anchor.over(this.anchor,this)}}}.bind(this)),l[h]=t.wrap(l[h],function(){var t=e.getDragObject(arguments),n=null==t?null:i.getAttribute(e.getElement(t),"dragId"),r=n?i.getFloatingConnectionFor(n):null;if(null!=r){var o=i.getFloatingAnchorIndex(r);(this.isTarget&&0!==o||r.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===r.suspendedEndpoint.id)&&(this.removeClass(i.endpointDropAllowedClass),this.removeClass(i.endpointDropForbiddenClass),r.endpoints[o].anchor.out())}}.bind(this)),i.initDroppable(n,l,"internal",o)}}.bind(this);return this.anchor.isFloating||p(this.canvas,!(r._transient||this.anchor.isFloating),this,r.reference),this},t.extend(e.Endpoint,e.OverlayCapableJsPlumbUIComponent,{setVisible:function(e,t,n){if(this._jsPlumb.visible=e,this.canvas&&(this.canvas.style.display=e?"block":"none"),this[e?"showOverlays":"hideOverlays"](),!t)for(var r=0;r<this.connections.length;r++)if(this.connections[r].setVisible(e),!n){var i=this===this.connections[r].endpoints[0]?1:0;1===this.connections[r].endpoints[i].connections.length&&this.connections[r].endpoints[i].setVisible(e,!0,!0)}},getAttachedElements:function(){return this.connections},applyType:function(t,r){this.setPaintStyle(t.endpointStyle||t.paintStyle,r),this.setHoverPaintStyle(t.endpointHoverStyle||t.hoverPaintStyle,r),null!=t.maxConnections&&(this._jsPlumb.maxConnections=t.maxConnections),t.scope&&(this.scope=t.scope),e.extend(this,t,n),null!=t.cssClass&&this.canvas&&this._jsPlumb.instance.addClass(this.canvas,t.cssClass),e.OverlayCapableJsPlumbUIComponent.applyType(this,t)},isEnabled:function(){return this._jsPlumb.enabled},setEnabled:function(e){this._jsPlumb.enabled=e},cleanup:function(){var t=this._jsPlumb.instance.endpointAnchorClassPrefix+(this._jsPlumb.currentAnchorClass?"-"+this._jsPlumb.currentAnchorClass:"");e.removeClass(this.element,t),this.anchor=null,this.endpoint.cleanup(!0),this.endpoint.destroy(),this.endpoint=null,this._jsPlumb.instance.destroyDraggable(this.canvas,"internal"),this._jsPlumb.instance.destroyDroppable(this.canvas,"internal")},setHover:function(e){this.endpoint&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&this.endpoint.setHover(e)},isFull:function(){return 0===this._jsPlumb.maxConnections||!(this.isFloating()||this._jsPlumb.maxConnections<0||this.connections.length<this._jsPlumb.maxConnections)},isFloating:function(){return null!=this.anchor&&this.anchor.isFloating},isConnectedTo:function(e){var t=!1;if(e)for(var n=0;n<this.connections.length;n++)if(this.connections[n].endpoints[1]===e||this.connections[n].endpoints[0]===e){t=!0;break}return t},getConnectionCost:function(){return this._jsPlumb.connectionCost},setConnectionCost:function(e){this._jsPlumb.connectionCost=e},areConnectionsDirected:function(){return this._jsPlumb.connectionsDirected},setConnectionsDirected:function(e){this._jsPlumb.connectionsDirected=e},setElementId:function(e){this.elementId=e,this.anchor.elementId=e},setReferenceElement:function(t){this.element=e.getElement(t)},setDragAllowedWhenFull:function(e){this.dragAllowedWhenFull=e},equals:function(e){return this.anchor.equals(e.anchor)},getUuid:function(){return this._jsPlumb.uuid},computeAnchor:function(e){return this.anchor.compute(e)}}),this.jsPlumbInstance.prototype.EndpointDropHandler=function(e){return function(n){var r=e.jsPlumb;e.removeClass(r.endpointDropAllowedClass),e.removeClass(r.endpointDropForbiddenClass);var i=r.getDropEvent(arguments),o=r.getDragObject(arguments),s=r.getAttribute(o,"dragId"),a=(r.getAttribute(o,"elId"),r.getAttribute(o,"originalScope")),l=r.getFloatingConnectionFor(s);if(null!=l){var u=null!=l.suspendedEndpoint;if(!u||null!=l.suspendedEndpoint._jsPlumb){var c=e.getEndpoint(l);if(null!=c){if(e.isRedrop(l,e))return l._forceReattach=!0,l.setHover(!1),void(e.maybeCleanup&&e.maybeCleanup(c));var h=r.getFloatingAnchorIndex(l);if(0===h&&!e.isSource||1===h&&!e.isTarget)e.maybeCleanup&&e.maybeCleanup(c);else{e.onDrop&&e.onDrop(l),a&&r.setDragScope(o,a);var d=e.isFull(n);if(d&&c.fire("maxConnections",{endpoint:this,connection:l,maxConnections:c._jsPlumb.maxConnections},i),!d&&e.enabled()){var f=!0;0===h?(l.floatingElement=l.source,l.floatingId=l.sourceId,l.floatingEndpoint=l.endpoints[0],l.floatingIndex=0,l.source=e.element,l.sourceId=e.elementId):(l.floatingElement=l.target,l.floatingId=l.targetId,l.floatingEndpoint=l.endpoints[1],l.floatingIndex=1,l.target=e.element,l.targetId=e.elementId),u&&l.suspendedEndpoint.id!==c.id&&(l.isDetachAllowed(l)&&l.endpoints[h].isDetachAllowed(l)&&l.suspendedEndpoint.isDetachAllowed(l)&&r.checkCondition("beforeDetach",l)||(f=!1));var p=function(n){l.endpoints[h].detachFromConnection(l),l.suspendedEndpoint&&l.suspendedEndpoint.detachFromConnection(l),l.endpoints[h]=c,c.addConnection(l);var o=c.getParameters();for(var s in o)l.setParameter(s,o[s]);if(u){var a=l.suspendedEndpoint.elementId;r.fireMoveEvent({index:h,originalSourceId:0===h?a:l.sourceId,newSourceId:0===h?c.elementId:l.sourceId,originalTargetId:1===h?a:l.targetId,newTargetId:1===h?c.elementId:l.targetId,originalSourceEndpoint:0===h?l.suspendedEndpoint:l.endpoints[0],newSourceEndpoint:0===h?c:l.endpoints[0],originalTargetEndpoint:1===h?l.suspendedEndpoint:l.endpoints[1],newTargetEndpoint:1===h?c:l.endpoints[1],connection:l},i)}else o.draggable&&r.initDraggable(this.element,e.dragOptions,"internal",r);(1===h?r.anchorManager.updateOtherEndpoint(l.sourceId,l.floatingId,l.targetId,l):r.anchorManager.sourceChanged(l.floatingId,l.sourceId,l,l.source),l.endpoints[0].finalEndpoint)&&(l.endpoints[0].detachFromConnection(l),l.endpoints[0]=l.endpoints[0].finalEndpoint,l.endpoints[0].addConnection(l));t.isObject(n)&&l.mergeData(n),r.finaliseConnection(l,null,i,!1),l.setHover(!1)}.bind(this);if(f=f&&e.isDropAllowed(l.sourceId,l.targetId,l.scope,l,c))return p(f),!0;l.suspendedEndpoint&&(l.endpoints[h]=l.suspendedEndpoint,l.setHover(!1),l._forceDetach=!0,0===h?(l.source=l.suspendedEndpoint.element,l.sourceId=l.suspendedEndpoint.elementId):(l.target=l.suspendedEndpoint.element,l.targetId=l.suspendedEndpoint.elementId),l.suspendedEndpoint.addConnection(l),1===h?r.anchorManager.updateOtherEndpoint(l.sourceId,l.floatingId,l.targetId,l):r.anchorManager.sourceChanged(l.floatingId,l.sourceId,l,l.source),r.repaint(l.sourceId),l._forceDetach=!1)}e.maybeCleanup&&e.maybeCleanup(c),r.currentlyDragging=!1}}}}}}}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this,t=e.jsPlumb,n=e.jsPlumbUtil,r=function(e,n,r,i,o){if(!e.Defaults.DoNotThrowErrors&&null==t.Connectors[n][r])throw{msg:"jsPlumb: unknown connector type '"+r+"'"};return new t.Connectors[n][r](i,o)},i=function(e,t,n){return e?n.makeAnchor(e,t,n):null},o=function(e,t,r,i){null!=t&&(t._jsPlumbConnections=t._jsPlumbConnections||{},i?delete t._jsPlumbConnections[e.id]:t._jsPlumbConnections[e.id]=!0,n.isEmpty(t._jsPlumbConnections)?r.removeClass(t,r.connectedClass):r.addClass(t,r.connectedClass))};t.Connection=function(e){var r=e.newEndpoint;this.id=e.id,this.connector=null,this.idPrefix="_jsplumb_c_",this.defaultLabelLocation=.5,this.defaultOverlayKeys=["Overlays","ConnectionOverlays"],this.previousConnection=e.previousConnection,this.source=t.getElement(e.source),this.target=t.getElement(e.target),t.OverlayCapableJsPlumbUIComponent.apply(this,arguments),e.sourceEndpoint?(this.source=e.sourceEndpoint.getElement(),this.sourceId=e.sourceEndpoint.elementId):this.sourceId=this._jsPlumb.instance.getId(this.source),e.targetEndpoint?(this.target=e.targetEndpoint.getElement(),this.targetId=e.targetEndpoint.elementId):this.targetId=this._jsPlumb.instance.getId(this.target),this.scope=e.scope,this.endpoints=[],this.endpointStyles=[];var i=this._jsPlumb.instance;i.manage(this.sourceId,this.source),i.manage(this.targetId,this.target),this._jsPlumb.visible=!0,this._jsPlumb.editable=!0===e.editable,this._jsPlumb.params={cssClass:e.cssClass,container:e.container,"pointer-events":e["pointer-events"],editorParams:e.editorParams,overlays:e.overlays},this._jsPlumb.lastPaintedAt=null,this.bind("mouseover",function(){this.setHover(!0)}.bind(this)),this.bind("mouseout",function(){this.setHover(!1)}.bind(this)),this.editableRequested=!1!==e.editable,this.setEditable=function(e){return!!this.connector&&this.connector.setEditable(e)},this.isEditable=function(){return!!this.connector&&this.connector.isEditable()},this.isEditing=function(){return!!this.connector&&this.connector.isEditing()},this.makeEndpoint=function(t,n,o,s){return o=o||this._jsPlumb.instance.getId(n),this.prepareEndpoint(i,r,this,s,t?0:1,e,n,o)},e.type&&(e.endpoints=e.endpoints||this._jsPlumb.instance.deriveEndpointAndAnchorSpec(e.type).endpoints);var o=this.makeEndpoint(!0,this.source,this.sourceId,e.sourceEndpoint),s=this.makeEndpoint(!1,this.target,this.targetId,e.targetEndpoint);o&&n.addToList(e.endpointsByElement,this.sourceId,o),s&&n.addToList(e.endpointsByElement,this.targetId,s),this.scope||(this.scope=this.endpoints[0].scope),null!=e.deleteEndpointsOnEmpty&&(this.endpoints[0].setDeleteOnEmpty(e.deleteEndpointsOnEmpty),this.endpoints[1].setDeleteOnEmpty(e.deleteEndpointsOnEmpty));var a=i.Defaults.ConnectionsDetachable;!1===e.detachable&&(a=!1),!1===this.endpoints[0].connectionsDetachable&&(a=!1),!1===this.endpoints[1].connectionsDetachable&&(a=!1);var l=e.reattach||this.endpoints[0].reattachConnections||this.endpoints[1].reattachConnections||i.Defaults.ReattachConnections;this.appendToDefaultType({detachable:a,reattach:l,paintStyle:this.endpoints[0].connectorStyle||this.endpoints[1].connectorStyle||e.paintStyle||i.Defaults.PaintStyle||t.Defaults.PaintStyle,hoverPaintStyle:this.endpoints[0].connectorHoverStyle||this.endpoints[1].connectorHoverStyle||e.hoverPaintStyle||i.Defaults.HoverPaintStyle||t.Defaults.HoverPaintStyle});var u=i.getSuspendedAt();if(!i.isSuspendDrawing()){var c=i.getCachedData(this.sourceId),h=c.o,d=c.s,f=i.getCachedData(this.targetId),p=f.o,g=f.s,m=u||i.timestamp(),v=this.endpoints[0].anchor.compute({xy:[h.left,h.top],wh:d,element:this.endpoints[0],elementId:this.endpoints[0].elementId,txy:[p.left,p.top],twh:g,tElement:this.endpoints[1],timestamp:m});this.endpoints[0].paint({anchorLoc:v,timestamp:m}),v=this.endpoints[1].anchor.compute({xy:[p.left,p.top],wh:g,element:this.endpoints[1],elementId:this.endpoints[1].elementId,txy:[h.left,h.top],twh:d,tElement:this.endpoints[0],timestamp:m}),this.endpoints[1].paint({anchorLoc:v,timestamp:m})}this.getTypeDescriptor=function(){return"connection"},this.getAttachedElements=function(){return this.endpoints},this.isDetachable=function(){return!0===this._jsPlumb.detachable},this.setDetachable=function(e){this._jsPlumb.detachable=!0===e},this.isReattach=function(){return!0===this._jsPlumb.reattach||!0===this.endpoints[0].reattachConnections||!0===this.endpoints[1].reattachConnections},this.setReattach=function(e){this._jsPlumb.reattach=!0===e},this._jsPlumb.cost=e.cost||this.endpoints[0].getConnectionCost(),this._jsPlumb.directed=e.directed,null==e.directed&&(this._jsPlumb.directed=this.endpoints[0].areConnectionsDirected());var y=t.extend({},this.endpoints[1].getParameters());t.extend(y,this.endpoints[0].getParameters()),t.extend(y,this.getParameters()),this.setParameters(y),this.setConnector(this.endpoints[0].connector||this.endpoints[1].connector||e.connector||i.Defaults.Connector||t.Defaults.Connector,!0),e.geometry&&this.connector.setGeometry(e.geometry);var b=null!=e.data&&n.isObject(e.data)?e.data:{};this.getData=function(){return b},this.setData=function(e){b=e||{}},this.mergeData=function(e){b=t.extend(b,e)};var w=["default",this.endpoints[0].connectionType,this.endpoints[1].connectionType,e.type].join(" ");/[^\s]/.test(w)&&this.addType(w,e.data,!0),this.updateConnectedClass()},n.extend(t.Connection,t.OverlayCapableJsPlumbUIComponent,{applyType:function(e,n,r){var i=null;null!=e.connector&&(null==(i=this.getCachedTypeItem("connector",r.connector))&&(i=this.prepareConnector(e.connector,r.connector),this.cacheTypeItem("connector",i,r.connector)),this.setPreparedConnector(i)),null!=e.detachable&&this.setDetachable(e.detachable),null!=e.reattach&&this.setReattach(e.reattach),e.scope&&(this.scope=e.scope),null!=e.cssClass&&this.canvas&&this._jsPlumb.instance.addClass(this.canvas,e.cssClass);var o=null;e.anchor?null==(o=this.getCachedTypeItem("anchors",r.anchor))&&(o=[this._jsPlumb.instance.makeAnchor(e.anchor),this._jsPlumb.instance.makeAnchor(e.anchor)],this.cacheTypeItem("anchors",o,r.anchor)):e.anchors&&null==(o=this.getCachedTypeItem("anchors",r.anchors))&&(o=[this._jsPlumb.instance.makeAnchor(e.anchors[0]),this._jsPlumb.instance.makeAnchor(e.anchors[1])],this.cacheTypeItem("anchors",o,r.anchors)),null!=o&&(this.endpoints[0].anchor=o[0],this.endpoints[1].anchor=o[1],this.endpoints[1].anchor.isDynamic&&this._jsPlumb.instance.repaint(this.endpoints[1].elementId)),t.OverlayCapableJsPlumbUIComponent.applyType(this,e)},addClass:function(e,t){t&&(this.endpoints[0].addClass(e),this.endpoints[1].addClass(e),this.suspendedEndpoint&&this.suspendedEndpoint.addClass(e)),this.connector&&this.connector.addClass(e)},removeClass:function(e,t){t&&(this.endpoints[0].removeClass(e),this.endpoints[1].removeClass(e),this.suspendedEndpoint&&this.suspendedEndpoint.removeClass(e)),this.connector&&this.connector.removeClass(e)},isVisible:function(){return this._jsPlumb.visible},setVisible:function(e){this._jsPlumb.visible=e,this.connector&&this.connector.setVisible(e),this.repaint()},cleanup:function(){this.updateConnectedClass(!0),this.endpoints=null,this.source=null,this.target=null,null!=this.connector&&(this.connector.cleanup(!0),this.connector.destroy(!0)),this.connector=null},updateConnectedClass:function(e){this._jsPlumb&&(o(this,this.source,this._jsPlumb.instance,e),o(this,this.target,this._jsPlumb.instance,e))},setHover:function(t){this.connector&&this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged()&&(this.connector.setHover(t),e.jsPlumb[t?"addClass":"removeClass"](this.source,this._jsPlumb.instance.hoverSourceClass),e.jsPlumb[t?"addClass":"removeClass"](this.target,this._jsPlumb.instance.hoverTargetClass))},getUuids:function(){return[this.endpoints[0].getUuid(),this.endpoints[1].getUuid()]},getCost:function(){return this._jsPlumb?this._jsPlumb.cost:-1/0},setCost:function(e){this._jsPlumb.cost=e},isDirected:function(){return this._jsPlumb.directed},getConnector:function(){return this.connector},getGeometry:function(){return this.connector?this.connector.getGeometry():null},setGeometry:function(e){this.connector&&this.connector.setGeometry(e)},prepareConnector:function(e,t){var i,o={_jsPlumb:this._jsPlumb.instance,cssClass:(this._jsPlumb.params.cssClass||"")+(this.isEditable()?this._jsPlumb.instance.editableConnectorClass:""),container:this._jsPlumb.params.container,"pointer-events":this._jsPlumb.params["pointer-events"],editable:this.editableRequested},s=this._jsPlumb.instance.getRenderMode();return n.isString(e)?i=r(this._jsPlumb.instance,s,e,o,this):n.isArray(e)&&(i=1===e.length?r(this._jsPlumb.instance,s,e[0],o,this):r(this._jsPlumb.instance,s,e[0],n.merge(e[1],o),this)),null!=t&&(i.typeId=t),i},setPreparedConnector:function(e,t,n,r){if(this.connector!==e){var i,o="";if(null!=this.connector&&(o=(i=this.connector).getClass(),this.connector.cleanup(),this.connector.destroy()),this.connector=e,r&&this.cacheTypeItem("connector",e,r),this.canvas=this.connector.canvas,this.bgCanvas=this.connector.bgCanvas,this.addClass(o),this.canvas&&(this.canvas._jsPlumb=this),this.bgCanvas&&(this.bgCanvas._jsPlumb=this),null!=i)for(var s=this.getOverlays(),a=0;a<s.length;a++)s[a].transfer&&s[a].transfer(this.connector);n||this.setListenerComponent(this.connector),t||this.repaint()}},setConnector:function(e,t,n,r){var i=this.prepareConnector(e,r);this.setPreparedConnector(i,t,n,r)},paint:function(e){if(!this._jsPlumb.instance.isSuspendDrawing()&&this._jsPlumb.visible){var t=(e=e||{}).timestamp,n=this.targetId,r=this.sourceId;if(null==t||t!==this._jsPlumb.lastPaintedAt){var i=this._jsPlumb.instance.updateOffset({elId:r}).o,o=this._jsPlumb.instance.updateOffset({elId:n}).o,s=this.endpoints[0],a=this.endpoints[1],l=s.anchor.getCurrentLocation({xy:[i.left,i.top],wh:[i.width,i.height],element:s,timestamp:t}),u=a.anchor.getCurrentLocation({xy:[o.left,o.top],wh:[o.width,o.height],element:a,timestamp:t});this.connector.resetBounds(),this.connector.compute({sourcePos:l,targetPos:u,sourceEndpoint:this.endpoints[0],targetEndpoint:this.endpoints[1],"stroke-width":this._jsPlumb.paintStyleInUse.strokeWidth,sourceInfo:i,targetInfo:o});var c={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};for(var h in this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(h)){var d=this._jsPlumb.overlays[h];d.isVisible()&&(this._jsPlumb.overlayPlacements[h]=d.draw(this.connector,this._jsPlumb.paintStyleInUse,this.getAbsoluteOverlayPosition(d)),c.minX=Math.min(c.minX,this._jsPlumb.overlayPlacements[h].minX),c.maxX=Math.max(c.maxX,this._jsPlumb.overlayPlacements[h].maxX),c.minY=Math.min(c.minY,this._jsPlumb.overlayPlacements[h].minY),c.maxY=Math.max(c.maxY,this._jsPlumb.overlayPlacements[h].maxY))}var f=parseFloat(this._jsPlumb.paintStyleInUse.strokeWidth||1)/2,p=parseFloat(this._jsPlumb.paintStyleInUse.strokeWidth||0),g={xmin:Math.min(this.connector.bounds.minX-(f+p),c.minX),ymin:Math.min(this.connector.bounds.minY-(f+p),c.minY),xmax:Math.max(this.connector.bounds.maxX+(f+p),c.maxX),ymax:Math.max(this.connector.bounds.maxY+(f+p),c.maxY)};for(var m in this.connector.paint(this._jsPlumb.paintStyleInUse,null,g),this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(m)){var v=this._jsPlumb.overlays[m];v.isVisible()&&v.paint(this._jsPlumb.overlayPlacements[m],g)}}this._jsPlumb.lastPaintedAt=t}},repaint:function(e){e=e||{},this.paint({elId:this.sourceId,recalc:!(!1===e.recalc),timestamp:e.timestamp})},prepareEndpoint:function(e,n,r,o,s,a,l,u){var c;if(o)r.endpoints[s]=o,o.addConnection(r);else{a.endpoints||(a.endpoints=[null,null]);var h=a.endpoints[s]||a.endpoint||e.Defaults.Endpoints[s]||t.Defaults.Endpoints[s]||e.Defaults.Endpoint||t.Defaults.Endpoint;a.endpointStyles||(a.endpointStyles=[null,null]),a.endpointHoverStyles||(a.endpointHoverStyles=[null,null]);var d=a.endpointStyles[s]||a.endpointStyle||e.Defaults.EndpointStyles[s]||t.Defaults.EndpointStyles[s]||e.Defaults.EndpointStyle||t.Defaults.EndpointStyle;null==d.fill&&null!=a.paintStyle&&(d.fill=a.paintStyle.stroke),null==d.outlineStroke&&null!=a.paintStyle&&(d.outlineStroke=a.paintStyle.outlineStroke),null==d.outlineWidth&&null!=a.paintStyle&&(d.outlineWidth=a.paintStyle.outlineWidth);var f=a.endpointHoverStyles[s]||a.endpointHoverStyle||e.Defaults.EndpointHoverStyles[s]||t.Defaults.EndpointHoverStyles[s]||e.Defaults.EndpointHoverStyle||t.Defaults.EndpointHoverStyle;null!=a.hoverPaintStyle&&(null==f&&(f={}),null==f.fill&&(f.fill=a.hoverPaintStyle.stroke));var p=a.anchors?a.anchors[s]:a.anchor?a.anchor:i(e.Defaults.Anchors[s],u,e)||i(t.Defaults.Anchors[s],u,e)||i(e.Defaults.Anchor,u,e)||i(t.Defaults.Anchor,u,e);c=n({paintStyle:d,hoverPaintStyle:f,endpoint:h,connections:[r],uuid:a.uuids?a.uuids[s]:null,anchor:p,source:l,scope:a.scope,reattach:a.reattach||e.Defaults.ReattachConnections,detachable:a.detachable||e.Defaults.ConnectionsDetachable}),null==o&&c.setDeleteOnEmpty(!0),r.endpoints[s]=c,!1===a.drawEndpoints&&c.setVisible(!1,!0,!0)}return c}})}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumbUtil,t=this.jsPlumb;t.AnchorManager=function(n){var r={},i={},o={},s={},a="identity",l=["left","top","right","bottom"],u={},c=this,h={},d=n.jsPlumbInstance,f={},p=function(e,t,n,r,i,o){if(e===t)return{orientation:a,a:["top","top"]};var s=Math.atan2(r.centery-n.centery,r.centerx-n.centerx),u=Math.atan2(n.centery-r.centery,n.centerx-r.centerx),c=[],h={};!function(e,t){for(var n=0;n<e.length;n++)h[e[n]]={left:[t[n].left,t[n].centery],right:[t[n].right,t[n].centery],top:[t[n].centerx,t[n].top],bottom:[t[n].centerx,t[n].bottom]}}(["source","target"],[n,r]);for(var d=0;d<l.length;d++)for(var f=0;f<l.length;f++)c.push({source:l[d],target:l[f],dist:Biltong.lineLength(h.source[l[d]],h.target[l[f]])});c.sort(function(e,t){return e.dist<t.dist?-1:e.dist>t.dist?1:0});for(var p=c[0].source,g=c[0].target,m=0;m<c.length&&(p=!i.isContinuous||i.isEdgeSupported(c[m].source)?c[m].source:null,g=!o.isContinuous||o.isEdgeSupported(c[m].target)?c[m].target:null,null==p||null==g);m++);return i.isContinuous&&i.setCurrentFace(p),o.isContinuous&&o.setCurrentFace(g),{a:[p,g],theta:s,theta2:u}},g=function(e){return function(t,n){return!1===(e?t[0][0]<n[0][0]:t[0][0]>n[0][0])?-1:1}},m={top:function(e,t){return e[0]>t[0]?1:-1},right:g(!0),bottom:g(!0),left:function(e,t){return(e[0][0]<0?-Math.PI-e[0][0]:Math.PI-e[0][0])>(t[0][0]<0?-Math.PI-t[0][0]:Math.PI-t[0][0])?1:-1}},v=function(e,t){var n=d.getCachedData(e),r=n.s,o=n.o,a=function(t,n,r,o,a,l,u){if(o.length>0)for(var c=function(e,t,n,r,i,o,s){for(var a=[],l=t[i?0:1]/(r.length+1),u=0;u<r.length;u++){var c=(u+1)*l,h=o*t[i?1:0];s&&(c=t[i?0:1]-c);var d=i?c:h,f=n[0]+d,p=d/t[0],g=i?h:c,m=n[1]+g,v=g/t[1];a.push([f,m,p,v,r[u][1],r[u][2]])}return a}(0,n,r,(v=m[t],o.sort(v)),a,l,"right"===t||"top"===t),h=function(e,t){i[e.id]=[t[0],t[1],t[2],t[3]],s[e.id]=u},d=0;d<c.length;d++){var f=c[d][4],p=f.endpoints[0].elementId===e,g=f.endpoints[1].elementId===e;p&&h(f.endpoints[0],c[d]),g&&h(f.endpoints[1],c[d])}var v};a("bottom",r,[o.left,o.top],t.bottom,!0,1,[0,1]),a("top",r,[o.left,o.top],t.top,!0,0,[0,-1]),a("left",r,[o.left,o.top],t.left,!1,0,[-1,0]),a("right",r,[o.left,o.top],t.right,!1,1,[1,0])};this.reset=function(){r={},u={},h={}},this.addFloatingConnection=function(e,t){f[e]=t},this.removeFloatingConnection=function(e){delete f[e]},this.newConnection=function(n){var r=n.sourceId,i=n.targetId,o=n.endpoints,s=!0,a=function(a,l,c,h,d){r===i&&c.isContinuous&&(n._jsPlumb.instance.removeElement(o[1].canvas),s=!1),e.addToList(u,h,[d,l,c.constructor===t.DynamicAnchor])};a(0,o[0],o[0].anchor,i,n),s&&a(0,o[1],o[1].anchor,r,n)};var y=function(t){!function(t,n){if(t){var r=function(e){return e[4]===n};e.removeWithFunction(t.top,r),e.removeWithFunction(t.left,r),e.removeWithFunction(t.bottom,r),e.removeWithFunction(t.right,r)}}(h[t.elementId],t.id)};this.connectionDetached=function(t,n){var r=t.connection||t,i=t.sourceId,o=t.targetId,s=r.endpoints,a=function(t,n,r,i,o){e.removeWithFunction(u[i],function(e){return e[0].id===o.id})};a(0,s[1],s[1].anchor,i,r),a(0,s[0],s[0].anchor,o,r),r.floatingId&&(a(r.floatingIndex,r.floatingEndpoint,r.floatingEndpoint.anchor,r.floatingId,r),y(r.floatingEndpoint)),y(r.endpoints[0]),y(r.endpoints[1]),n||(c.redraw(r.sourceId),r.targetId!==r.sourceId&&c.redraw(r.targetId))},this.add=function(t,n){e.addToList(r,n,t)},this.changeId=function(e,t){u[t]=u[e],r[t]=r[e],delete u[e],delete r[e]},this.getConnectionsFor=function(e){return u[e]||[]},this.getEndpointsFor=function(e){return r[e]||[]},this.deleteEndpoint=function(t){e.removeWithFunction(r[t.elementId],function(e){return e.id===t.id}),y(t)},this.clearFor=function(e){delete r[e],r[e]=[]};var b=function(t,r,i,o,s,a,l,u,c,h,d,f){var p,g,m=-1,v=o.endpoints[l],y=v.id,b=[1,0][l],w=[[r,i],o,s,a,y],x=t[c],C=v._continuousAnchorEdge?t[v._continuousAnchorEdge]:null;if(C){var k=e.findWithFunction(C,function(e){return e[4]===y});if(-1!==k)for(C.splice(k,1),p=0;p<C.length;p++)g=C[p][1],e.addWithFunction(d,g,function(e){return e.id===g.id}),e.addWithFunction(f,C[p][1].endpoints[l],function(e){return e.id===g.endpoints[l].id}),e.addWithFunction(f,C[p][1].endpoints[b],function(e){return e.id===g.endpoints[b].id})}for(p=0;p<x.length;p++)g=x[p][1],1===n.idx&&x[p][3]===a&&-1===m&&(m=p),e.addWithFunction(d,g,function(e){return e.id===g.id}),e.addWithFunction(f,x[p][1].endpoints[l],function(e){return e.id===g.endpoints[l].id}),e.addWithFunction(f,x[p][1].endpoints[b],function(e){return e.id===g.endpoints[b].id});var A=u?-1!==m?m:0:x.length;x.splice(A,0,w),v._continuousAnchorEdge=c};this.updateOtherEndpoint=function(n,r,i,o){var s=e.findWithFunction(u[n],function(e){return e[0].id===o.id}),a=e.findWithFunction(u[r],function(e){return e[0].id===o.id});-1!==s&&(u[n][s][0]=o,u[n][s][1]=o.endpoints[1],u[n][s][2]=o.endpoints[1].anchor.constructor===t.DynamicAnchor),a>-1&&(u[r].splice(a,1),e.addToList(u,i,[o,o.endpoints[0],o.endpoints[0].anchor.constructor===t.DynamicAnchor])),o.updateConnectedClass()},this.sourceChanged=function(n,r,i,o){if(n!==r){i.sourceId=r,i.source=o,e.removeWithFunction(u[n],function(e){return e[0].id===i.id});var s=e.findWithFunction(u[i.targetId],function(e){return e[0].id===i.id});s>-1&&(u[i.targetId][s][0]=i,u[i.targetId][s][1]=i.endpoints[0],u[i.targetId][s][2]=i.endpoints[0].anchor.constructor===t.DynamicAnchor),e.addToList(u,r,[i,i.endpoints[1],i.endpoints[1].anchor.constructor===t.DynamicAnchor]),i.endpoints[1].anchor.isContinuous&&(i.source===i.target?i._jsPlumb.instance.removeElement(i.endpoints[1].canvas):null==i.endpoints[1].canvas.parentNode&&i._jsPlumb.instance.appendElement(i.endpoints[1].canvas)),i.updateConnectedClass()}},this.rehomeEndpoint=function(e,t,n){var i=r[t]||[],o=d.getId(n);if(o!==t){var s=i.indexOf(e);if(s>-1){var a=i.splice(s,1)[0];c.add(a,o)}}for(var l=0;l<e.connections.length;l++)e.connections[l].sourceId===t?c.sourceChanged(t,e.elementId,e.connections[l],e.element):e.connections[l].targetId===t&&(e.connections[l].targetId=e.elementId,e.connections[l].target=e.element,c.updateOtherEndpoint(e.connections[l].sourceId,t,e.elementId,e.connections[l]))},this.redraw=function(n,i,o,s,a,l){if(!d.isSuspendDrawing()){var c=r[n]||[],g=u[n]||[],m=[],y=[],w=[];o=o||d.timestamp(),s=s||{left:0,top:0},i&&(i={left:i.left+s.left,top:i.top+s.top});for(var x=d.updateOffset({elId:n,offset:i,recalc:!1,timestamp:o}),C={},k=0;k<g.length;k++){var A=g[k][0],E=A.sourceId,_=A.targetId,S=A.endpoints[0].anchor.isContinuous,F=A.endpoints[1].anchor.isContinuous;if(S||F){var D=E+"_"+_,T=C[D],B=A.sourceId===n?1:0;S&&!h[E]&&(h[E]={top:[],right:[],bottom:[],left:[]}),F&&!h[_]&&(h[_]={top:[],right:[],bottom:[],left:[]}),n!==_&&d.updateOffset({elId:_,timestamp:o}),n!==E&&d.updateOffset({elId:E,timestamp:o});var L=d.getCachedData(_),M=d.getCachedData(E);_===E&&(S||F)?(b(h[E],-Math.PI/2,0,A,!1,_,0,!1,"top",0,m,y),b(h[_],-Math.PI/2,0,A,!1,E,1,!1,"top",0,m,y)):(T||(T=p(E,_,M.o,L.o,A.endpoints[0].anchor,A.endpoints[1].anchor),C[D]=T),S&&b(h[E],T.theta,0,A,!1,_,0,!1,T.a[0],0,m,y),F&&b(h[_],T.theta2,-1,A,!0,E,1,!0,T.a[1],0,m,y)),S&&e.addWithFunction(w,E,function(e){return e===E}),F&&e.addWithFunction(w,_,function(e){return e===_}),e.addWithFunction(m,A,function(e){return e.id===A.id}),(S&&0===B||F&&1===B)&&e.addWithFunction(y,A.endpoints[B],function(e){return e.id===A.endpoints[B].id})}}for(k=0;k<c.length;k++)0===c[k].connections.length&&c[k].anchor.isContinuous&&(h[n]||(h[n]={top:[],right:[],bottom:[],left:[]}),b(h[n],-Math.PI/2,0,{endpoints:[c[k],c[k]],paint:function(){}},!1,n,0,!1,c[k].anchor.getDefaultFace(),0,m,y),e.addWithFunction(w,n,function(e){return e===n}));for(k=0;k<w.length;k++)v(w[k],h[w[k]]);for(k=0;k<c.length;k++)c[k].paint({timestamp:o,offset:x,dimensions:x.s,recalc:!0!==l});for(k=0;k<y.length;k++){var O=d.getCachedData(y[k].elementId);y[k].paint({timestamp:o,offset:O,dimensions:O.s})}for(k=0;k<g.length;k++){var P=g[k][1];if(P.anchor.constructor===t.DynamicAnchor){P.paint({elementWithPrecedence:n,timestamp:o}),e.addWithFunction(m,g[k][0],function(e){return e.id===g[k][0].id});for(var R=0;R<P.connections.length;R++)P.connections[R]!==g[k][0]&&e.addWithFunction(m,P.connections[R],function(e){return e.id===P.connections[R].id})}else e.addWithFunction(m,g[k][0],function(e){return e.id===g[k][0].id})}var j=f[n];for(j&&j.paint({timestamp:o,recalc:!1,elId:n}),k=0;k<m.length;k++)m[k].paint({elId:n,timestamp:o,recalc:!1,clearEdits:a})}};d.continuousAnchorFactory={get:function(t){return new function(t){e.EventGenerator.apply(this),this.type="Continuous",this.isDynamic=!0,this.isContinuous=!0;for(var n=t.faces||["top","right","bottom","left"],r=!(!1===t.clockwise),a={},l={top:"bottom",right:"left",left:"right",bottom:"top"},u={top:"right",right:"bottom",left:"top",bottom:"left"},c={top:"left",right:"top",left:"bottom",bottom:"right"},h=r?u:c,d=r?c:u,f=t.cssClass||"",p=null,g=null,m=["left","right"],v=["top","bottom"],y=null,b=0;b<n.length;b++)a[n[b]]=!0;this.getDefaultFace=function(){return 0===n.length?"top":n[0]},this.verifyEdge=function(e){return a[e]?e:a[l[e]]?l[e]:a[h[e]]?h[e]:a[d[e]]?d[e]:e},this.isEdgeSupported=function(e){return null==y?null==g?!0===a[e]:g===e:-1!==y.indexOf(e)},this.setCurrentFace=function(e){p=e},this.getCurrentFace=function(){return p},this.lockCurrentFace=function(){g=p},this.unlockCurrentFace=function(){g=null},this.lockCurrentAxis=function(){null!=p&&(y="left"===p||"right"===p?m:v)},this.unlockCurrentAxis=function(){y=null},this.compute=function(e){return o[e.element.id]||i[e.element.id]||[0,0]},this.getCurrentLocation=function(e){return o[e.element.id]||i[e.element.id]||[0,0]},this.getOrientation=function(e){return s[e.id]||[0,0]},this.clearUserDefinedLocation=function(){delete o[t.elementId]},this.setUserDefinedLocation=function(e){o[t.elementId]=e},this.getCssClass=function(){return f}}(t)},clear:function(e){delete o[e],delete i[e]}}},t.Anchor=function(t){this.x=t.x||0,this.y=t.y||0,this.elementId=t.elementId,this.cssClass=t.cssClass||"",this.userDefinedLocation=null,this.orientation=t.orientation||[0,0],this.lastReturnValue=null,this.offsets=t.offsets||[0,0],this.timestamp=null,e.EventGenerator.apply(this),this.compute=function(e){var t=e.xy,n=e.wh,r=e.timestamp;return e.clearUserDefinedLocation&&(this.userDefinedLocation=null),r&&r===this.timestamp?this.lastReturnValue:(null!=this.userDefinedLocation?this.lastReturnValue=this.userDefinedLocation:this.lastReturnValue=[t[0]+this.x*n[0]+this.offsets[0],t[1]+this.y*n[1]+this.offsets[1]],this.timestamp=r,this.lastReturnValue)},this.getCurrentLocation=function(e){return e=e||{},null==this.lastReturnValue||null!=e.timestamp&&this.timestamp!==e.timestamp?this.compute(e):this.lastReturnValue}},e.extend(t.Anchor,e.EventGenerator,{equals:function(e){if(!e)return!1;var t=e.getOrientation(),n=this.getOrientation();return this.x===e.x&&this.y===e.y&&this.offsets[0]===e.offsets[0]&&this.offsets[1]===e.offsets[1]&&n[0]===t[0]&&n[1]===t[1]},getUserDefinedLocation:function(){return this.userDefinedLocation},setUserDefinedLocation:function(e){this.userDefinedLocation=e},clearUserDefinedLocation:function(){this.userDefinedLocation=null},getOrientation:function(){return this.orientation},getCssClass:function(){return this.cssClass}}),t.FloatingAnchor=function(e){t.Anchor.apply(this,arguments);var n=e.reference,r=e.referenceCanvas,i=t.getSize(r),o=null,s=null;this.orientation=null,this.x=0,this.y=0,this.isFloating=!0,this.compute=function(e){var t=e.xy,n=[t[0]+i[0]/2,t[1]+i[1]/2];return s=n,n},this.getOrientation=function(e){if(o)return o;var t=n.getOrientation(e);return[0*Math.abs(t[0])*-1,0*Math.abs(t[1])*-1]},this.over=function(e,t){o=e.getOrientation(t)},this.out=function(){o=null},this.getCurrentLocation=function(e){return null==s?this.compute(e):s}},e.extend(t.FloatingAnchor,t.Anchor);t.DynamicAnchor=function(e){t.Anchor.apply(this,arguments),this.isDynamic=!0,this.anchors=[],this.elementId=e.elementId,this.jsPlumbInstance=e.jsPlumbInstance;for(var n=0;n<e.anchors.length;n++)this.anchors[n]=(r=e.anchors[n],i=this.jsPlumbInstance,o=this.elementId,r.constructor===t.Anchor?r:i.makeAnchor(r,o,i));var r,i,o;this.getAnchors=function(){return this.anchors},this.locked=!1;var s=this.anchors.length>0?this.anchors[0]:null,a=s,l=this,u=function(e,t,n,r,i){var o=r[0]+e.x*i[0],s=r[1]+e.y*i[1],a=r[0]+i[0]/2,l=r[1]+i[1]/2;return Math.sqrt(Math.pow(t-o,2)+Math.pow(n-s,2))+Math.sqrt(Math.pow(a-o,2)+Math.pow(l-s,2))},c=e.selector||function(e,t,n,r,i){for(var o=n[0]+r[0]/2,s=n[1]+r[1]/2,a=-1,l=1/0,c=0;c<i.length;c++){var h=u(i[c],o,s,e,t);h<l&&(a=c+0,l=h)}return i[a]};this.compute=function(e){var t=e.xy,n=e.wh,r=e.txy,i=e.twh;this.timestamp=e.timestamp;var o=l.getUserDefinedLocation();return null!=o?o:this.locked||null==r||null==i?s.compute(e):(e.timestamp=null,s=c(t,n,r,i,this.anchors),this.x=s.x,this.y=s.y,s!==a&&this.fire("anchorChanged",s),a=s,s.compute(e))},this.getCurrentLocation=function(e){return this.getUserDefinedLocation()||(null!=s?s.getCurrentLocation(e):null)},this.getOrientation=function(e){return null!=s?s.getOrientation(e):[0,0]},this.over=function(e,t){null!=s&&s.over(e,t)},this.out=function(){null!=s&&s.out()},this.getCssClass=function(){return s&&s.getCssClass()||""}},e.extend(t.DynamicAnchor,t.Anchor);var n=function(e,n,r,i,o,s){t.Anchors[o]=function(t){var a=t.jsPlumbInstance.makeAnchor([e,n,r,i,0,0],t.elementId,t.jsPlumbInstance);return a.type=o,s&&s(a,t),a}};n(.5,0,0,-1,"TopCenter"),n(.5,1,0,1,"BottomCenter"),n(0,.5,-1,0,"LeftMiddle"),n(1,.5,1,0,"RightMiddle"),n(.5,0,0,-1,"Top"),n(.5,1,0,1,"Bottom"),n(0,.5,-1,0,"Left"),n(1,.5,1,0,"Right"),n(.5,.5,0,0,"Center"),n(1,0,0,-1,"TopRight"),n(1,1,0,1,"BottomRight"),n(0,0,0,-1,"TopLeft"),n(0,1,0,1,"BottomLeft"),t.Defaults.DynamicAnchors=function(e){return e.jsPlumbInstance.makeAnchors(["TopCenter","RightMiddle","BottomCenter","LeftMiddle"],e.elementId,e.jsPlumbInstance)},t.Anchors.AutoDefault=function(e){var n=e.jsPlumbInstance.makeDynamicAnchor(t.Defaults.DynamicAnchors(e));return n.type="AutoDefault",n};var r=function(e,n){t.Anchors[e]=function(t){var r=t.jsPlumbInstance.makeAnchor(["Continuous",{faces:n}],t.elementId,t.jsPlumbInstance);return r.type=e,r}};t.Anchors.Continuous=function(e){return e.jsPlumbInstance.continuousAnchorFactory.get(e)},r("ContinuousLeft",["left"]),r("ContinuousTop",["top"]),r("ContinuousBottom",["bottom"]),r("ContinuousRight",["right"]),n(0,0,0,0,"Assign",function(e,t){var n=t.position||"Fixed";e.positionFinder=n.constructor===String?t.jsPlumbInstance.AnchorPositionFinders[n]:n,e.constructorParams=t}),this.jsPlumbInstance.prototype.AnchorPositionFinders={Fixed:function(e,t,n){return[(e.left-t.left)/n[0],(e.top-t.top)/n[1]]},Grid:function(e,t,n,r){var i=e.left-t.left,o=e.top-t.top,s=n[0]/r.grid[0],a=n[1]/r.grid[1],l=Math.floor(i/s),u=Math.floor(o/a);return[(l*s+s/2)/n[0],(u*a+a/2)/n[1]]}},t.Anchors.Perimeter=function(e){var t=(e=e||{}).anchorCount||60,n=e.shape;if(!n)throw new Error("no shape supplied to Perimeter Anchor type");var r=function(){for(var e=2*Math.PI/t,n=0,r=[],i=0;i<t;i++){var o=.5+.5*Math.sin(n),s=.5+.5*Math.cos(n);r.push([o,s,0,0]),n+=e}return r},i=function(e){for(var n=t/e.length,r=[],i=function(e,i,o,s,a){for(var l=(o-e)/(n=t*a),u=(s-i)/n,c=0;c<n;c++)r.push([e+l*c,i+u*c,0,0])},o=0;o<e.length;o++)i.apply(null,e[o]);return r},o=function(e){for(var t=[],n=0;n<e.length;n++)t.push([e[n][0],e[n][1],e[n][2],e[n][3],1/e.length]);return i(t)},s=function(){return o([[0,0,1,0],[1,0,1,1],[1,1,0,1],[0,1,0,0]])},a={Circle:r,Ellipse:r,Diamond:function(){return o([[.5,0,1,.5],[1,.5,.5,1],[.5,1,0,.5],[0,.5,.5,0]])},Rectangle:s,Square:s,Triangle:function(){return o([[.5,0,1,1],[1,1,0,1],[0,1,.5,0]])},Path:function(e){for(var t=e.points,n=[],r=0,o=0;o<t.length-1;o++){var s=Math.sqrt(Math.pow(t[o][2]-t[o][0])+Math.pow(t[o][3]-t[o][1]));r+=s,n.push([t[o][0],t[o][1],t[o+1][0],t[o+1][1],s])}for(var a=0;a<n.length;a++)n[a][4]=n[a][4]/r;return i(n)}};if(!a[n])throw new Error("Shape ["+n+"] is unknown by Perimeter Anchor type");var l=a[n](e);e.rotation&&(l=function(e,t){for(var n=[],r=t/180*Math.PI,i=0;i<e.length;i++){var o=e[i][0]-.5,s=e[i][1]-.5;n.push([o*Math.cos(r)-s*Math.sin(r)+.5,o*Math.sin(r)+s*Math.cos(r)+.5,e[i][2],e[i][3]])}return n}(l,e.rotation));var u=e.jsPlumbInstance.makeDynamicAnchor(l);return u.type="Perimeter",u}}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this,t=e.jsPlumb,n=e.jsPlumbUtil,r=e.Biltong;t.Segments={AbstractSegment:function(e){this.params=e,this.findClosestPointOnPath=function(e,t){return{d:1/0,x:null,y:null,l:null}},this.getBounds=function(){return{minX:Math.min(e.x1,e.x2),minY:Math.min(e.y1,e.y2),maxX:Math.max(e.x1,e.x2),maxY:Math.max(e.y1,e.y2)}}},Straight:function(e){var n,i,o,s,a,l,u;t.Segments.AbstractSegment.apply(this,arguments);this.type="Straight",this.getLength=function(){return n},this.getGradient=function(){return i},this.getCoordinates=function(){return{x1:s,y1:l,x2:a,y2:u}},this.setCoordinates=function(e){s=e.x1,l=e.y1,a=e.x2,u=e.y2,n=Math.sqrt(Math.pow(a-s,2)+Math.pow(u-l,2)),i=r.gradient({x:s,y:l},{x:a,y:u}),o=-1/i},this.setCoordinates({x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2}),this.getBounds=function(){return{minX:Math.min(s,a),minY:Math.min(l,u),maxX:Math.max(s,a),maxY:Math.max(l,u)}},this.pointOnPath=function(e,t){if(0!==e||t){if(1!==e||t){var i=t?e>0?e:n+e:e*n;return r.pointOnLine({x:s,y:l},{x:a,y:u},i)}return{x:a,y:u}}return{x:s,y:l}},this.gradientAtPoint=function(e){return i},this.pointAlongPathFrom=function(e,t,n){var i=this.pointOnPath(e,n),o=t<=0?{x:s,y:l}:{x:a,y:u};return t<=0&&Math.abs(t)>1&&(t*=-1),r.pointOnLine(i,o,t)};var c=function(e,t,n){return n>=Math.min(e,t)&&n<=Math.max(e,t)},h=function(e,t,n){return Math.abs(n-e)<Math.abs(n-t)?e:t};this.findClosestPointOnPath=function(e,t){var d={d:1/0,x:null,y:null,l:null,x1:s,x2:a,y1:l,y2:u};if(0===i)d.y=l,d.x=c(s,a,e)?e:h(s,a,e);else if(i===1/0||i===-1/0)d.x=s,d.y=c(l,u,t)?t:h(l,u,t);else{var f=l-i*s,p=(t-o*e-f)/(i-o),g=i*p+f;d.x=c(s,a,p)?p:h(s,a,p),d.y=c(l,u,g)?g:h(l,u,g)}var m=r.lineLength([d.x,d.y],[s,l]);return d.d=r.lineLength([e,t],[d.x,d.y]),d.l=m/n,d}},Arc:function(e){t.Segments.AbstractSegment.apply(this,arguments);var n=function(t,n){return r.theta([e.cx,e.cy],[t,n])},i=2*Math.PI;this.radius=e.r,this.anticlockwise=e.ac,this.type="Arc",e.startAngle&&e.endAngle?(this.startAngle=e.startAngle,this.endAngle=e.endAngle,this.x1=e.cx+this.radius*Math.cos(e.startAngle),this.y1=e.cy+this.radius*Math.sin(e.startAngle),this.x2=e.cx+this.radius*Math.cos(e.endAngle),this.y2=e.cy+this.radius*Math.sin(e.endAngle)):(this.startAngle=n(e.x1,e.y1),this.endAngle=n(e.x2,e.y2),this.x1=e.x1,this.y1=e.y1,this.x2=e.x2,this.y2=e.y2),this.endAngle<0&&(this.endAngle+=i),this.startAngle<0&&(this.startAngle+=i);var o=this.endAngle<this.startAngle?this.endAngle+i:this.endAngle;this.sweep=Math.abs(o-this.startAngle),this.anticlockwise&&(this.sweep=i-this.sweep);var s=2*Math.PI*this.radius,a=this.sweep/i,l=s*a;this.getLength=function(){return l},this.getBounds=function(){return{minX:e.cx-e.r,maxX:e.cx+e.r,minY:e.cy-e.r,maxY:e.cy+e.r}};var u=function(e){var t=Math.floor(e),n=Math.ceil(e);return e-t<1e-10?t:n-e<1e-10?n:e};this.pointOnPath=function(t,n){if(0===t)return{x:this.x1,y:this.y1,theta:this.startAngle};if(1===t)return{x:this.x2,y:this.y2,theta:this.endAngle};n&&(t/=l);var r=function(e,t){if(e.anticlockwise){var n=e.startAngle<e.endAngle?e.startAngle+i:e.startAngle;return n-Math.abs(n-e.endAngle)*t}var r=e.endAngle<e.startAngle?e.endAngle+i:e.endAngle,o=Math.abs(r-e.startAngle);return e.startAngle+o*t}(this,t),o=e.cx+e.r*Math.cos(r),s=e.cy+e.r*Math.sin(r);return{x:u(o),y:u(s),theta:r}},this.gradientAtPoint=function(t,n){var i=this.pointOnPath(t,n),o=r.normal([e.cx,e.cy],[i.x,i.y]);return this.anticlockwise||o!==1/0&&o!==-1/0||(o*=-1),o},this.pointAlongPathFrom=function(t,n,r){var i=this.pointOnPath(t,r),o=n/s*2*Math.PI,a=this.anticlockwise?-1:1,l=i.theta+a*o;return{x:e.cx+this.radius*Math.cos(l),y:e.cy+this.radius*Math.sin(l)}}},Bezier:function(n){this.curve=[{x:n.x1,y:n.y1},{x:n.cp1x,y:n.cp1y},{x:n.cp2x,y:n.cp2y},{x:n.x2,y:n.y2}];t.Segments.AbstractSegment.apply(this,arguments);this.bounds={minX:Math.min(n.x1,n.x2,n.cp1x,n.cp2x),minY:Math.min(n.y1,n.y2,n.cp1y,n.cp2y),maxX:Math.max(n.x1,n.x2,n.cp1x,n.cp2x),maxY:Math.max(n.y1,n.y2,n.cp1y,n.cp2y)},this.type="Bezier";var r=function(t,n,r){return r&&(n=e.jsBezier.locationAlongCurveFrom(t,n>0?0:1,n)),n};this.pointOnPath=function(t,n){return t=r(this.curve,t,n),e.jsBezier.pointOnCurve(this.curve,t)},this.gradientAtPoint=function(t,n){return t=r(this.curve,t,n),e.jsBezier.gradientAtPoint(this.curve,t)},this.pointAlongPathFrom=function(t,n,i){return t=r(this.curve,t,i),e.jsBezier.pointAlongCurveFrom(this.curve,t,n)},this.getLength=function(){return e.jsBezier.getLength(this.curve)},this.getBounds=function(){return this.bounds}}},t.SegmentRenderer={getPath:function(e){return{Straight:function(){var t=e.getCoordinates();return"M "+t.x1+" "+t.y1+" L "+t.x2+" "+t.y2},Bezier:function(){var t=e.params;return"M "+t.x1+" "+t.y1+" C "+t.cp1x+" "+t.cp1y+" "+t.cp2x+" "+t.cp2y+" "+t.x2+" "+t.y2},Arc:function(){var t=e.params,n=e.sweep>Math.PI?1:0,r=e.anticlockwise?0:1;return"M"+e.x1+" "+e.y1+" A "+e.radius+" "+t.r+" 0 "+n+","+r+" "+e.x2+" "+e.y2}}[e.type]()}};var i=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};t.Connectors.AbstractConnector=function(e){i.apply(this,arguments);var o=[],s=0,a=[],l=[],u=e.stub||0,c=n.isArray(u)?u[0]:u,h=n.isArray(u)?u[1]:u,d=e.gap||0,f=n.isArray(d)?d[0]:d,p=n.isArray(d)?d[1]:d,g=null,m=!1,v=null,y=null,b=!1!==e.editable&&null!=t.ConnectorEditors&&null!=t.ConnectorEditors[this.type],w=this.setGeometry=function(e,t){m=!t,y=e},x=this.getGeometry=function(){return y};this.getPathData=function(){for(var e="",n=0;n<o.length;n++)e+=t.SegmentRenderer.getPath(o[n]),e+=" ";return e},this.hasBeenEdited=function(){return m},this.isEditing=function(){return null!=this.editor&&this.editor.isActive()},this.setEditable=function(e){return b=!(!e||null==t.ConnectorEditors||null==t.ConnectorEditors[this.type]||null!=this.overrideSetEditable&&!this.overrideSetEditable())&&e},this.isEditable=function(){return b},this.findSegmentForPoint=function(e,t){for(var n={d:1/0,s:null,x:null,y:null,l:null},r=0;r<o.length;r++){var i=o[r].findClosestPointOnPath(e,t);i.d<n.d&&(n.d=i.d,n.l=i.l,n.x=i.x,n.y=i.y,n.s=o[r],n.x1=i.x1,n.x2=i.x2,n.y1=i.y1,n.y2=i.y2,n.index=r)}return n};var C=function(e,t){t&&(e=e>0?e/s:(s+e)/s);for(var n=a.length-1,r=1,i=0;i<a.length;i++)if(a[i][1]>=e){n=i,r=1===e?1:0===e?0:(e-a[i][0])/l[i];break}return{segment:o[n],proportion:r,index:n}};this.setSegments=function(e){g=[],s=0;for(var t=0;t<e.length;t++)g.push(e[t]),s+=e[t].getLength()},this.getLength=function(){return s};var k=function(e){this.strokeWidth=e.strokeWidth;var t=r.quadrant(e.sourcePos,e.targetPos),n=e.targetPos[0]<e.sourcePos[0],i=e.targetPos[1]<e.sourcePos[1],o=e.strokeWidth||1,s=e.sourceEndpoint.anchor.getOrientation(e.sourceEndpoint),a=e.targetEndpoint.anchor.getOrientation(e.targetEndpoint),l=n?e.targetPos[0]:e.sourcePos[0],u=i?e.targetPos[1]:e.sourcePos[1],d=Math.abs(e.targetPos[0]-e.sourcePos[0]),g=Math.abs(e.targetPos[1]-e.sourcePos[1]);if(0===s[0]&&0===s[1]||0===a[0]&&0===a[1]){var m=d>g?0:1,v=[1,0][m];a=[],(s=[])[m]=e.sourcePos[m]>e.targetPos[m]?-1:1,a[m]=e.sourcePos[m]>e.targetPos[m]?1:-1,s[v]=0,a[v]=0}var y=n?d+f*s[0]:f*s[0],b=i?g+f*s[1]:f*s[1],w=n?p*a[0]:d+p*a[0],x=i?p*a[1]:g+p*a[1],C=s[0]*a[0]+s[1]*a[1],k={sx:y,sy:b,tx:w,ty:x,lw:o,xSpan:Math.abs(w-y),ySpan:Math.abs(x-b),mx:(y+w)/2,my:(b+x)/2,so:s,to:a,x:l,y:u,w:d,h:g,segment:t,startStubX:y+s[0]*c,startStubY:b+s[1]*c,endStubX:w+a[0]*h,endStubY:x+a[1]*h,isXGreaterThanStubTimes2:Math.abs(y-w)>c+h,isYGreaterThanStubTimes2:Math.abs(b-x)>c+h,opposite:-1===C,perpendicular:0===C,orthogonal:1===C,sourceAxis:0===s[0]?"y":"x",points:[l,u,d,g,y,b,w,x],stubs:[c,h]};return k.anchorOrientation=k.opposite?"opposite":k.orthogonal?"orthogonal":"perpendicular",k};this.getSegments=function(){return o},this.updateBounds=function(e){var t=e.getBounds();this.bounds.minX=Math.min(this.bounds.minX,t.minX),this.bounds.maxX=Math.max(this.bounds.maxX,t.maxX),this.bounds.minY=Math.min(this.bounds.minY,t.minY),this.bounds.maxY=Math.max(this.bounds.maxY,t.maxY)};return this.pointOnPath=function(e,t){var n=C(e,t);return n.segment&&n.segment.pointOnPath(n.proportion,!1)||[0,0]},this.gradientAtPoint=function(e,t){var n=C(e,t);return n.segment&&n.segment.gradientAtPoint(n.proportion,!1)||0},this.pointAlongPathFrom=function(e,t,n){var r=C(e,n);return r.segment&&r.segment.pointAlongPathFrom(r.proportion,t,!1)||[0,0]},this.compute=function(e){v=k.call(this,e),s=o.length=a.length=l.length=0,this._compute(v,e),this.x=v.points[0],this.y=v.points[1],this.w=v.points[2],this.h=v.points[3],this.segment=v.segment,function(){for(var e=0,t=0;t<o.length;t++){var n=o[t].getLength();l[t]=n/s,a[t]=[e,e+=n/s]}}()},{addSegment:function(e,n,r){if(r.x1!==r.x2||r.y1!==r.y2){var i=new t.Segments[n](r);o.push(i),s+=i.getLength(),e.updateBounds(i)}},prepareCompute:k,sourceStub:c,targetStub:h,maxStub:Math.max(c,h),sourceGap:f,targetGap:p,maxGap:Math.max(f,p),setGeometry:w,getGeometry:x}},n.extend(t.Connectors.AbstractConnector,i),t.Endpoints.AbstractEndpoint=function(e){return i.apply(this,arguments),{compute:this.compute=function(e,t,n,r){var i=this._compute.apply(this,arguments);return this.x=i[0],this.y=i[1],this.w=i[2],this.h=i[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,i},cssClass:e.cssClass}},n.extend(t.Endpoints.AbstractEndpoint,i),t.Endpoints.Dot=function(e){this.type="Dot";t.Endpoints.AbstractEndpoint.apply(this,arguments);e=e||{},this.radius=e.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(e,t,n,r){this.radius=n.radius||this.radius;var i=e[0]-this.radius,o=e[1]-this.radius,s=2*this.radius,a=2*this.radius;if(n.stroke){var l=n.strokeWidth||1;i-=l,o-=l,s+=2*l,a+=2*l}return[i,o,s,a,this.radius]}},n.extend(t.Endpoints.Dot,t.Endpoints.AbstractEndpoint),t.Endpoints.Rectangle=function(e){this.type="Rectangle";t.Endpoints.AbstractEndpoint.apply(this,arguments);e=e||{},this.width=e.width||20,this.height=e.height||20,this._compute=function(e,t,n,r){var i=n.width||this.width,o=n.height||this.height;return[e[0]-i/2,e[1]-o/2,i,o]}},n.extend(t.Endpoints.Rectangle,t.Endpoints.AbstractEndpoint);var o=function(e){t.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};n.extend(o,t.jsPlumbUIComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(e){this._jsPlumb.displayElements.push(e)}}),t.Endpoints.Image=function(r){this.type="Image",o.apply(this,arguments),t.Endpoints.AbstractEndpoint.apply(this,arguments);var i=r.onload,s=r.src||r.url,a=r.cssClass?" "+r.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=r.width,this._jsPlumb.heightToUse=r.height,this._jsPlumb.endpoint=r.endpoint,this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,i&&i(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(e,t){var n=e.constructor===String?e:e.src;i=t,this._jsPlumb.img.src=n,null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(s,i),this._compute=function(e,t,n,r){return this.anchorPoint=e,this._jsPlumb.ready?[e[0]-this._jsPlumb.widthToUse/2,e[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=t.createElement("img",{position:"absolute",margin:0,padding:0,outline:0},this._jsPlumb.instance.endpointClass+a),this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.actuallyPaint=function(e,t,r){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var i=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,o=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;n.sizeElement(this.canvas,i,o,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(t,n){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(t,n):e.setTimeout(function(){this.paint(t,n)}.bind(this),200))}},n.extend(t.Endpoints.Image,[o,t.Endpoints.AbstractEndpoint],{cleanup:function(e){e&&(this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null)}}),t.Endpoints.Blank=function(e){t.Endpoints.AbstractEndpoint.apply(this,arguments);this.type="Blank",o.apply(this,arguments),this._compute=function(e,t,n,r){return[e[0],e[1],10,0]};var r=e.cssClass?" "+e.cssClass:"";this.canvas=t.createElement("div",{display:"block",width:"1px",height:"1px",background:"transparent",position:"absolute"},this._jsPlumb.instance.endpointClass+r),this._jsPlumb.instance.appendElement(this.canvas),this.paint=function(e,t){n.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},n.extend(t.Endpoints.Blank,[t.Endpoints.AbstractEndpoint,o],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),t.Endpoints.Triangle=function(e){this.type="Triangle",t.Endpoints.AbstractEndpoint.apply(this,arguments);var n=this;(e=e||{}).width=e.width||55,e.height=e.height||55,this.width=e.width,this.height=e.height,this._compute=function(e,t,r,i){var o=r.width||n.width,s=r.height||n.height;return[e[0]-o/2,e[1]-s/2,o,s]}};var s=t.Overlays.AbstractOverlay=function(e){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=e.component,this.loc=null==e.location?.5:e.location,this.endpointLoc=null==e.endpointLocation?[.5,.5]:e.endpointLocation,this.visible=!1!==e.visible};s.prototype={cleanup:function(e){e&&(this.component=null,this.canvas=null,this.endpointLoc=null)},reattach:function(e,t){},setVisible:function(e){this.visible=e,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(e){this.loc+=e,this.component.repaint()},setLocation:function(e){this.loc=e,this.component.repaint()},getLocation:function(){return this.loc},updateFrom:function(){}},t.Overlays.Arrow=function(e){this.type="Arrow",s.apply(this,arguments),this.isAppendedAtTopLevel=!1,e=e||{};var i=this;this.length=e.length||20,this.width=e.width||20,this.id=e.id;var o=(e.direction||1)<0?-1:1,a=e.paintStyle||{"stroke-width":1},l=e.foldback||.623;this.computeMaxSize=function(){return 1.5*i.width},this.elementCreated=function(n,r){if(this.path=n,e.events)for(var i in e.events)t.on(n,i,e.events[i])},this.draw=function(e,t){var i,s,u,c;if(e.pointAlongPathFrom){if(n.isString(this.loc)||this.loc>1||this.loc<0){var h=parseInt(this.loc,10),d=this.loc<0?1:0;i=e.pointAlongPathFrom(d,h,!1),s=e.pointAlongPathFrom(d,h-o*this.length/2,!1),u=r.pointOnLine(i,s,this.length)}else if(1===this.loc){if(i=e.pointOnPath(this.loc),s=e.pointAlongPathFrom(this.loc,-this.length),u=r.pointOnLine(i,s,this.length),-1===o){var f=u;u=i,i=f}}else if(0===this.loc){if(u=e.pointOnPath(this.loc),s=e.pointAlongPathFrom(this.loc,this.length),i=r.pointOnLine(u,s,this.length),-1===o){var p=u;u=i,i=p}}else i=e.pointAlongPathFrom(this.loc,o*this.length/2),s=e.pointOnPath(this.loc),u=r.pointOnLine(i,s,this.length);var g={hxy:i,tail:c=r.perpendicularLineTo(i,u,this.width),cxy:r.pointOnLine(i,u,l*this.length)},m=a.stroke||t.stroke,v=a.fill||t.stroke;return{component:e,d:g,"stroke-width":a.strokeWidth||t.strokeWidth,stroke:m,fill:v,minX:Math.min(i.x,c[0].x,c[1].x),maxX:Math.max(i.x,c[0].x,c[1].x),minY:Math.min(i.y,c[0].y,c[1].y),maxY:Math.max(i.y,c[0].y,c[1].y)}}return{component:e,minX:0,maxX:0,minY:0,maxY:0}}},n.extend(t.Overlays.Arrow,s,{updateFrom:function(e){this.length=e.length||this.length,this.width=e.width||this.width,this.direction=null!=e.direction?e.direction:this.direction,this.foldback=e.foldback||this.foldback}}),t.Overlays.PlainArrow=function(e){e=e||{};var n=t.extend(e,{foldback:1});t.Overlays.Arrow.call(this,n),this.type="PlainArrow"},n.extend(t.Overlays.PlainArrow,t.Overlays.Arrow),t.Overlays.Diamond=function(e){var n=(e=e||{}).length||40,r=t.extend(e,{length:n/2,foldback:2});t.Overlays.Arrow.call(this,r),this.type="Diamond"},n.extend(t.Overlays.Diamond,t.Overlays.Arrow);var a=function(e,t){return(null==e._jsPlumb.cachedDimensions||t)&&(e._jsPlumb.cachedDimensions=e.getDimensions()),e._jsPlumb.cachedDimensions},l=function(e){t.jsPlumbUIComponent.apply(this,arguments),s.apply(this,arguments);var r=this.fire;this.fire=function(){r.apply(this,arguments),this.component&&this.component.fire.apply(this.component,arguments)},this.detached=!1,this.id=e.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=e.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=e.create,this._jsPlumb.initiallyInvisible=!1===e.visible,this.getElement=function(){if(null==this._jsPlumb.div){var n=this._jsPlumb.div=t.getElement(this._jsPlumb.create(this._jsPlumb.component));n.style.position="absolute",n.className=this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:e.cssClass?e.cssClass:""),this._jsPlumb.instance.appendElement(n),this._jsPlumb.instance.getId(n),this.canvas=n;var r="translate(-50%, -50%)";n.style.webkitTransform=r,n.style.mozTransform=r,n.style.msTransform=r,n.style.oTransform=r,n.style.transform=r,n._jsPlumb=this,!1===e.visible&&(n.style.display="none")}return this._jsPlumb.div},this.draw=function(e,t,r){var i=a(this);if(null!=i&&2===i.length){var o={x:0,y:0};if(r)o={x:r[0],y:r[1]};else if(e.pointOnPath){var s=this.loc,l=!1;(n.isString(this.loc)||this.loc<0||this.loc>1)&&(s=parseInt(this.loc,10),l=!0),o=e.pointOnPath(s,l)}else{var u=this.loc.constructor===Array?this.loc:this.endpointLoc;o={x:u[0]*e.w,y:u[1]*e.h}}var c=o.x-i[0]/2,h=o.y-i[1]/2;return{component:e,d:{minx:c,miny:h,td:i,cxy:o},minX:c,maxX:c+i[0],minY:h,maxY:h+i[1]}}return{minX:0,maxX:0,minY:0,maxY:0}}};n.extend(l,[t.jsPlumbUIComponent,s],{getDimensions:function(){return[1,1]},setVisible:function(e){this._jsPlumb.div&&(this._jsPlumb.div.style.display=e?"block":"none",e&&this._jsPlumb.initiallyInvisible&&(a(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1))},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(e){e?null!=this._jsPlumb.div&&(this._jsPlumb.div._jsPlumb=null,this._jsPlumb.instance.removeElement(this._jsPlumb.div)):(this._jsPlumb&&this._jsPlumb.div&&this._jsPlumb.div.parentNode&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div),this.detached=!0)},reattach:function(e,t){null!=this._jsPlumb.div&&e.getContainer().appendChild(this._jsPlumb.div),this.detached=!1},computeMaxSize:function(){var e=a(this);return Math.max(e[0],e[1])},paint:function(e,t){this._jsPlumb.initialised||(this.getElement(),e.component.appendDisplayElement(this._jsPlumb.div),this._jsPlumb.initialised=!0,this.detached&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div)),this._jsPlumb.div.style.left=e.component.x+e.d.minx+"px",this._jsPlumb.div.style.top=e.component.y+e.d.miny+"px"}}),t.Overlays.Custom=function(e){this.type="Custom",l.apply(this,arguments)},n.extend(t.Overlays.Custom,l),t.Overlays.GuideLines=function(){var e=this;e.length=50,e.strokeWidth=5,this.type="GuideLines",s.apply(this,arguments),t.jsPlumbUIComponent.apply(this,arguments),this.draw=function(t,n){var i=t.pointAlongPathFrom(e.loc,e.length/2),o=t.pointOnPath(e.loc),s=r.pointOnLine(i,o,e.length),a=r.perpendicularLineTo(i,s,40),l=r.perpendicularLineTo(s,i,20);return{connector:t,head:i,tail:s,headLine:l,tailLine:a,minX:Math.min(i.x,s.x,l[0].x,l[1].x),minY:Math.min(i.y,s.y,l[0].y,l[1].y),maxX:Math.max(i.x,s.x,l[0].x,l[1].x),maxY:Math.max(i.y,s.y,l[0].y,l[1].y)}}},t.Overlays.Label=function(e){this.labelStyle=e.labelStyle;this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;var n=t.extend({create:function(){return t.createElement("div")}},e);if(t.Overlays.Custom.call(this,n),this.type="Label",this.label=e.label||"",this.labelText=null,this.labelStyle){var r=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",r.style.font=this.labelStyle.font,r.style.color=this.labelStyle.color||"black",this.labelStyle.fill&&(r.style.background=this.labelStyle.fill),this.labelStyle.borderWidth>0){var i=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";r.style.border=this.labelStyle.borderWidth+"px solid "+i}this.labelStyle.padding&&(r.style.padding=this.labelStyle.padding)}},n.extend(t.Overlays.Label,t.Overlays.Custom,{cleanup:function(e){e&&(this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null)},getLabel:function(){return this.label},setLabel:function(e){this.label=e,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),l.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"==typeof this.label){var e=this.label(this);this.getElement().innerHTML=e.replace(/\r\n/g,"<br/>")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"<br/>"))},updateFrom:function(e){null!=e.label&&this.setLabel(e.label)}})}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this;e.jsPlumb.extend(e.jsPlumbInstance.prototype,{getEventManager:function(){return(n=(t=this)._mottle)||(n=t._mottle=new e.Mottle),n;var t,n},on:function(e,t,n){return this.getEventManager().on.apply(this,arguments),this},off:function(e,t,n){return this.getEventManager().off.apply(this,arguments),this}})}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this,t=e.jsPlumbUtil,n=e.jsPlumbInstance,r="stop",i="revert",o="_jsPlumbGroup",s="show",a="hide",l=function(e){var n={},r={},i={},l=this;function u(t,n){for(var r=t.getMembers(),i=0;i<r.length;i++)e[n?s:a](r[i],!0)}e.bind("connection",function(e){null!=e.source[o]&&null!=e.target[o]&&e.source[o]===e.target[o]?(r[e.connection.id]=e.source[o],i[e.connection.id]=e.source[o]):(null!=e.source[o]&&(t.suggest(e.source[o].connections.source,e.connection),r[e.connection.id]=e.source[o]),null!=e.target[o]&&(t.suggest(e.target[o].connections.target,e.connection),i[e.connection.id]=e.target[o]))}),e.bind("internal.connectionDetached",function(e){!function(e){delete e.proxies;var n,o=r[e.id];null!=o&&(n=function(t){return t.id===e.id},t.removeWithFunction(o.connections.source,n),t.removeWithFunction(o.connections.target,n),delete r[e.id]),null!=(o=i[e.id])&&(n=function(t){return t.id===e.id},t.removeWithFunction(o.connections.source,n),t.removeWithFunction(o.connections.target,n),delete i[e.id])}(e.connection)}),e.bind("connectionMoved",function(e){var t=(0===e.index?r:i)[e.connection.id];if(t){var n=t.connections[0===e.index?"source":"target"],o=n.indexOf(e.connection);-1!==o&&n.splice(o,1)}}),this.addGroup=function(t){e.addClass(t.getEl(),"jtk-group-expanded"),n[t.id]=t,t.manager=this,d(t),e.fire("group:add",{group:t})},this.addToGroup=function(t,n,r){if(t=this.getGroup(t)){var i=t.getEl();if(n._isJsPlumbGroup)return;var o=n._jsPlumbGroup;if(o!==t){var s=e.getOffset(n,!0),a=t.collapsed?e.getOffset(i,!0):e.getOffset(t.getDragArea(),!0);null!=o&&(o.remove(n,r),l.updateConnectionsForGroup(o)),t.add(n,r);var u=function(e,n){var r=0===n?1:0;e.each(function(e){e.setVisible(!1),e.endpoints[r].element._jsPlumbGroup===t?(e.endpoints[r].setVisible(!1),l.expandConnection(e,r,t)):(e.endpoints[n].setVisible(!1),l.collapseConnection(e,n,t))})};t.collapsed&&(u(e.select({source:n}),0),u(e.select({target:n}),1));var c=e.getId(n);e.dragManager.setParent(n,c,i,e.getId(i),s);var h={left:s.left-a.left,top:s.top-a.top};e.setPosition(n,h),e.dragManager.revalidateParent(n,c,s),l.updateConnectionsForGroup(t),e.revalidate(c),setTimeout(function(){e.fire("group:addMember",{group:t,el:n})},0)}}},this.removeFromGroup=function(e,t,n){(e=this.getGroup(e))&&e.remove(t,null,n)},this.getGroup=function(e){var r=e;if(t.isString(e)&&null==(r=n[e]))throw new TypeError("No such group ["+e+"]");return r},this.getGroups=function(){var e=[];for(var t in n)e.push(n[t]);return e},this.removeGroup=function(t,r,i,o){t=this.getGroup(t),this.expandGroup(t,!0),t[r?"removeAll":"orphanAll"](i,o),e.remove(t.getEl()),delete n[t.id],delete e._groups[t.id],e.fire("group:remove",{group:t})},this.removeAllGroups=function(e,t,r){for(var i in n)this.removeGroup(n[i],e,t,r)};var c=this.collapseConnection=function(t,n,r){var i,s=r.getEl(),a=e.getId(s),l=t.endpoints[n].elementId,u=t.endpoints[0===n?1:0].element;u[o]&&!u[o].shouldProxy()&&u[o].collapsed||(t.proxies=t.proxies||[],(i=t.proxies[n]?t.proxies[n].ep:e.addEndpoint(s,{endpoint:r.getEndpoint(t,n),anchor:r.getAnchor(t,n),parameters:{isProxyEndpoint:!0}})).setDeleteOnEmpty(!0),t.proxies[n]={ep:i,originalEp:t.endpoints[n]},0===n?e.anchorManager.sourceChanged(l,a,t,s):(e.anchorManager.updateOtherEndpoint(t.endpoints[0].elementId,l,a,t),t.target=s,t.targetId=a),t.proxies[n].originalEp.detachFromConnection(t,null,!0),i.connections=[t],t.endpoints[n]=i,t.setVisible(!0))};this.collapseGroup=function(t){if(null!=(t=this.getGroup(t))&&!t.collapsed){var n=t.getEl();if(u(t,!1),t.shouldProxy()){var r=function(e,n){for(var r=0;r<e.length;r++){var i=e[r];c(i,n,t)}};r(t.connections.source,0),r(t.connections.target,1)}t.collapsed=!0,e.removeClass(n,"jtk-group-expanded"),e.addClass(n,"jtk-group-collapsed"),e.revalidate(n),e.fire("group:collapse",{group:t})}};var h=this.expandConnection=function(t,n,r){if(null!=t.proxies&&null!=t.proxies[n]){var i=e.getId(r.getEl()),o=t.proxies[n].originalEp.element,s=t.proxies[n].originalEp.elementId;t.endpoints[n]=t.proxies[n].originalEp,0===n?e.anchorManager.sourceChanged(i,s,t,o):(e.anchorManager.updateOtherEndpoint(t.endpoints[0].elementId,i,s,t),t.target=o,t.targetId=s),t.proxies[n].ep.detachFromConnection(t,null),t.proxies[n].originalEp.addConnection(t),delete t.proxies[n]}};function d(t){var n=t.getMembers(),o=e.getConnections({source:n,scope:"*"},!0),s=e.getConnections({target:n,scope:"*"},!0),a={};t.connections.source.length=0,t.connections.target.length=0;var l=function(e){for(var n=0;n<e.length;n++)a[e[n].id]||(a[e[n].id]=!0,e[n].source._jsPlumbGroup===t?(e[n].target._jsPlumbGroup!==t&&t.connections.source.push(e[n]),r[e[n].id]=t):e[n].target._jsPlumbGroup===t&&(t.connections.target.push(e[n]),i[e[n].id]=t))};l(o),l(s)}this.expandGroup=function(t,n){if(null!=(t=this.getGroup(t))&&t.collapsed){var r=t.getEl();if(u(t,!0),t.shouldProxy()){var i=function(e,n){for(var r=0;r<e.length;r++){var i=e[r];h(i,n,t)}};i(t.connections.source,0),i(t.connections.target,1)}t.collapsed=!1,e.addClass(r,"jtk-group-expanded"),e.removeClass(r,"jtk-group-collapsed"),e.revalidate(r),this.repaintGroup(t),n||e.fire("group:expand",{group:t})}},this.repaintGroup=function(t){for(var n=(t=this.getGroup(t)).getMembers(),r=0;r<n.length;r++)e.revalidate(n[r])},this.updateConnectionsForGroup=d,this.refreshAllGroups=function(){for(var t in n)d(n[t]),e.dragManager.updateOffsets(e.getId(n[t].getEl()))}};n.prototype.addGroup=function(n){var s=this;if(s._groups=s._groups||{},null!=s._groups[n.id])throw new TypeError("cannot create Group ["+n.id+"]; a Group with that ID exists");if(null!=n.el[o])throw new TypeError("cannot create Group ["+n.id+"]; the given element is already a Group");var a=new function(n,s){var a=this,l=s.el;this.getEl=function(){return l},this.id=s.id||t.uuid(),l._isJsPlumbGroup=!0;var u=this.getDragArea=function(){var e=n.getSelector(l,"[jtk-group-content]");return e&&e.length>0?e[0]:l},c=!0===s.ghost,h=c||!0===s.constrain,d=!1!==s.revert,f=!0===s.orphan,p=!0===s.prune,g=!0===s.dropOverride,m=!1!==s.proxied,v=[];if(this.connections={source:[],target:[],internal:[]},this.getAnchor=function(e,t){return s.anchor||"Continuous"},this.getEndpoint=function(e,t){return s.endpoint||["Dot",{radius:10}]},this.collapsed=!1,!1!==s.draggable){var y={stop:function(e){n.fire("groupDragStop",jsPlumb.extend(e,{group:a}))},scope:"_jsPlumbGroupDrag"};s.dragOptions&&e.jsPlumb.extend(y,s.dragOptions),n.draggable(s.el,y)}!1!==s.droppable&&n.droppable(s.el,{drop:function(e){var t=e.drag.el;if(!t._isJsPlumbGroup){var r=t._jsPlumbGroup;if(r!==a){if(null!=r&&r.overrideDrop(t,a))return;n.getGroupManager().addToGroup(a,t,!1)}}}});var b=function(e,t){for(var n=null==e.nodeType?e:[e],r=0;r<n.length;r++)t(n[r])};function w(e,t){var r=function(e){return e.offsetParent}(e),i=n.getSize(r),o=n.getSize(e),s=t[0],a=s+o[0],l=t[1],u=l+o[1];return a>0&&s<i[0]&&u>0&&l<i[1]}function x(e){var t=n.getId(e),r=n.getOffset(e);e.parentNode.removeChild(e),n.getContainer().appendChild(e),n.setPosition(e,r),delete e._jsPlumbGroup,A(e),n.dragManager.clearParent(e,t)}function C(e){if(!w(e.el,e.pos)){var t=e.el._jsPlumbGroup;p?n.remove(e.el):x(e.el),t.remove(e.el)}}function k(e){var t=n.getId(e);n.revalidate(e),n.dragManager.revalidateParent(e,t)}function A(e){e._katavorioDrag&&((p||f)&&e._katavorioDrag.off(r,C),p||f||!d||(e._katavorioDrag.off(i,k),e._katavorioDrag.setRevert(null)))}function E(e){e._katavorioDrag&&((p||f)&&e._katavorioDrag.on(r,C),h&&e._katavorioDrag.setConstrain(!0),c&&e._katavorioDrag.setUseGhostProxy(!0),p||f||!d||(e._katavorioDrag.on(i,k),e._katavorioDrag.setRevert(function(e,t){return!w(e,t)})))}this.overrideDrop=function(e,t){return g&&(d||p||f)},this.add=function(e,t){var r=u();b(e,function(e){if(null!=e._jsPlumbGroup){if(e._jsPlumbGroup===a)return;e._jsPlumbGroup.remove(e,!0,t,!1)}e._jsPlumbGroup=a,v.push(e),n.isAlreadyDraggable(e)&&E(e),e.parentNode!==r&&r.appendChild(e),t||n.fire("group:addMember",{group:a,el:e})}),n.getGroupManager().updateConnectionsForGroup(a)},this.remove=function(e,r,i,o){b(e,function(e){if(delete e._jsPlumbGroup,t.removeWithFunction(v,function(t){return t===e}),r)try{a.getDragArea().removeChild(e)}catch(e){jsPlumbUtil.log("Could not remove element from Group "+e)}A(e),i||n.fire("group:removeMember",{group:a,el:e})}),o||n.getGroupManager().updateConnectionsForGroup(a)},this.removeAll=function(e,t){for(var r=0,i=v.length;r<i;r++)a.remove(v[0],e,t,!0);v.length=0,n.getGroupManager().updateConnectionsForGroup(a)},this.orphanAll=function(){for(var e=0;e<v.length;e++)x(v[e]);v.length=0},this.getMembers=function(){return v},l[o]=this,n.bind("elementDraggable",function(e){e.el._jsPlumbGroup===this&&E(e.el)}.bind(this)),this.shouldProxy=function(){return m},n.getGroupManager().addGroup(this)}(s,n);return s._groups[a.id]=a,n.collapsed&&this.collapseGroup(a),a},n.prototype.addToGroup=function(e,t,n){var r=function(t){var r=this.getId(t);this.manage(r,t),this.getGroupManager().addToGroup(e,t,n)}.bind(this);if(Array.isArray(t))for(var i=0;i<t.length;i++)r(t[i]);else r(t)},n.prototype.removeFromGroup=function(e,t,n){this.getGroupManager().removeFromGroup(e,t,n)},n.prototype.removeGroup=function(e,t,n,r){this.getGroupManager().removeGroup(e,t,n,r)},n.prototype.removeAllGroups=function(e,t,n){this.getGroupManager().removeAllGroups(e,t,n)},n.prototype.getGroup=function(e){return this.getGroupManager().getGroup(e)},n.prototype.getGroups=function(){return this.getGroupManager().getGroups()},n.prototype.expandGroup=function(e){this.getGroupManager().expandGroup(e)},n.prototype.collapseGroup=function(e){this.getGroupManager().collapseGroup(e)},n.prototype.repaintGroup=function(e){this.getGroupManager().repaintGroup(e)},n.prototype.toggleGroup=function(e){null!=(e=this.getGroupManager().getGroup(e))&&this.getGroupManager()[e.collapsed?"expandGroup":"collapseGroup"](e)},n.prototype.getGroupManager=function(){var e=this._groupManager;return null==e&&(e=this._groupManager=new l(this)),e},n.prototype.removeGroupManager=function(){delete this._groupManager},n.prototype.getGroupFor=function(e){if(e=this.getElement(e))return e[o]}}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil;e.Connectors.Flowchart=function(t){this.type="Flowchart",(t=t||{}).stub=null==t.stub?30:t.stub;var n,r=e.Connectors.AbstractConnector.apply(this,arguments),i=null==t.midpoint?.5:t.midpoint,o=!0===t.alwaysRespectStubs,s=null,a=null,l=null!=t.cornerRadius?t.cornerRadius:0,u=(t.loopbackRadius,function(e){return e<0?-1:0===e?0:1}),c=function(e){return[u(e[2]-e[0]),u(e[3]-e[1])]},h=function(e,t,n,r){if(s!==t||a!==n){var i=null==s?r.sx:s,o=null==a?r.sy:a,l=i===t?"v":"h";s=t,a=n,e.push([i,o,t,n,l])}},d=function(e){return Math.sqrt(Math.pow(e[0]-e[2],2)+Math.pow(e[1]-e[3],2))},f=function(e){var t=[];return t.push.apply(t,e),t};this._compute=function(e,t){n=[],s=null,a=null;var u=this.getGeometry(),p=[e.x,e.y],g=[e.x+e.w,e.y+e.h];if((this.hasBeenEdited()||this.isEditing())&&null!=u&&null!=u.segments&&u.segments.length>0)n=u.segments,r.setGeometry({segments:n,sourcePos:p,targetPos:g});else{var m=function(){return[e.startStubX,e.startStubY,e.endStubX,e.endStubY]},v={perpendicular:m,orthogonal:m,opposite:function(t){var n=e,r="x"===t?0:1;return!o&&{x:function(){return 1===n.so[r]&&(n.startStubX>n.endStubX&&n.tx>n.startStubX||n.sx>n.endStubX&&n.tx>n.sx)||-1===n.so[r]&&(n.startStubX<n.endStubX&&n.tx<n.startStubX||n.sx<n.endStubX&&n.tx<n.sx)},y:function(){return 1===n.so[r]&&(n.startStubY>n.endStubY&&n.ty>n.startStubY||n.sy>n.endStubY&&n.ty>n.sy)||-1===n.so[r]&&(n.startStubY<n.endStubY&&n.ty<n.startStubY||n.sy<n.endStubY&&n.ty<n.sy)}}[t]()?{x:[(e.sx+e.tx)/2,e.startStubY,(e.sx+e.tx)/2,e.endStubY],y:[e.startStubX,(e.sy+e.ty)/2,e.endStubX,(e.sy+e.ty)/2]}[t]:[e.startStubX,e.startStubY,e.endStubX,e.endStubY]}}[e.anchorOrientation](e.sourceAxis),y="x"===e.sourceAxis?0:1,b="x"===e.sourceAxis?1:0,w=v[y],x=v[b],C=v[y+2],k=v[b+2];h(n,v[0],v[1],e);var A=e.startStubX+(e.endStubX-e.startStubX)*i,E=e.startStubY+(e.endStubY-e.startStubY)*i,_={x:[0,1],y:[1,0]},S={perpendicular:function(t){var n=e,r={x:[[n.startStubX,n.endStubX],null,[n.endStubX,n.startStubX]],y:[[n.startStubY,n.endStubY],null,[n.endStubY,n.startStubY]]},i={x:[[A,n.startStubY],[A,n.endStubY]],y:[[n.startStubX,E],[n.endStubX,E]]},o={x:[[n.endStubX,n.startStubY]],y:[[n.startStubX,n.endStubY]]},s={x:[[n.startStubX,n.endStubY],[n.endStubX,n.endStubY]],y:[[n.endStubX,n.startStubY],[n.endStubX,n.endStubY]]},a={x:[[n.startStubX,E],[n.endStubX,E],[n.endStubX,n.endStubY]],y:[[A,n.startStubY],[A,n.endStubY],[n.endStubX,n.endStubY]]},l={x:[n.startStubY,n.endStubY],y:[n.startStubX,n.endStubX]},u=_[t][0],c=_[t][1],h=n.so[u]+1,d=n.to[c]+1,f=-1===n.to[c]&&l[t][1]<l[t][0]||1===n.to[c]&&l[t][1]>l[t][0],p=r[t][h][0],g=r[t][h][1],m={x:[[[1,2,3,4],null,[2,1,4,3]],null,[[4,3,2,1],null,[3,4,1,2]]],y:[[[3,2,1,4],null,[2,3,4,1]],null,[[4,1,2,3],null,[1,4,3,2]]]}[t][h][d];return n.segment===m[3]||n.segment===m[2]&&f?i[t]:n.segment===m[2]&&g<p?o[t]:n.segment===m[2]&&g>=p||n.segment===m[1]&&!f?a[t]:n.segment===m[0]||n.segment===m[1]&&f?s[t]:void 0},orthogonal:function(t,n,r,i,o){var s=e,a={x:-1===s.so[0]?Math.min(n,i):Math.max(n,i),y:-1===s.so[1]?Math.min(n,i):Math.max(n,i)}[t];return{x:[[a,r],[a,o],[i,o]],y:[[r,a],[o,a],[o,i]]}[t]},opposite:function(n,i,o,s){var a=e,l={x:"y",y:"x"}[n],u={x:"height",y:"width"}[n],c=a["is"+n.toUpperCase()+"GreaterThanStubTimes2"];if(t.sourceEndpoint.elementId===t.targetEndpoint.elementId){var h=o+(1-t.sourceEndpoint.anchor[l])*t.sourceInfo[u]+r.maxStub;return{x:[[i,h],[s,h]],y:[[h,i],[h,s]]}[n]}return!c||1===a.so[y]&&i>s||-1===a.so[y]&&i<s?{x:[[i,E],[s,E]],y:[[A,i],[A,s]]}[n]:1===a.so[y]&&i<s||-1===a.so[y]&&i>s?{x:[[A,a.sy],[A,a.ty]],y:[[a.sx,E],[a.tx,E]]}[n]:void 0}}[e.anchorOrientation](e.sourceAxis,w,x,C,k);if(S)for(var F=0;F<S.length;F++)h(n,S[F][0],S[F][1],e);h(n,v[2],v[3],e),h(n,e.tx,e.ty,e),r.setGeometry({segments:n,sourcePos:p,targetPos:g},!0)}!function(e,t,n){for(var i,o,s,a=null,u=0;u<t.length-1;u++){if(a=a||f(t[u]),i=f(t[u+1]),o=c(a),s=c(i),l>0&&a[4]!==i[4]){var h=Math.min(l,d(a),d(i));a[2]-=o[0]*h,a[3]-=o[1]*h,i[0]+=s[0]*h,i[1]+=s[1]*h;var p=o[1]===s[0]&&1===s[0]||o[1]===s[0]&&0===s[0]&&o[0]!==s[1]||o[1]===s[0]&&-1===s[0],g=(i[1]>a[3]?1:-1)==(i[0]>a[2]?1:-1),m=g&&p||!g&&!p?i[0]:a[2],v=g&&p||!g&&!p?a[3]:i[1];r.addSegment(e,"Straight",{x1:a[0],y1:a[1],x2:a[2],y2:a[3]}),r.addSegment(e,"Arc",{r:h,x1:a[2],y1:a[3],x2:i[0],y2:i[1],cx:m,cy:v,ac:p})}else{var y=a[2]===a[0]?0:a[2]>a[0]?n.lw/2:-n.lw/2,b=a[3]===a[1]?0:a[3]>a[1]?n.lw/2:-n.lw/2;r.addSegment(e,"Straight",{x1:a[0]-y,y1:a[1]-b,x2:a[2]+y,y2:a[3]+b})}a=i}null!=i&&r.addSegment(e,"Straight",{x1:i[0],y1:i[1],x2:i[2],y2:i[3]})}(this,n,e)}},t.extend(e.Connectors.Flowchart,e.Connectors.AbstractConnector)}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil;e.Connectors.AbstractBezierConnector=function(t){var n,r=!1!==(t=t||{}).showLoopback,i=(t.curviness,t.margin||5),o=(t.proximityLimit,t.orientation&&"clockwise"===t.orientation),s=t.loopbackRadius||25,a=!1;return this.overrideSetEditable=function(){return!a},this._compute=function(e,t){var l=t.sourcePos,u=t.targetPos,c=Math.abs(l[0]-u[0]),h=Math.abs(l[1]-u[1]);if(r&&t.sourceEndpoint.elementId===t.targetEndpoint.elementId){a=!0;var d=t.sourcePos[0],f=t.sourcePos[1]-i,p=d,g=f-s,m=p-s,v=g-s;c=2*s,h=2*s,e.points[0]=m,e.points[1]=v,e.points[2]=c,e.points[3]=h,n.addSegment(this,"Arc",{loopback:!0,x1:d-m+4,y1:f-v,startAngle:0,endAngle:2*Math.PI,r:s,ac:!o,x2:d-m-4,y2:f-v,cx:p-m,cy:g-v})}else a=!1,this._computeBezier(e,t,l,u,c,h)},n=e.Connectors.AbstractConnector.apply(this,arguments)},t.extend(e.Connectors.AbstractBezierConnector,e.Connectors.AbstractConnector);var n=function(t){t=t||{},this.type="Bezier";var n=e.Connectors.AbstractBezierConnector.apply(this,arguments),r=t.curviness||150;this.getCurviness=function(){return r},this._findControlPoint=function(e,t,n,i,o,s,a){var l=[];return s[0]!==a[0]||s[1]===a[1]?(0===a[0]?l.push(n[0]<t[0]?e[0]+10:e[0]-10):l.push(e[0]+r*a[0]),0===a[1]?l.push(n[1]<t[1]?e[1]+10:e[1]-10):l.push(e[1]+r*s[1])):(0===s[0]?l.push(t[0]<n[0]?e[0]+10:e[0]-10):l.push(e[0]-r*s[0]),0===s[1]?l.push(t[1]<n[1]?e[1]+10:e[1]-10):l.push(e[1]+r*a[1])),l},this._computeBezier=function(e,t,r,i,o,s){var a,l,u=this.getGeometry(),c=r[0]<i[0]?o:0,h=r[1]<i[1]?s:0,d=r[0]<i[0]?0:o,f=r[1]<i[1]?0:s;(this.hasBeenEdited()||this.isEditing())&&null!=u&&null!=u.controlPoints&&null!=u.controlPoints[0]&&null!=u.controlPoints[1]?(a=u.controlPoints[0],l=u.controlPoints[1]):(a=this._findControlPoint([c,h],r,i,t.sourceEndpoint,t.targetEndpoint,e.so,e.to),l=this._findControlPoint([d,f],i,r,t.targetEndpoint,t.sourceEndpoint,e.to,e.so)),n.setGeometry({controlPoints:[a,l],sourcePos:r,targetPos:i},!0),n.addSegment(this,"Bezier",{x1:c,y1:h,x2:d,y2:f,cp1x:a[0],cp1y:a[1],cp2x:l[0],cp2y:l[1]})}};e.Connectors.Bezier=n,t.extend(n,e.Connectors.AbstractBezierConnector)}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil,n=function(t){t=t||{},this.type="StateMachine";var n,r=e.Connectors.AbstractBezierConnector.apply(this,arguments),i=t.curviness||10,o=t.margin||5,s=t.proximityLimit||80;t.orientation&&t.orientation;this._computeBezier=function(e,t,a,l,u,c){var h=t.sourcePos[0]<t.targetPos[0]?0:u,d=t.sourcePos[1]<t.targetPos[1]?0:c,f=t.sourcePos[0]<t.targetPos[0]?u:0,p=t.sourcePos[1]<t.targetPos[1]?c:0;0===t.sourcePos[2]&&(h-=o),1===t.sourcePos[2]&&(h+=o),0===t.sourcePos[3]&&(d-=o),1===t.sourcePos[3]&&(d+=o),0===t.targetPos[2]&&(f-=o),1===t.targetPos[2]&&(f+=o),0===t.targetPos[3]&&(p-=o),1===t.targetPos[3]&&(p+=o);var g,m,v,y,b,w,x,C,k=(h+f)/2,A=(d+p)/2,E=(w=d,C=p,(b=h)<=(x=f)&&C<=w?1:b<=x&&w<=C?2:x<=b&&C>=w?3:4),_=Math.sqrt(Math.pow(f-h,2)+Math.pow(p-d,2)),S=r.getGeometry();(this.hasBeenEdited()||this.isEditing())&&null!=S?(g=S.controlPoints[0][0],v=S.controlPoints[0][1],m=S.controlPoints[1][0],y=S.controlPoints[1][1]):(g=(n=function(e,t,n,r,i,o,s,a,l){return a<=l?[e,t]:1===n?r[3]<=0&&i[3]>=1?[e+(r[2]<.5?-1*o:o),t]:r[2]>=1&&i[2]<=0?[e,t+(r[3]<.5?-1*s:s)]:[e+-1*o,t+-1*s]:2===n?r[3]>=1&&i[3]<=0?[e+(r[2]<.5?-1*o:o),t]:r[2]>=1&&i[2]<=0?[e,t+(r[3]<.5?-1*s:s)]:[e+o,t+-1*s]:3===n?r[3]>=1&&i[3]<=0?[e+(r[2]<.5?-1*o:o),t]:r[2]<=0&&i[2]>=1?[e,t+(r[3]<.5?-1*s:s)]:[e+-1*o,t+-1*s]:4===n?r[3]<=0&&i[3]>=1?[e+(r[2]<.5?-1*o:o),t]:r[2]<=0&&i[2]>=1?[e,t+(r[3]<.5?-1*s:s)]:[e+o,t+-1*s]:void 0}(k,A,E,t.sourcePos,t.targetPos,i,i,_,s))[0],m=n[0],v=n[1],y=n[1],r.setGeometry({controlPoints:[n,n],sourcePos:a,targetPos:l,quadrant:E,curviness:i},!0)),r.addSegment(this,"Bezier",{x1:f,y1:p,x2:h,y2:d,cp1x:g,cp1y:v,cp2x:m,cp2y:y})}};e.Connectors.StateMachine=n,t.extend(n,e.Connectors.AbstractBezierConnector)}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil,n=function(t){this.type="Straight";var n=e.Connectors.AbstractConnector.apply(this,arguments);this._compute=function(e,t){n.addSegment(this,"Straight",{x1:e.sx,y1:e.sy,x2:e.startStubX,y2:e.startStubY}),n.addSegment(this,"Straight",{x1:e.startStubX,y1:e.startStubY,x2:e.endStubX,y2:e.endStubY}),n.addSegment(this,"Straight",{x1:e.endStubX,y1:e.endStubY,x2:e.tx,y2:e.ty})}};e.Connectors.Straight=n,t.extend(n,e.Connectors.AbstractConnector)}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil,n={"stroke-linejoin":"stroke-linejoin","stroke-dashoffset":"stroke-dashoffset","stroke-linecap":"stroke-linecap"},r="http://www.w3.org/2000/svg",i=function(e,t){for(var n in t)e.setAttribute(n,""+t[n])},o=function(t,n){return(n=n||{}).version="1.1",n.xmlns=r,e.createElementNS(r,t,null,null,n)},s=function(e){return"position:absolute;left:"+e[0]+"px;top:"+e[1]+"px"},a=function(e){for(var t=e.querySelectorAll(" defs,linearGradient,radialGradient"),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n])},l=function(e,t,r,i,s){if(t.setAttribute("fill",r.fill?r.fill:"none"),t.setAttribute("stroke",r.stroke?r.stroke:"none"),r.gradient?function(e,t,n,r,i){var s,l="jsplumb_gradient_"+i._jsPlumb.instance.idstamp();a(e),s=n.gradient.offset?o("radialGradient",{id:l}):o("linearGradient",{id:l,gradientUnits:"userSpaceOnUse"});var u=o("defs");e.appendChild(u),u.appendChild(s);for(var c=0;c<n.gradient.stops.length;c++){var h=1===i.segment||2===i.segment?c:n.gradient.stops.length-1-c,d=n.gradient.stops[h][1],f=o("stop",{offset:Math.floor(100*n.gradient.stops[c][0])+"%","stop-color":d});s.appendChild(f)}var p=n.stroke?"stroke":"fill";t.setAttribute(p,"url(#"+l+")")}(e,t,r,0,s):(a(e),t.setAttribute("style","")),r.strokeWidth&&t.setAttribute("stroke-width",r.strokeWidth),r.dashstyle&&r.strokeWidth&&!r["stroke-dasharray"]){var l=-1===r.dashstyle.indexOf(",")?" ":",",u="";r.dashstyle.split(l).forEach(function(e){u+=Math.floor(e*r.strokeWidth)+l}),t.setAttribute("stroke-dasharray",u)}else r["stroke-dasharray"]&&t.setAttribute("stroke-dasharray",r["stroke-dasharray"]);for(var c in n)r[c]&&t.setAttribute(n[c],r[c])},u=function(e,t,n){e.childNodes.length>n?e.insertBefore(t,e.childNodes[n]):e.appendChild(t)};t.svg={node:o,attr:i,pos:s};var c=function(n){var r=n.pointerEventsSpec||"all",a={};e.jsPlumbUIComponent.apply(this,n.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var l=n.cssClass+" "+(n.originalArgs[0].cssClass||""),u={style:"",width:0,height:0,"pointer-events":r,position:"absolute"};this.svg=o("svg",u),n.useDivWrapper?(this.canvas=e.createElement("div",{position:"absolute"}),t.sizeElement(this.canvas,0,0,1,1),this.canvas.className=l):(i(this.svg,{class:l}),this.canvas=this.svg),n._jsPlumb.appendElement(this.canvas,n.originalArgs[0].parent),n.useDivWrapper&&this.canvas.appendChild(this.svg);var c=[this.canvas];return this.getDisplayElements=function(){return c},this.appendDisplayElement=function(e){c.push(e)},this.paint=function(e,r,o){if(null!=e){var l,u=[this.x,this.y],c=[this.w,this.h];null!=o&&(o.xmin<0&&(u[0]+=o.xmin),o.ymin<0&&(u[1]+=o.ymin),c[0]=o.xmax+(o.xmin<0?-o.xmin:0),c[1]=o.ymax+(o.ymin<0?-o.ymin:0)),n.useDivWrapper?(t.sizeElement(this.canvas,u[0],u[1],c[0],c[1]),u[0]=0,u[1]=0,l=s([0,0])):l=s([u[0],u[1]]),a.paint.apply(this,arguments),i(this.svg,{style:l,width:c[0]||0,height:c[1]||0})}},{renderer:a}};t.extend(c,e.jsPlumbUIComponent,{cleanup:function(e){e||null==this.typeId?(this.canvas&&(this.canvas._jsPlumb=null),this.svg&&(this.svg._jsPlumb=null),this.bgCanvas&&(this.bgCanvas._jsPlumb=null),this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.path=null,this.group=null):(this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.bgCanvas.parentNode.removeChild(this.bgCanvas))},reattach:function(e){var t=e.getContainer();this.canvas&&null==this.canvas.parentNode&&t.appendChild(this.canvas),this.bgCanvas&&null==this.bgCanvas.parentNode&&t.appendChild(this.bgCanvas)},setVisible:function(e){this.canvas&&(this.canvas.style.display=e?"block":"none")}}),e.ConnectorRenderers.svg=function(t){var n=this,r=c.apply(this,[{cssClass:t._jsPlumb.connectorClass+(this.isEditable()?" "+t._jsPlumb.editableConnectorClass:""),originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:t._jsPlumb}]),s=this.setEditable;this.setEditable=function(t){var n=s.apply(this,[t]);e[n?"addClass":"removeClass"](this.canvas,this._jsPlumb.instance.editableConnectorClass)},r.renderer.paint=function(r,s,a){var c=n.getSegments(),h=[0,0];if(a.xmin<0&&(h[0]=-a.xmin),a.ymin<0&&(h[1]=-a.ymin),c.length>0){var d={d:n.getPathData(),transform:"translate("+h[0]+","+h[1]+")","pointer-events":t["pointer-events"]||"visibleStroke"},f=null;n.x,n.y,n.w,n.h;if(r.outlineStroke){var p=r.outlineWidth||1,g=r.strokeWidth+2*p;delete(f=e.extend({},r)).gradient,f.stroke=r.outlineStroke,f.strokeWidth=g,null==n.bgPath?(n.bgPath=o("path",d),e.addClass(n.bgPath,e.connectorOutlineClass),u(n.svg,n.bgPath,0)):i(n.bgPath,d),l(n.svg,n.bgPath,f,0,n)}null==n.path?(n.path=o("path",d),u(n.svg,n.path,r.outlineStroke?1:0)):i(n.path,d),l(n.svg,n.path,r,0,n)}}},t.extend(e.ConnectorRenderers.svg,c);var h=e.SvgEndpoint=function(t){c.apply(this,[{cssClass:t._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:t._jsPlumb}]).renderer.paint=function(t){var n=e.extend({},t);n.outlineStroke&&(n.stroke=n.outlineStroke),null==this.node?(this.node=this.makeNode(n),this.svg.appendChild(this.node)):null!=this.updateNode&&this.updateNode(this.node),l(this.svg,this.node,n,(this.x,this.y,this.w,this.h),this),s(this.node,(this.x,this.y))}.bind(this)};t.extend(h,c),e.Endpoints.svg.Dot=function(){e.Endpoints.Dot.apply(this,arguments),h.apply(this,arguments),this.makeNode=function(e){return o("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(e){i(e,{cx:this.w/2,cy:this.h/2,r:this.radius})}},t.extend(e.Endpoints.svg.Dot,[e.Endpoints.Dot,h]),e.Endpoints.svg.Rectangle=function(){e.Endpoints.Rectangle.apply(this,arguments),h.apply(this,arguments),this.makeNode=function(e){return o("rect",{width:this.w,height:this.h})},this.updateNode=function(e){i(e,{width:this.w,height:this.h})}},t.extend(e.Endpoints.svg.Rectangle,[e.Endpoints.Rectangle,h]),e.Connectors.svg.Flowchart=function(){e.Connectors.Flowchart.apply(this,arguments),e.ConnectorRenderers.svg.apply(this,arguments)},t.extend(e.Connectors.svg.Flowchart,[e.Connectors.Flowchart,e.ConnectorRenderers.svg]),e.Connectors.svg.Bezier=function(){e.Connectors.Bezier.apply(this,arguments),e.ConnectorRenderers.svg.apply(this,arguments)},t.extend(e.Connectors.svg.Bezier,[e.Connectors.Bezier,e.ConnectorRenderers.svg]),e.Connectors.svg.Straight=function(){e.Connectors.Straight.apply(this,arguments),e.ConnectorRenderers.svg.apply(this,arguments)},t.extend(e.Connectors.svg.Straight,[e.Connectors.Straight,e.ConnectorRenderers.svg]),e.Connectors.svg.StateMachine=function(){e.Connectors.StateMachine.apply(this,arguments),e.ConnectorRenderers.svg.apply(this,arguments)},t.extend(e.Connectors.svg.StateMachine,[e.Connectors.StateMachine,e.ConnectorRenderers.svg]),e.Endpoints.svg.Image=e.Endpoints.Image,e.Endpoints.svg.Blank=e.Endpoints.Blank,e.Overlays.svg.Label=e.Overlays.Label,e.Overlays.svg.Custom=e.Overlays.Custom;var d=function(t,n){t.apply(this,n),e.jsPlumbUIComponent.apply(this,n),this.isAppendedAtTopLevel=!1;this.path=null,this.paint=function(e,t){if(e.component.svg&&t){null==this.path&&(this.path=o("path",{"pointer-events":"all"}),e.component.svg.appendChild(this.path),this.elementCreated&&this.elementCreated(this.path,e.component),this.canvas=e.component.svg);var s=n&&1===n.length&&n[0].cssClass||"",a=[0,0];t.xmin<0&&(a[0]=-t.xmin),t.ymin<0&&(a[1]=-t.ymin),i(this.path,{d:r(e.d),class:s,stroke:e.stroke?e.stroke:null,fill:e.fill?e.fill:null,transform:"translate("+a[0]+","+a[1]+")"})}};var r=function(e){return isNaN(e.cxy.x)||isNaN(e.cxy.y)?"":"M"+e.hxy.x+","+e.hxy.y+" L"+e.tail[0].x+","+e.tail[0].y+" L"+e.cxy.x+","+e.cxy.y+" L"+e.tail[1].x+","+e.tail[1].y+" L"+e.hxy.x+","+e.hxy.y};this.transfer=function(e){e.canvas&&this.path&&this.path.parentNode&&(this.path.parentNode.removeChild(this.path),e.canvas.appendChild(this.path))}};t.extend(d,[e.jsPlumbUIComponent,e.Overlays.AbstractOverlay],{cleanup:function(e){null!=this.path&&(e?this._jsPlumb.instance.removeElement(this.path):this.path.parentNode&&this.path.parentNode.removeChild(this.path))},reattach:function(e,t){this.path&&t.canvas&&t.canvas.appendChild(this.path)},setVisible:function(e){null!=this.path&&(this.path.style.display=e?"block":"none")}}),e.Overlays.svg.Arrow=function(){d.apply(this,[e.Overlays.Arrow,arguments])},t.extend(e.Overlays.svg.Arrow,[e.Overlays.Arrow,d]),e.Overlays.svg.PlainArrow=function(){d.apply(this,[e.Overlays.PlainArrow,arguments])},t.extend(e.Overlays.svg.PlainArrow,[e.Overlays.PlainArrow,d]),e.Overlays.svg.Diamond=function(){d.apply(this,[e.Overlays.Diamond,arguments])},t.extend(e.Overlays.svg.Diamond,[e.Overlays.Diamond,d]),e.Overlays.svg.GuideLines=function(){var t,n,r=null,s=this;e.Overlays.GuideLines.apply(this,arguments),this.paint=function(e,l){null==r&&(r=o("path"),e.connector.svg.appendChild(r),s.attachListeners(r,e.connector),s.attachListeners(r,s),t=o("path"),e.connector.svg.appendChild(t),s.attachListeners(t,e.connector),s.attachListeners(t,s),n=o("path"),e.connector.svg.appendChild(n),s.attachListeners(n,e.connector),s.attachListeners(n,s));var u=[0,0];l.xmin<0&&(u[0]=-l.xmin),l.ymin<0&&(u[1]=-l.ymin),i(r,{d:a(e.head,e.tail),stroke:"red",fill:null,transform:"translate("+u[0]+","+u[1]+")"}),i(t,{d:a(e.tailLine[0],e.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+u[0]+","+u[1]+")"}),i(n,{d:a(e.headLine[0],e.headLine[1]),stroke:"green",fill:null,transform:"translate("+u[0]+","+u[1]+")"})};var a=function(e,t){return"M "+e.x+","+e.y+" L"+t.x+","+t.y}},t.extend(e.Overlays.svg.GuideLines,e.Overlays.GuideLines)}.call("undefined"!=typeof window?window:this),function(){"use strict";var e=this.jsPlumb,t=this.jsPlumbUtil,n=this.Katavorio,r=this.Biltong,i=function(t,i){var o="_katavorio_"+(i=i||"main"),s=t[o],a=t.getEventManager();return s||((s=new n({bind:a.on,unbind:a.off,getSize:e.getSize,getConstrainingRectangle:function(e){return[e.parentNode.scrollWidth,e.parentNode.scrollHeight]},getPosition:function(e,n){var r=t.getOffset(e,n,e._katavorioDrag?e.offsetParent:null);return[r.left,r.top]},setPosition:function(e,t){e.style.left=t[0]+"px",e.style.top=t[1]+"px"},addClass:e.addClass,removeClass:e.removeClass,intersects:r.intersects,indexOf:function(e,t){return e.indexOf(t)},scope:t.getDefaultScope(),css:{noSelect:t.dragSelectClass,droppable:"jtk-droppable",draggable:"jtk-draggable",drag:"jtk-drag",selected:"jtk-drag-selected",active:"jtk-drag-active",hover:"jtk-drag-hover",ghostProxy:"jtk-ghost-proxy"}})).setZoom(t.getZoom()),t[o]=s,t.bind("zoom",s.setZoom)),s};e.extend(this.jsPlumbInstance.prototype,{animationSupported:!0,getElement:function(e){return null==e?null:"string"==typeof(e="string"==typeof e?e:null!=e.length&&null==e.enctype?e[0]:e)?document.getElementById(e):e},removeElement:function(e){i(this).elementRemoved(e),this.getEventManager().remove(e)},doAnimate:function(n,r,i){i=i||{};var o=this.getOffset(n),s=function(e,n){var r=function(r){if(null!=n[r]){if(t.isString(n[r])){var i=n[r].match(/-=/)?-1:1,o=n[r].substring(2);return e[r]+i*o}return n[r]}return e[r]};return[r("left"),r("top")]}(o,r),a=s[0]-o.left,l=s[1]-o.top,u=i.duration||250,c=u/15,h=15/u*a,d=15/u*l,f=0,p=setInterval(function(){e.setPosition(n,{left:o.left+h*(f+1),top:o.top+d*(f+1)}),null!=i.step&&i.step(f,Math.ceil(c)),++f>=c&&(window.clearInterval(p),null!=i.complete&&i.complete())},15)},destroyDraggable:function(e,t){i(this,t).destroyDraggable(e)},unbindDraggable:function(e,t,n,r){i(this,r).destroyDraggable(e,t,n)},destroyDroppable:function(e,t){i(this,t).destroyDroppable(e)},unbindDroppable:function(e,t,n,r){i(this,r).destroyDroppable(e,t,n)},initDraggable:function(e,t,n){i(this,n).draggable(e,t)},initDroppable:function(e,t,n){i(this,n).droppable(e,t)},isAlreadyDraggable:function(e){return null!=e._katavorioDrag},isDragSupported:function(e,t){return!0},isDropSupported:function(e,t){return!0},isElementDraggable:function(t){return(t=e.getElement(t))._katavorioDrag&&t._katavorioDrag.isEnabled()},getDragObject:function(e){return e[0].drag.getDragElement()},getDragScope:function(e){return e._katavorioDrag&&e._katavorioDrag.scopes.join(" ")||""},getDropEvent:function(e){return e[0].e},getUIPosition:function(e,t){var n=e[0].el;if(null==n.offsetParent)return null;var r=e[0].finalPos||e[0].pos,i={left:r[0],top:r[1]};if(n._katavorioDrag&&n.offsetParent!==this.getContainer()){var o=this.getOffset(n.offsetParent);i.left+=o.left,i.top+=o.top}return i},setDragFilter:function(e,t,n){e._katavorioDrag&&e._katavorioDrag.setFilter(t,n)},setElementDraggable:function(t,n){(t=e.getElement(t))._katavorioDrag&&t._katavorioDrag.setEnabled(n)},setDragScope:function(e,t){e._katavorioDrag&&e._katavorioDrag.k.setDragScope(e,t)},setDropScope:function(e,t){e._katavorioDrop&&e._katavorioDrop.length>0&&e._katavorioDrop[0].k.setDropScope(e,t)},addToPosse:function(t,n){var r=Array.prototype.slice.call(arguments,1),o=i(this);e.each(t,function(t){(t=[e.getElement(t)]).push.apply(t,r),o.addToPosse.apply(o,t)})},setPosse:function(t,n){var r=Array.prototype.slice.call(arguments,1),o=i(this);e.each(t,function(t){(t=[e.getElement(t)]).push.apply(t,r),o.setPosse.apply(o,t)})},removeFromPosse:function(t,n){var r=Array.prototype.slice.call(arguments,1),o=i(this);e.each(t,function(t){(t=[e.getElement(t)]).push.apply(t,r),o.removeFromPosse.apply(o,t)})},removeFromAllPosses:function(t){var n=i(this);e.each(t,function(t){n.removeFromAllPosses(e.getElement(t))})},setPosseState:function(t,n,r){var o=i(this);e.each(t,function(t){o.setPosseState(e.getElement(t),n,r)})},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete",beforeStart:"beforeStart"},animEvents:{step:"step",complete:"complete"},stopDrag:function(e){e._katavorioDrag&&e._katavorioDrag.abort()},addToDragSelection:function(e){i(this).select(e)},removeFromDragSelection:function(e){i(this).deselect(e)},clearDragSelection:function(){i(this).deselectAll()},trigger:function(e,t,n,r){this.getEventManager().trigger(e,t,n,r)},doReset:function(){for(var e in this)0===e.indexOf("_katavorio_")&&this[e].reset()}});var o,s;o=e.init,(s=function(){/complete|loaded|interactive/.test(document.readyState)&&void 0!==document.body&&null!=document.body?o():setTimeout(s,9)})()}.call("undefined"!=typeof window?window:this)},function(e,t,n){(function(e,r){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(a(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,s=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),l=r[n];n<o;l=r[++n])g(l)||!w(l)?s+=" "+l:s+=" "+a(l);return s},t.deprecate=function(n,i){if(y(e.process))return function(){return t.deprecate(n,i).apply(this,arguments)};if(!0===r.noDeprecation)return n;var o=!1;return function(){if(!o){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),o=!0}return n.apply(this,arguments)}};var o,s={};function a(e,n){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&t._extend(r,n),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),c(r,e,r.depth)}function l(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function u(e,t){return e}function c(e,n,r){if(e.customInspect&&n&&k(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return v(i)||(i=c(e,i,r)),i}var o=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,n);if(o)return o;var s=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),C(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return h(n);if(0===s.length){if(k(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return e.stylize(Date.prototype.toString.call(n),"date");if(C(n))return h(n)}var u,w="",A=!1,E=["{","}"];(f(n)&&(A=!0,E=["[","]"]),k(n))&&(w=" [Function"+(n.name?": "+n.name:"")+"]");return b(n)&&(w=" "+RegExp.prototype.toString.call(n)),x(n)&&(w=" "+Date.prototype.toUTCString.call(n)),C(n)&&(w=" "+h(n)),0!==s.length||A&&0!=n.length?r<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),u=A?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)S(t,String(s))?o.push(d(e,t,n,r,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(d(e,t,n,r,i,!0))}),o}(e,n,r,a,s):s.map(function(t){return d(e,n,r,a,t,A)}),e.seen.pop(),function(e,t,n){if(e.reduce(function(e,t){return 0,t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(u,w,E)):E[0]+w+E[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i,o){var s,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),S(r,i)||(s="["+i+"]"),a||(e.seen.indexOf(l.value)<0?(a=g(n)?c(e,l.value,null):c(e,l.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),y(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function v(e){return"string"==typeof e}function y(e){return void 0===e}function b(e){return w(e)&&"[object RegExp]"===A(e)}function w(e){return"object"==typeof e&&null!==e}function x(e){return w(e)&&"[object Date]"===A(e)}function C(e){return w(e)&&("[object Error]"===A(e)||e instanceof Error)}function k(e){return"function"==typeof e}function A(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(y(o)&&(o=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(o)){var n=r.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else s[e]=function(){};return s[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=f,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=y,t.isRegExp=b,t.isObject=w,t.isDate=x,t.isError=C,t.isFunction=k,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(500);var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(e=new Date,n=[E(e.getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":"),[e.getDate(),_[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(132),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,n(99),n(151))},function(e,t,n){"use strict";var r=n(509),i={syntax:{},isStrict:function(){return this.directive["use strict"]||this.inClassBody||this.option.module||"implied"===this.option.strict},stmtMissingStrict:function(){return"global"===this.option.strict||!1!==this.option.strict&&!!this.option.globalstrict},allowsGlobalUsd:function(){return"global"===this.option.strict||this.option.globalstrict||this.option.module||this.impliedClosure()},impliedClosure:function(){return this.option.node||this.option.phantom||this.option.browserify},inMoz:function(){return this.option.moz},inES6:function(e){return e?6===this.esVersion:this.option.moz||this.esVersion>=6},inES5:function(e){return e?!(this.esVersion&&5!==this.esVersion||this.option.moz):!this.esVersion||this.esVersion>=5||this.option.moz},inferEsVersion:function(){var e=null;if(this.option.esversion){if(this.option.es3?e="es3":this.option.es5?e="es5":this.option.esnext&&(e="esnext"),e)return e;2015===this.option.esversion?this.esVersion=6:this.esVersion=this.option.esversion}else this.option.es3?this.esVersion=3:this.option.esnext&&(this.esVersion=6);return null},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.esVersion=5,this.funct=null,this.ignored={},this.directive=Object.create(null),this.jsonMode=!1,this.lines=[],this.tab="",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new r,this.inClassBody=!1}};t.state=i},function(e,t,n){"use strict";t.unsafeString=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,t.needEsc=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,t.needEscGlobal=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,t.starSlash=/\*\//,t.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,t.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i,t.fallsThrough=/^\s*falls?\sthrough\s*$/,t.maxlenException=/^(?:(?:\/\/|\/\*|\*) ?)?[^ ]+$/,t.whitespace=/[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/},function(e,t,n){
/*!
* JSHint, by JSHint Community.
*
* This file (and this file only) is licensed under the same slightly modified
* MIT license that JSLint is. It stops evil-doers everywhere:
*
* Copyright (c) 2002 Douglas Crockford (www.JSLint.com)
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom
* the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* The Software shall be used for Good, not Evil.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
var r=n(173),i=n(143),o=n(512),s=n(511),a=n(510).Lexer,l=n(303),u=n(302).state,c=n(504),h=n(503),d=n(502),f=(n(501),function(){"use strict";var e,t,n,p,g,m,v,y,b,w,x,C={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},k=[],A=new i.EventEmitter;function E(e,t){return e=e.trim(),!!/^[+-]W\d{3}$/g.test(e)||(!(-1===h.validNames.indexOf(e)&&"jslint"!==t.type&&!r.has(h.removed,e))||(P("E001",t,e),!1))}function _(e,t){return!!e&&!(!e.identifier||e.value!==t)}function S(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReservedWord){if(t.moduleOnly&&!u.option.module)return!1;if(u.inES5()){if(!t.es5)return!1;if(t.strictOnly&&!u.option.strict&&!u.isStrict())return!1;if(e.isProperty)return!1}}return!0}function F(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return"string"==typeof r||"number"==typeof r?r:e})}function D(e,t){Object.keys(t).forEach(function(n){r.has(f.blacklist,n)||(e[n]=t[n])})}function T(){var e;!function(){if(u.option.enforceall){for(var e in h.bool.enforcing)void 0!==u.option[e]||h.noenforceall[e]||(u.option[e]=!0);for(var t in h.bool.relaxing)void 0===u.option[t]&&(u.option[t]=!1)}}(),(e=u.inferEsVersion())&&B("E059",u.tokens.next,"esversion",e),u.inES5()&&D(w,o.ecmaIdentifiers[5]),u.inES6()&&D(w,o.ecmaIdentifiers[6]),"global"===u.option.strict&&"globalstrict"in u.option&&B("E059",u.tokens.next,"strict","globalstrict"),u.option.module&&(u.inES6()||M("W134",u.tokens.next,"module",6)),u.option.couch&&D(w,o.couch),u.option.qunit&&D(w,o.qunit),u.option.rhino&&D(w,o.rhino),u.option.shelljs&&(D(w,o.shelljs),D(w,o.node)),u.option.typed&&D(w,o.typed),u.option.phantom&&D(w,o.phantom),u.option.prototypejs&&D(w,o.prototypejs),u.option.node&&(D(w,o.node),D(w,o.typed)),u.option.devel&&D(w,o.devel),u.option.dojo&&D(w,o.dojo),u.option.browser&&(D(w,o.browser),D(w,o.typed)),u.option.browserify&&(D(w,o.browser),D(w,o.typed),D(w,o.browserify)),u.option.nonstandard&&D(w,o.nonstandard),u.option.jasmine&&D(w,o.jasmine),u.option.jquery&&D(w,o.jquery),u.option.mootools&&D(w,o.mootools),u.option.worker&&D(w,o.worker),u.option.wsh&&D(w,o.wsh),u.option.yui&&D(w,o.yui),u.option.mocha&&D(w,o.mocha)}function B(e,t,n,r){var i=Math.floor(t.line/u.lines.length*100),o=s.errors[e].desc,a={name:"JSHintError",line:t.line,character:t.from,message:o+" ("+i+"% scanned).",raw:o,code:e,a:n,b:r};throw a.reason=F(o,a)+" ("+i+"% scanned).",a}function L(){var e=u.ignoredLines;r.isEmpty(e)||(f.errors=r.reject(f.errors,function(t){return e[t.line]}))}function M(e,t,n,r,i,o){var a,l,c,h;if(/^W\d{3}$/.test(e)){if(u.ignored[e])return;h=s.warnings[e]}else/E\d{3}/.test(e)?h=s.errors[e]:/I\d{3}/.test(e)&&(h=s.info[e]);return"(end)"===(t=t||u.tokens.next||{}).id&&(t=u.tokens.curr),l=t.line,a=t.from,(c={id:"(error)",raw:h.desc,code:h.code,evidence:u.lines[l-1]||"",line:l,character:a,scope:f.scope,a:n,b:r,c:i,d:o}).reason=F(h.desc,c),f.errors.push(c),L(),f.errors.length>=u.option.maxerr&&B("E043",t),c}function O(e,t,n,r,i,o,s){return M(e,{line:t,from:n},r,i,o,s)}function P(e,t,n,r,i,o){M(e,t,n,r,i,o)}function R(e,t,n,r,i,o,s){return P(e,{line:t,from:n},r,i,o,s)}function j(e,t){f.internals.push({id:"(internal)",elem:e,token:t,code:t.value.replace(/([^\\])(\\*)\2\\n/g,"$1\n")})}function I(e,n){var i=e.body.split(",").map(function(e){return e.trim()}),o={};if("falls through"!==e.type){if("globals"===e.type)for(var s in i.forEach(function(t,n){var r=(t=t.split(":"))[0].trim(),s=(t[1]||"").trim();if("-"!==r&&r.length)"-"===r.charAt(0)?(r=r.slice(1),s=!1,f.blacklist[r]=r,delete w[r]):o[r]="true"===s;else{if(n>0&&n===i.length-1)return;P("E002",e)}}),D(w,o),o)r.has(o,s)&&(t[s]=e);"exported"===e.type&&i.forEach(function(t,n){if(t.length)u.funct["(scope)"].addExported(t);else{if(n>0&&n===i.length-1)return;P("E002",e)}}),"members"===e.type&&(b=b||{},i.forEach(function(e){var t=e.charAt(0);t!==e.charAt(e.length-1)||'"'!==t&&"'"!==t||(e=e.substr(1,e.length-2).replace('\\"','"')),b[e]=!1}));var a=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];"jshint"!==e.type&&"jslint"!==e.type||(i.forEach(function(t){var n=(t=t.split(":"))[0].trim(),r=(t[1]||"").trim();if(E(n,e))if(a.indexOf(n)>=0)if("false"!==r){if("number"!=typeof(r=+r)||!isFinite(r)||r<=0||Math.floor(r)!==r)return void P("E032",e,t[1].trim());u.option[n]=r}else u.option[n]="indent"===n&&4;else{if("validthis"===n)return u.funct["(global)"]?void P("E009"):"true"!==r&&"false"!==r?void P("E002",e):void(u.option.validthis="true"===r);if("quotmark"!==n)if("shadow"!==n)if("unused"!==n)if("latedef"!==n)if("ignore"!==n)if("strict"!==n)if("module"===n&&(Te(u.funct)||P("E055",e,"module")),"esversion"!==n){var i,o=/^([+-])(W\d{3})$/g.exec(n);if(o)u.ignored[o[2]]="-"===o[1];else"true"!==r&&"false"!==r?P("E002",e):"jslint"===e.type?(i=h.renamed[n]||n,u.option[i]="true"===r,void 0!==h.inverted[i]&&(u.option[i]=!u.option[i])):u.option[n]="true"===r}else{switch(r){case"3":case"5":case"6":case"2015":u.option.moz=!1,u.option.esversion=+r;break;default:P("E002",e)}Te(u.funct)||P("E055",e,"esversion")}else switch(r){case"true":u.option.strict=!0;break;case"false":u.option.strict=!1;break;case"global":case"implied":u.option.strict=r;break;default:P("E002",e)}else switch(r){case"line":u.ignoredLines[e.line]=!0,L();break;default:P("E002",e)}else switch(r){case"true":u.option.latedef=!0;break;case"false":u.option.latedef=!1;break;case"nofunc":u.option.latedef="nofunc";break;default:P("E002",e)}else switch(r){case"true":u.option.unused=!0;break;case"false":u.option.unused=!1;break;case"vars":case"strict":u.option.unused=r;break;default:P("E002",e)}else switch(r){case"true":u.option.shadow=!0;break;case"outer":u.option.shadow="outer";break;case"false":case"inner":u.option.shadow="inner";break;default:P("E002",e)}else switch(r){case"true":case"false":u.option.quotmark="true"===r;break;case"double":case"single":u.option.quotmark=r;break;default:P("E002",e)}}}),T())}else n.caseFallsThrough=!0}function N(e){var t,n=e||0,r=m.length;if(n<r)return m[n];for(;r<=n;){if(!(t=v.token()))return m.length?m[r-1]:u.tokens.next;m[r]=t,r+=1}return t}function $(){var e,t=0;do{e=N(t++)}while("(endline)"===e.id);return e}function W(e,t){switch(u.tokens.curr.id){case"(number)":"."===u.tokens.next.id&&M("W005",u.tokens.curr);break;case"-":"-"!==u.tokens.next.id&&"--"!==u.tokens.next.id||M("W006");break;case"+":"+"!==u.tokens.next.id&&"++"!==u.tokens.next.id||M("W007")}for(e&&u.tokens.next.id!==e&&(t?"(end)"===u.tokens.next.id?P("E019",t,t.id):P("E020",u.tokens.next,e,t.id,t.line,u.tokens.next.value):"(identifier)"===u.tokens.next.type&&u.tokens.next.value===e||M("W116",u.tokens.next,e,u.tokens.next.value)),u.tokens.prev=u.tokens.curr,u.tokens.curr=u.tokens.next;;){if(u.tokens.next=m.shift()||v.token(),u.tokens.next||B("E041",u.tokens.curr),"(end)"===u.tokens.next.id||"(error)"===u.tokens.next.id)return;if(u.tokens.next.check&&u.tokens.next.check(),u.tokens.next.isSpecial)I(u.tokens.next,u.tokens.curr);else if("(endline)"!==u.tokens.next.id)break}}function H(e,t){return 0===arguments.length&&(e=u.tokens.curr,t=u.tokens.next),";"===t.id||"}"===t.id||":"===t.id||(t.infix===e.infix||"after"===e.ltBoundary||"before"===t.ltBoundary)&&e.line!==U(t)}function z(e,t){var n,r=!1,i=!1,o=!1;if(u.nameStack.push(),t||"let"!==u.tokens.next.value||"("!==N(0).value||(u.inMoz()||M("W118",u.tokens.next,"let expressions"),o=!0,u.funct["(scope)"].stack(),W("let"),W("("),u.tokens.prev.fud(),W(")")),"(end)"===u.tokens.next.id&&P("E006",u.tokens.curr),W(),t&&(u.funct["(verb)"]=u.tokens.curr.value,u.tokens.curr.beginsStmt=!0),!0===t&&u.tokens.curr.fud)n=u.tokens.curr.fud();else for(u.tokens.curr.nud?n=u.tokens.curr.nud(e):P("E030",u.tokens.curr,u.tokens.curr.id);e<u.tokens.next.lbp&&!H();)r="Array"===u.tokens.curr.value,i="Object"===u.tokens.curr.value,n&&(n.value||n.first&&n.first.value)&&("new"!==n.value||n.first&&n.first.value&&"."===n.first.value)&&(r=!1,n.value!==u.tokens.curr.value&&(i=!1)),W(),r&&"("===u.tokens.curr.id&&")"===u.tokens.next.id&&M("W009",u.tokens.curr),i&&"("===u.tokens.curr.id&&")"===u.tokens.next.id&&M("W010",u.tokens.curr),n&&u.tokens.curr.led?n=u.tokens.curr.led(n):P("E033",u.tokens.curr,u.tokens.curr.id);return o&&u.funct["(scope)"].unstack(),u.nameStack.pop(),n}function U(e){return e.startLine||e.line}function V(e,t){u.option.laxbreak||e.line===U(t)||M("W014",t,t.value)}function G(e){(e=e).line!==U(u.tokens.next)&&M("E022",e,e.value)}function K(e,t){e.line!==U(t)&&(u.option.laxcomma||(q.first&&(M("I001"),q.first=!1),M("W014",e,t.value)))}function q(e){if((e=e||{}).peek?K(u.tokens.prev,u.tokens.curr):(K(u.tokens.curr,u.tokens.next),W(",")),u.tokens.next.identifier&&(!e.property||!u.inES5()))switch(u.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return P("E024",u.tokens.next,u.tokens.next.value),!1}if("(punctuator)"===u.tokens.next.type)switch(u.tokens.next.value){case"}":case"]":case",":if(e.allowTrailing)return!0;case")":return P("E024",u.tokens.next,u.tokens.next.value),!1}return!0}function Y(e,t){var n=u.syntax[e];return n&&"object"==typeof n||(u.syntax[e]=n={id:e,lbp:t,value:e}),n}function X(e){var t=Y(e,0);return t.delim=!0,t}function Z(e,t){var n=X(e);return n.identifier=n.reserved=!0,n.fud=t,n}function J(e,t){var n=Z(e,t);return n.block=!0,n}function Q(e){var t=e.id.charAt(0);return(t>="a"&&t<="z"||t>="A"&&t<="Z")&&(e.identifier=e.reserved=!0),e}function ee(e,t){var n=Y(e,150);return Q(n),n.nud="function"==typeof t?t:function(){return this.arity="unary",this.right=z(150),"++"!==this.id&&"--"!==this.id||(u.option.plusplus&&M("W016",this,this.id),this.right&&ce(this.right,this)),this},n}function te(e,t){var n=X(e);return n.type=e,n.nud=t,n}function ne(e,t){var n=te(e,t);return n.identifier=!0,n.reserved=!0,n}function re(e,t){var n=te(e,t&&t.nud||function(){return this});return(t=t||{}).isFutureReservedWord=!0,n.value=e,n.identifier=!0,n.reserved=!0,n.meta=t,n}function ie(e,t){return ne(e,function(){return"function"==typeof t&&t(this),this})}function oe(e,t,n,r){var i=Y(e,n);return Q(i),i.infix=!0,i.led=function(i){return r||V(u.tokens.prev,u.tokens.curr),"in"!==e&&"instanceof"!==e||"!"!==i.id||M("W018",i,"!"),"function"==typeof t?t(i,this):(this.left=i,this.right=z(n),this)},i}function se(e,t){var n=Y(e,100);return n.infix=!0,n.led=function(e){V(u.tokens.prev,u.tokens.curr),this.left=e;var n=this.right=z(100);return _(e,"NaN")||_(n,"NaN")?M("W019",this):t&&t.apply(this,[e,n]),e&&n||B("E041",u.tokens.curr),"!"===e.id&&M("W018",e,"!"),"!"===n.id&&M("W018",n,"!"),this},n}var ae={};function le(e,t,n){var i;return!n.option.notypeof&&(!(!e||!t)&&(i=n.inES6()?ae.es6:ae.es3,"(identifier)"===t.type&&"typeof"===t.value&&"(string)"===e.type&&!r.includes(i,e.value)))}function ue(e,t){var n=!1;return"this"===e.type&&null===t.funct["(context)"]?n=!0:"(identifier)"===e.type&&(t.option.node&&"global"===e.value?n=!0:!t.option.browser||"window"!==e.value&&"document"!==e.value||(n=!0)),n}function ce(e,t,n){var r=n&&n.allowDestructuring;if(t=t||e,u.option.freeze){var i=function(e){var t=["Array","ArrayBuffer","Boolean","Collator","DataView","Date","DateTimeFormat","Error","EvalError","Float32Array","Float64Array","Function","Infinity","Intl","Int16Array","Int32Array","Int8Array","Iterator","Number","NumberFormat","Object","RangeError","ReferenceError","RegExp","StopIteration","String","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError"],n=function e(t){if("object"==typeof t)return"prototype"===t.right?t:e(t.left)}(e);if(n)return function(e){for(;!e.identifier&&"object"==typeof e.left;)e=e.left;if(e.identifier&&t.indexOf(e.value)>=0&&u.funct["(scope)"].isPredefined(e.value))return e.value}(n)}(e);i&&M("W121",e,i)}return qe(e,"...")&&(e=e.right),e.identifier&&!e.isMetaProperty&&u.funct["(scope)"].block.reassign(e.value,e),"."===e.id?(e.left&&("arguments"!==e.left.value||u.isStrict())||M("W143",t),u.nameStack.set(u.tokens.prev),!0):"{"===e.id||"["===e.id?(r&&e.destructAssign||("{"!==e.id&&e.left?"arguments"!==e.left.value||u.isStrict()||M("W143",t):M("E031",t)),"["===e.id&&u.nameStack.set(e.right),!0):!e.identifier||S(e)||e.isMetaProperty||"eval"===e.value||"arguments"===e.value?(P("E031",t),!1):("exception"===u.funct["(scope)"].labeltype(e.value)&&M("W022",e),u.nameStack.set(e),!0)}function he(e,t,n){var r=oe(e,"function"==typeof t?t:function(e,t){return t.left=e,ce(e,t,{allowDestructuring:!0}),t.right=z(10),t},n);return r.exps=!0,r.assign=!0,r}function de(e,t,n){var r=Y(e,n);return Q(r),r.infix=!0,r.led="function"==typeof t?t:function(e){return u.option.bitwise&&M("W016",this,this.id),this.left=e,this.right=z(n),this},r}function fe(e){return he(e,function(e,t){return u.option.bitwise&&M("W016",t,t.id),ce(e,t),t.right=z(10),t},20)}function pe(e){var t=Y(e,150);return t.led=function(e){return u.option.plusplus&&M("W016",this,this.id),ce(e,this),this.left=e,this},t}function ge(e,t){if(u.tokens.next.identifier){t||W();var n=u.tokens.curr,r=u.tokens.curr.value;return S(n)?e&&u.inES5()?r:(M("W024",u.tokens.curr,u.tokens.curr.id),r):r}}function me(e){var t=ge(e,!1);if(t)return t;if("..."===u.tokens.next.value){if(u.inES6(!0)||M("W119",u.tokens.next,"spread/rest operator","6"),W(),qe(u.tokens.next,"..."))for(M("E024",u.tokens.next,"...");qe(u.tokens.next,"...");)W();return u.tokens.next.identifier?me(e):void M("E024",u.tokens.curr,u.tokens.next.id)}P("E030",u.tokens.next,u.tokens.next.value),";"!==u.tokens.next.id&&W()}function ve(e){var t,n=0;if(";"===u.tokens.next.id&&!e.inBracelessBlock)for(;;){do{t=N(n),n+=1}while("(end)"!==t.id&&"(comment)"===t.id);if(t.reach)return;if("(endline)"!==t.id){if("function"===t.id){!0===u.option.latedef&&M("W026",t);break}M("W027",t,t.value,e.value);break}}}function ye(e){if(";"!==u.tokens.next.id){if(u.tokens.next.isUnclosed)return W();var t=U(u.tokens.next)===u.tokens.curr.line&&"(end)"!==u.tokens.next.id,n=qe(u.tokens.next,"}");!t||n||"do"===e.id&&u.inES6(!0)?u.option.asi||n&&t&&u.option.lastsemic||O("W033",u.tokens.curr.line,u.tokens.curr.character):R("E058",u.tokens.curr.line,u.tokens.curr.character)}else W(";")}function be(){var e,t=g,n=u.tokens.next,r=!1;if(";"!==n.id){var i=S(n);return i&&n.meta&&n.meta.isFutureReservedWord&&":"===N().id&&(M("W024",n,n.id),i=!1),n.identifier&&!i&&":"===N().id&&(W(),W(":"),r=!0,u.funct["(scope)"].stack(),u.funct["(scope)"].block.addBreakLabel(n.value,{token:u.tokens.curr}),u.tokens.next.labelled||"{"===u.tokens.next.value||M("W028",u.tokens.next,n.value,u.tokens.next.value),n=u.tokens.next),"{"===n.id?(Ce(!0,!0,!1,!1,"case"===u.funct["(verb)"]&&":"===u.tokens.curr.value),void(r&&u.funct["(scope)"].unstack())):(!(e=z(0,!0))||e.identifier&&"function"===e.value||"(punctuator)"===e.type&&e.left&&e.left.identifier&&"function"===e.left.value||!u.isStrict()&&u.stmtMissingStrict()&&M("E007"),n.block||(u.option.expr||e&&e.exps?u.option.nonew&&e&&e.left&&"("===e.id&&"new"===e.left.id&&M("W031",n):M("W030",u.tokens.curr),ye(n)),g=t,r&&u.funct["(scope)"].unstack(),e)}W(";")}function we(){for(var e,t=[];!u.tokens.next.reach&&"(end)"!==u.tokens.next.id;)";"===u.tokens.next.id?((!(e=N())||"("!==e.id&&"["!==e.id)&&M("W032"),W(";")):t.push(be());return t}function xe(){for(var e=u.tokens.next;"(string)"===u.tokens.next.id;){var t=$();if(!H(e,t))break;e=t,W();var n=u.tokens.curr.value;(u.directive[n]||"use strict"===n&&"implied"===u.option.strict)&&M("W034",u.tokens.curr,n),u.directive[n]=!0,ye(e)}u.isStrict()&&(u.option.undef=!0)}function Ce(e,t,n,r,i){var o,s,a,l,c=p,h=g;p=e,a=u.tokens.next;var d=u.funct["(metrics)"];if(d.nestedBlockDepth+=1,d.verifyMaxNestedBlockDepthPerFunction(),"{"===u.tokens.next.id){if(W("{"),u.funct["(scope)"].stack(),u.funct["(noblockscopedvar)"]=!1,"}"!==u.tokens.next.id){for(g+=u.option.indent;!e&&u.tokens.next.from>g;)g+=u.option.indent;if(n){for(l in s={},u.directive)s[l]=u.directive[l];xe(),u.funct["(isStrict)"]=u.isStrict(),u.option.strict&&u.funct["(context)"]["(global)"]&&(s["use strict"]||u.isStrict()||M("E007"))}o=we(),d.statementCount+=o.length,g-=u.option.indent}else n&&(u.funct["(isStrict)"]=u.isStrict());W("}",a),n&&(u.funct["(scope)"].validateParams(r),s&&(u.directive=s)),u.funct["(scope)"].unstack(),g=h}else e?(u.funct["(noblockscopedvar)"]="for"!==u.tokens.next.id,u.funct["(scope)"].stack(),t&&!u.option.curly||M("W116",u.tokens.next,"{",u.tokens.next.value),u.tokens.next.inBracelessBlock=!0,g+=u.option.indent,o=[be()],g-=u.option.indent,u.funct["(scope)"].unstack(),delete u.funct["(noblockscopedvar)"]):n?(u.funct["(scope)"].stack(),!t||r||u.inMoz()||P("W118",u.tokens.curr,"function closure expressions"),r&&u.funct["(scope)"].validateParams(!0),z(10),u.option.strict&&u.funct["(context)"]["(global)"]&&(u.isStrict()||M("E007")),u.funct["(scope)"].unstack()):P("E021",u.tokens.next,"{",u.tokens.next.value);switch(u.funct["(verb)"]){case"break":case"continue":case"return":case"throw":if(i)break;default:u.funct["(verb)"]=null}return p=c,!e||!u.option.noempty||o&&0!==o.length||M("W035",u.tokens.prev),d.nestedBlockDepth-=1,o}function ke(e){b&&"boolean"!=typeof b[e]&&M("W036",u.tokens.curr,e),"number"==typeof y[e]?y[e]+=1:y[e]=1}ae.legacy=["xml","unknown"],ae.es3=["undefined","boolean","number","string","function","object"],ae.es3=ae.es3.concat(ae.legacy),ae.es6=ae.es3.concat("symbol"),te("(number)",function(){return this}),te("(string)",function(){return this}),u.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var e=this.value;return"=>"===u.tokens.next.id?this:(u.funct["(comparray)"].check(e)||u.funct["(scope)"].block.use(e,u.tokens.curr),this)},led:function(){P("E033",u.tokens.next,u.tokens.next.value)}};var Ae,Ee={identifier:!1,template:!0};u.syntax["(template)"]=r.extend({lbp:155,type:"(template)",nud:Be,led:Be,noSubst:!1},Ee),u.syntax["(template middle)"]=r.extend({lbp:0,type:"(template middle)",noSubst:!1},Ee),u.syntax["(template tail)"]=r.extend({lbp:0,type:"(template tail)",tail:!0,noSubst:!1},Ee),u.syntax["(no subst template)"]=r.extend({lbp:155,type:"(template)",nud:Be,led:Be,noSubst:!0,tail:!0},Ee),te("(regexp)",function(){return this}),X("(endline)"),(Ae=X("(begin)")).line=Ae.from=0,X("(end)").reach=!0,X("(error)").reach=!0,X("}").reach=!0,X(")"),X("]"),X('"').reach=!0,X("'").reach=!0,X(";"),X(":").reach=!0,X("#"),ne("else"),ne("case").reach=!0,ne("catch"),ne("default").reach=!0,ne("finally"),ne("true",function(){return this}),ne("false",function(){return this}),ie("null"),ie("this",function(e){u.isStrict()&&!(u.funct["(statement)"]&&"class"===u.funct["(statement)"].type||u.funct["(context)"]&&"class"===u.funct["(context)"]["(verb)"])&&!u.option.validthis&&(u.funct["(statement)"]&&u.funct["(name)"].charAt(0)>"Z"||u.funct["(global)"])&&M("W040",e)}),he("=","assign",20),he("+=","assignadd",20),he("-=","assignsub",20),he("*=","assignmult",20),he("/=","assigndiv",20).nud=function(){P("E014")},he("%=","assignmod",20),fe("&="),fe("|="),fe("^="),fe("<<="),fe(">>="),fe(">>>="),oe(",",function(e,t){var n;if(t.exprs=[e],u.option.nocomma&&M("W127"),!q({peek:!0}))return t;for(;(n=z(10))&&(t.exprs.push(n),","===u.tokens.next.value&&q()););return t},10,!0),oe("?",function(e,t){return Oe(),t.left=e,t.right=z(10),W(":"),z(10),t},30);function _e(e){return e.identifier||"(string)"===e.id||"(number)"===e.id}function Se(e){var t,n=!0;return(t="object"==typeof e?e:ge(!0,n=e))?"object"==typeof t&&("(string)"===t.id||"(identifier)"===t.id?t=t.value:"(number)"===t.id&&(t=t.value.toString())):"(string)"===u.tokens.next.id?(t=u.tokens.next.value,n||W()):"(number)"===u.tokens.next.id&&(t=u.tokens.next.value.toString(),n||W()),"hasOwnProperty"===t&&M("W001"),t}function Fe(e,t,n){var i={"(name)":e,"(breakage)":0,"(loopage)":0,"(isStrict)":"unknown","(global)":!1,"(line)":null,"(character)":null,"(metrics)":null,"(statement)":null,"(context)":null,"(scope)":null,"(comparray)":null,"(generator)":null,"(arrow)":null,"(params)":null};return t&&r.extend(i,{"(line)":t.line,"(character)":t.character,"(metrics)":Me(t)}),r.extend(i,n),i["(context)"]&&(i["(scope)"]=i["(context)"]["(scope)"],i["(comparray)"]=i["(context)"]["(comparray)"]),i}function De(e){return"(scope)"in e}function Te(e){return e["(global)"]&&!e["(verb)"]}function Be(e){var t=this.context,n=this.noSubst,r=this.depth,i="number"==typeof e?null:e;if(!n)for(;!o();)!u.tokens.next.template||u.tokens.next.depth>r?z(0):W();return{id:"(template)",type:"(template)",tag:i};function o(){if(u.tokens.curr.template&&u.tokens.curr.tail&&u.tokens.curr.context===t)return!0;var e=u.tokens.next.template&&u.tokens.next.tail&&u.tokens.next.context===t;return e&&W(),e||u.tokens.next.isUnclosed}}function Le(e){var t,i,o,s,a,l,c,h,d,f=u.option,p=u.ignored;e&&(o=e.name,s=e.statement,a=e.classExprBinding,l="generator"===e.type,c="arrow"===e.type,h=e.isMethod,d=e.ignoreLoopFunc),u.option=Object.create(u.option),u.ignored=Object.create(u.ignored),u.funct=Fe(o||u.nameStack.infer(),u.tokens.next,{"(statement)":s,"(context)":u.funct,"(arrow)":c,"(method)":h,"(generator)":l}),t=u.funct,i=u.tokens.curr,n.push(u.funct),u.funct["(scope)"].stack("functionouter");var g=o||a;g&&u.funct["(scope)"].block.add(g,a?"class":"function",u.tokens.curr,!1),c||u.funct["(scope)"].funct.add("arguments","var",i,!1),u.funct["(scope)"].stack("functionparams");var m=function(e){var t,n,i,o=[],s=[],a=!1,l=!1,c=0,h=e&&e.loneArg;if(h&&!0===h.identifier)return u.funct["(scope)"].addParam(h.value,h),{arity:1,params:[h.value]};if(t=u.tokens.next,e&&e.parsedOpening||W("("),")"!==u.tokens.next.id)for(;;){c++;var d=[];if(r.includes(["{","["],u.tokens.next.id))for(i in s=je())(i=s[i]).id&&(o.push(i.id),d.push([i.id,i.token]));else if(qe(u.tokens.next,"...")&&(l=!0),n=me())o.push(n),d.push([n,u.tokens.curr]);else for(;!Ke(u.tokens.next,[",",")"]);)W();if(a&&"="!==u.tokens.next.id&&P("W138",u.tokens.curr),"="===u.tokens.next.id&&(u.inES6()||M("W119",u.tokens.next,"default parameters","6"),l&&P("E062",u.tokens.next),W("="),a=!0,z(10)),d.forEach(f),","!==u.tokens.next.id)return W(")",t),{arity:c,params:o};l&&M("W131",u.tokens.next),q()}else W(")");function f(e){u.funct["(scope)"].addParam.apply(u.funct["(scope)"],e)}}(e);return m?(u.funct["(params)"]=m.params,u.funct["(metrics)"].arity=m.arity,u.funct["(metrics)"].verifyMaxParametersPerFunction()):u.funct["(metrics)"].arity=0,c&&(u.inES6(!0)||M("W119",u.tokens.curr,"arrow function syntax (=>)","6"),e.loneArg||W("=>")),Ce(!1,!0,!0,c),!u.option.noyield&&l&&"yielded"!==u.funct["(generator)"]&&M("W124",u.tokens.curr),u.funct["(metrics)"].verifyMaxStatementsPerFunction(),u.funct["(metrics)"].verifyMaxComplexityPerFunction(),u.funct["(unusedOption)"]=u.option.unused,u.option=f,u.ignored=p,u.funct["(last)"]=u.tokens.curr.line,u.funct["(lastcharacter)"]=u.tokens.curr.character,u.funct["(scope)"].unstack(),u.funct["(scope)"].unstack(),u.funct=u.funct["(context)"],d||u.option.loopfunc||!u.funct["(loopage)"]||t["(outerMutables)"]&&M("W083",i,t["(outerMutables)"].join(", ")),t}function Me(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){u.option.maxstatements&&this.statementCount>u.option.maxstatements&&M("W071",e,this.statementCount)},verifyMaxParametersPerFunction:function(){r.isNumber(u.option.maxparams)&&this.arity>u.option.maxparams&&M("W072",e,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){u.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===u.option.maxdepth+1&&M("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var t=u.option.maxcomplexity,n=this.ComplexityCount;t&&n>t&&M("W074",e,n)}}}function Oe(){u.funct["(metrics)"].ComplexityCount+=1}function Pe(e){var t,n;switch(e&&(t=e.id,n=e.paren,","===t&&(e=e.exprs[e.exprs.length-1])&&(t=e.id,n=n||e.paren)),t){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":n||u.option.boss||M("W084")}}function Re(e){if(u.inES5())for(var t in e)e[t]&&e[t].setterToken&&!e[t].getterToken&&M("W078",e[t].setterToken)}function je(e){var t=e&&e.assignment;return u.inES6()||M("W104",u.tokens.curr,t?"destructuring assignment":"destructuring binding","6"),function e(t){var n,r;var i=[];var o=t&&t.openingParsed;var s=t&&t.assignment;var a=s?{assignment:s}:null;var l=o?u.tokens.curr:u.tokens.next;var c=function(){var t;if(Ke(u.tokens.next,["[","{"]))for(n=e(a),r=0;r<n.length;r++)i.push({id:n[r].id,token:n[r].token});else if(qe(u.tokens.next,","))i.push({id:null,token:u.tokens.curr});else{if(!qe(u.tokens.next,"(")){var o=qe(u.tokens.next,"...");if(s){var l=z(20);l&&(ce(l),l.identifier&&(t=l.value))}else t=me();return t&&i.push({id:t,token:u.tokens.curr}),o}W("("),c(),W(")")}return!1};var h=function(){var e;qe(u.tokens.next,"[")?(W("["),z(10),W("]"),W(":"),c()):"(string)"===u.tokens.next.id||"(number)"===u.tokens.next.id?(W(),W(":"),c()):(e=me(),qe(u.tokens.next,":")?(W(":"),c()):e&&(s&&ce(u.tokens.curr),i.push({id:e,token:u.tokens.curr})))};var d,f;if(qe(l,"[")){o||W("["),qe(u.tokens.next,"]")&&M("W137",u.tokens.curr);for(var p=!1;!qe(u.tokens.next,"]");)c()&&!p&&qe(u.tokens.next,",")&&(M("W130",u.tokens.next),p=!0),qe(u.tokens.next,"=")&&(qe(u.tokens.prev,"...")?W("]"):W("="),d=u.tokens.prev,(f=z(10))&&f.identifier&&"undefined"===f.value&&M("W080",d,d.value)),qe(u.tokens.next,"]")||W(",");W("]")}else if(qe(l,"{")){for(o||W("{"),qe(u.tokens.next,"}")&&M("W137",u.tokens.curr);!qe(u.tokens.next,"}")&&(h(),qe(u.tokens.next,"=")&&(W("="),d=u.tokens.prev,(f=z(10))&&f.identifier&&"undefined"===f.value&&M("W080",d,d.value)),qe(u.tokens.next,"}")||(W(","),!qe(u.tokens.next,"}"))););W("}")}return i}(e)}function Ie(e,t){var n=t.first;n&&r.zip(e,Array.isArray(n)?n:[n]).forEach(function(e){var t=e[0],n=e[1];t&&n?t.first=n:t&&t.first&&!n&&M("W080",t.first,t.first.value)})}function Ne(e,t,n){var i,o,s,a,l=n&&n.prefix,c=n&&n.inexport,h="let"===e,d="const"===e;for(u.inES6()||M("W104",u.tokens.curr,e,"6"),h&&"("===u.tokens.next.value?(u.inMoz()||M("W118",u.tokens.next,"let block"),W("("),u.funct["(scope)"].stack(),a=!0):u.funct["(noblockscopedvar)"]&&P("E048",u.tokens.curr,d?"Const":"Let"),t.first=[];;){var f=[];for(var p in r.includes(["{","["],u.tokens.next.value)?(i=je(),o=!1):(i=[{id:me(),token:u.tokens.curr}],o=!0),!l&&d&&"="!==u.tokens.next.id&&M("E012",u.tokens.curr,u.tokens.curr.value),i)i.hasOwnProperty(p)&&(p=i[p],u.funct["(scope)"].block.isGlobal()&&!1===w[p.id]&&M("W079",p.token,p.id),p.id&&!u.funct["(noblockscopedvar)"]&&(u.funct["(scope)"].addlabel(p.id,{type:e,token:p.token}),f.push(p.token)));if("="===u.tokens.next.id){W("="),!l&&"="===N(0).id&&u.tokens.next.identifier&&M("W120",u.tokens.next,u.tokens.next.value);var g=u.tokens.prev;s=z(l?120:10),!l&&s&&s.identifier&&"undefined"===s.value&&M("W080",g,g.value),o||Ie(f,s)}if(!l)for(p in i)i.hasOwnProperty(p)&&(p=i[p],u.funct["(scope)"].initialize(p.id),o&&c&&u.funct["(scope)"].setExported(p.token.value,p.token));if(t.first=t.first.concat(f),","!==u.tokens.next.id)break;q()}return a&&(W(")"),Ce(!0,!0),t.block=!0,u.funct["(scope)"].unstack()),t}function $e(e,t){var n=u.inClassBody;return u.inClassBody=!0,u.inES6()||M("W104",u.tokens.curr,"class","6"),t?(this.name=me(),u.funct["(scope)"].addlabel(this.name,{type:"class",token:u.tokens.curr})):u.tokens.next.identifier&&"extends"!==u.tokens.next.value?(this.name=me(),this.namedExpr=!0):this.name=u.nameStack.infer(),function(e){"extends"===u.tokens.next.value&&(W("extends"),z(10));W("{"),function(e){var t,n,r,i,o,s=Object.create(null),a=Object.create(null);for(;"}"!==u.tokens.next.id;)if(t=u.tokens.next,n=!1,r=!1,i=null,";"!==t.id){if("*"===t.id&&(r=!0,W("*"),t=u.tokens.next),"["===t.id)t=Ge(),o=!0;else{if(!_e(t)){M("W052",u.tokens.next,u.tokens.next.value||u.tokens.next.type),W();continue}W(),o=!1,t.identifier&&"static"===t.value&&(qe(u.tokens.next,"*")&&(r=!0,W("*")),(_e(u.tokens.next)||"["===u.tokens.next.id)&&(o="["===u.tokens.next.id,n=!0,t=u.tokens.next,"["===u.tokens.next.id?t=Ge():W())),!t.identifier||"get"!==t.value&&"set"!==t.value||(_e(u.tokens.next)||"["===u.tokens.next.id)&&(o="["===u.tokens.next.id,i=t,t=u.tokens.next,"["===u.tokens.next.id?t=Ge():W())}if(!qe(u.tokens.next,"(")){for(P("E054",u.tokens.next,u.tokens.next.value);"}"!==u.tokens.next.id&&!qe(u.tokens.next,"(");)W();"("!==u.tokens.next.value&&Le({isMethod:!0,statement:e})}if(o||(i?Ve(i.value,n?a:s,t.value,t,!0,n):("constructor"===t.value?u.nameStack.set(e):u.nameStack.set(t),Ue(n?a:s,t.value,t,!0,n))),i&&"constructor"===t.value){var l="get"===i.value?"class getter method":"class setter method";P("E049",t,l,"constructor")}else"prototype"===t.value&&P("E049",t,"class method","prototype");Se(t),Le({statement:e,isMethod:!0,type:r?"generator":null,classExprBinding:e.namedExpr?e.name:null})}else M("W032"),W(";");Re(s)}(e),W("}")}(this),u.inClassBody=n,t&&u.funct["(scope)"].initialize(this.name),this}oe("||",function(e,t){return Oe(),t.left=e,t.right=z(40),t},40),oe("&&","and",50),de("|","bitor",70),de("^","bitxor",80),de("&","bitand",90),se("==",function(e,t){switch(!0){case!(u.option.eqnull&&("null"===(e&&e.value)||"null"===(t&&t.value)))&&u.option.eqeqeq:this.from=this.character,M("W116",this,"===","==");break;case le(t,e,u):M("W122",this,t.value);break;case le(e,t,u):M("W122",this,e.value)}return this}),se("===",function(e,t){return le(t,e,u)?M("W122",this,t.value):le(e,t,u)&&M("W122",this,e.value),this}),se("!=",function(e,t){return!(u.option.eqnull&&("null"===(e&&e.value)||"null"===(t&&t.value)))&&u.option.eqeqeq?(this.from=this.character,M("W116",this,"!==","!=")):le(t,e,u)?M("W122",this,t.value):le(e,t,u)&&M("W122",this,e.value),this}),se("!==",function(e,t){return le(t,e,u)?M("W122",this,t.value):le(e,t,u)&&M("W122",this,e.value),this}),se("<"),se(">"),se("<="),se(">="),de("<<","shiftleft",120),de(">>","shiftright",120),de(">>>","shiftrightunsigned",120),oe("in","in",120),oe("instanceof",function(e,t){var n,r=u.funct["(scope)"];return t.left=e,t.right=n=z(120),n?(("(number)"===n.id||"(string)"===n.id||"null"===n.value||"undefined"===n.value&&!r.has("undefined")||"unary"===n.arity||"{"===n.id||"["===n.id&&!n.right||"(regexp)"===n.id||"(template)"===n.id&&!n.tag)&&P("E060"),"function"===n.id&&M("W139"),t):t},120),oe("+",function(e,t){var n;return t.left=e,t.right=n=z(130),e&&n&&"(string)"===e.id&&"(string)"===n.id?(e.value+=n.value,e.character=n.character,!u.option.scripturl&&l.javascriptURL.test(e.value)&&M("W050",e),e):t},130),ee("+","num"),oe("-","sub",130),ee("-","neg"),oe("*","mult",140),oe("/","div",140),oe("%","mod",140),pe("++"),ee("++","preinc"),u.syntax["++"].exps=!0,u.syntax["++"].ltBoundary="before",pe("--"),ee("--","predec"),u.syntax["--"].exps=!0,u.syntax["--"].ltBoundary="before",ee("delete",function(){var e=z(10);return e?("."!==e.id&&"["!==e.id&&M("W051"),this.first=e,e.identifier&&!u.isStrict()&&(e.forgiveUndef=!0),this):this}).exps=!0,ee("~",function(){return u.option.bitwise&&M("W016",this,"~"),this.arity="unary",this.right=z(150),this}),ee("...",function(){return u.inES6(!0)||M("W119",this,"spread/rest operator","6"),u.tokens.next.identifier||"(string)"===u.tokens.next.type||Ke(u.tokens.next,["[","("])||P("E030",u.tokens.next,u.tokens.next.value),this.right=z(150),this}),ee("!",function(){return this.arity="unary",this.right=z(150),this.right||B("E041",this),!0===C[this.right.id]&&M("W018",this,"!"),this}),ee("typeof",function(){var e=z(150);return this.first=this.right=e,e||B("E041",this),e.identifier&&(e.forgiveUndef=!0),this}),ee("new",function(){var e=function(e,t){if(qe(u.tokens.next,".")){var n=u.tokens.curr.id;W(".");var r=me();return u.tokens.curr.isMetaProperty=!0,e!==r?P("E057",u.tokens.prev,n,r):t(),u.tokens.curr}}("target",function(){u.inES6(!0)||M("W119",u.tokens.prev,"new.target","6");for(var e,t=u.funct;t&&(e=!t["(global)"],t["(arrow)"]);)t=t["(context)"];e||M("W136",u.tokens.prev,"new.target")});if(e)return e;var t,n=z(155);if(n&&"function"!==n.id)if(n.identifier)switch(n.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":M("W053",u.tokens.prev,n.value);break;case"Symbol":u.inES6()&&M("W053",u.tokens.prev,n.value);break;case"Function":u.option.evil||M("W054");break;case"Date":case"RegExp":case"this":break;default:"function"!==n.id&&(t=n.value.substr(0,1),u.option.newcap&&(t<"A"||t>"Z")&&!u.funct["(scope)"].isPredefined(n.value)&&M("W055",u.tokens.curr))}else"."!==n.id&&"["!==n.id&&"("!==n.id&&M("W056",u.tokens.curr);else u.option.supernew||M("W057",this);return"("===u.tokens.next.id||u.option.supernew||M("W058",u.tokens.curr,u.tokens.curr.value),this.first=this.right=n,this}),u.syntax.new.exps=!0,ee("void").exps=!0,oe(".",function(e,t){var n=me(!0);return"string"==typeof n&&ke(n),t.left=e,t.right=n,n&&"hasOwnProperty"===n&&"="===u.tokens.next.value&&M("W001"),!e||"arguments"!==e.value||"callee"!==n&&"caller"!==n?u.option.evil||!e||"document"!==e.value||"write"!==n&&"writeln"!==n||M("W060",e):u.option.noarg?M("W059",e,n):u.isStrict()&&P("E008"),u.option.evil||"eval"!==n&&"execScript"!==n||ue(e,u)&&M("W061"),t},160,!0),oe("(",function(e,t){u.option.immed&&e&&!e.immed&&"function"===e.id&&M("W062"),u.option.asi&&Ke(u.tokens.prev,[")","]"])&&u.tokens.prev.line!==U(u.tokens.curr)&&M("W014",u.tokens.curr,u.tokens.curr.id);var n=0,r=[];if(e&&"(identifier)"===e.type&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1==="Array Number String Boolean Date Object Error Symbol".indexOf(e.value)&&("Math"===e.value?M("W063",e):u.option.newcap&&M("W064",e)),")"!==u.tokens.next.id)for(;r[r.length]=z(10),n+=1,","===u.tokens.next.id;)q();return W(")"),"object"==typeof e&&(u.inES5()||"parseInt"!==e.value||1!==n||M("W065",u.tokens.curr),u.option.evil||("eval"===e.value||"Function"===e.value||"execScript"===e.value?M("W061",e):(!r[0]||"(string)"!==r[0].id||"setTimeout"!==e.value&&"setInterval"!==e.value)&&(!r[0]||"(string)"!==r[0].id||"."!==e.value||"window"!==e.left.value||"setTimeout"!==e.right&&"setInterval"!==e.right)||(M("W066",e),j(e,r[0]))),e.identifier||"."===e.id||"["===e.id||"=>"===e.id||"("===e.id||"&&"===e.id||"||"===e.id||"?"===e.id||u.inES6()&&e["(name)"]||M("W067",t)),t.left=e,t},155,!0).exps=!0,ee("(",function(e){var t,n,r,i,o,s=u.tokens.next,a=-1,l=1,c=u.tokens.curr,h=u.tokens.prev,d=!u.option.singleGroups;do{"("===s.value?l+=1:")"===s.value&&(l-=1),t=s,s=N(a+=1)}while((0!==l||")"!==t.value)&&"(end)"!==s.type);if("function"===u.tokens.next.id&&(r=u.tokens.next.immed=!0),"=>"===s.value)return Le({type:"arrow",parsedOpening:!0});var f,p=[];if(")"!==u.tokens.next.id)for(;p.push(z(10)),","===u.tokens.next.id;)u.option.nocomma&&M("W127"),q();return W(")",this),u.option.immed&&p[0]&&"function"===p[0].id&&"("!==u.tokens.next.id&&"."!==u.tokens.next.id&&"["!==u.tokens.next.id&&M("W068",this),p.length?(p.length>1?((n=Object.create(u.syntax[","])).exprs=p,i=p[0],o=p[p.length-1]):(n=i=o=p[0],d||(d=c.beginsStmt&&("{"===n.id||r||De(n))||r&&(!H()||"}"!==u.tokens.prev.id)||De(n)&&!H()||"{"===n.id&&"=>"===h.id||"(number)"===n.type&&qe(s,".")&&/^\d+$/.test(n.value)||c.beginsStmt&&"="===n.id&&"{"===n.left.id)),n&&(!d&&((f=i).first||f.right||f.left||"yield"===f.id||n.exprs)&&(d=e>i.lbp||e>0&&e===i.lbp||!H()&&o.lbp<u.tokens.next.lbp),d||M("W126",c),n.paren=!0),n):void 0}),function(e){var t=Y(e,42);t.infix=!0,t.led=function(e){return V(u.tokens.prev,u.tokens.curr),this.left=e,this.right=Le({type:"arrow",loneArg:e}),this}}("=>"),oe("[",function(e,t){var n,r;return u.option.asi&&Ke(u.tokens.prev,[")","]"])&&u.tokens.prev.line!==U(u.tokens.curr)&&M("W014",u.tokens.curr,u.tokens.curr.id),(n=z(10))&&"(string)"===n.type&&(u.option.evil||"eval"!==n.value&&"execScript"!==n.value||ue(e,u)&&M("W061"),ke(n.value),!u.option.sub&&l.identifier.test(n.value)&&((r=u.syntax[n.value])?!S(r):"eval"!==n.value&&"arguments"!==n.value)&&M("W069",u.tokens.prev,n.value)),W("]",t),n&&"hasOwnProperty"===n.value&&"="===u.tokens.next.value&&M("W001"),t.left=e,t.right=n,t},160,!0),ee("[",function(){var e=ze();if(e.isCompArray)return u.option.esnext||u.inMoz()||M("W118",u.tokens.curr,"array comprehension"),function(){var e={exps:!0};u.funct["(comparray)"].stack();var t=!1;return"for"!==u.tokens.next.value&&(t=!0,u.inMoz()||M("W116",u.tokens.next,"for",u.tokens.next.value),u.funct["(comparray)"].setState("use"),e.right=z(10)),W("for"),"each"===u.tokens.next.value&&(W("each"),u.inMoz()||M("W118",u.tokens.curr,"for each")),W("("),u.funct["(comparray)"].setState("define"),e.left=z(130),r.includes(["in","of"],u.tokens.next.value)?W():P("E045",u.tokens.curr),u.funct["(comparray)"].setState("generate"),z(10),W(")"),"if"===u.tokens.next.value&&(W("if"),W("("),u.funct["(comparray)"].setState("filter"),z(10),W(")")),t||(u.funct["(comparray)"].setState("use"),e.right=z(10)),W("]"),u.funct["(comparray)"].unstack(),e}();if(e.isDestAssign)return this.destructAssign=je({openingParsed:!0,assignment:!0}),this;var t=u.tokens.curr.line!==U(u.tokens.next);for(this.first=[],t&&(g+=u.option.indent,u.tokens.next.from===g+u.option.indent&&(g+=u.option.indent));"(end)"!==u.tokens.next.id;){for(;","===u.tokens.next.id;){if(!u.option.elision){if(u.inES5()){M("W128");do{W(",")}while(","===u.tokens.next.id);continue}M("W070")}W(",")}if("]"===u.tokens.next.id)break;if(this.first.push(z(10)),","!==u.tokens.next.id){u.option.trailingcomma&&u.inES5()&&O("W140",u.tokens.curr.line,u.tokens.curr.character);break}if(q({allowTrailing:!0}),"]"===u.tokens.next.id&&!u.inES5()){M("W070",u.tokens.curr);break}}return t&&(g-=u.option.indent),W("]",this),this}),function(e){e.nud=function(){var e,t,n,r,i,o,s=!1,a=Object.create(null);if((e=u.tokens.curr.line!==U(u.tokens.next))&&(g+=u.option.indent,u.tokens.next.from===g+u.option.indent&&(g+=u.option.indent)),ze().isDestAssign)return this.destructAssign=je({openingParsed:!0,assignment:!0}),this;for(;"}"!==u.tokens.next.id;){if(o=u.tokens.next.value,!u.tokens.next.identifier||","!==$().id&&"}"!==$().id)if(":"===N().id||"get"!==o&&"set"!==o){if("*"===u.tokens.next.value&&"(punctuator)"===u.tokens.next.type?(u.inES6()||M("W104",u.tokens.next,"generator functions","6"),W("*"),s=!0):s=!1,"["===u.tokens.next.id)n=Ge(),u.nameStack.set(n);else if(u.nameStack.set(u.tokens.next),Ue(a,n=Se(),u.tokens.next),"string"!=typeof n)break;"("===u.tokens.next.value?(u.inES6()||M("W104",u.tokens.curr,"concise methods","6"),Le({isMethod:!0,type:s?"generator":null})):(W(":"),z(10))}else W(o),u.inES5()||P("E034"),"["===u.tokens.next.id?n=Ge():(n=Se())||u.inES6()||P("E035"),n&&Ve(o,a,n,u.tokens.curr),i=u.tokens.next,r=(t=Le({isMethod:!0}))["(params)"],"get"===o&&n&&r?M("W076",i,r[0],n):"set"===o&&n&&1!==t["(metrics)"].arity&&M("W077",i,n);else u.inES6()||M("W104",u.tokens.next,"object short notation","6"),Ue(a,n=Se(!0),u.tokens.next),z(10);if(ke(n),","!==u.tokens.next.id){u.option.trailingcomma&&u.inES5()&&O("W140",u.tokens.curr.line,u.tokens.curr.character);break}q({allowTrailing:!0,property:!0}),","===u.tokens.next.id?M("W070",u.tokens.curr):"}"!==u.tokens.next.id||u.inES5()||M("W070",u.tokens.curr)}return e&&(g-=u.option.indent),W("}",this),Re(a),this},e.fud=function(){P("E036",u.tokens.curr)}}(X("{")),Z("const",function(e){return Ne("const",this,e)}).exps=!0,Z("let",function(e){return Ne("let",this,e)}).exps=!0,Z("var",function(e){var t,n,i,s,a=e&&e.prefix,l=e&&e.inexport;for(this.first=[];;){var c=[];for(var h in r.includes(["{","["],u.tokens.next.value)?(t=je(),n=!1):(t=[],(s=me())&&t.push({id:s,token:u.tokens.curr}),n=!0),u.option.varstmt&&M("W132",this),this.first=this.first.concat(c),t)t.hasOwnProperty(h)&&(h=t[h],u.funct["(global)"]&&!u.impliedClosure()&&(!1===w[h.id]?M("W079",h.token,h.id):!1===u.option.futurehostile&&(!u.inES5()&&!1===o.ecmaIdentifiers[5][h.id]||!u.inES6()&&!1===o.ecmaIdentifiers[6][h.id])&&M("W129",h.token,h.id)),h.id&&(u.funct["(scope)"].addlabel(h.id,{type:"var",token:h.token}),n&&l&&u.funct["(scope)"].setExported(h.id,h.token),c.push(h.token)));if("="===u.tokens.next.id&&(u.nameStack.set(u.tokens.curr),W("="),"="===N(0).id&&u.tokens.next.identifier&&((a||u.funct["(params)"])&&-1!==u.funct["(params)"].indexOf(u.tokens.next.value)||M("W120",u.tokens.next,u.tokens.next.value)),s=u.tokens.prev,(i=z(a?120:10))&&!a&&!u.funct["(loopage)"]&&i.identifier&&"undefined"===i.value&&M("W080",s,s.value),n||Ie(c,i)),","!==u.tokens.next.id)break;q()}return this}).exps=!0,J("class",function(e){return $e.call(this,e,!0)}),J("function",function(e){var t=e&&e.inexport,n=!1;"*"===u.tokens.next.value&&(W("*"),u.inES6(!0)?n=!0:M("W119",u.tokens.curr,"function*","6")),p&&M("W082",u.tokens.curr);var r=ge()?u.tokens.curr:null;r?(u.funct["(scope)"].addlabel(r.value,{type:n?"generator function":"function",token:u.tokens.curr,initialized:!0}),t&&u.funct["(scope)"].setExported(r.value,u.tokens.prev)):M("W025");var i=Le({name:r&&r.value,statement:this,type:n?"generator":null,ignoreLoopFunc:p}),o=i["(isStrict)"]&&!u.isStrict();return r&&("arguments"===i["(name)"]||"eval"===i["(name)"])&&o&&P("E008",r),"("===u.tokens.next.id&&u.tokens.next.line===u.tokens.curr.line&&P("E039"),this}),ee("function",function(){var e=!1;"*"===u.tokens.next.value&&(u.inES6()||M("W119",u.tokens.curr,"function*","6"),W("*"),e=!0);var t=ge()?u.tokens.curr:null,n=Le({name:t&&t.value,type:e?"generator":null});return t&&("arguments"===n["(name)"]||"eval"===n["(name)"])&&n["(isStrict)"]&&P("E008",t),this}),J("if",function(){var e=u.tokens.next;Oe(),u.condition=!0,W("(");var t=z(0);t||B("E041",this),Pe(t);var n=null;u.option.forin&&u.forinifcheckneeded&&(u.forinifcheckneeded=!1,n=u.forinifchecks[u.forinifchecks.length-1],"(punctuator)"===t.type&&"!"===t.value?n.type="(negative)":n.type="(positive)"),W(")",e),u.condition=!1;var r=Ce(!0,!0);return n&&"(negative)"===n.type&&r&&r[0]&&"(identifier)"===r[0].type&&"continue"===r[0].value&&(n.type="(negative-with-continue)"),"else"===u.tokens.next.id&&(W("else"),"if"===u.tokens.next.id||"switch"===u.tokens.next.id?be():Ce(!0,!0)),this}),J("try",function(){var e;function t(){if(W("catch"),W("("),u.funct["(scope)"].stack("catchparams"),Ke(u.tokens.next,["[","{"])){var e=je();r.each(e,function(e){e.id&&u.funct["(scope)"].addParam(e.id,e,"exception")})}else"(identifier)"!==u.tokens.next.type?M("E030",u.tokens.next,u.tokens.next.value):u.funct["(scope)"].addParam(me(),u.tokens.curr,"exception");"if"===u.tokens.next.value&&(u.inMoz()||M("W118",u.tokens.curr,"catch filter"),W("if"),z(0)),W(")"),Ce(!1),u.funct["(scope)"].unstack()}for(Ce(!0);"catch"===u.tokens.next.id;)Oe(),e&&!u.inMoz()&&M("W118",u.tokens.next,"multiple catch blocks"),t(),e=!0;return"finally"===u.tokens.next.id?(W("finally"),void Ce(!0)):(e||P("E021",u.tokens.next,"catch",u.tokens.next.value),this)}),J("while",function(){var e=u.tokens.next;return u.funct["(breakage)"]+=1,u.funct["(loopage)"]+=1,Oe(),W("("),Pe(z(0)),W(")",e),Ce(!0,!0),u.funct["(breakage)"]-=1,u.funct["(loopage)"]-=1,this}).labelled=!0,J("with",function(){var e=u.tokens.next;return u.isStrict()?P("E010",u.tokens.curr):u.option.withstmt||M("W085",u.tokens.curr),W("("),z(0),W(")",e),Ce(!0,!0),this}),J("switch",function(){var e=u.tokens.next,t=!1,n=!1;for(u.funct["(breakage)"]+=1,W("("),Pe(z(0)),W(")",e),e=u.tokens.next,W("{"),u.funct["(scope)"].stack(),u.tokens.next.from===g&&(n=!0),n||(g+=u.option.indent),this.cases=[];;)switch(u.tokens.next.id){case"case":switch(u.funct["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:u.tokens.curr.caseFallsThrough||M("W086",u.tokens.curr,"case")}W("case"),this.cases.push(z(0)),Oe(),t=!0,W(":"),u.funct["(verb)"]="case";break;case"default":switch(u.funct["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(u.tokens.curr.caseFallsThrough||M("W086",u.tokens.curr,"default"))}W("default"),t=!0,W(":");break;case"}":return n||(g-=u.option.indent),W("}",e),u.funct["(scope)"].unstack(),u.funct["(breakage)"]-=1,void(u.funct["(verb)"]=void 0);case"(end)":return void P("E023",u.tokens.next,"}");default:if(g+=u.option.indent,t)switch(u.tokens.curr.id){case",":return void P("E040");case":":t=!1,we();break;default:return void P("E025",u.tokens.curr)}else{if(":"!==u.tokens.curr.id)return void P("E021",u.tokens.next,"case",u.tokens.next.value);W(":"),P("E024",u.tokens.curr,":"),we()}g-=u.option.indent}}).labelled=!0,Z("debugger",function(){return u.option.debug||M("W087",this),this}).exps=!0,function(){var e=Z("do",function(){u.funct["(breakage)"]+=1,u.funct["(loopage)"]+=1,Oe(),this.first=Ce(!0,!0),W("while");var e=u.tokens.next;return W("("),Pe(z(0)),W(")",e),u.funct["(breakage)"]-=1,u.funct["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),J("for",function(){var e,t,n=u.tokens.next,i=!1,o=null;"each"===n.value&&(o=n,W("each"),u.inMoz()||M("W118",u.tokens.curr,"for each")),Oe(),W("(");var s,a,l,c,h,d=0,f=["in","of"],p=0;Ke(u.tokens.next,["{","["])&&++p;do{if(t=N(d),++d,Ke(t,["{","["])?++p:Ke(t,["}","]"])&&--p,p<0)break;0===p&&(!s&&qe(t,",")?s=t:!a&&qe(t,"=")&&(a=t))}while((p>0||!r.includes(f,t.value)&&";"!==t.value)&&"(end)"!==t.type);if(r.includes(f,t.value)){if("of"===t.value?(l=20,u.inES6()||M("W104",t,"for of","6")):l=0,a&&P("W133",s,t.value,"initializer is forbidden"),s&&P("W133",s,t.value,"more than one ForBinding"),"var"===u.tokens.next.id)W("var"),u.tokens.curr.fud({prefix:!0});else if("let"===u.tokens.next.id||"const"===u.tokens.next.id)W(u.tokens.next.id),i=!0,u.funct["(scope)"].stack(),u.tokens.curr.fud({prefix:!0});else{c=[];do{Ke(u.tokens.next,["{","["])?je({assignment:!0}).forEach(function(e){this.push(e.token)},c):("(identifier)"===(h=z(120)).type&&c.push(h),ce(h,t)),qe(u.tokens.next,"=")&&(W("="),z(120)),qe(u.tokens.next,",")&&W(",")}while(u.tokens.next!==t);a||s||c.forEach(function(e){u.funct["(scope)"].has(e.value)||M("W088",e,e.value)})}if(W(t.value),z(l),W(")",n),"in"===t.value&&u.option.forin&&(u.forinifcheckneeded=!0,void 0===u.forinifchecks&&(u.forinifchecks=[]),u.forinifchecks.push({type:"(none)"})),u.funct["(breakage)"]+=1,u.funct["(loopage)"]+=1,e=Ce(!0,!0),"in"===t.value&&u.option.forin){if(u.forinifchecks&&u.forinifchecks.length>0){var g=u.forinifchecks.pop();(e&&e.length>0&&("object"!=typeof e[0]||"if"!==e[0].value)||"(positive)"===g.type&&e.length>1||"(negative)"===g.type)&&M("W089",this)}u.forinifcheckneeded=!1}u.funct["(breakage)"]-=1,u.funct["(loopage)"]-=1}else{if(o&&P("E045",o),";"!==u.tokens.next.id)if("var"===u.tokens.next.id)W("var"),u.tokens.curr.fud();else if("let"===u.tokens.next.id)W("let"),i=!0,u.funct["(scope)"].stack(),u.tokens.curr.fud();else for(;z(0,"for"),","===u.tokens.next.id;)q();if(G(u.tokens.curr),W(";"),u.funct["(loopage)"]+=1,";"!==u.tokens.next.id&&Pe(z(0)),G(u.tokens.curr),W(";"),";"===u.tokens.next.id&&P("E021",u.tokens.next,")",";"),")"!==u.tokens.next.id)for(;z(0,"for"),","===u.tokens.next.id;)q();W(")",n),u.funct["(breakage)"]+=1,Ce(!0,!0),u.funct["(breakage)"]-=1,u.funct["(loopage)"]-=1}return i&&u.funct["(scope)"].unstack(),this}).labelled=!0,Z("break",function(){var e=u.tokens.next.value;return u.option.asi||G(this),";"===u.tokens.next.id||u.tokens.next.reach||u.tokens.curr.line!==U(u.tokens.next)?0===u.funct["(breakage)"]&&M("W052",u.tokens.next,this.value):(u.funct["(scope)"].funct.hasBreakLabel(e)||M("W090",u.tokens.next,e),this.first=u.tokens.next,W()),ve(this),this}).exps=!0,Z("continue",function(){var e=u.tokens.next.value;return 0!==u.funct["(breakage)"]&&u.funct["(loopage)"]||M("W052",u.tokens.next,this.value),u.option.asi||G(this),";"===u.tokens.next.id||u.tokens.next.reach||u.tokens.curr.line===U(u.tokens.next)&&(u.funct["(scope)"].funct.hasBreakLabel(e)||M("W090",u.tokens.next,e),this.first=u.tokens.next,W()),ve(this),this}).exps=!0,Z("return",function(){return this.line===U(u.tokens.next)?";"===u.tokens.next.id||u.tokens.next.reach||(this.first=z(0),!this.first||"(punctuator)"!==this.first.type||"="!==this.first.value||this.first.paren||u.option.boss||O("W093",this.first.line,this.first.character)):"(punctuator)"===u.tokens.next.type&&["[","{","+","-"].indexOf(u.tokens.next.value)>-1&&G(this),ve(this),this}).exps=!0,function(e){e.exps=!0,e.lbp=25,e.ltBoundary="after"}(ee("yield",function(){if(u.inMoz())return We.call(this);var e=u.tokens.prev;return!this.beginsStmt&&e.lbp>30&&!Ke(e,["("])&&P("E061",this),u.inES6(!0)&&!u.funct["(generator)"]?"(catch)"===u.funct["(name)"]&&u.funct["(context)"]["(generator)"]||P("E046",u.tokens.curr,"yield"):u.inES6()||M("W104",u.tokens.curr,"yield","6"),u.funct["(generator)"]="yielded","*"===u.tokens.next.value&&W("*"),H()||","===u.tokens.next.id||(u.tokens.next.nud?(V(u.tokens.curr,u.tokens.next),this.first=z(10),"(punctuator)"!==this.first.type||"="!==this.first.value||this.first.paren||u.option.boss||O("W093",this.first.line,this.first.character)):u.tokens.next.led&&","!==u.tokens.next.id&&P("W017",u.tokens.next)),this}));var We=function(){var e=u.tokens.prev;u.inES6(!0)&&!u.funct["(generator)"]&&("(catch)"===u.funct["(name)"]&&u.funct["(context)"]["(generator)"]||P("E046",u.tokens.curr,"yield")),u.funct["(generator)"]="yielded";var t=!1;return"*"===u.tokens.next.value&&(t=!0,W("*")),this.line===U(u.tokens.next)?((t||";"!==u.tokens.next.id&&!u.option.asi&&!u.tokens.next.reach&&u.tokens.next.nud)&&(V(u.tokens.curr,u.tokens.next),this.first=z(10),"(punctuator)"!==this.first.type||"="!==this.first.value||this.first.paren||u.option.boss||O("W093",this.first.line,this.first.character)),")"!==u.tokens.next.id&&(e.lbp>30||!e.assign&&!H()||"yield"===e.id)&&P("E050",this)):u.option.asi||G(this),this};function He(e,t){return!("property"!==e||!t["(method)"])||(!("call"!==e||!t["(statement)"]||"class"!==t["(statement)"].id)||!!t["(arrow)"]&&He(e,t["(context)"]))}Z("throw",function(){return G(this),this.first=z(20),ve(this),this}).exps=!0,Z("import",function(){if(u.funct["(scope)"].block.isGlobal()||P("E053",u.tokens.curr,"Import"),u.inES6()||M("W119",u.tokens.curr,"import","6"),"(string)"===u.tokens.next.type)return W("(string)"),this;if(u.tokens.next.identifier){if(this.name=me(),u.funct["(scope)"].addlabel(this.name,{type:"import",initialized:!0,token:u.tokens.curr}),","!==u.tokens.next.value)return W("from"),W("(string)"),this;W(",")}if("*"===u.tokens.next.id)W("*"),W("as"),u.tokens.next.identifier&&(this.name=me(),u.funct["(scope)"].addlabel(this.name,{type:"import",initialized:!0,token:u.tokens.curr}));else for(W("{");;){if("}"===u.tokens.next.value){W("}");break}var e;if("default"===u.tokens.next.type?(e="default",W("default")):e=me(),"as"===u.tokens.next.value&&(W("as"),e=me()),u.funct["(scope)"].addlabel(e,{type:"import",initialized:!0,token:u.tokens.curr}),","!==u.tokens.next.value){if("}"===u.tokens.next.value){W("}");break}P("E024",u.tokens.next,u.tokens.next.value);break}W(",")}return W("from"),W("(string)"),this}).exps=!0,Z("export",function(){var e,t,n,r=!0;if(u.inES6()||(M("W119",u.tokens.curr,"export","6"),r=!1),u.funct["(scope)"].block.isGlobal()||(P("E053",u.tokens.curr,"Export"),r=!1),"*"===u.tokens.next.value)return W("*"),W("from"),W("(string)"),this;if("default"===u.tokens.next.type){u.nameStack.set(u.tokens.next),W("default");var i=u.tokens.next.id;return"function"!==i&&"class"!==i||(this.block=!0),e=N(),z(10),t=e.value,this.block&&(u.funct["(scope)"].addlabel(t,{type:i,initialized:!0,token:e}),u.funct["(scope)"].setExported(t,e)),this}if("{"===u.tokens.next.value){W("{");for(var o=[];!qe(u.tokens.next,"}");)u.tokens.next.identifier||P("E030",u.tokens.next,u.tokens.next.value),W(),o.push(u.tokens.curr),"as"===u.tokens.next.value&&(W("as"),u.tokens.next.identifier||P("E030",u.tokens.next,u.tokens.next.value),W()),qe(u.tokens.next,"}")||W(",");return W("}"),"from"===u.tokens.next.value?(W("from"),n=u.tokens.next,W("(string)")):r&&o.forEach(function(e){u.funct["(scope)"].setExported(e.value,e)}),0===o.length&&(n?M("W142",this,"export",n.value):M("W141",this,"export")),this}if("var"===u.tokens.next.id)W("var"),u.tokens.curr.fud({inexport:!0});else if("let"===u.tokens.next.id)W("let"),u.tokens.curr.fud({inexport:!0});else if("const"===u.tokens.next.id)W("const"),u.tokens.curr.fud({inexport:!0});else if("function"===u.tokens.next.id)this.block=!0,W("function"),u.syntax.function.fud({inexport:!0});else if("class"===u.tokens.next.id){this.block=!0,W("class");var s=u.tokens.next;u.syntax.class.fud(),u.funct["(scope)"].setExported(s.value,s)}else P("E024",u.tokens.next,u.tokens.next.value);return this}).exps=!0;re("abstract"),re("await",{es5:!0,moduleOnly:!0}),re("boolean"),re("byte"),re("char"),re("class",{es5:!0,nud:$e}),re("double"),re("enum",{es5:!0}),re("export",{es5:!0}),re("extends",{es5:!0}),re("final"),re("float"),re("goto"),re("implements",{es5:!0,strictOnly:!0}),re("import",{es5:!0}),re("int"),re("interface",{es5:!0,strictOnly:!0}),re("long"),re("native"),re("package",{es5:!0,strictOnly:!0}),re("private",{es5:!0,strictOnly:!0}),re("protected",{es5:!0,strictOnly:!0}),re("public",{es5:!0,strictOnly:!0}),re("short"),re("static",{es5:!0,strictOnly:!0}),re("super",{es5:!0,nud:function(){var e=u.tokens.next;return Ke(e,["[","."])?He("property",u.funct)||P("E063",this):qe(e,"(")?He("call",u.funct)||P("E064",this):P("E024",e,e.value||e.id),this}}),re("synchronized"),re("transient"),re("volatile");var ze=function(){var e,t,n,r=-1,i=0,o={};Ke(u.tokens.curr,["[","{"])&&(i+=1);do{if(n=-1===r?u.tokens.curr:e,e=-1===r?u.tokens.next:N(r),t=N(r+1),r+=1,Ke(e,["[","{"])?i+=1:Ke(e,["]","}"])&&(i-=1),1===i&&e.identifier&&"for"===e.value&&!qe(n,".")){o.isCompArray=!0,o.notJson=!0;break}if(0===i&&Ke(e,["}","]"])){if("="===t.value){o.isDestAssign=!0,o.notJson=!0;break}if("."===t.value){o.notJson=!0;break}}qe(e,";")&&(o.notJson=!0)}while(i>0&&"(end)"!==e.id);return o};function Ue(e,t,n,r,i){var o=["key","class method","static class method"];o=o[(r||!1)+(i||!1)],n.identifier&&(t=n.value),e[t]&&"__proto__"!==t?M("W075",u.tokens.next,o,t):e[t]=Object.create(null),e[t].basic=!0,e[t].basictkn=n}function Ve(e,t,n,r,i,o){var s="get"===e?"getterToken":"setterToken",a="";i?(o&&(a+="static "),a+=e+"ter method"):a="key",u.tokens.curr.accessorType=e,u.nameStack.set(r),t[n]?(t[n].basic||t[n][s])&&"__proto__"!==n&&M("W075",u.tokens.next,a,n):t[n]=Object.create(null),t[n][s]=r}function Ge(){W("["),u.inES6()||M("W119",u.tokens.curr,"computed property names","6");var e=z(10);return W("]"),e}function Ke(e,t){return"(punctuator)"===e.type&&r.includes(t,e.value)}function qe(e,t){return"(punctuator)"===e.type&&e.value===t}function Ye(){var e=ze();e.notJson?(!u.inES6()&&e.isDestAssign&&M("W104",u.tokens.curr,"destructuring assignment","6"),we()):(u.option.laxbreak=!0,u.jsonMode=!0,function e(){function t(){var t={},n=u.tokens.next;if(W("{"),"}"!==u.tokens.next.id)for(;;){if("(end)"===u.tokens.next.id)P("E026",u.tokens.next,n.line);else{if("}"===u.tokens.next.id){M("W094",u.tokens.curr);break}","===u.tokens.next.id?P("E028",u.tokens.next):"(string)"!==u.tokens.next.id&&M("W095",u.tokens.next,u.tokens.next.value)}if(!0===t[u.tokens.next.value]?M("W075",u.tokens.next,"key",u.tokens.next.value):"__proto__"===u.tokens.next.value&&!u.option.proto||"__iterator__"===u.tokens.next.value&&!u.option.iterator?M("W096",u.tokens.next,u.tokens.next.value):t[u.tokens.next.value]=!0,W(),W(":"),e(),","!==u.tokens.next.id)break;W(",")}W("}")}switch(u.tokens.next.id){case"{":!function t(){var e={},t=u.tokens.next;if(W("{"),"}"!==u.tokens.next.id)for(;;){if("(end)"===u.tokens.next.id)P("E026",u.tokens.next,t.line);else{if("}"===u.tokens.next.id){M("W094",u.tokens.curr);break}","===u.tokens.next.id?P("E028",u.tokens.next):"(string)"!==u.tokens.next.id&&M("W095",u.tokens.next,u.tokens.next.value)}if(!0===e[u.tokens.next.value]?M("W075",u.tokens.next,"key",u.tokens.next.value):"__proto__"===u.tokens.next.value&&!u.option.proto||"__iterator__"===u.tokens.next.value&&!u.option.iterator?M("W096",u.tokens.next,u.tokens.next.value):e[u.tokens.next.value]=!0,W(),W(":"),function e(){function t(){var t={},n=u.tokens.next;if(W("{"),"}"!==u.tokens.next.id)for(;;){if("(end)"===u.tokens.next.id)P("E026",u.tokens.next,n.line);else{if("}"===u.tokens.next.id){M("W094",u.tokens.curr);break}","===u.tokens.next.id?P("E028",u.tokens.next):"(string)"!==u.tokens.next.id&&M("W095",u.tokens.next,u.tokens.next.value)}if(!0===t[u.tokens.next.value]?M("W075",u.tokens.next,"key",u.tokens.next.value):"__proto__"===u.tokens.next.value&&!u.option.proto||"__iterator__"===u.tokens.next.value&&!u.option.iterator?M("W096",u.tokens.next,u.tokens.next.value):t[u.tokens.next.value]=!0,W(),W(":"),e(),","!==u.tokens.next.id)break;W(",")}W("}")}switch(u.tokens.next.id){case"{":t();break;case"[":!function(){var t=u.tokens.next;if(W("["),"]"!==u.tokens.next.id)for(;;){if("(end)"===u.tokens.next.id)P("E027",u.tokens.next,t.line);else{if("]"===u.tokens.next.id){M("W094",u.tokens.curr);break}","===u.tokens.next.id&&P("E028",u.tokens.next)}if(e(),","!==u.tokens.next.id)break;W(",")}W("]")}();break;case"true":case"false":case"null":case"(number)":case"(string)":W();break;case"-":W("-"),W("(number)");break;default:P("E003",u.tokens.next)}}(),","!==u.tokens.next.id)break;W(",")}W("}")}();break;case"[":!function(){var t=u.tokens.next;if(W("["),"]"!==u.tokens.next.id)for(;;){if("(end)"===u.tokens.next.id)P("E027",u.tokens.next,t.line);else{if("]"===u.tokens.next.id){M("W094",u.tokens.curr);break}","===u.tokens.next.id&&P("E028",u.tokens.next)}if(e(),","!==u.tokens.next.id)break;W(",")}W("]")}();break;case"true":case"false":case"null":case"(number)":case"(string)":W();break;case"-":W("-"),W("(number)");break;default:P("E003",u.tokens.next)}}())}var Xe=function(){var e,t=[];function n(t){return 0===e.variables.filter(function(e){if(e.value===t&&!e.undef)return!0===e.unused&&(e.unused=!1),t}).length}return{stack:function(){e=new function(){this.mode="use",this.variables=[]},t.push(e)},unstack:function(){e.variables.filter(function(e){e.unused&&M("W098",e.token,e.token.raw_text||e.value),e.undef&&u.funct["(scope)"].block.use(e.value,e.token)}),t.splice(-1,1),e=t[t.length-1]},setState:function(t){r.includes(["use","define","generate","filter"],t)&&(e.mode=t)},check:function(t){if(e)return e&&"use"===e.mode?(n(t)&&e.variables.push({token:u.tokens.curr,value:t,undef:!0,unused:!1}),!0):e&&"define"===e.mode?(function(t){return 0!==e.variables.filter(function(e){if(e.value===t)return e.undef=!1,t}).length}(t)||e.variables.push({token:u.tokens.curr,value:t,undef:!1,unused:!0}),!0):e&&"generate"===e.mode?(u.funct["(scope)"].block.use(t,u.tokens.curr),!0):!(!e||"filter"!==e.mode)&&(n(t)&&u.funct["(scope)"].block.use(t,u.tokens.curr),!0)}}};function Ze(){function e(){var e={},t=u.tokens.next;if(W("{"),"}"!==u.tokens.next.id){for(;;){if(u.tokens.next.id==="(end)"){P("E026",u.tokens.next,t.line)}else if(u.tokens.next.id==="}"){M("W094",u.tokens.curr);break}else if(u.tokens.next.id===","){P("E028",u.tokens.next)}else if(u.tokens.next.id!=="(string)"){M("W095",u.tokens.next,u.tokens.next.value)}if(e[u.tokens.next.value]===true){M("W075",u.tokens.next,"key",u.tokens.next.value)}else if(u.tokens.next.value==="__proto__"&&!u.option.proto||u.tokens.next.value==="__iterator__"&&!u.option.iterator){M("W096",u.tokens.next,u.tokens.next.value)}else{e[u.tokens.next.value]=true}W();W(":");Ze();if(u.tokens.next.id!==","){break}W(",")}}W("}")}function t(){var e=u.tokens.next;if(W("["),"]"!==u.tokens.next.id){for(;;){if(u.tokens.next.id==="(end)"){P("E027",u.tokens.next,e.line)}else if(u.tokens.next.id==="]"){M("W094",u.tokens.curr);break}else if(u.tokens.next.id===","){P("E028",u.tokens.next)}Ze();if(u.tokens.next.id!==","){break}W(",")}}W("]")}switch(u.tokens.next.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":W();break;case"-":W("-");W("(number)");break;default:P("E003",u.tokens.next)}}var Je=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},Qe=function(i,s,l){var c,h,C,_,S={},F={};s=r.clone(s),u.reset(),s&&s.scope?f.scope=s.scope:(f.errors=[],f.internals=[],f.blacklist={},f.scope="(main)"),D(w=Object.create(null),o.ecmaIdentifiers[3]),D(w,o.reservedVars),D(w,l||{}),t=Object.create(null);var L=Object.create(null);function j(e,t){e&&(Array.isArray(e)||"object"!=typeof e||(e=Object.keys(e)),e.forEach(t))}if(s)for(j(s.predef||null,function(e){var t,n;"-"===e[0]?(t=e.slice(1),f.blacklist[t]=t,delete w[t]):(n=Object.getOwnPropertyDescriptor(s.predef,e),w[e]=!!n&&n.value)}),j(s.exported||null,function(e){L[e]=!0}),delete s.predef,delete s.exported,_=Object.keys(s),c=0;c<_.length;c++)if(/^-W\d{3}$/g.test(_[c]))F[_[c].slice(1)]=!0;else{var I=_[c];S[I]=s[I]}u.option=S,u.ignored=F,u.option.indent=u.option.indent||4,u.option.maxerr=u.option.maxerr||50,g=1;var N,$=d(u,w,L,t);if($.on("warning",function(e){M.apply(null,[e.code,e.token].concat(e.data))}),$.on("error",function(e){P.apply(null,[e.code,e.token].concat(e.data))}),u.funct=Fe("(global)",null,{"(global)":!0,"(scope)":$,"(comparray)":Xe(),"(metrics)":Me(u.tokens.next)}),n=[u.funct],x=[],y={},b=null,p=!1,m=[],N=i,"[object String]"!==Object.prototype.toString.call(N)&&!Array.isArray(i))return R("E004",0),!1;for(var H in e={get isJSON(){return u.jsonMode},getOption:function(e){return u.option[e]||null},getCache:function(e){return u.cache[e]},setCache:function(e,t){u.cache[e]=t},warn:function(e,t){O.apply(null,[e,t.line,t.char].concat(t.data))},on:function(e,t){e.split(" ").forEach(function(e){A.on(e,t)}.bind(this))}},A.removeAllListeners(),(k||[]).forEach(function(t){t(e)}),u.tokens.prev=u.tokens.curr=u.tokens.next=u.syntax["(begin)"],s&&s.ignoreDelimiters&&(Array.isArray(s.ignoreDelimiters)||(s.ignoreDelimiters=[s.ignoreDelimiters]),s.ignoreDelimiters.forEach(function(e){e.start&&e.end&&(h=Je(e.start)+"[\\s\\S]*?"+Je(e.end),C=new RegExp(h,"ig"),i=i.replace(C,function(e){return e.replace(/./g," ")}))})),(v=new a(i)).on("warning",function(e){O.apply(null,[e.code,e.line,e.character].concat(e.data))}),v.on("error",function(e){R.apply(null,[e.code,e.line,e.character].concat(e.data))}),v.on("fatal",function(e){B("E041",e)}),v.on("Identifier",function(e){A.emit("Identifier",e)}),v.on("String",function(e){A.emit("String",e)}),v.on("Number",function(e){A.emit("Number",e)}),s)r.has(s,H)&&E(H,u.tokens.curr);try{switch(T(),D(w,l||{}),q.first=!0,W(),u.tokens.next.id){case"{":case"[":Ye();break;default:xe(),u.directive["use strict"]&&(u.allowsGlobalUsd()||M("W097",u.tokens.prev)),we()}"(end)"!==u.tokens.next.id&&B("E041",u.tokens.curr),u.funct["(scope)"].unstack()}catch(e){if(!e||"JSHintError"!==e.name)throw e;var z=u.tokens.next||{};f.errors.push({scope:"(main)",raw:e.raw,code:e.code,reason:e.reason,line:e.line||z.line,character:e.character||z.from})}return"(main)"===f.scope&&function(e,t,n){var r,i,o,s;for(i=0;i<e.length;i+=1)for(s=e[i],t.scope=s.elem,r=f.errors.length,Qe(s.code,t,n),o=r;o<f.errors.length;o+=1)f.errors[o].line+=s.token.line-1}(f.internals,s||{},l),0===f.errors.length};return Qe.addModule=function(e){k.push(e)},Qe.addModule(c.register),Qe.data=function(){var e,t,r,i,o,s={functions:[],options:u.option};Qe.errors.length&&(s.errors=Qe.errors),u.jsonMode&&(s.json=!0);var a=u.funct["(scope)"].getImpliedGlobals();for(a.length>0&&(s.implieds=a),x.length>0&&(s.urls=x),(o=u.funct["(scope)"].getUsedOrDefinedGlobals()).length>0&&(s.globals=o),r=1;r<n.length;r+=1)t=n[r],(e={}).name=t["(name)"],e.param=t["(params)"],e.line=t["(line)"],e.character=t["(character)"],e.last=t["(last)"],e.lastcharacter=t["(lastcharacter)"],e.metrics={complexity:t["(metrics)"].ComplexityCount,parameters:t["(metrics)"].arity,statements:t["(metrics)"].statementCount},s.functions.push(e);var l=u.funct["(scope)"].getUnuseds();for(i in l.length>0&&(s.unused=l),y)if("number"==typeof y[i]){s.member=y;break}return s},Qe.jshint=Qe,Qe}());"object"==typeof t&&t&&(t.JSHINT=f)},function(e,t,n){!function(e){"use strict";var t="CodeMirror-activeline",n="CodeMirror-activeline-background",r="CodeMirror-activeline-gutter";function i(e){for(var i=0;i<e.state.activeLines.length;i++)e.removeLineClass(e.state.activeLines[i],"wrap",t),e.removeLineClass(e.state.activeLines[i],"background",n),e.removeLineClass(e.state.activeLines[i],"gutter",r)}function o(e,o){for(var s=[],a=0;a<o.length;a++){var l=o[a],u=e.getOption("styleActiveLine");if("object"==typeof u&&u.nonEmpty?l.anchor.line==l.head.line:l.empty()){var c=e.getLineHandleVisualStart(l.head.line);s[s.length-1]!=c&&s.push(c)}}(function(e,t){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0})(e.state.activeLines,s)||e.operation(function(){i(e);for(var o=0;o<s.length;o++)e.addLineClass(s[o],"wrap",t),e.addLineClass(s[o],"background",n),e.addLineClass(s[o],"gutter",r);e.state.activeLines=s})}function s(e,t){o(e,t.ranges)}e.defineOption("styleActiveLine",!1,function(t,n,r){var a=r!=e.Init&&r;n!=a&&(a&&(t.off("beforeSelectionChange",s),i(t),delete t.state.activeLines),n&&(t.state.activeLines=[],o(t,t.listSelections()),t.on("beforeSelectionChange",s)))})}(n(50))},function(e,t,n){!function(e){"use strict";var t={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function n(e){var t=e.state.matchHighlighter;(t.active||e.hasFocus())&&i(e,t)}function r(e){var t=e.state.matchHighlighter;t.active||(t.active=!0,i(e,t))}function i(e,t){clearTimeout(t.timeout),t.timeout=setTimeout(function(){a(e)},t.options.delay)}function o(e,t,n,r){var i=e.state.matchHighlighter;if(e.addOverlay(i.overlay=function(e,t,n){return{token:function(r){if(r.match(e)&&(!t||function(e,t){return!(e.start&&t.test(e.string.charAt(e.start-1))||e.pos!=e.string.length&&t.test(e.string.charAt(e.pos)))}(r,t)))return n;r.next(),r.skipTo(e.charAt(0))||r.skipToEnd()}}}(t,n,r)),i.options.annotateScrollbar&&e.showMatchesOnScrollbar){var o=n?new RegExp("\\b"+t.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+"\\b"):t;i.matchesonscroll=e.showMatchesOnScrollbar(o,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function s(e){var t=e.state.matchHighlighter;t.overlay&&(e.removeOverlay(t.overlay),t.overlay=null,t.matchesonscroll&&(t.matchesonscroll.clear(),t.matchesonscroll=null))}function a(e){e.operation(function(){var t=e.state.matchHighlighter;if(s(e),e.somethingSelected()||!t.options.showToken){var n=e.getCursor("from"),r=e.getCursor("to");if(n.line==r.line&&(!t.options.wordsOnly||function(e,t,n){if(null!==e.getRange(t,n).match(/^\w+$/)){if(t.ch>0){var r={line:t.line,ch:t.ch-1},i=e.getRange(r,t);if(null===i.match(/\W/))return!1}if(n.ch<e.getLine(t.line).length){var r={line:n.line,ch:n.ch+1},i=e.getRange(n,r);if(null===i.match(/\W/))return!1}return!0}return!1}(e,n,r))){var i=e.getRange(n,r);t.options.trim&&(i=i.replace(/^\s+|\s+$/g,"")),i.length>=t.options.minChars&&o(e,i,!1,t.options.style)}}else{for(var a=!0===t.options.showToken?/[\w$]/:t.options.showToken,l=e.getCursor(),u=e.getLine(l.line),c=l.ch,h=c;c&&a.test(u.charAt(c-1));)--c;for(;h<u.length&&a.test(u.charAt(h));)++h;c<h&&o(e,u.slice(c,h),a,t.options.style)}})}e.defineOption("highlightSelectionMatches",!1,function(i,o,l){if(l&&l!=e.Init&&(s(i),clearTimeout(i.state.matchHighlighter.timeout),i.state.matchHighlighter=null,i.off("cursorActivity",n),i.off("focus",r)),o){var u=i.state.matchHighlighter=new function(e){for(var n in this.options={},t)this.options[n]=(e&&e.hasOwnProperty(n)?e:t)[n];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}(o);i.hasFocus()?(u.active=!0,a(i)):i.on("focus",r),i.on("cursorActivity",n)}})}(n(50),n(515))},function(e,t,n){},function(e,t,n){!function(e){"use strict";var t="CodeMirror-lint-markers";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function r(t,r,i){var o=function(t,n){var r=document.createElement("div");function i(t){if(!r.parentNode)return e.off(document,"mousemove",i);r.style.top=Math.max(0,t.clientY-r.offsetHeight-5)+"px",r.style.left=t.clientX+5+"px"}return r.className="CodeMirror-lint-tooltip",r.appendChild(n.cloneNode(!0)),document.body.appendChild(r),e.on(document,"mousemove",i),i(t),null!=r.style.opacity&&(r.style.opacity=1),r}(t,r);function s(){var t;e.off(i,"mouseout",s),o&&((t=o).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout(function(){n(t)},600)),o=null)}var a=setInterval(function(){if(o)for(var e=i;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){s();break}}if(!o)return clearInterval(a)},400);e.on(i,"mouseout",s)}function i(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var i=n.getBoundingClientRect(),o=(i.left+i.right)/2,s=(i.top+i.bottom)/2,l=e.findMarksAt(e.coordsChar({left:o,top:s},"client")),u=[],c=0;c<l.length;++c){var h=l[c].__annotation;h&&u.push(h)}u.length&&function(e,t){for(var n=t.target||t.srcElement,i=document.createDocumentFragment(),o=0;o<e.length;o++){var s=e[o];i.appendChild(a(s))}r(t,i,n)}(u,t)}}(e,t)},this.waitingFor=0}function o(e){var n=e.state.lint;n.hasGutter&&e.clearGutter(t);for(var r=0;r<n.marked.length;++r)n.marked[r].clear();n.marked.length=0}function s(t,n,i,o){var s=document.createElement("div"),a=s;return s.className="CodeMirror-lint-marker-"+n,i&&((a=s.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker-multiple"),0!=o&&e.on(a,"mouseover",function(e){r(e,t,a)}),s}function a(e){var t=e.severity;t||(t="error");var n=document.createElement("div");return n.className="CodeMirror-lint-message-"+t,void 0!==e.messageHTML?n.innerHTML=e.messageHTML:n.appendChild(document.createTextNode(e.message)),n}function l(t){var n=t.state.lint,r=n.options,i=r.options||r,o=r.getAnnotations||t.getHelper(e.Pos(0,0),"lint");if(o)if(r.async||o.async)!function(t,n,r){var i=t.state.lint,o=++i.waitingFor;function s(){o=-1,t.off("change",s)}t.on("change",s),n(t.getValue(),function(n,r){t.off("change",s),i.waitingFor==o&&(r&&n instanceof e&&(n=r),t.operation(function(){u(t,n)}))},r,t)}(t,o,i);else{var s=o(t.getValue(),i,t);if(!s)return;s.then?s.then(function(e){t.operation(function(){u(t,e)})}):t.operation(function(){u(t,s)})}}function u(e,n){o(e);for(var r=e.state.lint,i=r.options,l=function(e){for(var t=[],n=0;n<e.length;++n){var r=e[n],i=r.from.line;(t[i]||(t[i]=[])).push(r)}return t}(n),u=0;u<l.length;++u){var c=l[u];if(c){for(var h=null,d=r.hasGutter&&document.createDocumentFragment(),f=0;f<c.length;++f){var p=c[f],g=p.severity;g||(g="error"),h="error"==(m=h)?m:b,i.formatAnnotation&&(p=i.formatAnnotation(p)),r.hasGutter&&d.appendChild(a(p)),p.to&&r.marked.push(e.markText(p.from,p.to,{className:"CodeMirror-lint-mark-"+g,__annotation:p}))}r.hasGutter&&e.setGutterMarker(u,t,s(d,h,c.length>1,r.options.tooltips))}}var m;i.onUpdateLinting&&i.onUpdateLinting(n,l,e)}function c(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout(function(){l(e)},t.options.delay||500))}e.defineOption("lint",!1,function(n,r,s){if(s&&s!=e.Init&&(o(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",c),e.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),r){for(var a=n.getOption("gutters"),u=!1,h=0;h<a.length;++h)a[h]==t&&(u=!0);var d=n.state.lint=new i(n,(f=r)instanceof Function?{getAnnotations:f}:(f&&!0!==f||(f={}),f),u);!1!==d.options.lintOnChange&&n.on("change",c),0!=d.options.tooltips&&"gutter"!=d.options.tooltips&&e.on(n.getWrapperElement(),"mouseover",d.onMouseOver),l(n)}var f}),e.defineExtension("performLint",function(){this.state.lint&&l(this)})}(n(50))},function(e,t,n){},function(e,t,n){var r=/Mac/.test(navigator.platform);!function(e){"use strict";var t="CodeMirror-hint",n="CodeMirror-hint-active";function i(e,t){this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension("showHint",function(t){t=function(e,t,n){var r=e.options.hintOptions,i={};for(var o in h)i[o]=h[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}(this,this.getCursor("start"),t);var n=this.listSelections();if(!(n.length>1)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var r=0;r<n.length;r++)if(n[r].head.line!=n[r].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var o=this.state.completionActive=new i(this,t);o.options.hint&&(e.signal(this,"startCompletion",this),o.update(!0))}}),e.defineExtension("closeHint",function(){this.state.completionActive&&this.state.completionActive.close()});var o=window.requestAnimationFrame||function(e){return setTimeout(e,1e3/60)},s=window.cancelAnimationFrame||clearTimeout;function a(e){return"string"==typeof e?e:e.text}function l(e,t){for(;t&&t!=e;){if("LI"===t.nodeName.toUpperCase()&&t.parentNode==e)return t;t=t.parentNode}}function u(i,o){this.completion=i,this.data=o,this.picked=!1;var s=this,u=i.cm,c=u.getInputField().ownerDocument,h=c.defaultView||c.parentWindow,d=this.hints=c.createElement("ul"),f=i.cm.options.theme;d.className="CodeMirror-hints "+f,this.selectedHint=o.selectedHint||0;for(var p=o.list,g=0;g<p.length;++g){var m=d.appendChild(c.createElement("li")),v=p[g],y=t+(g!=this.selectedHint?"":" "+n);null!=v.className&&(y=v.className+" "+y),m.className=y,v.render?v.render(m,o,v):m.appendChild(c.createTextNode(v.displayText||a(v))),m.hintId=g}var b=u.cursorCoords(i.options.alignWithWord?o.from:null),w=b.left,x=b.bottom,C=!0;d.style.left=w+"px",d.style.top=x+"px";var k=h.innerWidth||Math.max(c.body.offsetWidth,c.documentElement.offsetWidth),A=h.innerHeight||Math.max(c.body.offsetHeight,c.documentElement.offsetHeight);(i.options.container||c.body).appendChild(d);var E=d.getBoundingClientRect(),_=E.bottom-A,S=d.scrollHeight>d.clientHeight+1,F=u.getScrollInfo();if(_>0){var D=E.bottom-E.top,T=b.top-(b.bottom-E.top);if(T-D>0)d.style.top=(x=b.top-D)+"px",C=!1;else if(D>A){d.style.height=A-5+"px",d.style.top=(x=b.bottom-E.top)+"px";var B=u.getCursor();o.from.ch!=B.ch&&(b=u.cursorCoords(B),d.style.left=(w=b.left)+"px",E=d.getBoundingClientRect())}}var L,M=E.right-k;if(M>0&&(E.right-E.left>k&&(d.style.width=k-5+"px",M-=E.right-E.left-k),d.style.left=(w=b.left-M)+"px"),S)for(var O=d.firstChild;O;O=O.nextSibling)O.style.paddingRight=u.display.nativeBarWidth+"px";return u.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};r&&(n["Ctrl-P"]=function(){t.moveFocus(-1)},n["Ctrl-N"]=function(){t.moveFocus(1)});var i=e.options.customKeys,o=i?{}:n;function s(e,r){var i;i="string"!=typeof r?function(e){return r(e,t)}:n.hasOwnProperty(r)?n[r]:r,o[e]=i}if(i)for(var a in i)i.hasOwnProperty(a)&&s(a,i[a]);var l=e.options.extraKeys;if(l)for(var a in l)l.hasOwnProperty(a)&&s(a,l[a]);return o}(i,{moveFocus:function(e,t){s.changeActive(s.selectedHint+e,t)},setFocus:function(e){s.changeActive(e)},menuSize:function(){return s.screenAmount()},length:p.length,close:function(){i.close()},pick:function(){s.pick()},data:o})),i.options.closeOnUnfocus&&(u.on("blur",this.onBlur=function(){L=setTimeout(function(){i.close()},100)}),u.on("focus",this.onFocus=function(){clearTimeout(L)})),u.on("scroll",this.onScroll=function(){var e=u.getScrollInfo(),t=u.getWrapperElement().getBoundingClientRect(),n=x+F.top-e.top,r=n-(h.pageYOffset||(c.documentElement||c.body).scrollTop);if(C||(r+=d.offsetHeight),r<=t.top||r>=t.bottom)return i.close();d.style.top=n+"px",d.style.left=w+F.left-e.left+"px"}),e.on(d,"dblclick",function(e){var t=l(d,e.target||e.srcElement);t&&null!=t.hintId&&(s.changeActive(t.hintId),s.pick())}),e.on(d,"click",function(e){var t=l(d,e.target||e.srcElement);t&&null!=t.hintId&&(s.changeActive(t.hintId),i.options.completeOnSingleClick&&s.pick())}),e.on(d,"mousedown",function(){setTimeout(function(){u.focus()},20)}),e.signal(o,"select",p[this.selectedHint],d.childNodes[this.selectedHint]),!0}function c(e,t,n,r){if(e.async)e(t,r,n);else{var i=e(t,n);i&&i.then?i.then(r):r(i)}}i.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&e.signal(this.data,"close"),this.widget&&this.widget.close(),e.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var r=t.list[n];r.hint?r.hint(this.cm,t,r):this.cm.replaceRange(a(r),r.from||t.from,r.to||t.to,"complete"),e.signal(t,"pick",r),this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var e=this.cm.getCursor(),t=this.cm.getLine(e.line);if(e.line!=this.startPos.line||t.length-e.ch!=this.startLen-this.startPos.ch||e.ch<this.startPos.ch||this.cm.somethingSelected()||!e.ch||this.options.closeCharacters.test(t.charAt(e.ch-1)))this.close();else{var n=this;this.debounce=o(function(){n.update()}),this.widget&&this.widget.disable()}},update:function(e){if(null!=this.tick){var t=this,n=++this.tick;c(this.options.hint,this.cm,this.options,function(r){t.tick==n&&t.finishUpdate(r,e)})}},finishUpdate:function(t,n){this.data&&e.signal(this.data,"update");var r=this.widget&&this.widget.picked||n&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=t,t&&t.list.length&&(r&&1==t.list.length?this.pick(t,0):(this.widget=new u(this,t),e.signal(t,"shown")))}},u.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var e=this;this.keyMap={Enter:function(){e.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(t,r){if(t>=this.data.list.length?t=r?this.data.list.length-1:0:t<0&&(t=r?0:this.data.list.length-1),this.selectedHint!=t){var i=this.hints.childNodes[this.selectedHint];i&&(i.className=i.className.replace(" "+n,"")),(i=this.hints.childNodes[this.selectedHint=t]).className+=" "+n,i.offsetTop<this.hints.scrollTop?this.hints.scrollTop=i.offsetTop-3:i.offsetTop+i.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+3),e.signal(this.data,"select",this.data.list[this.selectedHint],i)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},e.registerHelper("hint","auto",{resolve:function(t,n){var r,i=t.getHelpers(n,"hint");if(i.length){var o=function(e,t,n){var r=function(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r<t.length;r++)t[r].supportsSelection&&n.push(t[r]);return n}(e,i);!function i(o){if(o==r.length)return t(null);c(r[o],e,n,function(e){e&&e.list.length>0?t(e):i(o+1)})}(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper("hint","fromList",function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),s=e.Pos(i.line,o.start),a=i;o.start<i.ch&&/\w/.test(o.string.charAt(i.ch-o.start-1))?r=o.string.substr(0,i.ch-o.start):(r="",s=i);for(var l=[],u=0;u<n.words.length;u++){var c=n.words[u];c.slice(0,r.length)==r&&l.push(c)}if(l.length)return{list:l,from:s,to:a}}),e.commands.autocomplete=e.showHint;var h={hint:e.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};e.defineOption("hintOptions",null)}(n(50))},function(e,t,n){!function(e){var t=e.Pos;function n(e,t){for(var n=0,r=e.length;n<r;++n)t(e[n])}function r(r,i,l,u){var c=r.getCursor(),h=l(r,c);if(!/\b(?:string|comment)\b/.test(h.type)){var d=e.innerMode(r.getMode(),h.state);if("json"!==d.mode.helperType){h.state=d.state,/^[\w$_]*$/.test(h.string)?h.end>c.ch&&(h.end=c.ch,h.string=h.string.slice(0,c.ch-h.start)):h={start:c.ch,end:c.ch,string:"",state:h.state,type:"."==h.string?"property":null};for(var f=h;"property"==f.type;){if("."!=(f=l(r,t(c.line,f.start))).string)return;if(f=l(r,t(c.line,f.start)),!p)var p=[];p.push(f)}return{list:function(e,t,r,i){var l=[],u=e.string,c=i&&i.globalScope||window;function h(e){0!=e.lastIndexOf(u,0)||function(e,t){if(!Array.prototype.indexOf){for(var n=e.length;n--;)if(e[n]===t)return!0;return!1}return-1!=e.indexOf(t)}(l,e)||l.push(e)}function d(e){"string"==typeof e?n(o,h):e instanceof Array?n(s,h):e instanceof Function&&n(a,h),function(e,t){if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var n=e;n;n=Object.getPrototypeOf(n))Object.getOwnPropertyNames(n).forEach(t);else for(var r in e)t(r)}(e,h)}if(t&&t.length){var f,p=t.pop();for(p.type&&0===p.type.indexOf("variable")?(i&&i.additionalContext&&(f=i.additionalContext[p.string]),i&&!1===i.useGlobalScope||(f=f||c[p.string])):"string"==p.type?f="":"atom"==p.type?f=1:"function"==p.type&&(null==c.jQuery||"$"!=p.string&&"jQuery"!=p.string||"function"!=typeof c.jQuery?null!=c._&&"_"==p.string&&"function"==typeof c._&&(f=c._()):f=c.jQuery());null!=f&&t.length;)f=f[t.pop().string];null!=f&&d(f)}else{for(var g=e.state.localVars;g;g=g.next)h(g.name);for(var g=e.state.globalVars;g;g=g.next)h(g.name);i&&!1===i.useGlobalScope||d(c),n(r,h)}return l}(h,p,i,u),from:t(c.line,h.start),to:t(c.line,h.end)}}}}function i(e,t){var n=e.getTokenAt(t);return t.ch==n.start+1&&"."==n.string.charAt(0)?(n.end=n.start,n.string=".",n.type="property"):/^\.[\w$_]*$/.test(n.string)&&(n.type="property",n.start++,n.string=n.string.replace(/\./,"")),n}e.registerHelper("hint","javascript",function(e,t){return r(e,l,function(e,t){return e.getTokenAt(t)},t)}),e.registerHelper("hint","coffeescript",function(e,t){return r(e,u,i,t)});var o="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),s="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),a="prototype apply call bind".split(" "),l="break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield".split(" "),u="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")}(n(50))},function(e,t,n){!function(e){"use strict";e.registerGlobalHelper("fold","comment",function(e){return e.blockCommentStart&&e.blockCommentEnd},function(t,n){var r=t.getModeAt(n),i=r.blockCommentStart,o=r.blockCommentEnd;if(i&&o){for(var s,a=n.line,l=t.getLine(a),u=n.ch,c=0;;){var h=u<=0?-1:l.lastIndexOf(i,u-1);if(-1!=h){if(1==c&&h<n.ch)return;if(/comment/.test(t.getTokenTypeAt(e.Pos(a,h+1)))&&(0==h||l.slice(h-o.length,h)==o||!/comment/.test(t.getTokenTypeAt(e.Pos(a,h))))){s=h+i.length;break}u=h-1}else{if(1==c)return;c=1,u=l.length}}var d,f,p=1,g=t.lastLine();e:for(var m=a;m<=g;++m)for(var v=t.getLine(m),y=m==a?s:0;;){var b=v.indexOf(i,y),w=v.indexOf(o,y);if(b<0&&(b=v.length),w<0&&(w=v.length),(y=Math.min(b,w))==v.length)break;if(y==b)++p;else if(!--p){d=m,f=y;break e}++y}if(null!=d&&(a!=d||f!=s))return{from:e.Pos(a,s),to:e.Pos(d,f)}}})}(n(50))},function(e,t,n){!function(e){"use strict";function t(t,n){var r=t.getLine(n),i=r.search(/\S/);return-1==i||/\bcomment\b/.test(t.getTokenTypeAt(e.Pos(n,i+1)))?-1:e.countColumn(r,null,t.getOption("tabSize"))}e.registerHelper("fold","indent",function(n,r){var i=t(n,r.line);if(!(i<0)){for(var o=null,s=r.line+1,a=n.lastLine();s<=a;++s){var l=t(n,s);if(-1==l);else{if(!(l>i))break;o=s}}return o?{from:e.Pos(r.line,n.getLine(r.line).length),to:e.Pos(o,n.getLine(o).length)}:void 0}})}(n(50))},function(e,t,n){!function(e){"use strict";e.registerHelper("fold","brace",function(t,n){var r,i=n.line,o=t.getLine(i);function s(s){for(var a=n.ch,l=0;;){var u=a<=0?-1:o.lastIndexOf(s,a-1);if(-1!=u){if(1==l&&u<n.ch)break;if(r=t.getTokenTypeAt(e.Pos(i,u+1)),!/^(comment|string)/.test(r))return u+1;a=u-1}else{if(1==l)break;l=1,a=o.length}}}var a="{",l="}",u=s("{");if(null==u&&(a="[",l="]",u=s("[")),null!=u){var c,h,d=1,f=t.lastLine();e:for(var p=i;p<=f;++p)for(var g=t.getLine(p),m=p==i?u:0;;){var v=g.indexOf(a,m),y=g.indexOf(l,m);if(v<0&&(v=g.length),y<0&&(y=g.length),(m=Math.min(v,y))==g.length)break;if(t.getTokenTypeAt(e.Pos(p,m+1))==r)if(m==v)++d;else if(!--d){c=p,h=m;break e}++m}if(null!=c&&i!=c)return{from:e.Pos(i,u),to:e.Pos(c,h)}}}),e.registerHelper("fold","import",function(t,n){function r(n){if(n<t.firstLine()||n>t.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"keyword"!=r.type||"import"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var s=t.getLine(i),a=s.indexOf(";");if(-1!=a)return{startCh:r.end,end:e.Pos(i,a)}}}var i,o=n.line,s=r(o);if(!s||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var a=s.end;;){var l=r(a.line+1);if(null==l)break;a=l.end}return{from:t.clipPos(e.Pos(o,s.startCh+1)),to:a}}),e.registerHelper("fold","include",function(t,n){function r(n){if(n<t.firstLine()||n>t.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"meta"==r.type&&"#include"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var s=i;;){var a=r(s+1);if(null==a)break;++s}return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(s))}})}(n(50))},function(e,t,n){},function(e,t,n){!function(e){"use strict";e.defineOption("foldGutter",!1,function(t,n,r){var i;r&&r!=e.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off("gutterClick",s),t.off("change",a),t.off("viewportChange",l),t.off("fold",u),t.off("unfold",u),t.off("swapDoc",a)),n&&(t.state.foldGutter=new function(e){this.options=e,this.from=this.to=0}((!0===(i=n)&&(i={}),null==i.gutter&&(i.gutter="CodeMirror-foldgutter"),null==i.indicatorOpen&&(i.indicatorOpen="CodeMirror-foldgutter-open"),null==i.indicatorFolded&&(i.indicatorFolded="CodeMirror-foldgutter-folded"),i)),o(t),t.on("gutterClick",s),t.on("change",a),t.on("viewportChange",l),t.on("fold",u),t.on("unfold",u),t.on("swapDoc",a))});var t=e.Pos;function n(e,n){for(var r=e.findMarks(t(n,0),t(n+1,0)),i=0;i<r.length;++i)if(r[i].__isFold&&r[i].find().from.line==n)return r[i]}function r(e){if("string"==typeof e){var t=document.createElement("div");return t.className=e+" CodeMirror-guttermarker-subtle",t}return e.cloneNode(!0)}function i(e,i,o){var s=e.state.foldGutter.options,a=i,l=e.foldOption(s,"minFoldSize"),u=e.foldOption(s,"rangeFinder");e.eachLine(i,o,function(i){var o=null;if(n(e,a))o=r(s.indicatorFolded);else{var c=t(a,0),h=u&&u(e,c);h&&h.to.line-h.from.line>=l&&(o=r(s.indicatorOpen))}e.setGutterMarker(i,s.gutter,o),++a})}function o(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation(function(){i(e,t.from,t.to)}),n.from=t.from,n.to=t.to)}function s(e,r,i){var o=e.state.foldGutter;if(o){var s=o.options;if(i==s.gutter){var a=n(e,r);a?a.clear():e.foldCode(t(r,0),s.rangeFinder)}}}function a(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){o(e)},n.foldOnChangeTimeSpan||600)}}function l(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?o(e):e.operation(function(){n.from<t.from&&(i(e,n.from,t.from),t.from=n.from),n.to>t.to&&(i(e,t.to,n.to),t.to=n.to)})},n.updateViewportTimeSpan||400)}}function u(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&r<n.to&&i(e,r,r+1)}}}(n(50),n(239))},function(e,t,n){!function(e){var t={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},n=e.Pos;function r(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,function(t,n,s){s&&s!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(o(r(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(i))});var i={Backspace:function(t){var i=a(t);if(!i||t.getOption("disableInput"))return e.Pass;for(var o=r(i,"pairs"),s=t.listSelections(),u=0;u<s.length;u++){if(!s[u].empty())return e.Pass;var c=l(t,s[u].head);if(!c||o.indexOf(c)%2!=0)return e.Pass}for(var u=s.length-1;u>=0;u--){var h=s[u].head;t.replaceRange("",n(h.line,h.ch-1),n(h.line,h.ch+1),"+delete")}},Enter:function(t){var n=a(t),i=n&&r(n,"explode");if(!i||t.getOption("disableInput"))return e.Pass;for(var o=t.listSelections(),s=0;s<o.length;s++){if(!o[s].empty())return e.Pass;var u=l(t,o[s].head);if(!u||i.indexOf(u)%2!=0)return e.Pass}t.operation(function(){var e=t.lineSeparator()||"\n";t.replaceSelection(e+e,null),t.execCommand("goCharLeft"),o=t.listSelections();for(var n=0;n<o.length;n++){var r=o[n].head.line;t.indentLine(r,null,!0),t.indentLine(r+1,null,!0)}})}};function o(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),r="'"+n+"'";i[r]||(i[r]=s(n))}}function s(t){return function(i){return function(t,i){var o=a(t);if(!o||t.getOption("disableInput"))return e.Pass;var s=r(o,"pairs"),l=s.indexOf(i);if(-1==l)return e.Pass;for(var c,h=r(o,"triples"),d=s.charAt(l+1)==i,f=t.listSelections(),p=l%2==0,g=0;g<f.length;g++){var m,v=f[g],y=v.head,b=t.getRange(y,n(y.line,y.ch+1));if(p&&!v.empty())m="surround";else if(!d&&p||b!=i)if(d&&y.ch>1&&h.indexOf(i)>=0&&t.getRange(n(y.line,y.ch-2),y)==i+i){if(y.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(y.line,y.ch-2))))return e.Pass;m="addFour"}else if(d){var w=0==y.ch?" ":t.getRange(n(y.line,y.ch-1),y);if(e.isWordChar(b)||w==i||e.isWordChar(w))return e.Pass;m="both"}else{if(!p)return e.Pass;m="both"}else m=d&&u(t,y)?"both":h.indexOf(i)>=0&&t.getRange(y,n(y.line,y.ch+3))==i+i+i?"skipThree":"skip";if(c){if(c!=m)return e.Pass}else c=m}var x=l%2?s.charAt(l-1):i,C=l%2?i:s.charAt(l+1);t.operation(function(){if("skip"==c)t.execCommand("goCharRight");else if("skipThree"==c)for(var r=0;r<3;r++)t.execCommand("goCharRight");else if("surround"==c){for(var i=t.getSelections(),r=0;r<i.length;r++)i[r]=x+i[r]+C;t.replaceSelections(i,"around"),i=t.listSelections().slice();for(var r=0;r<i.length;r++)i[r]=(o=i[r],s=e.cmpPos(o.anchor,o.head)>0,{anchor:new n(o.anchor.line,o.anchor.ch+(s?-1:1)),head:new n(o.head.line,o.head.ch+(s?1:-1))});t.setSelections(i)}else"both"==c?(t.replaceSelection(x+C,null),t.triggerElectric(x+C),t.execCommand("goCharLeft")):"addFour"==c&&(t.replaceSelection(x+x+x+x,"before"),t.execCommand("goCharRight"));var o,s})}(i,t)}}function a(e){var t=e.state.closeBrackets;if(!t||t.override)return t;var n=e.getModeAt(e.getCursor());return n.closeBrackets||t}function l(e,t){var r=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==r.length?r:null}function u(e,t){var r=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(r.type)&&r.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+"`")}(n(50))},function(e,t,n){},function(e,t,n){!function(e){function t(t){if(t.getOption("disableInput"))return e.Pass;for(var r,i=t.listSelections(),o=[],s=0;s<i.length;s++){var a=i[s].head;if(!/\bcomment\b/.test(t.getTokenTypeAt(a)))return e.Pass;var l=t.getModeAt(a);if(r){if(r!=l)return e.Pass}else r=l;var u=null;if(r.blockCommentStart&&r.blockCommentContinue){var c=t.getLine(a.line).slice(0,a.ch),h=c.lastIndexOf(r.blockCommentEnd);if(-1!=h&&h==a.ch-r.blockCommentEnd.length);else if((f=c.lastIndexOf(r.blockCommentStart))>-1&&f>h){if(u=c.slice(0,f),/\S/.test(u)){u="";for(var d=0;d<f;++d)u+=" "}}else(f=c.indexOf(r.blockCommentContinue))>-1&&!/\S/.test(c.slice(0,f))&&(u=c.slice(0,f));null!=u&&(u+=r.blockCommentContinue)}if(null==u&&r.lineComment&&n(t)){var c=t.getLine(a.line),f=c.indexOf(r.lineComment);f>-1&&(u=c.slice(0,f),/\S/.test(u)?u=null:u+=r.lineComment+c.slice(f+r.lineComment.length).match(/^\s*/)[0])}if(null==u)return e.Pass;o[s]="\n"+u}t.operation(function(){for(var e=i.length-1;e>=0;e--)t.replaceRange(o[e],i[e].from(),i[e].to(),"+insert")})}function n(e){var t=e.getOption("continueComments");return!t||"object"!=typeof t||!1!==t.continueLineComment}e.defineOption("continueComments",null,function(n,r,i){if(i&&i!=e.Init&&n.removeKeyMap("continueComment"),r){var o="Enter";"string"==typeof r?o=r:"object"==typeof r&&r.key&&(o=r.key);var s={name:"continueComment"};s[o]=t,n.addKeyMap(s)}})}(n(50))},function(e,t,n){!function(e){"use strict";var t=e.Pos;function n(e,t){return e.line==t.line&&e.ch==t.ch}var r=[];function i(e){r.push(e),r.length>50&&r.shift()}function o(e){return r[r.length-(e?Math.min(e,1):1)]||""}var s=null;function a(e,t,o,a,l){null==l&&(l=e.getRange(t,o)),"grow"==a&&s&&s.cm==e&&n(t,s.pos)&&e.isClean(s.gen)?function(e){if(!r.length)return i(e);r[r.length-1]+=e}(l):!1!==a&&i(l),e.replaceRange("",t,o,"+delete"),s="grow"==a?{cm:e,pos:t,gen:e.changeGeneration()}:null}function l(e,t,n){return e.findPosH(t,n,"char",!0)}function u(e,t,n){return e.findPosH(t,n,"word",!0)}function c(e,t,n){return e.findPosV(t,n,"line",e.doc.sel.goalColumn)}function h(e,t,n){return e.findPosV(t,n,"page",e.doc.sel.goalColumn)}function d(e,n,r){for(var i=n.line,o=e.getLine(i),s=/\S/.test(r<0?o.slice(0,n.ch):o.slice(n.ch)),a=e.firstLine(),l=e.lastLine();;){if((i+=r)<a||i>l)return e.clipPos(t(i-r,r<0?0:null));o=e.getLine(i);var u=/\S/.test(o);if(u)s=!0;else if(s)return t(i,0)}}function f(e,n,r){for(var i=n.line,o=n.ch,s=e.getLine(n.line),a=!1;;){var l=s.charAt(o+(r<0?-1:0));if(l){if(a&&/[!?.]/.test(l))return t(i,o+(r>0?1:0));a||(a=/\w/.test(l)),o+=r}else{if(i==(r<0?e.firstLine():e.lastLine()))return t(i,o);if(s=e.getLine(i+r),!/\S/.test(s))return t(i,o);i+=r,o=r<0?s.length:0}}}function p(e,r,i){var o;if(e.findMatchingBracket&&(o=e.findMatchingBracket(r,{strict:!0}))&&o.match&&(o.forward?1:-1)==i)return i>0?t(o.to.line,o.to.ch+1):o.to;for(var s=!0;;s=!1){var a=e.getTokenAt(r),l=t(r.line,i<0?a.start:a.end);if(!(s&&i>0&&a.end==r.ch)&&/\w/.test(a.string))return l;var u=e.findPosH(l,i,"char");if(n(l,u))return r;r=u}}function g(e,t){var n=e.state.emacsPrefix;return n?(A(e),"-"==n?-1:Number(n)):t?null:1}function m(e){var t="string"==typeof e?function(t){t.execCommand(e)}:e;return function(e){var n=g(e);t(e);for(var r=1;r<n;++r)t(e)}}function v(e,t,r,i){var o=g(e);o<0&&(i=-i,o=-o);for(var s=0;s<o;++s){var a=r(e,t,i);if(n(a,t))break;t=a}return t}function y(e,t){var n=function(n){n.extendSelection(v(n,n.getCursor(),e,t))};return n.motion=!0,n}function b(e,t,n,r){for(var i,o=e.listSelections(),s=o.length;s--;)i=o[s].head,a(e,i,v(e,i,t,n),r)}function w(e,t){if(e.somethingSelected()){for(var n,r=e.listSelections(),i=r.length;i--;)n=r[i],a(e,n.anchor,n.head,t);return!0}}function x(e,t){e.state.emacsPrefix?"-"!=t&&(e.state.emacsPrefix+=t):(e.state.emacsPrefix=t,e.on("keyHandled",k),e.on("inputRead",E))}var C={"Alt-G":!0,"Ctrl-X":!0,"Ctrl-Q":!0,"Ctrl-U":!0};function k(e,t){e.state.emacsPrefixMap||C.hasOwnProperty(t)||A(e)}function A(e){e.state.emacsPrefix=null,e.off("keyHandled",k),e.off("inputRead",E)}function E(e,t){var n=g(e);if(n>1&&"+input"==t.origin){for(var r=t.text.join("\n"),i="",o=1;o<n;++o)i+=r;e.replaceSelection(i)}}function _(e,t){("string"!=typeof t||!/^\d$/.test(t)&&"Ctrl-U"!=t)&&(e.removeKeyMap(B),e.state.emacsPrefixMap=!1,e.off("keyHandled",_),e.off("inputRead",_))}function S(e){e.setCursor(e.getCursor()),e.setExtending(!e.getExtending()),e.on("change",function(){e.setExtending(!1)})}function F(e){e.setExtending(!1),e.setCursor(e.getCursor())}function D(e,t){var n=e.getCursor(),r=e.findPosH(n,1,"word");e.replaceRange(t(e.getRange(n,r)),n,r),e.setCursor(r)}e.emacs={kill:a,killRegion:w,repeated:m};var T=e.keyMap.emacs=e.normalizeKeyMap({"Ctrl-W":function(e){a(e,e.getCursor("start"),e.getCursor("end"),!0)},"Ctrl-K":m(function(e){var n=e.getCursor(),r=e.clipPos(t(n.line)),i=e.getRange(n,r);/\S/.test(i)||(i+="\n",r=t(n.line+1,0)),a(e,n,r,"grow",i)}),"Alt-W":function(e){i(e.getSelection()),F(e)},"Ctrl-Y":function(e){var t=e.getCursor();e.replaceRange(o(g(e)),t,t,"paste"),e.setSelection(t,e.getCursor())},"Alt-Y":function(e){e.replaceSelection((r.length>1&&r.pop(),o()),"around","paste")},"Ctrl-Space":S,"Ctrl-Shift-2":S,"Ctrl-F":y(l,1),"Ctrl-B":y(l,-1),Right:y(l,1),Left:y(l,-1),"Ctrl-D":function(e){b(e,l,1,!1)},Delete:function(e){w(e,!1)||b(e,l,1,!1)},"Ctrl-H":function(e){b(e,l,-1,!1)},Backspace:function(e){w(e,!1)||b(e,l,-1,!1)},"Alt-F":y(u,1),"Alt-B":y(u,-1),"Alt-Right":y(u,1),"Alt-Left":y(u,-1),"Alt-D":function(e){b(e,u,1,"grow")},"Alt-Backspace":function(e){b(e,u,-1,"grow")},"Ctrl-N":y(c,1),"Ctrl-P":y(c,-1),Down:y(c,1),Up:y(c,-1),"Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":y(h,-1),"Ctrl-V":y(h,1),PageUp:y(h,-1),PageDown:y(h,1),"Ctrl-Up":y(d,-1),"Ctrl-Down":y(d,1),"Alt-A":y(f,-1),"Alt-E":y(f,1),"Alt-K":function(e){b(e,f,1,"grow")},"Ctrl-Alt-K":function(e){b(e,p,1,"grow")},"Ctrl-Alt-Backspace":function(e){b(e,p,-1,"grow")},"Ctrl-Alt-F":y(p,1),"Ctrl-Alt-B":y(p,-1),"Shift-Ctrl-Alt-2":function(e){var t=e.getCursor();e.setSelection(v(e,t,p,1),t)},"Ctrl-Alt-T":function(e){var t=p(e,e.getCursor(),-1),n=p(e,t,1),r=p(e,n,1),i=p(e,r,-1);e.replaceRange(e.getRange(i,r)+e.getRange(n,i)+e.getRange(t,n),t,r)},"Ctrl-Alt-U":m(function(e){for(var n=e.getCursor(),r=n.line,i=n.ch,o=[];r>=e.firstLine();){for(var s=e.getLine(r),a=null==i?s.length:i;a>0;){var i=s.charAt(--a);if(")"==i)o.push("(");else if("]"==i)o.push("[");else if("}"==i)o.push("{");else if(/[\(\{\[]/.test(i)&&(!o.length||o.pop()!=i))return e.extendSelection(t(r,a))}--r,i=null}}),"Alt-Space":function(e){for(var n=e.getCursor(),r=n.ch,i=n.ch,o=e.getLine(n.line);r&&/\s/.test(o.charAt(r-1));)--r;for(;i<o.length&&/\s/.test(o.charAt(i));)++i;e.replaceRange(" ",t(n.line,r),t(n.line,i))},"Ctrl-O":m(function(e){e.replaceSelection("\n","start")}),"Ctrl-T":m(function(e){e.execCommand("transposeChars")}),"Alt-C":m(function(e){D(e,function(e){var t=e.search(/\w/);return-1==t?e:e.slice(0,t)+e.charAt(t).toUpperCase()+e.slice(t+1).toLowerCase()})}),"Alt-U":m(function(e){D(e,function(e){return e.toUpperCase()})}),"Alt-L":m(function(e){D(e,function(e){return e.toLowerCase()})}),"Alt-;":"toggleComment","Ctrl-/":m("undo"),"Shift-Ctrl--":m("undo"),"Ctrl-Z":m("undo"),"Cmd-Z":m("undo"),"Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":function(e){e.execCommand("clearSearch"),F(e)},"Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":m(function(e){e.replaceSelection("\n","end")}),Tab:"indentAuto","Alt-G G":function(e){var t=g(e,!0);if(null!=t&&t>0)return e.setCursor(t-1);!function(e,t,n){e.openDialog?e.openDialog(t+': <input type="text" style="width: 10em"/>',n,{bottom:!0}):n(prompt(t,""))}(e,"Goto line",function(t){var n;t&&!isNaN(n=Number(t))&&n==(0|n)&&n>0&&e.setCursor(n-1)})},"Ctrl-X Tab":function(e){e.indentSelection(g(e,!0)||e.getOption("indentUnit"))},"Ctrl-X Ctrl-X":function(e){e.setSelection(e.getCursor("head"),e.getCursor("anchor"))},"Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X U":m("undo"),"Ctrl-X K":"close","Ctrl-X Delete":function(e){a(e,e.getCursor(),f(e,e.getCursor(),1),"grow")},"Ctrl-X H":"selectAll","Ctrl-Q Tab":m("insertTab"),"Ctrl-U":function(e){e.state.emacsPrefixMap=!0,e.addKeyMap(B),e.on("keyHandled",_),e.on("inputRead",_)}}),B={"Ctrl-G":A};function L(e){B[e]=function(t){x(t,e)},T["Ctrl-"+e]=function(t){x(t,e)},C["Ctrl-"+e]=!0}for(var M=0;M<10;++M)L(String(M));L("-")}(n(50))},function(e,t,n){!function(e){"use strict";var t=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],n=t.length,r=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],i=e.Pos;e.Vim=function(){function o(t,n){this==e.keyMap.vim&&(e.rmClass(t.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==t.getOption("inputStyle")&&null!=document.body.style.caretColor&&(function(e){var t=e.state.fatCursorMarks;if(t)for(var n=0;n<t.length;n++)t[n].clear();e.state.fatCursorMarks=null,e.off("cursorActivity",l)}(t),t.getInputField().style.caretColor="")),n&&n.attach==s||function(t){t.setOption("disableInput",!1),t.off("cursorActivity",Ze),e.off(t.getInputField(),"paste",d(t)),t.state.vim=null}(t)}function s(t,n){this==e.keyMap.vim&&(e.addClass(t.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==t.getOption("inputStyle")&&null!=document.body.style.caretColor&&(function(e){e.state.fatCursorMarks=a(e),e.on("cursorActivity",l)}(t),t.getInputField().style.caretColor="transparent")),n&&n.attach==s||function(t){t.setOption("disableInput",!0),t.setOption("showCursorWhenSelecting",!1),e.signal(t,"vim-mode-change",{mode:"normal"}),t.on("cursorActivity",Ze),j(t),e.on(t.getInputField(),"paste",d(t))}(t)}function a(e){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++){var o=t[r];if(o.empty())if(o.anchor.ch<e.getLine(o.anchor.line).length)n.push(e.markText(o.anchor,i(o.anchor.line,o.anchor.ch+1),{className:"cm-fat-cursor-mark"}));else{var s=document.createElement("span");s.textContent=" ",s.className="cm-fat-cursor-mark",n.push(e.setBookmark(o.anchor,{widget:s}))}}return n}function l(e){var t=e.state.fatCursorMarks;if(t)for(var n=0;n<t.length;n++)t[n].clear();e.state.fatCursorMarks=a(e)}function u(t,n){if(n){if(this[t])return this[t];var r=function(e){if("'"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&"Shift"==t[0]&&1==n.length)return!1;for(var r=!1,i=0;i<t.length;i++){var o=t[i];o in c?t[i]=c[o]:r=!0,o in h&&(t[i]=h[o])}return!!r&&(A(n)&&(t[t.length-1]=n.toLowerCase()),"<"+t.join("-")+">")}(t);if(!r)return!1;var i=e.Vim.findKey(n,r);return"function"==typeof i&&e.signal(n,"vim-keypress",r),i}}e.defineOption("vimMode",!1,function(t,n,r){n&&"vim"!=t.getOption("keyMap")?t.setOption("keyMap","vim"):!n&&r!=e.Init&&/^vim/.test(t.getOption("keyMap"))&&t.setOption("keyMap","default")});var c={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},h={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"};function d(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(J(e.getCursor(),0,1)),Y.enterInsertMode(e,{},t))}),t.onPasteFn}var f=/[\d]/,p=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\s/.test(t)}],g=[function(e){return/\S/.test(e)}];function m(e,t){for(var n=[],r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}var v=m(65,26),y=m(97,26),b=m(48,10),w=[].concat(v,y,b,["<",">"]),x=[].concat(v,y,b,["-",'"',".",":","/"]);function C(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function k(e){return/^[a-z]$/.test(e)}function A(e){return/^[A-Z]$/.test(e)}function E(e){return/^\s*$/.test(e)}function _(e){return-1!=".?!".indexOf(e)}function S(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var F={};function D(e,t,n,r,i){if(void 0===t&&!i)throw Error("defaultValue is required unless callback is provided");if(n||(n="string"),F[e]={type:n,defaultValue:t,callback:i},r)for(var o=0;o<r.length;o++)F[r[o]]=F[e];t&&T(e,t)}function T(e,t,n,r){var i=F[e],o=(r=r||{}).scope;if(!i)return new Error("Unknown option: "+e);if("boolean"==i.type){if(t&&!0!==t)return new Error("Invalid argument: "+e+"="+t);!1!==t&&(t=!0)}i.callback?("local"!==o&&i.callback(t,void 0),"global"!==o&&n&&i.callback(t,n)):("local"!==o&&(i.value="boolean"==i.type?!!t:t),"global"!==o&&n&&(n.state.vim.options[e]={value:t}))}function B(e,t,n){var r=F[e],i=(n=n||{}).scope;if(!r)return new Error("Unknown option: "+e);if(r.callback){var o=t&&r.callback(void 0,t);return"global"!==i&&void 0!==o?o:"local"!==i?r.callback():void 0}var o="global"!==i&&t&&t.state.vim.options[e];return(o||"local"!==i&&r||{}).value}D("filetype",void 0,"string",["ft"],function(e,t){if(void 0!==t){if(void 0===e){var n=t.getOption("mode");return"null"==n?"":n}var n=""==e?"null":e;t.setOption("mode",n)}});var L,M,O=function(){var e=100,t=-1,n=0,r=0,i=new Array(e);return{cachedCursor:void 0,add:function(o,s,a){var l=i[t%e];function u(n){var r=++t%e,s=i[r];s&&s.clear(),i[r]=o.setBookmark(n)}if(l){var c=l.find();c&&!ne(c,s)&&u(s)}else u(s);u(a),n=t,(r=t-e+1)<0&&(r=0)},move:function(o,s){(t+=s)>n?t=n:t<r&&(t=r);var a=i[(e+t)%e];if(a&&!a.find()){var l,u=s>0?1:-1,c=o.getCursor();do{if((a=i[(e+(t+=u))%e])&&(l=a.find())&&!ne(c,l))break}while(t<n&&t>r)}return a}}},P=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function R(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=P()}function j(e){return e.state.vim||(e.state.vim={inputState:new $,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function I(){for(var e in L={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:O(),macroModeState:new R,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new z({}),searchHistoryController:new U,exCommandHistoryController:new U},F){var t=F[e];t.value=t.defaultValue}}R.prototype={exitMacroRecordMode:function(){var e=L.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=L.registerController.getRegister(t);n&&(n.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog("(recording)["+t+"]",null,{bottom:!0})),this.isRecording=!0)}};var N={buildKeyMap:function(){},getRegisterController:function(){return L.registerController},resetVimGlobalState_:I,getVimGlobalState_:function(){return L},maybeInitVimState_:j,suppressErrorLogging:!1,InsertModeKey:Qe,map:function(e,t,n){Ge.map(e,t,n)},unmap:function(e,t){Ge.unmap(e,t)},noremap:function(e,r,i){function o(e){return e?[e]:["normal","insert","visual"]}for(var s=o(i),a=t.length,l=n,u=a-l;u<a&&s.length;u++){var c=t[u];if(!(c.keys!=r||i&&c.context&&c.context!==i||"ex"===c.type.substr(0,2)||"key"===c.type.substr(0,3))){var h={};for(var d in c)h[d]=c[d];h.keys=e,i&&!h.context&&(h.context=i),this._mapCommand(h);var f=o(c.context);s=s.filter(function(e){return-1===f.indexOf(e)})}}},mapclear:function(e){var r=t.length,i=n,o=t.slice(0,r-i);if(t=t.slice(r-i),e)for(var s=o.length-1;s>=0;s--){var a=o[s];if(e!==a.context)if(a.context)this._mapCommand(a);else{var l=["normal","insert","visual"];for(var u in l)if(l[u]!==e){var c={};for(var h in a)c[h]=a[h];c.context=l[u],this._mapCommand(c)}}}},setOption:T,getOption:B,defineOption:D,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered')}else t=e;Ve[e]=n,Ge.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if("function"==typeof r)return r()},findKey:function(n,r,i){var o,s=j(n);function a(){var e=L.macroModeState;if(e.isRecording){if("q"==r)return e.exitMacroRecordMode(),W(n),!0;"mapping"!=i&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=L.registerController.getRegister(n);r&&r.pushText(t)}}(e,r)}}function l(){if("<Esc>"==r)return W(n),s.visualMode?ge(n):s.insertMode&&Ke(n),!0}return!1===(o=s.insertMode?function(){if(l())return!0;for(var e=s.inputState.keyBuffer=s.inputState.keyBuffer+r,i=1==r.length,o=V.matchCommand(e,t,s.inputState,"insert");e.length>1&&"full"!=o.type;){var e=s.inputState.keyBuffer=e.slice(1),a=V.matchCommand(e,t,s.inputState,"insert");"none"!=a.type&&(o=a)}if("none"==o.type)return W(n),!1;if("partial"==o.type)return M&&window.clearTimeout(M),M=window.setTimeout(function(){s.insertMode&&s.inputState.keyBuffer&&W(n)},B("insertModeEscKeysTimeout")),!i;if(M&&window.clearTimeout(M),i){for(var u=n.listSelections(),c=0;c<u.length;c++){var h=u[c].head;n.replaceRange("",J(h,0,-(e.length-1)),h,"+input")}L.macroModeState.lastInsertModeChanges.changes.pop()}return W(n),o.command}():function(){if(a()||l())return!0;var e=s.inputState.keyBuffer=s.inputState.keyBuffer+r;if(/^[1-9]\d*$/.test(e))return!0;if(!(i=/^(\d*)(.*)$/.exec(e)))return W(n),!1;var i,o=s.visualMode?"visual":"normal",u=V.matchCommand(i[2]||i[1],t,s.inputState,o);return"none"==u.type?(W(n),!1):"partial"==u.type||(s.inputState.keyBuffer="",(i=/^(\d*)(.*)$/.exec(e))[1]&&"0"!=i[1]&&s.inputState.pushRepeatDigit(i[1]),u.command)}())?s.insertMode||1!==r.length?void 0:function(){return!0}:!0===o?function(){return!0}:function(){return n.operation(function(){n.curOp.isVimOp=!0;try{"keyToKey"==o.type?function(t){for(var i;t;)i=/<\w+-.+?>|<\w+>|./.exec(t),r=i[0],t=t.substring(i.index+r.length),e.Vim.handleKey(n,r,"mapping")}(o.toKeys):V.processCommand(n,s,o)}catch(t){throw n.state.vim=void 0,j(n),e.Vim.suppressErrorLogging||console.log(t),t}return!0})}},handleEx:function(e,t){Ge.processCommand(e,t)},defineMotion:function(e,t){G[e]=t},defineAction:function(e,t){Y[e]=t},defineOperator:function(e,t){q[e]=t},mapCommand:function(e,t,n,r,i){var o={keys:e,type:t};for(var s in o[t]=n,o[t+"Args"]=r,i)o[s]=i[s];qe(o)},_mapCommand:qe,defineRegister:function(e,t){var n=L.registerController.registers;if(!e||1!=e.length)throw Error("Register name must be 1 character");if(n[e])throw Error("Register already defined "+e);n[e]=t,x.push(e)},exitVisualMode:ge,exitInsertMode:Ke};function $(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function W(t,n){t.state.vim.inputState=new $,e.signal(t,"vim-command-done",n)}function H(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function z(e){this.registers=e,this.unnamedRegister=e['"']=new H,e["."]=new H,e[":"]=new H,e["/"]=new H}function U(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}$.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},$.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10))),e},H.prototype={setText:function(e,t,n){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(P(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},z.prototype={pushText:function(e,t,n,r,i){r&&"\n"!==n.charAt(n.length-1)&&(n+="\n");var o=this.isValidRegister(e)?this.getRegister(e):null;if(o){var s=A(e);s?o.pushText(n,r):o.setText(n,r,i),this.unnamedRegister.setText(o.toString(),r)}else{switch(t){case"yank":this.registers[0]=new H(n,r,i);break;case"delete":case"change":-1==n.indexOf("\n")?this.registers["-"]=new H(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new H(n,r))}this.unnamedRegister.setText(n,r,i)}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new H),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&S(e,x)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},U.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var i=this.iterator+r;t?i>=0:i<n.length;i+=r)for(var o=n[i],s=0;s<=o.length;s++)if(this.initialPrefix==o.substring(0,s))return this.iterator=i,o;return i>=n.length?(this.iterator=n.length,this.initialPrefix):i<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var V={matchCommand:function(e,t,n,r){var i,o=function(e,t,n,r){for(var i,o=[],s=[],a=0;a<t.length;a++){var l=t[a];"insert"==n&&"insert"!=l.context||l.context&&l.context!=n||r.operator&&"action"==l.type||!(i=Q(e,l.keys))||("partial"==i&&o.push(l),"full"==i&&s.push(l))}return{partial:o.length&&o,full:s.length&&s}}(e,t,r,n);if(!o.full&&!o.partial)return{type:"none"};if(!o.full&&o.partial)return{type:"partial"};for(var s=0;s<o.full.length;s++){var a=o.full[s];i||(i=a)}if("<character>"==i.keys.slice(-11)){var l=function(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"<CR>":n="\n";break;case"<Space>":n=" ";break;default:n=""}return n}(e);if(!l)return{type:"none"};n.selectedCharacter=l}return{type:"full",command:i}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=Z(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion="expandToLine",r.motionArgs={linewise:!0},void this.evalInput(e,t);W(e)}r.operator=n.operator,r.operatorArgs=Z(n.operatorArgs),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,i=Z(n.operatorMotionArgs);i&&r&&i.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,i=r.getRepeat(),o=!!i,s=Z(n.actionArgs)||{};r.selectedCharacter&&(s.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),s.repeat=i||1,s.repeatIsExplicit=o,s.registerName=r.registerName,W(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),Y[n.action](e,s,t)},processSearch:function(t,n,r){if(t.getSearchCursor){var i=r.searchArgs.forward,o=r.searchArgs.wholeWordOnly;Fe(t).setReversed(!i);var s=i?"/":"?",a=Fe(t).getQuery(),l=t.getScrollInfo();switch(r.searchArgs.querySrc){case"prompt":var u=L.macroModeState;if(u.isPlaying){var c=u.replaySearchQueries.shift();f(c,!0,!1)}else je(t,{onClose:function(e){t.scrollTo(l.left,l.top),f(e,!0,!0);var n=L.macroModeState;n.isRecording&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=L.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}(n,e)},prefix:s,desc:Re,onKeyUp:function(n,r,o){var s,a,u,c=e.keyName(n);"Up"==c||"Down"==c?(s="Up"==c,a=n.target?n.target.selectionEnd:0,r=L.searchHistoryController.nextMatch(r,s)||"",o(r),a&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(a,n.target.value.length))):"Left"!=c&&"Right"!=c&&"Ctrl"!=c&&"Alt"!=c&&"Shift"!=c&&L.searchHistoryController.reset();try{u=Ie(t,r,!0,!0)}catch(n){}u?t.scrollIntoView($e(t,!i,u),30):(We(t),t.scrollTo(l.left,l.top))},onKeyDown:function(n,r,i){var o=e.keyName(n);"Esc"==o||"Ctrl-C"==o||"Ctrl-["==o||"Backspace"==o&&""==r?(L.searchHistoryController.pushInput(r),L.searchHistoryController.reset(),Ie(t,a),We(t),t.scrollTo(l.left,l.top),e.e_stop(n),W(t),i(),t.focus()):"Up"==o||"Down"==o?e.e_stop(n):"Ctrl-U"==o&&(e.e_stop(n),i(""))}});break;case"wordUnderCursor":var h=ve(t,!1,0,!1,!0),d=!0;if(h||(h=ve(t,!1,0,!1,!1),d=!1),!h)return;var c=t.getLine(h.start.line).substring(h.start.ch,h.end.ch);c=d&&o?"\\b"+c+"\\b":c.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1"),L.jumpList.cachedCursor=t.getCursor(),t.setCursor(h.start),f(c,!0,!1)}}function f(e,i,o){L.searchHistoryController.pushInput(e),L.searchHistoryController.reset();try{Ie(t,e,i,o)}catch(n){return Pe(t,"Invalid regex: "+e),void W(t)}V.processMotion(t,n,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:r.searchArgs.toJumplist}})}},processEx:function(t,n,r){function i(e){L.exCommandHistoryController.pushInput(e),L.exCommandHistoryController.reset(),Ge.processCommand(t,e)}function o(n,r,i){var o,s,a=e.keyName(n);("Esc"==a||"Ctrl-C"==a||"Ctrl-["==a||"Backspace"==a&&""==r)&&(L.exCommandHistoryController.pushInput(r),L.exCommandHistoryController.reset(),e.e_stop(n),W(t),i(),t.focus()),"Up"==a||"Down"==a?(e.e_stop(n),o="Up"==a,s=n.target?n.target.selectionEnd:0,r=L.exCommandHistoryController.nextMatch(r,o)||"",i(r),s&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(s,n.target.value.length))):"Ctrl-U"==a?(e.e_stop(n),i("")):"Left"!=a&&"Right"!=a&&"Ctrl"!=a&&"Alt"!=a&&"Shift"!=a&&L.exCommandHistoryController.reset()}"keyToEx"==r.type?Ge.processCommand(t,r.exArgs.input):n.visualMode?je(t,{onClose:i,prefix:":",value:"'<,'>",onKeyDown:o,selectValueOnOpen:!1}):je(t,{onClose:i,prefix:":",onKeyDown:o})},evalInput:function(e,t){var n,r,o,s=t.inputState,a=s.motion,l=s.motionArgs||{},u=s.operator,c=s.operatorArgs||{},h=s.registerName,d=t.sel,f=te(t.visualMode?X(e,d.head):e.getCursor("head")),p=te(t.visualMode?X(e,d.anchor):e.getCursor("anchor")),g=te(f),m=te(p);if(u&&this.recordLastEdit(t,s),(o=void 0!==s.repeatOverride?s.repeatOverride:s.getRepeat())>0&&l.explicitRepeat?l.repeatIsExplicit=!0:(l.noRepeat||!l.explicitRepeat&&0===o)&&(o=1,l.repeatIsExplicit=!1),s.selectedCharacter&&(l.selectedCharacter=c.selectedCharacter=s.selectedCharacter),l.repeat=o,W(e),a){var v=G[a](e,f,l,t);if(t.lastMotion=G[a],!v)return;if(l.toJumplist){var y=L.jumpList,b=y.cachedCursor;b?(ye(e,b,v),delete y.cachedCursor):ye(e,f,v)}v instanceof Array?(r=v[0],n=v[1]):n=v,n||(n=te(f)),t.visualMode?(t.visualBlock&&n.ch===1/0||(n=X(e,n,t.visualBlock)),r&&(r=X(e,r,!0)),r=r||m,d.anchor=r,d.head=n,fe(e),Ae(e,t,"<",re(r,n)?r:n),Ae(e,t,">",re(r,n)?n:r)):u||(n=X(e,n),e.setCursor(n.line,n.ch))}if(u){if(c.lastSel){r=m;var w=c.lastSel,x=Math.abs(w.head.line-w.anchor.line),C=Math.abs(w.head.ch-w.anchor.ch);n=w.visualLine?i(m.line+x,m.ch):w.visualBlock?i(m.line+x,m.ch+C):w.head.line==w.anchor.line?i(m.line,m.ch+C):i(m.line+x,m.ch),t.visualMode=!0,t.visualLine=w.visualLine,t.visualBlock=w.visualBlock,d=t.sel={anchor:r,head:n},fe(e)}else t.visualMode&&(c.lastSel={anchor:te(d.anchor),head:te(d.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var k,A,_,S,F;if(t.visualMode){if(k=ie(d.head,d.anchor),A=oe(d.head,d.anchor),_=t.visualLine||c.linewise,S=t.visualBlock?"block":_?"line":"char",F=pe(e,{anchor:k,head:A},S),_){var D=F.ranges;if("block"==S)for(var T=0;T<D.length;T++)D[T].head.ch=ae(e,D[T].head.line);else"line"==S&&(D[0].head=i(D[0].head.line+1,0))}}else{if(k=te(r||m),re(A=te(n||g),k)){var B=k;k=A,A=B}(_=l.linewise||c.linewise)?function(e,t,n){t.ch=0,n.ch=0,n.line++}(0,k,A):l.forward&&function(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var i=r.split("\n");i.pop();for(var o=i.pop();i.length>0&&o&&E(o);o=i.pop())n.line--,n.ch=0;o?(n.line--,n.ch=ae(e,n.line)):n.ch=0}}(e,k,A),S="char";var M=!l.inclusive||_;F=pe(e,{anchor:k,head:A},S,M)}e.setSelections(F.ranges,F.primary),t.lastMotion=null,c.repeat=o,c.registerName=h,c.linewise=_;var O=q[u](e,c,F.ranges,m,n);t.visualMode&&ge(e,null!=O),O&&e.setCursor(O)}},recordLastEdit:function(e,t,n){var r=L.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1)}},G={moveToTopLine:function(e,t,n){var r=He(e).top+n.repeat-1;return i(r,me(e.getLine(r)))},moveToMiddleLine:function(e){var t=He(e),n=Math.floor(.5*(t.top+t.bottom));return i(n,me(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=He(e).bottom-n.repeat+1;return i(r,me(e.getLine(r)))},expandToLine:function(e,t,n){var r=t;return i(r.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r=Fe(e),i=r.getQuery();if(i){var o=!n.forward;return o=r.isReversed()?!o:o,Ne(e,i),$e(e,o,i,n.repeat)}},goToMark:function(e,t,n,r){var i=ze(e,r,n.selectedCharacter);return i?n.linewise?{line:i.line,ch:me(e.getLine(i.line))}:i:null},moveToOtherHighlightedEnd:function(e,t,n,r){if(r.visualBlock&&n.sameLine){var o=r.sel;return[X(e,i(o.anchor.line,o.head.ch)),X(e,i(o.head.line,o.anchor.ch))]}return[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){for(var o=t,s=0;s<n.repeat;s++){var a=o;for(var l in r.marks)if(k(l)){var u=r.marks[l].find(),c=n.forward?re(u,a):re(a,u);if(!(c||n.linewise&&u.line==a.line)){var h=ne(a,o),d=n.forward?se(a,u,o):se(o,u,a);(h||d)&&(o=u)}}}return n.linewise&&(o=i(o.line,me(e.getLine(o.line)))),o},moveByCharacters:function(e,t,n){var r=t,o=n.repeat,s=n.forward?r.ch+o:r.ch-o;return i(r.line,s)},moveByLines:function(e,t,n,r){var o=t,s=o.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:s=r.lastHPos;break;default:r.lastHPos=s}var a=n.repeat+(n.repeatOffset||0),l=n.forward?o.line+a:o.line-a,u=e.firstLine(),c=e.lastLine();return l<u&&o.line==u?this.moveToStartOfLine(e,t,n,r):l>c&&o.line==c?this.moveToEol(e,t,n,r):(n.toFirstChar&&(s=me(e.getLine(l)),r.lastHPos=s),r.lastHSPos=e.charCoords(i(l,s),"div").left,i(l,s))},moveByDisplayLines:function(e,t,n,r){var o=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(o,"div").left}var s=n.repeat,a=e.findPosV(o,n.forward?s:-s,"line",r.lastHSPos);if(a.hitSide)if(n.forward)var l=e.charCoords(a,"div"),u={top:l.top+8,left:r.lastHSPos},a=e.coordsChar(u,"div");else{var c=e.charCoords(i(e.firstLine(),0),"div");c.left=r.lastHSPos,a=e.coordsChar(c,"div")}return r.lastHPos=a.ch,a},moveByPage:function(e,t,n){var r=t,i=n.repeat;return e.findPosV(r,n.forward?i:-i,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return _e(e,t,n.repeat,r)},moveBySentence:function(e,t,n){var r=n.forward?1:-1;return function(e,t,n,r){function o(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!C(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function s(e,t,n,r){var i=e.getLine(t),s=""===i,a={line:i,ln:t,pos:n,dir:r},l={ln:a.ln,pos:a.pos},u=""===a.line;for(o(e,a);null!==a.line;){if(l.ln=a.ln,l.pos=a.pos,""===a.line&&!u)return{ln:a.ln,pos:a.pos};if(s&&""!==a.line&&!E(a.line[a.pos]))return{ln:a.ln,pos:a.pos};!_(a.line[a.pos])||s||a.pos!==a.line.length-1&&!E(a.line[a.pos+1])||(s=!0),o(e,a)}var i=e.getLine(l.ln);l.pos=0;for(var c=i.length-1;c>=0;--c)if(!E(i[c])){l.pos=c;break}return l}function a(e,t,n,r){var i=e.getLine(t),s={line:i,ln:t,pos:n,dir:r},a={ln:s.ln,pos:null},l=""===s.line;for(o(e,s);null!==s.line;){if(""===s.line&&!l)return null!==a.pos?a:{ln:s.ln,pos:s.pos};if(_(s.line[s.pos])&&null!==a.pos&&(s.ln!==a.ln||s.pos+1!==a.pos))return a;""===s.line||E(s.line[s.pos])||(l=!1,a={ln:s.ln,pos:s.pos}),o(e,s)}var i=e.getLine(a.ln);a.pos=0;for(var u=0;u<i.length;++u)if(!E(i[u])){a.pos=u;break}return a}for(var l={ln:t.line,pos:t.ch};n>0;)l=r<0?a(e,l.ln,l.pos,r):s(e,l.ln,l.pos,r),n--;return i(l.ln,l.pos)}(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var i=e.getScrollInfo(),o=null,s=n.repeat;s||(s=i.clientHeight/(2*e.defaultTextHeight()));var a=e.charCoords(t,"local");n.repeat=s;var o=G.moveByDisplayLines(e,t,n,r);if(!o)return null;var l=e.charCoords(o,"local");return e.scrollTo(null,i.top+l.top-a.top),o},moveByWords:function(e,t,n){return function(e,t,n,r,o,s){var a=te(t),l=[];(r&&!o||!r&&o)&&n++;for(var u=!(r&&o),c=0;c<n;c++){var h=Ce(e,t,r,s,u);if(!h){var d=ae(e,e.lastLine());l.push(r?{line:e.lastLine(),from:d,to:d}:{line:0,from:0,to:0});break}l.push(h),t=i(h.line,r?h.to-1:h.from)}var f=l.length!=n,p=l[0],g=l.pop();return r&&!o?(f||p.from==a.ch&&p.line==a.line||(g=l.pop()),i(g.line,g.from)):r&&o?i(g.line,g.to-1):!r&&o?(f||p.to==a.ch&&p.line==a.line||(g=l.pop()),i(g.line,g.to)):i(g.line,g.from)}(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=n.repeat,i=ke(e,r,n.forward,n.selectedCharacter),o=n.forward?-1:1;return be(o,n),i?(i.ch+=o,i):null},moveToCharacter:function(e,t,n){var r=n.repeat;return be(0,n),ke(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){var r=n.repeat;return function(e,t,n,r){var o=te(e.getCursor()),s=n?1:-1,a=n?e.lineCount():-1,l=o.ch,u=o.line,c=e.getLine(u),h={lineText:c,nextCh:c.charAt(l),lastCh:null,index:l,symb:r,reverseSymb:(n?{")":"(","}":"{"}:{"(":")","{":"}"})[r],forward:n,depth:0,curMoveThrough:!1},d=we[r];if(!d)return o;var f=xe[d].init,p=xe[d].isComplete;for(f&&f(h);u!==a&&t;){if(h.index+=s,h.nextCh=h.lineText.charAt(h.index),!h.nextCh){if(u+=s,h.lineText=e.getLine(u)||"",s>0)h.index=0;else{var g=h.lineText.length;h.index=g>0?g-1:0}h.nextCh=h.lineText.charAt(h.index)}p(h)&&(o.line=u,o.ch=h.index,t--)}return h.nextCh||h.curMoveThrough?i(u,h.index):o}(e,r,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var o=n.repeat;return r.lastHPos=o-1,r.lastHSPos=e.charCoords(t,"div").left,function(e,t){var n=e.getCursor().line;return X(e,i(n,t-1))}(e,o)},moveToEol:function(e,t,n,r){var o=t;r.lastHPos=1/0;var s=i(o.line+n.repeat-1,1/0),a=e.clipPos(s);return a.ch--,r.lastHSPos=e.charCoords(a,"div").left,s},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return i(n.line,me(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){for(var n,r=t,o=r.line,s=r.ch,a=e.getLine(o);s<a.length;s++)if((n=a.charAt(s))&&-1!="()[]{}".indexOf(n)){var l=e.getTokenTypeAt(i(o,s+1));if("string"!==l&&"comment"!==l)break}if(s<a.length){var u=e.findMatchingBracket(i(o,s),{bracketRegex:/[(){}[\]<>]/});return u.to}return r},moveToStartOfLine:function(e,t){return i(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption("firstLineNumber")),i(r,me(e.getLine(r)))},textObjectManipulation:function(e,t,n,r){var o=n.selectedCharacter;"b"==o?o="(":"B"==o&&(o="{");var s,a=!n.textObjectInner;if({"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"}[o])s=function(e,t,n,r){var o,s,a=t,l={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[n],u={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[n],c=e.getLine(a.line).charAt(a.ch)===u?1:0;if(o=e.scanForBracket(i(a.line,a.ch+c),-1,void 0,{bracketRegex:l}),s=e.scanForBracket(i(a.line,a.ch+c),1,void 0,{bracketRegex:l}),!o||!s)return{start:a,end:a};if(o=o.pos,s=s.pos,o.line==s.line&&o.ch>s.ch||o.line>s.line){var h=o;o=s,s=h}return r?s.ch+=1:o.ch+=1,{start:o,end:s}}(e,t,o,a);else if({"'":!0,'"':!0}[o])s=function(e,t,n,r){var o,s,a,l,u=te(t),c=e.getLine(u.line).split(""),h=c.indexOf(n);if(u.ch<h?u.ch=h:h<u.ch&&c[u.ch]==n&&(s=u.ch,--u.ch),c[u.ch]!=n||s)for(a=u.ch;a>-1&&!o;a--)c[a]==n&&(o=a+1);else o=u.ch+1;if(o&&!s)for(a=o,l=c.length;a<l&&!s;a++)c[a]==n&&(s=a);return o&&s?(r&&(--o,++s),{start:i(u.line,o),end:i(u.line,s)}):{start:u,end:u}}(e,t,o,a);else if("W"===o)s=ve(e,a,0,!0);else if("w"===o)s=ve(e,a,0,!1);else{if("p"!==o)return null;if(s=_e(e,t,n.repeat,0,a),n.linewise=!0,r.visualMode)r.visualLine||(r.visualLine=!0);else{var l=r.inputState.operatorArgs;l&&(l.linewise=!0),s.end.line--}}return e.state.vim.visualMode?function(e,t,n){var r,o=e.state.vim.sel,s=o.head,a=o.anchor;return re(n,t)&&(r=n,n=t,t=r),re(s,a)?(s=ie(t,s),a=oe(a,n)):(a=ie(t,a),-1==(s=J(s=oe(s,n),0,-1)).ch&&s.line!=e.firstLine()&&(s=i(s.line-1,ae(e,s.line-1)))),[a,s]}(e,s.start,s.end):[s.start,s.end]},repeatLastCharacterSearch:function(e,t,n){var r=L.lastCharacterSearch,i=n.repeat,o=n.forward===r.forward,s=(r.increment?1:0)*(o?-1:1);e.moveH(-s,"char"),n.inclusive=!!o;var a=ke(e,i,o,r.selectedCharacter);return a?(a.ch+=s,a):(e.moveH(s,"char"),t)}};function K(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var q={change:function(t,n,r){var o,s,a=t.state.vim;if(L.macroModeState.lastInsertModeChanges.inVisualBlock=a.visualBlock,a.visualMode){s=t.getSelection();var l=K("",r.length);t.replaceSelections(l),o=ie(r[0].head,r[0].anchor)}else{var u=r[0].anchor,c=r[0].head;s=t.getRange(u,c);var h=a.lastEditInputState||{};if("moveByWords"==h.motion&&!E(s)){var d=/\s+$/.exec(s);d&&h.motionArgs&&h.motionArgs.forward&&(c=J(c,0,-d[0].length),s=s.slice(0,-d[0].length))}var f=new i(u.line-1,Number.MAX_VALUE),p=t.firstLine()==t.lastLine();c.line>t.lastLine()&&n.linewise&&!p?t.replaceRange("",f,c):t.replaceRange("",u,c),n.linewise&&(p||(t.setCursor(f),e.commands.newlineAndIndent(t)),u.ch=Number.MAX_VALUE),o=u}L.registerController.pushText(n.registerName,"change",s,n.linewise,r.length>1),Y.enterInsertMode(t,{head:o},t.state.vim)},delete:function(e,t,n){var r,o,s=e.state.vim;if(s.visualBlock){o=e.getSelection();var a=K("",n.length);e.replaceSelections(a),r=n[0].anchor}else{var l=n[0].anchor,u=n[0].head;t.linewise&&u.line!=e.firstLine()&&l.line==e.lastLine()&&l.line==u.line-1&&(l.line==e.firstLine()?l.ch=0:l=i(l.line-1,ae(e,l.line-1))),o=e.getRange(l,u),e.replaceRange("",l,u),r=l,t.linewise&&(r=G.moveToFirstNonWhiteSpaceCharacter(e,l))}L.registerController.pushText(t.registerName,"delete",o,t.linewise,s.visualBlock);var c=s.insertMode;return X(e,r,c)},indent:function(e,t,n){var r=e.state.vim,i=n[0].anchor.line,o=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line,s=r.visualMode?t.repeat:1;t.linewise&&o--;for(var a=i;a<=o;a++)for(var l=0;l<s;l++)e.indentLine(a,t.indentRight);return G.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},indentAuto:function(e,t,n){return e.execCommand("indentAuto"),G.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,i){for(var o=e.getSelections(),s=[],a=t.toLower,l=0;l<o.length;l++){var u=o[l],c="";if(!0===a)c=u.toLowerCase();else if(!1===a)c=u.toUpperCase();else for(var h=0;h<u.length;h++){var d=u.charAt(h);c+=A(d)?d.toLowerCase():d.toUpperCase()}s.push(c)}return e.replaceSelections(s),t.shouldMoveCursor?i:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?G.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:ie(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var i=e.state.vim,o=e.getSelection(),s=i.visualMode?ie(i.sel.anchor,i.sel.head,n[0].head,n[0].anchor):r;return L.registerController.pushText(t.registerName,"yank",o,t.linewise,i.visualBlock),s}},Y={jumpListWalk:function(e,t,n){if(!n.visualMode){var r=t.repeat,i=t.forward,o=L.jumpList,s=o.move(e,i?r:-r),a=s?s.find():void 0;a=a||e.getCursor(),e.setCursor(a)}},scroll:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,i=e.defaultTextHeight(),o=e.getScrollInfo().top,s=i*r,a=t.forward?o+s:o-s,l=te(e.getCursor()),u=e.charCoords(l,"local");if(t.forward)a>u.top?(l.line+=(a-u.top)/i,l.line=Math.ceil(l.line),e.setCursor(l),u=e.charCoords(l,"local"),e.scrollTo(null,u.top)):e.scrollTo(null,a);else{var c=a+e.getScrollInfo().clientHeight;c<u.bottom?(l.line-=(u.bottom-c)/i,l.line=Math.floor(l.line),e.setCursor(l),u=e.charCoords(l,"local"),e.scrollTo(null,u.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,a)}}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(i(n,0),"local"),o=e.getScrollInfo().clientHeight,s=r.top,a=r.bottom-s;switch(t.position){case"center":s=s-o/2+a;break;case"bottom":s=s-o+a}e.scrollTo(null,s)},replayMacro:function(e,t,n){var r=t.selectedCharacter,i=t.repeat,o=L.macroModeState;for("@"==r&&(r=o.latestRegister);i--;)Ye(e,n,o,r)},enterMacroRecordMode:function(e,t){var n=L.macroModeState,r=t.selectedCharacter;L.registerController.isValidRegister(r)&&n.enterMacroRecordMode(e,r)},toggleOverwrite:function(t){t.state.overwrite?(t.toggleOverwrite(!1),t.setOption("keyMap","vim-insert"),e.signal(t,"vim-mode-change",{mode:"insert"})):(t.toggleOverwrite(!0),t.setOption("keyMap","vim-replace"),e.signal(t,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(t,n,r){if(!t.getOption("readOnly")){r.insertMode=!0,r.insertModeRepeat=n&&n.repeat||1;var o=n?n.insertAt:null,s=r.sel,a=n.head||t.getCursor("head"),l=t.listSelections().length;if("eol"==o)a=i(a.line,ae(t,a.line));else if("charAfter"==o)a=J(a,0,1);else if("firstNonBlank"==o)a=G.moveToFirstNonWhiteSpaceCharacter(t,a);else if("startOfSelectedArea"==o)r.visualBlock?(a=i(Math.min(s.head.line,s.anchor.line),Math.min(s.head.ch,s.anchor.ch)),l=Math.abs(s.head.line-s.anchor.line)+1):a=s.head.line<s.anchor.line?s.head:i(s.anchor.line,0);else if("endOfSelectedArea"==o)r.visualBlock?(a=i(Math.min(s.head.line,s.anchor.line),Math.max(s.head.ch+1,s.anchor.ch)),l=Math.abs(s.head.line-s.anchor.line)+1):a=s.head.line>=s.anchor.line?J(s.head,0,1):i(s.anchor.line,0);else if("inplace"==o&&r.visualMode)return;t.setOption("disableInput",!1),n&&n.replace?(t.toggleOverwrite(!0),t.setOption("keyMap","vim-replace"),e.signal(t,"vim-mode-change",{mode:"replace"})):(t.toggleOverwrite(!1),t.setOption("keyMap","vim-insert"),e.signal(t,"vim-mode-change",{mode:"insert"})),L.macroModeState.isPlaying||(t.on("change",Xe),e.on(t.getInputField(),"keydown",et)),r.visualMode&&ge(t),he(t,a,l)}},toggleVisualMode:function(t,n,r){var o,s=n.repeat,a=t.getCursor();r.visualMode?r.visualLine^n.linewise||r.visualBlock^n.blockwise?(r.visualLine=!!n.linewise,r.visualBlock=!!n.blockwise,e.signal(t,"vim-mode-change",{mode:"visual",subMode:r.visualLine?"linewise":r.visualBlock?"blockwise":""}),fe(t)):ge(t):(r.visualMode=!0,r.visualLine=!!n.linewise,r.visualBlock=!!n.blockwise,o=X(t,i(a.line,a.ch+s-1),!0),r.sel={anchor:a,head:o},e.signal(t,"vim-mode-change",{mode:"visual",subMode:r.visualLine?"linewise":r.visualBlock?"blockwise":""}),fe(t),Ae(t,r,"<",ie(a,o)),Ae(t,r,">",oe(a,o)))},reselectLastSelection:function(t,n,r){var i=r.lastSelection;if(r.visualMode&&de(t,r),i){var o=i.anchorMark.find(),s=i.headMark.find();if(!o||!s)return;r.sel={anchor:o,head:s},r.visualMode=!0,r.visualLine=i.visualLine,r.visualBlock=i.visualBlock,fe(t),Ae(t,r,"<",ie(o,s)),Ae(t,r,">",oe(o,s)),e.signal(t,"vim-mode-change",{mode:"visual",subMode:r.visualLine?"linewise":r.visualBlock?"blockwise":""})}},joinLines:function(e,t,n){var r,o;if(n.visualMode){if(r=e.getCursor("anchor"),re(o=e.getCursor("head"),r)){var s=o;o=r,r=s}o.ch=ae(e,o.line)-1}else{var a=Math.max(t.repeat,2);r=e.getCursor(),o=X(e,i(r.line+a-1,1/0))}for(var l=0,u=r.line;u<o.line;u++){l=ae(e,r.line);var s=i(r.line+1,ae(e,r.line+1)),c=e.getRange(r,s);c=c.replace(/\n\s*/g," "),e.replaceRange(c,r,s)}var h=i(r.line,l);n.visualMode&&ge(e,!1),e.setCursor(h)},newLineAndEnterInsertMode:function(t,n,r){r.insertMode=!0;var o=te(t.getCursor());if(o.line!==t.firstLine()||n.after){o.line=n.after?o.line:o.line-1,o.ch=ae(t,o.line),t.setCursor(o);var s=e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent;s(t)}else t.replaceRange("\n",i(t.firstLine(),0)),t.setCursor(t.firstLine(),0);this.enterInsertMode(t,{repeat:n.repeat},r)},paste:function(e,t,n){var r=te(e.getCursor()),o=L.registerController.getRegister(t.registerName),s=o.toString();if(s){if(t.matchIndent){var a=e.getOption("tabSize"),l=function(e){var t=e.split("\t").length-1,n=e.split(" ").length-1;return t*a+1*n},u=e.getLine(e.getCursor().line),c=l(u.match(/^\s*/)[0]),h=s.replace(/\n$/,""),d=s!==h,f=l(s.match(/^\s*/)[0]),s=h.replace(/^\s*/gm,function(t){var n=c+(l(t)-f);if(n<0)return"";if(e.getOption("indentWithTabs")){var r=Math.floor(n/a);return Array(r+1).join("\t")}return Array(n+1).join(" ")});s+=d?"\n":""}if(t.repeat>1)var s=Array(t.repeat+1).join(s);var p,g,m=o.linewise,v=o.blockwise;if(m)n.visualMode?s=n.visualLine?s.slice(0,-1):"\n"+s.slice(0,s.length-1)+"\n":t.after?(s="\n"+s.slice(0,s.length-1),r.ch=ae(e,r.line)):r.ch=0;else{if(v){s=s.split("\n");for(var y=0;y<s.length;y++)s[y]=""==s[y]?" ":s[y]}r.ch+=t.after?1:0}if(n.visualMode){var b;n.lastPastedText=s;var w=function(e,t){var n,r,o,s,a,l=t.lastSelection;return t.visualMode?(n=e.listSelections(),r=n[0],o=n[n.length-1],s=re(r.anchor,r.head)?r.anchor:r.head,a=re(o.anchor,o.head)?o.head:o.anchor,[s,a]):function(){var t=e.getCursor(),n=e.getCursor(),r=l.visualBlock;if(r){var o=r.width,s=r.height;n=i(t.line+s,t.ch+o);for(var a=[],u=t.line;u<n.line;u++){var c=i(u,t.ch),h=i(u,n.ch),d={anchor:c,head:h};a.push(d)}e.setSelections(a)}else{var f=l.anchorMark.find(),p=l.headMark.find(),g=p.line-f.line,m=p.ch-f.ch;n={line:n.line+g,ch:g?n.ch:m+n.ch},l.visualLine&&(t=i(t.line,0),n=i(n.line,ae(e,n.line))),e.setSelection(t,n)}return[t,n]}()}(e,n),x=w[0],C=w[1],k=e.getSelection(),A=e.listSelections(),E=new Array(A.length).join("1").split("1");n.lastSelection&&(b=n.lastSelection.headMark.find()),L.registerController.unnamedRegister.setText(k),v?(e.replaceSelections(E),C=i(x.line+s.length-1,x.ch),e.setCursor(x),ce(e,C),e.replaceSelections(s),p=x):n.visualBlock?(e.replaceSelections(E),e.setCursor(x),e.replaceRange(s,x,x),p=x):(e.replaceRange(s,x,C),p=e.posFromIndex(e.indexFromPos(x)+s.length-1)),b&&(n.lastSelection.headMark=e.setBookmark(b)),m&&(p.ch=0)}else if(v){e.setCursor(r);for(var y=0;y<s.length;y++){var _=r.line+y;_>e.lastLine()&&e.replaceRange("\n",i(_,0));var S=ae(e,_);S<r.ch&&ue(e,_,r.ch)}e.setCursor(r),ce(e,i(r.line+s.length-1,r.ch)),e.replaceSelections(s),p=r}else e.replaceRange(s,r),m&&t.after?p=i(r.line+1,me(e.getLine(r.line+1))):m&&!t.after?p=i(r.line,me(e.getLine(r.line))):!m&&t.after?(g=e.indexFromPos(r),p=e.posFromIndex(g+s.length-1)):(g=e.indexFromPos(r),p=e.posFromIndex(g+s.length));n.visualMode&&ge(e,!1),e.setCursor(p)}},undo:function(t,n){t.operation(function(){ee(t,e.commands.undo,n.repeat)(),t.setCursor(t.getCursor("anchor"))})},redo:function(t,n){ee(t,e.commands.redo,n.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){var r=t.selectedCharacter;Ae(e,n,r,e.getCursor())},replace:function(t,n,r){var o,s,a=n.selectedCharacter,l=t.getCursor(),u=t.listSelections();if(r.visualMode)l=t.getCursor("start"),s=t.getCursor("end");else{var c=t.getLine(l.line);(o=l.ch+n.repeat)>c.length&&(o=c.length),s=i(l.line,o)}if("\n"==a)r.visualMode||t.replaceRange("",l,s),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t);else{var h=t.getRange(l,s);if(h=h.replace(/[^\n]/g,a),r.visualBlock){var d=new Array(t.getOption("tabSize")+1).join(" ");h=(h=t.getSelection()).replace(/\t/g,d).replace(/[^\n]/g,a).split("\n"),t.replaceSelections(h)}else t.replaceRange(h,l,s);r.visualMode?(l=re(u[0].anchor,u[0].head)?u[0].anchor:u[0].head,t.setCursor(l),ge(t,!1)):t.setCursor(J(s,0,-1))}},incrementNumberToken:function(e,t){for(var n,r,o,s,a=e.getCursor(),l=e.getLine(a.line),u=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(n=u.exec(l))&&(r=n.index,o=r+n[0].length,!(a.ch<o)););if((t.backtrack||!(o<=a.ch))&&n){var c=n[2]||n[4],h=n[3]||n[5],d=t.increase?1:-1,f={"0b":2,0:8,"":10,"0x":16}[c.toLowerCase()],p=parseInt(n[1]+h,f)+d*t.repeat;s=p.toString(f);var g=c?new Array(h.length-s.length+1+n[1].length).join("0"):"";s="-"===s.charAt(0)?"-"+c+g+s.substr(1):c+g+s;var m=i(a.line,r),v=i(a.line,o);e.replaceRange(s,m,v),e.setCursor(i(a.line,r+s.length-1))}},repeatLastEdit:function(e,t,n){var r=n.lastEditInputState;if(r){var i=t.repeat;i&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=i:i=n.lastEditInputState.repeatOverride||i,tt(e,n,i,!1)}},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:Ke};function X(e,t,n){var r=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),o=ae(e,r)-1;o=n?o+1:o;var s=Math.min(Math.max(0,t.ch),o);return i(r,s)}function Z(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function J(e,t,n){return"object"==typeof t&&(n=t.ch,t=t.line),i(e.line+t,e.ch+n)}function Q(e,t){if("<character>"==t.slice(-11)){var n=t.length-11,r=e.slice(0,n),i=t.slice(0,n);return r==i&&e.length>n?"full":0==i.indexOf(r)&&"partial"}return e==t?"full":0==t.indexOf(e)&&"partial"}function ee(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function te(e){return i(e.line,e.ch)}function ne(e,t){return e.ch==t.ch&&e.line==t.line}function re(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function ie(e,t){return arguments.length>2&&(t=ie.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?e:t}function oe(e,t){return arguments.length>2&&(t=oe.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?t:e}function se(e,t,n){var r=re(e,t),i=re(t,n);return r&&i}function ae(e,t){return e.getLine(t).length}function le(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function ue(e,t,n){var r=ae(e,t),o=new Array(n-r+1).join(" ");e.setCursor(i(t,r)),e.replaceRange(o,e.getCursor())}function ce(e,t){var n=[],r=e.listSelections(),o=te(e.clipPos(t)),s=!ne(t,o),a=e.getCursor("head"),l=function(e,t,n){for(var r=0;r<e.length;r++){var i="head"!=n&&ne(e[r].anchor,t),o="anchor"!=n&&ne(e[r].head,t);if(i||o)return r}return-1}(r,a),u=ne(r[l].head,r[l].anchor),c=r.length-1,h=c-l>l?c:0,d=r[h].anchor,f=Math.min(d.line,o.line),p=Math.max(d.line,o.line),g=d.ch,m=o.ch,v=r[h].head.ch-g,y=m-g;v>0&&y<=0?(g++,s||m--):v<0&&y>=0?(g--,u||m++):v<0&&-1==y&&(g--,m++);for(var b=f;b<=p;b++){var w={anchor:new i(b,g),head:new i(b,m)};n.push(w)}return e.setSelections(n),t.ch=m,d.ch=g,d}function he(e,t,n){for(var r=[],i=0;i<n;i++){var o=J(t,i,0);r.push({anchor:o,head:o})}e.setSelections(r,0)}function de(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:te(n),head:te(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function fe(e,t,n){var r=e.state.vim;t=t||r.sel;var n=n||r.visualLine?"line":r.visualBlock?"block":"char",i=pe(e,t,n);e.setSelections(i.ranges,i.primary),Je(e)}function pe(e,t,n,r){var o=te(t.head),s=te(t.anchor);if("char"==n){var a=r||re(t.head,t.anchor)?0:1,l=re(t.head,t.anchor)?1:0;return o=J(t.head,0,a),{ranges:[{anchor:s=J(t.anchor,0,l),head:o}],primary:0}}if("line"==n){if(re(t.head,t.anchor))o.ch=0,s.ch=ae(e,s.line);else{s.ch=0;var u=e.lastLine();o.line>u&&(o.line=u),o.ch=ae(e,o.line)}return{ranges:[{anchor:s,head:o}],primary:0}}if("block"==n){for(var c=Math.min(s.line,o.line),h=Math.min(s.ch,o.ch),d=Math.max(s.line,o.line),f=Math.max(s.ch,o.ch)+1,p=d-c+1,g=o.line==c?0:p-1,m=[],v=0;v<p;v++)m.push({anchor:i(c+v,h),head:i(c+v,f)});return{ranges:m,primary:g}}}function ge(t,n){var r=t.state.vim;!1!==n&&t.setCursor(X(t,r.sel.head)),de(t,r),r.visualMode=!1,r.visualLine=!1,r.visualBlock=!1,e.signal(t,"vim-mode-change",{mode:"normal"}),r.fakeCursor&&r.fakeCursor.clear()}function me(e){if(!e)return 0;var t=e.search(/\S/);return-1==t?e.length:t}function ve(e,t,n,r,o){for(var s=function(e){var t=e.getCursor("head");return 1==e.getSelection().length&&(t=ie(t,e.getCursor("anchor"))),t}(e),a=e.getLine(s.line),l=s.ch,u=o?p[0]:g[0];!u(a.charAt(l));)if(++l>=a.length)return null;r?u=g[0]:(u=p[0])(a.charAt(l))||(u=p[1]);for(var c=l,h=l;u(a.charAt(c))&&c<a.length;)c++;for(;u(a.charAt(h))&&h>=0;)h--;if(h++,t){for(var d=c;/\s/.test(a.charAt(c))&&c<a.length;)c++;if(d==c){for(var f=h;/\s/.test(a.charAt(h-1))&&h>0;)h--;h||(h=f)}}return{start:i(s.line,h),end:i(s.line,c)}}function ye(e,t,n){ne(t,n)||L.jumpList.add(e,t,n)}function be(e,t){L.lastCharacterSearch.increment=e,L.lastCharacterSearch.forward=t.forward,L.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var we={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},xe={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t="*"===e.lastCh&&"/"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb="m"===e.symb?"{":"}",e.reverseSymb="{"===e.symb?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if("#"===e.nextCh){var t=e.lineText.match(/#(\w+)/)[1];if("endif"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if("if"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if("else"===t&&0===e.depth)return!0}return!1}}};function Ce(e,t,n,r,i){var o=t.line,s=t.ch,a=e.getLine(o),l=n?1:-1,u=r?g:p;if(i&&""==a){if(o+=l,a=e.getLine(o),!C(e,o))return null;s=n?0:a.length}for(;;){if(i&&""==a)return{from:0,to:0,line:o};for(var c=l>0?a.length:-1,h=c,d=c;s!=c;){for(var f=!1,m=0;m<u.length&&!f;++m)if(u[m](a.charAt(s))){for(h=s;s!=c&&u[m](a.charAt(s));)s+=l;if(f=h!=(d=s),h==t.ch&&o==t.line&&d==h+l)continue;return{from:Math.min(h,d+1),to:Math.max(h,d),line:o}}f||(s+=l)}if(!C(e,o+=l))return null;a=e.getLine(o),s=l>0?0:a.length}}function ke(e,t,n,r){for(var o,s=e.getCursor(),a=s.ch,l=0;l<t;l++){var u=e.getLine(s.line);if(-1==(o=Ee(a,u,r,n,!0)))return null;a=o}return i(e.getCursor().line,o)}function Ae(e,t,n,r){S(n,w)&&(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function Ee(e,t,n,r,i){var o;return r?-1==(o=t.indexOf(n,e+1))||i||(o-=1):-1==(o=t.lastIndexOf(n,e-1))||i||(o+=1),o}function _e(e,t,n,r,o){var s,a=t.line,l=e.firstLine(),u=e.lastLine(),c=a;function h(t){return!e.getLine(t)}function d(e,t,n){return n?h(e)!=h(e+t):!h(e)&&h(e+t)}if(r){for(;l<=c&&c<=u&&n>0;)d(c,r)&&n--,c+=r;return new i(c,0)}var f=e.state.vim;if(f.visualLine&&d(a,1,!0)){var p=f.sel.anchor;d(p.line,-1,!0)&&(o&&p.line==a||(a+=1))}var g=h(a);for(c=a;c<=u&&n;c++)d(c,1,!0)&&(o&&h(c)==g||n--);for(s=new i(c,0),c>u&&!g?g=!0:o=!1,c=a;c>l&&(o&&h(c)!=g&&c!=a||!d(c,-1,!0));c--);return{start:new i(c,0),end:s}}function Se(){}function Fe(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Se)}function De(e,t,n,r,i){e.openDialog?e.openDialog(t,r,{bottom:!0,value:i.value,onKeyDown:i.onKeyDown,onKeyUp:i.onKeyUp,selectValueOnOpen:!1}):r(prompt(n,""))}function Te(e,t){var n=Be(e,t)||[];if(!n.length)return[];var r=[];if(0===n[0]){for(var i=0;i<n.length;i++)"number"==typeof n[i]&&r.push(e.substring(n[i]+1,n[i+1]));return r}}function Be(e,t){t||(t="/");for(var n=!1,r=[],i=0;i<e.length;i++){var o=e.charAt(i);n||o!=t||r.push(i),n=!n&&"\\"==o}return r}D("pcre",!0,"boolean"),Se.prototype={getQuery:function(){return L.query},setQuery:function(e){L.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return L.isReversed},setReversed:function(e){L.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Le={"\\n":"\n","\\r":"\r","\\t":"\t"},Me={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"};function Oe(e,t,n){var r=L.registerController.getRegister("/");if(r.setText(e),e instanceof RegExp)return e;var i,o,s=Be(e,"/");if(s.length){i=e.substring(0,s[0]);var a=e.substring(s[0]);o=-1!=a.indexOf("i")}else i=e;if(!i)return null;B("pcre")||(i=function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var i=e.charAt(r)||"",o=e.charAt(r+1)||"",s=o&&-1!="|(){".indexOf(o);t?("\\"===i&&s||n.push(i),t=!1):"\\"===i?(t=!0,o&&-1!="}".indexOf(o)&&(s=!0),s&&"\\"!==o||n.push(i)):(n.push(i),s&&"\\"!==o&&n.push("\\"))}return n.join("")}(i)),n&&(t=/^[^A-Z]*$/.test(i));var l=new RegExp(i,t||o?"i":void 0);return l}function Pe(e,t){e.openNotification?e.openNotification('<span style="color: red">'+t+"</span>",{bottom:!0,duration:5e3}):alert(t)}var Re="(Javascript regexp)";function je(e,t){var n,r,i,o=(t.prefix||"")+" "+(t.desc||""),s=(n=t.prefix,r=t.desc,i='<span style="font-family: monospace; white-space: pre">'+(n||"")+'<input type="text"></span>',r&&(i+=' <span style="color: #888">'+r+"</span>"),i);De(e,s,o,t.onClose,t)}function Ie(e,t,n,r){if(t){var i=Fe(e),o=Oe(t,!!n,!!r);if(o)return Ne(e,o),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var n=["global","multiline","ignoreCase","source"],r=0;r<n.length;r++){var i=n[r];if(e[i]!==t[i])return!1}return!0}return!1}(o,i.getQuery())?o:(i.setQuery(o),o)}}function Ne(e,t){var n=Fe(e),r=n.getOverlay();r&&t==r.query||(r&&e.removeOverlay(r),r=function(e){if("^"==e.source.charAt(0))var t=!0;return{token:function(n){if(!t||n.sol()){var r=n.match(e,!1);if(r)return 0==r[0].length?(n.next(),"searching"):n.sol()||(n.backUp(1),e.exec(n.next()+r[0]))?(n.match(e),"searching"):(n.next(),null);for(;!n.eol()&&(n.next(),!n.match(e,!1)););}else n.skipToEnd()},query:e}}(t),e.addOverlay(r),e.showMatchesOnScrollbar&&(n.getScrollbarAnnotate()&&n.getScrollbarAnnotate().clear(),n.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),n.setOverlay(r))}function $e(e,t,n,r){return void 0===r&&(r=1),e.operation(function(){for(var o=e.getCursor(),s=e.getSearchCursor(n,o),a=0;a<r;a++){var l=s.find(t);if(0==a&&l&&ne(s.from(),o)&&(l=s.find(t)),!l&&!(s=e.getSearchCursor(n,t?i(e.lastLine()):i(e.firstLine(),0))).find(t))return}return s.from()})}function We(e){var t=Fe(e);e.removeOverlay(Fe(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function He(e){var t=e.getScrollInfo(),n=e.coordsChar({left:0,top:6+t.top},"local"),r=t.clientHeight-10+t.top,i=e.coordsChar({left:0,top:r},"local");return{top:n.line,bottom:i.line}}function ze(e,t,n){if("'"==n){var r=e.doc.history.done,i=r[r.length-2];return i&&i.ranges&&i.ranges[0].head}if("."==n){if(0==e.doc.history.lastModTime)return;var o=e.doc.history.done.filter(function(e){if(void 0!==e.changes)return e});o.reverse();var s=o[0].changes[0].to;return s}var a=t.marks[n];return a&&a.find()}var Ue=function(){this.buildCommandMap_()};Ue.prototype={processCommand:function(e,t,n){var r=this;e.operation(function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)})},_processCommand:function(t,n,r){var i=t.state.vim,o=L.registerController.getRegister(":"),s=o.toString();i.visualMode&&ge(t);var a=new e.StringStream(n);o.setText(n);var l,u,c=r||{};c.input=n;try{this.parseInput_(t,a,c)}catch(e){throw Pe(t,e),e}if(c.commandName){if(l=this.matchCommand_(c.commandName)){if(u=l.name,l.excludeFromCommandHistory&&o.setText(s),this.parseCommandArgs_(a,c,l),"exToKey"==l.type){for(var h=0;h<l.toKeys.length;h++)e.Vim.handleKey(t,l.toKeys[h],"mapping");return}if("exToEx"==l.type)return void this.processCommand(t,l.toInput)}}else void 0!==c.line&&(u="move");if(u)try{Ve[u](t,c),l&&l.possiblyAsync||!c.callback||c.callback()}catch(e){throw Pe(t,e),e}else Pe(t,'Not an editor command ":'+n+'"')},parseInput_:function(e,t,n){t.eatWhile(":"),t.eat("%")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),void 0!==n.line&&t.eat(",")&&(n.lineEnd=this.parseLineSpec_(e,t)));var r=t.match(/^(\w+)/);return n.commandName=r?r[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case".":return this.parseLineSpecOffset_(t,e.getCursor().line);case"$":return this.parseLineSpecOffset_(t,e.lastLine());case"'":var r=t.next(),i=ze(e,e.state.vim,r);if(!i)throw new Error("Mark not set");return this.parseLineSpecOffset_(t,i.line);case"-":case"+":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var n=e.match(/^([+-])?(\d+)/);if(n){var r=parseInt(n[2],10);"-"==n[1]?t-=r:t+=r}return t},parseCommandArgs_:function(e,t,n){if(!e.eol()){t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\s+/,i=le(t.argString).split(r);i.length&&i[0]&&(t.args=i)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(0===r.name.indexOf(e))return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<r.length;e++){var t=r[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,n,r){if(":"!=e&&":"==e.charAt(0)){if(r)throw Error("Mode not supported for ex mappings");var i=e.substring(1);":"!=n&&":"==n.charAt(0)?this.commandMap_[i]={name:i,type:"exToEx",toInput:n.substring(1),user:!0}:this.commandMap_[i]={name:i,type:"exToKey",toKeys:n,user:!0}}else if(":"!=n&&":"==n.charAt(0)){var o={keys:e,type:"keyToEx",exArgs:{input:n.substring(1)}};r&&(o.context=r),t.unshift(o)}else{var o={keys:e,type:"keyToKey",toKeys:n};r&&(o.context=r),t.unshift(o)}},unmap:function(e,n){if(":"!=e&&":"==e.charAt(0)){if(n)throw Error("Mode not supported for ex mappings");var r=e.substring(1);if(this.commandMap_[r]&&this.commandMap_[r].user)return void delete this.commandMap_[r]}else for(var i=e,o=0;o<t.length;o++)if(i==t[o].keys&&t[o].context===n)return void t.splice(o,1);throw Error("No such mapping.")}};var Ve={colorscheme:function(e,t){!t.args||t.args.length<1?Pe(e,e.getOption("theme")):e.setOption("theme",t.args[0])},map:function(e,t,n){var r=t.args;!r||r.length<2?e&&Pe(e,"Invalid mapping: "+t.input):Ge.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},unmap:function(e,t,n){var r=t.args;!r||r.length<1?e&&Pe(e,"No such mapping: "+t.input):Ge.unmap(r[0],n)},move:function(e,t){V.processCommand(e,e.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1)e&&Pe(e,"Invalid mapping: "+t.input);else{var i=n[0].split("="),o=i[0],s=i[1],a=!1;if("?"==o.charAt(o.length-1)){if(s)throw Error("Trailing characters: "+t.argString);o=o.substring(0,o.length-1),a=!0}void 0===s&&"no"==o.substring(0,2)&&(o=o.substring(2),s=!1);var l=F[o]&&"boolean"==F[o].type;if(l&&void 0==s&&(s=!0),!l&&void 0===s||a){var u=B(o,e,r);u instanceof Error?Pe(e,u.message):Pe(e,!0===u||!1===u?" "+(u?"":"no")+o:" "+o+"="+u)}else{var c=T(o,s,e,r);c instanceof Error&&Pe(e,c.message)}}},setlocal:function(e,t){t.setCfg={scope:"local"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:"global"},this.set(e,t)},registers:function(e,t){var n=t.args,r=L.registerController.registers,i="----------Registers----------<br><br>";if(n){n=n.join("");for(var o=0;o<n.length;o++)if(a=n.charAt(o),L.registerController.isValidRegister(a)){var s=r[a]||new H;i+='"'+a+" "+s.toString()+"<br>"}}else for(var a in r){var l=r[a].toString();l.length&&(i+='"'+a+" "+l+"<br>")}Pe(e,i)},sort:function(t,n){var r,o,s,a,l,u=function(){if(n.argString){var t=new e.StringStream(n.argString);if(t.eat("!")&&(r=!0),t.eol())return;if(!t.eatSpace())return"Invalid arguments";var i=t.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!i&&!t.eol())return"Invalid arguments";if(i[1]){o=-1!=i[1].indexOf("i"),s=-1!=i[1].indexOf("u");var u=-1!=i[1].indexOf("d")||-1!=i[1].indexOf("n")&&1,c=-1!=i[1].indexOf("x")&&1,h=-1!=i[1].indexOf("o")&&1;if(u+c+h>1)return"Invalid arguments";a=(u?"decimal":c&&"hex")||h&&"octal"}i[2]&&(l=new RegExp(i[2].substr(1,i[2].length-2),o?"i":""))}}();if(u)Pe(t,u+": "+n.argString);else{var c=n.line||t.firstLine(),h=n.lineEnd||n.line||t.lastLine();if(c!=h){var d=i(c,0),f=i(h,ae(t,h)),p=t.getRange(d,f).split("\n"),g=l||("decimal"==a?/(-?)([\d]+)/:"hex"==a?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==a?/([0-7]+)/:null),m="decimal"==a?10:"hex"==a?16:"octal"==a?8:null,v=[],y=[];if(a||l)for(var b=0;b<p.length;b++){var w=l?p[b].match(l):null;w&&""!=w[0]?v.push(w):!l&&g.exec(p[b])?v.push(p[b]):y.push(p[b])}else y=p;if(v.sort(l?function(e,t){var n;r&&(n=e,e=t,t=n);return o&&(e[0]=e[0].toLowerCase(),t[0]=t[0].toLowerCase()),e[0]<t[0]?-1:1}:k),l)for(var b=0;b<v.length;b++)v[b]=v[b].input;else a||y.sort(k);if(p=r?v.concat(y):y.concat(v),s){var x,C=p;p=[];for(var b=0;b<C.length;b++)C[b]!=x&&p.push(C[b]),x=C[b]}t.replaceRange(p.join("\n"),d,f)}}function k(e,t){var n;r&&(n=e,e=t,t=n),o&&(e=e.toLowerCase(),t=t.toLowerCase());var i=a&&g.exec(e),s=a&&g.exec(t);return i?(i=parseInt((i[1]+i[2]).toLowerCase(),m),s=parseInt((s[1]+s[2]).toLowerCase(),m),i-s):e<t?-1:1}},global:function(e,t){var n=t.argString;if(n){var r,i=void 0!==t.line?t.line:e.firstLine(),o=t.lineEnd||t.line||e.lastLine(),s=function(e){return Te(e,"/")}(n),a=n;if(s.length&&(a=s[0],r=s.slice(1,s.length).join("/")),a)try{Ie(e,a,!0,!0)}catch(t){return void Pe(e,"Invalid regex: "+a)}for(var l=Fe(e).getQuery(),u=[],c="",h=i;h<=o;h++){var d=l.test(e.getLine(h));d&&(u.push(h+1),c+=e.getLine(h)+"<br>")}if(r){var f=0,p=function(){if(f<u.length){var t=u[f]+r;Ge.processCommand(e,t,{callback:p})}f++};p()}else Pe(e,c)}else Pe(e,"Regular Expression missing from global")},substitute:function(t,n){if(!t.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var r,o,s,a,l=n.argString,u=l?Te(l,l[0]):[],c="",h=!1,d=!1;if(u.length)r=u[0],c=u[1],r&&"$"===r[r.length-1]&&(r=r.slice(0,r.length-1)+"\\n",c=c?c+"\n":"\n"),void 0!==c&&(c=B("pcre")?function(t){for(var n=new e.StringStream(t),r=[];!n.eol();){for(;n.peek()&&"\\"!=n.peek();)r.push(n.next());var i=!1;for(var o in Me)if(n.match(o,!0)){i=!0,r.push(Me[o]);break}i||r.push(n.next())}return r.join("")}(c):function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var i=e.charAt(r)||"",o=e.charAt(r+1)||"";Le[i+o]?(n.push(Le[i+o]),r++):t?(n.push(i),t=!1):"\\"===i?(t=!0,s=o,f.test(s)||"$"===o?n.push("$"):"/"!==o&&"\\"!==o&&n.push("\\")):("$"===i&&n.push("$"),n.push(i),"/"===o&&n.push("\\"))}var s;return n.join("")}(c),L.lastSubstituteReplacePart=c),o=u[2]?u[2].split(" "):[];else if(l&&l.length)return void Pe(t,"Substitutions should be of the form :s/pattern/replace/");if(o&&(s=o[0],a=parseInt(o[1]),s&&(-1!=s.indexOf("c")&&(h=!0,s.replace("c","")),-1!=s.indexOf("g")&&(d=!0,s.replace("g","")),r=r.replace(/\//g,"\\/")+"/"+s)),r)try{Ie(t,r,!0,!0)}catch(e){return void Pe(t,"Invalid regex: "+r)}if(void 0!==(c=c||L.lastSubstituteReplacePart)){var p=Fe(t),g=p.getQuery(),m=void 0!==n.line?n.line:t.getCursor().line,v=n.lineEnd||m;m==t.firstLine()&&v==t.lastLine()&&(v=1/0),a&&(v=(m=v)+a-1);var y=X(t,i(m,0)),b=t.getSearchCursor(g,y);!function(t,n,r,i,o,s,a,l,u){t.state.vim.exMode=!0;var c=!1,h=s.from();function d(){t.operation(function(){for(;!c;)f(),p();g()})}function f(){var e=t.getRange(s.from(),s.to()),n=e.replace(a,l);s.replace(n)}function p(){for(;s.findNext()&&(e=s.from(),n=i,a=o,"number"!=typeof e&&(e=e.line),n instanceof Array?S(e,n):a?e>=n&&e<=a:e==n);)if(r||!h||s.from().line!=h.line)return t.scrollIntoView(s.from(),30),t.setSelection(s.from(),s.to()),h=s.from(),void(c=!1);var e,n,a;c=!0}function g(e){if(e&&e(),t.focus(),h){t.setCursor(h);var n=t.state.vim;n.exMode=!1,n.lastHPos=n.lastHSPos=h.ch}u&&u()}if(p(),!c)return n?void je(t,{prefix:"replace with <strong>"+l+"</strong> (y/n/a/q/l)",onKeyDown:function(n,r,i){switch(e.e_stop(n),e.keyName(n)){case"Y":f(),p();break;case"N":p();break;case"A":var o=u;u=void 0,t.operation(d),u=o;break;case"L":f();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":g(i)}return c&&g(i),!0}}):(d(),void(u&&u()));Pe(t,"No matches for "+a.source)}(t,h,d,m,v,b,g,c,n.callback)}else Pe(t,"No previous substitute regular expression")},redo:e.commands.redo,undo:e.commands.undo,write:function(t){e.commands.save?e.commands.save(t):t.save&&t.save()},nohlsearch:function(e){We(e)},yank:function(e){var t=te(e.getCursor()),n=t.line,r=e.getLine(n);L.registerController.pushText("0","yank",r,!0,!0)},delmarks:function(t,n){if(n.argString&&le(n.argString))for(var r=t.state.vim,i=new e.StringStream(le(n.argString));!i.eol();){i.eatSpace();var o=i.pos;if(!i.match(/[a-zA-Z]/,!1))return void Pe(t,"Invalid argument: "+n.argString.substring(o));var s=i.next();if(i.match("-",!0)){if(!i.match(/[a-zA-Z]/,!1))return void Pe(t,"Invalid argument: "+n.argString.substring(o));var a=s,l=i.next();if(!(k(a)&&k(l)||A(a)&&A(l)))return void Pe(t,"Invalid argument: "+a+"-");var u=a.charCodeAt(0),c=l.charCodeAt(0);if(u>=c)return void Pe(t,"Invalid argument: "+n.argString.substring(o));for(var h=0;h<=c-u;h++){var d=String.fromCharCode(u+h);delete r.marks[d]}}else delete r.marks[s]}else Pe(t,"Argument required")}},Ge=new Ue;function Ke(t){var n=t.state.vim,r=L.macroModeState,i=L.registerController.getRegister("."),o=r.isPlaying,s=r.lastInsertModeChanges;o||(t.off("change",Xe),e.off(t.getInputField(),"keydown",et)),!o&&n.insertModeRepeat>1&&(tt(t,n,n.insertModeRepeat-1,!0),n.lastEditInputState.repeatOverride=n.insertModeRepeat),delete n.insertModeRepeat,n.insertMode=!1,t.setCursor(t.getCursor().line,t.getCursor().ch-1),t.setOption("keyMap","vim"),t.setOption("disableInput",!0),t.toggleOverwrite(!1),i.setText(s.changes.join("")),e.signal(t,"vim-mode-change",{mode:"normal"}),r.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,n=L.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}}(r)}function qe(e){t.unshift(e)}function Ye(t,n,r,i){var o=L.registerController.getRegister(i);if(":"==i)return o.keyBuffer[0]&&Ge.processCommand(t,o.keyBuffer[0]),void(r.isPlaying=!1);var s=o.keyBuffer,a=0;r.isPlaying=!0,r.replaySearchQueries=o.searchQueries.slice(0);for(var l=0;l<s.length;l++)for(var u,c,h=s[l];h;)if(u=/<\w+-.+?>|<\w+>|./.exec(h),c=u[0],h=h.substring(u.index+c.length),e.Vim.handleKey(t,c,"macro"),n.insertMode){var d=o.insertModeChanges[a++].changes;L.macroModeState.lastInsertModeChanges.changes=d,nt(t,d,1),Ke(t)}r.isPlaying=!1}function Xe(e,t){var n=L.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(;t;){if(r.expectCursorActivityForChange=!0,r.ignoreCount>1)r.ignoreCount--;else if("+input"==t.origin||"paste"==t.origin||void 0===t.origin){var i=e.listSelections().length;i>1&&(r.ignoreCount=i);var o=t.text.join("\n");r.maybeReset&&(r.changes=[],r.maybeReset=!1),o&&(e.state.overwrite&&!/\n/.test(o)?r.changes.push([o]):r.changes.push(o))}t=t.next}}function Ze(t){var n=t.state.vim;if(n.insertMode){var r=L.macroModeState;if(r.isPlaying)return;var i=r.lastInsertModeChanges;i.expectCursorActivityForChange?i.expectCursorActivityForChange=!1:i.maybeReset=!0}else t.curOp.isVimOp||function(t,n){var r=t.getCursor("anchor"),i=t.getCursor("head");if(n.visualMode&&!t.somethingSelected()?ge(t,!1):n.visualMode||n.insertMode||!t.somethingSelected()||(n.visualMode=!0,n.visualLine=!1,e.signal(t,"vim-mode-change",{mode:"visual"})),n.visualMode){var o=re(i,r)?0:-1,s=re(i,r)?-1:0;i=J(i,0,o),r=J(r,0,s),n.sel={anchor:r,head:i},Ae(t,n,"<",ie(i,r)),Ae(t,n,">",oe(i,r))}else n.insertMode||(n.lastHPos=t.getCursor().ch)}(t,n);n.visualMode&&Je(t)}function Je(e){var t=e.state.vim,n=X(e,te(t.sel.head)),r=J(n,0,1);t.fakeCursor&&t.fakeCursor.clear(),t.fakeCursor=e.markText(n,r,{className:"cm-animate-fat-cursor"})}function Qe(e){this.keyName=e}function et(t){var n=L.macroModeState,r=n.lastInsertModeChanges,i=e.keyName(t);i&&(-1==i.indexOf("Delete")&&-1==i.indexOf("Backspace")||e.lookupKey(i,"vim-insert",function(){return r.maybeReset&&(r.changes=[],r.maybeReset=!1),r.changes.push(new Qe(i)),!0}))}function tt(e,t,n,r){var i=L.macroModeState;i.isPlaying=!0;var o=!!t.lastEditActionCommand,s=t.inputState;function a(){o?V.processAction(e,t,t.lastEditActionCommand):V.evalInput(e,t)}function l(n){if(i.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=i.lastInsertModeChanges;nt(e,r.changes,n)}}if(t.inputState=t.lastEditInputState,o&&t.lastEditActionCommand.interlaceInsertRepeat)for(var u=0;u<n;u++)a(),l(1);else r||a(),l(n);t.inputState=s,t.insertMode&&!r&&Ke(e),i.isPlaying=!1}function nt(t,n,r){function i(n){return"string"==typeof n?e.commands[n](t):n(t),!0}var o=t.getCursor("head"),s=L.macroModeState.lastInsertModeChanges.inVisualBlock;if(s){var a=t.state.vim,l=a.lastSelection,u=function(e,t){return{line:t.line-e.line,ch:t.line-e.line}}(l.anchor,l.head);he(t,o,u.line+1),r=t.listSelections().length,t.setCursor(o)}for(var c=0;c<r;c++){s&&t.setCursor(J(o,c,0));for(var h=0;h<n.length;h++){var d=n[h];if(d instanceof Qe)e.lookupKey(d.keyName,"vim-insert",i);else if("string"==typeof d){var f=t.getCursor();t.replaceRange(d,f,f)}else{var p=t.getCursor(),g=J(p,0,d[0].length);t.replaceRange(d[0],p,g)}}}s&&t.setCursor(J(o,0,1))}return e.keyMap.vim={attach:s,detach:o,call:u},D("insertModeEscKeysTimeout",200,"number"),e.keyMap["vim-insert"]={fallthrough:["default"],attach:s,detach:o,call:u},e.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:s,detach:o,call:u},I(),N}()}(n(50),n(241),n(240),n(174))},function(e,t,n){!function(e){"use strict";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy(function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var s,a="start",l=r.ch,u=i<0?0:o.length,c=0;l!=u;l+=i,c++){var h=o.charAt(i<0?l-1:l),d="_"!=h&&e.isWordChar(h)?"w":"o";if("w"==d&&h.toUpperCase()==h&&(d="W"),"start"==a)"o"!=d&&(a="in",s=d);else if("in"==a&&s!=d){if("w"==s&&"W"==d&&i<0&&l--,"W"==s&&"w"==d&&i>0){s="w";continue}break}}return n(r.line,l)}(t.doc,i.head,r):r<0?i.from():i.to()})}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation(function(){for(var e=t.listSelections().length,i=[],o=-1,s=0;s<e;s++){var a=t.listSelections()[s].head;if(!(a.line<=o)){var l=n(a.line+(r?0:1),0);t.replaceRange("\n",l,null,"+insertLine"),t.indentLine(l.line,null,!0),i.push({head:l,anchor:l}),o=a.line+1}}t.setSelections(i)}),t.execCommand("indentAuto")}function o(t,r){for(var i=r.ch,o=i,s=t.getLine(r.line);i&&e.isWordChar(s.charAt(i-1));)--i;for(;o<s.length&&e.isWordChar(s.charAt(o));)++o;return{from:n(r.line,i),to:n(r.line,o),word:s.slice(i,o)}}function s(e,t){for(var n=e.listSelections(),r=[],i=0;i<n.length;i++){var o=n[i],s=e.findPosV(o.anchor,t,"line",o.anchor.goalColumn),a=e.findPosV(o.head,t,"line",o.head.goalColumn);s.goalColumn=null!=o.anchor.goalColumn?o.anchor.goalColumn:e.cursorCoords(o.anchor,"div").left,a.goalColumn=null!=o.head.goalColumn?o.head.goalColumn:e.cursorCoords(o.head,"div").left;var l={anchor:s,head:a};r.push(o),r.push(l)}e.setSelections(r)}t.goSubwordLeft=function(e){r(e,-1)},t.goSubwordRight=function(e){r(e,1)},t.scrollLineUp=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top+t.clientHeight,"local");e.getCursor().line>=n&&e.execCommand("goLineUp")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,"local")+1;e.getCursor().line<=n&&e.execCommand("goLineDown")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++)for(var o=t[i].from(),s=t[i].to(),a=o.line;a<=s.line;++a)s.line>o.line&&a==s.line&&0==s.ch||r.push({anchor:a==o.line?o:n(a,0),head:a==s.line?s:n(a)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++){var o=t[i];r.push({anchor:n(o.from().line,0),head:n(o.to().line+1,0)})}e.setSelections(r)},t.insertLineAfter=function(e){return i(e,!1)},t.insertLineBefore=function(e){return i(e,!0)},t.selectNextOccurrence=function(t){var r=t.getCursor("from"),i=t.getCursor("to"),s=t.state.sublimeFindFullWord==t.doc.sel;if(0==e.cmpPos(r,i)){var a=o(t,r);if(!a.word)return;t.setSelection(a.from,a.to),s=!0}else{var l=t.getRange(r,i),u=s?new RegExp("\\b"+l+"\\b"):l,c=t.getSearchCursor(u,i),h=c.findNext();if(h||(c=t.getSearchCursor(u,n(t.firstLine(),0)),h=c.findNext()),!h||function(e,t,n){for(var r=0;r<e.length;r++)if(e[r].from()==t&&e[r].to()==n)return!0;return!1}(t.listSelections(),c.from(),c.to()))return e.Pass;t.addSelection(c.from(),c.to())}s&&(t.state.sublimeFindFullWord=t.doc.sel)},t.addCursorToPrevLine=function(e){s(e,-1)},t.addCursorToNextLine=function(e){s(e,1)};var a="(){}[]";function l(t){for(var r=t.listSelections(),i=[],o=0;o<r.length;o++){var s=r[o],l=s.head,u=t.scanForBracket(l,-1);if(!u)return!1;for(;;){var c=t.scanForBracket(l,1);if(!c)return!1;if(c.ch==a.charAt(a.indexOf(u.ch)+1)){var h=n(u.pos.line,u.pos.ch+1);if(0!=e.cmpPos(h,s.from())||0!=e.cmpPos(c.pos,s.to())){i.push({anchor:h,head:c.pos});break}if(!(u=t.scanForBracket(u.pos,-1)))return!1}l=n(c.pos.line,c.pos.ch+1)}}return t.setSelections(i),!0}function u(t,r){if(t.isReadOnly())return e.Pass;for(var i,o=t.listSelections(),s=[],a=0;a<o.length;a++){var l=o[a];if(!l.empty()){for(var u=l.from().line,c=l.to().line;a<o.length-1&&o[a+1].from().line==c;)c=o[++a].to().line;o[a].to().ch||c--,s.push(u,c)}}s.length?i=!0:s.push(t.firstLine(),t.lastLine()),t.operation(function(){for(var e=[],o=0;o<s.length;o+=2){var a=s[o],l=s[o+1],u=n(a,0),c=n(l),h=t.getRange(u,c,!1);r?h.sort():h.sort(function(e,t){var n=e.toUpperCase(),r=t.toUpperCase();return n!=r&&(e=n,t=r),e<t?-1:e==t?0:1}),t.replaceRange(h,u,c),i&&e.push({anchor:u,head:n(l+1,0)})}i&&t.setSelections(e,0)})}function c(t,n){t.operation(function(){for(var r=t.listSelections(),i=[],s=[],a=0;a<r.length;a++){var l=r[a];l.empty()?(i.push(a),s.push("")):s.push(n(t.getRange(l.from(),l.to())))}t.replaceSelections(s,"around","case");for(var u,a=i.length-1;a>=0;a--){var l=r[i[a]];if(!(u&&e.cmpPos(l.head,u)>0)){var c=o(t,l.head);u=c.from,t.replaceRange(n(c.word),c.from,c.to)}}})}function h(t){var n=t.getCursor("from"),r=t.getCursor("to");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function d(e,t){var r=h(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.selectScope=function(e){l(e)||e.execCommand("selectAll")},t.selectBetweenBrackets=function(t){if(!l(t))return e.Pass},t.goToBracket=function(t){t.extendSelectionsBy(function(r){var i=t.scanForBracket(r.head,1);if(i&&0!=e.cmpPos(i.pos,r.head))return i.pos;var o=t.scanForBracket(r.head,-1);return o&&n(o.pos.line,o.pos.ch+1)||r.head})},t.swapLineUp=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.firstLine()-1,s=[],a=0;a<r.length;a++){var l=r[a],u=l.from().line-1,c=l.to().line;s.push({anchor:n(l.anchor.line-1,l.anchor.ch),head:n(l.head.line-1,l.head.ch)}),0!=l.to().ch||l.empty()||--c,u>o?i.push(u,c):i.length&&(i[i.length-1]=c),o=c}t.operation(function(){for(var e=0;e<i.length;e+=2){var r=i[e],o=i[e+1],a=t.getLine(r);t.replaceRange("",n(r,0),n(r+1,0),"+swapLine"),o>t.lastLine()?t.replaceRange("\n"+a,n(t.lastLine()),null,"+swapLine"):t.replaceRange(a+"\n",n(o,0),null,"+swapLine")}t.setSelections(s),t.scrollIntoView()})},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,s=r.length-1;s>=0;s--){var a=r[s],l=a.to().line+1,u=a.from().line;0!=a.to().ch||a.empty()||l--,l<o?i.push(l,u):i.length&&(i[i.length-1]=u),o=u}t.operation(function(){for(var e=i.length-2;e>=0;e-=2){var r=i[e],o=i[e+1],s=t.getLine(r);r==t.lastLine()?t.replaceRange("",n(r-1),n(r),"+swapLine"):t.replaceRange("",n(r,0),n(r+1,0),"+swapLine"),t.replaceRange(s+"\n",n(o,0),null,"+swapLine")}t.scrollIntoView()})},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++){for(var o=t[i],s=o.from(),a=s.line,l=o.to().line;i<t.length-1&&t[i+1].from().line==l;)l=t[++i].to().line;r.push({start:a,end:l,anchor:!o.empty()&&s})}e.operation(function(){for(var t=0,i=[],o=0;o<r.length;o++){for(var s,a=r[o],l=a.anchor&&n(a.anchor.line-t,a.anchor.ch),u=a.start;u<=a.end;u++){var c=u-t;u==a.end&&(s=n(c,e.getLine(c).length+1)),c<e.lastLine()&&(e.replaceRange(" ",n(c),n(c+1,/^\s*/.exec(e.getLine(c+1))[0].length)),++t)}i.push({anchor:l||s,head:s})}e.setSelections(i,0)})},t.duplicateLine=function(e){e.operation(function(){for(var t=e.listSelections().length,r=0;r<t;r++){var i=e.listSelections()[r];i.empty()?e.replaceRange(e.getLine(i.head.line)+"\n",n(i.head.line,0)):e.replaceRange(e.getRange(i.from(),i.to()),i.from())}e.scrollIntoView()})},t.sortLines=function(e){u(e,!0)},t.sortLinesInsensitive=function(e){u(e,!1)},t.nextBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){var n=t.shift(),r=n.find();if(r)return t.push(n),e.setSelection(r.from,r.to)}},t.prevBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){t.unshift(t.pop());var n=t[t.length-1].find();if(n)return e.setSelection(n.from,n.to);t.pop()}},t.toggleBookmark=function(e){for(var t=e.listSelections(),n=e.state.sublimeBookmarks||(e.state.sublimeBookmarks=[]),r=0;r<t.length;r++){for(var i=t[r].from(),o=t[r].to(),s=t[r].empty()?e.findMarksAt(i):e.findMarks(i,o),a=0;a<s.length;a++)if(s[a].sublimeBookmark){s[a].clear();for(var l=0;l<n.length;l++)n[l]==s[a]&&n.splice(l--,1);break}a==s.length&&n.push(e.markText(i,o,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},t.clearBookmarks=function(e){var t=e.state.sublimeBookmarks;if(t)for(var n=0;n<t.length;n++)t[n].clear();t.length=0},t.selectBookmarks=function(e){var t=e.state.sublimeBookmarks,n=[];if(t)for(var r=0;r<t.length;r++){var i=t[r].find();i?n.push({anchor:i.from,head:i.to}):t.splice(r--,0)}n.length&&e.setSelections(n,0)},t.smartBackspace=function(t){if(t.somethingSelected())return e.Pass;t.operation(function(){for(var r=t.listSelections(),i=t.getOption("indentUnit"),o=r.length-1;o>=0;o--){var s=r[o].head,a=t.getRange({line:s.line,ch:0},s),l=e.countColumn(a,null,t.getOption("tabSize")),u=t.findPosH(s,-1,"char",!1);if(a&&!/\S/.test(a)&&l%i==0){var c=new n(s.line,e.findColumn(a,l-i,i));c.ch!=s.ch&&(u=c)}t.replaceRange("",u,s,"+delete")}})},t.delLineRight=function(e){e.operation(function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange("",t[r].anchor,n(t[r].to().line),"+delete");e.scrollIntoView()})},t.upcaseAtCursor=function(e){c(e,function(e){return e.toUpperCase()})},t.downcaseAtCursor=function(e){c(e,function(e){return e.toLowerCase()})},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange("",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,"paste")},t.showInCenter=function(e){var t=e.cursorCoords(null,"local");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){d(e,!0)},t.findUnderPrevious=function(e){d(e,!1)},t.findAllUnder=function(e){var t=h(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var f=e.keyMap;f.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F9:"sortLines","Cmd-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},e.normalizeKeyMap(f.macSublime),f.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},e.normalizeKeyMap(f.pcSublime);var p=f.default==f.macDefault;f.sublime=p?f.macSublime:f.pcSublime}(n(50),n(241),n(174))},function(e,t,n){!function(e){"use strict";e.defineMode("javascript",function(t,n){var r,i,o=t.indentUnit,s=n.statementIndent,a=n.jsonld,l=n.json||a,u=n.typescript,c=n.wordCharacters||/[\w$\xa1-\uffff]/,h=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("keyword d"),o=e("operator"),s={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:e("new"),delete:r,void:r,throw:r,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:e("this"),class:e("class"),super:e("atom"),yield:r,export:e("export"),import:e("import"),extends:r,await:r}}(),d=/[+\-*&%=<>!?|~^@]/,f=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function p(e,t,n){return r=e,i=n,t}function g(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){var r,i=!1;if(a&&"@"==e.peek()&&e.match(f))return t.tokenize=g,p("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.tokenize=g),p("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return p("number","number");if("."==r&&e.match(".."))return p("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return p(r);if("="==r&&e.eat(">"))return p("=>","operator");if("0"==r&&e.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return p("number","number");if(/\d/.test(r))return e.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),p("number","number");if("/"==r)return e.eat("*")?(t.tokenize=m,m(e,t)):e.eat("/")?(e.skipToEnd(),p("comment","comment")):Ye(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if("/"==t&&!r)return;"["==t?r=!0:r&&"]"==t&&(r=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),p("regexp","string-2")):(e.eat("="),p("operator","operator",e.current()));if("`"==r)return t.tokenize=v,v(e,t);if("#"==r)return e.skipToEnd(),p("error","error");if(d.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),p("operator","operator",e.current());if(c.test(r)){e.eatWhile(c);var i=e.current();if("."!=t.lastType){if(h.propertyIsEnumerable(i)){var o=h[i];return p(o.type,o.style,i)}if("async"==i&&e.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return p("async","keyword",i)}return p("variable","variable",i)}}function m(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=g;break}r="*"==n}return p("comment","comment")}function v(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}r=!r&&"\\"==n}return p("quasi","string-2",e.current())}var y="([{}])";function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(u){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,s=n-1;s>=0;--s){var a=e.string.charAt(s),l=y.indexOf(a);if(l>=0&&l<3){if(!i){++s;break}if(0==--i){"("==a&&(o=!0);break}}else if(l>=3&&l<6)++i;else if(c.test(a))o=!0;else{if(/["'\/]/.test(a))return;if(o&&!i){++s;break}}}o&&!i&&(t.fatArrowAt=s)}}var w={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0};function x(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function C(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(var n=r.vars;n;n=n.next)if(n.name==t)return!0}var k={state:null,column:null,marked:null,cc:null};function A(){for(var e=arguments.length-1;e>=0;e--)k.cc.push(arguments[e])}function E(){return A.apply(null,arguments),!0}function _(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function S(e){var t=k.state;if(k.marked="def",t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,n){if(n){if(n.block){var r=e(t,n.prev);return r?r==n.prev?n:new D(r,n.vars,!0):null}return _(t,n.vars)?n:new D(n.prev,new T(t,n.vars),!1)}return null}(e,t.context);if(null!=r)return void(t.context=r)}else if(!_(e,t.localVars))return void(t.localVars=new T(e,t.localVars));n.globalVars&&!_(e,t.globalVars)&&(t.globalVars=new T(e,t.globalVars))}function F(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function D(e,t,n){this.prev=e,this.vars=t,this.block=n}function T(e,t){this.name=e,this.next=t}var B=new T("this",new T("arguments",null));function L(){k.state.context=new D(k.state.context,k.state.localVars,!1),k.state.localVars=B}function M(){k.state.context=new D(k.state.context,k.state.localVars,!0),k.state.localVars=null}function O(){k.state.localVars=k.state.context.vars,k.state.context=k.state.context.prev}function P(e,t){var n=function(){var n=k.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new x(r,k.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function R(){var e=k.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function j(e){return function t(n){return n==e?E():";"==e||"}"==n||")"==n||"]"==n?A():E(t)}}function I(e,t){return"var"==e?E(P("vardef",t),ye,j(";"),R):"keyword a"==e?E(P("form"),H,I,R):"keyword b"==e?E(P("form"),I,R):"keyword d"==e?k.stream.match(/^\s*$/,!1)?E():E(P("stat"),U,j(";"),R):"debugger"==e?E(j(";")):"{"==e?E(P("}"),M,se,R,O):";"==e?E():"if"==e?("else"==k.state.lexical.info&&k.state.cc[k.state.cc.length-1]==R&&k.state.cc.pop()(),E(P("form"),H,I,R,Ae)):"function"==e?E(Te):"for"==e?E(P("form"),Ee,I,R):"class"==e||u&&"interface"==t?(k.marked="keyword",E(P("form","class"==e?e:t),Pe,R)):"variable"==e?u&&"declare"==t?(k.marked="keyword",E(I)):u&&("module"==t||"enum"==t||"type"==t)&&k.stream.match(/^\s*\w/,!1)?(k.marked="keyword","enum"==t?E(Ke):"type"==t?E(Le,j("operator"),ce,j(";")):E(P("form"),be,j("{"),P("}"),se,R,R)):u&&"namespace"==t?(k.marked="keyword",E(P("form"),$,I,R)):u&&"abstract"==t?(k.marked="keyword",E(I)):E(P("stat"),Q):"switch"==e?E(P("form"),H,j("{"),P("}","switch"),M,se,R,R,O):"case"==e?E($,j(":")):"default"==e?E(j(":")):"catch"==e?E(P("form"),L,N,I,R,O):"export"==e?E(P("stat"),Ne,R):"import"==e?E(P("stat"),We,R):"async"==e?E(I):"@"==t?E($,I):A(P("stat"),$,j(";"),R)}function N(e){if("("==e)return E(Me,j(")"))}function $(e,t){return z(e,t,!1)}function W(e,t){return z(e,t,!0)}function H(e){return"("!=e?A():E(P(")"),$,j(")"),R)}function z(e,t,n){if(k.state.fatArrowAt==k.stream.start){var r=n?X:Y;if("("==e)return E(L,P(")"),ie(Me,")"),R,j("=>"),r,O);if("variable"==e)return A(L,be,j("=>"),r,O)}var i=n?G:V;return w.hasOwnProperty(e)?E(i):"function"==e?E(Te,i):"class"==e||u&&"interface"==t?(k.marked="keyword",E(P("form"),Oe,R)):"keyword c"==e||"async"==e?E(n?W:$):"("==e?E(P(")"),U,j(")"),R,i):"operator"==e||"spread"==e?E(n?W:$):"["==e?E(P("]"),Ge,R,i):"{"==e?oe(te,"}",null,i):"quasi"==e?A(K,i):"new"==e?E(function(e){return function(t){return"."==t?E(e?J:Z):"variable"==t&&u?E(ge,e?G:V):A(e?W:$)}}(n)):"import"==e?E($):E()}function U(e){return e.match(/[;\}\)\],]/)?A():A($)}function V(e,t){return","==e?E($):G(e,t,!1)}function G(e,t,n){var r=0==n?V:G,i=0==n?$:W;return"=>"==e?E(L,n?X:Y,O):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?E(r):u&&"<"==t&&k.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?E(P(">"),ie(ce,">"),R,r):"?"==t?E($,j(":"),i):E(i):"quasi"==e?A(K,r):";"!=e?"("==e?oe(W,")","call",r):"."==e?E(ee,r):"["==e?E(P("]"),U,j("]"),R,r):u&&"as"==t?(k.marked="keyword",E(ce,r)):"regexp"==e?(k.state.lastType=k.marked="operator",k.stream.backUp(k.stream.pos-k.stream.start-1),E(i)):void 0:void 0}function K(e,t){return"quasi"!=e?A():"${"!=t.slice(t.length-2)?E(K):E($,q)}function q(e){if("}"==e)return k.marked="string-2",k.state.tokenize=v,E(K)}function Y(e){return b(k.stream,k.state),A("{"==e?I:$)}function X(e){return b(k.stream,k.state),A("{"==e?I:W)}function Z(e,t){if("target"==t)return k.marked="keyword",E(V)}function J(e,t){if("target"==t)return k.marked="keyword",E(G)}function Q(e){return":"==e?E(R,I):A(V,j(";"),R)}function ee(e){if("variable"==e)return k.marked="property",E()}function te(e,t){if("async"==e)return k.marked="property",E(te);if("variable"==e||"keyword"==k.style){return k.marked="property","get"==t||"set"==t?E(ne):(u&&k.state.fatArrowAt==k.stream.start&&(n=k.stream.match(/^\s*:\s*/,!1))&&(k.state.fatArrowAt=k.stream.pos+n[0].length),E(re));var n}else{if("number"==e||"string"==e)return k.marked=a?"property":k.style+" property",E(re);if("jsonld-keyword"==e)return E(re);if(u&&F(t))return k.marked="keyword",E(te);if("["==e)return E($,ae,j("]"),re);if("spread"==e)return E(W,re);if("*"==t)return k.marked="keyword",E(te);if(":"==e)return A(re)}}function ne(e){return"variable"!=e?A(re):(k.marked="property",E(Te))}function re(e){return":"==e?E(W):"("==e?A(Te):void 0}function ie(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var s=k.state.lexical;return"call"==s.info&&(s.pos=(s.pos||0)+1),E(function(n,r){return n==t||r==t?A():A(e)},r)}return i==t||o==t?E():n&&n.indexOf(";")>-1?A(e):E(j(t))}return function(n,i){return n==t||i==t?E():A(e,r)}}function oe(e,t,n){for(var r=3;r<arguments.length;r++)k.cc.push(arguments[r]);return E(P(t,n),ie(e,t),R)}function se(e){return"}"==e?E():A(I,se)}function ae(e,t){if(u){if(":"==e||"in"==t)return E(ce);if("?"==t)return E(ae)}}function le(e){if(u&&":"==e)return k.stream.match(/^\s*\w+\s+is\b/,!1)?E($,ue,ce):E(ce)}function ue(e,t){if("is"==t)return k.marked="keyword",E()}function ce(e,t){return"keyof"==t||"typeof"==t||"infer"==t?(k.marked="keyword",E("typeof"==t?W:ce)):"variable"==e||"void"==t?(k.marked="type",E(pe)):"string"==e||"number"==e||"atom"==e?E(pe):"["==e?E(P("]"),ie(ce,"]",","),R,pe):"{"==e?E(P("}"),ie(de,"}",",;"),R,pe):"("==e?E(ie(fe,")"),he,pe):"<"==e?E(ie(ce,">"),ce):void 0}function he(e){if("=>"==e)return E(ce)}function de(e,t){return"variable"==e||"keyword"==k.style?(k.marked="property",E(de)):"?"==t||"number"==e||"string"==e?E(de):":"==e?E(ce):"["==e?E(j("variable"),ae,j("]"),de):"("==e?A(Be,de):void 0}function fe(e,t){return"variable"==e&&k.stream.match(/^\s*[?:]/,!1)||"?"==t?E(fe):":"==e?E(ce):"spread"==e?E(fe):A(ce)}function pe(e,t){return"<"==t?E(P(">"),ie(ce,">"),R,pe):"|"==t||"."==e||"&"==t?E(ce):"["==e?E(ce,j("]"),pe):"extends"==t||"implements"==t?(k.marked="keyword",E(ce)):"?"==t?E(ce,j(":"),ce):void 0}function ge(e,t){if("<"==t)return E(P(">"),ie(ce,">"),R,pe)}function me(){return A(ce,ve)}function ve(e,t){if("="==t)return E(ce)}function ye(e,t){return"enum"==t?(k.marked="keyword",E(Ke)):A(be,ae,Ce,ke)}function be(e,t){return u&&F(t)?(k.marked="keyword",E(be)):"variable"==e?(S(t),E()):"spread"==e?E(be):"["==e?oe(xe,"]"):"{"==e?oe(we,"}"):void 0}function we(e,t){return"variable"!=e||k.stream.match(/^\s*:/,!1)?("variable"==e&&(k.marked="property"),"spread"==e?E(be):"}"==e?A():"["==e?E($,j("]"),j(":"),we):E(j(":"),be,Ce)):(S(t),E(Ce))}function xe(){return A(be,Ce)}function Ce(e,t){if("="==t)return E(W)}function ke(e){if(","==e)return E(ye)}function Ae(e,t){if("keyword b"==e&&"else"==t)return E(P("form","else"),I,R)}function Ee(e,t){return"await"==t?E(Ee):"("==e?E(P(")"),_e,j(")"),R):void 0}function _e(e){return"var"==e?E(ye,j(";"),Fe):";"==e?E(Fe):"variable"==e?E(Se):A($,j(";"),Fe)}function Se(e,t){return"in"==t||"of"==t?(k.marked="keyword",E($)):E(V,Fe)}function Fe(e,t){return";"==e?E(De):"in"==t||"of"==t?(k.marked="keyword",E($)):A($,j(";"),De)}function De(e){")"!=e&&E($)}function Te(e,t){return"*"==t?(k.marked="keyword",E(Te)):"variable"==e?(S(t),E(Te)):"("==e?E(L,P(")"),ie(Me,")"),R,le,I,O):u&&"<"==t?E(P(">"),ie(me,">"),R,Te):void 0}function Be(e,t){return"*"==t?(k.marked="keyword",E(Be)):"variable"==e?(S(t),E(Be)):"("==e?E(L,P(")"),ie(Me,")"),R,le,O):u&&"<"==t?E(P(">"),ie(me,">"),R,Be):void 0}function Le(e,t){return"keyword"==e||"variable"==e?(k.marked="type",E(Le)):"<"==t?E(P(">"),ie(me,">"),R):void 0}function Me(e,t){return"@"==t&&E($,Me),"spread"==e?E(Me):u&&F(t)?(k.marked="keyword",E(Me)):A(be,ae,Ce)}function Oe(e,t){return"variable"==e?Pe(e,t):Re(e,t)}function Pe(e,t){if("variable"==e)return S(t),E(Re)}function Re(e,t){return"<"==t?E(P(">"),ie(me,">"),R,Re):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(k.marked="keyword"),E(u?ce:$,Re)):"{"==e?E(P("}"),je,R):void 0}function je(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&F(t))&&k.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(k.marked="keyword",E(je)):"variable"==e||"keyword"==k.style?(k.marked="property",E(u?Ie:Te,je)):"number"==e||"string"==e?E(u?Ie:Te,je):"["==e?E($,ae,j("]"),u?Ie:Te,je):"*"==t?(k.marked="keyword",E(je)):u&&"("==e?A(Be,je):";"==e||","==e?E(je):"}"==e?E():"@"==t?E($,je):void 0}function Ie(e,t){if("?"==t)return E(Ie);if(":"==e)return E(ce,Ce);if("="==t)return E(W);var n=k.state.lexical.prev,r=n&&"interface"==n.info;return A(r?Be:Te)}function Ne(e,t){return"*"==t?(k.marked="keyword",E(Ve,j(";"))):"default"==t?(k.marked="keyword",E($,j(";"))):"{"==e?E(ie($e,"}"),Ve,j(";")):A(I)}function $e(e,t){return"as"==t?(k.marked="keyword",E(j("variable"))):"variable"==e?A(W,$e):void 0}function We(e){return"string"==e?E():"("==e?A($):A(He,ze,Ve)}function He(e,t){return"{"==e?oe(He,"}"):("variable"==e&&S(t),"*"==t&&(k.marked="keyword"),E(Ue))}function ze(e){if(","==e)return E(He,ze)}function Ue(e,t){if("as"==t)return k.marked="keyword",E(He)}function Ve(e,t){if("from"==t)return k.marked="keyword",E($)}function Ge(e){return"]"==e?E():A(ie(W,"]"))}function Ke(){return A(P("form"),be,j("{"),P("}"),ie(qe,"}"),R,R)}function qe(){return A(be,Ce)}function Ye(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return O.lex=!0,R.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new D(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),b(e,t)),t.tokenize!=m&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==r?n:(t.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",function(e,t,n,r,i){var o=e.cc;for(k.state=e,k.stream=i,k.marked=null,k.cc=o,k.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var s=o.length?o.pop():l?$:I;if(s(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return k.marked?k.marked:"variable"==n&&C(e,r)?"variable-2":t}}}(t,n,r,i,e))},indent:function(t,r){if(t.tokenize==m)return e.Pass;if(t.tokenize!=g)return 0;var i,a=r&&r.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(r))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==R)l=l.prev;else if(c!=Ae)break}for(;("stat"==l.type||"form"==l.type)&&("}"==a||(i=t.cc[t.cc.length-1])&&(i==V||i==G)&&!/^[,\.=+\-*:?[\(]/.test(r));)l=l.prev;s&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var h=l.type,f=a==h;return"vardef"==h?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==h&&"{"==a?l.indented:"form"==h?l.indented+o:"stat"==h?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||d.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?s||o:0):"switch"!=l.info||f||0==n.doubleIndentSwitch?l.align?l.column+(f?0:1):l.indented+(f?0:o):l.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:a,jsonMode:l,expressionAllowed:Ye,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=$&&t!=W||e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(50))},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t){ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=e("./lib/lang"),s=e("./range").Range,a=e("./anchor").Anchor,l=e("./keyboard/hash_handler").HashHandler,u=e("./tokenizer").Tokenizer,c=s.comparePoints,h=function(){this.snippetMap={},this.snippetNameMap={}};(function(){r.implement(this,i),this.getTokenizer=function(){function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatString?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}return h.$tokenizer=new u({start:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectIf?(n[0].expectIf=!1,n[0].elseBranch=n[0],[n[0]]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return"}"==r&&n.length?e=r:-1!="`$\\".indexOf(r)?e=r:n.inFormatString&&("n"==r?e="\n":"t"==r?e="\n":-1!="ulULE".indexOf(r)&&(e={changeCase:r,local:r>"a"})),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1),0,r);return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){n[0].choices=e.slice(1,-1).split(",")},next:"start"},{regex:"/("+t("/")+"+)/(?:("+t("/")+"*)/)(\\w*):?",onMatch:function(e,t,n){var r=n[0];return r.fmtString=e,e=this.splitRegex.exec(e),r.guard=e[1],r.fmt=e[2],r.flag=e[3],""},next:"start"},{regex:"`"+t("`")+"*`",onMatch:function(e,t,n){return n[0].code=e.splice(1,-1),""},next:"start"},{regex:"\\?",onMatch:function(e,t,n){n[0]&&(n[0].expectIf=!0)},next:"start"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:"/("+t("/")+"+)/",token:"regex"},{regex:"",onMatch:function(e,t,n){n.inFormatString=!0},next:"start"}]}),h.prototype.getTokenizer=function(){return h.$tokenizer},h.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.$getDefaultValue=function(e,t){if(/^[A-Z]\d+$/.test(t)){var n=t.substr(1);return(this.variables[t[0]+"__"]||{})[n]}if(/^\d+$/.test(t))return(this.variables.__||{})[t];if(t=t.replace(/^TM_/,""),e){var r=e.session;switch(t){case"CURRENT_WORD":var i=r.getWordRange();case"SELECTION":case"SELECTED_TEXT":return r.getTextRange(i);case"CURRENT_LINE":return r.getLine(e.getCursorPosition().row);case"PREV_LINE":return r.getLine(e.getCursorPosition().row-1);case"LINE_INDEX":return e.getCursorPosition().column;case"LINE_NUMBER":return e.getCursorPosition().row+1;case"SOFT_TABS":return r.getUseSoftTabs()?"YES":"NO";case"TAB_SIZE":return r.getTabSize();case"FILENAME":case"FILEPATH":return"";case"FULLNAME":return"Ace"}}},this.variables={},this.getVariableValue=function(e,t){return this.variables.hasOwnProperty(t)?this.variables[t](e,t)||"":this.$getDefaultValue(e,t)||""},this.tmStrFormat=function(e,t,n){var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gi]/,""));var o=this.tokenizeTmSnippet(t.fmt,"formatString"),s=this,a=e.replace(i,function(){s.variables.__=arguments;for(var e=s.resolveVariables(o,n),t="E",r=0;r<e.length;r++){var i=e[r];if("object"==typeof i)if(e[r]="",i.changeCase&&i.local){var a=e[r+1];a&&"string"==typeof a&&("u"==i.changeCase?e[r]=a[0].toUpperCase():e[r]=a[0].toLowerCase(),e[r+1]=a.substr(1))}else i.changeCase&&(t=i.changeCase);else"U"==t?e[r]=i.toUpperCase():"L"==t&&(e[r]=i.toLowerCase())}return e.join("")});return this.variables.__=null,a},this.resolveVariables=function(e,t){for(var n=[],r=0;r<e.length;r++){var i=e[r];if("string"==typeof i)n.push(i);else{if("object"!=typeof i)continue;if(i.skip)s(i);else{if(i.processed<r)continue;if(i.text){var o=this.getVariableValue(t,i.text);o&&i.fmtString&&(o=this.tmStrFormat(o,i)),i.processed=r,null==i.expectIf?o&&(n.push(o),s(i)):o?i.skip=i.elseBranch:s(i)}else null!=i.tabstopId?n.push(i):null!=i.changeCase&&n.push(i)}}}function s(t){var n=e.indexOf(t,r+1);-1!=n&&(r=n)}return n},this.insertSnippetForSelection=function(e,t){var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=e.session.getTabString(),o=r.match(/^\s*/)[0];n.column<o.length&&(o=o.slice(0,n.column)),t=t.replace(/\r/g,"");var s=this.tokenizeTmSnippet(t),a=[];(s=(s=this.resolveVariables(s,e)).map(function(e){return"\n"==e?e+o:"string"==typeof e?e.replace(/\t/g,i):e})).forEach(function(e,t){if("object"==typeof e){var n=e.tabstopId,r=a[n];if(r||((r=a[n]=[]).index=n,r.value=""),-1===r.indexOf(e)){r.push(e);var i=s.indexOf(e,t+1);if(-1!==i){var o=s.slice(t+1,i);o.some(function(e){return"object"==typeof e})&&!r.value?r.value=o:!o.length||r.value&&"string"==typeof r.value||(r.value=o.join(""))}}}}),a.forEach(function(e){e.length=0});var l={};function u(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];if("object"==typeof r){if(l[r.tabstopId])continue;r=t[e.lastIndexOf(r,n-1)]||{tabstopId:r.tabstopId}}t[n]=r}return t}for(var c=0;c<s.length;c++){var h=s[c];if("object"==typeof h){var f=h.tabstopId,p=s.indexOf(h,c+1);if(l[f])l[f]===h&&(l[f]=null);else{var g=a[f],m="string"==typeof g.value?[g.value]:u(g.value);m.unshift(c+1,Math.max(0,p-c)),m.push(h),l[f]=h,s.splice.apply(s,m),-1===g.indexOf(h)&&g.push(h)}}}var v=0,y=0,b="";s.forEach(function(e){if("string"==typeof e){var t=e.split("\n");t.length>1?(y=t[t.length-1].length,v+=t.length-1):y+=e.length,b+=e}else e.start?e.end={row:v,column:y}:e.start={row:v,column:y}});var w=e.getSelectionRange(),x=e.session.replace(w,b),C=new d(e),k=e.inVirtualSelectionMode&&e.selection.index;C.addTabstops(a,w.start,x,k)},this.insertSnippet=function(e,t){var n=this;if(e.inVirtualSelectionMode)return n.insertSnippetForSelection(e,t);e.forEachSelection(function(){n.insertSnippetForSelection(e,t)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},this.$getScope=function(e){var t=e.session.$mode.$id||"";if("html"===(t=t.split("/").pop())||"php"===t){"php"!==t||e.session.$mode.inlinePhp||(t="html");var n=e.getCursorPosition(),r=e.session.getState(n.row);"object"==typeof r&&(r=r[0]),r.substring&&("js-"==r.substring(0,3)?t="javascript":"css-"==r.substring(0,4)?t="css":"php-"==r.substring(0,4)&&(t="php"))}return t},this.getActiveScopes=function(e){var t=this.$getScope(e),n=[t],r=this.snippetMap;return r[t]&&r[t].includeScopes&&n.push.apply(n,r[t].includeScopes),n.push("_"),n},this.expandWithTab=function(e,t){var n=this,r=e.forEachSelection(function(){return n.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return r&&e.tabstopManager&&e.tabstopManager.tabNext(),r},this.expandSnippetForSelection=function(e,t){var n,r=e.getCursorPosition(),i=e.session.getLine(r.row),o=i.substring(0,r.column),s=i.substr(r.column),a=this.snippetMap;return this.getActiveScopes(e).some(function(e){var t=a[e];return t&&(n=this.findMatchingSnippet(t,o,s)),!!n},this),!!n&&(!(!t||!t.dryRun)||(e.session.doc.removeInLine(r.row,r.column-n.replaceBefore.length,r.column+n.replaceAfter.length),this.variables.M__=n.matchBefore,this.variables.T__=n.matchAfter,this.insertSnippetForSelection(e,n.content),this.variables.M__=this.variables.T__=null,!0))},this.findMatchingSnippet=function(e,t,n){for(var r=e.length;r--;){var i=e[r];if((!i.startRe||i.startRe.test(t))&&((!i.endRe||i.endRe.test(n))&&(i.startRe||i.endRe)))return i.matchBefore=i.startRe?i.startRe.exec(t):[""],i.matchAfter=i.endRe?i.endRe.exec(n):[""],i.replaceBefore=i.triggerRe?i.triggerRe.exec(t)[0]:"",i.replaceAfter=i.endTriggerRe?i.endTriggerRe.exec(n)[0]:"",i}},this.snippetMap={},this.snippetNameMap={},this.register=function(e,t){var n=this.snippetMap,r=this.snippetNameMap,i=this;function s(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")"),e||""}function a(e,t,n){return e=s(e),t=s(t),n?(e=t+e)&&"$"!=e[e.length-1]&&(e+="$"):(e+=t)&&"^"!=e[0]&&(e="^"+e),new RegExp(e)}function l(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={});var s=r[t];if(e.name){var l=s[e.name];l&&i.unregister(l),s[e.name]=e}n[t].push(e),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard="\\b"),e.trigger=o.escapeRegExp(e.tabTrigger)),(e.trigger||e.guard||e.endTrigger||e.endGuard)&&(e.startRe=a(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger,"",!0),e.endRe=a(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger,"",!0))}e||(e=[]),e&&e.content?l(e):Array.isArray(e)&&e.forEach(l),this._signal("registerSnippets",{scope:t})},this.unregister=function(e,t){var n=this.snippetMap,r=this.snippetNameMap;function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var o=n[e.scope||t],s=o&&o.indexOf(e);s>=0&&o.splice(s,1)}}e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");for(var t,n=[],r={},i=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;t=i.exec(e);){if(t[1])try{r=JSON.parse(t[1]),n.push(r)}catch(e){}if(t[4])r.content=t[4].replace(/^\t/gm,""),n.push(r),r={};else{var o=t[2],s=t[3];if("regex"==o){var a=/\/((?:[^\/\\]|\\.)*)|$/g;r.guard=a.exec(s)[1],r.trigger=a.exec(s)[1],r.endTrigger=a.exec(s)[1],r.endGuard=a.exec(s)[1]}else"snippet"==o?(r.tabTrigger=s.match(/^\S*/)[0],r.name||(r.name=s)):r[o]=s}}return n},this.getSnippetByName=function(e,t){var n,r=this.snippetNameMap;return this.getActiveScopes(t).some(function(t){var i=r[t];return i&&(n=i[e]),!!n},this),n}}).call(h.prototype);var d=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=o.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t="r"==e.action[0],n=e.start,r=e.end,i=n.row,o=r.row-i,s=r.column-n.column;if(t&&(o=-o,s=-s),!this.$inChange&&t){var a=this.selectedTabstop;if(a&&!a.some(function(e){return c(e.start,n)<=0&&c(e.end,r)>=0}))return this.detach()}for(var l=this.ranges,u=0;u<l.length;u++){var h=l[u];h.end.row<n.row||(t&&c(n,h.start)<0&&c(r,h.end)>0?(this.removeRange(h),u--):(h.start.row==i&&h.start.column>n.column&&(h.start.column+=s),h.end.row==i&&h.end.column>=n.column&&(h.end.column+=s),h.start.row>=i&&(h.start.row+=o),h.end.row>=i&&(h.end.row+=o),c(h.start,h.end)>0&&this.removeRange(h)))}l.length||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(e&&e.hasLinkedRanges){this.$inChange=!0;for(var n=this.editor.session,r=n.getTextRange(e.firstNonLinked),i=e.length;i--;){var o=e[i];if(o.linked){var s=t.snippetManager.tmStrFormat(r,o.original);n.replace(o,s)}}this.$inChange=!1}},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty(),r=this.ranges.length;r--;)if(!this.ranges[r].linked){var i=this.ranges[r].contains(e.row,e.column),o=n||this.ranges[r].contains(t.row,t.column);if(i&&o)return}this.detach()}},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);(n=Math.min(Math.max(n,1),t))==t&&(n=0),this.selectTabstop(n),0===n&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,(t=this.tabstops[this.index])&&t.length){if(this.selectedTabstop=t,this.editor.inVirtualSelectionMode)this.editor.selection.setRange(t.firstNonLinked);else{var n=this.editor.multiSelect;n.toSingleRange(t.firstNonLinked.clone());for(var r=t.length;r--;)t.hasLinkedRanges&&t[r].linked||n.addRange(t[r].clone(),!0);n.ranges[0]&&n.addRange(n.ranges[0].clone())}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)}},this.addTabstops=function(e,t,n){if(this.$openTabstops||(this.$openTabstops=[]),!e[0]){var r=s.fromPoints(n,n);g(r.start,t),g(r.end,t),e[0]=[r],e[0].index=0}var i=[this.index+1,0],o=this.ranges;e.forEach(function(e,n){for(var r=this.$openTabstops[n]||e,a=e.length;a--;){var l=e[a],u=s.fromPoints(l.start,l.end||l.start);p(u.start,t),p(u.end,t),u.original=l,u.tabstop=r,o.push(u),r!=e?r.unshift(u):r[a]=u,l.fmtString?(u.linked=!0,r.hasLinkedRanges=!0):r.firstNonLinked||(r.firstNonLinked=u)}r.firstNonLinked||(r.hasLinkedRanges=!1),r===e&&(i.push(r),this.$openTabstops[n]=r),this.addTabstopMarkers(r)},this),i.length>2&&(this.tabstops.length&&i.push(i.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,i))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);e.tabstop.splice(t,1),t=this.ranges.indexOf(e),this.ranges.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(-1!=(t=this.tabstops.indexOf(e.tabstop))&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new l,this.keyboardHandler.bindKeys({Tab:function(e){t.snippetManager&&t.snippetManager.expandWithTab(e)||e.tabstopManager.tabNext(1)},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1)},Esc:function(e){e.tabstopManager.detach()},Return:function(e){return!1}})}).call(d.prototype);var f={};f.onChange=a.prototype.onChange,f.setPosition=function(e,t){this.pos.row=e,this.pos.column=t},f.update=function(e,t,n){this.$insertRight=n,this.pos=e,this.onChange(t)};var p=function(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row},g=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new h;var m=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(m.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../virtual_renderer").VirtualRenderer,i=e("../editor").Editor,o=e("../range").Range,s=e("../lib/event"),a=e("../lib/lang"),l=e("../lib/dom");l.importCssString(".ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { background-color: #CAD6FA; z-index: 1;}.ace_editor.ace_autocomplete .ace_line-hover { border: 1px solid #abbffe; margin-top: -1px; background: rgba(233,233,253,0.4);}.ace_editor.ace_autocomplete .ace_line-hover { position: absolute; z-index: 2;}.ace_editor.ace_autocomplete .ace_scroller { background: none; border: none; box-shadow: none;}.ace_rightAlignedText { color: gray; display: inline-block; position: absolute; right: 4px; text-align: right; z-index: -1;}.ace_editor.ace_autocomplete .ace_completion-highlight{ color: #000; text-shadow: 0 0 0.01em;}.ace_editor.ace_autocomplete { width: 280px; z-index: 200000; background: #fbfbfb; color: #444; border: 1px lightgray solid; position: fixed; box-shadow: 2px 3px 5px rgba(0,0,0,.2); line-height: 1.4;}"),t.AcePopup=function(e){var t=l.createElement("div"),n=new function(e){var t=new r(e);t.$maxLines=4;var n=new i(t);return n.setHighlightActiveLine(!1),n.setShowPrintMargin(!1),n.renderer.setShowGutter(!1),n.renderer.setHighlightGutterLine(!1),n.$mouseHandler.$focusWaitTimout=0,n.$highlightTagPending=!0,n}(t);e&&e.appendChild(t),t.style.display="none",n.renderer.content.style.cursor="default",n.renderer.setStyle("ace_autocomplete"),n.setOption("displayIndentGuides",!1),n.setOption("dragDelay",150);var u,c=function(){};n.focus=c,n.$isFocused=!0,n.renderer.$cursorLayer.restartTimer=c,n.renderer.$cursorLayer.element.style.opacity=0,n.renderer.$maxLines=8,n.renderer.$keepTextAreaAtCursor=!1,n.setHighlightActiveLine(!1),n.session.highlight(""),n.session.$searchHighlight.clazz="ace_highlight-marker",n.on("mousedown",function(e){var t=e.getDocumentPosition();n.selection.moveToPosition(t),d.start.row=d.end.row=t.row,e.stop()});var h=new o(-1,0,-1,1/0),d=new o(-1,0,-1,1/0);d.id=n.session.addMarker(d,"ace_active-line","fullLine"),n.setSelectOnHover=function(e){e?h.id&&(n.session.removeMarker(h.id),h.id=null):h.id=n.session.addMarker(h,"ace_line-hover","fullLine")},n.setSelectOnHover(!1),n.on("mousemove",function(e){if(u){if(u.x!=e.x||u.y!=e.y){(u=e).scrollTop=n.renderer.scrollTop;var t=u.getDocumentPosition().row;h.start.row!=t&&(h.id||n.setRow(t),p(t))}}else u=e}),n.renderer.on("beforeRender",function(){if(u&&-1!=h.start.row){u.$pos=null;var e=u.getDocumentPosition().row;h.id||n.setRow(e),p(e,!0)}}),n.renderer.on("afterRender",function(){var e=n.getRow(),t=n.renderer.$textLayer,r=t.element.childNodes[e-t.config.firstRow];r!=t.selectedNode&&(t.selectedNode&&l.removeCssClass(t.selectedNode,"ace_selected"),t.selectedNode=r,r&&l.addCssClass(r,"ace_selected"))});var f=function(){p(-1)},p=function(e,t){e!==h.start.row&&(h.start.row=h.end.row=e,t||n.session._emit("changeBackMarker"),n._emit("changeHoverMarker"))};n.getHoveredRow=function(){return h.start.row},s.addListener(n.container,"mouseout",f),n.on("hide",f),n.on("changeSelection",f),n.session.doc.getLength=function(){return n.data.length},n.session.doc.getLine=function(e){var t=n.data[e];return"string"==typeof t?t:t&&t.value||""};var g=n.session.bgTokenizer;return g.$tokenizeRow=function(e){var t=n.data[e],r=[];if(!t)return r;"string"==typeof t&&(t={value:t}),t.caption||(t.caption=t.value||t.name);for(var i,o,s=-1,a=0;a<t.caption.length;a++)o=t.caption[a],s!==(i=t.matchMask&1<<a?1:0)?(r.push({type:t.className||(i?"completion-highlight":""),value:o}),s=i):r[r.length-1].value+=o;if(t.meta){var l=n.renderer.$size.scrollerWidth/n.renderer.layerConfig.characterWidth,u=t.meta;u.length+t.caption.length>l-2&&(u=u.substr(0,l-t.caption.length-3)+"…"),r.push({type:"rightAlignedText",value:u})}return r},g.$updateOnChange=c,g.start=c,n.session.$computeWidth=function(){return this.screenWidth=0},n.$blockScrolling=1/0,n.isOpen=!1,n.isTopdown=!1,n.autoSelect=!0,n.data=[],n.setData=function(e){n.setValue(a.stringRepeat("\n",e.length),-1),n.data=e||[],n.setRow(0)},n.getData=function(e){return n.data[e]},n.getRow=function(){return d.start.row},n.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length,e)),d.start.row!=e&&(n.selection.clearSelection(),d.start.row=d.end.row=e||0,n.session._emit("changeBackMarker"),n.moveCursorTo(e||0,0),n.isOpen&&n._signal("select"))},n.on("changeSelection",function(){n.isOpen&&n.setRow(n.selection.lead.row),n.renderer.scrollCursorIntoView()}),n.hide=function(){this.container.style.display="none",this._signal("hide"),n.isOpen=!1},n.show=function(e,t,r){var i=this.container,o=window.innerHeight,s=window.innerWidth,a=this.renderer,l=a.$maxLines*t*1.4,c=e.top+this.$borderSize;c>o/2&&!r&&c+t+l>o?(a.$maxPixelHeight=c-2*this.$borderSize,i.style.top="",i.style.bottom=o-c+"px",n.isTopdown=!1):(c+=t,a.$maxPixelHeight=o-c-.2*t,i.style.top=c+"px",i.style.bottom="",n.isTopdown=!0),i.style.display="",this.renderer.$textLayer.checkForSizeChanges();var h=e.left;h+i.offsetWidth>s&&(h=s-i.offsetWidth),i.style.left=h+"px",this._signal("show"),u=null,n.isOpen=!0},n.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},n.$imageSize=0,n.$borderSize=1,n}}),ace.define("ace/autocomplete/util",["require","exports","module"],function(e,t,n){"use strict";t.parForEach=function(e,t,n){var r=0,i=e.length;0===i&&n();for(var o=0;o<i;o++)t(e[o],function(e,t){++r===i&&n(e,t)})};var r=/[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,n){n=n||r;for(var i=[],o=t-1;o>=0&&n.test(e[o]);o--)i.push(e[o]);return i.reverse().join("")},t.retrieveFollowingIdentifier=function(e,t,n){n=n||r;for(var i=[],o=t;o<e.length&&n.test(e[o]);o++)i.push(e[o]);return i},t.getCompletionPrefix=function(e){var t,n=e.getCursorPosition(),r=e.session.getLine(n.row);return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!t&&e&&(t=this.retrievePrecedingIdentifier(r,n.column,e))}.bind(this))}.bind(this)),t||this.retrievePrecedingIdentifier(r,n.column)}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/snippets"],function(e,t,n){"use strict";var r=e("./keyboard/hash_handler").HashHandler,i=e("./autocomplete/popup").AcePopup,o=e("./autocomplete/util"),s=(e("./lib/event"),e("./lib/lang")),a=e("./lib/dom"),l=e("./snippets").snippetManager,u=function(){this.autoInsert=!1,this.autoSelect=!0,this.exactMatch=!1,this.gatherCompletionsId=0,this.keyboardHandler=new r,this.keyboardHandler.bindKeys(this.commands),this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.changeTimer=s.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=s.delayedCall(this.updateDocTooltip.bind(this),50)};(function(){this.$init=function(){return this.popup=new i(document.body||document.documentElement),this.popup.on("click",function(e){this.insertMatch(),e.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.tooltipTimer.bind(null,null)),this.popup.on("select",this.tooltipTimer.bind(null,null)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup},this.getPopup=function(){return this.popup||this.$init()},this.openPopup=function(e,t,n){this.popup||this.$init(),this.popup.autoSelect=this.autoSelect,this.popup.setData(this.completions.filtered),e.keyBinding.addKeyboardHandler(this.keyboardHandler);var r=e.renderer;if(this.popup.setRow(this.autoSelect?0:-1),n)n&&!t&&this.detach();else{this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize());var i=r.layerConfig.lineHeight,o=r.$cursorLayer.getPixelPosition(this.base,!0);o.left-=this.popup.getTextLeftOffset();var s=e.container.getBoundingClientRect();o.top+=s.top-r.layerConfig.offset,o.left+=s.left-e.renderer.scrollLeft,o.left+=r.gutterWidth,this.popup.show(o,i)}},this.detach=function(){this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener),this.changeTimer.cancel(),this.hideDocTooltip(),this.gatherCompletionsId+=1,this.popup&&this.popup.isOpen&&this.popup.hide(),this.base&&this.base.detach(),this.activated=!1,this.completions=this.base=null},this.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},this.blurListener=function(e){var t=document.activeElement,n=this.editor.textInput.getElement(),r=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),i=this.popup&&this.popup.container;t==n||t.parentNode==i||r||t==this.tooltipNode||e.relatedTarget==n||this.detach()},this.mousedownListener=function(e){this.detach()},this.mousewheelListener=function(e){this.detach()},this.goTo=function(e){var t=this.popup.getRow(),n=this.popup.session.getLength()-1;switch(e){case"up":t=t<=0?n:t-1;break;case"down":t=t>=n?-1:t+1;break;case"start":t=0;break;case"end":t=n}this.popup.setRow(t)},this.insertMatch=function(e,t){if(e||(e=this.popup.getData(this.popup.getRow())),!e)return!1;if(e.completer&&e.completer.insertMatch)e.completer.insertMatch(this.editor,e);else{if(this.completions.filterText)for(var n,r=this.editor.selection.getAllRanges(),i=0;n=r[i];i++)n.start.column-=this.completions.filterText.length,this.editor.session.remove(n);e.snippet?l.insertSnippet(this.editor,e.snippet):this.editor.execCommand("insertstring",e.value||e)}this.detach()},this.commands={Up:function(e){e.completer.goTo("up")},Down:function(e){e.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo("end")},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(t||e.tabstopManager)return t;e.completer.goTo("down")},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},this.gatherCompletions=function(e,t){var n=e.getSession(),r=e.getCursorPosition(),i=o.getCompletionPrefix(e);this.base=n.doc.createAnchor(r.row,r.column-i.length),this.base.$insertRight=!0;var s=[],a=e.completers.length;return e.completers.forEach(function(l,u){l.getCompletions(e,n,r,i,function(n,r){!n&&r&&(s=s.concat(r)),t(null,{prefix:o.getCompletionPrefix(e),matches:s,finished:0==--a})})}),!0},this.showPopup=function(e){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on("changeSelection",this.changeListener),e.on("blur",this.blurListener),e.on("mousedown",this.mousedownListener),e.on("mousewheel",this.mousewheelListener),this.updateCompletions()},this.updateCompletions=function(e){if(e&&this.base&&this.completions){var t=this.editor.getCursorPosition(),n=this.editor.session.getTextRange({start:this.base,end:t});if(n==this.completions.filterText)return;return this.completions.setFilter(n),this.completions.filtered.length?1!=this.completions.filtered.length||this.completions.filtered[0].value!=n||this.completions.filtered[0].snippet?void this.openPopup(this.editor,n,e):this.detach():this.detach()}var r=this.gatherCompletionsId;this.gatherCompletions(this.editor,function(t,n){var i=function(){if(n.finished)return this.detach()}.bind(this),o=n.prefix,s=n&&n.matches;if(!s||!s.length)return i();if(0===o.indexOf(n.prefix)&&r==this.gatherCompletionsId){this.completions=new c(s),this.exactMatch&&(this.completions.exactMatch=!0),this.completions.setFilter(o);var a=this.completions.filtered;return a.length&&(1!=a.length||a[0].value!=o||a[0].snippet)?this.autoInsert&&1==a.length&&n.finished?this.insertMatch(a[0]):void this.openPopup(this.editor,o,e):i()}}.bind(this))},this.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},this.updateDocTooltip=function(){var e=this.popup,t=e.data,n=t&&(t[e.getHoveredRow()]||t[e.getRow()]),r=null;return n&&this.editor&&this.popup.isOpen?(this.editor.completers.some(function(e){return e.getDocTooltip&&(r=e.getDocTooltip(n)),r}),r||(r=n),"string"==typeof r&&(r={docText:r}),r&&(r.docHTML||r.docText)?void this.showDocTooltip(r):this.hideDocTooltip()):this.hideDocTooltip()},this.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=a.createElement("div"),this.tooltipNode.className="ace_tooltip ace_doc-tooltip",this.tooltipNode.style.margin=0,this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this));var t=this.tooltipNode;e.docHTML?t.innerHTML=e.docHTML:e.docText&&(t.textContent=e.docText),t.parentNode||document.body.appendChild(t);var n=this.popup,r=n.container.getBoundingClientRect();t.style.top=n.container.style.top,t.style.bottom=n.container.style.bottom,window.innerWidth-r.right<320?(t.style.right=window.innerWidth-r.left+"px",t.style.left=""):(t.style.left=r.right+1+"px",t.style.right=""),t.style.display="block"},this.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),this.tooltipNode){var e=this.tooltipNode;this.editor.isFocused()||document.activeElement!=e||this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}},this.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if("A"==t.nodeName&&t.href){t.rel="noreferrer",t.target="_blank";break}t=t.parentNode}}}).call(u.prototype),u.startCommand={name:"startAutocomplete",exec:function(e){e.completer||(e.completer=new u),e.completer.autoInsert=!1,e.completer.autoSelect=!0,e.completer.showPopup(e),e.completer.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var c=function(e,t){this.all=e,this.filtered=e,this.filterText=t||"",this.exactMatch=!1};(function(){this.setFilter=function(e){if(e.length>this.filterText&&0===e.lastIndexOf(this.filterText,0))var t=this.filtered;else t=this.all;this.filterText=e;var n=null;t=(t=(t=this.filterCompletions(t,this.filterText)).sort(function(e,t){return t.exactMatch-e.exactMatch||t.score-e.score})).filter(function(e){var t=e.snippet||e.caption||e.value;return t!==n&&(n=t,!0)}),this.filtered=t},this.filterCompletions=function(e,t){var n=[],r=t.toUpperCase(),i=t.toLowerCase();e:for(var o,s=0;o=e[s];s++){var a=o.value||o.caption||o.snippet;if(a){var l,u,c=-1,h=0,d=0;if(this.exactMatch){if(t!==a.substr(0,t.length))continue e}else for(var f=0;f<t.length;f++){var p=a.indexOf(i[f],c+1),g=a.indexOf(r[f],c+1);if((l=p>=0&&(g<0||p<g)?p:g)<0)continue e;(u=l-c-1)>0&&(-1===c&&(d+=10),d+=u),h|=1<<l,c=l}o.matchMask=h,o.exactMatch=d?0:1,o.score=(o.score||0)-d,n.push(o)}}return n}}).call(c.prototype),t.Autocomplete=u,t.FilteredList=c}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;function o(e,t){var n=function(e,t){return e.getTextRange(r.fromPoints({row:0,column:0},t)).split(i).length-1}(e,t),o=e.getValue().split(i),s=Object.create(null),a=o[n];return o.forEach(function(e,t){if(e&&e!==a){var r=Math.abs(n-t),i=o.length-r;s[e]?s[e]=Math.max(i,s[e]):s[e]=i}}),s}t.getCompletions=function(e,t,n,r,i){var s=o(t,n);i(null,Object.keys(s).map(function(e){return{caption:e,value:e,score:s[e],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../snippets").snippetManager,i=e("../autocomplete").Autocomplete,o=e("../config"),s=e("../lib/lang"),a=e("../autocomplete/util"),l=e("../autocomplete/text_completer"),u={getCompletions:function(e,t,n,r,i){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,n,r,i);var o=e.session.getState(n.row);i(null,t.$mode.getCompletions(o,t,n,r))}},c={getCompletions:function(e,t,n,i,o){var s=r.snippetMap,a=[];r.getActiveScopes(e).forEach(function(e){for(var t=s[e]||[],n=t.length;n--;){var r=t[n],i=r.name||r.tabTrigger;i&&a.push({caption:i,snippet:r.content,meta:r.tabTrigger&&!r.name?r.tabTrigger+"⇥ ":"snippet",type:"snippet"})}},this),o(null,a)},getDocTooltip:function(e){"snippet"!=e.type||e.docHTML||(e.docHTML=["<b>",s.escapeHTML(e.caption),"</b>","<hr></hr>",s.escapeHTML(e.snippet)].join(""))}},h=[c,l,u];t.setCompleters=function(e){h.length=0,e&&h.push.apply(h,e)},t.addCompleter=function(e){h.push(e)},t.textCompleter=l,t.keyWordCompleter=u,t.snippetCompleter=c;var d={name:"expandSnippet",exec:function(e){return r.expandWithTab(e)},bindKey:"Tab"},f=function(e,t){p(t.session.$mode)},p=function(e){var t=e.$id;r.files||(r.files={}),g(t),e.modes&&e.modes.forEach(p)},g=function(e){if(e&&!r.files[e]){var t=e.replace("mode","snippets");r.files[e]={},o.loadModule(t,function(t){t&&(r.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=r.parseSnippetFile(t.snippetText)),r.register(t.snippets||[],t.scope),t.includeScopes&&(r.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach(function(e){g("ace/mode/"+e)})))})}},m=function(e){var t=e.editor,n=t.completer&&t.completer.activated;if("backspace"===e.command.name)n&&!a.getCompletionPrefix(t)&&t.completer.detach();else if("insertstring"===e.command.name){a.getCompletionPrefix(t)&&!n&&(t.completer||(t.completer=new i),t.completer.autoInsert=!1,t.completer.showPopup(t))}},v=e("../editor").Editor;e("../config").defineOptions(v.prototype,"editor",{enableBasicAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:h),this.commands.addCommand(i.startCommand)):this.commands.removeCommand(i.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||(this.completers=Array.isArray(e)?e:h),this.commands.on("afterExec",m)):this.commands.removeListener("afterExec",m)},value:!1},enableSnippets:{set:function(e){e?(this.commands.addCommand(d),this.on("changeMode",f),f(0,this)):(this.commands.removeCommand(d),this.off("changeMode",f))},value:!1}})}),ace.acequire(["ace/ext/language_tools"],function(){})},function(e,t){ace.define("ace/occur",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/edit_session","ace/search_highlight","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=(e("./range").Range,e("./search").Search),o=e("./edit_session").EditSession,s=e("./search_highlight").SearchHighlight;function a(){}r.inherits(a,i),function(){this.enter=function(e,t){if(!t.needle)return!1;var n=e.getCursorPosition();this.displayOccurContent(e,t);var r=this.originalToOccurPosition(e.session,n);return e.moveCursorToPosition(r),!0},this.exit=function(e,t){var n=t.translatePosition&&e.getCursorPosition(),r=n&&this.occurToOriginalPosition(e.session,n);return this.displayOriginalContent(e),r&&e.moveCursorToPosition(r),!0},this.highlight=function(e,t){(e.$occurHighlight=e.$occurHighlight||e.addDynamicMarker(new s(null,"ace_occur-highlight","text"))).setRegexp(t),e._emit("changeBackMarker")},this.displayOccurContent=function(e,t){this.$originalSession=e.session;var n=this.matchingLines(e.session,t),r=n.map(function(e){return e.content}),i=new o(r.join("\n"));i.$occur=this,i.$occurMatchingLines=n,e.setSession(i),this.$useEmacsStyleLineStart=this.$originalSession.$useEmacsStyleLineStart,i.$useEmacsStyleLineStart=this.$useEmacsStyleLineStart,this.highlight(i,t.re),i._emit("changeBackMarker")},this.displayOriginalContent=function(e){e.setSession(this.$originalSession),this.$originalSession.$useEmacsStyleLineStart=this.$useEmacsStyleLineStart},this.originalToOccurPosition=function(e,t){var n=e.$occurMatchingLines,r={row:0,column:0};if(!n)return r;for(var i=0;i<n.length;i++)if(n[i].row===t.row)return{row:i,column:t.column};return r},this.occurToOriginalPosition=function(e,t){var n=e.$occurMatchingLines;return n&&n[t.row]?{row:n[t.row].row,column:t.column}:t},this.matchingLines=function(e,t){if(t=r.mixin({},t),!e||!t.needle)return[];var n=new i;return n.set(t),n.findAll(e).reduce(function(t,n){var r=n.start.row,i=t[t.length-1];return i&&i.row===r?t:t.concat({row:r,content:e.getLine(r)})},[])}}.call(a.prototype),e("./lib/dom").importCssString(".ace_occur-highlight {\n border-radius: 4px;\n background-color: rgba(87, 255, 8, 0.25);\n position: absolute;\n z-index: 4;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n box-shadow: 0 0 4px rgb(91, 255, 50);\n}\n.ace_dark .ace_occur-highlight {\n background-color: rgb(80, 140, 85);\n box-shadow: 0 0 4px rgb(60, 120, 70);\n}\n","incremental-occur-highlighting"),t.Occur=a}),ace.define("ace/commands/occur_commands",["require","exports","module","ace/config","ace/occur","ace/keyboard/hash_handler","ace/lib/oop"],function(e,t,n){e("../config");var r=e("../occur").Occur,i={name:"occur",exec:function(e,t){var n=!!e.session.$occur;(new r).enter(e,t)&&!n&&a.installIn(e)},readOnly:!0},o=[{name:"occurexit",bindKey:"esc|Ctrl-G",exec:function(e){var t=e.session.$occur;t&&(t.exit(e,{}),e.session.$occur||a.uninstallFrom(e))},readOnly:!0},{name:"occuraccept",bindKey:"enter",exec:function(e){var t=e.session.$occur;t&&(t.exit(e,{translatePosition:!0}),e.session.$occur||a.uninstallFrom(e))},readOnly:!0}],s=e("../keyboard/hash_handler").HashHandler;function a(){}e("../lib/oop").inherits(a,s),function(){this.isOccurHandler=!0,this.attach=function(e){s.call(this,o,e.commands.platform),this.$editor=e};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){var o=e.call(this,t,n,r,i);return o&&o.command?o:void 0}}.call(a.prototype),a.installIn=function(e){var t=new this;e.keyBinding.addKeyboardHandler(t),e.commands.addCommands(o)},a.uninstallFrom=function(e){e.commands.removeCommands(o);var t=e.getKeyboardHandler();t.isOccurHandler&&e.keyBinding.removeKeyboardHandler(t)},t.occurStartCommand=i}),ace.define("ace/commands/incremental_search_commands",["require","exports","module","ace/config","ace/lib/oop","ace/keyboard/hash_handler","ace/commands/occur_commands"],function(e,t,n){var r=e("../config"),i=e("../lib/oop"),o=e("../keyboard/hash_handler").HashHandler,s=e("./occur_commands").occurStartCommand;function a(e){this.$iSearch=e}t.iSearchStartCommands=[{name:"iSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e,t){r.loadModule(["core","ace/incremental_search"],function(n){var r=n.iSearch=n.iSearch||new n.IncrementalSearch;r.activate(e,t.backwards),t.jumpToFirstMatch&&r.next(t)})},readOnly:!0},{name:"iSearchBackwards",exec:function(e,t){e.execCommand("iSearch",{backwards:!0})},readOnly:!0},{name:"iSearchAndGo",bindKey:{win:"Ctrl-K",mac:"Command-G"},exec:function(e,t){e.execCommand("iSearch",{jumpToFirstMatch:!0,useCurrentOrPrevSearch:!0})},readOnly:!0},{name:"iSearchBackwardsAndGo",bindKey:{win:"Ctrl-Shift-K",mac:"Command-Shift-G"},exec:function(e){e.execCommand("iSearch",{jumpToFirstMatch:!0,backwards:!0,useCurrentOrPrevSearch:!0})},readOnly:!0}],t.iSearchCommands=[{name:"restartSearch",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(e){e.cancelSearch(!0)}},{name:"searchForward",bindKey:{win:"Ctrl-S|Ctrl-K",mac:"Ctrl-S|Command-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,e.next(t)}},{name:"searchBackward",bindKey:{win:"Ctrl-R|Ctrl-Shift-K",mac:"Ctrl-R|Command-Shift-G"},exec:function(e,t){t.useCurrentOrPrevSearch=!0,t.backwards=!0,e.next(t)}},{name:"extendSearchTerm",exec:function(e,t){e.addString(t)}},{name:"extendSearchTermSpace",bindKey:"space",exec:function(e){e.addString(" ")}},{name:"shrinkSearchTerm",bindKey:"backspace",exec:function(e){e.removeChar()}},{name:"confirmSearch",bindKey:"return",exec:function(e){e.deactivate()}},{name:"cancelSearch",bindKey:"esc|Ctrl-G",exec:function(e){e.deactivate(!0)}},{name:"occurisearch",bindKey:"Ctrl-O",exec:function(e){var t=i.mixin({},e.$options);e.deactivate(),s.exec(e.$editor,t)}},{name:"yankNextWord",bindKey:"Ctrl-w",exec:function(e){var t=e.$editor,n=t.selection.getRangeOfMovements(function(e){e.moveCursorWordRight()}),r=t.session.getTextRange(n);e.addString(r)}},{name:"yankNextChar",bindKey:"Ctrl-Alt-y",exec:function(e){var t=e.$editor,n=t.selection.getRangeOfMovements(function(e){e.moveCursorRight()}),r=t.session.getTextRange(n);e.addString(r)}},{name:"recenterTopBottom",bindKey:"Ctrl-l",exec:function(e){e.$editor.execCommand("recenterTopBottom")}},{name:"selectAllMatches",bindKey:"Ctrl-space",exec:function(e){var t=e.$editor,n=t.session.$isearchHighlight,r=n&&n.cache?n.cache.reduce(function(e,t){return e.concat(t||[])},[]):[];e.deactivate(!1),r.forEach(t.selection.addRange.bind(t.selection))}},{name:"searchAsRegExp",bindKey:"Alt-r",exec:function(e){e.convertNeedleToRegExp()}}].map(function(e){return e.readOnly=!0,e.isIncrementalSearchCommand=!0,e.scrollIntoView="animate-cursor",e}),i.inherits(a,o),function(){this.attach=function(e){var n=this.$iSearch;o.call(this,t.iSearchCommands,e.commands.platform),this.$commandExecHandler=e.commands.addEventListener("exec",function(t){if(!t.command.isIncrementalSearchCommand)return n.deactivate();t.stopPropagation(),t.preventDefault();var r=e.session.getScrollTop(),i=t.command.exec(n,t.args||{});return e.renderer.scrollCursorIntoView(null,.5),e.renderer.animateScrolling(r),i})},this.detach=function(e){this.$commandExecHandler&&(e.commands.removeEventListener("exec",this.$commandExecHandler),delete this.$commandExecHandler)};var e=this.handleKeyboard;this.handleKeyboard=function(t,n,r,i){if((1===n||8===n)&&"v"===r||1===n&&"y"===r)return null;var o=e.call(this,t,n,r,i);if(o.command)return o;if(-1==n){var s=this.commands.extendSearchTerm;if(s)return{command:s,args:r}}return!1}}.call(a.prototype),t.IncrementalSearchKeyboardHandler=a}),ace.define("ace/incremental_search",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/search_highlight","ace/commands/incremental_search_commands","ace/lib/dom","ace/commands/command_manager","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./range").Range,o=e("./search").Search,s=e("./search_highlight").SearchHighlight,a=e("./commands/incremental_search_commands"),l=a.IncrementalSearchKeyboardHandler;function u(){this.$options={wrap:!1,skipCurrent:!1},this.$keyboardHandler=new l(this)}function c(e){return e instanceof RegExp}function h(e){var t=String(e),n=t.indexOf("/"),r=t.lastIndexOf("/");return{expression:t.slice(n+1,r),flags:t.slice(r+1)}}function d(e,t){try{return new RegExp(e,t)}catch(t){return e}}function f(e){return d(e.expression,e.flags)}r.inherits(u,o),function(){this.activate=function(e,t){this.$editor=e,this.$startPos=this.$currentPos=e.getCursorPosition(),this.$options.needle="",this.$options.backwards=t,e.keyBinding.addKeyboardHandler(this.$keyboardHandler),this.$originalEditorOnPaste=e.onPaste,e.onPaste=this.onPaste.bind(this),this.$mousedownHandler=e.addEventListener("mousedown",this.onMouseDown.bind(this)),this.selectionFix(e),this.statusMessage(!0)},this.deactivate=function(e){this.cancelSearch(e);var t=this.$editor;t.keyBinding.removeKeyboardHandler(this.$keyboardHandler),this.$mousedownHandler&&(t.removeEventListener("mousedown",this.$mousedownHandler),delete this.$mousedownHandler),t.onPaste=this.$originalEditorOnPaste,this.message("")},this.selectionFix=function(e){e.selection.isEmpty()&&!e.session.$emacsMark&&e.clearSelection()},this.highlight=function(e){var t=this.$editor.session;(t.$isearchHighlight=t.$isearchHighlight||t.addDynamicMarker(new s(null,"ace_isearch-result","text"))).setRegexp(e),t._emit("changeBackMarker")},this.cancelSearch=function(e){var t=this.$editor;return this.$prevNeedle=this.$options.needle,this.$options.needle="",e?(t.moveCursorToPosition(this.$startPos),this.$currentPos=this.$startPos):t.pushEmacsMark&&t.pushEmacsMark(this.$startPos,!1),this.highlight(null),i.fromPoints(this.$currentPos,this.$currentPos)},this.highlightAndFindWithNeedle=function(e,t){if(!this.$editor)return null;var n=this.$options;if(t&&(n.needle=t.call(this,n.needle||"")||""),0===n.needle.length)return this.statusMessage(!0),this.cancelSearch(!0);n.start=this.$currentPos;var r=this.$editor.session,o=this.find(r),s=this.$editor.emacsMark?!!this.$editor.emacsMark():!this.$editor.selection.isEmpty();return o&&(n.backwards&&(o=i.fromPoints(o.end,o.start)),this.$editor.selection.setRange(i.fromPoints(s?this.$startPos:o.end,o.end)),e&&(this.$currentPos=o.end),this.highlight(n.re)),this.statusMessage(o),o},this.addString=function(e){return this.highlightAndFindWithNeedle(!1,function(t){if(!c(t))return t+e;var n=h(t);return n.expression+=e,f(n)})},this.removeChar=function(e){return this.highlightAndFindWithNeedle(!1,function(e){if(!c(e))return e.substring(0,e.length-1);var t=h(e);return t.expression=t.expression.substring(0,t.expression.length-1),f(t)})},this.next=function(e){return e=e||{},this.$options.backwards=!!e.backwards,this.$currentPos=this.$editor.getCursorPosition(),this.highlightAndFindWithNeedle(!0,function(t){return e.useCurrentOrPrevSearch&&0===t.length?this.$prevNeedle||"":t})},this.onMouseDown=function(e){return this.deactivate(),!0},this.onPaste=function(e){this.addString(e)},this.convertNeedleToRegExp=function(){return this.highlightAndFindWithNeedle(!1,function(e){return c(e)?e:d(e,"ig")})},this.convertNeedleToString=function(){return this.highlightAndFindWithNeedle(!1,function(e){return c(e)?h(e).expression:e})},this.statusMessage=function(e){var t=this.$options,n="";n+=t.backwards?"reverse-":"",n+="isearch: "+t.needle,n+=e?"":" (not found)",this.message(n)},this.message=function(e){this.$editor.showCommandLine?(this.$editor.showCommandLine(e),this.$editor.focus()):console.log(e)}}.call(u.prototype),t.IncrementalSearch=u;var p=e("./lib/dom");p.importCssString&&p.importCssString(".ace_marker-layer .ace_isearch-result { position: absolute; z-index: 6; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}div.ace_isearch-result { border-radius: 4px; background-color: rgba(255, 200, 0, 0.5); box-shadow: 0 0 4px rgb(255, 200, 0);}.ace_dark div.ace_isearch-result { background-color: rgb(100, 110, 160); box-shadow: 0 0 4px rgb(80, 90, 140);}","incremental-search-highlighting");var g=e("./commands/command_manager");(function(){this.setupIncrementalSearch=function(e,t){if(this.usesIncrementalSearch!=t){this.usesIncrementalSearch=t;var n=a.iSearchStartCommands;this[t?"addCommands":"removeCommands"](n)}}}).call(g.CommandManager.prototype);var m=e("./editor").Editor;e("./config").defineOptions(m.prototype,"editor",{useIncrementalSearch:{set:function(e){this.keyBinding.$handlers.forEach(function(t){t.setupIncrementalSearch&&t.setupIncrementalSearch(this,e)}),this._emit("incrementalSearchSettingChanged",{isEnabled:e})}}})}),ace.define("ace/keyboard/emacs",["require","exports","module","ace/lib/dom","ace/incremental_search","ace/commands/incremental_search_commands","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom");e("../incremental_search");var i=e("../commands/incremental_search_commands"),o=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,i=Math.floor(r/this.characterWidth),o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight);return this.session.screenToDocumentPosition(o,i,r)},s=e("./hash_handler").HashHandler;t.handler=new s,t.handler.isEmacs=!0,t.handler.$id="ace/keyboard/emacs";var a,l,u=!1;t.handler.attach=function(e){u||(u=!0,r.importCssString(" .emacs-mode .ace_cursor{ border: 1px rgba(50,250,50,0.8) solid!important; -moz-box-sizing: border-box!important; -webkit-box-sizing: border-box!important; box-sizing: border-box!important; background-color: rgba(0,250,0,0.9); opacity: 0.5; } .emacs-mode .ace_hidden-cursors .ace_cursor{ opacity: 1; background-color: transparent; } .emacs-mode .ace_overwrite-cursors .ace_cursor { opacity: 1; background-color: transparent; border-width: 0 0 2px 2px !important; } .emacs-mode .ace_text-layer { z-index: 4 } .emacs-mode .ace_cursor-layer { z-index: 2 }","emacsMode")),a=e.session.$selectLongWords,e.session.$selectLongWords=!0,l=e.session.$useEmacsStyleLineStart,e.session.$useEmacsStyleLineStart=!0,e.session.$emacsMark=null,e.session.$emacsMarkRing=e.session.$emacsMarkRing||[],e.emacsMark=function(){return this.session.$emacsMark},e.setEmacsMark=function(e){this.session.$emacsMark=e},e.pushEmacsMark=function(e,t){var n=this.session.$emacsMark;n&&this.session.$emacsMarkRing.push(n),!e||t?this.setEmacsMark(e):this.session.$emacsMarkRing.push(e)},e.popEmacsMark=function(){var e=this.emacsMark();return e?(this.setEmacsMark(null),e):this.session.$emacsMarkRing.pop()},e.getLastEmacsMark=function(e){return this.session.$emacsMark||this.session.$emacsMarkRing.slice(-1)[0]},e.emacsMarkForSelection=function(e){var t=this.selection,n=this.multiSelect?this.multiSelect.getAllRanges().length:1,r=t.index||0,i=this.session.$emacsMarkRing,o=i.length-(n-r),s=i[o]||t.anchor;return e&&i.splice(o,1,"row"in e&&"column"in e?e:void 0),s},e.on("click",h),e.on("changeSession",c),e.renderer.screenToTextCoordinates=o,e.setStyle("emacs-mode"),e.commands.addCommands(p),t.handler.platform=e.commands.platform,e.$emacsModeHandler=this,e.addEventListener("copy",this.onCopy),e.addEventListener("paste",this.onPaste)},t.handler.detach=function(e){delete e.renderer.screenToTextCoordinates,e.session.$selectLongWords=a,e.session.$useEmacsStyleLineStart=l,e.removeEventListener("click",h),e.removeEventListener("changeSession",c),e.unsetStyle("emacs-mode"),e.commands.removeCommands(p),e.removeEventListener("copy",this.onCopy),e.removeEventListener("paste",this.onPaste),e.$emacsModeHandler=null};var c=function(e){e.oldSession&&(e.oldSession.$selectLongWords=a,e.oldSession.$useEmacsStyleLineStart=l),a=e.session.$selectLongWords,e.session.$selectLongWords=!0,l=e.session.$useEmacsStyleLineStart,e.session.$useEmacsStyleLineStart=!0,e.session.hasOwnProperty("$emacsMark")||(e.session.$emacsMark=null),e.session.hasOwnProperty("$emacsMarkRing")||(e.session.$emacsMarkRing=[])},h=function(e){e.editor.session.$emacsMark=null},d=e("../lib/keys").KEY_MODS,f={C:"ctrl",S:"shift",M:"alt",CMD:"command"};["C-S-M-CMD","S-M-CMD","C-M-CMD","C-S-CMD","C-S-M","M-CMD","S-CMD","S-M","C-CMD","C-M","C-S","CMD","M","S","C"].forEach(function(e){var t=0;e.split("-").forEach(function(e){t|=d[f[e]]}),f[t]=e.toLowerCase()+"-"}),t.handler.onCopy=function(e,n){n.$handlesEmacsOnCopy||(n.$handlesEmacsOnCopy=!0,t.handler.commands.killRingSave.exec(n),n.$handlesEmacsOnCopy=!1)},t.handler.onPaste=function(e,t){t.pushEmacsMark(t.getCursorPosition())},t.handler.bindKey=function(e,t){if("object"==typeof e&&(e=e[this.platform]),e){var n=this.commandKeyBinding;e.split("|").forEach(function(e){e=e.toLowerCase(),n[e]=t,e.split(" ").slice(0,-1).reduce(function(e,t,n){var r=e[n-1]?e[n-1]+" ":"";return e.concat([r+t])},[]).forEach(function(e){n[e]||(n[e]="null")})},this)}},t.handler.getStatusText=function(e,t){var n="";return t.count&&(n+=t.count),t.keyChain&&(n+=" "+t.keyChain),n},t.handler.handleKeyboard=function(e,t,n,r){if(-1!==r){var i=e.editor;if(i._signal("changeStatus"),-1==t&&(i.pushEmacsMark(),e.count)){var o=new Array(e.count+1).join(n);return e.count=null,{command:"insertstring",args:o}}var s=f[t];if("c-"==s||e.count)if("number"==typeof(u=parseInt(n[n.length-1]))&&!isNaN(u))return e.count=Math.max(e.count,0)||0,e.count=10*e.count+u,{command:"null"};s&&(n=s+n),e.keyChain&&(n=e.keyChain+=" "+n);var a=this.commandKeyBinding[n];if(e.keyChain="null"==a?n:"",a){if("null"===a)return{command:"null"};if("universalArgument"===a)return e.count=-4,{command:"null"};var l;if("string"!=typeof a&&(l=a.args,a.command&&(a=a.command),"goorselect"===a&&(a=i.emacsMark()?l[1]:l[0],l=null)),"string"!=typeof a||("insertstring"!==a&&"splitline"!==a&&"togglecomment"!==a||i.pushEmacsMark(),a=this.commands[a]||i.commands.commands[a])){if(a.readOnly||a.isYank||(e.lastCommand=null),!a.readOnly&&i.emacsMark()&&i.setEmacsMark(null),e.count){var u=e.count;if(e.count=0,!a||!a.handlesCount)return{args:l,command:{exec:function(e,t){for(var n=0;n<u;n++)a.exec(e,t)},multiSelectAction:a.multiSelectAction}};l||(l={}),"object"==typeof l&&(l.count=u)}return{command:a,args:l}}}}},t.emacsKeys={"Up|C-p":{command:"goorselect",args:["golineup","selectup"]},"Down|C-n":{command:"goorselect",args:["golinedown","selectdown"]},"Left|C-b":{command:"goorselect",args:["gotoleft","selectleft"]},"Right|C-f":{command:"goorselect",args:["gotoright","selectright"]},"C-Left|M-b":{command:"goorselect",args:["gotowordleft","selectwordleft"]},"C-Right|M-f":{command:"goorselect",args:["gotowordright","selectwordright"]},"Home|C-a":{command:"goorselect",args:["gotolinestart","selecttolinestart"]},"End|C-e":{command:"goorselect",args:["gotolineend","selecttolineend"]},"C-Home|S-M-,":{command:"goorselect",args:["gotostart","selecttostart"]},"C-End|S-M-.":{command:"goorselect",args:["gotoend","selecttoend"]},"S-Up|S-C-p":"selectup","S-Down|S-C-n":"selectdown","S-Left|S-C-b":"selectleft","S-Right|S-C-f":"selectright","S-C-Left|S-M-b":"selectwordleft","S-C-Right|S-M-f":"selectwordright","S-Home|S-C-a":"selecttolinestart","S-End|S-C-e":"selecttolineend","S-C-Home":"selecttostart","S-C-End":"selecttoend","C-l":"recenterTopBottom","M-s":"centerselection","M-g":"gotoline","C-x C-p":"selectall","C-Down":{command:"goorselect",args:["gotopagedown","selectpagedown"]},"C-Up":{command:"goorselect",args:["gotopageup","selectpageup"]},"PageDown|C-v":{command:"goorselect",args:["gotopagedown","selectpagedown"]},"PageUp|M-v":{command:"goorselect",args:["gotopageup","selectpageup"]},"S-C-Down":"selectpagedown","S-C-Up":"selectpageup","C-s":"iSearch","C-r":"iSearchBackwards","M-C-s":"findnext","M-C-r":"findprevious","S-M-5":"replace",Backspace:"backspace","Delete|C-d":"del","Return|C-m":{command:"insertstring",args:"\n"},"C-o":"splitline","M-d|C-Delete":{command:"killWord",args:"right"},"C-Backspace|M-Backspace|M-Delete":{command:"killWord",args:"left"},"C-k":"killLine","C-y|S-Delete":"yank","M-y":"yankRotate","C-g":"keyboardQuit","C-w|C-S-W":"killRegion","M-w":"killRingSave","C-Space":"setMark","C-x C-x":"exchangePointAndMark","C-t":"transposeletters","M-u":"touppercase","M-l":"tolowercase","M-/":"autocomplete","C-u":"universalArgument","M-;":"togglecomment","C-/|C-x u|S-C--|C-z":"undo","S-C-/|S-C-x u|C--|S-C-z":"redo","C-x r":"selectRectangularRegion","M-x":{command:"focusCommandLine",args:"M-x "}},t.handler.bindKeys(t.emacsKeys),t.handler.addCommands({recenterTopBottom:function(e){var t=e.renderer,n=t.$cursorLayer.getPixelPosition(),r=t.$size.scrollerHeight-t.lineHeight,i=t.scrollTop;i=Math.abs(n.top-i)<2?n.top-r:Math.abs(n.top-i-.5*r)<2?n.top:n.top-.5*r,e.session.setScrollTop(i)},selectRectangularRegion:function(e){e.multiSelect.toggleBlockSelection()},setMark:{exec:function(e,t){if(t&&t.count)return e.inMultiSelectMode?e.forEachSelection(s):s(),void s();var n=e.emacsMark(),r=e.selection.getAllRanges(),i=r.map(function(e){return{row:e.start.row,column:e.start.column}}),o=r.every(function(e){return e.isEmpty()});if(n||!o)return e.inMultiSelectMode?e.forEachSelection({exec:e.clearSelection.bind(e)}):e.clearSelection(),void(n&&e.pushEmacsMark(null));if(!n)return i.forEach(function(t){e.pushEmacsMark(t)}),void e.setEmacsMark(i[i.length-1]);function s(){var t=e.popEmacsMark();t&&e.moveCursorToPosition(t)}},readOnly:!0,handlesCount:!0},exchangePointAndMark:{exec:function(e,t){var n=e.selection;if(t.count||n.isEmpty())if(t.count){var r={row:n.lead.row,column:n.lead.column};n.clearSelection(),n.moveCursorToPosition(e.emacsMarkForSelection(r))}else n.selectToPosition(e.emacsMarkForSelection());else n.setSelectionRange(n.getRange(),!n.isBackwards())},readOnly:!0,handlesCount:!0,multiSelectAction:"forEach"},killWord:{exec:function(e,n){e.clearSelection(),"left"==n?e.selection.selectWordLeft():e.selection.selectWordRight();var r=e.getSelectionRange(),i=e.session.getTextRange(r);t.killRing.add(i),e.session.remove(r),e.clearSelection()},multiSelectAction:"forEach"},killLine:function(e){e.pushEmacsMark(null),e.clearSelection();var n=e.getSelectionRange(),r=e.session.getLine(n.start.row);n.end.column=r.length,r=r.substr(n.start.column);var i=e.session.getFoldLine(n.start.row);i&&n.end.row!=i.end.row&&(n.end.row=i.end.row,r="x"),/^\s*$/.test(r)&&(n.end.row++,r=e.session.getLine(n.end.row),n.end.column=/^\s*$/.test(r)?r.length:0);var o=e.session.getTextRange(n);e.prevOp.command==this?t.killRing.append(o):t.killRing.add(o),e.session.remove(n),e.clearSelection()},yank:function(e){e.onPaste(t.killRing.get()||""),e.keyBinding.$data.lastCommand="yank"},yankRotate:function(e){"yank"==e.keyBinding.$data.lastCommand&&(e.undo(),e.session.$emacsMarkRing.pop(),e.onPaste(t.killRing.rotate()),e.keyBinding.$data.lastCommand="yank")},killRegion:{exec:function(e){t.killRing.add(e.getCopyText()),e.commands.byName.cut.exec(e),e.setEmacsMark(null)},readOnly:!0,multiSelectAction:"forEach"},killRingSave:{exec:function(e){e.$handlesEmacsOnCopy=!0;var n=e.session.$emacsMarkRing.slice(),r=[];t.killRing.add(e.getCopyText()),setTimeout(function(){function t(){var t=e.selection,n=t.getRange(),i=t.isBackwards()?n.end:n.start;r.push({row:i.row,column:i.column}),t.clearSelection()}e.$handlesEmacsOnCopy=!1,e.inMultiSelectMode?e.forEachSelection({exec:t}):t(),e.session.$emacsMarkRing=n.concat(r.reverse())},0)},readOnly:!0},keyboardQuit:function(e){e.selection.clearSelection(),e.setEmacsMark(null),e.keyBinding.$data.count=null},focusCommandLine:function(e,t){e.showCommandLine&&e.showCommandLine(t)}}),t.handler.addCommands(i.iSearchStartCommands);var p=t.handler.commands;p.yank.isYank=!0,p.yankRotate.isYank=!0,t.killRing={$data:[],add:function(e){e&&this.$data.push(e),this.$data.length>30&&this.$data.shift()},append:function(e){var t=this.$data.length-1,n=this.$data[t]||"";e&&(n+=e),n&&(this.$data[t]=n)},get:function(e){return e=e||1,this.$data.slice(this.$data.length-e,this.$data.length).reverse().join("\n")},pop:function(){return this.$data.length>1&&this.$data.pop(),this.get()},rotate:function(){return this.$data.unshift(this.$data.pop()),this.get()}}})},function(e,t){ace.define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/mode/text","ace/multi_select"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/event_emitter").EventEmitter,o=e("../lib/dom"),s=e("../lib/oop"),a=e("../lib/keys"),l=e("../lib/event"),u=e("../search").Search,c=e("../lib/useragent"),h=e("../search_highlight").SearchHighlight,d=e("../commands/multi_select_commands"),f=e("../mode/text").Mode.prototype.tokenRe;e("../multi_select");var p=function(e){this.ace=e,this.state={},this.marks={},this.$uid=0,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this),this.onBeforeEndOperation=this.onBeforeEndOperation.bind(this),this.ace.on("change",this.onChange),this.ace.on("changeSelection",this.onSelectionChange),this.ace.on("beforeEndOperation",this.onBeforeEndOperation)};function g(e){return{row:e.line,column:e.ch}}function m(e){return new b(e.row,e.column)}p.Pos=function(e,t){if(!(this instanceof b))return new b(e,t);this.line=e,this.ch=t},p.defineOption=function(e,t,n){},p.commands={redo:function(e){e.ace.redo()},undo:function(e){e.ace.undo()},newlineAndIndent:function(e){e.ace.insert("\n")}},p.keyMap={},p.addClass=p.rmClass=p.e_stop=function(){},p.keyName=function(e){if(e.key)return e.key;var t=a[e.keyCode]||"";return 1==t.length&&(t=t.toUpperCase()),t=l.getModifierString(e).replace(/(^|-)\w/g,function(e){return e.toUpperCase()})+t},p.keyMap.default=function(e){return function(t){var n=t.ace.commands.commandKeyBinding[e.toLowerCase()];return n&&!1!==t.ace.execCommand(n)}},p.lookupKey=function e(t,n,r){"string"==typeof n&&(n=p.keyMap[n]);var i="function"==typeof n?n(t):n[t];if(!1===i)return"nothing";if("..."===i)return"multi";if(null!=i&&r(i))return"handled";if(n.fallthrough){if(!Array.isArray(n.fallthrough))return e(t,n.fallthrough,r);for(var o=0;o<n.fallthrough.length;o++){var s=e(t,n.fallthrough[o],r);if(s)return s}}},p.signal=function(e,t,n){return e._signal(t,n)},p.on=l.addListener,p.off=l.removeListener,p.isWordChar=function(e){return e<""?/^\w$/.test(e):(f.lastIndex=0,f.test(e))},function(){s.implement(p.prototype,i),this.destroy=function(){this.ace.off("change",this.onChange),this.ace.off("changeSelection",this.onSelectionChange),this.ace.off("beforeEndOperation",this.onBeforeEndOperation),this.removeOverlay()},this.virtualSelectionMode=function(){return this.ace.inVirtualSelectionMode&&this.ace.selection.index},this.onChange=function(e){var t={text:"i"==e.action[0]?e.lines:[]},n=this.curOp=this.curOp||{};n.changeHandlers||(n.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice()),this.virtualSelectionMode()||(n.lastChange?n.lastChange.next=n.lastChange=t:n.lastChange=n.change=t,this.$updateMarkers(e))},this.onSelectionChange=function(){var e=this.curOp=this.curOp||{};e.cursorActivityHandlers||(e.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(d.keyboardHandler)},this.operation=function(e,t){if(!t&&this.curOp||t&&this.curOp&&this.curOp.force)return e();if(!t&&this.ace.curOp||this.curOp&&this.onBeforeEndOperation(),!this.ace.curOp){var n=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var r=this.curOp=this.curOp||{};this.curOp.force=t;var i=e();return this.ace.curOp&&"vim"==this.ace.curOp.command.name&&(this.ace.endOperation(),r.cursorActivity||r.lastChange||!n||(this.ace.prevOp=n)),!t&&this.ace.curOp||this.curOp&&this.onBeforeEndOperation(),i},this.onBeforeEndOperation=function(){var e=this.curOp;e&&(e.change&&this.signal("change",e.change,e),e&&e.cursorActivity&&this.signal("cursorActivity",null,e),this.curOp=null)},this.signal=function(e,t,n){var r=n?n[e+"Handlers"]:(this._eventRegistry||{})[e];if(r){r=r.slice();for(var i=0;i<r.length;i++)r[i](this,t)}},this.firstLine=function(){return 0},this.lastLine=function(){return this.ace.session.getLength()-1},this.lineCount=function(){return this.ace.session.getLength()},this.setCursor=function(e,t){"object"==typeof e&&(t=e.ch,e=e.line),this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:e,column:t}),this.ace.selection.moveTo(e,t)},this.getCursor=function(e){var t=this.ace.selection;return m("anchor"==e?t.isEmpty()?t.lead:t.anchor:"head"!=e&&e?t.getRange()[e]:t.lead)},this.listSelections=function(e){var t=this.ace.multiSelect.rangeList.ranges;return!t.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:t.map(function(e){return{anchor:this.clipPos(m(e.cursor==e.end?e.start:e.end)),head:this.clipPos(m(e.cursor))}},this)},this.setSelections=function(e,t){var n=this.ace.multiSelect,i=e.map(function(e){var t=g(e.anchor),n=g(e.head),i=r.comparePoints(t,n)<0?new r.fromPoints(t,n):new r.fromPoints(n,t);return i.cursor=r.comparePoints(i.start,n)?i.end:i.start,i});if(this.ace.inVirtualSelectionMode)this.ace.selection.fromOrientedRange(i[0]);else{t?i[t]&&i.push(i.splice(t,1)[0]):i=i.reverse(),n.toSingleRange(i[0].clone());for(var o=this.ace.session,s=0;s<i.length;s++){var a=o.$clipRangeToDocument(i[s]);n.addRange(a)}}},this.setSelection=function(e,t,n){var r=this.ace.selection;r.moveTo(e.line,e.ch),r.selectTo(t.line,t.ch),n&&"*mouse"==n.origin&&this.onBeforeEndOperation()},this.somethingSelected=function(e){return!this.ace.selection.isEmpty()},this.clipPos=function(e){return m(this.ace.session.$clipPositionToDocument(e.line,e.ch))},this.markText=function(e){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(e){var t="insert"==e.action,n=e.start,i=e.end,o=(i.row-n.row)*(t?1:-1),s=(i.column-n.column)*(t?1:-1);for(var a in t&&(i=n),this.marks){var l=this.marks[a],u=r.comparePoints(l,n);if(!(u<0)){if(0===u&&t){if(1!=l.bias){l.bias;continue}u=1}var c=t?u:r.comparePoints(l,i);c>0?(l.row+=o,l.column+=l.row==i.row?s:0):!t&&c<=0&&(l.row=n.row,l.column=n.column,0===c&&(l.bias=1))}}};var e=function(e,t,n,r){this.cm=e,this.id=t,this.row=n,this.column=r,e.marks[this.id]=this};e.prototype.clear=function(){delete this.cm.marks[this.id]},e.prototype.find=function(){return m(this)},this.setBookmark=function(t,n){var r=new e(this,this.$uid++,t.line,t.ch);return n&&n.insertLeft||(r.$insertRight=!0),this.marks[r.id]=r,r},this.moveH=function(e,t){if("char"==t){var n=this.ace.selection;n.clearSelection(),n.moveCursorBy(0,e)}},this.findPosV=function(e,t,n,r){if("page"==n){var i=this.ace.renderer.layerConfig;t*=Math.floor(i.height/i.lineHeight),n="line"}if("line"==n){var o=this.ace.session.documentToScreenPosition(e.line,e.ch);return null!=r&&(o.column=r),o.row+=t,o.row=Math.min(Math.max(0,o.row),this.ace.session.getScreenLength()-1),m(this.ace.session.screenToDocumentPosition(o.row,o.column))}},this.charCoords=function(e,t){if("div"==t||!t)return{left:(r=this.ace.session.documentToScreenPosition(e.line,e.ch)).column,top:r.row};if("local"==t){var n=this.ace.renderer,r=this.ace.session.documentToScreenPosition(e.line,e.ch),i=n.layerConfig.lineHeight,o=n.layerConfig.characterWidth,s=i*r.row;return{left:r.column*o,top:s,bottom:s+i}}},this.coordsChar=function(e,t){var n=this.ace.renderer;if("local"==t){var r=Math.max(0,Math.floor(e.top/n.lineHeight)),i=Math.max(0,Math.floor(e.left/n.characterWidth));return m(n.session.screenToDocumentPosition(r,i))}if("div"==t)throw"not implemented"},this.getSearchCursor=function(e,t,n){var r=!1,i=!1;e instanceof RegExp&&!e.global&&(r=!e.ignoreCase,e=e.source,i=!0);var o=new u;void 0==t.ch&&(t.ch=Number.MAX_VALUE);var s={row:t.line,column:t.ch},a=this,l=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){o.setOptions({needle:e,caseSensitive:r,wrap:!1,backwards:t,regExp:i,start:l||s});var n=o.find(a.ace.session);return n&&n.isEmpty()&&a.getLine(n.start.row).length==n.start.column&&(o.$options.start=n,n=o.find(a.ace.session)),l=n},from:function(){return l&&m(l.start)},to:function(){return l&&m(l.end)},replace:function(e){l&&(l.end=a.ace.session.doc.replace(l,e))}}},this.scrollTo=function(e,t){var n=this.ace.renderer,r=n.layerConfig,i=r.maxHeight;i-=(n.$size.scrollerHeight-n.lineHeight)*n.$scrollPastEnd,null!=t&&this.ace.session.setScrollTop(Math.max(0,Math.min(t,i))),null!=e&&this.ace.session.setScrollLeft(Math.max(0,Math.min(e,r.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(e,t){if(e){var n=this.ace.renderer,r={top:0,bottom:t};n.scrollCursorIntoView(g(e),2*n.lineHeight/n.$size.scrollerHeight,r)}},this.getLine=function(e){return this.ace.session.getLine(e)},this.getRange=function(e,t){return this.ace.session.getTextRange(new r(e.line,e.ch,t.line,t.ch))},this.replaceRange=function(e,t,n){return n||(n=t),this.ace.session.replace(new r(t.line,t.ch,n.line,n.ch),e)},this.replaceSelections=function(e){var t=this.ace.selection;if(this.ace.inVirtualSelectionMode)this.ace.session.replace(t.getRange(),e[0]||"");else{t.inVirtualSelectionMode=!0;var n=t.rangeList.ranges;n.length||(n=[this.ace.multiSelect.getRange()]);for(var r=n.length;r--;)this.ace.session.replace(n[r],e[r]||"");t.inVirtualSelectionMode=!1}},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map(function(e){return this.getRange(e.anchor,e.head)},this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.containter};var t={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(e,n){switch(this.state[e]=n,e){case"indentWithTabs":e=t[e],n=!n;break;default:e=t[e]}e&&this.ace.setOption(e,n)},this.getOption=function(e,n){var r=t[e];switch(r&&(n=this.ace.getOption(r)),e){case"indentWithTabs":return e=t[e],!n}return r?n:this.state[e]},this.toggleOverwrite=function(e){return this.state.overwrite=e,this.ace.setOverwrite(e)},this.addOverlay=function(e){if(!this.$searchHighlight||!this.$searchHighlight.session){var t=new h(null,"ace_highlight-marker","text"),n=this.ace.session.addDynamicMarker(t);t.id=n.id,t.session=this.ace.session,t.destroy=function(e){t.session.off("change",t.updateOnChange),t.session.off("changeEditor",t.destroy),t.session.removeMarker(t.id),t.session=null},t.updateOnChange=function(e){var n=e.start.row;n==e.end.row?t.cache[n]=void 0:t.cache.splice(n,t.cache.length)},t.session.on("changeEditor",t.destroy),t.session.on("change",t.updateOnChange)}var r=new RegExp(e.query.source,"gmi");this.$searchHighlight=e.highlight=t,this.$searchHighlight.setRegexp(r),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(e){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var e=this.ace.renderer,t=e.layerConfig;return{left:e.scrollLeft,top:e.scrollTop,height:t.maxHeight,width:t.width,clientHeight:t.height,clientWidth:t.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(e){return this.ace.setValue(e)},this.getTokenTypeAt=function(e){var t=this.ace.session.getTokenAt(e.line,e.ch);return t&&/comment|string/.test(t.type)?"string":""},this.findMatchingBracket=function(e){var t=this.ace.session.findMatchingBracket(g(e));return{to:t&&m(t)}},this.indentLine=function(e,t){!0===t?this.ace.session.indentRows(e,e,"\t"):!1===t&&this.ace.session.outdentRows(new r(e,0,e,0))},this.indexFromPos=function(e){return this.ace.session.doc.positionToIndex(g(e))},this.posFromIndex=function(e){return m(this.ace.session.doc.indexToPosition(e))},this.focus=function(e){return this.ace.focus()},this.blur=function(e){return this.ace.blur()},this.defaultTextHeight=function(e){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(e,t,n,r){var i=r.bracketRegex.source;if(1==t)var o=this.ace.session.$findClosingBracket(i.slice(1,2),g(e),/paren|text/);else o=this.ace.session.$findOpeningBracket(i.slice(-2,-1),{row:e.line,column:e.ch+1},/paren|text/);return o&&{pos:m(o)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}}}.call(p.prototype),(p.StringStream=function(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0}).prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if("string"==typeof e)var n=t==e;else n=t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},eatWhile:function(e){for(var t=this.pos;this.eat(e););return this.pos>t},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(e,t,n){if("string"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}},p.defineExtension=function(e,t){p.prototype[e]=t},o.importCssString(".normal-mode .ace_cursor{ border: 1px solid red; background-color: red; opacity: 0.5;}.normal-mode .ace_hidden-cursors .ace_cursor{ background-color: transparent;}.ace_dialog { position: absolute; left: 0; right: 0; background: white; z-index: 15; padding: .1em .8em; overflow: hidden; color: #333;}.ace_dialog-top { border-bottom: 1px solid #eee; top: 0;}.ace_dialog-bottom { border-top: 1px solid #eee; bottom: 0;}.ace_dialog input { border: none; outline: none; background: transparent; width: 20em; color: inherit; font-family: monospace;}","vimMode"),function(){function e(e,t,n){var r;return(r=e.ace.container.appendChild(document.createElement("div"))).className=n?"ace_dialog ace_dialog-bottom":"ace_dialog ace_dialog-top","string"==typeof t?r.innerHTML=t:r.appendChild(t),r}function t(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}p.defineExtension("openDialog",function(n,r,i){if(!this.virtualSelectionMode()){i||(i={}),t(this,null);var o,s=e(this,n,i.bottom),a=!1,l=this,u=s.getElementsByTagName("input")[0];return u?(i.value&&(u.value=i.value,!1!==i.select&&u.select()),i.onInput&&p.on(u,"input",function(e){i.onInput(e,u.value,c)}),i.onKeyUp&&p.on(u,"keyup",function(e){i.onKeyUp(e,u.value,c)}),p.on(u,"keydown",function(e){i&&i.onKeyDown&&i.onKeyDown(e,u.value,c)||((27==e.keyCode||!1!==i.closeOnEnter&&13==e.keyCode)&&(u.blur(),p.e_stop(e),c()),13==e.keyCode&&r(u.value))}),!1!==i.closeOnBlur&&p.on(u,"blur",c),u.focus()):(o=s.getElementsByTagName("button")[0])&&(p.on(o,"click",function(){c(),l.focus()}),!1!==i.closeOnBlur&&p.on(o,"blur",c),o.focus()),c}function c(e){if("string"==typeof e)u.value=e;else{if(a)return;a=!0,s.parentNode.removeChild(s),l.focus(),i.onClose&&i.onClose(s)}}}),p.defineExtension("openNotification",function(n,r){if(!this.virtualSelectionMode()){t(this,l);var i,o=e(this,n,r&&r.bottom),s=!1,a=r&&void 0!==r.duration?r.duration:5e3;return p.on(o,"click",function(e){p.e_preventDefault(e),l()}),a&&(i=setTimeout(l,a)),l}function l(){s||(s=!0,clearTimeout(i),o.parentNode.removeChild(o))}})}();var v=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0}},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],y=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],b=p.Pos,w=function(){return J};function x(e,t){this==p.keyMap.vim&&p.rmClass(e.getWrapperElement(),"cm-fat-cursor"),t&&t.attach==C||function(e){e.setOption("disableInput",!1),e.off("cursorActivity",lt),p.off(e.getInputField(),"paste",_(e)),e.state.vim=null}(e)}function C(e,t){this==p.keyMap.vim&&p.addClass(e.getWrapperElement(),"cm-fat-cursor"),t&&t.attach==C||function(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),p.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",lt),X(e),p.on(e.getInputField(),"paste",_(e))}(e)}function k(e,t){if(t){var n=function(e){if("'"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&"Shift"==t[0]&&1==n.length)return!1;for(var r=!1,i=0;i<t.length;i++){var o=t[i];o in A?t[i]=A[o]:r=!0,o in E&&(t[i]=E[o])}if(!r)return!1;I(n)&&(t[t.length-1]=n.toLowerCase());return"<"+t.join("-")+">"}(e);if(!n)return!1;var r=p.Vim.findKey(t,n);return"function"==typeof r&&p.signal(t,"vim-keypress",n),r}}p.defineOption("vimMode",!1,function(e,t,n){t&&"vim"!=e.getOption("keyMap")?e.setOption("keyMap","vim"):!t&&n!=p.Init&&/^vim/.test(e.getOption("keyMap"))&&e.setOption("keyMap","default")});var A={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},E={Enter:"CR",Backspace:"BS",Delete:"Del"};function _(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(he(e.getCursor(),0,1)),le.enterInsertMode(e,{},t))}),t.onPasteFn}var S=/[\d]/,F=[p.isWordChar,function(e){return e&&!p.isWordChar(e)&&!/\s/.test(e)}],D=[function(e){return/\S/.test(e)}];function T(e,t){for(var n=[],r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}var B=T(65,26),L=T(97,26),M=T(48,10),O=[].concat(B,L,M,["<",">"]),P=[].concat(B,L,M,["-",'"',".",":","/"]);function R(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function j(e){return/^[a-z]$/.test(e)}function I(e){return/^[A-Z]$/.test(e)}function N(e){return/^\s*$/.test(e)}function $(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var W={};function H(e,t,n,r,i){if(void 0===t&&!i)throw Error("defaultValue is acequired unless callback is provided");if(n||(n="string"),W[e]={type:n,defaultValue:t,callback:i},r)for(var o=0;o<r.length;o++)W[r[o]]=W[e];t&&z(e,t)}function z(e,t,n,r){var i=W[e],o=(r=r||{}).scope;if(!i)throw Error("Unknown option: "+e);if("boolean"==i.type){if(t&&!0!==t)throw Error("Invalid argument: "+e+"="+t);!1!==t&&(t=!0)}i.callback?("local"!==o&&i.callback(t,void 0),"global"!==o&&n&&i.callback(t,n)):("local"!==o&&(i.value="boolean"==i.type?!!t:t),"global"!==o&&n&&(n.state.vim.options[e]={value:t}))}function U(e,t,n){var r=W[e],i=(n=n||{}).scope;if(!r)throw Error("Unknown option: "+e);if(r.callback){var o=t&&r.callback(void 0,t);return"global"!==i&&void 0!==o?o:"local"!==i?r.callback():void 0}return((o="global"!==i&&t&&t.state.vim.options[e])||"local"!==i&&r||{}).value}H("filetype",void 0,"string",["ft"],function(e,t){if(void 0!==t){if(void 0===e)return"null"==(n=t.getOption("mode"))?"":n;var n=""==e?"null":e;t.setOption("mode",n)}});var V,G,K=function(){var e=100,t=-1,n=0,r=0,i=new Array(e);return{cachedCursor:void 0,add:function(o,s,a){var l=i[t%e];function u(n){var r=++t%e,s=i[r];s&&s.clear(),i[r]=o.setBookmark(n)}if(l){var c=l.find();c&&!ge(c,s)&&u(s)}else u(s);u(a),n=t,(r=t-e+1)<0&&(r=0)},move:function(o,s){(t+=s)>n?t=n:t<r&&(t=r);var a=i[(e+t)%e];if(a&&!a.find()){var l,u=s>0?1:-1,c=o.getCursor();do{if((a=i[(e+(t+=u))%e])&&(l=a.find())&&!ge(c,l))break}while(t<n&&t>r)}return a}}},q=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function Y(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=q()}function X(e){return e.state.vim||(e.state.vim={inputState:new Q,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function Z(){for(var e in V={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:K(),macroModeState:new Y,lastChararacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new ne({}),searchHistoryController:new re({}),exCommandHistoryController:new re({})},W){var t=W[e];t.value=t.defaultValue}}Y.prototype={exitMacroRecordMode:function(){var e=V.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=V.registerController.getRegister(t);n&&(n.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog("(recording)["+t+"]",null,{bottom:!0})),this.isRecording=!0)}};var J={buildKeyMap:function(){},getRegisterController:function(){return V.registerController},resetVimGlobalState_:Z,getVimGlobalState_:function(){return V},maybeInitVimState_:X,suppressErrorLogging:!1,InsertModeKey:ct,map:function(e,t,n){rt.map(e,t,n)},unmap:function(e,t){rt.unmap(e,t)},setOption:z,getOption:U,defineOption:H,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered')}else t=e;nt[e]=n,rt.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if("function"==typeof r)return r()},findKey:function(e,t,n){var r,i=X(e);function o(){var r=V.macroModeState;if(r.isRecording){if("q"==t)return r.exitMacroRecordMode(),ee(e),!0;"mapping"!=n&&function(e,t){if(e.isPlaying)return;var n=e.latestRegister,r=V.registerController.getRegister(n);r&&r.pushText(t)}(r,t)}}function s(){if("<Esc>"==t)return ee(e),i.visualMode?Fe(e):i.insertMode&&it(e),!0}return!1===(r=i.insertMode?function(){if(s())return!0;for(var n=i.inputState.keyBuffer=i.inputState.keyBuffer+t,r=1==t.length,o=ie.matchCommand(n,v,i.inputState,"insert");n.length>1&&"full"!=o.type;){n=i.inputState.keyBuffer=n.slice(1);var a=ie.matchCommand(n,v,i.inputState,"insert");"none"!=a.type&&(o=a)}if("none"==o.type)return ee(e),!1;if("partial"==o.type)return G&&window.clearTimeout(G),G=window.setTimeout(function(){i.insertMode&&i.inputState.keyBuffer&&ee(e)},U("insertModeEscKeysTimeout")),!r;if(G&&window.clearTimeout(G),r){for(var l=e.listSelections(),u=0;u<l.length;u++){var c=l[u].head;e.replaceRange("",he(c,0,-(n.length-1)),c,"+input")}V.macroModeState.lastInsertModeChanges.changes.pop()}return ee(e),o.command}():function(){if(o()||s())return!0;var n=i.inputState.keyBuffer=i.inputState.keyBuffer+t;if(/^[1-9]\d*$/.test(n))return!0;if(!(r=/^(\d*)(.*)$/.exec(n)))return ee(e),!1;var r,a=i.visualMode?"visual":"normal",l=ie.matchCommand(r[2]||r[1],v,i.inputState,a);return"none"==l.type?(ee(e),!1):"partial"==l.type||(i.inputState.keyBuffer="",(r=/^(\d*)(.*)$/.exec(n))[1]&&"0"!=r[1]&&i.inputState.pushRepeatDigit(r[1]),l.command)}())?void 0:!0===r?function(){return!0}:function(){if(!r.operator&&!r.isEdit||!e.getOption("readOnly"))return e.operation(function(){e.curOp.isVimOp=!0;try{"keyToKey"==r.type?function(n){for(var r;n;)r=/<\w+-.+?>|<\w+>|./.exec(n),t=r[0],n=n.substring(r.index+t.length),p.Vim.handleKey(e,t,"mapping")}(r.toKeys):ie.processCommand(e,i,r)}catch(t){throw e.state.vim=void 0,X(e),p.Vim.suppressErrorLogging||console.log(t),t}return!0})}},handleEx:function(e,t){rt.processCommand(e,t)},defineMotion:function(e,t){oe[e]=t},defineAction:function(e,t){le[e]=t},defineOperator:function(e,t){ae[e]=t},mapCommand:function(e,t,n,r,i){var o={keys:e,type:t};for(var s in o[t]=n,o[t+"Args"]=r,i)o[s]=i[s];ot(o)},_mapCommand:ot,defineRegister:function(e,t){var n=V.registerController.registers[e];if(!e||1!=e.length)throw Error("Register name must be 1 character");n[e]=t,P.push(e)},exitVisualMode:Fe,exitInsertMode:it};function Q(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function ee(e,t){e.state.vim.inputState=new Q,p.signal(e,"vim-command-done",t)}function te(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function ne(e){this.registers=e,this.unnamedRegister=e['"']=new te,e["."]=new te,e[":"]=new te,e["/"]=new te}function re(){this.historyBuffer=[],this.iterator,this.initialPrefix=null}Q.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},Q.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10))),e},te.prototype={setText:function(e,t,n){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(q(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},ne.prototype={pushText:function(e,t,n,r,i){r&&"\n"==n.charAt(0)&&(n=n.slice(1)+"\n"),r&&"\n"!==n.charAt(n.length-1)&&(n+="\n");var o=this.isValidRegister(e)?this.getRegister(e):null;if(o){I(e)?o.pushText(n,r):o.setText(n,r,i),this.unnamedRegister.setText(o.toString(),r)}else{switch(t){case"yank":this.registers[0]=new te(n,r,i);break;case"delete":case"change":-1==n.indexOf("\n")?this.registers["-"]=new te(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new te(n,r))}this.unnamedRegister.setText(n,r,i)}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new te),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&$(e,P)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},re.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var i=this.iterator+r;t?i>=0:i<n.length;i+=r)for(var o=n[i],s=0;s<=o.length;s++)if(this.initialPrefix==o.substring(0,s))return this.iterator=i,o;return i>=n.length?(this.iterator=n.length,this.initialPrefix):i<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var ie={matchCommand:function(e,t,n,r){var i,o=function(e,t,n,r){for(var i,o=[],s=[],a=0;a<t.length;a++){var l=t[a];"insert"==n&&"insert"!=l.context||l.context&&l.context!=n||r.operator&&"action"==l.type||!(i=de(e,l.keys))||("partial"==i&&o.push(l),"full"==i&&s.push(l))}return{partial:o.length&&o,full:s.length&&s}}(e,t,r,n);if(!o.full&&!o.partial)return{type:"none"};if(!o.full&&o.partial)return{type:"partial"};for(var s=0;s<o.full.length;s++){var a=o.full[s];i||(i=a)}if("<character>"==i.keys.slice(-11)){var l=function(e){var t=/^.*(<[\w\-]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"<CR>":n="\n";break;case"<Space>":n=" "}return n}(e);if(/<C-.>/.test(l))return{type:"none"};n.selectedCharacter=l}return{type:"full",command:i}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=ce(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion="expandToLine",r.motionArgs={linewise:!0},void this.evalInput(e,t);ee(e)}r.operator=n.operator,r.operatorArgs=ce(n.operatorArgs),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,i=ce(n.operatorMotionArgs);i&&r&&i.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,i=r.getRepeat(),o=!!i,s=ce(n.actionArgs)||{};r.selectedCharacter&&(s.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),s.repeat=i||1,s.repeatIsExplicit=o,s.registerName=r.registerName,ee(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),le[n.action](e,s,t)},processSearch:function(e,t,n){if(e.getSearchCursor){var r=n.searchArgs.forward,i=n.searchArgs.wholeWordOnly;We(e).setReversed(!r);var o=r?"/":"?",s=We(e).getQuery(),a=e.getScrollInfo();switch(n.searchArgs.querySrc){case"prompt":var l=V.macroModeState;if(l.isPlaying)d(h=l.replaySearchQueries.shift(),!0,!1);else Ye(e,{onClose:function(t){e.scrollTo(a.left,a.top),d(t,!0,!0);var n=V.macroModeState;n.isRecording&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=V.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}(n,t)},prefix:o,desc:qe,onKeyUp:function(t,n,i){var o,s,l=p.keyName(t);"Up"==l||"Down"==l?(o="Up"==l,i(n=V.searchHistoryController.nextMatch(n,o)||"")):"Left"!=l&&"Right"!=l&&"Ctrl"!=l&&"Alt"!=l&&"Shift"!=l&&V.searchHistoryController.reset();try{s=Xe(e,n,!0,!0)}catch(t){}s?e.scrollIntoView(Je(e,!r,s),30):(Qe(e),e.scrollTo(a.left,a.top))},onKeyDown:function(t,n,r){var i=p.keyName(t);"Esc"==i||"Ctrl-C"==i||"Ctrl-["==i||"Backspace"==i&&""==n?(V.searchHistoryController.pushInput(n),V.searchHistoryController.reset(),Xe(e,s),Qe(e),e.scrollTo(a.left,a.top),p.e_stop(t),ee(e),r(),e.focus()):"Ctrl-U"==i&&(p.e_stop(t),r(""))}});break;case"wordUnderCursor":var u=Te(e,!1,!0,!1,!0),c=!0;if(u||(u=Te(e,!1,!0,!1,!1),c=!1),!u)return;var h=e.getLine(u.start.line).substring(u.start.ch,u.end.ch);h=c&&i?"\\b"+h+"\\b":h.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1"),V.jumpList.cachedCursor=e.getCursor(),e.setCursor(u.start),d(h,!0,!1)}}function d(r,i,o){V.searchHistoryController.pushInput(r),V.searchHistoryController.reset();try{Xe(e,r,i,o)}catch(t){return Ke(e,"Invalid regex: "+r),void ee(e)}ie.processMotion(e,t,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:n.searchArgs.toJumplist}})}},processEx:function(e,t,n){function r(t){V.exCommandHistoryController.pushInput(t),V.exCommandHistoryController.reset(),rt.processCommand(e,t)}function i(t,n,r){var i,o=p.keyName(t);("Esc"==o||"Ctrl-C"==o||"Ctrl-["==o||"Backspace"==o&&""==n)&&(V.exCommandHistoryController.pushInput(n),V.exCommandHistoryController.reset(),p.e_stop(t),ee(e),r(),e.focus()),"Up"==o||"Down"==o?(i="Up"==o,r(n=V.exCommandHistoryController.nextMatch(n,i)||"")):"Ctrl-U"==o?(p.e_stop(t),r("")):"Left"!=o&&"Right"!=o&&"Ctrl"!=o&&"Alt"!=o&&"Shift"!=o&&V.exCommandHistoryController.reset()}"keyToEx"==n.type?rt.processCommand(e,n.exArgs.input):t.visualMode?Ye(e,{onClose:r,prefix:":",value:"'<,'>",onKeyDown:i}):Ye(e,{onClose:r,prefix:":",onKeyDown:i})},evalInput:function(e,t){var n,r,i,o=t.inputState,s=o.motion,a=o.motionArgs||{},l=o.operator,u=o.operatorArgs||{},c=o.registerName,h=t.sel,d=pe(t.visualMode?ue(e,h.head):e.getCursor("head")),f=pe(t.visualMode?ue(e,h.anchor):e.getCursor("anchor")),p=pe(d),g=pe(f);if(l&&this.recordLastEdit(t,o),(i=void 0!==o.repeatOverride?o.repeatOverride:o.getRepeat())>0&&a.explicitRepeat?a.repeatIsExplicit=!0:(a.noRepeat||!a.explicitRepeat&&0===i)&&(i=1,a.repeatIsExplicit=!1),o.selectedCharacter&&(a.selectedCharacter=u.selectedCharacter=o.selectedCharacter),a.repeat=i,ee(e),s){var m=oe[s](e,d,a,t);if(t.lastMotion=oe[s],!m)return;if(a.toJumplist){l||null==e.ace.curOp||(e.ace.curOp.command.scrollIntoView="center-animate");var v=V.jumpList,y=v.cachedCursor;y?(Be(e,y,m),delete v.cachedCursor):Be(e,d,m)}m instanceof Array?(r=m[0],n=m[1]):n=m,n||(n=pe(d)),t.visualMode?(t.visualBlock&&n.ch===1/0||(n=ue(e,n,t.visualBlock)),r&&(r=ue(e,r,!0)),r=r||g,h.anchor=r,h.head=n,_e(e),je(e,t,"<",me(r,n)?r:n),je(e,t,">",me(r,n)?n:r)):l||(n=ue(e,n),e.setCursor(n.line,n.ch))}if(l){if(u.lastSel){r=g;var w=u.lastSel,x=Math.abs(w.head.line-w.anchor.line),C=Math.abs(w.head.ch-w.anchor.ch);n=w.visualLine?b(g.line+x,g.ch):w.visualBlock?b(g.line+x,g.ch+C):w.head.line==w.anchor.line?b(g.line,g.ch+C):b(g.line+x,g.ch),t.visualMode=!0,t.visualLine=w.visualLine,t.visualBlock=w.visualBlock,h=t.sel={anchor:r,head:n},_e(e)}else t.visualMode&&(u.lastSel={anchor:pe(h.anchor),head:pe(h.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var k,A,E,_,S;if(t.visualMode){if(k=ve(h.head,h.anchor),A=ye(h.head,h.anchor),E=t.visualLine||u.linewise,S=Se(e,{anchor:k,head:A},_=t.visualBlock?"block":E?"line":"char"),E){var F=S.ranges;if("block"==_)for(var D=0;D<F.length;D++)F[D].head.ch=we(e,F[D].head.line);else"line"==_&&(F[0].head=b(F[0].head.line+1,0))}}else{if(k=pe(r||g),me(A=pe(n||p),k)){var T=k;k=A,A=T}(E=a.linewise||u.linewise)?function(e,t,n){t.ch=0,n.ch=0,n.line++}(0,k,A):a.forward&&function(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var i=r.split("\n");i.pop();for(var o=i.pop();i.length>0&&o&&N(o);o=i.pop())n.line--,n.ch=0;o?(n.line--,n.ch=we(e,n.line)):n.ch=0}}(e,k,A),S=Se(e,{anchor:k,head:A},_="char",!a.inclusive||E)}e.setSelections(S.ranges,S.primary),t.lastMotion=null,u.repeat=i,u.registerName=c,u.linewise=E;var B=ae[l](e,u,S.ranges,g,n);t.visualMode&&Fe(e,null!=B),B&&e.setCursor(B)}},recordLastEdit:function(e,t,n){var r=V.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1)}},oe={moveToTopLine:function(e,t,n){var r=et(e).top+n.repeat-1;return b(r,De(e.getLine(r)))},moveToMiddleLine:function(e){var t=et(e),n=Math.floor(.5*(t.top+t.bottom));return b(n,De(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=et(e).bottom-n.repeat+1;return b(r,De(e.getLine(r)))},expandToLine:function(e,t,n){return b(t.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r=We(e),i=r.getQuery();if(i){var o=!n.forward;return o=r.isReversed()?!o:o,Ze(e,i),Je(e,o,i,n.repeat)}},goToMark:function(e,t,n,r){var i=r.marks[n.selectedCharacter];if(i){var o=i.find();return n.linewise?{line:o.line,ch:De(e.getLine(o.line))}:o}return null},moveToOtherHighlightedEnd:function(e,t,n,r){if(r.visualBlock&&n.sameLine){var i=r.sel;return[ue(e,b(i.anchor.line,i.head.ch)),ue(e,b(i.head.line,i.anchor.ch))]}return[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){for(var i=t,o=0;o<n.repeat;o++){var s=i;for(var a in r.marks)if(j(a)){var l=r.marks[a].find();if(!((n.forward?me(l,s):me(s,l))||n.linewise&&l.line==s.line)){var u=ge(s,i),c=n.forward?be(s,l,i):be(i,l,s);(u||c)&&(i=l)}}}return n.linewise&&(i=b(i.line,De(e.getLine(i.line)))),i},moveByCharacters:function(e,t,n){var r=t,i=n.repeat,o=n.forward?r.ch+i:r.ch-i;return b(r.line,o)},moveByLines:function(e,t,n,r){var i=t,o=i.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:o=r.lastHPos;break;default:r.lastHPos=o}var s=n.repeat+(n.repeatOffset||0),a=n.forward?i.line+s:i.line-s,l=e.firstLine(),u=e.lastLine();if(!(a<l&&i.line==l||a>u&&i.line==u)){var c=e.ace.session.getFoldLine(a);return c&&(n.forward?a>c.start.row&&(a=c.end.row+1):a=c.start.row),n.toFirstChar&&(o=De(e.getLine(a)),r.lastHPos=o),r.lastHSPos=e.charCoords(b(a,o),"div").left,b(a,o)}},moveByDisplayLines:function(e,t,n,r){var i=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(i,"div").left}var o=n.repeat;if((a=e.findPosV(i,n.forward?o:-o,"line",r.lastHSPos)).hitSide)if(n.forward)var s={top:e.charCoords(a,"div").top+8,left:r.lastHSPos},a=e.coordsChar(s,"div");else{var l=e.charCoords(b(e.firstLine(),0),"div");l.left=r.lastHSPos,a=e.coordsChar(l,"div")}return r.lastHPos=a.ch,a},moveByPage:function(e,t,n){var r=t,i=n.repeat;return e.findPosV(r,n.forward?i:-i,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return Ne(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var i=e.getScrollInfo(),o=null,s=n.repeat;s||(s=i.clientHeight/(2*e.defaultTextHeight()));var a=e.charCoords(t,"local");if(n.repeat=s,!(o=oe.moveByDisplayLines(e,t,n,r)))return null;var l=e.charCoords(o,"local");return e.scrollTo(null,i.top+l.top-a.top),o},moveByWords:function(e,t,n){return function(e,t,n,r,i,o){var s=pe(t),a=[];(r&&!i||!r&&i)&&n++;for(var l=!(r&&i),u=0;u<n;u++){var c=Pe(e,t,r,o,l);if(!c){var h=we(e,e.lastLine());a.push(r?{line:e.lastLine(),from:h,to:h}:{line:0,from:0,to:0});break}a.push(c),t=b(c.line,r?c.to-1:c.from)}var d=a.length!=n,f=a[0],p=a.pop();return r&&!i?(d||f.from==s.ch&&f.line==s.line||(p=a.pop()),b(p.line,p.from)):r&&i?b(p.line,p.to-1):!r&&i?(d||f.to==s.ch&&f.line==s.line||(p=a.pop()),b(p.line,p.to)):b(p.line,p.from)}(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=Re(e,n.repeat,n.forward,n.selectedCharacter),i=n.forward?-1:1;return Le(i,n),r?(r.ch+=i,r):null},moveToCharacter:function(e,t,n){var r=n.repeat;return Le(0,n),Re(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){return function(e,t,n,r){var i=pe(e.getCursor()),o=n?1:-1,s=n?e.lineCount():-1,a=i.ch,l=i.line,u=e.getLine(l),c={lineText:u,nextCh:u.charAt(a),lastCh:null,index:a,symb:r,reverseSymb:(n?{")":"(","}":"{"}:{"(":")","{":"}"})[r],forward:n,depth:0,curMoveThrough:!1},h=Me[r];if(!h)return i;var d=Oe[h].init,f=Oe[h].isComplete;d&&d(c);for(;l!==s&&t;){if(c.index+=o,c.nextCh=c.lineText.charAt(c.index),!c.nextCh){if(l+=o,c.lineText=e.getLine(l)||"",o>0)c.index=0;else{var p=c.lineText.length;c.index=p>0?p-1:0}c.nextCh=c.lineText.charAt(c.index)}f(c)&&(i.line=l,i.ch=c.index,t--)}if(c.nextCh||c.curMoveThrough)return b(l,c.index);return i}(e,n.repeat,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var i=n.repeat;return r.lastHPos=i-1,r.lastHSPos=e.charCoords(t,"div").left,function(e,t){var n=e.getCursor().line;return ue(e,b(n,t-1))}(e,i)},moveToEol:function(e,t,n,r){var i=t;r.lastHPos=1/0;var o=b(i.line+n.repeat-1,1/0),s=e.clipPos(o);return s.ch--,r.lastHSPos=e.charCoords(s,"div").left,o},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return b(n.line,De(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){var n,r=t,i=r.line,o=r.ch,s=e.getLine(i);do{if((n=s.charAt(o++))&&-1!="()[]{}".indexOf(n)){var a=e.getTokenTypeAt(b(i,o));if("string"!==a&&"comment"!==a)break}}while(n);return n?e.findMatchingBracket(b(i,o)).to:r},moveToStartOfLine:function(e,t){return b(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption("firstLineNumber")),b(r,De(e.getLine(r)))},textObjectManipulation:function(e,t,n,r){var i=n.selectedCharacter;"b"==i?i="(":"B"==i&&(i="{");var o,s=!n.textObjectInner;if({"(":")",")":"(","{":"}","}":"{","[":"]","]":"["}[i])o=function(e,t,n,r){var i,o,s=t,a={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/}[n],l={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{"}[n],u=e.getLine(s.line).charAt(s.ch)===l?1:0;if(i=e.scanForBracket(b(s.line,s.ch+u),-1,null,{bracketRegex:a}),o=e.scanForBracket(b(s.line,s.ch+u),1,null,{bracketRegex:a}),!i||!o)return{start:s,end:s};if(i=i.pos,o=o.pos,i.line==o.line&&i.ch>o.ch||i.line>o.line){var c=i;i=o,o=c}r?o.ch+=1:i.ch+=1;return{start:i,end:o}}(e,t,i,s);else if({"'":!0,'"':!0}[i])o=function(e,t,n,r){var i,o,s,a,l=pe(t),u=e.getLine(l.line).split(""),c=u.indexOf(n);l.ch<c?l.ch=c:c<l.ch&&u[l.ch]==n&&(o=l.ch,--l.ch);if(u[l.ch]!=n||o)for(s=l.ch;s>-1&&!i;s--)u[s]==n&&(i=s+1);else i=l.ch+1;if(i&&!o)for(s=i,a=u.length;s<a&&!o;s++)u[s]==n&&(o=s);if(!i||!o)return{start:l,end:l};r&&(--i,++o);return{start:b(l.line,i),end:b(l.line,o)}}(e,t,i,s);else if("W"===i)o=Te(e,s,!0,!0);else if("w"===i)o=Te(e,s,!0,!1);else{if("p"!==i)return null;if(o=Ne(e,t,n.repeat,0,s),n.linewise=!0,r.visualMode)r.visualLine||(r.visualLine=!0);else{var a=r.inputState.operatorArgs;a&&(a.linewise=!0),o.end.line--}}return e.state.vim.visualMode?function(e,t,n){var r,i=e.state.vim.sel,o=i.head,s=i.anchor;me(n,t)&&(r=n,n=t,t=r);me(o,s)?(o=ve(t,o),s=ye(s,n)):(s=ve(t,s),-1==(o=he(o=ye(o,n),0,-1)).ch&&o.line!=e.firstLine()&&(o=b(o.line-1,we(e,o.line-1))));return[s,o]}(e,o.start,o.end):[o.start,o.end]},repeatLastCharacterSearch:function(e,t,n){var r=V.lastChararacterSearch,i=n.repeat,o=n.forward===r.forward,s=(r.increment?1:0)*(o?-1:1);e.moveH(-s,"char"),n.inclusive=!!o;var a=Re(e,i,o,r.selectedCharacter);return a?(a.ch+=s,a):(e.moveH(s,"char"),t)}};function se(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var ae={change:function(e,t,n){var r,i,o=e.state.vim;if(V.macroModeState.lastInsertModeChanges.inVisualBlock=o.visualBlock,o.visualMode){i=e.getSelection();var s=se("",n.length);e.replaceSelections(s),r=ve(n[0].head,n[0].anchor)}else{var a=n[0].anchor,l=n[0].head;i=e.getRange(a,l);var u=o.lastEditInputState||{};if("moveByWords"==u.motion&&!N(i)){var c=/\s+$/.exec(i);c&&u.motionArgs&&u.motionArgs.forward&&(l=he(l,0,-c[0].length),i=i.slice(0,-c[0].length))}var h=new b(a.line-1,Number.MAX_VALUE),d=e.firstLine()==e.lastLine();l.line>e.lastLine()&&t.linewise&&!d?e.replaceRange("",h,l):e.replaceRange("",a,l),t.linewise&&(d||(e.setCursor(h),p.commands.newlineAndIndent(e)),a.ch=Number.MAX_VALUE),r=a}V.registerController.pushText(t.registerName,"change",i,t.linewise,n.length>1),le.enterInsertMode(e,{head:r},e.state.vim)},delete:function(e,t,n){var r,i,o=e.state.vim;if(o.visualBlock){i=e.getSelection();var s=se("",n.length);e.replaceSelections(s),r=n[0].anchor}else{var a=n[0].anchor,l=n[0].head;t.linewise&&l.line!=e.firstLine()&&a.line==e.lastLine()&&a.line==l.line-1&&(a.line==e.firstLine()?a.ch=0:a=b(a.line-1,we(e,a.line-1))),i=e.getRange(a,l),e.replaceRange("",a,l),r=a,t.linewise&&(r=oe.moveToFirstNonWhiteSpaceCharacter(e,a))}return V.registerController.pushText(t.registerName,"delete",i,t.linewise,o.visualBlock),ue(e,r)},indent:function(e,t,n){var r=e.state.vim,i=n[0].anchor.line,o=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line,s=r.visualMode?t.repeat:1;t.linewise&&o--;for(var a=i;a<=o;a++)for(var l=0;l<s;l++)e.indentLine(a,t.indentRight);return oe.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,i){for(var o=e.getSelections(),s=[],a=t.toLower,l=0;l<o.length;l++){var u=o[l],c="";if(!0===a)c=u.toLowerCase();else if(!1===a)c=u.toUpperCase();else for(var h=0;h<u.length;h++){var d=u.charAt(h);c+=I(d)?d.toLowerCase():d.toUpperCase()}s.push(c)}return e.replaceSelections(s),t.shouldMoveCursor?i:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?oe.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:ve(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var i=e.state.vim,o=e.getSelection(),s=i.visualMode?ve(i.sel.anchor,i.sel.head,n[0].head,n[0].anchor):r;return V.registerController.pushText(t.registerName,"yank",o,t.linewise,i.visualBlock),s}};var le={jumpListWalk:function(e,t,n){if(!n.visualMode){var r=t.repeat,i=t.forward,o=V.jumpList.move(e,i?r:-r),s=o?o.find():void 0;s=s||e.getCursor(),e.setCursor(s),e.ace.curOp.command.scrollIntoView="center-animate"}},scroll:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,i=e.defaultTextHeight(),o=e.getScrollInfo().top,s=i*r,a=t.forward?o+s:o-s,l=pe(e.getCursor()),u=e.charCoords(l,"local");if(t.forward)a>u.top?(l.line+=(a-u.top)/i,l.line=Math.ceil(l.line),e.setCursor(l),u=e.charCoords(l,"local"),e.scrollTo(null,u.top)):e.scrollTo(null,a);else{var c=a+e.getScrollInfo().clientHeight;c<u.bottom?(l.line-=(u.bottom-c)/i,l.line=Math.floor(l.line),e.setCursor(l),u=e.charCoords(l,"local"),e.scrollTo(null,u.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,a)}}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(b(n,0),"local"),i=e.getScrollInfo().clientHeight,o=r.top,s=r.bottom-o;switch(t.position){case"center":o=o-i/2+s;break;case"bottom":o=o-i+1.4*s;break;case"top":o+=.4*s}e.scrollTo(null,o)},replayMacro:function(e,t,n){var r=t.selectedCharacter,i=t.repeat,o=V.macroModeState;for("@"==r&&(r=o.latestRegister);i--;)st(e,n,o,r)},enterMacroRecordMode:function(e,t){var n=V.macroModeState,r=t.selectedCharacter;n.enterMacroRecordMode(e,r)},enterInsertMode:function(e,t,n){if(!e.getOption("readOnly")){n.insertMode=!0,n.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,i=n.sel,o=t.head||e.getCursor("head"),s=e.listSelections().length;if("eol"==r)o=b(o.line,we(e,o.line));else if("charAfter"==r)o=he(o,0,1);else if("firstNonBlank"==r)o=oe.moveToFirstNonWhiteSpaceCharacter(e,o);else if("startOfSelectedArea"==r)n.visualBlock?(o=b(Math.min(i.head.line,i.anchor.line),Math.min(i.head.ch,i.anchor.ch)),s=Math.abs(i.head.line-i.anchor.line)+1):o=i.head.line<i.anchor.line?i.head:b(i.anchor.line,0);else if("endOfSelectedArea"==r)n.visualBlock?(o=b(Math.min(i.head.line,i.anchor.line),Math.max(i.head.ch+1,i.anchor.ch)),s=Math.abs(i.head.line-i.anchor.line)+1):o=i.head.line>=i.anchor.line?he(i.head,0,1):b(i.anchor.line,0);else if("inplace"==r&&n.visualMode)return;e.setOption("keyMap","vim-insert"),e.setOption("disableInput",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),p.signal(e,"vim-mode-change",{mode:"replace"})):(e.setOption("keyMap","vim-insert"),p.signal(e,"vim-mode-change",{mode:"insert"})),V.macroModeState.isPlaying||(e.on("change",at),p.on(e.getInputField(),"keydown",ht)),n.visualMode&&Fe(e),Ae(e,o,s)}},toggleVisualMode:function(e,t,n){var r,i=t.repeat,o=e.getCursor();n.visualMode?n.visualLine^t.linewise||n.visualBlock^t.blockwise?(n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,p.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),_e(e)):Fe(e):(n.visualMode=!0,n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,r=ue(e,b(o.line,o.ch+i-1),!0),n.sel={anchor:o,head:r},p.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),_e(e),je(e,n,"<",ve(o,r)),je(e,n,">",ye(o,r)))},reselectLastSelection:function(e,t,n){var r=n.lastSelection;if(n.visualMode&&Ee(e,n),r){var i=r.anchorMark.find(),o=r.headMark.find();if(!i||!o)return;n.sel={anchor:i,head:o},n.visualMode=!0,n.visualLine=r.visualLine,n.visualBlock=r.visualBlock,_e(e),je(e,n,"<",ve(i,o)),je(e,n,">",ye(i,o)),p.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""})}},joinLines:function(e,t,n){var r,i;if(n.visualMode){if(r=e.getCursor("anchor"),me(i=e.getCursor("head"),r)){var o=i;i=r,r=o}i.ch=we(e,i.line)-1}else{var s=Math.max(t.repeat,2);r=e.getCursor(),i=ue(e,b(r.line+s-1,1/0))}for(var a=0,l=r.line;l<i.line;l++){a=we(e,r.line);o=b(r.line+1,we(e,r.line+1));var u=e.getRange(r,o);u=u.replace(/\n\s*/g," "),e.replaceRange(u,r,o)}var c=b(r.line,a);n.visualMode&&Fe(e,!1),e.setCursor(c)},newLineAndEnterInsertMode:function(e,t,n){n.insertMode=!0;var r=pe(e.getCursor());r.line!==e.firstLine()||t.after?(r.line=t.after?r.line:r.line-1,r.ch=we(e,r.line),e.setCursor(r),(p.commands.newlineAndIndentContinueComment||p.commands.newlineAndIndent)(e)):(e.replaceRange("\n",b(e.firstLine(),0)),e.setCursor(e.firstLine(),0));this.enterInsertMode(e,{repeat:t.repeat},n)},paste:function(e,t,n){var r=pe(e.getCursor()),i=V.registerController.getRegister(t.registerName);if(d=i.toString()){if(t.matchIndent){var o=e.getOption("tabSize"),s=function(e){var t=e.split("\t").length-1,n=e.split(" ").length-1;return t*o+1*n},a=e.getLine(e.getCursor().line),l=s(a.match(/^\s*/)[0]),u=d.replace(/\n$/,""),c=d!==u,h=s(d.match(/^\s*/)[0]),d=u.replace(/^\s*/gm,function(t){var n=l+(s(t)-h);if(n<0)return"";if(e.getOption("indentWithTabs")){var r=Math.floor(n/o);return Array(r+1).join("\t")}return Array(n+1).join(" ")});d+=c?"\n":""}if(t.repeat>1)d=Array(t.repeat+1).join(d);var f,p,g=i.linewise,m=i.blockwise;if(g&&!m)n.visualMode?d=n.visualLine?d.slice(0,-1):"\n"+d.slice(0,d.length-1)+"\n":t.after?(d="\n"+d.slice(0,d.length-1),r.ch=we(e,r.line)):r.ch=0;else{if(m){d=d.split("\n");for(var v=0;v<d.length;v++)d[v]=""==d[v]?" ":d[v]}r.ch+=t.after?1:0}if(n.visualMode){var y;n.lastPastedText=d;var w=function(e,t){var n=t.lastSelection;return t.visualMode?(r=e.listSelections(),i=r[0],o=r[r.length-1],s=me(i.anchor,i.head)?i.anchor:i.head,a=me(o.anchor,o.head)?o.head:o.anchor,[s,a]):function(){var t=e.getCursor(),r=e.getCursor(),i=n.visualBlock;if(i){var o=i.width,s=i.height;r=b(t.line+s,t.ch+o);for(var a=[],l=t.line;l<r.line;l++){var u=b(l,t.ch),c=b(l,r.ch),h={anchor:u,head:c};a.push(h)}e.setSelections(a)}else{var d=n.anchorMark.find(),f=n.headMark.find(),p=f.line-d.line,g=f.ch-d.ch;r={line:r.line+p,ch:p?r.ch:g+r.ch},n.visualLine&&(t=b(t.line,0),r=b(r.line,we(e,r.line))),e.setSelection(t,r)}return[t,r]}();var r,i,o,s,a}(e,n),x=w[0],C=w[1],k=e.getSelection(),A=e.listSelections(),E=new Array(A.length).join("1").split("1");n.lastSelection&&(y=n.lastSelection.headMark.find()),V.registerController.unnamedRegister.setText(k),m?(e.replaceSelections(E),C=b(x.line+d.length-1,x.ch),e.setCursor(x),ke(e,C),e.replaceSelections(d),f=x):n.visualBlock?(e.replaceSelections(E),e.setCursor(x),e.replaceRange(d,x,x),f=x):(e.replaceRange(d,x,C),f=e.posFromIndex(e.indexFromPos(x)+d.length-1)),y&&(n.lastSelection.headMark=e.setBookmark(y)),g&&(f.ch=0)}else if(m){e.setCursor(r);for(v=0;v<d.length;v++){var _=r.line+v;_>e.lastLine()&&e.replaceRange("\n",b(_,0)),we(e,_)<r.ch&&Ce(e,_,r.ch)}e.setCursor(r),ke(e,b(r.line+d.length-1,r.ch)),e.replaceSelections(d),f=r}else e.replaceRange(d,r),g&&t.after?f=b(r.line+1,De(e.getLine(r.line+1))):g&&!t.after?f=b(r.line,De(e.getLine(r.line))):!g&&t.after?(p=e.indexFromPos(r),f=e.posFromIndex(p+d.length-1)):(p=e.indexFromPos(r),f=e.posFromIndex(p+d.length));n.visualMode&&Fe(e,!1),e.setCursor(f)}},undo:function(e,t){e.operation(function(){fe(e,p.commands.undo,t.repeat)(),e.setCursor(e.getCursor("anchor"))})},redo:function(e,t){fe(e,p.commands.redo,t.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){je(e,n,t.selectedCharacter,e.getCursor())},replace:function(e,t,n){var r,i,o=t.selectedCharacter,s=e.getCursor(),a=e.listSelections();if(n.visualMode)s=e.getCursor("start"),i=e.getCursor("end");else{var l=e.getLine(s.line);(r=s.ch+t.repeat)>l.length&&(r=l.length),i=b(s.line,r)}if("\n"==o)n.visualMode||e.replaceRange("",s,i),(p.commands.newlineAndIndentContinueComment||p.commands.newlineAndIndent)(e);else{var u=e.getRange(s,i);if(u=u.replace(/[^\n]/g,o),n.visualBlock){var c=new Array(e.getOption("tabSize")+1).join(" ");u=(u=e.getSelection()).replace(/\t/g,c).replace(/[^\n]/g,o).split("\n"),e.replaceSelections(u)}else e.replaceRange(u,s,i);n.visualMode?(s=me(a[0].anchor,a[0].head)?a[0].anchor:a[0].head,e.setCursor(s),Fe(e,!1)):e.setCursor(he(i,0,-1))}},incrementNumberToken:function(e,t){for(var n,r,i,o,s,a=e.getCursor(),l=e.getLine(a.line),u=/-?\d+/g;null!==(n=u.exec(l))&&(s=n[0],i=(r=n.index)+s.length,!(a.ch<i)););if((t.backtrack||!(i<=a.ch))&&s){var c=t.increase?1:-1,h=parseInt(s)+c*t.repeat,d=b(a.line,r),f=b(a.line,i);o=h.toString(),e.replaceRange(o,d,f),e.setCursor(b(a.line,r+o.length-1))}},repeatLastEdit:function(e,t,n){if(n.lastEditInputState){var r=t.repeat;r&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=r:r=n.lastEditInputState.repeatOverride||r,dt(e,n,r,!1)}},exitInsertMode:it};function ue(e,t,n){var r=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),i=we(e,r)-1;i=n?i+1:i;var o=Math.min(Math.max(0,t.ch),i);return b(r,o)}function ce(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function he(e,t,n){return"object"==typeof t&&(n=t.ch,t=t.line),b(e.line+t,e.ch+n)}function de(e,t){if("<character>"==t.slice(-11)){var n=t.length-11,r=e.slice(0,n),i=t.slice(0,n);return r==i&&e.length>n?"full":0==i.indexOf(r)&&"partial"}return e==t?"full":0==t.indexOf(e)&&"partial"}function fe(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function pe(e){return b(e.line,e.ch)}function ge(e,t){return e.ch==t.ch&&e.line==t.line}function me(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function ve(e,t){return arguments.length>2&&(t=ve.apply(void 0,Array.prototype.slice.call(arguments,1))),me(e,t)?e:t}function ye(e,t){return arguments.length>2&&(t=ye.apply(void 0,Array.prototype.slice.call(arguments,1))),me(e,t)?t:e}function be(e,t,n){var r=me(e,t),i=me(t,n);return r&&i}function we(e,t){return e.getLine(t).length}function xe(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Ce(e,t,n){var r=we(e,t),i=new Array(n-r+1).join(" ");e.setCursor(b(t,r)),e.replaceRange(i,e.getCursor())}function ke(e,t){var n=[],r=e.listSelections(),i=pe(e.clipPos(t)),o=!ge(t,i),s=function(e,t,n){for(var r=0;r<e.length;r++){var i="head"!=n&&ge(e[r].anchor,t),o="anchor"!=n&&ge(e[r].head,t);if(i||o)return r}return-1}(r,e.getCursor("head")),a=ge(r[s].head,r[s].anchor),l=r.length-1,u=l-s>s?l:0,c=r[u].anchor,h=Math.min(c.line,i.line),d=Math.max(c.line,i.line),f=c.ch,p=i.ch,g=r[u].head.ch-f,m=p-f;g>0&&m<=0?(f++,o||p--):g<0&&m>=0?(f--,a||p++):g<0&&-1==m&&(f--,p++);for(var v=h;v<=d;v++){var y={anchor:new b(v,f),head:new b(v,p)};n.push(y)}return s=i.line==d?n.length-1:0,e.setSelections(n),t.ch=p,c.ch=f,c}function Ae(e,t,n){for(var r=[],i=0;i<n;i++){var o=he(t,i,0);r.push({anchor:o,head:o})}e.setSelections(r,0)}function Ee(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:pe(n),head:pe(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function _e(e,t,n){var r=e.state.vim,i=Se(e,t=t||r.sel,n=n||r.visualLine?"line":r.visualBlock?"block":"char");e.setSelections(i.ranges,i.primary),ut(e)}function Se(e,t,n,r){var i=pe(t.head),o=pe(t.anchor);if("char"==n){var s=r||me(t.head,t.anchor)?0:1,a=me(t.head,t.anchor)?1:0;return i=he(t.head,0,s),{ranges:[{anchor:o=he(t.anchor,0,a),head:i}],primary:0}}if("line"==n){if(me(t.head,t.anchor))i.ch=0,o.ch=we(e,o.line);else{o.ch=0;var l=e.lastLine();i.line>l&&(i.line=l),i.ch=we(e,i.line)}return{ranges:[{anchor:o,head:i}],primary:0}}if("block"==n){for(var u=Math.min(o.line,i.line),c=Math.min(o.ch,i.ch),h=Math.max(o.line,i.line),d=Math.max(o.ch,i.ch)+1,f=h-u+1,p=i.line==u?0:f-1,g=[],m=0;m<f;m++)g.push({anchor:b(u+m,c),head:b(u+m,d)});return{ranges:g,primary:p}}}function Fe(e,t){var n=e.state.vim;!1!==t&&e.setCursor(ue(e,n.sel.head)),Ee(e,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,p.signal(e,"vim-mode-change",{mode:"normal"}),n.fakeCursor&&n.fakeCursor.clear()}function De(e){if(!e)return 0;var t=e.search(/\S/);return-1==t?e.length:t}function Te(e,t,n,r,i){for(var o=function(e){var t=e.getCursor("head");return 1==e.getSelection().length&&(t=ve(t,e.getCursor("anchor"))),t}(e),s=e.getLine(o.line),a=o.ch,l=i?F[0]:D[0];!l(s.charAt(a));)if(++a>=s.length)return null;r?l=D[0]:(l=F[0])(s.charAt(a))||(l=F[1]);for(var u=a,c=a;l(s.charAt(u))&&u<s.length;)u++;for(;l(s.charAt(c))&&c>=0;)c--;if(c++,t){for(var h=u;/\s/.test(s.charAt(u))&&u<s.length;)u++;if(h==u){for(var d=c;/\s/.test(s.charAt(c-1))&&c>0;)c--;c||(c=d)}}return{start:b(o.line,c),end:b(o.line,u)}}function Be(e,t,n){ge(t,n)||V.jumpList.add(e,t,n)}function Le(e,t){V.lastChararacterSearch.increment=e,V.lastChararacterSearch.forward=t.forward,V.lastChararacterSearch.selectedCharacter=t.selectedCharacter}var Me={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Oe={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t="*"===e.lastCh&&"/"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb="m"===e.symb?"{":"}",e.reverseSymb="{"===e.symb?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if("#"===e.nextCh){var t=e.lineText.match(/#(\w+)/)[1];if("endif"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if("if"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if("else"===t&&0===e.depth)return!0}return!1}}};function Pe(e,t,n,r,i){var o=t.line,s=t.ch,a=e.getLine(o),l=n?1:-1,u=r?D:F;if(i&&""==a){if(o+=l,a=e.getLine(o),!R(e,o))return null;s=n?0:a.length}for(;;){if(i&&""==a)return{from:0,to:0,line:o};for(var c=l>0?a.length:-1,h=c,d=c;s!=c;){for(var f=!1,p=0;p<u.length&&!f;++p)if(u[p](a.charAt(s))){for(h=s;s!=c&&u[p](a.charAt(s));)s+=l;if(f=h!=(d=s),h==t.ch&&o==t.line&&d==h+l)continue;return{from:Math.min(h,d+1),to:Math.max(h,d),line:o}}f||(s+=l)}if(!R(e,o+=l))return null;a=e.getLine(o),s=l>0?0:a.length}throw new Error("The impossible happened.")}function Re(e,t,n,r){for(var i,o=e.getCursor(),s=o.ch,a=0;a<t;a++){if(-1==(i=Ie(s,e.getLine(o.line),r,n,!0)))return null;s=i}return b(e.getCursor().line,i)}function je(e,t,n,r){$(n,O)&&(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function Ie(e,t,n,r,i){var o;return r?-1==(o=t.indexOf(n,e+1))||i||(o-=1):-1==(o=t.lastIndexOf(n,e-1))||i||(o+=1),o}function Ne(e,t,n,r,i){var o,s=t.line,a=e.firstLine(),l=e.lastLine(),u=s;function c(t){return!/\S/.test(e.getLine(t))}function h(e,t,n){return n?c(e)!=c(e+t):!c(e)&&c(e+t)}function d(t){r=r>0?1:-1;var n=e.ace.session.getFoldLine(t);n&&t+r>n.start.row&&t+r<n.end.row&&(r=(r>0?n.end.row:n.start.row)-t)}if(r){for(;a<=u&&u<=l&&n>0;)d(u),h(u,r)&&n--,u+=r;return new b(u,0)}var f=e.state.vim;if(f.visualLine&&h(s,1,!0)){var p=f.sel.anchor;h(p.line,-1,!0)&&(i&&p.line==s||(s+=1))}var g=c(s);for(u=s;u<=l&&n;u++)h(u,1,!0)&&(i&&c(u)==g||n--);for(o=new b(u,0),u>l&&!g?g=!0:i=!1,u=s;u>a&&(i&&c(u)!=g&&u!=s||!h(u,-1,!0));u--);return{start:new b(u,0),end:o}}function $e(){}function We(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new $e)}function He(e,t,n,r,i){e.openDialog?e.openDialog(t,r,{bottom:!0,value:i.value,onKeyDown:i.onKeyDown,onKeyUp:i.onKeyUp,selectValueOnOpen:!1}):r(prompt(n,""))}function ze(e){var t=Ue(e)||[];if(!t.length)return[];var n=[];if(0===t[0]){for(var r=0;r<t.length;r++)"number"==typeof t[r]&&n.push(e.substring(t[r]+1,t[r+1]));return n}}function Ue(e){for(var t=!1,n=[],r=0;r<e.length;r++){var i=e.charAt(r);t||"/"!=i||n.push(r),t=!t&&"\\"==i}return n}H("pcre",!0,"boolean"),$e.prototype={getQuery:function(){return V.query},setQuery:function(e){V.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return V.isReversed},setReversed:function(e){V.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Ve={"\\n":"\n","\\r":"\r","\\t":"\t"};var Ge={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t"};function Ke(e,t){e.openNotification?e.openNotification('<span style="color: red">'+t+"</span>",{bottom:!0,duration:5e3}):alert(t)}var qe="(Javascript regexp)";function Ye(e,t){var n,r,i,o=(t.prefix||"")+" "+(t.desc||"");He(e,(n=t.prefix,r=t.desc,i="",n&&(i+='<span style="font-family: monospace">'+n+"</span>"),i+='<input type="text"/> <span style="color: #888">',r&&(i+='<span style="color: #888">',i+=r,i+="</span>"),i),o,t.onClose,t)}function Xe(e,t,n,r){if(t){var i=We(e),o=function(e,t,n){if(V.registerController.getRegister("/").setText(e),e instanceof RegExp)return e;var r,i,o=Ue(e);return o.length?(r=e.substring(0,o[0]),i=-1!=e.substring(o[0]).indexOf("i")):r=e,r?(U("pcre")||(r=function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var i=e.charAt(r)||"",o=e.charAt(r+1)||"",s=o&&-1!="|(){".indexOf(o);t?("\\"===i&&s||n.push(i),t=!1):"\\"===i?(t=!0,o&&-1!="}".indexOf(o)&&(s=!0),s&&"\\"!==o||n.push(i)):(n.push(i),s&&"\\"!==o&&n.push("\\"))}return n.join("")}(r)),n&&(t=/^[^A-Z]*$/.test(r)),new RegExp(r,t||i?"i":void 0)):null}(t,!!n,!!r);if(o)return Ze(e,o),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var n=["global","multiline","ignoreCase","source"],r=0;r<n.length;r++){var i=n[r];if(e[i]!==t[i])return!1}return!0}return!1}(o,i.getQuery())?o:(i.setQuery(o),o)}}function Ze(e,t){var n=We(e),r=n.getOverlay();r&&t==r.query||(r&&e.removeOverlay(r),r=function(e){if("^"==e.source.charAt(0))var t=!0;return{token:function(n){if(!t||n.sol()){var r=n.match(e,!1);if(r)return 0==r[0].length?(n.next(),"searching"):n.sol()||(n.backUp(1),e.exec(n.next()+r[0]))?(n.match(e),"searching"):(n.next(),null);for(;!n.eol()&&(n.next(),!n.match(e,!1)););}else n.skipToEnd()},query:e}}(t),e.addOverlay(r),e.showMatchesOnScrollbar&&(n.getScrollbarAnnotate()&&n.getScrollbarAnnotate().clear(),n.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),n.setOverlay(r))}function Je(e,t,n,r){return void 0===r&&(r=1),e.operation(function(){for(var i=e.getCursor(),o=e.getSearchCursor(n,i),s=0;s<r;s++){var a=o.find(t);if(0==s&&a&&ge(o.from(),i)&&(a=o.find(t)),!a&&!(o=e.getSearchCursor(n,t?b(e.lastLine()):b(e.firstLine(),0))).find(t))return}return o.from()})}function Qe(e){var t=We(e);e.removeOverlay(We(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function et(e){var t=e.ace.renderer;return{top:t.getFirstFullyVisibleRow(),bottom:t.getLastFullyVisibleRow()}}var tt=function(){this.buildCommandMap_()};tt.prototype={processCommand:function(e,t,n){var r=this;e.operation(function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)})},_processCommand:function(e,t,n){var r=e.state.vim,i=V.registerController.getRegister(":"),o=i.toString();r.visualMode&&Fe(e);var s=new p.StringStream(t);i.setText(t);var a,l,u=n||{};u.input=t;try{this.parseInput_(e,s,u)}catch(t){throw Ke(e,t),t}if(u.commandName){if(a=this.matchCommand_(u.commandName)){if(l=a.name,a.excludeFromCommandHistory&&i.setText(o),this.parseCommandArgs_(s,u,a),"exToKey"==a.type){for(var c=0;c<a.toKeys.length;c++)p.Vim.handleKey(e,a.toKeys[c],"mapping");return}if("exToEx"==a.type)return void this.processCommand(e,a.toInput)}}else void 0!==u.line&&(l="move");if(l)try{nt[l](e,u),a&&a.possiblyAsync||!u.callback||u.callback()}catch(t){throw Ke(e,t),t}else Ke(e,'Not an editor command ":'+t+'"')},parseInput_:function(e,t,n){t.eatWhile(":"),t.eat("%")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),void 0!==n.line&&t.eat(",")&&(n.lineEnd=this.parseLineSpec_(e,t)));var r=t.match(/^(\w+)/);return n.commandName=r?r[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case".":return e.getCursor().line;case"$":return e.lastLine();case"'":var r=e.state.vim.marks[t.next()];if(r&&r.find())return r.find().line;throw new Error("Mark not set");default:return void t.backUp(1)}},parseCommandArgs_:function(e,t,n){if(!e.eol()){t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\s+/,i=xe(t.argString).split(r);i.length&&i[0]&&(t.args=i)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(0===r.name.indexOf(e))return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<y.length;e++){var t=y[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,t,n){if(":"!=e&&":"==e.charAt(0)){if(n)throw Error("Mode not supported for ex mappings");var r=e.substring(1);":"!=t&&":"==t.charAt(0)?this.commandMap_[r]={name:r,type:"exToEx",toInput:t.substring(1),user:!0}:this.commandMap_[r]={name:r,type:"exToKey",toKeys:t,user:!0}}else if(":"!=t&&":"==t.charAt(0)){var i={keys:e,type:"keyToEx",exArgs:{input:t.substring(1)},user:!0};n&&(i.context=n),v.unshift(i)}else{i={keys:e,type:"keyToKey",toKeys:t,user:!0};n&&(i.context=n),v.unshift(i)}},unmap:function(e,t){if(":"!=e&&":"==e.charAt(0)){if(t)throw Error("Mode not supported for ex mappings");var n=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user)return void delete this.commandMap_[n]}else for(var r=e,i=0;i<v.length;i++)if(r==v[i].keys&&v[i].context===t&&v[i].user)return void v.splice(i,1)}};var nt={colorscheme:function(e,t){!t.args||t.args.length<1?Ke(e,e.getOption("theme")):e.setOption("theme",t.args[0])},map:function(e,t,n){var r=t.args;!r||r.length<2?e&&Ke(e,"Invalid mapping: "+t.input):rt.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},unmap:function(e,t,n){var r=t.args;!r||r.length<1?e&&Ke(e,"No such mapping: "+t.input):rt.unmap(r[0],n)},move:function(e,t){ie.processCommand(e,e.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1)e&&Ke(e,"Invalid mapping: "+t.input);else{var i=n[0].split("="),o=i[0],s=i[1],a=!1;if("?"==o.charAt(o.length-1)){if(s)throw Error("Trailing characters: "+t.argString);o=o.substring(0,o.length-1),a=!0}void 0===s&&"no"==o.substring(0,2)&&(o=o.substring(2),s=!1);var l=W[o]&&"boolean"==W[o].type;if(l&&void 0==s&&(s=!0),!l&&void 0===s||a){var u=U(o,e,r);Ke(e,!0===u||!1===u?" "+(u?"":"no")+o:" "+o+"="+u)}else z(o,s,e,r)}},setlocal:function(e,t){t.setCfg={scope:"local"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:"global"},this.set(e,t)},registers:function(e,t){var n=t.args,r=V.registerController.registers,i="----------Registers----------<br><br>";if(n){n=n.join("");for(var o=0;o<n.length;o++){if(s=n.charAt(o),V.registerController.isValidRegister(s))i+='"'+s+" "+(r[s]||new te).toString()+"<br>"}}else for(var s in r){var a=r[s].toString();a.length&&(i+='"'+s+" "+a+"<br>")}Ke(e,i)},sort:function(e,t){var n,r,i,o;var s=function(){if(t.argString){var e=new p.StringStream(t.argString);if(e.eat("!")&&(n=!0),e.eol())return;if(!e.eatSpace())return"Invalid arguments";var s=e.match(/[a-z]+/);if(s){s=s[0],r=-1!=s.indexOf("i"),i=-1!=s.indexOf("u");var a=-1!=s.indexOf("d")&&1,l=-1!=s.indexOf("x")&&1,u=-1!=s.indexOf("o")&&1;if(a+l+u>1)return"Invalid arguments";o=(a?"decimal":l&&"hex")||u&&"octal"}if(e.match(/\/.*\//))return"patterns not supported"}}();if(s)Ke(e,s+": "+t.argString);else{var a=t.line||e.firstLine(),l=t.lineEnd||t.line||e.lastLine();if(a!=l){var u=b(a,0),c=b(l,we(e,l)),h=e.getRange(u,c).split("\n"),d="decimal"==o?/(-?)([\d]+)/:"hex"==o?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==o?/([0-7]+)/:null,f="decimal"==o?10:"hex"==o?16:"octal"==o?8:null,g=[],m=[];if(o)for(var v=0;v<h.length;v++)d.exec(h[v])?g.push(h[v]):m.push(h[v]);else m=h;if(g.sort(x),m.sort(x),h=n?g.concat(m):m.concat(g),i){var y,w=h;h=[];for(v=0;v<w.length;v++)w[v]!=y&&h.push(w[v]),y=w[v]}e.replaceRange(h.join("\n"),u,c)}}function x(e,t){var i;n&&(i=e,e=t,t=i);r&&(e=e.toLowerCase(),t=t.toLowerCase());var s=o&&d.exec(e),a=o&&d.exec(t);return s?(s=parseInt((s[1]+s[2]).toLowerCase(),f))-(a=parseInt((a[1]+a[2]).toLowerCase(),f)):e<t?-1:1}},global:function(e,t){var n=t.argString;if(n){var r,i=void 0!==t.line?t.line:e.firstLine(),o=t.lineEnd||t.line||e.lastLine(),s=ze(n),a=n;if(s.length&&(a=s[0],r=s.slice(1,s.length).join("/")),a)try{Xe(e,a,!0,!0)}catch(t){return void Ke(e,"Invalid regex: "+a)}for(var l=We(e).getQuery(),u=[],c="",h=i;h<=o;h++){l.test(e.getLine(h))&&(u.push(h+1),c+=e.getLine(h)+"<br>")}if(r){var d=0,f=function(){if(d<u.length){var t=u[d]+r;rt.processCommand(e,t,{callback:f})}d++};f()}else Ke(e,c)}else Ke(e,"Regular Expression missing from global")},substitute:function(e,t){if(!e.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var n,r,i,o,s=t.argString,a=s?ze(s):[],l="",u=!1,c=!1;if(a.length)n=a[0],void 0!==(l=a[1])&&(l=U("pcre")?function(e){for(var t=new p.StringStream(e),n=[];!t.eol();){for(;t.peek()&&"\\"!=t.peek();)n.push(t.next());var r=!1;for(var i in Ge)if(t.match(i,!0)){r=!0,n.push(Ge[i]);break}r||n.push(t.next())}return n.join("")}(l):function(e){for(var t,n=!1,r=[],i=-1;i<e.length;i++){var o=e.charAt(i)||"",s=e.charAt(i+1)||"";Ve[o+s]?(r.push(Ve[o+s]),i++):n?(r.push(o),n=!1):"\\"===o?(n=!0,t=s,S.test(t)||"$"===s?r.push("$"):"/"!==s&&"\\"!==s&&r.push("\\")):("$"===o&&r.push("$"),r.push(o),"/"===s&&r.push("\\"))}return r.join("")}(l),V.lastSubstituteReplacePart=l),r=a[2]?a[2].split(" "):[];else if(s&&s.length)return void Ke(e,"Substitutions should be of the form :s/pattern/replace/");if(r&&(i=r[0],o=parseInt(r[1]),i&&(-1!=i.indexOf("c")&&(u=!0,i.replace("c","")),-1!=i.indexOf("g")&&(c=!0,i.replace("g","")),n=n+"/"+i)),n)try{Xe(e,n,!0,!0)}catch(t){return void Ke(e,"Invalid regex: "+n)}if(void 0!==(l=l||V.lastSubstituteReplacePart)){var h=We(e).getQuery(),d=void 0!==t.line?t.line:e.getCursor().line,f=t.lineEnd||d;d==e.firstLine()&&f==e.lastLine()&&(f=1/0),o&&(f=(d=f)+o-1);var g=ue(e,b(d,0));!function(e,t,n,r,i,o,s,a,l){e.state.vim.exMode=!0;var u=!1,c=o.from();function h(){e.operation(function(){for(;!u;)d(),f();g()})}function d(){var t=e.getRange(o.from(),o.to()),n=t.replace(s,a);o.replace(n)}function f(){for(;o.findNext()&&(t=o.from(),s=r,a=i,"number"!=typeof t&&(t=t.line),s instanceof Array?$(t,s):a?t>=s&&t<=a:t==s);)if(n||!c||o.from().line!=c.line)return e.scrollIntoView(o.from(),30),e.setSelection(o.from(),o.to()),c=o.from(),void(u=!1);var t,s,a;u=!0}function g(t){if(t&&t(),e.focus(),c){e.setCursor(c);var n=e.state.vim;n.exMode=!1,n.lastHPos=n.lastHSPos=c.ch}l&&l()}if(f(),u)return void Ke(e,"No matches for "+s.source);if(!t)return h(),void(l&&l());Ye(e,{prefix:"replace with <strong>"+a+"</strong> (y/n/a/q/l)",onKeyDown:function(t,n,r){switch(p.e_stop(t),p.keyName(t)){case"Y":d(),f();break;case"N":f();break;case"A":var i=l;l=void 0,e.operation(h),l=i;break;case"L":d();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":g(r)}u&&g(r);return!0}})}(e,u,c,d,f,e.getSearchCursor(h,g),h,l,t.callback)}else Ke(e,"No previous substitute regular expression")},redo:p.commands.redo,undo:p.commands.undo,write:function(e){p.commands.save?p.commands.save(e):e.save()},nohlsearch:function(e){Qe(e)},delmarks:function(e,t){if(t.argString&&xe(t.argString))for(var n=e.state.vim,r=new p.StringStream(xe(t.argString));!r.eol();){r.eatSpace();var i=r.pos;if(!r.match(/[a-zA-Z]/,!1))return void Ke(e,"Invalid argument: "+t.argString.substring(i));var o=r.next();if(r.match("-",!0)){if(!r.match(/[a-zA-Z]/,!1))return void Ke(e,"Invalid argument: "+t.argString.substring(i));var s=o,a=r.next();if(!(j(s)&&j(a)||I(s)&&I(a)))return void Ke(e,"Invalid argument: "+s+"-");var l=s.charCodeAt(0),u=a.charCodeAt(0);if(l>=u)return void Ke(e,"Invalid argument: "+t.argString.substring(i));for(var c=0;c<=u-l;c++){var h=String.fromCharCode(l+c);delete n.marks[h]}}else delete n.marks[o]}else Ke(e,"Argument acequired")}},rt=new tt;function it(e){var t=e.state.vim,n=V.macroModeState,r=V.registerController.getRegister("."),i=n.isPlaying,o=n.lastInsertModeChanges,s=[];if(!i){for(var a=o.inVisualBlock?t.lastSelection.visualBlock.height:1,l=o.changes,u=(s=[],0);u<l.length;)s.push(l[u]),l[u]instanceof ct?u++:u+=a;o.changes=s,e.off("change",at),p.off(e.getInputField(),"keydown",ht)}!i&&t.insertModeRepeat>1&&(dt(e,t,t.insertModeRepeat-1,!0),t.lastEditInputState.repeatOverride=t.insertModeRepeat),delete t.insertModeRepeat,t.insertMode=!1,e.setCursor(e.getCursor().line,e.getCursor().ch-1),e.setOption("keyMap","vim"),e.setOption("disableInput",!0),o.overwrite=e.state.overwrite,e.toggleOverwrite(!1),r.setText(o.changes.join("")),p.signal(e,"vim-mode-change",{mode:"normal"}),n.isRecording&&function(e){if(e.isPlaying)return;var t=e.latestRegister,n=V.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}(n)}function ot(e){v.unshift(e)}function st(e,t,n,r){var i=V.registerController.getRegister(r);if(":"==r)return i.keyBuffer[0]&&rt.processCommand(e,i.keyBuffer[0]),void(n.isPlaying=!1);var o=i.keyBuffer,s=0;n.isPlaying=!0,n.replaySearchQueries=i.searchQueries.slice(0);for(var a=0;a<o.length;a++)for(var l,u,c=o[a];c;)if(u=(l=/<\w+-.+?>|<\w+>|./.exec(c))[0],c=c.substring(l.index+u.length),p.Vim.handleKey(e,u,"macro"),t.insertMode){var h=i.insertModeChanges[s++].changes;V.macroModeState.lastInsertModeChanges.changes=h,ft(e,h,1),it(e)}n.isPlaying=!1}function at(e,t){var n=V.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(;t;){if(r.expectCursorActivityForChange=!0,"+input"==t.origin||"paste"==t.origin||void 0===t.origin){var i=t.text.join("\n");r.maybeReset&&(r.changes=[],r.maybeReset=!1),r.changes.push(i)}t=t.next}}function lt(e){var t=e.state.vim;if(t.insertMode){var n=V.macroModeState;if(n.isPlaying)return;var r=n.lastInsertModeChanges;r.expectCursorActivityForChange?r.expectCursorActivityForChange=!1:r.maybeReset=!0}else e.curOp.isVimOp||function(e,t){var n=e.getCursor("anchor"),r=e.getCursor("head");t.visualMode&&!e.somethingSelected()?Fe(e,!1):t.visualMode||t.insertMode||!e.somethingSelected()||(t.visualMode=!0,t.visualLine=!1,p.signal(e,"vim-mode-change",{mode:"visual"}));if(t.visualMode){var i=me(r,n)?0:-1,o=me(r,n)?-1:0;r=he(r,0,i),n=he(n,0,o),t.sel={anchor:n,head:r},je(e,t,"<",ve(r,n)),je(e,t,">",ye(r,n))}else t.insertMode||(t.lastHPos=e.getCursor().ch)}(e,t);t.visualMode&&ut(e)}function ut(e){var t=e.state.vim,n=ue(e,pe(t.sel.head)),r=he(n,0,1);t.fakeCursor&&t.fakeCursor.clear(),t.fakeCursor=e.markText(n,r,{className:"cm-animate-fat-cursor"})}function ct(e){this.keyName=e}function ht(e){var t=V.macroModeState.lastInsertModeChanges,n=p.keyName(e);n&&(-1==n.indexOf("Delete")&&-1==n.indexOf("Backspace")||p.lookupKey(n,"vim-insert",function(){return t.maybeReset&&(t.changes=[],t.maybeReset=!1),t.changes.push(new ct(n)),!0}))}function dt(e,t,n,r){var i=V.macroModeState;i.isPlaying=!0;var o=!!t.lastEditActionCommand,s=t.inputState;function a(){o?ie.processAction(e,t,t.lastEditActionCommand):ie.evalInput(e,t)}function l(n){if(i.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=i.lastInsertModeChanges;ft(e,r.changes,n,r.overwrite)}}if(t.inputState=t.lastEditInputState,o&&t.lastEditActionCommand.interlaceInsertRepeat)for(var u=0;u<n;u++)a(),l(1);else r||a(),l(n);t.inputState=s,t.insertMode&&!r&&it(e),i.isPlaying=!1}function ft(e,t,n,r){function i(t){return"string"==typeof t?p.commands[t](e):t(e),!0}var o=e.getCursor("head"),s=V.macroModeState.lastInsertModeChanges.inVisualBlock;if(s){var a=e.state.vim.lastSelection,l=function(e,t){return{line:t.line-e.line,ch:t.line-e.line}}(a.anchor,a.head);Ae(e,o,l.line+1),n=e.listSelections().length,e.setCursor(o)}for(var u=0;u<n;u++){s&&e.setCursor(he(o,u,0));for(var c=0;c<t.length;c++){var h=t[c];if(h instanceof ct)p.lookupKey(h.keyName,"vim-insert",i);else{var d=e.getCursor(),f=d;r&&!/\n/.test(h)&&(f=he(d,0,h.length)),e.replaceRange(h,d,f)}}}s&&e.setCursor(he(o,0,1))}p.keyMap.vim={attach:C,detach:x,call:k},H("insertModeEscKeysTimeout",200,"number"),p.keyMap["vim-insert"]={"Ctrl-N":"autocomplete","Ctrl-P":"autocomplete",Enter:function(e){(p.commands.newlineAndIndentContinueComment||p.commands.newlineAndIndent)(e)},fallthrough:["default"],attach:C,detach:x,call:k},p.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:C,detach:x,call:k},Z(),p.Vim=w();var pt={return:"CR",backspace:"BS",delete:"Del",esc:"Esc",left:"Left",right:"Right",up:"Up",down:"Down",space:"Space",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",enter:"CR"};var gt=(w=p.Vim).handleKey.bind(w);function mt(e){var t=new e.constructor;return Object.keys(e).forEach(function(n){var r=e[n];Array.isArray(r)?r=r.slice():r&&"object"==typeof r&&r.constructor!=Object&&(r=mt(r)),t[n]=r}),e.sel&&(t.sel={head:e.sel.head&&pe(e.sel.head),anchor:e.sel.anchor&&pe(e.sel.anchor)}),t}w.handleKey=function(e,t,n){return e.operation(function(){return gt(e,t,n)},!0)},t.CodeMirror=p;var vt=w.maybeInitVimState_;t.handler={$id:"ace/keyboard/vim",drawCursor:function(e,t,n,i,o){var s=this.state.vim||{},a=n.characterWidth,l=n.lineHeight,u=t.top,c=t.left;s.insertMode||!(i.cursor?r.comparePoints(i.cursor,i.start)<=0:o.selection.isBackwards()||o.selection.isEmpty())&&c>a&&(c-=a);!s.insertMode&&s.status&&(u+=l/=2),e.left=c+"px",e.top=u+"px",e.width=a+"px",e.height=l+"px"},handleKeyboard:function(e,t,n,r,i){var o=e.editor,s=o.state.cm,a=vt(s);if(-1!=r){if("c"==n&&1==t){if(!c.isMac&&o.getCopyText())return o.once("copy",function(){o.selection.clearSelection()}),{command:"null",passEvent:!0}}else a.insertMode||c.isMac&&this.handleMacRepeat(e,t,n)&&(t=-1,n=e.inputChar);if(-1==t||1&t||0===t&&n.length>1){var l=a.insertMode,u=function(e,t,n){t.length>1&&"n"==t[0]&&(t=t.replace("numpad","")),t=pt[t]||t;var r="";return n.ctrlKey&&(r+="C-"),n.altKey&&(r+="A-"),n.shiftKey&&(r+="S-"),(r+=t).length>1&&(r="<"+r+">"),r}(0,n,i||{});null==a.status&&(a.status="");var h=function(e,t,n){var r=!1,i=w.maybeInitVimState_(e),o=i.visualBlock||i.wasInVisualBlock;if(i.wasInVisualBlock&&!e.ace.inMultiSelectMode?i.wasInVisualBlock=!1:e.ace.inMultiSelectMode&&i.visualBlock&&(i.wasInVisualBlock=!0),"<Esc>"!=t||i.insertMode||i.visualMode||!e.ace.inMultiSelectMode)if(o||!e.ace.inMultiSelectMode||e.ace.inVirtualSelectionMode)r=w.handleKey(e,t,n);else{var s=mt(i);e.operation(function(){e.ace.forEachSelection(function(){var i=e.ace.selection;e.state.vim.lastHPos=null==i.$desiredColumn?i.lead.column:i.$desiredColumn;var o=e.getCursor("head"),a=e.getCursor("anchor"),l=me(o,a)?0:-1,u=me(o,a)?-1:0;o=he(o,0,l),a=he(a,0,u),e.state.vim.sel.head=o,e.state.vim.sel.anchor=a,r=gt(e,t,n),i.$desiredColumn=-1==e.state.vim.lastHPos?null:e.state.vim.lastHPos,e.virtualSelectionMode()&&(e.state.vim=mt(s))}),e.curOp.cursorActivity&&!r&&(e.curOp.cursorActivity=!1)},!0)}else e.ace.exitMultiSelectMode();return r}(s,u,"user");if(a=vt(s),h&&null!=a.status?a.status+=u:null==a.status&&(a.status=""),s._signal("changeStatus"),!h&&(-1!=t||l))return;return{command:"null",passEvent:!h}}}},attach:function(e){e.state||(e.state={});var t=new p(e);e.state.cm=t,e.$vimModeHandler=this,p.keyMap.vim.attach(t),vt(t).status=null,t.on("vim-command-done",function(){t.virtualSelectionMode()||(vt(t).status=null,t.ace._signal("changeStatus"),t.ace.session.markUndoGroup())}),t.on("changeStatus",function(){t.ace.renderer.updateCursor(),t.ace._signal("changeStatus")}),t.on("vim-mode-change",function(){t.virtualSelectionMode()||(t.ace.renderer.setStyle("normal-mode",!vt(t).insertMode),t._signal("changeStatus"))}),t.ace.renderer.setStyle("normal-mode",!vt(t).insertMode),e.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(t),this.updateMacCompositionHandlers(e,!0)},detach:function(e){var t=e.state.cm;p.keyMap.vim.detach(t),t.destroy(),e.state.cm=null,e.$vimModeHandler=null,e.renderer.$cursorLayer.drawCursor=null,e.renderer.setStyle("normal-mode",!1),this.updateMacCompositionHandlers(e,!1)},getStatusText:function(e){var t=e.state.cm,n=vt(t);if(n.insertMode)return"INSERT";var r="";return n.visualMode&&(r+="VISUAL",n.visualLine&&(r+=" LINE"),n.visualBlock&&(r+=" BLOCK")),n.status&&(r+=(r?" ":"")+n.status),r},handleMacRepeat:function(e,t,n){if(-1==t)e.inputChar=n,e.lastEvent="input";else if(e.inputChar&&e.$lastHash==t&&e.$lastKey==n){if("input"==e.lastEvent)e.lastEvent="input1";else if("input1"==e.lastEvent)return!0}else e.$lastHash=t,e.$lastKey=n,e.lastEvent="keypress"},updateMacCompositionHandlers:function(e,t){t?e.onCompositionUpdateOrig||(e.onCompositionUpdateOrig=e.onCompositionUpdate,e.onCompositionUpdate=function(t){var n=e.state.cm;if(vt(n).insertMode)this.onCompositionUpdateOrig(t);else{var r=this.textInput.getElement();r.blur(),r.focus(),r.value=t}},e.onCompositionStartOrig=e.onCompositionStart,e.onCompositionStart=function(t){var n=e.state.cm;vt(n).insertMode||this.onCompositionStartOrig(t)}):e.onCompositionUpdateOrig&&(e.onCompositionUpdate=e.onCompositionUpdateOrig,e.onCompositionUpdateOrig=null,e.onCompositionStart=e.onCompositionStartOrig,e.onCompositionStartOrig=null)}};function yt(e,t){t.off("beforeEndOperation",yt);var n=t.state.cm.vimCmd;n&&t.execCommand(n.exec?n:n.name,n.args),t.curOp=t.prevOp}w.defineOption({name:"wrap",set:function(e,t){t&&t.ace.setOption("wrap",e)},type:"boolean"},!1),w.defineEx("write","w",function(){console.log(":write is not implemented")}),v.push({keys:"zc",type:"action",action:"fold",actionArgs:{open:!1}},{keys:"zC",type:"action",action:"fold",actionArgs:{open:!1,all:!0}},{keys:"zo",type:"action",action:"fold",actionArgs:{open:!0}},{keys:"zO",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"za",type:"action",action:"fold",actionArgs:{toggle:!0}},{keys:"zA",type:"action",action:"fold",actionArgs:{toggle:!0,all:!0}},{keys:"zf",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"zd",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"<C-A-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAbove"}},{keys:"<C-A-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelow"}},{keys:"<C-A-S-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAboveSkipCurrent"}},{keys:"<C-A-S-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelowSkipCurrent"}},{keys:"<C-A-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreBefore"}},{keys:"<C-A-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreAfter"}},{keys:"<C-A-S-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextBefore"}},{keys:"<C-A-S-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextAfter"}}),le.aceCommand=function(e,t,n){e.vimCmd=t,e.ace.inVirtualSelectionMode?e.ace.on("beforeEndOperation",yt):yt(null,e.ace)},le.fold=function(e,t,n){e.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][(t.all?2:0)+(t.open?1:0)])},t.handler.defaultKeymap=v,t.handler.actions=le,t.Vim=w,w.map("Y","yy","normal")})},function(e,t){ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-xcode",t.cssText=".ace-xcode .ace_gutter {background: #e8e8e8;color: #333}.ace-xcode .ace_print-margin {width: 1px;background: #e8e8e8}.ace-xcode {background-color: #FFFFFF;color: #000000}.ace-xcode .ace_cursor {color: #000000}.ace-xcode .ace_marker-layer .ace_selection {background: #B5D5FF}.ace-xcode.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-xcode .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-xcode .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-xcode .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_marker-layer .ace_selected-word {border: 1px solid #B5D5FF}.ace-xcode .ace_constant.ace_language,.ace-xcode .ace_keyword,.ace-xcode .ace_meta,.ace-xcode .ace_variable.ace_language {color: #C800A4}.ace-xcode .ace_invisible {color: #BFBFBF}.ace-xcode .ace_constant.ace_character,.ace-xcode .ace_constant.ace_other {color: #275A5E}.ace-xcode .ace_constant.ace_numeric {color: #3A00DC}.ace-xcode .ace_entity.ace_other.ace_attribute-name,.ace-xcode .ace_support.ace_constant,.ace-xcode .ace_support.ace_function {color: #450084}.ace-xcode .ace_fold {background-color: #C800A4;border-color: #000000}.ace-xcode .ace_entity.ace_name.ace_tag,.ace-xcode .ace_support.ace_class,.ace-xcode .ace_support.ace_type {color: #790EAD}.ace-xcode .ace_storage {color: #C900A4}.ace-xcode .ace_string {color: #DF0002}.ace-xcode .ace_comment {color: #008E00}.ace-xcode .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {color: #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-terminal-theme",t.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-solarized-light",t.cssText=".ace-solarized-light .ace_gutter {background: #fbf1d3;color: #333}.ace-solarized-light .ace_print-margin {width: 1px;background: #e8e8e8}.ace-solarized-light {background-color: #FDF6E3;color: #586E75}.ace-solarized-light .ace_cursor {color: #000000}.ace-solarized-light .ace_marker-layer .ace_selection {background: rgba(7, 54, 67, 0.09)}.ace-solarized-light.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FDF6E3;}.ace-solarized-light .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-solarized-light .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_marker-layer .ace_active-line {background: #EEE8D5}.ace-solarized-light .ace_gutter-active-line {background-color : #EDE5C1}.ace-solarized-light .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-light .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_keyword,.ace-solarized-light .ace_meta,.ace-solarized-light .ace_support.ace_class,.ace-solarized-light .ace_support.ace_type {color: #859900}.ace-solarized-light .ace_constant.ace_character,.ace-solarized-light .ace_constant.ace_other {color: #CB4B16}.ace-solarized-light .ace_constant.ace_language {color: #B58900}.ace-solarized-light .ace_constant.ace_numeric {color: #D33682}.ace-solarized-light .ace_fold {background-color: #268BD2;border-color: #586E75}.ace-solarized-light .ace_entity.ace_name.ace_function,.ace-solarized-light .ace_entity.ace_name.ace_tag,.ace-solarized-light .ace_support.ace_function,.ace-solarized-light .ace_variable,.ace-solarized-light .ace_variable.ace_language {color: #268BD2}.ace-solarized-light .ace_storage {color: #073642}.ace-solarized-light .ace_string {color: #2AA198}.ace-solarized-light .ace_string.ace_regexp {color: #D30102}.ace-solarized-light .ace_comment,.ace-solarized-light .ace_entity.ace_other.ace_attribute-name {color: #93A1A1}.ace-solarized-light .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-solarized-dark",t.cssText=".ace-solarized-dark .ace_gutter {background: #01313f;color: #d0edf7}.ace-solarized-dark .ace_print-margin {width: 1px;background: #33555E}.ace-solarized-dark {background-color: #002B36;color: #93A1A1}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,.ace-solarized-dark .ace_storage {color: #93A1A1}.ace-solarized-dark .ace_cursor,.ace-solarized-dark .ace_string.ace_regexp {color: #D30102}.ace-solarized-dark .ace_marker-layer .ace_active-line,.ace-solarized-dark .ace_marker-layer .ace_selection {background: rgba(255, 255, 255, 0.1)}.ace-solarized-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002B36;}.ace-solarized-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-solarized-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_gutter-active-line {background-color: #0d3440}.ace-solarized-dark .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-dark .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_keyword,.ace-solarized-dark .ace_meta,.ace-solarized-dark .ace_support.ace_class,.ace-solarized-dark .ace_support.ace_type {color: #859900}.ace-solarized-dark .ace_constant.ace_character,.ace-solarized-dark .ace_constant.ace_other {color: #CB4B16}.ace-solarized-dark .ace_constant.ace_language {color: #B58900}.ace-solarized-dark .ace_constant.ace_numeric {color: #D33682}.ace-solarized-dark .ace_fold {background-color: #268BD2;border-color: #93A1A1}.ace-solarized-dark .ace_entity.ace_name.ace_function,.ace-solarized-dark .ace_entity.ace_name.ace_tag,.ace-solarized-dark .ace_support.ace_function,.ace-solarized-dark .ace_variable,.ace-solarized-dark .ace_variable.ace_language {color: #268BD2}.ace-solarized-dark .ace_string {color: #2AA198}.ace-solarized-dark .ace_comment {font-style: italic;color: #657B83}.ace-solarized-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t){ace.define("ace/theme/chaos",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-chaos",t.cssText=".ace-chaos .ace_gutter {background: #141414;color: #595959;border-right: 1px solid #282828;}.ace-chaos .ace_gutter-cell.ace_warning {background-image: none;background: #FC0;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_gutter-cell.ace_error {background-position: -6px center;background-image: none;background: #F10;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_print-margin {border-left: 1px solid #555;right: 0;background: #1D1D1D;}.ace-chaos {background-color: #161616;color: #E6E1DC;}.ace-chaos .ace_cursor {border-left: 2px solid #FFFFFF;}.ace-chaos .ace_cursor.ace_overwrite {border-left: 0px;border-bottom: 1px solid #FFFFFF;}.ace-chaos .ace_marker-layer .ace_selection {background: #494836;}.ace-chaos .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-chaos .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #FCE94F;}.ace-chaos .ace_marker-layer .ace_active-line {background: #333;}.ace-chaos .ace_gutter-active-line {background-color: #222;}.ace-chaos .ace_invisible {color: #404040;}.ace-chaos .ace_keyword {color:#00698F;}.ace-chaos .ace_keyword.ace_operator {color:#FF308F;}.ace-chaos .ace_constant {color:#1EDAFB;}.ace-chaos .ace_constant.ace_language {color:#FDC251;}.ace-chaos .ace_constant.ace_library {color:#8DFF0A;}.ace-chaos .ace_constant.ace_numeric {color:#58C554;}.ace-chaos .ace_invalid {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_invalid.ace_deprecated {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_support {color: #999;}.ace-chaos .ace_support.ace_function {color:#00AEEF;}.ace-chaos .ace_function {color:#00AEEF;}.ace-chaos .ace_string {color:#58C554;}.ace-chaos .ace_comment {color:#555;font-style:italic;padding-bottom: 0px;}.ace-chaos .ace_variable {color:#997744;}.ace-chaos .ace_meta.ace_tag {color:#BE53E6;}.ace-chaos .ace_entity.ace_other.ace_attribute-name {color:#FFFF89;}.ace-chaos .ace_markup.ace_underline {text-decoration: underline;}.ace-chaos .ace_fold-widget {text-align: center;}.ace-chaos .ace_fold-widget:hover {color: #777;}.ace-chaos .ace_fold-widget.ace_start,.ace-chaos .ace_fold-widget.ace_end,.ace-chaos .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-chaos .ace_fold-widget.ace_start:after {content: '▾'}.ace-chaos .ace_fold-widget.ace_end:after {content: '▴'}.ace-chaos .ace_fold-widget.ace_closed:after {content: '‣'}.ace-chaos .ace_indent-guide {border-right:1px dotted #333;margin-right:-1px;}.ace-chaos .ace_fold { background: #222; border-radius: 3px; color: #7AF; border: none; }.ace-chaos .ace_fold:hover {background: #CCC; color: #000;}",e("../lib/dom").importCssString(t.cssText,t.cssClass)})},function(e,t,n){ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},o.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(o,i),o.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},o.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},o.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=o}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",a=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),l("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),l("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),e&&0==e.jsx||function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,l("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};function l(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}r.inherits(a,o),t.JavaScriptHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var i=n[1].length,o=e.findMatchingBracket({row:t,column:i});if(!o||o.row==t)return 0;var s=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,i-1),s)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,o=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(s,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i,o=e.getLine(n);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,n);if(i=o.match(this.foldingStartMarker)){var s=i.index;if(i[1])return this.openingBracketBlock(e,i[1],n,s);var a=e.getCommentFoldRange(n,s+i[0].length,1);return a&&!a.isMultiLine()&&(r?a=this.getSectionRange(e,n):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(i=o.match(this.foldingStopMarker))){s=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,s):e.getCommentFoldRange(n,s,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,s=n.length,a=t+=1,l=e.getLength();++t<l;){var u=(n=e.getLine(t)).search(/\S/);if(-1!==u){if(r>u)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=o)break;if(c.isMultiLine())t=c.end.row;else if(r==u)break}a=t}}return new i(o,s,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),s=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++n<o;){t=e.getLine(n);var u=a.exec(t);if(u&&(u[1]?l--:l++,!l))break}if(n>s)return new i(s,r,n,t.length)}}.call(s.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,r){"use strict";var i=e("../lib/oop"),o=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("../worker/worker_client").WorkerClient,u=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=function(){this.HighlightRules=s,this.$outdent=new a,this.$behaviour=new u,this.foldingRules=new c};i.inherits(h,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),o=i.tokens,s=i.state;if(o.length&&"comment"==o[o.length-1].type)return r;if("start"==e||"no_regex"==e)(a=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==s||"no_regex"==s)return"";var a;(a=t.match(/^\s*(\/?)\*/))&&(a[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new l(["ace"],n(246),"JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(h.prototype),t.Mode=h})},function(e,t,n){!function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var t=function(e,n,r){"string"==typeof e?(2==arguments.length&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)):t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};t.modules={},t.payloads={};var n,r,i=function(e,t,n){if("string"==typeof t){var r=a(e,t);if(void 0!=r)return n&&n(),r}else if("[object Array]"===Object.prototype.toString.call(t)){for(var i=[],s=0,l=t.length;s<l;++s){var u=a(e,t[s]);if(void 0==u&&o.original)return;i.push(u)}return n&&n.apply(null,i)||!0}},o=function(e,t){var n=i("",e,t);return void 0==n&&o.original?o.original.apply(this,arguments):n},s=function(e,t){if(-1!==t.indexOf("!")){var n=t.split("!");return s(e,n[0])+"!"+s(e,n[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&r!=t;){var r=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},a=function(e,n){n=s(e,n);var r=t.modules[n];if(!r){if("function"==typeof(r=t.payloads[n])){var o={},a={id:n,uri:"",exports:o,packaged:!0};o=r(function(e,t){return i(n,e,t)},o,a)||a.exports,t.modules[n]=o,delete t.payloads[n]}r=t.modules[n]=o||r}return r};r=e,(n="ace")&&(e[n]||(e[n]={}),r=e[n]),r.define&&r.define.packaged||(t.original=r.define,r.define=t,r.define.packaged=!0),r.acequire&&r.acequire.packaged||(o.original=r.acequire,r.acequire=o,r.acequire.packaged=!0)}(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";var r,i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},o=void 0===i.exec.call(/()??/,"")[1],s=(r=/^/g,i.test.call(r,""),!r.lastIndex);s&&o||(RegExp.prototype.exec=function(e){var t,n,r,a=i.exec.apply(this,arguments);if("string"==typeof e&&a){if(!o&&a.length>1&&function(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}(a,"")>-1&&(n=RegExp(this.source,i.replace.call(((r=this).global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.extended?"x":"")+(r.sticky?"y":""),"g","")),i.replace.call(e.slice(a.index),n,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(a[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var l=1;l<a.length;l++)(t=this._xregexp.captureNames[l-1])&&(a[t]=a[l]);!s&&this.global&&!a[0].length&&this.lastIndex>a.index&&this.lastIndex--}return a},s||(RegExp.prototype.test=function(e){var t=i.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=d.call(arguments,1),i=function(){if(this instanceof i){var r=t.apply(this,n.concat(d.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(d.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var i,o,s,a,l,u=Function.prototype.call,c=Array.prototype,h=Object.prototype,d=c.slice,f=u.bind(h.toString),p=u.bind(h.hasOwnProperty);if((l=p(h,"__defineGetter__"))&&(i=u.bind(h.__defineGetter__),o=u.bind(h.__defineSetter__),s=u.bind(h.__lookupGetter__),a=u.bind(h.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,n=[];if(n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,"XXX"),n.length,t+1==n.length)return!0}()){var g=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?g.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(d.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):void 0==e?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=d.call(arguments,2),o=i.length;if(e===n)o&&this.push.apply(this,i);else{var s=Math.min(t,n-e),a=e+s,l=a+o-s,u=n-a,c=n-s;if(l<a)for(var h=0;h<u;++h)this[l+h]=this[a+h];else if(l>a)for(h=u;h--;)this[l+h]=this[a+h];if(o&&e===c)this.length=c,this.push.apply(this,i);else for(this.length=c+o,h=0;h<o;++h)this[e+h]=i[h]}return r};Array.isArray||(Array.isArray=function(e){return"[object Array]"==f(e)});var m,v,y=Object("a"),b="a"!=y[0]||!(0 in y);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=arguments[1],i=-1,o=n.length>>>0;if("[object Function]"!=f(e))throw new TypeError;for(;++i<o;)i in n&&e.call(r,n[i],i,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=n.length>>>0,i=Array(r),o=arguments[1];if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");for(var s=0;s<r;s++)s in n&&(i[s]=e.call(o,n[s],s,t));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,n=L(this),r=b&&"[object String]"==f(this)?this.split(""):n,i=r.length>>>0,o=[],s=arguments[1];if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");for(var a=0;a<i;a++)a in r&&(t=r[a],e.call(s,t,a,n)&&o.push(t));return o}),Array.prototype.every||(Array.prototype.every=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=n.length>>>0,i=arguments[1];if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)if(o in n&&!e.call(i,n[o],o,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=n.length>>>0,i=arguments[1];if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");for(var o=0;o<r;o++)if(o in n&&e.call(i,n[o],o,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=n.length>>>0;if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,o=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=r)throw new TypeError("reduce of empty array with no initial value")}for(;o<r;o++)o in n&&(i=e.call(void 0,i,n[o],o,t));return i}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=L(this),n=b&&"[object String]"==f(this)?this.split(""):t,r=n.length>>>0;if("[object Function]"!=f(e))throw new TypeError(e+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,o=r-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}do{o in this&&(i=e.call(void 0,i,n[o],o,t))}while(o--);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=b&&"[object String]"==f(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=B(arguments[1])),r=r>=0?r:Math.max(0,n+r);r<n;r++)if(r in t&&t[r]===e)return r;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=b&&"[object String]"==f(this)?this.split(""):L(this),n=t.length>>>0;if(!n)return-1;var r=n-1;for(arguments.length>1&&(r=Math.min(r,B(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:h)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+e);if(p(e,t)){var n;if(n={enumerable:!0,configurable:!0},l){var r=e.__proto__;e.__proto__=h;var i=s(e,t),o=a(e,t);if(e.__proto__=r,i||o)return i&&(n.get=i),o&&(n.set=o),n}return n.value=e[t],n}}}(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),Object.create)||(m=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(null===e)n=m();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,(n=new r).__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n});function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}if(Object.defineProperty){var x=w({}),C="undefined"==typeof document||w(document.createElement("div"));if(!x||!C)var k=Object.defineProperty}if(!Object.defineProperty||k){Object.defineProperty=function(e,t,n){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.defineProperty called on non-object: "+e);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Property description must be an object: "+n);if(k)try{return k.call(Object,e,t,n)}catch(e){}if(p(n,"value"))if(l&&(s(e,t)||a(e,t))){var r=e.__proto__;e.__proto__=h,delete e[t],e[t]=n.value,e.__proto__=r}else e[t]=n.value;else{if(!l)throw new TypeError("getters & setters can not be defined on this javascript engine");p(n,"get")&&i(e,t,n.get),p(n,"set")&&o(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)p(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(e){Object.freeze=(v=Object.freeze,function(e){return"function"==typeof e?e:v(e)})}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";p(e,t);)t+="?";e[t]=!0;var n=p(e,t);return delete e[t],n}),!Object.keys){var A=!0,E=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],_=E.length;for(var S in{toString:null})A=!1;Object.keys=function(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)p(e,n)&&t.push(n);if(A)for(var r=0,i=_;r<i;r++){var o=E[r];p(e,o)&&t.push(o)}return t}}Date.now||(Date.now=function(){return(new Date).getTime()});var F="\t\n\v\f\r    \u2028\u2029\ufeff";if(!String.prototype.trim||F.trim()){F="["+F+"]";var D=new RegExp("^"+F+F+"*"),T=new RegExp(F+F+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(T,"")}}function B(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}var L=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var r=n.indexOf(t);if(-1==r)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),r=!0;;){var i=n.indexOf(t);if(-1==i)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,r=0;if((t=t||document).createStyleSheet&&(n=t.styleSheets)){for(;r<n.length;)if(n[r++].owningElement.id===e)return!0}else if(n=t.getElementsByTagName("style"))for(;r<n.length;)if(n[r++].id===e)return!0;return!1},t.importCssString=function(e,n,r){if(r=r||document,n&&t.hasCssString(n,r))return null;var i;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */"),r.createStyleSheet?((i=r.createStyleSheet()).cssText=e,n&&(i.owningElement.id=n)):((i=t.createElement("style")).appendChild(r.createTextNode(e)),n&&(i.id=n),t.getDocumentHead(r).appendChild(i))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var o=e.documentElement;o.appendChild(r);var s=n.offsetWidth;i.overflow="scroll";var a=n.offsetWidth;return s==a&&(a=r.clientWidth),o.removeChild(r),s-a},"undefined"!=typeof document?(void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}):t.importCssString=function(){}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var r=e("./oop"),i=function(){var e,t,n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return r.mixin(n,n.MODIFIER_KEYS),r.mixin(n,n.PRINTABLE_KEYS),r.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter(function(e){return t&n.KEY_MODS[e]}).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},"object"==typeof navigator){var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin="win"==r,t.isMac="mac"==r,t.isLinux="linux"==r,t.isIE="Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((i.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(i.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(i.split(" Chrome/")[1])||void 0,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(i)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./keys"),i=e("./useragent"),o=null,s=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){var r,i;t.addListener(e,"touchstart",function(e){var t=e.touches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=e.touches;if(!(t.length>1)){var o=t[0];e.wheelX=r-o.clientX,e.wheelY=i-o.clientY,r=o.clientX,i=o.clientY,n(e)}})},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),n(e)})},t.addMultiMouseDownListener=function(e,n,r,o){var s,a,l,u=0,c={2:"dblclick",3:"tripleclick",4:"quadclick"};function h(e){if(0!==t.getButton(e)?u=0:e.detail>1?++u>4&&(u=1):u=1,i.isIE){var h=Math.abs(e.clientX-s)>5||Math.abs(e.clientY-a)>5;l&&!h||(u=1),l&&clearTimeout(l),l=setTimeout(function(){l=null},n[u-1]||600),1==u&&(s=e.clientX,a=e.clientY)}if(e._clicks=u,r[o]("mousedown",e),u>4)u=0;else if(u>1)return r[o](c[u],e)}function d(e){u=2,l&&clearTimeout(l),l=setTimeout(function(){l=null},n[u-1]||600),r[o]("mousedown",e),r[o](c[u],e)}Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",h),i.isOldIE&&t.addListener(e,"dblclick",d)})};var a=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};function l(e,t,n){var l=a(t);if(!i.isMac&&o){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(l|=8),o.altGr){if(3==(3&l))return;o.altGr=0}if(18===n||17===n){var u="location"in t?t.location:t.keyLocation;if(17===n&&1===u)1==o[n]&&(s=t.timeStamp);else if(18===n&&3===l&&2===u){t.timeStamp-s<50&&(o.altGr=!0)}}}if((n in r.MODIFIER_KEYS&&(n=-1),8&l&&n>=91&&n<=93&&(n=-1),!l&&13===n)&&(3===(u="location"in t?t.location:t.keyLocation)&&(e(t,l,-n),t.defaultPrevented)))return;if(i.isChromeOS&&8&l){if(e(t,l,n),t.defaultPrevented)return;l&=-9}return!!(l||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS)&&e(t,l,n)}function u(){o=Object.create(null)}if(t.getModifierString=function(e){return r.KEY_MODS[a(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return l(n,e,s)})}else{var a=null;r(e,"keydown",function(e){o[e.keyCode]=(o[e.keyCode]||0)+1;var t=l(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){o[e.keyCode]=null}),o||(u(),r(window,"focus",u))}},"object"==typeof window&&window.postMessage&&!i.isOldIE){t.nextTick=function(e,n){n=n||window;t.addListener(n,"message",function r(i){"zero-timeout-message-1"==i.data&&(t.stopPropagation(i),t.removeListener(n,"message",r),e())}),n.postMessage("zero-timeout-message-1","*")}}t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var n="";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&"object"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;var n;if(Array.isArray(t)){n=[];for(var r=0;r<t.length;r++)n[r]=e(t[r]);return n}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var r in n={},t)n[r]=e(t[r]);return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){null==n&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("../lib/dom"),s=e("../lib/lang"),a=e("../lib/keys"),l=a.KEY_MODS,u=i.isChrome<18,c=i.isIE;t.TextInput=function(e,t){var n=o.createElement("textarea");n.className=i.isIOS?"ace_text-input ace_text-input-ios":"ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var h="\n aaaa a\n",d=!1,f=!1,p=!1,g=!1,m="",v=!0;try{var y=document.activeElement===n}catch(e){}r.addListener(n,"blur",function(e){t.onBlur(e),y=!1}),r.addListener(n,"focus",function(e){y=!0,t.onFocus(e),x()}),this.focus=function(){if(m)return n.focus();n.style.position="fixed",n.focus()},this.blur=function(){n.blur()},this.isFocused=function(){return y};var b=s.delayedCall(function(){y&&x(v)}),w=s.delayedCall(function(){g||(n.value=h,y&&x())});function x(e){if(!g){if(g=!0,k)t=0,r=e?0:n.value.length-1;else var t=4,r=5;try{n.setSelectionRange(t,r)}catch(e){}g=!1}}function C(){g||(n.value=h,i.isWebKit&&w.schedule())}i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=v&&(v=!v,b.schedule())}),C(),y&&t.onFocus();var k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var A=!1,E=function(e){4===n.selectionStart&&5===n.selectionEnd||(k&&(e=k(e),k=null),p?(x(),e&&t.onPaste(e),p=!1):e==h.substr(0)&&4===n.selectionStart?A?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):d||(e.substring(0,9)==h&&e.length>h.length?e=e.substr(9):e.substr(0,4)==h.substr(0,4)?e=e.substr(4,e.length-h.length+1):e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e==h.charAt(0)||e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),d&&(d=!1),A&&(A=!1))},_=function(e){if(!g){var t=n.value;E(t),C()}},S=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!u){var i=c||n?"Text":"text/plain";try{return t?!1!==r.setData(i,t):r.getData(i)}catch(e){if(!n)return S(e,t,!0)}}},F=function(e,o){var s=t.getCopyText();if(!s)return r.preventDefault(e);S(e,s)?(i.isIOS&&(f=o,n.value="\n aa"+s+"a a\n",n.setSelectionRange(4,4+s.length),d={value:s}),o?t.onCut():t.onCopy(),i.isIOS||r.preventDefault(e)):(d=!0,n.value=s,n.select(),setTimeout(function(){d=!1,C(),x(),o?t.onCut():t.onCopy()}))};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",function(e){!function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(n)?k&&x(t.selection.isEmpty()):(t.selectAll(),x())}),r.addListener(n,"input",_),r.addListener(n,"cut",function(e){F(e,!0)}),r.addListener(n,"copy",function(e){F(e,!1)}),r.addListener(n,"paste",function(e){var o=S(e);"string"==typeof o?(o&&t.onPaste(o,e),i.isIE&&setTimeout(x),r.preventDefault(e)):(n.value="",p=!0)});var D,T=function(){if(g&&t.onCompositionUpdate&&!t.$readOnly){var e=n.value.replace(/\x01/g,"");if(g.lastValue!==e&&(t.onCompositionUpdate(e),g.lastValue&&t.undo(),g.canUndo&&(g.lastValue=e),g.lastValue)){var r=t.selection.getRange();t.insert(g.lastValue),t.session.markUndoGroup(),g.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}}},B=function(e){if(t.onCompositionEnd&&!t.$readOnly){var r=g;g=!1;var o=setTimeout(function(){o=null;var e=n.value.replace(/\x01/g,"");g||(e==r.lastValue?C():!r.lastValue&&e&&(C(),E(e)))});k=function(e){return o&&clearTimeout(o),(e=e.replace(/\x01/g,""))==r.lastValue?"":(r.lastValue&&o&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",B),"compositionend"==e.type&&r.range&&t.selection.setRange(r.range),(i.isChrome&&i.isChrome>=53||i.isWebKit&&i.isWebKit>=603)&&_()}},L=s.delayedCall(T,50);function M(){clearTimeout(D),D=setTimeout(function(){m&&(n.style.cssText=m,m=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}r.addListener(n,"compositionstart",function(e){g||!t.onCompositionStart||t.$readOnly||((g={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(T,0),t.on("mousedown",B),g.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),i.isGecko?r.addListener(n,"text",function(){L.schedule()}):(r.addListener(n,"keyup",function(){L.schedule()}),r.addListener(n,"keydown",function(){L.schedule()})),r.addListener(n,"compositionend",B),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){A=!0,x(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,s){m||(m=n.style.cssText),n.style.cssText=(s?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var a=t.container.getBoundingClientRect(),l=o.computedStyle(t.container),u=a.top+(parseInt(l.borderTopWidth)||0),c=a.left+(parseInt(a.borderLeftWidth)||0),h=a.bottom-u-n.clientHeight-2,d=function(e){n.style.left=e.clientX-c-2+"px",n.style.top=Math.min(e.clientY-u-2,h)+"px"};d(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(D),i.isWin&&r.capture(t.container,d,M))},this.onContextMenuClose=M;var O=function(e){t.textInput.onContextMenu(e),M()};if(r.addListener(n,"mouseup",O),r.addListener(n,"mousedown",function(e){e.preventDefault(),M()}),r.addListener(t.renderer.scroller,"contextmenu",O),r.addListener(n,"contextmenu",O),i.isIOS){var P=null,R=!1;e.addEventListener("keydown",function(e){P&&clearTimeout(P),R=!0}),e.addEventListener("keyup",function(e){P=setTimeout(function(){R=!1},100)});var j=function(e){if(document.activeElement===n&&!R){if(f)return setTimeout(function(){f=!1},100);var r=n.selectionStart,i=n.selectionEnd;if(n.setSelectionRange(4,5),r==i)switch(r){case 0:t.onCommandKey(null,0,a.up);break;case 1:t.onCommandKey(null,0,a.home);break;case 2:t.onCommandKey(null,l.option,a.left);break;case 4:t.onCommandKey(null,0,a.left);break;case 5:t.onCommandKey(null,0,a.right);break;case 7:t.onCommandKey(null,l.option,a.right);break;case 8:t.onCommandKey(null,0,a.end);break;case 9:t.onCommandKey(null,0,a.down)}else{switch(i){case 6:t.onCommandKey(null,l.shift,a.right);break;case 7:t.onCommandKey(null,l.shift|l.option,a.right);break;case 8:t.onCommandKey(null,l.shift,a.end);break;case 9:t.onCommandKey(null,l.shift,a.down)}switch(r){case 0:t.onCommandKey(null,l.shift,a.up);break;case 1:t.onCommandKey(null,l.shift,a.home);break;case 2:t.onCommandKey(null,l.shift|l.option,a.left);break;case 3:t.onCommandKey(null,l.shift,a.left)}}}};document.addEventListener("selectionchange",j),t.on("destroy",function(){document.removeEventListener("selectionchange",j)})}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("../lib/dom"),s=e("../lib/lang"),a=i.isChrome<18,l=i.isIE,u=e("./textinput_ios").TextInput;t.TextInput=function(e,t){if(i.isIOS)return u.call(this,e,t);var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var c="\u2028\u2028",h=!1,d=!1,f=!1,p="",g=!0;try{var m=document.activeElement===n}catch(e){}r.addListener(n,"blur",function(e){t.onBlur(e),m=!1}),r.addListener(n,"focus",function(e){m=!0,t.onFocus(e),b()}),this.focus=function(){if(p)return n.focus();var e=n.style.top;n.style.position="fixed",n.style.top="0px",n.focus(),setTimeout(function(){n.style.position="","0px"==n.style.top&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return m};var v=s.delayedCall(function(){m&&b(g)}),y=s.delayedCall(function(){f||(n.value=c,m&&b())});function b(e){if(!f){if(f=!0,x)var t=0,r=e?0:n.value.length-1;else t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(e){}f=!1}}function w(){f||(n.value=c,i.isWebKit&&y.schedule())}i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=g&&(g=!g,v.schedule())}),w(),m&&t.onFocus();var x=null;this.setInputHandler=function(e){x=e},this.getInputHandler=function(){return x};var C=!1,k=function(e){x&&(e=x(e),x=null),d?(b(),e&&t.onPaste(e),d=!1):e==c.charAt(0)?C?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==c?e=e.substr(2):e.charAt(0)==c.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==c.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==c.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),C&&(C=!1)},A=function(e){if(!f){var t=n.value;k(t),w()}},E=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!a){var i=l||n?"Text":"text/plain";try{return t?!1!==r.setData(i,t):r.getData(i)}catch(e){if(!n)return E(e,t,!0)}}},_=function(e,i){var o=t.getCopyText();if(!o)return r.preventDefault(e);E(e,o)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(h=!0,n.value=o,n.select(),setTimeout(function(){h=!1,w(),b(),i?t.onCut():t.onCopy()}))},S=function(e){_(e,!0)},F=function(e){_(e,!1)},D=function(e){var o=E(e);"string"==typeof o?(o&&t.onPaste(o,e),i.isIE&&setTimeout(b),r.preventDefault(e)):(n.value="",d=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",function(e){h?h=!1:function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(n)?(t.selectAll(),b()):x&&b(t.selection.isEmpty())}),r.addListener(n,"input",A),r.addListener(n,"cut",S),r.addListener(n,"copy",F),r.addListener(n,"paste",D),"oncut"in n&&"oncopy"in n&&"onpaste"in n||r.addListener(e,"keydown",function(e){if((!i.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:F(e);break;case 86:D(e);break;case 88:S(e)}});var T,B=function(){if(f&&t.onCompositionUpdate&&!t.$readOnly){var e=n.value.replace(/\u2028/g,"");if(f.lastValue!==e&&(t.onCompositionUpdate(e),f.lastValue&&t.undo(),f.canUndo&&(f.lastValue=e),f.lastValue)){var r=t.selection.getRange();t.insert(f.lastValue),t.session.markUndoGroup(),f.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}}},L=function(e){if(t.onCompositionEnd&&!t.$readOnly){var r=f;f=!1;var o=setTimeout(function(){o=null;var e=n.value.replace(/\u2028/g,"");f||(e==r.lastValue?w():!r.lastValue&&e&&(w(),k(e)))});x=function(e){return o&&clearTimeout(o),(e=e.replace(/\u2028/g,""))==r.lastValue?"":(r.lastValue&&o&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",L),"compositionend"==e.type&&r.range&&t.selection.setRange(r.range),(i.isChrome&&i.isChrome>=53||i.isWebKit&&i.isWebKit>=603)&&A()}},M=s.delayedCall(B,50);function O(){clearTimeout(T),T=setTimeout(function(){p&&(n.style.cssText=p,p=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}r.addListener(n,"compositionstart",function(e){f||!t.onCompositionStart||t.$readOnly||((f={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(B,0),t.on("mousedown",L),f.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),i.isGecko?r.addListener(n,"text",function(){M.schedule()}):(r.addListener(n,"keyup",function(){M.schedule()}),r.addListener(n,"keydown",function(){M.schedule()})),r.addListener(n,"compositionend",L),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){C=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,s){p||(p=n.style.cssText),n.style.cssText=(s?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var a=t.container.getBoundingClientRect(),l=o.computedStyle(t.container),u=a.top+(parseInt(l.borderTopWidth)||0),c=a.left+(parseInt(a.borderLeftWidth)||0),h=a.bottom-u-n.clientHeight-2,d=function(e){n.style.left=e.clientX-c-2+"px",n.style.top=Math.min(e.clientY-u-2,h)+"px"};d(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(T),i.isWin&&r.capture(t.container,d,O))},this.onContextMenuClose=O;var P=function(e){t.textInput.onContextMenu(e),O()};r.addListener(n,"mouseup",P),r.addListener(n,"mousedown",function(e){e.preventDefault(),O()}),r.addListener(t.renderer.scroller,"contextmenu",P),r.addListener(n,"contextmenu",P)}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";e("../lib/dom"),e("../lib/event");var r=e("../lib/useragent");function i(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function o(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,o=e.getButton();if(0!==o){var s=i.getSelectionRange().isEmpty();return i.$blockScrolling++,(s||1==o)&&i.selection.moveToPosition(n),i.$blockScrolling--,void(2==o&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault()))}return this.mousedownEvent.time=Date.now(),!t||i.isFocused()||(i.focus(),!this.$focusTimout||this.$clickSelection||i.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(-1==r)e=this.$clickSelection.end;else if(1==r)e=this.$clickSelection.start;else{var i=o(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(n.$blockScrolling++,this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),a=this.$clickSelection.comparePoint(i.end);if(-1==s&&a<=0)t=this.$clickSelection.end,i.end.row==r.row&&i.end.column==r.column||(r=i.start);else if(1==a&&s>=0)t=this.$clickSelection.start,i.start.row==r.row&&i.start.column==r.column||(r=i.end);else if(-1==s&&1==a)r=i.end,t=i.start;else{var l=o(this.$clickSelection,r);r=l.cursor,t=l.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e,t,n,r,i=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,n=this.x,r=this.y,Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))),o=Date.now();(i>0||o-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session.getBracketRange(t);r?(r.isEmpty()&&(r.start.column--,r.end.column++),this.setState("select")):(r=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=r,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=e.wheelX/i,s=e.wheelY/i;i<250&&(o=(o+n.vx)/2,s=(s+n.vy)/2);var a=Math.abs(o/s),l=!1;if(a>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)n.allowed=r;else if(r-n.allowed<250){Math.abs(o)<=1.1*Math.abs(n.vx)&&Math.abs(s)<=1.1*Math.abs(n.vy)?(l=!0,n.allowed=r):n.allowed=0}return n.t=r,n.vx=o,n.vy=s,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(i.prototype),t.DefaultHandlers=i}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";e("./lib/oop");var r=e("./lib/dom");function i(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}(function(){this.$init=function(){return this.$element=r.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){r.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){r.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(i.prototype),t.Tooltip=i}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/event"),s=e("../tooltip").Tooltip;function a(e){s.call(this,e)}i.inherits(a,s),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),o=this.getHeight();t+=15,(e+=15)+i>n&&(e-=e+i-n),t+o>r&&(t-=20+o),s.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=function(e){var t,n,i,s=e.editor,l=s.renderer.$gutterLayer,u=new a(s.container);function c(){t&&(t=clearTimeout(t)),i&&(u.hide(),i=null,s._signal("hideGutterTooltip",u),s.removeEventListener("mousewheel",c))}function h(e){u.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",function(t){if(s.isFocused()&&0==t.getButton()&&"foldWidgets"!=l.getRegion(t)){var n=t.getDocumentPosition().row,r=s.session.selection;if(t.getShiftKey())r.selectTo(n,0);else{if(2==t.domEvent.detail)return s.selectAll(),t.preventDefault();e.$clickSelection=s.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}),e.editor.setDefaultHandler("guttermousemove",function(o){var a=o.domEvent.target||o.domEvent.srcElement;if(r.hasCssClass(a,"ace_fold-widget"))return c();i&&e.$tooltipFollowsMouse&&h(o),n=o,t||(t=setTimeout(function(){t=null,n&&!e.isMousePressed?function(){var t=n.getDocumentPosition().row,r=l.$annotations[t];if(!r)return c();if(t==s.session.getLength()){var o=s.renderer.pixelToScreenCoordinates(0,n.y).row,a=n.$pos;if(o>s.session.documentToScreenRow(a.row,a.column))return c()}if(i!=r)if(i=r.text.join("<br/>"),u.setHtml(i),u.show(),s._signal("showGutterTooltip",u),s.on("mousewheel",c),e.$tooltipFollowsMouse)h(n);else{var d=n.domEvent.target.getBoundingClientRect(),f=u.getElement().style;f.left=d.right+"px",f.top=d.bottom+"px"}}():c()},50))}),o.addListener(s.renderer.$gutter,"mouseout",function(e){n=null,i&&!t&&(t=setTimeout(function(){t=null,c()},50))}),s.on("changeSession",c)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/event"),o=e("../lib/useragent"),s=200,a=200,l=5;function u(e){var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",o.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var u,h,d,f,p,g,m,v,y,b,w,x=t.container,C=0;function k(){var e=g;(function(e,n){var r=Date.now(),i=!n||e.row!=n.row,o=!n||e.column!=n.column;!b||i||o?(t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,b=r,w={x:h,y:d}):c(w.x,w.y,h,d)>l?b=null:r-b>=a&&(t.renderer.scrollCursorIntoView(),b=null)})(g=t.renderer.screenToTextCoordinates(h,d),e),function(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,o=t.renderer.layerConfig.characterWidth,a=t.renderer.scroller.getBoundingClientRect(),l={x:{left:h-a.left,right:a.right-h},y:{top:d-a.top,bottom:a.bottom-d}},u=Math.min(l.x.left,l.x.right),c=Math.min(l.y.top,l.y.bottom),f={row:e.row,column:e.column};u/o<=2&&(f.column+=l.x.left<l.x.right?-3:2),c/i<=1&&(f.row+=l.y.top<l.y.bottom?-1:1);var p=e.row!=f.row,g=e.column!=f.column,m=!n||e.row!=n.row;p||g&&!m?y?r-y>=s&&t.renderer.scrollCursorIntoView(f):y=r:y=null}(g,e)}function A(){p=t.selection.toOrientedRange(),u=t.session.addMarker(p,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(f),k(),f=setInterval(k,20),C=0,i.addListener(document,"mousemove",S)}function E(){clearInterval(f),t.session.removeMarker(u),u=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(p),t.$blockScrolling-=1,t.isFocused()&&!v&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),p=null,g=null,C=0,y=null,b=null,i.removeListener(document,"mousemove",S)}this.onDragStart=function(e){if(this.cancelDrag||!x.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}p=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",o.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),o.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),v=!0,this.setState("drag")},this.onDragEnd=function(e){if(x.draggable=!1,v=!1,this.setState(null),!t.getReadOnly()){var n=e.dataTransfer.dropEffect;m||"move"!=n||t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!t.getReadOnly()&&F(e.dataTransfer))return h=e.clientX,d=e.clientY,u||A(),C++,e.dataTransfer.dropEffect=m=D(e),i.preventDefault(e)},this.onDragOver=function(e){if(!t.getReadOnly()&&F(e.dataTransfer))return h=e.clientX,d=e.clientY,u||(A(),C++),null!==_&&(_=null),e.dataTransfer.dropEffect=m=D(e),i.preventDefault(e)},this.onDragLeave=function(e){if(--C<=0&&u)return E(),m=null,i.preventDefault(e)},this.onDrop=function(e){if(g){var n=e.dataTransfer;if(v)switch(m){case"move":p=p.contains(g.row,g.column)?{start:g,end:g}:t.moveText(p,g);break;case"copy":p=t.moveText(p,g,!0)}else{var r=n.getData("Text");p={start:g,end:t.session.insert(g,r)},t.focus(),m=null}return E(),i.preventDefault(e)}},i.addListener(x,"dragstart",this.onDragStart.bind(e)),i.addListener(x,"dragend",this.onDragEnd.bind(e)),i.addListener(x,"dragenter",this.onDragEnter.bind(e)),i.addListener(x,"dragover",this.onDragOver.bind(e)),i.addListener(x,"dragleave",this.onDragLeave.bind(e)),i.addListener(x,"drop",this.onDrop.bind(e));var _=null;function S(){null==_&&(_=setTimeout(function(){null!=_&&u&&E()},20))}function F(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function D(e){var t=["copy","copymove","all","uninitialized"],n=o.isMac?e.altKey:e.ctrlKey,r="uninitialized";try{r=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var i="none";return n&&t.indexOf(r)>=0?i="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(r)>=0?i="move":t.indexOf(r)>=0&&(i="copy"),i}}function c(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=o.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;o.isIE&&"dragReady"==this.state&&(c(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop());"dragWait"===this.state&&(c(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton();if(1===(e.domEvent.detail||1)&&0===r&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in i&&(i.unselectable="on"),t.getDragDelay()){if(o.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(u.prototype),t.DragdropHandler=u}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){!n&&i.readyState&&"loaded"!=i.readyState&&"complete"!=i.readyState||(i=i.onload=i.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=o),n=n.slice();for(var s=0;s<n.length&&(n[s](t,this),!t.propagationStopped);s++);return r&&!t.defaultPrevented?r(t,this):void 0}},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)}},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var o=i.indexOf(t);-1!=o&&i.splice(o,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var r=n._disabled_[e];if(n[e]==t){n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var i=r.indexOf(t);-1!=i&&r.splice(i,1)}}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),-1==r.indexOf(t)&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var r=n.indexOf(t);-1!==r&&n.splice(r,1)}},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";var r=e("./oop"),i=e("./event_emitter").EventEmitter,o={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var n=this.$options[e];if(!n)return s('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:s('misspelled option "'+e+'"')}};function s(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function a(e,t){var n=new Error(e);n.data=t,"object"==typeof console&&console.error&&console.error(n),setTimeout(function(){throw n})}var l=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];"string"==typeof r&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,o),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=s,this.reportError=a}).call(l.prototype),t.AppConfig=l}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,r){"no use strict";var i=e("./lib/lang"),o=(e("./lib/oop"),e("./lib/net")),s=e("./lib/app_config").AppConfig;r.exports=t=new s;var a=function(){return this||"undefined"!=typeof window&&window}(),l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};function u(i){if(a&&a.document){l.packaged=i||e.packaged||r.packaged||a.define&&n(247).packaged;for(var o,s={},u="",c=document.currentScript||document._currentScript,h=(c&&c.ownerDocument||document).getElementsByTagName("script"),d=0;d<h.length;d++){var f=h[d],p=f.src||f.getAttribute("src");if(p){for(var g=f.attributes,m=0,v=g.length;m<v;m++){var y=g[m];0===y.name.indexOf("data-ace-")&&(s[(o=y.name.replace(/^data-ace-/,""),o.replace(/-(.)/g,function(e,t){return t.toUpperCase()}))]=y.value)}var b=p.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(u=b[1])}}for(var w in u&&(s.base=s.base||u,s.packaged=!0),s.basePath=s.base,s.workerPath=s.workerPath||s.base,s.modePath=s.modePath||s.base,s.themePath=s.themePath||s.base,delete s.base,s)void 0!==s[w]&&t.set(w,s[w])}}t.get=function(e){if(!l.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return l[e]},t.set=function(e,t){if(!l.hasOwnProperty(e))throw new Error("Unknown config key: "+e);l[e]=t},t.all=function(){return i.copyObject(l)},t.moduleUrl=function(e,t){if(l.$moduleUrls[e])return l.$moduleUrls[e];var n=e.split("/"),r="snippets"==(t=t||n[n.length-2]||"")?"/":"-",i=n[n.length-1];if("worker"==t&&"-"==r){var o=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(o,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var s=l[t+"Path"];return null==s?s=l.basePath:"/"==r&&(t=r=""),s&&"/"!=s.slice(-1)&&(s+="/"),s+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,s;Array.isArray(n)&&(s=n[0],n=n[1]);try{i=e(n)}catch(e){}if(i&&!t.$loading[n])return r&&r(i);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r),!(t.$loading[n].length>1)){var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();o.loadScript(t.moduleUrl(n,s),a)}},u(!0),t.init=u}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("./default_handlers").DefaultHandlers,s=e("./default_gutter_handler").GutterHandler,a=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,u=e("../config"),c=function(e){var t=this;this.editor=e,new o(this),new s(this),new l(this);var n=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus()},a=e.renderer.getMouseEventTarget();r.addListener(a,"click",this.onMouseEvent.bind(this,"click")),r.addListener(a,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([a,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var u=e.renderer.$gutter;r.addListener(u,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(u,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(u,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(u,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(a,"mousedown",n),r.addListener(u,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),o=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?o.setCursorStyle("default"):o.setCursorStyle("")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new a(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new a(t,this.editor))},this.onMouseWheel=function(e,t){var n=new a(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new a(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var o=this,s=function(e){if(e){if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new a(e,o.editor),o.$mouseMoved=!0}},l=function(e){clearInterval(c),u(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e)},u=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});o.$onCaptureMouseMove=s,o.releaseMouse=r.capture(this.editor.container,s,l);var c=setInterval(u,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),u.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";t.FoldHandler=function(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session;r.foldWidgets&&r.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session,i=r.getParentFoldRangeData(n,!0),o=i.range||i.firstRange;if(o){n=o.start.row;var s=r.getFoldAt(n,r.getLine(n).length,1);s?r.removeFold(s):(r.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){for(var o,s=!1,a=this.$editor.commands,l=this.$handlers.length;l--&&!((o=this.$handlers[l].handleKeyboard(this.$data,e,t,n,r))&&o.command&&((s="null"==o.command||a.exec(o.command,this.$editor,o.args,r))&&r&&-1!=e&&1!=o.passEvent&&1!=o.command.passEvent&&i.stopEvent(r),s)););return s||-1!=e||(o={command:"insertstring"},s=a.exec("insertstring",this.$editor,t)),s&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),s},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(o.prototype),t.KeyBinding=o}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";var r=0,i=0,o=!1,s=!1,a=!1,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],u=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],c=1,h=0,d=1,f=2,p=3,g=4,m=5,v=6,y=7,b=8,w=9,x=10,C=11,k=12,A=13,E=14,_=15,S=16,F=17,D=18,T=[D,D,D,D,D,D,D,D,D,v,m,v,b,m,D,D,D,D,D,D,D,D,D,D,D,D,D,D,m,m,m,v,b,g,g,C,C,C,g,g,g,g,g,x,w,x,w,w,f,f,f,f,f,f,f,f,f,f,w,g,g,g,g,g,g,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g,g,g,g,g,g,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,g,g,g,g,D,D,D,D,D,D,m,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,w,g,C,C,C,C,g,g,g,g,h,g,g,D,g,g,C,C,f,f,g,h,g,g,g,f,h,g,g,g,g,g],B=[b,b,b,b,b,b,b,b,b,b,b,D,D,D,h,d,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,b,m,A,E,_,S,F,w,C,C,C,C,C,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,w,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,b];function L(e,t,n){if(!(i<e))if(1!=e||r!=c||s)for(var o,a,l,u,h=n.length,d=0;d<h;){if(t[d]>=e){for(o=d+1;o<h&&t[o]>=e;)o++;for(a=d,l=o-1;a<l;a++,l--)u=n[a],n[a]=n[l],n[l]=u;d=o}d++}else n.reverse()}function M(e,t,n,i){var l,u,c,T,B=t[i];switch(B){case h:case d:o=!1;case g:case p:return B;case f:return o?p:f;case y:return o=!0,!0,d;case b:return g;case w:return i<1||i+1>=t.length||(l=n[i-1])!=f&&l!=p||(u=t[i+1])!=f&&u!=p?g:(o&&(u=p),u==l?u:g);case x:return(l=i>0?n[i-1]:m)==f&&i+1<t.length&&t[i+1]==f?f:g;case C:if(i>0&&n[i-1]==f)return f;if(o)return g;for(T=i+1,c=t.length;T<c&&t[T]==C;)T++;return T<c&&t[T]==f?f:g;case k:for(c=t.length,T=i+1;T<c&&t[T]==k;)T++;if(T<c){var L=e[i],M=L>=1425&&L<=2303||64286==L;if(l=t[T],M&&(l==d||l==y))return d}return i<1||(l=t[i-1])==m?g:n[i-1];case m:return o=!1,s=!0,r;case v:return a=!0,g;case A:case E:case S:case F:case _:o=!1;case D:return g}}function O(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?h:T[t]:5==n?/[\u0591-\u05f4]/.test(e)?d:h:6==n?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?k:/[\u0660-\u0669\u066b-\u066c]/.test(e)?p:1642==t?C:/[\u06f0-\u06f9]/.test(e)?f:y:32==n&&t<=8287?B[255&t]:254==n&&t>=65136?y:g}t.L=h,t.R=d,t.EN=f,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.DOT="·",t.doBidiReorder=function(e,n,h){if(e.length<2)return{};var f=e.split(""),w=new Array(f.length),x=new Array(f.length),C=[];r=h?c:0,function(e,t,n,c){var h=r?u:l,d=null,f=null,p=null,g=0,y=null,w=-1,x=null,C=null,k=[];if(!c)for(x=0,c=[];x<n;x++)c[x]=O(e[x]);for(i=r,o=!1,!1,s=!1,a=!1,C=0;C<n;C++){if(d=g,k[C]=f=M(e,c,k,C),y=240&(g=h[d][f]),g&=15,t[C]=p=h[g][5],y>0)if(16==y){for(x=w;x<C;x++)t[x]=1;w=-1}else w=-1;if(h[g][6])-1==w&&(w=C);else if(w>-1){for(x=w;x<C;x++)t[x]=p;w=-1}c[C]==m&&(t[C]=0),i|=p}if(a)for(x=0;x<n;x++)if(c[x]==v){t[x]=r;for(var A=x-1;A>=0&&c[A]==b;A--)t[A]=r}}(f,C,f.length,n);for(var k=0;k<w.length;w[k]=k,k++);L(2,C,w),L(1,C,w);for(k=0;k<w.length-1;k++)n[k]===p?C[k]=t.AN:C[k]===d&&(n[k]>y&&n[k]<A||n[k]===g||n[k]===D)?C[k]=t.ON_R:k>0&&"ل"===f[k-1]&&/\u0622|\u0623|\u0625|\u0627/.test(f[k])&&(C[k-1]=C[k]=t.R_H,k++);f[f.length-1]===t.DOT&&(C[f.length-1]=t.B);for(k=0;k<w.length;k++)x[k]=C[w[k]];return{logicalFromVisual:w,bidiLevels:x}},t.hasBidiCharacters=function(e,t){for(var n=!1,r=0;r<e.length;r++)t[r]=O(e.charAt(r)),n||t[r]!=d&&t[r]!=y||(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./lib/bidiutil"),i=e("./lib/lang"),o=e("./lib/useragent"),s=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,a=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.line="",this.wrapIndent=0,this.isLastRow=!1,this.EOF="¶",this.seenBidi=!1};(function(){this.isBidiRow=function(e,t,n){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&s.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===r;)r=n,e++;return e},this.updateRowLine=function(e,t){if(void 0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var n=this.session.$wrapData[e];n&&(void 0===t&&(t=this.getSplitIndex()),t>0&&n.length?(this.wrapIndent=n.indent,this.line=t<n.length?this.line.substring(n[t-1],n[n.length-1]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[t]))}var o,s=this.session,a=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return"\t"===e||s.isFullWidth(e.charCodeAt(0))?(o="\t"===e?s.getScreenTabSize(t+a):2,a+=o-1,i.stringRepeat(r.DOT,o)):e})},this.updateBidiMap=function(){var e=[],t=this.isLastRow?this.EOF:this.EOL,n=this.line+(this.showInvisibles?t:r.DOT);r.hasBidiCharacters(n,e)?this.bidiMap=r.doBidiReorder(n,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.seenBidi&&this.characterWidth!==e.$characterSize.width){var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth("ה");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=o.isChrome?n:.45*n,this.charWidths[r.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return this.showInvisibles},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setTextDir=function(e){this.isRtlDir=e},this.getPosLeft=function(e){e-=this.wrapIndent;var t=r.getVisualFromLogicalIdx(e>0?e-1:0,this.bidiMap),n=this.bidiMap.bidiLevels,i=0;0===e&&n[t]%2!=0&&t++;for(var o=0;o<t;o++)i+=this.charWidths[n[o]];return 0!==e&&n[t]%2==0&&(i+=this.charWidths[n[t]]),this.wrapIndent&&(i+=this.wrapIndent*this.charWidths[r.L]),i},this.getSelections=function(e,t){for(var n,i,o=this.bidiMap,s=o.bidiLevels,a=this.wrapIndent*this.charWidths[r.L],l=[],u=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,h=!1,d=!1,f=0,p=0;p<s.length;p++)i=o.logicalFromVisual[p],n=s[p],(h=i>=u&&i<c)&&!d?f=a:!h&&d&&l.push({left:f,width:a-f}),a+=this.charWidths[n],d=h;return h&&p===s.length&&l.push({left:f,width:a-f}),l},this.offsetToCol=function(e){var t=0,n=(e=Math.max(e,0),0),i=0,o=this.bidiMap.bidiLevels,s=this.charWidths[o[i]];for(this.wrapIndent&&(e-=this.wrapIndent*this.charWidths[r.L]);e>n+s/2;){if(n+=s,i===o.length-1){s=0;break}s=this.charWidths[o[++i]]}return i>0&&o[i-1]%2!=0&&o[i]%2==0?(e<n&&i--,t=this.bidiMap.logicalFromVisual[i]):i>0&&o[i-1]%2==0&&o[i]%2!=0?t=1+(e>n?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===o.length-1&&0===s&&o[i-1]%2==0||!this.isRtlDir&&0===i&&o[i]%2!=0?t=1+this.bidiMap.logicalFromVisual[i]:(i>0&&o[i-1]%2!=0&&0!==s&&i--,t=this.bidiMap.logicalFromVisual[i]),t+this.wrapIndent}}).call(a.prototype),t.BidiHandler=a}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,r=e.start;return 1==(t=this.compare(n.row,n.column))?1==(t=this.compare(r.row,r.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(r.row,r.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)n={row:e,column:0};if(this.start.row>t)var i={row:t+1,column:0};else if(this.start.row<e)i={row:e,column:0};return r.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(-1==n)var i={row:e,column:t};else var o={row:e,column:t};return r.fromPoints(i||this.start,o||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return r.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new r(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(r.prototype),r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},r.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},r.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=r}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),o=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,o),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.isEmpty()&&this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)this.moveCursorTo(this.lead.row,this.lead.column+e);else{var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();r&&0===t.column||this.setSelectionAnchor(t.row,t.column+e),(r||0!==n.column)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})}},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?s.fromPoints(t,t):this.isBackwards()?s.fromPoints(t,e):s.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,r="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(r);return i?(r=i.start.row,n=i.end.row):n=r,!0===t?new s(r,0,n,this.session.getLine(n).length):new s(r,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize();t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column).match(/^\s*/);i[0].length==t||this.session.$useEmacsStyleLineStart||(r.column+=i[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i)this.moveCursorTo(i.end.row,i.end.column);else{if(this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t)),t>=n.length)return this.moveCursorTo(e,n.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))this.moveCursorTo(e.start.row,e.start.column);else{var r=this.session.getFoldStringAt(t,n,-1);null==r&&(r=this.doc.getLine(t).substring(0,n));var o=i.stringReverse(r);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(n-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0)return this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,n)}},this.$shortWordEndIndex=function(e){var t,n=0,r=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(t=e[n])&&r.test(t);)n++;if(n<1)for(i.lastIndex=0;(t=e[n])&&!i.test(t);)if(i.lastIndex=0,n++,r.test(t)){if(n>2){n--;break}for(;(t=e[n])&&r.test(t);)n++;if(n>2)break}}return i.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var o=this.doc.getLength();do{e++,r=this.doc.getLine(e)}while(e<o&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var s=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+s)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getLine(t).substring(0,n);if(0===n){do{t--,r=this.doc.getLine(t)}while(t>0&&/^\s*$/.test(r));n=r.length,/\s+$/.test(r)||(r="")}var o=i.stringReverse(r),s=this.$shortWordEndIndex(o);return this.moveCursorTo(t,n-s)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,r=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(r.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(r.column),r.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=r.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column);var i=this.session.screenToDocumentPosition(r.row+e,r.column,n);0!==e&&0===t&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return s.fromPoints(t,n)}catch(e){return s.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=s.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(a.prototype),t.Selection=a}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,o=function(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var n=this.states[t],r=[],i=0,o=this.matchMappings[t]={defaultToken:"text"},s="g",a=[],l=0;l<n.length;l++){var u=n[l];if(u.defaultToken&&(o.defaultToken=u.defaultToken),u.caseInsensitive&&(s="gi"),null!=u.regex){u.regex instanceof RegExp&&(u.regex=u.regex.toString().slice(1,-1));var c=u.regex,h=new RegExp("(?:("+c+")|(.))").exec("a").length-2;Array.isArray(u.token)?1==u.token.length||1==h?u.token=u.token[0]:h-1!=u.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:u,groupCount:h-1}),u.token=u.token[0]):(u.tokenArray=u.token,u.token=null,u.onMatch=this.$arrayTokens):"function"!=typeof u.token||u.onMatch||(u.onMatch=h>1?this.$applyToken:u.token),h>1&&(/\\\d/.test(u.regex)?c=u.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(h=1,c=this.removeCapturingGroups(u.regex)),u.splitRegex||"string"==typeof u.token||a.push(u)),o[i]=l,i+=h,r.push(c),u.onMatch||(u.onMatch=null)}}r.length||(o[0]=0,r.push("$")),a.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,s)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",s)}};(function(){this.$setMaxTokenCount=function(e){i=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if("string"==typeof n)return[{type:n,value:e}];for(var r=[],i=0,o=n.length;i<o;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var n=[],r=this.tokenArray,i=0,o=r.length;i<o;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){return e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e})},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,o,s,a,l){return r?r="]"!=a:a?r=!0:s?(n==i.stack&&(i.end=l+1,i.stack=-1),n--):o&&(n++,1!=o.length&&(i.stack=n,i.start=l)),e}),null!=i.end&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t)"#tmp"===(t=(n=t.slice(0))[0])&&(n.shift(),t=n.shift());else var n=[];var r=t||"start",o=this.states[r];o||(r="start",o=this.states[r]);var s=this.matchMappings[r],a=this.regExps[r];a.lastIndex=0;for(var l,u=[],c=0,h=0,d={type:null,value:""};l=a.exec(e);){var f=s.defaultToken,p=null,g=l[0],m=a.lastIndex;if(m-g.length>c){var v=e.substring(c,m-g.length);d.type==f?d.value+=v:(d.type&&u.push(d),d={type:f,value:v})}for(var y=0;y<l.length-2;y++)if(void 0!==l[y+1]){f=(p=o[s[y]]).onMatch?p.onMatch(g,r,n,e):p.token,p.next&&(r="string"==typeof p.next?p.next:p.next(r,n),(o=this.states[r])||(this.reportError("state doesn't exist",r),r="start",o=this.states[r]),s=this.matchMappings[r],c=m,(a=this.regExps[r]).lastIndex=m),p.consumeLineEnd&&(c=m);break}if(g)if("string"==typeof f)p&&!1===p.merge||d.type!==f?(d.type&&u.push(d),d={type:f,value:g}):d.value+=g;else if(f){d.type&&u.push(d),d={type:null,value:""};for(y=0;y<f.length;y++)u.push(f[y])}if(c==e.length)break;if(c=m,h++>i){for(h>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});c<e.length;)d.type&&u.push(d),d={value:e.substring(c,c+=2e3),type:"overflow"};r="start",n=[];break}}return d.type&&u.push(d),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:u,state:n.length?n:r}},this.reportError=r.reportError}).call(o.prototype),t.Tokenizer=o}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var r=e[n],i=0;i<r.length;i++){var o=r[i];(o.next||o.onMatch)&&("string"==typeof o.next&&0!==o.next.indexOf(t)&&(o.next=t+o.next),o.nextState&&0!==o.nextState.indexOf(t)&&(o.nextState=t+o.nextState))}this.$rules[t+n]=r}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,o){var s="function"==typeof e?(new e).getRules():e;if(i)for(var a=0;a<i.length;a++)i[a]=t+i[a];else for(var l in i=[],s)i.push(t+l);if(this.addRules(s,t),n){var u=Array.prototype[o?"push":"unshift"];for(a=0;a<i.length;a++)u.apply(this.$rules[i[a]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var n=0,r=this.$rules;Object.keys(r).forEach(function i(o){var s=r[o];s.processed=!0;for(var a=0;a<s.length;a++){var l=s[a],u=null;Array.isArray(l)&&(u=l,l={}),!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var c=l.next||l.push;if(c&&Array.isArray(c)){var h=l.stateName;h||("string"!=typeof(h=l.token)&&(h=h[0]||""),r[h]&&(h+=n++)),r[h]=c,l.next=h,i(h)}else"pop"==c&&(l.next=t);if(l.push&&(l.nextState=l.next||l.push,l.next=e,delete l.push),l.rules)for(var d in l.rules)r[d]?r[d].push&&r[d].push.apply(r[d],l.rules[d]):r[d]=l.rules[d];var f="string"==typeof l?l:l.include;if(f&&(u=Array.isArray(f)?f.map(function(e){return r[e]}):r[f]),u){var p=[a,1].concat(u);l.noEscape&&(p=p.filter(function(e){return!e.next})),s.splice.apply(s,p),a--}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}},this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var o=e[t];n&&(o=o.toLowerCase());for(var s=o.split(r||"|"),a=s.length;a--;)i[s[a]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var n=(new e).getBehaviours(t);else n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(r.prototype),t.Behaviour=r}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)n+=e[t-=1].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r,i=e("../../lib/oop"),o=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),l=["text","paren.rparen","punctuation.operator"],u=["text","paren.rparen","punctuation.operator","comment"],c={},h={'"':'"',"'":"'"},d=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,c.rangeCount!=e.multiSelect.rangeCount&&(c={rangeCount:e.multiSelect.rangeCount})),c[t])return r=c[t];r=c[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},f=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(e){this.add("braces","insertion",function(t,n,i,o,s){var l=i.getCursorPosition(),u=o.doc.getLine(l.row);if("{"==s){d(i);var c=i.getSelectionRange(),h=o.doc.getTextRange(c);if(""!==h&&"{"!==h&&i.getWrapBehavioursEnabled())return f(c,h,"{","}");if(p.isSaneInsertion(i,o))return/[\]\}\)]/.test(u[l.column])||i.inMultiSelectMode||e&&e.braces?(p.recordAutoInsert(i,o,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(i,o,"{"),{text:"{",selection:[1,1]})}else if("}"==s){if(d(i),"}"==u.substring(l.column,l.column+1))if(null!==o.$findOpeningBracket("}",{column:l.column+1,row:l.row})&&p.isAutoInsertedClosing(l,u,s))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==s||"\r\n"==s){d(i);var g="";if(p.isMaybeInsertedClosing(l,u)&&(g=a.stringRepeat("}",r.maybeInsertedBrackets),p.clearMaybeInsertedClosing()),"}"===u.substring(l.column,l.column+1)){var m=o.findMatchingBracket({row:l.row,column:l.column+1},"}");if(!m)return null;var v=this.$getIndent(o.getLine(m.row))}else{if(!g)return void p.clearMaybeInsertedClosing();v=this.$getIndent(u)}var y=v+o.getTabString();return{text:"\n"+y+"\n"+v+g,selection:[1,y.length,1,y.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,i,o){var s=i.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==s){if(d(n),"}"==i.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o;r.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if("("==i){d(n);var o=n.getSelectionRange(),s=r.doc.getTextRange(o);if(""!==s&&n.getWrapBehavioursEnabled())return f(o,s,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(")"==i){d(n);var a=n.getCursorPosition(),l=r.doc.getLine(a.row);if(")"==l.substring(a.column,a.column+1))if(null!==r.$findOpeningBracket(")",{column:a.column+1,row:a.row})&&p.isAutoInsertedClosing(a,l,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"("==o&&(d(n),")"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i}),this.add("brackets","insertion",function(e,t,n,r,i){if("["==i){d(n);var o=n.getSelectionRange(),s=r.doc.getTextRange(o);if(""!==s&&n.getWrapBehavioursEnabled())return f(o,s,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if("]"==i){d(n);var a=n.getCursorPosition(),l=r.doc.getLine(a.row);if("]"==l.substring(a.column,a.column+1))if(null!==r.$findOpeningBracket("]",{column:a.column+1,row:a.row})&&p.isAutoInsertedClosing(a,l,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"["==o&&(d(n),"]"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var o=r.$mode.$quotes||h;if(1==i.length&&o[i]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(i))return;d(n);var s=i,a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(!(""===l||1==l.length&&o[l])&&n.getWrapBehavioursEnabled())return f(a,l,s,s);if(!l){var u=n.getCursorPosition(),c=r.doc.getLine(u.row),p=c.substring(u.column-1,u.column),g=c.substring(u.column,u.column+1),m=r.getTokenAt(u.row,u.column),v=r.getTokenAt(u.row,u.column+1);if("\\"==p&&m&&/escape/.test(m.type))return null;var y,b=m&&/string|escape/.test(m.type),w=!v||/string|escape/.test(v.type);if(g==s)(y=b!==w)&&/string\.end/.test(v.type)&&(y=!1);else{if(b&&!w)return null;if(b&&w)return null;var x=r.$mode.tokenRe;x.lastIndex=0;var C=x.test(p);x.lastIndex=0;var k=x.test(p);if(C||k)return null;if(g&&!/[\s;,.})\]\\]/.test(g))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&('"'==o||"'"==o)&&(d(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==o))return i.end.column++,i})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",l)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",l))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",u)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isAutoInsertedClosing(i,o,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=i.row,r.autoInsertedLineEnd=n+o.substr(i.column),r.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isMaybeInsertedClosing(i,o)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=i.row,r.maybeInsertedLineStart=o.substr(0,i.column)+n,r.maybeInsertedLineEnd=o.substr(i.column),r.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return r.autoInsertedBrackets>0&&e.row===r.autoInsertedRow&&n===r.autoInsertedLineEnd[0]&&t.substr(e.column)===r.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return r.maybeInsertedBrackets>0&&e.row===r.maybeInsertedRow&&t.substr(e.column)===r.maybeInsertedLineEnd&&t.substr(0,e.column)==r.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},i.inherits(p,o),t.CstyleBehaviour=p}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";t.packages={},function(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,s=e("../unicode"),a=e("../lib/lang"),l=e("../token_iterator").TokenIterator,u=e("../range").Range,c=function(){this.HighlightRules=i};(function(){this.$defaultBehaviour=new o,this.tokenRe=new RegExp("^["+s.packages.L+s.packages.Mn+s.packages.Mc+s.packages.Nd+s.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+s.packages.L+s.packages.Mn+s.packages.Mc+s.packages.Nd+s.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){var i=t.doc,o=!0,s=!0,l=1/0,u=t.getTabSize(),c=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))g=this.lineCommentStart.map(a.escapeRegExp).join("|"),f=this.lineCommentStart[0];else g=a.escapeRegExp(this.lineCommentStart),f=this.lineCommentStart;g=new RegExp("^(\\s*)(?:"+g+") ?"),c=t.getUseSoftTabs();y=function(e,t){var n=e.match(g);if(n){var r=n[1].length,o=n[0].length;d(e,r,o)||" "!=n[0][o-1]||o--,i.removeInLine(t,r,o)}};var h=f+" ",d=(v=function(e,t){o&&!/\S/.test(e)||(d(e,l,l)?i.insertInLine({row:t,column:l},h):i.insertInLine({row:t,column:l},f))},b=function(e,t){return g.test(e)},function(e,t,n){for(var r=0;t--&&" "==e.charAt(t);)r++;if(r%u!=0)return!1;for(r=0;" "==e.charAt(n++);)r++;return u>2?r%u!=u-1:r%u==0})}else{if(!this.blockComment)return!1;var f=this.blockComment.start,p=this.blockComment.end,g=new RegExp("^(\\s*)(?:"+a.escapeRegExp(f)+")"),m=new RegExp("(?:"+a.escapeRegExp(p)+")\\s*$"),v=function(e,t){b(e,t)||o&&!/\S/.test(e)||(i.insertInLine({row:t,column:e.length},p),i.insertInLine({row:t,column:l},f))},y=function(e,t){var n;(n=e.match(m))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(g))&&i.removeInLine(t,n[1].length,n[0].length)},b=function(e,n){if(g.test(e))return!0;for(var r=t.getTokens(n),i=0;i<r.length;i++)if("comment"===r[i].type)return!0}}function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var x=1/0;w(function(e,t){var n=e.search(/\S/);-1!==n?(n<l&&(l=n),s&&!b(e,t)&&(s=!1)):x>e.length&&(x=e.length)}),l==1/0&&(l=x,o=!1,s=!1),c&&l%u!=0&&(l=Math.floor(l/u)*u),w(s?y:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var o,s,a=(g=new l(t,r.row,r.column)).getCurrentToken(),c=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(var h,d;a&&/comment/.test(a.type);){if(-1!=(m=a.value.indexOf(i.start))){var f=g.getCurrentTokenRow(),p=g.getCurrentTokenColumn()+m;h=new u(f,p,f,p+i.start.length);break}a=g.stepBackward()}var g;for(a=(g=new l(t,r.row,r.column)).getCurrentToken();a&&/comment/.test(a.type);){var m;if(-1!=(m=a.value.indexOf(i.end))){f=g.getCurrentTokenRow(),p=g.getCurrentTokenColumn()+m;d=new u(f,p,f,p+i.end.length);break}a=g.stepForward()}d&&t.remove(d),h&&(t.remove(h),o=h.start.row,s=-i.start.length)}else s=i.start.length,o=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);c.start.row==o&&(c.start.column+=s),c.end.row==o&&(c.end.column+=s),t.selection.fromOrientedRange(c)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(t=0;t<n.length;t++)!function(e){var r=n[t],i=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,i)}}(this)},this.$delegator=function(e,t,n){var r=t[0];"string"!=typeof r&&(r=r[0]);for(var i=0;i<this.$embeds.length;i++)if(this.$modes[this.$embeds[i]]){var o=r.split(this.$embeds[i]);if(!o[0]&&o[1]){t[0]=o[1];var s=this.$modes[this.$embeds[i]];return s[e].apply(s,t)}}var a=n.apply(this,t);return n?a:void 0},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var s in o)if(o[s][t]){var a=o[s][t].apply(this,arguments);if(a)return a}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t)for(var i=t[r],o=0,s=i.length;o<s;o++)if("string"==typeof i[o].token)/keyword|support|storage/.test(i[o].token)&&n.push(i[o].regex);else if("object"==typeof i[o].token)for(var a=0,l=i[o].token.length;a<l;a++)if(/keyword|support|storage/.test(i[o].token[a])){r=i[o].regex.match(/\(.+?\)/g)[a];n.push(r.substr(1,r.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){return(this.$keywordList||this.$createKeywordList()).map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),t.Mode=c}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,o=e[r]||"";switch(t.action){case"insert":if(1===t.lines.length)e[r]=o.substring(0,i)+t.lines[0]+o.substring(i);else{var s=[r,1].concat(t.lines);e.splice.apply(e,s),e[r]=o.substring(0,i)+e[r],e[r+t.lines.length-1]+=o.substring(i)}break;case"remove":var a=t.end.column,l=t.end.row;r===l?e[r]=o.substring(0,i)+o.substring(a):e.splice(r,l-r+1,o.substring(0,i)+e[l].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),void 0===n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row)){var n=function(t,n,r){var i="insert"==t.action,o=(i?1:-1)*(t.end.row-t.start.row),s=(i?1:-1)*(t.end.column-t.start.column),a=t.start,l=i?a:t.end;if(e(n,a,r))return{row:n.row,column:n.column};if(e(l,n,!r))return{row:n.row+o,column:n.column+(n.row==l.row?s:0)};return{row:a.row,column:a.column}}(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var r;if(r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=r.row||this.column!=r.column){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(o.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,a=e("./anchor").Anchor,l=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new a(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return void 0==t&&(t=r.length),{row:e,column:t=Math.min(Math.max(t,0),r.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var n=0;(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var n=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,o=n?this.getLine(i).length:0,a=r?t+1:t,l=r?0:this.getLine(a).length,u=new s(i,o,a,l),c=this.$lines.slice(e,t+1);return this.applyDelta({start:u.start,end:u.end,action:"remove",lines:this.getLinesForRange(u)}),c},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length,i=e.start.row,o=e.start.column,s=0,a=0;;){s=a,a+=t-1;var l=n.slice(s,a);if(a>r){e.lines=l,e.start.row=i+s,e.start.column=o;break}l.push(""),this.applyDelta({start:this.pos(i+s,o),end:this.pos(i+a,o=0),action:e.action,lines:l},!0)}},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,o=n.length;i<o;i++)if((e-=n[i].length+r)<0)return{row:i,column:e+n[i].length+r};return{row:o-1,column:n[o-1].length}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(e.row,n.length),s=t||0;s<o;++s)i+=n[s].length+r;return i+e.column}}).call(l.prototype),t.Document=l}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,o=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,i=n.doc,o=t;n.lines[t];)t++;var s=i.getLength(),a=0;for(n.running=!1;t<s;){n.$tokenizeRow(t),r=t;do{t++}while(n.lines[t]);if(++a%5==0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,-1==r&&(r=t),o<=r&&n.fireUpdateEvent(o,r)}}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=(e("./lib/oop"),e("./range").Range),o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,o){if(this.regExp)for(var s=o.firstRow,a=o.lastRow,l=s;l<=a;l++){var u=this.cache[l];null==u&&((u=r.getMatchOffsets(n.getLine(l),this.regExp)).length>this.MAX_RANGES&&(u=u.slice(0,this.MAX_RANGES)),u=u.map(function(e){return new i(l,e.offset,l,e.offset+e.length)}),this.cache[l]=u.length?u:"");for(var c=u.length;c--;)t.drawSingleLineMarker(e,u[c].toScreenRange(n),this.clazz,o)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range;function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r,i,o=0,s=this.folds,a=!0;null==t&&(t=this.end.row,n=this.end.column);for(var l=0;l<s.length;l++){if(-1==(i=(r=s[l]).range.compareStart(t,n)))return void e(null,t,n,o,a);if(!e(null,r.start.row,r.start.column,o,a)&&e(r.placeholder,r.start.row,r.start.column,o)||0===i)return;a=!r.sameRow,o=r.end.column}e(null,t,n,o,a)},this.getNextFoldTo=function(e,t){for(var n,r,i=0;i<this.folds.length;i++){if(-1==(r=(n=this.folds[i]).range.compareEnd(e,t)))return{fold:n,kind:"after"};if(0===r)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r,i,o=this.getNextFoldTo(e,t);if(o)if(r=o.fold,"inside"==o.kind&&r.start.column!=t&&r.start.row!=e)window.console&&window.console.log(e,t,r);else if(r.start.row==e){var s=(i=this.folds).indexOf(r);for(0===s&&(this.start.column+=n);s<i.length;s++){if((r=i[s]).start.column+=n,!r.sameRow)return;r.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||"inside"==n.kind)return null;var r=n.fold,o=this.folds,s=this.foldData,a=o.indexOf(r),l=o[a-1];this.end.row=l.end.row,this.end.column=l.end.column;var u=new i(s,o=o.splice(a,o.length-a));return s.splice(s.indexOf(this)+1,0,u),u},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var r=this.folds[n];if((e-=r.start.column-t)<0)return{row:r.start.row,column:r.start.column+e};if((e-=r.placeholder.length)<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range.comparePoints,i=function(){this.ranges=[]};(function(){this.comparePoints=r,this.pointIndex=function(e,t,n){for(var i=this.ranges,o=n||0;o<i.length;o++){var s=i[o],a=r(e,s.end);if(!(a>0)){var l=r(e,s.start);return 0===a?t&&0!==l?-o-2:o:l>0||0===l&&!t?o:-o-1}}return-o-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){for(var e,t=[],n=this.ranges,i=(n=n.sort(function(e,t){return r(e.start,t.start)}))[0],o=1;o<n.length;o++){e=i,i=n[o];var s=r(e.end,i.start);s<0||(0!=s||e.isEmpty()||i.isEmpty())&&(r(e.end,i.end)<0&&(e.end.row=i.end.row,e.end.column=i.end.column),n.splice(o,1),t.push(i),i=e,o--)}return this.ranges=n,t},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);for(var o=[],s=r;s<i;s++)o.push(n[s]);return o},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(e){if("insert"==e.action)var t=e.start,n=e.end;else n=e.start,t=e.end;for(var r=t.row,i=n.row-r,o=-t.column+n.column,s=this.ranges,a=0,l=s.length;a<l;a++){if(!((u=s[a]).end.row<r)){if(u.start.row>r)break;if(u.start.row==r&&u.start.column>=t.column&&(u.start.column==t.column&&this.$insertRight||(u.start.column+=o,u.start.row+=i)),u.end.row==r&&u.end.column>=t.column){if(u.end.column==t.column&&this.$insertRight)continue;u.end.column==t.column&&o>0&&a<l-1&&u.end.column>u.start.column&&u.end.column==s[a+1].start.column&&(u.end.column-=o),u.end.column+=o,u.end.row+=i}}}if(0!=i&&a<l)for(;a<l;a++){var u;(u=s[a]).start.row+=i,u.end.row+=i}}}).call(i.prototype),t.RangeList=i}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";e("../range").Range;var r=e("../range_list").RangeList,i=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};function s(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function a(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}i.inherits(o,r),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);var t,n;t=e,n=this.start,s(t.start,n),s(t.end,n);for(var r=e.start.row,i=e.start.column,o=0,a=-1;o<this.subFolds.length&&1==(a=this.subFolds[o].range.compare(r,i));o++);var l=this.subFolds[o];if(0==a)return l.addSubFold(e);r=e.range.end.row,i=e.range.end.column;var u=o;for(a=-1;u<this.subFolds.length&&1==(a=this.subFolds[u].range.compare(r,i));u++);this.subFolds[u];if(0==a)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);this.subFolds.splice(o,u-o,e);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return function(e,t){a(e.start,t),a(e.end,t)}(e,this.start)}}.call(o.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("./fold_line").FoldLine,o=e("./fold").Fold,s=e("../token_iterator").TokenIterator;t.Folding=function(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;for(var i=r.folds,o=0;o<i.length;o++){var s=i[o];if(s.range.contains(e,t)){if(1==n&&s.range.isEnd(e,t))continue;if(-1==n&&s.range.isStart(e,t))continue;return s}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var o=0;o<r.length;o++){var s=r[o].range.compareRange(e);if(2!=s){if(-2==s)break;for(var a=r[o].folds,l=0;l<a.length;l++){var u=a[l];if(-2==(s=u.range.compareRange(e)))break;if(2!=s){if(42==s)break;i.push(u)}}}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){if(!(r=r||this.getFoldLine(e)))return null;for(var i,o,s={end:{column:0}},a=0;a<r.folds.length;a++){var l=(o=r.folds[a]).range.compareEnd(e,t);if(-1==l){i=this.getLine(o.start.row).substring(s.end.column,o.start.column);break}if(0===l)return null;s=o}return i||(i=this.getLine(o.start.row).substring(s.end.column)),-1==n?i.substring(0,t-s.end.column):1==n?i.substring(t-s.end.column):i},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),-1==r&&(r=0);r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),-1==r&&(r=0);r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,i=0;i<n.length;i++){var o=n[i],s=o.end.row,a=o.start.row;if(s>=t){a<t&&(a>=e?r-=t-a:r=0);break}s>=e&&(r-=a>=e?s-a:s-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n,r=this.$foldData,s=!1;e instanceof o?n=e:(n=new o(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(n.range);var a=n.start.row,l=n.start.column,u=n.end.row,c=n.end.column;if(!(a<u||a==u&&l<=c-2))throw new Error("The range has to be at least 2 characters width");var h=this.getFoldAt(a,l,1),d=this.getFoldAt(u,c,-1);if(h&&d==h)return h.addSubFold(n);h&&!h.range.isStart(a,l)&&this.removeFold(h),d&&!d.range.isEnd(u,c)&&this.removeFold(d);var f=this.getFoldsInRange(n.range);f.length>0&&(this.removeFolds(f),f.forEach(function(e){n.addSubFold(e)}));for(var p=0;p<r.length;p++){var g=r[p];if(u==g.start.row){g.addFold(n),s=!0;break}if(a==g.end.row){if(g.addFold(n),s=!0,!n.sameRow){var m=r[p+1];if(m&&m.start.row==u){g.merge(m);break}}break}if(u<=g.start.row)break}return s||(g=this.$addFoldLine(new i(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(g.start.row,g.start.row):this.$updateRowLengthCache(g.start.row,g.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,o=t.folds;if(1==o.length)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))o.pop(),t.end.row=o[o.length-1].end.row,t.end.column=o[o.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))o.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column;else if(e.sameRow)o.splice(o.indexOf(e),1);else{var s=t.split(e.start.row,e.start.column);(o=s.folds).shift(),s.start.row=o[0].start.row,s.start.column=o[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(null==e?(n=new r(0,0,this.getLength(),0),t=!0):n="number"==typeof e?new r(e,0,e,this.getLine(e).length):"row"in e?r.fromPoints(e,e):e,i=this.getFoldsInRangeList(n),t)this.removeFolds(i);else for(var o=i;o.length;)this.expandFolds(o),o=this.getFoldsInRangeList(n);if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){null==r&&(r=e.start.row),null==i&&(i=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var o=this.doc,s="";return e.walk(function(e,t,n,a){if(!(t<r)){if(t==r){if(n<i)return;a=Math.max(i,a)}s+=null!=e?e:o.getLine(t).substring(a,n)}},t,n),s},this.getDisplayLine=function(e,t,n,r){var i,o=this.getFoldLine(e);return o?this.getFoldDisplayLine(o,e,t,n,r):(i=this.doc.getLine(e)).substring(r||0,t||i.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)})},this.toggleFold=function(e){var t,n,r=this.selection.getRange();if(r.isEmpty()){var i=r.start;if(t=this.getFoldAt(i.row,i.column))return void this.expandFold(t);(n=this.findMatchingBracket(i))?1==r.comparePoint(n)?r.end=n:(r.start=n,r.start.column++,r.end.column--):(n=this.findMatchingBracket({row:i.row,column:i.column+1}))?(1==r.comparePoint(n)?r.end=n:r.start=n,r.start.column++):r=this.getCommentFoldRange(i.row,i.column)||r}else{var o=this.getFoldsInRange(r);if(e&&o.length)return void this.expandFolds(o);1==o.length&&(t=o[0])}if(t||(t=this.getFoldAt(r.start.row,r.start.column)),t&&t.range.toString()==r.toString())this.expandFold(t);else{var s="...";if(!r.isMultiLine()){if((s=this.getTextRange(r)).length<4)return;s=s.trim().substring(0,2)+".."}this.addFold(s,r)}},this.getCommentFoldRange=function(e,t,n){var i=new s(this,e,t),o=i.getCurrentToken(),a=o.type;if(o&&/^comment|string/.test(a)){"comment"==(a=a.match(/comment|string/)[0])&&(a+="|doc-start");var l=new RegExp(a),u=new r;if(1!=n){do{o=i.stepBackward()}while(o&&l.test(o.type));i.stepForward()}if(u.start.row=i.getCurrentTokenRow(),u.start.column=i.getCurrentTokenColumn()+2,i=new s(this,e,t),-1!=n){var c=-1;do{if(o=i.stepForward(),-1==c){var h=this.getState(i.$row);l.test(h)||(c=i.$row)}else if(i.$row>c)break}while(o&&l.test(o.type));o=i.stepBackward()}else o=i.getCurrentToken();return u.end.row=i.getCurrentTokenRow(),u.end.column=i.getCurrentTokenColumn()+o.value.length-2,u}},this.foldAll=function(e,t,n){void 0==n&&(n=1e5);var r=this.foldWidgets;if(r){t=t||this.getLength();for(var i=e=e||0;i<t;i++)if(null==r[i]&&(r[i]=this.getFoldWidget(i)),"start"==r[i]){var o=this.getFoldWidgetRange(i);if(o&&o.isMultiLine()&&o.end.row<=t&&o.start.row>=e){i=o.end.row;try{var s=this.addFold("...",o);s&&(s.collapseChildren=n)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r,i=e-1;i>=0;){var o=n[i];if(null==o&&(o=n[i]=this.getFoldWidget(i)),"start"==o){var s=this.getFoldWidgetRange(i);if(r||(r=s),s&&s.end.row>=e)break}i--}return{range:-1!==i&&s,firstRange:r}},this.onFoldWidgetClick=function(e,t){var n={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,n)){var r=t.target||t.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),i="end"===n?-1:1,o=this.getFoldAt(e,-1===i?0:r.length,i);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var s=this.getFoldWidgetRange(e,!0);if(s&&!s.isMultiLine()&&(o=this.getFoldAt(s.start.row,s.start.column,1))&&s.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,u=a.range.end.row;this.foldAll(l,u,t.all?1e4:0)}else t.children?(u=s?s.end.row:this.getLength(),this.foldAll(e+1,u,t.all?1e4:0)):s&&(t.all&&(s.collapseChildren=1e4),this.addFold("...",s));return s}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(""==n)return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),r=!0,o=n.charAt(e.column-1),s=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(s||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},s=o&&o.match(/([\(\[\{])|([\)\]\}])/),r=!1),!s)return null;if(s[1]){if(!(a=this.$findClosingBracket(s[1],e)))return null;t=i.fromPoints(e,a),r||(t.end.column++,t.start.column--),t.cursor=t.end}else{var a;if(!(a=this.$findOpeningBracket(s[2],e)))return null;t=i.fromPoints(a,e),r||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],o=1,s=new r(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-s.getCurrentTokenColumn()-2,u=a.value;;){for(;l>=0;){var c=u.charAt(l);if(c==i){if(0==(o-=1))return{row:s.getCurrentTokenRow(),column:l+s.getCurrentTokenColumn()}}else c==e&&(o+=1);l-=1}do{a=s.stepBackward()}while(a&&!n.test(a.type));if(null==a)break;l=(u=a.value).length-1}return null}},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],o=1,s=new r(this,t.row,t.column),a=s.getCurrentToken();if(a||(a=s.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-s.getCurrentTokenColumn();;){for(var u=a.value,c=u.length;l<c;){var h=u.charAt(l);if(h==i){if(0==(o-=1))return{row:s.getCurrentTokenRow(),column:l+s.getCurrentTokenColumn()}}else h==e&&(o+=1);l+=1}do{a=s.stepForward()}while(a&&!n.test(a.type));if(null==a)break;l=0}return null}}}}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),o=e("./bidihandler").BidiHandler,s=e("./config"),a=e("./lib/event_emitter").EventEmitter,l=e("./selection").Selection,u=e("./mode/text").Mode,c=e("./range").Range,h=e("./document").Document,d=e("./background_tokenizer").BackgroundTokenizer,f=e("./search_highlight").SearchHighlight,p=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++p.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new h(e)),this.$bidiHandler=new o(this),this.setDocument(e),this.selection=new l(this),s.resetOptions(this),this.setMode(t),s._signal("session",this)};p.$uid=0,function(){r.implement(this,a),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>1,o=e[i];if(t>o)n=i+1;else{if(!(t<o))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);this.$fromUndo||!this.$undoManager||e.ignore||(this.$deltasDoc.push(e),t&&0!=t.length&&this.$deltasFold.push({action:"removeFolds",folds:t}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n,r=this.bgTokenizer.getTokens(e),i=0;if(null==t){var o=r.length-1;i=this.getLine(e).length}else for(o=0;o<r.length&&!((i+=r[o].value.length)>=t);o++);return(n=r[o])?(n.index=o,n.start=i-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,o={range:e,type:n||"line",renderer:"function"==typeof n?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=o,this._signal("changeFrontMarker")):(this.$backMarkers[i]=o,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new f(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){"number"!=typeof t&&(n=t,t=e),n||(n="ace_step");var i=new c(e,0,t,1/0);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))i=/\s/;else i=this.nonTokenRe;var o=t;if(o>0){do{o--}while(o>=0&&n.charAt(o).match(i));o++}for(var s=t;s<n.length&&n.charAt(s).match(i);)s++;return new c(e,o,e,s)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new u),this.$modes[r]&&!n)return this.$onChangeMode(this.$modes[r]),void(t&&t());this.$modeId=r,s.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.addEventListener){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else{this.bgTokenizer=new d(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,o=this.$foldData[i],s=o?o.start.row:1/0,a=t.length,l=0;l<a;l++){if(l>s){if((l=o.end.row+1)>=a)break;s=(o=this.$foldData[i++])?o.start.row:1/0}null==n[l]&&(n[l]=this.$getStringScreenWidth(t[l])[0]),n[l]>r&&(r=n[l])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=e.length-1;-1!=r;r--){var i=e[r];"doc"==i.group?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=0;r<e.length;r++){var i=e[r];"doc"==i.group&&(this.doc.applyDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){return t?"insert"!==e.action:"insert"===e.action}var i,o,s=e[0];r(s)?i=c.fromPoints(s.start,s.end):i=c.fromPoints(s.start,s.start);for(var a=1;a<e.length;a++)r(s=e[a])?(o=s.start,-1==i.compare(o.row,o.column)&&i.setStart(o),o=s.end,1==i.compare(o.row,o.column)&&i.setEnd(o),!0):(o=s.start,-1==i.compare(o.row,o.column)&&(i=c.fromPoints(s.start,s.start)),!1);if(null!=n){0===c.comparePoints(n.start,i.start)&&(n.start.column+=i.end.column-i.start.column,n.end.column+=i.end.column-i.start.column);var l=n.compareRange(i);1==l?i.setStart(n.start):-1==l&&i.setEnd(n.end)}return i},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),o=c.fromPoints(t,t);if(!n){this.remove(e);var s=e.start.row-e.end.row;(u=s?-e.end.column:e.start.column-e.end.column)&&(o.start.row==e.end.row&&o.start.column>e.end.column&&(o.start.column+=u),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=u)),s&&o.start.row>=e.end.row&&(o.start.row+=s,o.end.row+=s)}if(o.end=this.insert(o.start,r),i.length){var a=e.start,l=o.start,u=(s=l.row-a.row,l.column-a.column);this.addFolds(i.map(function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=s,e.end.row+=s,e}))}return o},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new c(0,0,0,0),r=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var o=this.getLine(i);n.start.row=i,n.end.row=i;for(var s=0;s<r&&" "==o.charAt(s);++s);s<r&&"\t"==o.charAt(s)?(n.start.column=s,n.end.column=s+1):(n.start.column=0,n.end.column=s),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){if((i=this.getRowFoldStart(e+n))<0)return 0;var r=i-e}else if(n>0){var i;if((i=this.getRowFoldEnd(t+n))>this.doc.getLength()-1)return 0;r=i-t}else{e=this.$clipRowToDocument(e);r=(t=this.$clipRowToDocument(t))-e+1}var o=new c(e,0,t,Number.MAX_VALUE),s=this.getFoldsInRange(o).map(function(e){return(e=e.clone()).start.row+=r,e.end.row+=r,e}),a=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+r,a),s.length&&this.addFolds(s),r},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1&&(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,o=r.row,s=i.row,a=s-o,l=null;if(this.$updating=!0,0!=a)if("remove"===n){this[t?"$wrapData":"$rowLengthCache"].splice(o,a);var u=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var c=0;if(g=this.getFoldLine(i.row)){g.addRemoveChars(i.row,i.column,r.column-i.column),g.shiftRow(-a);var h=this.getFoldLine(o);h&&h!==g&&(h.merge(g),g=h),c=u.indexOf(g)+1}for(;c<u.length;c++){(g=u[c]).start.row>=i.row&&g.shiftRow(-a)}s=o}else{var d=Array(a);d.unshift(o,0);var f=t?this.$wrapData:this.$rowLengthCache;f.splice.apply(f,d);u=this.$foldData,c=0;if(g=this.getFoldLine(o)){var p=g.range.compareInside(r.row,r.column);0==p?(g=g.split(r.row,r.column))&&(g.shiftRow(a),g.addRemoveChars(s,0,i.column-r.column)):-1==p&&(g.addRemoveChars(o,0,i.column-r.column),g.shiftRow(a)),c=u.indexOf(g)+1}for(;c<u.length;c++){var g;(g=u[c]).start.row>=o&&g.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===n&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(g=this.getFoldLine(o))&&g.addRemoveChars(o,r.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,s):this.$updateRowLengthCache(o,s),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(n,r){var i,o,s=this.doc.getAllLines(),a=this.getTabSize(),l=this.$wrapData,u=this.$wrapLimit,c=n;for(r=Math.min(r,s.length-1);c<=r;)(o=this.getFoldLine(c,o))?(i=[],o.walk(function(n,r,o,a){var l;if(null!=n){(l=this.$getDisplayTokens(n,i.length))[0]=e;for(var u=1;u<l.length;u++)l[u]=t}else l=this.$getDisplayTokens(s[r].substring(a,o),i.length);i=i.concat(l)}.bind(this),o.end.row,s[o.end.row].length+1),l[o.start.row]=this.$computeWrapSplits(i,u,a),c=o.end.row+1):(i=this.$getDisplayTokens(s[c]),l[c]=this.$computeWrapSplits(i,u,a),c++)};var e=3,t=4,n=10,o=11,l=12;function h(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}this.$computeWrapSplits=function(r,i,s){if(0==r.length)return[];var a=[],u=r.length,c=0,h=0,d=this.$wrapAsCode,f=this.$indentedSoftWrap,p=i<=Math.max(2*s,8)||!1===f?0:Math.floor(i/2);function g(e){var t=r.slice(c,e),i=t.length;t.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),a.length||(m=function(){var e=0;if(0===p)return e;if(f)for(var t=0;t<r.length;t++){var i=r[t];if(i==n)e+=1;else{if(i!=o){if(i==l)continue;break}e+=s}}return d&&!1!==f&&(e+=s),Math.min(e,p)}(),a.indent=m),h+=i,a.push(h),c=e}for(var m=0;u-c>i-m;){var v=c+i-m;if(r[v-1]>=n&&r[v]>=n)g(v);else if(r[v]!=e&&r[v]!=t){for(var y=Math.max(v-(i-(i>>2)),c-1);v>y&&r[v]<e;)v--;if(d){for(;v>y&&r[v]<e;)v--;for(;v>y&&9==r[v];)v--}else for(;v>y&&r[v]<n;)v--;v>y?g(++v):(2==r[v=c+i]&&v--,g(v-m))}else{for(;v!=c-1&&r[v]!=e;v--);if(v>c){g(v);continue}for(v=c+i;v<r.length&&r[v]==t;v++);if(v==r.length)break;g(v)}}return a},this.$getDisplayTokens=function(e,t){var r,i=[];t=t||0;for(var s=0;s<e.length;s++){var a=e.charCodeAt(s);if(9==a){r=this.getScreenTabSize(i.length+t),i.push(o);for(var u=1;u<r;u++)i.push(l)}else 32==a?i.push(n):a>39&&a<48||a>57&&a<64?i.push(9):a>=4352&&h(a)?i.push(1,2):i.push(1)}return i},this.$getStringScreenWidth=function(e,t,n){if(0==t)return[0,0];var r,i;for(null==t&&(t=1/0),n=n||0,i=0;i<e.length&&(9==(r=e.charCodeAt(i))?n+=this.getScreenTabSize(n):r>=4352&&h(r)?n+=2:n+=1,!(n>t));i++);return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i,o=0,s=0,a=0,l=0,u=this.$screenRowCache,c=this.$getRowCacheIndex(u,e),h=u.length;if(h&&c>=0){a=u[c],o=this.$docRowCache[c];var d=e>u[h-1]}else d=!h;for(var f=this.getLength()-1,p=this.getNextFoldLine(o),g=p?p.start.row:1/0;a<=e&&!(a+(l=this.getRowLength(o))>e||o>=f);)a+=l,++o>g&&(o=p.end.row+1,g=(p=this.getNextFoldLine(o,p))?p.start.row:1/0),d&&(this.$docRowCache.push(o),this.$screenRowCache.push(a));if(p&&p.start.row<=o)r=this.getFoldDisplayLine(p),o=p.start.row;else{if(a+l<=e||o>f)return{row:f,column:this.getLine(f).length};r=this.getLine(o),p=null}var m=0,v=Math.floor(e-a);if(this.$useWrapMode){var y=this.$wrapData[o];y&&(i=y[v],v>0&&y.length&&(m=y.indent,s=y[v-1]||y[y.length-1],r=r.substring(s)))}return void 0!==n&&this.$bidiHandler.isBidiRow(a+v,o,v)&&(t=this.$bidiHandler.offsetToCol(n)),s+=this.$getStringScreenWidth(r,t-m)[1],this.$useWrapMode&&s>=i&&(s=i-1),p?p.idxToPosition(s):{row:o,column:s}},this.documentToScreenPosition=function(e,t){if(void 0===t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r,i=0,o=null;(r=this.getFoldAt(e,t,1))&&(e=r.start.row,t=r.start.column);var s,a=0,l=this.$docRowCache,u=this.$getRowCacheIndex(l,e),c=l.length;if(c&&u>=0){a=l[u],i=this.$screenRowCache[u];var h=e>l[c-1]}else h=!c;for(var d=this.getNextFoldLine(a),f=d?d.start.row:1/0;a<e;){if(a>=f){if((s=d.end.row+1)>e)break;f=(d=this.getNextFoldLine(s,d))?d.start.row:1/0}else s=a+1;i+=this.getRowLength(a),a=s,h&&(this.$docRowCache.push(a),this.$screenRowCache.push(i))}var p="";d&&a>=f?(p=this.getFoldDisplayLine(d,e,t),o=d.start.row):(p=this.getLine(e).substring(0,t),o=e);var g=0;if(this.$useWrapMode){var m=this.$wrapData[o];if(m){for(var v=0;p.length>=m[v];)i++,v++;p=p.substring(m[v-1]||0,p.length),g=v>0?m.indent:0}}return{row:i,column:g+this.$getStringScreenWidth(p)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,i=(a=0,(t=this.$foldData[a++])?t.start.row:1/0);r<n;){var o=this.$wrapData[r];e+=o?o.length+1:1,++r>i&&(r=t.end.row+1,i=(t=this.$foldData[a++])?t.start.row:1/0)}else{e=this.getLength();for(var s=this.$foldData,a=0;a<s.length;a++)e-=(t=s[a]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,r){if(0===n)return[0,0];var i,o;for(n||(n=1/0),r=r||0,o=0;o<t.length&&!((r+="\t"===(i=t.charAt(o))?this.getScreenTabSize(r):e.getCharacterWidth(i))>n);o++);return[r,o]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=h}.call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),o=e("./range").Range,s=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,s){return r=new o(e,n,i,s),!(n==s&&t.start&&t.start.start&&0!=t.skipCurrent&&r.isEqual(t.start))||(r=null,!1)}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),s=[],a=t.re;if(t.$isMultiLine){var l,u=a.length,c=i.length-u;e:for(var h=a.offset||0;h<=c;h++){for(var d=0;d<u;d++)if(-1==i[h+d].search(a[d]))continue e;var f=i[h],p=i[h+u-1],g=f.length-f.match(a[0])[0].length,m=p.match(a[u-1])[0].length;l&&l.end.row===h&&l.end.column>g||(s.push(l=new o(h,g,h+u-1,m)),u>2&&(h=h+u-2))}}else for(var v=0;v<i.length;v++){var y=r.getMatchOffsets(i[v],a);for(d=0;d<y.length;d++){var b=y[d];s.push(new o(v,b.offset,v,b.offset+b.length))}}if(n){var w=n.start.column,x=n.start.column;for(v=0,d=s.length-1;v<d&&s[v].start.column<w&&s[v].start.row==n.start.row;)v++;for(;v<d&&s[d].end.column>x&&s[d].end.row==n.end.row;)d--;for(s=s.slice(v,d+1),v=0,d=s.length;v<d;v++)s[v].start.row+=n.start.row,s[v].end.row+=n.start.row}return s},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(r){var i=r.exec(e);if(!i||i[0].length!=e.length)return null;if(t=e.replace(r,t),n.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var s=e[o];s&&s.toLowerCase()!=s?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n=function(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}(n,e));var i=e.caseSensitive?"gm":"gmi";if(e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var o=new RegExp(n,i)}catch(e){o=!1}return e.re=o},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[],i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(e){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=1==t.backwards,i=0!=t.skipCurrent,o=t.range,s=t.start;s||(s=o?o[r?"end":"start"]:e.selection.getRange()),s.start&&(s=s[i!=r?"end":"start"]);var a=o?o.start.row:0,l=o?o.end.row:e.getLength()-1;if(r)var u=function(e){var n=s.row;if(!h(n,s.column,e)){for(n--;n>=a;n--)if(h(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=l,a=s.row;n>=a;n--)if(h(n,Number.MAX_VALUE,e))return}};else u=function(e){var n=s.row;if(!h(n,s.column,e)){for(n+=1;n<=l;n++)if(h(n,0,e))return;if(0!=t.wrap)for(n=a,l=s.row;n<=l;n++)if(h(n,0,e))return}};if(t.$isMultiLine)var c=n.length,h=function(t,i,o){var s=r?t-c+1:t;if(!(s<0)){var a=e.getLine(s),l=a.search(n[0]);if(!(!r&&l<i||-1===l)){for(var u=1;u<c;u++)if(-1==(a=e.getLine(s+u)).search(n[u]))return;var h=a.match(n[c-1])[0].length;if(!(r&&h>i))return!!o(s,l,s+c-1,h)||void 0}}};else if(r)h=function(t,r,i){var o,s=e.getLine(t),a=[],l=0;for(n.lastIndex=0;o=n.exec(s);){var u=o[0].length;if(l=o.index,!u){if(l>=s.length)break;n.lastIndex=l+=1}if(o.index+u>r)break;a.push(o.index,u)}for(var c=a.length-1;c>=0;c-=2){var h=a[c-1];if(i(t,h,t,h+(u=a[c])))return!0}};else h=function(t,r,i){var o,s=e.getLine(t),a=r;for(n.lastIndex=r;o=n.exec(s);){var l=o[0].length;if(i(t,a=o.index,t,a+l))return!0;if(!l&&(n.lastIndex=a+=1,a>=s.length))return!1}};return{forEach:u}}}).call(s.prototype),t.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/useragent"),o=r.KEY_MODS;function s(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function a(e,t){s.call(this,e,t),this.$singleCommand=!1}a.prototype=s.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&("string"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var o=r[i];if(o==e)delete r[i];else if(Array.isArray(o)){var s=o.indexOf(e);-1!=s&&(o.splice(s,1),1==o.length&&(r[i]=o[0]))}}},this.bindKey=function(e,t,n){if("object"==typeof e&&e&&(void 0==n&&(n=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach(function(e){var r="";if(-1!=e.indexOf(" ")){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var s=this.parseKeys(e),a=o[s.hashId]+s.key;this._addCommandToBinding(r+a,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i,o=this.commandKeyBinding;if(n)if(!o[t]||this.$singleCommand)o[t]=n;else{Array.isArray(o[t])?-1!=(i=o[t].indexOf(n))&&o[t].splice(i,1):o[t]=[o[t]],"number"!=typeof r&&(r=e(n));var s=o[t];for(i=0;i<s.length;i++){if(e(s[i])>r)break}s.splice(i,0,n)}else delete o[t]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if("string"==typeof n)return this.bindKey(n,t);"function"==typeof n&&(n={exec:n}),"object"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:n.toUpperCase(),hashId:-1}}for(var o=0,s=t.length;s--;){var a=r.KEY_MODS[t[s]];if(null==a)return"undefined"!=typeof console&&console.error("invalid modifier "+t[s]+" in "+e),!1;o|=a}return{key:n,hashId:o}},this.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,r){if(!(r<0)){var i=o[t]+n,s=this.commandKeyBinding[i];return e.$keyChain&&(e.$keyChain+=" "+i,s=this.commandKeyBinding[e.$keyChain]||s),!s||"chainKeys"!=s&&"chainKeys"!=s[s.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(-1==t||r>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-i.length-1)),{command:s}):(e.$keyChain=e.$keyChain||i,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(s.prototype),t.HashHandler=s,t.MultiHashHandler=a}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,s=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(s,i),function(){r.implement(this,o),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),!1!==i.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(s.prototype),t.CommandManager=s}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=e("../config"),o=e("../range").Range;function s(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:s("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:s("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:s("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:s("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:s("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:s("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:s(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),s=e.session.doc.getLine(n.row).length,a=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,l=e.session.doc.getLine(n.row),u=n.row+1;u<=i.row+1;u++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(u)));0!==c.length&&(c=" "+c),l+=c}i.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new o(n.row,0,i.row+2,0),l),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(s=e.session.doc.getLine(n.row).length>s?s+1:s,e.selection.moveCursorTo(n.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:s(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var s=0;s<r.length;s++)s==r.length-1&&(r[s].end.row===t&&r[s].end.column===n||i.push(new o(r[s].end.row,r[s].end.column,t,n))),0===s?0===r[s].start.row&&0===r[s].start.column||i.push(new o(0,0,r[s].start.row,r[s].start.column)):i.push(new o(r[s-1].end.row,r[s-1].end.column,r[s].start.row,r[s].start.column));e.exitMultiSelectMode(),e.clearSelection();for(s=0;s<i.length;s++)e.selection.addRange(i[s],!1)},readOnly:!0,scrollIntoView:"none"}]}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./lib/lang"),s=e("./lib/useragent"),a=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,u=e("./mouse/fold_handler").FoldHandler,c=e("./keyboard/keybinding").KeyBinding,h=e("./edit_session").EditSession,d=e("./search").Search,f=e("./range").Range,p=e("./lib/event_emitter").EventEmitter,g=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,v=e("./config"),y=e("./token_iterator").TokenIterator,b=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.id="editor"+ ++b.$uid,this.commands=new g(s.isMac?"mac":"win",m),"object"==typeof document&&(this.textInput=new a(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new l(this),new u(this)),this.keyBinding=new c(this),this.$blockScrolling=0,this.$search=(new d).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new h("")),v.resetOptions(this),v._signal("editor",this)};b.$uid=0,function(){r.implement(this,p),this.$initOperationListeners=function(){this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=o.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&void 0!==this.curOp.command.scrollIntoView&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&!1===e.returnValue)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var i=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&-1!==n.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:-1!==n.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e){this.$keybindingId=e;var n=this;v.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new f(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1==i.type.indexOf("tag-open")||(i=r.stepForward())){var o=i.value,s=0,a=r.stepBackward();if("<"==a.value)do{a=i,(i=r.stepForward())&&i.value===o&&-1!==i.type.indexOf("tag-name")&&("<"===a.value?s++:"</"===a.value&&s--)}while(i&&s>=0);else{do{i=a,a=r.stepBackward(),i&&i.value===o&&-1!==i.type.indexOf("tag-name")&&("<"===a.value?s++:"</"===a.value&&s--)}while(a&&s<=0);r.stepForward()}if(!i)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var l=r.getCurrentTokenRow(),u=r.getCurrentTokenColumn(),c=new f(l,u,l,u+i.value.length),h=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&void 0!=h&&0!==c.compareRange(h.range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),c&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(c,"ace_bracket","text"))}}},50)}},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(v.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new f(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,"ace_active-line","screenLine"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),o=i.length,s=i.substring(Math.max(n,0),Math.min(r,o));if(!(n>=0&&/^[\w\d]/.test(s)||r<=o&&/[\w\d]$/.test(s)))if(s=i.substring(t.start.column,t.end.column),/^[\w\d]+$/.test(s))return this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:s})}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var o=r[i];o.isEmpty()||this.session.remove(o),this.session.insert(o.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=r.transformAction(n.getState(i.row),"insertion",this,n,e);o&&(e!==o.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(s=new f.fromPoints(i,i)).end.column+=e.length,this.session.remove(s)}}else{var s=this.getSelectionRange();i=this.session.remove(s),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=n.getLine(i.row);if(i.column>a.search(/\S|$/)){var l=a.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+l)}}this.clearSelection();var u=i.column,c=n.getState(i.row),h=(a=n.getLine(i.row),r.checkOutdent(c,a,e));n.insert(i,e);if(o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new f(i.row,u+o.selection[0],i.row,u+o.selection[1])):this.selection.setSelectionRange(new f(i.row+o.selection[0],o.selection[1],i.row+o.selection[2],o.selection[3]))),n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(c,a.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}h&&r.autoOutdent(c,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(0===t.end.column){var o=n.getTextRange(t);if("\n"==o[o.length-1]){var s=n.getLine(t.end.row);/^\s+$/.test(s)&&(t.end.column=s.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,i=this.session.getLine(e.row);t<i.length?(n=i.charAt(t)+i.charAt(t-1),r=new f(e.row,t-1,e.row,t+1)):(n=i.charAt(t-1)+i.charAt(t-2),r=new f(e.row,t-2,e.row,t)),this.session.replace(r,n),this.session.selection.moveToPosition(r.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row)){if(t.start.column<t.end.column){var n=e.getTextRange(t);if(!/^\s+$/.test(n)){c=this.$getSelectedRows();return void e.indentRows(c.first,c.last,"\t")}}var r=e.getLine(t.start.row),i=t.start,s=e.getTabSize(),a=e.documentToScreenColumn(i.row,i.column);if(this.session.getUseSoftTabs())var l=s-a%s,u=o.stringRepeat(" ",l);else{for(l=a%s;" "==r[t.start.column-1]&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),u="\t"}return this.insert(u)}var c=this.$getSelectedRows();e.indentRows(c.first,c.last,"\t")},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"\t")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var i=new f(0,0,0,0);for(r=e.first;r<=e.last;r++){var o=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=o.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t)return{value:i[0],start:i.index,end:i.index+i[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new f(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var o=this.getNumberAt(t,n);if(o){var s=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-s,l=parseFloat(o.value);l*=Math.pow(10,a),s!==o.end&&n<s?e*=Math.pow(10,o.end-n-1):e*=Math.pow(10,o.end-n),l+=e;var u=(l/=Math.pow(10,a)).toFixed(a),c=new f(t,o.start,t,o.end);this.session.replace(c,u),this.moveCursorTo(t,Math.max(o.start+1,n+u.length-o.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var o=r?n.start:n.end,s=t.insert(o,t.getTextRange(n),!1);n.start=o,n.end=s,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var o=i.toOrientedRange();n=this.$getSelectedRows(o),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&-1==e&&(r=0),o.moveBy(r,0),i.fromOrientedRange(o)}else{var s=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var a=0,l=0,u=s.length,c=0;c<u;c++){var h=c;s[c].moveBy(a,0);for(var d=(n=this.$getSelectedRows(s[c])).first,f=n.last;++c<u;){l&&s[c].moveBy(l,0);var p=this.$getSelectedRows(s[c]);if(t&&p.first!=f)break;if(!t&&p.first>f+1)break;f=p.last}for(c--,a=this.session.$moveLines(d,f,t?0:e),t&&-1==e&&(h=c+1);h<=c;)s[h].moveBy(a,0),h++;t||(a=0),l+=a}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):!1===t&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var o=n.scrollTop;n.scrollBy(0,i*r.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),o=i||r.stepForward();if(o){var s,a,l=!1,u={},c=n.column-o.start,h={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;c<o.value.length&&!l;c++)if(h[o.value[c]])switch(a=h[o.value[c]]+"."+o.type.replace("rparen","lparen"),isNaN(u[a])&&(u[a]=0),o.value[c]){case"(":case"[":case"{":u[a]++;break;case")":case"]":case"}":u[a]--,-1===u[a]&&(s="bracket",l=!0)}}else o&&-1!==o.type.indexOf("tag-name")&&(isNaN(u[o.value])&&(u[o.value]=0),"<"===i.value?u[o.value]++:"</"===i.value&&u[o.value]--,-1===u[o.value]&&(s="tag",l=!0));l||(i=o,o=r.stepForward(),c=0)}while(o&&!l);if(s){var d,p;if("bracket"===s)(d=this.session.getBracketRange(n))||(p=(d=new f(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1)).start,(t||p.row===n.row&&Math.abs(p.column-n.column)<2)&&(d=this.session.getBracketRange(p)));else if("tag"===s){if(!o||-1===o.type.indexOf("tag-name"))return;var g=o.value;if(0===(d=new f(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2)).compare(n.row,n.column)){l=!1;do{o=i,(i=r.stepBackward())&&(-1!==i.type.indexOf("tag-close")&&d.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),o.value===g&&-1!==o.type.indexOf("tag-name")&&("<"===i.value?u[g]++:"</"===i.value&&u[g]--,0===u[g]&&(l=!0)))}while(i&&!l)}o&&o.type.indexOf("tag-name")&&(p=d.start).row==n.row&&Math.abs(p.column-n.column)<2&&(p=d.end)}(p=d&&d.cursor||p)&&(e?d&&t?this.selection.setRange(d):d&&d.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(p.row,p.column):this.selection.moveTo(p.row,p.column))}}},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),null!==n&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var o=n.length-1;o>=0;--o)this.$tryReplace(n[o],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return null!==(t=this.$search.replace(n,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&r.mixin(t,e);var i=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(i)||this.$search.$options.needle)||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var o=this.$search.find(this.session);return t.preventScroll?o:o?(this.revealRange(o,n),o):(t.backwards?i.start=i.end:i.end=i.start,void this.selection.setRange(i))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var o=this.on("changeSelection",function(){r=!0}),s=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),a=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,o=e.$cursorLayer.$pixelPos,s=e.layerConfig,a=o.top-s.offset;null!=(r=o.top>=0&&a+t.top<0||!(o.top<s.height&&o.top+t.top+s.lineHeight>window.innerHeight)&&null)&&(i.style.top=a+"px",i.style.left=o.left+"px",i.style.height=s.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",o),this.renderer.off("afterRender",a),this.renderer.off("beforeRender",s))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}.call(b.prototype),v.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e.lines.length?null:e.lines,text:1==e.lines.length?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){for(var n=new Array(e.length),r=0;r<e.length;r++){for(var i=e[r],o={group:i.group,deltas:new Array(i.length)},s=0;s<i.deltas.length;s++){var a=i.deltas[s];o.deltas[s]=t(a)}n[r]=o}return n}this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(this.$deserializeDeltas(t),e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/lang"),s=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,s),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var s=n.text;s=s?o.escapeHTML(s):n.html||"",-1===i.text.indexOf(s)&&i.text.push(s);var a=n.type;"error"==a?i.className=" ace_error":"warning"==a&&" ace_error"!=i.className?i.className=" ace_warning":"info"!=a||i.className||(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if("remove"==e.action)this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}}},this.update=function(e){for(var t=this.session,n=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),o=t.getNextFoldLine(n),s=o?o.start.row:1/0,a=this.$showFoldWidgets&&t.foldWidgets,l=t.$breakpoints,u=t.$decorations,c=t.$firstLineNumber,h=0,d=t.gutterRenderer||this.$renderer,f=null,p=-1,g=n;;){if(g>s&&(g=o.end.row+1,s=(o=t.getNextFoldLine(g,o))?o.start.row:1/0),g>i){for(;this.$cells.length>p+1;)f=this.$cells.pop(),this.element.removeChild(f.element);break}(f=this.$cells[++p])||((f={element:null,textNode:null,foldWidget:null}).element=r.createElement("div"),f.textNode=document.createTextNode(""),f.element.appendChild(f.textNode),this.element.appendChild(f.element),this.$cells[p]=f);var m="ace_gutter-cell ";if(l[g]&&(m+=l[g]),u[g]&&(m+=u[g]),this.$annotations[g]&&(m+=this.$annotations[g].className),f.element.className!=m&&(f.element.className=m),(y=t.getRowLength(g)*e.lineHeight+"px")!=f.element.style.height&&(f.element.style.height=y),a){var v=a[g];null==v&&(v=a[g]=t.getFoldWidget(g))}if(v){f.foldWidget||(f.foldWidget=r.createElement("span"),f.element.appendChild(f.foldWidget));m="ace_fold-widget ace_"+v;"start"==v&&g==s&&g<o.end.row?m+=" ace_closed":m+=" ace_open",f.foldWidget.className!=m&&(f.foldWidget.className=m);var y=e.lineHeight+"px";f.foldWidget.style.height!=y&&(f.foldWidget.style.height=y)}else f.foldWidget&&(f.element.removeChild(f.foldWidget),f.foldWidget=null);var b=h=d?d.getText(t,g):g+c;b!==f.textNode.data&&(f.textNode.data=b),g++}this.element.style.height=e.minHeight+"px",(this.$fixedWidth||t.$useWrapMode)&&(h=t.getLength()+c);var w=d?d.getWidth(t,h,e):h.toString().length*e.characterWidth,x=this.$padding||this.$computePadding();(w+=x.left+x.right)===this.gutterWidth||isNaN(w)||(this.gutterWidth=w,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",w))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?"markers":this.$showFoldWidgets&&e.x>n.right-t.right?"foldWidgets":void 0}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),o=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){if(e){this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(r.range){var i=r.range.clipRows(e.firstRow,e.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),r.renderer){var o=this.$getTop(i.start.row,e),s=this.$padding+(this.session.$bidiHandler.isBidiRow(i.start.row)?this.session.$bidiHandler.getPosLeft(i.start.column):i.start.column*e.characterWidth);r.renderer(t,i,s,o,e)}else"fullLine"==r.type?this.drawFullLineMarker(t,i,r.clazz,e):"screenLine"==r.type?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?"text"==r.type?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.session.$bidiHandler.isBidiRow(i.start.row)?this.drawBidiSingleLineMarker(t,i,r.clazz+" ace_start ace_br15",e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start ace_br15",e)}else r.update(t,this,this.session,e)}this.element.innerHTML=t.join("")}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,o){for(var s=this.session,a=t.start.row,l=t.end.row,u=a,c=0,h=0,d=s.getScreenLastRowColumn(u),f=null,p=new r(u,t.start.column,u,h);u<=l;u++)p.start.row=p.end.row=u,p.start.column=u==a?t.start.column:s.getRowWrapIndent(u),p.end.column=d,c=h,h=d,d=u+1<l?s.getScreenLastRowColumn(u+1):u==l?0:t.end.column,f=n+(u==a?" ace_start":"")+" ace_br"+((u==a||u==a+1&&t.start.column?1:0)|(c<h?2:0)|(h>d?4:0)|(u==l?8:0)),this.session.$bidiHandler.isBidiRow(u)?this.drawBidiSingleLineMarker(e,p,f,i,u==l?0:1,o):this.drawSingleLineMarker(e,p,f,i,u==l?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var o,s,a,l=this.$padding;(i=i||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((u=t.clone()).end.row=u.start.row,u.end.column=this.session.getLine(u.start.row).length,this.drawBidiSingleLineMarker(e,u,n+" ace_br1 ace_start",r,null,i)):(o=r.lineHeight,s=this.$getTop(t.start.row,r),a=l+t.start.column*r.characterWidth,e.push("<div class='",n," ace_br1 ace_start' style='","height:",o,"px;","right:0;","top:",s,"px;","left:",a,"px;",i,"'></div>"));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var u;(u=t.clone()).start.row=u.end.row,u.start.column=0,this.drawBidiSingleLineMarker(e,u,n+" ace_br12",r,null,i)}else{var c=t.end.column*r.characterWidth;o=r.lineHeight,s=this.$getTop(t.end.row,r),e.push("<div class='",n," ace_br12' style='","height:",o,"px;","width:",c,"px;","top:",s,"px;","left:",l,"px;",i,"'></div>")}if(!((o=(t.end.row-t.start.row-1)*r.lineHeight)<=0)){s=this.$getTop(t.start.row+1,r);var h=(t.start.column?1:0)|(t.end.column?0:8);e.push("<div class='",n,h?" ace_br"+h:"","' style='","height:",o,"px;","right:0;","top:",s,"px;","left:",l,"px;",i,"'></div>")}},this.drawSingleLineMarker=function(e,t,n,r,i,o){var s=r.lineHeight,a=(t.end.column+(i||0)-t.start.column)*r.characterWidth,l=this.$getTop(t.start.row,r),u=this.$padding+t.start.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",s,"px;","width:",a,"px;","top:",l,"px;","left:",u,"px;",o||"","'></div>")},this.drawBidiSingleLineMarker=function(e,t,n,r,i,o){var s=r.lineHeight,a=this.$getTop(t.start.row,r),l=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach(function(t){e.push("<div class='",n,"' style='","height:",s,"px;","width:",t.width+(i||0),"px;","top:",a,"px;","left:",l+t.left,"px;",o||"","'></div>")})},this.drawFullLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),s=r.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,r)-o),e.push("<div class='",n,"' style='","height:",s,"px;","top:",o,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),s=r.lineHeight;e.push("<div class='",n,"' style='","height:",s,"px;","top:",o,"px;","left:0;right:0;",i||"","'></div>")}}).call(o.prototype),t.Marker=o}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),s=(e("../lib/useragent"),e("../lib/event_emitter").EventEmitter),a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,s),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.$updateEolChar=function(){var e="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+o.stringRepeat(this.TAB_CHAR,n)+"</span>"):t.push(o.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",s="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",s=" ace_invisible_tab";var a=o.stringRepeat(this.SPACE_CHAR,this.tabSize),l=o.stringRepeat(this.TAB_CHAR,this.tabSize)}else l=a=o.stringRepeat(" ",this.tabSize);this.$tabStrings[" "]="<span class='"+r+i+"'>"+a+"</span>",this.$tabStrings["\t"]="<span class='"+r+s+"'>"+l+"</span>"}},this.updateLines=function(e,t,n){this.config.lastRow==e.lastRow&&this.config.firstRow==e.firstRow||this.scrollLines(e),this.config=e;for(var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),o=this.element.childNodes,s=0,a=e.firstRow;a<r;a++){if(l=this.session.getFoldLine(a)){if(l.containsRow(r)){r=l.start.row;break}a=l.end.row}s++}a=r;for(var l,u=(l=this.session.getNextFoldLine(a))?l.start.row:1/0;a>u&&(a=l.end.row+1,u=(l=this.session.getNextFoldLine(a,l))?l.start.row:1/0),!(a>i);){var c=o[s++];if(c){var h=[];this.$renderLine(h,a,!this.$useLineGroups(),a==u&&l),c.style.height=e.lineHeight*this.session.getRowLength(a)+"px",c.innerHTML=h.join("")}a++}},this.scrollLines=function(e){var t=this.config;if(this.config=e,!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var i=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i)}if(e.lastRow>t.lastRow){i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){for(var r=this.element.ownerDocument.createDocumentFragment(),o=t,s=this.session.getNextFoldLine(o),a=s?s.start.row:1/0;o>a&&(o=s.end.row+1,a=(s=this.session.getNextFoldLine(o,s))?s.start.row:1/0),!(o>n);){var l=i.createElement("div"),u=[];if(this.$renderLine(u,o,!1,o==a&&s),l.innerHTML=u.join(""),this.$useLineGroups())l.className="ace_line_group",r.appendChild(l),l.style.height=e.lineHeight*this.session.getRowLength(o)+"px";else for(;l.firstChild;)r.appendChild(l.firstChild);o++}return r},this.update=function(e){this.config=e;for(var t=[],n=e.firstRow,r=e.lastRow,i=n,o=this.session.getNextFoldLine(i),s=o?o.start.row:1/0;i>s&&(i=o.end.row+1,s=(o=this.session.getNextFoldLine(i,o))?o.start.row:1/0),!(i>r);)this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(i),"px'>"),this.$renderLine(t,i,!1,i==s&&o),this.$useLineGroups()&&t.push("</div>"),i++;this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,s=r.replace(/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,function(e,n,r,s,a){if(n)return i.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+o.stringRepeat(i.SPACE_CHAR,e.length)+"</span>":e;if("&"==e)return"&#38;";if("<"==e)return"&#60;";if(">"==e)return"&#62;";if("\t"==e){var l=i.session.getScreenTabSize(t+s);return t+=l-1,i.$tabStrings[l]}if(" "==e){var u=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",c=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,"<span class='"+u+"' style='width:"+2*i.config.characterWidth+"px'>"+c+"</span>"}return r?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+2*i.config.characterWidth+"px'>"+e+"</span>")});if(this.$textToken[n.type])e.push(s);else{var a="ace_"+n.type.replace(/\./g," ace_"),l="";"fold"==n.type&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",a,"'",l,">",s,"</span>")}return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:" "==t[0]?(r-=r%this.tabSize,e.push(o.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):"\t"==t[0]?(e.push(o.stringRepeat(this.$tabStrings["\t"],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){for(var i=0,s=0,a=n[0],l=0,u=0;u<t.length;u++){var c=t[u],h=c.value;if(0==u&&this.displayIndentGuides){if(i=h.length,!(h=this.renderIndentGuide(e,h,a)))continue;i-=h.length}if(i+h.length<a)l=this.$renderToken(e,l,c,h),i+=h.length;else{for(;i+h.length>=a;)l=this.$renderToken(e,l,c,h.substring(0,a-i)),h=h.substring(a-i),i=a,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),e.push(o.stringRepeat(" ",n.indent)),l=0,a=n[++s]||Number.MAX_VALUE;0!=h.length&&(i+=h.length,l=this.$renderToken(e,l,c,h))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var o=1;o<t.length;o++)i=(r=t[o]).value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){if(r||0==r||(r=this.session.getFoldLine(t)),r)var i=this.$getFoldLineTokens(t,r);else i=this.session.getTokens(t);if(n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>"),i.length){var o=this.session.getRowSplitData(t);o&&o.length?this.$renderWrappedLine(e,i,o,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){var n=this.session,r=[];var i=n.getTokens(e);return t.walk(function(e,t,o,s,a){null!=e?r.push({type:"fold",value:e}):(a&&(i=n.getTokens(t)),i.length&&function(e,t,n){for(var i=0,o=0;o+e[i].value.length<t;)if(o+=e[i].value.length,++i==e.length)return;for(o!=t&&((s=e[i].value.substring(t-o)).length>n-t&&(s=s.substring(0,n-t)),r.push({type:e[i].type,value:s}),o=t+s.length,i+=1);o<n&&i<e.length;){var s;(s=e[i].value).length+o>n?r.push({type:e[i].type,value:s.substring(0,n-o)}):r.push(e[i]),o+=s.length,i+=1}}(i,s,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r,i=e("../lib/dom"),o=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),void 0===r&&(r=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),i.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(r?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||r||(this.smoothBlinking=e,i.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=i.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&i.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){i.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),top:(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);n=0;for(var i=t.length;n<i;n++){var o=this.getPixelPosition(t[n].cursor,!0);if(!((o.top>e.height+e.offset||o.top<0)&&n>1)){var s=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(s,o,e,t[n],this.session):(s.left=o.left+"px",s.top=o.top+"px",s.width=e.characterWidth+"px",s.height=e.lineHeight+"px")}}for(;this.cursors.length>r;)this.removeCursor();var a=this.session.getOverwrite();this.$setOverwrite(a),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?i.addCssClass(this.element,"ace_overwrite-cursors"):i.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(o.prototype),t.Cursor=o}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./lib/event"),s=e("./lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){r.implement(this,s),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var l=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(l,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>32768?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var u=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(u,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(u.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=u,t.VScrollBar=l,t.HScrollBar=u}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){var e;for(t.pending=!1;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),s=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,l=0,u=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),l||this.$testFractionalRect(),this.$measureNode.innerHTML=o.stringRepeat("X",l),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,a),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;l=t>0&&t<1?50:100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",s.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(50===l){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var t={height:e.height,width:e.width/l}}else t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/l};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,l),this.$main.getBoundingClientRect().width/l},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(u.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./config"),s=e("./lib/useragent"),a=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,u=e("./layer/text").Text,c=e("./layer/cursor").Cursor,h=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,f=e("./renderloop").RenderLoop,p=e("./layer/font_metrics").FontMetrics,g=e("./lib/event_emitter").EventEmitter;i.importCssString('.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_text-input-ios {position: absolute !important;top: -100000px !important;left: -100000px !important;}',"ace_editor.css");var m=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!s.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var r=this.$textLayer=new u(this.content);this.canvas=r.element,this.$markerFront=new l(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new d(this.container,this),this.scrollBarH=new h(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new f(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,g),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var o=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,o=this.$size,s={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};return r&&(e||o.height!=r)&&(o.height=r,i|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL),n&&(e||o.width!=n)&&(i|=this.CHANGE_SIZE,o.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(i|=this.CHANGE_FULL)),o.$dirty=!n||!r,i&&this._signal("resize",s),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i)r.top=r.left="0";else{var o=this.characterWidth;if(this.$composition){var s=this.textarea.value.replace(/^\x01+/,"");o*=this.session.$getStringScreenWidth(s)[0]+2,i+=2}(n-=this.scrollLeft)>this.$size.scrollerWidth-o&&(n=this.$size.scrollerWidth-o),n+=this.gutterWidth,r.height=i+"px",r.width=o+"px",r.left=Math.min(n,this.$size.scrollerWidth-o)+"px",r.top=Math.min(t,this.$size.height-i)+"px"}}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=0|e,i.bottom=0|t,i.right=0|r,i.left=0|n,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}if(e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL)return this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal("afterRender");if(e&this.CHANGE_SCROLL)return e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal("afterRender");e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength()*this.lineHeight,i=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),s=this.$horizScroll!==o;s&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var l=this.scrollTop%this.lineHeight,u=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;r+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,r-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+h.right)));var d=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-r+c<0||this.scrollTop>h.top),f=a!==d;f&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var p,g,m=Math.ceil(u/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-l)/this.lineHeight)),y=v+m,b=this.lineHeight;v=e.screenToDocumentRow(v,0);var w=e.getFoldLine(v);w&&(v=w.start.row),p=e.documentToScreenRow(v,0),g=e.getRowLength(v)*b,y=Math.min(e.screenToDocumentRow(y,0),e.getLength()-1),u=t.scrollerHeight+e.getRowLength(y)*b+g,l=this.scrollTop-p*b;var x=0;return this.layerConfig.width!=i&&(x=this.CHANGE_H_SCROLL),(s||f)&&(x=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),f&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:v,firstRowScreen:p,lastRow:y,lineHeight:b,characterWidth:this.characterWidth,minHeight:u,maxHeight:r,offset:l,gutterOffset:b?Math.max(0,Math.ceil((l+t.height-t.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},x},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1||t<n.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var r=this.$cursorLayer.getPixelPosition(e),i=r.left,o=r.top,s=n&&n.top||0,a=n&&n.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;l+s>o?(t&&l+s>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-a<o+this.lineHeight&&(t&&l+this.$size.scrollerHeight-a<o-this.lineHeight&&(o+=t*this.$size.scrollerHeight),this.session.setScrollTop(o+this.lineHeight-this.$size.scrollerHeight));var u=this.scrollLeft;u>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):u+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):u<=this.$padding&&i-u<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n,r,i=0,o=this.STEPS,s=[];for(i=0;i<o;++i)s.push((n=i/this.STEPS,r=e,(t-e)*(Math.pow(n-1,3)+1)+r));return s},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(i-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(i),!1!==n&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var r=this;if(e!=n){if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length&&(e=i[0])==n)return}var o=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:o},clearInterval(this.$timer),r.session.setScrollTop(o.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){o.length?(r.session.setScrollTop(o.shift()),r.session.$scrollTop=n):null!=n?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,i=r/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(i);return{row:o,column:s,side:i-s>0?1:-1,offsetX:r}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,i=Math.round(r/this.characterWidth),o=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(o,Math.max(i,0),r)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),o=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+o-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){var n=this;if(this.$themeId=e,n._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)s(e);else{var r=e||this.$options.theme.initialValue;o.loadModule(["theme",r],s)}function s(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var o="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&o!=n.$padding&&n.setPadding(o),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(m.prototype),o.defineOptions(m.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight)return this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",void this.$gutter.appendChild(this.$gutterLineHighlight);this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=m}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),o=e("../lib/event_emitter").EventEmitter,s=e("../config");function a(e,t){var n=function(e,t){var n=t.src;i.qualifyURL(e);try{return new Blob([n],{type:"application/javascript"})}catch(e){var r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return r.append(n),r.getBlob("application/javascript")}}(e,t),r=(window.URL||window.webkitURL).createObjectURL(n);return new Worker(r)}var l=function(t,n,r,i,o){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),s.get("packaged")||!e.toUrl)i=i||s.moduleUrl(n.id,"worker");else{var l=this.$normalizePath;i=i||l(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=l(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}this.$worker=a(i,n),o&&this.send("importScripts",o),this.$worker.postMessage({init:!0,tlns:u,module:n.id,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,o),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(l.prototype);var u=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,a=Object.create(o),l=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){l.messageBuffer.push(e),r&&(i?setTimeout(u):u())},this.setEmitSync=function(e){i=e};var u=function(){var e=l.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&a._signal(e.event,e.data)};a.postMessage=function(e){l.onMessage({data:e})},a.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},a.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},s.loadModule(["worker",t],function(e){for(r=new e[n](a);l.messageBuffer.length;)u()})};u.prototype=l.prototype,t.UIWorkerClient=u,t.WorkerClient=l,t.createWorker=a}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop"),s=function(e,t,n,r,i,o){var s=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=n;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){o.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,o=t.start.column-this.pos.column;if(this.updateAnchors(e),i&&(this.length+=n),i&&!this.session.$fromUndo)if("insert"===e.action)for(var s=this.others.length-1;s>=0;s--){var a={row:(l=this.others[s]).row,column:l.column+o};this.doc.insertMergedLines(a,e.lines)}else if("remove"===e.action)for(s=this.others.length-1;s>=0;s--){var l;a={row:(l=this.others[s]).row,column:l.column+o};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(s.prototype),t.PlaceHolder=s}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent");function o(e,t){return e.row==t.row&&e.column==t.column}t.onMouseDown=function(e){var t=e.domEvent,n=t.altKey,s=t.shiftKey,a=t.ctrlKey,l=e.getAccelKey(),u=e.getButton();if(a&&i.isMac&&(u=t.button),e.editor.inMultiSelectMode&&2==u)e.editor.textInput.onContextMenu(e.domEvent);else if(a||n||l){if(0===u){var c,h=e.editor,d=h.selection,f=h.inMultiSelectMode,p=e.getDocumentPosition(),g=d.getCursor(),m=e.inSelection()||d.isEmpty()&&o(p,g),v=e.x,y=e.y,b=h.session,w=h.renderer.pixelToScreenCoordinates(v,y),x=w;if(h.$mouseHandler.$enableJumpToDef)a&&n||l&&n?c=s?"block":"add":n&&h.$blockSelectEnabled&&(c="block");else if(l&&!n){if(c="add",!f&&s)return}else n&&h.$blockSelectEnabled&&(c="block");if(c&&i.isMac&&t.ctrlKey&&h.$mouseHandler.cancelContextMenu(),"add"==c){if(!f&&m)return;if(!f){var C=d.toOrientedRange();h.addSelectionMarker(C)}var k=d.rangeList.rangeAtPoint(p);h.$blockScrolling++,h.inVirtualSelectionMode=!0,s&&(k=null,C=d.ranges[0]||C,h.removeSelectionMarker(C)),h.once("mouseup",function(){var e=d.toOrientedRange();k&&e.isEmpty()&&o(k.cursor,e.cursor)?d.substractPoint(e.cursor):(s?d.substractPoint(C.cursor):C&&(h.removeSelectionMarker(C),d.addRange(C)),d.addRange(e)),h.$blockScrolling--,h.inVirtualSelectionMode=!1})}else if("block"==c){var A;e.stop(),h.inVirtualSelectionMode=!0;var E=[];h.$blockScrolling++,f&&!l?d.toSingleRange():!f&&l&&(A=d.toOrientedRange(),h.addSelectionMarker(A)),s?w=b.documentToScreenPosition(d.lead):d.moveToPosition(p),h.$blockScrolling--,x={row:-1,column:-1};var _=function(){var e=h.renderer.pixelToScreenCoordinates(v,y),t=b.screenToDocumentPosition(e.row,e.column,e.offsetX);o(x,e)&&o(t,d.lead)||(x=e,h.$blockScrolling++,h.selection.moveToPosition(t),h.renderer.scrollCursorIntoView(),h.removeSelectionMarkers(E),E=d.rectangularRangeBlock(x,w),h.$mouseHandler.$clickSelection&&1==E.length&&E[0].isEmpty()&&(E[0]=h.$mouseHandler.$clickSelection.clone()),E.forEach(h.addSelectionMarker,h),h.updateSelectionMarkers(),h.$blockScrolling--)};r.capture(h.container,function(e){v=e.clientX,y=e.clientY},function(e){clearInterval(S),h.removeSelectionMarkers(E),E.length||(E=[d.toOrientedRange()]),h.$blockScrolling++,A&&(h.removeSelectionMarker(A),d.toSingleRange(A));for(var t=0;t<E.length;t++)d.addRange(E[t]);h.inVirtualSelectionMode=!1,h.$mouseHandler.$clickSelection=null,h.$blockScrolling--});var S=setInterval(function(){_()},20);return e.preventDefault()}}}else 0===u&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){var r=e("./range_list").RangeList,i=e("./range").Range,o=e("./selection").Selection,s=e("./mouse/multi_select_handler").onMouseDown,a=e("./lib/event"),l=e("./lib/lang"),u=e("./commands/multi_select_commands");t.commands=u.defaultCommands.concat(u.multiSelectCommands);var c=new(0,e("./search").Search);var h=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(h.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new r,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{n=this.getRange();var r=this.isBackwards(),o=n.start.row,s=n.end.row;if(o==s){if(r)var a=n.end,l=n.start;else a=n.start,l=n.end;return this.addRange(i.fromPoints(l,l)),void this.addRange(i.fromPoints(a,a))}var u=[],c=this.getLineRange(o,!0);c.start.column=n.start.column,u.push(c);for(var h=o+1;h<s;h++)u.push(this.getLineRange(h,!0));(c=this.getLineRange(s,!0)).end.column=n.end.column,u.push(c),u.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),o=this.session.documentToScreenPosition(this.selectionAnchor);this.rectangularRangeBlock(r,o).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],o=e.column<t.column;if(o)var s=e.column,a=t.column,l=e.offsetX,u=t.offsetX;else s=t.column,a=e.column,l=t.offsetX,u=e.offsetX;var c,h,d=e.row<t.row;if(d)var f=e.row,p=t.row;else f=t.row,p=e.row;s<0&&(s=0),f<0&&(f=0),f==p&&(n=!0);for(var g=f;g<=p;g++){var m=i.fromPoints(this.session.screenToDocumentPosition(g,s,l),this.session.screenToDocumentPosition(g,a,u));if(m.isEmpty()){if(v&&(c=m.end,h=v,c.row==h.row&&c.column==h.column))break;var v=m.end}m.cursor=o?m.start:m.end,r.push(m)}if(d&&r.reverse(),!n){for(var y=r.length-1;r[y].isEmpty()&&y>0;)y--;if(y>0)for(var b=0;r[b].isEmpty();)b++;for(var w=y;w>=b;w--)r[w].isEmpty()&&r.splice(w,1)}return r}}.call(o.prototype);var d=e("./editor").Editor;function f(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",s),e.commands.addCommands(u.defaultCommands),function(e){var t=e.textInput.getElement(),n=!1;function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}a.addListener(t,"keydown",function(t){var i=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),a.addListener(t,"keyup",r),a.addListener(t,"blur",r)}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var i=t.indexOf(r);-1!=i&&t.splice(i,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(u.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(u.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?r=n.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?r=n.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r,i=n&&n.keepOrder,s=1==n||n&&n.$byLines,a=this.session,l=this.selection,u=l.rangeList,c=(i?l:u).ranges;if(!c.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var h=l._eventRegistry;l._eventRegistry={};var d=new o(a);this.inVirtualSelectionMode=!0;for(var f=c.length;f--;){if(s)for(;f>0&&c[f].start.row==c[f-1].end.row;)f--;d.fromOrientedRange(c[f]),d.index=f,this.selection=a.selection=d;var p=e.exec?e.exec(this,t||{}):e(this,t||{});r||void 0===p||(r=p),d.toOrientedRange(c[f])}d.detach(),this.selection=a.selection=l,this.inVirtualSelectionMode=!1,l._eventRegistry=h,l.mergeOverlappingRanges();var g=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),g&&g.from==g.to&&this.renderer.animateScrolling(g.from),r}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();(e=n.join(i)).length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row==t.row&&this.session.$clipPositionToDocument(r.row,r.column).column==t.column||this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){if((t=t||{}).needle=e||t.needle,void 0==t.needle){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;this.$blockScrolling+=1;var o=this.multiSelect;n||o.toSingleRange(i[0]);for(var s=i.length;s--;)o.addRange(i[s],!0);return r&&o.rangeList.rangeAtPoint(r.start)&&o.addRange(r,!0),this.$blockScrolling-=1,i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,o=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(o.column=this.selection.$desiredColumn);var s,a=this.session.screenToDocumentPosition(o.row+e,o.column);if(n.isEmpty())u=a;else var l=this.session.documentToScreenPosition(r?n.end:n.start),u=this.session.screenToDocumentPosition(l.row+e,l.column);r?(s=i.fromPoints(a,u)).cursor=s.start:(s=i.fromPoints(u,a)).cursor=s.end;if(s.desiredColumn=o.column,this.selection.inMultiSelectMode){if(t)var c=n.cursor}else this.selection.addRange(n);this.selection.addRange(s),c&&this.selection.substractPoint(c)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,r=n.ranges,i=r.length;i--;){if((a=r[i]).isEmpty()){var o=t.getWordRange(a.start.row,a.start.column);a.start.row=o.start.row,a.start.column=o.start.column,a.end.row=o.end.row,a.end.column=o.end.column}}n.mergeOverlappingRanges();var s=[];for(i=r.length;i--;){var a=r[i];s.unshift(t.getTextRange(a))}e<0?s.unshift(s.pop()):s.push(s.shift());for(i=r.length;i--;){o=(a=r[i]).clone();t.replace(a,s[i]),a.start.row=o.start.row,a.start.column=o.start.column}},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect.toOrientedRange();if(!i.isEmpty()||((i=r.getWordRange(i.start.row,i.start.column)).cursor=-1==e?i.start:i.end,this.multiSelect.addRange(i),!n)){var o=function(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=-1==n,c.find(e)}(r,r.getTextRange(i),e);o&&(o.cursor=-1==e?o.start:o.end,this.$blockScrolling+=1,this.session.unfold(o),this.multiSelect.addRange(o),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(i.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,o=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(n.length&&o.length!=n.length-1){o.forEach(function(e){t.substractPoint(e.cursor)});var s=0,a=1/0,u=n.map(function(t){var n=t.cursor,r=e.getLine(n.row).substr(n.column).search(/\S/g);return-1==r&&(r=0),n.column>s&&(s=n.column),r<a&&(a=r),r});n.forEach(function(t,n){var r=t.cursor,o=s-r.column,c=u[n]-a;o>c?e.insert(r,l.stringRepeat(" ",o-c)):e.remove(new i(r.row,r.column,r.row,r.column-o+c)),t.start.column=t.end.column=s,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var c=this.selection.getRange(),h=c.start.row,d=c.end.row,f=h==d;if(f){var p,g=this.session.getLength();do{p=this.session.getLine(d)}while(/[=:]/.test(p)&&++d<g);do{p=this.session.getLine(h)}while(/[=:]/.test(p)&&--h>0);h<0&&(h=0),d>=g&&(d=g-1)}var m=this.session.removeFullLines(h,d);m=this.$reAlignText(m,f),this.session.insert({row:h,column:0},m.join("\n")+"\n"),f||(c.start.column=0,c.end.column=m[m.length-1].length),this.selection.setRange(c)}},this.$reAlignText=function(e,t){var n,r,i,o=!0,s=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==n?(n=t[1].length,r=t[2].length,i=t[3].length,t):(n+r+i!=t[1].length+t[2].length+t[3].length&&(s=!1),n!=t[1].length&&(o=!1),n>t[1].length&&(n=t[1].length),r<t[2].length&&(r=t[2].length),i>t[3].length&&(i=t[3].length),t):[e]}).map(t?u:o?s?function(e){return e[2]?a(n+r-e[2].length)+e[2]+a(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:u:function(e){return e[2]?a(n)+e[2]+a(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function a(e){return l.stringRepeat(" ",e)}function u(e){return e[2]?a(n)+e[2]+a(r-e[2].length+i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=f,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){f(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",s)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",s))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,o=e.getLine(t),s=o.search(i);if(-1!=s){for(var a=n||o.length,l=e.getLength(),u=t,c=t;++t<l;){var h=e.getLine(t).search(i);if(-1!=h){if(h<=s)break;c=t}}if(c>u){var d=e.getLine(c).length;return new r(u,a,c,d)}}},this.openingBracketBlock=function(e,t,n,i,o){var s={row:n,column:i+1},a=e.$findClosingBracket(t,s,o);if(a){var l=e.foldWidgets[a.row];return null==l&&(l=e.getFoldWidget(a.row)),"start"==l&&a.row>s.row&&(a.row--,a.column=e.getLine(a.row).length),r.fromPoints(s,a)}},this.closingBracketBlock=function(e,t,n,i,o){var s={row:n,column:i},a=e.$findOpeningBracket(t,s);if(a)return a.column++,s.column--,r.fromPoints(a,s)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";e("./lib/oop");var r=e("./lib/dom");e("./range").Range;function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var r=e.data,i=r.start.row,o=r.end.row,s="add"==e.action,a=i+1;a<o;a++)n[a]&&(n[a].hidden=s);n[o]&&(s?n[i]?n[o].hidden=s:n[i]=n[o]:(n[i]==n[o]&&(n[i]=void 0),n[o].hidden=s))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,r=e.end.row-n;if(0===r);else if("remove"==e.action){t.splice(n+1,r).forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var i=new Array(r);i.unshift(n,0),t.splice.apply(t,i),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement("div"),e.el.innerHTML=e.html),e.el&&(r.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var i=this.session.getFoldAt(e.row,0);if(e.$fold=i,i){var o=this.session.lineWidgets;e.row!=i.end.row||o[i.start.row]?e.hidden=!0:o[i.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],r=[];n;)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(n&&n.length){for(var i=1/0,o=0;o<n.length;o++){var s=n[o];if(s&&s.el&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,t.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/r.characterWidth));var a=s.h/r.lineHeight;s.coverLine&&(a-=this.session.getRowLineCount(s.row))<0&&(a=0),s.rowCount!=a&&(s.rowCount=a,s.row<i&&(i=s.row))}}i!=1/0&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(r){for(var i=Math.min(this.firstRow,n.firstRow),o=Math.max(this.lastRow,n.lastRow,r.length);i>0&&!r[i];)i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var s=i;s<=o;s++){var a=r[s];if(a&&a.el)if(a.hidden)a.el.style.top=-100-(a.pixelHeight||0)+"px";else{a._inDocument||(a._inDocument=!0,t.container.appendChild(a.el));var l=t.$cursorLayer.getPixelPosition({row:s,column:0},!0).top;a.coverLine||(l+=n.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=l-n.offset+"px";var u=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(u-=t.scrollLeft),a.el.style.left=u+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=n.width+2*n.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}}}).call(i.prototype),t.LineWidgets=i}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),o=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),a=s.row,l=n.widgetManager.getWidgetsAtRow(a).filter(function(e){return"errorMarker"==e.type})[0];l?l.destroy():a-=t;var u,c=function(e,t,n){var r=e.getAnnotations().sort(o.comparePoints);if(r.length){var i=function(e,t,n){for(var r=0,i=e.length-1;r<=i;){var o=r+i>>1,s=n(t,e[o]);if(s>0)r=o+1;else{if(!(s<0))return o;i=o-1}}return-(r+1)}(r,{row:t,column:-1},o.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:0===i&&n<0&&(i=r.length-1);var s=r[i];if(s&&n){if(s.row===t){do{s=r[i+=n]}while(s&&s.row===t);if(!s)return r.slice()}var a=[];t=s.row;do{a[n<0?"unshift":"push"](s),s=r[i+=n]}while(s&&s.row==t);return a.length&&a}}}(n,a,t);if(c){var h=c[0];s.column=(h.pos&&"number"!=typeof h.column?h.pos.sc:h.column)||0,s.row=h.row,u=e.renderer.$gutterLayer.$annotations[s.row]}else{if(l)return;u={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var d={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},f=d.el.appendChild(i.createElement("div")),p=d.el.appendChild(i.createElement("div"));p.className="error_widget_arrow "+u.className;var g=e.renderer.$cursorLayer.getPixelPosition(s).left;p.style.left=g+e.renderer.gutterWidth-5+"px",d.el.className="error_widget_wrapper",f.className="error_widget "+u.className,f.innerHTML=u.text.join("<br>"),f.appendChild(i.createElement("div"));var m=function(e,t,n){if(0===t&&("esc"===n||"return"===n))return d.destroy(),{command:"null"}};d.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(d),e.off("changeSelection",d.destroy),e.off("changeSession",d.destroy),e.off("mouseup",d.destroy),e.off("change",d.destroy))},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",d.destroy),e.on("changeSession",d.destroy),e.on("mouseup",d.destroy),e.on("change",d.destroy),e.session.widgetManager.addLineWidget(d),d.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:d.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,r){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/dom"),o=e("./lib/event"),s=e("./editor").Editor,a=e("./edit_session").EditSession,l=e("./undomanager").UndoManager,u=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.acequire=e,t.define=n(247),t.edit=function(e){if("string"==typeof e){var n=e;if(!(e=document.getElementById(n)))throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var r="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;r=a.value,e=i.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(r=i.getInnerText(e),e.innerHTML="");var l=t.createEditSession(r),c=new s(new u(e));c.setSession(l);var h={document:l,editor:c,onResize:c.resize.bind(c,null)};return a&&(h.textarea=a),o.addListener(window,"resize",h.onResize),c.on("destroy",function(){o.removeListener(window,"resize",h.onResize),h.editor.container.env=null}),c.container.env=c.env=h,c},t.createEditSession=function(e,t){var n=new a(e,t);return n.setUndoManager(new l),n},t.EditSession=a,t.UndoManager=l,t.version="1.2.9"}),ace.acequire(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])}),e.exports=window.ace.acequire("ace/ace")},function(e,t,n){var r,i;r=[n(249),n(248),n(576)],void 0===(i=function(e,t,n){return function(e,t,n){var r=function(t,n){return e.js_beautify(t,n)};return r.js=e.js_beautify,r.css=t.css_beautify,r.html=n.html_beautify,r.js_beautify=e.js_beautify,r.css_beautify=t.css_beautify,r.html_beautify=n.html_beautify,r}(e,t,n)}.apply(t,r))||(e.exports=i)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","ru",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"тыс.",million:"млн.",billion:"млрд.",trillion:"трлн."},ordinal:function(){return"."},currency:{symbol:"руб."}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","pl",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tys.",million:"mln",billion:"mld",trillion:"bln"},ordinal:function(e){return"."},currency:{symbol:"PLN"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","no",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){return"."},currency:{symbol:"kr"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","lv",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:" tūkst.",million:" milj.",billion:" mljrd.",trillion:" trilj."},ordinal:function(e){return"."},currency:{symbol:"€"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","it",{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"mila",million:"mil",billion:"b",trillion:"t"},ordinal:function(e){return"º"},currency:{symbol:"€"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","hu",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"E",million:"M",billion:"Mrd",trillion:"T"},ordinal:function(e){return"."},currency:{symbol:" Ft"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","fr",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){return 1===e?"er":"e"},currency:{symbol:"€"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","es",{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1===t||3===t?"er":2===t?"do":7===t||0===t?"mo":8===t?"vo":9===t?"no":"to"},currency:{symbol:"$"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","en-gb",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"£"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","en-au",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","de",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){return"."},currency:{symbol:"€"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","da-dk",{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mio",billion:"mia",trillion:"b"},ordinal:function(e){return"."},currency:{symbol:"DKK"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","cs",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"tis.",million:"mil.",billion:"b",trillion:"t"},ordinal:function(){return"."},currency:{symbol:"Kč"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(95)],void 0===(o="function"==typeof(r=function(e){e.register("locale","bg",{delimiters:{thousands:" ",decimal:","},abbreviations:{thousand:"хил",million:"млн",billion:"млрд",trillion:"трлн"},ordinal:function(e){return""},currency:{symbol:"лв"}})})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";let r=n(258);e.exports=((t,n)=>{const i=t.Assertion,o=t.assert,s=n.proxify;function a(e){if("function"!=typeof e._obj.then)throw new TypeError(n.inspect(e._obj)+" is not a thenable.");if("function"!=typeof(t=e._obj).catch&&"function"==typeof t.always&&"function"==typeof t.done&&"function"==typeof t.fail&&"function"==typeof t.pipe&&"function"==typeof t.progress&&"function"==typeof t.state)throw new TypeError("Chai as Promised is incompatible with thenables of jQuery<3.0.0, sorry! Please upgrade jQuery or use another Promises/A+ compatible library (see http://promisesaplus.com/).");var t}function l(e){return void 0===s?e:s(e)}function u(e,t){n.addMethod(i.prototype,e,function(){return a(this),t.apply(this,arguments)})}function c(e,t){n.addProperty(i.prototype,e,function(){return a(this),l(t.apply(this,arguments))})}function h(e,t){e.then(()=>t(),t)}function d(e,t,n){e.assert(!0,null,t,n.expected,n.actual)}function f(e,t,n){e.assert(!1,t,null,n.expected,n.actual)}function p(e){return"function"==typeof e.then?e:e._obj}function g(e){return e instanceof Error?e.toString():r.getConstructorName(e)}n.checkError&&(r=n.checkError);const m=Object.getOwnPropertyNames(i.prototype),v={};for(const e of m)v[e]=Object.getOwnPropertyDescriptor(i.prototype,e);function y(t,r,i){if(!n.flag(r,"eventually"))return t.apply(r,i),r;const o=p(r).then(t=>(r._obj=t,n.flag(r,"eventually",!1),i?e.exports.transformAsserterArgs(i):i)).then(e=>(t.apply(r,e),r._obj));return e.exports.transferPromiseness(r,o),r}c("fulfilled",function(){const t=p(this).then(e=>(d(this,"expected promise not to be fulfilled but it was fulfilled with #{act}",{actual:e}),e),e=>(f(this,"expected promise to be fulfilled but it was rejected with #{act}",{actual:g(e)}),e));return e.exports.transferPromiseness(this,t),this}),c("rejected",function(){const t=p(this).then(e=>(f(this,"expected promise to be rejected but it was fulfilled with #{act}",{actual:e}),e),e=>(d(this,"expected promise not to be rejected but it was rejected with #{act}",{actual:g(e)}),e));return e.exports.transferPromiseness(this,t),this}),u("rejectedWith",function(t,i,o){let s=null;const a=n.flag(this,"negate")||!1;if(void 0===t&&void 0===i&&void 0===o)return this.rejected;void 0!==o&&n.flag(this,"message",o),t instanceof RegExp||"string"==typeof t?(i=t,t=null):t&&t instanceof Error?s=t.toString():"function"==typeof t?s=r.getConstructorName(t):t=null;const l=Boolean(t&&i);let u="including";i instanceof RegExp&&(u="matching");const c=p(this).then(e=>{let n=null,r=null;return t?(n="expected promise to be rejected with #{exp} but it was fulfilled with #{act}",r=s):i&&(n=`expected promise to be rejected with an error ${u} #{exp} but `+"it was fulfilled with #{act}",r=i),f(this,n,{expected:r,actual:e}),e},e=>{const n=t&&(t instanceof Error?r.compatibleInstance(e,t):r.compatibleConstructor(e,t)),o=i&&r.compatibleMessage(e,i),c=g(e);return a&&l?n&&o&&this.assert(!0,null,"expected promise not to be rejected with #{exp} but it was rejected with #{act}",s,c):(t&&this.assert(n,"expected promise to be rejected with #{exp} but it was rejected with #{act}","expected promise not to be rejected with #{exp} but it was rejected with #{act}",s,c),i&&this.assert(o,`expected promise to be rejected with an error ${u} #{exp} but got `+"#{act}",`expected promise not to be rejected with an error ${u} #{exp}`,i,r.getMessage(e))),e});return e.exports.transferPromiseness(this,c),this}),c("eventually",function(){return n.flag(this,"eventually",!0),this}),u("notify",function(e){return h(p(this),e),this}),u("become",function(e,t){return this.eventually.deep.equal(e,t)}),m.filter(e=>"assert"!==e&&"function"==typeof v[e].value).forEach(e=>{i.overwriteMethod(e,e=>(function(){return y(e,this,arguments)}))}),m.filter(e=>"_obj"!==e&&"function"==typeof v[e].get).forEach(e=>{i.prototype.__methods.hasOwnProperty(e)?i.overwriteChainableMethod(e,e=>(function(){return y(e,this,arguments)}),e=>(function(){return y(e,this)})):i.overwriteProperty(e,e=>(function(){return l(y(e,this))}))});const b=Object.getOwnPropertyNames(o).filter(e=>"function"==typeof o[e]);o.isFulfilled=((e,t)=>new i(e,t).to.be.fulfilled),o.isRejected=((e,t,n,r)=>{return new i(e,r).to.be.rejectedWith(t,n,r)}),o.becomes=((e,t,n)=>o.eventually.deepEqual(e,t,n)),o.doesNotBecome=((e,t,n)=>o.eventually.notDeepEqual(e,t,n)),o.eventually={},b.forEach(e=>{o.eventually[e]=function(r){const i=Array.prototype.slice.call(arguments,1);let s;const a=arguments[o[e].length-1];"string"==typeof a&&(s=(e=>{throw new t.AssertionError(`${a}\n\nOriginal reason: ${n.inspect(e)}`)}));const l=r.then(t=>o[e].apply(o,[t].concat(i)),s);return l.notify=(e=>{h(l,e)}),l}})}),e.exports.transferPromiseness=((e,t)=>{e.then=t.then.bind(t)}),e.exports.transformAsserterArgs=(e=>e)},function(e,t){
/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t){
/*!
* Chai dependencies.
*/
var n=e.Assertion,r=t.flag,i=e.assert=function(t,r){new n(null,null,e.assert,!0).assert(t,r,"[ negation message unavailable ]")};
/*!
* Module export.
*/i.fail=function(t,n,r,o){throw r=r||"assert.fail()",new e.AssertionError(r,{actual:t,expected:n,operator:o},i.fail)},i.isOk=function(e,t){new n(e,t,i.isOk,!0).is.ok},i.isNotOk=function(e,t){new n(e,t,i.isNotOk,!0).is.not.ok},i.equal=function(e,t,o){var s=new n(e,o,i.equal,!0);s.assert(t==r(s,"object"),"expected #{this} to equal #{exp}","expected #{this} to not equal #{act}",t,e,!0)},i.notEqual=function(e,t,o){var s=new n(e,o,i.notEqual,!0);s.assert(t!=r(s,"object"),"expected #{this} to not equal #{exp}","expected #{this} to equal #{act}",t,e,!0)},i.strictEqual=function(e,t,r){new n(e,r,i.strictEqual,!0).to.equal(t)},i.notStrictEqual=function(e,t,r){new n(e,r,i.notStrictEqual,!0).to.not.equal(t)},i.deepEqual=i.deepStrictEqual=function(e,t,r){new n(e,r,i.deepEqual,!0).to.eql(t)},i.notDeepEqual=function(e,t,r){new n(e,r,i.notDeepEqual,!0).to.not.eql(t)},i.isAbove=function(e,t,r){new n(e,r,i.isAbove,!0).to.be.above(t)},i.isAtLeast=function(e,t,r){new n(e,r,i.isAtLeast,!0).to.be.least(t)},i.isBelow=function(e,t,r){new n(e,r,i.isBelow,!0).to.be.below(t)},i.isAtMost=function(e,t,r){new n(e,r,i.isAtMost,!0).to.be.most(t)},i.isTrue=function(e,t){new n(e,t,i.isTrue,!0).is.true},i.isNotTrue=function(e,t){new n(e,t,i.isNotTrue,!0).to.not.equal(!0)},i.isFalse=function(e,t){new n(e,t,i.isFalse,!0).is.false},i.isNotFalse=function(e,t){new n(e,t,i.isNotFalse,!0).to.not.equal(!1)},i.isNull=function(e,t){new n(e,t,i.isNull,!0).to.equal(null)},i.isNotNull=function(e,t){new n(e,t,i.isNotNull,!0).to.not.equal(null)},i.isNaN=function(e,t){new n(e,t,i.isNaN,!0).to.be.NaN},i.isNotNaN=function(e,t){new n(e,t,i.isNotNaN,!0).not.to.be.NaN},i.exists=function(e,t){new n(e,t,i.exists,!0).to.exist},i.notExists=function(e,t){new n(e,t,i.notExists,!0).to.not.exist},i.isUndefined=function(e,t){new n(e,t,i.isUndefined,!0).to.equal(void 0)},i.isDefined=function(e,t){new n(e,t,i.isDefined,!0).to.not.equal(void 0)},i.isFunction=function(e,t){new n(e,t,i.isFunction,!0).to.be.a("function")},i.isNotFunction=function(e,t){new n(e,t,i.isNotFunction,!0).to.not.be.a("function")},i.isObject=function(e,t){new n(e,t,i.isObject,!0).to.be.a("object")},i.isNotObject=function(e,t){new n(e,t,i.isNotObject,!0).to.not.be.a("object")},i.isArray=function(e,t){new n(e,t,i.isArray,!0).to.be.an("array")},i.isNotArray=function(e,t){new n(e,t,i.isNotArray,!0).to.not.be.an("array")},i.isString=function(e,t){new n(e,t,i.isString,!0).to.be.a("string")},i.isNotString=function(e,t){new n(e,t,i.isNotString,!0).to.not.be.a("string")},i.isNumber=function(e,t){new n(e,t,i.isNumber,!0).to.be.a("number")},i.isNotNumber=function(e,t){new n(e,t,i.isNotNumber,!0).to.not.be.a("number")},i.isFinite=function(e,t){new n(e,t,i.isFinite,!0).to.be.finite},i.isBoolean=function(e,t){new n(e,t,i.isBoolean,!0).to.be.a("boolean")},i.isNotBoolean=function(e,t){new n(e,t,i.isNotBoolean,!0).to.not.be.a("boolean")},i.typeOf=function(e,t,r){new n(e,r,i.typeOf,!0).to.be.a(t)},i.notTypeOf=function(e,t,r){new n(e,r,i.notTypeOf,!0).to.not.be.a(t)},i.instanceOf=function(e,t,r){new n(e,r,i.instanceOf,!0).to.be.instanceOf(t)},i.notInstanceOf=function(e,t,r){new n(e,r,i.notInstanceOf,!0).to.not.be.instanceOf(t)},i.include=function(e,t,r){new n(e,r,i.include,!0).include(t)},i.notInclude=function(e,t,r){new n(e,r,i.notInclude,!0).not.include(t)},i.deepInclude=function(e,t,r){new n(e,r,i.deepInclude,!0).deep.include(t)},i.notDeepInclude=function(e,t,r){new n(e,r,i.notDeepInclude,!0).not.deep.include(t)},i.nestedInclude=function(e,t,r){new n(e,r,i.nestedInclude,!0).nested.include(t)},i.notNestedInclude=function(e,t,r){new n(e,r,i.notNestedInclude,!0).not.nested.include(t)},i.deepNestedInclude=function(e,t,r){new n(e,r,i.deepNestedInclude,!0).deep.nested.include(t)},i.notDeepNestedInclude=function(e,t,r){new n(e,r,i.notDeepNestedInclude,!0).not.deep.nested.include(t)},i.ownInclude=function(e,t,r){new n(e,r,i.ownInclude,!0).own.include(t)},i.notOwnInclude=function(e,t,r){new n(e,r,i.notOwnInclude,!0).not.own.include(t)},i.deepOwnInclude=function(e,t,r){new n(e,r,i.deepOwnInclude,!0).deep.own.include(t)},i.notDeepOwnInclude=function(e,t,r){new n(e,r,i.notDeepOwnInclude,!0).not.deep.own.include(t)},i.match=function(e,t,r){new n(e,r,i.match,!0).to.match(t)},i.notMatch=function(e,t,r){new n(e,r,i.notMatch,!0).to.not.match(t)},i.property=function(e,t,r){new n(e,r,i.property,!0).to.have.property(t)},i.notProperty=function(e,t,r){new n(e,r,i.notProperty,!0).to.not.have.property(t)},i.propertyVal=function(e,t,r,o){new n(e,o,i.propertyVal,!0).to.have.property(t,r)},i.notPropertyVal=function(e,t,r,o){new n(e,o,i.notPropertyVal,!0).to.not.have.property(t,r)},i.deepPropertyVal=function(e,t,r,o){new n(e,o,i.deepPropertyVal,!0).to.have.deep.property(t,r)},i.notDeepPropertyVal=function(e,t,r,o){new n(e,o,i.notDeepPropertyVal,!0).to.not.have.deep.property(t,r)},i.ownProperty=function(e,t,r){new n(e,r,i.ownProperty,!0).to.have.own.property(t)},i.notOwnProperty=function(e,t,r){new n(e,r,i.notOwnProperty,!0).to.not.have.own.property(t)},i.ownPropertyVal=function(e,t,r,o){new n(e,o,i.ownPropertyVal,!0).to.have.own.property(t,r)},i.notOwnPropertyVal=function(e,t,r,o){new n(e,o,i.notOwnPropertyVal,!0).to.not.have.own.property(t,r)},i.deepOwnPropertyVal=function(e,t,r,o){new n(e,o,i.deepOwnPropertyVal,!0).to.have.deep.own.property(t,r)},i.notDeepOwnPropertyVal=function(e,t,r,o){new n(e,o,i.notDeepOwnPropertyVal,!0).to.not.have.deep.own.property(t,r)},i.nestedProperty=function(e,t,r){new n(e,r,i.nestedProperty,!0).to.have.nested.property(t)},i.notNestedProperty=function(e,t,r){new n(e,r,i.notNestedProperty,!0).to.not.have.nested.property(t)},i.nestedPropertyVal=function(e,t,r,o){new n(e,o,i.nestedPropertyVal,!0).to.have.nested.property(t,r)},i.notNestedPropertyVal=function(e,t,r,o){new n(e,o,i.notNestedPropertyVal,!0).to.not.have.nested.property(t,r)},i.deepNestedPropertyVal=function(e,t,r,o){new n(e,o,i.deepNestedPropertyVal,!0).to.have.deep.nested.property(t,r)},i.notDeepNestedPropertyVal=function(e,t,r,o){new n(e,o,i.notDeepNestedPropertyVal,!0).to.not.have.deep.nested.property(t,r)},i.lengthOf=function(e,t,r){new n(e,r,i.lengthOf,!0).to.have.lengthOf(t)},i.hasAnyKeys=function(e,t,r){new n(e,r,i.hasAnyKeys,!0).to.have.any.keys(t)},i.hasAllKeys=function(e,t,r){new n(e,r,i.hasAllKeys,!0).to.have.all.keys(t)},i.containsAllKeys=function(e,t,r){new n(e,r,i.containsAllKeys,!0).to.contain.all.keys(t)},i.doesNotHaveAnyKeys=function(e,t,r){new n(e,r,i.doesNotHaveAnyKeys,!0).to.not.have.any.keys(t)},i.doesNotHaveAllKeys=function(e,t,r){new n(e,r,i.doesNotHaveAllKeys,!0).to.not.have.all.keys(t)},i.hasAnyDeepKeys=function(e,t,r){new n(e,r,i.hasAnyDeepKeys,!0).to.have.any.deep.keys(t)},i.hasAllDeepKeys=function(e,t,r){new n(e,r,i.hasAllDeepKeys,!0).to.have.all.deep.keys(t)},i.containsAllDeepKeys=function(e,t,r){new n(e,r,i.containsAllDeepKeys,!0).to.contain.all.deep.keys(t)},i.doesNotHaveAnyDeepKeys=function(e,t,r){new n(e,r,i.doesNotHaveAnyDeepKeys,!0).to.not.have.any.deep.keys(t)},i.doesNotHaveAllDeepKeys=function(e,t,r){new n(e,r,i.doesNotHaveAllDeepKeys,!0).to.not.have.all.deep.keys(t)},i.throws=function(e,t,o,s){("string"==typeof t||t instanceof RegExp)&&(o=t,t=null);var a=new n(e,s,i.throws,!0).to.throw(t,o);return r(a,"object")},i.doesNotThrow=function(e,t,r,o){("string"==typeof t||t instanceof RegExp)&&(r=t,t=null),new n(e,o,i.doesNotThrow,!0).to.not.throw(t,r)},i.operator=function(o,s,a,l){var u;switch(s){case"==":u=o==a;break;case"===":u=o===a;break;case">":u=o>a;break;case">=":u=o>=a;break;case"<":u=o<a;break;case"<=":u=o<=a;break;case"!=":u=o!=a;break;case"!==":u=o!==a;break;default:throw l=l?l+": ":l,new e.AssertionError(l+'Invalid operator "'+s+'"',void 0,i.operator)}var c=new n(u,l,i.operator,!0);c.assert(!0===r(c,"object"),"expected "+t.inspect(o)+" to be "+s+" "+t.inspect(a),"expected "+t.inspect(o)+" to not be "+s+" "+t.inspect(a))},i.closeTo=function(e,t,r,o){new n(e,o,i.closeTo,!0).to.be.closeTo(t,r)},i.approximately=function(e,t,r,o){new n(e,o,i.approximately,!0).to.be.approximately(t,r)},i.sameMembers=function(e,t,r){new n(e,r,i.sameMembers,!0).to.have.same.members(t)},i.notSameMembers=function(e,t,r){new n(e,r,i.notSameMembers,!0).to.not.have.same.members(t)},i.sameDeepMembers=function(e,t,r){new n(e,r,i.sameDeepMembers,!0).to.have.same.deep.members(t)},i.notSameDeepMembers=function(e,t,r){new n(e,r,i.notSameDeepMembers,!0).to.not.have.same.deep.members(t)},i.sameOrderedMembers=function(e,t,r){new n(e,r,i.sameOrderedMembers,!0).to.have.same.ordered.members(t)},i.notSameOrderedMembers=function(e,t,r){new n(e,r,i.notSameOrderedMembers,!0).to.not.have.same.ordered.members(t)},i.sameDeepOrderedMembers=function(e,t,r){new n(e,r,i.sameDeepOrderedMembers,!0).to.have.same.deep.ordered.members(t)},i.notSameDeepOrderedMembers=function(e,t,r){new n(e,r,i.notSameDeepOrderedMembers,!0).to.not.have.same.deep.ordered.members(t)},i.includeMembers=function(e,t,r){new n(e,r,i.includeMembers,!0).to.include.members(t)},i.notIncludeMembers=function(e,t,r){new n(e,r,i.notIncludeMembers,!0).to.not.include.members(t)},i.includeDeepMembers=function(e,t,r){new n(e,r,i.includeDeepMembers,!0).to.include.deep.members(t)},i.notIncludeDeepMembers=function(e,t,r){new n(e,r,i.notIncludeDeepMembers,!0).to.not.include.deep.members(t)},i.includeOrderedMembers=function(e,t,r){new n(e,r,i.includeOrderedMembers,!0).to.include.ordered.members(t)},i.notIncludeOrderedMembers=function(e,t,r){new n(e,r,i.notIncludeOrderedMembers,!0).to.not.include.ordered.members(t)},i.includeDeepOrderedMembers=function(e,t,r){new n(e,r,i.includeDeepOrderedMembers,!0).to.include.deep.ordered.members(t)},i.notIncludeDeepOrderedMembers=function(e,t,r){new n(e,r,i.notIncludeDeepOrderedMembers,!0).to.not.include.deep.ordered.members(t)},i.oneOf=function(e,t,r){new n(e,r,i.oneOf,!0).to.be.oneOf(t)},i.changes=function(e,t,r,o){3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.changes,!0).to.change(t,r)},i.changesBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.changesBy,!0).to.change(t,r).by(o)},i.doesNotChange=function(e,t,r,o){return 3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.doesNotChange,!0).to.not.change(t,r)},i.changesButNotBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.changesButNotBy,!0).to.change(t,r).but.not.by(o)},i.increases=function(e,t,r,o){return 3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.increases,!0).to.increase(t,r)},i.increasesBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.increasesBy,!0).to.increase(t,r).by(o)},i.doesNotIncrease=function(e,t,r,o){return 3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.doesNotIncrease,!0).to.not.increase(t,r)},i.increasesButNotBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.increasesButNotBy,!0).to.increase(t,r).but.not.by(o)},i.decreases=function(e,t,r,o){return 3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.decreases,!0).to.decrease(t,r)},i.decreasesBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.decreasesBy,!0).to.decrease(t,r).by(o)},i.doesNotDecrease=function(e,t,r,o){return 3===arguments.length&&"function"==typeof t&&(o=r,r=null),new n(e,o,i.doesNotDecrease,!0).to.not.decrease(t,r)},i.doesNotDecreaseBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);return new n(e,s,i.doesNotDecreaseBy,!0).to.not.decrease(t,r).by(o)},i.decreasesButNotBy=function(e,t,r,o,s){if(4===arguments.length&&"function"==typeof t){var a=o;o=r,s=a}else 3===arguments.length&&(o=r,r=null);new n(e,s,i.decreasesButNotBy,!0).to.decrease(t,r).but.not.by(o)}
/*!
* ### .ifError(object)
*
* Asserts if value is not a false value, and throws if it is a true value.
* This is added to allow for chai to be a drop-in replacement for Node's
* assert class.
*
* var err = new Error('I am a custom error');
* assert.ifError(err); // Rethrows err!
*
* @name ifError
* @param {Object} object
* @namespace Assert
* @api public
*/,i.ifError=function(e){if(e)throw e},i.isExtensible=function(e,t){new n(e,t,i.isExtensible,!0).to.be.extensible},i.isNotExtensible=function(e,t){new n(e,t,i.isNotExtensible,!0).to.not.be.extensible},i.isSealed=function(e,t){new n(e,t,i.isSealed,!0).to.be.sealed},i.isNotSealed=function(e,t){new n(e,t,i.isNotSealed,!0).to.not.be.sealed},i.isFrozen=function(e,t){new n(e,t,i.isFrozen,!0).to.be.frozen},i.isNotFrozen=function(e,t){new n(e,t,i.isNotFrozen,!0).to.not.be.frozen},i.isEmpty=function(e,t){new n(e,t,i.isEmpty,!0).to.be.empty},i.isNotEmpty=function(e,t){new n(e,t,i.isNotEmpty,!0).to.not.be.empty},
/*!
* Aliases.
*/
function e(t,n){return i[n]=i[t],e}("isOk","ok")("isNotOk","notOk")("throws","throw")("throws","Throw")("isExtensible","extensible")("isNotExtensible","notExtensible")("isSealed","sealed")("isNotSealed","notSealed")("isFrozen","frozen")("isNotFrozen","notFrozen")("isEmpty","empty")("isNotEmpty","notEmpty")}},function(e,t){
/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t){var n=e.Assertion;function r(){Object.defineProperty(Object.prototype,"should",{set:function(e){Object.defineProperty(this,"should",{value:e,enumerable:!0,configurable:!0,writable:!0})},get:function e(){return this instanceof String||this instanceof Number||this instanceof Boolean||"function"==typeof Symbol&&this instanceof Symbol?new n(this.valueOf(),null,e):new n(this,null,e)},configurable:!0});var t={fail:function(n,r,i,o){throw i=i||"should.fail()",new e.AssertionError(i,{actual:n,expected:r,operator:o},t.fail)},equal:function(e,t,r){new n(e,r).to.equal(t)},Throw:function(e,t,r,i){new n(e,i).to.Throw(t,r)},exist:function(e,t){new n(e,t).to.exist},not:{}};return t.not.equal=function(e,t,r){new n(e,r).to.not.equal(t)},t.not.Throw=function(e,t,r,i){new n(e,i).to.not.Throw(t,r)},t.not.exist=function(e,t){new n(e,t).to.not.exist},t.throw=t.Throw,t.not.throw=t.not.Throw,t}e.should=r,e.Should=r}},function(e,t){
/*!
* chai
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t){e.expect=function(t,n){return new e.Assertion(t,n)},e.expect.fail=function(t,n,r,i){throw r=r||"expect.fail()",new e.AssertionError(r,{actual:t,expected:n,operator:i},e.expect.fail)}}},function(e,t){
/*!
* chai
* http://chaijs.com
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e,t){var n=e.Assertion,r=e.AssertionError,i=t.flag;function o(e,n){n&&i(this,"message",n),e=e.toLowerCase();var r=i(this,"object"),o=~["a","e","i","o","u"].indexOf(e.charAt(0))?"an ":"a ";this.assert(e===t.type(r).toLowerCase(),"expected #{this} to be "+o+e,"expected #{this} not to be "+o+e)}function s(e,n){return t.isNaN(e)&&t.isNaN(n)||e===n}function a(){i(this,"contains",!0)}function l(e,o){o&&i(this,"message",o);var a=i(this,"object"),l=t.type(a).toLowerCase(),u=i(this,"message"),c=i(this,"negate"),h=i(this,"ssfi"),d=i(this,"deep"),f=d?"deep ":"";u=u?u+": ":"";var p=!1;switch(l){case"string":p=-1!==a.indexOf(e);break;case"weakset":if(d)throw new r(u+"unable to use .deep.include with WeakSet",void 0,h);p=a.has(e);break;case"map":var g=d?t.eql:s;a.forEach(function(t){p=p||g(t,e)});break;case"set":d?a.forEach(function(n){p=p||t.eql(n,e)}):p=a.has(e);break;case"array":p=d?a.some(function(n){return t.eql(n,e)}):-1!==a.indexOf(e);break;default:if(e!==Object(e))throw new r(u+"object tested must be an array, a map, an object, a set, a string, or a weakset, but "+l+" given",void 0,h);var m=Object.keys(e),v=null,y=0;if(m.forEach(function(o){var s=new n(a);if(t.transferFlags(this,s,!0),i(s,"lockSsfi",!0),c&&1!==m.length)try{s.property(o,e[o])}catch(e){if(!t.checkError.compatibleConstructor(e,r))throw e;null===v&&(v=e),y++}else s.property(o,e[o])},this),c&&m.length>1&&y===m.length)throw v;return}this.assert(p,"expected #{this} to "+f+"include "+t.inspect(e),"expected #{this} to not "+f+"include "+t.inspect(e))}function u(){var e=i(this,"object"),n=t.type(e);this.assert("Arguments"===n,"expected #{this} to be arguments but got "+n,"expected #{this} to not be arguments")}function c(e,t){t&&i(this,"message",t);var n=i(this,"object");if(i(this,"deep"))return this.eql(e);this.assert(e===n,"expected #{this} to equal #{exp}","expected #{this} to not equal #{exp}",e,this._obj,!0)}function h(e,n){n&&i(this,"message",n),this.assert(t.eql(e,i(this,"object")),"expected #{this} to deeply equal #{exp}","expected #{this} to not deeply equal #{exp}",e,this._obj,!0)}function d(e,o){o&&i(this,"message",o);var s=i(this,"object"),a=i(this,"doLength"),l=i(this,"message"),u=l?l+": ":"",c=i(this,"ssfi"),h=t.type(s).toLowerCase(),d=t.type(e).toLowerCase(),f=!0;if(a&&new n(s,l,c,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)f=!1;else{errorMessage=u+"expected "+("string"===h?"'"+s+"'":s)+" to be a number or a date"}else errorMessage=u+"the argument to above must be a number";else errorMessage=u+"the argument to above must be a date";if(f)throw new r(errorMessage,void 0,c);if(a){var p=s.length;this.assert(p>e,"expected #{this} to have a length above #{exp} but got #{act}","expected #{this} to not have a length above #{exp}",e,p)}else this.assert(s>e,"expected #{this} to be above #{exp}","expected #{this} to be at most #{exp}",e)}function f(e,o){o&&i(this,"message",o);var s=i(this,"object"),a=i(this,"doLength"),l=i(this,"message"),u=l?l+": ":"",c=i(this,"ssfi"),h=t.type(s).toLowerCase(),d=t.type(e).toLowerCase(),f=!0;if(a&&new n(s,l,c,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)f=!1;else{errorMessage=u+"expected "+("string"===h?"'"+s+"'":s)+" to be a number or a date"}else errorMessage=u+"the argument to least must be a number";else errorMessage=u+"the argument to least must be a date";if(f)throw new r(errorMessage,void 0,c);if(a){var p=s.length;this.assert(p>=e,"expected #{this} to have a length at least #{exp} but got #{act}","expected #{this} to have a length below #{exp}",e,p)}else this.assert(s>=e,"expected #{this} to be at least #{exp}","expected #{this} to be below #{exp}",e)}function p(e,o){o&&i(this,"message",o);var s=i(this,"object"),a=i(this,"doLength"),l=i(this,"message"),u=l?l+": ":"",c=i(this,"ssfi"),h=t.type(s).toLowerCase(),d=t.type(e).toLowerCase(),f=!0;if(a&&new n(s,l,c,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)f=!1;else{errorMessage=u+"expected "+("string"===h?"'"+s+"'":s)+" to be a number or a date"}else errorMessage=u+"the argument to below must be a number";else errorMessage=u+"the argument to below must be a date";if(f)throw new r(errorMessage,void 0,c);if(a){var p=s.length;this.assert(p<e,"expected #{this} to have a length below #{exp} but got #{act}","expected #{this} to not have a length below #{exp}",e,p)}else this.assert(s<e,"expected #{this} to be below #{exp}","expected #{this} to be at least #{exp}",e)}function g(e,o){o&&i(this,"message",o);var s=i(this,"object"),a=i(this,"doLength"),l=i(this,"message"),u=l?l+": ":"",c=i(this,"ssfi"),h=t.type(s).toLowerCase(),d=t.type(e).toLowerCase(),f=!0;if(a&&new n(s,l,c,!0).to.have.property("length"),a||"date"!==h||"date"===d)if("number"===d||!a&&"number"!==h)if(a||"date"===h||"number"===h)f=!1;else{errorMessage=u+"expected "+("string"===h?"'"+s+"'":s)+" to be a number or a date"}else errorMessage=u+"the argument to most must be a number";else errorMessage=u+"the argument to most must be a date";if(f)throw new r(errorMessage,void 0,c);if(a){var p=s.length;this.assert(p<=e,"expected #{this} to have a length at most #{exp} but got #{act}","expected #{this} to have a length above #{exp}",e,p)}else this.assert(s<=e,"expected #{this} to be at most #{exp}","expected #{this} to be above #{exp}",e)}function m(e,n){n&&i(this,"message",n);var o=i(this,"object"),s=i(this,"ssfi"),a=i(this,"message");try{var l=o instanceof e}catch(n){if(n instanceof TypeError)throw new r((a=a?a+": ":"")+"The instanceof assertion needs a constructor but "+t.type(e)+" was given.",void 0,s);throw n}var u=t.getName(e);null===u&&(u="an unnamed constructor"),this.assert(l,"expected #{this} to be an instance of "+u,"expected #{this} to not be an instance of "+u)}function v(e,n,o){o&&i(this,"message",o);var s=i(this,"nested"),a=i(this,"own"),l=i(this,"message"),u=i(this,"object"),c=i(this,"ssfi");if(s&&a)throw new r((l=l?l+": ":"")+'The "nested" and "own" flags cannot be combined.',void 0,c);if(null===u||void 0===u)throw new r((l=l?l+": ":"")+"Target cannot be null or undefined.",void 0,c);var h,d=i(this,"deep"),f=i(this,"negate"),p=s?t.getPathInfo(u,e):null,g=s?p.value:u[e],m="";d&&(m+="deep "),a&&(m+="own "),s&&(m+="nested "),m+="property ",h=a?Object.prototype.hasOwnProperty.call(u,e):s?p.exists:t.hasProperty(u,e),f&&1!==arguments.length||this.assert(h,"expected #{this} to have "+m+t.inspect(e),"expected #{this} to not have "+m+t.inspect(e)),arguments.length>1&&this.assert(h&&(d?t.eql(n,g):n===g),"expected #{this} to have "+m+t.inspect(e)+" of #{exp}, but got #{act}","expected #{this} to not have "+m+t.inspect(e)+" of #{act}",n,g),i(this,"object",g)}function y(e,t,n){i(this,"own",!0),v.apply(this,arguments)}function b(e,n,r){"string"==typeof n&&(r=n,n=null),r&&i(this,"message",r);var o=i(this,"object"),s=Object.getOwnPropertyDescriptor(Object(o),e);s&&n?this.assert(t.eql(n,s),"expected the own property descriptor for "+t.inspect(e)+" on #{this} to match "+t.inspect(n)+", got "+t.inspect(s),"expected the own property descriptor for "+t.inspect(e)+" on #{this} to not match "+t.inspect(n),n,s,!0):this.assert(s,"expected #{this} to have an own property descriptor for "+t.inspect(e),"expected #{this} to not have an own property descriptor for "+t.inspect(e)),i(this,"object",s)}function w(){i(this,"doLength",!0)}function x(e,t){t&&i(this,"message",t);var r=i(this,"object"),o=i(this,"message"),s=i(this,"ssfi");new n(r,o,s,!0).to.have.property("length");var a=r.length;this.assert(a==e,"expected #{this} to have a length of #{exp} but got #{act}","expected #{this} to not have a length of #{act}",e,a)}function C(e,t){t&&i(this,"message",t);var n=i(this,"object");this.assert(e.exec(n),"expected #{this} to match "+e,"expected #{this} not to match "+e)}function k(e){var n,o=i(this,"object"),s=t.type(o),a=t.type(e),l=i(this,"ssfi"),u=i(this,"deep"),c="",h=!0,d=i(this,"message"),f=(d=d?d+": ":"")+"when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments";if("Map"===s||"Set"===s)c=u?"deeply ":"",p=[],o.forEach(function(e,t){p.push(t)}),"Array"!==a&&(e=Array.prototype.slice.call(arguments));else{switch(p=t.getOwnEnumerableProperties(o),a){case"Array":if(arguments.length>1)throw new r(f,void 0,l);break;case"Object":if(arguments.length>1)throw new r(f,void 0,l);e=Object.keys(e);break;default:e=Array.prototype.slice.call(arguments)}e=e.map(function(e){return"symbol"==typeof e?e:String(e)})}if(!e.length)throw new r(d+"keys required",void 0,l);var p,g=e.length,m=i(this,"any"),v=i(this,"all"),y=e;if(m||v||(v=!0),m&&(h=y.some(function(e){return p.some(function(n){return u?t.eql(e,n):e===n})})),v&&(h=y.every(function(e){return p.some(function(n){return u?t.eql(e,n):e===n})}),i(this,"contains")||(h=h&&e.length==p.length)),g>1){var b=(e=e.map(function(e){return t.inspect(e)})).pop();v&&(n=e.join(", ")+", and "+b),m&&(n=e.join(", ")+", or "+b)}else n=t.inspect(e[0]);n=(g>1?"keys ":"key ")+n,n=(i(this,"contains")?"contain ":"have ")+n,this.assert(h,"expected #{this} to "+c+n,"expected #{this} to not "+c+n,y.slice(0).sort(t.compareByInspect),p.sort(t.compareByInspect),!0)}function A(e,r,o){o&&i(this,"message",o);var s,a=i(this,"object"),l=i(this,"ssfi"),u=i(this,"message"),c=i(this,"negate")||!1;new n(a,u,l,!0).is.a("function"),(e instanceof RegExp||"string"==typeof e)&&(r=e,e=null);try{a()}catch(e){s=e}var h=void 0===e&&void 0===r,d=Boolean(e&&r),f=!1,p=!1;if(h||!h&&!c){var g="an error";e instanceof Error?g="#{exp}":e&&(g=t.checkError.getConstructorName(e)),this.assert(s,"expected #{this} to throw "+g,"expected #{this} to not throw an error but #{act} was thrown",e&&e.toString(),s instanceof Error?s.toString():"string"==typeof s?s:s&&t.checkError.getConstructorName(s))}if(e&&s){if(e instanceof Error)t.checkError.compatibleInstance(s,e)===c&&(d&&c?f=!0:this.assert(c,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(s&&!c?" but #{act} was thrown":""),e.toString(),s.toString()));t.checkError.compatibleConstructor(s,e)===c&&(d&&c?f=!0:this.assert(c,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(s?" but #{act} was thrown":""),e instanceof Error?e.toString():e&&t.checkError.getConstructorName(e),s instanceof Error?s.toString():s&&t.checkError.getConstructorName(s)))}if(s&&void 0!==r&&null!==r){var m="including";r instanceof RegExp&&(m="matching"),t.checkError.compatibleMessage(s,r)===c&&(d&&c?p=!0:this.assert(c,"expected #{this} to throw error "+m+" #{exp} but got #{act}","expected #{this} to throw error not "+m+" #{exp}",r,t.checkError.getMessage(s)))}f&&p&&this.assert(c,"expected #{this} to throw #{exp} but #{act} was thrown","expected #{this} to not throw #{exp}"+(s?" but #{act} was thrown":""),e instanceof Error?e.toString():e&&t.checkError.getConstructorName(e),s instanceof Error?s.toString():s&&t.checkError.getConstructorName(s)),i(this,"object",s)}function E(e,n){n&&i(this,"message",n);var r=i(this,"object"),o=i(this,"itself"),s="function"!=typeof r||o?r[e]:r.prototype[e];this.assert("function"==typeof s,"expected #{this} to respond to "+t.inspect(e),"expected #{this} to not respond to "+t.inspect(e))}function _(e,n){n&&i(this,"message",n);var r=e(i(this,"object"));this.assert(r,"expected #{this} to satisfy "+t.objDisplay(e),"expected #{this} to not satisfy"+t.objDisplay(e),!i(this,"negate"),r)}function S(e,t,o){o&&i(this,"message",o);var s=i(this,"object"),a=i(this,"message"),l=i(this,"ssfi");if(new n(s,a,l,!0).is.a("number"),"number"!=typeof e||"number"!=typeof t)throw new r((a=a?a+": ":"")+"the arguments to closeTo or approximately must be numbers",void 0,l);this.assert(Math.abs(s-e)<=t,"expected #{this} to be close to "+e+" +/- "+t,"expected #{this} not to be close to "+e+" +/- "+t)}function F(e,t,r){r&&i(this,"message",r);var o,s=i(this,"object"),a=i(this,"message"),l=i(this,"ssfi");new n(s,a,l,!0).is.a("function"),t?(new n(e,a,l,!0).to.have.property(t),o=e[t]):(new n(e,a,l,!0).is.a("function"),o=e()),s();var u=void 0===t||null===t?e():e[t],c=void 0===t||null===t?o:"."+t;i(this,"deltaMsgObj",c),i(this,"initialDeltaValue",o),i(this,"finalDeltaValue",u),i(this,"deltaBehavior","change"),i(this,"realDelta",u!==o),this.assert(o!==u,"expected "+c+" to change","expected "+c+" to not change")}function D(e,t,r){r&&i(this,"message",r);var o,s=i(this,"object"),a=i(this,"message"),l=i(this,"ssfi");new n(s,a,l,!0).is.a("function"),t?(new n(e,a,l,!0).to.have.property(t),o=e[t]):(new n(e,a,l,!0).is.a("function"),o=e()),new n(o,a,l,!0).is.a("number"),s();var u=void 0===t||null===t?e():e[t],c=void 0===t||null===t?o:"."+t;i(this,"deltaMsgObj",c),i(this,"initialDeltaValue",o),i(this,"finalDeltaValue",u),i(this,"deltaBehavior","increase"),i(this,"realDelta",u-o),this.assert(u-o>0,"expected "+c+" to increase","expected "+c+" to not increase")}function T(e,t,r){r&&i(this,"message",r);var o,s=i(this,"object"),a=i(this,"message"),l=i(this,"ssfi");new n(s,a,l,!0).is.a("function"),t?(new n(e,a,l,!0).to.have.property(t),o=e[t]):(new n(e,a,l,!0).is.a("function"),o=e()),new n(o,a,l,!0).is.a("number"),s();var u=void 0===t||null===t?e():e[t],c=void 0===t||null===t?o:"."+t;i(this,"deltaMsgObj",c),i(this,"initialDeltaValue",o),i(this,"finalDeltaValue",u),i(this,"deltaBehavior","decrease"),i(this,"realDelta",o-u),this.assert(u-o<0,"expected "+c+" to decrease","expected "+c+" to not decrease")}["to","be","been","is","and","has","have","with","that","which","at","of","same","but","does"].forEach(function(e){n.addProperty(e)}),n.addProperty("not",function(){i(this,"negate",!0)}),n.addProperty("deep",function(){i(this,"deep",!0)}),n.addProperty("nested",function(){i(this,"nested",!0)}),n.addProperty("own",function(){i(this,"own",!0)}),n.addProperty("ordered",function(){i(this,"ordered",!0)}),n.addProperty("any",function(){i(this,"any",!0),i(this,"all",!1)}),n.addProperty("all",function(){i(this,"all",!0),i(this,"any",!1)}),n.addChainableMethod("an",o),n.addChainableMethod("a",o),n.addChainableMethod("include",l,a),n.addChainableMethod("contain",l,a),n.addChainableMethod("contains",l,a),n.addChainableMethod("includes",l,a),n.addProperty("ok",function(){this.assert(i(this,"object"),"expected #{this} to be truthy","expected #{this} to be falsy")}),n.addProperty("true",function(){this.assert(!0===i(this,"object"),"expected #{this} to be true","expected #{this} to be false",!i(this,"negate"))}),n.addProperty("false",function(){this.assert(!1===i(this,"object"),"expected #{this} to be false","expected #{this} to be true",!!i(this,"negate"))}),n.addProperty("null",function(){this.assert(null===i(this,"object"),"expected #{this} to be null","expected #{this} not to be null")}),n.addProperty("undefined",function(){this.assert(void 0===i(this,"object"),"expected #{this} to be undefined","expected #{this} not to be undefined")}),n.addProperty("NaN",function(){this.assert(t.isNaN(i(this,"object")),"expected #{this} to be NaN","expected #{this} not to be NaN")}),n.addProperty("exist",function(){var e=i(this,"object");this.assert(null!==e&&void 0!==e,"expected #{this} to exist","expected #{this} to not exist")}),n.addProperty("empty",function(){var e,n=i(this,"object"),o=i(this,"ssfi"),s=i(this,"message");switch(s=s?s+": ":"",t.type(n).toLowerCase()){case"array":case"string":e=n.length;break;case"map":case"set":e=n.size;break;case"weakmap":case"weakset":throw new r(s+".empty was passed a weak collection",void 0,o);case"function":var a=s+".empty was passed a function "+t.getName(n);throw new r(a.trim(),void 0,o);default:if(n!==Object(n))throw new r(s+".empty was passed non-string primitive "+t.inspect(n),void 0,o);e=Object.keys(n).length}this.assert(0===e,"expected #{this} to be empty","expected #{this} not to be empty")}),n.addProperty("arguments",u),n.addProperty("Arguments",u),n.addMethod("equal",c),n.addMethod("equals",c),n.addMethod("eq",c),n.addMethod("eql",h),n.addMethod("eqls",h),n.addMethod("above",d),n.addMethod("gt",d),n.addMethod("greaterThan",d),n.addMethod("least",f),n.addMethod("gte",f),n.addMethod("below",p),n.addMethod("lt",p),n.addMethod("lessThan",p),n.addMethod("most",g),n.addMethod("lte",g),n.addMethod("within",function(e,o,s){s&&i(this,"message",s);var a=i(this,"object"),l=i(this,"doLength"),u=i(this,"message"),c=u?u+": ":"",h=i(this,"ssfi"),d=t.type(a).toLowerCase(),f=t.type(e).toLowerCase(),p=t.type(o).toLowerCase(),g=!0,m="date"===f&&"date"===p?e.toUTCString()+".."+o.toUTCString():e+".."+o;if(l&&new n(a,u,h,!0).to.have.property("length"),l||"date"!==d||"date"===f&&"date"===p)if("number"===f&&"number"===p||!l&&"number"!==d)if(l||"date"===d||"number"===d)g=!1;else{errorMessage=c+"expected "+("string"===d?"'"+a+"'":a)+" to be a number or a date"}else errorMessage=c+"the arguments to within must be numbers";else errorMessage=c+"the arguments to within must be dates";if(g)throw new r(errorMessage,void 0,h);if(l){var v=a.length;this.assert(v>=e&&v<=o,"expected #{this} to have a length within "+m,"expected #{this} to not have a length within "+m)}else this.assert(a>=e&&a<=o,"expected #{this} to be within "+m,"expected #{this} to not be within "+m)}),n.addMethod("instanceof",m),n.addMethod("instanceOf",m),n.addMethod("property",v),n.addMethod("ownProperty",y),n.addMethod("haveOwnProperty",y),n.addMethod("ownPropertyDescriptor",b),n.addMethod("haveOwnPropertyDescriptor",b),n.addChainableMethod("length",x,w),n.addChainableMethod("lengthOf",x,w),n.addMethod("match",C),n.addMethod("matches",C),n.addMethod("string",function(e,r){r&&i(this,"message",r);var o=i(this,"object"),s=i(this,"message"),a=i(this,"ssfi");new n(o,s,a,!0).is.a("string"),this.assert(~o.indexOf(e),"expected #{this} to contain "+t.inspect(e),"expected #{this} to not contain "+t.inspect(e))}),n.addMethod("keys",k),n.addMethod("key",k),n.addMethod("throw",A),n.addMethod("throws",A),n.addMethod("Throw",A),n.addMethod("respondTo",E),n.addMethod("respondsTo",E),n.addProperty("itself",function(){i(this,"itself",!0)}),n.addMethod("satisfy",_),n.addMethod("satisfies",_),n.addMethod("closeTo",S),n.addMethod("approximately",S),n.addMethod("members",function(e,r){r&&i(this,"message",r);var o=i(this,"object"),s=i(this,"message"),a=i(this,"ssfi");new n(o,s,a,!0).to.be.an("array"),new n(e,s,a,!0).to.be.an("array");var l,u,c,h=i(this,"contains"),d=i(this,"ordered");h?(u="expected #{this} to be "+(l=d?"an ordered superset":"a superset")+" of #{exp}",c="expected #{this} to not be "+l+" of #{exp}"):(u="expected #{this} to have the same "+(l=d?"ordered members":"members")+" as #{exp}",c="expected #{this} to not have the same "+l+" as #{exp}");var f=i(this,"deep")?t.eql:void 0;this.assert(function(e,t,n,r,i){if(!r){if(e.length!==t.length)return!1;t=t.slice()}return e.every(function(e,o){if(i)return n?n(e,t[o]):e===t[o];if(!n){var s=t.indexOf(e);return-1!==s&&(r||t.splice(s,1),!0)}return t.some(function(i,o){return!!n(e,i)&&(r||t.splice(o,1),!0)})})}(e,o,f,h,d),u,c,e,o,!0)}),n.addMethod("oneOf",function(e,t){t&&i(this,"message",t);var r=i(this,"object"),o=i(this,"message"),s=i(this,"ssfi");new n(e,o,s,!0).to.be.an("array"),this.assert(e.indexOf(r)>-1,"expected #{this} to be one of #{exp}","expected #{this} to not be one of #{exp}",e,r)}),n.addMethod("change",F),n.addMethod("changes",F),n.addMethod("increase",D),n.addMethod("increases",D),n.addMethod("decrease",T),n.addMethod("decreases",T),n.addMethod("by",function(e,t){t&&i(this,"message",t);var n,r=i(this,"deltaMsgObj"),o=i(this,"initialDeltaValue"),s=i(this,"finalDeltaValue"),a=i(this,"deltaBehavior"),l=i(this,"realDelta");n="change"===a?Math.abs(s-o)===Math.abs(e):l===Math.abs(e),this.assert(n,"expected "+r+" to "+a+" by "+e,"expected "+r+" to not "+a+" by "+e)}),n.addProperty("extensible",function(){var e=i(this,"object"),t=e===Object(e)&&Object.isExtensible(e);this.assert(t,"expected #{this} to be extensible","expected #{this} to not be extensible")}),n.addProperty("sealed",function(){var e=i(this,"object"),t=e!==Object(e)||Object.isSealed(e);this.assert(t,"expected #{this} to be sealed","expected #{this} to not be sealed")}),n.addProperty("frozen",function(){var e=i(this,"object"),t=e!==Object(e)||Object.isFrozen(e);this.assert(t,"expected #{this} to be frozen","expected #{this} to not be frozen")}),n.addProperty("finite",function(e){var t=i(this,"object");this.assert("number"==typeof t&&isFinite(t),"expected #{this} to be a finite number","expected #{this} to not be a finite number")})}},function(e,t,n){
/*!
* chai
* http://chaijs.com
* Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(129);e.exports=function(e,t){
/*!
* Module dependencies.
*/
var n=e.AssertionError,i=t.flag;
/*!
* Module export.
*/
/*!
* Assertion Constructor
*
* Creates object for chaining.
*
* `Assertion` objects contain metadata in the form of flags. Three flags can
* be assigned during instantiation by passing arguments to this constructor:
*
* - `object`: This flag contains the target of the assertion. For example, in
* the assertion `expect(numKittens).to.equal(7);`, the `object` flag will
* contain `numKittens` so that the `equal` assertion can reference it when
* needed.
*
* - `message`: This flag contains an optional custom error message to be
* prepended to the error message that's generated by the assertion when it
* fails.
*
* - `ssfi`: This flag stands for "start stack function indicator". It
* contains a function reference that serves as the starting point for
* removing frames from the stack trace of the error that's created by the
* assertion when it fails. The goal is to provide a cleaner stack trace to
* end users by removing Chai's internal functions. Note that it only works
* in environments that support `Error.captureStackTrace`, and only when
* `Chai.config.includeStack` hasn't been set to `false`.
*
* - `lockSsfi`: This flag controls whether or not the given `ssfi` flag
* should retain its current value, even as assertions are chained off of
* this object. This is usually set to `true` when creating a new assertion
* from within another assertion. It's also temporarily set to `true` before
* an overwritten assertion gets called by the overwriting assertion.
*
* @param {Mixed} obj target of the assertion
* @param {String} msg (optional) custom error message
* @param {Function} ssfi (optional) starting point for removing stack frames
* @param {Boolean} lockSsfi (optional) whether or not the ssfi flag is locked
* @api private
*/
function o(e,n,r,s){return i(this,"ssfi",r||o),i(this,"lockSsfi",s),i(this,"object",e),i(this,"message",n),t.proxify(this)}e.Assertion=o,Object.defineProperty(o,"includeStack",{get:function(){return console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead."),r.includeStack},set:function(e){console.warn("Assertion.includeStack is deprecated, use chai.config.includeStack instead."),r.includeStack=e}}),Object.defineProperty(o,"showDiff",{get:function(){return console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead."),r.showDiff},set:function(e){console.warn("Assertion.showDiff is deprecated, use chai.config.showDiff instead."),r.showDiff=e}}),o.addProperty=function(e,n){t.addProperty(this.prototype,e,n)},o.addMethod=function(e,n){t.addMethod(this.prototype,e,n)},o.addChainableMethod=function(e,n,r){t.addChainableMethod(this.prototype,e,n,r)},o.overwriteProperty=function(e,n){t.overwriteProperty(this.prototype,e,n)},o.overwriteMethod=function(e,n){t.overwriteMethod(this.prototype,e,n)},o.overwriteChainableMethod=function(e,n,r){t.overwriteChainableMethod(this.prototype,e,n,r)},o.prototype.assert=function(e,o,s,a,l,u){var c=t.test(this,arguments);if(!1!==u&&(u=!0),void 0===a&&void 0===l&&(u=!1),!0!==r.showDiff&&(u=!1),!c){o=t.getMessage(this,arguments);var h=t.getActual(this,arguments);throw new n(o,{actual:h,expected:a,showDiff:u},r.includeStack?this.assert:i(this,"ssfi"))}},
/*!
* ### ._obj
*
* Quick reference to stored `actual` value for plugin developers.
*
* @api private
*/
Object.defineProperty(o.prototype,"_obj",{get:function(){return i(this,"object")},set:function(e){i(this,"object",e)}})}},function(e,t){e.exports=Number.isNaN||
/*!
* Chai - isNaN utility
* Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
* MIT Licensed
*/
function(e){return e!=e}},function(e,t,n){
/*!
* Chai - getOwnEnumerableProperties utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var r=n(259);e.exports=function(e){return Object.keys(e).concat(r(e))}},function(e,t,n){
/*!
* Chai - compareByInspect utility
* Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var r=n(168);e.exports=function(e,t){return r(e)<r(t)?-1:1}},function(e,t,n){
/*!
* Chai - overwriteChainableMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(130),i=n(128);e.exports=function(e,t,n,o){var s=e.__methods[t],a=s.chainingBehavior;s.chainingBehavior=function(){var e=o(a).call(this);if(void 0!==e)return e;var t=new r.Assertion;return i(this,t),t};var l=s.method;s.method=function(){var e=n(l).apply(this,arguments);if(void 0!==e)return e;var t=new r.Assertion;return i(this,t),t}}},function(e,t,n){
/*!
* Chai - addChainingMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependencies
*/
var r=n(166),i=n(130),o=n(113),s=n(165),a=n(128),l="function"==typeof Object.setPrototypeOf,u=function(){},c=Object.getOwnPropertyNames(u).filter(function(e){var t=Object.getOwnPropertyDescriptor(u,e);return"object"!=typeof t||!t.configurable}),h=Function.prototype.call,d=Function.prototype.apply;e.exports=function(e,t,n,u){"function"!=typeof u&&(u=function(){});var f={method:n,chainingBehavior:u};e.__methods||(e.__methods={}),e.__methods[t]=f,Object.defineProperty(e,t,{get:function(){f.chainingBehavior.call(this);var n=function(){o(this,"lockSsfi")||o(this,"ssfi",n);var e=f.method.apply(this,arguments);if(void 0!==e)return e;var t=new i.Assertion;return a(this,t),t};if(r(n,t,!0),l){var u=Object.create(this);u.call=h,u.apply=d,Object.setPrototypeOf(n,u)}else{Object.getOwnPropertyNames(e).forEach(function(t){if(-1===c.indexOf(t)){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r)}})}return a(this,n),s(n)},configurable:!0})}},function(e,t,n){
/*!
* Chai - overwriteMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(166),i=n(130),o=n(113),s=n(165),a=n(128);e.exports=function(e,t,n){var l=e[t],u=function(){throw new Error(t+" is not a function")};l&&"function"==typeof l&&(u=l);var c=function(){o(this,"lockSsfi")||o(this,"ssfi",c);var e=o(this,"lockSsfi");o(this,"lockSsfi",!0);var t=n(u).apply(this,arguments);if(o(this,"lockSsfi",e),void 0!==t)return t;var r=new i.Assertion;return a(this,r),r};r(c,t,!1),e[t]=s(c,t)}},function(e,t,n){
/*!
* Chai - overwriteProperty utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(130),i=n(113),o=n(167),s=n(128);e.exports=function(e,t,n){var a=Object.getOwnPropertyDescriptor(e,t),l=function(){};a&&"function"==typeof a.get&&(l=a.get),Object.defineProperty(e,t,{get:function e(){o()||i(this,"lockSsfi")||i(this,"ssfi",e);var t=i(this,"lockSsfi");i(this,"lockSsfi",!0);var a=n(l).call(this);if(i(this,"lockSsfi",t),void 0!==a)return a;var u=new r.Assertion;return s(this,u),u},configurable:!0})}},function(e,t,n){
/*!
* Chai - addMethod utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(166),i=n(130),o=n(113),s=n(165),a=n(128);e.exports=function(e,t,n){var l=function(){o(this,"lockSsfi")||o(this,"ssfi",l);var e=n.apply(this,arguments);if(void 0!==e)return e;var t=new i.Assertion;return a(this,t),t};r(l,t,!1),e[t]=s(l,t)}},function(e,t,n){
/*!
* Chai - addProperty utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(130),i=n(113),o=n(167),s=n(128);e.exports=function(e,t,n){n=void 0===n?function(){}:n,Object.defineProperty(e,t,{get:function e(){o()||i(this,"lockSsfi")||i(this,"ssfi",e);var t=n.call(this);if(void 0!==t)return t;var a=new r.Assertion;return s(this,a),a},configurable:!0})}},function(e,t,n){"use strict";
/*!
* deep-eql
* Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/var r=n(180);function i(){this._key="chai/deep-eql__"+Math.random()+Date.now()}i.prototype={get:function(e){return e[this._key]},set:function(e,t){Object.isExtensible(e)&&Object.defineProperty(e,this._key,{value:t,configurable:!0})}};var o="function"==typeof WeakMap?WeakMap:i;
/*!
* Check to see if the MemoizeMap has recorded a result of the two operands
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {MemoizeMap} memoizeMap
* @returns {Boolean|null} result
*/function s(e,t,n){if(!n||m(e)||m(t))return null;var r=n.get(e);if(r){var i=r.get(t);if("boolean"==typeof i)return i}return null}
/*!
* Set the result of the equality into the MemoizeMap
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {MemoizeMap} memoizeMap
* @param {Boolean} result
*/function a(e,t,n,r){if(n&&!m(e)&&!m(t)){var i=n.get(e);i?i.set(t,r):((i=new o).set(t,r),n.set(e,i))}}
/*!
* Primary Export
*/function l(e,t,n){if(n&&n.comparator)return c(e,t,n);var r=u(e,t);return null!==r?r:c(e,t,n)}function u(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t||!m(e)&&!m(t)&&null}
/*!
* The main logic of the `deepEqual` function.
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Object} [options] (optional) Additional options
* @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.
* @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of
complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular
references to blow the stack.
* @return {Boolean} equal match
*/function c(e,t,n){(n=n||{}).memoize=!1!==n.memoize&&(n.memoize||new o);var i=n&&n.comparator,c=s(e,t,n.memoize);if(null!==c)return c;var m=s(t,e,n.memoize);if(null!==m)return m;if(i){var v=i(e,t);if(!1===v||!0===v)return a(e,t,n.memoize,v),v;var y=u(e,t);if(null!==y)return y}var b=r(e);if(b!==r(t))return a(e,t,n.memoize,!1),!1;a(e,t,n.memoize,!0);var w=function(e,t,n,r){switch(n){case"String":case"Number":case"Boolean":case"Date":return l(e.valueOf(),t.valueOf());case"Promise":case"Symbol":case"function":case"WeakMap":case"WeakSet":case"Error":return e===t;case"Arguments":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"Array":return d(e,t,r);case"RegExp":
/*!
* Compare two Regular Expressions for equality.
*
* @param {RegExp} leftHandOperand
* @param {RegExp} rightHandOperand
* @return {Boolean} result
*/
return function(e,t){return e.toString()===t.toString()}
/*!
* Compare two Sets/Maps for equality. Faster than other equality functions.
*
* @param {Set} leftHandOperand
* @param {Set} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/(e,t);case"Generator":
/*!
* Simple equality for generator objects such as those returned by generator functions.
*
* @param {Iterable} leftHandOperand
* @param {Iterable} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
return function(e,t,n){return d(p(e),p(t),n)}
/*!
* Determine if the given object has an @@iterator function.
*
* @param {Object} target
* @return {Boolean} `true` if the object has an @@iterator function.
*/(e,t,r);case"DataView":return d(new Uint8Array(e.buffer),new Uint8Array(t.buffer),r);case"ArrayBuffer":return d(new Uint8Array(e),new Uint8Array(t),r);case"Set":case"Map":return h(e,t,r);default:
/*!
* Recursively check the equality of two Objects. Once basic sameness has been established it will defer to `deepEqual`
* for each enumerable key in the object.
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
return function(e,t,n){var r=g(e),i=g(t);if(r.length&&r.length===i.length)return r.sort(),i.sort(),!1!==d(r,i)&&
/*!
* Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of
* each key. If any value of the given key is not equal, the function will return false (early).
*
* @param {Mixed} leftHandOperand
* @param {Mixed} rightHandOperand
* @param {Array} keys An array of keys to compare the values of leftHandOperand and rightHandOperand against
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/
function(e,t,n,r){var i=n.length;if(0===i)return!0;for(var o=0;o<i;o+=1)if(!1===l(e[n[o]],t[n[o]],r))return!1;return!0}(e,t,r,n);var o=f(e),s=f(t);if(o.length&&o.length===s.length)return o.sort(),s.sort(),d(o,s,n);if(0===r.length&&0===o.length&&0===i.length&&0===s.length)return!0;return!1}
/*!
* Returns true if the argument is a primitive.
*
* This intentionally returns true for all objects that can be compared by reference,
* including functions and symbols.
*
* @param {Mixed} value
* @return {Boolean} result
*/(e,t,r)}}(e,t,b,n);return a(e,t,n.memoize,w),w}function h(e,t,n){if(e.size!==t.size)return!1;if(0===e.size)return!0;var r=[],i=[];return e.forEach(function(e,t){r.push([e,t])}),t.forEach(function(e,t){i.push([e,t])}),d(r.sort(),i.sort(),n)}
/*!
* Simple equality for flat iterable objects such as Arrays, TypedArrays or Node.js buffers.
*
* @param {Iterable} leftHandOperand
* @param {Iterable} rightHandOperand
* @param {Object} [options] (Optional)
* @return {Boolean} result
*/function d(e,t,n){var r=e.length;if(r!==t.length)return!1;if(0===r)return!0;for(var i=-1;++i<r;)if(!1===l(e[i],t[i],n))return!1;return!0}
/*!
* Gets all iterator entries from the given Object. If the Object has no @@iterator function, returns an empty array.
* This will consume the iterator - which could have side effects depending on the @@iterator implementation.
*
* @param {Object} target
* @returns {Array} an array of entries from the @@iterator function
*/
function f(e){if(function(e){return"undefined"!=typeof Symbol&&"object"==typeof e&&void 0!==Symbol.iterator&&"function"==typeof e[Symbol.iterator]}(e))try{return p(e[Symbol.iterator]())}catch(e){return[]}return[]}
/*!
* Gets all entries from a Generator. This will consume the generator - which could have side effects.
*
* @param {Generator} target
* @returns {Array} an array of entries from the Generator.
*/function p(e){for(var t=e.next(),n=[t.value];!1===t.done;)t=e.next(),n.push(t.value);return n}
/*!
* Gets all own and inherited enumerable keys from a target.
*
* @param {Object} target
* @returns {Array} an array of own and inherited enumerable keys from the target.
*/function g(e){var t=[];for(var n in e)t.push(n);return t}function m(e){return null===e||"object"!=typeof e}e.exports=l,e.exports.MemoizeMap=o},function(e,t){
/*!
* Chai - getEnumerableProperties utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
e.exports=function(e){var t=[];for(var n in e)t.push(n);return t}},function(e,t,n){
/*!
* Chai - message composition utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var r=n(113),i=n(263),o=(n(168),n(260));e.exports=function(e,t){var n=r(e,"negate"),s=r(e,"object"),a=t[3],l=i(e,t),u=n?t[2]:t[1],c=r(e,"message");return"function"==typeof u&&(u=u()),u=(u=u||"").replace(/#\{this\}/g,function(){return o(s)}).replace(/#\{act\}/g,function(){return o(l)}).replace(/#\{exp\}/g,function(){return o(a)}),c?c+": "+u:u}},function(e,t,n){
/*!
* Chai - expectTypes utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
var r=n(264),i=n(113),o=n(180);e.exports=function(e,t){var n=i(e,"message"),s=i(e,"ssfi");n=n?n+": ":"",e=i(e,"object"),(t=t.map(function(e){return e.toLowerCase()})).sort();var a=t.map(function(e,n){var r=~["a","e","i","o","u"].indexOf(e.charAt(0))?"an":"a";return(t.length>1&&n===t.length-1?"or ":"")+r+" "+e}).join(", "),l=o(e).toLowerCase();if(!t.some(function(e){return l===e}))throw new r(n+"object tested must be "+a+", but "+l+" given",void 0,s)}},function(e,t,n){
/*!
* Chai - test utility
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependancies
*/
var r=n(113);e.exports=function(e,t){var n=r(e,"negate"),i=t[0];return n?!i:i}},function(e,t,n){"use strict";function r(e,t){return void 0!==e&&null!==e&&t in Object(e)}function i(e){return e.replace(/([^\\])\[/g,"$1.[").match(/(\\\.|[^.]+?)+/g).map(function(e){var t=/^\[(\d+)\]$/.exec(e);return t?{i:parseFloat(t[1])}:{p:e.replace(/\\([.\[\]])/g,"$1")}})}function o(e,t,n){var r=e,i=null;n=void 0===n?t.length:n;for(var o=0;o<n;o++){var s=t[o];r&&(r=void 0===s.p?r[s.i]:r[s.p],o===n-1&&(i=r))}return i}function s(e,t){var n=i(t),s=n[n.length-1],a={parent:n.length>1?o(e,n,n.length-1):e,name:s.p||s.i,value:o(e,n)};return a.exists=r(a.parent,a.name),a}e.exports={hasProperty:r,getPathInfo:s,getPathValue:function(e,t){return s(e,t).value},setPathValue:function(e,t,n){return function(e,t,n){for(var r=e,i=n.length,o=null,s=0;s<i;s++){var a=null,l=null;if(o=n[s],s===i-1)r[a=void 0===o.p?o.i:o.p]=t;else if(void 0!==o.p&&r[o.p])r=r[o.p];else if(void 0!==o.i&&r[o.i])r=r[o.i];else{var u=n[s+1];a=void 0===o.p?o.i:o.p,l=void 0===u.p?[]:{},r[a]=l,r=r[a]}}}(e,n,i(t)),e}}},function(e,t,n){
/*!
* chai
* Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Dependencies that are used for multiple exports are required here only once
*/
var r=n(428);
/*!
* test utility
*/t.test=n(427),
/*!
* type utility
*/
t.type=n(180),
/*!
* expectTypes utility
*/
t.expectTypes=n(426),
/*!
* message utility
*/
t.getMessage=n(425),
/*!
* actual utility
*/
t.getActual=n(263),
/*!
* Inspect util
*/
t.inspect=n(168),
/*!
* Object Display util
*/
t.objDisplay=n(260),
/*!
* Flag utility
*/
t.flag=n(113),
/*!
* Flag transferring utility
*/
t.transferFlags=n(128),
/*!
* Deep equal utility
*/
t.eql=n(423),
/*!
* Deep path info
*/
t.getPathInfo=r.getPathInfo,
/*!
* Check if a property exists
*/
t.hasProperty=r.hasProperty,
/*!
* Function name
*/
t.getName=n(262),
/*!
* add Property
*/
t.addProperty=n(422),
/*!
* add Method
*/
t.addMethod=n(421),
/*!
* overwrite Property
*/
t.overwriteProperty=n(420),
/*!
* overwrite Method
*/
t.overwriteMethod=n(419),
/*!
* Add a chainable method
*/
t.addChainableMethod=n(418),
/*!
* Overwrite chainable method
*/
t.overwriteChainableMethod=n(417),
/*!
* Compare by inspect method
*/
t.compareByInspect=n(416),
/*!
* Get own enumerable property symbols method
*/
t.getOwnEnumerablePropertySymbols=n(259),
/*!
* Get own enumerable properties method
*/
t.getOwnEnumerableProperties=n(415),
/*!
* Checks error against a given set of criteria
*/
t.checkError=n(258),
/*!
* Proxify util
*/
t.proxify=n(165),
/*!
* addLengthGuard util
*/
t.addLengthGuard=n(166),
/*!
* isProxyEnabled helper
*/
t.isProxyEnabled=n(167),
/*!
* isNaN method
*/
t.isNaN=n(414)},function(e,t,n){e.exports=n(130)},,,,function(e){e.exports={_args:[["escodegen@1.11.0","C:\\Users\\danie\\Desktop\\bitburner"]],_from:"escodegen@1.11.0",_id:"escodegen@1.11.0",_inBundle:!1,_integrity:"sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",_location:"/escodegen",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"escodegen@1.11.0",name:"escodegen",escapedName:"escodegen",rawSpec:"1.11.0",saveSpec:null,fetchSpec:"1.11.0"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",_spec:"1.11.0",_where:"C:\\Users\\danie\\Desktop\\bitburner",bin:{esgenerate:"./bin/esgenerate.js",escodegen:"./bin/escodegen.js"},bugs:{url:"https://github.com/estools/escodegen/issues"},dependencies:{esprima:"^3.1.3",estraverse:"^4.2.0",esutils:"^2.0.2",optionator:"^0.8.1","source-map":"~0.6.1"},description:"ECMAScript code generator",devDependencies:{acorn:"^4.0.4",bluebird:"^3.4.7","bower-registry-client":"^1.0.0",chai:"^3.5.0","commonjs-everywhere":"^0.9.7",gulp:"^3.8.10","gulp-eslint":"^3.0.1","gulp-mocha":"^3.0.1",semver:"^5.1.0"},engines:{node:">=4.0"},files:["LICENSE.BSD","README.md","bin","escodegen.js","package.json"],homepage:"http://github.com/estools/escodegen",license:"BSD-2-Clause",main:"escodegen.js",maintainers:[{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",url:"http://github.com/Constellation"}],name:"escodegen",optionalDependencies:{"source-map":"~0.6.1"},repository:{type:"git",url:"git+ssh://git@github.com/estools/escodegen.git"},scripts:{build:"cjsify -a path: tools/entry-point.js > escodegen.browser.js","build-min":"cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",lint:"gulp lint",release:"node tools/release.js",test:"gulp travis","unit-test":"gulp test"},version:"1.11.0"}},function(e,t,n){var r=n(268).SourceMapGenerator,i=n(144),o=/(\r?\n)/,s="$$$isSourceNode$$$";function a(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[s]=!0,null!=r&&this.add(r)}a.fromStringWithSourceMap=function(e,t,n){var r=new a,s=e.split(o),l=0,u=function(){return e()+(e()||"");function e(){return l<s.length?s[l++]:void 0}},c=1,h=0,d=null;return t.eachMapping(function(e){if(null!==d){if(!(c<e.generatedLine)){var t=(n=s[l]||"").substr(0,e.generatedColumn-h);return s[l]=n.substr(e.generatedColumn-h),h=e.generatedColumn,f(d,t),void(d=e)}f(d,u()),c++,h=0}for(;c<e.generatedLine;)r.add(u()),c++;if(h<e.generatedColumn){var n=s[l]||"";r.add(n.substr(0,e.generatedColumn)),s[l]=n.substr(e.generatedColumn),h=e.generatedColumn}d=e},this),l<s.length&&(d&&f(d,u()),r.add(s.splice(l).join(""))),t.sources.forEach(function(e){var o=t.sourceContentFor(e);null!=o&&(null!=n&&(e=i.join(n,e)),r.setSourceContent(e,o))}),r;function f(e,t){if(null===e||void 0===e.source)r.add(t);else{var o=n?i.join(n,e.source):e.source;r.add(new a(e.originalLine,e.originalColumn,o,t,e.name))}}},a.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[s]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},a.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[s]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},a.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)(t=this.children[n])[s]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},a.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},a.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[s]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},a.prototype.setSourceContent=function(e,t){this.sourceContents[i.toSetString(e)]=t},a.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][s]&&this.children[t].walkSourceContents(e);var r=Object.keys(this.sourceContents);for(t=0,n=r.length;t<n;t++)e(i.fromSetString(r[t]),this.sourceContents[r[t]])},a.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},a.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new r(e),i=!1,o=null,s=null,a=null,l=null;return this.walk(function(e,r){t.code+=e,null!==r.source&&null!==r.line&&null!==r.column?(o===r.source&&s===r.line&&a===r.column&&l===r.name||n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name}),o=r.source,s=r.line,a=r.column,l=r.name,i=!0):i&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,i=!1);for(var u=0,c=e.length;u<c;u++)10===e.charCodeAt(u)?(t.line++,t.column=0,u+1===c?(o=null,i=!1):i&&n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name})):t.column++}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},t.SourceNode=a},function(e,t){function n(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function r(e,t,i,o){if(i<o){var s=i-1;n(e,(c=i,h=o,Math.round(c+Math.random()*(h-c))),o);for(var a=e[o],l=i;l<o;l++)t(e[l],a)<=0&&n(e,s+=1,l);n(e,s+1,l);var u=s+1;r(e,t,i,u-1),r(e,t,u+1,o)}var c,h}t.quickSort=function(e,t){r(e,t,0,e.length-1)}},function(e,t){t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,r,i){if(0===n.length)return-1;var o=function e(n,r,i,o,s,a){var l=Math.floor((r-n)/2)+n,u=s(i,o[l],!0);return 0===u?l:u>0?r-l>1?e(l,r,i,o,s,a):a==t.LEAST_UPPER_BOUND?r<o.length?r:-1:l:l-n>1?e(n,l,i,o,s,a):a==t.LEAST_UPPER_BOUND?l:n<0?-1:n}(-1,n.length,e,n,r,i||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===r(n[o],n[o-1],!0);)--o;return o}},function(e,t,n){var r=n(144),i=n(437),o=n(266).ArraySet,s=n(267),a=n(436).quickSort;function l(e,t){var n=e;return"string"==typeof e&&(n=r.parseSourceMapInput(e)),null!=n.sections?new h(n,t):new u(n,t)}function u(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var i=r.getArg(n,"version"),s=r.getArg(n,"sources"),a=r.getArg(n,"names",[]),l=r.getArg(n,"sourceRoot",null),u=r.getArg(n,"sourcesContent",null),c=r.getArg(n,"mappings"),h=r.getArg(n,"file",null);if(i!=this._version)throw new Error("Unsupported version: "+i);l&&(l=r.normalize(l)),s=s.map(String).map(r.normalize).map(function(e){return l&&r.isAbsolute(l)&&r.isAbsolute(e)?r.relative(l,e):e}),this._names=o.fromArray(a.map(String),!0),this._sources=o.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map(function(e){return r.computeSourceURL(l,e,t)}),this.sourceRoot=l,this.sourcesContent=u,this._mappings=c,this._sourceMapURL=t,this.file=h}function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function h(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var i=r.getArg(n,"version"),s=r.getArg(n,"sections");if(i!=this._version)throw new Error("Unsupported version: "+i);this._sources=new o,this._names=new o;var a={line:-1,column:0};this._sections=s.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var n=r.getArg(e,"offset"),i=r.getArg(n,"line"),o=r.getArg(n,"column");if(i<a.line||i===a.line&&o<a.column)throw new Error("Section offsets must be ordered and non-overlapping.");return a=n,{generatedOffset:{generatedLine:i+1,generatedColumn:o+1},consumer:new l(r.getArg(e,"map"),t)}})}l.fromSourceMap=function(e,t){return u.fromSourceMap(e,t)},l.prototype._version=3,l.prototype.__generatedMappings=null,Object.defineProperty(l.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),l.prototype.__originalMappings=null,Object.defineProperty(l.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),l.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},l.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},l.GENERATED_ORDER=1,l.ORIGINAL_ORDER=2,l.GREATEST_LOWER_BOUND=1,l.LEAST_UPPER_BOUND=2,l.prototype.eachMapping=function(e,t,n){var i,o=t||null;switch(n||l.GENERATED_ORDER){case l.GENERATED_ORDER:i=this._generatedMappings;break;case l.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var s=this.sourceRoot;i.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return{source:t=r.computeSourceURL(s,t,this._sourceMapURL),generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,o)},l.prototype.allGeneratedPositionsFor=function(e){var t=r.getArg(e,"line"),n={source:r.getArg(e,"source"),originalLine:t,originalColumn:r.getArg(e,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],s=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(s>=0){var a=this._originalMappings[s];if(void 0===e.column)for(var l=a.originalLine;a&&a.originalLine===l;)o.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s];else for(var u=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==u;)o.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s]}return o},t.SourceMapConsumer=l,u.prototype=Object.create(l.prototype),u.prototype.consumer=l,u.prototype._findSourceIndex=function(e){var t,n=e;if(null!=this.sourceRoot&&(n=r.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(t=0;t<this._absoluteSources.length;++t)if(this._absoluteSources[t]==e)return t;return-1},u.fromSourceMap=function(e,t){var n=Object.create(u.prototype),i=n._names=o.fromArray(e._names.toArray(),!0),s=n._sources=o.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file,n._sourceMapURL=t,n._absoluteSources=n._sources.toArray().map(function(e){return r.computeSourceURL(n.sourceRoot,e,t)});for(var l=e._mappings.toArray().slice(),h=n.__generatedMappings=[],d=n.__originalMappings=[],f=0,p=l.length;f<p;f++){var g=l[f],m=new c;m.generatedLine=g.generatedLine,m.generatedColumn=g.generatedColumn,g.source&&(m.source=s.indexOf(g.source),m.originalLine=g.originalLine,m.originalColumn=g.originalColumn,g.name&&(m.name=i.indexOf(g.name)),d.push(m)),h.push(m)}return a(n.__originalMappings,r.compareByOriginalPositions),n},u.prototype._version=3,Object.defineProperty(u.prototype,"sources",{get:function(){return this._absoluteSources.slice()}}),u.prototype._parseMappings=function(e,t){for(var n,i,o,l,u,h=1,d=0,f=0,p=0,g=0,m=0,v=e.length,y=0,b={},w={},x=[],C=[];y<v;)if(";"===e.charAt(y))h++,y++,d=0;else if(","===e.charAt(y))y++;else{for((n=new c).generatedLine=h,l=y;l<v&&!this._charIsMappingSeparator(e,l);l++);if(o=b[i=e.slice(y,l)])y+=i.length;else{for(o=[];y<l;)s.decode(e,y,w),u=w.value,y=w.rest,o.push(u);if(2===o.length)throw new Error("Found a source, but no line and column");if(3===o.length)throw new Error("Found a source and line, but no column");b[i]=o}n.generatedColumn=d+o[0],d=n.generatedColumn,o.length>1&&(n.source=g+o[1],g+=o[1],n.originalLine=f+o[2],f=n.originalLine,n.originalLine+=1,n.originalColumn=p+o[3],p=n.originalColumn,o.length>4&&(n.name=m+o[4],m+=o[4])),C.push(n),"number"==typeof n.originalLine&&x.push(n)}a(C,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,a(x,r.compareByOriginalPositions),this.__originalMappings=x},u.prototype._findMapping=function(e,t,n,r,o,s){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return i.search(e,t,o,s)},u.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},u.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",r.compareByGeneratedPositionsDeflated,r.getArg(e,"bias",l.GREATEST_LOWER_BOUND));if(n>=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var o=r.getArg(i,"source",null);null!==o&&(o=this._sources.at(o),o=r.computeSourceURL(this.sourceRoot,o,this._sourceMapURL));var s=r.getArg(i,"name",null);return null!==s&&(s=this._names.at(s)),{source:o,line:r.getArg(i,"originalLine",null),column:r.getArg(i,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},u.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},u.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var i,o=e;if(null!=this.sourceRoot&&(o=r.relative(this.sourceRoot,o)),null!=this.sourceRoot&&(i=r.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if("file"==i.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||"/"==i.path)&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(t)return null;throw new Error('"'+o+'" is not in the SourceMap.')},u.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",l.GREATEST_LOWER_BOUND));if(i>=0){var o=this._originalMappings[i];if(o.source===n.source)return{line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=u,h.prototype=Object.create(l.prototype),h.prototype.constructor=l,h.prototype._version=3,Object.defineProperty(h.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),h.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},n=i.search(t,this._sections,function(e,t){var n=e.generatedLine-t.generatedOffset.generatedLine;return n||e.generatedColumn-t.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:t.generatedLine-(o.generatedOffset.generatedLine-1),column:t.generatedColumn-(o.generatedOffset.generatedLine===t.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},h.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},h.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n].consumer.sourceContentFor(e,!0);if(r)return r}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},h.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var n=this._sections[t];if(-1!==n.consumer._findSourceIndex(r.getArg(e,"source"))){var i=n.consumer.generatedPositionFor(e);if(i)return{line:i.line+(n.generatedOffset.generatedLine-1),column:i.column+(n.generatedOffset.generatedLine===i.line?n.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},h.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var i=this._sections[n],o=i.consumer._generatedMappings,s=0;s<o.length;s++){var l=o[s],u=i.consumer._sources.at(l.source);u=r.computeSourceURL(i.consumer.sourceRoot,u,this._sourceMapURL),this._sources.add(u),u=this._sources.indexOf(u);var c=null;l.name&&(c=i.consumer._names.at(l.name),this._names.add(c),c=this._names.indexOf(c));var h={source:u,generatedLine:l.generatedLine+(i.generatedOffset.generatedLine-1),generatedColumn:l.generatedColumn+(i.generatedOffset.generatedLine===l.generatedLine?i.generatedOffset.generatedColumn-1:0),originalLine:l.originalLine,originalColumn:l.originalColumn,name:c};this.__generatedMappings.push(h),"number"==typeof h.originalLine&&this.__originalMappings.push(h)}a(this.__generatedMappings,r.compareByGeneratedPositionsDeflated),a(this.__originalMappings,r.compareByOriginalPositions)},t.IndexedSourceMapConsumer=h},function(e,t,n){var r=n(144);function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){var t,n,i,o,s,a;t=this._last,n=e,i=t.generatedLine,o=n.generatedLine,s=t.generatedColumn,a=n.generatedColumn,o>i||o==i&&a>=s||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e<n.length)return n[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},function(e,t,n){t.SourceMapGenerator=n(268).SourceMapGenerator,t.SourceMapConsumer=n(438).SourceMapConsumer,t.SourceNode=n(435).SourceNode},function(e,t,n){!function(){"use strict";var t=n(269);function r(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function o(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function s(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function a(e){var n,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(n=1,r=e.length;n<r;++n)if(i=e.charCodeAt(n),!t.isIdentifierPartES5(i))return!1;return!0}function l(e){var n,r,i,o,s;if(0===e.length)return!1;for(s=t.isIdentifierStartES6,n=0,r=e.length;n<r;++n){if(55296<=(i=e.charCodeAt(n))&&i<=56319){if(++n>=r)return!1;if(!(56320<=(o=e.charCodeAt(n))&&o<=57343))return!1;i=1024*(i-55296)+(o-56320)+65536}if(!s(i))return!1;s=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:i,isReservedWordES5:o,isReservedWordES6:s,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:a,isIdentifierNameES6:l,isIdentifierES5:function(e,t){return a(e)&&!o(e,t)},isIdentifierES6:function(e,t){return l(e)&&!s(e,t)}}}()},function(e,t){!function(){"use strict";function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()},function(e,t,n){!function(){"use strict";t.ast=n(443),t.code=n(269),t.keyword=n(442)}()},function(e){e.exports={_args:[["estraverse@4.2.0","C:\\Users\\danie\\Desktop\\bitburner"]],_from:"estraverse@4.2.0",_id:"estraverse@4.2.0",_inBundle:!1,_integrity:"sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",_location:"/estraverse",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"estraverse@4.2.0",name:"estraverse",escapedName:"estraverse",rawSpec:"4.2.0",saveSpec:null,fetchSpec:"4.2.0"},_requiredBy:["/escodegen","/escope","/eslint-scope","/esquery","/esrecurse"],_resolved:"https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",_spec:"4.2.0",_where:"C:\\Users\\danie\\Desktop\\bitburner",bugs:{url:"https://github.com/estools/estraverse/issues"},description:"ECMAScript JS AST traversal functions",devDependencies:{"babel-preset-es2015":"^6.3.13","babel-register":"^6.3.13",chai:"^2.1.1",espree:"^1.11.0",gulp:"^3.8.10","gulp-bump":"^0.2.2","gulp-filter":"^2.0.0","gulp-git":"^1.0.1","gulp-tag-version":"^1.2.1",jshint:"^2.5.6",mocha:"^2.1.0"},engines:{node:">=0.10.0"},homepage:"https://github.com/estools/estraverse",license:"BSD-2-Clause",main:"estraverse.js",maintainers:[{name:"Yusuke Suzuki",email:"utatane.tea@gmail.com",url:"http://github.com/Constellation"}],name:"estraverse",repository:{type:"git",url:"git+ssh://git@github.com/estools/estraverse.git"},scripts:{lint:"jshint estraverse.js",test:"npm run-script lint && npm run-script unit-test","unit-test":"mocha --compilers js:babel-register"},version:"4.2.0"}},function(e,t,n){!function e(t){"use strict";var r,i,o,s,a,l,u,c,h;function d(e){var t,n,r={};for(t in e)e.hasOwnProperty(t)&&(n=e[t],r[t]="object"==typeof n&&null!==n?d(n):n);return r}function f(e,t){this.parent=e,this.key=t}function p(e,t,n,r){this.node=e,this.path=t,this.wrap=n,this.ref=r}function g(){}function m(e){return null!=e&&("object"==typeof e&&"string"==typeof e.type)}function v(e,t){return(e===r.ObjectExpression||e===r.ObjectPattern)&&"properties"===t}function y(e,t){return(new g).traverse(e,t)}function b(e,t){var n;return n=function(e,t){var n,r,i,o;for(r=e.length,i=0;r;)t(e[o=i+(n=r>>>1)])?r=n:(i=o+1,r-=n+1);return i}(t,function(t){return t.range[0]>e.range[0]}),e.extendedRange=[e.range[0],e.range[1]],n!==t.length&&(e.extendedRange[1]=t[n].range[0]),(n-=1)>=0&&(e.extendedRange[0]=t[n].range[1]),e}return(i=Array.isArray)||(i=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),a=Object.create||function(){function e(){}return function(t){return e.prototype=t,new e}}(),l=Object.keys||function(e){var t,n=[];for(t in e)n.push(t);return n},r={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},s={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},o={Break:u={},Skip:c={},Remove:h={}},f.prototype.replace=function(e){this.parent[this.key]=e},f.prototype.remove=function(){return i(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},g.prototype.path=function(){var e,t,n,r,o;function s(e,t){if(i(t))for(n=0,r=t.length;n<r;++n)e.push(t[n]);else e.push(t)}if(!this.__current.path)return null;for(o=[],e=2,t=this.__leavelist.length;e<t;++e)s(o,this.__leavelist[e].path);return s(o,this.__current.path),o},g.prototype.type=function(){return this.current().type||this.__current.wrap},g.prototype.parents=function(){var e,t,n;for(n=[],e=1,t=this.__leavelist.length;e<t;++e)n.push(this.__leavelist[e].node);return n},g.prototype.current=function(){return this.__current.node},g.prototype.__execute=function(e,t){var n,r;return r=void 0,n=this.__current,this.__current=t,this.__state=null,e&&(r=e.call(this,t.node,this.__leavelist[this.__leavelist.length-1].node)),this.__current=n,r},g.prototype.notify=function(e){this.__state=e},g.prototype.skip=function(){this.notify(c)},g.prototype.break=function(){this.notify(u)},g.prototype.remove=function(){this.notify(h)},g.prototype.__initialize=function(e,t){this.visitor=t,this.root=e,this.__worklist=[],this.__leavelist=[],this.__current=null,this.__state=null,this.__fallback=null,"iteration"===t.fallback?this.__fallback=l:"function"==typeof t.fallback&&(this.__fallback=t.fallback),this.__keys=s,t.keys&&(this.__keys=function(e,t){var n,r,i,o=l(t);for(r=0,i=o.length;r<i;r+=1)e[n=o[r]]=t[n];return e}(a(this.__keys),t.keys))},g.prototype.traverse=function(e,t){var n,r,o,s,a,l,h,d,f,g,y,b;for(this.__initialize(e,t),b={},n=this.__worklist,r=this.__leavelist,n.push(new p(e,null,null,null)),r.push(new p(null,null,null,null));n.length;)if((o=n.pop())!==b){if(o.node){if(l=this.__execute(t.enter,o),this.__state===u||l===u)return;if(n.push(b),r.push(o),this.__state===c||l===c)continue;if(a=(s=o.node).type||o.wrap,!(g=this.__keys[a])){if(!this.__fallback)throw new Error("Unknown node type "+a+".");g=this.__fallback(s)}for(d=g.length;(d-=1)>=0;)if(y=s[h=g[d]])if(i(y)){for(f=y.length;(f-=1)>=0;)if(y[f]){if(v(a,g[d]))o=new p(y[f],[h,f],"Property",null);else{if(!m(y[f]))continue;o=new p(y[f],[h,f],null,null)}n.push(o)}}else m(y)&&n.push(new p(y,h,null,null))}}else if(o=r.pop(),l=this.__execute(t.leave,o),this.__state===u||l===u)return},g.prototype.replace=function(e,t){var n,r,o,s,a,l,d,g,y,b,w,x,C;function k(e){var t,r,i,o;if(e.ref.remove())for(r=e.ref.key,o=e.ref.parent,t=n.length;t--;)if((i=n[t]).ref&&i.ref.parent===o){if(i.ref.key<r)break;--i.ref.key}}for(this.__initialize(e,t),w={},n=this.__worklist,r=this.__leavelist,l=new p(e,null,null,new f(x={root:e},"root")),n.push(l),r.push(l);n.length;)if((l=n.pop())!==w){if(void 0!==(a=this.__execute(t.enter,l))&&a!==u&&a!==c&&a!==h&&(l.ref.replace(a),l.node=a),this.__state!==h&&a!==h||(k(l),l.node=null),this.__state===u||a===u)return x.root;if((o=l.node)&&(n.push(w),r.push(l),this.__state!==c&&a!==c)){if(s=o.type||l.wrap,!(y=this.__keys[s])){if(!this.__fallback)throw new Error("Unknown node type "+s+".");y=this.__fallback(o)}for(d=y.length;(d-=1)>=0;)if(b=o[C=y[d]])if(i(b)){for(g=b.length;(g-=1)>=0;)if(b[g]){if(v(s,y[d]))l=new p(b[g],[C,g],"Property",new f(b,g));else{if(!m(b[g]))continue;l=new p(b[g],[C,g],null,new f(b,g))}n.push(l)}}else m(b)&&n.push(new p(b,C,null,new f(o,C)))}}else if(l=r.pop(),void 0!==(a=this.__execute(t.leave,l))&&a!==u&&a!==c&&a!==h&&l.ref.replace(a),this.__state!==h&&a!==h||k(l),this.__state===u||a===u)return x.root;return x.root},t.version=n(445).version,t.Syntax=r,t.traverse=y,t.replace=function(e,t){return(new g).replace(e,t)},t.attachComments=function(e,t,n){var r,i,s,a,l=[];if(!e.range)throw new Error("attachComments needs range information");if(!n.length){if(t.length){for(s=0,i=t.length;s<i;s+=1)(r=d(t[s])).extendedRange=[0,e.range[0]],l.push(r);e.leadingComments=l}return e}for(s=0,i=t.length;s<i;s+=1)l.push(b(d(t[s]),n));return a=0,y(e,{enter:function(e){for(var t;a<l.length&&!((t=l[a]).extendedRange[1]>e.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),l.splice(a,1)):a+=1;return a===l.length?o.Break:l[a].extendedRange[0]>e.range[1]?o.Skip:void 0}}),a=0,y(e,{leave:function(e){for(var t;a<l.length&&(t=l[a],!(e.range[1]<t.extendedRange[0]));)e.range[1]===t.extendedRange[0]?(e.trailingComments||(e.trailingComments=[]),e.trailingComments.push(t),l.splice(a,1)):a+=1;return a===l.length?o.Break:l[a].extendedRange[0]>e.range[1]?o.Skip:void 0}}),e},t.VisitorKeys=s,t.VisitorOption=o,t.Controller=g,t.cloneEnvironment=function(){return e({})},t}(t)},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,n){"use strict";var r=n(273),i=n(79),o=n(230),s=n(229),a=n(142),l=n(280),u=n(126);function c(e,t){this.options=e,this.loadOptions=t}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=r(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,n,r,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index<i;)t=e.readInt(2),n=e.readInt(2),r=e.readData(n),this.extraFields[t]={id:t,length:n,value:r}},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var r=this.findExtraFieldUnicodeComment();if(null!==r)this.fileCommentStr=r;else{var o=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(o)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=r(e.value);return 1!==t.readInt(1)?null:s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=r(e.value);return 1!==t.readInt(1)?null:s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},e.exports=c},function(e,t,n){"use strict";var r=n(270);function i(e){r.call(this,e)}n(79).inherits(i,r),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,n){"use strict";var r=n(271);function i(e){r.call(this,e)}n(79).inherits(i,r),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,n){"use strict";var r=n(273),i=n(79),o=n(274),s=n(448),a=(n(142),n(126));function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var r=this.reader.readString(4)===t;return this.reader.setIndex(n),r},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",n=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,r=this.zip64EndOfCentralSize-44;0<r;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var r=t-n;if(r>0)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=r);else if(r<0)throw new Error("Corrupted zip: missing "+Math.abs(r)+" bytes.")},prepareReader:function(e){this.reader=r(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},function(e,t,n){"use strict";var r=n(79),i=n(148),o=n(142),s=(r=n(79),n(451)),a=n(281),l=n(170);function u(e){return new i.Promise(function(t,n){var r=e.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){n(e)}).on("end",function(){r.streamInfo.crc32!==e.decompressed.crc32?n(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}e.exports=function(e,t){var n=this;return t=r.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):r.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var n=new s(t);return n.load(e),n}).then(function(e){var n=[i.Promise.resolve(e)],r=e.files;if(t.checkCRC32)for(var o=0;o<r.length;o++)n.push(u(r[o]));return i.Promise.all(n)}).then(function(e){for(var r=e.shift(),i=r.files,o=0;o<i.length;o++){var s=i[o];n.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return r.zipComment.length&&(n.comment=r.zipComment),n})}},function(e,t,n){"use strict";var r=n(79),i=n(105);function o(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}r.inherits(o,i),o.prototype._bindStream=function(e){var t=this;this._stream=e,e.pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},o.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=o},function(e,t,n){"use strict";var r=n(79),i=n(105),o=n(142),s=n(229),a=n(274),l=function(e,t){var n,r="";for(n=0;n<t;n++)r+=String.fromCharCode(255&e),e>>>=8;return r},u=function(e,t,n,i,u,c){var h,d,f=e.file,p=e.compression,g=c!==o.utf8encode,m=r.transformTo("string",c(f.name)),v=r.transformTo("string",o.utf8encode(f.name)),y=f.comment,b=r.transformTo("string",c(y)),w=r.transformTo("string",o.utf8encode(y)),x=v.length!==f.name.length,C=w.length!==y.length,k="",A="",E="",_=f.dir,S=f.date,F={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(F.crc32=e.crc32,F.compressedSize=e.compressedSize,F.uncompressedSize=e.uncompressedSize);var D=0;t&&(D|=8),g||!x&&!C||(D|=2048);var T,B,L=0,M=0;_&&(L|=16),"UNIX"===u?(M=798,L|=(T=f.unixPermissions,B=T,T||(B=_?16893:33204),(65535&B)<<16)):(M=20,L|=63&(f.dosPermissions||0)),h=S.getUTCHours(),h<<=6,h|=S.getUTCMinutes(),h<<=5,h|=S.getUTCSeconds()/2,d=S.getUTCFullYear()-1980,d<<=4,d|=S.getUTCMonth()+1,d<<=5,d|=S.getUTCDate(),x&&(A=l(1,1)+l(s(m),4)+v,k+="up"+l(A.length,2)+A),C&&(E=l(1,1)+l(s(b),4)+w,k+="uc"+l(E.length,2)+E);var O="";return O+="\n\0",O+=l(D,2),O+=p.magic,O+=l(h,2),O+=l(d,2),O+=l(F.crc32,4),O+=l(F.compressedSize,4),O+=l(F.uncompressedSize,4),O+=l(m.length,2),O+=l(k.length,2),{fileRecord:a.LOCAL_FILE_HEADER+O+m+k,dirRecord:a.CENTRAL_FILE_HEADER+l(M,2)+O+l(b.length,2)+"\0\0\0\0"+l(L,4)+l(i,4)+m+k+b}};function c(e,t,n,r){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}r.inherits(c,i),c.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-r-1))/n:100}}))},c.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},c.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:function(e){return a.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},c.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var n=this.bytesWritten-e,i=function(e,t,n,i,o){var s=r.transformTo("string",o(i));return a.CENTRAL_DIRECTORY_END+"\0\0\0\0"+l(e,2)+l(e,2)+l(t,4)+l(n,4)+l(s.length,2)+s}(this.dirRecords.length,n,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},c.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},c.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},c.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},c.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},c.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},e.exports=c},function(e,t,n){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,t,n){"use strict";var r=n(125),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,l,u,c,h,d){var f,p,g,m,v,y,b,w,x,C=d.bits,k=0,A=0,E=0,_=0,S=0,F=0,D=0,T=0,B=0,L=0,M=null,O=0,P=new r.Buf16(16),R=new r.Buf16(16),j=null,I=0;for(k=0;k<=15;k++)P[k]=0;for(A=0;A<l;A++)P[t[n+A]]++;for(S=C,_=15;_>=1&&0===P[_];_--);if(S>_&&(S=_),0===_)return u[c++]=20971520,u[c++]=20971520,d.bits=1,0;for(E=1;E<_&&0===P[E];E++);for(S<E&&(S=E),T=1,k=1;k<=15;k++)if(T<<=1,(T-=P[k])<0)return-1;if(T>0&&(0===e||1!==_))return-1;for(R[1]=0,k=1;k<15;k++)R[k+1]=R[k]+P[k];for(A=0;A<l;A++)0!==t[n+A]&&(h[R[t[n+A]]++]=A);if(0===e?(M=j=h,y=19):1===e?(M=i,O-=257,j=o,I-=257,y=256):(M=s,j=a,y=-1),L=0,A=0,k=E,v=c,F=S,D=0,g=-1,m=(B=1<<S)-1,1===e&&B>852||2===e&&B>592)return 1;for(;;){b=k-D,h[A]<y?(w=0,x=h[A]):h[A]>y?(w=j[I+h[A]],x=M[O+h[A]]):(w=96,x=0),f=1<<k-D,E=p=1<<F;do{u[v+(L>>D)+(p-=f)]=b<<24|w<<16|x|0}while(0!==p);for(f=1<<k-1;L&f;)f>>=1;if(0!==f?(L&=f-1,L+=f):L=0,A++,0==--P[k]){if(k===_)break;k=t[n+h[A]]}if(k>S&&(L&m)!==g){for(0===D&&(D=S),v+=E,T=1<<(F=k-D);F+D<_&&!((T-=P[F+D])<=0);)F++,T<<=1;if(B+=1<<F,1===e&&B>852||2===e&&B>592)return 1;u[g=L&m]=S<<24|F<<16|v-c|0}}return 0!==L&&(u[v+L]=k-D<<24|64<<16|0),d.bits=S,0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,i,o,s,a,l,u,c,h,d,f,p,g,m,v,y,b,w,x,C,k,A,E,_;n=e.state,r=e.next_in,E=e.input,i=r+(e.avail_in-5),o=e.next_out,_=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=n.dmax,u=n.wsize,c=n.whave,h=n.wnext,d=n.window,f=n.hold,p=n.bits,g=n.lencode,m=n.distcode,v=(1<<n.lenbits)-1,y=(1<<n.distbits)-1;e:do{p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),b=g[f&v];t:for(;;){if(f>>>=w=b>>>24,p-=w,0===(w=b>>>16&255))_[o++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=g[(65535&b)+(f&(1<<w)-1)];continue t}if(32&w){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}x=65535&b,(w&=15)&&(p<w&&(f+=E[r++]<<p,p+=8),x+=f&(1<<w)-1,f>>>=w,p-=w),p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),b=m[f&y];n:for(;;){if(f>>>=w=b>>>24,p-=w,!(16&(w=b>>>16&255))){if(0==(64&w)){b=m[(65535&b)+(f&(1<<w)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(C=65535&b,p<(w&=15)&&(f+=E[r++]<<p,(p+=8)<w&&(f+=E[r++]<<p,p+=8)),(C+=f&(1<<w)-1)>l){e.msg="invalid distance too far back",n.mode=30;break e}if(f>>>=w,p-=w,C>(w=o-s)){if((w=C-w)>c&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=0,A=d,0===h){if(k+=u-w,w<x){x-=w;do{_[o++]=d[k++]}while(--w);k=o-C,A=_}}else if(h<w){if(k+=u+h-w,(w-=h)<x){x-=w;do{_[o++]=d[k++]}while(--w);if(k=0,h<x){x-=w=h;do{_[o++]=d[k++]}while(--w);k=o-C,A=_}}}else if(k+=h-w,w<x){x-=w;do{_[o++]=d[k++]}while(--w);k=o-C,A=_}for(;x>2;)_[o++]=A[k++],_[o++]=A[k++],_[o++]=A[k++],x-=3;x&&(_[o++]=A[k++],x>1&&(_[o++]=A[k++]))}else{k=o-C;do{_[o++]=_[k++],_[o++]=_[k++],_[o++]=_[k++],x-=3}while(x>2);x&&(_[o++]=_[k++],x>1&&(_[o++]=_[k++]))}break}}break}}while(r<i&&o<a);r-=x=p>>3,f&=(1<<(p-=x<<3))-1,e.next_in=r,e.next_out=o,e.avail_in=r<i?i-r+5:5-(r-i),e.avail_out=o<a?a-o+257:257-(o-a),n.hold=f,n.bits=p}},function(e,t,n){"use strict";var r=n(125),i=n(279),o=n(278),s=n(457),a=n(456),l=0,u=1,c=2,h=4,d=5,f=6,p=0,g=1,m=2,v=-2,y=-3,b=-4,w=-5,x=8,C=1,k=2,A=3,E=4,_=5,S=6,F=7,D=8,T=9,B=10,L=11,M=12,O=13,P=14,R=15,j=16,I=17,N=18,$=19,W=20,H=21,z=22,U=23,V=24,G=25,K=26,q=27,Y=28,X=29,Z=30,J=31,Q=32,ee=852,te=592,ne=15;function re(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=C,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(ee),t.distcode=t.distdyn=new r.Buf32(te),t.sane=1,t.back=-1,p):v}function oe(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,ie(e)):v}function se(e,t){var n,r;return e&&e.state?(r=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?v:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,oe(e))):v}function ae(e,t){var n,i;return e?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},e.state=i,i.window=null,(n=se(e,t))!==p&&(e.state=null),n):v}var le,ue,ce=!0;function he(e){if(ce){var t;for(le=new r.Buf32(512),ue=new r.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(u,e.lens,0,288,le,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,ue,0,e.work,{bits:5}),ce=!1}e.lencode=le,e.lenbits=9,e.distcode=ue,e.distbits=5}function de(e,t,n,i){var o,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),i>=s.wsize?(r.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>i&&(o=i),r.arraySet(s.window,t,n-i,o,s.wnext),(i-=o)?(r.arraySet(s.window,t,n-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}t.inflateReset=oe,t.inflateReset2=se,t.inflateResetKeep=ie,t.inflateInit=function(e){return ae(e,ne)},t.inflateInit2=ae,t.inflate=function(e,t){var n,ee,te,ne,ie,oe,se,ae,le,ue,ce,fe,pe,ge,me,ve,ye,be,we,xe,Ce,ke,Ae,Ee,_e=0,Se=new r.Buf8(4),Fe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return v;(n=e.state).mode===M&&(n.mode=O),ie=e.next_out,te=e.output,se=e.avail_out,ne=e.next_in,ee=e.input,oe=e.avail_in,ae=n.hold,le=n.bits,ue=oe,ce=se,ke=p;e:for(;;)switch(n.mode){case C:if(0===n.wrap){n.mode=O;break}for(;le<16;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(2&n.wrap&&35615===ae){n.check=0,Se[0]=255&ae,Se[1]=ae>>>8&255,n.check=o(n.check,Se,2,0),ae=0,le=0,n.mode=k;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&ae)<<8)+(ae>>8))%31){e.msg="incorrect header check",n.mode=Z;break}if((15&ae)!==x){e.msg="unknown compression method",n.mode=Z;break}if(le-=4,Ce=8+(15&(ae>>>=4)),0===n.wbits)n.wbits=Ce;else if(Ce>n.wbits){e.msg="invalid window size",n.mode=Z;break}n.dmax=1<<Ce,e.adler=n.check=1,n.mode=512&ae?B:M,ae=0,le=0;break;case k:for(;le<16;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(n.flags=ae,(255&n.flags)!==x){e.msg="unknown compression method",n.mode=Z;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=Z;break}n.head&&(n.head.text=ae>>8&1),512&n.flags&&(Se[0]=255&ae,Se[1]=ae>>>8&255,n.check=o(n.check,Se,2,0)),ae=0,le=0,n.mode=A;case A:for(;le<32;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.head&&(n.head.time=ae),512&n.flags&&(Se[0]=255&ae,Se[1]=ae>>>8&255,Se[2]=ae>>>16&255,Se[3]=ae>>>24&255,n.check=o(n.check,Se,4,0)),ae=0,le=0,n.mode=E;case E:for(;le<16;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.head&&(n.head.xflags=255&ae,n.head.os=ae>>8),512&n.flags&&(Se[0]=255&ae,Se[1]=ae>>>8&255,n.check=o(n.check,Se,2,0)),ae=0,le=0,n.mode=_;case _:if(1024&n.flags){for(;le<16;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.length=ae,n.head&&(n.head.extra_len=ae),512&n.flags&&(Se[0]=255&ae,Se[1]=ae>>>8&255,n.check=o(n.check,Se,2,0)),ae=0,le=0}else n.head&&(n.head.extra=null);n.mode=S;case S:if(1024&n.flags&&((fe=n.length)>oe&&(fe=oe),fe&&(n.head&&(Ce=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,ee,ne,fe,Ce)),512&n.flags&&(n.check=o(n.check,ee,fe,ne)),oe-=fe,ne+=fe,n.length-=fe),n.length))break e;n.length=0,n.mode=F;case F:if(2048&n.flags){if(0===oe)break e;fe=0;do{Ce=ee[ne+fe++],n.head&&Ce&&n.length<65536&&(n.head.name+=String.fromCharCode(Ce))}while(Ce&&fe<oe);if(512&n.flags&&(n.check=o(n.check,ee,fe,ne)),oe-=fe,ne+=fe,Ce)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=D;case D:if(4096&n.flags){if(0===oe)break e;fe=0;do{Ce=ee[ne+fe++],n.head&&Ce&&n.length<65536&&(n.head.comment+=String.fromCharCode(Ce))}while(Ce&&fe<oe);if(512&n.flags&&(n.check=o(n.check,ee,fe,ne)),oe-=fe,ne+=fe,Ce)break e}else n.head&&(n.head.comment=null);n.mode=T;case T:if(512&n.flags){for(;le<16;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(ae!==(65535&n.check)){e.msg="header crc mismatch",n.mode=Z;break}ae=0,le=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=M;break;case B:for(;le<32;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}e.adler=n.check=re(ae),ae=0,le=0,n.mode=L;case L:if(0===n.havedict)return e.next_out=ie,e.avail_out=se,e.next_in=ne,e.avail_in=oe,n.hold=ae,n.bits=le,m;e.adler=n.check=1,n.mode=M;case M:if(t===d||t===f)break e;case O:if(n.last){ae>>>=7&le,le-=7&le,n.mode=q;break}for(;le<3;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}switch(n.last=1&ae,le-=1,3&(ae>>>=1)){case 0:n.mode=P;break;case 1:if(he(n),n.mode=W,t===f){ae>>>=2,le-=2;break e}break;case 2:n.mode=I;break;case 3:e.msg="invalid block type",n.mode=Z}ae>>>=2,le-=2;break;case P:for(ae>>>=7&le,le-=7&le;le<32;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if((65535&ae)!=(ae>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Z;break}if(n.length=65535&ae,ae=0,le=0,n.mode=R,t===f)break e;case R:n.mode=j;case j:if(fe=n.length){if(fe>oe&&(fe=oe),fe>se&&(fe=se),0===fe)break e;r.arraySet(te,ee,ne,fe,ie),oe-=fe,ne+=fe,se-=fe,ie+=fe,n.length-=fe;break}n.mode=M;break;case I:for(;le<14;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(n.nlen=257+(31&ae),ae>>>=5,le-=5,n.ndist=1+(31&ae),ae>>>=5,le-=5,n.ncode=4+(15&ae),ae>>>=4,le-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Z;break}n.have=0,n.mode=N;case N:for(;n.have<n.ncode;){for(;le<3;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.lens[Fe[n.have++]]=7&ae,ae>>>=3,le-=3}for(;n.have<19;)n.lens[Fe[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,Ae={bits:n.lenbits},ke=a(l,n.lens,0,19,n.lencode,0,n.work,Ae),n.lenbits=Ae.bits,ke){e.msg="invalid code lengths set",n.mode=Z;break}n.have=0,n.mode=$;case $:for(;n.have<n.nlen+n.ndist;){for(;ve=(_e=n.lencode[ae&(1<<n.lenbits)-1])>>>16&255,ye=65535&_e,!((me=_e>>>24)<=le);){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(ye<16)ae>>>=me,le-=me,n.lens[n.have++]=ye;else{if(16===ye){for(Ee=me+2;le<Ee;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(ae>>>=me,le-=me,0===n.have){e.msg="invalid bit length repeat",n.mode=Z;break}Ce=n.lens[n.have-1],fe=3+(3&ae),ae>>>=2,le-=2}else if(17===ye){for(Ee=me+3;le<Ee;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}le-=me,Ce=0,fe=3+(7&(ae>>>=me)),ae>>>=3,le-=3}else{for(Ee=me+7;le<Ee;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}le-=me,Ce=0,fe=11+(127&(ae>>>=me)),ae>>>=7,le-=7}if(n.have+fe>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Z;break}for(;fe--;)n.lens[n.have++]=Ce}}if(n.mode===Z)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Z;break}if(n.lenbits=9,Ae={bits:n.lenbits},ke=a(u,n.lens,0,n.nlen,n.lencode,0,n.work,Ae),n.lenbits=Ae.bits,ke){e.msg="invalid literal/lengths set",n.mode=Z;break}if(n.distbits=6,n.distcode=n.distdyn,Ae={bits:n.distbits},ke=a(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,Ae),n.distbits=Ae.bits,ke){e.msg="invalid distances set",n.mode=Z;break}if(n.mode=W,t===f)break e;case W:n.mode=H;case H:if(oe>=6&&se>=258){e.next_out=ie,e.avail_out=se,e.next_in=ne,e.avail_in=oe,n.hold=ae,n.bits=le,s(e,ce),ie=e.next_out,te=e.output,se=e.avail_out,ne=e.next_in,ee=e.input,oe=e.avail_in,ae=n.hold,le=n.bits,n.mode===M&&(n.back=-1);break}for(n.back=0;ve=(_e=n.lencode[ae&(1<<n.lenbits)-1])>>>16&255,ye=65535&_e,!((me=_e>>>24)<=le);){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(ve&&0==(240&ve)){for(be=me,we=ve,xe=ye;ve=(_e=n.lencode[xe+((ae&(1<<be+we)-1)>>be)])>>>16&255,ye=65535&_e,!(be+(me=_e>>>24)<=le);){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}ae>>>=be,le-=be,n.back+=be}if(ae>>>=me,le-=me,n.back+=me,n.length=ye,0===ve){n.mode=K;break}if(32&ve){n.back=-1,n.mode=M;break}if(64&ve){e.msg="invalid literal/length code",n.mode=Z;break}n.extra=15&ve,n.mode=z;case z:if(n.extra){for(Ee=n.extra;le<Ee;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.length+=ae&(1<<n.extra)-1,ae>>>=n.extra,le-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=U;case U:for(;ve=(_e=n.distcode[ae&(1<<n.distbits)-1])>>>16&255,ye=65535&_e,!((me=_e>>>24)<=le);){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(0==(240&ve)){for(be=me,we=ve,xe=ye;ve=(_e=n.distcode[xe+((ae&(1<<be+we)-1)>>be)])>>>16&255,ye=65535&_e,!(be+(me=_e>>>24)<=le);){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}ae>>>=be,le-=be,n.back+=be}if(ae>>>=me,le-=me,n.back+=me,64&ve){e.msg="invalid distance code",n.mode=Z;break}n.offset=ye,n.extra=15&ve,n.mode=V;case V:if(n.extra){for(Ee=n.extra;le<Ee;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}n.offset+=ae&(1<<n.extra)-1,ae>>>=n.extra,le-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Z;break}n.mode=G;case G:if(0===se)break e;if(fe=ce-se,n.offset>fe){if((fe=n.offset-fe)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Z;break}fe>n.wnext?(fe-=n.wnext,pe=n.wsize-fe):pe=n.wnext-fe,fe>n.length&&(fe=n.length),ge=n.window}else ge=te,pe=ie-n.offset,fe=n.length;fe>se&&(fe=se),se-=fe,n.length-=fe;do{te[ie++]=ge[pe++]}while(--fe);0===n.length&&(n.mode=H);break;case K:if(0===se)break e;te[ie++]=n.length,se--,n.mode=H;break;case q:if(n.wrap){for(;le<32;){if(0===oe)break e;oe--,ae|=ee[ne++]<<le,le+=8}if(ce-=se,e.total_out+=ce,n.total+=ce,ce&&(e.adler=n.check=n.flags?o(n.check,te,ce,ie-ce):i(n.check,te,ce,ie-ce)),ce=se,(n.flags?ae:re(ae))!==n.check){e.msg="incorrect data check",n.mode=Z;break}ae=0,le=0}n.mode=Y;case Y:if(n.wrap&&n.flags){for(;le<32;){if(0===oe)break e;oe--,ae+=ee[ne++]<<le,le+=8}if(ae!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=Z;break}ae=0,le=0}n.mode=X;case X:ke=g;break e;case Z:ke=y;break e;case J:return b;case Q:default:return v}return e.next_out=ie,e.avail_out=se,e.next_in=ne,e.avail_in=oe,n.hold=ae,n.bits=le,(n.wsize||ce!==e.avail_out&&n.mode<Z&&(n.mode<q||t!==h))&&de(e,e.output,e.next_out,ce-e.avail_out)?(n.mode=J,b):(ue-=e.avail_in,ce-=e.avail_out,e.total_in+=ue,e.total_out+=ce,n.total+=ce,n.wrap&&ce&&(e.adler=n.check=n.flags?o(n.check,te,ce,e.next_out-ce):i(n.check,te,ce,e.next_out-ce)),e.data_type=n.bits+(n.last?64:0)+(n.mode===M?128:0)+(n.mode===W||n.mode===R?256:0),(0===ue&&0===ce||t===h)&&ke===p&&(ke=w),ke)},t.inflateEnd=function(e){if(!e||!e.state)return v;var t=e.state;return t.window&&(t.window=null),e.state=null,p},t.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?v:(n.head=t,t.done=!1,p):v},t.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&n.mode!==L?v:n.mode===L&&i(1,t,r,0)!==n.check?y:de(e,t,r,r)?(n.mode=J,b):(n.havedict=1,p):v},t.inflateInfo="pako inflate (from Nodeca project)"},function(e,t,n){"use strict";var r=n(458),i=n(125),o=n(277),s=n(275),a=n(228),l=n(276),u=n(455),c=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=r.inflateInit2(this.strm,t.windowBits);if(n!==s.Z_OK)throw new Error(a[n]);this.header=new u,r.inflateGetHeader(this.strm,this.header)}function d(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}h.prototype.push=function(e,t){var n,a,l,u,h,d,f=this.strm,p=this.options.chunkSize,g=this.options.dictionary,m=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?f.input=o.binstring2buf(e):"[object ArrayBuffer]"===c.call(e)?f.input=new Uint8Array(e):f.input=e,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new i.Buf8(p),f.next_out=0,f.avail_out=p),(n=r.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&g&&(d="string"==typeof g?o.string2buf(g):"[object ArrayBuffer]"===c.call(g)?new Uint8Array(g):g,n=r.inflateSetDictionary(this.strm,d)),n===s.Z_BUF_ERROR&&!0===m&&(n=s.Z_OK,m=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&n!==s.Z_STREAM_END&&(0!==f.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=o.utf8border(f.output,f.next_out),u=f.next_out-l,h=o.buf2string(f.output,l),f.next_out=u,f.avail_out=p-u,u&&i.arraySet(f.output,f.output,l,u,0),this.onData(h)):this.onData(i.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(m=!0)}while((f.avail_in>0||0===f.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(n=r.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},function(e,t,n){"use strict";var r=n(125),i=4,o=0,s=1,a=2;function l(e){for(var t=e.length;--t>=0;)e[t]=0}var u=0,c=1,h=2,d=29,f=256,p=f+1+d,g=30,m=19,v=2*p+1,y=15,b=16,w=7,x=256,C=16,k=17,A=18,E=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],_=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],S=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],F=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],D=new Array(2*(p+2));l(D);var T=new Array(2*g);l(T);var B=new Array(512);l(B);var L=new Array(256);l(L);var M=new Array(d);l(M);var O,P,R,j=new Array(g);function I(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function N(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function $(e){return e<256?B[e]:B[256+(e>>>7)]}function W(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function H(e,t,n){e.bi_valid>b-n?(e.bi_buf|=t<<e.bi_valid&65535,W(e,e.bi_buf),e.bi_buf=t>>b-e.bi_valid,e.bi_valid+=n-b):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function z(e,t,n){H(e,n[2*t],n[2*t+1])}function U(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function V(e,t,n){var r,i,o=new Array(y+1),s=0;for(r=1;r<=y;r++)o[r]=s=s+n[r-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=U(o[a]++,a))}}function G(e){var t;for(t=0;t<p;t++)e.dyn_ltree[2*t]=0;for(t=0;t<g;t++)e.dyn_dtree[2*t]=0;for(t=0;t<m;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*x]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function K(e){e.bi_valid>8?W(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function q(e,t,n,r){var i=2*t,o=2*n;return e[i]<e[o]||e[i]===e[o]&&r[t]<=r[n]}function Y(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&q(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!q(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function X(e,t,n){var r,i,o,s,a=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===r?z(e,i,t):(z(e,(o=L[i])+f+1,t),0!==(s=E[o])&&H(e,i-=M[o],s),z(e,o=$(--r),n),0!==(s=_[o])&&H(e,r-=j[o],s))}while(a<e.last_lit);z(e,x,t)}function Z(e,t){var n,r,i,o=t.dyn_tree,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=v,n=0;n<l;n++)0!==o[2*n]?(e.heap[++e.heap_len]=u=n,e.depth[n]=0):o[2*n+1]=0;for(;e.heap_len<2;)o[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=s[2*i+1]);for(t.max_code=u,n=e.heap_len>>1;n>=1;n--)Y(e,o,n);i=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Y(e,o,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,o[2*i]=o[2*n]+o[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,o[2*n+1]=o[2*r+1]=i,e.heap[1]=i++,Y(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,o,s,a,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,p=t.stat_desc.max_length,g=0;for(o=0;o<=y;o++)e.bl_count[o]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<v;n++)(o=l[2*l[2*(r=e.heap[n])+1]+1]+1)>p&&(o=p,g++),l[2*r+1]=o,r>u||(e.bl_count[o]++,s=0,r>=f&&(s=d[r-f]),a=l[2*r],e.opt_len+=a*(o+s),h&&(e.static_len+=a*(c[2*r+1]+s)));if(0!==g){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,g-=2}while(g>0);for(o=p;0!==o;o--)for(r=e.bl_count[o];0!==r;)(i=e.heap[--n])>u||(l[2*i+1]!==o&&(e.opt_len+=(o-l[2*i+1])*l[2*i],l[2*i+1]=o),r--)}}(e,t),V(o,u,e.bl_count)}function J(e,t,n){var r,i,o=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++a<l&&i===s||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==o&&e.bl_tree[2*i]++,e.bl_tree[2*C]++):a<=10?e.bl_tree[2*k]++:e.bl_tree[2*A]++,a=0,o=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4))}function Q(e,t,n){var r,i,o=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),r=0;r<=n;r++)if(i=s,s=t[2*(r+1)+1],!(++a<l&&i===s)){if(a<u)do{z(e,i,e.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(z(e,i,e.bl_tree),a--),z(e,C,e.bl_tree),H(e,a-3,2)):a<=10?(z(e,k,e.bl_tree),H(e,a-3,3)):(z(e,A,e.bl_tree),H(e,a-11,7));a=0,o=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4)}}l(j);var ee=!1;function te(e,t,n,i){H(e,(u<<1)+(i?1:0),3),function(e,t,n,i){K(e),i&&(W(e,n),W(e,~n)),r.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n,!0)}t._tr_init=function(e){ee||(function(){var e,t,n,r,i,o=new Array(y+1);for(n=0,r=0;r<d-1;r++)for(M[r]=n,e=0;e<1<<E[r];e++)L[n++]=r;for(L[n-1]=r,i=0,r=0;r<16;r++)for(j[r]=i,e=0;e<1<<_[r];e++)B[i++]=r;for(i>>=7;r<g;r++)for(j[r]=i<<7,e=0;e<1<<_[r]-7;e++)B[256+i++]=r;for(t=0;t<=y;t++)o[t]=0;for(e=0;e<=143;)D[2*e+1]=8,e++,o[8]++;for(;e<=255;)D[2*e+1]=9,e++,o[9]++;for(;e<=279;)D[2*e+1]=7,e++,o[7]++;for(;e<=287;)D[2*e+1]=8,e++,o[8]++;for(V(D,p+1,o),e=0;e<g;e++)T[2*e+1]=5,T[2*e]=U(e,5);O=new I(D,E,f+1,p,y),P=new I(T,_,0,g,y),R=new I(new Array(0),S,0,m,w)}(),ee=!0),e.l_desc=new N(e.dyn_ltree,O),e.d_desc=new N(e.dyn_dtree,P),e.bl_desc=new N(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,G(e)},t._tr_stored_block=te,t._tr_flush_block=function(e,t,n,r){var l,u,d=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t<f;t++)if(0!==e.dyn_ltree[2*t])return s;return o}(e)),Z(e,e.l_desc),Z(e,e.d_desc),d=function(e){var t;for(J(e,e.dyn_ltree,e.l_desc.max_code),J(e,e.dyn_dtree,e.d_desc.max_code),Z(e,e.bl_desc),t=m-1;t>=3&&0===e.bl_tree[2*F[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(u=e.static_len+3+7>>>3)<=l&&(l=u)):l=u=n+5,n+4<=l&&-1!==t?te(e,t,n,r):e.strategy===i||u===l?(H(e,(c<<1)+(r?1:0),3),X(e,D,T)):(H(e,(h<<1)+(r?1:0),3),function(e,t,n,r){var i;for(H(e,t-257,5),H(e,n-1,5),H(e,r-4,4),i=0;i<r;i++)H(e,e.bl_tree[2*F[i]+1],3);Q(e,e.dyn_ltree,t-1),Q(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,d+1),X(e,e.dyn_ltree,e.dyn_dtree)),G(e),r&&K(e)},t._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(L[n]+f+1)]++,e.dyn_dtree[2*$(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){H(e,c<<1,3),z(e,x,D),function(e){16===e.bi_valid?(W(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,n){"use strict";var r,i=n(125),o=n(460),s=n(279),a=n(278),l=n(228),u=0,c=1,h=3,d=4,f=5,p=0,g=1,m=-2,v=-3,y=-5,b=-1,w=1,x=2,C=3,k=4,A=0,E=2,_=8,S=9,F=15,D=8,T=286,B=30,L=19,M=2*T+1,O=15,P=3,R=258,j=R+P+1,I=32,N=42,$=69,W=73,H=91,z=103,U=113,V=666,G=1,K=2,q=3,Y=4,X=3;function Z(e,t){return e.msg=l[t],t}function J(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(i.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function te(e,t){o._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function ne(e,t){e.pending_buf[e.pending++]=t}function re(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var n,r,i=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-j?e.strstart-(e.w_size-j):0,u=e.window,c=e.w_mask,h=e.prev,d=e.strstart+R,f=u[o+s-1],p=u[o+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(n=t)+s]===p&&u[n+s-1]===f&&u[n]===u[o]&&u[++n]===u[o+1]){o+=2,n++;do{}while(u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&o<d);if(r=R-(d-o),o=d-R,r>s){if(e.match_start=t,s=r,r>=a)break;f=u[o+s-1],p=u[o+s]}}}while((t=h[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead}function oe(e){var t,n,r,o,l,u,c,h,d,f,p=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-j)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=p?r-p:0}while(--n);t=n=p;do{r=e.prev[--t],e.prev[t]=r>=p?r-p:0}while(--n);o+=p}if(0===e.strm.avail_in)break;if(u=e.strm,c=e.window,h=e.strstart+e.lookahead,d=o,f=void 0,(f=u.avail_in)>d&&(f=d),n=0===f?0:(u.avail_in-=f,i.arraySet(c,u.input,u.next_in,f,h),1===u.state.wrap?u.adler=s(u.adler,c,f,h):2===u.state.wrap&&(u.adler=a(u.adler,c,f,h)),u.next_in+=f,u.total_in+=f,f),e.lookahead+=n,e.lookahead+e.insert>=P)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+P-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<P)););}while(e.lookahead<j&&0!==e.strm.avail_in)}function se(e,t){for(var n,r;;){if(e.lookahead<j){if(oe(e),e.lookahead<j&&t===u)return G;if(0===e.lookahead)break}if(n=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-j&&(e.match_length=ie(e,n)),e.match_length>=P)if(r=o._tr_tally(e,e.strstart-e.match_start,e.match_length-P),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=P){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(te(e,!1),0===e.strm.avail_out))return G}return e.insert=e.strstart<P-1?e.strstart:P-1,t===d?(te(e,!0),0===e.strm.avail_out?q:Y):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?G:K}function ae(e,t){for(var n,r,i;;){if(e.lookahead<j){if(oe(e),e.lookahead<j&&t===u)return G;if(0===e.lookahead)break}if(n=0,e.lookahead>=P&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=P-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-j&&(e.match_length=ie(e,n),e.match_length<=5&&(e.strategy===w||e.match_length===P&&e.strstart-e.match_start>4096)&&(e.match_length=P-1)),e.prev_length>=P&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-P,r=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-P),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+P-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=P-1,e.strstart++,r&&(te(e,!1),0===e.strm.avail_out))return G}else if(e.match_available){if((r=o._tr_tally(e,0,e.window[e.strstart-1]))&&te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return G}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=o._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<P-1?e.strstart:P-1,t===d?(te(e,!0),0===e.strm.avail_out?q:Y):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?G:K}function le(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}function ue(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=E,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?N:U,e.adler=2===t.wrap?0:1,t.last_flush=u,o._tr_init(t),p):Z(e,m)}function ce(e){var t,n=ue(e);return n===p&&((t=e.state).window_size=2*t.w_size,Q(t.head),t.max_lazy_match=r[t.level].max_lazy,t.good_match=r[t.level].good_length,t.nice_match=r[t.level].nice_length,t.max_chain_length=r[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=P-1,t.match_available=0,t.ins_h=0),n}function he(e,t,n,r,o,s){if(!e)return m;var a=1;if(t===b&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>S||n!==_||r<8||r>15||t<0||t>9||s<0||s>k)return Z(e,m);8===r&&(r=9);var l=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*M),this.dyn_dtree=new i.Buf16(2*(2*B+1)),this.bl_tree=new i.Buf16(2*(2*L+1)),Q(this.dyn_ltree),Q(this.dyn_dtree),Q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(O+1),this.heap=new i.Buf16(2*T+1),Q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*T+1),Q(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=o+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+P-1)/P),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<o+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=n,ce(e)}r=[new le(0,0,0,0,function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(oe(e),0===e.lookahead&&t===u)return G;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,te(e,!1),0===e.strm.avail_out))return G;if(e.strstart-e.block_start>=e.w_size-j&&(te(e,!1),0===e.strm.avail_out))return G}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?q:Y):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),G)}),new le(4,4,8,4,se),new le(4,5,16,8,se),new le(4,6,32,32,se),new le(4,4,16,16,ae),new le(8,16,32,32,ae),new le(8,16,128,128,ae),new le(8,32,128,256,ae),new le(32,128,258,1024,ae),new le(32,258,258,4096,ae)],t.deflateInit=function(e,t){return he(e,t,_,F,D,A)},t.deflateInit2=he,t.deflateReset=ce,t.deflateResetKeep=ue,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var n,i,s,l;if(!e||!e.state||t>f||t<0)return e?Z(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===V&&t!==d)return Z(e,0===e.avail_out?y:m);if(i.strm=e,n=i.last_flush,i.last_flush=t,i.status===N)if(2===i.wrap)e.adler=0,ne(i,31),ne(i,139),ne(i,8),i.gzhead?(ne(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),ne(i,255&i.gzhead.time),ne(i,i.gzhead.time>>8&255),ne(i,i.gzhead.time>>16&255),ne(i,i.gzhead.time>>24&255),ne(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),ne(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(ne(i,255&i.gzhead.extra.length),ne(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=$):(ne(i,0),ne(i,0),ne(i,0),ne(i,0),ne(i,0),ne(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),ne(i,X),i.status=U);else{var v=_+(i.w_bits-8<<4)<<8;v|=(i.strategy>=x||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(v|=I),v+=31-v%31,i.status=U,re(i,v),0!==i.strstart&&(re(i,e.adler>>>16),re(i,65535&e.adler)),e.adler=1}if(i.status===$)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending!==i.pending_buf_size));)ne(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,ne(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=H)}else i.status=H;if(i.status===H)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,ne(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=z)}else i.status=z;if(i.status===z&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(ne(i,255&e.adler),ne(i,e.adler>>8&255),e.adler=0,i.status=U)):i.status=U),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&J(t)<=J(n)&&t!==d)return Z(e,y);if(i.status===V&&0!==e.avail_in)return Z(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==V){var b=i.strategy===x?function(e,t){for(var n;;){if(0===e.lookahead&&(oe(e),0===e.lookahead)){if(t===u)return G;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(te(e,!1),0===e.strm.avail_out))return G}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?q:Y):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?G:K}(i,t):i.strategy===C?function(e,t){for(var n,r,i,s,a=e.window;;){if(e.lookahead<=R){if(oe(e),e.lookahead<=R&&t===u)return G;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=P&&e.strstart>0&&(r=a[i=e.strstart-1])===a[++i]&&r===a[++i]&&r===a[++i]){s=e.strstart+R;do{}while(r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&i<s);e.match_length=R-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=P?(n=o._tr_tally(e,1,e.match_length-P),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(te(e,!1),0===e.strm.avail_out))return G}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?q:Y):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?G:K}(i,t):r[i.level].func(i,t);if(b!==q&&b!==Y||(i.status=V),b===G||b===q)return 0===e.avail_out&&(i.last_flush=-1),p;if(b===K&&(t===c?o._tr_align(i):t!==f&&(o._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?g:(2===i.wrap?(ne(i,255&e.adler),ne(i,e.adler>>8&255),ne(i,e.adler>>16&255),ne(i,e.adler>>24&255),ne(i,255&e.total_in),ne(i,e.total_in>>8&255),ne(i,e.total_in>>16&255),ne(i,e.total_in>>24&255)):(re(i,e.adler>>>16),re(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:g)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==N&&t!==$&&t!==W&&t!==H&&t!==z&&t!==U&&t!==V?Z(e,m):(e.state=null,t===U?Z(e,v):p):m},t.deflateSetDictionary=function(e,t){var n,r,o,a,l,u,c,h,d=t.length;if(!e||!e.state)return m;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==N||n.lookahead)return m;for(1===a&&(e.adler=s(e.adler,t,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(Q(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new i.Buf8(n.w_size),i.arraySet(h,t,d-n.w_size,n.w_size,0),t=h,d=n.w_size),l=e.avail_in,u=e.next_in,c=e.input,e.avail_in=d,e.next_in=0,e.input=t,oe(n);n.lookahead>=P;){r=n.strstart,o=n.lookahead-(P-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+P-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=P-1,oe(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=P-1,n.match_available=0,e.next_in=u,e.input=c,e.avail_in=l,n.wrap=a,p},t.deflateInfo="pako deflate (from Nodeca project)"},function(e,t,n){"use strict";var r=n(461),i=n(125),o=n(277),s=n(228),a=n(276),l=Object.prototype.toString,u=0,c=-1,h=0,d=8;function f(e){if(!(this instanceof f))return new f(e);this.options=i.assign({level:c,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=r.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==u)throw new Error(s[n]);if(t.header&&r.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?o.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=r.deflateSetDictionary(this.strm,p))!==u)throw new Error(s[n]);this._dict_set=!0}}function p(e,t){var n=new f(t);if(n.push(e,!0),n.err)throw n.msg||s[n.err];return n.result}f.prototype.push=function(e,t){var n,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=o.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=r.deflate(a,s))&&n!==u)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(o.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==n);return 4===s?(n=r.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===u):2!==s||(this.onEnd(u),a.avail_out=0,!0)},f.prototype.onData=function(e){this.chunks.push(e)},f.prototype.onEnd=function(e){e===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=f,t.deflate=p,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},function(e,t,n){"use strict";var r={};(0,n(125).assign)(r,n(462),n(459),n(275)),e.exports=r},function(e,t,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=n(463),o=n(79),s=n(105),a=r?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}t.magic="\b\0",o.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},t.compressWorker=function(e){return new l("Deflate",e)},t.uncompressWorker=function(){return new l("Inflate",{})}},function(e,t,n){"use strict";var r=n(280),i=n(454);t.generateWorker=function(e,t,n){var o=new i(t.streamFiles,n,t.platform,t.encodeFileName),s=0;try{e.forEach(function(e,n){s++;var i=function(e,t){var n=e||t,i=r[n];if(!i)throw new Error(n+" is not a valid compression method !");return i}(n.options.compression,t.compression),a=n.options.compressionOptions||t.compressionOptions||{},l=n.dir,u=n.date;n._compressWorker(i,a).withStreamInfo("file",{name:e,dir:l,date:u,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(o)}),o.entriesCount=s}catch(e){o.error(e)}return o}},function(e,t,n){"use strict";var r=n(285),i=n(283),o=n(142),s=n(230),a=n(105),l=function(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}};l.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw new Error("No output type specified.");var i="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var s=!this._dataBinary;s&&!i&&(t=t.pipe(new o.Utf8EncodeWorker)),!s&&i&&(t=t.pipe(new o.Utf8DecodeWorker))}catch(e){(t=new a("error")).error(e)}return new r(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof s&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new o.Utf8EncodeWorker)),s.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof s?this._data.getContentWorker():this._data instanceof a?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],c=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<u.length;h++)l.prototype[u[h]]=c;e.exports=l},function(e,t,n){"use strict";var r=n(298).Readable;function i(e,t,n){r.call(this,t),this._helper=e;var i=this;e.on("data",function(e,t){i.push(e)||i._helper.pause(),n&&n(t)}).on("error",function(e){i.emit("error",e)}).on("end",function(){i.push(null)})}n(79).inherits(i,r),i.prototype._read=function(){this._helper.resume()},e.exports=i},function(e,t,n){"use strict";var r=n(105),i=n(79);function o(e){r.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(o,r),o.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},e.exports=o},function(e,t,n){"use strict";(function(t){var n,r,i=t.MutationObserver||t.WebKitMutationObserver;if(i){var o=0,s=new i(c),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),n=function(){a.data=o=++o%2}}else if(t.setImmediate||void 0===t.MessageChannel)n="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){c(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(c,0)};else{var l=new t.MessageChannel;l.port1.onmessage=c,n=function(){l.port2.postMessage(0)}}var u=[];function c(){var e,t;r=!0;for(var n=u.length;n;){for(t=u,u=[],e=-1;++e<n;)t[e]();n=u.length}r=!1}e.exports=function(e){1!==u.push(e)||r||n()}}).call(this,n(99))},function(e,t,n){"use strict";var r=n(469);function i(){}var o={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function u(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==i&&f(this,e)}function c(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function h(e,t,n){r(function(){var r;try{r=t(n)}catch(t){return o.reject(e,t)}r===e?o.reject(e,new TypeError("Cannot resolve promise with itself")):o.resolve(e,r)})}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function f(e,t){var n=!1;function r(t){n||(n=!0,o.reject(e,t))}function i(t){n||(n=!0,o.resolve(e,t))}var s=p(function(){t(i,r)});"error"===s.status&&r(s.value)}function p(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}e.exports=u,u.prototype.catch=function(e){return this.then(null,e)},u.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var n=new this.constructor(i);this.state!==l?h(n,this.state===a?e:t,this.outcome):this.queue.push(new c(n,e,t));return n},c.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},c.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},c.prototype.callRejected=function(e){o.reject(this.promise,e)},c.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},o.resolve=function(e,t){var n=p(d,t);if("error"===n.status)return o.reject(e,n.value);var r=n.value;if(r)f(e,r);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},o.reject=function(e,t){e.state=s,e.outcome=t;for(var n=-1,r=e.queue.length;++n<r;)e.queue[n].callRejected(t);return e},u.resolve=function(e){if(e instanceof this)return e;return o.resolve(new this(i),e)},u.reject=function(e){var t=new this(i);return o.reject(t,e)},u.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,r=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,l=-1,u=new this(i);for(;++l<n;)c(e[l],l);return u;function c(e,i){t.resolve(e).then(function(e){s[i]=e,++a!==n||r||(r=!0,o.resolve(u,s))},function(e){r||(r=!0,o.reject(u,e))})}},u.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,r=!1;if(!n)return this.resolve([]);var s=-1,a=new this(i);for(;++s<n;)l=e[s],t.resolve(l).then(function(e){r||(r=!0,o.resolve(a,e))},function(e){r||(r=!0,o.reject(a,e))});var l;return a}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){e.exports=n(169).document&&document.documentElement},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r,i,o,s=n(288),a=n(473),l=n(472),u=n(286),c=n(169),h=c.process,d=c.setImmediate,f=c.clearImmediate,p=c.MessageChannel,g=0,m={},v=function(){var e=+this;if(m.hasOwnProperty(e)){var t=m[e];delete m[e],t()}},y=function(e){v.call(e.data)};d&&f||(d=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return m[++g]=function(){a("function"==typeof e?e:Function(e),t)},r(g),g},f=function(e){delete m[e]},"process"==n(471)(h)?r=function(e){h.nextTick(s(v,e,1))}:p?(o=(i=new p).port2,i.port1.onmessage=y,r=s(o.postMessage,o,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+"","*")},c.addEventListener("message",y,!1)):r="onreadystatechange"in u("script")?function(e){l.appendChild(u("script")).onreadystatechange=function(){l.removeChild(this),v.call(e)}}:function(e){setTimeout(s(v,e,1),0)}),e.exports={set:d,clear:f}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(232);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){e.exports=!n(231)&&!n(287)(function(){return 7!=Object.defineProperty(n(286)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(232);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){var r=n(478),i=n(477),o=n(476),s=Object.defineProperty;t.f=n(231)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(479),i=n(475);e.exports=n(231)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(169),i=n(289),o=n(288),s=n(480),a=function(e,t,n){var l,u,c,h=e&a.F,d=e&a.G,f=e&a.S,p=e&a.P,g=e&a.B,m=e&a.W,v=d?i:i[t]||(i[t]={}),y=v.prototype,b=d?r:f?r[t]:(r[t]||{}).prototype;for(l in d&&(n=t),n)(u=!h&&b&&void 0!==b[l])&&l in v||(c=u?b[l]:n[l],v[l]=d&&"function"!=typeof b[l]?n[l]:g&&u?o(c,r):m&&b[l]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):p&&"function"==typeof c?o(Function.call,c):c,p&&((v.virtual||(v.virtual={}))[l]=c,e&a.R&&y&&!y[l]&&s(y,l,c)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,e.exports=a},function(e,t,n){var r=n(482),i=n(474);r(r.G+r.B,{setImmediate:i.set,clearImmediate:i.clear})},function(e,t,n){n(483),e.exports=n(289).setImmediate},function(e,t,n){e.exports=n(234).PassThrough},function(e,t,n){e.exports=n(234).Transform},function(e,t,n){e.exports=n(131)},function(e,t,n){e.exports=n(233)},function(e,t,n){"use strict";e.exports=o;var r=n(291),i=n(149);function o(e){if(!(this instanceof o))return new o(e);r.call(this,e)}i.inherits=n(132),i.inherits(o,r),o.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(99))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,s,a,l=1,u={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){p(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},r=function(e){o.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,r=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return u[l]=i,r(l),l++},d.clearImmediate=f}function f(e){delete u[e]}function p(e){if(c)setTimeout(p,0,e);else{var t=u[e];if(t){c=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),c=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(99),n(151))},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(491),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(99))},function(e,t,n){"use strict";var r=n(171).Buffer,i=n(294);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i,o=r.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,i=a,t.copy(n,i),a+=s.data.length,s=s.next;return o},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,n){e.exports=i;var r=n(143).EventEmitter;function i(){r.call(this)}n(132)(i,r),i.Readable=n(234),i.Writable=n(488),i.Duplex=n(487),i.Transform=n(486),i.PassThrough=n(485),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===r.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",l),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e}},function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,l=(1<<a)-1,u=l>>1,c=-7,h=n?i-1:0,d=n?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-c)-1,f>>=-c,c+=a;c>0;o=256*o+e[t+h],h+=d,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=r;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,r),o-=u}return(f?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,l,u=8*o-i-1,c=(1<<u)-1,h=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*l-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[n+f]=255&s,f+=p,s/=256,u-=8);e[n+f-p]|=128*g}},function(e,t,n){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){for(var t,n=u(e),r=n[0],s=n[1],a=new o(function(e,t,n){return 3*(t+n)/4-n}(0,r,s)),l=0,c=s>0?r-4:r,h=0;h<c;h+=4)t=i[e.charCodeAt(h)]<<18|i[e.charCodeAt(h+1)]<<12|i[e.charCodeAt(h+2)]<<6|i[e.charCodeAt(h+3)],a[l++]=t>>16&255,a[l++]=t>>8&255,a[l++]=255&t;2===s&&(t=i[e.charCodeAt(h)]<<2|i[e.charCodeAt(h+1)]>>4,a[l++]=255&t);1===s&&(t=i[e.charCodeAt(h)]<<10|i[e.charCodeAt(h+1)]<<4|i[e.charCodeAt(h+2)]>>2,a[l++]=t>>8&255,a[l++]=255&t);return a},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(c(e,s,s+16383>a?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,n){for(var i,o,s=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t,n){"use strict";var r=n(142),i=n(79),o=n(105),s=n(285),a=n(284),l=n(230),u=n(466),c=n(465),h=n(170),d=n(453),f=function(e,t,n){var r,s=i.getTypeOf(t),c=i.extend(n||{},a);c.date=c.date||new Date,null!==c.compression&&(c.compression=c.compression.toUpperCase()),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(e=g(e)),c.createFolders&&(r=p(e))&&m.call(this,r,!0);var f="string"===s&&!1===c.binary&&!1===c.base64;n&&void 0!==n.binary||(c.binary=!f),(t instanceof l&&0===t.uncompressedSize||c.dir||!t||0===t.length)&&(c.base64=!1,c.binary=!0,t="",c.compression="STORE",s="string");var v=null;v=t instanceof l||t instanceof o?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,c.binary,c.optimizedBinaryString,c.base64);var y=new u(e,v,c);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:a.createFolders,e=g(e),this.files[e]||f.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function v(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,r;for(t in this.files)this.files.hasOwnProperty(t)&&(r=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,r))},filter:function(e){var t=[];return this.forEach(function(n,r){e(n,r)&&t.push(r)}),t},file:function(e,t,n){if(1===arguments.length){if(v(e)){var r=e;return this.filter(function(e,t){return!t.dir&&r.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null}return e=this.root+e,f.call(this,e,t,n),this},folder:function(e){if(!e)return this;if(v(e))return this.filter(function(t,n){return n.dir&&e.test(t)});var t=this.root+e,n=m.call(this,t),r=this.clone();return r.root=n.name,r},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter(function(t,n){return n.name.slice(0,e.length)===e}),r=0;r<n.length;r++)delete this.files[n[r].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=i.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw new Error("No output type specified.");i.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var a=n.comment||this.comment||"";t=c.generateWorker(this,n,a)}catch(e){(t=new o("error")).error(e)}return new s(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};e.exports=y},function(e,t){e.exports=function(){return(new Date).getTime()}},function(e,t,n){"use strict";(function(t){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0}function i(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var o=n(301),s=Object.prototype.hasOwnProperty,a=Array.prototype.slice,l="foo"===function(){}.name;function u(e){return Object.prototype.toString.call(e)}function c(e){return!i(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var h=e.exports=v,d=/\s*function\s+([^\(\s]*)\s*/;function f(e){if(o.isFunction(e)){if(l)return e.name;var t=e.toString().match(d);return t&&t[1]}}function p(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function g(e){if(l||!o.isFunction(e))return o.inspect(e);var t=f(e);return"[Function"+(t?": "+t:"")+"]"}function m(e,t,n,r,i){throw new h.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function v(e,t){e||m(e,!0,t,"==",h.ok)}function y(e,t,n,s){if(e===t)return!0;if(i(e)&&i(t))return 0===r(e,t);if(o.isDate(e)&&o.isDate(t))return e.getTime()===t.getTime();if(o.isRegExp(e)&&o.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(c(e)&&c(t)&&u(e)===u(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===r(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(i(e)!==i(t))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(e);return-1!==l&&l===s.expected.indexOf(t)||(s.actual.push(e),s.expected.push(t),function(e,t,n,r){if(null===e||void 0===e||null===t||void 0===t)return!1;if(o.isPrimitive(e)||o.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=b(e),s=b(t);if(i&&!s||!i&&s)return!1;if(i)return e=a.call(e),t=a.call(t),y(e,t,n);var l,u,c=C(e),h=C(t);if(c.length!==h.length)return!1;for(c.sort(),h.sort(),u=c.length-1;u>=0;u--)if(c[u]!==h[u])return!1;for(u=c.length-1;u>=0;u--)if(l=c[u],!y(e[l],t[l],n,r))return!1;return!0}(e,t,n,s))}return n?e===t:e==t}function b(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function w(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function x(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&m(i,n,"Missing expected exception"+r);var s="string"==typeof r,a=!e&&o.isError(i),l=!e&&i&&!n;if((a&&s&&w(i,n)||l)&&m(i,n,"Got unwanted exception"+r),e&&i&&n&&!w(i,n)||!e&&i)throw i}h.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=p(g((t=this).actual),128)+" "+t.operator+" "+p(g(t.expected),128),this.generatedMessage=!0);var n=e.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,o=f(n),s=i.indexOf("\n"+o);if(s>=0){var a=i.indexOf("\n",s+1);i=i.substring(a+1)}this.stack=i}}},o.inherits(h.AssertionError,Error),h.fail=m,h.ok=v,h.equal=function(e,t,n){e!=t&&m(e,t,n,"==",h.equal)},h.notEqual=function(e,t,n){e==t&&m(e,t,n,"!=",h.notEqual)},h.deepEqual=function(e,t,n){y(e,t,!1)||m(e,t,n,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(e,t,n){y(e,t,!0)||m(e,t,n,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(e,t,n){y(e,t,!1)&&m(e,t,n,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function e(t,n,r){y(t,n,!0)&&m(t,n,r,"notDeepStrictEqual",e)},h.strictEqual=function(e,t,n){e!==t&&m(e,t,n,"===",h.strictEqual)},h.notStrictEqual=function(e,t,n){e===t&&m(e,t,n,"!==",h.notStrictEqual)},h.throws=function(e,t,n){x(!0,e,t,n)},h.doesNotThrow=function(e,t,n){x(!1,e,t,n)},h.ifError=function(e){if(e)throw e};var C=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(this,n(99))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,n){(function(t){var r,i=n(301),o=n(499),s=n(498),a=Array.prototype.slice,l={};r=void 0!==t&&t.console?t.console:"undefined"!=typeof window&&window.console?window.console:{};for(var u=[[function(){},"log"],[function(){r.log.apply(r,arguments)},"info"],[function(){r.log.apply(r,arguments)},"warn"],[function(){r.warn.apply(r,arguments)},"error"],[function(e){l[e]=s()},"time"],[function(e){var t=l[e];if(!t)throw new Error("No such label: "+e);var n=s()-t;r.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=i.format.apply(null,arguments),r.error(e.stack)},"trace"],[function(e){r.log(i.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=a.call(arguments,1);o.ok(!1,i.format.apply(null,t))}},"assert"]],c=0;c<u.length;c++){var h=u[c],d=h[0],f=h[1];r[f]||(r[f]=d)}e.exports=r}).call(this,n(99))},function(e,t,n){"use strict";var r=n(173),i=n(143),o={};e.exports=function(e,t,n,s){var a,l=[];function u(e){a={"(labels)":Object.create(null),"(usages)":Object.create(null),"(breakLabels)":Object.create(null),"(parent)":a,"(type)":e,"(params)":"functionparams"===e||"catchparams"===e?[]:null},l.push(a)}u("global"),a["(predefined)"]=t;var c=a,h=Object.create(null),d=Object.create(null),f=[],p=new i.EventEmitter;function g(e,t){p.emit("warning",{code:e,token:t,data:r.slice(arguments,2)})}function m(e,t){p.emit("warning",{code:e,token:t,data:r.slice(arguments,2)})}function v(e){a["(usages)"][e]||(a["(usages)"][e]={"(modified)":[],"(reassigned)":[],"(tokens)":[]})}var y=function(t){return void 0===t&&(t=e.option.unused),!0===t&&(t="last-param"),t},b=function(e,t,n,r){var i=t.line,o=t.from,s=t.raw_text||e,a={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};(r=y(r))&&a[r]&&-1!==a[r].indexOf(n)&&g("W098",{line:i,from:o},s),(r||"var"===n)&&f.push({name:e,line:i,character:o})};function w(){if("functionparams"!==a["(type)"]){var t=a["(labels)"];for(var n in t)"exception"!==t[n]["(type)"]&&t[n]["(unused)"]&&b(n,t[n]["(token)"],"var")}else!function(){var t=a["(params)"];if(t)for(var n,r=t.pop();r;){var i=a["(labels)"][r];if(n=y(e.funct["(unusedOption)"]),"undefined"===r)return;if(i["(unused)"])b(r,i["(token)"],"param",e.funct["(unusedOption)"]);else if("last-param"===n)return;r=t.pop()}}()}function x(e){for(var t=l.length-1;t>=0;--t){var n=l[t]["(labels)"];if(n[e])return n}}function C(t,n){if("outer"===e.option.shadow)for(var r="global"===c["(type)"],i="functionparams"===a["(type)"],o=!r,s=0;s<l.length;s++){var u=l[s];i||l[s+1]!==c||(o=!1),o&&u["(labels)"][t]&&g("W123",n,t),u["(breakLabels)"][t]&&g("W123",n,t)}}function k(t,n,r){var i;e.option.latedef&&(i="function"===t||"generator function"===t,(!0===e.option.latedef&&i||!i)&&g("W003",r,n))}var A={on:function(e,t){e.split(" ").forEach(function(e){p.on(e,t)})},isPredefined:function(e){return!this.has(e)&&r.has(l[0]["(predefined)"],e)},stack:function(e){var t=a;u(e),e||"functionparams"!==t["(type)"]||(a["(isFuncBody)"]=!0,c=a)},unstack:function(){var t,n,i,u=l.length>1?l[l.length-2]:null,f=a===c,p="functionparams"===a["(type)"],v="functionouter"===a["(type)"],y=a["(usages)"],x=a["(labels)"],C=Object.keys(y);for(y.__proto__&&-1===C.indexOf("__proto__")&&C.push("__proto__"),t=0;t<C.length;t++){var k=C[t],A=y[k],E=x[k];if(E){var _=E["(type)"];if(i="const"===_||"import"===_,E["(useOutsideOfScope)"]&&!e.option.funcscope){var S=A["(tokens)"];for(n=0;n<S.length;n++)E["(function)"]===S[n]["(function)"]&&m("W038",S[n],k)}if(a["(labels)"][k]["(unused)"]=!1,i&&A["(modified)"])for(n=0;n<A["(modified)"].length;n++)m("E013",A["(modified)"][n],k);if(("function"===_||"generator function"===_||"class"===_)&&A["(reassigned)"])for(n=0;n<A["(reassigned)"].length;n++)A["(reassigned)"][n].ignoreW021||g("W021",A["(reassigned)"][n],k,_)}else if(u){var F=this.labeltype(k);if(i="const"===F||null===F&&!1===l[0]["(predefined)"][k],v&&!i&&(e.funct["(outerMutables)"]||(e.funct["(outerMutables)"]=[]),e.funct["(outerMutables)"].push(k)),u["(usages)"][k]){var D=u["(usages)"][k];D["(modified)"]=D["(modified)"].concat(A["(modified)"]),D["(tokens)"]=D["(tokens)"].concat(A["(tokens)"]),D["(reassigned)"]=D["(reassigned)"].concat(A["(reassigned)"])}else u["(usages)"][k]=A,f&&(u["(usages)"][k]["(onlyUsedSubFunction)"]=!0)}else if("boolean"==typeof a["(predefined)"][k]){if(delete s[k],h[k]=o,!1===a["(predefined)"][k]&&A["(reassigned)"])for(n=0;n<A["(reassigned)"].length;n++)A["(reassigned)"][n].ignoreW020||g("W020",A["(reassigned)"][n])}else for(n=0;n<A["(tokens)"].length;n++){var T=A["(tokens)"][n];T.forgiveUndef||(e.option.undef&&!T.ignoreUndef&&g("W117",T,k),d[k]?d[k].line.push(T.line):d[k]={name:k,line:[T.line]})}}if(u||Object.keys(s).forEach(function(e){b(e,s[e],"var")}),u&&!f&&!p&&!v){var B=Object.keys(x);for(t=0;t<B.length;t++){var L=B[t],M=x[L];if(!M["(blockscoped)"]&&"exception"!==M["(type)"]){var O=u["(labels)"][L];O?O["(unused)"]&=M["(unused)"]:(M["(useOutsideOfScope)"]="global"!==c["(type)"]&&!this.funct.has(L,{excludeCurrent:!0}),u["(labels)"][L]=M),delete x[L]}}}w(),l.pop(),f&&(c=l[r.findLastIndex(l,function(e){return e["(isFuncBody)"]||"global"===e["(type)"]})]),a=u},addParam:function(t,n,i){if("exception"===(i=i||"param")){var o=this.funct.labeltype(t);o&&"exception"!==o&&(e.option.node||g("W002",e.tokens.next,t)),!e.isStrict()||"arguments"!==t&&"eval"!==t||g("E008",n)}r.has(a["(labels)"],t)?a["(labels)"][t].duplicated=!0:(C(t,n),a["(labels)"][t]={"(type)":i,"(token)":n,"(unused)":!0},a["(params)"].push(t)),r.has(a["(usages)"],t)&&(a["(usages)"][t]["(onlyUsedSubFunction)"]?k(i,t,n):g("E056",n,t,i))},validateParams:function(t){var n=e.isStrict(),r=c["(parent)"];r["(params)"]&&r["(params)"].forEach(function(i){var o=r["(labels)"][i];o.duplicated&&(n||t?g("E011",o["(token)"],i):!0!==e.option.shadow&&g("W004",o["(token)"],i)),!n||"arguments"!==i&&"eval"!==i||g("E008",o["(token)"])})},getUsedOrDefinedGlobals:function(){var e=Object.keys(h);return h.__proto__===o&&-1===e.indexOf("__proto__")&&e.push("__proto__"),e},getImpliedGlobals:function(){var e=r.values(d);return d.__proto__&&(e.some(function(e){return"__proto__"===e.name})||e.push(d.__proto__)),e},getUnuseds:function(){return f},has:function(e){return Boolean(x(e))},labeltype:function(e){var t=x(e);return t?t[e]["(type)"]:null},addExported:function(e){var t=l[0]["(labels)"];if(r.has(s,e))delete s[e];else if(r.has(t,e))t[e]["(unused)"]=!1;else{for(var i=1;i<l.length;i++){var o=l[i];if(o["(type)"])break;if(r.has(o["(labels)"],e)&&!o["(labels)"][e]["(blockscoped)"])return void(o["(labels)"][e]["(unused)"]=!1)}n[e]=!0}},setExported:function(e,t){this.block.use(e,t)},initialize:function(e){a["(labels)"][e]&&(a["(labels)"][e]["(initialized)"]=!0)},addlabel:function(t,i){var s=i.type,u=i.token,d="let"===s||"const"===s||"class"===s||"import"===s||"generator function"===s,f="function"===s||"generator function"===s||"import"===s,p="global"===(d?a:c)["(type)"]&&r.has(n,t);if(C(t,u),!e.isStrict()||"arguments"!==t&&"eval"!==t||g("E008",u),d){var m=a["(labels)"][t];m||a!==c||"global"===a["(type)"]||(m=!!c["(parent)"]["(labels)"][t]),!m&&a["(usages)"][t]&&(a["(usages)"][t]["(onlyUsedSubFunction)"]||f?k(s,t,u):f||g("E056",u,t,s)),!m||f&&"global"===a["(type)"]&&"import"!==s?"outer"===e.option.shadow&&A.funct.has(t)&&g("W004",u,t):g("E011",u,t),A.block.add(t,s,u,!p,i.initialized)}else{var v=A.funct.has(t);!v&&function(e){for(var t=l.length-1;t>=0;t--){var n=l[t];if(n["(usages)"][e])return n["(usages)"][e];if(n===c)break}return!1}(t)&&k(s,t,u),A.funct.has(t,{onlyBlockscoped:!0})?g("E011",u,t):!0!==e.option.shadow&&v&&"__proto__"!==t&&"global"!==c["(type)"]&&g("W004",u,t),A.funct.add(t,s,u,!p),"global"!==c["(type)"]||e.impliedClosure()||(h[t]=o)}},funct:{labeltype:function(e,t){for(var n=t&&t.onlyBlockscoped,r=t&&t.excludeParams,i=l.length-(t&&t.excludeCurrent?2:1);i>=0;i--){var o=l[i];if(o["(labels)"][e]&&(!n||o["(labels)"][e]["(blockscoped)"]))return o["(labels)"][e]["(type)"];var s=r?l[i-1]:o;if(s&&"functionparams"===s["(type)"])return null}return null},hasBreakLabel:function(e){for(var t=l.length-1;t>=0;t--){var n=l[t];if(n["(breakLabels)"][e])return!0;if("functionparams"===n["(type)"])return!1}return!1},has:function(e,t){return Boolean(this.labeltype(e,t))},add:function(e,t,n,r){a["(labels)"][e]={"(type)":t,"(token)":n,"(blockscoped)":!1,"(function)":c,"(unused)":r}}},block:{isGlobal:function(){return"global"===a["(type)"]},use:function(t,n){var r=c["(parent)"];r&&r["(labels)"][t]&&"param"===r["(labels)"][t]["(type)"]&&(A.funct.has(t,{excludeParams:!0,onlyBlockscoped:!0})||(r["(labels)"][t]["(unused)"]=!1)),n&&(e.ignored.W117||!1===e.option.undef)&&(n.ignoreUndef=!0),v(t),a["(usages)"][t]["(onlyUsedSubFunction)"]=!1,n&&(n["(function)"]=c,a["(usages)"][t]["(tokens)"].push(n));var i=a["(labels)"][t];i&&i["(blockscoped)"]&&!i["(initialized)"]&&m("E056",n,t,i["(type)"])},reassign:function(t,n){n.ignoreW020=e.ignored.W020,n.ignoreW021=e.ignored.W021,this.modify(t,n),a["(usages)"][t]["(reassigned)"].push(n)},modify:function(e,t){v(e),a["(usages)"][e]["(onlyUsedSubFunction)"]=!1,a["(usages)"][e]["(modified)"].push(t)},add:function(e,t,n,r,i){a["(labels)"][e]={"(type)":t,"(token)":n,"(initialized)":!!i,"(blockscoped)":!0,"(unused)":r}},addBreakLabel:function(t,n){var r=n.token;A.funct.hasBreakLabel(t)?g("E011",r,t):"outer"===e.option.shadow&&(A.funct.has(t)?g("W004",r,t):C(t,r)),a["(breakLabels)"][t]=r}}};return A}},function(e,t,n){"use strict";t.bool={enforcing:{bitwise:!0,freeze:!0,camelcase:!0,curly:!0,eqeqeq:!0,futurehostile:!0,es3:!0,es5:!0,forin:!0,immed:!0,newcap:!0,noarg:!0,nocomma:!0,noempty:!0,nonbsp:!0,nonew:!0,undef:!0,singleGroups:!1,varstmt:!1,enforceall:!1,trailingcomma:!1},relaxing:{asi:!0,multistr:!0,debug:!0,boss:!0,evil:!0,funcscope:!0,globalstrict:!0,iterator:!0,notypeof:!0,plusplus:!0,proto:!0,scripturl:!0,sub:!0,supernew:!0,laxbreak:!0,laxcomma:!0,validthis:!0,withstmt:!0,moz:!0,noyield:!0,eqnull:!0,lastsemic:!0,loopfunc:!0,expr:!0,esnext:!0,elision:!0},environments:{mootools:!0,couch:!0,jasmine:!0,jquery:!0,node:!0,qunit:!0,rhino:!0,shelljs:!0,prototypejs:!0,yui:!0,mocha:!0,module:!0,wsh:!0,worker:!0,nonstandard:!0,browser:!0,browserify:!0,devel:!0,dojo:!0,typed:!0,phantom:!0},obsolete:{onecase:!0,regexp:!0,regexdash:!0}},t.val={maxlen:!1,indent:!1,maxerr:!1,predef:!1,globals:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,shadow:!1,strict:!0,unused:!0,latedef:!1,ignore:!1,ignoreDelimiters:!1,esversion:5},t.inverted={bitwise:!0,forin:!0,newcap:!0,plusplus:!0,regexp:!0,undef:!0,eqeqeq:!0,strict:!0},t.validNames=Object.keys(t.val).concat(Object.keys(t.bool.relaxing)).concat(Object.keys(t.bool.enforcing)).concat(Object.keys(t.bool.obsolete)).concat(Object.keys(t.bool.environments)),t.renamed={eqeq:"eqeqeq",windows:"wsh",sloppy:"strict"},t.removed={nomen:!0,onevar:!0,passfail:!0,white:!0,gcl:!0,smarttabs:!0,trailing:!0},t.noenforceall={varstmt:!0,strict:!0}},function(e,t,n){"use strict";t.register=function(e){e.on("Identifier",function(t){e.getOption("proto")||"__proto__"===t.name&&e.warn("W103",{line:t.line,char:t.char,data:[t.name,"6"]})}),e.on("Identifier",function(t){e.getOption("iterator")||"__iterator__"===t.name&&e.warn("W103",{line:t.line,char:t.char,data:[t.name]})}),e.on("Identifier",function(t){e.getOption("camelcase")&&t.name.replace(/^_+|_+$/g,"").indexOf("_")>-1&&!t.name.match(/^[A-Z0-9_]*$/)&&e.warn("W106",{line:t.line,char:t.char,data:[t.name]})}),e.on("String",function(t){var n,r=e.getOption("quotmark");r&&("single"===r&&"'"!==t.quote&&(n="W109"),"double"===r&&'"'!==t.quote&&(n="W108"),!0===r&&(e.getCache("quotmark")||e.setCache("quotmark",t.quote),e.getCache("quotmark")!==t.quote&&(n="W110")),n&&e.warn(n,{line:t.line,char:t.char}))}),e.on("Number",function(t){"."===t.value.charAt(0)&&e.warn("W008",{line:t.line,char:t.char,data:[t.value]}),"."===t.value.substr(t.value.length-1)&&e.warn("W047",{line:t.line,char:t.char,data:[t.value]}),/^00+/.test(t.value)&&e.warn("W046",{line:t.line,char:t.char,data:[t.value]})}),e.on("String",function(t){e.getOption("scripturl")||/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i.test(t.value)&&e.warn("W107",{line:t.line,char:t.char})})}},function(e,t){e.exports=/^(?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0525\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971\u0972\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCB\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F\uA662-\uA66E\uA67F-\uA697\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B\uA78C\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA2D\uFA30-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC])(?:[\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u0525\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0621-\u065E\u0660-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0900-\u0939\u093C-\u094E\u0950-\u0955\u0958-\u0963\u0966-\u096F\u0971\u0972\u0979-\u097F\u0981-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C82\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0D02\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC\u0EDD\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F8B\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17B3\u17B6-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191C\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BAA\u1BAE-\u1BB9\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF2\u1D00-\u1DE6\u1DFD-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u2094\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF1\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCB\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA65F\uA662-\uA66F\uA67C\uA67D\uA67F-\uA697\uA6A0-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B\uA78C\uA7FB-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7B\uAA80-\uAAC2\uAADB-\uAADD\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA2D\uFA30-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE26\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC])*$/},function(e,t){var n="183,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,903,1155,1156,1157,1158,1159,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1471,1473,1474,1476,1477,1479,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1648,1750,1751,1752,1753,1754,1755,1756,1759,1760,1761,1762,1763,1764,1767,1768,1770,1771,1772,1773,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1809,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,2027,2028,2029,2030,2031,2032,2033,2034,2035,2045,2070,2071,2072,2073,2075,2076,2077,2078,2079,2080,2081,2082,2083,2085,2086,2087,2089,2090,2091,2092,2093,2137,2138,2139,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2362,2363,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2385,2386,2387,2388,2389,2390,2391,2402,2403,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2433,2434,2435,2492,2494,2495,2496,2497,2498,2499,2500,2503,2504,2507,2508,2509,2519,2530,2531,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2558,2561,2562,2563,2620,2622,2623,2624,2625,2626,2631,2632,2635,2636,2637,2641,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2677,2689,2690,2691,2748,2750,2751,2752,2753,2754,2755,2756,2757,2759,2760,2761,2763,2764,2765,2786,2787,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2810,2811,2812,2813,2814,2815,2817,2818,2819,2876,2878,2879,2880,2881,2882,2883,2884,2887,2888,2891,2892,2893,2902,2903,2914,2915,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2946,3006,3007,3008,3009,3010,3014,3015,3016,3018,3019,3020,3021,3031,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3072,3073,3074,3075,3076,3134,3135,3136,3137,3138,3139,3140,3142,3143,3144,3146,3147,3148,3149,3157,3158,3170,3171,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3201,3202,3203,3260,3262,3263,3264,3265,3266,3267,3268,3270,3271,3272,3274,3275,3276,3277,3285,3286,3298,3299,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3328,3329,3330,3331,3387,3388,3390,3391,3392,3393,3394,3395,3396,3398,3399,3400,3402,3403,3404,3405,3415,3426,3427,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3458,3459,3530,3535,3536,3537,3538,3539,3540,3542,3544,3545,3546,3547,3548,3549,3550,3551,3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3570,3571,3633,3636,3637,3638,3639,3640,3641,3642,3655,3656,3657,3658,3659,3660,3661,3662,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3761,3764,3765,3766,3767,3768,3769,3771,3772,3784,3785,3786,3787,3788,3789,3792,3793,3794,3795,3796,3797,3798,3799,3800,3801,3864,3865,3872,3873,3874,3875,3876,3877,3878,3879,3880,3881,3893,3895,3897,3902,3903,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964,3965,3966,3967,3968,3969,3970,3971,3972,3974,3975,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,3993,3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4038,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4182,4183,4184,4185,4190,4191,4192,4194,4195,4196,4199,4200,4201,4202,4203,4204,4205,4209,4210,4211,4212,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4957,4958,4959,4969,4970,4971,4972,4973,4974,4975,4976,4977,5906,5907,5908,5938,5939,5940,5970,5971,6002,6003,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6109,6112,6113,6114,6115,6116,6117,6118,6119,6120,6121,6155,6156,6157,6160,6161,6162,6163,6164,6165,6166,6167,6168,6169,6313,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443,6448,6449,6450,6451,6452,6453,6454,6455,6456,6457,6458,6459,6470,6471,6472,6473,6474,6475,6476,6477,6478,6479,6608,6609,6610,6611,6612,6613,6614,6615,6616,6617,6618,6679,6680,6681,6682,6683,6741,6742,6743,6744,6745,6746,6747,6748,6749,6750,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761,6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777,6778,6779,6780,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,6832,6833,6834,6835,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6912,6913,6914,6915,6916,6964,6965,6966,6967,6968,6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6992,6993,6994,6995,6996,6997,6998,6999,7000,7001,7019,7020,7021,7022,7023,7024,7025,7026,7027,7040,7041,7042,7073,7074,7075,7076,7077,7078,7079,7080,7081,7082,7083,7084,7085,7088,7089,7090,7091,7092,7093,7094,7095,7096,7097,7142,7143,7144,7145,7146,7147,7148,7149,7150,7151,7152,7153,7154,7155,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213,7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7376,7377,7378,7380,7381,7382,7383,7384,7385,7386,7387,7388,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400,7405,7410,7411,7412,7415,7416,7417,7616,7617,7618,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631,7632,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643,7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7675,7676,7677,7678,7679,8204,8205,8255,8256,8276,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,8411,8412,8417,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,11503,11504,11505,11647,11744,11745,11746,11747,11748,11749,11750,11751,11752,11753,11754,11755,11756,11757,11758,11759,11760,11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,12330,12331,12332,12333,12334,12335,12441,12442,42528,42529,42530,42531,42532,42533,42534,42535,42536,42537,42607,42612,42613,42614,42615,42616,42617,42618,42619,42620,42621,42654,42655,42736,42737,43010,43014,43019,43043,43044,43045,43046,43047,43136,43137,43188,43189,43190,43191,43192,43193,43194,43195,43196,43197,43198,43199,43200,43201,43202,43203,43204,43205,43216,43217,43218,43219,43220,43221,43222,43223,43224,43225,43232,43233,43234,43235,43236,43237,43238,43239,43240,43241,43242,43243,43244,43245,43246,43247,43248,43249,43263,43264,43265,43266,43267,43268,43269,43270,43271,43272,43273,43302,43303,43304,43305,43306,43307,43308,43309,43335,43336,43337,43338,43339,43340,43341,43342,43343,43344,43345,43346,43347,43392,43393,43394,43395,43443,43444,43445,43446,43447,43448,43449,43450,43451,43452,43453,43454,43455,43456,43472,43473,43474,43475,43476,43477,43478,43479,43480,43481,43493,43504,43505,43506,43507,43508,43509,43510,43511,43512,43513,43561,43562,43563,43564,43565,43566,43567,43568,43569,43570,43571,43572,43573,43574,43587,43596,43597,43600,43601,43602,43603,43604,43605,43606,43607,43608,43609,43643,43644,43645,43696,43698,43699,43700,43703,43704,43710,43711,43713,43755,43756,43757,43758,43759,43765,43766,44003,44004,44005,44006,44007,44008,44009,44010,44012,44013,44016,44017,44018,44019,44020,44021,44022,44023,44024,44025,64286,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65056,65057,65058,65059,65060,65061,65062,65063,65064,65065,65066,65067,65068,65069,65070,65071,65075,65076,65101,65102,65103,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65343".split(",").map(function(e){return parseInt(e,10)});e.exports=n},function(e,t){var n="170,181,186,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,710,711,712,713,714,715,716,717,718,719,720,721,736,737,738,739,740,748,750,880,881,882,883,884,886,887,890,891,892,893,895,902,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1369,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1519,1520,1521,1522,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1646,1647,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1749,1765,1766,1774,1775,1786,1787,1788,1791,1808,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1969,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2036,2037,2042,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2074,2084,2088,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2230,2231,2232,2233,2234,2235,2236,2237,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2365,2384,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2437,2438,2439,2440,2441,2442,2443,2444,2447,2448,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2474,2475,2476,2477,2478,2479,2480,2482,2486,2487,2488,2489,2493,2510,2524,2525,2527,2528,2529,2544,2545,2556,2565,2566,2567,2568,2569,2570,2575,2576,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2602,2603,2604,2605,2606,2607,2608,2610,2611,2613,2614,2616,2617,2649,2650,2651,2652,2654,2674,2675,2676,2693,2694,2695,2696,2697,2698,2699,2700,2701,2703,2704,2705,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2730,2731,2732,2733,2734,2735,2736,2738,2739,2741,2742,2743,2744,2745,2749,2768,2784,2785,2809,2821,2822,2823,2824,2825,2826,2827,2828,2831,2832,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2858,2859,2860,2861,2862,2863,2864,2866,2867,2869,2870,2871,2872,2873,2877,2908,2909,2911,2912,2913,2929,2947,2949,2950,2951,2952,2953,2954,2958,2959,2960,2962,2963,2964,2965,2969,2970,2972,2974,2975,2979,2980,2984,2985,2986,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3024,3077,3078,3079,3080,3081,3082,3083,3084,3086,3087,3088,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3133,3160,3161,3162,3168,3169,3200,3205,3206,3207,3208,3209,3210,3211,3212,3214,3215,3216,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3253,3254,3255,3256,3257,3261,3294,3296,3297,3313,3314,3333,3334,3335,3336,3337,3338,3339,3340,3342,3343,3344,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3389,3406,3412,3413,3414,3423,3424,3425,3450,3451,3452,3453,3454,3455,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3507,3508,3509,3510,3511,3512,3513,3514,3515,3517,3520,3521,3522,3523,3524,3525,3526,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3634,3635,3648,3649,3650,3651,3652,3653,3654,3713,3714,3716,3719,3720,3722,3725,3732,3733,3734,3735,3737,3738,3739,3740,3741,3742,3743,3745,3746,3747,3749,3751,3754,3755,3757,3758,3759,3760,3762,3763,3773,3776,3777,3778,3779,3780,3782,3804,3805,3806,3807,3840,3904,3905,3906,3907,3908,3909,3910,3911,3913,3914,3915,3916,3917,3918,3919,3920,3921,3922,3923,3924,3925,3926,3927,3928,3929,3930,3931,3932,3933,3934,3935,3936,3937,3938,3939,3940,3941,3942,3943,3944,3945,3946,3947,3948,3976,3977,3978,3979,3980,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4111,4112,4113,4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4159,4176,4177,4178,4179,4180,4181,4186,4187,4188,4189,4193,4197,4198,4206,4207,4208,4213,4214,4215,4216,4217,4218,4219,4220,4221,4222,4223,4224,4225,4238,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4290,4291,4292,4293,4295,4301,4304,4305,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326,4327,4328,4329,4330,4331,4332,4333,4334,4335,4336,4337,4338,4339,4340,4341,4342,4343,4344,4345,4346,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357,4358,4359,4360,4361,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420,4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,4443,4444,4445,4446,4447,4448,4449,4450,4451,4452,4453,4454,4455,4456,4457,4458,4459,4460,4461,4462,4463,4464,4465,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476,4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,4490,4491,4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,4536,4537,4538,4539,4540,4541,4542,4543,4544,4545,4546,4547,4548,4549,4550,4551,4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567,4568,4569,4570,4571,4572,4573,4574,4575,4576,4577,4578,4579,4580,4581,4582,4583,4584,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642,4643,4644,4645,4646,4647,4648,4649,4650,4651,4652,4653,4654,4655,4656,4657,4658,4659,4660,4661,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672,4673,4674,4675,4676,4677,4678,4679,4680,4682,4683,4684,4685,4688,4689,4690,4691,4692,4693,4694,4696,4698,4699,4700,4701,4704,4705,4706,4707,4708,4709,4710,4711,4712,4713,4714,4715,4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731,4732,4733,4734,4735,4736,4737,4738,4739,4740,4741,4742,4743,4744,4746,4747,4748,4749,4752,4753,4754,4755,4756,4757,4758,4759,4760,4761,4762,4763,4764,4765,4766,4767,4768,4769,4770,4771,4772,4773,4774,4775,4776,4777,4778,4779,4780,4781,4782,4783,4784,4786,4787,4788,4789,4792,4793,4794,4795,4796,4797,4798,4800,4802,4803,4804,4805,4808,4809,4810,4811,4812,4813,4814,4815,4816,4817,4818,4819,4820,4821,4822,4824,4825,4826,4827,4828,4829,4830,4831,4832,4833,4834,4835,4836,4837,4838,4839,4840,4841,4842,4843,4844,4845,4846,4847,4848,4849,4850,4851,4852,4853,4854,4855,4856,4857,4858,4859,4860,4861,4862,4863,4864,4865,4866,4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4879,4880,4882,4883,4884,4885,4888,4889,4890,4891,4892,4893,4894,4895,4896,4897,4898,4899,4900,4901,4902,4903,4904,4905,4906,4907,4908,4909,4910,4911,4912,4913,4914,4915,4916,4917,4918,4919,4920,4921,4922,4923,4924,4925,4926,4927,4928,4929,4930,4931,4932,4933,4934,4935,4936,4937,4938,4939,4940,4941,4942,4943,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954,4992,4993,4994,4995,4996,4997,4998,4999,5000,5001,5002,5003,5004,5005,5006,5007,5024,5025,5026,5027,5028,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,5039,5040,5041,5042,5043,5044,5045,5046,5047,5048,5049,5050,5051,5052,5053,5054,5055,5056,5057,5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072,5073,5074,5075,5076,5077,5078,5079,5080,5081,5082,5083,5084,5085,5086,5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102,5103,5104,5105,5106,5107,5108,5109,5112,5113,5114,5115,5116,5117,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133,5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149,5150,5151,5152,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,5176,5177,5178,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190,5191,5192,5193,5194,5195,5196,5197,5198,5199,5200,5201,5202,5203,5204,5205,5206,5207,5208,5209,5210,5211,5212,5213,5214,5215,5216,5217,5218,5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,5248,5249,5250,5251,5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299,5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347,5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385,5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440,5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488,5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520,5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552,5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568,5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584,5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600,5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616,5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632,5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648,5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664,5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680,5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696,5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712,5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728,5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5743,5744,5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776,5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5792,5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808,5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5870,5871,5872,5873,5874,5875,5876,5877,5878,5879,5880,5888,5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5902,5903,5904,5905,5920,5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5952,5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5998,5999,6000,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6103,6108,6176,6177,6178,6179,6180,6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196,6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212,6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259,6260,6261,6262,6263,6264,6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287,6288,6289,6290,6291,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305,6306,6307,6308,6309,6310,6311,6312,6314,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334,6335,6336,6337,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349,6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365,6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411,6412,6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,6426,6427,6428,6429,6430,6480,6481,6482,6483,6484,6485,6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,6504,6505,6506,6507,6508,6509,6512,6513,6514,6515,6516,6528,6529,6530,6531,6532,6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565,6566,6567,6568,6569,6570,6571,6576,6577,6578,6579,6580,6581,6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6656,6657,6658,6659,6660,6661,6662,6663,6664,6665,6666,6667,6668,6669,6670,6671,6672,6673,6674,6675,6676,6677,6678,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731,6732,6733,6734,6735,6736,6737,6738,6739,6740,6823,6917,6918,6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931,6932,6933,6934,6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947,6948,6949,6950,6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6981,6982,6983,6984,6985,6986,6987,7043,7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059,7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,7071,7072,7086,7087,7098,7099,7100,7101,7102,7103,7104,7105,7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138,7139,7140,7141,7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183,7184,7185,7186,7187,7188,7189,7190,7191,7192,7193,7194,7195,7196,7197,7198,7199,7200,7201,7202,7203,7245,7246,7247,7258,7259,7260,7261,7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293,7296,7297,7298,7299,7300,7301,7302,7303,7304,7312,7313,7314,7315,7316,7317,7318,7319,7320,7321,7322,7323,7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339,7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,7354,7357,7358,7359,7401,7402,7403,7404,7406,7407,7408,7409,7413,7414,7424,7425,7426,7427,7428,7429,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447,7448,7449,7450,7451,7452,7453,7454,7455,7456,7457,7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503,7504,7505,7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537,7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,7550,7551,7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567,7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582,7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598,7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614,7615,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695,7696,7697,7698,7699,7700,7701,7702,7703,7704,7705,7706,7707,7708,7709,7710,7711,7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750,7751,7752,7753,7754,7755,7756,7757,7758,7759,7760,7761,7762,7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778,7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794,7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,7806,7807,7808,7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840,7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,7888,7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,7920,7921,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7960,7961,7962,7963,7964,7965,7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983,7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999,8000,8001,8002,8003,8004,8005,8008,8009,8010,8011,8012,8013,8016,8017,8018,8019,8020,8021,8022,8023,8025,8027,8029,8031,8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047,8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111,8112,8113,8114,8115,8116,8118,8119,8120,8121,8122,8123,8124,8126,8130,8131,8132,8134,8135,8136,8137,8138,8139,8140,8144,8145,8146,8147,8150,8151,8152,8153,8154,8155,8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8178,8179,8180,8182,8183,8184,8185,8186,8187,8188,8305,8319,8336,8337,8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8450,8455,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8469,8472,8473,8474,8475,8476,8477,8484,8486,8488,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8508,8509,8510,8511,8517,8518,8519,8520,8521,8526,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584,11264,11265,11266,11267,11268,11269,11270,11271,11272,11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288,11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304,11305,11306,11307,11308,11309,11310,11312,11313,11314,11315,11316,11317,11318,11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334,11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,11348,11349,11350,11351,11352,11353,11354,11355,11356,11357,11358,11360,11361,11362,11363,11364,11365,11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,11378,11379,11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395,11396,11397,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410,11411,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425,11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441,11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457,11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,11470,11471,11472,11473,11474,11475,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486,11487,11488,11489,11490,11491,11492,11499,11500,11501,11502,11506,11507,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,11530,11531,11532,11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548,11549,11550,11551,11552,11553,11554,11555,11556,11557,11559,11565,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578,11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,11592,11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,11605,11606,11607,11608,11609,11610,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622,11623,11631,11648,11649,11650,11651,11652,11653,11654,11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670,11680,11681,11682,11683,11684,11685,11686,11688,11689,11690,11691,11692,11693,11694,11696,11697,11698,11699,11700,11701,11702,11704,11705,11706,11707,11708,11709,11710,11712,11713,11714,11715,11716,11717,11718,11720,11721,11722,11723,11724,11725,11726,11728,11729,11730,11731,11732,11733,11734,11736,11737,11738,11739,11740,11741,11742,12293,12294,12295,12321,12322,12323,12324,12325,12326,12327,12328,12329,12337,12338,12339,12340,12341,12344,12345,12346,12347,12348,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12436,12437,12438,12443,12444,12445,12446,12447,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12540,12541,12542,12543,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,12586,12587,12588,12589,12590,12591,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,12704,12705,12706,12707,12708,12709,12710,12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726,12727,12728,12729,12730,12784,12785,12786,12787,12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321,13322,13323,13324,13325,13326,13327,13328,13329,13330,13331,13332,13333,13334,13335,13336,13337,13338,13339,13340,13341,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351,13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382,13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398,13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414,13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430,13431,13432,13433,13434,13435,13436,13437,13438,13439,13440,13441,13442,13443,13444,13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,13458,13459,13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,13471,13472,13473,13474,13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490,13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506,13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522,13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538,13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554,13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570,13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586,13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602,13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618,13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634,13635,13636,13637,13638,13639,13640,13641,13642,13643,13644,13645,13646,13647,13648,13649,13650,13651,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664,13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680,13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696,13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712,13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728,13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744,13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760,13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,13775,13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791,13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807,13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823,13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839,13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855,13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871,13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887,13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903,13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919,13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935,13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951,13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967,13968,13969,13970,13971,13972,13973,13974,13975,13976,13977,13978,13979,13980,13981,13982,13983,13984,13985,13986,13987,13988,13989,13990,13991,13992,13993,13994,13995,13996,13997,13998,13999,14000,14001,14002,14003,14004,14005,14006,14007,14008,14009,14010,14011,14012,14013,14014,14015,14016,14017,14018,14019,14020,14021,14022,14023,14024,14025,14026,14027,14028,14029,14030,14031,14032,14033,14034,14035,14036,14037,14038,14039,14040,14041,14042,14043,14044,14045,14046,14047,14048,14049,14050,14051,14052,14053,14054,14055,14056,14057,14058,14059,14060,14061,14062,14063,14064,14065,14066,14067,14068,14069,14070,14071,14072,14073,14074,14075,14076,14077,14078,14079,14080,14081,14082,14083,14084,14085,14086,14087,14088,14089,14090,14091,14092,14093,14094,14095,14096,14097,14098,14099,14100,14101,14102,14103,14104,14105,14106,14107,14108,14109,14110,14111,14112,14113,14114,14115,14116,14117,14118,14119,14120,14121,14122,14123,14124,14125,14126,14127,14128,14129,14130,14131,14132,14133,14134,14135,14136,14137,14138,14139,14140,14141,14142,14143,14144,14145,14146,14147,14148,14149,14150,14151,14152,14153,14154,14155,14156,14157,14158,14159,14160,14161,14162,14163,14164,14165,14166,14167,14168,14169,14170,14171,14172,14173,14174,14175,14176,14177,14178,14179,14180,14181,14182,14183,14184,14185,14186,14187,14188,14189,14190,14191,14192,14193,14194,14195,14196,14197,14198,14199,14200,14201,14202,14203,14204,14205,14206,14207,14208,14209,14210,14211,14212,14213,14214,14215,14216,14217,14218,14219,14220,14221,14222,14223,14224,14225,14226,14227,14228,14229,14230,14231,14232,14233,14234,14235,14236,14237,14238,14239,14240,14241,14242,14243,14244,14245,14246,14247,14248,14249,14250,14251,14252,14253,14254,14255,14256,14257,14258,14259,14260,14261,14262,14263,14264,14265,14266,14267,14268,14269,14270,14271,14272,14273,14274,14275,14276,14277,14278,14279,14280,14281,14282,14283,14284,14285,14286,14287,14288,14289,14290,14291,14292,14293,14294,14295,14296,14297,14298,14299,14300,14301,14302,14303,14304,14305,14306,14307,14308,14309,14310,14311,14312,14313,14314,14315,14316,14317,14318,14319,14320,14321,14322,14323,14324,14325,14326,14327,14328,14329,14330,14331,14332,14333,14334,14335,14336,14337,14338,14339,14340,14341,14342,14343,14344,14345,14346,14347,14348,14349,14350,14351,14352,14353,14354,14355,14356,14357,14358,14359,14360,14361,14362,14363,14364,14365,14366,14367,14368,14369,14370,14371,14372,14373,14374,14375,14376,14377,14378,14379,14380,14381,14382,14383,14384,14385,14386,14387,14388,14389,14390,14391,14392,14393,14394,14395,14396,14397,14398,14399,14400,14401,14402,14403,14404,14405,14406,14407,14408,14409,14410,14411,14412,14413,14414,14415,14416,14417,14418,14419,14420,14421,14422,14423,14424,14425,14426,14427,14428,14429,14430,14431,14432,14433,14434,14435,14436,14437,14438,14439,14440,14441,14442,14443,14444,14445,14446,14447,14448,14449,14450,14451,14452,14453,14454,14455,14456,14457,14458,14459,14460,14461,14462,14463,14464,14465,14466,14467,14468,14469,14470,14471,14472,14473,14474,14475,14476,14477,14478,14479,14480,14481,14482,14483,14484,14485,14486,14487,14488,14489,14490,14491,14492,14493,14494,14495,14496,14497,14498,14499,14500,14501,14502,14503,14504,14505,14506,14507,14508,14509,14510,14511,14512,14513,14514,14515,14516,14517,14518,14519,14520,14521,14522,14523,14524,14525,14526,14527,14528,14529,14530,14531,14532,14533,14534,14535,14536,14537,14538,14539,14540,14541,14542,14543,14544,14545,14546,14547,14548,14549,14550,14551,14552,14553,14554,14555,14556,14557,14558,14559,14560,14561,14562,14563,14564,14565,14566,14567,14568,14569,14570,14571,14572,14573,14574,14575,14576,14577,14578,14579,14580,14581,14582,14583,14584,14585,14586,14587,14588,14589,14590,14591,14592,14593,14594,14595,14596,14597,14598,14599,14600,14601,14602,14603,14604,14605,14606,14607,14608,14609,14610,14611,14612,14613,14614,14615,14616,14617,14618,14619,14620,14621,14622,14623,14624,14625,14626,14627,14628,14629,14630,14631,14632,14633,14634,14635,14636,14637,14638,14639,14640,14641,14642,14643,14644,14645,14646,14647,14648,14649,14650,14651,14652,14653,14654,14655,14656,14657,14658,14659,14660,14661,14662,14663,14664,14665,14666,14667,14668,14669,14670,14671,14672,14673,14674,14675,14676,14677,14678,14679,14680,14681,14682,14683,14684,14685,14686,14687,14688,14689,14690,14691,14692,14693,14694,14695,14696,14697,14698,14699,14700,14701,14702,14703,14704,14705,14706,14707,14708,14709,14710,14711,14712,14713,14714,14715,14716,14717,14718,14719,14720,14721,14722,14723,14724,14725,14726,14727,14728,14729,14730,14731,14732,14733,14734,14735,14736,14737,14738,14739,14740,14741,14742,14743,14744,14745,14746,14747,14748,14749,14750,14751,14752,14753,14754,14755,14756,14757,14758,14759,14760,14761,14762,14763,14764,14765,14766,14767,14768,14769,14770,14771,14772,14773,14774,14775,14776,14777,14778,14779,14780,14781,14782,14783,14784,14785,14786,14787,14788,14789,14790,14791,14792,14793,14794,14795,14796,14797,14798,14799,14800,14801,14802,14803,14804,14805,14806,14807,14808,14809,14810,14811,14812,14813,14814,14815,14816,14817,14818,14819,14820,14821,14822,14823,14824,14825,14826,14827,14828,14829,14830,14831,14832,14833,14834,14835,14836,14837,14838,14839,14840,14841,14842,14843,14844,14845,14846,14847,14848,14849,14850,14851,14852,14853,14854,14855,14856,14857,14858,14859,14860,14861,14862,14863,14864,14865,14866,14867,14868,14869,14870,14871,14872,14873,14874,14875,14876,14877,14878,14879,14880,14881,14882,14883,14884,14885,14886,14887,14888,14889,14890,14891,14892,14893,14894,14895,14896,14897,14898,14899,14900,14901,14902,14903,14904,14905,14906,14907,14908,14909,14910,14911,14912,14913,14914,14915,14916,14917,14918,14919,14920,14921,14922,14923,14924,14925,14926,14927,14928,14929,14930,14931,14932,14933,14934,14935,14936,14937,14938,14939,14940,14941,14942,14943,14944,14945,14946,14947,14948,14949,14950,14951,14952,14953,14954,14955,14956,14957,14958,14959,14960,14961,14962,14963,14964,14965,14966,14967,14968,14969,14970,14971,14972,14973,14974,14975,14976,14977,14978,14979,14980,14981,14982,14983,14984,14985,14986,14987,14988,14989,14990,14991,14992,14993,14994,14995,14996,14997,14998,14999,15000,15001,15002,15003,15004,15005,15006,15007,15008,15009,15010,15011,15012,15013,15014,15015,15016,15017,15018,15019,15020,15021,15022,15023,15024,15025,15026,15027,15028,15029,15030,15031,15032,15033,15034,15035,15036,15037,15038,15039,15040,15041,15042,15043,15044,15045,15046,15047,15048,15049,15050,15051,15052,15053,15054,15055,15056,15057,15058,15059,15060,15061,15062,15063,15064,15065,15066,15067,15068,15069,15070,15071,15072,15073,15074,15075,15076,15077,15078,15079,15080,15081,15082,15083,15084,15085,15086,15087,15088,15089,15090,15091,15092,15093,15094,15095,15096,15097,15098,15099,15100,15101,15102,15103,15104,15105,15106,15107,15108,15109,15110,15111,15112,15113,15114,15115,15116,15117,15118,15119,15120,15121,15122,15123,15124,15125,15126,15127,15128,15129,15130,15131,15132,15133,15134,15135,15136,15137,15138,15139,15140,15141,15142,15143,15144,15145,15146,15147,15148,15149,15150,15151,15152,15153,15154,15155,15156,15157,15158,15159,15160,15161,15162,15163,15164,15165,15166,15167,15168,15169,15170,15171,15172,15173,15174,15175,15176,15177,15178,15179,15180,15181,15182,15183,15184,15185,15186,15187,15188,15189,15190,15191,15192,15193,15194,15195,15196,15197,15198,15199,15200,15201,15202,15203,15204,15205,15206,15207,15208,15209,15210,15211,15212,15213,15214,15215,15216,15217,15218,15219,15220,15221,15222,15223,15224,15225,15226,15227,15228,15229,15230,15231,15232,15233,15234,15235,15236,15237,15238,15239,15240,15241,15242,15243,15244,15245,15246,15247,15248,15249,15250,15251,15252,15253,15254,15255,15256,15257,15258,15259,15260,15261,15262,15263,15264,15265,15266,15267,15268,15269,15270,15271,15272,15273,15274,15275,15276,15277,15278,15279,15280,15281,15282,15283,15284,15285,15286,15287,15288,15289,15290,15291,15292,15293,15294,15295,15296,15297,15298,15299,15300,15301,15302,15303,15304,15305,15306,15307,15308,15309,15310,15311,15312,15313,15314,15315,15316,15317,15318,15319,15320,15321,15322,15323,15324,15325,15326,15327,15328,15329,15330,15331,15332,15333,15334,15335,15336,15337,15338,15339,15340,15341,15342,15343,15344,15345,15346,15347,15348,15349,15350,15351,15352,15353,15354,15355,15356,15357,15358,15359,15360,15361,15362,15363,15364,15365,15366,15367,15368,15369,15370,15371,15372,15373,15374,15375,15376,15377,15378,15379,15380,15381,15382,15383,15384,15385,15386,15387,15388,15389,15390,15391,15392,15393,15394,15395,15396,15397,15398,15399,15400,15401,15402,15403,15404,15405,15406,15407,15408,15409,15410,15411,15412,15413,15414,15415,15416,15417,15418,15419,15420,15421,15422,15423,15424,15425,15426,15427,15428,15429,15430,15431,15432,15433,15434,15435,15436,15437,15438,15439,15440,15441,15442,15443,15444,15445,15446,15447,15448,15449,15450,15451,15452,15453,15454,15455,15456,15457,15458,15459,15460,15461,15462,15463,15464,15465,15466,15467,15468,15469,15470,15471,15472,15473,15474,15475,15476,15477,15478,15479,15480,15481,15482,15483,15484,15485,15486,15487,15488,15489,15490,15491,15492,15493,15494,15495,15496,15497,15498,15499,15500,15501,15502,15503,15504,15505,15506,15507,15508,15509,15510,15511,15512,15513,15514,15515,15516,15517,15518,15519,15520,15521,15522,15523,15524,15525,15526,15527,15528,15529,15530,15531,15532,15533,15534,15535,15536,15537,15538,15539,15540,15541,15542,15543,15544,15545,15546,15547,15548,15549,15550,15551,15552,15553,15554,15555,15556,15557,15558,15559,15560,15561,15562,15563,15564,15565,15566,15567,15568,15569,15570,15571,15572,15573,15574,15575,15576,15577,15578,15579,15580,15581,15582,15583,15584,15585,15586,15587,15588,15589,15590,15591,15592,15593,15594,15595,15596,15597,15598,15599,15600,15601,15602,15603,15604,15605,15606,15607,15608,15609,15610,15611,15612,15613,15614,15615,15616,15617,15618,15619,15620,15621,15622,15623,15624,15625,15626,15627,15628,15629,15630,15631,15632,15633,15634,15635,15636,15637,15638,15639,15640,15641,15642,15643,15644,15645,15646,15647,15648,15649,15650,15651,15652,15653,15654,15655,15656,15657,15658,15659,15660,15661,15662,15663,15664,15665,15666,15667,15668,15669,15670,15671,15672,15673,15674,15675,15676,15677,15678,15679,15680,15681,15682,15683,15684,15685,15686,15687,15688,15689,15690,15691,15692,15693,15694,15695,15696,15697,15698,15699,15700,15701,15702,15703,15704,15705,15706,15707,15708,15709,15710,15711,15712,15713,15714,15715,15716,15717,15718,15719,15720,15721,15722,15723,15724,15725,15726,15727,15728,15729,15730,15731,15732,15733,15734,15735,15736,15737,15738,15739,15740,15741,15742,15743,15744,15745,15746,15747,15748,15749,15750,15751,15752,15753,15754,15755,15756,15757,15758,15759,15760,15761,15762,15763,15764,15765,15766,15767,15768,15769,15770,15771,15772,15773,15774,15775,15776,15777,15778,15779,15780,15781,15782,15783,15784,15785,15786,15787,15788,15789,15790,15791,15792,15793,15794,15795,15796,15797,15798,15799,15800,15801,15802,15803,15804,15805,15806,15807,15808,15809,15810,15811,15812,15813,15814,15815,15816,15817,15818,15819,15820,15821,15822,15823,15824,15825,15826,15827,15828,15829,15830,15831,15832,15833,15834,15835,15836,15837,15838,15839,15840,15841,15842,15843,15844,15845,15846,15847,15848,15849,15850,15851,15852,15853,15854,15855,15856,15857,15858,15859,15860,15861,15862,15863,15864,15865,15866,15867,15868,15869,15870,15871,15872,15873,15874,15875,15876,15877,15878,15879,15880,15881,15882,15883,15884,15885,15886,15887,15888,15889,15890,15891,15892,15893,15894,15895,15896,15897,15898,15899,15900,15901,15902,15903,15904,15905,15906,15907,15908,15909,15910,15911,15912,15913,15914,15915,15916,15917,15918,15919,15920,15921,15922,15923,15924,15925,15926,15927,15928,15929,15930,15931,15932,15933,15934,15935,15936,15937,15938,15939,15940,15941,15942,15943,15944,15945,15946,15947,15948,15949,15950,15951,15952,15953,15954,15955,15956,15957,15958,15959,15960,15961,15962,15963,15964,15965,15966,15967,15968,15969,15970,15971,15972,15973,15974,15975,15976,15977,15978,15979,15980,15981,15982,15983,15984,15985,15986,15987,15988,15989,15990,15991,15992,15993,15994,15995,15996,15997,15998,15999,16000,16001,16002,16003,16004,16005,16006,16007,16008,16009,16010,16011,16012,16013,16014,16015,16016,16017,16018,16019,16020,16021,16022,16023,16024,16025,16026,16027,16028,16029,16030,16031,16032,16033,16034,16035,16036,16037,16038,16039,16040,16041,16042,16043,16044,16045,16046,16047,16048,16049,16050,16051,16052,16053,16054,16055,16056,16057,16058,16059,16060,16061,16062,16063,16064,16065,16066,16067,16068,16069,16070,16071,16072,16073,16074,16075,16076,16077,16078,16079,16080,16081,16082,16083,16084,16085,16086,16087,16088,16089,16090,16091,16092,16093,16094,16095,16096,16097,16098,16099,16100,16101,16102,16103,16104,16105,16106,16107,16108,16109,16110,16111,16112,16113,16114,16115,16116,16117,16118,16119,16120,16121,16122,16123,16124,16125,16126,16127,16128,16129,16130,16131,16132,16133,16134,16135,16136,16137,16138,16139,16140,16141,16142,16143,16144,16145,16146,16147,16148,16149,16150,16151,16152,16153,16154,16155,16156,16157,16158,16159,16160,16161,16162,16163,16164,16165,16166,16167,16168,16169,16170,16171,16172,16173,16174,16175,16176,16177,16178,16179,16180,16181,16182,16183,16184,16185,16186,16187,16188,16189,16190,16191,16192,16193,16194,16195,16196,16197,16198,16199,16200,16201,16202,16203,16204,16205,16206,16207,16208,16209,16210,16211,16212,16213,16214,16215,16216,16217,16218,16219,16220,16221,16222,16223,16224,16225,16226,16227,16228,16229,16230,16231,16232,16233,16234,16235,16236,16237,16238,16239,16240,16241,16242,16243,16244,16245,16246,16247,16248,16249,16250,16251,16252,16253,16254,16255,16256,16257,16258,16259,16260,16261,16262,16263,16264,16265,16266,16267,16268,16269,16270,16271,16272,16273,16274,16275,16276,16277,16278,16279,16280,16281,16282,16283,16284,16285,16286,16287,16288,16289,16290,16291,16292,16293,16294,16295,16296,16297,16298,16299,16300,16301,16302,16303,16304,16305,16306,16307,16308,16309,16310,16311,16312,16313,16314,16315,16316,16317,16318,16319,16320,16321,16322,16323,16324,16325,16326,16327,16328,16329,16330,16331,16332,16333,16334,16335,16336,16337,16338,16339,16340,16341,16342,16343,16344,16345,16346,16347,16348,16349,16350,16351,16352,16353,16354,16355,16356,16357,16358,16359,16360,16361,16362,16363,16364,16365,16366,16367,16368,16369,16370,16371,16372,16373,16374,16375,16376,16377,16378,16379,16380,16381,16382,16383,16384,16385,16386,16387,16388,16389,16390,16391,16392,16393,16394,16395,16396,16397,16398,16399,16400,16401,16402,16403,16404,16405,16406,16407,16408,16409,16410,16411,16412,16413,16414,16415,16416,16417,16418,16419,16420,16421,16422,16423,16424,16425,16426,16427,16428,16429,16430,16431,16432,16433,16434,16435,16436,16437,16438,16439,16440,16441,16442,16443,16444,16445,16446,16447,16448,16449,16450,16451,16452,16453,16454,16455,16456,16457,16458,16459,16460,16461,16462,16463,16464,16465,16466,16467,16468,16469,16470,16471,16472,16473,16474,16475,16476,16477,16478,16479,16480,16481,16482,16483,16484,16485,16486,16487,16488,16489,16490,16491,16492,16493,16494,16495,16496,16497,16498,16499,16500,16501,16502,16503,16504,16505,16506,16507,16508,16509,16510,16511,16512,16513,16514,16515,16516,16517,16518,16519,16520,16521,16522,16523,16524,16525,16526,16527,16528,16529,16530,16531,16532,16533,16534,16535,16536,16537,16538,16539,16540,16541,16542,16543,16544,16545,16546,16547,16548,16549,16550,16551,16552,16553,16554,16555,16556,16557,16558,16559,16560,16561,16562,16563,16564,16565,16566,16567,16568,16569,16570,16571,16572,16573,16574,16575,16576,16577,16578,16579,16580,16581,16582,16583,16584,16585,16586,16587,16588,16589,16590,16591,16592,16593,16594,16595,16596,16597,16598,16599,16600,16601,16602,16603,16604,16605,16606,16607,16608,16609,16610,16611,16612,16613,16614,16615,16616,16617,16618,16619,16620,16621,16622,16623,16624,16625,16626,16627,16628,16629,16630,16631,16632,16633,16634,16635,16636,16637,16638,16639,16640,16641,16642,16643,16644,16645,16646,16647,16648,16649,16650,16651,16652,16653,16654,16655,16656,16657,16658,16659,16660,16661,16662,16663,16664,16665,16666,16667,16668,16669,16670,16671,16672,16673,16674,16675,16676,16677,16678,16679,16680,16681,16682,16683,16684,16685,16686,16687,16688,16689,16690,16691,16692,16693,16694,16695,16696,16697,16698,16699,16700,16701,16702,16703,16704,16705,16706,16707,16708,16709,16710,16711,16712,16713,16714,16715,16716,16717,16718,16719,16720,16721,16722,16723,16724,16725,16726,16727,16728,16729,16730,16731,16732,16733,16734,16735,16736,16737,16738,16739,16740,16741,16742,16743,16744,16745,16746,16747,16748,16749,16750,16751,16752,16753,16754,16755,16756,16757,16758,16759,16760,16761,16762,16763,16764,16765,16766,16767,16768,16769,16770,16771,16772,16773,16774,16775,16776,16777,16778,16779,16780,16781,16782,16783,16784,16785,16786,16787,16788,16789,16790,16791,16792,16793,16794,16795,16796,16797,16798,16799,16800,16801,16802,16803,16804,16805,16806,16807,16808,16809,16810,16811,16812,16813,16814,16815,16816,16817,16818,16819,16820,16821,16822,16823,16824,16825,16826,16827,16828,16829,16830,16831,16832,16833,16834,16835,16836,16837,16838,16839,16840,16841,16842,16843,16844,16845,16846,16847,16848,16849,16850,16851,16852,16853,16854,16855,16856,16857,16858,16859,16860,16861,16862,16863,16864,16865,16866,16867,16868,16869,16870,16871,16872,16873,16874,16875,16876,16877,16878,16879,16880,16881,16882,16883,16884,16885,16886,16887,16888,16889,16890,16891,16892,16893,16894,16895,16896,16897,16898,16899,16900,16901,16902,16903,16904,16905,16906,16907,16908,16909,16910,16911,16912,16913,16914,16915,16916,16917,16918,16919,16920,16921,16922,16923,16924,16925,16926,16927,16928,16929,16930,16931,16932,16933,16934,16935,16936,16937,16938,16939,16940,16941,16942,16943,16944,16945,16946,16947,16948,16949,16950,16951,16952,16953,16954,16955,16956,16957,16958,16959,16960,16961,16962,16963,16964,16965,16966,16967,16968,16969,16970,16971,16972,16973,16974,16975,16976,16977,16978,16979,16980,16981,16982,16983,16984,16985,16986,16987,16988,16989,16990,16991,16992,16993,16994,16995,16996,16997,16998,16999,17000,17001,17002,17003,17004,17005,17006,17007,17008,17009,17010,17011,17012,17013,17014,17015,17016,17017,17018,17019,17020,17021,17022,17023,17024,17025,17026,17027,17028,17029,17030,17031,17032,17033,17034,17035,17036,17037,17038,17039,17040,17041,17042,17043,17044,17045,17046,17047,17048,17049,17050,17051,17052,17053,17054,17055,17056,17057,17058,17059,17060,17061,17062,17063,17064,17065,17066,17067,17068,17069,17070,17071,17072,17073,17074,17075,17076,17077,17078,17079,17080,17081,17082,17083,17084,17085,17086,17087,17088,17089,17090,17091,17092,17093,17094,17095,17096,17097,17098,17099,17100,17101,17102,17103,17104,17105,17106,17107,17108,17109,17110,17111,17112,17113,17114,17115,17116,17117,17118,17119,17120,17121,17122,17123,17124,17125,17126,17127,17128,17129,17130,17131,17132,17133,17134,17135,17136,17137,17138,17139,17140,17141,17142,17143,17144,17145,17146,17147,17148,17149,17150,17151,17152,17153,17154,17155,17156,17157,17158,17159,17160,17161,17162,17163,17164,17165,17166,17167,17168,17169,17170,17171,17172,17173,17174,17175,17176,17177,17178,17179,17180,17181,17182,17183,17184,17185,17186,17187,17188,17189,17190,17191,17192,17193,17194,17195,17196,17197,17198,17199,17200,17201,17202,17203,17204,17205,17206,17207,17208,17209,17210,17211,17212,17213,17214,17215,17216,17217,17218,17219,17220,17221,17222,17223,17224,17225,17226,17227,17228,17229,17230,17231,17232,17233,17234,17235,17236,17237,17238,17239,17240,17241,17242,17243,17244,17245,17246,17247,17248,17249,17250,17251,17252,17253,17254,17255,17256,17257,17258,17259,17260,17261,17262,17263,17264,17265,17266,17267,17268,17269,17270,17271,17272,17273,17274,17275,17276,17277,17278,17279,17280,17281,17282,17283,17284,17285,17286,17287,17288,17289,17290,17291,17292,17293,17294,17295,17296,17297,17298,17299,17300,17301,17302,17303,17304,17305,17306,17307,17308,17309,17310,17311,17312,17313,17314,17315,17316,17317,17318,17319,17320,17321,17322,17323,17324,17325,17326,17327,17328,17329,17330,17331,17332,17333,17334,17335,17336,17337,17338,17339,17340,17341,17342,17343,17344,17345,17346,17347,17348,17349,17350,17351,17352,17353,17354,17355,17356,17357,17358,17359,17360,17361,17362,17363,17364,17365,17366,17367,17368,17369,17370,17371,17372,17373,17374,17375,17376,17377,17378,17379,17380,17381,17382,17383,17384,17385,17386,17387,17388,17389,17390,17391,17392,17393,17394,17395,17396,17397,17398,17399,17400,17401,17402,17403,17404,17405,17406,17407,17408,17409,17410,17411,17412,17413,17414,17415,17416,17417,17418,17419,17420,17421,17422,17423,17424,17425,17426,17427,17428,17429,17430,17431,17432,17433,17434,17435,17436,17437,17438,17439,17440,17441,17442,17443,17444,17445,17446,17447,17448,17449,17450,17451,17452,17453,17454,17455,17456,17457,17458,17459,17460,17461,17462,17463,17464,17465,17466,17467,17468,17469,17470,17471,17472,17473,17474,17475,17476,17477,17478,17479,17480,17481,17482,17483,17484,17485,17486,17487,17488,17489,17490,17491,17492,17493,17494,17495,17496,17497,17498,17499,17500,17501,17502,17503,17504,17505,17506,17507,17508,17509,17510,17511,17512,17513,17514,17515,17516,17517,17518,17519,17520,17521,17522,17523,17524,17525,17526,17527,17528,17529,17530,17531,17532,17533,17534,17535,17536,17537,17538,17539,17540,17541,17542,17543,17544,17545,17546,17547,17548,17549,17550,17551,17552,17553,17554,17555,17556,17557,17558,17559,17560,17561,17562,17563,17564,17565,17566,17567,17568,17569,17570,17571,17572,17573,17574,17575,17576,17577,17578,17579,17580,17581,17582,17583,17584,17585,17586,17587,17588,17589,17590,17591,17592,17593,17594,17595,17596,17597,17598,17599,17600,17601,17602,17603,17604,17605,17606,17607,17608,17609,17610,17611,17612,17613,17614,17615,17616,17617,17618,17619,17620,17621,17622,17623,17624,17625,17626,17627,17628,17629,17630,17631,17632,17633,17634,17635,17636,17637,17638,17639,17640,17641,17642,17643,17644,17645,17646,17647,17648,17649,17650,17651,17652,17653,17654,17655,17656,17657,17658,17659,17660,17661,17662,17663,17664,17665,17666,17667,17668,17669,17670,17671,17672,17673,17674,17675,17676,17677,17678,17679,17680,17681,17682,17683,17684,17685,17686,17687,17688,17689,17690,17691,17692,17693,17694,17695,17696,17697,17698,17699,17700,17701,17702,17703,17704,17705,17706,17707,17708,17709,17710,17711,17712,17713,17714,17715,17716,17717,17718,17719,17720,17721,17722,17723,17724,17725,17726,17727,17728,17729,17730,17731,17732,17733,17734,17735,17736,17737,17738,17739,17740,17741,17742,17743,17744,17745,17746,17747,17748,17749,17750,17751,17752,17753,17754,17755,17756,17757,17758,17759,17760,17761,17762,17763,17764,17765,17766,17767,17768,17769,17770,17771,17772,17773,17774,17775,17776,17777,17778,17779,17780,17781,17782,17783,17784,17785,17786,17787,17788,17789,17790,17791,17792,17793,17794,17795,17796,17797,17798,17799,17800,17801,17802,17803,17804,17805,17806,17807,17808,17809,17810,17811,17812,17813,17814,17815,17816,17817,17818,17819,17820,17821,17822,17823,17824,17825,17826,17827,17828,17829,17830,17831,17832,17833,17834,17835,17836,17837,17838,17839,17840,17841,17842,17843,17844,17845,17846,17847,17848,17849,17850,17851,17852,17853,17854,17855,17856,17857,17858,17859,17860,17861,17862,17863,17864,17865,17866,17867,17868,17869,17870,17871,17872,17873,17874,17875,17876,17877,17878,17879,17880,17881,17882,17883,17884,17885,17886,17887,17888,17889,17890,17891,17892,17893,17894,17895,17896,17897,17898,17899,17900,17901,17902,17903,17904,17905,17906,17907,17908,17909,17910,17911,17912,17913,17914,17915,17916,17917,17918,17919,17920,17921,17922,17923,17924,17925,17926,17927,17928,17929,17930,17931,17932,17933,17934,17935,17936,17937,17938,17939,17940,17941,17942,17943,17944,17945,17946,17947,17948,17949,17950,17951,17952,17953,17954,17955,17956,17957,17958,17959,17960,17961,17962,17963,17964,17965,17966,17967,17968,17969,17970,17971,17972,17973,17974,17975,17976,17977,17978,17979,17980,17981,17982,17983,17984,17985,17986,17987,17988,17989,17990,17991,17992,17993,17994,17995,17996,17997,17998,17999,18000,18001,18002,18003,18004,18005,18006,18007,18008,18009,18010,18011,18012,18013,18014,18015,18016,18017,18018,18019,18020,18021,18022,18023,18024,18025,18026,18027,18028,18029,18030,18031,18032,18033,18034,18035,18036,18037,18038,18039,18040,18041,18042,18043,18044,18045,18046,18047,18048,18049,18050,18051,18052,18053,18054,18055,18056,18057,18058,18059,18060,18061,18062,18063,18064,18065,18066,18067,18068,18069,18070,18071,18072,18073,18074,18075,18076,18077,18078,18079,18080,18081,18082,18083,18084,18085,18086,18087,18088,18089,18090,18091,18092,18093,18094,18095,18096,18097,18098,18099,18100,18101,18102,18103,18104,18105,18106,18107,18108,18109,18110,18111,18112,18113,18114,18115,18116,18117,18118,18119,18120,18121,18122,18123,18124,18125,18126,18127,18128,18129,18130,18131,18132,18133,18134,18135,18136,18137,18138,18139,18140,18141,18142,18143,18144,18145,18146,18147,18148,18149,18150,18151,18152,18153,18154,18155,18156,18157,18158,18159,18160,18161,18162,18163,18164,18165,18166,18167,18168,18169,18170,18171,18172,18173,18174,18175,18176,18177,18178,18179,18180,18181,18182,18183,18184,18185,18186,18187,18188,18189,18190,18191,18192,18193,18194,18195,18196,18197,18198,18199,18200,18201,18202,18203,18204,18205,18206,18207,18208,18209,18210,18211,18212,18213,18214,18215,18216,18217,18218,18219,18220,18221,18222,18223,18224,18225,18226,18227,18228,18229,18230,18231,18232,18233,18234,18235,18236,18237,18238,18239,18240,18241,18242,18243,18244,18245,18246,18247,18248,18249,18250,18251,18252,18253,18254,18255,18256,18257,18258,18259,18260,18261,18262,18263,18264,18265,18266,18267,18268,18269,18270,18271,18272,18273,18274,18275,18276,18277,18278,18279,18280,18281,18282,18283,18284,18285,18286,18287,18288,18289,18290,18291,18292,18293,18294,18295,18296,18297,18298,18299,18300,18301,18302,18303,18304,18305,18306,18307,18308,18309,18310,18311,18312,18313,18314,18315,18316,18317,18318,18319,18320,18321,18322,18323,18324,18325,18326,18327,18328,18329,18330,18331,18332,18333,18334,18335,18336,18337,18338,18339,18340,18341,18342,18343,18344,18345,18346,18347,18348,18349,18350,18351,18352,18353,18354,18355,18356,18357,18358,18359,18360,18361,18362,18363,18364,18365,18366,18367,18368,18369,18370,18371,18372,18373,18374,18375,18376,18377,18378,18379,18380,18381,18382,18383,18384,18385,18386,18387,18388,18389,18390,18391,18392,18393,18394,18395,18396,18397,18398,18399,18400,18401,18402,18403,18404,18405,18406,18407,18408,18409,18410,18411,18412,18413,18414,18415,18416,18417,18418,18419,18420,18421,18422,18423,18424,18425,18426,18427,18428,18429,18430,18431,18432,18433,18434,18435,18436,18437,18438,18439,18440,18441,18442,18443,18444,18445,18446,18447,18448,18449,18450,18451,18452,18453,18454,18455,18456,18457,18458,18459,18460,18461,18462,18463,18464,18465,18466,18467,18468,18469,18470,18471,18472,18473,18474,18475,18476,18477,18478,18479,18480,18481,18482,18483,18484,18485,18486,18487,18488,18489,18490,18491,18492,18493,18494,18495,18496,18497,18498,18499,18500,18501,18502,18503,18504,18505,18506,18507,18508,18509,18510,18511,18512,18513,18514,18515,18516,18517,18518,18519,18520,18521,18522,18523,18524,18525,18526,18527,18528,18529,18530,18531,18532,18533,18534,18535,18536,18537,18538,18539,18540,18541,18542,18543,18544,18545,18546,18547,18548,18549,18550,18551,18552,18553,18554,18555,18556,18557,18558,18559,18560,18561,18562,18563,18564,18565,18566,18567,18568,18569,18570,18571,18572,18573,18574,18575,18576,18577,18578,18579,18580,18581,18582,18583,18584,18585,18586,18587,18588,18589,18590,18591,18592,18593,18594,18595,18596,18597,18598,18599,18600,18601,18602,18603,18604,18605,18606,18607,18608,18609,18610,18611,18612,18613,18614,18615,18616,18617,18618,18619,18620,18621,18622,18623,18624,18625,18626,18627,18628,18629,18630,18631,18632,18633,18634,18635,18636,18637,18638,18639,18640,18641,18642,18643,18644,18645,18646,18647,18648,18649,18650,18651,18652,18653,18654,18655,18656,18657,18658,18659,18660,18661,18662,18663,18664,18665,18666,18667,18668,18669,18670,18671,18672,18673,18674,18675,18676,18677,18678,18679,18680,18681,18682,18683,18684,18685,18686,18687,18688,18689,18690,18691,18692,18693,18694,18695,18696,18697,18698,18699,18700,18701,18702,18703,18704,18705,18706,18707,18708,18709,18710,18711,18712,18713,18714,18715,18716,18717,18718,18719,18720,18721,18722,18723,18724,18725,18726,18727,18728,18729,18730,18731,18732,18733,18734,18735,18736,18737,18738,18739,18740,18741,18742,18743,18744,18745,18746,18747,18748,18749,18750,18751,18752,18753,18754,18755,18756,18757,18758,18759,18760,18761,18762,18763,18764,18765,18766,18767,18768,18769,18770,18771,18772,18773,18774,18775,18776,18777,18778,18779,18780,18781,18782,18783,18784,18785,18786,18787,18788,18789,18790,18791,18792,18793,18794,18795,18796,18797,18798,18799,18800,18801,18802,18803,18804,18805,18806,18807,18808,18809,18810,18811,18812,18813,18814,18815,18816,18817,18818,18819,18820,18821,18822,18823,18824,18825,18826,18827,18828,18829,18830,18831,18832,18833,18834,18835,18836,18837,18838,18839,18840,18841,18842,18843,18844,18845,18846,18847,18848,18849,18850,18851,18852,18853,18854,18855,18856,18857,18858,18859,18860,18861,18862,18863,18864,18865,18866,18867,18868,18869,18870,18871,18872,18873,18874,18875,18876,18877,18878,18879,18880,18881,18882,18883,18884,18885,18886,18887,18888,18889,18890,18891,18892,18893,18894,18895,18896,18897,18898,18899,18900,18901,18902,18903,18904,18905,18906,18907,18908,18909,18910,18911,18912,18913,18914,18915,18916,18917,18918,18919,18920,18921,18922,18923,18924,18925,18926,18927,18928,18929,18930,18931,18932,18933,18934,18935,18936,18937,18938,18939,18940,18941,18942,18943,18944,18945,18946,18947,18948,18949,18950,18951,18952,18953,18954,18955,18956,18957,18958,18959,18960,18961,18962,18963,18964,18965,18966,18967,18968,18969,18970,18971,18972,18973,18974,18975,18976,18977,18978,18979,18980,18981,18982,18983,18984,18985,18986,18987,18988,18989,18990,18991,18992,18993,18994,18995,18996,18997,18998,18999,19000,19001,19002,19003,19004,19005,19006,19007,19008,19009,19010,19011,19012,19013,19014,19015,19016,19017,19018,19019,19020,19021,19022,19023,19024,19025,19026,19027,19028,19029,19030,19031,19032,19033,19034,19035,19036,19037,19038,19039,19040,19041,19042,19043,19044,19045,19046,19047,19048,19049,19050,19051,19052,19053,19054,19055,19056,19057,19058,19059,19060,19061,19062,19063,19064,19065,19066,19067,19068,19069,19070,19071,19072,19073,19074,19075,19076,19077,19078,19079,19080,19081,19082,19083,19084,19085,19086,19087,19088,19089,19090,19091,19092,19093,19094,19095,19096,19097,19098,19099,19100,19101,19102,19103,19104,19105,19106,19107,19108,19109,19110,19111,19112,19113,19114,19115,19116,19117,19118,19119,19120,19121,19122,19123,19124,19125,19126,19127,19128,19129,19130,19131,19132,19133,19134,19135,19136,19137,19138,19139,19140,19141,19142,19143,19144,19145,19146,19147,19148,19149,19150,19151,19152,19153,19154,19155,19156,19157,19158,19159,19160,19161,19162,19163,19164,19165,19166,19167,19168,19169,19170,19171,19172,19173,19174,19175,19176,19177,19178,19179,19180,19181,19182,19183,19184,19185,19186,19187,19188,19189,19190,19191,19192,19193,19194,19195,19196,19197,19198,19199,19200,19201,19202,19203,19204,19205,19206,19207,19208,19209,19210,19211,19212,19213,19214,19215,19216,19217,19218,19219,19220,19221,19222,19223,19224,19225,19226,19227,19228,19229,19230,19231,19232,19233,19234,19235,19236,19237,19238,19239,19240,19241,19242,19243,19244,19245,19246,19247,19248,19249,19250,19251,19252,19253,19254,19255,19256,19257,19258,19259,19260,19261,19262,19263,19264,19265,19266,19267,19268,19269,19270,19271,19272,19273,19274,19275,19276,19277,19278,19279,19280,19281,19282,19283,19284,19285,19286,19287,19288,19289,19290,19291,19292,19293,19294,19295,19296,19297,19298,19299,19300,19301,19302,19303,19304,19305,19306,19307,19308,19309,19310,19311,19312,19313,19314,19315,19316,19317,19318,19319,19320,19321,19322,19323,19324,19325,19326,19327,19328,19329,19330,19331,19332,19333,19334,19335,19336,19337,19338,19339,19340,19341,19342,19343,19344,19345,19346,19347,19348,19349,19350,19351,19352,19353,19354,19355,19356,19357,19358,19359,19360,19361,19362,19363,19364,19365,19366,19367,19368,19369,19370,19371,19372,19373,19374,19375,19376,19377,19378,19379,19380,19381,19382,19383,19384,19385,19386,19387,19388,19389,19390,19391,19392,19393,19394,19395,19396,19397,19398,19399,19400,19401,19402,19403,19404,19405,19406,19407,19408,19409,19410,19411,19412,19413,19414,19415,19416,19417,19418,19419,19420,19421,19422,19423,19424,19425,19426,19427,19428,19429,19430,19431,19432,19433,19434,19435,19436,19437,19438,19439,19440,19441,19442,19443,19444,19445,19446,19447,19448,19449,19450,19451,19452,19453,19454,19455,19456,19457,19458,19459,19460,19461,19462,19463,19464,19465,19466,19467,19468,19469,19470,19471,19472,19473,19474,19475,19476,19477,19478,19479,19480,19481,19482,19483,19484,19485,19486,19487,19488,19489,19490,19491,19492,19493,19494,19495,19496,19497,19498,19499,19500,19501,19502,19503,19504,19505,19506,19507,19508,19509,19510,19511,19512,19513,19514,19515,19516,19517,19518,19519,19520,19521,19522,19523,19524,19525,19526,19527,19528,19529,19530,19531,19532,19533,19534,19535,19536,19537,19538,19539,19540,19541,19542,19543,19544,19545,19546,19547,19548,19549,19550,19551,19552,19553,19554,19555,19556,19557,19558,19559,19560,19561,19562,19563,19564,19565,19566,19567,19568,19569,19570,19571,19572,19573,19574,19575,19576,19577,19578,19579,19580,19581,19582,19583,19584,19585,19586,19587,19588,19589,19590,19591,19592,19593,19594,19595,19596,19597,19598,19599,19600,19601,19602,19603,19604,19605,19606,19607,19608,19609,19610,19611,19612,19613,19614,19615,19616,19617,19618,19619,19620,19621,19622,19623,19624,19625,19626,19627,19628,19629,19630,19631,19632,19633,19634,19635,19636,19637,19638,19639,19640,19641,19642,19643,19644,19645,19646,19647,19648,19649,19650,19651,19652,19653,19654,19655,19656,19657,19658,19659,19660,19661,19662,19663,19664,19665,19666,19667,19668,19669,19670,19671,19672,19673,19674,19675,19676,19677,19678,19679,19680,19681,19682,19683,19684,19685,19686,19687,19688,19689,19690,19691,19692,19693,19694,19695,19696,19697,19698,19699,19700,19701,19702,19703,19704,19705,19706,19707,19708,19709,19710,19711,19712,19713,19714,19715,19716,19717,19718,19719,19720,19721,19722,19723,19724,19725,19726,19727,19728,19729,19730,19731,19732,19733,19734,19735,19736,19737,19738,19739,19740,19741,19742,19743,19744,19745,19746,19747,19748,19749,19750,19751,19752,19753,19754,19755,19756,19757,19758,19759,19760,19761,19762,19763,19764,19765,19766,19767,19768,19769,19770,19771,19772,19773,19774,19775,19776,19777,19778,19779,19780,19781,19782,19783,19784,19785,19786,19787,19788,19789,19790,19791,19792,19793,19794,19795,19796,19797,19798,19799,19800,19801,19802,19803,19804,19805,19806,19807,19808,19809,19810,19811,19812,19813,19814,19815,19816,19817,19818,19819,19820,19821,19822,19823,19824,19825,19826,19827,19828,19829,19830,19831,19832,19833,19834,19835,19836,19837,19838,19839,19840,19841,19842,19843,19844,19845,19846,19847,19848,19849,19850,19851,19852,19853,19854,19855,19856,19857,19858,19859,19860,19861,19862,19863,19864,19865,19866,19867,19868,19869,19870,19871,19872,19873,19874,19875,19876,19877,19878,19879,19880,19881,19882,19883,19884,19885,19886,19887,19888,19889,19890,19891,19892,19893,19968,19969,19970,19971,19972,19973,19974,19975,19976,19977,19978,19979,19980,19981,19982,19983,19984,19985,19986,19987,19988,19989,19990,19991,19992,19993,19994,19995,19996,19997,19998,19999,20000,20001,20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20033,20034,20035,20036,20037,20038,20039,20040,20041,20042,20043,20044,20045,20046,20047,20048,20049,20050,20051,20052,20053,20054,20055,20056,20057,20058,20059,20060,20061,20062,20063,20064,20065,20066,20067,20068,20069,20070,20071,20072,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20094,20095,20096,20097,20098,20099,20100,20101,20102,20103,20104,20105,20106,20107,20108,20109,20110,20111,20112,20113,20114,20115,20116,20117,20118,20119,20120,20121,20122,20123,20124,20125,20126,20127,20128,20129,20130,20131,20132,20133,20134,20135,20136,20137,20138,20139,20140,20141,20142,20143,20144,20145,20146,20147,20148,20149,20150,20151,20152,20153,20154,20155,20156,20157,20158,20159,20160,20161,20162,20163,20164,20165,20166,20167,20168,20169,20170,20171,20172,20173,20174,20175,20176,20177,20178,20179,20180,20181,20182,20183,20184,20185,20186,20187,20188,20189,20190,20191,20192,20193,20194,20195,20196,20197,20198,20199,20200,20201,20202,20203,20204,20205,20206,20207,20208,20209,20210,20211,20212,20213,20214,20215,20216,20217,20218,20219,20220,20221,20222,20223,20224,20225,20226,20227,20228,20229,20230,20231,20232,20233,20234,20235,20236,20237,20238,20239,20240,20241,20242,20243,20244,20245,20246,20247,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20259,20260,20261,20262,20263,20264,20265,20266,20267,20268,20269,20270,20271,20272,20273,20274,20275,20276,20277,20278,20279,20280,20281,20282,20283,20284,20285,20286,20287,20288,20289,20290,20291,20292,20293,20294,20295,20296,20297,20298,20299,20300,20301,20302,20303,20304,20305,20306,20307,20308,20309,20310,20311,20312,20313,20314,20315,20316,20317,20318,20319,20320,20321,20322,20323,20324,20325,20326,20327,20328,20329,20330,20331,20332,20333,20334,20335,20336,20337,20338,20339,20340,20341,20342,20343,20344,20345,20346,20347,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20359,20360,20361,20362,20363,20364,20365,20366,20367,20368,20369,20370,20371,20372,20373,20374,20375,20376,20377,20378,20379,20380,20381,20382,20383,20384,20385,20386,20387,20388,20389,20390,20391,20392,20393,20394,20395,20396,20397,20398,20399,20400,20401,20402,20403,20404,20405,20406,20407,20408,20409,20410,20411,20412,20413,20414,20415,20416,20417,20418,20419,20420,20421,20422,20423,20424,20425,20426,20427,20428,20429,20430,20431,20432,20433,20434,20435,20436,20437,20438,20439,20440,20441,20442,20443,20444,20445,20446,20447,20448,20449,20450,20451,20452,20453,20454,20455,20456,20457,20458,20459,20460,20461,20462,20463,20464,20465,20466,20467,20468,20469,20470,20471,20472,20473,20474,20475,20476,20477,20478,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20492,20493,20494,20495,20496,20497,20498,20499,20500,20501,20502,20503,20504,20505,20506,20507,20508,20509,20510,20511,20512,20513,20514,20515,20516,20517,20518,20519,20520,20521,20522,20523,20524,20525,20526,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20538,20539,20540,20541,20542,20543,20544,20545,20546,20547,20548,20549,20550,20551,20552,20553,20554,20555,20556,20557,20558,20559,20560,20561,20562,20563,20564,20565,20566,20567,20568,20569,20570,20571,20572,20573,20574,20575,20576,20577,20578,20579,20580,20581,20582,20583,20584,20585,20586,20587,20588,20589,20590,20591,20592,20593,20594,20595,20596,20597,20598,20599,20600,20601,20602,20603,20604,20605,20606,20607,20608,20609,20610,20611,20612,20613,20614,20615,20616,20617,20618,20619,20620,20621,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20643,20644,20645,20646,20647,20648,20649,20650,20651,20652,20653,20654,20655,20656,20657,20658,20659,20660,20661,20662,20663,20664,20665,20666,20667,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20687,20688,20689,20690,20691,20692,20693,20694,20695,20696,20697,20698,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20710,20711,20712,20713,20714,20715,20716,20717,20718,20719,20720,20721,20722,20723,20724,20725,20726,20727,20728,20729,20730,20731,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20742,20743,20744,20745,20746,20747,20748,20749,20750,20751,20752,20753,20754,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20769,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20799,20800,20801,20802,20803,20804,20805,20806,20807,20808,20809,20810,20811,20812,20813,20814,20815,20816,20817,20818,20819,20820,20821,20822,20823,20824,20825,20826,20827,20828,20829,20830,20831,20832,20833,20834,20835,20836,20837,20838,20839,20840,20841,20842,20843,20844,20845,20846,20847,20848,20849,20850,20851,20852,20853,20854,20855,20856,20857,20858,20859,20860,20861,20862,20863,20864,20865,20866,20867,20868,20869,20870,20871,20872,20873,20874,20875,20876,20877,20878,20879,20880,20881,20882,20883,20884,20885,20886,20887,20888,20889,20890,20891,20892,20893,20894,20895,20896,20897,20898,20899,20900,20901,20902,20903,20904,20905,20906,20907,20908,20909,20910,20911,20912,20913,20914,20915,20916,20917,20918,20919,20920,20921,20922,20923,20924,20925,20926,20927,20928,20929,20930,20931,20932,20933,20934,20935,20936,20937,20938,20939,20940,20941,20942,20943,20944,20945,20946,20947,20948,20949,20950,20951,20952,20953,20954,20955,20956,20957,20958,20959,20960,20961,20962,20963,20964,20965,20966,20967,20968,20969,20970,20971,20972,20973,20974,20975,20976,20977,20978,20979,20980,20981,20982,20983,20984,20985,20986,20987,20988,20989,20990,20991,20992,20993,20994,20995,20996,20997,20998,20999,21000,21001,21002,21003,21004,21005,21006,21007,21008,21009,21010,21011,21012,21013,21014,21015,21016,21017,21018,21019,21020,21021,21022,21023,21024,21025,21026,21027,21028,21029,21030,21031,21032,21033,21034,21035,21036,21037,21038,21039,21040,21041,21042,21043,21044,21045,21046,21047,21048,21049,21050,21051,21052,21053,21054,21055,21056,21057,21058,21059,21060,21061,21062,21063,21064,21065,21066,21067,21068,21069,21070,21071,21072,21073,21074,21075,21076,21077,21078,21079,21080,21081,21082,21083,21084,21085,21086,21087,21088,21089,21090,21091,21092,21093,21094,21095,21096,21097,21098,21099,21100,21101,21102,21103,21104,21105,21106,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21117,21118,21119,21120,21121,21122,21123,21124,21125,21126,21127,21128,21129,21130,21131,21132,21133,21134,21135,21136,21137,21138,21139,21140,21141,21142,21143,21144,21145,21146,21147,21148,21149,21150,21151,21152,21153,21154,21155,21156,21157,21158,21159,21160,21161,21162,21163,21164,21165,21166,21167,21168,21169,21170,21171,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21182,21183,21184,21185,21186,21187,21188,21189,21190,21191,21192,21193,21194,21195,21196,21197,21198,21199,21200,21201,21202,21203,21204,21205,21206,21207,21208,21209,21210,21211,21212,21213,21214,21215,21216,21217,21218,21219,21220,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21232,21233,21234,21235,21236,21237,21238,21239,21240,21241,21242,21243,21244,21245,21246,21247,21248,21249,21250,21251,21252,21253,21254,21255,21256,21257,21258,21259,21260,21261,21262,21263,21264,21265,21266,21267,21268,21269,21270,21271,21272,21273,21274,21275,21276,21277,21278,21279,21280,21281,21282,21283,21284,21285,21286,21287,21288,21289,21290,21291,21292,21293,21294,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21305,21306,21307,21308,21309,21310,21311,21312,21313,21314,21315,21316,21317,21318,21319,21320,21321,21322,21323,21324,21325,21326,21327,21328,21329,21330,21331,21332,21333,21334,21335,21336,21337,21338,21339,21340,21341,21342,21343,21344,21345,21346,21347,21348,21349,21350,21351,21352,21353,21354,21355,21356,21357,21358,21359,21360,21361,21362,21363,21364,21365,21366,21367,21368,21369,21370,21371,21372,21373,21374,21375,21376,21377,21378,21379,21380,21381,21382,21383,21384,21385,21386,21387,21388,21389,21390,21391,21392,21393,21394,21395,21396,21397,21398,21399,21400,21401,21402,21403,21404,21405,21406,21407,21408,21409,21410,21411,21412,21413,21414,21415,21416,21417,21418,21419,21420,21421,21422,21423,21424,21425,21426,21427,21428,21429,21430,21431,21432,21433,21434,21435,21436,21437,21438,21439,21440,21441,21442,21443,21444,21445,21446,21447,21448,21449,21450,21451,21452,21453,21454,21455,21456,21457,21458,21459,21460,21461,21462,21463,21464,21465,21466,21467,21468,21469,21470,21471,21472,21473,21474,21475,21476,21477,21478,21479,21480,21481,21482,21483,21484,21485,21486,21487,21488,21489,21490,21491,21492,21493,21494,21495,21496,21497,21498,21499,21500,21501,21502,21503,21504,21505,21506,21507,21508,21509,21510,21511,21512,21513,21514,21515,21516,21517,21518,21519,21520,21521,21522,21523,21524,21525,21526,21527,21528,21529,21530,21531,21532,21533,21534,21535,21536,21537,21538,21539,21540,21541,21542,21543,21544,21545,21546,21547,21548,21549,21550,21551,21552,21553,21554,21555,21556,21557,21558,21559,21560,21561,21562,21563,21564,21565,21566,21567,21568,21569,21570,21571,21572,21573,21574,21575,21576,21577,21578,21579,21580,21581,21582,21583,21584,21585,21586,21587,21588,21589,21590,21591,21592,21593,21594,21595,21596,21597,21598,21599,21600,21601,21602,21603,21604,21605,21606,21607,21608,21609,21610,21611,21612,21613,21614,21615,21616,21617,21618,21619,21620,21621,21622,21623,21624,21625,21626,21627,21628,21629,21630,21631,21632,21633,21634,21635,21636,21637,21638,21639,21640,21641,21642,21643,21644,21645,21646,21647,21648,21649,21650,21651,21652,21653,21654,21655,21656,21657,21658,21659,21660,21661,21662,21663,21664,21665,21666,21667,21668,21669,21670,21671,21672,21673,21674,21675,21676,21677,21678,21679,21680,21681,21682,21683,21684,21685,21686,21687,21688,21689,21690,21691,21692,21693,21694,21695,21696,21697,21698,21699,21700,21701,21702,21703,21704,21705,21706,21707,21708,21709,21710,21711,21712,21713,21714,21715,21716,21717,21718,21719,21720,21721,21722,21723,21724,21725,21726,21727,21728,21729,21730,21731,21732,21733,21734,21735,21736,21737,21738,21739,21740,21741,21742,21743,21744,21745,21746,21747,21748,21749,21750,21751,21752,21753,21754,21755,21756,21757,21758,21759,21760,21761,21762,21763,21764,21765,21766,21767,21768,21769,21770,21771,21772,21773,21774,21775,21776,21777,21778,21779,21780,21781,21782,21783,21784,21785,21786,21787,21788,21789,21790,21791,21792,21793,21794,21795,21796,21797,21798,21799,21800,21801,21802,21803,21804,21805,21806,21807,21808,21809,21810,21811,21812,21813,21814,21815,21816,21817,21818,21819,21820,21821,21822,21823,21824,21825,21826,21827,21828,21829,21830,21831,21832,21833,21834,21835,21836,21837,21838,21839,21840,21841,21842,21843,21844,21845,21846,21847,21848,21849,21850,21851,21852,21853,21854,21855,21856,21857,21858,21859,21860,21861,21862,21863,21864,21865,21866,21867,21868,21869,21870,21871,21872,21873,21874,21875,21876,21877,21878,21879,21880,21881,21882,21883,21884,21885,21886,21887,21888,21889,21890,21891,21892,21893,21894,21895,21896,21897,21898,21899,21900,21901,21902,21903,21904,21905,21906,21907,21908,21909,21910,21911,21912,21913,21914,21915,21916,21917,21918,21919,21920,21921,21922,21923,21924,21925,21926,21927,21928,21929,21930,21931,21932,21933,21934,21935,21936,21937,21938,21939,21940,21941,21942,21943,21944,21945,21946,21947,21948,21949,21950,21951,21952,21953,21954,21955,21956,21957,21958,21959,21960,21961,21962,21963,21964,21965,21966,21967,21968,21969,21970,21971,21972,21973,21974,21975,21976,21977,21978,21979,21980,21981,21982,21983,21984,21985,21986,21987,21988,21989,21990,21991,21992,21993,21994,21995,21996,21997,21998,21999,22000,22001,22002,22003,22004,22005,22006,22007,22008,22009,22010,22011,22012,22013,22014,22015,22016,22017,22018,22019,22020,22021,22022,22023,22024,22025,22026,22027,22028,22029,22030,22031,22032,22033,22034,22035,22036,22037,22038,22039,22040,22041,22042,22043,22044,22045,22046,22047,22048,22049,22050,22051,22052,22053,22054,22055,22056,22057,22058,22059,22060,22061,22062,22063,22064,22065,22066,22067,22068,22069,22070,22071,22072,22073,22074,22075,22076,22077,22078,22079,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22092,22093,22094,22095,22096,22097,22098,22099,22100,22101,22102,22103,22104,22105,22106,22107,22108,22109,22110,22111,22112,22113,22114,22115,22116,22117,22118,22119,22120,22121,22122,22123,22124,22125,22126,22127,22128,22129,22130,22131,22132,22133,22134,22135,22136,22137,22138,22139,22140,22141,22142,22143,22144,22145,22146,22147,22148,22149,22150,22151,22152,22153,22154,22155,22156,22157,22158,22159,22160,22161,22162,22163,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22179,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22191,22192,22193,22194,22195,22196,22197,22198,22199,22200,22201,22202,22203,22204,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22218,22219,22220,22221,22222,22223,22224,22225,22226,22227,22228,22229,22230,22231,22232,22233,22234,22235,22236,22237,22238,22239,22240,22241,22242,22243,22244,22245,22246,22247,22248,22249,22250,22251,22252,22253,22254,22255,22256,22257,22258,22259,22260,22261,22262,22263,22264,22265,22266,22267,22268,22269,22270,22271,22272,22273,22274,22275,22276,22277,22278,22279,22280,22281,22282,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22300,22301,22302,22303,22304,22305,22306,22307,22308,22309,22310,22311,22312,22313,22314,22315,22316,22317,22318,22319,22320,22321,22322,22323,22324,22325,22326,22327,22328,22329,22330,22331,22332,22333,22334,22335,22336,22337,22338,22339,22340,22341,22342,22343,22344,22345,22346,22347,22348,22349,22350,22351,22352,22353,22354,22355,22356,22357,22358,22359,22360,22361,22362,22363,22364,22365,22366,22367,22368,22369,22370,22371,22372,22373,22374,22375,22376,22377,22378,22379,22380,22381,22382,22383,22384,22385,22386,22387,22388,22389,22390,22391,22392,22393,22394,22395,22396,22397,22398,22399,22400,22401,22402,22403,22404,22405,22406,22407,22408,22409,22410,22411,22412,22413,22414,22415,22416,22417,22418,22419,22420,22421,22422,22423,22424,22425,22426,22427,22428,22429,22430,22431,22432,22433,22434,22435,22436,22437,22438,22439,22440,22441,22442,22443,22444,22445,22446,22447,22448,22449,22450,22451,22452,22453,22454,22455,22456,22457,22458,22459,22460,22461,22462,22463,22464,22465,22466,22467,22468,22469,22470,22471,22472,22473,22474,22475,22476,22477,22478,22479,22480,22481,22482,22483,22484,22485,22486,22487,22488,22489,22490,22491,22492,22493,22494,22495,22496,22497,22498,22499,22500,22501,22502,22503,22504,22505,22506,22507,22508,22509,22510,22511,22512,22513,22514,22515,22516,22517,22518,22519,22520,22521,22522,22523,22524,22525,22526,22527,22528,22529,22530,22531,22532,22533,22534,22535,22536,22537,22538,22539,22540,22541,22542,22543,22544,22545,22546,22547,22548,22549,22550,22551,22552,22553,22554,22555,22556,22557,22558,22559,22560,22561,22562,22563,22564,22565,22566,22567,22568,22569,22570,22571,22572,22573,22574,22575,22576,22577,22578,22579,22580,22581,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22596,22597,22598,22599,22600,22601,22602,22603,22604,22605,22606,22607,22608,22609,22610,22611,22612,22613,22614,22615,22616,22617,22618,22619,22620,22621,22622,22623,22624,22625,22626,22627,22628,22629,22630,22631,22632,22633,22634,22635,22636,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22654,22655,22656,22657,22658,22659,22660,22661,22662,22663,22664,22665,22666,22667,22668,22669,22670,22671,22672,22673,22674,22675,22676,22677,22678,22679,22680,22681,22682,22683,22684,22685,22686,22687,22688,22689,22690,22691,22692,22693,22694,22695,22696,22697,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22716,22717,22718,22719,22720,22721,22722,22723,22724,22725,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22737,22738,22739,22740,22741,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22756,22757,22758,22759,22760,22761,22762,22763,22764,22765,22766,22767,22768,22769,22770,22771,22772,22773,22774,22775,22776,22777,22778,22779,22780,22781,22782,22783,22784,22785,22786,22787,22788,22789,22790,22791,22792,22793,22794,22795,22796,22797,22798,22799,22800,22801,22802,22803,22804,22805,22806,22807,22808,22809,22810,22811,22812,22813,22814,22815,22816,22817,22818,22819,22820,22821,22822,22823,22824,22825,22826,22827,22828,22829,22830,22831,22832,22833,22834,22835,22836,22837,22838,22839,22840,22841,22842,22843,22844,22845,22846,22847,22848,22849,22850,22851,22852,22853,22854,22855,22856,22857,22858,22859,22860,22861,22862,22863,22864,22865,22866,22867,22868,22869,22870,22871,22872,22873,22874,22875,22876,22877,22878,22879,22880,22881,22882,22883,22884,22885,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22899,22900,22901,22902,22903,22904,22905,22906,22907,22908,22909,22910,22911,22912,22913,22914,22915,22916,22917,22918,22919,22920,22921,22922,22923,22924,22925,22926,22927,22928,22929,22930,22931,22932,22933,22934,22935,22936,22937,22938,22939,22940,22941,22942,22943,22944,22945,22946,22947,22948,22949,22950,22951,22952,22953,22954,22955,22956,22957,22958,22959,22960,22961,22962,22963,22964,22965,22966,22967,22968,22969,22970,22971,22972,22973,22974,22975,22976,22977,22978,22979,22980,22981,22982,22983,22984,22985,22986,22987,22988,22989,22990,22991,22992,22993,22994,22995,22996,22997,22998,22999,23000,23001,23002,23003,23004,23005,23006,23007,23008,23009,23010,23011,23012,23013,23014,23015,23016,23017,23018,23019,23020,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23033,23034,23035,23036,23037,23038,23039,23040,23041,23042,23043,23044,23045,23046,23047,23048,23049,23050,23051,23052,23053,23054,23055,23056,23057,23058,23059,23060,23061,23062,23063,23064,23065,23066,23067,23068,23069,23070,23071,23072,23073,23074,23075,23076,23077,23078,23079,23080,23081,23082,23083,23084,23085,23086,23087,23088,23089,23090,23091,23092,23093,23094,23095,23096,23097,23098,23099,23100,23101,23102,23103,23104,23105,23106,23107,23108,23109,23110,23111,23112,23113,23114,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23125,23126,23127,23128,23129,23130,23131,23132,23133,23134,23135,23136,23137,23138,23139,23140,23141,23142,23143,23144,23145,23146,23147,23148,23149,23150,23151,23152,23153,23154,23155,23156,23157,23158,23159,23160,23161,23162,23163,23164,23165,23166,23167,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23186,23187,23188,23189,23190,23191,23192,23193,23194,23195,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23210,23211,23212,23213,23214,23215,23216,23217,23218,23219,23220,23221,23222,23223,23224,23225,23226,23227,23228,23229,23230,23231,23232,23233,23234,23235,23236,23237,23238,23239,23240,23241,23242,23243,23244,23245,23246,23247,23248,23249,23250,23251,23252,23253,23254,23255,23256,23257,23258,23259,23260,23261,23262,23263,23264,23265,23266,23267,23268,23269,23270,23271,23272,23273,23274,23275,23276,23277,23278,23279,23280,23281,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23305,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23318,23319,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23346,23347,23348,23349,23350,23351,23352,23353,23354,23355,23356,23357,23358,23359,23360,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23376,23377,23378,23379,23380,23381,23382,23383,23384,23385,23386,23387,23388,23389,23390,23391,23392,23393,23394,23395,23396,23397,23398,23399,23400,23401,23402,23403,23404,23405,23406,23407,23408,23409,23410,23411,23412,23413,23414,23415,23416,23417,23418,23419,23420,23421,23422,23423,23424,23425,23426,23427,23428,23429,23430,23431,23432,23433,23434,23435,23436,23437,23438,23439,23440,23441,23442,23443,23444,23445,23446,23447,23448,23449,23450,23451,23452,23453,23454,23455,23456,23457,23458,23459,23460,23461,23462,23463,23464,23465,23466,23467,23468,23469,23470,23471,23472,23473,23474,23475,23476,23477,23478,23479,23480,23481,23482,23483,23484,23485,23486,23487,23488,23489,23490,23491,23492,23493,23494,23495,23496,23497,23498,23499,23500,23501,23502,23503,23504,23505,23506,23507,23508,23509,23510,23511,23512,23513,23514,23515,23516,23517,23518,23519,23520,23521,23522,23523,23524,23525,23526,23527,23528,23529,23530,23531,23532,23533,23534,23535,23536,23537,23538,23539,23540,23541,23542,23543,23544,23545,23546,23547,23548,23549,23550,23551,23552,23553,23554,23555,23556,23557,23558,23559,23560,23561,23562,23563,23564,23565,23566,23567,23568,23569,23570,23571,23572,23573,23574,23575,23576,23577,23578,23579,23580,23581,23582,23583,23584,23585,23586,23587,23588,23589,23590,23591,23592,23593,23594,23595,23596,23597,23598,23599,23600,23601,23602,23603,23604,23605,23606,23607,23608,23609,23610,23611,23612,23613,23614,23615,23616,23617,23618,23619,23620,23621,23622,23623,23624,23625,23626,23627,23628,23629,23630,23631,23632,23633,23634,23635,23636,23637,23638,23639,23640,23641,23642,23643,23644,23645,23646,23647,23648,23649,23650,23651,23652,23653,23654,23655,23656,23657,23658,23659,23660,23661,23662,23663,23664,23665,23666,23667,23668,23669,23670,23671,23672,23673,23674,23675,23676,23677,23678,23679,23680,23681,23682,23683,23684,23685,23686,23687,23688,23689,23690,23691,23692,23693,23694,23695,23696,23697,23698,23699,23700,23701,23702,23703,23704,23705,23706,23707,23708,23709,23710,23711,23712,23713,23714,23715,23716,23717,23718,23719,23720,23721,23722,23723,23724,23725,23726,23727,23728,23729,23730,23731,23732,23733,23734,23735,23736,23737,23738,23739,23740,23741,23742,23743,23744,23745,23746,23747,23748,23749,23750,23751,23752,23753,23754,23755,23756,23757,23758,23759,23760,23761,23762,23763,23764,23765,23766,23767,23768,23769,23770,23771,23772,23773,23774,23775,23776,23777,23778,23779,23780,23781,23782,23783,23784,23785,23786,23787,23788,23789,23790,23791,23792,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23803,23804,23805,23806,23807,23808,23809,23810,23811,23812,23813,23814,23815,23816,23817,23818,23819,23820,23821,23822,23823,23824,23825,23826,23827,23828,23829,23830,23831,23832,23833,23834,23835,23836,23837,23838,23839,23840,23841,23842,23843,23844,23845,23846,23847,23848,23849,23850,23851,23852,23853,23854,23855,23856,23857,23858,23859,23860,23861,23862,23863,23864,23865,23866,23867,23868,23869,23870,23871,23872,23873,23874,23875,23876,23877,23878,23879,23880,23881,23882,23883,23884,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23896,23897,23898,23899,23900,23901,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23913,23914,23915,23916,23917,23918,23919,23920,23921,23922,23923,23924,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23938,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23961,23962,23963,23964,23965,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23991,23992,23993,23994,23995,23996,23997,23998,23999,24000,24001,24002,24003,24004,24005,24006,24007,24008,24009,24010,24011,24012,24013,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24027,24028,24029,24030,24031,24032,24033,24034,24035,24036,24037,24038,24039,24040,24041,24042,24043,24044,24045,24046,24047,24048,24049,24050,24051,24052,24053,24054,24055,24056,24057,24058,24059,24060,24061,24062,24063,24064,24065,24066,24067,24068,24069,24070,24071,24072,24073,24074,24075,24076,24077,24078,24079,24080,24081,24082,24083,24084,24085,24086,24087,24088,24089,24090,24091,24092,24093,24094,24095,24096,24097,24098,24099,24100,24101,24102,24103,24104,24105,24106,24107,24108,24109,24110,24111,24112,24113,24114,24115,24116,24117,24118,24119,24120,24121,24122,24123,24124,24125,24126,24127,24128,24129,24130,24131,24132,24133,24134,24135,24136,24137,24138,24139,24140,24141,24142,24143,24144,24145,24146,24147,24148,24149,24150,24151,24152,24153,24154,24155,24156,24157,24158,24159,24160,24161,24162,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24178,24179,24180,24181,24182,24183,24184,24185,24186,24187,24188,24189,24190,24191,24192,24193,24194,24195,24196,24197,24198,24199,24200,24201,24202,24203,24204,24205,24206,24207,24208,24209,24210,24211,24212,24213,24214,24215,24216,24217,24218,24219,24220,24221,24222,24223,24224,24225,24226,24227,24228,24229,24230,24231,24232,24233,24234,24235,24236,24237,24238,24239,24240,24241,24242,24243,24244,24245,24246,24247,24248,24249,24250,24251,24252,24253,24254,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24265,24266,24267,24268,24269,24270,24271,24272,24273,24274,24275,24276,24277,24278,24279,24280,24281,24282,24283,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24296,24297,24298,24299,24300,24301,24302,24303,24304,24305,24306,24307,24308,24309,24310,24311,24312,24313,24314,24315,24316,24317,24318,24319,24320,24321,24322,24323,24324,24325,24326,24327,24328,24329,24330,24331,24332,24333,24334,24335,24336,24337,24338,24339,24340,24341,24342,24343,24344,24345,24346,24347,24348,24349,24350,24351,24352,24353,24354,24355,24356,24357,24358,24359,24360,24361,24362,24363,24364,24365,24366,24367,24368,24369,24370,24371,24372,24373,24374,24375,24376,24377,24378,24379,24380,24381,24382,24383,24384,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24400,24401,24402,24403,24404,24405,24406,24407,24408,24409,24410,24411,24412,24413,24414,24415,24416,24417,24418,24419,24420,24421,24422,24423,24424,24425,24426,24427,24428,24429,24430,24431,24432,24433,24434,24435,24436,24437,24438,24439,24440,24441,24442,24443,24444,24445,24446,24447,24448,24449,24450,24451,24452,24453,24454,24455,24456,24457,24458,24459,24460,24461,24462,24463,24464,24465,24466,24467,24468,24469,24470,24471,24472,24473,24474,24475,24476,24477,24478,24479,24480,24481,24482,24483,24484,24485,24486,24487,24488,24489,24490,24491,24492,24493,24494,24495,24496,24497,24498,24499,24500,24501,24502,24503,24504,24505,24506,24507,24508,24509,24510,24511,24512,24513,24514,24515,24516,24517,24518,24519,24520,24521,24522,24523,24524,24525,24526,24527,24528,24529,24530,24531,24532,24533,24534,24535,24536,24537,24538,24539,24540,24541,24542,24543,24544,24545,24546,24547,24548,24549,24550,24551,24552,24553,24554,24555,24556,24557,24558,24559,24560,24561,24562,24563,24564,24565,24566,24567,24568,24569,24570,24571,24572,24573,24574,24575,24576,24577,24578,24579,24580,24581,24582,24583,24584,24585,24586,24587,24588,24589,24590,24591,24592,24593,24594,24595,24596,24597,24598,24599,24600,24601,24602,24603,24604,24605,24606,24607,24608,24609,24610,24611,24612,24613,24614,24615,24616,24617,24618,24619,24620,24621,24622,24623,24624,24625,24626,24627,24628,24629,24630,24631,24632,24633,24634,24635,24636,24637,24638,24639,24640,24641,24642,24643,24644,24645,24646,24647,24648,24649,24650,24651,24652,24653,24654,24655,24656,24657,24658,24659,24660,24661,24662,24663,24664,24665,24666,24667,24668,24669,24670,24671,24672,24673,24674,24675,24676,24677,24678,24679,24680,24681,24682,24683,24684,24685,24686,24687,24688,24689,24690,24691,24692,24693,24694,24695,24696,24697,24698,24699,24700,24701,24702,24703,24704,24705,24706,24707,24708,24709,24710,24711,24712,24713,24714,24715,24716,24717,24718,24719,24720,24721,24722,24723,24724,24725,24726,24727,24728,24729,24730,24731,24732,24733,24734,24735,24736,24737,24738,24739,24740,24741,24742,24743,24744,24745,24746,24747,24748,24749,24750,24751,24752,24753,24754,24755,24756,24757,24758,24759,24760,24761,24762,24763,24764,24765,24766,24767,24768,24769,24770,24771,24772,24773,24774,24775,24776,24777,24778,24779,24780,24781,24782,24783,24784,24785,24786,24787,24788,24789,24790,24791,24792,24793,24794,24795,24796,24797,24798,24799,24800,24801,24802,24803,24804,24805,24806,24807,24808,24809,24810,24811,24812,24813,24814,24815,24816,24817,24818,24819,24820,24821,24822,24823,24824,24825,24826,24827,24828,24829,24830,24831,24832,24833,24834,24835,24836,24837,24838,24839,24840,24841,24842,24843,24844,24845,24846,24847,24848,24849,24850,24851,24852,24853,24854,24855,24856,24857,24858,24859,24860,24861,24862,24863,24864,24865,24866,24867,24868,24869,24870,24871,24872,24873,24874,24875,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24895,24896,24897,24898,24899,24900,24901,24902,24903,24904,24905,24906,24907,24908,24909,24910,24911,24912,24913,24914,24915,24916,24917,24918,24919,24920,24921,24922,24923,24924,24925,24926,24927,24928,24929,24930,24931,24932,24933,24934,24935,24936,24937,24938,24939,24940,24941,24942,24943,24944,24945,24946,24947,24948,24949,24950,24951,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24971,24972,24973,24974,24975,24976,24977,24978,24979,24980,24981,24982,24983,24984,24985,24986,24987,24988,24989,24990,24991,24992,24993,24994,24995,24996,24997,24998,24999,25000,25001,25002,25003,25004,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25015,25016,25017,25018,25019,25020,25021,25022,25023,25024,25025,25026,25027,25028,25029,25030,25031,25032,25033,25034,25035,25036,25037,25038,25039,25040,25041,25042,25043,25044,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25062,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25077,25078,25079,25080,25081,25082,25083,25084,25085,25086,25087,25088,25089,25090,25091,25092,25093,25094,25095,25096,25097,25098,25099,25100,25101,25102,25103,25104,25105,25106,25107,25108,25109,25110,25111,25112,25113,25114,25115,25116,25117,25118,25119,25120,25121,25122,25123,25124,25125,25126,25127,25128,25129,25130,25131,25132,25133,25134,25135,25136,25137,25138,25139,25140,25141,25142,25143,25144,25145,25146,25147,25148,25149,25150,25151,25152,25153,25154,25155,25156,25157,25158,25159,25160,25161,25162,25163,25164,25165,25166,25167,25168,25169,25170,25171,25172,25173,25174,25175,25176,25177,25178,25179,25180,25181,25182,25183,25184,25185,25186,25187,25188,25189,25190,25191,25192,25193,25194,25195,25196,25197,25198,25199,25200,25201,25202,25203,25204,25205,25206,25207,25208,25209,25210,25211,25212,25213,25214,25215,25216,25217,25218,25219,25220,25221,25222,25223,25224,25225,25226,25227,25228,25229,25230,25231,25232,25233,25234,25235,25236,25237,25238,25239,25240,25241,25242,25243,25244,25245,25246,25247,25248,25249,25250,25251,25252,25253,25254,25255,25256,25257,25258,25259,25260,25261,25262,25263,25264,25265,25266,25267,25268,25269,25270,25271,25272,25273,25274,25275,25276,25277,25278,25279,25280,25281,25282,25283,25284,25285,25286,25287,25288,25289,25290,25291,25292,25293,25294,25295,25296,25297,25298,25299,25300,25301,25302,25303,25304,25305,25306,25307,25308,25309,25310,25311,25312,25313,25314,25315,25316,25317,25318,25319,25320,25321,25322,25323,25324,25325,25326,25327,25328,25329,25330,25331,25332,25333,25334,25335,25336,25337,25338,25339,25340,25341,25342,25343,25344,25345,25346,25347,25348,25349,25350,25351,25352,25353,25354,25355,25356,25357,25358,25359,25360,25361,25362,25363,25364,25365,25366,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25377,25378,25379,25380,25381,25382,25383,25384,25385,25386,25387,25388,25389,25390,25391,25392,25393,25394,25395,25396,25397,25398,25399,25400,25401,25402,25403,25404,25405,25406,25407,25408,25409,25410,25411,25412,25413,25414,25415,25416,25417,25418,25419,25420,25421,25422,25423,25424,25425,25426,25427,25428,25429,25430,25431,25432,25433,25434,25435,25436,25437,25438,25439,25440,25441,25442,25443,25444,25445,25446,25447,25448,25449,25450,25451,25452,25453,25454,25455,25456,25457,25458,25459,25460,25461,25462,25463,25464,25465,25466,25467,25468,25469,25470,25471,25472,25473,25474,25475,25476,25477,25478,25479,25480,25481,25482,25483,25484,25485,25486,25487,25488,25489,25490,25491,25492,25493,25494,25495,25496,25497,25498,25499,25500,25501,25502,25503,25504,25505,25506,25507,25508,25509,25510,25511,25512,25513,25514,25515,25516,25517,25518,25519,25520,25521,25522,25523,25524,25525,25526,25527,25528,25529,25530,25531,25532,25533,25534,25535,25536,25537,25538,25539,25540,25541,25542,25543,25544,25545,25546,25547,25548,25549,25550,25551,25552,25553,25554,25555,25556,25557,25558,25559,25560,25561,25562,25563,25564,25565,25566,25567,25568,25569,25570,25571,25572,25573,25574,25575,25576,25577,25578,25579,25580,25581,25582,25583,25584,25585,25586,25587,25588,25589,25590,25591,25592,25593,25594,25595,25596,25597,25598,25599,25600,25601,25602,25603,25604,25605,25606,25607,25608,25609,25610,25611,25612,25613,25614,25615,25616,25617,25618,25619,25620,25621,25622,25623,25624,25625,25626,25627,25628,25629,25630,25631,25632,25633,25634,25635,25636,25637,25638,25639,25640,25641,25642,25643,25644,25645,25646,25647,25648,25649,25650,25651,25652,25653,25654,25655,25656,25657,25658,25659,25660,25661,25662,25663,25664,25665,25666,25667,25668,25669,25670,25671,25672,25673,25674,25675,25676,25677,25678,25679,25680,25681,25682,25683,25684,25685,25686,25687,25688,25689,25690,25691,25692,25693,25694,25695,25696,25697,25698,25699,25700,25701,25702,25703,25704,25705,25706,25707,25708,25709,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25720,25721,25722,25723,25724,25725,25726,25727,25728,25729,25730,25731,25732,25733,25734,25735,25736,25737,25738,25739,25740,25741,25742,25743,25744,25745,25746,25747,25748,25749,25750,25751,25752,25753,25754,25755,25756,25757,25758,25759,25760,25761,25762,25763,25764,25765,25766,25767,25768,25769,25770,25771,25772,25773,25774,25775,25776,25777,25778,25779,25780,25781,25782,25783,25784,25785,25786,25787,25788,25789,25790,25791,25792,25793,25794,25795,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813,25814,25815,25816,25817,25818,25819,25820,25821,25822,25823,25824,25825,25826,25827,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25902,25903,25904,25905,25906,25907,25908,25909,25910,25911,25912,25913,25914,25915,25916,25917,25918,25919,25920,25921,25922,25923,25924,25925,25926,25927,25928,25929,25930,25931,25932,25933,25934,25935,25936,25937,25938,25939,25940,25941,25942,25943,25944,25945,25946,25947,25948,25949,25950,25951,25952,25953,25954,25955,25956,25957,25958,25959,25960,25961,25962,25963,25964,25965,25966,25967,25968,25969,25970,25971,25972,25973,25974,25975,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25991,25992,25993,25994,25995,25996,25997,25998,25999,26000,26001,26002,26003,26004,26005,26006,26007,26008,26009,26010,26011,26012,26013,26014,26015,26016,26017,26018,26019,26020,26021,26022,26023,26024,26025,26026,26027,26028,26029,26030,26031,26032,26033,26034,26035,26036,26037,26038,26039,26040,26041,26042,26043,26044,26045,26046,26047,26048,26049,26050,26051,26052,26053,26054,26055,26056,26057,26058,26059,26060,26061,26062,26063,26064,26065,26066,26067,26068,26069,26070,26071,26072,26073,26074,26075,26076,26077,26078,26079,26080,26081,26082,26083,26084,26085,26086,26087,26088,26089,26090,26091,26092,26093,26094,26095,26096,26097,26098,26099,26100,26101,26102,26103,26104,26105,26106,26107,26108,26109,26110,26111,26112,26113,26114,26115,26116,26117,26118,26119,26120,26121,26122,26123,26124,26125,26126,26127,26128,26129,26130,26131,26132,26133,26134,26135,26136,26137,26138,26139,26140,26141,26142,26143,26144,26145,26146,26147,26148,26149,26150,26151,26152,26153,26154,26155,26156,26157,26158,26159,26160,26161,26162,26163,26164,26165,26166,26167,26168,26169,26170,26171,26172,26173,26174,26175,26176,26177,26178,26179,26180,26181,26182,26183,26184,26185,26186,26187,26188,26189,26190,26191,26192,26193,26194,26195,26196,26197,26198,26199,26200,26201,26202,26203,26204,26205,26206,26207,26208,26209,26210,26211,26212,26213,26214,26215,26216,26217,26218,26219,26220,26221,26222,26223,26224,26225,26226,26227,26228,26229,26230,26231,26232,26233,26234,26235,26236,26237,26238,26239,26240,26241,26242,26243,26244,26245,26246,26247,26248,26249,26250,26251,26252,26253,26254,26255,26256,26257,26258,26259,26260,26261,26262,26263,26264,26265,26266,26267,26268,26269,26270,26271,26272,26273,26274,26275,26276,26277,26278,26279,26280,26281,26282,26283,26284,26285,26286,26287,26288,26289,26290,26291,26292,26293,26294,26295,26296,26297,26298,26299,26300,26301,26302,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26329,26330,26331,26332,26333,26334,26335,26336,26337,26338,26339,26340,26341,26342,26343,26344,26345,26346,26347,26348,26349,26350,26351,26352,26353,26354,26355,26356,26357,26358,26359,26360,26361,26362,26363,26364,26365,26366,26367,26368,26369,26370,26371,26372,26373,26374,26375,26376,26377,26378,26379,26380,26381,26382,26383,26384,26385,26386,26387,26388,26389,26390,26391,26392,26393,26394,26395,26396,26397,26398,26399,26400,26401,26402,26403,26404,26405,26406,26407,26408,26409,26410,26411,26412,26413,26414,26415,26416,26417,26418,26419,26420,26421,26422,26423,26424,26425,26426,26427,26428,26429,26430,26431,26432,26433,26434,26435,26436,26437,26438,26439,26440,26441,26442,26443,26444,26445,26446,26447,26448,26449,26450,26451,26452,26453,26454,26455,26456,26457,26458,26459,26460,26461,26462,26463,26464,26465,26466,26467,26468,26469,26470,26471,26472,26473,26474,26475,26476,26477,26478,26479,26480,26481,26482,26483,26484,26485,26486,26487,26488,26489,26490,26491,26492,26493,26494,26495,26496,26497,26498,26499,26500,26501,26502,26503,26504,26505,26506,26507,26508,26509,26510,26511,26512,26513,26514,26515,26516,26517,26518,26519,26520,26521,26522,26523,26524,26525,26526,26527,26528,26529,26530,26531,26532,26533,26534,26535,26536,26537,26538,26539,26540,26541,26542,26543,26544,26545,26546,26547,26548,26549,26550,26551,26552,26553,26554,26555,26556,26557,26558,26559,26560,26561,26562,26563,26564,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26575,26576,26577,26578,26579,26580,26581,26582,26583,26584,26585,26586,26587,26588,26589,26590,26591,26592,26593,26594,26595,26596,26597,26598,26599,26600,26601,26602,26603,26604,26605,26606,26607,26608,26609,26610,26611,26612,26613,26614,26615,26616,26617,26618,26619,26620,26621,26622,26623,26624,26625,26626,26627,26628,26629,26630,26631,26632,26633,26634,26635,26636,26637,26638,26639,26640,26641,26642,26643,26644,26645,26646,26647,26648,26649,26650,26651,26652,26653,26654,26655,26656,26657,26658,26659,26660,26661,26662,26663,26664,26665,26666,26667,26668,26669,26670,26671,26672,26673,26674,26675,26676,26677,26678,26679,26680,26681,26682,26683,26684,26685,26686,26687,26688,26689,26690,26691,26692,26693,26694,26695,26696,26697,26698,26699,26700,26701,26702,26703,26704,26705,26706,26707,26708,26709,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26720,26721,26722,26723,26724,26725,26726,26727,26728,26729,26730,26731,26732,26733,26734,26735,26736,26737,26738,26739,26740,26741,26742,26743,26744,26745,26746,26747,26748,26749,26750,26751,26752,26753,26754,26755,26756,26757,26758,26759,26760,26761,26762,26763,26764,26765,26766,26767,26768,26769,26770,26771,26772,26773,26774,26775,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26786,26787,26788,26789,26790,26791,26792,26793,26794,26795,26796,26797,26798,26799,26800,26801,26802,26803,26804,26805,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26816,26817,26818,26819,26820,26821,26822,26823,26824,26825,26826,26827,26828,26829,26830,26831,26832,26833,26834,26835,26836,26837,26838,26839,26840,26841,26842,26843,26844,26845,26846,26847,26848,26849,26850,26851,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26862,26863,26864,26865,26866,26867,26868,26869,26870,26871,26872,26873,26874,26875,26876,26877,26878,26879,26880,26881,26882,26883,26884,26885,26886,26887,26888,26889,26890,26891,26892,26893,26894,26895,26896,26897,26898,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26911,26912,26913,26914,26915,26916,26917,26918,26919,26920,26921,26922,26923,26924,26925,26926,26927,26928,26929,26930,26931,26932,26933,26934,26935,26936,26937,26938,26939,26940,26941,26942,26943,26944,26945,26946,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26964,26965,26966,26967,26968,26969,26970,26971,26972,26973,26974,26975,26976,26977,26978,26979,26980,26981,26982,26983,26984,26985,26986,26987,26988,26989,26990,26991,26992,26993,26994,26995,26996,26997,26998,26999,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27010,27011,27012,27013,27014,27015,27016,27017,27018,27019,27020,27021,27022,27023,27024,27025,27026,27027,27028,27029,27030,27031,27032,27033,27034,27035,27036,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27047,27048,27049,27050,27051,27052,27053,27054,27055,27056,27057,27058,27059,27060,27061,27062,27063,27064,27065,27066,27067,27068,27069,27070,27071,27072,27073,27074,27075,27076,27077,27078,27079,27080,27081,27082,27083,27084,27085,27086,27087,27088,27089,27090,27091,27092,27093,27094,27095,27096,27097,27098,27099,27100,27101,27102,27103,27104,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27117,27118,27119,27120,27121,27122,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27133,27134,27135,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27146,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27159,27160,27161,27162,27163,27164,27165,27166,27167,27168,27169,27170,27171,27172,27173,27174,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27266,27267,27268,27269,27270,27271,27272,27273,27274,27275,27276,27277,27278,27279,27280,27281,27282,27283,27284,27285,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27298,27299,27300,27301,27302,27303,27304,27305,27306,27307,27308,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27424,27425,27426,27427,27428,27429,27430,27431,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27442,27443,27444,27445,27446,27447,27448,27449,27450,27451,27452,27453,27454,27455,27456,27457,27458,27459,27460,27461,27462,27463,27464,27465,27466,27467,27468,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27481,27482,27483,27484,27485,27486,27487,27488,27489,27490,27491,27492,27493,27494,27495,27496,27497,27498,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27513,27514,27515,27516,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27554,27555,27556,27557,27558,27559,27560,27561,27562,27563,27564,27565,27566,27567,27568,27569,27570,27571,27572,27573,27574,27575,27576,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27595,27596,27597,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,27608,27609,27610,27611,27612,27613,27614,27615,27616,27617,27618,27619,27620,27621,27622,27623,27624,27625,27626,27627,27628,27629,27630,27631,27632,27633,27634,27635,27636,27637,27638,27639,27640,27641,27642,27643,27644,27645,27646,27647,27648,27649,27650,27651,27652,27653,27654,27655,27656,27657,27658,27659,27660,27661,27662,27663,27664,27665,27666,27667,27668,27669,27670,27671,27672,27673,27674,27675,27676,27677,27678,27679,27680,27681,27682,27683,27684,27685,27686,27687,27688,27689,27690,27691,27692,27693,27694,27695,27696,27697,27698,27699,27700,27701,27702,27703,27704,27705,27706,27707,27708,27709,27710,27711,27712,27713,27714,27715,27716,27717,27718,27719,27720,27721,27722,27723,27724,27725,27726,27727,27728,27729,27730,27731,27732,27733,27734,27735,27736,27737,27738,27739,27740,27741,27742,27743,27744,27745,27746,27747,27748,27749,27750,27751,27752,27753,27754,27755,27756,27757,27758,27759,27760,27761,27762,27763,27764,27765,27766,27767,27768,27769,27770,27771,27772,27773,27774,27775,27776,27777,27778,27779,27780,27781,27782,27783,27784,27785,27786,27787,27788,27789,27790,27791,27792,27793,27794,27795,27796,27797,27798,27799,27800,27801,27802,27803,27804,27805,27806,27807,27808,27809,27810,27811,27812,27813,27814,27815,27816,27817,27818,27819,27820,27821,27822,27823,27824,27825,27826,27827,27828,27829,27830,27831,27832,27833,27834,27835,27836,27837,27838,27839,27840,27841,27842,27843,27844,27845,27846,27847,27848,27849,27850,27851,27852,27853,27854,27855,27856,27857,27858,27859,27860,27861,27862,27863,27864,27865,27866,27867,27868,27869,27870,27871,27872,27873,27874,27875,27876,27877,27878,27879,27880,27881,27882,27883,27884,27885,27886,27887,27888,27889,27890,27891,27892,27893,27894,27895,27896,27897,27898,27899,27900,27901,27902,27903,27904,27905,27906,27907,27908,27909,27910,27911,27912,27913,27914,27915,27916,27917,27918,27919,27920,27921,27922,27923,27924,27925,27926,27927,27928,27929,27930,27931,27932,27933,27934,27935,27936,27937,27938,27939,27940,27941,27942,27943,27944,27945,27946,27947,27948,27949,27950,27951,27952,27953,27954,27955,27956,27957,27958,27959,27960,27961,27962,27963,27964,27965,27966,27967,27968,27969,27970,27971,27972,27973,27974,27975,27976,27977,27978,27979,27980,27981,27982,27983,27984,27985,27986,27987,27988,27989,27990,27991,27992,27993,27994,27995,27996,27997,27998,27999,28000,28001,28002,28003,28004,28005,28006,28007,28008,28009,28010,28011,28012,28013,28014,28015,28016,28017,28018,28019,28020,28021,28022,28023,28024,28025,28026,28027,28028,28029,28030,28031,28032,28033,28034,28035,28036,28037,28038,28039,28040,28041,28042,28043,28044,28045,28046,28047,28048,28049,28050,28051,28052,28053,28054,28055,28056,28057,28058,28059,28060,28061,28062,28063,28064,28065,28066,28067,28068,28069,28070,28071,28072,28073,28074,28075,28076,28077,28078,28079,28080,28081,28082,28083,28084,28085,28086,28087,28088,28089,28090,28091,28092,28093,28094,28095,28096,28097,28098,28099,28100,28101,28102,28103,28104,28105,28106,28107,28108,28109,28110,28111,28112,28113,28114,28115,28116,28117,28118,28119,28120,28121,28122,28123,28124,28125,28126,28127,28128,28129,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28158,28159,28160,28161,28162,28163,28164,28165,28166,28167,28168,28169,28170,28171,28172,28173,28174,28175,28176,28177,28178,28179,28180,28181,28182,28183,28184,28185,28186,28187,28188,28189,28190,28191,28192,28193,28194,28195,28196,28197,28198,28199,28200,28201,28202,28203,28204,28205,28206,28207,28208,28209,28210,28211,28212,28213,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,28224,28225,28226,28227,28228,28229,28230,28231,28232,28233,28234,28235,28236,28237,28238,28239,28240,28241,28242,28243,28244,28245,28246,28247,28248,28249,28250,28251,28252,28253,28254,28255,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28267,28268,28269,28270,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28286,28287,28288,28289,28290,28291,28292,28293,28294,28295,28296,28297,28298,28299,28300,28301,28302,28303,28304,28305,28306,28307,28308,28309,28310,28311,28312,28313,28314,28315,28316,28317,28318,28319,28320,28321,28322,28323,28324,28325,28326,28327,28328,28329,28330,28331,28332,28333,28334,28335,28336,28337,28338,28339,28340,28341,28342,28343,28344,28345,28346,28347,28348,28349,28350,28351,28352,28353,28354,28355,28356,28357,28358,28359,28360,28361,28362,28363,28364,28365,28366,28367,28368,28369,28370,28371,28372,28373,28374,28375,28376,28377,28378,28379,28380,28381,28382,28383,28384,28385,28386,28387,28388,28389,28390,28391,28392,28393,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28404,28405,28406,28407,28408,28409,28410,28411,28412,28413,28414,28415,28416,28417,28418,28419,28420,28421,28422,28423,28424,28425,28426,28427,28428,28429,28430,28431,28432,28433,28434,28435,28436,28437,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28448,28449,28450,28451,28452,28453,28454,28455,28456,28457,28458,28459,28460,28461,28462,28463,28464,28465,28466,28467,28468,28469,28470,28471,28472,28473,28474,28475,28476,28477,28478,28479,28480,28481,28482,28483,28484,28485,28486,28487,28488,28489,28490,28491,28492,28493,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28504,28505,28506,28507,28508,28509,28510,28511,28512,28513,28514,28515,28516,28517,28518,28519,28520,28521,28522,28523,28524,28525,28526,28527,28528,28529,28530,28531,28532,28533,28534,28535,28536,28537,28538,28539,28540,28541,28542,28543,28544,28545,28546,28547,28548,28549,28550,28551,28552,28553,28554,28555,28556,28557,28558,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28572,28573,28574,28575,28576,28577,28578,28579,28580,28581,28582,28583,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28689,28690,28691,28692,28693,28694,28695,28696,28697,28698,28699,28700,28701,28702,28703,28704,28705,28706,28707,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28725,28726,28727,28728,28729,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28748,28749,28750,28751,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28766,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28779,28780,28781,28782,28783,28784,28785,28786,28787,28788,28789,28790,28791,28792,28793,28794,28795,28796,28797,28798,28799,28800,28801,28802,28803,28804,28805,28806,28807,28808,28809,28810,28811,28812,28813,28814,28815,28816,28817,28818,28819,28820,28821,28822,28823,28824,28825,28826,28827,28828,28829,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28843,28844,28845,28846,28847,28848,28849,28850,28851,28852,28853,28854,28855,28856,28857,28858,28859,28860,28861,28862,28863,28864,28865,28866,28867,28868,28869,28870,28871,28872,28873,28874,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28888,28889,28890,28891,28892,28893,28894,28895,28896,28897,28898,28899,28900,28901,28902,28903,28904,28905,28906,28907,28908,28909,28910,28911,28912,28913,28914,28915,28916,28917,28918,28919,28920,28921,28922,28923,28924,28925,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28937,28938,28939,28940,28941,28942,28943,28944,28945,28946,28947,28948,28949,28950,28951,28952,28953,28954,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28966,28967,28968,28969,28970,28971,28972,28973,28974,28975,28976,28977,28978,28979,28980,28981,28982,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28997,28998,28999,29000,29001,29002,29003,29004,29005,29006,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29020,29021,29022,29023,29024,29025,29026,29027,29028,29029,29030,29031,29032,29033,29034,29035,29036,29037,29038,29039,29040,29041,29042,29043,29044,29045,29046,29047,29048,29049,29050,29051,29052,29053,29054,29055,29056,29057,29058,29059,29060,29061,29062,29063,29064,29065,29066,29067,29068,29069,29070,29071,29072,29073,29074,29075,29076,29077,29078,29079,29080,29081,29082,29083,29084,29085,29086,29087,29088,29089,29090,29091,29092,29093,29094,29095,29096,29097,29098,29099,29100,29101,29102,29103,29104,29105,29106,29107,29108,29109,29110,29111,29112,29113,29114,29115,29116,29117,29118,29119,29120,29121,29122,29123,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29134,29135,29136,29137,29138,29139,29140,29141,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29152,29153,29154,29155,29156,29157,29158,29159,29160,29161,29162,29163,29164,29165,29166,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29177,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29190,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29213,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29224,29225,29226,29227,29228,29229,29230,29231,29232,29233,29234,29235,29236,29237,29238,29239,29240,29241,29242,29243,29244,29245,29246,29247,29248,29249,29250,29251,29252,29253,29254,29255,29256,29257,29258,29259,29260,29261,29262,29263,29264,29265,29266,29267,29268,29269,29270,29271,29272,29273,29274,29275,29276,29277,29278,29279,29280,29281,29282,29283,29284,29285,29286,29287,29288,29289,29290,29291,29292,29293,29294,29295,29296,29297,29298,29299,29300,29301,29302,29303,29304,29305,29306,29307,29308,29309,29310,29311,29312,29313,29314,29315,29316,29317,29318,29319,29320,29321,29322,29323,29324,29325,29326,29327,29328,29329,29330,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29343,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29356,29357,29358,29359,29360,29361,29362,29363,29364,29365,29366,29367,29368,29369,29370,29371,29372,29373,29374,29375,29376,29377,29378,29379,29380,29381,29382,29383,29384,29385,29386,29387,29388,29389,29390,29391,29392,29393,29394,29395,29396,29397,29398,29399,29400,29401,29402,29403,29404,29405,29406,29407,29408,29409,29410,29411,29412,29413,29414,29415,29416,29417,29418,29419,29420,29421,29422,29423,29424,29425,29426,29427,29428,29429,29430,29431,29432,29433,29434,29435,29436,29437,29438,29439,29440,29441,29442,29443,29444,29445,29446,29447,29448,29449,29450,29451,29452,29453,29454,29455,29456,29457,29458,29459,29460,29461,29462,29463,29464,29465,29466,29467,29468,29469,29470,29471,29472,29473,29474,29475,29476,29477,29478,29479,29480,29481,29482,29483,29484,29485,29486,29487,29488,29489,29490,29491,29492,29493,29494,29495,29496,29497,29498,29499,29500,29501,29502,29503,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29517,29518,29519,29520,29521,29522,29523,29524,29525,29526,29527,29528,29529,29530,29531,29532,29533,29534,29535,29536,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29548,29549,29550,29551,29552,29553,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29566,29567,29568,29569,29570,29571,29572,29573,29574,29575,29576,29577,29578,29579,29580,29581,29582,29583,29584,29585,29586,29587,29588,29589,29590,29591,29592,29593,29594,29595,29596,29597,29598,29599,29600,29601,29602,29603,29604,29605,29606,29607,29608,29609,29610,29611,29612,29613,29614,29615,29616,29617,29618,29619,29620,29621,29622,29623,29624,29625,29626,29627,29628,29629,29630,29631,29632,29633,29634,29635,29636,29637,29638,29639,29640,29641,29642,29643,29644,29645,29646,29647,29648,29649,29650,29651,29652,29653,29654,29655,29656,29657,29658,29659,29660,29661,29662,29663,29664,29665,29666,29667,29668,29669,29670,29671,29672,29673,29674,29675,29676,29677,29678,29679,29680,29681,29682,29683,29684,29685,29686,29687,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29699,29700,29701,29702,29703,29704,29705,29706,29707,29708,29709,29710,29711,29712,29713,29714,29715,29716,29717,29718,29719,29720,29721,29722,29723,29724,29725,29726,29727,29728,29729,29730,29731,29732,29733,29734,29735,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29746,29747,29748,29749,29750,29751,29752,29753,29754,29755,29756,29757,29758,29759,29760,29761,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29781,29782,29783,29784,29785,29786,29787,29788,29789,29790,29791,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29805,29806,29807,29808,29809,29810,29811,29812,29813,29814,29815,29816,29817,29818,29819,29820,29821,29822,29823,29824,29825,29826,29827,29828,29829,29830,29831,29832,29833,29834,29835,29836,29837,29838,29839,29840,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29852,29853,29854,29855,29856,29857,29858,29859,29860,29861,29862,29863,29864,29865,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29882,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29906,29907,29908,29909,29910,29911,29912,29913,29914,29915,29916,29917,29918,29919,29920,29921,29922,29923,29924,29925,29926,29927,29928,29929,29930,29931,29932,29933,29934,29935,29936,29937,29938,29939,29940,29941,29942,29943,29944,29945,29946,29947,29948,29949,29950,29951,29952,29953,29954,29955,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30051,30052,30053,30054,30055,30056,30057,30058,30059,30060,30061,30062,30063,30064,30065,30066,30067,30068,30069,30070,30071,30072,30073,30074,30075,30076,30077,30078,30079,30080,30081,30082,30083,30084,30085,30086,30087,30088,30089,30090,30091,30092,30093,30094,30095,30096,30097,30098,30099,30100,30101,30102,30103,30104,30105,30106,30107,30108,30109,30110,30111,30112,30113,30114,30115,30116,30117,30118,30119,30120,30121,30122,30123,30124,30125,30126,30127,30128,30129,30130,30131,30132,30133,30134,30135,30136,30137,30138,30139,30140,30141,30142,30143,30144,30145,30146,30147,30148,30149,30150,30151,30152,30153,30154,30155,30156,30157,30158,30159,30160,30161,30162,30163,30164,30165,30166,30167,30168,30169,30170,30171,30172,30173,30174,30175,30176,30177,30178,30179,30180,30181,30182,30183,30184,30185,30186,30187,30188,30189,30190,30191,30192,30193,30194,30195,30196,30197,30198,30199,30200,30201,30202,30203,30204,30205,30206,30207,30208,30209,30210,30211,30212,30213,30214,30215,30216,30217,30218,30219,30220,30221,30222,30223,30224,30225,30226,30227,30228,30229,30230,30231,30232,30233,30234,30235,30236,30237,30238,30239,30240,30241,30242,30243,30244,30245,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30319,30320,30321,30322,30323,30324,30325,30326,30327,30328,30329,30330,30331,30332,30333,30334,30335,30336,30337,30338,30339,30340,30341,30342,30343,30344,30345,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30360,30361,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30372,30373,30374,30375,30376,30377,30378,30379,30380,30381,30382,30383,30384,30385,30386,30387,30388,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30399,30400,30401,30402,30403,30404,30405,30406,30407,30408,30409,30410,30411,30412,30413,30414,30415,30416,30417,30418,30419,30420,30421,30422,30423,30424,30425,30426,30427,30428,30429,30430,30431,30432,30433,30434,30435,30436,30437,30438,30439,30440,30441,30442,30443,30444,30445,30446,30447,30448,30449,30450,30451,30452,30453,30454,30455,30456,30457,30458,30459,30460,30461,30462,30463,30464,30465,30466,30467,30468,30469,30470,30471,30472,30473,30474,30475,30476,30477,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30489,30490,30491,30492,30493,30494,30495,30496,30497,30498,30499,30500,30501,30502,30503,30504,30505,30506,30507,30508,30509,30510,30511,30512,30513,30514,30515,30516,30517,30518,30519,30520,30521,30522,30523,30524,30525,30526,30527,30528,30529,30530,30531,30532,30533,30534,30535,30536,30537,30538,30539,30540,30541,30542,30543,30544,30545,30546,30547,30548,30549,30550,30551,30552,30553,30554,30555,30556,30557,30558,30559,30560,30561,30562,30563,30564,30565,30566,30567,30568,30569,30570,30571,30572,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30585,30586,30587,30588,30589,30590,30591,30592,30593,30594,30595,30596,30597,30598,30599,30600,30601,30602,30603,30604,30605,30606,30607,30608,30609,30610,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30623,30624,30625,30626,30627,30628,30629,30630,30631,30632,30633,30634,30635,30636,30637,30638,30639,30640,30641,30642,30643,30644,30645,30646,30647,30648,30649,30650,30651,30652,30653,30654,30655,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30669,30670,30671,30672,30673,30674,30675,30676,30677,30678,30679,30680,30681,30682,30683,30684,30685,30686,30687,30688,30689,30690,30691,30692,30693,30694,30695,30696,30697,30698,30699,30700,30701,30702,30703,30704,30705,30706,30707,30708,30709,30710,30711,30712,30713,30714,30715,30716,30717,30718,30719,30720,30721,30722,30723,30724,30725,30726,30727,30728,30729,30730,30731,30732,30733,30734,30735,30736,30737,30738,30739,30740,30741,30742,30743,30744,30745,30746,30747,30748,30749,30750,30751,30752,30753,30754,30755,30756,30757,30758,30759,30760,30761,30762,30763,30764,30765,30766,30767,30768,30769,30770,30771,30772,30773,30774,30775,30776,30777,30778,30779,30780,30781,30782,30783,30784,30785,30786,30787,30788,30789,30790,30791,30792,30793,30794,30795,30796,30797,30798,30799,30800,30801,30802,30803,30804,30805,30806,30807,30808,30809,30810,30811,30812,30813,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30826,30827,30828,30829,30830,30831,30832,30833,30834,30835,30836,30837,30838,30839,30840,30841,30842,30843,30844,30845,30846,30847,30848,30849,30850,30851,30852,30853,30854,30855,30856,30857,30858,30859,30860,30861,30862,30863,30864,30865,30866,30867,30868,30869,30870,30871,30872,30873,30874,30875,30876,30877,30878,30879,30880,30881,30882,30883,30884,30885,30886,30887,30888,30889,30890,30891,30892,30893,30894,30895,30896,30897,30898,30899,30900,30901,30902,30903,30904,30905,30906,30907,30908,30909,30910,30911,30912,30913,30914,30915,30916,30917,30918,30919,30920,30921,30922,30923,30924,30925,30926,30927,30928,30929,30930,30931,30932,30933,30934,30935,30936,30937,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30952,30953,30954,30955,30956,30957,30958,30959,30960,30961,30962,30963,30964,30965,30966,30967,30968,30969,30970,30971,30972,30973,30974,30975,30976,30977,30978,30979,30980,30981,30982,30983,30984,30985,30986,30987,30988,30989,30990,30991,30992,30993,30994,30995,30996,30997,30998,30999,31000,31001,31002,31003,31004,31005,31006,31007,31008,31009,31010,31011,31012,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31028,31029,31030,31031,31032,31033,31034,31035,31036,31037,31038,31039,31040,31041,31042,31043,31044,31045,31046,31047,31048,31049,31050,31051,31052,31053,31054,31055,31056,31057,31058,31059,31060,31061,31062,31063,31064,31065,31066,31067,31068,31069,31070,31071,31072,31073,31074,31075,31076,31077,31078,31079,31080,31081,31082,31083,31084,31085,31086,31087,31088,31089,31090,31091,31092,31093,31094,31095,31096,31097,31098,31099,31100,31101,31102,31103,31104,31105,31106,31107,31108,31109,31110,31111,31112,31113,31114,31115,31116,31117,31118,31119,31120,31121,31122,31123,31124,31125,31126,31127,31128,31129,31130,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31143,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31155,31156,31157,31158,31159,31160,31161,31162,31163,31164,31165,31166,31167,31168,31169,31170,31171,31172,31173,31174,31175,31176,31177,31178,31179,31180,31181,31182,31183,31184,31185,31186,31187,31188,31189,31190,31191,31192,31193,31194,31195,31196,31197,31198,31199,31200,31201,31202,31203,31204,31205,31206,31207,31208,31209,31210,31211,31212,31213,31214,31215,31216,31217,31218,31219,31220,31221,31222,31223,31224,31225,31226,31227,31228,31229,31230,31231,31232,31233,31234,31235,31236,31237,31238,31239,31240,31241,31242,31243,31244,31245,31246,31247,31248,31249,31250,31251,31252,31253,31254,31255,31256,31257,31258,31259,31260,31261,31262,31263,31264,31265,31266,31267,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31283,31284,31285,31286,31287,31288,31289,31290,31291,31292,31293,31294,31295,31296,31297,31298,31299,31300,31301,31302,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31313,31314,31315,31316,31317,31318,31319,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31344,31345,31346,31347,31348,31349,31350,31351,31352,31353,31354,31355,31356,31357,31358,31359,31360,31361,31362,31363,31364,31365,31366,31367,31368,31369,31370,31371,31372,31373,31374,31375,31376,31377,31378,31379,31380,31381,31382,31383,31384,31385,31386,31387,31388,31389,31390,31391,31392,31393,31394,31395,31396,31397,31398,31399,31400,31401,31402,31403,31404,31405,31406,31407,31408,31409,31410,31411,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31423,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31435,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31446,31447,31448,31449,31450,31451,31452,31453,31454,31455,31456,31457,31458,31459,31460,31461,31462,31463,31464,31465,31466,31467,31468,31469,31470,31471,31472,31473,31474,31475,31476,31477,31478,31479,31480,31481,31482,31483,31484,31485,31486,31487,31488,31489,31490,31491,31492,31493,31494,31495,31496,31497,31498,31499,31500,31501,31502,31503,31504,31505,31506,31507,31508,31509,31510,31511,31512,31513,31514,31515,31516,31517,31518,31519,31520,31521,31522,31523,31524,31525,31526,31527,31528,31529,31530,31531,31532,31533,31534,31535,31536,31537,31538,31539,31540,31541,31542,31543,31544,31545,31546,31547,31548,31549,31550,31551,31552,31553,31554,31555,31556,31557,31558,31559,31560,31561,31562,31563,31564,31565,31566,31567,31568,31569,31570,31571,31572,31573,31574,31575,31576,31577,31578,31579,31580,31581,31582,31583,31584,31585,31586,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31598,31599,31600,31601,31602,31603,31604,31605,31606,31607,31608,31609,31610,31611,31612,31613,31614,31615,31616,31617,31618,31619,31620,31621,31622,31623,31624,31625,31626,31627,31628,31629,31630,31631,31632,31633,31634,31635,31636,31637,31638,31639,31640,31641,31642,31643,31644,31645,31646,31647,31648,31649,31650,31651,31652,31653,31654,31655,31656,31657,31658,31659,31660,31661,31662,31663,31664,31665,31666,31667,31668,31669,31670,31671,31672,31673,31674,31675,31676,31677,31678,31679,31680,31681,31682,31683,31684,31685,31686,31687,31688,31689,31690,31691,31692,31693,31694,31695,31696,31697,31698,31699,31700,31701,31702,31703,31704,31705,31706,31707,31708,31709,31710,31711,31712,31713,31714,31715,31716,31717,31718,31719,31720,31721,31722,31723,31724,31725,31726,31727,31728,31729,31730,31731,31732,31733,31734,31735,31736,31737,31738,31739,31740,31741,31742,31743,31744,31745,31746,31747,31748,31749,31750,31751,31752,31753,31754,31755,31756,31757,31758,31759,31760,31761,31762,31763,31764,31765,31766,31767,31768,31769,31770,31771,31772,31773,31774,31775,31776,31777,31778,31779,31780,31781,31782,31783,31784,31785,31786,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31800,31801,31802,31803,31804,31805,31806,31807,31808,31809,31810,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31821,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31859,31860,31861,31862,31863,31864,31865,31866,31867,31868,31869,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31881,31882,31883,31884,31885,31886,31887,31888,31889,31890,31891,31892,31893,31894,31895,31896,31897,31898,31899,31900,31901,31902,31903,31904,31905,31906,31907,31908,31909,31910,31911,31912,31913,31914,31915,31916,31917,31918,31919,31920,31921,31922,31923,31924,31925,31926,31927,31928,31929,31930,31931,31932,31933,31934,31935,31936,31937,31938,31939,31940,31941,31942,31943,31944,31945,31946,31947,31948,31949,31950,31951,31952,31953,31954,31955,31956,31957,31958,31959,31960,31961,31962,31963,31964,31965,31966,31967,31968,31969,31970,31971,31972,31973,31974,31975,31976,31977,31978,31979,31980,31981,31982,31983,31984,31985,31986,31987,31988,31989,31990,31991,31992,31993,31994,31995,31996,31997,31998,31999,32000,32001,32002,32003,32004,32005,32006,32007,32008,32009,32010,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32032,32033,32034,32035,32036,32037,32038,32039,32040,32041,32042,32043,32044,32045,32046,32047,32048,32049,32050,32051,32052,32053,32054,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32110,32111,32112,32113,32114,32115,32116,32117,32118,32119,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32166,32167,32168,32169,32170,32171,32172,32173,32174,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32315,32316,32317,32318,32319,32320,32321,32322,32323,32324,32325,32326,32327,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32386,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32411,32412,32413,32414,32415,32416,32417,32418,32419,32420,32421,32422,32423,32424,32425,32426,32427,32428,32429,32430,32431,32432,32433,32434,32435,32436,32437,32438,32439,32440,32441,32442,32443,32444,32445,32446,32447,32448,32449,32450,32451,32452,32453,32454,32455,32456,32457,32458,32459,32460,32461,32462,32463,32464,32465,32466,32467,32468,32469,32470,32471,32472,32473,32474,32475,32476,32477,32478,32479,32480,32481,32482,32483,32484,32485,32486,32487,32488,32489,32490,32491,32492,32493,32494,32495,32496,32497,32498,32499,32500,32501,32502,32503,32504,32505,32506,32507,32508,32509,32510,32511,32512,32513,32514,32515,32516,32517,32518,32519,32520,32521,32522,32523,32524,32525,32526,32527,32528,32529,32530,32531,32532,32533,32534,32535,32536,32537,32538,32539,32540,32541,32542,32543,32544,32545,32546,32547,32548,32549,32550,32551,32552,32553,32554,32555,32556,32557,32558,32559,32560,32561,32562,32563,32564,32565,32566,32567,32568,32569,32570,32571,32572,32573,32574,32575,32576,32577,32578,32579,32580,32581,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32592,32593,32594,32595,32596,32597,32598,32599,32600,32601,32602,32603,32604,32605,32606,32607,32608,32609,32610,32611,32612,32613,32614,32615,32616,32617,32618,32619,32620,32621,32622,32623,32624,32625,32626,32627,32628,32629,32630,32631,32632,32633,32634,32635,32636,32637,32638,32639,32640,32641,32642,32643,32644,32645,32646,32647,32648,32649,32650,32651,32652,32653,32654,32655,32656,32657,32658,32659,32660,32661,32662,32663,32664,32665,32666,32667,32668,32669,32670,32671,32672,32673,32674,32675,32676,32677,32678,32679,32680,32681,32682,32683,32684,32685,32686,32687,32688,32689,32690,32691,32692,32693,32694,32695,32696,32697,32698,32699,32700,32701,32702,32703,32704,32705,32706,32707,32708,32709,32710,32711,32712,32713,32714,32715,32716,32717,32718,32719,32720,32721,32722,32723,32724,32725,32726,32727,32728,32729,32730,32731,32732,32733,32734,32735,32736,32737,32738,32739,32740,32741,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32762,32763,32764,32765,32766,32767,32768,32769,32770,32771,32772,32773,32774,32775,32776,32777,32778,32779,32780,32781,32782,32783,32784,32785,32786,32787,32788,32789,32790,32791,32792,32793,32794,32795,32796,32797,32798,32799,32800,32801,32802,32803,32804,32805,32806,32807,32808,32809,32810,32811,32812,32813,32814,32815,32816,32817,32818,32819,32820,32821,32822,32823,32824,32825,32826,32827,32828,32829,32830,32831,32832,32833,32834,32835,32836,32837,32838,32839,32840,32841,32842,32843,32844,32845,32846,32847,32848,32849,32850,32851,32852,32853,32854,32855,32856,32857,32858,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32873,32874,32875,32876,32877,32878,32879,32880,32881,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,32894,32895,32896,32897,32898,32899,32900,32901,32902,32903,32904,32905,32906,32907,32908,32909,32910,32911,32912,32913,32914,32915,32916,32917,32918,32919,32920,32921,32922,32923,32924,32925,32926,32927,32928,32929,32930,32931,32932,32933,32934,32935,32936,32937,32938,32939,32940,32941,32942,32943,32944,32945,32946,32947,32948,32949,32950,32951,32952,32953,32954,32955,32956,32957,32958,32959,32960,32961,32962,32963,32964,32965,32966,32967,32968,32969,32970,32971,32972,32973,32974,32975,32976,32977,32978,32979,32980,32981,32982,32983,32984,32985,32986,32987,32988,32989,32990,32991,32992,32993,32994,32995,32996,32997,32998,32999,33000,33001,33002,33003,33004,33005,33006,33007,33008,33009,33010,33011,33012,33013,33014,33015,33016,33017,33018,33019,33020,33021,33022,33023,33024,33025,33026,33027,33028,33029,33030,33031,33032,33033,33034,33035,33036,33037,33038,33039,33040,33041,33042,33043,33044,33045,33046,33047,33048,33049,33050,33051,33052,33053,33054,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33068,33069,33070,33071,33072,33073,33074,33075,33076,33077,33078,33079,33080,33081,33082,33083,33084,33085,33086,33087,33088,33089,33090,33091,33092,33093,33094,33095,33096,33097,33098,33099,33100,33101,33102,33103,33104,33105,33106,33107,33108,33109,33110,33111,33112,33113,33114,33115,33116,33117,33118,33119,33120,33121,33122,33123,33124,33125,33126,33127,33128,33129,33130,33131,33132,33133,33134,33135,33136,33137,33138,33139,33140,33141,33142,33143,33144,33145,33146,33147,33148,33149,33150,33151,33152,33153,33154,33155,33156,33157,33158,33159,33160,33161,33162,33163,33164,33165,33166,33167,33168,33169,33170,33171,33172,33173,33174,33175,33176,33177,33178,33179,33180,33181,33182,33183,33184,33185,33186,33187,33188,33189,33190,33191,33192,33193,33194,33195,33196,33197,33198,33199,33200,33201,33202,33203,33204,33205,33206,33207,33208,33209,33210,33211,33212,33213,33214,33215,33216,33217,33218,33219,33220,33221,33222,33223,33224,33225,33226,33227,33228,33229,33230,33231,33232,33233,33234,33235,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33251,33252,33253,33254,33255,33256,33257,33258,33259,33260,33261,33262,33263,33264,33265,33266,33267,33268,33269,33270,33271,33272,33273,33274,33275,33276,33277,33278,33279,33280,33281,33282,33283,33284,33285,33286,33287,33288,33289,33290,33291,33292,33293,33294,33295,33296,33297,33298,33299,33300,33301,33302,33303,33304,33305,33306,33307,33308,33309,33310,33311,33312,33313,33314,33315,33316,33317,33318,33319,33320,33321,33322,33323,33324,33325,33326,33327,33328,33329,33330,33331,33332,33333,33334,33335,33336,33337,33338,33339,33340,33341,33342,33343,33344,33345,33346,33347,33348,33349,33350,33351,33352,33353,33354,33355,33356,33357,33358,33359,33360,33361,33362,33363,33364,33365,33366,33367,33368,33369,33370,33371,33372,33373,33374,33375,33376,33377,33378,33379,33380,33381,33382,33383,33384,33385,33386,33387,33388,33389,33390,33391,33392,33393,33394,33395,33396,33397,33398,33399,33400,33401,33402,33403,33404,33405,33406,33407,33408,33409,33410,33411,33412,33413,33414,33415,33416,33417,33418,33419,33420,33421,33422,33423,33424,33425,33426,33427,33428,33429,33430,33431,33432,33433,33434,33435,33436,33437,33438,33439,33440,33441,33442,33443,33444,33445,33446,33447,33448,33449,33450,33451,33452,33453,33454,33455,33456,33457,33458,33459,33460,33461,33462,33463,33464,33465,33466,33467,33468,33469,33470,33471,33472,33473,33474,33475,33476,33477,33478,33479,33480,33481,33482,33483,33484,33485,33486,33487,33488,33489,33490,33491,33492,33493,33494,33495,33496,33497,33498,33499,33500,33501,33502,33503,33504,33505,33506,33507,33508,33509,33510,33511,33512,33513,33514,33515,33516,33517,33518,33519,33520,33521,33522,33523,33524,33525,33526,33527,33528,33529,33530,33531,33532,33533,33534,33535,33536,33537,33538,33539,33540,33541,33542,33543,33544,33545,33546,33547,33548,33549,33550,33551,33552,33553,33554,33555,33556,33557,33558,33559,33560,33561,33562,33563,33564,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33575,33576,33577,33578,33579,33580,33581,33582,33583,33584,33585,33586,33587,33588,33589,33590,33591,33592,33593,33594,33595,33596,33597,33598,33599,33600,33601,33602,33603,33604,33605,33606,33607,33608,33609,33610,33611,33612,33613,33614,33615,33616,33617,33618,33619,33620,33621,33622,33623,33624,33625,33626,33627,33628,33629,33630,33631,33632,33633,33634,33635,33636,33637,33638,33639,33640,33641,33642,33643,33644,33645,33646,33647,33648,33649,33650,33651,33652,33653,33654,33655,33656,33657,33658,33659,33660,33661,33662,33663,33664,33665,33666,33667,33668,33669,33670,33671,33672,33673,33674,33675,33676,33677,33678,33679,33680,33681,33682,33683,33684,33685,33686,33687,33688,33689,33690,33691,33692,33693,33694,33695,33696,33697,33698,33699,33700,33701,33702,33703,33704,33705,33706,33707,33708,33709,33710,33711,33712,33713,33714,33715,33716,33717,33718,33719,33720,33721,33722,33723,33724,33725,33726,33727,33728,33729,33730,33731,33732,33733,33734,33735,33736,33737,33738,33739,33740,33741,33742,33743,33744,33745,33746,33747,33748,33749,33750,33751,33752,33753,33754,33755,33756,33757,33758,33759,33760,33761,33762,33763,33764,33765,33766,33767,33768,33769,33770,33771,33772,33773,33774,33775,33776,33777,33778,33779,33780,33781,33782,33783,33784,33785,33786,33787,33788,33789,33790,33791,33792,33793,33794,33795,33796,33797,33798,33799,33800,33801,33802,33803,33804,33805,33806,33807,33808,33809,33810,33811,33812,33813,33814,33815,33816,33817,33818,33819,33820,33821,33822,33823,33824,33825,33826,33827,33828,33829,33830,33831,33832,33833,33834,33835,33836,33837,33838,33839,33840,33841,33842,33843,33844,33845,33846,33847,33848,33849,33850,33851,33852,33853,33854,33855,33856,33857,33858,33859,33860,33861,33862,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33873,33874,33875,33876,33877,33878,33879,33880,33881,33882,33883,33884,33885,33886,33887,33888,33889,33890,33891,33892,33893,33894,33895,33896,33897,33898,33899,33900,33901,33902,33903,33904,33905,33906,33907,33908,33909,33910,33911,33912,33913,33914,33915,33916,33917,33918,33919,33920,33921,33922,33923,33924,33925,33926,33927,33928,33929,33930,33931,33932,33933,33934,33935,33936,33937,33938,33939,33940,33941,33942,33943,33944,33945,33946,33947,33948,33949,33950,33951,33952,33953,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33967,33968,33969,33970,33971,33972,33973,33974,33975,33976,33977,33978,33979,33980,33981,33982,33983,33984,33985,33986,33987,33988,33989,33990,33991,33992,33993,33994,33995,33996,33997,33998,33999,34000,34001,34002,34003,34004,34005,34006,34007,34008,34009,34010,34011,34012,34013,34014,34015,34016,34017,34018,34019,34020,34021,34022,34023,34024,34025,34026,34027,34028,34029,34030,34031,34032,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34044,34045,34046,34047,34048,34049,34050,34051,34052,34053,34054,34055,34056,34057,34058,34059,34060,34061,34062,34063,34064,34065,34066,34067,34068,34069,34070,34071,34072,34073,34074,34075,34076,34077,34078,34079,34080,34081,34082,34083,34084,34085,34086,34087,34088,34089,34090,34091,34092,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34103,34104,34105,34106,34107,34108,34109,34110,34111,34112,34113,34114,34115,34116,34117,34118,34119,34120,34121,34122,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34134,34135,34136,34137,34138,34139,34140,34141,34142,34143,34144,34145,34146,34147,34148,34149,34150,34151,34152,34153,34154,34155,34156,34157,34158,34159,34160,34161,34162,34163,34164,34165,34166,34167,34168,34169,34170,34171,34172,34173,34174,34175,34176,34177,34178,34179,34180,34181,34182,34183,34184,34185,34186,34187,34188,34189,34190,34191,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34203,34204,34205,34206,34207,34208,34209,34210,34211,34212,34213,34214,34215,34216,34217,34218,34219,34220,34221,34222,34223,34224,34225,34226,34227,34228,34229,34230,34231,34232,34233,34234,34235,34236,34237,34238,34239,34240,34241,34242,34243,34244,34245,34246,34247,34248,34249,34250,34251,34252,34253,34254,34255,34256,34257,34258,34259,34260,34261,34262,34263,34264,34265,34266,34267,34268,34269,34270,34271,34272,34273,34274,34275,34276,34277,34278,34279,34280,34281,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,34297,34298,34299,34300,34301,34302,34303,34304,34305,34306,34307,34308,34309,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34321,34322,34323,34324,34325,34326,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34343,34344,34345,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34360,34361,34362,34363,34364,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34381,34382,34383,34384,34385,34386,34387,34388,34389,34390,34391,34392,34393,34394,34395,34396,34397,34398,34399,34400,34401,34402,34403,34404,34405,34406,34407,34408,34409,34410,34411,34412,34413,34414,34415,34416,34417,34418,34419,34420,34421,34422,34423,34424,34425,34426,34427,34428,34429,34430,34431,34432,34433,34434,34435,34436,34437,34438,34439,34440,34441,34442,34443,34444,34445,34446,34447,34448,34449,34450,34451,34452,34453,34454,34455,34456,34457,34458,34459,34460,34461,34462,34463,34464,34465,34466,34467,34468,34469,34470,34471,34472,34473,34474,34475,34476,34477,34478,34479,34480,34481,34482,34483,34484,34485,34486,34487,34488,34489,34490,34491,34492,34493,34494,34495,34496,34497,34498,34499,34500,34501,34502,34503,34504,34505,34506,34507,34508,34509,34510,34511,34512,34513,34514,34515,34516,34517,34518,34519,34520,34521,34522,34523,34524,34525,34526,34527,34528,34529,34530,34531,34532,34533,34534,34535,34536,34537,34538,34539,34540,34541,34542,34543,34544,34545,34546,34547,34548,34549,34550,34551,34552,34553,34554,34555,34556,34557,34558,34559,34560,34561,34562,34563,34564,34565,34566,34567,34568,34569,34570,34571,34572,34573,34574,34575,34576,34577,34578,34579,34580,34581,34582,34583,34584,34585,34586,34587,34588,34589,34590,34591,34592,34593,34594,34595,34596,34597,34598,34599,34600,34601,34602,34603,34604,34605,34606,34607,34608,34609,34610,34611,34612,34613,34614,34615,34616,34617,34618,34619,34620,34621,34622,34623,34624,34625,34626,34627,34628,34629,34630,34631,34632,34633,34634,34635,34636,34637,34638,34639,34640,34641,34642,34643,34644,34645,34646,34647,34648,34649,34650,34651,34652,34653,34654,34655,34656,34657,34658,34659,34660,34661,34662,34663,34664,34665,34666,34667,34668,34669,34670,34671,34672,34673,34674,34675,34676,34677,34678,34679,34680,34681,34682,34683,34684,34685,34686,34687,34688,34689,34690,34691,34692,34693,34694,34695,34696,34697,34698,34699,34700,34701,34702,34703,34704,34705,34706,34707,34708,34709,34710,34711,34712,34713,34714,34715,34716,34717,34718,34719,34720,34721,34722,34723,34724,34725,34726,34727,34728,34729,34730,34731,34732,34733,34734,34735,34736,34737,34738,34739,34740,34741,34742,34743,34744,34745,34746,34747,34748,34749,34750,34751,34752,34753,34754,34755,34756,34757,34758,34759,34760,34761,34762,34763,34764,34765,34766,34767,34768,34769,34770,34771,34772,34773,34774,34775,34776,34777,34778,34779,34780,34781,34782,34783,34784,34785,34786,34787,34788,34789,34790,34791,34792,34793,34794,34795,34796,34797,34798,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34809,34810,34811,34812,34813,34814,34815,34816,34817,34818,34819,34820,34821,34822,34823,34824,34825,34826,34827,34828,34829,34830,34831,34832,34833,34834,34835,34836,34837,34838,34839,34840,34841,34842,34843,34844,34845,34846,34847,34848,34849,34850,34851,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,34869,34870,34871,34872,34873,34874,34875,34876,34877,34878,34879,34880,34881,34882,34883,34884,34885,34886,34887,34888,34889,34890,34891,34892,34893,34894,34895,34896,34897,34898,34899,34900,34901,34902,34903,34904,34905,34906,34907,34908,34909,34910,34911,34912,34913,34914,34915,34916,34917,34918,34919,34920,34921,34922,34923,34924,34925,34926,34927,34928,34929,34930,34931,34932,34933,34934,34935,34936,34937,34938,34939,34940,34941,34942,34943,34944,34945,34946,34947,34948,34949,34950,34951,34952,34953,34954,34955,34956,34957,34958,34959,34960,34961,34962,34963,34964,34965,34966,34967,34968,34969,34970,34971,34972,34973,34974,34975,34976,34977,34978,34979,34980,34981,34982,34983,34984,34985,34986,34987,34988,34989,34990,34991,34992,34993,34994,34995,34996,34997,34998,34999,35000,35001,35002,35003,35004,35005,35006,35007,35008,35009,35010,35011,35012,35013,35014,35015,35016,35017,35018,35019,35020,35021,35022,35023,35024,35025,35026,35027,35028,35029,35030,35031,35032,35033,35034,35035,35036,35037,35038,35039,35040,35041,35042,35043,35044,35045,35046,35047,35048,35049,35050,35051,35052,35053,35054,35055,35056,35057,35058,35059,35060,35061,35062,35063,35064,35065,35066,35067,35068,35069,35070,35071,35072,35073,35074,35075,35076,35077,35078,35079,35080,35081,35082,35083,35084,35085,35086,35087,35088,35089,35090,35091,35092,35093,35094,35095,35096,35097,35098,35099,35100,35101,35102,35103,35104,35105,35106,35107,35108,35109,35110,35111,35112,35113,35114,35115,35116,35117,35118,35119,35120,35121,35122,35123,35124,35125,35126,35127,35128,35129,35130,35131,35132,35133,35134,35135,35136,35137,35138,35139,35140,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35166,35167,35168,35169,35170,35171,35172,35173,35174,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35195,35196,35197,35198,35199,35200,35201,35202,35203,35204,35205,35206,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35265,35266,35267,35268,35269,35270,35271,35272,35273,35274,35275,35276,35277,35278,35279,35280,35281,35282,35283,35284,35285,35286,35287,35288,35289,35290,35291,35292,35293,35294,35295,35296,35297,35298,35299,35300,35301,35302,35303,35304,35305,35306,35307,35308,35309,35310,35311,35312,35313,35314,35315,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35328,35329,35330,35331,35332,35333,35334,35335,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35390,35391,35392,35393,35394,35395,35396,35397,35398,35399,35400,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35449,35450,35451,35452,35453,35454,35455,35456,35457,35458,35459,35460,35461,35462,35463,35464,35465,35466,35467,35468,35469,35470,35471,35472,35473,35474,35475,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35591,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35622,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35686,35687,35688,35689,35690,35691,35692,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35744,35745,35746,35747,35748,35749,35750,35751,35752,35753,35754,35755,35756,35757,35758,35759,35760,35761,35762,35763,35764,35765,35766,35767,35768,35769,35770,35771,35772,35773,35774,35775,35776,35777,35778,35779,35780,35781,35782,35783,35784,35785,35786,35787,35788,35789,35790,35791,35792,35793,35794,35795,35796,35797,35798,35799,35800,35801,35802,35803,35804,35805,35806,35807,35808,35809,35810,35811,35812,35813,35814,35815,35816,35817,35818,35819,35820,35821,35822,35823,35824,35825,35826,35827,35828,35829,35830,35831,35832,35833,35834,35835,35836,35837,35838,35839,35840,35841,35842,35843,35844,35845,35846,35847,35848,35849,35850,35851,35852,35853,35854,35855,35856,35857,35858,35859,35860,35861,35862,35863,35864,35865,35866,35867,35868,35869,35870,35871,35872,35873,35874,35875,35876,35877,35878,35879,35880,35881,35882,35883,35884,35885,35886,35887,35888,35889,35890,35891,35892,35893,35894,35895,35896,35897,35898,35899,35900,35901,35902,35903,35904,35905,35906,35907,35908,35909,35910,35911,35912,35913,35914,35915,35916,35917,35918,35919,35920,35921,35922,35923,35924,35925,35926,35927,35928,35929,35930,35931,35932,35933,35934,35935,35936,35937,35938,35939,35940,35941,35942,35943,35944,35945,35946,35947,35948,35949,35950,35951,35952,35953,35954,35955,35956,35957,35958,35959,35960,35961,35962,35963,35964,35965,35966,35967,35968,35969,35970,35971,35972,35973,35974,35975,35976,35977,35978,35979,35980,35981,35982,35983,35984,35985,35986,35987,35988,35989,35990,35991,35992,35993,35994,35995,35996,35997,35998,35999,36000,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36125,36126,36127,36128,36129,36130,36131,36132,36133,36134,36135,36136,36137,36138,36139,36140,36141,36142,36143,36144,36145,36146,36147,36148,36149,36150,36151,36152,36153,36154,36155,36156,36157,36158,36159,36160,36161,36162,36163,36164,36165,36166,36167,36168,36169,36170,36171,36172,36173,36174,36175,36176,36177,36178,36179,36180,36181,36182,36183,36184,36185,36186,36187,36188,36189,36190,36191,36192,36193,36194,36195,36196,36197,36198,36199,36200,36201,36202,36203,36204,36205,36206,36207,36208,36209,36210,36211,36212,36213,36214,36215,36216,36217,36218,36219,36220,36221,36222,36223,36224,36225,36226,36227,36228,36229,36230,36231,36232,36233,36234,36235,36236,36237,36238,36239,36240,36241,36242,36243,36244,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36255,36256,36257,36258,36259,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36273,36274,36275,36276,36277,36278,36279,36280,36281,36282,36283,36284,36285,36286,36287,36288,36289,36290,36291,36292,36293,36294,36295,36296,36297,36298,36299,36300,36301,36302,36303,36304,36305,36306,36307,36308,36309,36310,36311,36312,36313,36314,36315,36316,36317,36318,36319,36320,36321,36322,36323,36324,36325,36326,36327,36328,36329,36330,36331,36332,36333,36334,36335,36336,36337,36338,36339,36340,36341,36342,36343,36344,36345,36346,36347,36348,36349,36350,36351,36352,36353,36354,36355,36356,36357,36358,36359,36360,36361,36362,36363,36364,36365,36366,36367,36368,36369,36370,36371,36372,36373,36374,36375,36376,36377,36378,36379,36380,36381,36382,36383,36384,36385,36386,36387,36388,36389,36390,36391,36392,36393,36394,36395,36396,36397,36398,36399,36400,36401,36402,36403,36404,36405,36406,36407,36408,36409,36410,36411,36412,36413,36414,36415,36416,36417,36418,36419,36420,36421,36422,36423,36424,36425,36426,36427,36428,36429,36430,36431,36432,36433,36434,36435,36436,36437,36438,36439,36440,36441,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36454,36455,36456,36457,36458,36459,36460,36461,36462,36463,36464,36465,36466,36467,36468,36469,36470,36471,36472,36473,36474,36475,36476,36477,36478,36479,36480,36481,36482,36483,36484,36485,36486,36487,36488,36489,36490,36491,36492,36493,36494,36495,36496,36497,36498,36499,36500,36501,36502,36503,36504,36505,36506,36507,36508,36509,36510,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36523,36524,36525,36526,36527,36528,36529,36530,36531,36532,36533,36534,36535,36536,36537,36538,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36558,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36710,36711,36712,36713,36714,36715,36716,36717,36718,36719,36720,36721,36722,36723,36724,36725,36726,36727,36728,36729,36730,36731,36732,36733,36734,36735,36736,36737,36738,36739,36740,36741,36742,36743,36744,36745,36746,36747,36748,36749,36750,36751,36752,36753,36754,36755,36756,36757,36758,36759,36760,36761,36762,36763,36764,36765,36766,36767,36768,36769,36770,36771,36772,36773,36774,36775,36776,36777,36778,36779,36780,36781,36782,36783,36784,36785,36786,36787,36788,36789,36790,36791,36792,36793,36794,36795,36796,36797,36798,36799,36800,36801,36802,36803,36804,36805,36806,36807,36808,36809,36810,36811,36812,36813,36814,36815,36816,36817,36818,36819,36820,36821,36822,36823,36824,36825,36826,36827,36828,36829,36830,36831,36832,36833,36834,36835,36836,36837,36838,36839,36840,36841,36842,36843,36844,36845,36846,36847,36848,36849,36850,36851,36852,36853,36854,36855,36856,36857,36858,36859,36860,36861,36862,36863,36864,36865,36866,36867,36868,36869,36870,36871,36872,36873,36874,36875,36876,36877,36878,36879,36880,36881,36882,36883,36884,36885,36886,36887,36888,36889,36890,36891,36892,36893,36894,36895,36896,36897,36898,36899,36900,36901,36902,36903,36904,36905,36906,36907,36908,36909,36910,36911,36912,36913,36914,36915,36916,36917,36918,36919,36920,36921,36922,36923,36924,36925,36926,36927,36928,36929,36930,36931,36932,36933,36934,36935,36936,36937,36938,36939,36940,36941,36942,36943,36944,36945,36946,36947,36948,36949,36950,36951,36952,36953,36954,36955,36956,36957,36958,36959,36960,36961,36962,36963,36964,36965,36966,36967,36968,36969,36970,36971,36972,36973,36974,36975,36976,36977,36978,36979,36980,36981,36982,36983,36984,36985,36986,36987,36988,36989,36990,36991,36992,36993,36994,36995,36996,36997,36998,36999,37000,37001,37002,37003,37004,37005,37006,37007,37008,37009,37010,37011,37012,37013,37014,37015,37016,37017,37018,37019,37020,37021,37022,37023,37024,37025,37026,37027,37028,37029,37030,37031,37032,37033,37034,37035,37036,37037,37038,37039,37040,37041,37042,37043,37044,37045,37046,37047,37048,37049,37050,37051,37052,37053,37054,37055,37056,37057,37058,37059,37060,37061,37062,37063,37064,37065,37066,37067,37068,37069,37070,37071,37072,37073,37074,37075,37076,37077,37078,37079,37080,37081,37082,37083,37084,37085,37086,37087,37088,37089,37090,37091,37092,37093,37094,37095,37096,37097,37098,37099,37100,37101,37102,37103,37104,37105,37106,37107,37108,37109,37110,37111,37112,37113,37114,37115,37116,37117,37118,37119,37120,37121,37122,37123,37124,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37145,37146,37147,37148,37149,37150,37151,37152,37153,37154,37155,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37167,37168,37169,37170,37171,37172,37173,37174,37175,37176,37177,37178,37179,37180,37181,37182,37183,37184,37185,37186,37187,37188,37189,37190,37191,37192,37193,37194,37195,37196,37197,37198,37199,37200,37201,37202,37203,37204,37205,37206,37207,37208,37209,37210,37211,37212,37213,37214,37215,37216,37217,37218,37219,37220,37221,37222,37223,37224,37225,37226,37227,37228,37229,37230,37231,37232,37233,37234,37235,37236,37237,37238,37239,37240,37241,37242,37243,37244,37245,37246,37247,37248,37249,37250,37251,37252,37253,37254,37255,37256,37257,37258,37259,37260,37261,37262,37263,37264,37265,37266,37267,37268,37269,37270,37271,37272,37273,37274,37275,37276,37277,37278,37279,37280,37281,37282,37283,37284,37285,37286,37287,37288,37289,37290,37291,37292,37293,37294,37295,37296,37297,37298,37299,37300,37301,37302,37303,37304,37305,37306,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37319,37320,37321,37322,37323,37324,37325,37326,37327,37328,37329,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37340,37341,37342,37343,37344,37345,37346,37347,37348,37349,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37492,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37518,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,37544,37545,37546,37547,37548,37549,37550,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37576,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37694,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37738,37739,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37775,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37834,37835,37836,37837,37838,37839,37840,37841,37842,37843,37844,37845,37846,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37950,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37995,37996,37997,37998,37999,38000,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38021,38022,38023,38024,38025,38026,38027,38028,38029,38030,38031,38032,38033,38034,38035,38036,38037,38038,38039,38040,38041,38042,38043,38044,38045,38046,38047,38048,38049,38050,38051,38052,38053,38054,38055,38056,38057,38058,38059,38060,38061,38062,38063,38064,38065,38066,38067,38068,38069,38070,38071,38072,38073,38074,38075,38076,38077,38078,38079,38080,38081,38082,38083,38084,38085,38086,38087,38088,38089,38090,38091,38092,38093,38094,38095,38096,38097,38098,38099,38100,38101,38102,38103,38104,38105,38106,38107,38108,38109,38110,38111,38112,38113,38114,38115,38116,38117,38118,38119,38120,38121,38122,38123,38124,38125,38126,38127,38128,38129,38130,38131,38132,38133,38134,38135,38136,38137,38138,38139,38140,38141,38142,38143,38144,38145,38146,38147,38148,38149,38150,38151,38152,38153,38154,38155,38156,38157,38158,38159,38160,38161,38162,38163,38164,38165,38166,38167,38168,38169,38170,38171,38172,38173,38174,38175,38176,38177,38178,38179,38180,38181,38182,38183,38184,38185,38186,38187,38188,38189,38190,38191,38192,38193,38194,38195,38196,38197,38198,38199,38200,38201,38202,38203,38204,38205,38206,38207,38208,38209,38210,38211,38212,38213,38214,38215,38216,38217,38218,38219,38220,38221,38222,38223,38224,38225,38226,38227,38228,38229,38230,38231,38232,38233,38234,38235,38236,38237,38238,38239,38240,38241,38242,38243,38244,38245,38246,38247,38248,38249,38250,38251,38252,38253,38254,38255,38256,38257,38258,38259,38260,38261,38262,38263,38264,38265,38266,38267,38268,38269,38270,38271,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38376,38377,38378,38379,38380,38381,38382,38383,38384,38385,38386,38387,38388,38389,38390,38391,38392,38393,38394,38395,38396,38397,38398,38399,38400,38401,38402,38403,38404,38405,38406,38407,38408,38409,38410,38411,38412,38413,38414,38415,38416,38417,38418,38419,38420,38421,38422,38423,38424,38425,38426,38427,38428,38429,38430,38431,38432,38433,38434,38435,38436,38437,38438,38439,38440,38441,38442,38443,38444,38445,38446,38447,38448,38449,38450,38451,38452,38453,38454,38455,38456,38457,38458,38459,38460,38461,38462,38463,38464,38465,38466,38467,38468,38469,38470,38471,38472,38473,38474,38475,38476,38477,38478,38479,38480,38481,38482,38483,38484,38485,38486,38487,38488,38489,38490,38491,38492,38493,38494,38495,38496,38497,38498,38499,38500,38501,38502,38503,38504,38505,38506,38507,38508,38509,38510,38511,38512,38513,38514,38515,38516,38517,38518,38519,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38533,38534,38535,38536,38537,38538,38539,38540,38541,38542,38543,38544,38545,38546,38547,38548,38549,38550,38551,38552,38553,38554,38555,38556,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38567,38568,38569,38570,38571,38572,38573,38574,38575,38576,38577,38578,38579,38580,38581,38582,38583,38584,38585,38586,38587,38588,38589,38590,38591,38592,38593,38594,38595,38596,38597,38598,38599,38600,38601,38602,38603,38604,38605,38606,38607,38608,38609,38610,38611,38612,38613,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38624,38625,38626,38627,38628,38629,38630,38631,38632,38633,38634,38635,38636,38637,38638,38639,38640,38641,38642,38643,38644,38645,38646,38647,38648,38649,38650,38651,38652,38653,38654,38655,38656,38657,38658,38659,38660,38661,38662,38663,38664,38665,38666,38667,38668,38669,38670,38671,38672,38673,38674,38675,38676,38677,38678,38679,38680,38681,38682,38683,38684,38685,38686,38687,38688,38689,38690,38691,38692,38693,38694,38695,38696,38697,38698,38699,38700,38701,38702,38703,38704,38705,38706,38707,38708,38709,38710,38711,38712,38713,38714,38715,38716,38717,38718,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38738,38739,38740,38741,38742,38743,38744,38745,38746,38747,38748,38749,38750,38751,38752,38753,38754,38755,38756,38757,38758,38759,38760,38761,38762,38763,38764,38765,38766,38767,38768,38769,38770,38771,38772,38773,38774,38775,38776,38777,38778,38779,38780,38781,38782,38783,38784,38785,38786,38787,38788,38789,38790,38791,38792,38793,38794,38795,38796,38797,38798,38799,38800,38801,38802,38803,38804,38805,38806,38807,38808,38809,38810,38811,38812,38813,38814,38815,38816,38817,38818,38819,38820,38821,38822,38823,38824,38825,38826,38827,38828,38829,38830,38831,38832,38833,38834,38835,38836,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38886,38887,38888,38889,38890,38891,38892,38893,38894,38895,38896,38897,38898,38899,38900,38901,38902,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39000,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,39023,39024,39025,39026,39027,39028,39029,39030,39031,39032,39033,39034,39035,39036,39037,39038,39039,39040,39041,39042,39043,39044,39045,39046,39047,39048,39049,39050,39051,39052,39053,39054,39055,39056,39057,39058,39059,39060,39061,39062,39063,39064,39065,39066,39067,39068,39069,39070,39071,39072,39073,39074,39075,39076,39077,39078,39079,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39118,39119,39120,39121,39122,39123,39124,39125,39126,39127,39128,39129,39130,39131,39132,39133,39134,39135,39136,39137,39138,39139,39140,39141,39142,39143,39144,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,39176,39177,39178,39179,39180,39181,39182,39183,39184,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39214,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39252,39253,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39267,39268,39269,39270,39271,39272,39273,39274,39275,39276,39277,39278,39279,39280,39281,39282,39283,39284,39285,39286,39287,39288,39289,39290,39291,39292,39293,39294,39295,39296,39297,39298,39299,39300,39301,39302,39303,39304,39305,39306,39307,39308,39309,39310,39311,39312,39313,39314,39315,39316,39317,39318,39319,39320,39321,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39333,39334,39335,39336,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39532,39533,39534,39535,39536,39537,39538,39539,39540,39541,39542,39543,39544,39545,39546,39547,39548,39549,39550,39551,39552,39553,39554,39555,39556,39557,39558,39559,39560,39561,39562,39563,39564,39565,39566,39567,39568,39569,39570,39571,39572,39573,39574,39575,39576,39577,39578,39579,39580,39581,39582,39583,39584,39585,39586,39587,39588,39589,39590,39591,39592,39593,39594,39595,39596,39597,39598,39599,39600,39601,39602,39603,39604,39605,39606,39607,39608,39609,39610,39611,39612,39613,39614,39615,39616,39617,39618,39619,39620,39621,39622,39623,39624,39625,39626,39627,39628,39629,39630,39631,39632,39633,39634,39635,39636,39637,39638,39639,39640,39641,39642,39643,39644,39645,39646,39647,39648,39649,39650,39651,39652,39653,39654,39655,39656,39657,39658,39659,39660,39661,39662,39663,39664,39665,39666,39667,39668,39669,39670,39671,39672,39673,39674,39675,39676,39677,39678,39679,39680,39681,39682,39683,39684,39685,39686,39687,39688,39689,39690,39691,39692,39693,39694,39695,39696,39697,39698,39699,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39711,39712,39713,39714,39715,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39727,39728,39729,39730,39731,39732,39733,39734,39735,39736,39737,39738,39739,39740,39741,39742,39743,39744,39745,39746,39747,39748,39749,39750,39751,39752,39753,39754,39755,39756,39757,39758,39759,39760,39761,39762,39763,39764,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,39996,39997,39998,39999,40000,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40060,40061,40062,40063,40064,40065,40066,40067,40068,40069,40070,40071,40072,40073,40074,40075,40076,40077,40078,40079,40080,40081,40082,40083,40084,40085,40086,40087,40088,40089,40090,40091,40092,40093,40094,40095,40096,40097,40098,40099,40100,40101,40102,40103,40104,40105,40106,40107,40108,40109,40110,40111,40112,40113,40114,40115,40116,40117,40118,40119,40120,40121,40122,40123,40124,40125,40126,40127,40128,40129,40130,40131,40132,40133,40134,40135,40136,40137,40138,40139,40140,40141,40142,40143,40144,40145,40146,40147,40148,40149,40150,40151,40152,40153,40154,40155,40156,40157,40158,40159,40160,40161,40162,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40479,40480,40481,40482,40483,40484,40485,40486,40487,40488,40489,40490,40491,40492,40493,40494,40495,40496,40497,40498,40499,40500,40501,40502,40503,40504,40505,40506,40507,40508,40509,40510,40511,40512,40513,40514,40515,40516,40517,40518,40519,40520,40521,40522,40523,40524,40525,40526,40527,40528,40529,40530,40531,40532,40533,40534,40535,40536,40537,40538,40539,40540,40541,40542,40543,40544,40545,40546,40547,40548,40549,40550,40551,40552,40553,40554,40555,40556,40557,40558,40559,40560,40561,40562,40563,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40574,40575,40576,40577,40578,40579,40580,40581,40582,40583,40584,40585,40586,40587,40588,40589,40590,40591,40592,40593,40594,40595,40596,40597,40598,40599,40600,40601,40602,40603,40604,40605,40606,40607,40608,40609,40610,40611,40612,40613,40614,40615,40616,40617,40618,40619,40620,40621,40622,40623,40624,40625,40626,40627,40628,40629,40630,40631,40632,40633,40634,40635,40636,40637,40638,40639,40640,40641,40642,40643,40644,40645,40646,40647,40648,40649,40650,40651,40652,40653,40654,40655,40656,40657,40658,40659,40660,40661,40662,40663,40664,40665,40666,40667,40668,40669,40670,40671,40672,40673,40674,40675,40676,40677,40678,40679,40680,40681,40682,40683,40684,40685,40686,40687,40688,40689,40690,40691,40692,40693,40694,40695,40696,40697,40698,40699,40700,40701,40702,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40715,40716,40717,40718,40719,40720,40721,40722,40723,40724,40725,40726,40727,40728,40729,40730,40731,40732,40733,40734,40735,40736,40737,40738,40739,40740,40741,40742,40743,40744,40745,40746,40747,40748,40749,40750,40751,40752,40753,40754,40755,40756,40757,40758,40759,40760,40761,40762,40763,40764,40765,40766,40767,40768,40769,40770,40771,40772,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40784,40785,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40831,40832,40833,40834,40835,40836,40837,40838,40839,40840,40841,40842,40843,40844,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40857,40858,40859,40860,40861,40862,40863,40864,40865,40866,40867,40868,40869,40870,40871,40872,40873,40874,40875,40876,40877,40878,40879,40880,40881,40882,40883,40884,40885,40886,40887,40888,40889,40890,40891,40892,40893,40894,40895,40896,40897,40898,40899,40900,40901,40902,40903,40904,40905,40906,40907,40908,40909,40910,40911,40912,40913,40914,40915,40916,40917,40918,40919,40920,40921,40922,40923,40924,40925,40926,40927,40928,40929,40930,40931,40932,40933,40934,40935,40936,40937,40938,40939,40940,40941,40942,40943,40960,40961,40962,40963,40964,40965,40966,40967,40968,40969,40970,40971,40972,40973,40974,40975,40976,40977,40978,40979,40980,40981,40982,40983,40984,40985,40986,40987,40988,40989,40990,40991,40992,40993,40994,40995,40996,40997,40998,40999,41000,41001,41002,41003,41004,41005,41006,41007,41008,41009,41010,41011,41012,41013,41014,41015,41016,41017,41018,41019,41020,41021,41022,41023,41024,41025,41026,41027,41028,41029,41030,41031,41032,41033,41034,41035,41036,41037,41038,41039,41040,41041,41042,41043,41044,41045,41046,41047,41048,41049,41050,41051,41052,41053,41054,41055,41056,41057,41058,41059,41060,41061,41062,41063,41064,41065,41066,41067,41068,41069,41070,41071,41072,41073,41074,41075,41076,41077,41078,41079,41080,41081,41082,41083,41084,41085,41086,41087,41088,41089,41090,41091,41092,41093,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,41111,41112,41113,41114,41115,41116,41117,41118,41119,41120,41121,41122,41123,41124,41125,41126,41127,41128,41129,41130,41131,41132,41133,41134,41135,41136,41137,41138,41139,41140,41141,41142,41143,41144,41145,41146,41147,41148,41149,41150,41151,41152,41153,41154,41155,41156,41157,41158,41159,41160,41161,41162,41163,41164,41165,41166,41167,41168,41169,41170,41171,41172,41173,41174,41175,41176,41177,41178,41179,41180,41181,41182,41183,41184,41185,41186,41187,41188,41189,41190,41191,41192,41193,41194,41195,41196,41197,41198,41199,41200,41201,41202,41203,41204,41205,41206,41207,41208,41209,41210,41211,41212,41213,41214,41215,41216,41217,41218,41219,41220,41221,41222,41223,41224,41225,41226,41227,41228,41229,41230,41231,41232,41233,41234,41235,41236,41237,41238,41239,41240,41241,41242,41243,41244,41245,41246,41247,41248,41249,41250,41251,41252,41253,41254,41255,41256,41257,41258,41259,41260,41261,41262,41263,41264,41265,41266,41267,41268,41269,41270,41271,41272,41273,41274,41275,41276,41277,41278,41279,41280,41281,41282,41283,41284,41285,41286,41287,41288,41289,41290,41291,41292,41293,41294,41295,41296,41297,41298,41299,41300,41301,41302,41303,41304,41305,41306,41307,41308,41309,41310,41311,41312,41313,41314,41315,41316,41317,41318,41319,41320,41321,41322,41323,41324,41325,41326,41327,41328,41329,41330,41331,41332,41333,41334,41335,41336,41337,41338,41339,41340,41341,41342,41343,41344,41345,41346,41347,41348,41349,41350,41351,41352,41353,41354,41355,41356,41357,41358,41359,41360,41361,41362,41363,41364,41365,41366,41367,41368,41369,41370,41371,41372,41373,41374,41375,41376,41377,41378,41379,41380,41381,41382,41383,41384,41385,41386,41387,41388,41389,41390,41391,41392,41393,41394,41395,41396,41397,41398,41399,41400,41401,41402,41403,41404,41405,41406,41407,41408,41409,41410,41411,41412,41413,41414,41415,41416,41417,41418,41419,41420,41421,41422,41423,41424,41425,41426,41427,41428,41429,41430,41431,41432,41433,41434,41435,41436,41437,41438,41439,41440,41441,41442,41443,41444,41445,41446,41447,41448,41449,41450,41451,41452,41453,41454,41455,41456,41457,41458,41459,41460,41461,41462,41463,41464,41465,41466,41467,41468,41469,41470,41471,41472,41473,41474,41475,41476,41477,41478,41479,41480,41481,41482,41483,41484,41485,41486,41487,41488,41489,41490,41491,41492,41493,41494,41495,41496,41497,41498,41499,41500,41501,41502,41503,41504,41505,41506,41507,41508,41509,41510,41511,41512,41513,41514,41515,41516,41517,41518,41519,41520,41521,41522,41523,41524,41525,41526,41527,41528,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41543,41544,41545,41546,41547,41548,41549,41550,41551,41552,41553,41554,41555,41556,41557,41558,41559,41560,41561,41562,41563,41564,41565,41566,41567,41568,41569,41570,41571,41572,41573,41574,41575,41576,41577,41578,41579,41580,41581,41582,41583,41584,41585,41586,41587,41588,41589,41590,41591,41592,41593,41594,41595,41596,41597,41598,41599,41600,41601,41602,41603,41604,41605,41606,41607,41608,41609,41610,41611,41612,41613,41614,41615,41616,41617,41618,41619,41620,41621,41622,41623,41624,41625,41626,41627,41628,41629,41630,41631,41632,41633,41634,41635,41636,41637,41638,41639,41640,41641,41642,41643,41644,41645,41646,41647,41648,41649,41650,41651,41652,41653,41654,41655,41656,41657,41658,41659,41660,41661,41662,41663,41664,41665,41666,41667,41668,41669,41670,41671,41672,41673,41674,41675,41676,41677,41678,41679,41680,41681,41682,41683,41684,41685,41686,41687,41688,41689,41690,41691,41692,41693,41694,41695,41696,41697,41698,41699,41700,41701,41702,41703,41704,41705,41706,41707,41708,41709,41710,41711,41712,41713,41714,41715,41716,41717,41718,41719,41720,41721,41722,41723,41724,41725,41726,41727,41728,41729,41730,41731,41732,41733,41734,41735,41736,41737,41738,41739,41740,41741,41742,41743,41744,41745,41746,41747,41748,41749,41750,41751,41752,41753,41754,41755,41756,41757,41758,41759,41760,41761,41762,41763,41764,41765,41766,41767,41768,41769,41770,41771,41772,41773,41774,41775,41776,41777,41778,41779,41780,41781,41782,41783,41784,41785,41786,41787,41788,41789,41790,41791,41792,41793,41794,41795,41796,41797,41798,41799,41800,41801,41802,41803,41804,41805,41806,41807,41808,41809,41810,41811,41812,41813,41814,41815,41816,41817,41818,41819,41820,41821,41822,41823,41824,41825,41826,41827,41828,41829,41830,41831,41832,41833,41834,41835,41836,41837,41838,41839,41840,41841,41842,41843,41844,41845,41846,41847,41848,41849,41850,41851,41852,41853,41854,41855,41856,41857,41858,41859,41860,41861,41862,41863,41864,41865,41866,41867,41868,41869,41870,41871,41872,41873,41874,41875,41876,41877,41878,41879,41880,41881,41882,41883,41884,41885,41886,41887,41888,41889,41890,41891,41892,41893,41894,41895,41896,41897,41898,41899,41900,41901,41902,41903,41904,41905,41906,41907,41908,41909,41910,41911,41912,41913,41914,41915,41916,41917,41918,41919,41920,41921,41922,41923,41924,41925,41926,41927,41928,41929,41930,41931,41932,41933,41934,41935,41936,41937,41938,41939,41940,41941,41942,41943,41944,41945,41946,41947,41948,41949,41950,41951,41952,41953,41954,41955,41956,41957,41958,41959,41960,41961,41962,41963,41964,41965,41966,41967,41968,41969,41970,41971,41972,41973,41974,41975,41976,41977,41978,41979,41980,41981,41982,41983,41984,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,41997,41998,41999,42000,42001,42002,42003,42004,42005,42006,42007,42008,42009,42010,42011,42012,42013,42014,42015,42016,42017,42018,42019,42020,42021,42022,42023,42024,42025,42026,42027,42028,42029,42030,42031,42032,42033,42034,42035,42036,42037,42038,42039,42040,42041,42042,42043,42044,42045,42046,42047,42048,42049,42050,42051,42052,42053,42054,42055,42056,42057,42058,42059,42060,42061,42062,42063,42064,42065,42066,42067,42068,42069,42070,42071,42072,42073,42074,42075,42076,42077,42078,42079,42080,42081,42082,42083,42084,42085,42086,42087,42088,42089,42090,42091,42092,42093,42094,42095,42096,42097,42098,42099,42100,42101,42102,42103,42104,42105,42106,42107,42108,42109,42110,42111,42112,42113,42114,42115,42116,42117,42118,42119,42120,42121,42122,42123,42124,42192,42193,42194,42195,42196,42197,42198,42199,42200,42201,42202,42203,42204,42205,42206,42207,42208,42209,42210,42211,42212,42213,42214,42215,42216,42217,42218,42219,42220,42221,42222,42223,42224,42225,42226,42227,42228,42229,42230,42231,42232,42233,42234,42235,42236,42237,42240,42241,42242,42243,42244,42245,42246,42247,42248,42249,42250,42251,42252,42253,42254,42255,42256,42257,42258,42259,42260,42261,42262,42263,42264,42265,42266,42267,42268,42269,42270,42271,42272,42273,42274,42275,42276,42277,42278,42279,42280,42281,42282,42283,42284,42285,42286,42287,42288,42289,42290,42291,42292,42293,42294,42295,42296,42297,42298,42299,42300,42301,42302,42303,42304,42305,42306,42307,42308,42309,42310,42311,42312,42313,42314,42315,42316,42317,42318,42319,42320,42321,42322,42323,42324,42325,42326,42327,42328,42329,42330,42331,42332,42333,42334,42335,42336,42337,42338,42339,42340,42341,42342,42343,42344,42345,42346,42347,42348,42349,42350,42351,42352,42353,42354,42355,42356,42357,42358,42359,42360,42361,42362,42363,42364,42365,42366,42367,42368,42369,42370,42371,42372,42373,42374,42375,42376,42377,42378,42379,42380,42381,42382,42383,42384,42385,42386,42387,42388,42389,42390,42391,42392,42393,42394,42395,42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42413,42414,42415,42416,42417,42418,42419,42420,42421,42422,42423,42424,42425,42426,42427,42428,42429,42430,42431,42432,42433,42434,42435,42436,42437,42438,42439,42440,42441,42442,42443,42444,42445,42446,42447,42448,42449,42450,42451,42452,42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,42474,42475,42476,42477,42478,42479,42480,42481,42482,42483,42484,42485,42486,42487,42488,42489,42490,42491,42492,42493,42494,42495,42496,42497,42498,42499,42500,42501,42502,42503,42504,42505,42506,42507,42508,42512,42513,42514,42515,42516,42517,42518,42519,42520,42521,42522,42523,42524,42525,42526,42527,42538,42539,42560,42561,42562,42563,42564,42565,42566,42567,42568,42569,42570,42571,42572,42573,42574,42575,42576,42577,42578,42579,42580,42581,42582,42583,42584,42585,42586,42587,42588,42589,42590,42591,42592,42593,42594,42595,42596,42597,42598,42599,42600,42601,42602,42603,42604,42605,42606,42623,42624,42625,42626,42627,42628,42629,42630,42631,42632,42633,42634,42635,42636,42637,42638,42639,42640,42641,42642,42643,42644,42645,42646,42647,42648,42649,42650,42651,42652,42653,42656,42657,42658,42659,42660,42661,42662,42663,42664,42665,42666,42667,42668,42669,42670,42671,42672,42673,42674,42675,42676,42677,42678,42679,42680,42681,42682,42683,42684,42685,42686,42687,42688,42689,42690,42691,42692,42693,42694,42695,42696,42697,42698,42699,42700,42701,42702,42703,42704,42705,42706,42707,42708,42709,42710,42711,42712,42713,42714,42715,42716,42717,42718,42719,42720,42721,42722,42723,42724,42725,42726,42727,42728,42729,42730,42731,42732,42733,42734,42735,42775,42776,42777,42778,42779,42780,42781,42782,42783,42786,42787,42788,42789,42790,42791,42792,42793,42794,42795,42796,42797,42798,42799,42800,42801,42802,42803,42804,42805,42806,42807,42808,42809,42810,42811,42812,42813,42814,42815,42816,42817,42818,42819,42820,42821,42822,42823,42824,42825,42826,42827,42828,42829,42830,42831,42832,42833,42834,42835,42836,42837,42838,42839,42840,42841,42842,42843,42844,42845,42846,42847,42848,42849,42850,42851,42852,42853,42854,42855,42856,42857,42858,42859,42860,42861,42862,42863,42864,42865,42866,42867,42868,42869,42870,42871,42872,42873,42874,42875,42876,42877,42878,42879,42880,42881,42882,42883,42884,42885,42886,42887,42888,42891,42892,42893,42894,42895,42896,42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,42918,42919,42920,42921,42922,42923,42924,42925,42926,42927,42928,42929,42930,42931,42932,42933,42934,42935,42936,42937,42999,43000,43001,43002,43003,43004,43005,43006,43007,43008,43009,43011,43012,43013,43015,43016,43017,43018,43020,43021,43022,43023,43024,43025,43026,43027,43028,43029,43030,43031,43032,43033,43034,43035,43036,43037,43038,43039,43040,43041,43042,43072,43073,43074,43075,43076,43077,43078,43079,43080,43081,43082,43083,43084,43085,43086,43087,43088,43089,43090,43091,43092,43093,43094,43095,43096,43097,43098,43099,43100,43101,43102,43103,43104,43105,43106,43107,43108,43109,43110,43111,43112,43113,43114,43115,43116,43117,43118,43119,43120,43121,43122,43123,43138,43139,43140,43141,43142,43143,43144,43145,43146,43147,43148,43149,43150,43151,43152,43153,43154,43155,43156,43157,43158,43159,43160,43161,43162,43163,43164,43165,43166,43167,43168,43169,43170,43171,43172,43173,43174,43175,43176,43177,43178,43179,43180,43181,43182,43183,43184,43185,43186,43187,43250,43251,43252,43253,43254,43255,43259,43261,43262,43274,43275,43276,43277,43278,43279,43280,43281,43282,43283,43284,43285,43286,43287,43288,43289,43290,43291,43292,43293,43294,43295,43296,43297,43298,43299,43300,43301,43312,43313,43314,43315,43316,43317,43318,43319,43320,43321,43322,43323,43324,43325,43326,43327,43328,43329,43330,43331,43332,43333,43334,43360,43361,43362,43363,43364,43365,43366,43367,43368,43369,43370,43371,43372,43373,43374,43375,43376,43377,43378,43379,43380,43381,43382,43383,43384,43385,43386,43387,43388,43396,43397,43398,43399,43400,43401,43402,43403,43404,43405,43406,43407,43408,43409,43410,43411,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,43433,43434,43435,43436,43437,43438,43439,43440,43441,43442,43471,43488,43489,43490,43491,43492,43494,43495,43496,43497,43498,43499,43500,43501,43502,43503,43514,43515,43516,43517,43518,43520,43521,43522,43523,43524,43525,43526,43527,43528,43529,43530,43531,43532,43533,43534,43535,43536,43537,43538,43539,43540,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43555,43556,43557,43558,43559,43560,43584,43585,43586,43588,43589,43590,43591,43592,43593,43594,43595,43616,43617,43618,43619,43620,43621,43622,43623,43624,43625,43626,43627,43628,43629,43630,43631,43632,43633,43634,43635,43636,43637,43638,43642,43646,43647,43648,43649,43650,43651,43652,43653,43654,43655,43656,43657,43658,43659,43660,43661,43662,43663,43664,43665,43666,43667,43668,43669,43670,43671,43672,43673,43674,43675,43676,43677,43678,43679,43680,43681,43682,43683,43684,43685,43686,43687,43688,43689,43690,43691,43692,43693,43694,43695,43697,43701,43702,43705,43706,43707,43708,43709,43712,43714,43739,43740,43741,43744,43745,43746,43747,43748,43749,43750,43751,43752,43753,43754,43762,43763,43764,43777,43778,43779,43780,43781,43782,43785,43786,43787,43788,43789,43790,43793,43794,43795,43796,43797,43798,43808,43809,43810,43811,43812,43813,43814,43816,43817,43818,43819,43820,43821,43822,43824,43825,43826,43827,43828,43829,43830,43831,43832,43833,43834,43835,43836,43837,43838,43839,43840,43841,43842,43843,43844,43845,43846,43847,43848,43849,43850,43851,43852,43853,43854,43855,43856,43857,43858,43859,43860,43861,43862,43863,43864,43865,43866,43868,43869,43870,43871,43872,43873,43874,43875,43876,43877,43888,43889,43890,43891,43892,43893,43894,43895,43896,43897,43898,43899,43900,43901,43902,43903,43904,43905,43906,43907,43908,43909,43910,43911,43912,43913,43914,43915,43916,43917,43918,43919,43920,43921,43922,43923,43924,43925,43926,43927,43928,43929,43930,43931,43932,43933,43934,43935,43936,43937,43938,43939,43940,43941,43942,43943,43944,43945,43946,43947,43948,43949,43950,43951,43952,43953,43954,43955,43956,43957,43958,43959,43960,43961,43962,43963,43964,43965,43966,43967,43968,43969,43970,43971,43972,43973,43974,43975,43976,43977,43978,43979,43980,43981,43982,43983,43984,43985,43986,43987,43988,43989,43990,43991,43992,43993,43994,43995,43996,43997,43998,43999,44000,44001,44002,44032,44033,44034,44035,44036,44037,44038,44039,44040,44041,44042,44043,44044,44045,44046,44047,44048,44049,44050,44051,44052,44053,44054,44055,44056,44057,44058,44059,44060,44061,44062,44063,44064,44065,44066,44067,44068,44069,44070,44071,44072,44073,44074,44075,44076,44077,44078,44079,44080,44081,44082,44083,44084,44085,44086,44087,44088,44089,44090,44091,44092,44093,44094,44095,44096,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44107,44108,44109,44110,44111,44112,44113,44114,44115,44116,44117,44118,44119,44120,44121,44122,44123,44124,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44144,44145,44146,44147,44148,44149,44150,44151,44152,44153,44154,44155,44156,44157,44158,44159,44160,44161,44162,44163,44164,44165,44166,44167,44168,44169,44170,44171,44172,44173,44174,44175,44176,44177,44178,44179,44180,44181,44182,44183,44184,44185,44186,44187,44188,44189,44190,44191,44192,44193,44194,44195,44196,44197,44198,44199,44200,44201,44202,44203,44204,44205,44206,44207,44208,44209,44210,44211,44212,44213,44214,44215,44216,44217,44218,44219,44220,44221,44222,44223,44224,44225,44226,44227,44228,44229,44230,44231,44232,44233,44234,44235,44236,44237,44238,44239,44240,44241,44242,44243,44244,44245,44246,44247,44248,44249,44250,44251,44252,44253,44254,44255,44256,44257,44258,44259,44260,44261,44262,44263,44264,44265,44266,44267,44268,44269,44270,44271,44272,44273,44274,44275,44276,44277,44278,44279,44280,44281,44282,44283,44284,44285,44286,44287,44288,44289,44290,44291,44292,44293,44294,44295,44296,44297,44298,44299,44300,44301,44302,44303,44304,44305,44306,44307,44308,44309,44310,44311,44312,44313,44314,44315,44316,44317,44318,44319,44320,44321,44322,44323,44324,44325,44326,44327,44328,44329,44330,44331,44332,44333,44334,44335,44336,44337,44338,44339,44340,44341,44342,44343,44344,44345,44346,44347,44348,44349,44350,44351,44352,44353,44354,44355,44356,44357,44358,44359,44360,44361,44362,44363,44364,44365,44366,44367,44368,44369,44370,44371,44372,44373,44374,44375,44376,44377,44378,44379,44380,44381,44382,44383,44384,44385,44386,44387,44388,44389,44390,44391,44392,44393,44394,44395,44396,44397,44398,44399,44400,44401,44402,44403,44404,44405,44406,44407,44408,44409,44410,44411,44412,44413,44414,44415,44416,44417,44418,44419,44420,44421,44422,44423,44424,44425,44426,44427,44428,44429,44430,44431,44432,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44444,44445,44446,44447,44448,44449,44450,44451,44452,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44471,44472,44473,44474,44475,44476,44477,44478,44479,44480,44481,44482,44483,44484,44485,44486,44487,44488,44489,44490,44491,44492,44493,44494,44495,44496,44497,44498,44499,44500,44501,44502,44503,44504,44505,44506,44507,44508,44509,44510,44511,44512,44513,44514,44515,44516,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44536,44537,44538,44539,44540,44541,44542,44543,44544,44545,44546,44547,44548,44549,44550,44551,44552,44553,44554,44555,44556,44557,44558,44559,44560,44561,44562,44563,44564,44565,44566,44567,44568,44569,44570,44571,44572,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44592,44593,44594,44595,44596,44597,44598,44599,44600,44601,44602,44603,44604,44605,44606,44607,44608,44609,44610,44611,44612,44613,44614,44615,44616,44617,44618,44619,44620,44621,44622,44623,44624,44625,44626,44627,44628,44629,44630,44631,44632,44633,44634,44635,44636,44637,44638,44639,44640,44641,44642,44643,44644,44645,44646,44647,44648,44649,44650,44651,44652,44653,44654,44655,44656,44657,44658,44659,44660,44661,44662,44663,44664,44665,44666,44667,44668,44669,44670,44671,44672,44673,44674,44675,44676,44677,44678,44679,44680,44681,44682,44683,44684,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44732,44733,44734,44735,44736,44737,44738,44739,44740,44741,44742,44743,44744,44745,44746,44747,44748,44749,44750,44751,44752,44753,44754,44755,44756,44757,44758,44759,44760,44761,44762,44763,44764,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44776,44777,44778,44779,44780,44781,44782,44783,44784,44785,44786,44787,44788,44789,44790,44791,44792,44793,44794,44795,44796,44797,44798,44799,44800,44801,44802,44803,44804,44805,44806,44807,44808,44809,44810,44811,44812,44813,44814,44815,44816,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,44836,44837,44838,44839,44840,44841,44842,44843,44844,44845,44846,44847,44848,44849,44850,44851,44852,44853,44854,44855,44856,44857,44858,44859,44860,44861,44862,44863,44864,44865,44866,44867,44868,44869,44870,44871,44872,44873,44874,44875,44876,44877,44878,44879,44880,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44892,44893,44894,44895,44896,44897,44898,44899,44900,44901,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44921,44922,44923,44924,44925,44926,44927,44928,44929,44930,44931,44932,44933,44934,44935,44936,44937,44938,44939,44940,44941,44942,44943,44944,44945,44946,44947,44948,44949,44950,44951,44952,44953,44954,44955,44956,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44984,44985,44986,44987,44988,44989,44990,44991,44992,44993,44994,44995,44996,44997,44998,44999,45000,45001,45002,45003,45004,45005,45006,45007,45008,45009,45010,45011,45012,45013,45014,45015,45016,45017,45018,45019,45020,45021,45022,45023,45024,45025,45026,45027,45028,45029,45030,45031,45032,45033,45034,45035,45036,45037,45038,45039,45040,45041,45042,45043,45044,45045,45046,45047,45048,45049,45050,45051,45052,45053,45054,45055,45056,45057,45058,45059,45060,45061,45062,45063,45064,45065,45066,45067,45068,45069,45070,45071,45072,45073,45074,45075,45076,45077,45078,45079,45080,45081,45082,45083,45084,45085,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45096,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45124,45125,45126,45127,45128,45129,45130,45131,45132,45133,45134,45135,45136,45137,45138,45139,45140,45141,45142,45143,45144,45145,45146,45147,45148,45149,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45180,45181,45182,45183,45184,45185,45186,45187,45188,45189,45190,45191,45192,45193,45194,45195,45196,45197,45198,45199,45200,45201,45202,45203,45204,45205,45206,45207,45208,45209,45210,45211,45212,45213,45214,45215,45216,45217,45218,45219,45220,45221,45222,45223,45224,45225,45226,45227,45228,45229,45230,45231,45232,45233,45234,45235,45236,45237,45238,45239,45240,45241,45242,45243,45244,45245,45246,45247,45248,45249,45250,45251,45252,45253,45254,45255,45256,45257,45258,45259,45260,45261,45262,45263,45264,45265,45266,45267,45268,45269,45270,45271,45272,45273,45274,45275,45276,45277,45278,45279,45280,45281,45282,45283,45284,45285,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45320,45321,45322,45323,45324,45325,45326,45327,45328,45329,45330,45331,45332,45333,45334,45335,45336,45337,45338,45339,45340,45341,45342,45343,45344,45345,45346,45347,45348,45349,45350,45351,45352,45353,45354,45355,45356,45357,45358,45359,45360,45361,45362,45363,45364,45365,45366,45367,45368,45369,45370,45371,45372,45373,45374,45375,45376,45377,45378,45379,45380,45381,45382,45383,45384,45385,45386,45387,45388,45389,45390,45391,45392,45393,45394,45395,45396,45397,45398,45399,45400,45401,45402,45403,45404,45405,45406,45407,45408,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45432,45433,45434,45435,45436,45437,45438,45439,45440,45441,45442,45443,45444,45445,45446,45447,45448,45449,45450,45451,45452,45453,45454,45455,45456,45457,45458,45459,45460,45461,45462,45463,45464,45465,45466,45467,45468,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45480,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45516,45517,45518,45519,45520,45521,45522,45523,45524,45525,45526,45527,45528,45529,45530,45531,45532,45533,45534,45535,45536,45537,45538,45539,45540,45541,45542,45543,45544,45545,45546,45547,45548,45549,45550,45551,45552,45553,45554,45555,45556,45557,45558,45559,45560,45561,45562,45563,45564,45565,45566,45567,45568,45569,45570,45571,45572,45573,45574,45575,45576,45577,45578,45579,45580,45581,45582,45583,45584,45585,45586,45587,45588,45589,45590,45591,45592,45593,45594,45595,45596,45597,45598,45599,45600,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45620,45621,45622,45623,45624,45625,45626,45627,45628,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45656,45657,45658,45659,45660,45661,45662,45663,45664,45665,45666,45667,45668,45669,45670,45671,45672,45673,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45684,45685,45686,45687,45688,45689,45690,45691,45692,45693,45694,45695,45696,45697,45698,45699,45700,45701,45702,45703,45704,45705,45706,45707,45708,45709,45710,45711,45712,45713,45714,45715,45716,45717,45718,45719,45720,45721,45722,45723,45724,45725,45726,45727,45728,45729,45730,45731,45732,45733,45734,45735,45736,45737,45738,45739,45740,45741,45742,45743,45744,45745,45746,45747,45748,45749,45750,45751,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45768,45769,45770,45771,45772,45773,45774,45775,45776,45777,45778,45779,45780,45781,45782,45783,45784,45785,45786,45787,45788,45789,45790,45791,45792,45793,45794,45795,45796,45797,45798,45799,45800,45801,45802,45803,45804,45805,45806,45807,45808,45809,45810,45811,45812,45813,45814,45815,45816,45817,45818,45819,45820,45821,45822,45823,45824,45825,45826,45827,45828,45829,45830,45831,45832,45833,45834,45835,45836,45837,45838,45839,45840,45841,45842,45843,45844,45845,45846,45847,45848,45849,45850,45851,45852,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45908,45909,45910,45911,45912,45913,45914,45915,45916,45917,45918,45919,45920,45921,45922,45923,45924,45925,45926,45927,45928,45929,45930,45931,45932,45933,45934,45935,45936,45937,45938,45939,45940,45941,45942,45943,45944,45945,45946,45947,45948,45949,45950,45951,45952,45953,45954,45955,45956,45957,45958,45959,45960,45961,45962,45963,45964,45965,45966,45967,45968,45969,45970,45971,45972,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45984,45985,45986,45987,45988,45989,45990,45991,45992,45993,45994,45995,45996,45997,45998,45999,46000,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46020,46021,46022,46023,46024,46025,46026,46027,46028,46029,46030,46031,46032,46033,46034,46035,46036,46037,46038,46039,46040,46041,46042,46043,46044,46045,46046,46047,46048,46049,46050,46051,46052,46053,46054,46055,46056,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46076,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46096,46097,46098,46099,46100,46101,46102,46103,46104,46105,46106,46107,46108,46109,46110,46111,46112,46113,46114,46115,46116,46117,46118,46119,46120,46121,46122,46123,46124,46125,46126,46127,46128,46129,46130,46131,46132,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46160,46161,46162,46163,46164,46165,46166,46167,46168,46169,46170,46171,46172,46173,46174,46175,46176,46177,46178,46179,46180,46181,46182,46183,46184,46185,46186,46187,46188,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46208,46209,46210,46211,46212,46213,46214,46215,46216,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46237,46238,46239,46240,46241,46242,46243,46244,46245,46246,46247,46248,46249,46250,46251,46252,46253,46254,46255,46256,46257,46258,46259,46260,46261,46262,46263,46264,46265,46266,46267,46268,46269,46270,46271,46272,46273,46274,46275,46276,46277,46278,46279,46280,46281,46282,46283,46284,46285,46286,46287,46288,46289,46290,46291,46292,46293,46294,46295,46296,46297,46298,46299,46300,46301,46302,46303,46304,46305,46306,46307,46308,46309,46310,46311,46312,46313,46314,46315,46316,46317,46318,46319,46320,46321,46322,46323,46324,46325,46326,46327,46328,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46356,46357,46358,46359,46360,46361,46362,46363,46364,46365,46366,46367,46368,46369,46370,46371,46372,46373,46374,46375,46376,46377,46378,46379,46380,46381,46382,46383,46384,46385,46386,46387,46388,46389,46390,46391,46392,46393,46394,46395,46396,46397,46398,46399,46400,46401,46402,46403,46404,46405,46406,46407,46408,46409,46410,46411,46412,46413,46414,46415,46416,46417,46418,46419,46420,46421,46422,46423,46424,46425,46426,46427,46428,46429,46430,46431,46432,46433,46434,46435,46436,46437,46438,46439,46440,46441,46442,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46496,46497,46498,46499,46500,46501,46502,46503,46504,46505,46506,46507,46508,46509,46510,46511,46512,46513,46514,46515,46516,46517,46518,46519,46520,46521,46522,46523,46524,46525,46526,46527,46528,46529,46530,46531,46532,46533,46534,46535,46536,46537,46538,46539,46540,46541,46542,46543,46544,46545,46546,46547,46548,46549,46550,46551,46552,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46572,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46608,46609,46610,46611,46612,46613,46614,46615,46616,46617,46618,46619,46620,46621,46622,46623,46624,46625,46626,46627,46628,46629,46630,46631,46632,46633,46634,46635,46636,46637,46638,46639,46640,46641,46642,46643,46644,46645,46646,46647,46648,46649,46650,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46664,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46692,46693,46694,46695,46696,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46748,46749,46750,46751,46752,46753,46754,46755,46756,46757,46758,46759,46760,46761,46762,46763,46764,46765,46766,46767,46768,46769,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46804,46805,46806,46807,46808,46809,46810,46811,46812,46813,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46832,46833,46834,46835,46836,46837,46838,46839,46840,46841,46842,46843,46844,46845,46846,46847,46848,46849,46850,46851,46852,46853,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46888,46889,46890,46891,46892,46893,46894,46895,46896,46897,46898,46899,46900,46901,46902,46903,46904,46905,46906,46907,46908,46909,46910,46911,46912,46913,46914,46915,46916,46917,46918,46919,46920,46921,46922,46923,46924,46925,46926,46927,46928,46929,46930,46931,46932,46933,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46944,46945,46946,46947,46948,46949,46950,46951,46952,46953,46954,46955,46956,46957,46958,46959,46960,46961,46962,46963,46964,46965,46966,46967,46968,46969,46970,46971,46972,46973,46974,46975,46976,46977,46978,46979,46980,46981,46982,46983,46984,46985,46986,46987,46988,46989,46990,46991,46992,46993,46994,46995,46996,46997,46998,46999,47000,47001,47002,47003,47004,47005,47006,47007,47008,47009,47010,47011,47012,47013,47014,47015,47016,47017,47018,47019,47020,47021,47022,47023,47024,47025,47026,47027,47028,47029,47030,47031,47032,47033,47034,47035,47036,47037,47038,47039,47040,47041,47042,47043,47044,47045,47046,47047,47048,47049,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47084,47085,47086,47087,47088,47089,47090,47091,47092,47093,47094,47095,47096,47097,47098,47099,47100,47101,47102,47103,47104,47105,47106,47107,47108,47109,47110,47111,47112,47113,47114,47115,47116,47117,47118,47119,47120,47121,47122,47123,47124,47125,47126,47127,47128,47129,47130,47131,47132,47133,47134,47135,47136,47137,47138,47139,47140,47141,47142,47143,47144,47145,47146,47147,47148,47149,47150,47151,47152,47153,47154,47155,47156,47157,47158,47159,47160,47161,47162,47163,47164,47165,47166,47167,47168,47169,47170,47171,47172,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47185,47186,47187,47188,47189,47190,47191,47192,47193,47194,47195,47196,47197,47198,47199,47200,47201,47202,47203,47204,47205,47206,47207,47208,47209,47210,47211,47212,47213,47214,47215,47216,47217,47218,47219,47220,47221,47222,47223,47224,47225,47226,47227,47228,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47245,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,47264,47265,47266,47267,47268,47269,47270,47271,47272,47273,47274,47275,47276,47277,47278,47279,47280,47281,47282,47283,47284,47285,47286,47287,47288,47289,47290,47291,47292,47293,47294,47295,47296,47297,47298,47299,47300,47301,47302,47303,47304,47305,47306,47307,47308,47309,47310,47311,47312,47313,47314,47315,47316,47317,47318,47319,47320,47321,47322,47323,47324,47325,47326,47327,47328,47329,47330,47331,47332,47333,47334,47335,47336,47337,47338,47339,47340,47341,47342,47343,47344,47345,47346,47347,47348,47349,47350,47351,47352,47353,47354,47355,47356,47357,47358,47359,47360,47361,47362,47363,47364,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47384,47385,47386,47387,47388,47389,47390,47391,47392,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47420,47421,47422,47423,47424,47425,47426,47427,47428,47429,47430,47431,47432,47433,47434,47435,47436,47437,47438,47439,47440,47441,47442,47443,47444,47445,47446,47447,47448,47449,47450,47451,47452,47453,47454,47455,47456,47457,47458,47459,47460,47461,47462,47463,47464,47465,47466,47467,47468,47469,47470,47471,47472,47473,47474,47475,47476,47477,47478,47479,47480,47481,47482,47483,47484,47485,47486,47487,47488,47489,47490,47491,47492,47493,47494,47495,47496,47497,47498,47499,47500,47501,47502,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47532,47533,47534,47535,47536,47537,47538,47539,47540,47541,47542,47543,47544,47545,47546,47547,47548,47549,47550,47551,47552,47553,47554,47555,47556,47557,47558,47559,47560,47561,47562,47563,47564,47565,47566,47567,47568,47569,47570,47571,47572,47573,47574,47575,47576,47577,47578,47579,47580,47581,47582,47583,47584,47585,47586,47587,47588,47589,47590,47591,47592,47593,47594,47595,47596,47597,47598,47599,47600,47601,47602,47603,47604,47605,47606,47607,47608,47609,47610,47611,47612,47613,47614,47615,47616,47617,47618,47619,47620,47621,47622,47623,47624,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47637,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47672,47673,47674,47675,47676,47677,47678,47679,47680,47681,47682,47683,47684,47685,47686,47687,47688,47689,47690,47691,47692,47693,47694,47695,47696,47697,47698,47699,47700,47701,47702,47703,47704,47705,47706,47707,47708,47709,47710,47711,47712,47713,47714,47715,47716,47717,47718,47719,47720,47721,47722,47723,47724,47725,47726,47727,47728,47729,47730,47731,47732,47733,47734,47735,47736,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47747,47748,47749,47750,47751,47752,47753,47754,47755,47756,47757,47758,47759,47760,47761,47762,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47784,47785,47786,47787,47788,47789,47790,47791,47792,47793,47794,47795,47796,47797,47798,47799,47800,47801,47802,47803,47804,47805,47806,47807,47808,47809,47810,47811,47812,47813,47814,47815,47816,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47832,47833,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47868,47869,47870,47871,47872,47873,47874,47875,47876,47877,47878,47879,47880,47881,47882,47883,47884,47885,47886,47887,47888,47889,47890,47891,47892,47893,47894,47895,47896,47897,47898,47899,47900,47901,47902,47903,47904,47905,47906,47907,47908,47909,47910,47911,47912,47913,47914,47915,47916,47917,47918,47919,47920,47921,47922,47923,47924,47925,47926,47927,47928,47929,47930,47931,47932,47933,47934,47935,47936,47937,47938,47939,47940,47941,47942,47943,47944,47945,47946,47947,47948,47949,47950,47951,47952,47953,47954,47955,47956,47957,47958,47959,47960,47961,47962,47963,47964,47965,47966,47967,47968,47969,47970,47971,47972,47973,47974,47975,47976,47977,47978,47979,47980,47981,47982,47983,47984,47985,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48000,48001,48002,48003,48004,48005,48006,48007,48008,48009,48010,48011,48012,48013,48014,48015,48016,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48036,48037,48038,48039,48040,48041,48042,48043,48044,48045,48046,48047,48048,48049,48050,48051,48052,48053,48054,48055,48056,48057,48058,48059,48060,48061,48062,48063,48064,48065,48066,48067,48068,48069,48070,48071,48072,48073,48074,48075,48076,48077,48078,48079,48080,48081,48082,48083,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48120,48121,48122,48123,48124,48125,48126,48127,48128,48129,48130,48131,48132,48133,48134,48135,48136,48137,48138,48139,48140,48141,48142,48143,48144,48145,48146,48147,48148,48149,48150,48151,48152,48153,48154,48155,48156,48157,48158,48159,48160,48161,48162,48163,48164,48165,48166,48167,48168,48169,48170,48171,48172,48173,48174,48175,48176,48177,48178,48179,48180,48181,48182,48183,48184,48185,48186,48187,48188,48189,48190,48191,48192,48193,48194,48195,48196,48197,48198,48199,48200,48201,48202,48203,48204,48205,48206,48207,48208,48209,48210,48211,48212,48213,48214,48215,48216,48217,48218,48219,48220,48221,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48260,48261,48262,48263,48264,48265,48266,48267,48268,48269,48270,48271,48272,48273,48274,48275,48276,48277,48278,48279,48280,48281,48282,48283,48284,48285,48286,48287,48288,48289,48290,48291,48292,48293,48294,48295,48296,48297,48298,48299,48300,48301,48302,48303,48304,48305,48306,48307,48308,48309,48310,48311,48312,48313,48314,48315,48316,48317,48318,48319,48320,48321,48322,48323,48324,48325,48326,48327,48328,48329,48330,48331,48332,48333,48334,48335,48336,48337,48338,48339,48340,48341,48342,48343,48344,48345,48346,48347,48348,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48372,48373,48374,48375,48376,48377,48378,48379,48380,48381,48382,48383,48384,48385,48386,48387,48388,48389,48390,48391,48392,48393,48394,48395,48396,48397,48398,48399,48400,48401,48402,48403,48404,48405,48406,48407,48408,48409,48410,48411,48412,48413,48414,48415,48416,48417,48418,48419,48420,48421,48422,48423,48424,48425,48426,48427,48428,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,48442,48443,48444,48445,48446,48447,48448,48449,48450,48451,48452,48453,48454,48455,48456,48457,48458,48459,48460,48461,48462,48463,48464,48465,48466,48467,48468,48469,48470,48471,48472,48473,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48484,48485,48486,48487,48488,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48512,48513,48514,48515,48516,48517,48518,48519,48520,48521,48522,48523,48524,48525,48526,48527,48528,48529,48530,48531,48532,48533,48534,48535,48536,48537,48538,48539,48540,48541,48542,48543,48544,48545,48546,48547,48548,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48560,48561,48562,48563,48564,48565,48566,48567,48568,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48596,48597,48598,48599,48600,48601,48602,48603,48604,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48617,48618,48619,48620,48621,48622,48623,48624,48625,48626,48627,48628,48629,48630,48631,48632,48633,48634,48635,48636,48637,48638,48639,48640,48641,48642,48643,48644,48645,48646,48647,48648,48649,48650,48651,48652,48653,48654,48655,48656,48657,48658,48659,48660,48661,48662,48663,48664,48665,48666,48667,48668,48669,48670,48671,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48708,48709,48710,48711,48712,48713,48714,48715,48716,48717,48718,48719,48720,48721,48722,48723,48724,48725,48726,48727,48728,48729,48730,48731,48732,48733,48734,48735,48736,48737,48738,48739,48740,48741,48742,48743,48744,48745,48746,48747,48748,48749,48750,48751,48752,48753,48754,48755,48756,48757,48758,48759,48760,48761,48762,48763,48764,48765,48766,48767,48768,48769,48770,48771,48772,48773,48774,48775,48776,48777,48778,48779,48780,48781,48782,48783,48784,48785,48786,48787,48788,48789,48790,48791,48792,48793,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48808,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48848,48849,48850,48851,48852,48853,48854,48855,48856,48857,48858,48859,48860,48861,48862,48863,48864,48865,48866,48867,48868,48869,48870,48871,48872,48873,48874,48875,48876,48877,48878,48879,48880,48881,48882,48883,48884,48885,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48897,48898,48899,48900,48901,48902,48903,48904,48905,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48920,48921,48922,48923,48924,48925,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48960,48961,48962,48963,48964,48965,48966,48967,48968,48969,48970,48971,48972,48973,48974,48975,48976,48977,48978,48979,48980,48981,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49000,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49044,49045,49046,49047,49048,49049,49050,49051,49052,49053,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49072,49073,49074,49075,49076,49077,49078,49079,49080,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49093,49094,49095,49096,49097,49098,49099,49100,49101,49102,49103,49104,49105,49106,49107,49108,49109,49110,49111,49112,49113,49114,49115,49116,49117,49118,49119,49120,49121,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49212,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49233,49234,49235,49236,49237,49238,49239,49240,49241,49242,49243,49244,49245,49246,49247,49248,49249,49250,49251,49252,49253,49254,49255,49256,49257,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49296,49297,49298,49299,49300,49301,49302,49303,49304,49305,49306,49307,49308,49309,49310,49311,49312,49313,49314,49315,49316,49317,49318,49319,49320,49321,49322,49323,49324,49325,49326,49327,49328,49329,49330,49331,49332,49333,49334,49335,49336,49337,49338,49339,49340,49341,49342,49343,49344,49345,49346,49347,49348,49349,49350,49351,49352,49353,49354,49355,49356,49357,49358,49359,49360,49361,49362,49363,49364,49365,49366,49367,49368,49369,49370,49371,49372,49373,49374,49375,49376,49377,49378,49379,49380,49381,49382,49383,49384,49385,49386,49387,49388,49389,49390,49391,49392,49393,49394,49395,49396,49397,49398,49399,49400,49401,49402,49403,49404,49405,49406,49407,49408,49409,49410,49411,49412,49413,49414,49415,49416,49417,49418,49419,49420,49421,49422,49423,49424,49425,49426,49427,49428,49429,49430,49431,49432,49433,49434,49435,49436,49437,49438,49439,49440,49441,49442,49443,49444,49445,49446,49447,49448,49449,49450,49451,49452,49453,49454,49455,49456,49457,49458,49459,49460,49461,49462,49463,49464,49465,49466,49467,49468,49469,49470,49471,49472,49473,49474,49475,49476,49477,49478,49479,49480,49481,49482,49483,49484,49485,49486,49487,49488,49489,49490,49491,49492,49493,49494,49495,49496,49497,49498,49499,49500,49501,49502,49503,49504,49505,49506,49507,49508,49509,49510,49511,49512,49513,49514,49515,49516,49517,49518,49519,49520,49521,49522,49523,49524,49525,49526,49527,49528,49529,49530,49531,49532,49533,49534,49535,49536,49537,49538,49539,49540,49541,49542,49543,49544,49545,49546,49547,49548,49549,49550,49551,49552,49553,49554,49555,49556,49557,49558,49559,49560,49561,49562,49563,49564,49565,49566,49567,49568,49569,49570,49571,49572,49573,49574,49575,49576,49577,49578,49579,49580,49581,49582,49583,49584,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49597,49598,49599,49600,49601,49602,49603,49604,49605,49606,49607,49608,49609,49610,49611,49612,49613,49614,49615,49616,49617,49618,49619,49620,49621,49622,49623,49624,49625,49626,49627,49628,49629,49630,49631,49632,49633,49634,49635,49636,49637,49638,49639,49640,49641,49642,49643,49644,49645,49646,49647,49648,49649,49650,49651,49652,49653,49654,49655,49656,49657,49658,49659,49660,49661,49662,49663,49664,49665,49666,49667,49668,49669,49670,49671,49672,49673,49674,49675,49676,49677,49678,49679,49680,49681,49682,49683,49684,49685,49686,49687,49688,49689,49690,49691,49692,49693,49694,49695,49696,49697,49698,49699,49700,49701,49702,49703,49704,49705,49706,49707,49708,49709,49710,49711,49712,49713,49714,49715,49716,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,49734,49735,49736,49737,49738,49739,49740,49741,49742,49743,49744,49745,49746,49747,49748,49749,49750,49751,49752,49753,49754,49755,49756,49757,49758,49759,49760,49761,49762,49763,49764,49765,49766,49767,49768,49769,49770,49771,49772,49773,49774,49775,49776,49777,49778,49779,49780,49781,49782,49783,49784,49785,49786,49787,49788,49789,49790,49791,49792,49793,49794,49795,49796,49797,49798,49799,49800,49801,49802,49803,49804,49805,49806,49807,49808,49809,49810,49811,49812,49813,49814,49815,49816,49817,49818,49819,49820,49821,49822,49823,49824,49825,49826,49827,49828,49829,49830,49831,49832,49833,49834,49835,49836,49837,49838,49839,49840,49841,49842,49843,49844,49845,49846,49847,49848,49849,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49884,49885,49886,49887,49888,49889,49890,49891,49892,49893,49894,49895,49896,49897,49898,49899,49900,49901,49902,49903,49904,49905,49906,49907,49908,49909,49910,49911,49912,49913,49914,49915,49916,49917,49918,49919,49920,49921,49922,49923,49924,49925,49926,49927,49928,49929,49930,49931,49932,49933,49934,49935,49936,49937,49938,49939,49940,49941,49942,49943,49944,49945,49946,49947,49948,49949,49950,49951,49952,49953,49954,49955,49956,49957,49958,49959,49960,49961,49962,49963,49964,49965,49966,49967,49968,49969,49970,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49989,49990,49991,49992,49993,49994,49995,49996,49997,49998,49999,50000,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50024,50025,50026,50027,50028,50029,50030,50031,50032,50033,50034,50035,50036,50037,50038,50039,50040,50041,50042,50043,50044,50045,50046,50047,50048,50049,50050,50051,50052,50053,50054,50055,50056,50057,50058,50059,50060,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50112,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50136,50137,50138,50139,50140,50141,50142,50143,50144,50145,50146,50147,50148,50149,50150,50151,50152,50153,50154,50155,50156,50157,50158,50159,50160,50161,50162,50163,50164,50165,50166,50167,50168,50169,50170,50171,50172,50173,50174,50175,50176,50177,50178,50179,50180,50181,50182,50183,50184,50185,50186,50187,50188,50189,50190,50191,50192,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,50203,50204,50205,50206,50207,50208,50209,50210,50211,50212,50213,50214,50215,50216,50217,50218,50219,50220,50221,50222,50223,50224,50225,50226,50227,50228,50229,50230,50231,50232,50233,50234,50235,50236,50237,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50248,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50276,50277,50278,50279,50280,50281,50282,50283,50284,50285,50286,50287,50288,50289,50290,50291,50292,50293,50294,50295,50296,50297,50298,50299,50300,50301,50302,50303,50304,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50324,50325,50326,50327,50328,50329,50330,50331,50332,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50360,50361,50362,50363,50364,50365,50366,50367,50368,50369,50370,50371,50372,50373,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,50400,50401,50402,50403,50404,50405,50406,50407,50408,50409,50410,50411,50412,50413,50414,50415,50416,50417,50418,50419,50420,50421,50422,50423,50424,50425,50426,50427,50428,50429,50430,50431,50432,50433,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50444,50445,50446,50447,50448,50449,50450,50451,50452,50453,50454,50455,50456,50457,50458,50459,50460,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50472,50473,50474,50475,50476,50477,50478,50479,50480,50481,50482,50483,50484,50485,50486,50487,50488,50489,50490,50491,50492,50493,50494,50495,50496,50497,50498,50499,50500,50501,50502,50503,50504,50505,50506,50507,50508,50509,50510,50511,50512,50513,50514,50515,50516,50517,50518,50519,50520,50521,50522,50523,50524,50525,50526,50527,50528,50529,50530,50531,50532,50533,50534,50535,50536,50537,50538,50539,50540,50541,50542,50543,50544,50545,50546,50547,50548,50549,50550,50551,50552,50553,50554,50555,50556,50557,50558,50559,50560,50561,50562,50563,50564,50565,50566,50567,50568,50569,50570,50571,50572,50573,50574,50575,50576,50577,50578,50579,50580,50581,50582,50583,50584,50585,50586,50587,50588,50589,50590,50591,50592,50593,50594,50595,50596,50597,50598,50599,50600,50601,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50612,50613,50614,50615,50616,50617,50618,50619,50620,50621,50622,50623,50624,50625,50626,50627,50628,50629,50630,50631,50632,50633,50634,50635,50636,50637,50638,50639,50640,50641,50642,50643,50644,50645,50646,50647,50648,50649,50650,50651,50652,50653,50654,50655,50656,50657,50658,50659,50660,50661,50662,50663,50664,50665,50666,50667,50668,50669,50670,50671,50672,50673,50674,50675,50676,50677,50678,50679,50680,50681,50682,50683,50684,50685,50686,50687,50688,50689,50690,50691,50692,50693,50694,50695,50696,50697,50698,50699,50700,50701,50702,50703,50704,50705,50706,50707,50708,50709,50710,50711,50712,50713,50714,50715,50716,50717,50718,50719,50720,50721,50722,50723,50724,50725,50726,50727,50728,50729,50730,50731,50732,50733,50734,50735,50736,50737,50738,50739,50740,50741,50742,50743,50744,50745,50746,50747,50748,50749,50750,50751,50752,50753,50754,50755,50756,50757,50758,50759,50760,50761,50762,50763,50764,50765,50766,50767,50768,50769,50770,50771,50772,50773,50774,50775,50776,50777,50778,50779,50780,50781,50782,50783,50784,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50796,50797,50798,50799,50800,50801,50802,50803,50804,50805,50806,50807,50808,50809,50810,50811,50812,50813,50814,50815,50816,50817,50818,50819,50820,50821,50822,50823,50824,50825,50826,50827,50828,50829,50830,50831,50832,50833,50834,50835,50836,50837,50838,50839,50840,50841,50842,50843,50844,50845,50846,50847,50848,50849,50850,50851,50852,50853,50854,50855,50856,50857,50858,50859,50860,50861,50862,50863,50864,50865,50866,50867,50868,50869,50870,50871,50872,50873,50874,50875,50876,50877,50878,50879,50880,50881,50882,50883,50884,50885,50886,50887,50888,50889,50890,50891,50892,50893,50894,50895,50896,50897,50898,50899,50900,50901,50902,50903,50904,50905,50906,50907,50908,50909,50910,50911,50912,50913,50914,50915,50916,50917,50918,50919,50920,50921,50922,50923,50924,50925,50926,50927,50928,50929,50930,50931,50932,50933,50934,50935,50936,50937,50938,50939,50940,50941,50942,50943,50944,50945,50946,50947,50948,50949,50950,50951,50952,50953,50954,50955,50956,50957,50958,50959,50960,50961,50962,50963,50964,50965,50966,50967,50968,50969,50970,50971,50972,50973,50974,50975,50976,50977,50978,50979,50980,50981,50982,50983,50984,50985,50986,50987,50988,50989,50990,50991,50992,50993,50994,50995,50996,50997,50998,50999,51000,51001,51002,51003,51004,51005,51006,51007,51008,51009,51010,51011,51012,51013,51014,51015,51016,51017,51018,51019,51020,51021,51022,51023,51024,51025,51026,51027,51028,51029,51030,51031,51032,51033,51034,51035,51036,51037,51038,51039,51040,51041,51042,51043,51044,51045,51046,51047,51048,51049,51050,51051,51052,51053,51054,51055,51056,51057,51058,51059,51060,51061,51062,51063,51064,51065,51066,51067,51068,51069,51070,51071,51072,51073,51074,51075,51076,51077,51078,51079,51080,51081,51082,51083,51084,51085,51086,51087,51088,51089,51090,51091,51092,51093,51094,51095,51096,51097,51098,51099,51100,51101,51102,51103,51104,51105,51106,51107,51108,51109,51110,51111,51112,51113,51114,51115,51116,51117,51118,51119,51120,51121,51122,51123,51124,51125,51126,51127,51128,51129,51130,51131,51132,51133,51134,51135,51136,51137,51138,51139,51140,51141,51142,51143,51144,51145,51146,51147,51148,51149,51150,51151,51152,51153,51154,51155,51156,51157,51158,51159,51160,51161,51162,51163,51164,51165,51166,51167,51168,51169,51170,51171,51172,51173,51174,51175,51176,51177,51178,51179,51180,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,51195,51196,51197,51198,51199,51200,51201,51202,51203,51204,51205,51206,51207,51208,51209,51210,51211,51212,51213,51214,51215,51216,51217,51218,51219,51220,51221,51222,51223,51224,51225,51226,51227,51228,51229,51230,51231,51232,51233,51234,51235,51236,51237,51238,51239,51240,51241,51242,51243,51244,51245,51246,51247,51248,51249,51250,51251,51252,51253,51254,51255,51256,51257,51258,51259,51260,51261,51262,51263,51264,51265,51266,51267,51268,51269,51270,51271,51272,51273,51274,51275,51276,51277,51278,51279,51280,51281,51282,51283,51284,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51312,51313,51314,51315,51316,51317,51318,51319,51320,51321,51322,51323,51324,51325,51326,51327,51328,51329,51330,51331,51332,51333,51334,51335,51336,51337,51338,51339,51340,51341,51342,51343,51344,51345,51346,51347,51348,51349,51350,51351,51352,51353,51354,51355,51356,51357,51358,51359,51360,51361,51362,51363,51364,51365,51366,51367,51368,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51388,51389,51390,51391,51392,51393,51394,51395,51396,51397,51398,51399,51400,51401,51402,51403,51404,51405,51406,51407,51408,51409,51410,51411,51412,51413,51414,51415,51416,51417,51418,51419,51420,51421,51422,51423,51424,51425,51426,51427,51428,51429,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51445,51446,51447,51448,51449,51450,51451,51452,51453,51454,51455,51456,51457,51458,51459,51460,51461,51462,51463,51464,51465,51466,51467,51468,51469,51470,51471,51472,51473,51474,51475,51476,51477,51478,51479,51480,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,51500,51501,51502,51503,51504,51505,51506,51507,51508,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,51528,51529,51530,51531,51532,51533,51534,51535,51536,51537,51538,51539,51540,51541,51542,51543,51544,51545,51546,51547,51548,51549,51550,51551,51552,51553,51554,51555,51556,51557,51558,51559,51560,51561,51562,51563,51564,51565,51566,51567,51568,51569,51570,51571,51572,51573,51574,51575,51576,51577,51578,51579,51580,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51592,51593,51594,51595,51596,51597,51598,51599,51600,51601,51602,51603,51604,51605,51606,51607,51608,51609,51610,51611,51612,51613,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51648,51649,51650,51651,51652,51653,51654,51655,51656,51657,51658,51659,51660,51661,51662,51663,51664,51665,51666,51667,51668,51669,51670,51671,51672,51673,51674,51675,51676,51677,51678,51679,51680,51681,51682,51683,51684,51685,51686,51687,51688,51689,51690,51691,51692,51693,51694,51695,51696,51697,51698,51699,51700,51701,51702,51703,51704,51705,51706,51707,51708,51709,51710,51711,51712,51713,51714,51715,51716,51717,51718,51719,51720,51721,51722,51723,51724,51725,51726,51727,51728,51729,51730,51731,51732,51733,51734,51735,51736,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,51750,51751,51752,51753,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,51783,51784,51785,51786,51787,51788,51789,51790,51791,51792,51793,51794,51795,51796,51797,51798,51799,51800,51801,51802,51803,51804,51805,51806,51807,51808,51809,51810,51811,51812,51813,51814,51815,51816,51817,51818,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51837,51838,51839,51840,51841,51842,51843,51844,51845,51846,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51864,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51900,51901,51902,51903,51904,51905,51906,51907,51908,51909,51910,51911,51912,51913,51914,51915,51916,51917,51918,51919,51920,51921,51922,51923,51924,51925,51926,51927,51928,51929,51930,51931,51932,51933,51934,51935,51936,51937,51938,51939,51940,51941,51942,51943,51944,51945,51946,51947,51948,51949,51950,51951,51952,51953,51954,51955,51956,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51976,51977,51978,51979,51980,51981,51982,51983,51984,51985,51986,51987,51988,51989,51990,51991,51992,51993,51994,51995,51996,51997,51998,51999,52000,52001,52002,52003,52004,52005,52006,52007,52008,52009,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52033,52034,52035,52036,52037,52038,52039,52040,52041,52042,52043,52044,52045,52046,52047,52048,52049,52050,52051,52052,52053,52054,52055,52056,52057,52058,52059,52060,52061,52062,52063,52064,52065,52066,52067,52068,52069,52070,52071,52072,52073,52074,52075,52076,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52088,52089,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52124,52125,52126,52127,52128,52129,52130,52131,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52152,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52180,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,52192,52193,52194,52195,52196,52197,52198,52199,52200,52201,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52236,52237,52238,52239,52240,52241,52242,52243,52244,52245,52246,52247,52248,52249,52250,52251,52252,52253,52254,52255,52256,52257,52258,52259,52260,52261,52262,52263,52264,52265,52266,52267,52268,52269,52270,52271,52272,52273,52274,52275,52276,52277,52278,52279,52280,52281,52282,52283,52284,52285,52286,52287,52288,52289,52290,52291,52292,52293,52294,52295,52296,52297,52298,52299,52300,52301,52302,52303,52304,52305,52306,52307,52308,52309,52310,52311,52312,52313,52314,52315,52316,52317,52318,52319,52320,52321,52322,52323,52324,52325,52326,52327,52328,52329,52330,52331,52332,52333,52334,52335,52336,52337,52338,52339,52340,52341,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,52372,52373,52374,52375,52376,52377,52378,52379,52380,52381,52382,52383,52384,52385,52386,52387,52388,52389,52390,52391,52392,52393,52394,52395,52396,52397,52398,52399,52400,52401,52402,52403,52404,52405,52406,52407,52408,52409,52410,52411,52412,52413,52414,52415,52416,52417,52418,52419,52420,52421,52422,52423,52424,52425,52426,52427,52428,52429,52430,52431,52432,52433,52434,52435,52436,52437,52438,52439,52440,52441,52442,52443,52444,52445,52446,52447,52448,52449,52450,52451,52452,52453,52454,52455,52456,52457,52458,52459,52460,52461,52462,52463,52464,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,52478,52479,52480,52481,52482,52483,52484,52485,52486,52487,52488,52489,52490,52491,52492,52493,52494,52495,52496,52497,52498,52499,52500,52501,52502,52503,52504,52505,52506,52507,52508,52509,52510,52511,52512,52513,52514,52515,52516,52517,52518,52519,52520,52521,52522,52523,52524,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52537,52538,52539,52540,52541,52542,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52572,52573,52574,52575,52576,52577,52578,52579,52580,52581,52582,52583,52584,52585,52586,52587,52588,52589,52590,52591,52592,52593,52594,52595,52596,52597,52598,52599,52600,52601,52602,52603,52604,52605,52606,52607,52608,52609,52610,52611,52612,52613,52614,52615,52616,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52628,52629,52630,52631,52632,52633,52634,52635,52636,52637,52638,52639,52640,52641,52642,52643,52644,52645,52646,52647,52648,52649,52650,52651,52652,52653,52654,52655,52656,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52676,52677,52678,52679,52680,52681,52682,52683,52684,52685,52686,52687,52688,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,52706,52707,52708,52709,52710,52711,52712,52713,52714,52715,52716,52717,52718,52719,52720,52721,52722,52723,52724,52725,52726,52727,52728,52729,52730,52731,52732,52733,52734,52735,52736,52737,52738,52739,52740,52741,52742,52743,52744,52745,52746,52747,52748,52749,52750,52751,52752,52753,52754,52755,52756,52757,52758,52759,52760,52761,52762,52763,52764,52765,52766,52767,52768,52769,52770,52771,52772,52773,52774,52775,52776,52777,52778,52779,52780,52781,52782,52783,52784,52785,52786,52787,52788,52789,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52824,52825,52826,52827,52828,52829,52830,52831,52832,52833,52834,52835,52836,52837,52838,52839,52840,52841,52842,52843,52844,52845,52846,52847,52848,52849,52850,52851,52852,52853,52854,52855,52856,52857,52858,52859,52860,52861,52862,52863,52864,52865,52866,52867,52868,52869,52870,52871,52872,52873,52874,52875,52876,52877,52878,52879,52880,52881,52882,52883,52884,52885,52886,52887,52888,52889,52890,52891,52892,52893,52894,52895,52896,52897,52898,52899,52900,52901,52902,52903,52904,52905,52906,52907,52908,52909,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,52923,52924,52925,52926,52927,52928,52929,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52964,52965,52966,52967,52968,52969,52970,52971,52972,52973,52974,52975,52976,52977,52978,52979,52980,52981,52982,52983,52984,52985,52986,52987,52988,52989,52990,52991,52992,52993,52994,52995,52996,52997,52998,52999,53000,53001,53002,53003,53004,53005,53006,53007,53008,53009,53010,53011,53012,53013,53014,53015,53016,53017,53018,53019,53020,53021,53022,53023,53024,53025,53026,53027,53028,53029,53030,53031,53032,53033,53034,53035,53036,53037,53038,53039,53040,53041,53042,53043,53044,53045,53046,53047,53048,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53076,53077,53078,53079,53080,53081,53082,53083,53084,53085,53086,53087,53088,53089,53090,53091,53092,53093,53094,53095,53096,53097,53098,53099,53100,53101,53102,53103,53104,53105,53106,53107,53108,53109,53110,53111,53112,53113,53114,53115,53116,53117,53118,53119,53120,53121,53122,53123,53124,53125,53126,53127,53128,53129,53130,53131,53132,53133,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53153,53154,53155,53156,53157,53158,53159,53160,53161,53162,53163,53164,53165,53166,53167,53168,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53188,53189,53190,53191,53192,53193,53194,53195,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53216,53217,53218,53219,53220,53221,53222,53223,53224,53225,53226,53227,53228,53229,53230,53231,53232,53233,53234,53235,53236,53237,53238,53239,53240,53241,53242,53243,53244,53245,53246,53247,53248,53249,53250,53251,53252,53253,53254,53255,53256,53257,53258,53259,53260,53261,53262,53263,53264,53265,53266,53267,53268,53269,53270,53271,53272,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,53293,53294,53295,53296,53297,53298,53299,53300,53301,53302,53303,53304,53305,53306,53307,53308,53309,53310,53311,53312,53313,53314,53315,53316,53317,53318,53319,53320,53321,53322,53323,53324,53325,53326,53327,53328,53329,53330,53331,53332,53333,53334,53335,53336,53337,53338,53339,53340,53341,53342,53343,53344,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53356,53357,53358,53359,53360,53361,53362,53363,53364,53365,53366,53367,53368,53369,53370,53371,53372,53373,53374,53375,53376,53377,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53412,53413,53414,53415,53416,53417,53418,53419,53420,53421,53422,53423,53424,53425,53426,53427,53428,53429,53430,53431,53432,53433,53434,53435,53436,53437,53438,53439,53440,53441,53442,53443,53444,53445,53446,53447,53448,53449,53450,53451,53452,53453,53454,53455,53456,53457,53458,53459,53460,53461,53462,53463,53464,53465,53466,53467,53468,53469,53470,53471,53472,53473,53474,53475,53476,53477,53478,53479,53480,53481,53482,53483,53484,53485,53486,53487,53488,53489,53490,53491,53492,53493,53494,53495,53496,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,53509,53510,53511,53512,53513,53514,53515,53516,53517,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53552,53553,53554,53555,53556,53557,53558,53559,53560,53561,53562,53563,53564,53565,53566,53567,53568,53569,53570,53571,53572,53573,53574,53575,53576,53577,53578,53579,53580,53581,53582,53583,53584,53585,53586,53587,53588,53589,53590,53591,53592,53593,53594,53595,53596,53597,53598,53599,53600,53601,53602,53603,53604,53605,53606,53607,53608,53609,53610,53611,53612,53613,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53628,53629,53630,53631,53632,53633,53634,53635,53636,53637,53638,53639,53640,53641,53642,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53664,53665,53666,53667,53668,53669,53670,53671,53672,53673,53674,53675,53676,53677,53678,53679,53680,53681,53682,53683,53684,53685,53686,53687,53688,53689,53690,53691,53692,53693,53694,53695,53696,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,53712,53713,53714,53715,53716,53717,53718,53719,53720,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,53739,53740,53741,53742,53743,53744,53745,53746,53747,53748,53749,53750,53751,53752,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,53767,53768,53769,53770,53771,53772,53773,53774,53775,53776,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,53802,53803,53804,53805,53806,53807,53808,53809,53810,53811,53812,53813,53814,53815,53816,53817,53818,53819,53820,53821,53822,53823,53824,53825,53826,53827,53828,53829,53830,53831,53832,53833,53834,53835,53836,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53852,53853,53854,53855,53856,53857,53858,53859,53860,53861,53862,53863,53864,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53888,53889,53890,53891,53892,53893,53894,53895,53896,53897,53898,53899,53900,53901,53902,53903,53904,53905,53906,53907,53908,53909,53910,53911,53912,53913,53914,53915,53916,53917,53918,53919,53920,53921,53922,53923,53924,53925,53926,53927,53928,53929,53930,53931,53932,53933,53934,53935,53936,53937,53938,53939,53940,53941,53942,53943,53944,53945,53946,53947,53948,53949,53950,53951,53952,53953,53954,53955,53956,53957,53958,53959,53960,53961,53962,53963,53964,53965,53966,53967,53968,53969,53970,53971,53972,53973,53974,53975,53976,53977,53978,53979,53980,53981,53982,53983,53984,53985,53986,53987,53988,53989,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54000,54001,54002,54003,54004,54005,54006,54007,54008,54009,54010,54011,54012,54013,54014,54015,54016,54017,54018,54019,54020,54021,54022,54023,54024,54025,54026,54027,54028,54029,54030,54031,54032,54033,54034,54035,54036,54037,54038,54039,54040,54041,54042,54043,54044,54045,54046,54047,54048,54049,54050,54051,54052,54053,54054,54055,54056,54057,54058,54059,54060,54061,54062,54063,54064,54065,54066,54067,54068,54069,54070,54071,54072,54073,54074,54075,54076,54077,54078,54079,54080,54081,54082,54083,54084,54085,54086,54087,54088,54089,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54140,54141,54142,54143,54144,54145,54146,54147,54148,54149,54150,54151,54152,54153,54154,54155,54156,54157,54158,54159,54160,54161,54162,54163,54164,54165,54166,54167,54168,54169,54170,54171,54172,54173,54174,54175,54176,54177,54178,54179,54180,54181,54182,54183,54184,54185,54186,54187,54188,54189,54190,54191,54192,54193,54194,54195,54196,54197,54198,54199,54200,54201,54202,54203,54204,54205,54206,54207,54208,54209,54210,54211,54212,54213,54214,54215,54216,54217,54218,54219,54220,54221,54222,54223,54224,54225,54226,54227,54228,54229,54230,54231,54232,54233,54234,54235,54236,54237,54238,54239,54240,54241,54242,54243,54244,54245,54246,54247,54248,54249,54250,54251,54252,54253,54254,54255,54256,54257,54258,54259,54260,54261,54262,54263,54264,54265,54266,54267,54268,54269,54270,54271,54272,54273,54274,54275,54276,54277,54278,54279,54280,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,54295,54296,54297,54298,54299,54300,54301,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,54328,54329,54330,54331,54332,54333,54334,54335,54336,54337,54338,54339,54340,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,54356,54357,54358,54359,54360,54361,54362,54363,54364,54365,54366,54367,54368,54369,54370,54371,54372,54373,54374,54375,54376,54377,54378,54379,54380,54381,54382,54383,54384,54385,54386,54387,54388,54389,54390,54391,54392,54393,54394,54395,54396,54397,54398,54399,54400,54401,54402,54403,54404,54405,54406,54407,54408,54409,54410,54411,54412,54413,54414,54415,54416,54417,54418,54419,54420,54421,54422,54423,54424,54425,54426,54427,54428,54429,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54441,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54476,54477,54478,54479,54480,54481,54482,54483,54484,54485,54486,54487,54488,54489,54490,54491,54492,54493,54494,54495,54496,54497,54498,54499,54500,54501,54502,54503,54504,54505,54506,54507,54508,54509,54510,54511,54512,54513,54514,54515,54516,54517,54518,54519,54520,54521,54522,54523,54524,54525,54526,54527,54528,54529,54530,54531,54532,54533,54534,54535,54536,54537,54538,54539,54540,54541,54542,54543,54544,54545,54546,54547,54548,54549,54550,54551,54552,54553,54554,54555,54556,54557,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,54584,54585,54586,54587,54588,54589,54590,54591,54592,54593,54594,54595,54596,54597,54598,54599,54600,54601,54602,54603,54604,54605,54606,54607,54608,54609,54610,54611,54612,54613,54614,54615,54616,54617,54618,54619,54620,54621,54622,54623,54624,54625,54626,54627,54628,54629,54630,54631,54632,54633,54634,54635,54636,54637,54638,54639,54640,54641,54642,54643,54644,54645,54646,54647,54648,54649,54650,54651,54652,54653,54654,54655,54656,54657,54658,54659,54660,54661,54662,54663,54664,54665,54666,54667,54668,54669,54670,54671,54672,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54693,54694,54695,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,54728,54729,54730,54731,54732,54733,54734,54735,54736,54737,54738,54739,54740,54741,54742,54743,54744,54745,54746,54747,54748,54749,54750,54751,54752,54753,54754,54755,54756,54757,54758,54759,54760,54761,54762,54763,54764,54765,54766,54767,54768,54769,54770,54771,54772,54773,54774,54775,54776,54777,54778,54779,54780,54781,54782,54783,54784,54785,54786,54787,54788,54789,54790,54791,54792,54793,54794,54795,54796,54797,54798,54799,54800,54801,54802,54803,54804,54805,54806,54807,54808,54809,54810,54811,54812,54813,54814,54815,54816,54817,54818,54819,54820,54821,54822,54823,54824,54825,54826,54827,54828,54829,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54840,54841,54842,54843,54844,54845,54846,54847,54848,54849,54850,54851,54852,54853,54854,54855,54856,54857,54858,54859,54860,54861,54862,54863,54864,54865,54866,54867,54868,54869,54870,54871,54872,54873,54874,54875,54876,54877,54878,54879,54880,54881,54882,54883,54884,54885,54886,54887,54888,54889,54890,54891,54892,54893,54894,54895,54896,54897,54898,54899,54900,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,54913,54914,54915,54916,54917,54918,54919,54920,54921,54922,54923,54924,54925,54926,54927,54928,54929,54930,54931,54932,54933,54934,54935,54936,54937,54938,54939,54940,54941,54942,54943,54944,54945,54946,54947,54948,54949,54950,54951,54952,54953,54954,54955,54956,54957,54958,54959,54960,54961,54962,54963,54964,54965,54966,54967,54968,54969,54970,54971,54972,54973,54974,54975,54976,54977,54978,54979,54980,54981,54982,54983,54984,54985,54986,54987,54988,54989,54990,54991,54992,54993,54994,54995,54996,54997,54998,54999,55000,55001,55002,55003,55004,55005,55006,55007,55008,55009,55010,55011,55012,55013,55014,55015,55016,55017,55018,55019,55020,55021,55022,55023,55024,55025,55026,55027,55028,55029,55030,55031,55032,55033,55034,55035,55036,55037,55038,55039,55040,55041,55042,55043,55044,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55057,55058,55059,55060,55061,55062,55063,55064,55065,55066,55067,55068,55069,55070,55071,55072,55073,55074,55075,55076,55077,55078,55079,55080,55081,55082,55083,55084,55085,55086,55087,55088,55089,55090,55091,55092,55093,55094,55095,55096,55097,55098,55099,55100,55101,55102,55103,55104,55105,55106,55107,55108,55109,55110,55111,55112,55113,55114,55115,55116,55117,55118,55119,55120,55121,55122,55123,55124,55125,55126,55127,55128,55129,55130,55131,55132,55133,55134,55135,55136,55137,55138,55139,55140,55141,55142,55143,55144,55145,55146,55147,55148,55149,55150,55151,55152,55153,55154,55155,55156,55157,55158,55159,55160,55161,55162,55163,55164,55165,55166,55167,55168,55169,55170,55171,55172,55173,55174,55175,55176,55177,55178,55179,55180,55181,55182,55183,55184,55185,55186,55187,55188,55189,55190,55191,55192,55193,55194,55195,55196,55197,55198,55199,55200,55201,55202,55203,55216,55217,55218,55219,55220,55221,55222,55223,55224,55225,55226,55227,55228,55229,55230,55231,55232,55233,55234,55235,55236,55237,55238,55243,55244,55245,55246,55247,55248,55249,55250,55251,55252,55253,55254,55255,55256,55257,55258,55259,55260,55261,55262,55263,55264,55265,55266,55267,55268,55269,55270,55271,55272,55273,55274,55275,55276,55277,55278,55279,55280,55281,55282,55283,55284,55285,55286,55287,55288,55289,55290,55291,63744,63745,63746,63747,63748,63749,63750,63751,63752,63753,63754,63755,63756,63757,63758,63759,63760,63761,63762,63763,63764,63765,63766,63767,63768,63769,63770,63771,63772,63773,63774,63775,63776,63777,63778,63779,63780,63781,63782,63783,63784,63785,63786,63787,63788,63789,63790,63791,63792,63793,63794,63795,63796,63797,63798,63799,63800,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,63812,63813,63814,63815,63816,63817,63818,63819,63820,63821,63822,63823,63824,63825,63826,63827,63828,63829,63830,63831,63832,63833,63834,63835,63836,63837,63838,63839,63840,63841,63842,63843,63844,63845,63846,63847,63848,63849,63850,63851,63852,63853,63854,63855,63856,63857,63858,63859,63860,63861,63862,63863,63864,63865,63866,63867,63868,63869,63870,63871,63872,63873,63874,63875,63876,63877,63878,63879,63880,63881,63882,63883,63884,63885,63886,63887,63888,63889,63890,63891,63892,63893,63894,63895,63896,63897,63898,63899,63900,63901,63902,63903,63904,63905,63906,63907,63908,63909,63910,63911,63912,63913,63914,63915,63916,63917,63918,63919,63920,63921,63922,63923,63924,63925,63926,63927,63928,63929,63930,63931,63932,63933,63934,63935,63936,63937,63938,63939,63940,63941,63942,63943,63944,63945,63946,63947,63948,63949,63950,63951,63952,63953,63954,63955,63956,63957,63958,63959,63960,63961,63962,63963,63964,63965,63966,63967,63968,63969,63970,63971,63972,63973,63974,63975,63976,63977,63978,63979,63980,63981,63982,63983,63984,63985,63986,63987,63988,63989,63990,63991,63992,63993,63994,63995,63996,63997,63998,63999,64000,64001,64002,64003,64004,64005,64006,64007,64008,64009,64010,64011,64012,64013,64014,64015,64016,64017,64018,64019,64020,64021,64022,64023,64024,64025,64026,64027,64028,64029,64030,64031,64032,64033,64034,64035,64036,64037,64038,64039,64040,64041,64042,64043,64044,64045,64046,64047,64048,64049,64050,64051,64052,64053,64054,64055,64056,64057,64058,64059,64060,64061,64062,64063,64064,64065,64066,64067,64068,64069,64070,64071,64072,64073,64074,64075,64076,64077,64078,64079,64080,64081,64082,64083,64084,64085,64086,64087,64088,64089,64090,64091,64092,64093,64094,64095,64096,64097,64098,64099,64100,64101,64102,64103,64104,64105,64106,64107,64108,64109,64112,64113,64114,64115,64116,64117,64118,64119,64120,64121,64122,64123,64124,64125,64126,64127,64128,64129,64130,64131,64132,64133,64134,64135,64136,64137,64138,64139,64140,64141,64142,64143,64144,64145,64146,64147,64148,64149,64150,64151,64152,64153,64154,64155,64156,64157,64158,64159,64160,64161,64162,64163,64164,64165,64166,64167,64168,64169,64170,64171,64172,64173,64174,64175,64176,64177,64178,64179,64180,64181,64182,64183,64184,64185,64186,64187,64188,64189,64190,64191,64192,64193,64194,64195,64196,64197,64198,64199,64200,64201,64202,64203,64204,64205,64206,64207,64208,64209,64210,64211,64212,64213,64214,64215,64216,64217,64256,64257,64258,64259,64260,64261,64262,64275,64276,64277,64278,64279,64285,64287,64288,64289,64290,64291,64292,64293,64294,64295,64296,64298,64299,64300,64301,64302,64303,64304,64305,64306,64307,64308,64309,64310,64312,64313,64314,64315,64316,64318,64320,64321,64323,64324,64326,64327,64328,64329,64330,64331,64332,64333,64334,64335,64336,64337,64338,64339,64340,64341,64342,64343,64344,64345,64346,64347,64348,64349,64350,64351,64352,64353,64354,64355,64356,64357,64358,64359,64360,64361,64362,64363,64364,64365,64366,64367,64368,64369,64370,64371,64372,64373,64374,64375,64376,64377,64378,64379,64380,64381,64382,64383,64384,64385,64386,64387,64388,64389,64390,64391,64392,64393,64394,64395,64396,64397,64398,64399,64400,64401,64402,64403,64404,64405,64406,64407,64408,64409,64410,64411,64412,64413,64414,64415,64416,64417,64418,64419,64420,64421,64422,64423,64424,64425,64426,64427,64428,64429,64430,64431,64432,64433,64467,64468,64469,64470,64471,64472,64473,64474,64475,64476,64477,64478,64479,64480,64481,64482,64483,64484,64485,64486,64487,64488,64489,64490,64491,64492,64493,64494,64495,64496,64497,64498,64499,64500,64501,64502,64503,64504,64505,64506,64507,64508,64509,64510,64511,64512,64513,64514,64515,64516,64517,64518,64519,64520,64521,64522,64523,64524,64525,64526,64527,64528,64529,64530,64531,64532,64533,64534,64535,64536,64537,64538,64539,64540,64541,64542,64543,64544,64545,64546,64547,64548,64549,64550,64551,64552,64553,64554,64555,64556,64557,64558,64559,64560,64561,64562,64563,64564,64565,64566,64567,64568,64569,64570,64571,64572,64573,64574,64575,64576,64577,64578,64579,64580,64581,64582,64583,64584,64585,64586,64587,64588,64589,64590,64591,64592,64593,64594,64595,64596,64597,64598,64599,64600,64601,64602,64603,64604,64605,64606,64607,64608,64609,64610,64611,64612,64613,64614,64615,64616,64617,64618,64619,64620,64621,64622,64623,64624,64625,64626,64627,64628,64629,64630,64631,64632,64633,64634,64635,64636,64637,64638,64639,64640,64641,64642,64643,64644,64645,64646,64647,64648,64649,64650,64651,64652,64653,64654,64655,64656,64657,64658,64659,64660,64661,64662,64663,64664,64665,64666,64667,64668,64669,64670,64671,64672,64673,64674,64675,64676,64677,64678,64679,64680,64681,64682,64683,64684,64685,64686,64687,64688,64689,64690,64691,64692,64693,64694,64695,64696,64697,64698,64699,64700,64701,64702,64703,64704,64705,64706,64707,64708,64709,64710,64711,64712,64713,64714,64715,64716,64717,64718,64719,64720,64721,64722,64723,64724,64725,64726,64727,64728,64729,64730,64731,64732,64733,64734,64735,64736,64737,64738,64739,64740,64741,64742,64743,64744,64745,64746,64747,64748,64749,64750,64751,64752,64753,64754,64755,64756,64757,64758,64759,64760,64761,64762,64763,64764,64765,64766,64767,64768,64769,64770,64771,64772,64773,64774,64775,64776,64777,64778,64779,64780,64781,64782,64783,64784,64785,64786,64787,64788,64789,64790,64791,64792,64793,64794,64795,64796,64797,64798,64799,64800,64801,64802,64803,64804,64805,64806,64807,64808,64809,64810,64811,64812,64813,64814,64815,64816,64817,64818,64819,64820,64821,64822,64823,64824,64825,64826,64827,64828,64829,64848,64849,64850,64851,64852,64853,64854,64855,64856,64857,64858,64859,64860,64861,64862,64863,64864,64865,64866,64867,64868,64869,64870,64871,64872,64873,64874,64875,64876,64877,64878,64879,64880,64881,64882,64883,64884,64885,64886,64887,64888,64889,64890,64891,64892,64893,64894,64895,64896,64897,64898,64899,64900,64901,64902,64903,64904,64905,64906,64907,64908,64909,64910,64911,64914,64915,64916,64917,64918,64919,64920,64921,64922,64923,64924,64925,64926,64927,64928,64929,64930,64931,64932,64933,64934,64935,64936,64937,64938,64939,64940,64941,64942,64943,64944,64945,64946,64947,64948,64949,64950,64951,64952,64953,64954,64955,64956,64957,64958,64959,64960,64961,64962,64963,64964,64965,64966,64967,65008,65009,65010,65011,65012,65013,65014,65015,65016,65017,65018,65019,65136,65137,65138,65139,65140,65142,65143,65144,65145,65146,65147,65148,65149,65150,65151,65152,65153,65154,65155,65156,65157,65158,65159,65160,65161,65162,65163,65164,65165,65166,65167,65168,65169,65170,65171,65172,65173,65174,65175,65176,65177,65178,65179,65180,65181,65182,65183,65184,65185,65186,65187,65188,65189,65190,65191,65192,65193,65194,65195,65196,65197,65198,65199,65200,65201,65202,65203,65204,65205,65206,65207,65208,65209,65210,65211,65212,65213,65214,65215,65216,65217,65218,65219,65220,65221,65222,65223,65224,65225,65226,65227,65228,65229,65230,65231,65232,65233,65234,65235,65236,65237,65238,65239,65240,65241,65242,65243,65244,65245,65246,65247,65248,65249,65250,65251,65252,65253,65254,65255,65256,65257,65258,65259,65260,65261,65262,65263,65264,65265,65266,65267,65268,65269,65270,65271,65272,65273,65274,65275,65276,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65382,65383,65384,65385,65386,65387,65388,65389,65390,65391,65392,65393,65394,65395,65396,65397,65398,65399,65400,65401,65402,65403,65404,65405,65406,65407,65408,65409,65410,65411,65412,65413,65414,65415,65416,65417,65418,65419,65420,65421,65422,65423,65424,65425,65426,65427,65428,65429,65430,65431,65432,65433,65434,65435,65436,65437,65438,65439,65440,65441,65442,65443,65444,65445,65446,65447,65448,65449,65450,65451,65452,65453,65454,65455,65456,65457,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65470,65474,65475,65476,65477,65478,65479,65482,65483,65484,65485,65486,65487,65490,65491,65492,65493,65494,65495,65498,65499,65500".split(",").map(function(e){return parseInt(e,10)});e.exports=n},function(e,t){for(var n=[],r=0;r<128;r++)n[r]=36===r||r>=65&&r<=90||95===r||r>=97&&r<=122;var i=[];for(r=0;r<128;r++)i[r]=n[r]||r>=48&&r<=57;e.exports={asciiIdentifierStartTable:n,asciiIdentifierPartTable:i}},function(e,t,n){"use strict";function r(){this._stack=[]}Object.defineProperty(r.prototype,"length",{get:function(){return this._stack.length}}),r.prototype.push=function(){this._stack.push(null)},r.prototype.pop=function(){this._stack.pop()},r.prototype.set=function(e){this._stack[this.length-1]=e},r.prototype.infer=function(){var e,t=this._stack[this.length-1],n="";return t&&"class"!==t.type||(t=this._stack[this.length-2]),t?"(string)"!==(e=t.type)&&"(number)"!==e&&"(identifier)"!==e&&"default"!==e?"(expression)":(t.accessorType&&(n=t.accessorType+" "),n+t.value):"(empty)"},e.exports=r},function(e,t,n){"use strict";var r=n(173),i=n(143),o=n(303),s=n(302).state,a=n(508),l=a.asciiIdentifierStartTable,u=a.asciiIdentifierPartTable,c=n(507),h=n(506),d={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},f={Block:1,Template:2};function p(e){return/^[0-9a-fA-F]+$/.test(e)}function g(e){return 1===e.length&&p(e)}function m(e){var t=e;"string"==typeof t&&(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")),t[0]&&"#!"===t[0].substr(0,2)&&(-1!==t[0].indexOf("node")&&(s.option.node=!0),t[0]=""),this.emitter=new i.EventEmitter,this.source=e,this.setLines(t),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="",this.inComment=!1,this.context=[],this.templateStarts=[];for(var n=0;n<s.option.indent;n+=1)s.tab+=" "}m.prototype={_lines:[],inContext:function(e){return this.context.length>0&&this.context[this.context.length-1].type===e},pushContext:function(e){this.context.push({type:e})},popContext:function(){return this.context.pop()},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=s.lines,this._lines},setLines:function(e){this._lines=e,s.lines=this._lines},peek:function(e){return this.input.charAt(e||0)},skip:function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},on:function(e,t){e.split(" ").forEach(function(e){this.emitter.on(e,t)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(e,t,n,r){n.push(function(){r()&&this.trigger(e,t)}.bind(this))},scanPunctuator:function(){var e,t,n,r=this.peek();switch(r){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if("."===this.peek(1)&&"."===this.peek(2))return{type:d.Punctuator,value:"..."};case"(":case")":case";":case",":case"[":case"]":case":":case"~":case"?":return{type:d.Punctuator,value:r};case"{":return this.pushContext(f.Block),{type:d.Punctuator,value:r};case"}":return this.inContext(f.Block)&&this.popContext(),{type:d.Punctuator,value:r};case"#":return{type:d.Punctuator,value:r};case"":return null}return e=this.peek(1),t=this.peek(2),n=this.peek(3),">"===r&&">"===e&&">"===t&&"="===n?{type:d.Punctuator,value:">>>="}:"="===r&&"="===e&&"="===t?{type:d.Punctuator,value:"==="}:"!"===r&&"="===e&&"="===t?{type:d.Punctuator,value:"!=="}:">"===r&&">"===e&&">"===t?{type:d.Punctuator,value:">>>"}:"<"===r&&"<"===e&&"="===t?{type:d.Punctuator,value:"<<="}:">"===r&&">"===e&&"="===t?{type:d.Punctuator,value:">>="}:"="===r&&">"===e?{type:d.Punctuator,value:r+e}:r===e&&"+-<>&|".indexOf(r)>=0?{type:d.Punctuator,value:r+e}:"<>=!+-*%&|^/".indexOf(r)>=0?"="===e?{type:d.Punctuator,value:r+e}:{type:d.Punctuator,value:r}:null},scanComments:function(e){var t=this.peek(),n=this.peek(1),r=this.input.substr(2),i=this.line,s=this.char,a=this;function l(e,t,n){var r=!1,i=e+t,s="plain";return(n=n||{}).isMultiline&&(i+="*/"),t=t.replace(/\n/g," "),"/*"===e&&o.fallsThrough.test(t)&&(r=!0,s="falls through"),["jshint","jslint","members","member","globals","global","exported"].forEach(function(n){if(!r&&("//"!==e||"jshint"===n)){" "===t.charAt(n.length)&&t.substr(0,n.length)===n&&(r=!0,e+=n,t=t.substr(n.length)),r||" "!==t.charAt(0)||" "!==t.charAt(n.length+1)||t.substr(1,n.length)!==n||(r=!0,e=e+" "+n,t=t.substr(n.length+1));var i=t.indexOf(n);if(!r&&i>=0&&" "===t.charAt(i+n.length))0===t.substr(0,i).trim().length&&(r=!0,t=t.substr(n.length+i));if(r)switch(n){case"member":s="members";break;case"global":s="globals";break;default:var o=t.split(":").map(function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")});if(2===o.length)switch(o[0]){case"ignore":switch(o[1]){case"start":a.ignoringLinterErrors=!0,r=!1;break;case"end":a.ignoringLinterErrors=!1,r=!1}}s=n}}}),{type:d.Comment,commentType:s,value:i,body:t,isSpecial:r,isMalformed:n.isMalformed||!1}}if("*"===t&&"/"===n)return this.trigger("error",{code:"E018",line:i,character:s}),this.skip(2),null;if("/"!==t||"*"!==n&&"/"!==n)return null;if("/"===n)return this.skip(this.input.length),l("//",r);var u="";if("*"===n){for(this.inComment=!0,this.skip(2);"*"!==this.peek()||"/"!==this.peek(1);)if(""===this.peek()){if(u+="\n",!this.nextLine(e))return this.trigger("error",{code:"E017",line:i,character:s}),this.inComment=!1,l("/*",u,{isMultiline:!0,isMalformed:!0})}else u+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,l("/*",u,{isMultiline:!0})}},scanKeyword:function(){var e=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input);return e&&["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof","true","false","null"].indexOf(e[0])>=0?{type:d.Keyword,value:e[0]}:null},scanIdentifier:function(e){var t,r,i="",o=0;function a(e){return c.indexOf(e)>-1}function f(e){return a(e)||h.indexOf(e)>-1}var g=function(){if(o+=1,"u"!==this.peek(o))return null;var e,t=this.peek(o+1)+this.peek(o+2)+this.peek(o+3)+this.peek(o+4);return p(t)?(e=parseInt(t,16),u[e]||f(e)?(o+=5,"\\u"+t):null):null}.bind(this),m=function(){var e=this.peek(o),t=e.charCodeAt(0);return 92===t?g():t<128?l[t]?(o+=1,e):null:a(t)?(o+=1,e):null}.bind(this),v=function(){var e=this.peek(o),t=e.charCodeAt(0);return 92===t?g():t<128?u[t]?(o+=1,e):null:f(t)?(o+=1,e):null}.bind(this);if(null===(t=m()))return null;for(i=t;null!==(t=v());)i+=t;return r=function(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,function(e,t){return String.fromCharCode(parseInt(t,16))})}(i),s.inES6(!0)||n(505).test(r)||this.triggerAsync("warning",{code:"W119",line:this.line,character:this.char,data:["unicode 8","6"]},e,function(){return!0}),{type:d.Identifier,value:r,text:i,tokenLength:i.length}},scanNumericLiteral:function(e){var t=0,n="",r=this.input.length,i=this.peek(t),o=u,a=10,l=!1;function u(e){return/^[0-9]$/.test(e)}function c(e){return/^[0-7]$/.test(e)}function h(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&e<="z"||e>="A"&&e<="Z"}if("."!==i&&!u(i))return null;if("."!==i){for(n=this.peek(t),t+=1,i=this.peek(t),"0"===n&&("x"!==i&&"X"!==i||(o=g,a=16,t+=1,n+=i),"o"!==i&&"O"!==i||(o=c,a=8,s.inES6(!0)||this.triggerAsync("warning",{code:"W119",line:this.line,character:this.char,data:["Octal integer literal","6"]},e,function(){return!0}),t+=1,n+=i),"b"!==i&&"B"!==i||(o=function(e){return/^[01]$/.test(e)},a=2,s.inES6(!0)||this.triggerAsync("warning",{code:"W119",line:this.line,character:this.char,data:["Binary integer literal","6"]},e,function(){return!0}),t+=1,n+=i),c(i)&&(o=c,a=8,l=!0,t+=1,n+=i),!c(i)&&u(i)&&(t+=1,n+=i));t<r&&(i=this.peek(t),l&&u(i)||o(i));)n+=i,t+=1;if(o!==u)return!l&&n.length<=2?{type:d.NumericLiteral,value:n,isMalformed:!0}:t<r&&h(i=this.peek(t))?null:{type:d.NumericLiteral,value:n,base:a,isLegacy:l,isMalformed:!1}}if("."===i)for(n+=i,t+=1;t<r&&u(i=this.peek(t));)n+=i,t+=1;if("e"===i||"E"===i){if(n+=i,t+=1,"+"!==(i=this.peek(t))&&"-"!==i||(n+=this.peek(t),t+=1),!u(i=this.peek(t)))return null;for(n+=i,t+=1;t<r&&u(i=this.peek(t));)n+=i,t+=1}return t<r&&h(i=this.peek(t))?null:{type:d.NumericLiteral,value:n,base:a,isMalformed:!isFinite(n)}},scanEscapeSequence:function(e){var t=!1,n=1;this.skip();var r=this.peek();switch(r){case"'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\'"]},e,function(){return s.jsonMode});break;case"b":r="\\b";break;case"f":r="\\f";break;case"n":r="\\n";break;case"r":r="\\r";break;case"t":r="\\t";break;case"0":r="\\0";var i=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return i>=0&&i<=7&&s.isStrict()});break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":r="\\"+r,this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return s.isStrict()});break;case"u":var o=this.input.substr(1,4),a=parseInt(o,16);p(o)||this.trigger("warning",{code:"W052",line:this.line,character:this.char,data:["u"+o]}),r=String.fromCharCode(a),n=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\v"]},e,function(){return s.jsonMode}),r="\v";break;case"x":var l=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\x-"]},e,function(){return s.jsonMode}),r=String.fromCharCode(l),n=3;break;case"\\":r="\\\\";break;case'"':r='\\"';break;case"/":break;case"":t=!0,r=""}return{char:r,jump:n,allowNewLine:t}},scanTemplateLiteral:function(e){var t,n,r="",i=this.line,o=this.char,a=this.templateStarts.length;if("`"===this.peek())s.inES6(!0)||this.triggerAsync("warning",{code:"W119",line:this.line,character:this.char,data:["template literal syntax","6"]},e,function(){return!0}),t=d.TemplateHead,this.templateStarts.push({line:this.line,char:this.char}),a=this.templateStarts.length,this.skip(1),this.pushContext(f.Template);else{if(!this.inContext(f.Template)||"}"!==this.peek())return null;t=d.TemplateMiddle}for(;"`"!==this.peek();){for(;""===(n=this.peek());)if(r+="\n",!this.nextLine(e)){var l=this.templateStarts.pop();return this.trigger("error",{code:"E052",line:l.line,character:l.char}),{type:t,value:r,startLine:i,startChar:o,isUnclosed:!0,depth:a,context:this.popContext()}}if("$"===n&&"{"===this.peek(1))return r+="${",this.skip(2),{type:t,value:r,startLine:i,startChar:o,isUnclosed:!1,depth:a,context:this.currentContext()};if("\\"===n){var u=this.scanEscapeSequence(e);r+=u.char,this.skip(u.jump)}else"`"!==n&&(r+=n,this.skip(1))}return t=t===d.TemplateHead?d.NoSubstTemplate:d.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:t,value:r,startLine:i,startChar:o,isUnclosed:!1,depth:a,context:this.popContext()}},scanStringLiteral:function(e){var t=this.peek();if('"'!==t&&"'"!==t)return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},e,function(){return s.jsonMode&&'"'!==t});var n="",r=this.line,i=this.char,o=!1;for(this.skip();this.peek()!==t;)if(""===this.peek()){if(o?(o=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},e,function(){return!s.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},e,function(){return s.jsonMode&&s.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char}),!this.nextLine(e))return{type:d.StringLiteral,value:n,startLine:r,startChar:i,isUnclosed:!0,quote:t}}else{o=!1;var a=this.peek(),l=1;if(a<" "&&this.triggerAsync("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]},e,function(){return!0}),"\\"===a){var u=this.scanEscapeSequence(e);a=u.char,l=u.jump,o=u.allowNewLine}""!==a&&(n+=a,this.skip(l))}return this.skip(),{type:d.StringLiteral,value:n,startLine:r,startChar:i,isUnclosed:!1,quote:t}},scanRegExp:function(e){var t,n,r=0,i=this.input.length,o=this.peek(),a=o,l="",u=[],c=!1,h=!1,f=function(){o<" "&&(c=!0,this.triggerAsync("warning",{code:"W048",line:this.line,character:this.char},e,function(){return!0})),"<"===o&&(c=!0,this.triggerAsync("warning",{code:"W049",line:this.line,character:this.char,data:[o]},e,function(){return!0}))}.bind(this);if(!this.prereg||"/"!==o)return null;for(r+=1,t=!1;r<i;)if(a+=o=this.peek(r),l+=o,h)"]"===o&&("\\"===this.peek(r-1)&&"\\"!==this.peek(r-2)||(h=!1)),"\\"===o&&(r+=1,l+=o=this.peek(r),a+=o,f()),r+=1;else{if("\\"===o){if(r+=1,l+=o=this.peek(r),a+=o,f(),"/"===o){r+=1;continue}if("["===o){r+=1;continue}}if("["!==o){if("/"===o){l=l.substr(0,l.length-1),t=!0,r+=1;break}r+=1}else h=!0,r+=1}if(!t)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});for(;r<i&&(o=this.peek(r),/[gimy]/.test(o));)"y"===o?(s.inES6(!0)||this.triggerAsync("warning",{code:"W119",line:this.line,character:this.char,data:["Sticky RegExp flag","6"]},e,function(){return!0}),a.indexOf("y")>-1&&(n="Duplicate RegExp flag")):u.push(o),a+=o,r+=1;try{new RegExp(l,u.join(""))}catch(e){n=e.message}return n&&(c=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[n]})),{type:d.RegExp,value:a,isMalformed:c}},scanNonBreakingSpaces:function(){return s.option.nonbsp?this.input.search(/(\u00A0)/):-1},next:function(e){for(this.from=this.char;o.whitespace.test(this.peek());)this.from+=1,this.skip();var t=this.scanComments(e)||this.scanStringLiteral(e)||this.scanTemplateLiteral(e);return t||((t=this.scanRegExp(e)||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier(e)||this.scanNumericLiteral(e))?(this.skip(t.tokenLength||t.value.length),t):null)},nextLine:function(e){var t;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var n=this.input.trim(),i=function(){return r.some(arguments,function(e){return 0===n.indexOf(e)})};(!0===this.ignoringLinterErrors&&(i("/*","//")||this.inComment&&function(){return r.some(arguments,function(e){return-1!==n.indexOf(e,n.length-e.length)})}("*/")||(this.input="")),(t=this.scanNonBreakingSpaces())>=0&&this.triggerAsync("warning",{code:"W125",line:this.line,character:t+1},e,function(){return!0}),this.input=this.input.replace(/\t/g,s.tab),!this.ignoringLinterErrors&&s.option.maxlen&&s.option.maxlen<this.input.length)&&((!(this.inComment||i.call(n,"//")||i.call(n,"/*"))||!o.maxlenException.test(n))&&this.triggerAsync("warning",{code:"W101",line:this.line,character:this.input.length},e,function(){return!0}));return!0},token:function(){var e,t,n=(e=[],{push:function(t){e.push(t)},check:function(){for(var t=0;t<e.length;++t)e[t]();e.splice(0,e.length)}});for(var i=function(e,t,i,o){var a;if("(endline)"!==e&&"(end)"!==e&&(this.prereg=!1),"(punctuator)"===e){switch(t){case".":case")":case"~":case"#":case"]":case"}":case"++":case"--":this.prereg=!1;break;default:this.prereg=!0}a=Object.create(s.syntax[t]||s.syntax["(error)"])}return"(identifier)"===e&&("return"!==t&&"case"!==t&&"yield"!==t&&"typeof"!==t&&"instanceof"!==t&&"void"!==t||(this.prereg=!0),r.has(s.syntax,t)&&(function(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureReservedWord&&s.inES5()){if(!n.es5)return!1;if(n.strictOnly&&!s.option.strict&&!s.isStrict())return!1;if(t)return!1}return!0}(a=Object.create(s.syntax[t]),i&&"(identifier)"===e)||(a=null))),"(template)"!==e&&"(template middle)"!==e||(this.prereg=!0),a||(a=Object.create(s.syntax[e])),a.identifier="(identifier)"===e,a.type=a.type||e,a.value=t,a.line=this.line,a.character=this.char,a.from=this.from,a.identifier&&o&&(a.raw_text=o.text||o.value),o&&o.startLine&&o.startLine!==this.line&&(a.startLine=o.startLine),o&&o.context&&(a.context=o.context),o&&o.depth&&(a.depth=o.depth),o&&o.isUnclosed&&(a.isUnclosed=o.isUnclosed),i&&a.identifier&&(a.isProperty=i),a.check=n.check,a}.bind(this);;){if(!this.input.length)return this.nextLine(n)?i("(endline)",""):this.exhausted?null:(this.exhausted=!0,i("(end)",""));if(t=this.next(n))switch(t.type){case d.StringLiteral:return this.triggerAsync("String",{line:this.line,char:this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value,quote:t.quote},n,function(){return!0}),i("(string)",t.value,null,t);case d.TemplateHead:return this.trigger("TemplateHead",{line:this.line,char:this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template)",t.value,null,t);case d.TemplateMiddle:return this.trigger("TemplateMiddle",{line:this.line,char:this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template middle)",t.value,null,t);case d.TemplateTail:return this.trigger("TemplateTail",{line:this.line,char:this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(template tail)",t.value,null,t);case d.NoSubstTemplate:return this.trigger("NoSubstTemplate",{line:this.line,char:this.char,from:this.from,startLine:t.startLine,startChar:t.startChar,value:t.value}),i("(no subst template)",t.value,null,t);case d.Identifier:this.triggerAsync("Identifier",{line:this.line,char:this.char,from:this.from,name:t.value,raw_name:t.text,isProperty:"."===s.tokens.curr.id},n,function(){return!0});case d.Keyword:return i("(identifier)",t.value,"."===s.tokens.curr.id,t);case d.NumericLiteral:return t.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[t.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},n,function(){return 16===t.base&&s.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},n,function(){return s.isStrict()&&8===t.base&&t.isLegacy}),this.trigger("Number",{line:this.line,char:this.char,from:this.from,value:t.value,base:t.base,isMalformed:t.isMalformed}),i("(number)",t.value);case d.RegExp:return i("(regexp)",t.value);case d.Comment:if(t.isSpecial)return{id:"(comment)",value:t.value,body:t.body,type:t.commentType,isSpecial:t.isSpecial,line:this.line,character:this.char,from:this.from};break;default:return i("(punctuator)",t.value)}else this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="")}}},t.Lexer=m,t.Context=f},function(e,t,n){"use strict";var r=n(173);t.errors={},t.warnings={},t.info={},r.each({E001:"Bad option: '{a}'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:'Missing "use strict" statement.',E008:"Strict violation.",E009:"Option 'validthis' can't be used in a global scope.",E010:"'with' is not allowed in strict mode.",E011:"'{a}' has already been declared.",E012:"const '{a}' is initialized to 'undefined'.",E013:"Attempting to override '{a}' which is a constant.",E014:"A regular expression literal can be confused with '/='.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched '{a}'.",E020:"Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",E021:"Expected '{a}' and instead saw '{b}'.",E022:"Line breaking error '{a}'.",E023:"Missing '{a}'.",E024:"Unexpected '{a}'.",E025:"Missing ':' on a case clause.",E026:"Missing '}' to match '{' from line {a}.",E027:"Missing ']' to match '[' from line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw '{a}'.",E031:"Bad assignment.",E032:"Expected a small integer or 'false' and instead saw '{a}'.",E033:"Expected an operator and instead saw '{a}'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:null,E045:"Invalid for each loop.",E046:"Yield expressions may only occur within generator functions.",E047:null,E048:"{a} declaration not directly within block.",E049:"A {a} cannot be named '{b}'.",E050:"Mozilla requires the yield expression to be parenthesized here.",E051:null,E052:"Unclosed template literal.",E053:"{a} declarations are only allowed at the top level of module scope.",E054:"Class properties must be methods. Expected '(' but instead saw '{a}'.",E055:"The '{a}' option cannot be set after any executable code.",E056:"'{a}' was used before it was declared, which is illegal for '{b}' variables.",E057:"Invalid meta property: '{a}.{b}'.",E058:"Missing semicolon.",E059:"Incompatible values for the '{a}' and '{b}' linting options.",E060:"Non-callable values cannot be used as the second operand to instanceof.",E061:"Invalid position for 'yield' expression (consider wrapping in parenthesis).",E062:"Rest parameter does not a support default value.",E063:"Super property may only be used within method bodies.",E064:"Super call may only be used within class method bodies."},function(e,n){t.errors[n]={code:n,desc:e}}),r.each({W001:"'hasOwnProperty' is a really bad name.",W002:"Value of '{a}' may be overwritten in IE 8 and earlier.",W003:"'{a}' was used before it was defined.",W004:"'{a}' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing plusses.",W008:"A leading decimal point can be confused with a dot: '{a}'.",W009:"The array literal notation [] is preferable.",W010:"The object literal notation {} is preferable.",W011:null,W012:null,W013:null,W014:"Misleading line break before '{a}'; readers may interpret this as an expression boundary.",W015:null,W016:"Unexpected use of '{a}'.",W017:"Bad operand.",W018:"Confusing use of '{a}'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"Reassignment of '{a}', which is a {b}. Use 'var' or 'let' to declare bindings that may change.",W022:"Do not assign to the exception parameter.",W023:null,W024:"Expected an identifier and instead saw '{a}' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable '{a}' after '{b}'.",W028:"Label '{a}' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use 'new' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:'Unnecessary directive "{a}".',W035:"Empty block.",W036:"Unexpected /*member '{a}'.",W037:"'{a}' is a statement label.",W038:"'{a}' used out of scope.",W039:"'{a}' is not allowed.",W040:"If a strict mode function is executed using function invocation, its 'this' value will be undefined.",W041:null,W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number '{a}'.",W046:"Don't use extra leading zeros '{a}'.",W047:"A trailing decimal point can be confused with a dot: '{a}'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character '{a}' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected '{a}'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is 'new' necessary?",W058:"Missing '()' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing 'new' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"['{a}'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function's cyclomatic complexity is too high. ({a})",W075:"Duplicate {a} '{b}'.",W076:"Unexpected parameter '{a}' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of '{a}'.",W080:"It's not necessary to initialize '{a}' to 'undefined'.",W081:null,W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Functions declared within loops referencing an outer scoped variable may lead to confusing semantics. ({a})",W084:"Expected a conditional expression and instead saw an assignment.",W085:"Don't use 'with'.",W086:"Expected a 'break' statement before '{a}'.",W087:"Forgotten 'debugger' statement?",W088:"Creating global 'for' variable. Should be 'for (var {a} ...'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"'{a}' is not a statement label.",W091:null,W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The '{a}' key may produce unexpected results.",W097:'Use the function form of "use strict".',W098:"'{a}' is defined but never used.",W099:null,W100:null,W101:"Line is too long.",W102:null,W103:"The '{a}' property is deprecated.",W104:"'{a}' is available in ES{b} (use 'esversion: {b}') or Mozilla JS extensions (use moz).",W105:"Unexpected {a} in '{b}'.",W106:"Identifier '{a}' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected '{a}' and instead saw '{b}'.",W117:"'{a}' is not defined.",W118:"'{a}' is only available in Mozilla JavaScript extensions (use moz option).",W119:"'{a}' is only available in ES{b} (use 'esversion: {b}').",W120:"You might be leaking a variable ({a}) here.",W121:"Extending prototype of native object: '{a}'.",W122:"Invalid typeof value '{a}'",W123:"'{a}' is already defined in outer scope.",W124:"A generator function should contain at least one yield expression.",W125:"This line contains non-breaking spaces: http://jshint.com/docs/options/#nonbsp",W126:"Unnecessary grouping operator.",W127:"Unexpected use of a comma operator.",W128:"Empty array elements require elision=true.",W129:"'{a}' is defined in a future version of JavaScript. Use a different variable name to avoid migration issues.",W130:"Invalid element after rest element.",W131:"Invalid parameter after rest parameter.",W132:"`var` declarations are forbidden. Use `let` or `const` instead.",W133:"Invalid for-{a} loop left-hand-side: {b}.",W134:"The '{a}' option is only available when linting ECMAScript {b} code.",W135:"{a} may not be supported by non-browser environments.",W136:"'{a}' must be in function scope.",W137:"Empty destructuring: this is unnecessary and can be removed.",W138:"Regular parameters should not come after default parameters.",W139:"Function expressions should not be used as the second operand to instanceof.",W140:"Missing comma.",W141:"Empty {a}: this is unnecessary and can be removed.",W142:"Empty {a}: consider replacing with `import '{b}';`.",W143:"Assignment to properties of a mapped arguments object may cause unexpected changes to formal parameters."},function(e,n){t.warnings[n]={code:n,desc:e}}),r.each({I001:"Comma warnings can be turned off with 'laxcomma'.",I002:null,I003:"ES5 option is now set per default"},function(e,n){t.info[n]={code:n,desc:e}})},function(e,t,n){"use strict";t.reservedVars={NaN:!1,undefined:!1},t.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{ArrayBuffer:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int8Array:!1,Int16Array:!1,Int32Array:!1,Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,Uint8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8ClampedArray:!1,WeakMap:!1,WeakSet:!1}},t.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,CSSImportRule:!1,CSSGroupingRule:!1,CSSMarginRule:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CompositionEvent:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,File:!1,FileList:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,Headers:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,IntersectionObserver:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MediaList:!1,MediaRecorder:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,Request:!1,resizeBy:!1,resizeTo:!1,Response:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,Storage:!1,StyleSheet:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},t.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},t.worker={importScripts:!0,onmessage:!0,postMessage:!0,self:!0,FileReaderSync:!0},t.nonstandard={escape:!1,unescape:!1},t.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},t.node={__filename:!1,__dirname:!1,arguments:!1,GLOBAL:!1,global:!1,module:!1,require:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},t.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,require:!1,Buffer:!0,exports:!0,process:!0},t.phantom={phantom:!0,require:!0,WebPage:!0,console:!0,exports:!0},t.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},t.rhino={arguments:!1,defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},t.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},t.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},t.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},t.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},t.jquery={$:!1,jQuery:!1},t.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},t.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},t.yui={YUI:!1,Y:!1,YUI_config:!1},t.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},t.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1,spyOnProperty:!1}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){!function(e){"use strict";function t(e,t){function n(e){clearTimeout(r.doRedraw),r.doRedraw=setTimeout(function(){r.redraw()},e)}this.cm=e,this.options=t,this.buttonHeight=t.scrollButtonHeight||e.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=e.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var r=this;e.on("refresh",this.resizeHandler=function(){clearTimeout(r.doUpdate),r.doUpdate=setTimeout(function(){r.computeScale()&&n(20)},100)}),e.on("markerAdded",this.resizeHandler),e.on("markerCleared",this.resizeHandler),!1!==t.listenForChanges&&e.on("change",this.changeHandler=function(){n(250)})}e.defineExtension("annotateScrollbar",function(e){return"string"==typeof e&&(e={className:e}),new t(this,e)}),e.defineOption("scrollButtonHeight",0),t.prototype.computeScale=function(){var e=this.cm,t=(e.getWrapperElement().clientHeight-e.display.barHeight-2*this.buttonHeight)/e.getScrollerElement().scrollHeight;if(t!=this.hScale)return this.hScale=t,!0},t.prototype.update=function(e){this.annotations=e,this.redraw()},t.prototype.redraw=function(e){!1!==e&&this.computeScale();var t=this.cm,n=this.hScale,r=document.createDocumentFragment(),i=this.annotations,o=t.getOption("lineWrapping"),s=o&&1.5*t.defaultTextHeight(),a=null,l=null;function u(e,n){if(a!=e.line&&(a=e.line,l=t.getLineHandle(a)),l.widgets&&l.widgets.length||o&&l.height>s)return t.charCoords(e,"local")[n?"top":"bottom"];var r=t.heightAtLine(l,"local");return r+(n?0:l.height)}var c=t.lastLine();if(t.display.barWidth)for(var h,d=0;d<i.length;d++){var f=i[d];if(!(f.to.line>c)){for(var p=h||u(f.from,!0)*n,g=u(f.to,!1)*n;d<i.length-1&&!(i[d+1].to.line>c)&&!((h=u(i[d+1].from,!0)*n)>g+.9);)f=i[++d],g=u(f.to,!1)*n;if(g!=p){var m=Math.max(g-p,3),v=r.appendChild(document.createElement("div"));v.style.cssText="position: absolute; right: 0px; width: "+Math.max(t.display.barWidth-1,2)+"px; top: "+(p+this.buttonHeight)+"px; height: "+m+"px",v.className=this.options.className,f.id&&v.setAttribute("annotation-id",f.id)}}}this.div.textContent="",this.div.appendChild(r)},t.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}}(n(50))},function(e,t,n){!function(e){"use strict";function t(e,t,n,r){this.cm=e,this.options=r;var i={listenForChanges:!1};for(var o in r)i[o]=r[o];i.className||(i.className="CodeMirror-search-match"),this.annotation=e.annotateScrollbar(i),this.query=t,this.caseFold=n,this.gap={from:e.firstLine(),to:e.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var s=this;e.on("change",this.changeHandler=function(e,t){s.onChange(t)})}function n(e,t,n){return e<=t?e:Math.max(t,e+n)}e.defineExtension("showMatchesOnScrollbar",function(e,n,r){return"string"==typeof r&&(r={className:r}),r||(r={}),new t(this,e,n,r)}),t.prototype.findMatches=function(){if(this.gap){for(var t=0;t<this.matches.length;t++){var n=this.matches[t];if(n.from.line>=this.gap.to)break;n.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var r=this.cm.getSearchCursor(this.query,e.Pos(this.gap.from,0),this.caseFold),i=this.options&&this.options.maxMatches||1e3;r.findNext();){var n={from:r.from(),to:r.to()};if(n.from.line>=this.gap.to)break;if(this.matches.splice(t++,0,n),this.matches.length>i)break}this.gap=null}},t.prototype.onChange=function(t){var r=t.from.line,i=e.changeEnd(t).line,o=i-t.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,r,o),t.from.line),this.gap.to=Math.max(n(this.gap.to,r,o),t.from.line)):this.gap={from:t.from.line,to:i+1},o)for(var s=0;s<this.matches.length;s++){var a=this.matches[s],l=n(a.from.line,r,o);l!=a.from.line&&(a.from=e.Pos(l,a.from.ch));var u=n(a.to.line,r,o);u!=a.to.line&&(a.to=e.Pos(u,a.to.ch))}clearTimeout(this.update);var c=this;this.update=setTimeout(function(){c.updateAfterChange()},250)},t.prototype.updateAfterChange=function(){this.findMatches(),this.annotation.update(this.matches)},t.prototype.clear=function(){this.cm.off("change",this.changeHandler),this.annotation.clear()}}(n(50),n(241),n(514))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){var r,i,o;o=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){var r=n(2).mergeOpts,i=n(1),o=i.lineBreak,s=i.allLineBreaks;function a(e){return e.replace(/\s+$/g,"")}e.exports.Beautifier=function(e,t,n,i){var l,u,c,h,d,f,p,g,m,v,y,b,w,x,C,k,A,E,_,S,F;e=e||"",void 0!==(t=r(t=t||{},"html")).wrap_line_length&&0!==parseInt(t.wrap_line_length,10)||void 0===t.max_char||0===parseInt(t.max_char,10)||(t.wrap_line_length=t.max_char),u=void 0!==t.indent_inner_html&&t.indent_inner_html,c=void 0===t.indent_body_inner_html||t.indent_body_inner_html,h=void 0===t.indent_head_inner_html||t.indent_head_inner_html,d=void 0===t.indent_size?4:parseInt(t.indent_size,10),f=void 0===t.indent_char?" ":t.indent_char,g=void 0===t.brace_style?"collapse":t.brace_style,p=0===parseInt(t.wrap_line_length,10)?32786:parseInt(t.wrap_line_length||250,10),m=t.unformatted||["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","address","big","dt","ins","strike","tt"],v=t.content_unformatted||["pre"],y=void 0===t.preserve_newlines||t.preserve_newlines,b=y?isNaN(parseInt(t.max_preserve_newlines,10))?32786:parseInt(t.max_preserve_newlines,10):0,w=void 0!==t.indent_handlebars&&t.indent_handlebars,x=void 0===t.wrap_attributes?"auto":t.wrap_attributes,C=isNaN(parseInt(t.wrap_attributes_indent_size,10))?d:parseInt(t.wrap_attributes_indent_size,10),k="force"===x.substr(0,"force".length),A="force-expand-multiline"===x,E="force-aligned"===x,_=void 0!==t.end_with_newline&&t.end_with_newline,S="object"==typeof t.extra_liners&&t.extra_liners?t.extra_liners.concat():"string"==typeof t.extra_liners?t.extra_liners.split(","):"head,body,/html".split(","),F=t.eol?t.eol:"auto",t.indent_with_tabs&&(f="\t",d=1),"auto"===F&&(F="\n",e&&o.test(e||"")&&(F=e.match(o)[0])),F=F.replace(/\\r/,"\r").replace(/\\n/,"\n"),e=e.replace(s,"\n"),this.beautify=function(){for((l=new function(){return this.pos=0,this.token="",this.current_mode="CONTENT",this.tags={parent:"parent1",parentcount:1,parent1:""},this.tag_type="",this.token_text=this.last_token=this.last_text=this.token_type="",this.newlines=0,this.indent_content=u,this.indent_body_inner_html=c,this.indent_head_inner_html=h,this.Utils={whitespace:"\n\r\t ".split(""),single_token:t.void_elements||["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","?php","basefont","isindex"],extra_liners:S,in_array:function(e,t){for(var n=0;n<t.length;n++)if(e===t[n])return!0;return!1}},this.is_whitespace=function(e){for(var t=0;t<e.length;t++)if(!this.Utils.in_array(e.charAt(t),this.Utils.whitespace))return!1;return!0},this.traverse_whitespace=function(){var e="";if(e=this.input.charAt(this.pos),this.Utils.in_array(e,this.Utils.whitespace)){for(this.newlines=0;this.Utils.in_array(e,this.Utils.whitespace);)y&&"\n"===e&&this.newlines<=b&&(this.newlines+=1),this.pos++,e=this.input.charAt(this.pos);return!0}return!1},this.space_or_wrap=function(e){return this.line_char_count>=this.wrap_line_length?(this.print_newline(!1,e),this.print_indentation(e),!0):(this.line_char_count++,e.push(" "),!1)},this.get_content=function(){for(var e="",t=[],n=0;"<"!==this.input.charAt(this.pos)||2===n;){if(this.pos>=this.input.length)return t.length?t.join(""):["","TK_EOF"];if(n<2&&this.traverse_whitespace())this.space_or_wrap(t);else{if(e=this.input.charAt(this.pos),w){if("{"===e?n+=1:n<2&&(n=0),"}"===e&&n>0&&0==n--)break;var r=this.input.substr(this.pos,3);if("{{#"===r||"{{/"===r)break;if("{{!"===r)return[this.get_tag(),"TK_TAG_HANDLEBARS_COMMENT"];if("{{"===this.input.substr(this.pos,2)&&"{{else}}"===this.get_tag(!0))break}this.pos++,this.line_char_count++,t.push(e)}}return t.length?t.join(""):""},this.get_contents_to=function(e){if(this.pos===this.input.length)return["","TK_EOF"];var t="",n=new RegExp("</"+e+"\\s*>","igm");n.lastIndex=this.pos;var r=n.exec(this.input),i=r?r.index:this.input.length;return this.pos<i&&(t=this.input.substring(this.pos,i),this.pos=i),t},this.record_tag=function(e){this.tags[e+"count"]?(this.tags[e+"count"]++,this.tags[e+this.tags[e+"count"]]=this.indent_level):(this.tags[e+"count"]=1,this.tags[e+this.tags[e+"count"]]=this.indent_level),this.tags[e+this.tags[e+"count"]+"parent"]=this.tags.parent,this.tags.parent=e+this.tags[e+"count"]},this.retrieve_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!==t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]],this.tags.parent=this.tags[t+"parent"]),delete this.tags[e+this.tags[e+"count"]+"parent"],delete this.tags[e+this.tags[e+"count"]],1===this.tags[e+"count"]?delete this.tags[e+"count"]:this.tags[e+"count"]--}},this.indent_to_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!==t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]])}},this.get_tag=function(e){var t,n,r,i="",o=[],s="",a=!1,l=!0,u=!1,c=this.pos,h=this.line_char_count,d=!1;e=void 0!==e&&e;do{if(this.pos>=this.input.length)return e&&(this.pos=c,this.line_char_count=h),o.length?o.join(""):["","TK_EOF"];if(i=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(i,this.Utils.whitespace))a=!0;else{if("'"!==i&&'"'!==i||(i+=this.get_unformatted(i),a=!0),"="===i&&(a=!1),r=this.input.substr(this.pos-1),!A||!u||d||">"!==i&&"/"!==i||r.match(/^\/?\s*>/)&&(a=!1,d=!0,this.print_newline(!1,o),this.print_indentation(o)),o.length&&"="!==o[o.length-1]&&">"!==i&&a){var f=this.space_or_wrap(o)&&"/"!==i&&!k;if(a=!1,k&&"/"!==i){var p=!1;A&&l&&(p=!(null!==r.match(/^\S*(="([^"]|\\")*")?\s*\/?\s*>/))),l&&!p||(this.print_newline(!1,o),this.print_indentation(o),f=!0)}if(f){u=!0;var g=C;E&&(g=o.indexOf(" ")+1);for(var y=0;y<g;y++)o.push(" ")}if(l)for(var b=0;b<o.length;b++)if(" "===o[b]){l=!1;break}}if(w&&"<"===n&&i+this.input.charAt(this.pos)==="{{"&&(i+=this.get_unformatted("}}"),o.length&&" "!==o[o.length-1]&&"<"!==o[o.length-1]&&(i=" "+i),a=!0),"<"!==i||n||(t=this.pos-1,n="<"),w&&!n&&o.length>=2&&"{"===o[o.length-1]&&"{"===o[o.length-2]&&(t="#"===i||"/"===i||"!"===i?this.pos-3:this.pos-2,n="{"),this.line_char_count++,o.push(i),o[1]&&("!"===o[1]||"?"===o[1]||"%"===o[1])){o=[this.get_comment(t)];break}if(w&&o[1]&&"{"===o[1]&&o[2]&&"!"===o[2]){o=[this.get_comment(t)];break}if(w&&"{"===n&&o.length>2&&"}"===o[o.length-2]&&"}"===o[o.length-1])break}}while(">"!==i);var x,_,S=o.join("");x=-1!==S.indexOf(" ")?S.indexOf(" "):-1!==S.indexOf("\n")?S.indexOf("\n"):"{"===S.charAt(0)?S.indexOf("}"):S.indexOf(">"),_="<"!==S.charAt(0)&&w?"#"===S.charAt(2)?3:2:1;var F=S.substring(_,x).toLowerCase();return"/"===S.charAt(S.length-2)||this.Utils.in_array(F,this.Utils.single_token)?e||(this.tag_type="SINGLE"):w&&"{"===S.charAt(0)&&"else"===F?e||(this.indent_to_tag("if"),this.tag_type="HANDLEBARS_ELSE",this.indent_content=!0,this.traverse_whitespace()):this.is_unformatted(F,m)||this.is_unformatted(F,v)?(s=this.get_unformatted("</"+F+">",S),o.push(s),this.pos,this.tag_type="SINGLE"):"script"===F&&(-1===S.search("type")||S.search("type")>-1&&S.search(/\b(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/)>-1)?e||(this.record_tag(F),this.tag_type="SCRIPT"):"style"===F&&(-1===S.search("type")||S.search("type")>-1&&S.search("text/css")>-1)?e||(this.record_tag(F),this.tag_type="STYLE"):"!"===F.charAt(0)?e||(this.tag_type="SINGLE",this.traverse_whitespace()):e||("/"===F.charAt(0)?(this.retrieve_tag(F.substring(1)),this.tag_type="END"):(this.record_tag(F),"html"!==F.toLowerCase()&&(this.indent_content=!0),this.tag_type="START"),this.traverse_whitespace()&&this.space_or_wrap(o),this.Utils.in_array(F,this.Utils.extra_liners)&&(this.print_newline(!1,this.output),this.output.length&&"\n"!==this.output[this.output.length-2]&&this.print_newline(!0,this.output))),e&&(this.pos=c,this.line_char_count=h),o.join("")},this.get_comment=function(e){var t="",n=">",r=!1;this.pos=e;var i=this.input.charAt(this.pos);for(this.pos++;this.pos<=this.input.length&&((t+=i).charAt(t.length-1)!==n.charAt(n.length-1)||-1===t.indexOf(n));)!r&&t.length<10&&(0===t.indexOf("<![if")?(n="<![endif]>",r=!0):0===t.indexOf("<![cdata[")?(n="]]>",r=!0):0===t.indexOf("<![")?(n="]>",r=!0):0===t.indexOf("\x3c!--")?(n="--\x3e",r=!0):0===t.indexOf("{{!--")?(n="--}}",r=!0):0===t.indexOf("{{!")?5===t.length&&-1===t.indexOf("{{!--")&&(n="}}",r=!0):0===t.indexOf("<?")?(n="?>",r=!0):0===t.indexOf("<%")&&(n="%>",r=!0)),i=this.input.charAt(this.pos),this.pos++;return t},this.get_unformatted=function(e,t){if(t&&-1!==t.toLowerCase().indexOf(e))return"";var n="",r="",i=!0,o=function(e){var t="";return{add:function(n){var r=t+n.toLowerCase();t=r.length<=e.length?r:r.substr(r.length-e.length,e.length)},doesNotMatch:function(){return-1===t.indexOf(e)}}}(e);do{if(this.pos>=this.input.length)return r;if(n=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(n,this.Utils.whitespace)){if(!i){this.line_char_count--;continue}if("\n"===n||"\r"===n){r+="\n",this.line_char_count=0;continue}}r+=n,o.add(n),this.line_char_count++,i=!0,w&&"{"===n&&r.length&&"{"===r.charAt(r.length-2)&&(r+=this.get_unformatted("}}"))}while(o.doesNotMatch());return r},this.get_token=function(){var e;if("TK_TAG_SCRIPT"===this.last_token||"TK_TAG_STYLE"===this.last_token){var t=this.last_token.substr(7);return"string"!=typeof(e=this.get_contents_to(t))?e:[e,"TK_"+t]}return"CONTENT"===this.current_mode?"string"!=typeof(e=this.get_content())?e:[e,"TK_CONTENT"]:"TAG"===this.current_mode?"string"!=typeof(e=this.get_tag())?e:[e,"TK_TAG_"+this.tag_type]:void 0},this.get_full_indent=function(e){return(e=this.indent_level+e||0)<1?"":Array(e+1).join(this.indent_string)},this.is_unformatted=function(e,t){if(!this.Utils.in_array(e,t))return!1;if("a"!==e.toLowerCase()||!this.Utils.in_array("a",t))return!0;var n=(this.get_tag(!0)||"").match(/^\s*<\s*\/?([a-z]*)\s*[^>]*>\s*$/);return!(n&&!this.Utils.in_array(n[1],t))},this.printer=function(e,t,n,r,i){this.input=e||"",this.input=this.input.replace(/\r\n|[\r\u2028\u2029]/g,"\n"),this.output=[],this.indent_character=t,this.indent_string="",this.indent_size=n,this.brace_style=i,this.indent_level=0,this.wrap_line_length=r,this.line_char_count=0;for(var o=0;o<this.indent_size;o++)this.indent_string+=this.indent_character;this.print_newline=function(e,t){this.line_char_count=0,t&&t.length&&(e||"\n"!==t[t.length-1])&&("\n"!==t[t.length-1]&&(t[t.length-1]=a(t[t.length-1])),t.push("\n"))},this.print_indentation=function(e){for(var t=0;t<this.indent_level;t++)e.push(this.indent_string),this.line_char_count+=this.indent_string.length},this.print_token=function(e){this.is_whitespace(e)&&!this.output.length||((e||""!==e)&&this.output.length&&"\n"===this.output[this.output.length-1]&&(this.print_indentation(this.output),e=e.replace(/^\s+/g,"")),this.print_token_raw(e))},this.print_token_raw=function(e){this.newlines>0&&(e=a(e)),e&&""!==e&&(e.length>1&&"\n"===e.charAt(e.length-1)?(this.output.push(e.slice(0,-1)),this.print_newline(!1,this.output)):this.output.push(e));for(var t=0;t<this.newlines;t++)this.print_newline(t>0,this.output);this.newlines=0},this.indent=function(){this.indent_level++},this.unindent=function(){this.indent_level>0&&this.indent_level--}},this}).printer(e,f,d,p,g);;){var r=l.get_token();if(l.token_text=r[0],l.token_type=r[1],"TK_EOF"===l.token_type)break;switch(l.token_type){case"TK_TAG_START":l.print_newline(!1,l.output),l.print_token(l.token_text),l.indent_content&&(!l.indent_body_inner_html&&l.token_text.match(/<body(?:.*)>/)||!l.indent_head_inner_html&&l.token_text.match(/<head(?:.*)>/)||l.indent(),l.indent_content=!1),l.current_mode="CONTENT";break;case"TK_TAG_STYLE":case"TK_TAG_SCRIPT":l.print_newline(!1,l.output),l.print_token(l.token_text),l.current_mode="CONTENT";break;case"TK_TAG_END":if("TK_CONTENT"===l.last_token&&""===l.last_text){var o=(l.token_text.match(/\w+/)||[])[0],s=null;l.output.length&&(s=l.output[l.output.length-1].match(/(?:<|{{#)\s*(\w+)/)),(null===s||s[1]!==o&&!l.Utils.in_array(s[1],m))&&l.print_newline(!1,l.output)}l.print_token(l.token_text),l.current_mode="CONTENT";break;case"TK_TAG_SINGLE":var x=l.token_text.match(/^\s*<([a-z-]+)/i);x&&l.Utils.in_array(x[1],m)||l.print_newline(!1,l.output),l.print_token(l.token_text),l.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_ELSE":for(var D=!1,T=l.output.length-1;T>=0&&"\n"!==l.output[T];T--)if(l.output[T].match(/{{#if/)){D=!0;break}D||l.print_newline(!1,l.output),l.print_token(l.token_text),l.indent_content&&(l.indent(),l.indent_content=!1),l.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_COMMENT":case"TK_CONTENT":l.print_token(l.token_text),l.current_mode="TAG";break;case"TK_STYLE":case"TK_SCRIPT":if(""!==l.token_text){l.print_newline(!1,l.output);var B,L=l.token_text,M=1;"TK_SCRIPT"===l.token_type?B="function"==typeof n&&n:"TK_STYLE"===l.token_type&&(B="function"==typeof i&&i),"keep"===t.indent_scripts?M=0:"separate"===t.indent_scripts&&(M=-l.indent_level);var O=l.get_full_indent(M);if(B){var P=function(){this.eol="\n"};P.prototype=t;var R=new P;L=B(L.replace(/^\s*/,O),R)}else{var j=L.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(l.indent_string).length-1,I=l.get_full_indent(M-j);L=L.replace(/^\s*/,O).replace(/\r\n|\r|\n/g,"\n"+I).replace(/\s+$/,"")}L&&(l.print_token_raw(L),l.print_newline(!0,l.output))}l.current_mode="TAG";break;default:""!==l.token_text&&l.print_token(l.token_text)}l.last_token=l.token_type,l.last_text=l.token_text}var N=l.output.join("").replace(/[\r\n\t ]+$/,"");return _&&(N+="\n"),"\n"!==F&&(N=N.replace(/[\n]/g,F)),N}}},function(e,t){var n="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ--ℝℤΩℨK--ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA--zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",r=new RegExp("["+n+"]"),i=new RegExp("["+n+"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍--_]");t.newline=/[\n\r\u2028\u2029]/,t.lineBreak=new RegExp("\r\n|"+t.newline.source),t.allLineBreaks=new RegExp(t.lineBreak.source,"g"),t.isIdentifierStart=function(e){return e<65?36===e||64===e:e<91||(e<97?95===e:e<123||e>=170&&r.test(String.fromCharCode(e)))},t.isIdentifierChar=function(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||e>=170&&i.test(String.fromCharCode(e))))}},function(e,t){e.exports.mergeOpts=function(e,t){var n,r={};for(n in e)n!==t&&(r[n]=e[n]);if(t in e)for(n in e[t])r[n]=e[t][n];return r}},function(e,t,n){var r=n(0).Beautifier;e.exports=function(e,t,n,i){return new r(e,t,n,i).beautify()}}]),r=[n,n(249),n(248)],void 0===(i=function(e){var t=n(249),r=n(248);return{html_beautify:function(e,n){return o(e,n,t.js_beautify,r.css_beautify)}}}.apply(t,r))||(e.exports=i)}])]);
//# sourceMappingURL=vendor.bundle.js.map