-
Notifications
You must be signed in to change notification settings - Fork 17
/
polychart.1.0.0.min.js
535 lines (534 loc) · 263 KB
/
polychart.1.0.0.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
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
247
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
/*
Copyright 2012 Beta Cubed. All rights reserved.
Polychart.js charting library.
This library uses the following projects.
JSON2.js
d3.js
underscore.js
underscore.string.js
raphael.js
*/
var gg=function(){function yf(a){for(var b=-1,c=a.length,d=[];++b<c;)d.push(a[b]);return d}function Sb(){}function zf(a,b,c){return function(){var d=c.apply(b,arguments);return arguments.length?a:d}}function Nc(a){return null!=a&&!isNaN(a)}function Af(a){return a.length}function Bf(a){return null==a}function Sd(){}function Cf(a){function b(){for(var b=c,d=-1,g=b.length,j;++d<g;)(j=b[d].on)&&j.apply(this,arguments);return a}var c=[],d=new Sb;b.on=function(b,f){var g=d.get(b),j;if(2>arguments.length)return g&&
g.on;g&&(g.on=null,c=c.slice(0,j=c.indexOf(g)).concat(c.slice(j+1)),d.remove(b));f&&c.push(d.set(b,{on:f}));return a};return b}function Td(a,b){return b-(a?1+Math.floor(Math.log(a+Math.pow(10,1+Math.floor(Math.log(a)/Math.LN10)-b))/Math.LN10):1)}function Df(a){return a+""}function Ud(a){for(var b=a.lastIndexOf("."),c=0<=b?a.substring(b):(b=a.length,""),d=[];0<b;)d.push(a.substring(b-=3,b+3));return d.reverse().join(",")+c}function Vd(a){return function(b){return 1-a(1-b)}}function Wd(a){return function(b){return 0.5*
(0.5>b?a(2*b):2-a(2-2*b))}}function Oc(a){return a}function Pc(a){return function(b){return Math.pow(b,a)}}function Ef(a){return 1-Math.cos(a*Math.PI/2)}function Ff(a){return Math.pow(2,10*(a-1))}function Gf(a){return 1-Math.sqrt(1-a*a)}function Hf(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+0.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375}function If(a,b){b=b-(a=+a)?1/(b-a):0;return function(c){return(c-a)*b}}function Jf(a,b){b=b-(a=+a)?1/(b-a):0;
return function(c){return Math.max(0,Math.min(1,(c-a)*b))}}function hb(a,b,c){return new qb(a,b,c)}function qb(a,b,c){this.r=a;this.g=b;this.b=c}function Gb(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function Qc(a,b,c){var d=0,e=0,f=0,g,j;if(g=/([a-z]+)\((.*)\)/i.exec(a))switch(j=g[2].split(","),g[1]){case "hsl":return c(parseFloat(j[0]),parseFloat(j[1])/100,parseFloat(j[2])/100);case "rgb":return b(Rc(j[0]),Rc(j[1]),Rc(j[2]))}if(c=ic.get(a))return b(c.r,c.g,c.b);null!=
a&&"#"===a.charAt(0)&&(4===a.length?(d=a.charAt(1),d+=d,e=a.charAt(2),e+=e,f=a.charAt(3),f+=f):7===a.length&&(d=a.substring(1,3),e=a.substring(3,5),f=a.substring(5,7)),d=parseInt(d,16),e=parseInt(e,16),f=parseInt(f,16));return b(d,e,f)}function Xd(a,b,c){var d=Math.min(a/=255,b/=255,c/=255),e=Math.max(a,b,c),f=e-d,g=(e+d)/2;f?(d=0.5>g?f/(e+d):f/(2-e-d),a=60*(a==e?(b-c)/f+(b<c?6:0):b==e?(c-a)/f+2:(a-b)/f+4)):d=a=0;return Hb(a,d,g)}function Rc(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?
Math.round(2.55*b):b}function Hb(a,b,c){return new rb(a,b,c)}function rb(a,b,c){this.h=a;this.s=b;this.l=c}function jc(a,b,c){function d(a){360<a?a-=360:0>a&&(a+=360);return 60>a?e+(f-e)*a/60:180>a?f:240>a?e+(f-e)*(240-a)/60:e}var e,f,a=a%360;0>a&&(a+=360);b=0>b?0:1<b?1:b;c=0>c?0:1<c?1:c;f=0.5>=c?c*(1+b):c+b-c*b;e=2*c-f;return hb(Math.round(255*d(a+120)),Math.round(255*d(a)),Math.round(255*d(a-120)))}function Kf(a){return ja(a,Lf).join(",")}function Lf(a){return/[",\n]/.test(a)?'"'+a.replace(/\"/g,
'""')+'"':a}function Sc(a){var b=a[0],a=a[a.length-1];return b<a?[b,a]:[a,b]}function Tc(a,b){var c=0,d=a.length-1,e=a[c],f=a[d],g;f<e&&(g=c,c=d,d=g,g=e,e=f,f=g);if(g=f-e)b=b(g),a[c]=b.floor(e),a[d]=b.ceil(f);return a}function Mf(){return Math}function Yd(a,b,c,d){function e(){var e=2<Math.min(a.length,b.length)?Nf:Of,E=d?Jf:If;g=e(a,b,E,c);j=e(b,a,E,i.interpolate);return f}function f(a){return g(a)}var g,j;f.invert=function(a){return j(a)};f.domain=function(b){if(!arguments.length)return a;a=ja(b,
Number);return e()};f.range=function(a){if(!arguments.length)return b;b=a;return e()};f.rangeRound=function(a){return f.range(a).interpolate(i.interpolateRound)};f.clamp=function(a){if(!arguments.length)return d;d=a;return e()};f.interpolate=function(a){if(!arguments.length)return c;c=a;return e()};f.ticks=function(b){return Uc(a,b)};f.tickFormat=function(b){return Vc(a,b)};f.nice=function(){Tc(a,Zd);return e()};f.copy=function(){return Yd(a,b,c,d)};return e()}function $d(a,b){return i.rebind(a,b,
"range","rangeRound","interpolate","clamp")}function Zd(a){a=Math.pow(10,Math.round(Math.log(a)/Math.LN10)-1);return{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}}function ae(a,b){var c=Sc(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),d=b/d*e;0.15>=d?e*=10:0.35>=d?e*=5:0.75>=d&&(e*=2);c[0]=Math.ceil(c[0]/e)*e;c[1]=Math.floor(c[1]/e)*e+0.5*e;c[2]=e;return c}function Uc(a,b){return i.range.apply(i,ae(a,b))}function Vc(a,b){return i.format(",."+
Math.max(0,-Math.floor(Math.log(ae(a,b)[2])/Math.LN10+0.01))+"f")}function Of(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Nf(a,b,c,d){var e=[],f=[],g=0,j=Math.min(a.length,b.length)-1;a[j]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());for(;++g<=j;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=i.bisect(a,b,1,j)-1;return f[c](e[c](b))}}function be(a,b){function c(c){return a(b(c))}var d=b.pow;c.invert=function(b){return d(a.invert(b))};
c.domain=function(e){if(!arguments.length)return ja(a.domain(),d);b=0>e[0]?kc:Wc;d=b.pow;a.domain(ja(e,b));return c};c.nice=function(){a.domain(Tc(a.domain(),Mf));return c};c.ticks=function(){var c=Sc(a.domain()),f=[];if(c.every(isFinite)){var g=Math.floor(c[0]),j=Math.ceil(c[1]),n=d(c[0]),c=d(c[1]);if(b===kc)for(f.push(d(g));g++<j;)for(var E=9;0<E;E--)f.push(d(g)*E);else{for(;g<j;g++)for(E=1;10>E;E++)f.push(d(g)*E);f.push(d(g))}for(g=0;f[g]<n;g++);for(j=f.length;f[j-1]>c;j--);f=f.slice(g,j)}return f};
c.tickFormat=function(a,f){2>arguments.length&&(f=Pf);if(1>arguments.length)return f;var g=a/c.ticks().length,j=b===kc?(n=-1E-12,Math.floor):(n=1E-12,Math.ceil),n;return function(a){return a/d(j(b(a)+n))<g?f(a):""}};c.copy=function(){return be(a.copy(),b)};return $d(c,a)}function Wc(a){return Math.log(0>a?0:a)/Math.LN10}function kc(a){return-Math.log(0<a?0:-a)/Math.LN10}function ce(a,b){function c(b){return a(d(b))}var d=lc(b),e=lc(1/b);c.invert=function(b){return e(a.invert(b))};c.domain=function(b){if(!arguments.length)return ja(a.domain(),
e);a.domain(ja(b,d));return c};c.ticks=function(a){return Uc(c.domain(),a)};c.tickFormat=function(a){return Vc(c.domain(),a)};c.nice=function(){return c.domain(Tc(c.domain(),Zd))};c.exponent=function(a){if(!arguments.length)return b;var g=c.domain();d=lc(b=a);e=lc(1/b);return c.domain(g)};c.copy=function(){return ce(a.copy(),b)};return $d(c,a)}function lc(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function de(a,b){function c(b){return f[((e.get(b)||e.set(b,a.push(b)))-1)%f.length]}
function d(b,c){return ja(i.range(a.length),function(a){return b+c*a})}var e,f,g;c.domain=function(d){if(!arguments.length)return a;a=[];e=new Sb;for(var f=-1,g=d.length,h;++f<g;)e.has(h=d[f])||e.set(h,a.push(h));return c[b.t](b.x,b.p)};c.range=function(a){if(!arguments.length)return f;f=a;g=0;b={t:"range",x:a};return c};c.rangePoints=function(e,n){2>arguments.length&&(n=0);var E=e[0],h=e[1],m=(h-E)/(a.length-1+n);f=d(2>a.length?(E+h)/2:E+m*n/2,m);g=0;b={t:"rangePoints",x:e,p:n};return c};c.rangeBands=
function(e,n){2>arguments.length&&(n=0);var E=e[1]<e[0],h=e[E-0],m=(e[1-E]-h)/(a.length+n);f=d(h+m*n,m);E&&f.reverse();g=m*(1-n);b={t:"rangeBands",x:e,p:n};return c};c.rangeRoundBands=function(e,n){2>arguments.length&&(n=0);var E=e[1]<e[0],h=e[E-0],m=e[1-E],i=Math.floor((m-h)/(a.length+n));f=d(h+Math.round((m-h-(a.length-n)*i)/2),i);E&&f.reverse();g=Math.round(i*(1-n));b={t:"rangeRoundBands",x:e,p:n};return c};c.rangeBand=function(){return g};c.rangeExtent=function(){return Sc(b.x)};c.copy=function(){return de(a,
b)};return c.domain(a)}function ee(a,b){function c(){var c=0,g=b.length;for(e=[];++c<g;)e[c-1]=i.quantile(a,c/g);return d}function d(a){return isNaN(a=+a)?NaN:b[i.bisect(e,a)]}var e;d.domain=function(b){if(!arguments.length)return a;a=b.filter(function(a){return!isNaN(a)}).sort(i.ascending);return c()};d.range=function(a){if(!arguments.length)return b;b=a;return c()};d.quantiles=function(){return e};d.copy=function(){return ee(a,b)};return c()}function fe(a,b,c){function d(b){return c[Math.max(0,
Math.min(g,Math.floor(f*(b-a))))]}function e(){f=c.length/(b-a);g=c.length-1;return d}var f,g;d.domain=function(c){if(!arguments.length)return[a,b];a=+c[0];b=+c[c.length-1];return e()};d.range=function(a){if(!arguments.length)return c;c=a;return e()};d.copy=function(){return fe(a,b,c)};return e()}function ge(a){function b(a){return+a}b.invert=b;b.domain=b.range=function(c){if(!arguments.length)return a;a=ja(c,b);return b};b.ticks=function(b){return Uc(a,b)};b.tickFormat=function(b){return Vc(a,b)};
b.copy=function(){return ge(a)};return b}function sb(){this._=new Date(1<arguments.length?Date.UTC.apply(this,arguments):arguments[0])}function mc(a,b,c,d){for(var e,f=0,g=b.length,j=c.length;f<g;){if(d>=j)return-1;e=b.charCodeAt(f++);if(37==e){if(e=Qf[b.charAt(f++)],!e||0>(d=e(a,c,d)))return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function he(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+2)))?(a.d=+b[0],c+b[0].length):-1}function ie(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,
c+2)))?(a.H=+b[0],c+b[0].length):-1}function Xc(a){return a.toISOString()}function tb(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){b(c=a(new da(c-1)),1);return c}function f(a,c){b(a=new da(+a),c);return a}function g(a,d,f){var a=e(a),g=[];if(1<f)for(;a<d;)c(a)%f||g.push(new Date(+a)),b(a,1);else for(;a<d;)g.push(new Date(+a)),b(a,1);return g}a.floor=a;a.round=d;a.ceil=e;a.offset=f;a.range=g;var j=a.utc=nc(a);j.floor=j;j.round=nc(d);j.ceil=nc(e);j.offset=nc(f);j.range=
function(a,b,c){try{da=sb;var d=new sb;d._=a;return g(d,b,c)}finally{da=Date}};return a}function nc(a){return function(b,c){try{da=sb;var d=new sb;d._=b;return a(d,c)._}finally{da=Date}}}function Yc(a,b,c){function d(b){return a(b)}d.invert=function(b){return Zc(a.invert(b))};d.domain=function(b){if(!arguments.length)return ja(a.domain(),Zc);a.domain(b);return d};d.nice=function(a){var b=je(d.domain());return d.domain([a.floor(b[0]),a.ceil(b[1])])};d.ticks=function(c,f){var g=je(d.domain());if("function"!==
typeof c){var j=(g[1]-g[0])/c,n=i.bisect(oc,j);if(n==oc.length)return b.year(g,c);if(!n)return ja(a.ticks(c),Zc);Math.log(j/oc[n-1])<Math.log(oc[n]/j)&&--n;c=b[n];f=c[1];c=c[0].range}return c(g[0],new Date(+g[1]+1),f)};d.tickFormat=function(){return c};d.copy=function(){return Yc(a.copy(),b,c)};return i.rebind(d,a,"range","rangeRound","interpolate","clamp")}function je(a){var b=a[0],a=a[a.length-1];return b<a?[b,a]:[a,b]}function Zc(a){return new Date(a)}function ke(a){return function(b){for(var c=
a.length-1,d=a[c];!d[1](b);)d=a[--c];return d[0](b)}}function $c(a){var b=new Date(a,0,1);b.setFullYear(a);return b}function Rf(a){var b=a.getFullYear(),c=$c(b),d=$c(b+1);return b+(a-c)/(d-c)}function ad(a){var b=new Date(Date.UTC(a,0,1));b.setUTCFullYear(a);return b}function Sf(a){var b=a.getUTCFullYear(),c=ad(b),d=ad(b+1);return b+(a-c)/(d-c)}(function(){function a(b,c,d){if(b===c)return 0!==b||1/b==1/c;if(null==b||null==c)return b===c;b._chain&&(b=b._wrapped);c._chain&&(c=c._wrapped);if(b.isEqual&&
r.isFunction(b.isEqual))return b.isEqual(c);if(c.isEqual&&r.isFunction(c.isEqual))return c.isEqual(b);var e=n.call(b);if(e!=n.call(c))return!1;switch(e){case "[object String]":return b==String(c);case "[object Number]":return b!=+b?c!=+c:0==b?1/b==1/c:b==+c;case "[object Date]":case "[object Boolean]":return+b==+c;case "[object RegExp]":return b.source==c.source&&b.global==c.global&&b.multiline==c.multiline&&b.ignoreCase==c.ignoreCase}if("object"!=typeof b||"object"!=typeof c)return!1;for(var f=d.length;f--;)if(d[f]==
b)return!0;d.push(b);var f=0,g=!0;if("[object Array]"==e){if(f=b.length,g=f==c.length)for(;f--&&(g=f in b==f in c&&a(b[f],c[f],d)););}else{if("constructor"in b!="constructor"in c||b.constructor!=c.constructor)return!1;for(var j in b)if(r.has(b,j)&&(f++,!(g=r.has(c,j)&&a(b[j],c[j],d))))break;if(g){for(j in c)if(r.has(c,j)&&!f--)break;g=!f}}d.pop();return g}var b=this,c=b._,d={},e=Array.prototype,f=Object.prototype,g=e.slice,j=e.unshift,n=f.toString,E=f.hasOwnProperty,h=e.forEach,m=e.map,i=e.reduce,
q=e.reduceRight,k=e.filter,l=e.every,G=e.some,w=e.indexOf,y=e.lastIndexOf,f=Array.isArray,p=Object.keys,u=Function.prototype.bind,r=function(a){return new H(a)};"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(exports=module.exports=r),exports._=r):b._=r;r.VERSION="1.3.1";var s=r.each=r.forEach=function(a,b,c){if(null!=a)if(h&&a.forEach===h)a.forEach(b,c);else if(a.length===+a.length)for(var e=0,f=a.length;e<f&&!(e in a&&b.call(c,a[e],e,a)===d);e++);else for(e in a)if(r.has(a,
e)&&b.call(c,a[e],e,a)===d)break};r.map=r.collect=function(a,b,c){var d=[];if(null==a)return d;if(m&&a.map===m)return a.map(b,c);s(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)});a.length===+a.length&&(d.length=a.length);return d};r.reduce=r.foldl=r.inject=function(a,b,c,d){var e=2<arguments.length;null==a&&(a=[]);if(i&&a.reduce===i)return d&&(b=r.bind(b,d)),e?a.reduce(b,c):a.reduce(b);s(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");
return c};r.reduceRight=r.foldr=function(a,b,c,d){var e=2<arguments.length;null==a&&(a=[]);if(q&&a.reduceRight===q)return d&&(b=r.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=r.toArray(a).reverse();d&&!e&&(b=r.bind(b,d));return e?r.reduce(f,b,c,d):r.reduce(f,b)};r.find=r.detect=function(a,b,c){var d;v(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0});return d};r.filter=r.select=function(a,b,c){var d=[];if(null==a)return d;if(k&&a.filter===k)return a.filter(b,c);s(a,function(a,e,f){b.call(c,
a,e,f)&&(d[d.length]=a)});return d};r.reject=function(a,b,c){var d=[];if(null==a)return d;s(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)});return d};r.every=r.all=function(a,b,c){var e=!0;if(null==a)return e;if(l&&a.every===l)return a.every(b,c);s(a,function(a,f,g){if(!(e=e&&b.call(c,a,f,g)))return d});return!!e};var v=r.some=r.any=function(a,b,c){b||(b=r.identity);var e=!1;if(null==a)return e;if(G&&a.some===G)return a.some(b,c);s(a,function(a,f,g){if(e||(e=b.call(c,a,f,g)))return d});return!!e};
r.include=r.contains=function(a,b){var c=!1;return null==a?c:w&&a.indexOf===w?-1!=a.indexOf(b):c=v(a,function(a){return a===b})};r.invoke=function(a,b){var c=g.call(arguments,2);return r.map(a,function(a){return(r.isFunction(b)?b||a:a[b]).apply(a,c)})};r.pluck=function(a,b){return r.map(a,function(a){return a[b]})};r.max=function(a,b,c){if(!b&&r.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&r.isEmpty(a))return-Infinity;var d={computed:-Infinity};s(a,function(a,e,f){e=b?b.call(c,a,
e,f):a;e>=d.computed&&(d={value:a,computed:e})});return d.value};r.min=function(a,b,c){if(!b&&r.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&r.isEmpty(a))return Infinity;var d={computed:Infinity};s(a,function(a,e,f){e=b?b.call(c,a,e,f):a;e<d.computed&&(d={value:a,computed:e})});return d.value};r.shuffle=function(a){var b=[],c;s(a,function(a,d){0==d?b[0]=a:(c=Math.floor(Math.random()*(d+1)),b[d]=b[c],b[c]=a)});return b};r.sortBy=function(a,b,c){return r.pluck(r.map(a,function(a,d,
e){return{value:a,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};r.groupBy=function(a,b){var c={},d=r.isFunction(b)?b:function(a){return a[b]};s(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)});return c};r.sortedIndex=function(a,b,c){c||(c=r.identity);for(var d=0,e=a.length;d<e;){var f=d+e>>1;c(a[f])<c(b)?d=f+1:e=f}return d};r.toArray=function(a){return!a?[]:a.toArray?a.toArray():r.isArray(a)||r.isArguments(a)?g.call(a):r.values(a)};
r.size=function(a){return r.isArray(a)?a.length:r.keys(a).length};r.first=r.head=function(a,b,c){return null!=b&&!c?g.call(a,0,b):a[0]};r.initial=function(a,b,c){return g.call(a,0,a.length-(null==b||c?1:b))};r.last=function(a,b,c){return null!=b&&!c?g.call(a,Math.max(a.length-b,0)):a[a.length-1]};r.rest=r.tail=function(a,b,c){return g.call(a,null==b||c?1:b)};r.compact=function(a){return r.filter(a,function(a){return!!a})};r.flatten=function(a,b){return r.reduce(a,function(a,c){if(r.isArray(c))return a.concat(b?
c:r.flatten(c));a[a.length]=c;return a},[])};r.without=function(a){return r.difference(a,g.call(arguments,1))};r.uniq=r.unique=function(a,b,c){var c=c?r.map(a,c):a,d=[];3>a.length&&(b=!0);r.reduce(c,function(c,e,f){if(b?r.last(c)!==e||!c.length:!r.include(c,e))c.push(e),d.push(a[f]);return c},[]);return d};r.union=function(){return r.uniq(r.flatten(arguments,!0))};r.intersection=r.intersect=function(a){var b=g.call(arguments,1);return r.filter(r.uniq(a),function(a){return r.every(b,function(b){return 0<=
r.indexOf(b,a)})})};r.difference=function(a){var b=r.flatten(g.call(arguments,1),!0);return r.filter(a,function(a){return!r.include(b,a)})};r.zip=function(){for(var a=g.call(arguments),b=r.max(r.pluck(a,"length")),c=Array(b),d=0;d<b;d++)c[d]=r.pluck(a,""+d);return c};r.indexOf=function(a,b,c){if(null==a)return-1;var d;if(c)return c=r.sortedIndex(a,b),a[c]===b?c:-1;if(w&&a.indexOf===w)return a.indexOf(b);c=0;for(d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1};r.lastIndexOf=function(a,b){if(null==
a)return-1;if(y&&a.lastIndexOf===y)return a.lastIndexOf(b);for(var c=a.length;c--;)if(c in a&&a[c]===b)return c;return-1};r.range=function(a,b,c){1>=arguments.length&&(b=a||0,a=0);for(var c=arguments[2]||1,d=Math.max(Math.ceil((b-a)/c),0),e=0,f=Array(d);e<d;)f[e++]=a,a+=c;return f};var z=function(){};r.bind=function(a,b){var c,d;if(a.bind===u&&u)return u.apply(a,g.call(arguments,1));if(!r.isFunction(a))throw new TypeError;d=g.call(arguments,2);return c=function(){if(!(this instanceof c))return a.apply(b,
d.concat(g.call(arguments)));z.prototype=a.prototype;var e=new z,f=a.apply(e,d.concat(g.call(arguments)));return Object(f)===f?f:e}};r.bindAll=function(a){var b=g.call(arguments,1);0==b.length&&(b=r.functions(a));s(b,function(b){a[b]=r.bind(a[b],a)});return a};r.memoize=function(a,b){var c={};b||(b=r.identity);return function(){var d=b.apply(this,arguments);return r.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}};r.delay=function(a,b){var c=g.call(arguments,2);return setTimeout(function(){return a.apply(a,
c)},b)};r.defer=function(a){return r.delay.apply(r,[a,1].concat(g.call(arguments,1)))};r.throttle=function(a,b){var c,d,e,f,g,j=r.debounce(function(){g=f=!1},b);return function(){c=this;d=arguments;e||(e=setTimeout(function(){e=null;g&&a.apply(c,d);j()},b));f?g=!0:a.apply(c,d);j();f=!0}};r.debounce=function(a,b,c){var d;return function(){var e=this,f=arguments;c&&!d&&a.apply(e,f);clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(e,f)},b)}};r.once=function(a){var b=!1,c;return function(){if(b)return c;
b=!0;return c=a.apply(this,arguments)}};r.wrap=function(a,b){return function(){var c=[a].concat(g.call(arguments,0));return b.apply(this,c)}};r.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;0<=c;c--)b=[a[c].apply(this,b)];return b[0]}};r.after=function(a,b){return 0>=a?b():function(){if(1>--a)return b.apply(this,arguments)}};r.keys=p||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],c;for(c in a)r.has(a,c)&&(b[b.length]=c);return b};
r.values=function(a){return r.map(a,r.identity)};r.functions=r.methods=function(a){var b=[],c;for(c in a)r.isFunction(a[c])&&b.push(c);return b.sort()};r.extend=function(a){s(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]});return a};r.defaults=function(a){s(g.call(arguments,1),function(b){for(var c in b)null==a[c]&&(a[c]=b[c])});return a};r.clone=function(a){return!r.isObject(a)?a:r.isArray(a)?a.slice():r.extend({},a)};r.tap=function(a,b){b(a);return a};r.isEqual=function(b,c){return a(b,
c,[])};r.isEmpty=function(a){if(null==a)return!0;if(r.isArray(a)||r.isString(a))return 0===a.length;for(var b in a)if(r.has(a,b))return!1;return!0};r.isElement=function(a){return!!(a&&1==a.nodeType)};r.isArray=f||function(a){return"[object Array]"==n.call(a)};r.isObject=function(a){return a===Object(a)};r.isArguments=function(a){return"[object Arguments]"==n.call(a)};r.isArguments(arguments)||(r.isArguments=function(a){return!(!a||!r.has(a,"callee"))});r.isFunction=function(a){return"[object Function]"==
n.call(a)};r.isString=function(a){return"[object String]"==n.call(a)};r.isNumber=function(a){return"[object Number]"==n.call(a)};r.isNaN=function(a){return a!==a};r.isBoolean=function(a){return!0===a||!1===a||"[object Boolean]"==n.call(a)};r.isDate=function(a){return"[object Date]"==n.call(a)};r.isRegExp=function(a){return"[object RegExp]"==n.call(a)};r.isNull=function(a){return null===a};r.isUndefined=function(a){return void 0===a};r.has=function(a,b){return E.call(a,b)};r.noConflict=function(){b._=
c;return this};r.identity=function(a){return a};r.times=function(a,b,c){for(var d=0;d<a;d++)b.call(c,d)};r.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};r.result=function(a,b){if(null==a)return null;var c=a[b];return r.isFunction(c)?c.call(a):c};r.mixin=function(a){s(r.functions(a),function(b){var c=r[b]=a[b];H.prototype[b]=function(){var a=g.call(arguments);j.call(a,this._wrapped);
return W(c.apply(r,a),this._chain)}})};var B=0;r.uniqueId=function(a){var b=B++;return a?a+b:b};r.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var D=/.^/,A={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},C;for(C in A)A[A[C]]=C;var F=/\\|'|\r|\n|\t|\u2028|\u2029/g,J=/\\(\\|'|r|n|t|u2028|u2029)/g,I=function(a){return a.replace(J,function(a,b){return A[b]})};r.template=function(a,b){var c=r.templateSettings,c="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+
a.replace(F,function(a){return"\\"+A[a]}).replace(c.escape||D,function(a,b){return"',\n_.escape("+I(b)+"),\n'"}).replace(c.interpolate||D,function(a,b){return"',\n"+I(b)+",\n'"}).replace(c.evaluate||D,function(a,b){return"');\n"+I(b)+"\n;__p.push('"})+"');\n}\nreturn __p.join('');",d=new Function("obj","_",c);if(b)return d(b,r);var e=function(a){return d.call(this,a,r)};e.source="function(obj){\n"+c+"\n}";return e};r.chain=function(a){return r(a).chain()};var H=function(a){this._wrapped=a};r.prototype=
H.prototype;var W=function(a,b){return b?r(a).chain():a};r.mixin(r);s("pop push reverse shift sort splice unshift".split(" "),function(a){var b=e[a];H.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;("shift"==a||"splice"==a)&&0===d&&delete c[0];return W(c,this._chain)}});s(["concat","join","slice"],function(a){var b=e[a];H.prototype[a]=function(){return W(b.apply(this._wrapped,arguments),this._chain)}});H.prototype.chain=function(){this._chain=!0;return this};H.prototype.value=
function(){return this._wrapped}}).call(this);var le=String.prototype.trim,me=String.prototype.trimRight,ne=String.prototype.trimLeft,Ib=function(a,b,c){for(var a=a+"",b=~~b,d=[];0<b;d[--b]=a);return d.join(null==c?"":c)},pc=function(a){return null!=a?"["+J.escapeRegExp(""+a)+"]":"\\s"},qc={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},oe={},cd;for(cd in qc)oe[qc[cd]]=cd;var Tb,dd=function(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()},Xa=function(){Xa.cache.hasOwnProperty(arguments[0])||
(Xa.cache[arguments[0]]=Xa.parse(arguments[0]));return Xa.format.call(null,Xa.cache[arguments[0]],arguments)};Xa.format=function(a,b){var c=1,d=a.length,e="",f=[],g,j,n,E;for(g=0;g<d;g++)if(e=dd(a[g]),"string"===e)f.push(a[g]);else if("array"===e){n=a[g];if(n[2]){e=b[c];for(j=0;j<n[2].length;j++){if(!e.hasOwnProperty(n[2][j]))throw Error(Tb('[_.sprintf] property "%s" does not exist',n[2][j]));e=e[n[2][j]]}}else e=n[1]?b[n[1]]:b[c++];if(/[^s]/.test(n[8])&&"number"!=dd(e))throw Error(Tb("[_.sprintf] expecting number but found %s",
dd(e)));switch(n[8]){case "b":e=e.toString(2);break;case "c":e=String.fromCharCode(e);break;case "d":e=parseInt(e,10);break;case "e":e=n[7]?e.toExponential(n[7]):e.toExponential();break;case "f":e=n[7]?parseFloat(e).toFixed(n[7]):parseFloat(e);break;case "o":e=e.toString(8);break;case "s":e=(e=String(e))&&n[7]?e.substring(0,n[7]):e;break;case "u":e=Math.abs(e);break;case "x":e=e.toString(16);break;case "X":e=e.toString(16).toUpperCase()}e=/[def]/.test(n[8])&&n[3]&&0<=e?"+"+e:e;j=n[4]?"0"==n[4]?"0":
n[4].charAt(1):" ";E=n[6]-String(e).length;j=n[6]?Ib(j,E):"";f.push(n[5]?e+j:j+e)}return f.join("")};Xa.cache={};Xa.parse=function(a){for(var b=[],c=[],d=0;a;){if(null!==(b=/^[^\x25]+/.exec(a)))c.push(b[0]);else if(null!==(b=/^\x25{2}/.exec(a)))c.push("%");else if(null!==(b=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(a))){if(b[2]){var d=d|1,e=[],f=b[2],g=[];if(null!==(g=/^([a-z_][a-z_\d]*)/i.exec(f)))for(e.push(g[1]);""!==(f=f.substring(g[0].length));)if(null!==
(g=/^\.([a-z_][a-z_\d]*)/i.exec(f)))e.push(g[1]);else if(null!==(g=/^\[(\d+)\]/.exec(f)))e.push(g[1]);else throw Error("[_.sprintf] huh?");else throw Error("[_.sprintf] huh?");b[2]=e}else d|=2;if(3===d)throw Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");c.push(b)}else throw Error("[_.sprintf] huh?");a=a.substring(b[0].length)}return c};Tb=Xa;var J={VERSION:"2.2.0rc",isBlank:function(a){return/^\s*$/.test(a)},stripTags:function(a){return(""+a).replace(/<\/?[^>]+>/g,
"")},capitalize:function(a){a+="";return a.charAt(0).toUpperCase()+a.substring(1)},chop:function(a,b){for(var a=a+"",b=~~b||a.length,c=[],d=0;d<a.length;d+=b)c.push(a.slice(d,d+b));return c},clean:function(a){return J.strip(a).replace(/\s+/g," ")},count:function(a,b){return(a+"").split(b+"").length-1},chars:function(a){return(""+a).split("")},escapeHTML:function(a){return(""+a).replace(/[&<>"']/g,function(a){return"&"+oe[a]+";"})},unescapeHTML:function(a){return(""+a).replace(/\&([^;]+);/g,function(a,
c){var d;return c in qc?qc[c]:(d=c.match(/^#x([\da-fA-F]+)$/))?String.fromCharCode(parseInt(d[1],16)):(d=c.match(/^#(\d+)$/))?String.fromCharCode(~~d[1]):a})},escapeRegExp:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(a,b,c){a=J.chars(a);a.splice(~~b,0,""+c);return a.join("")},include:function(a,b){return!!~(""+a).indexOf(b)},join:function(){var a=Array.prototype.slice.call(arguments);return a.join(a.shift())},lines:function(a){return(""+a).split("\n")},reverse:function(a){return J.chars(a).reverse().join("")},
splice:function(a,b,c,d){a=J.chars(a);a.splice(~~b,~~c,d);return a.join("")},startsWith:function(a,b){a+="";b+="";return a.length>=b.length&&a.substring(0,b.length)===b},endsWith:function(a,b){a+="";b+="";return a.length>=b.length&&a.substring(a.length-b.length)===b},succ:function(a){var a=a+"",b=J.chars(a);b.splice(a.length-1,1,String.fromCharCode(a.charCodeAt(a.length-1)+1));return b.join("")},titleize:function(a){return(""+a).replace(/\b./g,function(a){return a.toUpperCase()})},camelize:function(a){return J.trim(a).replace(/[-_\s]+(.)?/g,
function(a,c){return c&&c.toUpperCase()})},underscored:function(a){return J.trim(a).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(a){return J.trim(a).replace(/[_\s]+/g,"-").replace(/([A-Z])/g,"-$1").replace(/-+/g,"-").toLowerCase()},classify:function(a){return J.titleize((a+"").replace(/_/g," ")).replace(/\s/g,"")},humanize:function(a){return J.capitalize(this.underscored(a).replace(/_id$/,"").replace(/_/g," "))},trim:function(a,b){a+="";if(!b&&le)return le.call(a);
b=pc(b);return a.replace(RegExp("^"+b+"+|"+b+"+$","g"),"")},ltrim:function(a,b){a+="";if(!b&&ne)return ne.call(a);b=pc(b);return a.replace(RegExp("^"+b+"+"),"")},rtrim:function(a,b){a+="";if(!b&&me)return me.call(a);b=pc(b);return a.replace(RegExp(b+"+$"),"")},truncate:function(a,b,c){a+="";b=~~b;return a.length>b?a.slice(0,b)+(c||"..."):a},prune:function(a,b,c){var a=a+"",b=~~b,c=null!=c?""+c:"...",d,e=a.replace(/\W/g,function(a){return a.toUpperCase()!==a.toLowerCase()?"A":" "});d=e.charAt(b);b=
e.slice(0,b);d&&d.match(/\S/)&&(b=b.replace(/\s\S+$/,""));b=J.rtrim(b);return(b+c).length>a.length?a:a.substring(0,b.length)+c},words:function(a,b){return J.trim(a,b).split(b||/\s+/)},pad:function(a,b,c,d){var a=a+"",e=0,b=~~b;c?1<c.length&&(c=c.charAt(0)):c=" ";switch(d){case "right":return e=b-a.length,a+Ib(c,e);case "both":return e=b-a.length,Ib(c,Math.ceil(e/2))+a+Ib(c,Math.floor(e/2));default:return e=b-a.length,Ib(c,e)+a}},lpad:function(a,b,c){return J.pad(a,b,c)},rpad:function(a,b,c){return J.pad(a,
b,c,"right")},lrpad:function(a,b,c){return J.pad(a,b,c,"both")},sprintf:Tb,vsprintf:function(a,b){b.unshift(a);return Tb.apply(null,b)},toNumber:function(a,b){var a=a+"",c;c=1*(1*a||0).toFixed(~~b)||0;return 0===c&&!a.match(/^0+$/)?Number.NaN:c},strRight:function(a,b){var a=a+"",b=null!=b?""+b:b,c=!b?-1:a.indexOf(b);return~c?a.slice(c+b.length,a.length):a},strRightBack:function(a,b){var a=a+"",b=null!=b?""+b:b,c=!b?-1:a.lastIndexOf(b);return~c?a.slice(c+b.length,a.length):a},strLeft:function(a,b){var a=
a+"",b=null!=b?""+b:b,c=!b?-1:a.indexOf(b);return~c?a.slice(0,c):a},strLeftBack:function(a,b){var a=a+"",c=a.lastIndexOf(null!=b?""+b:b);return~c?a.slice(0,c):a},toSentence:function(a,b,c){b||(b=", ");c||(c=" and ");for(var d=a.length,e="",f=0;f<d;f++)e+=a[f],f===d-2?e+=c:f<d-1&&(e+=b);return e},slugify:function(a){var b=RegExp(pc("\u0105\u00e0\u00e1\u00e4\u00e2\u00e3\u0107\u0119\u00e8\u00e9\u00eb\u00ea\u00ec\u00ed\u00ef\u00ee\u0142\u0144\u00f2\u00f3\u00f6\u00f4\u00f5\u00f9\u00fa\u00fc\u00fb\u00f1\u00e7\u017c\u017a"),
"g"),a=(""+a).toLowerCase(),a=a.replace(b,function(a){a="\u0105\u00e0\u00e1\u00e4\u00e2\u00e3\u0107\u0119\u00e8\u00e9\u00eb\u00ea\u00ec\u00ed\u00ef\u00ee\u0142\u0144\u00f2\u00f3\u00f6\u00f4\u00f5\u00f9\u00fa\u00fc\u00fb\u00f1\u00e7\u017c\u017a".indexOf(a);return"aaaaaaceeeeeiiiilnooooouuuunczz".charAt(a)||"-"});return J.trim(a.replace(/[^\w\s-]/g,"").replace(/[-\s]+/g,"-"),"-")},exports:function(){var a={},b;for(b in this)this.hasOwnProperty(b)&&!~["include","contains","reverse"].indexOf(b)&&(a[b]=
this[b]);return a},repeat:Ib};J.strip=J.trim;J.lstrip=J.ltrim;J.rstrip=J.rtrim;J.center=J.lrpad;J.rjust=J.lpad;J.ljust=J.rpad;J.contains=J.include;"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(module.exports=J),exports._s=J):"function"===typeof define&&define.amd?define("underscore.string",function(){return J}):(this._=this._||{},this._.string=this._.str=J);!0;var h=window._,ed=/[\.\/]/,Tf=function(){},Uf=function(a,b){return a-b},Ub,Ya,fd={n:{}},pa=function(a,b){var c=
Ya,d=Array.prototype.slice.call(arguments,2),e=pa.listeners(a),f=0,g,j=[],n={},E=[],h=Ub;Ub=a;for(var m=Ya=0,i=e.length;m<i;m++)"zIndex"in e[m]&&(j.push(e[m].zIndex),0>e[m].zIndex&&(n[e[m].zIndex]=e[m]));for(j.sort(Uf);0>j[f];)if(g=n[j[f++]],E.push(g.apply(b,d)),Ya)return Ya=c,E;for(m=0;m<i;m++)if(g=e[m],"zIndex"in g)if(g.zIndex==j[f]){E.push(g.apply(b,d));if(Ya)break;do if(f++,(g=n[j[f]])&&E.push(g.apply(b,d)),Ya)break;while(g)}else n[g.zIndex]=g;else if(E.push(g.apply(b,d)),Ya)break;Ya=c;Ub=h;return E.length?
E:null};pa.listeners=function(a){var a=a.split(ed),b=fd,c,d,e,f,g,j,n,E=[b],h=[];e=0;for(f=a.length;e<f;e++){n=[];g=0;for(j=E.length;g<j;g++){b=E[g].n;c=[b[a[e]],b["*"]];for(d=2;d--;)if(b=c[d])n.push(b),h=h.concat(b.f||[])}E=n}return h};pa.on=function(a,b){for(var c=a.split(ed),d=fd,e=0,f=c.length;e<f;e++)d=d.n,!d[c[e]]&&(d[c[e]]={n:{}}),d=d[c[e]];d.f=d.f||[];e=0;for(f=d.f.length;e<f;e++)if(d.f[e]==b)return Tf;d.f.push(b);return function(a){+a==+a&&(b.zIndex=+a)}};pa.stop=function(){Ya=1};pa.nt=function(a){return a?
RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)").test(Ub):Ub};pa.off=pa.unbind=function(a,b){var c=a.split(ed),d,e,f,g,j,n,E=[fd];g=0;for(j=c.length;g<j;g++)for(n=0;n<E.length;n+=f.length-2){f=[n,1];d=E[n].n;if("*"!=c[g])d[c[g]]&&f.push(d[c[g]]);else for(e in d)d.hasOwnProperty(e)&&f.push(d[e]);E.splice.apply(E,f)}g=0;for(j=E.length;g<j;g++)for(d=E[g];d.n;){if(b){if(d.f){n=0;for(c=d.f.length;n<c;n++)if(d.f[n]==b){d.f.splice(n,1);break}!d.f.length&&delete d.f}for(e in d.n)if(d.n.hasOwnProperty(e)&&d.n[e].f){f=
d.n[e].f;n=0;for(c=f.length;n<c;n++)if(f[n]==b){f.splice(n,1);break}!f.length&&delete d.n[e].f}}else for(e in delete d.f,d.n)d.n.hasOwnProperty(e)&&d.n[e].f&&delete d.n[e].f;d=d.n}};pa.once=function(a,b){var c=function(){var d=b.apply(this,arguments);pa.unbind(a,c);return d};return pa.on(a,c)};pa.version="0.3.4";pa.toString=function(){return"You are running Eve 0.3.4"};"undefined"!=typeof module&&module.exports?module.exports=pa:"undefined"!=typeof define?define("eve",[],function(){return pa}):this.eve=
pa;a:{var l=function(a){if(l.is(a,"function"))return gd?a():eve.on("raphael.DOMload",a);if(l.is(a,Ca))return l._engine.create[Y](l,a.splice(0,3+l.is(a[0],ea))).add(a);var b=Array.prototype.slice.call(arguments,0);if(l.is(b[b.length-1],"function")){var c=b.pop();return gd?c.call(l._engine.create[Y](l,b)):eve.on("raphael.DOMload",function(){c.call(l._engine.create[Y](l,b))})}return l._engine.create[Y](l,arguments)},hd=function(a){if(Object(a)!==a)return a;var b=new a.constructor,c;for(c in a)a[T](c)&&
(b[c]=hd(a[c]));return b},La=function(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("\u2400"),g=d.cache=d.cache||{},j=d.count=d.count||[];if(g[T](f)){a:for(var e=j,j=f,n=0,E=e.length;n<E;n++)if(e[n]===j){e.push(e.splice(n,1)[0]);break a}return c?c(g[f]):g[f]}1E3<=j.length&&delete g[j.shift()];j.push(f);g[f]=a[Y](b,e);return c?c(g[f]):g[f]}return d},rc=function(){return this.hex},pe=function(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],
y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]});c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c},Jb=function(a,b,c,d,e,f,g,j,n){null==n&&(n=1);for(var n=(1<n?1:0>n?0:n)/2,E=[-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,
-0.9041,0.9041,-0.9816,0.9816],h=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],m=0,i=0;12>i;i++)var q=n*E[i]+n,k=q*(q*(-3*a+9*c-9*e+3*g)+6*a-12*c+6*e)-3*a+3*c,q=q*(q*(-3*b+9*d-9*f+3*j)+6*b-12*d+6*f)-3*b+3*d,m=m+h[i]*F.sqrt(k*k+q*q);return n*m},Vf=function(a,b,c,d,e,f,g,j,n){if(!(0>n||Jb(a,b,c,d,e,f,g,j)<n)){var E=0.5,h=1-E,m;for(m=Jb(a,b,c,d,e,f,g,j,h);0.01<ba(m-n);)E/=2,h+=(m<n?1:-1)*E,m=Jb(a,b,c,d,e,f,g,j,h);return h}},id=function(a,b,c){for(var a=l._path2curve(a),
b=l._path2curve(b),d,e,f,g,j,n,h,Ba,m,i,q=c?0:[],k=0,t=a.length;k<t;k++)if(m=a[k],"M"==m[0])d=j=m[1],e=n=m[2];else{"C"==m[0]?(m=[d,e].concat(m.slice(1)),d=m[6],e=m[7]):(m=[d,e,d,e,j,n,j,n],d=j,e=n);for(var G=0,w=b.length;G<w;G++)if(i=b[G],"M"==i[0])f=h=i[1],g=Ba=i[2];else{"C"==i[0]?(i=[f,g].concat(i.slice(1)),f=i[6],g=i[7]):(i=[f,g,f,g,h,Ba,h,Ba],f=h,g=Ba);var y;var s=m,p=i;y=c;var r=l.bezierBBox(s),u=l.bezierBBox(p);if(l.isBBoxIntersect(r,u)){for(var r=Jb.apply(0,s),u=Jb.apply(0,p),r=~~(r/5),u=~~(u/
5),v=[],z=[],B={},D=y?0:[],A=0;A<r+1;A++){var C=l.findDotsAtSegment.apply(l,s.concat(A/r));v.push({x:C.x,y:C.y,t:A/r})}for(A=0;A<u+1;A++)C=l.findDotsAtSegment.apply(l,p.concat(A/u)),z.push({x:C.x,y:C.y,t:A/u});for(A=0;A<r;A++)for(s=0;s<u;s++){var F=v[A],H=v[A+1],p=z[s],C=z[s+1],I=0.001>ba(H.x-F.x)?"y":"x",J=0.001>ba(C.x-p.x)?"y":"x",W;b:{W=F.x;var K=F.y,L=H.x,M=H.y,N=p.x,O=p.y,P=C.x,Q=C.y;if(!(V(W,L)<Z(N,P)||Z(W,L)>V(N,P)||V(K,M)<Z(O,Q)||Z(K,M)>V(O,Q))){var S=(W*M-K*L)*(N-P)-(W-L)*(N*Q-O*P),T=(W*
M-K*L)*(O-Q)-(K-M)*(N*Q-O*P),R=(W-L)*(O-Q)-(K-M)*(N-P);if(R){var S=S/R,T=T/R,R=+S.toFixed(2),U=+T.toFixed(2);if(!(R<+Z(W,L).toFixed(2)||R>+V(W,L).toFixed(2)||R<+Z(N,P).toFixed(2)||R>+V(N,P).toFixed(2)||U<+Z(K,M).toFixed(2)||U>+V(K,M).toFixed(2)||U<+Z(O,Q).toFixed(2)||U>+V(O,Q).toFixed(2))){W={x:S,y:T};break b}}}W=void 0}W&&B[W.x.toFixed(4)]!=W.y.toFixed(4)&&(B[W.x.toFixed(4)]=W.y.toFixed(4),F=F.t+ba((W[I]-F[I])/(H[I]-F[I]))*(H.t-F.t),p=p.t+ba((W[J]-p[J])/(C[J]-p[J]))*(C.t-p.t),0<=F&&(1>=F&&0<=p&&
1>=p)&&(y?D++:D.push({x:W.x,y:W.y,t1:F,t2:p})))}y=D}else y=y?0:[];if(c)q+=y;else{r=0;for(u=y.length;r<u;r++)y[r].segment1=k,y[r].segment2=G,y[r].bez1=m,y[r].bez2=i;q=q.concat(y)}}}return q},ub=function(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)},qe=function(){return this.x+Vb+this.y+Vb+this.width+" \u00d7 "+this.height},Za=function(a,b){var c=[],d={};this.ms=b;this.times=1;if(a){for(var e in a)a[T](e)&&(d[P(e)]=
a[e],c.push(P(e)));c.sort(Wf)}this.anim=d;this.top=c[c.length-1];this.percents=c},Xb=function(a,b,c,d,e,f){var c=P(c),g,j,n,h,Ba,m,i=a.ms,q={},k={},t={};if(d){m=0;for(w=I.length;m<w;m++){var G=I[m];if(G.el.id==b.id&&G.anim==a){G.percent!=c?(I.splice(m,1),n=1):j=G;b.attr(G.totalOrigin);break}}}else d=+k;m=0;for(var w=a.percents.length;m<w;m++)if(a.percents[m]==c||a.percents[m]>d*a.top){c=a.percents[m];Ba=a.percents[m-1]||0;i=i/a.top*(c-Ba);h=a.percents[m+1];g=a.anim[c];break}else d&&b.attr(a.anim[a.percents[m]]);
if(g){if(j)j.initstatus=d,j.start=new Date-j.ms*d;else{for(var y in g)if(g[T](y)&&(jd[T](y)||b.paper.customAttributes[T](y)))switch(q[y]=b.attr(y),null==q[y]&&(q[y]=Xf[y]),k[y]=g[y],jd[y]){case ea:t[y]=(k[y]-q[y])/i;break;case "colour":q[y]=l.getRGB(q[y]);m=l.getRGB(k[y]);t[y]={r:(m.r-q[y].r)/i,g:(m.g-q[y].g)/i,b:(m.b-q[y].b)/i};break;case "path":m=Wb(q[y],k[y]);G=m[1];q[y]=m[0];t[y]=[];m=0;for(w=q[y].length;m<w;m++){t[y][m]=[0];for(var p=1,s=q[y][m].length;p<s;p++)t[y][m][p]=(G[m][p]-q[y][m][p])/
i}break;case "transform":m=b._;if(w=Yf(m[y],k[y])){q[y]=w.from;k[y]=w.to;t[y]=[];t[y].real=!0;m=0;for(w=q[y].length;m<w;m++){t[y][m]=[q[y][m][0]];p=1;for(s=q[y][m].length;p<s;p++)t[y][m][p]=(k[y][m][p]-q[y][m][p])/i}}else w=b.matrix||new ub,m={_:{transform:m.transform},getBBox:function(){return b.getBBox(1)}},q[y]=[w.a,w.b,w.c,w.d,w.e,w.f],re(m,k[y]),k[y]=m._.transform,t[y]=[(m.matrix.a-w.a)/i,(m.matrix.b-w.b)/i,(m.matrix.c-w.c)/i,(m.matrix.d-w.d)/i,(m.matrix.e-w.e)/i,(m.matrix.f-w.f)/i];break;case "csv":w=
qa(g[y])[Ua](kd);G=qa(q[y])[Ua](kd);if("clip-rect"==y){q[y]=G;t[y]=[];for(m=G.length;m--;)t[y][m]=(w[m]-q[y][m])/i}k[y]=w;break;default:w=[][N](g[y]);G=[][N](q[y]);t[y]=[];for(m=b.paper.customAttributes[y].length;m--;)t[y][m]=((w[m]||0)-(G[m]||0))/i}m=g.easing;y=l.easing_formulas[m];if(!y)if((y=qa(m).match(Zf))&&5==y.length){var r=y;y=function(a){var b=+r[1],c=+r[2],d=3*b,e=3*(+r[3]-b)-d,f=1-d-e,b=3*c,c=3*(+r[4]-c)-b,g=1-b-c,a=function(a,b){var c,g,j,n;j=a;for(g=0;8>g;g++){n=((f*j+e)*j+d)*j-a;if(ba(n)<
b)return j;c=(3*f*j+2*e)*j+d;if(1E-6>ba(c))break;j-=n/c}c=0;g=1;j=a;if(j<c)return c;if(j>g)return g;for(;c<g;){n=((f*j+e)*j+d)*j;if(ba(n-a)<b)break;a>n?c=j:g=j;j=(g-c)/2+c}return j}(a,1/(200*i));return((g*a+c)*a+b)*a}}else y=$f;m=g.start||a.start||+new Date;G={anim:a,percent:c,timestamp:m,start:m+(a.del||0),status:0,initstatus:d||0,stop:!1,ms:i,easing:y,from:q,diff:t,to:k,el:b,callback:g.callback,prev:Ba,next:h,repeat:f||a.times,origin:b.attr(),totalOrigin:e};I.push(G);if(d&&(!j&&!n)&&(G.stop=!0,
G.start=new Date-i*d,1==I.length))return ld();n&&(G.start=new Date-G.ms*d);1==I.length&&se(ld)}eve("raphael.anim.start."+b.id,b,a)}},te=function(a){for(var b=0;b<I.length;b++)I[b].el.paper==a&&I.splice(b--,1)};l.version="2.1.0";l.eve=eve;var gd,kd=/[, ]+/,ag={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},bg=/\{(\d+)\}/g,T="hasOwnProperty",C={doc:document,win:window},ue=Object.prototype[T].call(C.win,"Raphael"),cg=C.win.Raphael,ve=function(){this.ca=this.customAttributes={}},S,Y="apply",N="concat",
md="createTouch"in C.doc,Vb=" ",qa=String,Ua="split",we="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[Ua](Vb),nd={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},sc=qa.prototype.toLowerCase,F=Math,V=F.max,Z=F.min,ba=F.abs,Da=F.pow,ra=F.PI,ea="number",Ca="array",dg=Object.prototype.toString;l._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var eg=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
fg={NaN:1,Infinity:1,"-Infinity":1},Zf=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,od=F.round,P=parseFloat,vb=parseInt,xe=qa.prototype.toUpperCase,Xf=l._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",
r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0},jd=l._availableAnimAttrs={blur:ea,"clip-rect":"csv",cx:ea,cy:ea,fill:"colour","fill-opacity":ea,"font-size":ea,height:ea,opacity:ea,path:"path",r:ea,rx:ea,ry:ea,stroke:"colour","stroke-opacity":ea,"stroke-width":ea,transform:"transform",width:ea,x:ea,y:ea},
pd=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,hg={hs:1,rg:1},ig=/,?([achlmqrstvxz]),?/gi,jg=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
kg=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,ye=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
l._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/;var Yb={},Wf=function(a,b){return P(a)-P(b)},lg=function(){},$f=function(a){return a},qd=l._rectPath=function(a,b,c,d,e){return e?[["M",a+e,b],["l",c-2*e,0],["a",e,e,0,0,1,
e,e],["l",0,d-2*e],["a",e,e,0,0,1,-e,e],["l",2*e-c,0],["a",e,e,0,0,1,-e,-e],["l",0,2*e-d],["a",e,e,0,0,1,e,-e],["z"]]:[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]]},ze=function(a,b,c,d){null==d&&(d=c);return[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]]},tc=l._getPath={path:function(a){return a.attr("path")},circle:function(a){a=a.attrs;return ze(a.cx,a.cy,a.r)},ellipse:function(a){a=a.attrs;return ze(a.cx,a.cy,a.rx,a.ry)},rect:function(a){a=a.attrs;return qd(a.x,a.y,
a.width,a.height,a.r)},image:function(a){a=a.attrs;return qd(a.x,a.y,a.width,a.height)},text:function(a){a=a._getBBox();return qd(a.x,a.y,a.width,a.height)}},rd=l.mapPath=function(a,b){if(!b)return a;var c,d,e,f,g,j,n,a=Wb(a);e=0;for(g=a.length;e<g;e++){n=a[e];f=1;for(j=n.length;f<j;f+=2)c=b.x(n[f],n[f+1]),d=b.y(n[f],n[f+1]),n[f]=c,n[f+1]=d}return a};l._g=C;l.type=C.win.SVGAngle||C.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if("VML"==l.type){var sd=
C.doc.createElement("div"),uc;sd.innerHTML='<v:shape adj="1"/>';uc=sd.firstChild;uc.style.behavior="url(#default#VML)";if(!(uc&&"object"==typeof uc.adj)){l.type="";break a}sd=null}l.svg=!(l.vml="VML"==l.type);l._Paper=ve;l.fn=S=ve.prototype=l.prototype;l._id=0;l._oid=0;l.is=function(a,b){b=sc.call(b);return"finite"==b?!fg[T](+a):"array"==b?a instanceof Array:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||"array"==b&&Array.isArray&&Array.isArray(a)||dg.call(a).slice(8,-1).toLowerCase()==
b};l.angle=function(a,b,c,d,e,f){return null==e?(a-=c,b-=d,!a&&!b?0:(180*F.atan2(-b,-a)/ra+540)%360):l.angle(a,b,e,f)-l.angle(c,d,e,f)};l.rad=function(a){return a%360*ra/180};l.deg=function(a){return 180*a/ra%360};l.snapTo=function(a,b,c){c=l.is(c,"finite")?c:10;if(l.is(a,Ca))for(var d=a.length;d--;){if(ba(a[d]-b)<=c)return a[d]}else{a=+a;d=b%a;if(d<c)return b-d;if(d>a-c)return b-d+a}return b};var mg=/[xy]/g,ng=function(a){var b=16*F.random()|0;return("x"==a?b:b&3|8).toString(16)};l.createUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(mg,
ng).toUpperCase()};l.setWindow=function(a){eve("raphael.setWindow",l,C.win,a);C.win=a;C.doc=C.win.document;l._engine.initWin&&l._engine.initWin(C.win)};var vc=function(a){if(l.vml){var b=/^\s+|\s+$/g,c;try{var d=new ActiveXObject("htmlfile");d.write("<body>");d.close();c=d.body}catch(e){c=createPopup().document.body}var f=c.createTextRange();vc=La(function(a){try{c.style.color=qa(a).replace(b,"");var d=f.queryCommandValue("ForeColor");return"#"+("000000"+((d&255)<<16|d&65280|(d&16711680)>>>16).toString(16)).slice(-6)}catch(e){return"none"}})}else{var g=
C.doc.createElement("i");g.title="Rapha\u00ebl Colour Picker";g.style.display="none";C.doc.body.appendChild(g);vc=La(function(a){g.style.color=a;return C.doc.defaultView.getComputedStyle(g,"").getPropertyValue("color")})}return vc(a)},og=function(){return"hsb("+[this.h,this.s,this.b]+")"},pg=function(){return"hsl("+[this.h,this.s,this.l]+")"},Ae=function(){return this.hex},Be=function(a,b,c){null==b&&(l.is(a,"object")&&"r"in a&&"g"in a&&"b"in a)&&(c=a.b,b=a.g,a=a.r);null==b&&l.is(a,"string")&&(c=
l.getRGB(a),a=c.r,b=c.g,c=c.b);if(1<a||1<b||1<c)a/=255,b/=255,c/=255;return[a,b,c]},Ce=function(a,b,c,d){a*=255;b*=255;c*=255;a={r:a,g:b,b:c,hex:l.rgb(a,b,c),toString:Ae};l.is(d,"finite")&&(a.opacity=d);return a};l.color=function(a){var b;l.is(a,"object")&&"h"in a&&"s"in a&&"b"in a?(b=l.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):l.is(a,"object")&&"h"in a&&"s"in a&&"l"in a?(b=l.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):(l.is(a,"string")&&(a=l.getRGB(a)),l.is(a,"object")&&"r"in a&&"g"in a&&
"b"in a?(b=l.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=l.rgb2hsb(a),a.v=b.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1));a.toString=Ae;return a};l.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&("h"in a&&"s"in a&&"b"in a)&&(c=a.b,b=a.s,a=a.h,d=a.o);var e,f,g,a=360*a%360/60;g=c*b;b=g*(1-ba(a%2-1));c=e=f=c-g;a=~~a;c+=[g,b,0,0,b,g][a];e+=[b,g,g,b,0,0][a];f+=[0,0,b,g,g,b][a];return Ce(c,e,f,d)};l.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&("h"in a&&"s"in a&&"l"in a)&&(c=a.l,b=a.s,a=a.h);if(1<a||1<
b||1<c)a/=360,b/=100,c/=100;var e,f,g,a=360*a%360/60;g=2*b*(0.5>c?c:1-c);b=g*(1-ba(a%2-1));c=e=f=c-g/2;a=~~a;c+=[g,b,0,0,b,g][a];e+=[b,g,g,b,0,0][a];f+=[0,0,b,g,g,b][a];return Ce(c,e,f,d)};l.rgb2hsb=function(a,b,c){var c=Be(a,b,c),a=c[0],b=c[1],c=c[2],d,e;d=V(a,b,c);e=d-Z(a,b,c);a=60*(((0==e?0:d==a?(b-c)/e:d==b?(c-a)/e+2:(a-b)/e+4)+360)%6)/360;return{h:a,s:0==e?0:e/d,b:d,toString:og}};l.rgb2hsl=function(a,b,c){var c=Be(a,b,c),a=c[0],b=c[1],c=c[2],d,e,f;d=V(a,b,c);e=Z(a,b,c);f=d-e;a=60*(((0==f?0:d==
a?(b-c)/f:d==b?(c-a)/f+2:(a-b)/f+4)+360)%6)/360;d=(d+e)/2;return{h:a,s:0==f?0:0.5>d?f/(2*d):f/(2-2*d),l:d,toString:pg}};l._path2string=function(){return this.join(",").replace(ig,"$1")};l._preload=function(a,b){var c=C.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em";c.onload=function(){b.call(this);this.onload=null;C.doc.body.removeChild(this)};c.onerror=function(){C.doc.body.removeChild(this)};C.doc.body.appendChild(c);c.src=a};l.getRGB=La(function(a){if(!a||
(a=qa(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:rc};if("none"==a)return{r:-1,g:-1,b:-1,hex:"none",toString:rc};!(hg[T](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=vc(a));var b,c,d,e,f;if(a=a.match(eg)){a[2]&&(d=vb(a[2].substring(5),16),c=vb(a[2].substring(3,5),16),b=vb(a[2].substring(1,3),16));a[3]&&(d=vb((f=a[3].charAt(3))+f,16),c=vb((f=a[3].charAt(2))+f,16),b=vb((f=a[3].charAt(1))+f,16));a[4]&&(f=a[4][Ua](pd),b=P(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=P(f[1]),
"%"==f[1].slice(-1)&&(c*=2.55),d=P(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),"rgba"==a[1].toLowerCase().slice(0,4)&&(e=P(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100));if(a[5])return f=a[5][Ua](pd),b=P(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=P(f[1]),"%"==f[1].slice(-1)&&(c*=2.55),d=P(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),("deg"==f[0].slice(-3)||"\u00b0"==f[0].slice(-1))&&(b/=360),"hsba"==a[1].toLowerCase().slice(0,4)&&(e=P(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100),l.hsb2rgb(b,c,d,e);if(a[6])return f=a[6][Ua](pd),
b=P(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=P(f[1]),"%"==f[1].slice(-1)&&(c*=2.55),d=P(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),("deg"==f[0].slice(-3)||"\u00b0"==f[0].slice(-1))&&(b/=360),"hsla"==a[1].toLowerCase().slice(0,4)&&(e=P(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100),l.hsl2rgb(b,c,d,e);a={r:b,g:c,b:d,toString:rc};a.hex="#"+(16777216|d|c<<8|b<<16).toString(16).slice(1);l.is(e,"finite")&&(a.opacity=e);return a}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:rc}},l);l.hsb=La(function(a,b,c){return l.hsb2rgb(a,
b,c).hex});l.hsl=La(function(a,b,c){return l.hsl2rgb(a,b,c).hex});l.rgb=La(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});l.getColor=function(a){var a=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},b=this.hsb2rgb(a.h,a.s,a.b);a.h+=0.075;1<a.h&&(a.h=0,a.s-=0.2,0>=a.s&&(this.getColor.start={h:0,s:1,b:a.b}));return b.hex};l.getColor.reset=function(){delete this.start};l.parsePathString=function(a){if(!a)return null;var b=wb(a);if(b.arr)return Ma(b.arr);var c=
{a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},d=[];l.is(a,Ca)&&l.is(a[0],Ca)&&(d=Ma(a));d.length||qa(a).replace(jg,function(a,b,g){var j=[],a=b.toLowerCase();g.replace(ye,function(a,b){b&&j.push(+b)});"m"==a&&2<j.length&&(d.push([b][N](j.splice(0,2))),a="l",b="m"==b?"l":"L");if("r"==a)d.push([b][N](j));else for(;j.length>=c[a]&&!(d.push([b][N](j.splice(0,c[a]))),!c[a]););});d.toString=l._path2string;b.arr=Ma(d);return d};l.parseTransformString=La(function(a){if(!a)return null;var b=[];l.is(a,Ca)&&
l.is(a[0],Ca)&&(b=Ma(a));b.length||qa(a).replace(kg,function(a,d,e){var f=[];sc.call(d);e.replace(ye,function(a,b){b&&f.push(+b)});b.push([d][N](f))});b.toString=l._path2string;return b});var wb=function(a){var b=wb.ps=wb.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var c in b)b[T](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};l.findDotsAtSegment=function(a,b,c,d,e,f,g,j,n){var h=1-n,Ba=Da(h,3),m=Da(h,2),i=n*n,q=i*n,k=Ba*a+3*m*n*c+3*h*n*n*e+q*g,Ba=Ba*b+
3*m*n*d+3*h*n*n*f+q*j,m=a+2*n*(c-a)+i*(e-2*c+a),q=b+2*n*(d-b)+i*(f-2*d+b),l=c+2*n*(e-c)+i*(g-2*e+c),i=d+2*n*(f-d)+i*(j-2*f+d),a=h*a+n*c,b=h*b+n*d,e=h*e+n*g,f=h*f+n*j,j=90-180*F.atan2(m-l,q-i)/ra;(m>l||q<i)&&(j+=180);return{x:k,y:Ba,m:{x:m,y:q},n:{x:l,y:i},start:{x:a,y:b},end:{x:e,y:f},alpha:j}};l.bezierBBox=function(a,b,c,d,e,f,g,j){l.is(a,"array")||(a=[a,b,c,d,e,f,g,j]);a=De.apply(null,a);return{x:a.min.x,y:a.min.y,x2:a.max.x,y2:a.max.y,width:a.max.x-a.min.x,height:a.max.y-a.min.y}};l.isPointInsideBBox=
function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2};l.isBBoxIntersect=function(a,b){var c=l.isPointInsideBBox;return c(b,a.x,a.y)||c(b,a.x2,a.y)||c(b,a.x,a.y2)||c(b,a.x2,a.y2)||c(a,b.x,b.y)||c(a,b.x2,b.y)||c(a,b.x,b.y2)||c(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)};l.pathIntersection=function(a,b){return id(a,b)};l.pathIntersectionNumber=function(a,b){return id(a,b,1)};l.isPointInsidePath=function(a,b,c){var d=l.pathBBox(a);return l.isPointInsideBBox(d,
b,c)&&1==id(a,[["M",b,c],["H",d.x2+10]],1)%2};l._removedFactory=function(a){return function(){eve("raphael.log",null,"Rapha\u00ebl: you are calling to method \u201c"+a+"\u201d of removed object",a)}};var td=l.pathBBox=function(a){var b=wb(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};for(var a=Wb(a),c=0,d=0,e=[],f=[],g,j=0,n=a.length;j<n;j++)g=a[j],"M"==g[0]?(c=g[1],d=g[2],e.push(c),f.push(d)):(c=De(c,d,g[1],g[2],g[3],g[4],g[5],g[6]),e=e[N](c.min.x,c.max.x),f=f[N](c.min.y,
c.max.y),c=g[5],d=g[6]);a=Z[Y](0,e);g=Z[Y](0,f);e=V[Y](0,e);f=V[Y](0,f);f={x:a,y:g,x2:e,y2:f,width:e-a,height:f-g};b.bbox=hd(f);return f},Ma=function(a){a=hd(a);a.toString=l._path2string;return a},qg=l._pathToRelative=function(a){var b=wb(a);if(b.rel)return Ma(b.rel);if(!l.is(a,Ca)||!l.is(a&&a[0],Ca))a=l.parsePathString(a);var c=[],d=0,e=0,f=0,g=0,j=0;"M"==a[0][0]&&(d=a[0][1],e=a[0][2],f=d,g=e,j++,c.push(["M",d,e]));for(var n=a.length;j<n;j++){var h=c[j]=[],i=a[j];if(i[0]!=sc.call(i[0]))switch(h[0]=
sc.call(i[0]),h[0]){case "a":h[1]=i[1];h[2]=i[2];h[3]=i[3];h[4]=i[4];h[5]=i[5];h[6]=+(i[6]-d).toFixed(3);h[7]=+(i[7]-e).toFixed(3);break;case "v":h[1]=+(i[1]-e).toFixed(3);break;case "m":f=i[1],g=i[2];default:for(var m=1,k=i.length;m<k;m++)h[m]=+(i[m]-(m%2?d:e)).toFixed(3)}else{c[j]=[];"m"==i[0]&&(f=i[1]+d,g=i[2]+e);h=0;for(m=i.length;h<m;h++)c[j][h]=i[h]}i=c[j].length;switch(c[j][0]){case "z":d=f;e=g;break;case "h":d+=+c[j][i-1];break;case "v":e+=+c[j][i-1];break;default:d+=+c[j][i-2],e+=+c[j][i-
1]}}c.toString=l._path2string;b.rel=Ma(c);return c},Ee=l._pathToAbsolute=function(a){var b=wb(a);if(b.abs)return Ma(b.abs);if(!l.is(a,Ca)||!l.is(a&&a[0],Ca))a=l.parsePathString(a);if(!a||!a.length)return[["M",0,0]];var c=[],d=0,e=0,f=0,g=0,j=0;"M"==a[0][0]&&(d=+a[0][1],e=+a[0][2],f=d,g=e,j++,c[0]=["M",d,e]);for(var n=3==a.length&&"M"==a[0][0]&&"R"==a[1][0].toUpperCase()&&"Z"==a[2][0].toUpperCase(),h,i=j,m=a.length;i<m;i++){c.push(j=[]);h=a[i];if(h[0]!=xe.call(h[0]))switch(j[0]=xe.call(h[0]),j[0]){case "A":j[1]=
h[1];j[2]=h[2];j[3]=h[3];j[4]=h[4];j[5]=h[5];j[6]=+(h[6]+d);j[7]=+(h[7]+e);break;case "V":j[1]=+h[1]+e;break;case "H":j[1]=+h[1]+d;break;case "R":for(var k=[d,e][N](h.slice(1)),q=2,bd=k.length;q<bd;q++)k[q]=+k[q]+d,k[++q]=+k[q]+e;c.pop();c=c[N](pe(k,n));break;case "M":f=+h[1]+d,g=+h[2]+e;default:q=1;for(bd=h.length;q<bd;q++)j[q]=+h[q]+(q%2?d:e)}else if("R"==h[0])k=[d,e][N](h.slice(1)),c.pop(),c=c[N](pe(k,n)),j=["R"][N](h.slice(-2));else{k=0;for(q=h.length;k<q;k++)j[k]=h[k]}switch(j[0]){case "Z":d=
f;e=g;break;case "H":d=j[1];break;case "V":e=j[1];break;case "M":f=j[j.length-2],g=j[j.length-1];default:d=j[j.length-2],e=j[j.length-1]}}c.toString=l._path2string;b.abs=Ma(c);return c},Fe=function(a,b,c,d,e,f){var g=1/3,j=2/3;return[g*a+j*c,g*b+j*d,g*e+j*c,g*f+j*d,e,f]},Ge=function(a,b,c,d,e,f,g,j,n,h){var i=120*ra/180,m=ra/180*(+e||0),k=[],q,l=La(function(a,b,c){var d=a*F.cos(c)-b*F.sin(c),a=a*F.sin(c)+b*F.cos(c);return{x:d,y:a}});if(h)w=h[0],q=h[1],f=h[2],t=h[3];else{q=l(a,b,-m);a=q.x;b=q.y;q=
l(j,n,-m);j=q.x;n=q.y;F.cos(ra/180*e);F.sin(ra/180*e);q=(a-j)/2;w=(b-n)/2;t=q*q/(c*c)+w*w/(d*d);1<t&&(t=F.sqrt(t),c*=t,d*=t);var t=c*c,G=d*d,t=(f==g?-1:1)*F.sqrt(ba((t*G-t*w*w-G*q*q)/(t*w*w+G*q*q))),f=t*c*w/d+(a+j)/2,t=t*-d*q/c+(b+n)/2,w=F.asin(((b-t)/d).toFixed(9));q=F.asin(((n-t)/d).toFixed(9));w=a<f?ra-w:w;q=j<f?ra-q:q;0>w&&(w=2*ra+w);0>q&&(q=2*ra+q);g&&w>q&&(w-=2*ra);!g&&q>w&&(q-=2*ra)}if(ba(q-w)>i){var k=q,G=j,y=n;q=w+i*(g&&q>w?1:-1);j=f+c*F.cos(q);n=t+d*F.sin(q);k=Ge(j,n,c,d,e,0,g,G,y,[q,k,
f,t])}f=q-w;e=F.cos(w);i=F.sin(w);g=F.cos(q);q=F.sin(q);f=F.tan(f/4);c=4/3*c*f;f*=4/3*d;d=[a,b];a=[a+c*i,b-f*e];b=[j+c*q,n-f*g];j=[j,n];a[0]=2*d[0]-a[0];a[1]=2*d[1]-a[1];if(h)return[a,b,j][N](k);k=[a,b,j][N](k).join()[Ua](",");h=[];j=0;for(n=k.length;j<n;j++)h[j]=j%2?l(k[j-1],k[j],m).y:l(k[j],k[j+1],m).x;return h},wc=function(a,b,c,d,e,f,g,j,n){var h=1-n;return{x:Da(h,3)*a+3*Da(h,2)*n*c+3*h*n*n*e+Da(n,3)*g,y:Da(h,3)*b+3*Da(h,2)*n*d+3*h*n*n*f+Da(n,3)*j}},De=La(function(a,b,c,d,e,f,g,j){var n=e-2*c+
a-(g-2*e+c),h=2*(c-a)-2*(e-c),i=a-c,m=(-h+F.sqrt(h*h-4*n*i))/2/n,n=(-h-F.sqrt(h*h-4*n*i))/2/n,k=[b,j],q=[a,g];"1e12"<ba(m)&&(m=0.5);"1e12"<ba(n)&&(n=0.5);0<m&&1>m&&(m=wc(a,b,c,d,e,f,g,j,m),q.push(m.x),k.push(m.y));0<n&&1>n&&(m=wc(a,b,c,d,e,f,g,j,n),q.push(m.x),k.push(m.y));n=f-2*d+b-(j-2*f+d);h=2*(d-b)-2*(f-d);i=b-d;m=(-h+F.sqrt(h*h-4*n*i))/2/n;n=(-h-F.sqrt(h*h-4*n*i))/2/n;"1e12"<ba(m)&&(m=0.5);"1e12"<ba(n)&&(n=0.5);0<m&&1>m&&(m=wc(a,b,c,d,e,f,g,j,m),q.push(m.x),k.push(m.y));0<n&&1>n&&(m=wc(a,b,c,
d,e,f,g,j,n),q.push(m.x),k.push(m.y));return{min:{x:Z[Y](0,q),y:Z[Y](0,k)},max:{x:V[Y](0,q),y:V[Y](0,k)}}}),Wb=l._path2curve=La(function(a,b){var c=!b&&wb(a);if(!b&&c.curve)return Ma(c.curve);var d=Ee(a),e=b&&Ee(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case "M":b.X=a[1];b.Y=a[2];break;case "A":a=["C"][N](Ge[Y](0,[b.x,b.y][N](a.slice(1))));
break;case "S":c=b.x+(b.x-(b.bx||b.x));d=b.y+(b.y-(b.by||b.y));a=["C",c,d][N](a.slice(1));break;case "T":b.qx=b.x+(b.x-(b.qx||b.x));b.qy=b.y+(b.y-(b.qy||b.y));a=["C"][N](Fe(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case "Q":b.qx=a[1];b.qy=a[2];a=["C"][N](Fe(b.x,b.y,a[1],a[2],a[3],a[4]));break;case "L":a=["C"][N]([b.x,b.y,a[1],a[2],a[1],a[2]]);break;case "H":a=["C"][N]([b.x,b.y,a[1],b.y,a[1],b.y]);break;case "V":a=["C"][N]([b.x,b.y,b.x,a[1],b.x,a[1]]);break;case "Z":a=["C"][N]([b.x,b.y,b.X,b.Y,b.X,b.Y])}return a},
n=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)a.splice(b++,0,["C"][N](c.splice(0,6)));a.splice(b,1);m=V(d.length,e&&e.length||0)}},h=function(a,b,c,f,g){a&&(b&&"M"==a[g][0]&&"M"!=b[g][0])&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],m=V(d.length,e&&e.length||0))},i=0,m=V(d.length,e&&e.length||0);for(;i<m;i++){d[i]=j(d[i],f);n(d,i);e&&(e[i]=j(e[i],g));e&&n(e,i);h(d,e,f,g,i);h(e,d,g,f,i);var k=d[i],q=e&&e[i],l=k.length,t=e&&q.length;f.x=k[l-2];f.y=k[l-
1];f.bx=P(k[l-4])||f.x;f.by=P(k[l-3])||f.y;g.bx=e&&(P(q[t-4])||g.x);g.by=e&&(P(q[t-3])||g.y);g.x=e&&q[t-2];g.y=e&&q[t-1]}e||(c.curve=Ma(d));return e?[d,e]:d},null,Ma);l._parseDots=La(function(a){for(var b=[],c=0,d=a.length;c<d;c++){var e={},f=a[c].match(/^([^:]*):?([\d\.]*)/);e.color=l.getRGB(f[1]);if(e.color.error)return null;e.color=e.color.hex;f[2]&&(e.offset=f[2]+"%");b.push(e)}c=1;for(d=b.length-1;c<d;c++)if(!b[c].offset){a=P(b[c-1].offset||0);f=0;for(e=c+1;e<d;e++)if(b[e].offset){f=b[e].offset;
break}f||(f=100,e=d);f=P(f);for(f=(f-a)/(e-c+1);c<e;c++)a+=f,b[c].offset=a+"%"}return b});var xc=l._tear=function(a,b){a==b.top&&(b.top=a.prev);a==b.bottom&&(b.bottom=a.next);a.next&&(a.next.prev=a.prev);a.prev&&(a.prev.next=a.next)};l._tofront=function(a,b){b.top!==a&&(xc(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)};l._toback=function(a,b){b.bottom!==a&&(xc(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)};l._insertafter=function(a,b,c){xc(a,c);b==c.top&&(c.top=a);b.next&&(b.next.prev=
a);a.next=b.next;a.prev=b;b.next=a};l._insertbefore=function(a,b,c){xc(a,c);b==c.bottom&&(c.bottom=a);b.prev&&(b.prev.next=a);a.prev=b.prev;b.prev=a;a.next=b};var rg=l.toMatrix=function(a,b){var c=td(a),d={_:{transform:""},getBBox:function(){return c}};re(d,b);return d.matrix};l.transformPath=function(a,b){return rd(a,rg(a,b))};var re=l._extractTransform=function(a,b){if(null==b)return a._.transform;var b=qa(b).replace(/\.{3}|\u2026/g,a._.transform||""),c=l.parseTransformString(b),d=0,e=0,f=0,g=1,
j=1,n=a._,f=new ub;n.transform=c||[];if(c)for(var e=0,h=c.length;e<h;e++){var i=c[e],m=i.length,k=qa(i[0]).toLowerCase(),q=i[0]!=k,p=q?f.invert():0,t;"t"==k&&3==m?q?(m=p.x(0,0),k=p.y(0,0),q=p.x(i[1],i[2]),p=p.y(i[1],i[2]),f.translate(q-m,p-k)):f.translate(i[1],i[2]):"r"==k?2==m?(t=t||a.getBBox(1),f.rotate(i[1],t.x+t.width/2,t.y+t.height/2),d+=i[1]):4==m&&(q?(q=p.x(i[2],i[3]),p=p.y(i[2],i[3]),f.rotate(i[1],q,p)):f.rotate(i[1],i[2],i[3]),d+=i[1]):"s"==k?2==m||3==m?(t=t||a.getBBox(1),f.scale(i[1],i[m-
1],t.x+t.width/2,t.y+t.height/2),g*=i[1],j*=i[m-1]):5==m&&(q?(q=p.x(i[3],i[4]),p=p.y(i[3],i[4]),f.scale(i[1],i[2],q,p)):f.scale(i[1],i[2],i[3],i[4]),g*=i[1],j*=i[2]):"m"==k&&7==m&&f.add(i[1],i[2],i[3],i[4],i[5],i[6]);n.dirtyT=1;a.matrix=f}a.matrix=f;n.sx=g;n.sy=j;n.deg=d;n.dx=e=f.e;n.dy=f=f.f;1==g&&1==j&&!d&&n.bbox?(n.bbox.x+=+e,n.bbox.y+=+f):n.dirtyT=1},He=function(a){var b=a[0];switch(b.toLowerCase()){case "t":return[b,0,0];case "m":return[b,1,0,0,1,0,0];case "r":return 4==a.length?[b,0,a[2],a[3]]:
[b,0];case "s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Yf=l._equaliseTransform=function(a,b){for(var b=qa(b).replace(/\.{3}|\u2026/g,a),a=l.parseTransformString(a)||[],b=l.parseTransformString(b)||[],c=V(a.length,b.length),d=[],e=[],f=0,g,j,n,h;f<c;f++){n=a[f]||He(b[f]);h=b[f]||He(n);if(n[0]!=h[0]||"r"==n[0].toLowerCase()&&(n[2]!=h[2]||n[3]!=h[3])||"s"==n[0].toLowerCase()&&(n[3]!=h[3]||n[4]!=h[4]))return;d[f]=[];e[f]=[];g=0;for(j=V(n.length,h.length);g<j;g++)g in n&&(d[f][g]=
n[g]),g in h&&(e[f][g]=h[g])}return{from:d,to:e}};l._getContainer=function(a,b,c,d){var e;e=null==d&&!l.is(a,"object")?C.doc.getElementById(a):a;if(null!=e)return e.tagName?null==b?{container:e,width:e.style.pixelWidth||e.offsetWidth,height:e.style.pixelHeight||e.offsetHeight}:{container:e,width:b,height:c}:{container:1,x:a,y:b,width:c,height:d}};l.pathToRelative=qg;l._engine={};l.path2curve=Wb;l.matrix=function(a,b,c,d,e,f){return new ub(a,b,c,d,e,f)};var va=ub.prototype,ud=function(a){return a[0]*
a[0]+a[1]*a[1]},Ie=function(a){var b=F.sqrt(ud(a));a[0]&&(a[0]/=b);a[1]&&(a[1]/=b)};va.add=function(a,b,c,d,e,f){var g=[[],[],[]],j=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],b=[[a,c,e],[b,d,f],[0,0,1]];a&&a instanceof ub&&(b=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]);for(a=0;3>a;a++)for(c=0;3>c;c++){for(d=e=0;3>d;d++)e+=j[a][d]*b[d][c];g[a][c]=e}this.a=g[0][0];this.b=g[1][0];this.c=g[0][1];this.d=g[1][1];this.e=g[0][2];this.f=g[1][2]};va.invert=function(){var a=this.a*this.d-this.b*this.c;
return new ub(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};va.clone=function(){return new ub(this.a,this.b,this.c,this.d,this.e,this.f)};va.translate=function(a,b){this.add(1,0,0,1,a,b)};va.scale=function(a,b,c,d){null==b&&(b=a);(c||d)&&this.add(1,0,0,1,c,d);this.add(a,0,0,b,0,0);(c||d)&&this.add(1,0,0,1,-c,-d)};va.rotate=function(a,b,c){var a=l.rad(a),b=b||0,c=c||0,d=+F.cos(a).toFixed(9),a=+F.sin(a).toFixed(9);this.add(d,a,-a,d,b,c);this.add(1,
0,0,1,-b,-c)};va.x=function(a,b){return a*this.a+b*this.c+this.e};va.y=function(a,b){return a*this.b+b*this.d+this.f};va.get=function(a){return+this[qa.fromCharCode(97+a)].toFixed(4)};va.toString=function(){return l.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};va.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+
", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};va.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};va.split=function(){var a={};a.dx=this.e;a.dy=this.f;var b=[[this.a,this.c],[this.b,this.d]];a.scalex=F.sqrt(ud(b[0]));Ie(b[0]);a.shear=b[0][0]*b[1][0]+b[0][1]*b[1][1];b[1]=[b[1][0]-b[0][0]*a.shear,b[1][1]-b[0][1]*a.shear];a.scaley=F.sqrt(ud(b[1]));Ie(b[1]);a.shear/=a.scaley;var c=-b[0][1],b=b[1][1];0>b?(a.rotate=l.deg(F.acos(b)),0>c&&(a.rotate=
360-a.rotate)):a.rotate=l.deg(F.asin(c));a.isSimple=!+a.shear.toFixed(9)&&(a.scalex.toFixed(9)==a.scaley.toFixed(9)||!a.rotate);a.isSuperSimple=!+a.shear.toFixed(9)&&a.scalex.toFixed(9)==a.scaley.toFixed(9)&&!a.rotate;a.noRotation=!+a.shear.toFixed(9)&&!a.rotate;return a};va.toTransformString=function(a){a=a||this[Ua]();return a.isSimple?(a.scalex=+a.scalex.toFixed(4),a.scaley=+a.scaley.toFixed(4),a.rotate=+a.rotate.toFixed(4),(a.dx||a.dy?"t"+[a.dx,a.dy]:"")+(1!=a.scalex||1!=a.scaley?"s"+[a.scalex,
a.scaley,0,0]:"")+(a.rotate?"r"+[a.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]};var yc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);S.safari="Apple Computer, Inc."==navigator.vendor&&(yc&&4>yc[1]||"iP"==navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&yc&&8>yc[1]?function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:lg;
var sg=function(){this.returnValue=!1},tg=function(){return this.originalEvent.preventDefault()},ug=function(){this.cancelBubble=!0},vg=function(){return this.originalEvent.stopPropagation()},Je;Je=C.doc.addEventListener?function(a,b,c,d){var e=md&&nd[b]?nd[b]:b,f=function(e){var f=e.clientX+(C.doc.documentElement.scrollLeft||C.doc.body.scrollLeft),n=e.clientY+(C.doc.documentElement.scrollTop||C.doc.body.scrollTop);if(md&&nd[T](b))for(var h=0,i=e.targetTouches&&e.targetTouches.length;h<i;h++)if(e.targetTouches[h].target==
a){i=e;e=e.targetTouches[h];e.originalEvent=i;e.preventDefault=tg;e.stopPropagation=vg;break}return c.call(d,e,f,n)};a.addEventListener(e,f,!1);return function(){a.removeEventListener(e,f,!1);return!0}}:C.doc.attachEvent?function(a,b,c,d){var e=function(a){var a=a||C.win.event,b=a.clientX+(C.doc.documentElement.scrollLeft||C.doc.body.scrollLeft),e=a.clientY+(C.doc.documentElement.scrollTop||C.doc.body.scrollTop);a.preventDefault=a.preventDefault||sg;a.stopPropagation=a.stopPropagation||ug;return c.call(d,
a,b,e)};a.attachEvent("on"+b,e);return function(){a.detachEvent("on"+b,e);return!0}}:void 0;for(var xb=[],vd=function(a){for(var b=a.clientX,c=a.clientY,d=C.doc.documentElement.scrollTop||C.doc.body.scrollTop,e=C.doc.documentElement.scrollLeft||C.doc.body.scrollLeft,f,g=xb.length;g--;){f=xb[g];if(md)for(var j=a.touches.length,n;j--;){if(n=a.touches[j],n.identifier==f.el._drag.id){b=n.clientX;c=n.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();var j=f.el.node,
h=j.nextSibling,i=j.parentNode,m=j.style.display;C.win.opera&&i.removeChild(j);j.style.display="none";n=f.el.paper.getElementByPoint(b,c);j.style.display=m;C.win.opera&&(h?i.insertBefore(j,h):i.appendChild(j));n&&eve("raphael.drag.over."+f.el.id,f.el,n);b+=e;c+=d;eve("raphael.drag.move."+f.el.id,f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},wd=function(a){l.unmousemove(vd).unmouseup(wd);for(var b=xb.length,c;b--;)c=xb[b],c.el._drag={},eve("raphael.drag.end."+c.el.id,c.end_scope||c.start_scope||
c.move_scope||c.el,a);xb=[]},M=l.el={},Ke=we.length;Ke--;)(function(a){l[a]=M[a]=function(b,c){l.is(b,"function")&&(this.events=this.events||[],this.events.push({name:a,f:b,unbind:Je(this.shape||this.node||C.doc,a,b,c||this)}));return this};l["un"+a]=M["un"+a]=function(b){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==a&&c[d].f==b){c[d].unbind();c.splice(d,1);!c.length&&delete this.events;break}return this}})(we[Ke]);M.data=function(a,b){var c=Yb[this.id]=Yb[this.id]||{};if(1==arguments.length){if(l.is(a,
"object")){for(var d in a)a[T](d)&&this.data(d,a[d]);return this}eve("raphael.data.get."+this.id,this,c[a],a);return c[a]}c[a]=b;eve("raphael.data.set."+this.id,this,b,a);return this};M.removeData=function(a){null==a?Yb[this.id]={}:Yb[this.id]&&delete Yb[this.id][a];return this};M.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)};M.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var Kb=[];M.drag=function(a,b,c,d,e,f){function g(g){(g.originalEvent||g).preventDefault();
var n=C.doc.documentElement.scrollTop||C.doc.body.scrollTop,h=C.doc.documentElement.scrollLeft||C.doc.body.scrollLeft;this._drag.x=g.clientX+h;this._drag.y=g.clientY+n;this._drag.id=g.identifier;!xb.length&&l.mousemove(vd).mouseup(wd);xb.push({el:this,move_scope:d,start_scope:e,end_scope:f});b&&eve.on("raphael.drag.start."+this.id,b);a&&eve.on("raphael.drag.move."+this.id,a);c&&eve.on("raphael.drag.end."+this.id,c);eve("raphael.drag.start."+this.id,e||d||this,g.clientX+h,g.clientY+n,g)}this._drag=
{};Kb.push({el:this,start:g});this.mousedown(g);return this};M.onDragOver=function(a){a?eve.on("raphael.drag.over."+this.id,a):eve.unbind("raphael.drag.over."+this.id)};M.undrag=function(){for(var a=Kb.length;a--;)Kb[a].el==this&&(this.unmousedown(Kb[a].start),Kb.splice(a,1),eve.unbind("raphael.drag.*."+this.id));!Kb.length&&l.unmousemove(vd).unmouseup(wd)};S.circle=function(a,b,c){a=l._engine.circle(this,a||0,b||0,c||0);this.__set__&&this.__set__.push(a);return a};S.rect=function(a,b,c,d,e){a=l._engine.rect(this,
a||0,b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(a);return a};S.ellipse=function(a,b,c,d){a=l._engine.ellipse(this,a||0,b||0,c||0,d||0);this.__set__&&this.__set__.push(a);return a};S.path=function(a){a&&!l.is(a,"string")&&!l.is(a[0],Ca)&&(a+="");var b=l._engine.path(l.format[Y](l,arguments),this);this.__set__&&this.__set__.push(b);return b};S.image=function(a,b,c,d,e){a=l._engine.image(this,a||"about:blank",b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(a);return a};S.text=function(a,
b,c){a=l._engine.text(this,a||0,b||0,qa(c));this.__set__&&this.__set__.push(a);return a};S.set=function(a){!l.is(a,"array")&&(a=Array.prototype.splice.call(arguments,0,arguments.length));var b=new Lb(a);this.__set__&&this.__set__.push(b);return b};S.setStart=function(a){this.__set__=a||this.set()};S.setFinish=function(){var a=this.__set__;delete this.__set__;return a};S.setSize=function(a,b){return l._engine.setSize.call(this,a,b)};S.setViewBox=function(a,b,c,d,e){return l._engine.setViewBox.call(this,
a,b,c,d,e)};S.top=S.bottom=null;S.raphael=l;S.getElementByPoint=function(a,b){var c,d,e=this.canvas,f=C.doc.elementFromPoint(a,b);if(C.win.opera&&"svg"==f.tagName){d=e.getBoundingClientRect();c=e.ownerDocument;var g=c.body,j=c.documentElement;c=d.top+(C.win.pageYOffset||j.scrollTop||g.scrollTop)-(j.clientTop||g.clientTop||0);d=d.left+(C.win.pageXOffset||j.scrollLeft||g.scrollLeft)-(j.clientLeft||g.clientLeft||0);g=e.createSVGRect();g.x=a-d;g.y=b-c;g.width=g.height=1;c=e.getIntersectionList(g,null);
c.length&&(f=c[c.length-1])}if(!f)return null;for(;f.parentNode&&f!=e.parentNode&&!f.raphael;)f=f.parentNode;f==this.canvas.parentNode&&(f=e);return f=f&&f.raphael?this.getById(f.raphaelid):null};S.getById=function(a){for(var b=this.bottom;b;){if(b.id==a)return b;b=b.next}return null};S.forEach=function(a,b){for(var c=this.bottom;c&&!1!==a.call(b,c);)c=c.next;return this};S.getElementsByPoint=function(a,b){var c=this.set();this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)});return c};M.isPointInside=
function(a,b){var c=this.realPath=this.realPath||tc[this.type](this);return l.isPointInsidePath(c,a,b)};M.getBBox=function(a){if(this.removed)return{};var b=this._;if(a){if(b.dirty||!b.bboxwt)this.realPath=tc[this.type](this),b.bboxwt=td(this.realPath),b.bboxwt.toString=qe,b.dirty=0;return b.bboxwt}if(b.dirty||b.dirtyT||!b.bbox){if(b.dirty||!this.realPath)b.bboxwt=0,this.realPath=tc[this.type](this);b.bbox=td(rd(this.realPath,this.matrix));b.bbox.toString=qe;b.dirty=b.dirtyT=0}return b.bbox};M.clone=
function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(a);return a};M.glow=function(a){if("text"==this.type)return null;for(var a=a||{},b=(a.width||10)+(+this.attr("stroke-width")||1),c=a.fill||!1,d=a.opacity||0.5,e=a.offsetx||0,f=a.offsety||0,a=a.color||"#000",g=b/2,j=this.paper,n=j.set(),h=this.realPath||tc[this.type](this),h=this.matrix?rd(h,this.matrix):h,i=1;i<g+1;i++)n.push(j.path(h).attr({stroke:a,fill:c?a:"none","stroke-linejoin":"round",
"stroke-linecap":"round","stroke-width":+(b/g*i).toFixed(3),opacity:+(d/g).toFixed(3)}));return n.insertBefore(this).translate(e,f)};var xd=function(a,b,c,d,e,f,g,j,n){return null==n?Jb(a,b,c,d,e,f,g,j):l.findDotsAtSegment(a,b,c,d,e,f,g,j,Vf(a,b,c,d,e,f,g,j,n))},yd=function(a,b){return function(c,d,e){for(var c=Wb(c),f,g,j,n,h="",i={},m=0,k=0,q=c.length;k<q;k++){j=c[k];if("M"==j[0])f=+j[1],g=+j[2];else{n=xd(f,g,j[1],j[2],j[3],j[4],j[5],j[6]);if(m+n>d){if(b&&!i.start){f=xd(f,g,j[1],j[2],j[3],j[4],
j[5],j[6],d-m);h+=["C"+f.start.x,f.start.y,f.m.x,f.m.y,f.x,f.y];if(e)return h;i.start=h;h=["M"+f.x,f.y+"C"+f.n.x,f.n.y,f.end.x,f.end.y,j[5],j[6]].join();m+=n;f=+j[5];g=+j[6];continue}if(!a&&!b)return f=xd(f,g,j[1],j[2],j[3],j[4],j[5],j[6],d-m),{x:f.x,y:f.y,alpha:f.alpha}}m+=n;f=+j[5];g=+j[6]}h+=j.shift()+j}i.end=h;f=a?m:b?i:l.findDotsAtSegment(f,g,j[0],j[1],j[2],j[3],j[4],j[5],1);f.alpha&&(f={x:f.x,y:f.y,alpha:f.alpha});return f}},Le=yd(1),Me=yd(),zd=yd(0,1);l.getTotalLength=Le;l.getPointAtLength=
Me;l.getSubpath=function(a,b,c){if(1E-6>this.getTotalLength(a)-c)return zd(a,b).end;a=zd(a,c,1);return b?zd(a,b).end:a};M.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():Le(this.attrs.path)};M.getPointAtLength=function(a){if("path"==this.type)return Me(this.attrs.path,a)};M.getSubpath=function(a,b){if("path"==this.type)return l.getSubpath(this.attrs.path,a,b)};var Ea=l.easing_formulas={linear:function(a){return a},"<":function(a){return Da(a,
1.7)},">":function(a){return Da(a,0.48)},"<>":function(a){var b=0.48-a/1.04,c=F.sqrt(0.1734+b*b),a=c-b,a=Da(ba(a),1/3)*(0>a?-1:1),b=-c-b,b=Da(ba(b),1/3)*(0>b?-1:1),a=a+b+0.5;return 3*(1-a)*a*a+a*a*a},backIn:function(a){return a*a*(2.70158*a-1.70158)},backOut:function(a){a-=1;return a*a*(2.70158*a+1.70158)+1},elastic:function(a){return a==!!a?a:Da(2,-10*a)*F.sin((a-0.075)*2*ra/0.3)+1},bounce:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*
a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a}};Ea.easeIn=Ea["ease-in"]=Ea["<"];Ea.easeOut=Ea["ease-out"]=Ea[">"];Ea.easeInOut=Ea["ease-in-out"]=Ea["<>"];Ea["back-in"]=Ea.backIn;Ea["back-out"]=Ea.backOut;var I=[],se=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},ld=function(){for(var a=+new Date,b=0;b<I.length;b++){var c=I[b];if(!c.el.removed&&
!c.paused){var d=a-c.start,e=c.ms,f=c.easing,g=c.from,j=c.diff,n=c.to,h=c.el,i={},m,k={},q;c.initstatus?(d=(c.initstatus*c.anim.top-c.prev)/(c.percent-c.prev)*e,c.status=c.initstatus,delete c.initstatus,c.stop&&I.splice(b--,1)):c.status=(c.prev+(c.percent-c.prev)*(d/e))/c.anim.top;if(!(0>d))if(d<e){var p=f(d/e),t;for(t in g)if(g[T](t)){switch(jd[t]){case ea:m=+g[t]+p*e*j[t];break;case "colour":m="rgb("+[Ad(od(g[t].r+p*e*j[t].r)),Ad(od(g[t].g+p*e*j[t].g)),Ad(od(g[t].b+p*e*j[t].b))].join()+")";break;
case "path":m=[];d=0;for(f=g[t].length;d<f;d++){m[d]=[g[t][d][0]];n=1;for(k=g[t][d].length;n<k;n++)m[d][n]=+g[t][d][n]+p*e*j[t][d][n];m[d]=m[d].join(Vb)}m=m.join(Vb);break;case "transform":if(j[t].real){m=[];d=0;for(f=g[t].length;d<f;d++){m[d]=[g[t][d][0]];n=1;for(k=g[t][d].length;n<k;n++)m[d][n]=g[t][d][n]+p*e*j[t][d][n]}}else m=function(a){return+g[t][a]+p*e*j[t][a]},m=[["m",m(0),m(1),m(2),m(3),m(4),m(5)]];break;case "csv":if("clip-rect"==t){m=[];for(d=4;d--;)m[d]=+g[t][d]+p*e*j[t][d]}break;default:f=
[][N](g[t]);m=[];for(d=h.paper.customAttributes[t].length;d--;)m[d]=+f[d]+p*e*j[t][d]}i[t]=m}h.attr(i);(function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+a,b,c)})})(h.id,h,c.anim)}else{(function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+b.id,b,c);eve("raphael.anim.finish."+b.id,b,c);l.is(a,"function")&&a.call(b)})})(c.callback,h,c.anim);h.attr(n);I.splice(b--,1);if(1<c.repeat&&!c.next){for(q in n)n[T](q)&&(k[q]=c.totalOrigin[q]);c.el.attr(k);Xb(c.anim,c.el,c.anim.percents[0],
null,c.totalOrigin,c.repeat-1)}c.next&&!c.stop&&Xb(c.anim,c.el,c.next,null,c.totalOrigin,c.repeat)}}}l.svg&&h&&h.paper&&h.paper.safari();I.length&&se(ld)},Ad=function(a){return 255<a?255:0>a?0:a};M.animateWith=function(a,b,c,d,e,f){if(this.removed)return f&&f.call(this),this;c=c instanceof Za?c:l.animation(c,d,e,f);Xb(c,this,c.percents[0],null,this.attr());c=0;for(d=I.length;c<d;c++)if(I[c].anim==b&&I[c].el==a){I[d-1].start=I[c].start;break}return this};M.onAnimation=function(a){a?eve.on("raphael.anim.frame."+
this.id,a):eve.unbind("raphael.anim.frame."+this.id);return this};Za.prototype.delay=function(a){var b=new Za(this.anim,this.ms);b.times=this.times;b.del=+a||0;return b};Za.prototype.repeat=function(a){var b=new Za(this.anim,this.ms);b.del=this.del;b.times=F.floor(V(a,0))||1;return b};l.animation=function(a,b,c,d){if(a instanceof Za)return a;if(l.is(c,"function")||!c)d=d||c||null,c=null;var a=Object(a),b=+b||0,e={},f,g;for(g in a)a[T](g)&&(P(g)!=g&&P(g)+"%"!=g)&&(f=!0,e[g]=a[g]);return f?(c&&(e.easing=
c),d&&(e.callback=d),new Za({100:e},b)):new Za(a,b)};M.animate=function(a,b,c,d){if(this.removed)return d&&d.call(this),this;a=a instanceof Za?a:l.animation(a,b,c,d);Xb(a,this,a.percents[0],null,this.attr());return this};M.setTime=function(a,b){a&&null!=b&&this.status(a,Z(b,a.ms)/a.ms);return this};M.status=function(a,b){var c=[],d=0,e,f;if(null!=b)return Xb(a,this,-1,Z(b,1)),this;for(e=I.length;d<e;d++)if(f=I[d],f.el.id==this.id&&(!a||f.anim==a)){if(a)return f.status;c.push({anim:f.anim,status:f.status})}return a?
0:c};M.pause=function(a){for(var b=0;b<I.length;b++)if(I[b].el.id==this.id&&(!a||I[b].anim==a)&&!1!==eve("raphael.anim.pause."+this.id,this,I[b].anim))I[b].paused=!0;return this};M.resume=function(a){for(var b=0;b<I.length;b++)if(I[b].el.id==this.id&&(!a||I[b].anim==a)){var c=I[b];!1!==eve("raphael.anim.resume."+this.id,this,c.anim)&&(delete c.paused,this.status(c.anim,c.status))}return this};M.stop=function(a){for(var b=0;b<I.length;b++)I[b].el.id==this.id&&(!a||I[b].anim==a)&&!1!==eve("raphael.anim.stop."+
this.id,this,I[b].anim)&&I.splice(b--,1);return this};eve.on("raphael.remove",te);eve.on("raphael.clear",te);M.toString=function(){return"Rapha\u00ebl\u2019s object"};var Lb=function(a){this.items=[];this.length=0;this.type="set";if(a)for(var b=0,c=a.length;b<c;b++)if(a[b]&&(a[b].constructor==M.constructor||a[b].constructor==Lb))this[this.items.length]=this.items[this.items.length]=a[b],this.length++},wa=Lb.prototype;wa.push=function(){for(var a,b,c=0,d=arguments.length;c<d;c++)if((a=arguments[c])&&
(a.constructor==M.constructor||a.constructor==Lb))b=this.items.length,this[b]=this.items[b]=a,this.length++;return this};wa.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};wa.forEach=function(a,b){for(var c=0,d=this.items.length;c<d&&!1!==a.call(b,this.items[c],c);c++);return this};for(var Bd in M)M[T](Bd)&&(wa[Bd]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][Y](c,b)})}}(Bd));wa.attr=function(a,b){if(a&&l.is(a,Ca)&&l.is(a[0],"object"))for(var c=
0,d=a.length;c<d;c++)this.items[c].attr(a[c]);else{c=0;for(d=this.items.length;c<d;c++)this.items[c].attr(a,b)}return this};wa.clear=function(){for(;this.length;)this.pop()};wa.splice=function(a,b,c){var a=0>a?V(this.length+a,0):a,b=V(0,Z(this.length-a,b)),d=[],e=[],f=[],g;for(g=2;g<arguments.length;g++)f.push(arguments[g]);for(g=0;g<b;g++)e.push(this[a+g]);for(;g<this.length-a;g++)d.push(this[a+g]);var j=f.length;for(g=0;g<j+d.length;g++)this.items[a+g]=this[a+g]=g<j?f[g]:d[g-j];for(g=this.items.length=
this.length-=b-j;this[g];)delete this[g++];return new Lb(e)};wa.exclude=function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]==a)return this.splice(b,1),!0};wa.animate=function(a,b,c,d){(l.is(c,"function")||!c)&&(d=c||null);var e=this.items.length,f=e,g=this,j;if(!e)return this;d&&(j=function(){!--e&&d.call(g)});c=l.is(c,"string")?c:j;b=l.animation(a,b,c,j);for(a=this.items[--f].animate(b);f--;)this.items[f]&&!this.items[f].removed&&this.items[f].animateWith(a,b,b);return this};wa.insertAfter=
function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this};wa.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x);b.push(f.y);c.push(f.x+f.width);d.push(f.y+f.height)}a=Z[Y](0,a);b=Z[Y](0,b);c=V[Y](0,c);d=V[Y](0,d);return{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}};wa.clone=function(a){for(var a=new Lb,b=0,c=this.items.length;b<c;b++)a.push(this.items[b].clone());return a};wa.toString=
function(){return"Rapha\u00ebl\u2018s set"};l.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"],d;for(d in a.face)a.face[T](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=vb(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[T](e)&&(c=a.glyphs[e],b.glyphs[e]={w:c.w,k:{},d:c.d&&"M"+c.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",
r:"l",v:"c"}[a]||"M"})+"z"},c.k))for(var f in c.k)c[T](f)&&(b.glyphs[e].k[f]=c.k[f])}return a};S.getFont=function(a,b,c,d){d=d||"normal";c=c||"normal";b=+b||{normal:400,bold:700,lighter:300,bolder:800}[b]||400;if(l.fonts){var e=l.fonts[a];if(!e){var a=RegExp("(^|\\s)"+a.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)","i"),f;for(f in l.fonts)if(l.fonts[T](f)&&a.test(f)){e=l.fonts[f];break}}var g;if(e){f=0;for(a=e.length;f<a&&!(g=e[f],g.face["font-weight"]==b&&(g.face["font-style"]==c||!g.face["font-style"])&&
g.face["font-stretch"]==d);f++);}return g}};S.print=function(a,b,c,d,e,f,g){var f=f||"middle",g=V(Z(g||0,1),-1),j=qa(c)[Ua](""),n=0,h=0,i="";l.is(d,c)&&(d=this.getFont(d));if(d)for(var c=(e||16)/d.face["units-per-em"],m=d.face.bbox[Ua](kd),e=+m[0],k=m[3]-m[1],q=0,f=+m[1]+("baseline"==f?k+ +d.face.descent:k/2),m=0,p=j.length;m<p;m++){if("\n"==j[m])h=G=n=0,q+=k;else var t=h&&d.glyphs[j[m-1]]||{},G=d.glyphs[j[m]],n=n+(h?(t.w||d.w)+(t.k&&t.k[j[m]]||0)+d.w*g:0),h=1;G&&G.d&&(i+=l.transformPath(G.d,["t",
n*c,q*c,"s",c,c,e,f,"t",(a-e)/c,(b-f)/c]))}return this.path(i).attr({fill:"#000",stroke:"none"})};S.add=function(a){if(l.is(a,"array"))for(var b=this.set(),c=0,d=a.length,e;c<d;c++)e=a[c]||{},ag[T](e.type)&&b.push(this[e.type]().attr(e));return b};l.format=function(a,b){var c=l.is(b,Ca)?[0][N](b):arguments;a&&l.is(a,"string")&&c.length-1&&(a=a.replace(bg,function(a,b){return null==c[++b]?"":c[b]}));return a||""};var wg=/\{([^\}]+)\}/g,xg=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;
l.fullfill=function(a,b){return String(a).replace(wg,function(a,d){var e=b;d.replace(xg,function(a,b,c,d,h){b=b||d;e&&(b in e&&(e=e[b]),"function"==typeof e&&h&&(e=e()))});return e=(null==e||e==b?a:e)+""})};l.ninja=function(){ue?C.win.Raphael=cg:delete Raphael;return l};l.st=wa;var yb=document,Ne=void 0,Oe=function(){/in/.test(yb.readyState)?setTimeout(Oe,9):l.eve("raphael.DOMload")};null==yb.readyState&&yb.addEventListener&&(yb.addEventListener("DOMContentLoaded",Ne=function(){yb.removeEventListener("DOMContentLoaded",
Ne,!1);yb.readyState="complete"},!1),yb.readyState="loading");Oe();ue?C.win.Raphael=l:Raphael=l;eve.on("raphael.DOMload",function(){gd=!0})}if(window.Raphael.svg){var s=window.Raphael,Fa=String,Ha=parseFloat,Pe=parseInt,Mb=Math,Cd=Mb.max,zc=Mb.abs,Dd=Mb.pow,Zb=/[, ]+/,Ac=s.eve,yg={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},Na={};s.toString=function(){return"Your browser supports SVG.\nYou are running Rapha\u00ebl "+
this.version};var B=function(a,b){if(b){"string"==typeof a&&(a=B(a));for(var c in b)b.hasOwnProperty(c)&&("xlink:"==c.substring(0,6)?a.setAttributeNS("http://www.w3.org/1999/xlink",c.substring(6),Fa(b[c])):a.setAttribute(c,Fa(b[c])))}else a=s._g.doc.createElementNS("http://www.w3.org/2000/svg",a),a.style&&(a.style.webkitTapHighlightColor="rgba(0,0,0,0)");return a},Qe=function(a,b){var c="linear",d=a.id+b,e=0.5,f=0.5,g=a.node,j=a.paper,n=g.style,h=s._g.doc.getElementById(d);if(!h){b=Fa(b).replace(s._radial_gradient,
function(a,b,d){c="radial";b&&d&&(e=Ha(b),f=Ha(d),a=2*(0.5<f)-1,0.25<Dd(e-0.5,2)+Dd(f-0.5,2)&&(f=Mb.sqrt(0.25-Dd(e-0.5,2))*a+0.5)&&0.5!=f&&(f=f.toFixed(5)-1E-5*a));return""});b=b.split(/\s*\-\s*/);if("linear"==c){h=b.shift();h=-Ha(h);if(isNaN(h))return null;var i=[0,0,Mb.cos(s.rad(h)),Mb.sin(s.rad(h))],h=1/(Cd(zc(i[2]),zc(i[3]))||1);i[2]*=h;i[3]*=h;0>i[2]&&(i[0]=-i[2],i[2]=0);0>i[3]&&(i[1]=-i[3],i[3]=0)}var m=s._parseDots(b);if(!m)return null;d=d.replace(/[\(\)\s,\xb0#]/g,"_");a.gradient&&d!=a.gradient.id&&
(j.defs.removeChild(a.gradient),delete a.gradient);if(!a.gradient){h=B(c+"Gradient",{id:d});a.gradient=h;B(h,"radial"==c?{fx:e,fy:f}:{x1:i[0],y1:i[1],x2:i[2],y2:i[3],gradientTransform:a.matrix.invert()});j.defs.appendChild(h);j=0;for(i=m.length;j<i;j++)h.appendChild(B("stop",{offset:m[j].offset?m[j].offset:j?"100%":"0%","stop-color":m[j].color||"#fff"}))}}B(g,{fill:"url(#"+d+")",opacity:1,"fill-opacity":1});n.fill="";n.opacity=1;return n.fillOpacity=1},Bc=function(a){var b=a.getBBox(1);B(a.pattern,
{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},ib=function(a,b,c){if("path"==a.type){for(var d=Fa(b).toLowerCase().split("-"),e=a.paper,f=c?"end":"start",g=a.node,j=a.attrs,h=j["stroke-width"],i=d.length,k="classic",m,l,q=3,p=3,t=5;i--;)switch(d[i]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":k=d[i];break;case "wide":p=5;break;case "narrow":p=2;break;case "long":q=5;break;case "short":q=2}"open"==k?(q+=2,p+=2,t+=2,m=1,l=c?4:1,d={fill:"none",
stroke:j.stroke}):(l=m=q/2,d={fill:j.stroke,stroke:"none"});a._.arrows?c?(a._.arrows.endPath&&Na[a._.arrows.endPath]--,a._.arrows.endMarker&&Na[a._.arrows.endMarker]--):(a._.arrows.startPath&&Na[a._.arrows.startPath]--,a._.arrows.startMarker&&Na[a._.arrows.startMarker]--):a._.arrows={};if("none"!=k){var i="raphael-marker-"+k,G="raphael-marker-"+f+k+q+p;s._g.doc.getElementById(i)?Na[i]++:(e.defs.appendChild(B(B("path"),{"stroke-linecap":"round",d:yg[k],id:i})),Na[i]=1);var w=s._g.doc.getElementById(G);
w?(Na[G]++,q=w.getElementsByTagName("use")[0]):(w=B(B("marker"),{id:G,markerHeight:p,markerWidth:q,orient:"auto",refX:l,refY:p/2}),q=B(B("use"),{"xlink:href":"#"+i,transform:(c?"rotate(180 "+q/2+" "+p/2+") ":"")+"scale("+q/t+","+p/t+")","stroke-width":(1/((q/t+p/t)/2)).toFixed(4)}),w.appendChild(q),e.defs.appendChild(w),Na[G]=1);B(q,d);e=m*("diamond"!=k&&"oval"!=k);c?(c=a._.arrows.startdx*h||0,h=s.getTotalLength(j.path)-e*h):(c=e*h,h=s.getTotalLength(j.path)-(a._.arrows.enddx*h||0));d={};d["marker-"+
f]="url(#"+G+")";if(h||c)d.d=Raphael.getSubpath(j.path,c,h);B(g,d);a._.arrows[f+"Path"]=i;a._.arrows[f+"Marker"]=G;a._.arrows[f+"dx"]=e;a._.arrows[f+"Type"]=k;a._.arrows[f+"String"]=b}else c?(c=a._.arrows.startdx*h||0,h=s.getTotalLength(j.path)-c):(c=0,h=s.getTotalLength(j.path)-(a._.arrows.enddx*h||0)),a._.arrows[f+"Path"]&&B(g,{d:Raphael.getSubpath(j.path,c,h)}),delete a._.arrows[f+"Path"],delete a._.arrows[f+"Marker"],delete a._.arrows[f+"dx"],delete a._.arrows[f+"Type"],delete a._.arrows[f+"String"];
for(d in Na)Na.hasOwnProperty(d)&&!Na[d]&&(a=s._g.doc.getElementById(d))&&a.parentNode.removeChild(a)}},zg={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},Re=function(a,b,c){if(b=zg[Fa(b).toLowerCase()]){for(var d=a.attrs["stroke-width"]||"1",c={round:d,square:d,butt:0}[a.attrs["stroke-linecap"]||c["stroke-linecap"]]||0,e=[],f=b.length;f--;)e[f]=b[f]*d+(f%2?1:-1)*c;B(a.node,{"stroke-dasharray":e.join(",")})}},
Ed=function(a,b){var c=a.node,d=a.attrs,e=c.style.visibility;c.style.visibility="hidden";for(var f in b)if(b.hasOwnProperty(f)&&s._availableAttrs.hasOwnProperty(f)){var g=b[f];d[f]=g;switch(f){case "blur":a.blur(g);break;case "href":case "title":case "target":var j=c.parentNode;if("a"!=j.tagName.toLowerCase()){var h=B("a");j.insertBefore(h,c);h.appendChild(c);j=h}"target"==f?j.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==g?"new":g):j.setAttributeNS("http://www.w3.org/1999/xlink",
f,g);break;case "cursor":c.style.cursor=g;break;case "transform":a.transform(g);break;case "arrow-start":ib(a,g);break;case "arrow-end":ib(a,g,1);break;case "clip-rect":j=Fa(g).split(Zb);if(4==j.length){a.clip&&a.clip.parentNode.parentNode.removeChild(a.clip.parentNode);var h=B("clipPath"),i=B("rect");h.id=s.createUUID();B(i,{x:j[0],y:j[1],width:j[2],height:j[3]});h.appendChild(i);a.paper.defs.appendChild(h);B(c,{"clip-path":"url(#"+h.id+")"});a.clip=i}if(!g&&(g=c.getAttribute("clip-path")))(g=s._g.doc.getElementById(g.replace(/(^url\(#|\)$)/g,
"")))&&g.parentNode.removeChild(g),B(c,{"clip-path":""}),delete a.clip;break;case "path":"path"==a.type&&(B(c,{d:g?d.path=s._pathToAbsolute(g):"M0,0"}),a._.dirty=1,a._.arrows&&("startString"in a._.arrows&&ib(a,a._.arrows.startString),"endString"in a._.arrows&&ib(a,a._.arrows.endString,1)));break;case "width":if(c.setAttribute(f,g),a._.dirty=1,d.fx)f="x",g=d.x;else break;case "x":d.fx&&(g=-d.x-(d.width||0));case "rx":if("rx"==f&&"rect"==a.type)break;case "cx":c.setAttribute(f,g);a.pattern&&Bc(a);a._.dirty=
1;break;case "height":if(c.setAttribute(f,g),a._.dirty=1,d.fy)f="y",g=d.y;else break;case "y":d.fy&&(g=-d.y-(d.height||0));case "ry":if("ry"==f&&"rect"==a.type)break;case "cy":c.setAttribute(f,g);a.pattern&&Bc(a);a._.dirty=1;break;case "r":"rect"==a.type?B(c,{rx:g,ry:g}):c.setAttribute(f,g);a._.dirty=1;break;case "src":"image"==a.type&&c.setAttributeNS("http://www.w3.org/1999/xlink","href",g);break;case "stroke-width":if(1!=a._.sx||1!=a._.sy)g/=Cd(zc(a._.sx),zc(a._.sy))||1;a.paper._vbSize&&(g*=a.paper._vbSize);
c.setAttribute(f,g);d["stroke-dasharray"]&&Re(a,d["stroke-dasharray"],b);a._.arrows&&("startString"in a._.arrows&&ib(a,a._.arrows.startString),"endString"in a._.arrows&&ib(a,a._.arrows.endString,1));break;case "stroke-dasharray":Re(a,g,b);break;case "fill":var k=Fa(g).match(s._ISURL);if(k){var h=B("pattern"),m=B("image");h.id=s.createUUID();B(h,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});B(m,{x:0,y:0,"xlink:href":k[1]});h.appendChild(m);(function(b){s._preload(k[1],function(){var c=
this.offsetWidth,d=this.offsetHeight;B(b,{width:c,height:d});B(m,{width:c,height:d});a.paper.safari()})})(h);a.paper.defs.appendChild(h);B(c,{fill:"url(#"+h.id+")"});a.pattern=h;a.pattern&&Bc(a);break}j=s.getRGB(g);if(j.error){if(("circle"==a.type||"ellipse"==a.type||"r"!=Fa(g).charAt())&&Qe(a,g)){if("opacity"in d||"fill-opacity"in d)if(j=s._g.doc.getElementById(c.getAttribute("fill").replace(/^url\(#|\)$/g,"")))j=j.getElementsByTagName("stop"),B(j[j.length-1],{"stop-opacity":("opacity"in d?d.opacity:
1)*("fill-opacity"in d?d["fill-opacity"]:1)});d.gradient=g;d.fill="none";break}}else delete b.gradient,delete d.gradient,!s.is(d.opacity,"undefined")&&s.is(b.opacity,"undefined")&&B(c,{opacity:d.opacity}),!s.is(d["fill-opacity"],"undefined")&&s.is(b["fill-opacity"],"undefined")&&B(c,{"fill-opacity":d["fill-opacity"]});j.hasOwnProperty("opacity")&&B(c,{"fill-opacity":1<j.opacity?j.opacity/100:j.opacity});case "stroke":j=s.getRGB(g);c.setAttribute(f,j.hex);"stroke"==f&&j.hasOwnProperty("opacity")&&
B(c,{"stroke-opacity":1<j.opacity?j.opacity/100:j.opacity});"stroke"==f&&a._.arrows&&("startString"in a._.arrows&&ib(a,a._.arrows.startString),"endString"in a._.arrows&&ib(a,a._.arrows.endString,1));break;case "gradient":("circle"==a.type||"ellipse"==a.type||"r"!=Fa(g).charAt())&&Qe(a,g);break;case "opacity":d.gradient&&!d.hasOwnProperty("stroke-opacity")&&B(c,{"stroke-opacity":1<g?g/100:g});case "fill-opacity":if(d.gradient){if(j=s._g.doc.getElementById(c.getAttribute("fill").replace(/^url\(#|\)$/g,
"")))j=j.getElementsByTagName("stop"),B(j[j.length-1],{"stop-opacity":g});break}default:"font-size"==f&&(g=Pe(g,10)+"px"),j=f.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()}),c.style[j]=g,a._.dirty=1,c.setAttribute(f,g)}}if(!("text"!=a.type||!b.hasOwnProperty("text")&&!b.hasOwnProperty("font")&&!b.hasOwnProperty("font-size")&&!b.hasOwnProperty("x")&&!b.hasOwnProperty("y"))){f=a.attrs;g=a.node;j=g.firstChild?Pe(s._g.doc.defaultView.getComputedStyle(g.firstChild,"").getPropertyValue("font-size"),
10):10;if(b.hasOwnProperty("text")){for(f.text=b.text;g.firstChild;)g.removeChild(g.firstChild);for(var h=Fa(b.text).split("\n"),d=[],l=0,q=h.length;l<q;l++)i=B("tspan"),l&&B(i,{dy:1.2*j,x:f.x}),i.appendChild(s._g.doc.createTextNode(h[l])),g.appendChild(i),d[l]=i}else{d=g.getElementsByTagName("tspan");l=0;for(q=d.length;l<q;l++)l?B(d[l],{dy:1.2*j,x:f.x}):B(d[0],{dy:0})}B(g,{x:f.x,y:f.y});a._.dirty=1;g=a._getBBox();(f=f.y-(g.y+g.height/2))&&s.is(f,"finite")&&B(d[0],{dy:f})}c.style.visibility=e},jb=
function(a,b){this[0]=this.node=a;a.raphael=!0;this.id=s._oid++;a.raphaelid=this.id;this.matrix=s.matrix();this.realPath=null;this.paper=b;this.attrs=this.attrs||{};this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};!b.bottom&&(b.bottom=this);(this.prev=b.top)&&(b.top.next=this);b.top=this;this.next=null},fa=s.el;jb.prototype=fa;fa.constructor=jb;s._engine.path=function(a,b){var c=B("path");b.canvas&&b.canvas.appendChild(c);c=new jb(c,b);c.type="path";Ed(c,{fill:"none",stroke:"#000",path:a});
return c};fa.rotate=function(a,b,c){if(this.removed)return this;a=Fa(a).split(Zb);a.length-1&&(b=Ha(a[1]),c=Ha(a[2]));a=Ha(a[0]);null==c&&(b=c);if(null==b||null==c)c=this.getBBox(1),b=c.x+c.width/2,c=c.y+c.height/2;this.transform(this._.transform.concat([["r",a,b,c]]));return this};fa.scale=function(a,b,c,d){if(this.removed)return this;a=Fa(a).split(Zb);a.length-1&&(b=Ha(a[1]),c=Ha(a[2]),d=Ha(a[3]));a=Ha(a[0]);null==b&&(b=a);null==d&&(c=d);if(null==c||null==d)var e=this.getBBox(1);c=null==c?e.x+e.width/
2:c;d=null==d?e.y+e.height/2:d;this.transform(this._.transform.concat([["s",a,b,c,d]]));return this};fa.translate=function(a,b){if(this.removed)return this;a=Fa(a).split(Zb);a.length-1&&(b=Ha(a[1]));a=Ha(a[0])||0;this.transform(this._.transform.concat([["t",a,+b||0]]));return this};fa.transform=function(a){var b=this._;if(null==a)return b.transform;s._extractTransform(this,a);this.clip&&B(this.clip,{transform:this.matrix.invert()});this.pattern&&Bc(this);this.node&&B(this.node,{transform:this.matrix});
if(1!=b.sx||1!=b.sy)a=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":a});return this};fa.hide=function(){!this.removed&&this.paper.safari(this.node.style.display="none");return this};fa.show=function(){!this.removed&&this.paper.safari(this.node.style.display="");return this};fa.remove=function(){if(!this.removed&&this.node.parentNode){var a=this.paper;a.__set__&&a.__set__.exclude(this);Ac.unbind("raphael.*.*."+this.id);this.gradient&&a.defs.removeChild(this.gradient);
s._tear(this,a);"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var b in this)this[b]="function"==typeof this[b]?s._removedFactory(b):null;this.removed=!0}};fa._getBBox=function(){if("none"==this.node.style.display){this.show();var a=!0}var b={};try{b=this.node.getBBox()}catch(c){}finally{b=b||{}}a&&this.hide();return b};fa.attr=function(a,b){if(this.removed)return this;if(null==a){var c=
{},d;for(d in this.attrs)this.attrs.hasOwnProperty(d)&&(c[d]=this.attrs[d]);c.gradient&&"none"==c.fill&&(c.fill=c.gradient)&&delete c.gradient;c.transform=this._.transform;return c}if(null==b&&s.is(a,"string")){if("fill"==a&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==a)return this._.transform;d=a.split(Zb);for(var c={},e=0,f=d.length;e<f;e++)a=d[e],c[a]=a in this.attrs?this.attrs[a]:s.is(this.paper.customAttributes[a],"function")?this.paper.customAttributes[a].def:
s._availableAttrs[a];return f-1?c:c[d[0]]}if(null==b&&s.is(a,"array")){c={};e=0;for(f=a.length;e<f;e++)c[a[e]]=this.attr(a[e]);return c}null!=b?(c={},c[a]=b):null!=a&&s.is(a,"object")&&(c=a);for(e in c)Ac("raphael.attr."+e+"."+this.id,this,c[e]);for(e in this.paper.customAttributes)if(this.paper.customAttributes.hasOwnProperty(e)&&c.hasOwnProperty(e)&&s.is(this.paper.customAttributes[e],"function"))for(f in d=this.paper.customAttributes[e].apply(this,[].concat(c[e])),this.attrs[e]=c[e],d)d.hasOwnProperty(f)&&
(c[f]=d[f]);Ed(this,c);return this};fa.toFront=function(){if(this.removed)return this;"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var a=this.paper;a.top!=this&&s._tofront(this,a);return this};fa.toBack=function(){if(this.removed)return this;var a=this.node.parentNode;"a"==a.tagName.toLowerCase()?a.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):
a.firstChild!=this.node&&a.insertBefore(this.node,this.node.parentNode.firstChild);s._toback(this,this.paper);return this};fa.insertAfter=function(a){if(this.removed)return this;var b=a.node||a[a.length-1].node;b.nextSibling?b.parentNode.insertBefore(this.node,b.nextSibling):b.parentNode.appendChild(this.node);s._insertafter(this,a,this.paper);return this};fa.insertBefore=function(a){if(this.removed)return this;var b=a.node||a[0].node;b.parentNode.insertBefore(this.node,b);s._insertbefore(this,a,
this.paper);return this};fa.blur=function(a){if(0!==+a){var b=B("filter"),c=B("feGaussianBlur");this.attrs.blur=a;b.id=s.createUUID();B(c,{stdDeviation:+a||1.5});b.appendChild(c);this.paper.defs.appendChild(b);this._blur=b;B(this.node,{filter:"url(#"+b.id+")"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),this.node.removeAttribute("filter")};s._engine.circle=function(a,b,c,d){var e=B("circle");a.canvas&&a.canvas.appendChild(e);a=new jb(e,
a);a.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"};a.type="circle";B(e,a.attrs);return a};s._engine.rect=function(a,b,c,d,e,f){var g=B("rect");a.canvas&&a.canvas.appendChild(g);a=new jb(g,a);a.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};a.type="rect";B(g,a.attrs);return a};s._engine.ellipse=function(a,b,c,d,e){var f=B("ellipse");a.canvas&&a.canvas.appendChild(f);a=new jb(f,a);a.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"};a.type="ellipse";B(f,a.attrs);
return a};s._engine.image=function(a,b,c,d,e,f){var g=B("image");B(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"});g.setAttributeNS("http://www.w3.org/1999/xlink","href",b);a.canvas&&a.canvas.appendChild(g);a=new jb(g,a);a.attrs={x:c,y:d,width:e,height:f,src:b};a.type="image";return a};s._engine.text=function(a,b,c,d){var e=B("text");a.canvas&&a.canvas.appendChild(e);a=new jb(e,a);a.attrs={x:b,y:c,"text-anchor":"middle",text:d,font:s._availableAttrs.font,stroke:"none",fill:"#000"};a.type=
"text";Ed(a,a.attrs);return a};s._engine.setSize=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this};s._engine.create=function(){var a=s._getContainer.apply(0,arguments),b=a&&a.container,c=a.x,d=a.y,e=a.width,a=a.height;if(!b)throw Error("SVG container not found.");var f=B("svg"),g,c=c||0,d=d||0,e=e||512,a=a||342;B(f,{height:a,
version:1.1,width:e,xmlns:"http://www.w3.org/2000/svg"});1==b?(f.style.cssText="overflow:hidden;position:absolute;left:"+c+"px;top:"+d+"px",s._g.doc.body.appendChild(f),g=1):(f.style.cssText="overflow:hidden;position:relative",b.firstChild?b.insertBefore(f,b.firstChild):b.appendChild(f));b=new s._Paper;b.width=e;b.height=a;b.canvas=f;b.clear();b._left=b._top=0;g&&(b.renderfix=function(){});b.renderfix();return b};s._engine.setViewBox=function(a,b,c,d,e){Ac("raphael.setViewBox",this,this._viewBox,
[a,b,c,d,e]);var f=Cd(c/this.width,d/this.height),g=this.top,j=e?"meet":"xMinYMin",h;null==a?(this._vbSize&&(f=1),delete this._vbSize,h="0 0 "+this.width+" "+this.height):(this._vbSize=f,h=a+" "+b+" "+c+" "+d);for(B(this.canvas,{viewBox:h,preserveAspectRatio:j});f&&g;)j="stroke-width"in g.attrs?g.attrs["stroke-width"]:1,g.attr({"stroke-width":j}),g._.dirty=1,g._.dirtyT=1,g=g.prev;this._viewBox=[a,b,c,d,!!e];return this};s.prototype.renderfix=function(){var a=this.canvas,b=a.style,c;try{c=a.getScreenCTM()||
a.createSVGMatrix()}catch(d){c=a.createSVGMatrix()}a=-c.e%1;c=-c.f%1;if(a||c)a&&(this._left=(this._left+a)%1,b.left=this._left+"px"),c&&(this._top=(this._top+c)%1,b.top=this._top+"px")};s.prototype.clear=function(){s.eve("raphael.clear",this);for(var a=this.canvas;a.firstChild;)a.removeChild(a.firstChild);this.bottom=this.top=null;(this.desc=B("desc")).appendChild(s._g.doc.createTextNode("Created with Rapha\u00ebl "+s.version));a.appendChild(this.desc);a.appendChild(this.defs=B("defs"))};s.prototype.remove=
function(){Ac("raphael.remove",this);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]="function"==typeof this[a]?s._removedFactory(a):null};var Se=s.st,$b;for($b in fa)fa.hasOwnProperty($b)&&!Se.hasOwnProperty($b)&&(Se[$b]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}($b))}if(window.Raphael.vml){var v=window.Raphael,ca=String,xa=parseFloat,ac=Math,ya=ac.round,Fd=ac.max,Te=ac.min,Cc=ac.abs,bc=/[, ]+/,
Ag=v.eve,Ue={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},Bg=/([clmz]),?([^clmz]*)/gi,Cg=/ progid:\S+Blur\([^\)]+\)/g,Dg=/-?[^,\s-]+/g,Eg={path:1,rect:1,image:1},Fg={circle:1,ellipse:1},Ve=function(a,b,c){var d=v.matrix();d.rotate(-a,0.5,0.5);return{dx:d.x(b,c),dy:d.y(b,c)}},Dc=function(a,b,c,d,e,f){var g=a._,j=a.matrix,h=g.fillpos,a=a.node,i=a.style,k=1,m="",l=21600/b,q=21600/c;i.visibility="hidden";if(b&&c){a.coordsize=Cc(l)+" "+Cc(q);i.rotation=f*(0>b*c?-1:1);f&&(e=Ve(f,d,e),d=e.dx,e=e.dy);
0>b&&(m+="x");0>c&&(m+=" y")&&(k=-1);i.flip=m;a.coordorigin=d*-l+" "+e*-q;if(h||g.fillsize)d=(d=a.getElementsByTagName("fill"))&&d[0],a.removeChild(d),h&&(e=Ve(f,j.x(h[0],h[1]),j.y(h[0],h[1])),d.position=e.dx*k+" "+e.dy*k),g.fillsize&&(d.size=g.fillsize[0]*Cc(b)+" "+g.fillsize[1]*Cc(c)),a.appendChild(d);i.visibility="visible"}};v.toString=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\u00ebl "+this.version};var We=function(a,b,c){for(var b=ca(b).toLowerCase().split("-"),
c=c?"end":"start",d=b.length,e="classic",f="medium",g="medium";d--;)switch(b[d]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":e=b[d];break;case "wide":case "narrow":g=b[d];break;case "long":case "short":f=b[d]}a=a.node.getElementsByTagName("stroke")[0];a[c+"arrow"]=e;a[c+"arrowlength"]=f;a[c+"arrowwidth"]=g},cc=function(a,b){a.attrs=a.attrs||{};var c=a.node,d=a.attrs,e=c.style,f=Eg[a.type]&&(b.x!=d.x||b.y!=d.y||b.width!=d.width||b.height!=d.height||b.cx!=d.cx||b.cy!=
d.cy||b.rx!=d.rx||b.ry!=d.ry||b.r!=d.r),g=Fg[a.type]&&(d.cx!=b.cx||d.cy!=b.cy||d.r!=b.r||d.rx!=b.rx||d.ry!=b.ry),j;for(j in b)b.hasOwnProperty(j)&&(d[j]=b[j]);f&&(d.path=v._getPath[a.type](a),a._.dirty=1);b.href&&(c.href=b.href);b.title&&(c.title=b.title);b.target&&(c.target=b.target);b.cursor&&(e.cursor=b.cursor);"blur"in b&&a.blur(b.blur);if(b.path&&"path"==a.type||f){e=~ca(d.path).toLowerCase().indexOf("r")?v._pathToAbsolute(d.path):d.path;f=/[ahqstv]/ig;j=v._pathToAbsolute;ca(e).match(f)&&(j=
v._path2curve);f=/[clmz]/g;if(j==v._pathToAbsolute&&!ca(e).match(f))e=ca(e).replace(Bg,function(a,b,c){var d=[],e="m"==b.toLowerCase(),f=Ue[b];c.replace(Dg,function(a){e&&2==d.length&&(f+=d+Ue["m"==b?"l":"L"],d=[]);d.push(ya(21600*a))});return f+d});else{for(var f=j(e),h,e=[],i=0,k=f.length;i<k;i++){j=f[i];h=f[i][0].toLowerCase();"z"==h&&(h="x");for(var m=1,l=j.length;m<l;m++)h+=ya(21600*j[m])+(m!=l-1?",":"");e.push(h)}e=e.join(" ")}c.path=e;"image"==a.type&&(a._.fillpos=[d.x,d.y],a._.fillsize=[d.width,
d.height],Dc(a,1,1,0,0,0))}"transform"in b&&a.transform(b.transform);g&&(g=+d.cx,e=+d.cy,f=+d.rx||+d.r||0,j=+d.ry||+d.r||0,c.path=v.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",ya(21600*(g-f)),ya(21600*(e-j)),ya(21600*(g+f)),ya(21600*(e+j)),ya(21600*g)));"clip-rect"in b&&(g=ca(b["clip-rect"]).split(bc),4==g.length&&(g[2]=+g[2]+ +g[0],g[3]=+g[3]+ +g[1],e=c.clipRect||v._g.doc.createElement("div"),f=e.style,f.clip=v.format("rect({1}px {2}px {3}px {0}px)",g),c.clipRect||(f.position="absolute",f.top=0,
f.left=0,f.width=a.paper.width+"px",f.height=a.paper.height+"px",c.parentNode.insertBefore(e,c),e.appendChild(c),c.clipRect=e)),b["clip-rect"]||c.clipRect&&(c.clipRect.style.clip="auto"));a.textpath&&(g=a.textpath.style,b.font&&(g.font=b.font),b["font-family"]&&(g.fontFamily='"'+b["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),b["font-size"]&&(g.fontSize=b["font-size"]),b["font-weight"]&&(g.fontWeight=b["font-weight"]),b["font-style"]&&(g.fontStyle=b["font-style"]));"arrow-start"in
b&&We(a,b["arrow-start"]);"arrow-end"in b&&We(a,b["arrow-end"],1);if(null!=b.opacity||null!=b["stroke-width"]||null!=b.fill||null!=b.src||null!=b.stroke||null!=b["stroke-width"]||null!=b["stroke-opacity"]||null!=b["fill-opacity"]||null!=b["stroke-dasharray"]||null!=b["stroke-miterlimit"]||null!=b["stroke-linejoin"]||null!=b["stroke-linecap"]){g=(g=c.getElementsByTagName("fill"))&&g[0];!g&&(g=Va("fill"));"image"==a.type&&b.src&&(g.src=b.src);b.fill&&(g.on=!0);if(null==g.on||"none"==b.fill||null===
b.fill)g.on=!1;if(g.on&&b.fill)if(e=ca(b.fill).match(v._ISURL)){g.parentNode==c&&c.removeChild(g);g.rotate=!0;g.src=e[1];g.type="tile";var q=a.getBBox(1);g.position=q.x+" "+q.y;a._.fillpos=[q.x,q.y];v._preload(e[1],function(){a._.fillsize=[this.offsetWidth,this.offsetHeight]})}else{g.color=v.getRGB(b.fill).hex;g.src="";g.type="solid";if(e=v.getRGB(b.fill).error)if(e=a.type in{circle:1,ellipse:1}||"r"!=ca(b.fill).charAt())a:{e=a;j=b.fill;f=g;e.attrs=e.attrs||{};var p=Math.pow,t="linear",G=".5 .5";
e.attrs.gradient=j;j=ca(j).replace(v._radial_gradient,function(a,b,c){t="radial";b&&c&&(b=xa(b),c=xa(c),0.25<p(b-0.5,2)+p(c-0.5,2)&&(c=ac.sqrt(0.25-p(b-0.5,2))*(2*(0.5<c)-1)+0.5),G=b+" "+c);return""});j=j.split(/\s*\-\s*/);if("linear"==t&&(q=j.shift(),q=-xa(q),isNaN(q))){e=null;break a}if(j=v._parseDots(j)){e=e.shape||e.node;if(j.length){e.removeChild(f);f.on=!0;f.method="none";f.color=j[0].color;f.color2=j[j.length-1].color;h=[];i=0;for(k=j.length;i<k;i++)j[i].offset&&h.push(j[i].offset+" "+j[i].color);
f.colors=h.length?h.join():"0% "+f.color;"radial"==t?(f.type="gradientTitle",f.focus="100%",f.focussize="0 0",f.focusposition=G,f.angle=0):(f.type="gradient",f.angle=(270-q)%360);e.appendChild(f)}e=1}else e=null}e&&(d.fill="none",d.gradient=b.fill,g.rotate=!1)}if("fill-opacity"in b||"opacity"in b)e=((+d["fill-opacity"]+1||2)-1)*((+d.opacity+1||2)-1)*((+v.getRGB(b.fill).o+1||2)-1),e=Te(Fd(e,0),1),g.opacity=e,g.src&&(g.color="none");c.appendChild(g);q=c.getElementsByTagName("stroke")&&c.getElementsByTagName("stroke")[0];
g=!1;!q&&(g=q=Va("stroke"));if(b.stroke&&"none"!=b.stroke||b["stroke-width"]||null!=b["stroke-opacity"]||b["stroke-dasharray"]||b["stroke-miterlimit"]||b["stroke-linejoin"]||b["stroke-linecap"])q.on=!0;("none"==b.stroke||null===b.stroke||null==q.on||0==b.stroke||0==b["stroke-width"])&&(q.on=!1);e=v.getRGB(b.stroke);q.on&&b.stroke&&(q.color=e.hex);e=((+d["stroke-opacity"]+1||2)-1)*((+d.opacity+1||2)-1)*((+e.o+1||2)-1);f=0.75*(xa(b["stroke-width"])||1);e=Te(Fd(e,0),1);null==b["stroke-width"]&&(f=d["stroke-width"]);
b["stroke-width"]&&(q.weight=f);f&&1>f&&(e*=f)&&(q.weight=1);q.opacity=e;b["stroke-linejoin"]&&(q.joinstyle=b["stroke-linejoin"]||"miter");q.miterlimit=b["stroke-miterlimit"]||8;b["stroke-linecap"]&&(q.endcap="butt"==b["stroke-linecap"]?"flat":"square"==b["stroke-linecap"]?"square":"round");b["stroke-dasharray"]&&(e={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},q.dashstyle=
e.hasOwnProperty(b["stroke-dasharray"])?e[b["stroke-dasharray"]]:"");g&&c.appendChild(q)}if("text"==a.type){a.paper.canvas.style.display="";c=a.paper.span;q=d.font&&d.font.match(/\d+(?:\.\d*)?(?=px)/);e=c.style;d.font&&(e.font=d.font);d["font-family"]&&(e.fontFamily=d["font-family"]);d["font-weight"]&&(e.fontWeight=d["font-weight"]);d["font-style"]&&(e.fontStyle=d["font-style"]);q=xa(d["font-size"]||q&&q[0])||10;e.fontSize=100*q+"px";a.textpath.string&&(c.innerHTML=ca(a.textpath.string).replace(/</g,
"<").replace(/&/g,"&").replace(/\n/g,"<br>"));c=c.getBoundingClientRect();a.W=d.w=(c.right-c.left)/100;a.H=d.h=(c.bottom-c.top)/100;a.X=d.x;a.Y=d.y+a.H/2;("x"in b||"y"in b)&&(a.path.v=v.format("m{0},{1}l{2},{1}",ya(21600*d.x),ya(21600*d.y),ya(21600*d.x)+1));c="x y text font font-family font-weight font-style font-size".split(" ");q=0;for(g=c.length;q<g;q++)if(c[q]in b){a._.dirty=1;break}switch(d["text-anchor"]){case "start":a.textpath.style["v-text-align"]="left";a.bbx=a.W/2;break;case "end":a.textpath.style["v-text-align"]=
"right";a.bbx=-a.W/2;break;default:a.textpath.style["v-text-align"]="center",a.bbx=0}a.textpath.style["v-text-kern"]=!0}},Ec=function(a,b){this[0]=this.node=a;a.raphael=!0;this.id=v._oid++;a.raphaelid=this.id;this.Y=this.X=0;this.attrs={};this.paper=b;this.matrix=v.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};!b.bottom&&(b.bottom=this);(this.prev=b.top)&&(b.top.next=this);b.top=this;this.next=null},ga=v.el;Ec.prototype=ga;ga.constructor=Ec;ga.transform=function(a){if(null==
a)return this._.transform;var b=this.paper._viewBoxShift,c=b?"s"+[b.scale,b.scale]+"-1-1t"+[b.dx,b.dy]:"",d;b&&(d=a=ca(a).replace(/\.{3}|\u2026/g,this._.transform||""));v._extractTransform(this,c+a);var b=this.matrix.clone(),e=this.skew,a=this.node,c=~ca(this.attrs.fill).indexOf("-"),f=!ca(this.attrs.fill).indexOf("url(");b.translate(-0.5,-0.5);f||c||"image"==this.type?(e.matrix="1 0 0 1",e.offset="0 0",e=b.split(),c&&e.noRotation||!e.isSimple?(a.style.filter=b.toFilter(),c=this.getBBox(),e=this.getBBox(1),
b=c.x-e.x,c=c.y-e.y,a.coordorigin=-21600*b+" "+-21600*c,Dc(this,1,1,b,c,0)):(a.style.filter="",Dc(this,e.scalex,e.scaley,e.dx,e.dy,e.rotate))):(a.style.filter="",e.matrix=ca(b),e.offset=b.offset());d&&(this._.transform=d);return this};ga.rotate=function(a,b,c){if(this.removed)return this;if(null!=a){a=ca(a).split(bc);a.length-1&&(b=xa(a[1]),c=xa(a[2]));a=xa(a[0]);null==c&&(b=c);if(null==b||null==c)c=this.getBBox(1),b=c.x+c.width/2,c=c.y+c.height/2;this._.dirtyT=1;this.transform(this._.transform.concat([["r",
a,b,c]]));return this}};ga.translate=function(a,b){if(this.removed)return this;a=ca(a).split(bc);a.length-1&&(b=xa(a[1]));a=xa(a[0])||0;b=+b||0;this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b);this.transform(this._.transform.concat([["t",a,b]]));return this};ga.scale=function(a,b,c,d){if(this.removed)return this;a=ca(a).split(bc);a.length-1&&(b=xa(a[1]),c=xa(a[2]),d=xa(a[3]),isNaN(c)&&(c=null),isNaN(d)&&(d=null));a=xa(a[0]);null==b&&(b=a);null==d&&(c=d);if(null==c||null==d)var e=this.getBBox(1);c=
null==c?e.x+e.width/2:c;d=null==d?e.y+e.height/2:d;this.transform(this._.transform.concat([["s",a,b,c,d]]));this._.dirtyT=1;return this};ga.hide=function(){!this.removed&&(this.node.style.display="none");return this};ga.show=function(){!this.removed&&(this.node.style.display="");return this};ga._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}};ga.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this);
v.eve.unbind("raphael.*.*."+this.id);v._tear(this,this.paper);this.node.parentNode.removeChild(this.node);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)this[a]="function"==typeof this[a]?v._removedFactory(a):null;this.removed=!0}};ga.attr=function(a,b){if(this.removed)return this;if(null==a){var c={},d;for(d in this.attrs)this.attrs.hasOwnProperty(d)&&(c[d]=this.attrs[d]);c.gradient&&"none"==c.fill&&(c.fill=c.gradient)&&delete c.gradient;c.transform=this._.transform;
return c}if(null==b&&v.is(a,"string")){if("fill"==a&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;d=a.split(bc);for(var c={},e=0,f=d.length;e<f;e++)a=d[e],c[a]=a in this.attrs?this.attrs[a]:v.is(this.paper.customAttributes[a],"function")?this.paper.customAttributes[a].def:v._availableAttrs[a];return f-1?c:c[d[0]]}if(this.attrs&&null==b&&v.is(a,"array")){c={};e=0;for(f=a.length;e<f;e++)c[a[e]]=this.attr(a[e]);return c}null!=b&&(c={},c[a]=b);null==b&&v.is(a,"object")&&(c=
a);for(e in c)Ag("raphael.attr."+e+"."+this.id,this,c[e]);if(c){for(e in this.paper.customAttributes)if(this.paper.customAttributes.hasOwnProperty(e)&&c.hasOwnProperty(e)&&v.is(this.paper.customAttributes[e],"function"))for(f in d=this.paper.customAttributes[e].apply(this,[].concat(c[e])),this.attrs[e]=c[e],d)d.hasOwnProperty(f)&&(c[f]=d[f]);c.text&&"text"==this.type&&(this.textpath.string=c.text);cc(this,c)}return this};ga.toFront=function(){!this.removed&&this.node.parentNode.appendChild(this.node);
this.paper&&this.paper.top!=this&&v._tofront(this,this.paper);return this};ga.toBack=function(){if(this.removed)return this;this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),v._toback(this,this.paper));return this};ga.insertAfter=function(a){if(this.removed)return this;a.constructor==v.st.constructor&&(a=a[a.length-1]);a.node.nextSibling?a.node.parentNode.insertBefore(this.node,a.node.nextSibling):a.node.parentNode.appendChild(this.node);
v._insertafter(this,a,this.paper);return this};ga.insertBefore=function(a){if(this.removed)return this;a.constructor==v.st.constructor&&(a=a[0]);a.node.parentNode.insertBefore(this.node,a.node);v._insertbefore(this,a,this.paper);return this};ga.blur=function(a){var b=this.node.runtimeStyle,c=b.filter,c=c.replace(Cg,"");0!==+a?(this.attrs.blur=a,b.filter=c+" progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+a||1.5)+")",b.margin=v.format("-{0}px 0 0 -{0}px",ya(+a||1.5))):(b.filter=c,b.margin=
0,delete this.attrs.blur)};v._engine.path=function(a,b){var c=Va("shape");c.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";c.coordsize="21600 21600";c.coordorigin=b.coordorigin;var d=new Ec(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a);d.type="path";d.path=[];d.Path="";cc(d,e);b.canvas.appendChild(c);e=Va("skew");e.on=!0;c.appendChild(e);d.skew=e;d.transform("");return d};v._engine.rect=function(a,b,c,d,e,f){var g=v._rectPath(b,c,d,e,f),a=a.path(g),j=a.attrs;a.X=j.x=b;a.Y=
j.y=c;a.W=j.width=d;a.H=j.height=e;j.r=f;j.path=g;a.type="rect";return a};v._engine.ellipse=function(a,b,c,d,e){a=a.path();a.X=b-d;a.Y=c-e;a.W=2*d;a.H=2*e;a.type="ellipse";cc(a,{cx:b,cy:c,rx:d,ry:e});return a};v._engine.circle=function(a,b,c,d){a=a.path();a.X=b-d;a.Y=c-d;a.W=a.H=2*d;a.type="circle";cc(a,{cx:b,cy:c,r:d});return a};v._engine.image=function(a,b,c,d,e,f){var g=v._rectPath(c,d,e,f),a=a.path(g).attr({stroke:"none"}),j=a.attrs,h=a.node,i=h.getElementsByTagName("fill")[0];j.src=b;a.X=j.x=
c;a.Y=j.y=d;a.W=j.width=e;a.H=j.height=f;j.path=g;a.type="image";i.parentNode==h&&h.removeChild(i);i.rotate=!0;i.src=b;i.type="tile";a._.fillpos=[c,d];a._.fillsize=[e,f];h.appendChild(i);Dc(a,1,1,0,0,0);return a};v._engine.text=function(a,b,c,d){var e=Va("shape"),f=Va("path"),g=Va("textpath"),b=b||0,c=c||0,d=d||"";f.v=v.format("m{0},{1}l{2},{1}",ya(21600*b),ya(21600*c),ya(21600*b)+1);f.textpathok=!0;g.string=ca(d);g.on=!0;e.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";e.coordsize=
"21600 21600";e.coordorigin="0 0";var j=new Ec(e,a),h={fill:"#000",stroke:"none",font:v._availableAttrs.font,text:d};j.shape=e;j.path=f;j.textpath=g;j.type="text";j.attrs.text=ca(d);j.attrs.x=b;j.attrs.y=c;j.attrs.w=1;j.attrs.h=1;cc(j,h);e.appendChild(g);e.appendChild(f);a.canvas.appendChild(e);a=Va("skew");a.on=!0;e.appendChild(a);j.skew=a;j.transform("");return j};v._engine.setSize=function(a,b){var c=this.canvas.style;this.width=a;this.height=b;a==+a&&(a+="px");b==+b&&(b+="px");c.width=a;c.height=
b;c.clip="rect(0 "+a+" "+b+" 0)";this._viewBox&&v._engine.setViewBox.apply(this,this._viewBox);return this};v._engine.setViewBox=function(a,b,c,d,e){v.eve("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f=this.width,g=this.height,j=1/Fd(c/f,d/g),h,i;e&&(h=g/d,i=f/c,c*h<f&&(a-=(f-c*h)/2/h),d*i<g&&(b-=(g-d*i)/2/i));this._viewBox=[a,b,c,d,!!e];this._viewBoxShift={dx:-a,dy:-b,scale:j};this.forEach(function(a){a.transform("...")});return this};var Va;v._engine.initWin=function(a){var b=a.document;
b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),Va=function(a){return b.createElement("<rvml:"+a+' class="rvml">')}}catch(c){Va=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};v._engine.initWin(v._g.win);v._engine.create=function(){var a=v._getContainer.apply(0,arguments),b=a.container,c=a.height,d=a.width,e=a.x,a=a.y;if(!b)throw Error("VML container not found.");
var f=new v._Paper,g=f.canvas=v._g.doc.createElement("div"),j=g.style,e=e||0,a=a||0,d=d||512,c=c||342;f.width=d;f.height=c;d==+d&&(d+="px");c==+c&&(c+="px");f.coordsize="21600000 21600000";f.coordorigin="0 0";f.span=v._g.doc.createElement("span");f.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";g.appendChild(f.span);j.cssText=v.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",
d,c);1==b?(v._g.doc.body.appendChild(g),j.left=e+"px",j.top=a+"px",j.position="absolute"):b.firstChild?b.insertBefore(g,b.firstChild):b.appendChild(g);f.renderfix=function(){};return f};v.prototype.clear=function(){v.eve("raphael.clear",this);this.canvas.innerHTML="";this.span=v._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};v.prototype.remove=
function(){v.eve("raphael.remove",this);this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]="function"==typeof this[a]?v._removedFactory(a):null;return!0};var Xe=v.st,dc;for(dc in ga)ga.hasOwnProperty(dc)&&!Xe.hasOwnProperty(dc)&&(Xe[dc]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(dc))}var ha;ha||(ha={});(function(){function a(a){return 10>a?"0"+a:a}function b(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var b=
j[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(a,d){var e,j,i,k,l=f,p,w=d[a];w&&("object"===typeof w&&"function"===typeof w.toJSON)&&(w=w.toJSON(a));"function"===typeof h&&(w=h.call(d,a,w));switch(typeof w){case "string":return b(w);case "number":return isFinite(w)?String(w):"null";case "boolean":case "null":return String(w);case "object":if(!w)return"null";f+=g;p=[];if("[object Array]"===Object.prototype.toString.apply(w)){k=w.length;
for(e=0;e<k;e+=1)p[e]=c(e,w)||"null";i=0===p.length?"[]":f?"[\n"+f+p.join(",\n"+f)+"\n"+l+"]":"["+p.join(",")+"]";f=l;return i}if(h&&"object"===typeof h){k=h.length;for(e=0;e<k;e+=1)"string"===typeof h[e]&&(j=h[e],(i=c(j,w))&&p.push(b(j)+(f?": ":":")+i))}else for(j in w)Object.prototype.hasOwnProperty.call(w,j)&&(i=c(j,w))&&p.push(b(j)+(f?": ":":")+i);i=0===p.length?"{}":f?"{\n"+f+p.join(",\n"+f)+"\n"+l+"}":"{"+p.join(",")+"}";f=l;return i}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=
function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var d=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
f,g,j={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},h;"function"!==typeof ha.stringify&&(ha.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((h=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});"function"!==typeof ha.parse&&(ha.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,
e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e,a=String(a);d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();Date.now||
(Date.now=function(){return+new Date});var ja,Gd,Ye=Array.prototype,Ze=Ye.forEach,Hd=Ye.map,$e={};ja=function(a,b,c){var d=[];if(null==a)return d;if(Hd&&a.map===Hd)return a.map(b,c);Gd(a,function(a,f,g){d[d.length]=b.call(c,a,f,g)});a.length===+a.length&&(d.length=a.length);return d};Gd=function(a,b,c){if(null!=a)if(Ze&&a.forEach===Ze)a.forEach(b,c);else if(a.length===+a.length)for(var d=0,e=a.length;d<e&&!(d in a&&b.call(c,a[d],d,a)===$e);d++);else for(d in a)if(h.has(a,d)&&b.call(c,a[d],d,a)===
$e)break};Hd||(Array.prototype.map=function(a){return ja(this,a)});document.createElement("div");var i;i={version:"2.8.1"};window?window.d3=i:this.d3=i;var af=function(a){return Array.prototype.slice.call(a)};try{af(document.documentElement.childNodes)[0].nodeType}catch(Jh){af=yf}i.map=function(a){var b=new Sb,c;for(c in a)b.set(c,a[c]);return b};var bf=Sb,Id={has:function(a){return ec+a in this},get:function(a){return this[ec+a]},set:function(a,b){return this[ec+a]=b},remove:function(a){a=ec+a;return a in
this&&delete this[a]},keys:function(){var a=[];this.forEach(function(b){a.push(b)});return a},values:function(){var a=[];this.forEach(function(b,c){a.push(c)});return a},entries:function(){var a=[];this.forEach(function(b,c){a.push({key:b,value:c})});return a},forEach:function(a){for(var b in this)b.charCodeAt(0)===Gg&&a.call(this,b.substring(1),this[b])}};try{for(var cf in Id)Object.defineProperty(bf.prototype,cf,{value:Id[cf],enumerable:!1})}catch(Kh){bf.prototype=Id}var ec="\x00",Gg=ec.charCodeAt(0);
i.functor=function(a){return"function"===typeof a?a:function(){return a}};i.rebind=function(a,b){for(var c=1,d=arguments.length,e;++c<d;)a[e=arguments[c]]=zf(a,b,b[e]);return a};i.ascending=function(a,b){return a<b?-1:a>b?1:a>=b?0:NaN};i.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN};i.mean=function(a,b){var c=a.length,d,e=0,f=-1,g=0;if(1===arguments.length)for(;++f<c;){if(Nc(d=a[f]))e+=(d-e)/++g}else for(;++f<c;)if(Nc(d=b.call(a,a[f],f)))e+=(d-e)/++g;return g?e:void 0};i.median=function(a,
b){1<arguments.length&&(a=a.map(b));a=a.filter(Nc);return a.length?i.quantile(a.sort(i.ascending),0.5):void 0};i.min=function(a,b){var c=-1,d=a.length,e,f;if(1===arguments.length){for(;++c<d&&(null==(e=a[c])||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=a[c])&&e>f)e=f}else{for(;++c<d&&(null==(e=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c))&&e>f)e=f}return e};i.max=function(a,b){var c=-1,d=a.length,e,f;if(1===arguments.length){for(;++c<d&&(null==(e=a[c])||e!=e);)e=void 0;
for(;++c<d;)if(null!=(f=a[c])&&f>e)e=f}else{for(;++c<d&&(null==(e=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c))&&f>e)e=f}return e};i.extent=function(a,b){var c=-1,d=a.length,e,f,g;if(1===arguments.length){for(;++c<d&&(null==(e=g=a[c])||e!=e);)e=g=void 0;for(;++c<d;)if(null!=(f=a[c]))e>f&&(e=f),g<f&&(g=f)}else{for(;++c<d&&(null==(e=g=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c)))e>f&&(e=f),g<f&&(g=f)}return[e,g]};i.random={normal:function(a,
b){2>arguments.length&&(b=1);1>arguments.length&&(a=0);return function(){var c,d;do c=2*Math.random()-1,d=2*Math.random()-1,d=c*c+d*d;while(!d||1<d);return a+b*c*Math.sqrt(-2*Math.log(d)/d)}}};i.sum=function(a,b){var c=0,d=a.length,e,f=-1;if(1===arguments.length)for(;++f<d;){if(!isNaN(e=+a[f]))c+=e}else for(;++f<d;)if(!isNaN(e=+b.call(a,a[f],f)))c+=e;return c};i.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=a[d-1];return(c-=d)?e+c*(a[d]-e):e};i.transpose=function(a){return i.zip.apply(i,
a)};i.zip=function(){if(!(e=arguments.length))return[];for(var a=-1,b=i.min(arguments,Af),c=Array(b);++a<b;)for(var d=-1,e,f=c[a]=Array(e);++d<e;)f[d]=arguments[d][a];return c};i.bisector=function(a){return{left:function(b,c,d,e){3>arguments.length&&(d=0);4>arguments.length&&(e=b.length);for(;d<e;){var f=d+e>>1;a.call(b,b[f],f)<c?d=f+1:e=f}return d},right:function(b,c,d,e){3>arguments.length&&(d=0);4>arguments.length&&(e=b.length);for(;d<e;){var f=d+e>>1;c<a.call(b,b[f],f)?e=f:d=f+1}return d}}};var df=
i.bisector(function(a){return a});i.bisectLeft=df.left;i.bisect=i.bisectRight=df.right;i.first=function(a,b){var c=0,d=a.length,e=a[0],f;1===arguments.length&&(b=i.ascending);for(;++c<d;)if(0<b.call(a,e,f=a[c]))e=f;return e};i.last=function(a,b){var c=0,d=a.length,e=a[0],f;1===arguments.length&&(b=i.ascending);for(;++c<d;)if(0>=b.call(a,e,f=a[c]))e=f;return e};i.nest=function(){function a(b,e){if(e>=d.length)return g?g.call(c,b):f?b.sort(f):b;for(var h=-1,i=b.length,m=d[e++],k,q,l=new Sb,p,G={};++h<
i;)(p=l.get(k=m(q=b[h])))?p.push(q):l.set(k,[q]);l.forEach(function(b){G[b]=a(l.get(b),e)});return G}function b(a,c){if(c>=d.length)return a;var f=[],g=e[c++],h;for(h in a)f.push({key:h,values:b(a[h],c)});g&&f.sort(function(a,b){return g(a.key,b.key)});return f}var c={},d=[],e=[],f,g;c.map=function(b){return a(b,0)};c.entries=function(c){return b(a(c,0),0)};c.key=function(a){d.push(a);return c};c.sortKeys=function(a){e[d.length-1]=a;return c};c.sortValues=function(a){f=a;return c};c.rollup=function(a){g=
a;return c};return c};i.keys=function(a){var b=[],c;for(c in a)b.push(c);return b};i.values=function(a){var b=[],c;for(c in a)b.push(a[c]);return b};i.entries=function(a){var b=[],c;for(c in a)b.push({key:c,value:a[c]});return b};i.permute=function(a,b){for(var c=[],d=-1,e=b.length;++d<e;)c[d]=a[b[d]];return c};i.merge=function(a){return Array.prototype.concat.apply([],a)};i.split=function(a,b){var c=[],d=[],e,f=-1,g=a.length;for(2>arguments.length&&(b=Bf);++f<g;)b.call(d,e=a[f],f)?d=[]:(d.length||
c.push(d),d.push(e));return c};i.range=function(a,b,c){3>arguments.length&&(c=1,2>arguments.length&&(b=a,a=0));if(Infinity===(b-a)/c)throw Error("infinite range");var d=[],e;e=Math.abs(c);for(var f=1;e*f%1;)f*=10;e=f;var f=-1,g,a=a*e,b=b*e,c=c*e;if(0>c)for(;(g=a+c*++f)>b;)d.push(g/e);else for(;(g=a+c*++f)<b;)d.push(g/e);return d};i.requote=function(a){return a.replace(Hg,"\\$&")};var Hg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;i.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};
i.xhr=function(a,b,c){var d=new XMLHttpRequest;3>arguments.length?(c=b,b=null):b&&d.overrideMimeType&&d.overrideMimeType(b);d.open("GET",a,!0);b&&d.setRequestHeader("Accept",b);d.onreadystatechange=function(){4===d.readyState&&c(300>d.status?d:null)};d.send(null)};i.text=function(a,b,c){3>arguments.length&&(c=b,b=null);i.xhr(a,b,function(a){c(a&&a.responseText)})};i.json=function(a,b){i.text(a,"application/json",function(a){b(a?ha.parse(a):null)})};i.html=function(a,b){i.text(a,"text/html",function(a){if(null!=
a){var d=document.createRange();d.selectNode(document.body);a=d.createContextualFragment(a)}b(a)})};i.xml=function(a,b,c){3>arguments.length&&(c=b,b=null);i.xhr(a,b,function(a){c(a&&a.responseXML)})};var Jd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",vml:"urn:schemas-microsoft-com:vml"};i.ns={prefix:Jd,qualify:function(a){var b=a.indexOf(":"),c=a;0<=b&&(c=
a.substring(0,b),a=a.substring(b+1));return Jd.hasOwnProperty(c)?{space:Jd[c],local:a}:a}};i.dispatch=function(){for(var a=new Sd,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=Cf(a);return a};Sd.prototype.on=function(a,b){var c=a.indexOf("."),d="";0<c&&(d=a.substring(c+1),a=a.substring(0,c));return 2>arguments.length?this[a].on(d):this[a].on(d,b)};i.format=function(a){var a=Ig.exec(a),b=a[1]||" ",c=a[3]||"",d=a[5],e=+a[6],f=a[7],g=a[8],j=a[9],h=1,k="",l=!1;g&&(g=+g.substring(1));d&&(b="0",f&&(e-=
Math.floor((e-1)/4)));switch(j){case "n":f=!0;j="g";break;case "%":h=100;k="%";j="f";break;case "p":h=100;k="%";j="r";break;case "d":l=!0;g=0;break;case "s":h=-1,j="r"}"r"==j&&!g&&(j="g");j=Jg.get(j)||Df;return function(a){if(l&&a%1)return"";var p=0>a&&(a=-a)?"\u2212":c;if(0>h){var q=i.formatPrefix(a,g),a=a*q.scale;k=q.symbol}else a*=h;a=j(a,g);d?(q=a.length+p.length,q<e&&(a=Array(e-q+1).join(b)+a),f&&(a=Ud(a)),a=p+a):(f&&(a=Ud(a)),a=p+a,q=a.length,q<e&&(a=Array(e-q+1).join(b)+a));return a+k}};var Ig=
/(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/,Jg=i.map({g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return i.round(a,b=Td(a,b)).toFixed(Math.max(0,Math.min(20,b)))}}),Kg=ja("y z a f p n \u03bc m k M G T P E Z Y".split(" "),function(a,b){return{scale:Math.pow(10,3*(8-b)),symbol:a}});i.formatPrefix=function(a,b){var c=0;a&&(0>a&&(a*=-1),b&&(a=i.round(a,Td(a,b))),c=1+Math.floor(1E-12+
Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((0>=c?c+1:c-1)/3))));return Kg[8+c/3]};var Lg=Pc(2),Mg=Pc(3),ef=function(){return Oc},Ng=i.map({linear:ef,poly:Pc,quad:function(){return Lg},cubic:function(){return Mg},sin:function(){return Ef},exp:function(){return Ff},circle:function(){return Gf},elastic:function(a,b){var c;2>arguments.length&&(b=0.45);1>arguments.length?(a=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/a);return function(d){return 1+a*Math.pow(2,10*-d)*Math.sin(2*(d-c)*Math.PI/
b)}},back:function(a){a||(a=1.70158);return function(b){return b*b*((a+1)*b-a)}},bounce:function(){return Hf}}),Og=i.map({"in":Oc,out:Vd,"in-out":Wd,"out-in":function(a){return Wd(Vd(a))}});i.ease=function(a){var b=a.indexOf("-"),c=0<=b?a.substring(0,b):a,b=0<=b?a.substring(b+1):"in",c=Ng.get(c)||ef,b=Og.get(b)||Oc,d=b(c.apply(null,Array.prototype.slice.call(arguments,1)));return function(a){return 0>=a?0:1<=a?1:d(a)}};i.event=null;i.interpolate=function(a,b){for(var c=i.interpolators.length,d;0<=
--c&&!(d=i.interpolators[c](a,b)););return d};i.interpolateNumber=function(a,b){b-=a;return function(c){return a+b*c}};i.interpolateRound=function(a,b){b-=a;return function(c){return Math.round(a+b*c)}};i.interpolateString=function(a,b){var c,d,e=0,f=[],g=[],j,h;for(d=Fc.lastIndex=0;c=Fc.exec(b);++d)c.index&&f.push(b.substring(e,c.index)),g.push({i:f.length,x:c[0]}),f.push(null),e=Fc.lastIndex;e<b.length&&f.push(b.substring(e));d=0;for(j=g.length;(c=Fc.exec(a))&&d<j;++d)if(h=g[d],h.x==c[0]){if(h.i)if(null==
f[h.i+1]){f[h.i-1]+=h.x;f.splice(h.i,1);for(c=d+1;c<j;++c)g[c].i--}else{f[h.i-1]+=h.x+f[h.i+1];f.splice(h.i,2);for(c=d+1;c<j;++c)g[c].i-=2}else if(null==f[h.i+1])f[h.i]=h.x;else{f[h.i]=h.x+f[h.i+1];f.splice(h.i+1,1);for(c=d+1;c<j;++c)g[c].i--}g.splice(d,1);j--;d--}else h.x=i.interpolateNumber(parseFloat(c[0]),parseFloat(h.x));for(;d<j;)h=g.pop(),null==f[h.i+1]?f[h.i]=h.x:(f[h.i]=h.x+f[h.i+1],f.splice(h.i+1,1)),j--;return 1===f.length?null==f[0]?g[0].x:function(){return b}:function(a){for(d=0;d<j;++d)f[(h=
g[d]).i]=h.x(a);return f.join("")}};i.interpolateTransform=function(a,b){var c=[],d=[],e,f=i.transform(a),g=i.transform(b),j=f.translate,h=g.translate,k=f.rotate,l=g.rotate,m=f.skew,p=g.skew,f=f.scale,g=g.scale;j[0]!=h[0]||j[1]!=h[1]?(c.push("translate(",null,",",null,")"),d.push({i:1,x:i.interpolateNumber(j[0],h[0])},{i:3,x:i.interpolateNumber(j[1],h[1])})):h[0]||h[1]?c.push("translate("+h+")"):c.push("");k!=l?d.push({i:c.push(c.pop()+"rotate(",null,")")-2,x:i.interpolateNumber(k,l)}):l&&c.push(c.pop()+
"rotate("+l+")");m!=p?d.push({i:c.push(c.pop()+"skewX(",null,")")-2,x:i.interpolateNumber(m,p)}):p&&c.push(c.pop()+"skewX("+p+")");f[0]!=g[0]||f[1]!=g[1]?(e=c.push(c.pop()+"scale(",null,",",null,")"),d.push({i:e-4,x:i.interpolateNumber(f[0],g[0])},{i:e-2,x:i.interpolateNumber(f[1],g[1])})):(1!=g[0]||1!=g[1])&&c.push(c.pop()+"scale("+g+")");e=d.length;return function(a){for(var b=-1,f;++b<e;)c[(f=d[b]).i]=f.x(a);return c.join("")}};i.interpolateRgb=function(a,b){var a=i.rgb(a),b=i.rgb(b),c=a.r,d=a.g,
e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+Gb(Math.round(c+f*a))+Gb(Math.round(d+g*a))+Gb(Math.round(e+h*a))}};i.interpolateHsl=function(a,b){var a=i.hsl(a),b=i.hsl(b),c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return function(a){return jc(c+f*a,d+g*a,e+h*a).toString()}};i.interpolateArray=function(a,b){var c=[],d=[],e=a.length,f=b.length,g=Math.min(a.length,b.length),h;for(h=0;h<g;++h)c.push(i.interpolate(a[h],b[h]));for(;h<e;++h)d[h]=a[h];for(;h<f;++h)d[h]=b[h];return function(a){for(h=
0;h<g;++h)d[h]=c[h](a);return d}};i.interpolateObject=function(a,b){var c={},d={},e;for(e in a)e in b?c[e]=("transform"==e?i.interpolateTransform:i.interpolate)(a[e],b[e]):d[e]=a[e];for(e in b)e in a||(d[e]=b[e]);return function(a){for(e in c)d[e]=c[e](a);return d}};var Fc=/[-+]?(?:\d*\.?\d+)(?:[eE][-+]?\d+)?/g;i.interpolators=[i.interpolateObject,function(a,b){return b instanceof Array&&i.interpolateArray(a,b)},function(a,b){return("string"===typeof a||"string"===typeof b)&&i.interpolateString(a+
"",b+"")},function(a,b){return("string"===typeof b?ic.has(b)||/^(#|rgb\(|hsl\()/.test(b):b instanceof qb||b instanceof rb)&&i.interpolateRgb(a,b)},function(a,b){return!isNaN(a=+a)&&!isNaN(b=+b)&&i.interpolateNumber(a,b)}];i.rgb=function(a,b,c){return 1===arguments.length?a instanceof qb?hb(a.r,a.g,a.b):Qc(""+a,hb,jc):hb(~~a,~~b,~~c)};qb.prototype.brighter=function(a){var a=Math.pow(0.7,arguments.length?a:1),b=this.r,c=this.g,d=this.b;if(!b&&!c&&!d)return hb(30,30,30);b&&30>b&&(b=30);c&&30>c&&(c=30);
d&&30>d&&(d=30);return hb(Math.min(255,Math.floor(b/a)),Math.min(255,Math.floor(c/a)),Math.min(255,Math.floor(d/a)))};qb.prototype.darker=function(a){a=Math.pow(0.7,arguments.length?a:1);return hb(Math.floor(a*this.r),Math.floor(a*this.g),Math.floor(a*this.b))};qb.prototype.hsl=function(){return Xd(this.r,this.g,this.b)};qb.prototype.toString=function(){return"#"+Gb(this.r)+Gb(this.g)+Gb(this.b)};var ic=i.map({aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",
beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",
darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",
grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",
lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",
orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",
slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"});ic.forEach(function(a,b){ic.set(a,Qc(b,hb,jc))});i.hsl=function(a,b,c){return 1===arguments.length?a instanceof rb?Hb(a.h,a.s,a.l):Qc(""+a,Xd,Hb):Hb(+a,+b,+c)};rb.prototype.brighter=function(a){a=Math.pow(0.7,arguments.length?a:1);
return Hb(this.h,this.s,this.l/a)};rb.prototype.darker=function(a){a=Math.pow(0.7,arguments.length?a:1);return Hb(this.h,this.s,a*this.l)};rb.prototype.rgb=function(){return jc(this.h,this.s,this.l)};rb.prototype.toString=function(){return this.rgb().toString()};i.csv=function(a,b){i.text(a,"text/csv",function(a){b(a&&i.csv.parse(a))})};i.csv.parse=function(a){var b;return i.csv.parseRows(a,function(a,d){if(d){for(var e={},f=-1,g=b.length;++f<g;)e[b[f]]=f<a.length?a[f]:null;return e}b=a;return null})};
i.csv.parseRows=function(a,b){function c(){if(g.lastIndex>=a.length)return e;if(k)return k=!1,d;var b=g.lastIndex;if(34===a.charCodeAt(b)){for(var c=b;c++<a.length;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;c++}g.lastIndex=c+2;var f=a.charCodeAt(c+1);13===f?(k=!0,10===a.charCodeAt(c+2)&&g.lastIndex++):10===f&&(k=!0);return a.substring(b+1,c).replace(/""/g,'"')}if(c=g.exec(a))return k=44!==c[0].charCodeAt(0),a.substring(b,c.index);g.lastIndex=a.length;return a.substring(b)}var d={},
e={},f=[],g=/\r\n|[,\r\n]/g,h=0,i,k;for(g.lastIndex=0;(i=c())!==e;){for(var l=[];i!==d&&i!==e;)l.push(i),i=c();(!b||(l=b(l,h++)))&&f.push(l)}return f};i.csv.format=function(a){return ja(a,Kf).join("\n")};i.scale={};i.scale.linear=function(){return Yd([0,1],[0,1],i.interpolate,!1)};i.scale.log=function(){return be(i.scale.linear(),Wc)};var Pf=i.format(".0e");Wc.pow=function(a){return Math.pow(10,a)};kc.pow=function(a){return-Math.pow(10,-a)};i.scale.pow=function(){return ce(i.scale.linear(),1)};i.scale.sqrt=
function(){return i.scale.pow().exponent(0.5)};i.scale.ordinal=function(){return de([],{t:"range",x:[]})};i.scale.category10=function(){return i.scale.ordinal().range(Pg)};i.scale.category20=function(){return i.scale.ordinal().range(Qg)};i.scale.category20b=function(){return i.scale.ordinal().range(Rg)};i.scale.category20c=function(){return i.scale.ordinal().range(Sg)};var Pg="#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" "),Qg="#1f77b4 #aec7e8 #ff7f0e #ffbb78 #2ca02c #98df8a #d62728 #ff9896 #9467bd #c5b0d5 #8c564b #c49c94 #e377c2 #f7b6d2 #7f7f7f #c7c7c7 #bcbd22 #dbdb8d #17becf #9edae5".split(" "),
Rg="#393b79 #5254a3 #6b6ecf #9c9ede #637939 #8ca252 #b5cf6b #cedb9c #8c6d31 #bd9e39 #e7ba52 #e7cb94 #843c39 #ad494a #d6616b #e7969c #7b4173 #a55194 #ce6dbd #de9ed6".split(" "),Sg="#3182bd #6baed6 #9ecae1 #c6dbef #e6550d #fd8d3c #fdae6b #fdd0a2 #31a354 #74c476 #a1d99b #c7e9c0 #756bb1 #9e9ac8 #bcbddc #dadaeb #636363 #969696 #bdbdbd #d9d9d9".split(" ");i.scale.quantile=function(){return ee([],[])};i.scale.quantize=function(){return fe(0,1,[0,1])};i.scale.identity=function(){return ge([0,1])};i.time=
{};var da=Date;sb.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},
valueOf:function(){return this._.valueOf()},setDate:function(){$a.setUTCDate.apply(this._,arguments)},setDay:function(){$a.setUTCDay.apply(this._,arguments)},setFullYear:function(){$a.setUTCFullYear.apply(this._,arguments)},setHours:function(){$a.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){$a.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){$a.setUTCMinutes.apply(this._,arguments)},setMonth:function(){$a.setUTCMonth.apply(this._,arguments)},setSeconds:function(){$a.setUTCSeconds.apply(this._,
arguments)},setTime:function(){$a.setTime.apply(this._,arguments)}};var $a=Date.prototype;i.time.format=function(a){function b(b){for(var e=[],f=-1,g=0,h,i;++f<c;)37==a.charCodeAt(f)&&(e.push(a.substring(g,f),(i=Gc[h=a.charAt(++f)])?i(b):h),g=f+1);e.push(a.substring(g,f));return e.join("")}var c=a.length;b.parse=function(b){var c={y:1900,m:0,d:1,H:0,M:0,S:0,L:0};if(mc(c,a,b,0)!=b.length)return null;"p"in c&&(c.H=c.H%12+12*c.p);b=new da;b.setFullYear(c.y,c.m,c.d);b.setHours(c.H,c.M,c.S,c.L);return b};
b.toString=function(){return a};return b};var Oa=i.format("02d"),ff=i.format("03d"),Tg=i.format("04d"),Ug=i.format("2d"),Gc={a:function(a){return Kd[a.getDay()].substring(0,3)},A:function(a){return Kd[a.getDay()]},b:function(a){return gf[a.getMonth()].substring(0,3)},B:function(a){return gf[a.getMonth()]},c:i.time.format("%a %b %e %H:%M:%S %Y"),d:function(a){return Oa(a.getDate())},e:function(a){return Ug(a.getDate())},H:function(a){return Oa(a.getHours())},I:function(a){return Oa(a.getHours()%12||
12)},j:function(a){return ff(1+i.time.dayOfYear(a))},L:function(a){return ff(a.getMilliseconds())},m:function(a){return Oa(a.getMonth()+1)},M:function(a){return Oa(a.getMinutes())},p:function(a){return 12<=a.getHours()?"PM":"AM"},S:function(a){return Oa(a.getSeconds())},U:function(a){return Oa(i.time.sundayOfYear(a))},w:function(a){return a.getDay()},W:function(a){return Oa(i.time.mondayOfYear(a))},x:i.time.format("%m/%d/%y"),X:i.time.format("%H:%M:%S"),y:function(a){return Oa(a.getFullYear()%100)},
Y:function(a){return Tg(a.getFullYear()%1E4)},Z:function(a){var b=a.getTimezoneOffset(),a=0<b?"-":"+",c=~~(Math.abs(b)/60),b=Math.abs(b)%60;return a+Oa(c)+Oa(b)},"%":function(){return"%"}},Qf={a:function(a,b,c){return Vg.test(b.substring(c,c+=3))?c:-1},A:function(a,b,c){hf.lastIndex=0;return(a=hf.exec(b.substring(c,c+10)))?c+a[0].length:-1},b:function(a,b,c){b=Wg.get(b.substring(c,c+=3).toLowerCase());return null==b?-1:(a.m=b,c)},B:function(a,b,c){jf.lastIndex=0;return(b=jf.exec(b.substring(c,c+12)))?
(a.m=Xg.get(b[0].toLowerCase()),c+b[0].length):-1},c:function(a,b,c){return mc(a,Gc.c.toString(),b,c)},d:he,e:he,H:ie,I:ie,L:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+3)))?(a.L=+b[0],c+b[0].length):-1},m:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+2)))?(a.m=b[0]-1,c+b[0].length):-1},M:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+2)))?(a.M=+b[0],c+b[0].length):-1},p:function(a,b,c){b=Yg.get(b.substring(c,c+=2).toLowerCase());return null==
b?-1:(a.p=b,c)},S:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+2)))?(a.S=+b[0],c+b[0].length):-1},x:function(a,b,c){return mc(a,Gc.x.toString(),b,c)},X:function(a,b,c){return mc(a,Gc.X.toString(),b,c)},y:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+2)))?(a.y=1E3*~~((new Date).getFullYear()/1E3)+ +b[0],c+b[0].length):-1},Y:function(a,b,c){na.lastIndex=0;return(b=na.exec(b.substring(c,c+4)))?(a.y=+b[0],c+b[0].length):-1}},Vg=/^(?:sun|mon|tue|wed|thu|fri|sat)/i,
hf=/^(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)/i,Kd="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Wg=i.map({jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}),jf=/^(?:January|February|March|April|May|June|July|August|September|October|November|December)/ig,Xg=i.map({january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11}),gf="January February March April May June July August September October November December".split(" "),
na=/\s*\d+/,Yg=i.map({am:0,pm:1});i.time.format.utc=function(a){function b(a){try{da=sb;var b=new da;b._=a;return c(b)}finally{da=Date}}var c=i.time.format(a);b.parse=function(a){try{da=sb;var b=c.parse(a);return b&&b._}finally{da=Date}};b.toString=c.toString;return b};var kf=i.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");i.time.format.iso=Date.prototype.toISOString?Xc:kf;Xc.parse=function(a){return new Date(a)};Xc.toString=kf.toString;i.time.second=tb(function(a){return new da(1E3*Math.floor(a/1E3))},
function(a,b){a.setTime(a.getTime()+1E3*Math.floor(b))},function(a){return a.getSeconds()});i.time.seconds=i.time.second.range;i.time.seconds.utc=i.time.second.utc.range;i.time.minute=tb(function(a){return new da(6E4*Math.floor(a/6E4))},function(a,b){a.setTime(a.getTime()+6E4*Math.floor(b))},function(a){return a.getMinutes()});i.time.minutes=i.time.minute.range;i.time.minutes.utc=i.time.minute.utc.range;i.time.hour=tb(function(a){var b=a.getTimezoneOffset()/60;return new da(36E5*(Math.floor(a/36E5-
b)+b))},function(a,b){a.setTime(a.getTime()+36E5*Math.floor(b))},function(a){return a.getHours()});i.time.hours=i.time.hour.range;i.time.hours.utc=i.time.hour.utc.range;i.time.day=tb(function(a){return new da(a.getFullYear(),a.getMonth(),a.getDate())},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1});i.time.days=i.time.day.range;i.time.days.utc=i.time.day.utc.range;i.time.dayOfYear=function(a){var b=i.time.year(a);return Math.floor((a-b)/864E5-(a.getTimezoneOffset()-b.getTimezoneOffset())/
1440)};Gd(Kd,function(a,b){var a=a.toLowerCase(),b=7-b,c=i.time[a]=tb(function(a){(a=i.time.day(a)).setDate(a.getDate()-(a.getDay()+b)%7);return a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=i.time.year(a).getDay();return Math.floor((i.time.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});i.time[a+"s"]=c.range;i.time[a+"s"].utc=c.utc.range;i.time[a+"OfYear"]=function(a){var c=i.time.year(a).getDay();return Math.floor((i.time.dayOfYear(a)+(c+b)%7)/7)}});i.time.week=i.time.sunday;i.time.weeks=
i.time.sunday.range;i.time.weeks.utc=i.time.sunday.utc.range;i.time.weekOfYear=i.time.sundayOfYear;i.time.month=tb(function(a){return new da(a.getFullYear(),a.getMonth(),1)},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()});i.time.months=i.time.month.range;i.time.months.utc=i.time.month.utc.range;i.time.year=tb(function(a){return new da(a.getFullYear(),0,1)},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()});i.time.years=i.time.year.range;
i.time.years.utc=i.time.year.utc.range;var oc=[1E3,5E3,15E3,3E4,6E4,3E5,9E5,18E5,36E5,108E5,216E5,432E5,864E5,1728E5,6048E5,2592E6,7776E6,31536E6],Ld=[[i.time.second,1],[i.time.second,5],[i.time.second,15],[i.time.second,30],[i.time.minute,1],[i.time.minute,5],[i.time.minute,15],[i.time.minute,30],[i.time.hour,1],[i.time.hour,3],[i.time.hour,6],[i.time.hour,12],[i.time.day,1],[i.time.day,2],[i.time.week,1],[i.time.month,1],[i.time.month,3],[i.time.year,1]],Zg=[[i.time.format("%Y"),function(){return!0}],
[i.time.format("%B"),function(a){return a.getMonth()}],[i.time.format("%b %d"),function(a){return 1!=a.getDate()}],[i.time.format("%a %d"),function(a){return a.getDay()&&1!=a.getDate()}],[i.time.format("%I %p"),function(a){return a.getHours()}],[i.time.format("%I:%M"),function(a){return a.getMinutes()}],[i.time.format(":%S"),function(a){return a.getSeconds()}],[i.time.format(".%L"),function(a){return a.getMilliseconds()}]],lf=i.scale.linear(),$g=ke(Zg);Ld.year=function(a,b){return ja(lf.domain(ja(a,
Rf)).ticks(b),$c)};i.time.scale=function(){return Yc(i.scale.linear(),Ld,$g)};var mf=ja(Ld,function(a){return[a[0].utc,a[1]]}),ah=[[i.time.format.utc("%Y"),function(){return!0}],[i.time.format.utc("%B"),function(a){return a.getUTCMonth()}],[i.time.format.utc("%b %d"),function(a){return 1!=a.getUTCDate()}],[i.time.format.utc("%a %d"),function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],[i.time.format.utc("%I %p"),function(a){return a.getUTCHours()}],[i.time.format.utc("%I:%M"),function(a){return a.getUTCMinutes()}],
[i.time.format.utc(":%S"),function(a){return a.getUTCSeconds()}],[i.time.format.utc(".%L"),function(a){return a.getUTCMilliseconds()}]],bh=ke(ah);mf.year=function(a,b){return lf.domain(a.map(Sf)).ticks(b).map(ad)};i.time.scale.utc=function(){return Yc(i.scale.linear(),mf,bh)};var p=p||{},k=k||{};if(!fc)var fc={log:function(){},assert:function(){},warn:function(){}};var kb=p,D=k,ch=function(a){if(!isFinite(a))return a;var b=""+a,c=Math.abs(a),d;1E3<=c&&(c=(""+c).split(/\./),d=c[0].length%3||3,c[0]=
b.slice(0,d+(0>a))+c[0].slice(d).replace(/(\d{3})/g,",$1"),b=c.join("."));return b};D.makeClass=function(a,b){var c={},d=function(a,b){if(this instanceof d)"function"==typeof this.init&&this.init.apply(this,a===c?b:arguments);else return new d(c,arguments)};2<=arguments.length&&(d.prototype=new b,d.prototype.constructor=d);D.undef(a)||(d.prototype._cls_name=a,d._class=!0);return d};D.undef=function(a){return"undefined"==typeof a};D.constfunc=function(a){return function(){return a}};D.invertedIndex=
function(a){var b={};h.each(a,function(a,d){b[a]=d});return b};D.identity=function(a){return a};D.strlenToPixel=function(a,b){return"bold"==b?Math.max(7*a,0):Math.max(6*a,0)};D.cloneobj=function(a){var b=h.clone(a);b.constructor!=a.constructor&&(b.constructor=a.constructor);h.has(a,"_attr")&&(b._attr=h.clone(a._attr));return b};D.postfix=function(a,b){var c={"0":"",3:"k",6:"m",9:"b",12:"t"};return!h.isUndefined(c[b])?a+c[b]:a+"e"+(0<b?"+":"-")+Math.abs(b)};D.prettify=function(a,b){var c=0,d=0,b=1==
arguments.length?Math.floor(Math.log(Math.abs(a?a:1))/Math.LN10):-b;2==arguments.length&&(2==b||5==b||8==b||11==b)?(c=b+1,d=1):-1==b?(c=0,d=2==arguments.length?1:2):-2==b?(c=0,d=2==arguments.length?2:3):1==b||2==b?c=0:3<b&&6>b?c=3:6<b&&9>b?c=6:9<b&&12>b?c=9:12<b&&15>b?c=12:(c=b,d=2==arguments.length?0:1);var e=Math.round(a/Math.pow(10,c-d)),e=e/Math.pow(10,d),e=e.toFixed(d);return D.postfix(ch(e),c)};D.roundTo=function(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c};D.array=function(a,b){for(var c=
[],d=a,e,f=h.isFunction(b);d--;)e=f?b():b,c[d]=e;return c};D.grid=function(a,b,c){for(var d=0,e=0,f=[],g=h.isFunction(c),d=0;d<a;d++){for(var j=[],e=0;e<b;e++)g?j.push(c()):j.push(c);f.push(j)}return f};D.opts=function(){return function(a,b){0===arguments.length&&kb.error(12,"Function opts() called with less than 1 parameter.");var c=this,d=this._optsUpdate,d=h.isFunction(d)?h.bind(d,this):function(){};if(1==arguments.length)return!h.isString(a)&&0<h.keys(a).length?(h.each(a,function(a,b){c._attr[b]=
a;d(b,a)}),this):this._attr[a];D.assertString(a);this._attr[a]=b;d(a,b);return this}};D.singleOpts=function(a){return function(b){return 0===arguments.length?this.opts(a):this.opts(a,b)}};D.getAttr=function(){var a={};h.each(this._attr,function(b,c){!h.isNull(b)&&(!h.isUndefined(b)&&-Infinity!=b&&Infinity!=b)&&(a[c]=b)});return a};D.dataGetter=function(a){var a=a||{},b=a.onChange;return function(a){if(0===arguments.length)return this._data;if(!a||"gg.data"!=a._cls_name)a=kb.data(a);this._data=a;b&&
b.apply(this);return this}};D.doubleMap=function(a,b){return h.map(a,function(a){return h.map(a,b)})};D.tripleMap=function(a,b){return h.map(a,function(a){return h.map(a,function(a){return h.map(a,b)})})};D.compareBy=function(a){return function(b,c){var d,e;for(d=0;d<a.length;d++)if(e=a[d],e=b[e]==c[e]?0:b[e]<c[e]?-1:1,0!==e)return e;return 0}};D.sortByMultiple=function(a,b){return a.sort(D.compareBy(b))};var Md=[];D.concat=function(a){return Md.concat.apply(Md,a)};D.pushall=function(a,b){return Md.push.apply(a,
b)};D.add=function(a,b){var c=h.isFunction(a),d=h.isFunction(b);return c&&d?function(c){return a(c)+b(c)}:c?function(c){return a(c)+b}:d?function(c){return a+b(c)}:D.constfunc(a+b)};D.sub=function(a,b){var c=h.isFunction(a),d=h.isFunction(b);return c&&d?function(c){return a(c)-b(c)}:c?function(c){return a(c)-b}:d?function(c){return a-b(c)}:D.constfunc(a-b)};D.evaluate=function(a,b){return h.isFunction(a)?a(b):a};D.unionType=function(a){a=h.uniq(h.reject(a,h.isNull));a.sort();return 0===a.length?null:
1===a.length?a[0]:h.isEqual(a,["date","number"])?"date":h.include(a,"unknown")?"unknown":"category"};D.bool=function(a){return a?!0:!1};D.startswith=function(a,b){if(!h.isString(b)||!h.isString(a))return!1;var c=b.length;return c>a.length?!1:a.slice(0,c)===b};D.instantiate=function(a){return h.isString(a)?kb[a]():a&&a.prototype&&a.prototype._cls_name?a():a};D.sum=function(){var a,b=0,c;if(h.isArray(this)){c=this.length;for(a=0;a<c;a++)b+=this[a]}c=arguments.length;for(a=0;a<c;a++)b+=arguments[a];
return b};D.mergeArrays=function(a,b){var c=D.concat(a),b=b?b:D.identity,c=h.sortBy(c,b);return h.uniq(c,!0,b)};D.minimumDelta=function(a,b){if(1>=a.length)return null;var c=a.length,d,e,b=b?b:function(a){return a},f=b(a[0]),g=Infinity;for(d=1;d<c;d++)e=b(a[d]),g=Math.min(g,e-f),f=e;return g};D.isSuperset=function(a,b){for(var c=0,d=0;d<b.length;d++){for(;a[c]!=b[d]&&c<a.length;)c++;if(c==a.length)return!1}return!0};D.assertNumber=function(a){h.isNumber(a)||kb.warn(13,"Expecting a number but got "+
a+".")};D.assertString=function(a){h.isString(a)||kb.warn(14,"Expecting a string but got "+a+".")};D.assertAes=function(a){h.include(kb.opts.aes,D.getBaseAes(a))||kb.error(11,"Aesthetics "+a+" does not exist.")};D.assertQuery=function(a){"data"===a||("aes"===a||"aes_group"===a||"key"===a)||kb.error(-1,"Query type "+a+" is invalid.")};D.getBlank=function(a){return Array(a+1).join(" ")};D.qt=function(a){return'"'+a+'"'};D.toCode=function(a,b,c){a||(a=0);h.isNumber(b)||(b=a+2);c.cls||(c.cls=[]);c.params||
(c.params=[]);c.funcs||(c.funcs=[]);var d=D.getBlank(a)+c.cls+"("+c.params.join(", ")+")";h.each(c.funcs,function(a){var c=a[0],a=a[1]||[];h.isArray(a)||(a=[a]);d+="\n"+D.getBlank(b)+"."+c+"("+a.join(", ")+")"});return d};D.toCodeBasic=function(a,b){var c={cls:this._cls_name};h.isFunction(this.getAttr)&&(c.funcs=[["opts",ha.stringify(this.getAttr())]]);return D.toCode(a,b,c)};D.timer=function(){return{_time:new Date,mark:function(){this._time=new Date}}};D.getRandomColor=function(){function a(){return Math.floor(256*
Math.random()).toString(16)}return"#"+a()+a()+a()};k.isDerivedAes=function(a){return-1<a.indexOf("_")};k.getBaseAes=function(a){return a.split("_",1)[0]};var Nd=k;Nd.isNode=function(a){return"object"===typeof window.Node?a instanceof window.Node:a&&"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName};Nd.isElement=function(a){return"object"===typeof window.HTMLElement?a instanceof window.HTMLElement:a&&"object"===typeof a&&1===a.nodeType&&"string"===typeof a.nodeName};Nd.isURL=
function(a){var b=/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return h.isString(a)&&b.test(a)};var p=p||{},k=k||{},dh=p;k.jQuery=function(){jQuery||dh.error(4,"jQuery is required, but is not found.");return jQuery};var Nb=k;Nb.Observer=function(){this.callbacks=[]};Nb.Observer.prototype.register=function(a,b,c){this.callbacks.push({key:a,callback:b,name:c})};Nb.Observer.prototype.remove=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.callback===
a})};Nb.Observer.prototype.removeNamed=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.name===a})};Nb.Observer.prototype.removeKey=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.key===a})};Nb.Observer.prototype.trigger=function(a,b){h.chain(this.callback).filter(function(b){return b.key===a}).each(function(a){a.callback(b)})};var eh=function(a){a.tooltip&&k.addTooltip(this,a.tooltip);return this},fh=function(a,b){a&&this.dblclick(function(){var c=this.attr("data");
a.call(this,c,b)});return this},Pa=function(a){a.ggTooltip=eh;a.ggDoubleClick=fh};Raphael.fn.gg_point=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.circle().attr("postProcess",function(d){var f=d.cx,g=d.cy;d.cx=b+a.transX(f,g);d.cy=c+a.transY(f,g);return d}),d=k.addMouseover(a,d);Pa(d);return d};Raphael.fn.gg_symbol=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f=d.cx,g=d.cy,h=b+a.transX(f,g),f=c+a.transY(f,g);d.path=p.symbol.makePath(d.symbol,
h,f,d.r);delete d.cx;delete d.cy;delete d.symbol;delete d.r;return d}),d=k.addMouseover(a,d);Pa(d);return d};Raphael.fn.gg_text=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.text().attr("postProcess",function(d){var f=d.x,g=d.y;d.x=b+a.transX(f,g);d.y=c+a.transY(f,g);d.text||(d.text=" ");return d}),d=k.addMouseover(a,d);Pa(d);return d};Raphael.fn.gg_cart_line=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,i;h=c+a.transY(d.x1,d.y1);i=c+
a.transY(d.x2,d.y2);f=b+a.transX(d.x1,d.y1);g=b+a.transX(d.x2,d.y2);delete d.x1;delete d.x2;delete d.y1;delete d.y2;d.path=[["M",f,h],["L",g,i]];return d}),d=k.addMouseover(a,d);Pa(d);return d};Raphael.fn.gg_cart_rect=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.rect().attr("postProcess",function(d){var f,g,h,i,k;f=a.transX(d.x1,d.y1);g=a.transX(d.x2,d.y2);h=a.transY(d.x1,d.y1);i=a.transY(d.x2,d.y2);k=Math.min(f,g);g=Math.abs(g-f);f=Math.min(h,i);h=Math.abs(i-h);delete d.x1;delete d.x2;delete d.y1;
delete d.y2;d.x=b+k;d.y=c+f;d.width=g;d.height=h;return d}),d=k.addMouseover(a,d);Pa(d);return d};var Hc=-Math.PI/2,gh=2*Math.PI-1E-6,Od=function(a,b,c,d,e,f,g){return function(h){var i,l,p;a?(i=f(h),l=g(h),p=d(h)+Hc,h=e(h)+Hc):(i=d(h),l=e(h),p=f(h)+Hc,h=g(h)+Hc);return k.d3_arc(b,c,i,l,p,h)}};k.d3_arc=function(a,b,c,d,e,f){if(d<c)var g=c,c=d,d=g;var h=(f<e&&(h=e,e=f,f=h),f-e),g=h<Math.PI?0:1,i=Math.cos(e),k=Math.sin(e),l=Math.cos(f),m=Math.sin(f);return h>=gh?c?[["M",a,b+d],["A",d,d,0,1,1,a,b-d],
["A",d,d,0,1,1,a,b+d],["M",a,b+c],["A",c,c,0,1,0,a,b-c],["A",c,c,0,1,0,a,b+c],["Z"]]:d?[["M",a,b+d],["A",d,d,0,1,1,a,b-d],["A",d,d,0,1,1,a,b+d],["Z"]]:"":c?e==f?[["M",d*i+a,d*k+b],["L",c*l+a,c*m+b]]:[["M",d*i+a,d*k+b],["A",d,d,0,g,1,d*l+a,d*m+b],["L",c*l+a,c*m+b],["A",c,c,0,g,0,c*i+a,c*k+b],["Z"]]:d?e==f?[["M",d*i+a,d*k+b],["L",c*l+a,c*m+b]]:[["M",d*i+a,d*k+b],["A",d,d,0,g,1,d*l+a,d*m+b],["L",a,b],["Z"]]:""};Raphael.fn.gg_polar_rect=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",
function(a){var e,h,i,k;e=a.x1;h=a.x2;i=a.y1;k=a.y2;delete a.x1;delete a.x2;delete a.y1;delete a.y2;a.path=Od(d,b,c,e,h,i,k);return a}),e=k.addMouseover(a,e);Pa(e);return e};Raphael.fn.gg_cart_vline=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,i;h=c+a.transY(d.x,d.y1);i=c+a.transY(d.x,d.y2);f=b+a.transX(d.x,d.y1);g=b+a.transX(d.x,d.y2);d.path=[["M",f,h],["L",g,i]];delete d.x;delete d.y1;delete d.y2;return d}),d=k.addMouseover(a,d);Pa(d);return d};
Raphael.fn.gg_polar_vline=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",function(a){var e,h,i,k;e=h=a.x;i=a.y1;k=a.y2;delete a.x;delete a.y1;delete a.y2;a.path=Od(d,b,c,e,h,i,k);return a}),e=k.addMouseover(a,e);Pa(e);return e};Raphael.fn.gg_cart_hline=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,i;h=c+a.transY(d.x1,d.y);i=c+a.transY(d.x2,d.y);f=b+a.transX(d.x1,d.y);g=b+a.transX(d.x2,d.y);d.path=[["M",
f,h],["L",g,i]];delete d.x1;delete d.x2;delete d.y;return d}),d=k.addMouseover(a,d);Pa(d);return d};Raphael.fn.gg_polar_hline=function(a){Qa++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",function(a){var e,h,i,k;e=a.x1;h=a.x2;i=k=a.y;delete a.x1;delete a.x2;delete a.y;a.path=Od(d,b,c,e,h,i,k);return a}),e=k.addMouseover(a,e);Pa(e);return e};k._path_function=function(a,b,c,d,e,f,g){var j=a._offsetX,i=a._offsetY,g=g.getObjects();f&&(g=h.sortBy(g,f));b=h.map(g,b);c=h.map(g,
c);d&&d(b,c);e&&(c=e(b,c),b=c.x,c=c.y);d=[];e=!0;f=b.length;for(g=0;g<f;g++){var k=b[g],l=c[g];if(h.isNumber(k)&&h.isNumber(l)){var m=a.transX(k,l),k=a.transY(k,l);h.isNumber(m)&&h.isNumber(k)&&(e?(d.push(["M",m+j,k+i]),e=!1):d.push(["L",m+j,k+i]))}}return d};k._ensureFunction=function(a){for(var b in a){var c=a[b];"function"!==typeof c&&(a[b]=k.constfunc(c))}};Raphael.fn.gg_path=function(a,b){Qa++;var c=this.path().attr("preProcess",function(c){var e=c._sort;delete c._sort;var f=c.x;delete c.x;var g=
c.y;delete c.y;var j=c._pointModifier;delete c._pointModifier;c.path=h.bind(k._path_function,null,a,f,g,j,b,e);return c}),c=k.addMouseover(a,c);Pa(c);return c};k.configRaphaelAttributes=function(a){var b=function(a,b){var e=this.attr("preProcess"),f=this.attr("postProcess");if(!a||!b)return{};if(b._style){var b=h.clone(b),g=b._style;b.stroke=g.stroke;b.fill=g.color;b["stroke-width"]=g.strokewidth;b["fill-opacity"]=g.opacity;delete b._style}k._ensureFunction(b);e&&(b=e(h.clone(b)));var e={},j;for(j in b)e[j]=
(0,b[j])(a);return f?f(e):e};a.ca.func=function(a){return b.call(this,this.attr("data"),a)};a.ca.data=function(a){return b.call(this,a,this.attr("func"))};a.ca.postProcess=function(){};a.ca.preProcess=function(){}};k.Raphael=Raphael;k.addMouseover=function(a,b){if(!a.opts("mouseover_highlight"))return b;b.mouseover(function(){var a=b.attr("fill"),d=b.attr("stroke");"none"!=a?(b.data("_old_fill",a),b.attr("fill",i.rgb(a).darker().toString())):0<b.attr("stroke-width")&&(b.data("_old_stroke",d),b.attr("stroke",
i.rgb(d).darker().toString()));b.attr("cursor","hand")});b.mouseout(function(){b.attr("fill");"none"!=b.attr("fill")?b.attr("fill",b.data("_old_fill")):0<b.attr("stroke-width")&&b.attr("stroke",b.data("_old_stroke"));b.attr("cursor","normal")});return b};var hh=function(a){var b=this.tooltipFn;(b=b(this.element.attr("data")))&&$(a.originalTarget||a.srcElement).tooltip({title:b,helper:$("#polychart-helper"),trigger:"manual",placement:"left"}).tooltip("show")},ih=function(a){$(a.originalTarget||a.srcElement).tooltip("hide")};
k.addTooltip=function(a,b){if(b){var c={tooltipFn:b,element:a};a.hover(hh,ih,c,c)}return a};k.unbindAll=function(a){if(a.events)for(var b=a.events,c=0;c<b.length;c++)b[c].unbind();a.removeData();for(var d in a)delete a[d]};var Qa=0;k.raphael_mark=function(){};var Pd=p,nf=function(a,b){this.code=a;this.msg=b;this.toString=function(){return"Error Code #"+a+": "+b}};Pd.error=function(a,b){throw new nf(a,b);};Pd.warn=function(a,b){fc&&fc.log(new nf(a,b))};Pd.info=function(a){fc&&fc.log(a)};var O=p;O.opts=
{};O.opts.pivot={width:300,height:300,stat:"sum",columnFormatter:null,rowFormatter:null,title:null,"title-column":null,"title-row":null,"title-all":"all"};O.opts.graph={width:300,height:300,"padding-left":null,"padding-right":null,"padding-top":null,"padding-bottom":null,"legend-position":"right","legend-width":60,"legend-height":30,"spacing-x":20,"spacing-y":40,"facet-x":20,title:"","title-size":15,"title-bold":!0,"label-size":12,"label-bold":!1,"axis-y":"left","axis-y-line":null,"axis-y-label":null,
"axis-y-ticks":null,"axis-y-ticklength":null,"axis-y-color":null,"axis-y-strokewidth":null,"axis-y-":null,"axis-x":"bottom","axis-x-line":null,"axis-x-label":null,"axis-x-ticks":null,"axis-x-ticklength":null,"axis-x-color":null,"axis-x-strokewidth":null,"grid-render-vertical":null,"grid-render-horizontal":null,"grid-stroke":null,"grid-strokewidth":null,"grid-dasharray":null,branding:!0,dom:null,filter:null,"render-make-default-scale":!0,"render-compute":!0,"render-impute-mapping":!0,tooltip:null,
"callback-warn":null};O.opts.aes="color fill font fontsize group opacity radius size stats stroke strokewidth symbol text tooltip x y".split(" ");O.opts.aes.sort();O.opts.mainFill="steelblue";O.opts.mainColor="black";O.opts.layer={x:"",y:1,color:O.opts.mainFill,opacity:0.9,stroke:"#FFFFFF",strokewidth:0,facet:!0,radius:3,visible:!0,"render-max":400};O.opts.point={stroke:O.opts.mainColor,strokewidth:1,radius:6,padding:0};O.opts.box={stroke:O.opts.mainColor,strokewidth:1,padding:0.1,width:1,align:"center"};
O.opts.bar={stroke:O.opts.mainColor,strokewidth:1,width:1,align:"center"};O.opts.line={color:O.opts.mainColor,strokewidth:2,padding:0.5,radius:6};O.opts.text={opacity:1,color:"#000000",font:"Verdana",text:"text label"};O.opts.gradient={low:"#cccccc",high:"steelblue"};O.opts.grid={dasharray:"- ",dashoffset:5,stroke:"#CCC",strokewidth:1,"render-vertical":!1,"render-horizontal":!0};O.opts.axis={color:"#000",fontsize:11,labels:!0,strokewidth:1,"ticklength-x":3,"ticklength-y":7,ticks:!0};O.opts.axis_x=
{line:!0};O.opts.axis_y={line:!1};O.opts.coord={mouseover_highlight:!0};O.opts.epsilon=Math.pow(10,-7);O.opts.theme_bw=function(){};var A=p;A.graph=k.makeClass("gg.graph");A.graph.prototype.init=function(a){this._filteredData=this._paper=this._data=null;this._layers=[];this._scales={};this._facet=this._coord=null;this._attr=k.cloneobj(A.opts.graph);this._legend={};this._doms={};this._dimCache=null;this._rendered=!1;a&&this.data(a)};A.graph.prototype.data=k.dataGetter({onChange:function(){this._filterData()}});
A.graph.prototype.getFilteredData=function(){return this._filteredData};A.graph.prototype.getAttr=function(){var a={};h.each(this._attr,function(b,c){if(!h.isNull(b)&&!h.isUndefined(b)&&!(-Infinity===b||Infinity===b||h.isFunction(b)))if(k.isNode(b)){var d=b.getAttribute("id");null!==d&&""!==d&&(a[c]=d)}else a[c]=b});return a};A.graph.prototype._varlabel=function(a){var b=this.opts("label-"+a);if(!k.undef(b))return b;b=h.chain(this._layers).map(function(b){return b.map(a)}).filter(k.identity).value();
return 0<b.length?b[0]:""};A.graph.prototype.getLayer=function(a){return this._layers[a]};A.graph.prototype.getLayerIndex=function(a){for(var b=0;b<this._layers.length;b++)if(a==this._layers[b])return b;return-1};A.graph.prototype.removeLayer=function(a){var b=this._layers.length;this._layers=h.without(this._layers,a);return b!==this._layers.length};A.graph.prototype.addLayer=function(a,b){(a=k.instantiate(a))||A.error(201,"Attempting to add an undefined or malformed layer: "+a);var c=k.cloneobj(a);
c.attach(this);null===b?this._layers.push(c):this._layers.splice(b,0,c);return this};A.graph.prototype.numLayers=function(){return this._layers.length};A.graph.prototype.getMapKeys=function(){return h.chain(this._layers).map(function(a){return h.keys(a.getMap())}).flatten().uniq().value()};A.graph.prototype.isMapped=function(a,b){return b?(a=k.getBaseAes(a),h.any(this._layers,function(b){return h.any(h.keys(b.getMap()),function(b){return k.getBaseAes(b)===a})})):h.any(h.invoke(this._layers,"map",
a))};A.graph.prototype.defaultMin=function(a,b){if(0===this._layers.length)return null;var c=h.chain(this._layers).invoke("defaultMin",a,b).filter(h.isNumber).min().value();return Infinity!=c?c:null};A.graph.prototype.defaultMax=function(a,b){if(0===this._layers.length)return null;var c=h.chain(this._layers).invoke("defaultMax",a,b).filter(h.isNumber).max().value();return-Infinity!=c?c:null};A.graph.prototype.opts=k.opts();A.graph.prototype.warn=function(a,b){var c=this.opts("callback-warn");c?c({code:a,
message:b}):A.warn(a,b)};A.graph.prototype._optsUpdate=function(a,b){this._rendered&&("title"==a?this._update_label("_debug_title",b):"label-x"==a?this._update_label("_debug_x_label",b):"label-y"==a&&this._update_label("_debug_y_label",b));"dom"===a&&this._clearCache();this._clearDimCache()};A.graph.prototype.layer=function(a){return this.addLayer(a,null)};A.graph.prototype.coord=function(a){if(0===arguments.length)return this._coord;var a=k.instantiate(a),b=null,b=k.cloneobj(a);b.attach(this);this._coord=
b;return this};A.graph.prototype.facet=function(a){if(0===arguments.length)return this._facet;if(null===a)this._facet=null;else{(a=k.instantiate(a))||A.error(201,"Attempting to add an undefined or malformed facet: "+a);var b=k.cloneobj(a);b.attach(this);this._facet=b}this._clearCanvas();return this};A.graph.prototype._update_label=function(a,b){var c=this._doms[a];c&&c.attr("text",b)};A.graph.prototype.dimensions=function(a){if(!this._dimCache||!0===a)this._dimCache=this._calculateDims();return this._dimCache};
A.graph.prototype._calculateDims=function(){var a=this._facet?this._facet.ncol():1,b=this._facet?this._facet.nrow():1,c=1<b*a,d=0,e=0,f=0,g=null==this.opts("padding-top")?20:this.opts("padding-top"),h=null==this.opts("padding-left")?50:this.opts("padding-left"),i=null==this.opts("padding-right")?50:this.opts("padding-right"),l=null==this.opts("padding-bottom")?50:this.opts("padding-bottom");this._legend&&this._legend._aes&&(e=this._legend.width(),f=this._legend.height());this._axes&&this._axes.y&&
(d=this._axes.y.width());var p=this.opts("axis-y"),m=this.opts("axis-x"),s=this.opts("legend-position"),g=Math.max(g,30+25*("top"==m)-c*this.opts("spacing-x")),l=Math.max(l,30+20*("bottom"==m)+f),h=Math.max(Math.min(30+("left"==p)*d+("left"==s)*e,0.25*this.opts("width")),h),i=Math.max(Math.min(15+("right"==p)*d+("right"==s)*e,0.25*this.opts("width")),i),d=this.opts("width")-h-i,e=this.opts("height")-g-l;k.assertNumber(d);k.assertNumber(e);f=c?this.opts("spacing-x"):0;c=c?this.opts("spacing-y"):0;
return{ncol:a,nrow:b,paddingLeft:h,paddingRight:i,paddingTop:g,paddingBottom:l,chartWidth:d,chartHeight:e,eachWidth:(d-(a-1)*f)/a,eachHeight:(e-b*c)/b,spacingX:f,spacingY:c,xLabelY:"bottom"==m?g+e+30:30,yLabelX:"left"==p?15:h+d+i-5,additionalScales:!!this._legend&&!!this._legend._aes}};A.graph.prototype.getAxisOffset=function(a,b,c){var d=this.dimensions(),b=this.xposition(b),a=this.yposition(a),e=d.eachWidth,d=d.eachHeight,f="gg.coord.polar"===this.coord()._cls_name,g=this.coord()._flip!==f?"x":
"y";"right"==c?b+=e:"bottom"==c?a+=d:"center"==c?(b+=e/2,a+=d/2):"left"==c&&f&&(b-=9,a+=d/2-this._scales[g].range()[1]);return{x:b-0.5,y:a-0.5}};A.graph.prototype.createOffsetCoord=function(a,b){var c=new A.coord.cart;c.attach(this);c.opts("mouseover_highlight",!1);return c.differentOffset(a,b)};A.graph.prototype.makeplot=function(a){var b=this.opts("width"),c=this.opts("height"),d;a?h.isString(a)?(d="#"==a.charAt(0)?a.substring(1):a,(d=document.getElementById(d))||A.error(212,"Invalid dom for .opts('dom') - "+
a)):d=a:A.error(212,"Invalid dom for .opts('dom') - "+a);a=k.Raphael(d,b,c);k.configRaphaelAttributes(a);return a};A.graph.prototype.setDefaultCoord=function(){this._coord||this.coord(A.coord.cart());return this};A.graph.prototype.filter=function(a){if(0===arguments.length)return this.opts("filter");this.opts("filter",a);this._filterData();return this};A.graph.prototype._filterData=function(){this._filteredData=this.opts("filter")?this.data().filter(this.opts("filter")):this.data()};var of=function(a){a&&
(a.forEach(function(a){k.unbindAll(a)}),a.clear())};A.graph.prototype._clearCache=function(){of(this._paper);this._paper=null;this._doms={};this._dimCache=null;this._rendered=!1};A.graph.prototype._clearCanvas=function(){of(this._paper);this._doms={};this._dimCache=null;this._rendered=!1};A.graph.prototype._clearDimCache=function(){this._dimCache=null};A.graph.prototype._preRender=function(a){this._debugStartTime=new Date;a&&this.opts("dom",a);if(this._paper){var a=this.opts("width"),b=this.opts("height");
this._paper.setSize(a,b);this._clearCanvas()}else this._paper=this.makeplot(this.opts("dom"))};A.graph.prototype._postRender=function(){var a=new Date-this._debugStartTime;this._rendered=!0;A.info("render() took "+a+" ms.");this._renderingTime=a};A.graph.prototype.xposition=function(a){var b=this.dimensions();return b.paddingLeft+a*(b.eachWidth+b.spacingX)};A.graph.prototype.yposition=function(a){var b=this.dimensions();return b.paddingTop+a*(b.eachHeight+b.spacingY)+b.spacingY};A.graph.prototype._defaultComputeOptions=
function(){return{defaultScale:this.opts("render-make-default-scale"),imputeMapping:this.opts("render-impute-mapping")}};A.graph.prototype.compute=function(a){var a=a||this._defaultComputeOptions(),b=this;this._facet&&this._facet.prepare();a.imputeMapping&&h.invoke(this._layers,"attachDerivedMappings");h.invoke(this._layers,"resetCalculate");h.invoke(this._layers,"calculate");a.defaultScale&&h.each(this.makeDefaultScales(),function(a,d){b.scale(d,a)});this.setDefaultCoord();this._setupAxes();a=this.opts("legend-position");
this._legend="none"!=a?A.guide.legend(this,this._layers,this._scales,a):null;this.dimensions(!0);this.computeScale()};A.graph.prototype.render=function(a){this._preRender(a);this._timer=a=k.timer();k.raphael_mark();this.opts("render-compute")&&(this.compute(),a.mark("compute()"),k.raphael_mark("compute()"));this.bindDerivedScales();a.mark("bindDerivedScales()");k.raphael_mark("bindDeriveScales()");var b=this.checkLayerError();this.renderPrimary(b);k.raphael_mark("renderPrimary()");this.renderAllFacetLabel();
a.mark("renderAllFacetLabel()");k.raphael_mark("renderAllFacetLabel()");this.renderOtherLabel();a.mark("renderOtherLabel()");k.raphael_mark("renderOtherLabel()");this.renderLegend();a.mark("renderLegend()");k.raphael_mark("renderOtherLabel()");this.opts("branding")&&this.render_branding();this._postRender();return this};A.graph.prototype.checkLayerError=function(){return h.invoke(this._layers,"checkErrors",{rawScales:this._scales,coord:this._coord})};A.graph.prototype.toCode=function(a,b,c){var d=
[];a||(a=0);var e=a+this._cls_name.length+3;c?d=[c]:this._data&&(d=[this._data.toCode(a,e)]);var f={cls:this._cls_name,params:d,funcs:[]};h.each(this._layers,function(b){f.funcs.push(["layer",b.toCode(a,e)])});h.each(this._scales,function(b,c){if(b){var d=k.qt(c);f.funcs.push(["scale",[d,b.toCode(a,e+d.length+2)]])}});this._coord&&f.funcs.push(["coord",this._coord.toCode(a,e)]);this._facet&&f.funcs.push(["facet",this._facet.toCode(a,e)]);var g=this.getAttr();h.each(g,function(a,b){"render"==b.split("-")[0]&&
delete g[b]});f.funcs.push(["opts",ha.stringify(g)]);return k.toCode(a,b,f)};var L=p;L.coord=L.coord||{};L.coord.base=k.makeClass("gg.coord.base");L.coord.base.prototype.init=function(){this._graph=null;this._detached=!0;this._offsetY=this._offsetX=0;this._attr=h.clone(L.opts.coord);this._flip=null};L.coord.base.prototype.flip=function(){this._flip=!this._flip};L.coord.base.prototype.opts=k.opts();L.coord.base.prototype.differentOffset=function(a,b){var c=k.cloneobj(this);c._offsetX+=a;c._offsetY+=
b;c._attr=k.cloneobj(this._attr);return c};L.coord.base.prototype.attach=function(a){this._detached||L.error(600,"This coordinate is already attached to a graph. Unexpected behaviour may occur.");this._detached=!1;this._graph=a;return this};L.coord.base.prototype.getPaper=function(){return this._graph._paper};L.coord.base.prototype.set=function(a,b){this.attr[a]=b;return this};L.coord.base.prototype.configScale=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.transX=function(){L.error(10,
"Not implemented.")};L.coord.base.prototype.transY=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.drawAxis=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.line=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.vline=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.hline=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.rect=function(){L.error(10,"Not implemented.")};L.coord.base.prototype.point=function(){return this.getPaper().gg_symbol(this)};
L.coord.base.prototype.poly=function(){return this.getPaper().gg_path(this)};L.coord.base.prototype.text=function(){return this.getPaper().gg_text(this)};L.coord.base.prototype.toCode=k.toCodeBasic;var R=p;R.facet=R.facet||{};R.facet.base=k.makeClass("gg.facet.base");R.facet.base.prototype.init=function(){this._graph=null;this._detached=!0;this._attr={free_x:!1,free_y:!1}};R.facet.base.prototype.attach=function(a){this._detached||this.warn(700,"This facet is already attached to a graph. Unexpected behaviour may occur.");
this._graph=a;this._detached=!1};R.facet.base.prototype.opts=k.opts();R.facet.base.prototype.warn=function(a,b){this._detached?R.warn(a,b):this._graph.warn(a,b)};R.facet.base.prototype.calculate=function(a){var b=this.nrow()*this.ncol(),c=k.array(b,function(){return a.clone()}),d,e=a.len();for(d=0;d<e;d++){var f=a.getObject(d),g=this.bin(f);g<b?c[g].push(f):R.warn(702,"Facet number of cells is too small, ignoring data row number "+d)}return c};R.facet.base.prototype.getAttr=k.getAttr;R.facet.base.bin=
function(){R.error(10,"Not implemented.")};R.facet.base.prototype.ncol=function(){R.error(10,"Not implemented.")};R.facet.base.prototype.nrow=function(){R.error(10,"Not implemented.")};R.facet.base.prototype.isValidIndex=function(){return!0};R.facet.base.prototype.renderLabel=function(){R.error(10,"Not implemented.")};R.facet.base.prototype.toCode=k.toCodeBasic;var gc=p;gc.guide=gc.guide||{};gc.guide.base=k.makeClass("gg.guide.base");gc.guide.base.prototype.init=function(){this._attr={num_ticks:5}};
gc.guide.base.prototype.opts=k.opts();var z=p,Ic={};z.layer=z.layer||{};z.layer.base=k.makeClass("gg.layer.base");var sa=function(a,b){h.isFunction(a)?(this.val=a._name?a._name:h.uniqueId("$func:"),this.code=a,this.functionMapping=!0):this.val=a;this.defaultMapping=k.bool(b)};sa.prototype.val=null;sa.prototype.code=null;sa.prototype.defaultMapping=!1;sa.prototype.functionMapping=!1;z.layer.base.prototype.init=function(a){this._attr=k.cloneobj(z.opts.layer);this._statData=this._facetedData=this._data=
this._graph=null;this._stats=void 0;this._detached=!0;this._default_stats=z.stats.id;this._calculated=!1;this.opts("domain",null);a&&this.data(a)};z.layer.base.prototype.warn=function(a,b){this._detached?z.warn(a,b):this._graph.warn(a,b)};z.layer.base.prototype.opts=k.opts();z.layer.base.prototype.data=function(a){if(0===arguments.length)return this._data===Ic?this._graph.getFilteredData():this._data;if(a!==Ic&&(!a||"gg.data"!=a._cls_name))a=z.data(a);this._data=a;return this};z.layer.base.prototype.stats=
function(a){if(1===arguments.length)return(a=k.instantiate(a))||z.error(304,"Attempting to add an undefined or malformed statistic: "+a),this._stats=a,this.resetCalculate(),this;h.isUndefined(this._stats)&&(this._stats=this._default_stats());return this._stats};z.layer.base.prototype.attach=function(a){this._detached||this.warn(300,"This layer is already attached to a graph. Unexpected behaviour may occur.");this.data()||this.data(Ic);this._detached=!1;this._graph=a;return this};z.layer.base.prototype.resetCalculate=
function(){this._calculated=!1};z.layer.base.prototype.defaultMin=function(){};z.layer.base.prototype.defaultMax=function(){};z.layer.base.prototype.requiredMap=function(){return null};z.layer.base.prototype.calculatePartials=function(){return!1};z.layer.base.prototype.layerGroup=function(){return[]};z.layer.base.prototype.needDefined=function(){return["x","y"]};z.layer.base.prototype.calculateStats=function(a){var b=this.getMap(),c=this.getAttr(),d=h.chain(this.needDefined()).map(function(a){return b[a]}).filter(function(a){return a}).value();
!this.hasGroup()&&b.group&&delete b.group;c={mapping:b,attr:c,need:d,layer_group_aes:this.layerGroup(),no_partials:!this.calculatePartials()};return this.stats().calculateStats(a,c)};z.layer.base.prototype.hasGroup=function(){return!0};z.layer.base.prototype.calculate=function(){this._detached&&this.warn(301,"Calculating statistics on a detached layer.");if(!this._calculated){this.checkStatsRequiredMapping();this.checkLayerRequiredMapping();this.checkInvalidMapping();var a=this._getFacet();this._facetedData=
a?a.calculate(this.data()):[this.data()];a=h.bind(this.calculateStats,this);this._statData=h.map(this._facetedData,a);var b=h.bind(this._bindFunctionMapping,this);h.each(this._statData,function(a){h.each(a,b)});this._calculated=!0;return this}};z.layer.base.prototype._map=function(a,b){this._attr[a]=new sa(b)};z.layer.base.prototype.map=function(a,b){var c=this;0===arguments.length&&z.error(12,"Function map() called with less than 1 parameter.");if(1===arguments.length){if(!h.isString(a)&&0<h.keys(a).length)return h.each(h.keys(a),
function(a){k.assertAes(a)}),h.each(a,function(a,b){c._map(b,a)}),this.resetCalculate(),this;k.assertAes(a);var d=this._attr[a];return d instanceof sa?d.val:null}k.assertAes(a);h.isUndefined(b)||null===b?this.unset(a):this._map(a,b);this.resetCalculate();return this};z.layer.base.prototype.isDefaultMap=function(a){a=this._attr[a];return a instanceof sa?a.defaultMapping:!1};z.layer.base.prototype.getAttr=function(){var a={};h.each(this._attr,function(b,c){b instanceof sa||(a[c]=b)});return a};z.layer.base.prototype.getMap=
function(){var a={};h.each(this._attr,function(b,c){b instanceof sa&&(a[c]=b.val)});return a};z.layer.base.prototype.unset=function(a){h.has(this._attr,a)&&delete this._attr[a];h.has(z.opts.layer,a)&&(this._attr[a]=z.opts.layer[a]);return this};z.layer.base.prototype.getAestheticsGroup=function(a){var b=a+"_",c=this.getMap(),d={};h.chain(c).keys().filter(function(c){return c==a||k.startswith(c,b)}).map(function(a){d[a]=c[a]});d.y&&d.y_override&&delete d.y;return d};z.layer.base.prototype.getData=
function(a,b){if(!this.data())return null;var c=this.map(a);return!c?null:this.data().get(c,b)};z.layer.base.prototype.getScales=function(a){var b=a.rawScales,c,d={};h.each(this._attr,function(e,f){if(e instanceof sa){var g=b[f];g&&(d[f]=h.bind(g.apply,g,e.val))}else"x"==f||"y"==f?(c=b[f],a["free_"+f]&&"category"==c._type&&c.make(this._levels(f,null,a.facetId)),d[f]=k.constfunc(c.apply(e))):d[f]=k.constfunc(e)});return d};z.layer.base.prototype.renderEntry=function(a){this.calculate();a.computedData=
this.hasGroup()?this._statData[a.facetIndex]:this._statData[a.facetIndex][0];a.scales=this.getScales(a);var b=null,b=a.rawScales.x.width();a.align="center";a.width=b;a.computedData&&this.opts("visible")&&this.render(a)};z.layer.base.prototype.checkErrors=function(){return 0===h.keys(this.getMap()).length?(this.warn(320,"No mapping has been set in layer "+this._cls_name),!0):!1};z.layer.base.prototype.render=function(){z.error(10,"Not implemented.")};z.layer.base.prototype.queryData=function(a,b,c,
d,e){if("data"===b)return c(a,this.data());this.calculate();b=b||"aes_group";e=h.isNumber(e)?e:-1;e>this._statData.length&&z.error(-1,"Attempting to access facet id "+e+" when there are only "+this._statData.length);var f=-1==e?k.doubleMap:h.map,g=-1==e?this._statData:this._statData[e],j;"aes_group"===b?(a=h.values(this.getAestheticsGroup(a)),a=h.map(a,function(a){return f(g,h.bind(c,null,a))}),a=k.concat(a)):("key"===b?j=a:"aes"===b?j=this.map(a):this.warn(-1,"Should not reach here."),a=f(g,h.bind(c,
null,j)));a=k.concat(a);return d(a)};z.layer.base.prototype.min=function(a,b,c){var d=this.type(a,b),d=z.type.fromString(d).min;return this.queryData(a,b,function(a,b){return b.min(a)},d,c)};z.layer.base.prototype.max=function(a,b,c){var d=this.type(a,b),d=z.type.fromString(d).max;return this.queryData(a,b,function(a,b){return b.max(a)},d,c)};z.layer.base.prototype.levels=function(a,b,c){var d=this.type(a,b),e=z.type.fromString(d);return this.queryData(a,b,function(a,b){return b.levels(a)},function(a){return k.mergeArrays(a,
e.represent)},c)};z.layer.base.prototype.type=function(a,b,c){return this.queryData(a,b,function(a,b){return b.type(a)},k.unionType,c)};z.layer.base.prototype.checkStatsRequiredMapping=function(){var a=this.stats().requiredMap()||[],a=h.difference(a,h.keys(this.getMap()));0<a.length&&z.error(302,"Variable need to be mapped to the following aesthetics: "+a.join(", "))};z.layer.base.prototype.checkLayerRequiredMapping=function(){var a=this.stats().requiredMap()||[],a=h.difference(a,h.keys(this.getMap()));
0<a.length&&z.error(302,"Variable need to be mapped to the following aesthetics: "+a.join(", "))};z.layer.base.prototype._bindFunctionMapping=function(a){var b=this._getFunctionMappings();h.each(b,function(b){var d=b.val;a.hasKey(d)||a.derive(b.code,d)})};z.layer.base.prototype._getFunctionMappings=function(){var a=[];h.each(this._attr,function(b){b instanceof sa&&b.functionMapping&&a.push(b)});return a};z.layer.base.prototype.getInvalidMapping=function(){var a=this,b=this.data().keys(),c=this.stats().keys(),
d=h.union(b,c),e={};h.each(this.getMap(),function(b,c){h.include(d,b)||a.opts(c).functionMapping||(e[c]=b)});return e};z.layer.base.prototype.checkInvalidMapping=function(){var a=this.getInvalidMapping();0<h.size(a)&&(a=h.map(a,function(a,c){return"Mapping of aesthetics "+c+" to variable "+a+" is invalid."}),z.error(303,a.join("\n")))};z.layer.base.prototype.checkAllMapping=function(){this.checkStatsRequiredMapping();this.checkInvalidMapping()};z.layer.base.prototype.imputeMapping=function(a,b){var c=
{};if(!a||!b)return c;h.each(b,function(b,e){if(!a[e])if(h.isArray(b))for(var f=0;f<b.length;f++){var g=b[f];if(a[g]){f=e;g=a[g];a[f]=g;c[f]=g;break}}else a[b]&&(g=a[b],a[e]=g,c[e]=g)});return c};z.layer.base.prototype._removePreviousDefaults=function(){var a=this;h.each(this._attr,function(b,c){b instanceof sa&&b.defaultMapping&&delete a._attr[c]})};z.layer.base.prototype._getFacet=function(){return this._graph?this._graph.facet():null};z.layer.base.prototype._attachImputed=function(a,b){var c=this._attr[a];
h.isUndefined(c)||!(c instanceof sa)?this._attr[a]=new sa(b,!0):c instanceof sa&&c.defaultMapping&&(this._attr[a].value=b)};z.layer.base.prototype.attachDerivedMappings=function(){this._removePreviousDefaults();var a=this,b=this.stats(),c=this.getMap(),d=this.imputeMapping(c),b=b?b.imputeMapping(c):{},d=h.defaults({},d,b);h.each(d,function(b,c){a._attachImputed(c,b)});return d};z.layer.base.prototype.toCode=function(a,b){var c={cls:this._cls_name};this._data&&this._data!==Ic&&(c.params=[this._data.toCode(a,
a+this._cls_name.length+3)]);c.funcs=[["opts",ha.stringify(this.getAttr())]];var d=this.getMap();h.each(d,function(a,b){h.include(z.opts.aes,b.split("_")[0])||delete d[b];"tooltip"==b&&delete d[b]});0<h.keys(d).length&&c.funcs.push(["map",ha.stringify(d)]);this._stats&&c.funcs.push(["stats",this._stats.toCode()]);return k.toCode(a,b,c)};z.layer.base.prototype.fillZero=function(a,b,c){for(var d=this.map("x"),e=this.opts("domain"),f=a.levels(d),g=a.getRaw().slice(),j=b.rawScales.x.opts("domain_low"),
b=b.rawScales.x.opts("domain_high"),i={},k=function(a){i[a]=0};j<=b;)h.include(f,j)||(i={},i[d]=j,h.each(c,k),g.push(i)),j=e(j);return a.clone(g)};var H=p,jh=function(a,b,c){this.data=a;this.label=c;this.pos=b};H.scale=H.scale||{};H.scale.base=k.makeClass("gg.scale.base");H.scale.base.prototype.init=function(){this._graph=this._aes=null;this._detached=!0;this._type=null;this._attr={pixel_per_tick_x:60,pixel_per_tick_y:30,ticks:null,numticks:null,min:null,max:null,absolute_min:-Infinity,absolute_max:Infinity,
domain_low:null,domain_high:null,range_low:null,range_high:null};this._facetIndex=-1};H.scale.base.prototype.opts=k.opts();H.scale.base.prototype.warn=function(a,b){this._detached?H.warn(a,b):this._graph.warn(a,b)};H.scale.base.prototype.CONTINUOUS=!1;H.scale.base.prototype.DISCRETE=!1;H.scale.base.prototype.getAttr=k.getAttr;H.scale.base.prototype.attach=function(a,b){this._detached||this.warn(400,"This scale is already attached to a graph. Unexpected behaviour may occur.");a||H.error(401,"Attempting to attach a scale to an empty graph.");
b||H.error(402,"Scale type "+this._cls_name+" cannot to be attached to aesthetics "+b+".");this._aes=b;this._graph=a;this._detached=!1};H.scale.base.prototype.min=function(a){var b=this._attr.absolute_min;return 1===arguments.length?(h.isNumber(b)&&a<b&&(this.warn(403,"Minimum cannot be set below "+b+". Using "+b+" instead of "+a+"."),a=b),this._attr.min=a,this):this._attr.min};H.scale.base.prototype.max=function(a){var b=this._attr.absolute_max;return 1===arguments.length?(h.isNumber(b)&&a>b&&(this.warn(403,
"Maximum cannot be set above "+b+". Using "+b+" instead of "+a+"."),a=b),this._attr.max=a,this):this._attr.max};H.scale.base.prototype.rangeSize=function(){return Math.abs(this._attr.range_low-this._attr.range_high)};H.scale.base.prototype.type=function(){return this._type};H.scale.base.prototype._saneNumber=function(a){return h.isNumber(a)&&!isNaN(a)&&Infinity!=a&&-Infinity!=a};H.scale.base.prototype._makeDomain=function(){var a=this._aes,b=this._graph.min(a),c=this._graph.defaultMin(a,b),d=this._graph.max(a),
a=this._graph.defaultMax(a,d);this._attr.domain_low=h.chain([b,this._attr.min,c]).filter(h.isNumber).min().value();this._attr.domain_high=h.chain([d,this._attr.max,a]).filter(h.isNumber).max().value();return[this._attr.domain_low,this._attr.domain_high]};H.scale.base.prototype.domain=function(a){return 1===arguments.length?(this._attr.min=a[0],this._attr.max=a[1],this):[this._attr.min,this._attr.max]};H.scale.base.prototype.range=function(a){return 1===arguments.length?(this._attr.range_low=a[0],
this._attr.range_high=a[1],this):!h.isUndefined(this._attr.range_low)&&!h.isUndefined(this._attr.range_high)?[this._attr.range_low,this._attr.range_high]:null};H.scale.base.prototype.make=function(){H.error(10,"Not implemented.")};H.scale.base.prototype._apply=function(){H.error(10,"Not implemented.")};H.scale.base.prototype.apply=function(a,b){1==arguments.length&&(b=a,a=void 0);b&&"gg.data"===b._cls_name&&(b=b.getObject(0));var c=h.isUndefined(a)||h.isUndefined(b[a])?b:b[a];return this._apply(c)};
H.scale.base.prototype._tickObject=function(a,b,c){return new jh(a,b,c)};H.scale.base.prototype._suggestNumticks=function(a,b,c){h.isNumber(a)||(a=null);null===a&&(a=this.opts("numticks"),h.isNull(a)&&(a=this.rangeSize(),h.isNumber(c)&&0<c||(c="x"==this._aes==Boolean(b)?this.opts("pixel_per_tick_y"):this.opts("pixel_per_tick_x")),a/=c));return Math.ceil(a)};H.scale.base.prototype.ticks=function(){H.error(10,"Not implemented.")};H.scale.base.prototype.maxLabelWidth=function(){H.error(10,"Not implemented.")};
H.scale.base.prototype.toCode=k.toCodeBasic;var za=p;za.stats=za.stats||{};za.stats.base=k.makeClass("gg.stats.base");za.stats.base.prototype.init=function(){this._attr={}};za.stats.base.prototype.imputeMapping=function(a,b){var c={};if(!a||!b)return c;h.each(b,function(b,e){if(!a[e])if(h.isArray(b))for(var f=0;f<b.length;f++){var g=b[f];if(a[g]){f=e;g=a[g];a[f]=g;c[f]=g;break}}else a[b]&&(g=a[b],a[e]=g,c[e]=g)});return c};za.stats.base.prototype.requiredMap=function(){return null};za.stats.base.prototype.compute=
function(a){return a};za.stats.base.prototype.postProcess=function(a){return a};za.stats.base.prototype.calculateStats=function(a,b){return this.group(a,b)};za.stats.base.prototype.group=function(a,b){var c=this,d=b.mapping,e={},f=b.groupFunctions||{};b.need||(b.need=[]);var g=function(a){for(var c=0;c<b.need.length;c++)if(h.isNull(a[b.need[c]]))return!1;return!0};h.each(d,function(a,b){"group"==k.getBaseAes(b)&&(e[a]=f[b]||k.identity)});var j=a.group(e),j=h.map(j,function(a){return c.compute(a,b)});
if(!b.no_partials){var i=b.mapping.x,l={};i&&(l[i]=e[i]||k.identity);var j=za.data.group(j,l,g),p={};h.each(d,function(b,c){"group"==k.getBaseAes(c)&&("group_stats"!==c&&!p[c])&&(p[b]=a.levels(b))});j=this.postProcess(j,b,p)}var m={};h.each(b.layer_group_aes||["group"],function(a){(a=d[a])&&(m[a]=f[a]||k.identity)});return j=za.data.group(j,m,g)};za.stats.base.prototype.keys=function(){return[]};za.stats.base.prototype.toCode=k.toCodeBasic;var Q=p;Q.type={};var Qd=null;Q.type.fromString=function(a){null===
Qd&&(Qd={number:new Q.type.number,category:new Q.type.category,unknown:new Q.type.unknown,date:new Q.type.date});a||(a="unknown");var b=Qd[a];b||Q.error(800,"No such type "+a+".");return b};Q.type.base=k.makeClass("gg.type.base");Q.type.base.prototype.init=function(){h.bindAll(this,"min","max")};Q.type.base.prototype.min=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype.max=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype.ticks=function(){Q.error(10,"Not implemented.")};
Q.type.base.prototype.coerce=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype.validate=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype.defaultScale=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype.represent=function(){Q.error(10,"Not implemented.")};Q.type.base.prototype._postProcess=function(a,b){"opacity"==a?b.range([0.2,0.9]):"strokewidth"==a?b.range([0,5]):"radius"==a&&(b.opts("transform","sqrt"),b.range([0.5,10]),b.min(0))};var ab=p;ab.stats.aggregate=
k.makeClass("gg.stats.aggregate",ab.stats.base);ab.stats.aggregate.prototype.init=function(){ab.stats.base.prototype.init.call(this)};ab.stats.aggregate.prototype.calculateStats=function(a,b){return this.group(a,b)};ab.stats.aggregate.prototype.imputeMapping=function(a,b){return ab.stats.base.prototype.imputeMapping.call(this,a,b)};ab.stats.aggregate.prototype.keys=function(){return[]};ab.stats.aggregate.prototype.makeMeta=function(a){var b=a.metas(),a=this.keys();h.each(a,function(a){h.contains(b,
a)||(b[a]={type:"number"})});return b};var bb=p;bb.stats.sum=k.makeClass("gg.stats.sum",bb.stats.aggregate);bb.stats.sum.prototype.compute=function(a,b){var c=b.mapping,d=a.len(),e=c.y,c=a.getObject(0);if(e){for(var f=1;f<d&&h.isNull(c[e]);)c=a.getObject(f),f++;d=k.sum.apply(a.get(e));c.$sum=d}else c.$sum=b.attr.y*a.len();d=this.makeMeta(a);return bb.data([c],d)};bb.stats.sum.prototype.imputeMapping=function(a){a=bb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,
{y_override:"$sum",y_1:"$partial_1",y_2:"$partial_2"})};bb.stats.sum.prototype.keys=function(){return bb.stats.aggregate.prototype.keys.call(this).concat(["$sum","$partial_1","$partial_2"])};bb.stats.sum.prototype.postProcess=function(a,b,c){var d=[],e=h.keys(c),f={plus:0,minus:0},g="",j={},i=function(a){g=0<=a.$sum?"plus":"minus";a.$partial_1=f[g];a.$partial_2=a.$partial_1+a.$sum;f[g]+=a.$sum;d.push(a)},l=function(a){var b=h.clone(j);b.$partial_1=f.plus;b.$partial_2=f.plus;b.$sum=0;h.each(e,function(c){b[c]=
a[c]});d.push(b)};if(!c||0===e.length)a=h.map(a,function(a){d=[];f={plus:0,minus:0};h.each(a._internal,i);return a.clone(d)});else{var p=0,m={},s={},q={};h.each(c,function(a,b){q[b]=a.length});var u=k.compareBy(e),t=function(){h.each(m,function(a,b){s[b]=c[b][a]})},a=h.map(a,function(a){h.each(e,function(a){m[a]=0});d=[];f={plus:0,minus:0};p=0;var b=a._internal.sort(u);j=b[0];for(var c=!0;c||p<b.length;){t();p<b.length&&0===u(b[p],s)?(i(b[p]),p++):l(s);a:{for(c=e.length-1;0<=c;c--){var g=e[c];m[g]++;
if(m[g]<q[g]){c=!0;break a}m[g]=0}c=!1}}return a.clone(d)})}return a};var Ia=p;Ia.coord.cart=k.makeClass("gg.coord.cart",Ia.coord.base);Ia.coord.cart.prototype.init=function(a){Ia.coord.base.prototype.init.call(this);this._flip=k.bool(a)};Ia.coord.cart.prototype.configScale=function(a,b){this._flip?(b.x.range([a.height,a.y]),b.y.range([a.x,a.width])):(b.x.range([a.x,a.width]),b.y.range([a.height,a.y]))};Ia.coord.cart.prototype.transX=function(a,b){return this._flip?b:a};Ia.coord.cart.prototype.transY=
function(a,b){return this._flip?a:b};Ia.coord.cart.prototype.vline=function(){return this.getPaper().gg_cart_vline(this)};Ia.coord.cart.prototype.hline=function(){return this.getPaper().gg_cart_hline(this)};Ia.coord.cart.prototype.line=function(){return this.getPaper().gg_cart_line(this)};Ia.coord.cart.prototype.rect=function(){return this.getPaper().gg_cart_rect(this)};Ia.coord.cart.prototype.toCode=function(a,b){return k.toCode(a,b,{cls:this._cls_name,params:[this._flip.toString()]})};var ka=p;
ka.coord.polar=k.makeClass("gg.coord.polar",ka.coord.base);ka.coord.polar.prototype.init=function(a){ka.coord.base.prototype.init.call(this);this._flip=k.bool(a);this._configured=!1};ka.coord.polar.prototype.configScale=function(a,b){this._offsetX=a.x+a.width/2;this._offsetY=a.y+a.height/2;var c=1*(Math.min(a.width,a.height)/2);this._flip?(b.y.range([0,c]),b.x.range([0,2*Math.PI]),b.x.opts("expand",0)):(b.x.range([0,c]),b.y.range([0,2*Math.PI]),b.y.opts("expand",0));this._configured=!0};ka.coord.polar.prototype.transX=
function(a,b){this._configured||ka.error(605,"Attempting to use a coordinate that has not been configured.");return!this._flip?a*Math.cos(b-Math.PI/2):b*Math.cos(a-Math.PI/2)};ka.coord.polar.prototype.transY=function(a,b){this._configured||ka.error(605,"Attempting to use a coordinate that has not been configured.");return!this._flip?a*Math.sin(b-Math.PI/2):b*Math.sin(a-Math.PI/2)};ka.coord.polar.prototype.vline=function(){return this.getPaper().gg_polar_vline(this)};ka.coord.polar.prototype.hline=
function(){return this.getPaper().gg_polar_hline(this)};ka.coord.polar.prototype.rect=function(){return this.getPaper().gg_polar_rect(this)};ka.coord.polar.prototype.toCode=function(a,b){return k.toCode(a,b,{cls:this._cls_name,params:[this._flip.toString()]})};ka.coord.polar.prototype.poly=function(){var a=this.getPaper(),b=h.bind(this._smoother,this);return a.gg_path(this,b)};ka.coord.polar.prototype._getRange=function(){return 2*Math.PI};ka.coord.polar.prototype._getTickSize=function(){return 0.01};
ka.coord.polar.prototype._smoother=function(a,b){for(var c=this._flip,d=a.length,e=0,f=!0,g,j,i,k,l=[],m=[],p=this._getRange(),q=this._getTickSize(),e=0;e<d;e++)if(g=a[e],j=b[e],h.isNumber(g)&&h.isNumber(j))if(f)i=g,k=j,l.push(g),m.push(j),f=!1;else{var s,t,u,w,y;t=g-i;u=j-k;s=c?Math.floor(t/p/q):Math.floor(u/p/q);for(var v=1;v<s;v++)w=v/s,y=w*u,w*=t,l.push(i+w),m.push(k+y);i=g;k=j;l.push(g);m.push(j)}return{x:l,y:m}};var u=p,kh=["min","max","levels"],Rd={hit:0,miss:0};u.data=k.makeClass("gg.data");
u.data._CACHE_STATS=Rd;var pf=["type","parser","format"];u.data.fetch=function(a,b,c){i.text(a,function(d){var e=null;/\.csv/.test(a)||(d=ha.parse(d));e=u.data(d,c);b(e)})};u.data.group=function(a,b,c){c||(c=function(){return!0});var d;d=0===h.size(b)?function(){return""}:function(a){var c="";h.each(b,function(b,d){c+=d+":"+b(a[d])+";"});return c};if(0===a.length)return[];var e={};h.each(a,function(a){for(var b=0;b<a.len();b++){var h=a._internal[b];if(c(h)){var i=d(h);e[i]||(e[i]=[]);e[i].push(h)}}});
e=h.values(e);return h.map(e,function(b){return a[0].clone(b)})};u.data.prototype.fromObject=function(a,b){for(var b=b?b:h.keys(a),c=h.map(b,function(b){return a[b].length}),d=h.max(c),e=[],f=0;f<d;f++){for(var g={},j=0;j<b.length;j++){var i=b[j],k=a[i][f];"undefined"===typeof k&&(k=null);g[i]=f<c[j]?k:null}e.push(g)}this._unparsed=e;this._keys=b};u.data.prototype.fromArray=function(a,b){if(0===a.length)this._unparsed=[],b=b?b:[];else{for(var c=h.keys(a[0]),b=b?h.union(b,c):c,c=1;c<a.length;c++)for(var d=
0;d<b.length;d++)h.isUndefined(a[c][b[d]])&&(a[c][b[d]]=null);this._unparsed=a}this._keys=b};u.data.prototype.fromGrid=function(a,b){if(0===a.length)this._unparsed=[],b=b?b:[];else{var b=b?b:h.keys(a[0]),c=b.length;this._unparsed=h.map(a,function(a){for(var e={},f=0;f<c;f++)e[b[f]]=h.isUndefined(a[f])?null:a[f];return e})}this._keys=b};u.data.prototype.fromCSV=function(a){for(var a=i.csv.parseRows(a),b=a[0],c=0,d=0,e=!1,f=0;f<b.length;f++)""==b[f]&&(b[f]="untitled");for(;!e;){for(f=0;f<b.length;f++)for(var g=
0;g<b.length;g++)if(b[f]===b[g]&&f!=g)if(h.isNull(b[g].match(/[_][1234567890]*$/)))b[g]+="_1";else{for(e=b[g].length-1;0<=b[g].charAt(e)&&9>=b[g].charAt(e);e--)c+=b[g].charAt(e)*Math.pow(10,b[g].length-e-1),d++;c++;b[g]=b[g].substring(0,b[g].length-d)+""+c;d=c=0}e=!0;for(f=0;f<b.length;f++)for(g=0;g<b.length;g++)b[f]===b[g]&&f!=g&&(e=!1)}this._unparsed=i.csv.parse(i.csv.format(a));this._keys=h.keys(this._unparsed[0]);for(f=0;f<this._unparsed.length;f++){var j=this._unparsed[f];h.each(this._keys,function(a){var b=
parseFloat(j[a]);b==j[a]&&(j[a]=b)})}};u.data.prototype.constructData=function(a,b){var c=!1,d;if(h.isArray(b))d=h.clone(b),b={};else if(b){d=h.keys(b);var e={};h.each(b,function(a,b){var c;if(h.isString(a))c={type:a,format:null,parser:null};else{c={};for(var d=0;d<pf.length;d++){var i=pf[d],k=a[i];k&&(c[i]=k)}}e[b]=c});b=e;c=!0}else d=null,b={};h.isArray(a)?0<a.length&&h.isArray(a[0])?this.fromGrid(a,d,b):this.fromArray(a,d,b):h.isString(a)?this.fromCSV(a,d,b):this.fromObject(a,d,b);this._meta=c?
b:{};this.guessMeta()};u.data.prototype.guessMeta=function(){var a=this._meta,b=this;h.each(this._keys,function(c){if(!a[c]||!a[c].type){var d=b._guessType(c),e={};d&&(e.type=d);a[c]=e}});return a};u.data.prototype.init=function(a,b){this._cache=this._meta=this._keys=this._internal=this._unparsed=null;a?(this.constructData(a,b),this._guessParsers(),this._applyParsers()):(this._unparsed=[],this._internal=[],this._keys=[],this._meta={});this._clearCache()};u.data.prototype.clone=function(a){var a=a||
[],b=new u.data;b._keys=h.keys(this._meta);b._meta=h.clone(this._meta);b._internal=a;return b};u.data.prototype.copy=function(){return this.clone(this._internal)};u.data.prototype.transform=function(a,b){var c=h.map(this._internal,function(c){c=h.clone(c);c[a]=b(c[a]);return c});return this.clone(c)};u.data.prototype.niceNumber=function(a,b){return this.transform(a,function(a){return Math.floor(a/b)*b})};u.data.prototype.niceDate=function(a,b){h.isArray(b)||(b=[b]);return this.transform(a,function(a){var d=
new Date(0);h.isNumber(a)&&(a=new Date(a));h.each(b,function(b){var f=a["get"+b]();d["set"+b](f)});return d-0})};u.data.prototype.get=function(a,b){return 2<=arguments.length?this._internal[b][a]:h.pluck(this._internal,a)};u.data.prototype.getObject=function(a){var b,c,d={};for(b=0;b<this._keys.length;b++)c=this._keys[b],d[c]=this.get(c,a);return d};u.data.prototype.getObjects=function(){for(var a=[],b=0;b<this.len();b++)a.push(this.getObject(b));return a};u.data.prototype.getRaw=function(){return this._internal};
u.data.prototype.getBlock=function(){var a=[],b=this._internal,c,d=this._meta,e=function(a){return"date"!==d[a].type?b[c][a]:+b[c][a]};for(c=0;c<this._internal.length;c++)a[c]=h.map(this._keys,e);return a};u.data.prototype.getTypeObj=function(a){return u.type.fromString(this.type(a))};u.data.prototype.toCode=function(a,b){return k.toCode(a,b,{cls:this._cls_name,params:[ha.stringify(this.getBlock(),null," "),ha.stringify(this._meta)]})};u.data.prototype.len=function(){return this._internal.length};
u.data.prototype.indices=function(){return h.range(this.len())};u.data.prototype.keys=function(){return this._keys};u.data.prototype.hasKey=function(a){return-1<h.indexOf(this._keys,a)};u.data.prototype.metas=function(){return h.clone(this._meta)};u.data.prototype.getMeta=function(a){return this._meta[a]};var lh=function(a){return null===a||"undefined"===typeof a||""===a},mh=function(a){return h.isNumber(a)||!h.isNaN(Number(a))};u.data.guessType=function(a){a=h.reject(a,lh);return 0===a.length?"category":
h.all(a,h.isDate)?"date":h.all(a,mh)?"number":"category"};u.data.prototype._guessType=function(a){a=h.pluck(this._unparsed,a);return u.data.guessType(a)};u.data.prototype.type=function(a){return(a=this._meta[a])?a.type:"unknown"};u.data.prototype.levels=function(a){return this._cached("levels",a,function(a){var c=this.getTypeObj(a);return h.chain(this._internal).pluck(a).reject(h.isUndefined).reject(h.isNull).sortBy(c.represent).uniq(!1,c.represent).value()},[])};u.data.prototype.min=function(a){return this._cached("min",
a,function(a){var c=this.getTypeObj(a);return this.query(a,c.min,c.validate)},void 0)};u.data.prototype.max=function(a){return this._cached("max",a,function(a){var c=this.getTypeObj(a);return this.query(a,c.max,c.validate)},void 0)};u.data.prototype.query=function(a,b,c){return b(h.filter(this.get(a),c))};u.data.prototype.remove=function(a){var b=h.indexOf(this._keys,a);if(-1===b)return!1;this._keys.splice(b,1);delete this._meta[a];for(var c=this._internal.length,b=0;b<c;b++)delete this._internal[b][a];
return!0};u.data.prototype.derive=function(a,b,c){var c=c||{},d=c.dryrun,e=c.context;1===arguments.length&&(b=h.uniqueId("var_"));e||(e=u.derive);try{var f,g;if(h.isFunction(a))f=a,g=!1;else{var j=a;""===a&&(j='""');f=new Function("d","with(this) { with(d) { return "+j+";}}");g=!0}for(var i=this.len(),j=[],k=0;k<i;k++){var l=this._internal[k],m=f.call(e,l);h.isFunction(m)&&u.error(121,"invalud return value");j.push(m);if(d){if(10<k)break}else l[b]=f.call(e,l)}if(d)return{success:!0,values:j};h.include(this._keys,
b)||this._keys.push(b);e=null;e=c.type?c.type:u.data.guessType(j);this._meta[b]={type:e,derived:!0};g&&(this._meta[b].formula=a);return b}catch(p){if(d)return{success:!1,error:p};u.warn(121,"Error while generating derived variable "+b+": "+p.toString());return!1}};u.data.prototype.checkRename=function(a,b){var c=h.indexOf(this._keys,a),d=h.indexOf(this._keys,b);if(b){if(-1===c||-1!==d)return!1}else return!1;return!0};u.data.prototype.rename=function(a,b){a=a.toString();b=b.toString();if(!this.checkRename(a,
b))return!1;var c=h.indexOf(this._keys,a);h.each(this._internal,function(c){c[b]=c[a];delete c[a]});this._keys[c]=b;this._meta[b]=this._meta[a];delete this._meta[a];return!0};u.data.prototype.renameMany=function(a){var b=this,c={},d=!1;h.each(a,function(a,f){var g=a.toString();g!=f&&(b.checkRename(f,a)?c[f]=g:d=!0)});if(d)return!1;a=h.values(c);if(h.uniq(a).length!=a.length)return!1;h.each(this._internal,function(a){h.each(c,function(b,c){a[b]=a[c];delete a[c]})});h.each(c,function(a,c){var d=h.indexOf(b._keys,
c);b._keys[d]=a;b._meta[a]=b._meta[c];delete b._meta[c]});return!0};u.data.prototype.copyColumnDefinition=function(a,b){if(-1===h.indexOf(this._keys,a)&&-1!==h.indexOf(this._keys,b))return!1;data._keys.push(x_end);data._meta[x_end]=h.clone(data._meta[x]);return!0};u.data.prototype.push=function(a){var b,c;for(b=0;b<this._keys.length;b++)c=this._keys[b],h.has(a,c)||u.warn(101,"Data is missing key "+c+".");this._internal.push(a);return this};u.data.prototype.iterator=function(a){var b=this,c={i:0,next:function(){for(var d=
b.len();c.i<d&&!a(b._internal[c.i]);)c.i++;return c.i==d?!1:b._internal[c.i++]}};return c};u.data.prototype.filter=function(a){var b=[],a=u.data.makeFilterFunction(a);try{h.each(this._internal,function(c){a(c)&&b.push(c)})}catch(c){u.error(122,"Error while filtering data: "+c.toString())}return this.clone(b)};u.data.prototype.sort=function(a,b){var c=this.getTypeObj(a),d;d=c.sort?h.clone(this._internal).sort(function(b,d){var g=c.represent(b[a]),h=c.represent(d[a]);return c.sort(g,h)}):h.sortBy(this._internal,
function(b){return c.represent(b[a])});b&&d.reverse();return this.clone(d)};u.data.prototype.group=function(a){return u.data.group([this],a)};u.data.prototype.merge=function(a){h.isEqual(this.keys(),a.keys())||u.error(110,"Cannot merge two datasets with unequal keys.");this._internal=this._internal.concat(a._internal);return this};u.data.prototype.each=function(a,b){if(!b||b>this.len())return h.each(this._internal,a);var c=h.shuffle(this._internal);return h.each(c.slice(0,b),a)};u.data.prototype._cached=
function(a,b,c,d){h.isFunction(b)&&(b._data_key||(b._data_key=h.uniqueId("var_"),this.derive(b,b._data_key)),b=b._data_key);if(-1===h.indexOf(this._keys,b))return d;if(h.has(this._cache[a],b))return a=this._cache[a][b],Rd.hit++,a;Rd.miss++;c=c.call(this,b);return this._cache[a][b]=c};u.data.prototype._clearCache=function(){var a=this._cache={};h.each(kh,function(b){a[b]={}})};u.data.prototype.parser=function(a,b){if(1===arguments.length)return this._meta[a].parser;this._meta[a].parser=b;return this};
var qf=function(a){var b=Number(a);return null===a||"undefined"==typeof a||""===a||h.isNaN(b)?null:b};u.data.prototype._guessParsers=function(){var a=this;h.each(this._keys,function(b){var c=a._meta[b];if(!a.parser(b))if("number"==c.type){if(c.format)var d=RegExp(c.format),b=function(a){a=d.exec(a)[1];return qf(a)};else b=qf;c.parser=b}else if("date"==c.type)c.format?(b=a._meta[b].format,c.parser=u.data.makeDateParser(b)):(b=h.pluck(a._unparsed,b),(b=u.data.guessDateFormat(b))?(c.parser=u.data.makeDateParser(b),
c.format=b):(c.type="date",c.parser=function(a){return a},c.format=null));else if("category"==c.type&&null===c.format)c.parser=u.type.category.prototype.represent;else if(c.parser=u.type.category.prototype.represent,b=h.pluck(a._unparsed,b),b=u.data.guessDateFormat(b))c.type="date",c.parser=u.data.makeDateParser(b),c.format=b})};u.data.prototype._applyParsers=function(){var a=this,b=this.keys();this._internal=h.map(this._unparsed,function(c){for(var d={},e=0,e=0;e<b.length;e++){var f=b[e],g=a._meta[f].parser,
h=c[f],i;if(g)try{i=g(h)}catch(k){i=null}else i=h;d[f]=i}return d})};var nh="%Y-%m-%d %H:%M:%S;%c;%m-%d-%Y;%Y-%m-%d;%m/%d/%Y;%Y/%m/%d;%m/%d/%Y %I:%M %p".split(";");u.data.guessDateFormat=function(a){return h.find(nh,function(b){for(var c=!0,d=!0,e=0;e<a.length;e++){var f=a[e];if(f){if(f&&!h.isString(f))return!1;if(null!==u.date.parseDate(b,f))d=!1;else{c=!1;break}}}return c&&!d})};u.data.makeDateParser=function(a){var b=i.time.format.utc(a);return function(a){if(h.isNumber(a))return a;a=b.parse(a);
return null!=a?a.getTime():null}};u.data.makeFilterFunction=function(a){return h.isFunction(a)?a:h.isString(a)?new Function("d","with(d) { return "+a+";}"):function(){return!0}};u.data.prettify=k.prettify;u.data.numberRounder=function(a){return function(b){return Math.floor(b/a)*a}};u.data.dateRounder=function(a){h.isArray(a)||(a=[a]);return function(b){var c=new Date(0),b=new Date(b);h.each(a,function(a){if(h.isString(a)){var e=b["get"+a]();c["set"+a](e)}else a(c,b)});return c-0}};u.data.parseCSV=
i.csv.parseRows;p.date={};p.date.parseDate=function(a,b){return!b?null:i.time.format.utc(a).parse(b)};p.date.formatDate=function(a,b){if(!b)return"";h.isNumber(b)&&(b=new Date(b));return i.time.format.utc(a)(b)};var zb=p;zb.derive={};zb.derive.year=function(a){a=new Date(a);return a.getUTCFullYear()};zb.derive.month=function(a){a=new Date(a);return a.getUTCMonth()+1};zb.derive.day=function(a){a=new Date(a);return a.getUTCDate()};zb.derive.has=function(a,b){return-1<h.indexOf(""+a,""+b)};zb.derive.len=
function(a){return h.isString(a)?a.length:0};zb.derive.count=function(a,b){if(!h.isString(a))return 0;for(var c=0,d=0;d<a.length;d++)a.charAt(d)==b&&c++;return c};var Ga=p;Ga.facet.grid=k.makeClass("gg.facet.grid",Ga.facet.base);Ga.facet.grid.prototype.init=function(a,b){Ga.facet.base.prototype.init.call(this);this.opts("x",a);this.opts("y",b);this.opts("col",null);this.opts("row",null);this._ylevels=this._xlevels=null;this._key_x;this._key_y};Ga.facet.grid.prototype.x=k.singleOpts("x");Ga.facet.grid.prototype.y=
k.singleOpts("y");Ga.facet.grid.prototype.ncol=function(a){if(0===arguments.length)return this.opts("col");k.assertNumber(a);this.opts("col",a);return this};Ga.facet.grid.prototype.nrow=function(a){if(0===arguments.length)return this.opts("row");k.assertNumber(a);this.opts("row",a);return this};Ga.facet.grid.prototype.isValidIndex=function(){return!0};Ga.facet.grid.prototype.bin=function(a){return h.indexOf(this._ylevels,a[this._key_y])*this.opts("col")+h.indexOf(this._xlevels,a[this._key_x])};Ga.facet.grid.prototype.prepare=
function(){var a=this.x(),b=this.y();!a&&!b&&Ga.error(701,"There are no variables to facet on.");var c=this._graph.levels(a,"data"),d=this._graph.levels(b,"data");this.opts("col",c.length);this.opts("row",d.length);this._xlevels=c;this._ylevels=d;this._key_x=a;this._key_y=b;return this};Ga.facet.grid.prototype.renderLabel=function(a,b){var c=this._xlevels[b.col]+" "+this._ylevels[b.row],d=a.text();d.attr("font-size",12);d.attr("font-weight","bold");d.attr("text",c);1==this.opts("col")?d.attr("x",
b.width+10).attr("y",b.ypos+b.eachHeight/2).transform("r90"):d.attr("x",b.xpos+b.eachWidth/2).attr("y",b.ypos-10);return this};var Ja=p;Ja.facet.wrap=k.makeClass("gg.facet.wrap",Ja.facet.base);Ja.facet.wrap.prototype.init=function(a){Ja.facet.base.prototype.init.call(this);this.opts("x",a);this.opts("col",null);this.opts("row",null);this.opts("formatter",null);this._key=null};Ja.facet.wrap.prototype.x=k.singleOpts("x");Ja.facet.wrap.prototype.ncol=function(a){if(0===arguments.length)return this.opts("col");
k.assertNumber(a);this.opts("col",a);return this};Ja.facet.wrap.prototype.nrow=function(a){if(0===arguments.length)return this.opts("row");k.assertNumber(a);this.opts("row",a);return this};Ja.facet.wrap.prototype.isValidIndex=function(a){return a<this._graph.levels(this.x(),"data").length};Ja.facet.wrap.prototype.bin=function(a){return h.indexOf(this._levels,a[this._key])};Ja.facet.wrap.prototype.prepare=function(){var a=this.x();a||Ja.error(701,"There are no variables to facet on.");var b=this._graph.levels(a,
"data"),c=b.length,d,e;this.opts("col")?(d=this.opts("col")||3,e=this.opts("row")||Math.ceil(c/d)):(e=this.opts("row")||2,d=this.opts("col")||Math.ceil(c/e));this.opts("col",d);this.opts("row",e);this._levels=b;this._key=a;return this};Ja.facet.wrap.prototype.renderLabel=function(a,b){var c=b.row*this.ncol()+b.col,c=this._levels[c];if(null===c||h.isUndefined(c))return this;var d=this.opts("formatter");d||(d=function(a){return a+""});var e=a.text();e.attr("font-size",12);e.attr("font-weight","bold");
e.attr("text",d(c));1==this.opts("col")?e.attr("x",b.width+10).attr("y",b.ypos+b.eachHeight/2).transform("r90"):e.attr("x",b.xpos+b.eachWidth/2).attr("y",b.ypos-10);return this};var Ab=p;Ab.graph.prototype.type=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().type(a);a=h.invoke(this._layers,"type",a,b,c);return k.unionType(a)};Ab.graph.prototype.min=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().min(a);c=h.invoke(this._layers,"min",a,b,c);a=this.type(a,
b);return Ab.type.fromString(a).min(c)};Ab.graph.prototype.max=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().max(a);c=h.invoke(this._layers,"max",a,b,c);a=this.type(a,b);return Ab.type.fromString(a).max(c)};Ab.graph.prototype.levels=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().levels(a);c=h.invoke(this._layers,"levels",a,b,c);a=this.type(a,b);a=Ab.type.fromString(a);return k.mergeArrays(c,a.represent)};var la=p;la.graph.prototype._setupGrid=function(){var a=
this.coord(),b=this._scales,c=la.guide.grid(b.x,b.y);"gg.coord.polar"===a._cls_name&&c.opts("render-vertical",!0);h.each(this._attr,function(a,b){"grid-"==b.substring(0,5)&&!h.isNull(a)&&c.opts(b.substring(5),a)});return c};la.graph.prototype._setupAxes=function(){var a=this.coord(),b=a._flip!==("gg.coord.polar"===a._cls_name),c=b?"x":"y",d=la.guide.axis(this._scales[b?"y":"x"],"x",a),e=la.guide.axis(this._scales[c],"y",a);"gg.coord.polar"===a._cls_name&&e.opts("line",!0);h.each(this._attr,function(a,
b){var c=b.substring(0,7);"axis-x-"==c&&!h.isNull(a)?d.opts(b.substring(7),a):"axis-y-"==c&&!h.isNull(a)?e.opts(b.substring(7),a):"axis-"==c.substring(0,5)&&(d.opts(b.substring(5),a),e.opts(b.substring(5),a))});return this._axes=a={x:d,y:e,flip:b}};la.graph.prototype._renderAxis=function(a,b){var c=this.coord(),d,e=a.flip?"x":"y",f=this.opts("axis-y");if("left"==f&&0===b.col||"right"==f&&b.col===b.ncol-1||b.free_y)d=this.getAxisOffset(b.row,b.col,f),d={position:f,coord:c,canvas:this.createOffsetCoord(d.x,
d.y)},a.y.renderLinear(d);f=this.opts("axis-x");"none"!=f&&("gg.coord.polar"===c._cls_name?(d=this.getAxisOffset(b.row,b.col,"circular"),d={position:"circular",coord:c.differentOffset(b.xpos,b.ypos),radius:this._scales[e].range()[1],canvas:this.createOffsetCoord(d.x,d.y)},a.x.renderCircular(d)):(d=this.getAxisOffset(b.row,b.col,f),d={position:f,coord:c,canvas:this.createOffsetCoord(d.x,d.y)},"bottom"==f&&b.row==b.nrow-1||"top"==f&&0===b.row||b.free_x?a.x.renderLinear(d):a.x.renderLinear(d,{labels:!1})))};
la.graph.prototype.renderPrimary=function(a){var b=this.dimensions(),c=this._facet,d=b.ncol,b=b.nrow,e=0,f,g,h=this.coord(),i=this._setupGrid(),k=this._axes,l=this._scales,m=c?c.opts("free_x"):!1,p=c?c.opts("free_y"):!1,q=function(a,b){l[a].make(b);i.opts(a+"scale",l[a]);k[k.flip==("x"==a)?"y":"x"].scale(l[a])};this._timer&&this._timer.mark("renderPrimary - pre-rendering()");for(var s=0;s<b;s++)for(var t=0;t<d&&(!c||c.isValidIndex(e));t++){f=this.xposition(t);g=this.yposition(s);m&&q("x",e);p&&q("y",
e);var u=h.differentOffset(f,g).opts("mouseover_highlight",!1);i.render(u);this._timer&&this._timer.mark("renderGrid()");for(u=0;u<this._layers.length;u++)if(!a||!a[u])this.renderLayer(this.getLayer(u),f,g,l,e),this._timer&&this._timer.mark("renderLayer()");this._renderAxis(k,{col:t,row:s,ncol:d,nrow:b,xpos:f,ypos:g,free_x:m,free_y:p});this._timer&&this._timer.mark("renderAxis()");e++}};la.graph.prototype.renderLayer=function(a,b,c,d,e){b={rawScales:d,coord:this._coord.differentOffset(b,c),facetIndex:e};
a.renderEntry(b)};la.graph.prototype.renderAllFacetLabel=function(){var a=this.dimensions(),b=a.ncol,c=a.nrow;if(1<c||1<b)for(var a={eachWidth:a.eachWidth,width:a.chartWidth+a.paddingLeft,eachHeight:a.eachHeight},d=0;d<c;d++)for(var e=0;e<b;e++)a.row=d,a.col=e,a.ypos=this.yposition(d),a.xpos=this.xposition(e),this._facet.renderLabel(this._paper,a)};la.graph.prototype.renderLegend=function(){var a=this.opts("legend-position");if("none"!=a){var b=this.dimensions(),c=b.chartWidth,d=b.chartHeight,e,f;
"left"==a||"right"==a?(f=b.paddingTop,e=10,"right"==a&&(e+=b.paddingLeft+c+10)):"bottom"==a?(f=d+b.paddingTop+45,e=b.paddingLeft):la.error(1E3,"Leged position should be left, right, bottom or none. Got "+a+" instead.");a={canvas:this.createOffsetCoord(e,f),chartWidth:c,chartHeight:d};this._legend.render(a)}};la.graph.prototype.renderOtherLabel=function(){this.dimensions();"polar"!==this._coord._name&&(this.render_y_label(),this.render_x_label());this.render_title()};la.graph.prototype.render_label=
function(a,b,c,d){a=this._paper.text(b,c,a).attr("class",d);return this._doms[d]=a};la.graph.prototype.render_title=function(){this.dimensions();var a=this.opts("width")/2;this.render_label(this.opts("title"),a,15,"_debug_title").attr("font-weight",this.opts("title-bold")?"bold":"normal").attr("font-size",this.opts("title-size"))};la.graph.prototype.render_x_label=function(){var a=this.dimensions(),b=a.paddingLeft+a.chartWidth/2,a=a.xLabelY,c="gg.coord.polar"===this.coord()._cls_name?this._coord._flip?
"x":"y":this._coord._flip?"y":"x";this.render_label(this._varlabel(c),b,a,"_debug_x_label").attr("font-weight",this.opts("label-bold")?"bold":"normal").attr("font-size",this.opts("label-size"))};la.graph.prototype.render_y_label=function(){var a=this.dimensions(),b=a.yLabelX,a=a.paddingTop+a.chartHeight/2,c="gg.coord.polar"===this.coord()._cls_name?this._coord._flip?"y":"x":this._coord._flip?"x":"y";this.render_label(this._varlabel(c),b,a,"_debug_y_label").transform("r270").attr("font-weight",this.opts("label-bold")?
"bold":"normal").attr("font-size",this.opts("label-size"))};la.graph.prototype.render_branding=function(){var a=this._paper,b=this.opts("height")-6;a.path(k.d3_arc(82,b+1,0,4,-Math.PI/2,1*Math.PI/6)).attr("fill","#F89E34").attr("stroke","#F89E34");a.path(k.d3_arc(82,b+1,0,5,1*Math.PI/6,5*Math.PI/6)).attr("fill","#FFF425").attr("stroke","#FFF425");a.path(k.d3_arc(82,b+1,0,6.5,5*Math.PI/6,9*Math.PI/6)).attr("fill","#6DBB58").attr("stroke","#6DBB58");a.text(65,b,"Made With P o lychart").attr({"font-size":12,
"font-weight":"bold","font-family":"Arial, sans-serif"}).attr("fill","#AAA").toBack()};"use strict";p.graph.prototype.getScaleKeys=function(){return h.keys(this._scales)};p.graph.prototype.removeScale=function(a){return h.has(this._scales,a)?(delete this._scales[a],!0):!1};p.graph.prototype.removeAllScales=function(){this._scales={}};p.graph.prototype.getScale=function(a){return this._scales[a]};p.graph.prototype.scale=function(a,b){k.assertAes(a);(b=k.instantiate(b))||p.error(201,"Attempting to add an undefined or malformed scale: "+
b);var c=k.cloneobj(b);c.attach(this,a);this._scales[a]=c;return this};p.graph.prototype.resetScale=function(a){var b=this.makeDefaultScales([a])[a];return b?(this.scale(a,b),this.computeScale(),!0):!1};p.graph.prototype.makeDefaultScales=function(a){var b=this,c=this._scales;a||(a=h.chain(this._layers).map(function(a){return h.keys(a.getMap())}).flatten().push("x").push("y").uniq().filter(function(a){return k.isDerivedAes(a)||"group"==k.getBaseAes(a)?!1:!0}).reject(function(a){return h.has(c,a)}).value());
var d={};h.each(a,function(a){var c=b.type(a),g=p.type.fromString(c);c&&(c="unknown"===c?p.scale.id():g.defaultScale(a),d[a]=c)});!this._scales.x&&(!d.x&&h.contains(a,"x"))&&(d.x=p.scale.discrete());!this._scales.y&&(!d.y&&h.contains(a,"y"))&&(d.y=p.scale.continuous());return d};p.graph.prototype.bindDerivedScales=function(){var a=this._scales,b=this.getMapKeys();h.each(b,function(b){k.isDerivedAes(b)&&(a[b]=a[k.getBaseAes(b)])})};p.graph.prototype.computeScale=function(){var a=this._scales,b=this.dimensions();
this._coord.configScale({x:0,y:0,width:b.eachWidth,height:b.eachHeight},a);h.each(a,function(a,b){k.isDerivedAes(b)||a.make()})};var ta=p;ta.guide.axis=k.makeClass("gg.guide.axis",ta.guide.base);ta.guide.axis.prototype.init=function(a,b,c){ta.guide.base.prototype.init.call(this);this._type=b||a._aes;"x"!=this._type&&"y"!=this._type&&ta.error(500,"Axis can only be created from x- or y- aesthetics, got "+this._type+" instead.");this._scale=a;this._coord=c;this._flip="y"==b&&"gg.coord.polar"==c._cls_name;
this._attr=k.cloneobj(ta.opts.axis);"x"==this._type?h.extend(this._attr,ta.opts.axis_x):"y"==this._type&&h.extend(this._attr,ta.opts.axis_y)};ta.guide.axis.prototype.width=function(){return this._scale.maxLabelWidth()};ta.guide.axis.prototype.scale=function(a){this._scale=a;return this};ta.guide.axis.prototype.renderLinear=function(a,b){var c=a.canvas,d=a.position,e="top"==d||"bottom"==d,f="left"==d||"right"==d,g=e?"middle":"left"==d?"end":"start",j=e?0:"left"==d?-10:10,i=f?0:"top"==d?-10:15,k=e?
this.opts("ticklength-x"):this.opts("ticklength-y"),l=this.opts("fontsize"),m=this.opts("color"),p=this.opts("strokewidth");b||(b={line:!0,ticks:!0,labels:!0});!e&&!f&&ta.error(501,"Position should be 'top', 'bottom', 'left', or 'right'. Got "+d+" instead.");e&&"x"!=this._type&&ta.error(501,"Position should be 'top' or 'bottom'. Got "+d+" instead.");f&&"y"!=this._type&&ta.error(501,"Position should be 'left', or 'right'. Got "+d+" instead.");var q=[0,0],s=[0,0];e?q=this._scale.range():s=this._scale.range();
this.opts("line")&&!1!==b.line&&c.line().attr("func",{x1:q[0],x2:q[1],y1:s[0],y2:s[1],stroke:m,"stroke-width":p}).attr("data",{});q=this._scale.ticks(null,this._flip);if(this._flip){var t=h.max(this._scale.range());h.each(q,function(a){a.pos=t-a.pos})}this.opts("ticks")&&!1!==b.ticks&&h.each(q,function(a){c.line().attr("func",{x1:function(a){return e?a.pos:0},x2:function(a){return e?a.pos:"left"==d?-k:k},y1:function(a){return f?a.pos:0},y2:function(a){return f?a.pos:"top"==d?-k:k},stroke:m,"stroke-width":p}).attr("data",
a)});this.opts("labels")&&!1!==b.labels&&h.each(q,function(a){c.text().attr("func",{x:function(a){return e?a.pos:j},y:function(a){return f?a.pos:i},text:function(a){return String(a.label)},"font-size":l,"font-color":m,"text-anchor":g}).attr("data",a)})};ta.guide.axis.prototype.renderCircular=function(a,b){var c=a.coord,d=a.radius,e=this.opts("ticklength-y"),f=this.opts("fontsize"),g=this.opts("color"),j=this.opts("strokewidth"),b=b||{line:!0,ticks:!0,labels:!0},i,l,p,m,s,q,u,t;c._flip?(i=h.bind(c.vline,
c),l=h.bind(c.hline,c),p="y",s="y1",q="y2",m="x",u="x1",t="x2"):(i=h.bind(c.hline,c),l=h.bind(c.vline,c),p="x",s="x1",q="x2",m="y",u="y1",t="y2");if(this.opts("line")&&!1!==b.line){var v={stroke:g,"stroke-width":j};v[p]=k.constfunc(d);v[u]=k.constfunc(0);v[t]=k.constfunc(360);l().attr("func",v).attr("data",{})}l=this._scale.ticks(null);this._scale.CONTINUOUS&&l.pop();this.opts("ticks")&&!1!==b.ticks&&(v={"class":"labeltick",stroke:g,"stroke-width":j},v[s]=k.constfunc(d),v[q]=k.constfunc(d+e),v[m]=
function(a){return a.pos},h.each(l,function(a){i().attr("func",v).attr("data",a)}));this.opts("labels")&&!1!==b.labels&&(v={text:function(a){return a.label},"font-size":k.constfunc(f),"text-anchor":k.constfunc("middle"),"font-color":k.constfunc(g)},v[p]=k.constfunc(d+e+10),v[m]=function(a){return a.pos},h.each(l,function(a){c.text().attr("func",v).attr("data",a)}))};var Ob=p;Ob.guide.grid=k.makeClass("gg.guide.grid",Ob.guide.base);Ob.guide.grid.prototype.init=function(a,b){Ob.guide.base.prototype.init.call(this);
this._attr=k.cloneobj(Ob.opts.grid);this.opts("xscale",a);this.opts("yscale",b)};Ob.guide.grid.prototype.render=function(a){var b=this,c=a._flip!==("gg.coord.polar"===a._cls_name),d=null,e=null;"gg.coord.polar"==a._cls_name&&(a._flip?d=6:e=6);var f=this.opts("xscale"),g=f.range(),j=h.min(g),i=h.max(g),d=f.ticks(d,c),l=this.opts("yscale"),g=l.range(),p=h.min(g),m=h.max(g),c=l.ticks(e,c);this.opts("render-vertical")&&h.each(d,function(c){a.vline().attr("func",{x:function(a){return f.apply(a.data)},
y1:k.constfunc(p),y2:k.constfunc(m),stroke:b.opts("stroke"),"stroke-width":b.opts("strokewidth"),"stroke-dasharray":b.opts("dasharray"),"stroke-dashoffset":b.opts("dashoffset")}).attr("data",c)});this.opts("render-horizontal")&&h.each(c,function(c){a.hline().attr("func",{y:function(a){return l.apply(a.data)},x1:k.constfunc(j),x2:k.constfunc(i),stroke:b.opts("stroke"),"stroke-width":b.opts("strokewidth"),"stroke-dasharray":b.opts("dasharray"),"stroke-dashoffset":b.opts("dashoffset")}).attr("data",
c)})};var ua=p,oh="x y text group group2 grp tooltip".split(" ");ua.guide.legend=k.makeClass("gg.guide.legend",ua.guide.base);ua.guide.legend.prototype.init=function(a,b,c,d){ua.guide.base.prototype.init.call(this);this._graph=a;this._layers=b;this._scales=c;this._aes=h.chain(c).keys().reject(function(a){return k.isDerivedAes(a)||-1!=h.indexOf(oh,a)}).value();this._mappings=h.map(b,function(a){return a.getMap()});this._legends=null;this._position=d};ua.guide.legend.prototype.width=function(){this.group();
var a=this;if("bottom"!=this._position){var b=h.chain(this._legends).map(function(a){return a.sample_scale.maxLabelWidth()}).max().value()+30,c=h.chain(this._legends).map(function(b){return k.strlenToPixel(a._graph._varlabel(b.sample_aes).length,"bold")}).max().value()+30;return Math.max(b,c,0)}return 0};ua.guide.legend.prototype.height=function(){return"bottom"==this._position?100:0};ua.guide.legend.prototype.group=function(){var a=this;this._legends=[];for(var b=h.clone(this._aes),c="",d=function(b,
d){b.aes.push(d);b.sample_scale_categorical||(c=a._scales[d],b.sample_aes=d,b.sample_scale=c,b.sample_scale_categorical=c.DISCRETE)};0<b.length;){var e=b.pop(),f=h.pluck(this._mappings,e),g=null,j={aes:[],mapping:f,sample_aes:null,sample_scale:null,sample_scale_categorical:!1,layers:[],type:"point"};d(j,e);for(e=0;e<b.length;)g=h.pluck(this._mappings,b[e]),h.isEqual(g,f)?d(j,b.splice(e,1)[0]):e++;f=[];g=[];for(e=0;e<this._layers.length;e++)this._mappings[e][j.sample_aes]&&(g.push(this._layers[e]),
f.push(this._layers[e]._cls_name.split(".")[2]));if(0!==g.length){j.layers=g;e=j;a:{for(g=0;g<f.length;g++)if("line"==f[g]||"path"==f[g]){f="line";break a}f="point"}e.type=f;this._legends.push(j)}}return this};ua.guide.legend.prototype.render=function(a){h.isNull(this._legends)&&this.group();var b=this,c,d=0,e="bottom"==this._position?"h":"v";h.each(this._legends,function(f){f={legend:f,canvas:a.canvas.differentOffset(0,d),orientation:e,chartWidth:a.chartWidth,chartHeight:a.chartHeight};c=b._renderEach(f);
d="h"==e?d+(c.y+15):d+(c.y+10)})};ua.guide.legend.prototype._renderEach=function(a){var b=this,c=a.legend,d=a.canvas,e=c.sample_aes,f=c.sample_scale,g=c.layers,j={color:k.constfunc("#000000"),stroke:k.constfunc("#000000"),strokewidth:k.constfunc(0),symbol:k.constfunc(ua.symbol.CIRCLE),radius:k.constfunc(5),opacity:k.constfunc(1)};"line"==c.type?(j.symbol=k.constfunc(ua.symbol.CROSS),j.strokewidth=k.constfunc(1)):j.symbol=k.constfunc(ua.symbol.CIRCLE);h.each(h.keys(j),function(a){if("radius"!=a){var b=
g[0].opts(a);if(h.isString(b)||h.isNumber(b))j[a]=k.constfunc(b)}});h.each(c.aes,function(a){j[a]=h.bind(b._scales[a].apply,b._scales[a],"data")});var i="category"==f.type()?this._graph.levels(e).length:5,f=f.ticks(i),l="line"==c.type?this._render_line_tick:this._render_point_tick,p=0,m=0,c=d.text().attr("func",{x:0,y:0,"font-size":"13px","font-weight":"bold","text-anchor":"start",text:k.constfunc(b._graph._varlabel(e))}).attr("data",{}),m=m+c.getBBox().height,s,q,u=0,t=0;h.each(f,function(c){s=l(c,
d,j,p,m);q=b._render_label(c,d,p+20,m);"v"==a.orientation?(m+=Math.max(q.getBBox().height,s.getBBox().height),t=Math.max(t,m)):(p+=q.getBBox().width+40,u=Math.max(u,p),p>a.chartWidth-q.getBBox().width&&(m+=Math.max(q.getBBox().height,s.getBBox().height),t=Math.max(t,m),p=0))});"h"==a.orientation&&(t+=Math.max(q.getBBox().height,s.getBBox().height));return{y:t,x:u}};ua.guide.legend.prototype._render_line_tick=function(a,b,c,d,e){return b.line().attr("func",{x1:k.constfunc(d),x2:k.constfunc(d+14),y1:k.constfunc(e),
y2:k.constfunc(e),stroke:c.color,"fill-opacity":c.opacity,"stroke-width":c.strokewidth}).attr("data",a)};ua.guide.legend.prototype._render_point_tick=function(a,b,c,d,e){return b.point().attr("func",{cx:k.constfunc(d+7),cy:k.constfunc(e),r:c.radius,symbol:c.symbol,fill:c.color,stroke:c.stroke,"fill-opacity":c.opacity,"stroke-width":c.strokewidth}).attr("data",a)};ua.guide.legend.prototype._render_label=function(a,b,c,d){return b.text().attr("func",{x:k.constfunc(c),y:k.constfunc(d),"font-size":"12px",
"text-anchor":"start",text:function(a){return String(a.label)}}).attr("data",a)};var Ra=p;Ra.layer.area=k.makeClass("gg.layer.area",Ra.layer.base);Ra.layer.area.prototype.init=function(){Ra.layer.base.prototype.init.call(this);this.opts("stroke","none").opts("opacity",0.4).opts("color","steelblue").opts("strokewidth",0).opts("padding",0.5)};Ra.layer.area.prototype.calculatePartials=function(){return!0};Ra.layer.area.prototype.layerGroup=function(){return["group","group_color","group_opacity"]};Ra.layer.area.prototype.defaultMin=
function(a,b){h.isDate(b)&&(b=b.getTime());return"y"==a?0:Ra.layer.base.prototype.defaultMin.call(this,a,b)};Ra.layer.area.prototype.render=function(a){var b=a.coord,c=a.scales,d=a.rawScales.y.opts("domain_low");c.y(d);var e=function(a){return function(b,c){h.each(a,function(a){b.push(f(a.x));c.push(g(a.y))})}},f,g;f=c.x;g=c.y_2||c.y_override||c.y;var j=this,d=a.computedData,i=this.map("group");i&&(d=h.sortBy(d,function(a){return a._internal[0][i]}));d.reverse();var k=[],l=this.map("x");h.each(d,
function(d){j.opts("domain")&&(d=j.fillZero(d,a,["$sum","$partial_1","$partial_2"]));k=h.chain(d._internal).map(function(a){return{x:l?a[l]:1,y:a.$partial_1||0}}).sortBy(function(a){return a.x}).value();k.reverse();b.poly().attr("func",{x:f,y:g,_sort:f,_pointModifier:e(k),_style:c}).attr("data",d)})};Ra.layer.area.prototype.imputeMapping=function(a){return Ra.layer.base.prototype.imputeMapping.call(this,a,{group:["stroke","color"]})};var oa=p;oa.layer.bar=k.makeClass("gg.layer.bar",oa.layer.base);
oa.layer.bar.prototype.init=function(){oa.layer.base.prototype.init.call(this);var a=this;h.each(oa.opts.bar,function(b,c){a.opts(c,b)});this.opts("padding",0)};oa.layer.bar.prototype.calculatePartials=function(){return!0};oa.layer.bar.prototype.layerGroup=function(){return["x"]};oa.layer.bar.prototype.defaultMin=function(a,b){h.isDate(b)&&(b=b.getTime());if("y"==a)return 0;if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b-d/2;if("right"==c)return b-d}return oa.layer.base.prototype.defaultMin.call(this,
a,b)};oa.layer.bar.prototype.defaultMax=function(a,b){if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b- -d/2;if("left"==c)return b- -d}return oa.layer.base.prototype.defaultMax.call(this,a,b)};oa.layer.bar.prototype.defaultScales=function(){return{x:oa.scale.discrete("x")}};oa.layer.bar.prototype.checkErrors=function(a){return"number"!==a.rawScales.y.type()?(oa.error(311,"y scale must be numeric."),!0):!1};oa.layer.bar.prototype.render=function(a){var b=a.coord,c=a.scales,
d=this.opts("width"),e;e=a.rawScales.x.DISCRETE?a.width:a.rawScales.x.apply(d)-a.rawScales.x.apply(0);var d=e/2*(1-2*this.opts("padding")),f=a.rawScales.y.opts("domain_low");h.isNumber(f)||this.warn(-2,"originLocation is numeric.");0>f&&(f=0);var g=null,j=null,i,l,p=this.opts("align");"left"==p||"right"==p?(e=e/2-d,"right"==p?(i=k.sub(c.x,e),l=k.sub(c.x,e+2*d)):(i=k.add(c.x,e),l=k.add(c.x,e+2*d))):"center"==p&&(i=k.sub(c.x,d),l=k.add(c.x,d));c.y_1&&c.y_2?(j=c.y_1,g=c.y_2):(j=c.y_override?c.y_override:
c.y,g=d=j(f));var m=this,s=this.opts("onDoubleclick");h.each(a.computedData,function(a){a.each(function(a){b.rect().ggTooltip(c).ggDoubleClick(s,m).attr("func",{x1:i,x2:l,y1:j,y2:g,_style:c}).attr("data",a)})})};var ia=p;ia.layer.box=k.makeClass("gg.layer.box",ia.layer.base);ia.layer.box.prototype.init=function(){ia.layer.base.prototype.init.call(this);var a=this;h.each(ia.opts.box,function(b,c){a.opts(c,b)});this._default_stats=ia.stats.box};ia.layer.area.prototype.calculatePartials=function(){return!0};
ia.layer.box.prototype.layerGroup=function(){return["x"]};ia.layer.box.prototype.defaultMin=function(a,b){h.isDate(b)&&(b=b.getTime());if("y"==a)return 0;if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b-d/2;if("right"==c)return b-d}};ia.layer.box.prototype.defaultMax=function(a,b){if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b- -d/2;if("left"==c)return b- -d}return ia.layer.base.prototype.defaultMax.call(this,a,b)};ia.layer.box.prototype.checkErrors=
function(){var a=h.keys(this.getMap());if(h.include(a,"y"))return!1;this.warn(320,"No mapping has been set in layer "+this._cls_name);return!0};ia.layer.box.prototype.render=function(a){var b=a.coord,c=a.scales,d=this.opts("width"),d=a.rawScales.x.DISCRETE?a.width:a.rawScales.x.apply(d)-a.rawScales.x.apply(0),e=d/2*(1-2*this.opts("padding")),f,g,j,i=this.opts("align"),l=this;if("left"==i||"right"==i){var p=d/2-e;"right"==i?(j=k.sub(c.x,e),f=k.sub(c.x,d/2),g=k.sub(c.x,p+2*e)):(j=k.add(c.x,d/2),f=k.add(c.x,
p),g=k.add(c.x,p+2*e))}else"center"==i&&(f=k.sub(c.x,e),j=c.x,g=k.add(c.x,e));c.y_q0||(c.y_q0=c.y);c.y_q1||(c.y_q1=c.y);c.y_q2||(c.y_q2=c.y);c.y_q3||(c.y_q3=c.y);c.y_q4||(c.y_q4=c.y);var m=this.opts("onDoubleclick");h.each(a.computedData,function(a){a.each(function(a){!h.isNull(a.$q0)&&!h.isNull(a.$q3)?(b.vline().attr("func",{y1:c.y_q0,y2:c.y_q1,x:j,_style:c}).attr("data",a),b.vline().attr("func",{y1:c.y_q3,y2:c.y_q4,x:j,_style:c}).attr("data",a),b.rect().ggDoubleClick(m,l).attr("func",{x1:f,x2:g,
y1:c.y_q1,y2:c.y_q3,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q4,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q2,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q0,_style:c}).attr("data",a)):b.point().ggTooltip(c).attr("func",{cx:j,cy:c.y,r:c.radius,symbol:k.constfunc(ia.symbol.CIRCLE),_style:c}).attr("data",a)})})};ia.layer.box.prototype.imputeMapping=function(a){return ia.layer.base.prototype.imputeMapping.call(this,a,{group:"x"})};ia.layer.box.prototype.checkErrors=
function(a){return"number"!==a.rawScales.y.type()?(ia.error(311,"y scale must be numeric."),!0):!1};var hc=p;hc.layer.histo=k.makeClass("gg.layer.histo",hc.layer.bar);hc.layer.histo.prototype.init=function(){hc.layer.bar.prototype.init.call(this);this._default_stats=hc.stats.bin};var Bb=p;Bb.layer.jitter=k.makeClass("gg.layer.jitter",Bb.layer.base);Bb.layer.jitter.prototype.init=function(){Bb.layer.base.prototype.init.call(this);this.opts("radius",3);this.opts("symbol",Bb.symbol.CIRCLE)};Bb.layer.jitter.prototype.render=
function(a){var b=a.coord,c=a.scales,d={cx:function(a){return c.x(a)+20*(Math.random()-0.5)},cy:function(a){return c.y(a)+20*(Math.random()-0.5)},r:c.radius,symbol:c.symbol,stroke:c.stroke,"stroke-width":c.strokewidth,"fill-opacity":c.opacity,fill:c.color};a.computedData.each(function(a){b.point().attr("func",d).attr("data",a)})};Bb.layer.jitter.prototype.hasGroup=function(){return!1};var Sa=p;Sa.layer.line=k.makeClass("gg.layer.line",Sa.layer.base);Sa.layer.line.prototype.init=function(){Sa.layer.base.prototype.init.call(this);
this.opts("symbol",Sa.symbol.CIRCLE);var a=this;h.each(Sa.opts.line,function(b,c){a.opts(c,b)})};Sa.layer.line.prototype.layerGroup=function(){return["group","group_color","group_strokewidth"]};Sa.layer.line.prototype.render=function(a){var b=a.coord,c=a.scales,d=c.y_override||c.y;this.map("x");this.map("y");var e=this;h.each(a.computedData,function(f){var g;g=e.opts("domain")?e.fillZero(f,a,["$sum","$partial_1","$partial_2"]):f;b.poly().attr("func",{x:c.x,y:d,_sort:c.x,stroke:c.color,fill:"none",
"stroke-width":c.strokewidth}).attr("data",g);var h={cx:c.x,cy:d,r:c.strokewidth,stroke:"#FFFFFF",fill:c.color,symbol:c.symbol,"stroke-width":0};f.each(function(a){b.point().ggTooltip(c).attr("func",h).attr("data",a)})})};Sa.layer.line.prototype.imputeMapping=function(a){return Sa.layer.base.prototype.imputeMapping.call(this,a,{group:["strokewidth","stroke","color"]})};Sa.layer.line.prototype.defaultMin=function(a){if("y"==a)return 0};var lb=p;lb.layer.path=k.makeClass("gg.layer.path",lb.layer.base);
lb.layer.path.prototype.init=function(){lb.layer.base.prototype.init.call(this);var a=this;h.each(lb.opts.line,function(b,c){a.opts(c,b)})};lb.layer.path.prototype.render=function(a){var b=a.coord,c=a.scales,d=c.y_override||c.y;h.each(a.computedData,function(a){b.poly().attr("func",{x:c.x,y:d,stroke:c.color,fill:"none","stroke-width":c.strokewidth}).attr("data",a)})};lb.layer.line.prototype.imputeMapping=function(a){return lb.layer.base.prototype.imputeMapping.call(this,a,{group:["stroke","color"]})};
var Ta=p;Ta.layer.point=k.makeClass("gg.layer.point",Ta.layer.base);Ta.layer.point.prototype.init=function(){Ta.layer.base.prototype.init.call(this);var a=this;h.each(Ta.opts.point,function(b,c){a.opts(c,b)});this.opts("symbol",Ta.symbol.CIRCLE)};Ta.layer.point.prototype.render=function(a){var b=a.coord,c=a.scales,d={cx:c.x,cy:c.y_override||c.y,r:c.radius,symbol:c.symbol,_style:c};a.computedData.each(function(a){b.point().ggTooltip(c).attr("func",d).attr("data",a)},this.opts("render-max"))};Ta.layer.point.prototype.imputeMapping=
function(a){return Ta.layer.base.prototype.imputeMapping.call(this,a,{color:"stroke"})};Ta.layer.point.prototype.hasGroup=function(){return!1};Ta.layer.base.prototype.requiredMap=function(){return["x","y"]};var Cb=p;Cb.layer.text=k.makeClass("gg.layer.text",Cb.layer.base);Cb.layer.text.prototype.init=function(){Cb.layer.base.prototype.init.call(this);var a=this;h.each(Cb.opts.text,function(b,c){a.opts(c,b)})};Cb.layer.text.prototype.render=function(a){var b=a.coord,c=a.scales,d=c.y_override||c.y;
a.computedData.each(function(a){b.text().attr("func",{x:c.x,y:d,text:c.text,fill:c.color,"fill-opacity":c.opacity,"font-size":c.fontsize,"font-family":c.font}).attr("data",a)})};Cb.layer.text.prototype.hasGroup=function(){return!1};var Pb=p;Pb.layer.tile=k.makeClass("gg.layer.tile",Pb.layer.base);Pb.layer.tile.prototype.init=function(){Pb.layer.base.prototype.init.call(this);this.opts("stroke","none").opts("padding",0.5)};Pb.layer.tile.prototype.render=function(a){var b=a.scales,c=a.rawScales.x.width(),
d=a.rawScales.y.width(),e=c/2,f=d/2,g=a.coord;a.computedData.each(function(a){g.rect().attr("func",{x1:k.sub(b.x,e),y1:k.sub(b.y,f),x2:k.add(b.x,e),y2:k.add(b.y,f),_style:b}).attr("data",a)})};Pb.layer.tile.prototype.hasGroup=function(){return!1};var K=p;K.pivot=k.makeClass("gg.pivot");K.pivot.prototype.init=function(a){this._data=a;this._statData={};this._attr=k.cloneobj(K.opts.pivot);this._mapping={};this._levels={};this._stats=null;this._calculated=!1;this._scales={}};K.pivot.prototype.data=k.dataGetter();
K.pivot.prototype.map=function(a,b){if(1===arguments.length)return this._mapping[a];b?this._mapping[a]=b:delete this._mapping[a];this.resetCalculate();return this};K.pivot.prototype.levels=function(a,b){if(1===arguments.length)return this._levels[a]?this._levels[a]:this.callData("levels",a);b?this._levels[a]=b:delete this._levels[a];return this};K.pivot.prototype.getMap=function(){var a={};this._mapping.column&&(a.group_c=this._mapping.column);this._mapping.row&&(a.group_r=this._mapping.row);this._mapping.value&&
(a.y=this._mapping.value);return a};K.pivot.prototype.getScale=function(a){return this._scales[a]};K.pivot.prototype.scale=function(a,b){if(!("column"!=a&&"row"!=a)){(b=k.instantiate(b))||K.error(201,"Attempting to add an undefined or malformed scale: "+b);var c=k.cloneobj(b);c.attach(this,a);this._scales[a]=c;return this}};K.pivot.prototype.opts=k.opts();K.pivot.prototype.stats=function(a){if(1===arguments.length)return(a=k.instantiate(a))||K.error(304,"Attempting to add an undefined or malformed statistic: "+
a),this._stats=a,this.resetCalculate(),this;if(this._stats)return this._stats;var b=this._mapping.value,c=b?this._data.type(b):"";return"category"==c||!b?K.stats.count():"date"==c?K.stats.mean():K.stats.sum()};K.pivot.prototype.callData=function(a,b,c){if(!c||"data"==c)return this._data[a](b);if("aes"==c)return this._data[a](this.map(b));K.error(-1,"not supported "+c)};K.pivot.prototype.type=function(a,b){return this.callData("type",a,b)};K.pivot.prototype.min=function(a,b){return this.callData("min",
a,b)};K.pivot.prototype.max=function(a,b){return this.callData("max",a,b)};K.pivot.prototype.calculateStats=function(a,b){return a.calculateStats(this._data,b)[0]};K.pivot.prototype.calculate=function(){if(!this._calculated){var a=this.stats(),b={};this._scales.column&&(b.group_c=this._scales.column);this._scales.row&&(b.group_r=this._scales.row);var c=this.getMap(),b={scales:b,mapping:c,group_aes:[],attr:{y:this.opts("y"),x:this.opts("x")},no_partials:!0};this._statData={};c.group_c&&c.group_r&&
(b.group_aes=["group_c","group_r"],this._statData.cr=this.calculateStats(a,b));if(c.group_c){var d=b.mapping.group_r;delete b.mapping.group_r;b.group_aes=["group_c"];this._statData.c=this.calculateStats(a,b);b.mapping.group_r=d;delete b.mapping.group_c}c.group_r&&(b.group_aes=["group_r"],this._statData.r=this.calculateStats(a,b),delete b.mapping.group_r);this._statData.none=this.calculateStats(a,b);return this}};K.pivot.prototype.resetCalculate=function(){this._calculated=!1;this._default_stats=K.stats.sum;
return this};K.pivot.prototype._getPrettifyFunction=function(a,b){var c=-Infinity,d=!0;h.each(a,function(a){h.each(a.get(b),function(a){a>c&&(c=a);d&&0!==a%1&&(d=!1)})});var e=Math.log(Math.abs(c))/Math.LN10;return d||3<=e?function(a){return k.prettify(a,0)}:function(a){return k.prettify(a,-Math.floor(e-2))}};var rf=function(a){return a.toString()};K.pivot.prototype._getColumnFormatter=function(){return!this.opts("colFormatter")?rf:this.opts("colFormatter")};K.pivot.prototype._getRowFormatter=function(){return!this.opts("rowFormatter")?
rf:this.opts("rowFormatter")};K.pivot.prototype._makeTableArray=function(){var a=this.map("column"),b=this.map("row"),c=this.stats().imputeMapping({}),d=c.y||c.y_override,e=a?this.levels(a):[],f=b?this.levels(b):[],g=this._getRowFormatter(),j=this._getColumnFormatter(),e=h.map(e,j),f=h.map(f,g),i=e.length,k=f.length,l=this._getPrettifyFunction(this._statData,d),m=Array(k+2),c=this.opts("title-all");m[0]=[""].concat(e).concat([c]);var p,q;for(q=1;q<k+2;q++)m[q]=Array(i+2),m[q][0]=q==k+1?c:f[q-1];this._statData.cr&&
h.each(this._statData.cr.getRaw(),function(c){q=a?h.indexOf(e,j(c[a])):-1;p=b?h.indexOf(f,g(c[b])):-1;-1!==p&&-1!==q&&(m[p+1][q+1]=l(c[d]))});this._statData.c&&h.each(this._statData.c.getRaw(),function(b){q=a?h.indexOf(e,j(b[a])):0;-1!==q&&(m[k+1][q+1]=l(b[d]))});this._statData.r&&h.each(this._statData.r.getRaw(),function(a){p=b?h.indexOf(f,g(a[b])):0;-1!==p&&(m[p+1][i+1]=l(a[d]))});this._statData.none&&h.each(this._statData.none.getRaw(),function(a){m[k+1][i+1]=l(a[d])});return m};K.pivot.prototype.makeTableDom=
function(a){a||K.error(212,"Invalid dom for .opts('dom') - "+a);var b=jQuery,c=b(a);c||K.error(212,"Invalid dom for .opts('dom') - "+a);var d=this.opts("padding-left"),e=this.opts("padding-right"),f=this.opts("padding-top"),g=this.opts("padding-bottom"),h=this.opts("width");c.empty();a=b("<table></table>");a.css("color","black");a.css("width",h);a.css("margin-top",f);a.css("margin-bottom",g);a.css("margin-right",e);a.css("margin-left",d);b=b("<tbody></tbody>");a.append(b);c.append(a);return b};K.pivot.prototype.render=
function(a){this.calculate();var b=this._makeTableArray(),a=a||this.opts("dom"),a=this.makeTableDom(a),c,d,e,f;e=b[0]?b[0].length+2:2;d=b[0]?b[0].length:1;var g=b[0]?b.length:1,i=this.opts("title");c=$("<tr></tr>");e=$("<th></th>").attr("colspan",e);e.text(h.isUndefined(i)?" ":i);e.css("textAlign","center");e.css("paddingBottom","5px");c.append(e);a.append(c);i=this.opts("title-column")||this.map("column");c=$("<tr></tr>");c.append($("<th></th>"));c.append($("<th></th>"));e=$("<th></th>").attr("colspan",
d);e.text(i);e.css("textAlign","center");e.css("paddingBottom","5px");e.css("font-weight","normal");i&&e.css("border","1px solid black");c.append(e);a.append(c);for(var k,i=0;i<b.length;i++){d=b[i];c=$("<tr></tr>");0===i?c.append($("<th></th>")):1==i&&(f=this.opts("title-row")||this.map("row"),e=$("<th></th>").attr("rowspan",g),k=$("<div></div>"),k.text(f),k.css("-webkit-transform","rotate(270deg)"),k.css("-moz-transform","rotate(270deg)"),k.css("-ms-transform","rotate(270deg)"),k.css("-o-transform",
"rotate(270deg)"),e.css("paddingBottom","5px"),e.css("font-weight","normal"),f&&e.css("border","1px solid black"),e.css("textAlign","center"),e.css("verticalAlign","middle"),e.append(k),c.append(e));for(k=0;k<d.length;k++)f=d[k],e=$(0===i*k?"<th></th>":"<td></td>"),e.text(h.isUndefined(f)?" \u00a0":f),c.append(e),e.css("minWidth","50px"),e.css("width",100/d.length+"%"),e.css("minHeight","22px"),e.css("height",100/b.length+"%"),e.css("padding","2px"),0==i&&0==k||(0==i||0==k?e.css("border","1px solid black"):
(e.css("border","1px solid gray"),e.css("textAlign","right")));a.append(c)}return this};var aa=p;aa.scale.continuous=k.makeClass("gg.scale.continuous",aa.scale.base);aa.scale.continuous.prototype.init=function(a,b,c){aa.scale.base.prototype.init.call(this);this._type="number";this._d3scale=null;this._attr.min=h.isNumber(b)?b:null;this._attr.max=h.isNumber(c)?c:null;this._useDefault=!1;this._defaultMax=this._defaultMin=null;this.opts("transform",a||"linear");this.opts("expand",0);"log"===this.opts("transform")&&
this.opts("absolute_min",0.1)};aa.scale.continuous.prototype.domain=function(a){return 1===arguments.length?(this.min(a[0]),this.max(a[1]),this):[this._attr.domain_low,this._attr.domain_high]};aa.scale.continuous.prototype.width=function(){this._attr.width||(this._attr.width=this._makeWidth());return this._attr.width};aa.scale.continuous.prototype.maxLabelWidth=function(){var a=this._graph.max(this._aes),b=this._graph.min(this._aes),b=Math.floor(Math.log((a-b)/10)/Math.LN10);return a?k.strlenToPixel(k.prettify(a,
-b).length):15};aa.scale.continuous.prototype.distance=function(a,b){return Math.abs(this._d3scale(a)-this._d3scale(b))};aa.scale.continuous.prototype._makeDefaultMinMax=function(){if(this._graph){var a=this._aes,b=this._graph.min(a),c=this._graph.max(a);this._defaultMin=this._graph.defaultMin(a,b);this._defaultMax=this._graph.defaultMax(a,c);h.isNumber(this._defaultMin)&&this._defaultMin<this._attr.absolute_min&&(this._defaultMin=this._attr.absolute_min);h.isNumber(this._defaultMax)&&this._defaultMax>
this._attr.absolute_max&&(this._defaultMax=this._attr.absolute_max)}};aa.scale.continuous.prototype._makeWidth=function(){var a=this._graph.levels(this._aes,null,this._facetIndex);if(1>=a.length)a=this.rangeSize();else var b=h.bind(this._apply,this),a=k.minimumDelta(h.map(a,b));return Math.max(a,1)};aa.scale.continuous.prototype._makeDomain=function(){this._makeDefaultMinMax();var a=this._aes,b=this._attr.min,c=this._attr.max,d;d=0;var e=2;h.isNumber(b)&&h.isNumber(c)?(d=b,e=c):0<this._graph._layers.length&&
(this._graph.isMapped(a,!0)?(d=this._graph.min(a,null,this._facetIndex),a=this._graph.max(a,null,this._facetIndex),d===a&&(d-=1,a+=1)):(a=h.chain(this._graph._layers).invoke("opts",a).value(),d=h.min(a)-1,a=h.max(a)+1),0<this.opts("expand")&&(e=(a-d)*this.opts("expand"),0===d&&"y"==this._aes||(d-=e),a+=e),h.isNumber(this._defaultMin)&&d>this._defaultMin&&(d=this._defaultMin),h.isNumber(this._defaultMax)&&a<this._defaultMax&&(a=this._defaultMax),d=h.isNumber(b)?b:d,e=h.isNumber(c)?c:a);h.isNumber(this._attr.absolute_min)&&
(d=Math.max(d,this._attr.absolute_min));h.isNumber(this._attr.absolute_max)&&(e=Math.min(e,this._attr.absolute_max));this._saneNumber(d)||aa.error(406,"min() calculation returned an invalid number.");this._saneNumber(e)||aa.error(406,"max() calculation returned an invalid number.");d>e&&aa.error(408,"min is set to be bigger than max in a continuous scale.");this.opts("domain_low",d);this.opts("domain_high",e);return[d,e]};aa.scale.continuous.prototype.make=function(a){this.range()||aa.error(407,"Continuous scale's range is not set.");
var b=this.opts("transform");this._d3scale="log"==b?i.scale.log():"sqrt"==b?i.scale.sqrt():i.scale.linear();this._facetIndex=h.isNumber(a)?a:-1;a=this._makeDomain();this._d3scale.domain(a).range(this.range());return this};aa.scale.continuous.prototype._apply=function(a){this._d3scale||this.make();if(null===a)return null;0===a&&"log"==this.opts("transform")&&(a=this._attr.domain_low);return this._d3scale(a)};aa.scale.continuous.prototype.ticks=function(a,b){var c=0,d=this._attr.domain_low,e=this._attr.domain_high,
f="log"==this.opts("transform"),g=this._suggestNumticks(a,b);f&&(d=Math.max(Math.log(d)/Math.LN10,0),e=Math.log(e)/Math.LN10,c=aa.opts.epsilon);var h=e-d,i=Math.pow(10,Math.floor(Math.log(h/g)/Math.LN10)),g=g/h*i;0.15>=g?i*=10:0.35>=g?i*=5:0.75>=g&&(i*=2);g=[];d=Math.ceil(d/i)*i;f&&(d-=1);for(h=-Math.floor(Math.log(i)/Math.LN10);d<=e+c;){var l=d,p=l;if(f){if(0!==l%1&&0.1>=l%1){d+=i;continue}if(l%1>c&&(l=Math.floor(l)+Math.log(10*(l%1))/Math.LN10,0==l%1)){d+=i;continue}l=Math.exp(l*Math.LN10);if(l>
this._attr.domain_high+c)break;if(l<this._attr.domain_low-c){d+=i;continue}p=k.prettify(l)}else p=k.prettify(l,h);g.push(this._tickObject(l,this.apply(l),p));d+=i}return g};aa.scale.continuous.prototype.CONTINUOUS=!0;var Aa=p;Aa.scale.discrete=k.makeClass("gg.scale.discrete",Aa.scale.base);Aa.scale.discrete.prototype.init=function(){Aa.scale.base.prototype.init.call(this);this._type="category";this._eachWidth=this._levels=null;this._padding=0.02;this._rangeMin=null};Aa.scale.discrete.prototype.domain=
function(a){if(0===arguments.length)return this._levels;this._levels=a;return this};Aa.scale.discrete.prototype.padding=function(a){if(0===arguments.length)return this._padding;k.assertNumber(a);this._padding=a;return this};Aa.scale.discrete.prototype.width=function(){this._eachWidth||this.make();return this._eachWidth};Aa.scale.discrete.prototype.maxLabelWidth=function(){var a=this._graph.levels(this._aes);return!a?0:k.strlenToPixel(h.chain(a).map(function(a){return String(a).length}).max().value())};
Aa.scale.discrete.prototype.make=function(a){this.range()||Aa.error(407,"Discrete scale's range is not set.");this._facetIndex=h.isNumber(a)?a:-1;var b=this.range(),c=Math.abs(b[1]-b[0]);this._rangeMin=h.min(b);this._levels||(this._levels=this._graph.levels(this._aes,null,a),0==this._levels.length&&(this._levels=[""]));this._eachWidth=c/this._levels.length;this._eachWidth=Math.abs(this._eachWidth);a=1<=this._padding?this._padding:this._eachWidth*this._padding;this._eachWidth-=a;this._padding=a;return this};
Aa.scale.discrete.prototype._apply=function(a){this._levels||this.make();var b=h.indexOf(this._levels,a);-1===b&&this.warn(404,"Discrete scale got value "+a+" that is not in the domain.");return this._rangeMin+b*(this._eachWidth+this._padding)+this._padding/2+this._eachWidth/2};Aa.scale.discrete.prototype.ticks=function(a,b){for(var c=this._suggestNumticks(a,b),c=Math.max(1,Math.round(this._levels.length/c)),d=[],e=Math.floor(c/2);e<this._levels.length;e+=c)d.push(this._tickObject(this._levels[e],
this.apply(this._levels[e]),this._levels[e]));return d};Aa.scale.discrete.prototype.toCode=function(a,b){var c={cls:this._cls_name,funcs:[["padding",this._padding],["opts",ha.stringify(this.getAttr())]]};this._levels&&c.funcs.push(["domain",ha.stringify(this._levels)]);return k.toCode(a,b,c)};Aa.scale.discrete.prototype.DISCRETE=!0;var cb=p;cb.scale.gradient=k.makeClass("gg.scale.gradient",cb.scale.continuous);cb.scale.gradient.prototype.init=function(a,b){cb.scale.continuous.prototype.init.call(this);
this._attr.range_low=a||cb.opts.gradient.low;this._attr.range_high=b||cb.opts.gradient.high;this._d3scale=null};cb.scale.gradient.prototype.make=function(){this.range()||cb.error(407,"Gradient scale's range is not set.");h.isNumber(this._attr.domain_low)||(this._attr.domain_low=this._graph.min(this._aes));h.isNumber(this._attr.domain_high)||(this._attr.domain_high=this._graph.max(this._aes));this._d3scale=i.scale.linear().domain([this._attr.domain_low,this._attr.domain_high]).range(this.range());
return this};cb.scale.gradient.prototype._apply=function(a){this._d3scale||this.make();return this._d3scale(a)};var Wa=p;Wa.scale.id=k.makeClass("gg.scale.id",Wa.scale.base);Wa.scale.id.prototype.init=function(){Wa.scale.base.prototype.init.call(this);this._type=null};Wa.scale.id.prototype.type=function(){this._type||(this._type=this._graph.type(this._aes));return this._type};Wa.scale.id.prototype.domain=function(){return"number"==this._type?[this._graph.min(this._aes),this._graph.max(this._aes)]:
this._graph.levels(this._aes)};Wa.scale.id.prototype.range=function(){return this.domain()};Wa.scale.id.prototype.make=function(){"number"==this.type()&&(this._attr.domain_low=this._graph.min(this._aes),this._attr.domain_high=this._graph.max(this._aes))};Wa.scale.id.prototype._apply=function(a){return a};Wa.scale.id.prototype.maxLabelWidth=function(){var a=this._graph.levels(this._aes);return!a?0:k.strlenToPixel(h.chain(a).map(function(a){return String(a).length}).max().value())};var Db=p;Db.scale.palette=
k.makeClass("gg.scale.palette",Db.scale.discrete);Db.scale.palette.prototype.init=function(a){Db.scale.discrete.prototype.init.call(this);this._paletteName=a;this._d3scale=null;this._colorTable={};this._made=!1};Db.scale.palette.prototype.make=function(a){a?this._levels=a:this._levels||(this._levels=this._graph.levels(this._aes));a=this._levels.length;if(10>=a)this._d3scale=i.scale.category10();else if(20>=a)this._d3scale=i.scale.category20();else{this._colorTable={};var b;for(b=0;b<a;b++)this._colorTable[this._levels[b]]=
k.getRandomColor()}this._made=!0;return this};Db.scale.palette.prototype._apply=function(a){this._made||this.make();if(this._d3scale)return this._d3scale(a);if(this._colorTable[a])return this._colorTable[a];this.warn(404,"Palette scale got value "+a+" that is not in the domain.");return null};Db.scale.palette.prototype.toCode=function(a,b){var c={cls:this._cls_name,funcs:[["opts",ha.stringify(this.getAttr())]]};this._paletteName&&(c.params=[k.qt(this._paletteName)]);this._levels&&c.funcs.push(["domain",
ha.stringify(this._levels)]);return k.toCode(a,b,c)};var Qb=p;Qb.scale.symbol=k.makeClass("gg.scale.symbol",Qb.scale.discrete);Qb.scale.symbol.prototype.init=function(){Qb.scale.discrete.prototype.init.call(this);this._symbols=[1,2,3,4,5,6,7,8,9];this._numSymbols=this._symbols.length};Qb.scale.symbol.prototype.make=function(a){a?this._levels=a:this._levels||(this._levels=this._graph.levels(this._aes));this._numLevels=this._levels.length;return this};Qb.scale.symbol.prototype._apply=function(a){this._d3scale||
this.make();return this._symbols[h.indexOf(this._levels,a)%this._numSymbols]};var Eb=p;Eb.scale.time=k.makeClass("gg.scale.time",Eb.scale.continuous);Eb.scale.time.prototype.init=function(){Eb.scale.continuous.prototype.init.call(this);this.opts("pixel_per_tick_x",90);this._d3scale=i.time.scale()};Eb.scale.time.prototype.make=function(a){this._facetIndex=h.isNumber(a)?a:-1;a=this._makeDomain();this._d3scale.domain(a).range(this.range())};Eb.scale.time.prototype.ticks=function(a){var a=this._suggestNumticks(a),
b=this,c=this._d3scale.ticks(a),d=this._d3scale.tickFormat(a);return h.map(c,function(a){return b._tickObject(a,b.apply(a),d(a))})};Eb.scale.time.prototype.maxLabelWidth=function(){var a;try{var b=this._makeDomain();a=b[1]-b[0]}catch(c){a=this._graph.min(this._aes),a=this._graph.max(this._aes)-a}a/=20;return 36E5>=a||864E5>=a?k.strlenToPixel(15):1296E6>=a||10368E6>=a?k.strlenToPixel(9):k.strlenToPixel(4)};var mb=p;mb.scale.time_gradient=k.makeClass("gg.scale.time_gradient",mb.scale.time);mb.scale.time_gradient.prototype.init=
function(a,b){mb.scale.time.prototype.init.call(this);this._attr.range_low=a||mb.opts.gradient.low;this._attr.range_high=b||mb.opts.gradient.high;this._d3scale=null};mb.scale.time.prototype.make=function(){this._d3scale=i.time.scale();var a=this._makeDomain();this._d3scale.domain(a).range(this.range())};mb.scale.time_gradient.prototype._apply=function(a){this._d3scale||this.make();return this._d3scale(a)};var Jc=p;Jc.stats.bin=k.makeClass("gg.stats.bin",Jc.stats.sum);Jc.stats.bin.prototype.compute=
function(a,b){var c=a.getObject(0),d=a.len(),e=b.mapping.y;if(e)for(var f=1;f<d&&h.isNull(c[e]);)c=a.getObject(f),f++;d=this.makeMeta(a);c.$sum=a.len();return Jc.data([c],d)};var nb=p;nb.stats.box=k.makeClass("gg.stats.box",nb.stats.aggregate);nb.stats.box.prototype.imputeMapping=function(a){a=nb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:["group","x"]});return h.extend(a,{y_q0:"$q0",y_q1:"$q1",y_q2:"$q2",y_q3:"$q3",y_q4:"$q4"})};nb.stats.box.prototype.compute=function(a,b){for(var c=
b.mapping,d=a.getObject(0),c=a.get(c.y),e=c.length-1,f=h.sortBy(c,k.identity),g=e/4,i=e/2,l=3*(e/4),g=(f[Math.ceil(g)]+f[Math.floor(g)])/2,i=(f[Math.ceil(i)]+f[Math.floor(i)])/2,l=(f[Math.ceil(l)]+f[Math.floor(l)])/2,p=l-g,s=0;f[s]<i-1.5*p;)s++;for(s=f[s];f[e]>i+1.5*p;)e--;f=f[e];d.$q0=s;d.$q1=g;d.$q2=i;d.$q3=l;d.$q4=f;k.assertNumber(s);k.assertNumber(g);k.assertNumber(i);k.assertNumber(l);k.assertNumber(f);d=[d];for(g=0;g<c.length;g++)(c[g]>f||c[g]<s)&&d.push(a.getObject(g));c=this.makeMeta(a);return nb.data(d,
c)};nb.stats.box.prototype.keys=function(){return nb.stats.aggregate.prototype.keys.call(this).concat(["$q0","$q1","$q2","$q3","$q4"])};p.stats.count=p.stats.bin;p.stats.id=k.makeClass("gg.stats.id",p.stats.base);var Kc=p;Kc.stats.mean=k.makeClass("gg.stats.mean",Kc.stats.sum);Kc.stats.mean.prototype.compute=function(a,b){var c=b.mapping,d=a.getObject(0),e=a.len();if(c=c.y){for(var f=1;f<e&&h.isNull(d[c]);)d=a.getObject(f),f++;e=k.sum.apply(a.get(c))/a.len();d.$sum=e}else d.$sum=b.attr.y;e=this.makeMeta(a);
return Kc.data([d],e)};var ob=p;ob.stats.stack=k.makeClass("gg.stats.stack",ob.stats.aggregate);ob.stats.stack.prototype.compute=function(a,b){var c=b.mapping,d=c.y,e=[],f=a.len(),g=0,i=0;if(d)for(var k=a.getTypeObj(d).represent,l=c.group_stats||d,c=h.sortBy(a.getObjects(),function(a){return k(a[l])}),p=0;p<f;p++){var m=c[f-p-1];value=m[d];0>value?(m.$partial_1=i,i+=value,m.$partial_2=i):(m.$partial_1=g,g+=value,m.$partial_2=g);e.push(m)}else for(p=0;p<f;p++)m=a.getObject(p),m.$partial_1=g,g+=1,m.$partial_2=
g,e.push(m);d=this.makeMeta(a);return ob.data(e,d)};ob.stats.stack.prototype.imputeMapping=function(a){a=ob.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,{y_1:"$partial_1",y_2:"$partial_2"})};ob.stats.stack.prototype.keys=function(){return ob.stats.aggregate.prototype.keys.call(this).concat(["$partial_1","$partial_2"])};var Fb=p;Fb.stats.tilestat=k.makeClass("gg.stats.tilestat",Fb.stats.base);Fb.stats.tilestat.prototype.entry=function(a,b,c){var d={};if(b.x){var e=
b.x;d.group=sf(a.min(e),a.max(e),10);b.group=e}b.y&&(e=b.y,d.group2=sf(a.min(e),a.may(e),10),b.group2=e);return this.group(a,b,c,d)};var sf=function(a,b,c){a>=b&&Fb.error(900,"Cannot create a grouping function where min is "+a+" and max is "+b);0>=c&&Fb.error(901,"Cannot create a grouping function where number of bins is less than 1.");var d=b-a,b=function(b){b=Math.floor((b-a)/d*c);b==c&&(b=c-1);return a+b*d/c};b.width=d/c;return b};Fb.stats.tilestat.prototype.imputeMapping=function(a){a=Fb.stats.base.prototype.imputeMapping.call(this,
a,{group_stats_1:"x",group_stats_2:"y"});return h.extend(a,{y:"$count"})};var pb=p;pb.stats.unique=k.makeClass("gg.stats.unique",pb.stats.aggregate);pb.stats.unique.prototype.compute=function(a,b){var c=b.mapping,d=a.getObject(0),c=c.y;d.$unique=c?a.levels(c).length:0;c=this.makeMeta(a);return pb.data([d],c)};pb.stats.unique.prototype.imputeMapping=function(a){a=pb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,{y_override:"$unique"})};pb.stats.unique.prototype.keys=
function(){return pb.stats.aggregate.prototype.keys.call(this).concat(["$unique"])};var Ka=p;Ka.symbol=Ka.symbol||{};var ph=Math.sqrt(2),tf=Math.sqrt(3)/2,uf=Math.sqrt(3)/2,vf=-Math.sqrt(3)/2,wf=-Math.sqrt(3)/2,qh=(Math.sqrt(5)-1)/4,db=function(a){return Math.cos(36*(Math.PI/180)*a)},eb=function(a){return Math.sin(36*(Math.PI/180)*a)},rh=db(1),sh=db(2),th=db(3),uh=db(4),vh=db(5),wh=db(6),xh=db(7),yh=db(8),zh=db(9),Ah=eb(1),Bh=eb(2),Ch=eb(3),Dh=eb(4),Eh=eb(5),Fh=eb(6),Gh=eb(7),Hh=eb(8),Ih=eb(9);Ka.symbol.CIRCLE=
1;Ka.symbol.BOX=2;Ka.symbol.DIAMOND=3;Ka.symbol.HEX=4;Ka.symbol.TRIANGLE=5;Ka.symbol.TRIANGLE_REVERSE=6;Ka.symbol.STAR=7;Ka.symbol.CROSS=8;Ka.symbol.X=9;Ka.symbol.makePath=function(a,b,c,d){if(1==a)return[["M",b,c+d],["A",d,d,0,1,1,b,c-d],["A",d,d,0,1,1,b,c+d],["Z"]];if(2==a)return[["M",b+d,c+d],["L",b-d,c+d],["L",b-d,c-d],["L",b+d,c-d],["Z"]];if(3==a)return[["M",b+d,c],["L",b,c+d],["L",b-d,c],["L",b,c-d],["Z"]];if(4==a)return[["M",b+0*d,c+1*d],["L",b+d*tf,c+0.5*d],["L",b+d*uf,c+-0.5*d],["L",b+0*
d,c+-1*d],["L",b+d*vf,c+-0.5*d],["L",b+d*wf,c+0.5*d],["Z"]];if(6==a)return[["M",b+0*d,c+1*d],["L",b+d*uf,c+-0.5*d],["L",b+d*vf,c+-0.5*d],["Z"]];if(5==a)return[["M",b+d*tf,c+0.5*d],["L",b+0*d,c+-1*d],["L",b+d*wf,c+0.5*d],["Z"]];if(7==a)return a=d*qh,[["M",b+0*a,c+1*a],["L",b+d*Ah,c+d*rh],["L",b+a*Bh,c+a*sh],["L",b+d*Ch,c+d*th],["L",b+a*Dh,c+a*uh],["L",b+d*Eh,c+d*vh],["L",b+a*Fh,c+a*wh],["L",b+d*Gh,c+d*xh],["L",b+a*Hh,c+a*yh],["L",b+d*Ih,c+d*zh],["Z"]];if(8==a)return[["M",b+d,c],["L",b,c],["L",b,c+
d],["L",b,c],["L",b-d,c],["L",b,c],["L",b,c-d],["L",b,c],["Z"]];if(9==a)return a=d*ph/2,[["M",b+a,c+a],["L",b,c],["L",b+a,c-a],["L",b,c],["L",b-a,c+a],["L",b,c],["L",b-a,c-a],["L",b,c],["Z"]]};var U=p;U.type.category=k.makeClass("gg.type.category",U.type.base);U.type.category.prototype.min=function(){U.error(802,"Invalid operation min() on categorical variable.")};U.type.category.prototype.max=function(){U.error(802,"Invalid operation max() on categorical variable.")};U.type.category.prototype.coerce=
function(a){return U.type.category.prototype.represent(a)};U.type.category.prototype.represent=function(a){return h.isString(a)?a:null==a?"":h.isNumber(a)?a.toString():""+a};U.type.category.prototype.sort=function(a,b){if(a===b)return 0;h.isString(a)||(a=""+a);h.isString(b)||(b=""+b);var c=a.toLowerCase(),d=b.toLowerCase();return c===d?a<b?-1:a>b?1:0:c<d?-1:c>d?1:0};U.type.category.prototype.validate=function(){return!0};U.type.category.prototype.defaultScale=function(a){k.assertAes(a);var b=null,
b=(b={color:U.scale.palette,opacity:U.scale.discrete,radius:U.scale.discrete,stroke:U.scale.palette,strokewidth:U.scale.discrete,symbol:U.scale.symbol,x:U.scale.discrete,y:U.scale.discrete}[a])?b():U.scale.id();this._postProcess(a,b);return b};var ma=p;ma.type.date=k.makeClass("gg.type.date",ma.type.base);var xf=function(a){return h.isNumber(a)?a:a.getTime()};ma.type.date.prototype.min=function(a){return this.coerce(h.min(h.reject(a,h.isNull),xf))};ma.type.date.prototype.max=function(a){return this.coerce(h.max(h.reject(a,
h.isNull),xf))};ma.type.date.prototype.coerce=function(a){return h.isDate(a)?a.getTime():h.isNumber(a)?a:Number(a)};ma.type.date.prototype.represent=function(a){return h.isNumber(a)?a:h.isDate(a)?a.getTime():null};ma.type.date.prototype.validate=function(a){return h.isNumber(a)||h.isDate(a)};ma.type.date.prototype.defaultScale=function(a){k.assertAes(a);var b=null,b=(b={color:ma.scale.time_gradient,opacity:ma.scale.time,radius:ma.scale.time,stroke:ma.scale.time_gradient,strokewidth:ma.scale.time,
symbol:ma.scale.symbol,x:ma.scale.time,y:ma.scale.time}[a])?b():ma.scale.id();this._postProcess(a,b);return b};var X=p;X.type.number=k.makeClass("gg.type.number",X.type.base);X.type.number.prototype.min=X.type.date.prototype.min;X.type.number.prototype.max=X.type.date.prototype.max;X.type.number.prototype.coerce=function(a){return h.isDate(a)?a.getTime():h.isNumber(a)?a:Number(a)};X.type.number.prototype.represent=X.type.date.prototype.represent;X.type.number.prototype.validate=function(a){return h.isNumber(a)};
X.type.number.prototype.sort=function(a,b){return a===b?0:null==a?-1:null==b?1:a<b?-1:a>b?1:0};X.type.number.prototype.defaultScale=function(a){k.assertAes(a);var b=null,b=(b={color:X.scale.gradient,opacity:X.scale.continuous,radius:X.scale.continuous,stroke:X.scale.gradient,strokewidth:X.scale.continuous,symbol:X.scale.symbol,x:X.scale.continuous,y:X.scale.continuous}[a])?b():X.scale.id();this._postProcess(a,b);return b};var fb=p;fb.type.unknown=k.makeClass("gg.type.unknown",fb.type.base);fb.type.unknown.prototype.min=
function(){return null};fb.type.unknown.prototype.max=function(){return null};fb.type.unknown.prototype.coerce=function(a){return a};fb.type.unknown.prototype.represent=function(a){return a};fb.type.unknown.prototype.validate=function(){return!0};fb.type.unknown.prototype.defaultScale=function(){fb.error(801,"Attempted to call defaultScale() on unknown type.")};var gb=p,Lc=p,Lc=Lc||{},Rb=function(a,b){a||gb.error(1,"Attempting to package an object that does not exist.");for(var c=b.length,d=0;d<c;d++){var e=
b[d];Lc[e]?gb.error(3,"gg."+e+" is already set."):(a[e]||gb.error(2,"Failed while packing "+e+"."),Lc[e]=a[e])}};Rb(gb.coord,["cart","polar"]);Rb(gb.facet,["grid","wrap"]);Rb(gb.guide,["axis","legend"]);Rb(gb.layer,"area bar box line path point text tile".split(" "));Rb(gb.scale,"continuous discrete gradient id palette time".split(" "));Rb(gb.stats,["bin","stack","count"]);var Mc=p;Mc.stats.ratio=k.makeClass("gg.stats.ratio",Mc.stats.stack);Mc.stats.ratio.prototype.compute=function(a,b){var c=b.mapping.y,
d=[],e=a.len(),f=0;if(c)for(var g=k.sum.apply(a.get(c)),i=a.getTypeObj(c).represent,l=h.sortBy(a.getObjects(),function(a){return i(a[c])}),p=0;p<e;p++){var s=l[e-p-1],m;m=0==g?1/e:s[c]/g;s.$partial_1=f;f+=m;s.$partial_2=f;s[c]=m;d.push(s)}else{m=1/e;for(p=0;p<e;p++)s=a.getObject(p),s.$partial_1=f,f+=m,s.$partial_2=f,d.push(s)}e=this.makeMeta(a);return Mc.data(d,e)};h=window._;i=window.d3;return p}();