//>>built
require({cache:{"JBrowse/Plugin":function(){define(["dojo/_base/declare","JBrowse/Component"],function(g,h){return g(h,{constructor:function(f){this.name=f.name;this.cssLoaded=f.cssLoaded;this._finalizeConfig(f.config)},_defaultConfig:function(){return{baseUrl:"/plugins/"+this.name}}})})},"JBrowse/View/FeatureGlyph/ProcessedTranscript":function(){define(["dojo/_base/declare","dojo/_base/array","dojox/color/Palette","JBrowse/Model/SimpleFeature","JBrowse/View/FeatureGlyph/Segments"],function(g,h,f,
l,b){return g(b,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{utrColor:function(d,a,e,k){return e._utrColor(e.getStyle(d.parent(),"color")).toString()}},subParts:"CDS, UTR, five_prime_UTR, three_prime_UTR",impliedUTRs:!1,inferCdsParts:!1})},_getSubparts:function(d){var a=d.children();if(!a)return[];a&&this.config.inferCdsParts&&(a=this._makeCDSs(d,a));a&&this.config.impliedUTRs&&(a=this._makeUTRs(d,a));d=[];for(var e=0;e<a.length;e++)this._filterSubpart(a[e])&&
d.push(a[e]);return d},_makeCDSs:function(d,a){var e=Infinity,k=-Infinity,c,b,r=[],s=[];for(c=0;c<a.length;c++)if(b=a[c].get("type"),/^cds/i.test(b)){if(/:CDS:/i.test(a[c].get("name")))return a;r.push(c);e>a[c].get("start")&&(e=a[c].get("start"));k<a[c].get("end")&&(k=a[c].get("end"))}else/exon/i.test(b)&&s.push(a[c]);r.sort(function(c,a){return a-c});for(c=r.length-1;0<=c;c--)a.splice(r[c],1);if(!s.length||!(Infinity>e&&-Infinity<k))return a;s.sort(function(c,a){return c.get("start")-a.get("start")});
b=d.get("strand");var r=Infinity,f=-Infinity;for(c=0;c<s.length;c++){var g=s[c].get("start"),h=s[c].get("end");e>=g&&k<=h?(r=e,f=k):e>=g&&e<h?(r=e,f=h):k>g&&k<=h?(r=g,f=k):g<k&&h>e&&(r=g,f=h);a.splice(c,0,new l({parent:d,data:{start:r,end:f,strand:b,type:"CDS",name:d.get("uniqueID")+":CDS:"+c}}))}a.sort(function(c,a){return c.get("start")-a.get("start")});return a},_makeUTRs:function(b,a){var e=Infinity,k=-Infinity,c,q,r,s,f=[];for(c=0;c<a.length;c++)s=a[c].get("type"),/^cds/i.test(s)?(e>a[c].get("start")&&
(e=a[c].get("start")),k<a[c].get("end")&&(k=a[c].get("end"))):/exon/i.test(s)?f.push(a[c]):this._isUTR(a[c])&&(q=a[c].get("start")==b.get("start"),r=a[c].get("end")==b.get("end"));if(!f.length||!(Infinity>e&&-Infinity<k))return a;f.sort(function(c,a){return c.get("start")-a.get("start")});s=b.get("strand");var g;if(!q)for(c=0;c<f.length;c++){q=f[c].get("start");if(q>=e)break;g=e>f[c].get("end")?f[c].get("end"):e;a.unshift(new l({parent:b,data:{start:q,end:g,strand:s,type:0<=s?"five_prime_UTR":"three_prime_UTR"}}))}if(!r)for(c=
f.length-1;0<=c;c--){g=f[c].get("end");if(g<=k)break;q=k<f[c].get("start")?f[c].get("start"):k;a.push(new l({parent:b,data:{start:q,end:g,strand:s,type:0<=s?"three_prime_UTR":"five_prime_UTR"}}))}return a},_utrColor:function(b){return(this._palette||(this._palette=f.generate(b,"splitComplementary"))).colors[1]},_isUTR:function(b){return/(\bUTR|_UTR|untranslated[_\s]region)\b/.test(b.get("type")||"")},getStyle:function(b,a){return"color"==a&&this._isUTR(b)?this.getStyle(b,"utrColor"):this.inherited(arguments)},
_getFeatureHeight:function(b,a){var e=this.inherited(arguments);return this._isUTR(a)?0.65*e:e}})})},"dojox/color/Palette":function(){define(["dojo/_base/lang","dojo/_base/array","./_base"],function(g,h,f){function l(a,c,e){var b=new f.Palette;b.colors=[];h.forEach(a.colors,function(a){var k="dg"==c?a.g+e:a.g,d="db"==c?a.b+e:a.b,g="da"==c?a.a+e:a.a;b.colors.push(new f.Color({r:Math.min(255,Math.max(0,"dr"==c?a.r+e:a.r)),g:Math.min(255,Math.max(0,k)),b:Math.min(255,Math.max(0,d)),a:Math.min(1,Math.max(0,
g))}))});return b}function b(a,c,e){var b=new f.Palette;b.colors=[];h.forEach(a.colors,function(a){a=a.toCmy();var k="dm"==c?a.m+e:a.m,d="dy"==c?a.y+e:a.y;b.colors.push(f.fromCmy(Math.min(100,Math.max(0,"dc"==c?a.c+e:a.c)),Math.min(100,Math.max(0,k)),Math.min(100,Math.max(0,d))))});return b}function d(a,c,e){var b=new f.Palette;b.colors=[];h.forEach(a.colors,function(a){a=a.toCmyk();var k="dm"==c?a.m+e:a.m,d="dy"==c?a.y+e:a.y,g="dk"==c?a.b+e:a.b;b.colors.push(f.fromCmyk(Math.min(100,Math.max(0,"dc"==
c?a.c+e:a.c)),Math.min(100,Math.max(0,k)),Math.min(100,Math.max(0,d)),Math.min(100,Math.max(0,g))))});return b}function a(a,c,e){var b=new f.Palette;b.colors=[];h.forEach(a.colors,function(a){a=a.toHsl();var k="dl"==c?a.l+e:a.l;b.colors.push(f.fromHsl(("dh"==c?a.h+e:a.h)%360,Math.min(100,Math.max(0,"ds"==c?a.s+e:a.s)),Math.min(100,Math.max(0,k))))});return b}function e(a,c,e){var b=new f.Palette;b.colors=[];h.forEach(a.colors,function(a){a=a.toHsv();var k="dv"==c?a.v+e:a.v;b.colors.push(f.fromHsv(("dh"==
c?a.h+e:a.h)%360,Math.min(100,Math.max(0,"ds"==c?a.s+e:a.s)),Math.min(100,Math.max(0,k))))});return b}f.Palette=function(a){this.colors=[];a instanceof f.Palette?this.colors=a.colors.slice(0):a instanceof f.Color?this.colors=[null,null,a,null,null]:g.isArray(a)?this.colors=h.map(a.slice(0),function(a){return g.isString(a)?new f.Color(a):a}):g.isString(a)&&(this.colors=[null,null,new f.Color(a),null,null])};g.extend(f.Palette,{transform:function(k){var c=l;if(k.use){var q=k.use.toLowerCase();0==q.indexOf("hs")?
c="l"==q.charAt(2)?a:e:0==q.indexOf("cmy")&&(c="k"==q.charAt(3)?d:b)}else if("dc"in k||"dm"in k||"dy"in k)c="dk"in k?d:b;else if("dh"in k||"ds"in k)c="dv"in k?e:a;var q=this,f;for(f in k)"use"!=f&&(q=c(q,f,k[f]));return q},clone:function(){return new f.Palette(this)}});g.mixin(f.Palette,{generators:{analogous:function(a){var c=a.high||60,e=a.low||18;a=(g.isString(a.base)?new f.Color(a.base):a.base).toHsv();var c=[(a.h+e+360)%360,(a.h+Math.round(e/2)+360)%360,a.h,(a.h-Math.round(c/2)+360)%360,(a.h-
c+360)%360],e=Math.max(10,95>=a.s?a.s+5:100-(a.s-95)),b=1<a.s?a.s-1:21-a.s,d=92<=a.v?a.v-9:Math.max(a.v+9,20),m=90>=a.v?Math.max(a.v+5,20):95+Math.ceil((a.v-90)/2),n=[e,b,a.s,e,e],p=[d,m,a.v,d,m];return new f.Palette(h.map(c,function(a,c){return f.fromHsv(a,n[c],p[c])}))},monochromatic:function(a){a=g.isString(a.base)?new f.Color(a.base):a.base;var c=a.toHsv(),e=9<c.s-30?c.s-30:c.s+30,b=c.s,d=20<c.v-20?c.v-20:c.v+60,h=20<c.v-50?c.v-50:c.v+30;return new f.Palette([f.fromHsv(c.h,e,100-0.8*(100-c.v)),
f.fromHsv(c.h,b,h),a,f.fromHsv(c.h,e,h),f.fromHsv(c.h,b,d)])},triadic:function(a){a=g.isString(a.base)?new f.Color(a.base):a.base;var c=a.toHsv(),e=(c.h-157+360)%360,b=90<c.s?c.s-10:c.s+10,d=95<c.s?c.s-5:c.s+5,h=20<c.v-20?c.v-20:c.v+20,n=20<c.v-30?c.v-30:c.v+30,p=70<c.v-30?c.v-30:c.v+30;return new f.Palette([f.fromHsv((c.h+57+360)%360,20<c.s?c.s-10:c.s+10,c.v),f.fromHsv(c.h,b,n),a,f.fromHsv(e,b,h),f.fromHsv(e,d,p)])},complementary:function(a){a=g.isString(a.base)?new f.Color(a.base):a.base;var c=
a.toHsv(),e=360>2*c.h+137?2*c.h+137:Math.floor(c.h/2)-137,b=Math.max(c.s-10,0),d=100-0.9*(100-c.s),h=Math.min(100,c.s+20),n=Math.min(100,c.v+30),p=20<c.v?c.v-30:c.v+30;return new f.Palette([f.fromHsv(c.h,b,n),f.fromHsv(c.h,d,p),a,f.fromHsv(e,h,p),f.fromHsv(e,c.s,c.v)])},splitComplementary:function(a){var c=g.isString(a.base)?new f.Color(a.base):a.base,e=a.da||30;a=c.toHsv();var b=360>2*a.h+137?2*a.h+137:Math.floor(a.h/2)-137,d=(b-e+360)%360,e=(b+e)%360,b=Math.max(a.s-10,0),h=100-0.9*(100-a.s),n=Math.min(100,
a.s+20),p=Math.min(100,a.v+30),l=20<a.v?a.v-30:a.v+30;return new f.Palette([f.fromHsv(d,b,p),f.fromHsv(d,h,l),c,f.fromHsv(e,n,l),f.fromHsv(e,a.s,a.v)])},compound:function(a){a=g.isString(a.base)?new f.Color(a.base):a.base;var c=a.toHsv(),e=360>2*c.h+18?2*c.h+18:Math.floor(c.h/2)-18,b=360>2*c.h+120?2*c.h+120:Math.floor(c.h/2)-120,d=360>2*c.h+99?2*c.h+99:Math.floor(c.h/2)-99,h=10<c.s-40?c.s-40:c.s+40,n=80<c.s-10?c.s-10:c.s+10,p=10<c.s-25?c.s-25:c.s+25,l=10<c.v-40?c.v-40:c.v+40,t=80<c.v-20?c.v-20:c.v+
20,c=Math.max(c.v,20);return new f.Palette([f.fromHsv(e,h,l),f.fromHsv(e,n,t),a,f.fromHsv(b,p,c),f.fromHsv(d,n,t)])},shades:function(a){a=g.isString(a.base)?new f.Color(a.base):a.base;var c=a.toHsv(),e=100==c.s&&0==c.v?0:c.s,b=20<c.v-50?c.v-50:c.v+30,d=20<=c.v-25?c.v-25:c.v+55,h=20<=c.v-75?c.v-75:c.v+5,n=Math.max(c.v-10,20);return new f.Palette([new f.fromHsv(c.h,e,b),new f.fromHsv(c.h,e,d),a,new f.fromHsv(c.h,e,h),new f.fromHsv(c.h,e,n)])}},generate:function(a,c){if(g.isFunction(c))return c({base:a});
if(f.Palette.generators[c])return f.Palette.generators[c]({base:a});throw Error("dojox.color.Palette.generate: the specified generator ('"+c+"') does not exist.");}});return f.Palette})},"dojox/color/_base":function(){define(["../main","dojo/_base/lang","dojo/_base/Color","dojo/colors"],function(g,h,f,l){g=h.getObject("color",!0,g);g.Color=f;g.blend=f.blendColors;g.fromRgb=f.fromRgb;g.fromHex=f.fromHex;g.fromArray=f.fromArray;g.fromString=f.fromString;g.greyscale=l.makeGrey;h.mixin(g,{fromCmy:function(b,
d,a){h.isArray(b)?(d=b[1],a=b[2],b=b[0]):h.isObject(b)&&(d=b.m,a=b.y,b=b.c);d=1-d/100;a=1-a/100;return new f({r:Math.round(255*(1-b/100)),g:Math.round(255*d),b:Math.round(255*a)})},fromCmyk:function(b,d,a,e){h.isArray(b)?(d=b[1],a=b[2],e=b[3],b=b[0]):h.isObject(b)&&(d=b.m,a=b.y,e=b.b,b=b.c);d/=100;a/=100;e/=100;b=1-Math.min(1,b/100*(1-e)+e);d=1-Math.min(1,d*(1-e)+e);a=1-Math.min(1,a*(1-e)+e);return new f({r:Math.round(255*b),g:Math.round(255*d),b:Math.round(255*a)})},fromHsl:function(b,d,a){h.isArray(b)?
(d=b[1],a=b[2],b=b[0]):h.isObject(b)&&(d=b.s,a=b.l,b=b.h);d/=100;for(a/=100;0>b;)b+=360;for(;360<=b;)b-=360;var e,k;120>b?(e=(120-b)/60,k=b/60,b=0):240>b?(e=0,k=(240-b)/60,b=(b-120)/60):(e=(b-240)/60,k=0,b=(360-b)/60);e=2*d*Math.min(e,1)+(1-d);k=2*d*Math.min(k,1)+(1-d);b=2*d*Math.min(b,1)+(1-d);0.5>a?(e*=a,k*=a,b*=a):(e=(1-a)*e+2*a-1,k=(1-a)*k+2*a-1,b=(1-a)*b+2*a-1);return new f({r:Math.round(255*e),g:Math.round(255*k),b:Math.round(255*b)})}});g.fromHsv=function(b,d,a){h.isArray(b)?(d=b[1],a=b[2],
b=b[0]):h.isObject(b)&&(d=b.s,a=b.v,b=b.h);360==b&&(b=0);d/=100;a/=100;var e,k,c;if(0==d)k=c=e=a;else{var q=b/60;b=Math.floor(q);var g=q-b,q=a*(1-d),s=a*(1-d*g);d=a*(1-d*(1-g));switch(b){case 0:e=a;k=d;c=q;break;case 1:e=s;k=a;c=q;break;case 2:e=q;k=a;c=d;break;case 3:e=q;k=s;c=a;break;case 4:e=d;k=q;c=a;break;case 5:e=a,k=q,c=s}}return new f({r:Math.round(255*e),g:Math.round(255*k),b:Math.round(255*c)})};h.extend(f,{toCmy:function(){var b=1-this.g/255,d=1-this.b/255;return{c:Math.round(100*(1-this.r/
255)),m:Math.round(100*b),y:Math.round(100*d)}},toCmyk:function(){var b,d,a,e=this.r/255;b=this.g/255;d=this.b/255;a=Math.min(1-e,1-b,1-d);b=(1-b-a)/(1-a);d=(1-d-a)/(1-a);return{c:Math.round(100*((1-e-a)/(1-a))),m:Math.round(100*b),y:Math.round(100*d),b:Math.round(100*a)}},toHsl:function(){var b=this.r/255,d=this.g/255,a=this.b/255,e=Math.min(b,a,d),k=Math.max(b,d,a),c=k-e,f=0,g=0,e=(e+k)/2;0<e&&1>e&&(g=c/(0.5>e?2*e:2-2*e));0<c&&(k==b&&k!=d&&(f+=(d-a)/c),k==d&&k!=a&&(f+=2+(a-b)/c),k==a&&k!=b&&(f+=
4+(b-d)/c),f*=60);return{h:f,s:Math.round(100*g),l:Math.round(100*e)}},toHsv:function(){var b=this.r/255,d=this.g/255,a=this.b/255,e=Math.min(b,a,d),k=Math.max(b,d,a),e=k-e,c=null,f=0==k?0:e/k;0==f?c=0:(c=b==k?60*(d-a)/e:d==k?120+60*(a-b)/e:240+60*(b-d)/e,0>c&&(c+=360));return{h:c,s:Math.round(100*f),v:Math.round(100*k)}}});return g})},"dojo/colors":function(){define(["./_base/kernel","./_base/lang","./_base/Color","./_base/array"],function(g,h,f,l){var b={};h.setObject("dojo.colors",b);var d=function(a,
b,c){0>c&&++c;1<c&&--c;var d=6*c;return 1>d?a+(b-a)*d:1>2*c?b:2>3*c?a+6*(b-a)*(2/3-c):a};g.colorFromRgb=f.fromRgb=function(a,b){var c=a.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(c){var g=c[2].split(/\s*,\s*/),r=g.length,c=c[1];if("rgb"==c&&3==r||"rgba"==c&&4==r)return c=g[0],"%"==c.charAt(c.length-1)?(c=l.map(g,function(a){return 2.56*parseFloat(a)}),4==r&&(c[3]=g[3]),f.fromArray(c,b)):f.fromArray(g,b);if("hsl"==c&&3==r||"hsla"==c&&4==r){var c=(parseFloat(g[0])%360+360)%360/360,
h=parseFloat(g[1])/100,m=parseFloat(g[2])/100,h=0.5>=m?m*(h+1):m+h-m*h,m=2*m-h,c=[256*d(m,h,c+1/3),256*d(m,h,c),256*d(m,h,c-1/3),1];4==r&&(c[3]=g[3]);return f.fromArray(c,b)}}return null};var a=function(a,b,c){a=Number(a);return isNaN(a)?c:a<b?b:a>c?c:a};f.prototype.sanitize=function(){this.r=Math.round(a(this.r,0,255));this.g=Math.round(a(this.g,0,255));this.b=Math.round(a(this.b,0,255));this.a=a(this.a,0,1);return this};b.makeGrey=f.makeGrey=function(a,b){return f.fromArray([a,a,a,b])};h.mixin(f.named,
{aliceblue:[240,248,255],antiquewhite:[250,235,215],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],blanchedalmond:[255,235,205],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,
100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,
240],forestgreen:[34,139,34],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,
211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,
250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],oldlace:[253,245,230],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,
221],powderblue:[176,224,230],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],whitesmoke:[245,
245,245],yellowgreen:[154,205,50]});return f})},"JBrowse/View/FeatureGlyph/Segments":function(){define(["dojo/_base/declare","dojo/_base/lang","dojo/_base/array","JBrowse/View/FeatureGlyph/Box"],function(g,h,f,l){return g(l,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{connectorColor:"#333",connectorThickness:1,borderColor:"rgba( 0, 0, 0, 0.3 )"},subParts:function(){return!0}})},renderFeature:function(b,d){"collapsed"!=this.track.displayMode&&b.clearRect(Math.floor(d.l),
d.t,Math.ceil(d.w),d.h);this.renderConnector(b,d);this.renderSegments(b,d);this.renderLabel(b,d);this.renderDescription(b,d);this.renderArrowhead(b,d)},renderConnector:function(b,d){var a=this.getStyle(d.f,"connectorColor");a&&(b.fillStyle=a,a=this.getStyle(d.f,"connectorThickness"),b.fillRect(d.rect.l,Math.round(d.rect.t+(d.rect.h-a)/2),d.rect.w,a))},renderSegments:function(b,d){function a(a,e){return"height"==e?k._getFeatureHeight(d.viewInfo,a):k.getStyle(a,e)||k.getStyle(c,e)}var e=this._getSubparts(d.f);
if(e.length)for(var k=this,c=d.f,f=0;f<e.length;++f)this.renderBox(b,d.viewInfo,e[f],d.t,d.rect.h,d.f,a)},_getSubparts:function(b){b=b.children();if(!b)return[];for(var d=[],a=0;a<b.length;a++)this._filterSubpart(b[a])&&d.push(b[a]);return d},_filterSubpart:function(b){return(this._subpartsFilter||(this._subpartsFilter=this._makeSubpartsFilter()))(b)},_makeSubpartsFilter:function(b){var d=this.getConf("subParts");"string"==typeof d&&(d=d.split(/\s*,\s*/));return"object"==typeof d?(d=h.isArray(d)?
function(){var a={};f.forEach(d,function(e){a[e.toLowerCase()]=!0});return a}.call(this):function(){var a={},e;for(e in d)a[e.toLowerCase()]=d[e];return a}.call(this),function(a){return d[(a.get("type")||"").toLowerCase()]}):d=function(){return!0}}})})},"JBrowse/View/FeatureGlyph/Box":function(){define("dojo/_base/declare dojo/_base/array dojo/_base/lang JBrowse/Util/FastPromise JBrowse/View/FeatureGlyph ./_FeatureLabelMixin".split(" "),function(g,h,f,l,b,d){return g([b,d],{constructor:function(){this._embeddedImagePromises=
{}},_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{maxDescriptionLength:70,color:"goldenrod",mouseovercolor:"rgba(0,0,0,0.3)",borderColor:null,borderWidth:0.5,height:11,marginBottom:2,strandArrow:!0,label:"name, id",textFont:"normal 12px Univers,Helvetica,Arial,sans-serif",textColor:"black",text2Color:"blue",text2Font:"normal 12px Univers,Helvetica,Arial,sans-serif",description:"note, description"}})},_getFeatureHeight:function(a,e){var b=this.getStyle(e,"height");
"compact"==a.displayMode&&(b=Math.round(0.45*b));if(this.getStyle(e,"strandArrow")){var c=e.get("strand");1==c?b=Math.max(this._embeddedImages.plusArrow.height,b):-1==c&&(b=Math.max(this._embeddedImages.minusArrow.height,b))}return b},_getFeatureRectangle:function(a,e){var b=a.block,c={l:b.bpToX(e.get("start")),h:this._getFeatureHeight(a,e),viewInfo:a,f:e,glyph:this};c.w=b.bpToX(e.get("end"))-c.l;c.rect={l:c.l,h:c.h,w:Math.max(c.w,2),t:0};c.w=c.rect.w;"compact"!=a.displayMode&&(c.h+=this.getStyle(e,
"marginBottom")||0);this.getStyle(e,"strandArrow")&&(-1==(c.strandArrow=e.get("strand"))?(b=this._embeddedImages.minusArrow,c.w+=b.width,c.l-=b.width):(b=this._embeddedImages.plusArrow,c.w+=b.width));if("collapsed"==a.displayMode)return c;this._expandRectangleWithLabels(a,e,c);this._addMasksToRect(a,e,c);return c},layoutFeature:function(a,e,b){var c=this.inherited(arguments);if(!c)return c;c.rect.t=c.t;return c},_expandRectangleWithLabels:function(a,e,b){if(a.showLabels){var c=this.makeFeatureLabel(e,
b);c&&(b.h+=c.h,b.w=Math.max(c.w,b.w),b.label=c,c.yOffset=b.rect.h+c.h)}if(a.showDescriptions&&(a=this.makeFeatureDescriptionLabel(e,b)))b.description=a,b.h+=a.h,b.w=Math.max(a.w,b.w),a.yOffset=b.h-(this.getStyle(e,"marginBottom")||0)},_embeddedImages:{plusArrow:{data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAATUlEQVQIW2NkwATGQKFYIG4A4g8gacb///+7AWlBmNq+vj6V4uLiJiD/FRBXA/F8xu7u7kcVFRWyMEVATQz//v0Dcf9CxaYRZxIxbgIARiAhmifVe8UAAAAASUVORK5CYII\x3d",width:9,height:5},minusArrow:{data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAASklEQVQIW2NkQAABILMBiBcD8VkkcQZGIAeEE4G4FYjFent764qKiu4gKXoPUjAJiLOggsxMTEwMjIwgYQjo6Oh4TLRJME043QQA+W8UD/sdk9IAAAAASUVORK5CYII\x3d",
width:9,height:5}},getEmbeddedImage:function(a){return this._embeddedImagePromises[a]||function(){var e=new l,b=this._embeddedImages[a];if(b){var c=new Image;c.onload=function(){e.resolve(this)};c.src=b.data}else e.resolve(null);return this._embeddedImagePromises[a]=e}.call(this)},renderFeature:function(a,e){"collapsed"!=this.track.displayMode&&a.clearRect(Math.floor(e.l),e.t,Math.ceil(e.w-Math.floor(e.l)+e.l),e.h);this.renderBox(a,e.viewInfo,e.f,e.t,e.rect.h,e.f);this.renderLabel(a,e);this.renderDescription(a,
e);this.renderArrowhead(a,e)},renderBox:function(a,e,b,c,d,g,h){g=e.block.bpToX(b.get("start"));var m=e.block.bpToX(b.get("end"))-g;h=h||f.hitch(this,"getStyle");if(e=this._getFeatureHeight(e,b)){e!=d&&(c+=Math.round((d-e)/2));(d=h(b,"color"))?(a.fillStyle=d,a.fillRect(g,c,Math.max(1,m),e)):a.clearRect(g,c,Math.max(1,m),e);var n;if((d=h(b,"borderColor"))&&(n=h(b,"borderWidth")))3<m?(a.lineWidth=n,a.strokeStyle=d,a.strokeRect(g+n/2,c+n/2,m-n,e-n)):(a.globalAlpha=2*n/m,a.fillStyle=d,a.fillRect(g,c,
Math.max(1,m),e),a.globalAlpha=1)}},renderLabel:function(a,e){e.label&&(a.font=e.label.font,a.fillStyle=e.label.fill,a.textBaseline=e.label.baseline,a.fillText(e.label.text,e.l+(e.label.xOffset||0),e.t+(e.label.yOffset||0)))},renderDescription:function(a,e){e.description&&(a.font=e.description.font,a.fillStyle=e.description.fill,a.textBaseline=e.description.baseline,a.fillText(e.description.text,e.l+(e.description.xOffset||0),e.t+(e.description.yOffset||0)))},renderArrowhead:function(a,e){e.strandArrow&&
(1==e.strandArrow&&e.rect.l+e.rect.w<=a.canvas.width?this.getEmbeddedImage("plusArrow").then(function(b){a.imageSmoothingEnabled=!1;a.drawImage(b,e.rect.l+e.rect.w,e.t+(e.rect.h-b.height)/2)}):-1==e.strandArrow&&0<=e.rect.l&&this.getEmbeddedImage("minusArrow").then(function(b){a.imageSmoothingEnabled=!1;a.drawImage(b,e.rect.l-9,e.t+(e.rect.h-b.height)/2)}))},updateStaticElements:function(a,b,d){var c=d.minVisible,f=d.maxVisible,g=b.viewInfo.block;if(g.containsBp(c)||g.containsBp(f)){var h=d.bpToPx,
g=b.f;d=g.get("start");g=g.get("end");b.strandArrow&&(1==b.strandArrow&&g>=f&&d<=f?this.getEmbeddedImage("plusArrow").then(function(d){a.imageSmoothingEnabled=!1;a.drawImage(d,h(f)-h(c)-9,b.t+(b.rect.h-d.height)/2)}):-1==b.strandArrow&&(d<=c&&g>=c)&&this.getEmbeddedImage("minusArrow").then(function(c){a.imageSmoothingEnabled=!1;a.drawImage(c,0,b.t+(b.rect.h-c.height)/2)}));var m=b.label?b.label.w:0,n=b.description?b.description.w:0;h(g);Math.max(m,n);h(c);h(d);h(c)}}})})},"JBrowse/Util/FastPromise":function(){define([],
function(){var g=function(){this.callbacks=[]};g.prototype.then=function(g){"value"in this?g(this.value):this.callbacks.push(g)};g.prototype.resolve=function(g){this.value=g;g=this.callbacks;delete this.callbacks;for(var f=0;f<g.length;f++)g[f](this.value)};return g})},"JBrowse/View/FeatureGlyph":function(){define(["dojo/_base/declare","dojo/_base/array","dojo/aspect","JBrowse/Component"],function(g,h,f,l){return g(l,{constructor:function(b){this.track=b.track;this.booleanAlpha=0.17;f.before(this,
"renderFeature",function(b,a){if(a.m){var e=Math.floor(a.l),f=Math.ceil(a.w+a.l)-e;a.m.sort(function(a,c){return a.l-c.l});var c=a.m[0];if(c.l<=e){var g=a.m[0].l,h;for(h in a.m){c=a.m[h];if(c.l>g)break;g=c.l+c.w}g>=e+f&&(b.globalAlpha=this.booleanAlpha,a.noMask=!0)}}},!0);f.after(this,"renderFeature",function(b,a){a.m&&!a.noMask?this.maskBySpans(b,a):a.noMask&&(delete a.noMask,b.globalAlpha=1)},!0)},getStyle:function(b,d){return this.getConfForFeature("style."+d,b)},getConfForFeature:function(b,d){return this.getConf(b,
[d,b,this,this.track])},mouseoverFeature:function(b,d){this.renderFeature(b,d);b.fillStyle=this.getStyle(d.f,"mouseovercolor");b.fillRect(d.rect.l,d.t,d.rect.w,d.rect.h)},_getFeatureRectangle:function(b,d){var a=b.block,e={l:a.bpToX(d.get("start")),h:this._getFeatureHeight(b,d),viewInfo:b,f:d,glyph:this};e.w=a.bpToX(d.get("end"))-e.l;this._addMasksToRect(b,d,e)},_addMasksToRect:function(b,d,a){var e=b.block;d.masks&&(a.m=[],h.forEach(d.masks,function(b){var c={l:e.bpToX(b.start)};c.w=e.bpToX(b.end)-
c.l;a.m.push(c)}));return a},layoutFeature:function(b,d,a){var e=this._getFeatureRectangle(b,a),f=b.scale,c=b.leftBase;b=e.l/f+c;f=(e.l+e.w)/f+c;e.t=d.addRect(a.id(),b,f,e.h,a);if(null===e.t)return null;e.f=a;return e},renderFeature:function(b,d){},maskBySpans:function(b,d){var a=this,e=dojo.create("canvas",{height:b.canvas.height,width:b.canvas.width}),f=e.getContext("2d"),c=Math.floor(d.l),g=Math.ceil(d.w+d.l)-c;h.forEach(d.m,function(h){try{h.l<c&&(h.w+=h.l-c,h.l=c),h.w>g&&(h.w=g),0>h.l&&(h.w+=
h.l,h.l=0),h.l+h.w>c+g&&(h.w=g+c-h.l),h.l+h.w>b.canvas.width&&(h.w=b.canvas.width-h.l),f.drawImage(b.canvas,h.l,d.t,h.w,d.h,h.l,d.t,h.w,d.h),b.globalAlpha=a.booleanAlpha,b.clearRect(h.l,d.t,h.w,d.h),b.drawImage(e,h.l,d.t,h.w,d.h,h.l,d.t,h.w,d.h),b.globalAlpha=1}catch(s){}})},_getFeatureHeight:function(b,d){return this.getStyle(d,"height")},updateStaticElements:function(b,d,a){}})})},"JBrowse/View/FeatureGlyph/_FeatureLabelMixin":function(){define(["dojo/_base/declare","dojo/_base/lang","JBrowse/View/_FeatureDescriptionMixin"],
function(g,h,f){var l={};return g(f,{makeFeatureLabel:function(b,d){var a=this.getFeatureLabel(b);if(!a)return null;var a=""+a,e=this.getStyle(b,"textFont"),a=d?this.makeBottomOrTopLabel(a,e,d):this.makePopupLabel(a,e);a.fill=this.getStyle(b,"textColor");return a},makeFeatureDescriptionLabel:function(b,d){var a=this.getFeatureDescription(b);if(!a)return null;var a=""+a,e=this.getStyle(b,"text2Font"),a=d?this.makeBottomOrTopLabel(a,e,d):this.makePopupLabel(a,e);a.fill=this.getStyle(b,"text2Color");
return a},makeSideLabel:function(b,d,a){if(!b)return null;a=this.measureFont(d);var e=Math.round((b.length*a.w-this.track.getConf("maxFeatureGlyphExpansion"))/a.w);0<e&&(b=b.slice(0,b.length-e-1)+"\u2026");return{text:b,font:d,baseline:"middle",w:a.w*b.length,h:a.h}},makeBottomOrTopLabel:function(b,d,a){if(!b)return null;var e=this.measureFont(d);a=Math.round((b.length*e.w-a.w-this.track.getConf("maxFeatureGlyphExpansion"))/e.w);0<a&&(b=b.slice(0,b.length-a-1)+"\u2026");return{text:b,font:d,baseline:"bottom",
w:e.w*b.length,h:e.h}},makePopupLabel:function(b,d){if(!b)return null;var a=this.measureFont(d);return{text:b,font:d,w:a.w*b.length,h:a.h}},measureFont:function(b){var d;if(!(d=l[b]))d=document.createElement("canvas").getContext("2d"),d.font=b,d=d.measureText("MMMMMMMMMMMMXXXXXXXXXX1234567890-.CGCC12345"),d={h:d.height||parseInt(b.match(/(\d+)px/)[1]),w:d.width/43},d=l[b]=d;return d}})})}}});
define("NeatCanvasFeatures/main","dojo/_base/declare dojo/_base/lang dojo/Deferred dojo/dom-construct dojo/query JBrowse/Plugin".split(" "),function(g,h,f,l,b,d){return g(d,{constructor:function(a){var b=this,d=this.browser;this.gradient=1;"undefined"!=typeof a.gradientFeatures&&0==a.gradientFeatures&&(this.gradient=0);d.afterMilestone("loadConfig",function(){"undefined"===typeof d.config.classInterceptList&&(d.config.classInterceptList={});require(["dojo/_base/lang","JBrowse/View/FeatureGlyph/ProcessedTranscript"],
function(a,b){a.extend(b,{_getFeatureHeight:function(){return 11}})});require(["dojo/_base/lang","JBrowse/View/FeatureGlyph/Segments"],function(a,d){a.extend(d,{renderFeature:b.segments_renderFeature,renderIntrons:b.segments_renderIntrons})});require(["dojo/_base/lang","JBrowse/View/FeatureGlyph/Box"],function(a,d){a.extend(d,{renderBox:b.box_renderBox,colorShift:b.box_colorShift,zeroPad:b.box_zeroPad})})})},segments_renderFeature:function(a,b){"collapsed"!=this.track.displayMode&&a.clearRect(Math.floor(b.l),
b.t,Math.ceil(b.w),b.h);this.renderSegments(a,b);this.renderIntrons(a,b);this.renderLabel(a,b);this.renderDescription(a,b);this.renderArrowhead(a,b)},segments_renderIntrons:function(a,b){var d=this._getSubparts(b.f);if(!(1>=d.length)){d.sort(function(a,b){return a.get("start")-b.get("start")});for(var c=b.viewInfo,f=0;f<d.length-1;++f)if(2<d[f+1].get("start")-d[f].get("end")){var g=c.block.bpToX(d[f].get("start")),h=c.block.bpToX(d[f].get("end"))-g,m=c.block.bpToX(d[f+1].get("start"));c.block.bpToX(d[f+
1].get("end"));var n=b.t,p=b.rect.h,l=this._getFeatureHeight(c,d[f]);if(!l)break;l!=p&&(n+=Math.round((p-l)/2));p=l/2;g+=h;m-=g;h=m/2;a.beginPath();a.moveTo(g,n+p);a.lineTo(g+h,n+1);a.lineTo(g+m,n+p);a.lineWidth=1;a.strokeStyle="#202020";a.lineCap="square";a.stroke()}}},box_renderBox:function(a,b,d,c,f,g,l){g=b.block.bpToX(d.get("start"));var m=b.block.bpToX(d.get("end"))-g;l=l||h.hitch(this,"getStyle");if(b=this._getFeatureHeight(b,d)){b!=f&&(c+=Math.round((f-b)/2));f=l(d,"color");f=getColorHex(f);
var n=d.get("type");"undefined"!==typeof n&&-1<n.indexOf("UTR")?a.fillStyle="#fdfdfd":a.fillStyle=f;f?a.fillRect(g,c,Math.max(1,m),b):a.clearRect(g,c,Math.max(1,m),b);var p;if("undefined"!==typeof n&&-1<n.indexOf("UTR"))p=1,3<m&&(a.lineWidth=p,a.strokeStyle=f,a.strokeRect(g+p/2,c+p/2,m-p,b-p));else if((f=l(d,"borderColor"))&&(p=l(d,"borderWidth")))3<m?(a.lineWidth=p,a.strokeStyle=f,a.strokeRect(g+p/2,c+p/2,m-p,b-p)):(a.globalAlpha=2*p/m,a.fillStyle=f,a.fillRect(g,c,Math.max(1,m),b),a.globalAlpha=
1)}},box_colorShift:function(a,b){if("#"!==a.substring(0,1)||7!==a.length)return a;var d=a.substring(1,3),c=a.substring(3,5),f=a.substring(5,7),d=parseInt(d,16),c=parseInt(c,16),f=parseInt(f,16),d=d+Math.round(d*b),c=c+Math.round(c*b),f=f+Math.round(f*b),d=Math.min(255,d),c=Math.min(255,c),f=Math.min(255,f),d=this.zeroPad(d),c=this.zeroPad(c),f=this.zeroPad(f);return"#"+d+c+f},box_zeroPad:function(a){a="00"+a.toString(16);return a.substr(a.length-2)}})});
function componentFromStr(g,h){var f=Math.max(0,parseInt(g,10));return h?Math.floor(255*Math.min(100,f)/100):Math.min(255,f)}function getColorHex(g){return-1<g.indexOf("#")?g:-1<g.indexOf("rgba")?rgbToHex(g):-1<g.indexOf("rgb")?rgbaToHex(g):colourNameToHex(g)}
function rgbToHex(g){if(-1<g.indexOf("rgba"))return rgbaToHex(g);var h,f;h="";if(g=/^rgb\(\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*\)$/.exec(g))h=componentFromStr(g[1],g[2]),f=componentFromStr(g[3],g[4]),g=componentFromStr(g[5],g[6]),h="#"+(16777216+(h<<16)+(f<<8)+g).toString(16).slice(1);return h}
function rgbaToHex(g){var h,f;h="";if(g=/^rgba\(\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*\)$/.exec(g))h=componentFromStr(g[1],g[2]),f=componentFromStr(g[3],g[4]),g=componentFromStr(g[5],g[6]),h="#"+(16777216+(h<<16)+(f<<8)+g).toString(16).slice(1);return h}
function colourNameToHex(g){var h={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",
darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",
goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",
lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",
olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",
slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return"undefined"!=typeof h[g.toLowerCase()]?h[g.toLowerCase()]:"#000000"};
//# sourceMappingURL=main.js.map