{"version":3,"sources":["webpack:///../../src/util/colors.ts","webpack:///./src/utils/colorPallete.js","webpack:///./node_modules/chroma-js/chroma.js"],"names":["red","Object","freeze","base","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","shuffle","array","seed","t","i","m","length","Math","floor","random","x","sin","colorArray","entries","colors","filter","key","val","map","chroma","scale","correctLightness","flat","global","factory","module","exports","this","limit$2","min","max","limit$1","clip_rgb$3","rgb","_clipped","_unclipped","slice","classToType","i$1","list$1","name","toLowerCase","type$p","obj","prototype","toString","call","type$o","unpack$B","args","keyOrder","Array","split","k","undefined","type$n","last$4","l","PI$2","PI","utils","clip_rgb","limit","type","unpack","last","TWOPI","PITHIRD","DEG2RAD","RAD2DEG","input$h","format","autodetect","last$3","clip_rgb$2","type$m","_input","Color$D","len","arguments","me","constructor","mode","sorted","sort","a","b","p","list","chk","test","apply","Error","_rgb","push","hex","join","Color_1","chroma$k","Function","bind","Color","concat","version","chroma_1","unpack$A","max$2","rgb2cmyk$1","ref","r","g","f","c","y","rgb2cmyk_1","unpack$z","cmyk2rgb","alpha","cmyk2rgb_1","chroma$j","Color$C","input$g","unpack$y","type$l","rgb2cmyk","cmyk","unpack$x","last$2","rnd","round","hsl2css$1","hsla","hsl2css_1","unpack$w","rgb2hsl$3","s","h","Number","NaN","rgb2hsl_1","unpack$v","last$1","hsl2css","rgb2hsl$2","round$6","rgb2css$1","rgba","substr","rgb2css_1","unpack$u","round$5","hsl2rgb$1","assign","t3","t2","t1","h_","hsl2rgb_1","hsl2rgb","input$f","RE_RGB","RE_RGBA","RE_RGB_PCT","RE_RGBA_PCT","RE_HSL","RE_HSLA","round$4","css2rgb$1","css","trim","named","e","match","rgb$1","rgb$2","i$2","rgb$3","i$3","hsl","rgb$4","hsl$1","rgb$5","css2rgb_1","chroma$i","Color$B","input$e","type$k","rgb2css","css2rgb","rest","Color$A","chroma$h","input$d","unpack$t","gl","unpack$s","rgb2hcg$1","delta","_g","rgb2hcg_1","unpack$r","floor$3","hcg2rgb","assign$1","assign$2","assign$3","assign$4","assign$5","_c","q","v","hcg2rgb_1","unpack$q","type$j","chroma$g","Color$z","input$c","rgb2hcg","hcg","unpack$p","round$3","rgb2hex$2","u","str","hxa","rgb2hex_1","RE_HEX","RE_HEXA","hex2rgb$1","parseInt","u$1","r$1","g$1","b$1","hex2rgb_1","chroma$f","Color$y","type$i","input$b","rgb2hex$1","indexOf","unpack$o","TWOPI$2","min$2","sqrt$4","sqrt","acos","rgb2hsi$1","min_","rgb2hsi_1","unpack$n","TWOPI$1","cos$4","cos","hsi2rgb","isNaN","hsi2rgb_1","unpack$m","type$h","chroma$e","Color$x","input$a","rgb2hsi","hsi","unpack$l","type$g","chroma$d","Color$w","input$9","rgb2hsl$1","unpack$k","min$1","max$1","rgb2hsl","max_","rgb2hsv$1","unpack$j","floor$2","hsv2rgb","hsv2rgb_1","unpack$i","type$f","chroma$c","Color$v","input$8","rgb2hsv","hsv","labConstants","Kn","Xn","Yn","Zn","t0","LAB_CONSTANTS$3","unpack$h","pow$a","pow","rgb2lab$2","ref$1","rgb2xyz","z","rgb_xyz","xyz_lab","rgb2lab_1","LAB_CONSTANTS$2","unpack$g","pow$9","lab2rgb$1","b_","lab_xyz","xyz_rgb","lab2rgb_1","unpack$f","type$e","chroma$b","Color$u","input$7","rgb2lab$1","lab","unpack$e","sqrt$3","atan2$2","atan2","round$2","lab2lch$2","lab2lch_1","unpack$d","rgb2lab","lab2lch$1","rgb2lch$1","rgb2lch_1","unpack$c","sin$3","cos$3","lch2lab$2","lch2lab_1","unpack$b","lch2lab$1","lab2rgb","lch2rgb$1","L","lch2rgb_1","unpack$a","lch2rgb","hcl2rgb","hcl","reverse","hcl2rgb_1","unpack$9","type$d","chroma$a","Color$t","input$6","rgb2lch","lch","forEach","w3cx11$1","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","burlywood","cadetblue","chartreuse","chocolate","coral","cornflower","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","ivory","khaki","laserlemon","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrod","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","maroon","maroon2","maroon3","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","plum","powderblue","purple2","purple3","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","w3cx11_1","Color$s","input$5","type$c","w3cx11","hex2rgb","rgb2hex","keys","n","unpack$8","rgb2num$1","rgb2num_1","type$b","num2rgb","num","num2rgb_1","chroma$9","Color$r","input$4","type$a","rgb2num","chroma$8","Color$q","input$3","unpack$7","type$9","round$1","log$1","log","temperature2rgb$1","kelvin","temp","temperature2rgb_1","temperature2rgb","unpack$6","rgb2temperature$1","minTemp","maxTemp","eps","rgb2temperature_1","chroma$7","Color$p","input$2","rgb2temperature","temperature","unpack$5","cbrt","pow$8","sign$1","sign","rgb2oklab$2","rgb2lrgb","lr","lg","lb","rgb2oklab_1","abs","unpack$4","pow$7","oklab2rgb$1","lrgb2rgb","oklab2rgb_1","unpack$3","type$8","chroma$6","Color$o","input$1","rgb2oklab$1","oklab","unpack$2","rgb2oklab","lab2lch","rgb2oklch$1","rgb2oklch_1","unpack$1","lch2lab","oklab2rgb","oklch2rgb","oklch2rgb_1","type$7","chroma$5","Color$n","input","rgb2oklch","oklch","Color$m","type$6","mutate","Color$l","clipped","Color$k","LAB_CONSTANTS$1","darken","amount","brighten","darker","brighter","Color$j","get","mc","channel","src","Color$i","type$5","pow$6","EPS","MAX_ITER","luminance","lum","cur_lum","max_iter","low","high","mid","interpolate","lm","rgb2luminance","luminance_x","interpolator$1","Color$h","type$4","interpolator","mix$1","col1","col2","Color$g","mix","Color$f","premultiply","Color$e","LAB_CONSTANTS","saturate","desaturate","Color$d","type$3","set","value","charAt","out","Color$c","xyz0","xyz1","Color$b","sqrt$2","pow$5","lrgb","x1","y1","z1","x2","y2","z2","Color$a","Color$9","_hsx","hue0","hue1","sat0","sat1","lbv0","lbv1","sat","hue","lbv","dh","interpolate_hsx$5","Color$8","c1","c2","interpolate_hsx$4","interpolate_hsx$3","interpolate_hsx$2","interpolate_hsx$1","Color$7","interpolate_hsx","Color$6","clip_rgb$1","pow$4","sqrt$1","PI$1","cos$2","sin$2","atan2$1","average","weights","from","reduce","w","_average_lrgb","first","shift","xyz","cnt","dx","dy","A","ci","xyz2","A$1","col","chroma$4","type$2","pow$3","scale$2","_mode","_nacol","_spread","_domain","_pos","_padding","_classes","_colors","_out","_min","_max","_correctLightness","_colorCache","_useCache","_gamma","setColors","brewer","c$1","resetCache","getClass","tMapLightness","tMapDomain","getColor","bypassMap","classes","d","analyze","limits","domain","tOut","tBreaks","every","_m","range","_o","spread","L0","L1","pol","L_actual","L_ideal","L_diff","padding","numColors","result","dm","dd","__range__","samples","end","asc","cache","gamma","nodata","left","right","inclusive","ascending","Color$5","scale$1","binom_row","row","newrow","j","bezier","I","lab0","lab1","lab2","lab3","RangeError","labs","sum","el","bezier_1","chroma$3","blend","bottom","top","blend_f","c0","each","normal","multiply","lighten","screen","overlay","burn","dodge","blend_1","type$1","pow$2","sin$1","cos$1","chroma$2","cubehelix","start","rotations","lightness","dl","fract","amp","cos_a","sin_a","Color$4","digits","floor$1","random_1","code","pow$1","abs$1","data","MAX_VALUE","values","count","min_log","LOG10E","max_log","pb","pr","cluster","assignments","clusterSizes","repeat","nb_iters","centroids","i$4","mindist","best","j$1","dist","newCentroids","j$2","i$5","j$3","j$4","kClusters","j$5","i$6","tmpKMeansBreaks","j$6","i$7","analyze_1","Color$3","contrast","l1","l2","Color$2","exp","deltaE","Kl","Kc","Kh","rad2deg","rad","deg2rad","deg","a1","b1","L2","a2","b2","avgL","C1","C2","avgC","G","a1p","a2p","C1p","C2p","avgCp","arctan1","arctan2","h1p","h2p","avgHp","T","deltaHp","deltaL","deltaCp","sl","sc","sh","deltaTheta","Rc","Rt","Color$1","distance","sum_sq","valid","chroma$1","scales","cool","hot","colorbrewer","OrRd","PuBu","BuPu","Oranges","BuGn","YlOrBr","YlGn","Reds","RdPu","Greens","YlGnBu","Purples","GnBu","Greys","YlOrRd","PuRd","Blues","PuBuGn","Viridis","Spectral","RdYlGn","RdBu","PiYG","PRGn","RdYlBu","BrBG","RdGy","PuOr","Set2","Accent","Set1","Set3","Dark2","Paired","Pastel2","Pastel1","colorbrewer_1","chroma_js"],"mappings":"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","file":"js/chunk-ae1a0cd0.842f26b0.js","sourcesContent":["const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: 'transparent',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n","import chroma from \"chroma-js\";\r\nimport colors from \"vuetify/lib/util/colors\";\r\n\r\nfunction shuffle(array, seed) {\r\n // <-- ADDED ARGUMENT\r\n var m = array.length,\r\n t,\r\n i;\r\n\r\n // While there remain elements to shuffle…\r\n while (m) {\r\n // Pick a remaining element…\r\n i = Math.floor(random(seed) * m--); // <-- MODIFIED LINE\r\n\r\n // And swap it with the current element.\r\n t = array[m];\r\n array[m] = array[i];\r\n array[i] = t;\r\n ++seed; // <-- ADDED LINE\r\n }\r\n\r\n return array;\r\n}\r\n\r\nfunction random(seed) {\r\n var x = Math.sin(seed++) * 10000; \r\n return x - Math.floor(x);\r\n}\r\n\r\nconst colorArray = Object.entries(colors)\r\n .filter(([key, val]) => key != \"shades\")\r\n .map(([, val]) =>\r\n chroma\r\n .scale([val.darken4, val.darken2, val.base, val.lighten2])\r\n .correctLightness()\r\n .colors()\r\n )\r\n .flat();\r\n\r\nexport default shuffle(colorArray, 7);\r\n","/**\n * chroma.js - JavaScript library for color conversions\n *\n * Copyright (c) 2011-2019, Gregor Aisch\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -------------------------------------------------------\n *\n * chroma.js includes colors from colorbrewer2.org, which are released under\n * the following license:\n *\n * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,\n * and The Pennsylvania State University.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\n * either express or implied. See the License for the specific\n * language governing permissions and limitations under the License.\n *\n * ------------------------------------------------------\n *\n * Named colors are taken from X11 Color Names.\n * http://www.w3.org/TR/css3-color/#svg-color\n *\n * @preserve\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.chroma = factory());\n})(this, (function () { 'use strict';\n\n var limit$2 = function (x, min, max) {\n if ( min === void 0 ) min=0;\n if ( max === void 0 ) max=1;\n\n return x < min ? min : x > max ? max : x;\n };\n\n var limit$1 = limit$2;\n\n var clip_rgb$3 = function (rgb) {\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (var i=0; i<=3; i++) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) { rgb._clipped = true; }\n rgb[i] = limit$1(rgb[i], 0, 255);\n } else if (i === 3) {\n rgb[i] = limit$1(rgb[i], 0, 1);\n }\n }\n return rgb;\n };\n\n // ported from jQuery's $.type\n var classToType = {};\n for (var i$1 = 0, list$1 = ['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Undefined', 'Null']; i$1 < list$1.length; i$1 += 1) {\n var name = list$1[i$1];\n\n classToType[(\"[object \" + name + \"]\")] = name.toLowerCase();\n }\n var type$p = function(obj) {\n return classToType[Object.prototype.toString.call(obj)] || \"object\";\n };\n\n var type$o = type$p;\n\n var unpack$B = function (args, keyOrder) {\n if ( keyOrder === void 0 ) keyOrder=null;\n\n \t// if called with more than 3 arguments, we return the arguments\n if (args.length >= 3) { return Array.prototype.slice.call(args); }\n // with less than 3 args we check if first arg is object\n // and use the keyOrder string to extract and sort properties\n \tif (type$o(args[0]) == 'object' && keyOrder) {\n \t\treturn keyOrder.split('')\n \t\t\t.filter(function (k) { return args[0][k] !== undefined; })\n \t\t\t.map(function (k) { return args[0][k]; });\n \t}\n \t// otherwise we just return the first argument\n \t// (which we suppose is an array of args)\n return args[0];\n };\n\n var type$n = type$p;\n\n var last$4 = function (args) {\n if (args.length < 2) { return null; }\n var l = args.length-1;\n if (type$n(args[l]) == 'string') { return args[l].toLowerCase(); }\n return null;\n };\n\n var PI$2 = Math.PI;\n\n var utils = {\n \tclip_rgb: clip_rgb$3,\n \tlimit: limit$2,\n \ttype: type$p,\n \tunpack: unpack$B,\n \tlast: last$4,\n \tPI: PI$2,\n \tTWOPI: PI$2*2,\n \tPITHIRD: PI$2/3,\n \tDEG2RAD: PI$2 / 180,\n \tRAD2DEG: 180 / PI$2\n };\n\n var input$h = {\n \tformat: {},\n \tautodetect: []\n };\n\n var last$3 = utils.last;\n var clip_rgb$2 = utils.clip_rgb;\n var type$m = utils.type;\n var _input = input$h;\n\n var Color$D = function Color() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var me = this;\n if (type$m(args[0]) === 'object' &&\n args[0].constructor &&\n args[0].constructor === this.constructor) {\n // the argument is already a Color instance\n return args[0];\n }\n\n // last argument could be the mode\n var mode = last$3(args);\n var autodetect = false;\n\n if (!mode) {\n autodetect = true;\n if (!_input.sorted) {\n _input.autodetect = _input.autodetect.sort(function (a,b) { return b.p - a.p; });\n _input.sorted = true;\n }\n // auto-detect format\n for (var i = 0, list = _input.autodetect; i < list.length; i += 1) {\n var chk = list[i];\n\n mode = chk.test.apply(chk, args);\n if (mode) { break; }\n }\n }\n\n if (_input.format[mode]) {\n var rgb = _input.format[mode].apply(null, autodetect ? args : args.slice(0,-1));\n me._rgb = clip_rgb$2(rgb);\n } else {\n throw new Error('unknown format: '+args);\n }\n\n // add alpha channel\n if (me._rgb.length === 3) { me._rgb.push(1); }\n };\n\n Color$D.prototype.toString = function toString () {\n if (type$m(this.hex) == 'function') { return this.hex(); }\n return (\"[\" + (this._rgb.join(',')) + \"]\");\n };\n\n var Color_1 = Color$D;\n\n var chroma$k = function () {\n \tvar args = [], len = arguments.length;\n \twhile ( len-- ) args[ len ] = arguments[ len ];\n\n \treturn new (Function.prototype.bind.apply( chroma$k.Color, [ null ].concat( args) ));\n };\n\n chroma$k.Color = Color_1;\n chroma$k.version = '2.4.2';\n\n var chroma_1 = chroma$k;\n\n var unpack$A = utils.unpack;\n var max$2 = Math.max;\n\n var rgb2cmyk$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$A(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n var k = 1 - max$2(r,max$2(g,b));\n var f = k < 1 ? 1 / (1-k) : 0;\n var c = (1-r-k) * f;\n var m = (1-g-k) * f;\n var y = (1-b-k) * f;\n return [c,m,y,k];\n };\n\n var rgb2cmyk_1 = rgb2cmyk$1;\n\n var unpack$z = utils.unpack;\n\n var cmyk2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$z(args, 'cmyk');\n var c = args[0];\n var m = args[1];\n var y = args[2];\n var k = args[3];\n var alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) { return [0,0,0,alpha]; }\n return [\n c >= 1 ? 0 : 255 * (1-c) * (1-k), // r\n m >= 1 ? 0 : 255 * (1-m) * (1-k), // g\n y >= 1 ? 0 : 255 * (1-y) * (1-k), // b\n alpha\n ];\n };\n\n var cmyk2rgb_1 = cmyk2rgb;\n\n var chroma$j = chroma_1;\n var Color$C = Color_1;\n var input$g = input$h;\n var unpack$y = utils.unpack;\n var type$l = utils.type;\n\n var rgb2cmyk = rgb2cmyk_1;\n\n Color$C.prototype.cmyk = function() {\n return rgb2cmyk(this._rgb);\n };\n\n chroma$j.cmyk = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$C, [ null ].concat( args, ['cmyk']) ));\n };\n\n input$g.format.cmyk = cmyk2rgb_1;\n\n input$g.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$y(args, 'cmyk');\n if (type$l(args) === 'array' && args.length === 4) {\n return 'cmyk';\n }\n }\n });\n\n var unpack$x = utils.unpack;\n var last$2 = utils.last;\n var rnd = function (a) { return Math.round(a*100)/100; };\n\n /*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\n var hsl2css$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hsla = unpack$x(args, 'hsla');\n var mode = last$2(args) || 'lsa';\n hsla[0] = rnd(hsla[0] || 0);\n hsla[1] = rnd(hsla[1]*100) + '%';\n hsla[2] = rnd(hsla[2]*100) + '%';\n if (mode === 'hsla' || (hsla.length > 3 && hsla[3]<1)) {\n hsla[3] = hsla.length > 3 ? hsla[3] : 1;\n mode = 'hsla';\n } else {\n hsla.length = 3;\n }\n return (mode + \"(\" + (hsla.join(',')) + \")\");\n };\n\n var hsl2css_1 = hsl2css$1;\n\n var unpack$w = utils.unpack;\n\n /*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\n var rgb2hsl$3 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$w(args, 'rgba');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n\n var l = (max + min) / 2;\n var s, h;\n\n if (max === min){\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n\n if (r == max) { h = (g - b) / (max - min); }\n else if (g == max) { h = 2 + (b - r) / (max - min); }\n else if (b == max) { h = 4 + (r - g) / (max - min); }\n\n h *= 60;\n if (h < 0) { h += 360; }\n if (args.length>3 && args[3]!==undefined) { return [h,s,l,args[3]]; }\n return [h,s,l];\n };\n\n var rgb2hsl_1 = rgb2hsl$3;\n\n var unpack$v = utils.unpack;\n var last$1 = utils.last;\n var hsl2css = hsl2css_1;\n var rgb2hsl$2 = rgb2hsl_1;\n var round$6 = Math.round;\n\n /*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\n var rgb2css$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$v(args, 'rgba');\n var mode = last$1(args) || 'rgb';\n if (mode.substr(0,3) == 'hsl') {\n return hsl2css(rgb2hsl$2(rgba), mode);\n }\n rgba[0] = round$6(rgba[0]);\n rgba[1] = round$6(rgba[1]);\n rgba[2] = round$6(rgba[2]);\n if (mode === 'rgba' || (rgba.length > 3 && rgba[3]<1)) {\n rgba[3] = rgba.length > 3 ? rgba[3] : 1;\n mode = 'rgba';\n }\n return (mode + \"(\" + (rgba.slice(0,mode==='rgb'?3:4).join(',')) + \")\");\n };\n\n var rgb2css_1 = rgb2css$1;\n\n var unpack$u = utils.unpack;\n var round$5 = Math.round;\n\n var hsl2rgb$1 = function () {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$u(args, 'hsl');\n var h = args[0];\n var s = args[1];\n var l = args[2];\n var r,g,b;\n if (s === 0) {\n r = g = b = l*255;\n } else {\n var t3 = [0,0,0];\n var c = [0,0,0];\n var t2 = l < 0.5 ? l * (1+s) : l+s-l*s;\n var t1 = 2 * l - t2;\n var h_ = h / 360;\n t3[0] = h_ + 1/3;\n t3[1] = h_;\n t3[2] = h_ - 1/3;\n for (var i=0; i<3; i++) {\n if (t3[i] < 0) { t3[i] += 1; }\n if (t3[i] > 1) { t3[i] -= 1; }\n if (6 * t3[i] < 1)\n { c[i] = t1 + (t2 - t1) * 6 * t3[i]; }\n else if (2 * t3[i] < 1)\n { c[i] = t2; }\n else if (3 * t3[i] < 2)\n { c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6; }\n else\n { c[i] = t1; }\n }\n (assign = [round$5(c[0]*255),round$5(c[1]*255),round$5(c[2]*255)], r = assign[0], g = assign[1], b = assign[2]);\n }\n if (args.length > 3) {\n // keep alpha channel\n return [r,g,b,args[3]];\n }\n return [r,g,b,1];\n };\n\n var hsl2rgb_1 = hsl2rgb$1;\n\n var hsl2rgb = hsl2rgb_1;\n var input$f = input$h;\n\n var RE_RGB = /^rgb\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\)$/;\n var RE_RGBA = /^rgba\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_RGB_PCT = /^rgb\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_RGBA_PCT = /^rgba\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_HSL = /^hsl\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_HSLA = /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\n var round$4 = Math.round;\n\n var css2rgb$1 = function (css) {\n css = css.toLowerCase().trim();\n var m;\n\n if (input$f.format.named) {\n try {\n return input$f.format.named(css);\n } catch (e) {\n // eslint-disable-next-line\n }\n }\n\n // rgb(250,20,0)\n if ((m = css.match(RE_RGB))) {\n var rgb = m.slice(1,4);\n for (var i=0; i<3; i++) {\n rgb[i] = +rgb[i];\n }\n rgb[3] = 1; // default alpha\n return rgb;\n }\n\n // rgba(250,20,0,0.4)\n if ((m = css.match(RE_RGBA))) {\n var rgb$1 = m.slice(1,5);\n for (var i$1=0; i$1<4; i$1++) {\n rgb$1[i$1] = +rgb$1[i$1];\n }\n return rgb$1;\n }\n\n // rgb(100%,0%,0%)\n if ((m = css.match(RE_RGB_PCT))) {\n var rgb$2 = m.slice(1,4);\n for (var i$2=0; i$2<3; i$2++) {\n rgb$2[i$2] = round$4(rgb$2[i$2] * 2.55);\n }\n rgb$2[3] = 1; // default alpha\n return rgb$2;\n }\n\n // rgba(100%,0%,0%,0.4)\n if ((m = css.match(RE_RGBA_PCT))) {\n var rgb$3 = m.slice(1,5);\n for (var i$3=0; i$3<3; i$3++) {\n rgb$3[i$3] = round$4(rgb$3[i$3] * 2.55);\n }\n rgb$3[3] = +rgb$3[3];\n return rgb$3;\n }\n\n // hsl(0,100%,50%)\n if ((m = css.match(RE_HSL))) {\n var hsl = m.slice(1,4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n var rgb$4 = hsl2rgb(hsl);\n rgb$4[3] = 1;\n return rgb$4;\n }\n\n // hsla(0,100%,50%,0.5)\n if ((m = css.match(RE_HSLA))) {\n var hsl$1 = m.slice(1,4);\n hsl$1[1] *= 0.01;\n hsl$1[2] *= 0.01;\n var rgb$5 = hsl2rgb(hsl$1);\n rgb$5[3] = +m[4]; // default alpha = 1\n return rgb$5;\n }\n };\n\n css2rgb$1.test = function (s) {\n return RE_RGB.test(s) ||\n RE_RGBA.test(s) ||\n RE_RGB_PCT.test(s) ||\n RE_RGBA_PCT.test(s) ||\n RE_HSL.test(s) ||\n RE_HSLA.test(s);\n };\n\n var css2rgb_1 = css2rgb$1;\n\n var chroma$i = chroma_1;\n var Color$B = Color_1;\n var input$e = input$h;\n var type$k = utils.type;\n\n var rgb2css = rgb2css_1;\n var css2rgb = css2rgb_1;\n\n Color$B.prototype.css = function(mode) {\n return rgb2css(this._rgb, mode);\n };\n\n chroma$i.css = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$B, [ null ].concat( args, ['css']) ));\n };\n\n input$e.format.css = css2rgb;\n\n input$e.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$k(h) === 'string' && css2rgb.test(h)) {\n return 'css';\n }\n }\n });\n\n var Color$A = Color_1;\n var chroma$h = chroma_1;\n var input$d = input$h;\n var unpack$t = utils.unpack;\n\n input$d.format.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$t(args, 'rgba');\n rgb[0] *= 255;\n rgb[1] *= 255;\n rgb[2] *= 255;\n return rgb;\n };\n\n chroma$h.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$A, [ null ].concat( args, ['gl']) ));\n };\n\n Color$A.prototype.gl = function() {\n var rgb = this._rgb;\n return [rgb[0]/255, rgb[1]/255, rgb[2]/255, rgb[3]];\n };\n\n var unpack$s = utils.unpack;\n\n var rgb2hcg$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$s(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var c = delta * 100 / 255;\n var _g = min / (255 - delta) * 100;\n var h;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) { h = (g - b) / delta; }\n if (g === max) { h = 2+(b - r) / delta; }\n if (b === max) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, c, _g];\n };\n\n var rgb2hcg_1 = rgb2hcg$1;\n\n var unpack$r = utils.unpack;\n var floor$3 = Math.floor;\n\n /*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\n var hcg2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$r(args, 'hcg');\n var h = args[0];\n var c = args[1];\n var _g = args[2];\n var r,g,b;\n _g = _g * 255;\n var _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n var i = floor$3(h);\n var f = h - i;\n var p = _g * (1 - c);\n var q = p + _c * (1 - f);\n var t = p + _c * f;\n var v = p + _c;\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var hcg2rgb_1 = hcg2rgb;\n\n var unpack$q = utils.unpack;\n var type$j = utils.type;\n var chroma$g = chroma_1;\n var Color$z = Color_1;\n var input$c = input$h;\n\n var rgb2hcg = rgb2hcg_1;\n\n Color$z.prototype.hcg = function() {\n return rgb2hcg(this._rgb);\n };\n\n chroma$g.hcg = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$z, [ null ].concat( args, ['hcg']) ));\n };\n\n input$c.format.hcg = hcg2rgb_1;\n\n input$c.autodetect.push({\n p: 1,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$q(args, 'hcg');\n if (type$j(args) === 'array' && args.length === 3) {\n return 'hcg';\n }\n }\n });\n\n var unpack$p = utils.unpack;\n var last = utils.last;\n var round$3 = Math.round;\n\n var rgb2hex$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$p(args, 'rgba');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var a = ref[3];\n var mode = last(args) || 'auto';\n if (a === undefined) { a = 1; }\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = round$3(r);\n g = round$3(g);\n b = round$3(b);\n var u = r << 16 | g << 8 | b;\n var str = \"000000\" + u.toString(16); //#.toUpperCase();\n str = str.substr(str.length - 6);\n var hxa = '0' + round$3(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n switch (mode.toLowerCase()) {\n case 'rgba': return (\"#\" + str + hxa);\n case 'argb': return (\"#\" + hxa + str);\n default: return (\"#\" + str);\n }\n };\n\n var rgb2hex_1 = rgb2hex$2;\n\n var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\n var hex2rgb$1 = function (hex) {\n if (hex.match(RE_HEX)) {\n // remove optional leading #\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n // expand short-notation to full six-digit\n if (hex.length === 3) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];\n }\n var u = parseInt(hex, 16);\n var r = u >> 16;\n var g = u >> 8 & 0xFF;\n var b = u & 0xFF;\n return [r,g,b,1];\n }\n\n // match rgba hex format, eg #FF000077\n if (hex.match(RE_HEXA)) {\n if (hex.length === 5 || hex.length === 9) {\n // remove optional leading #\n hex = hex.substr(1);\n }\n // expand short-notation to full eight-digit\n if (hex.length === 4) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]+hex[3]+hex[3];\n }\n var u$1 = parseInt(hex, 16);\n var r$1 = u$1 >> 24 & 0xFF;\n var g$1 = u$1 >> 16 & 0xFF;\n var b$1 = u$1 >> 8 & 0xFF;\n var a = Math.round((u$1 & 0xFF) / 0xFF * 100) / 100;\n return [r$1,g$1,b$1,a];\n }\n\n // we used to check for css colors here\n // if _input.css? and rgb = _input.css hex\n // return rgb\n\n throw new Error((\"unknown hex color: \" + hex));\n };\n\n var hex2rgb_1 = hex2rgb$1;\n\n var chroma$f = chroma_1;\n var Color$y = Color_1;\n var type$i = utils.type;\n var input$b = input$h;\n\n var rgb2hex$1 = rgb2hex_1;\n\n Color$y.prototype.hex = function(mode) {\n return rgb2hex$1(this._rgb, mode);\n };\n\n chroma$f.hex = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$y, [ null ].concat( args, ['hex']) ));\n };\n\n input$b.format.hex = hex2rgb_1;\n input$b.autodetect.push({\n p: 4,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$i(h) === 'string' && [3,4,5,6,7,8,9].indexOf(h.length) >= 0) {\n return 'hex';\n }\n }\n });\n\n var unpack$o = utils.unpack;\n var TWOPI$2 = utils.TWOPI;\n var min$2 = Math.min;\n var sqrt$4 = Math.sqrt;\n var acos = Math.acos;\n\n var rgb2hsi$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n var ref = unpack$o(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var h;\n var min_ = min$2(r,g,b);\n var i = (r+g+b) / 3;\n var s = i > 0 ? 1 - min_/i : 0;\n if (s === 0) {\n h = NaN;\n } else {\n h = ((r-g)+(r-b)) / 2;\n h /= sqrt$4((r-g)*(r-g) + (r-b)*(g-b));\n h = acos(h);\n if (b > g) {\n h = TWOPI$2 - h;\n }\n h /= TWOPI$2;\n }\n return [h*360,s,i];\n };\n\n var rgb2hsi_1 = rgb2hsi$1;\n\n var unpack$n = utils.unpack;\n var limit = utils.limit;\n var TWOPI$1 = utils.TWOPI;\n var PITHIRD = utils.PITHIRD;\n var cos$4 = Math.cos;\n\n /*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\n var hsi2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n args = unpack$n(args, 'hsi');\n var h = args[0];\n var s = args[1];\n var i = args[2];\n var r,g,b;\n\n if (isNaN(h)) { h = 0; }\n if (isNaN(s)) { s = 0; }\n // normalize hue\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 360;\n if (h < 1/3) {\n b = (1-s)/3;\n r = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n g = 1 - (b+r);\n } else if (h < 2/3) {\n h -= 1/3;\n r = (1-s)/3;\n g = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n b = 1 - (r+g);\n } else {\n h -= 2/3;\n g = (1-s)/3;\n b = (1+s*cos$4(TWOPI$1*h)/cos$4(PITHIRD-TWOPI$1*h))/3;\n r = 1 - (g+b);\n }\n r = limit(i*r*3);\n g = limit(i*g*3);\n b = limit(i*b*3);\n return [r*255, g*255, b*255, args.length > 3 ? args[3] : 1];\n };\n\n var hsi2rgb_1 = hsi2rgb;\n\n var unpack$m = utils.unpack;\n var type$h = utils.type;\n var chroma$e = chroma_1;\n var Color$x = Color_1;\n var input$a = input$h;\n\n var rgb2hsi = rgb2hsi_1;\n\n Color$x.prototype.hsi = function() {\n return rgb2hsi(this._rgb);\n };\n\n chroma$e.hsi = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$x, [ null ].concat( args, ['hsi']) ));\n };\n\n input$a.format.hsi = hsi2rgb_1;\n\n input$a.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$m(args, 'hsi');\n if (type$h(args) === 'array' && args.length === 3) {\n return 'hsi';\n }\n }\n });\n\n var unpack$l = utils.unpack;\n var type$g = utils.type;\n var chroma$d = chroma_1;\n var Color$w = Color_1;\n var input$9 = input$h;\n\n var rgb2hsl$1 = rgb2hsl_1;\n\n Color$w.prototype.hsl = function() {\n return rgb2hsl$1(this._rgb);\n };\n\n chroma$d.hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$w, [ null ].concat( args, ['hsl']) ));\n };\n\n input$9.format.hsl = hsl2rgb_1;\n\n input$9.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$l(args, 'hsl');\n if (type$g(args) === 'array' && args.length === 3) {\n return 'hsl';\n }\n }\n });\n\n var unpack$k = utils.unpack;\n var min$1 = Math.min;\n var max$1 = Math.max;\n\n /*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\n var rgb2hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$k(args, 'rgb');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var min_ = min$1(r, g, b);\n var max_ = max$1(r, g, b);\n var delta = max_ - min_;\n var h,s,v;\n v = max_ / 255.0;\n if (max_ === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max_;\n if (r === max_) { h = (g - b) / delta; }\n if (g === max_) { h = 2+(b - r) / delta; }\n if (b === max_) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, s, v]\n };\n\n var rgb2hsv$1 = rgb2hsl;\n\n var unpack$j = utils.unpack;\n var floor$2 = Math.floor;\n\n var hsv2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$j(args, 'hsv');\n var h = args[0];\n var s = args[1];\n var v = args[2];\n var r,g,b;\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n\n var i = floor$2(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r,g,b,args.length > 3?args[3]:1];\n };\n\n var hsv2rgb_1 = hsv2rgb;\n\n var unpack$i = utils.unpack;\n var type$f = utils.type;\n var chroma$c = chroma_1;\n var Color$v = Color_1;\n var input$8 = input$h;\n\n var rgb2hsv = rgb2hsv$1;\n\n Color$v.prototype.hsv = function() {\n return rgb2hsv(this._rgb);\n };\n\n chroma$c.hsv = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$v, [ null ].concat( args, ['hsv']) ));\n };\n\n input$8.format.hsv = hsv2rgb_1;\n\n input$8.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$i(args, 'hsv');\n if (type$f(args) === 'array' && args.length === 3) {\n return 'hsv';\n }\n }\n });\n\n var labConstants = {\n // Corresponds roughly to RGB brighter/darker\n Kn: 18,\n\n // D65 standard referent\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n\n t0: 0.137931034, // 4 / 29\n t1: 0.206896552, // 6 / 29\n t2: 0.12841855, // 3 * t1 * t1\n t3: 0.008856452, // t1 * t1 * t1\n };\n\n var LAB_CONSTANTS$3 = labConstants;\n var unpack$h = utils.unpack;\n var pow$a = Math.pow;\n\n var rgb2lab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$h(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2xyz(r,g,b);\n var x = ref$1[0];\n var y = ref$1[1];\n var z = ref$1[2];\n var l = 116 * y - 16;\n return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)];\n };\n\n var rgb_xyz = function (r) {\n if ((r /= 255) <= 0.04045) { return r / 12.92; }\n return pow$a((r + 0.055) / 1.055, 2.4);\n };\n\n var xyz_lab = function (t) {\n if (t > LAB_CONSTANTS$3.t3) { return pow$a(t, 1 / 3); }\n return t / LAB_CONSTANTS$3.t2 + LAB_CONSTANTS$3.t0;\n };\n\n var rgb2xyz = function (r,g,b) {\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / LAB_CONSTANTS$3.Xn);\n var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / LAB_CONSTANTS$3.Yn);\n var z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / LAB_CONSTANTS$3.Zn);\n return [x,y,z];\n };\n\n var rgb2lab_1 = rgb2lab$2;\n\n var LAB_CONSTANTS$2 = labConstants;\n var unpack$g = utils.unpack;\n var pow$9 = Math.pow;\n\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n var lab2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$g(args, 'lab');\n var l = args[0];\n var a = args[1];\n var b = args[2];\n var x,y,z, r,g,b_;\n\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n\n y = LAB_CONSTANTS$2.Yn * lab_xyz(y);\n x = LAB_CONSTANTS$2.Xn * lab_xyz(x);\n z = LAB_CONSTANTS$2.Zn * lab_xyz(z);\n\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); // D65 -> sRGB\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n\n return [r,g,b_,args.length > 3 ? args[3] : 1];\n };\n\n var xyz_rgb = function (r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow$9(r, 1 / 2.4) - 0.055)\n };\n\n var lab_xyz = function (t) {\n return t > LAB_CONSTANTS$2.t1 ? t * t * t : LAB_CONSTANTS$2.t2 * (t - LAB_CONSTANTS$2.t0)\n };\n\n var lab2rgb_1 = lab2rgb$1;\n\n var unpack$f = utils.unpack;\n var type$e = utils.type;\n var chroma$b = chroma_1;\n var Color$u = Color_1;\n var input$7 = input$h;\n\n var rgb2lab$1 = rgb2lab_1;\n\n Color$u.prototype.lab = function() {\n return rgb2lab$1(this._rgb);\n };\n\n chroma$b.lab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$u, [ null ].concat( args, ['lab']) ));\n };\n\n input$7.format.lab = lab2rgb_1;\n\n input$7.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$f(args, 'lab');\n if (type$e(args) === 'array' && args.length === 3) {\n return 'lab';\n }\n }\n });\n\n var unpack$e = utils.unpack;\n var RAD2DEG = utils.RAD2DEG;\n var sqrt$3 = Math.sqrt;\n var atan2$2 = Math.atan2;\n var round$2 = Math.round;\n\n var lab2lch$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$e(args, 'lab');\n var l = ref[0];\n var a = ref[1];\n var b = ref[2];\n var c = sqrt$3(a * a + b * b);\n var h = (atan2$2(b, a) * RAD2DEG + 360) % 360;\n if (round$2(c*10000) === 0) { h = Number.NaN; }\n return [l, c, h];\n };\n\n var lab2lch_1 = lab2lch$2;\n\n var unpack$d = utils.unpack;\n var rgb2lab = rgb2lab_1;\n var lab2lch$1 = lab2lch_1;\n\n var rgb2lch$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$d(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2lab(r,g,b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch$1(l,a,b_);\n };\n\n var rgb2lch_1 = rgb2lch$1;\n\n var unpack$c = utils.unpack;\n var DEG2RAD = utils.DEG2RAD;\n var sin$3 = Math.sin;\n var cos$3 = Math.cos;\n\n var lch2lab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n\n A saturation multiplier was added by Gregor Aisch\n */\n var ref = unpack$c(args, 'lch');\n var l = ref[0];\n var c = ref[1];\n var h = ref[2];\n if (isNaN(h)) { h = 0; }\n h = h * DEG2RAD;\n return [l, cos$3(h) * c, sin$3(h) * c]\n };\n\n var lch2lab_1 = lch2lab$2;\n\n var unpack$b = utils.unpack;\n var lch2lab$1 = lch2lab_1;\n var lab2rgb = lab2rgb_1;\n\n var lch2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$b(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab$1 (l,c,h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = lab2rgb (L,a,b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var lch2rgb_1 = lch2rgb$1;\n\n var unpack$a = utils.unpack;\n var lch2rgb = lch2rgb_1;\n\n var hcl2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hcl = unpack$a(args, 'hcl').reverse();\n return lch2rgb.apply(void 0, hcl);\n };\n\n var hcl2rgb_1 = hcl2rgb;\n\n var unpack$9 = utils.unpack;\n var type$d = utils.type;\n var chroma$a = chroma_1;\n var Color$t = Color_1;\n var input$6 = input$h;\n\n var rgb2lch = rgb2lch_1;\n\n Color$t.prototype.lch = function() { return rgb2lch(this._rgb); };\n Color$t.prototype.hcl = function() { return rgb2lch(this._rgb).reverse(); };\n\n chroma$a.lch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$t, [ null ].concat( args, ['lch']) ));\n };\n chroma$a.hcl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$t, [ null ].concat( args, ['hcl']) ));\n };\n\n input$6.format.lch = lch2rgb_1;\n input$6.format.hcl = hcl2rgb_1;\n\n ['lch','hcl'].forEach(function (m) { return input$6.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$9(args, m);\n if (type$d(args) === 'array' && args.length === 3) {\n return m;\n }\n }\n }); });\n\n /**\n \tX11 color names\n\n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n var w3cx11$1 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n\n var w3cx11_1 = w3cx11$1;\n\n var Color$s = Color_1;\n var input$5 = input$h;\n var type$c = utils.type;\n\n var w3cx11 = w3cx11_1;\n var hex2rgb = hex2rgb_1;\n var rgb2hex = rgb2hex_1;\n\n Color$s.prototype.name = function() {\n var hex = rgb2hex(this._rgb, 'rgb');\n for (var i = 0, list = Object.keys(w3cx11); i < list.length; i += 1) {\n var n = list[i];\n\n if (w3cx11[n] === hex) { return n.toLowerCase(); }\n }\n return hex;\n };\n\n input$5.format.named = function (name) {\n name = name.toLowerCase();\n if (w3cx11[name]) { return hex2rgb(w3cx11[name]); }\n throw new Error('unknown color name: '+name);\n };\n\n input$5.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$c(h) === 'string' && w3cx11[h.toLowerCase()]) {\n return 'named';\n }\n }\n });\n\n var unpack$8 = utils.unpack;\n\n var rgb2num$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$8(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n var rgb2num_1 = rgb2num$1;\n\n var type$b = utils.type;\n\n var num2rgb = function (num) {\n if (type$b(num) == \"number\" && num >= 0 && num <= 0xFFFFFF) {\n var r = num >> 16;\n var g = (num >> 8) & 0xFF;\n var b = num & 0xFF;\n return [r,g,b,1];\n }\n throw new Error(\"unknown num color: \"+num);\n };\n\n var num2rgb_1 = num2rgb;\n\n var chroma$9 = chroma_1;\n var Color$r = Color_1;\n var input$4 = input$h;\n var type$a = utils.type;\n\n var rgb2num = rgb2num_1;\n\n Color$r.prototype.num = function() {\n return rgb2num(this._rgb);\n };\n\n chroma$9.num = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$r, [ null ].concat( args, ['num']) ));\n };\n\n input$4.format.num = num2rgb_1;\n\n input$4.autodetect.push({\n p: 5,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (args.length === 1 && type$a(args[0]) === 'number' && args[0] >= 0 && args[0] <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n\n var chroma$8 = chroma_1;\n var Color$q = Color_1;\n var input$3 = input$h;\n var unpack$7 = utils.unpack;\n var type$9 = utils.type;\n var round$1 = Math.round;\n\n Color$q.prototype.rgb = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n if (rnd === false) { return this._rgb.slice(0,3); }\n return this._rgb.slice(0,3).map(round$1);\n };\n\n Color$q.prototype.rgba = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n return this._rgb.slice(0,4).map(function (v,i) {\n return i<3 ? (rnd === false ? v : round$1(v)) : v;\n });\n };\n\n chroma$8.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$q, [ null ].concat( args, ['rgb']) ));\n };\n\n input$3.format.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$7(args, 'rgba');\n if (rgba[3] === undefined) { rgba[3] = 1; }\n return rgba;\n };\n\n input$3.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$7(args, 'rgba');\n if (type$9(args) === 'array' && (args.length === 3 ||\n args.length === 4 && type$9(args[3]) == 'number' && args[3] >= 0 && args[3] <= 1)) {\n return 'rgb';\n }\n }\n });\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\n var log$1 = Math.log;\n\n var temperature2rgb$1 = function (kelvin) {\n var temp = kelvin / 100;\n var r,g,b;\n if (temp < 66) {\n r = 255;\n g = temp < 6 ? 0 : -155.25485562709179 - 0.44596950469579133 * (g = temp-2) + 104.49216199393888 * log$1(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp-10) + 115.67994401066147 * log$1(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp-55) - 40.25366309332127 * log$1(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp-50) - 28.0852963507957 * log$1(g);\n b = 255;\n }\n return [r,g,b,1];\n };\n\n var temperature2rgb_1 = temperature2rgb$1;\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\n var temperature2rgb = temperature2rgb_1;\n var unpack$6 = utils.unpack;\n var round = Math.round;\n\n var rgb2temperature$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$6(args, 'rgb');\n var r = rgb[0], b = rgb[2];\n var minTemp = 1000;\n var maxTemp = 40000;\n var eps = 0.4;\n var temp;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n var rgb$1 = temperature2rgb(temp);\n if ((rgb$1[2] / rgb$1[0]) >= (b / r)) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round(temp);\n };\n\n var rgb2temperature_1 = rgb2temperature$1;\n\n var chroma$7 = chroma_1;\n var Color$p = Color_1;\n var input$2 = input$h;\n\n var rgb2temperature = rgb2temperature_1;\n\n Color$p.prototype.temp =\n Color$p.prototype.kelvin =\n Color$p.prototype.temperature = function() {\n return rgb2temperature(this._rgb);\n };\n\n chroma$7.temp =\n chroma$7.kelvin =\n chroma$7.temperature = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$p, [ null ].concat( args, ['temp']) ));\n };\n\n input$2.format.temp =\n input$2.format.kelvin =\n input$2.format.temperature = temperature2rgb_1;\n\n var unpack$5 = utils.unpack;\n var cbrt = Math.cbrt;\n var pow$8 = Math.pow;\n var sign$1 = Math.sign;\n\n var rgb2oklab$2 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // OKLab color space implementation taken from\n // https://bottosson.github.io/posts/oklab/\n var ref = unpack$5(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = [rgb2lrgb(r / 255), rgb2lrgb(g / 255), rgb2lrgb(b / 255)];\n var lr = ref$1[0];\n var lg = ref$1[1];\n var lb = ref$1[2];\n var l = cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);\n var m = cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);\n var s = cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);\n\n return [\n 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s\n ];\n };\n\n var rgb2oklab_1 = rgb2oklab$2;\n\n function rgb2lrgb(c) {\n var abs = Math.abs(c);\n if (abs < 0.04045) {\n return c / 12.92;\n }\n return (sign$1(c) || 1) * pow$8((abs + 0.055) / 1.055, 2.4);\n }\n\n var unpack$4 = utils.unpack;\n var pow$7 = Math.pow;\n var sign = Math.sign;\n\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n var oklab2rgb$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$4(args, 'lab');\n var L = args[0];\n var a = args[1];\n var b = args[2];\n\n var l = pow$7(L + 0.3963377774 * a + 0.2158037573 * b, 3);\n var m = pow$7(L - 0.1055613458 * a - 0.0638541728 * b, 3);\n var s = pow$7(L - 0.0894841775 * a - 1.291485548 * b, 3);\n\n return [\n 255 * lrgb2rgb(+4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s),\n 255 * lrgb2rgb(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s),\n 255 * lrgb2rgb(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s),\n args.length > 3 ? args[3] : 1\n ];\n };\n\n var oklab2rgb_1 = oklab2rgb$1;\n\n function lrgb2rgb(c) {\n var abs = Math.abs(c);\n if (abs > 0.0031308) {\n return (sign(c) || 1) * (1.055 * pow$7(abs, 1 / 2.4) - 0.055);\n }\n return c * 12.92;\n }\n\n var unpack$3 = utils.unpack;\n var type$8 = utils.type;\n var chroma$6 = chroma_1;\n var Color$o = Color_1;\n var input$1 = input$h;\n\n var rgb2oklab$1 = rgb2oklab_1;\n\n Color$o.prototype.oklab = function () {\n return rgb2oklab$1(this._rgb);\n };\n\n chroma$6.oklab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$o, [ null ].concat( args, ['oklab']) ));\n };\n\n input$1.format.oklab = oklab2rgb_1;\n\n input$1.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$3(args, 'oklab');\n if (type$8(args) === 'array' && args.length === 3) {\n return 'oklab';\n }\n }\n });\n\n var unpack$2 = utils.unpack;\n var rgb2oklab = rgb2oklab_1;\n var lab2lch = lab2lch_1;\n\n var rgb2oklch$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$2(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2oklab(r, g, b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch(l, a, b_);\n };\n\n var rgb2oklch_1 = rgb2oklch$1;\n\n var unpack$1 = utils.unpack;\n var lch2lab = lch2lab_1;\n var oklab2rgb = oklab2rgb_1;\n\n var oklch2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$1(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab(l, c, h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = oklab2rgb(L, a, b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var oklch2rgb_1 = oklch2rgb;\n\n var unpack = utils.unpack;\n var type$7 = utils.type;\n var chroma$5 = chroma_1;\n var Color$n = Color_1;\n var input = input$h;\n\n var rgb2oklch = rgb2oklch_1;\n\n Color$n.prototype.oklch = function () {\n return rgb2oklch(this._rgb);\n };\n\n chroma$5.oklch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color$n, [ null ].concat( args, ['oklch']) ));\n };\n\n input.format.oklch = oklch2rgb_1;\n\n input.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack(args, 'oklch');\n if (type$7(args) === 'array' && args.length === 3) {\n return 'oklch';\n }\n }\n });\n\n var Color$m = Color_1;\n var type$6 = utils.type;\n\n Color$m.prototype.alpha = function(a, mutate) {\n if ( mutate === void 0 ) mutate=false;\n\n if (a !== undefined && type$6(a) === 'number') {\n if (mutate) {\n this._rgb[3] = a;\n return this;\n }\n return new Color$m([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n }\n return this._rgb[3];\n };\n\n var Color$l = Color_1;\n\n Color$l.prototype.clipped = function() {\n return this._rgb._clipped || false;\n };\n\n var Color$k = Color_1;\n var LAB_CONSTANTS$1 = labConstants;\n\n Color$k.prototype.darken = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lab = me.lab();\n \tlab[0] -= LAB_CONSTANTS$1.Kn * amount;\n \treturn new Color$k(lab, 'lab').alpha(me.alpha(), true);\n };\n\n Color$k.prototype.brighten = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.darken(-amount);\n };\n\n Color$k.prototype.darker = Color$k.prototype.darken;\n Color$k.prototype.brighter = Color$k.prototype.brighten;\n\n var Color$j = Color_1;\n\n Color$j.prototype.get = function (mc) {\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) { return src[i]; }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var Color$i = Color_1;\n var type$5 = utils.type;\n var pow$6 = Math.pow;\n\n var EPS = 1e-7;\n var MAX_ITER = 20;\n\n Color$i.prototype.luminance = function(lum) {\n if (lum !== undefined && type$5(lum) === 'number') {\n if (lum === 0) {\n // return pure black\n return new Color$i([0,0,0,this._rgb[3]], 'rgb');\n }\n if (lum === 1) {\n // return pure white\n return new Color$i([255,255,255,this._rgb[3]], 'rgb');\n }\n // compute new color using...\n var cur_lum = this.luminance();\n var mode = 'rgb';\n var max_iter = MAX_ITER;\n\n var test = function (low, high) {\n var mid = low.interpolate(high, 0.5, mode);\n var lm = mid.luminance();\n if (Math.abs(lum - lm) < EPS || !max_iter--) {\n // close enough\n return mid;\n }\n return lm > lum ? test(low, mid) : test(mid, high);\n };\n\n var rgb = (cur_lum > lum ? test(new Color$i([0,0,0]), this) : test(this, new Color$i([255,255,255]))).rgb();\n return new Color$i(rgb.concat( [this._rgb[3]]));\n }\n return rgb2luminance.apply(void 0, (this._rgb).slice(0,3));\n };\n\n\n var rgb2luminance = function (r,g,b) {\n // relative luminance\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n var luminance_x = function (x) {\n x /= 255;\n return x <= 0.03928 ? x/12.92 : pow$6((x+0.055)/1.055, 2.4);\n };\n\n var interpolator$1 = {};\n\n var Color$h = Color_1;\n var type$4 = utils.type;\n var interpolator = interpolator$1;\n\n var mix$1 = function (col1, col2, f) {\n if ( f === void 0 ) f=0.5;\n var rest = [], len = arguments.length - 3;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 3 ];\n\n var mode = rest[0] || 'lrgb';\n if (!interpolator[mode] && !rest.length) {\n // fall back to the first supported mode\n mode = Object.keys(interpolator)[0];\n }\n if (!interpolator[mode]) {\n throw new Error((\"interpolation mode \" + mode + \" is not defined\"));\n }\n if (type$4(col1) !== 'object') { col1 = new Color$h(col1); }\n if (type$4(col2) !== 'object') { col2 = new Color$h(col2); }\n return interpolator[mode](col1, col2, f)\n .alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n var Color$g = Color_1;\n var mix = mix$1;\n\n Color$g.prototype.mix =\n Color$g.prototype.interpolate = function(col2, f) {\n \tif ( f === void 0 ) f=0.5;\n \tvar rest = [], len = arguments.length - 2;\n \twhile ( len-- > 0 ) rest[ len ] = arguments[ len + 2 ];\n\n \treturn mix.apply(void 0, [ this, col2, f ].concat( rest ));\n };\n\n var Color$f = Color_1;\n\n Color$f.prototype.premultiply = function(mutate) {\n \tif ( mutate === void 0 ) mutate=false;\n\n \tvar rgb = this._rgb;\n \tvar a = rgb[3];\n \tif (mutate) {\n \t\tthis._rgb = [rgb[0]*a, rgb[1]*a, rgb[2]*a, a];\n \t\treturn this;\n \t} else {\n \t\treturn new Color$f([rgb[0]*a, rgb[1]*a, rgb[2]*a, a], 'rgb');\n \t}\n };\n\n var Color$e = Color_1;\n var LAB_CONSTANTS = labConstants;\n\n Color$e.prototype.saturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lch = me.lch();\n \tlch[1] += LAB_CONSTANTS.Kn * amount;\n \tif (lch[1] < 0) { lch[1] = 0; }\n \treturn new Color$e(lch, 'lch').alpha(me.alpha(), true);\n };\n\n Color$e.prototype.desaturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.saturate(-amount);\n };\n\n var Color$d = Color_1;\n var type$3 = utils.type;\n\n Color$d.prototype.set = function (mc, value, mutate) {\n if ( mutate === void 0 ) mutate = false;\n\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel) - (mode.substr(0, 2) === 'ok' ? 2 : 0);\n if (i > -1) {\n if (type$3(value) == 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n case '-':\n src[i] += +value;\n break;\n case '*':\n src[i] *= +value.substr(1);\n break;\n case '/':\n src[i] /= +value.substr(1);\n break;\n default:\n src[i] = +value;\n }\n } else if (type$3(value) === 'number') {\n src[i] = value;\n } else {\n throw new Error(\"unsupported value for Color.set\");\n }\n var out = new Color$d(src, mode);\n if (mutate) {\n this._rgb = out._rgb;\n return this;\n }\n return out;\n }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var Color$c = Color_1;\n\n var rgb = function (col1, col2, f) {\n var xyz0 = col1._rgb;\n var xyz1 = col2._rgb;\n return new Color$c(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator$1.rgb = rgb;\n\n var Color$b = Color_1;\n var sqrt$2 = Math.sqrt;\n var pow$5 = Math.pow;\n\n var lrgb = function (col1, col2, f) {\n var ref = col1._rgb;\n var x1 = ref[0];\n var y1 = ref[1];\n var z1 = ref[2];\n var ref$1 = col2._rgb;\n var x2 = ref$1[0];\n var y2 = ref$1[1];\n var z2 = ref$1[2];\n return new Color$b(\n sqrt$2(pow$5(x1,2) * (1-f) + pow$5(x2,2) * f),\n sqrt$2(pow$5(y1,2) * (1-f) + pow$5(y2,2) * f),\n sqrt$2(pow$5(z1,2) * (1-f) + pow$5(z2,2) * f),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator$1.lrgb = lrgb;\n\n var Color$a = Color_1;\n\n var lab = function (col1, col2, f) {\n var xyz0 = col1.lab();\n var xyz1 = col2.lab();\n return new Color$a(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'lab'\n )\n };\n\n // register interpolator\n interpolator$1.lab = lab;\n\n var Color$9 = Color_1;\n\n var _hsx = function (col1, col2, f, m) {\n var assign, assign$1;\n\n var xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n } else if (m === 'oklch') {\n xyz0 = col1.oklch().reverse();\n xyz1 = col2.oklch().reverse();\n }\n\n var hue0, hue1, sat0, sat1, lbv0, lbv1;\n if (m.substr(0, 1) === 'h' || m === 'oklch') {\n (assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2]);\n (assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2]);\n }\n\n var sat, hue, lbv, dh;\n\n if (!isNaN(hue0) && !isNaN(hue1)) {\n // both colors have hue\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') { sat = sat0; }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') { sat = sat1; }\n } else {\n hue = Number.NaN;\n }\n\n if (sat === undefined) { sat = sat0 + f * (sat1 - sat0); }\n lbv = lbv0 + f * (lbv1 - lbv0);\n return m === 'oklch' ? new Color$9([lbv, sat, hue], m) : new Color$9([hue, sat, lbv], m);\n };\n\n var interpolate_hsx$5 = _hsx;\n\n var lch = function (col1, col2, f) {\n \treturn interpolate_hsx$5(col1, col2, f, 'lch');\n };\n\n // register interpolator\n interpolator$1.lch = lch;\n interpolator$1.hcl = lch;\n\n var Color$8 = Color_1;\n\n var num = function (col1, col2, f) {\n var c1 = col1.num();\n var c2 = col2.num();\n return new Color$8(c1 + f * (c2-c1), 'num')\n };\n\n // register interpolator\n interpolator$1.num = num;\n\n var interpolate_hsx$4 = _hsx;\n\n var hcg = function (col1, col2, f) {\n \treturn interpolate_hsx$4(col1, col2, f, 'hcg');\n };\n\n // register interpolator\n interpolator$1.hcg = hcg;\n\n var interpolate_hsx$3 = _hsx;\n\n var hsi = function (col1, col2, f) {\n \treturn interpolate_hsx$3(col1, col2, f, 'hsi');\n };\n\n // register interpolator\n interpolator$1.hsi = hsi;\n\n var interpolate_hsx$2 = _hsx;\n\n var hsl = function (col1, col2, f) {\n \treturn interpolate_hsx$2(col1, col2, f, 'hsl');\n };\n\n // register interpolator\n interpolator$1.hsl = hsl;\n\n var interpolate_hsx$1 = _hsx;\n\n var hsv = function (col1, col2, f) {\n \treturn interpolate_hsx$1(col1, col2, f, 'hsv');\n };\n\n // register interpolator\n interpolator$1.hsv = hsv;\n\n var Color$7 = Color_1;\n\n var oklab = function (col1, col2, f) {\n var xyz0 = col1.oklab();\n var xyz1 = col2.oklab();\n return new Color$7(\n xyz0[0] + f * (xyz1[0] - xyz0[0]),\n xyz0[1] + f * (xyz1[1] - xyz0[1]),\n xyz0[2] + f * (xyz1[2] - xyz0[2]),\n 'oklab'\n );\n };\n\n // register interpolator\n interpolator$1.oklab = oklab;\n\n var interpolate_hsx = _hsx;\n\n var oklch = function (col1, col2, f) {\n return interpolate_hsx(col1, col2, f, 'oklch');\n };\n\n // register interpolator\n interpolator$1.oklch = oklch;\n\n var Color$6 = Color_1;\n var clip_rgb$1 = utils.clip_rgb;\n var pow$4 = Math.pow;\n var sqrt$1 = Math.sqrt;\n var PI$1 = Math.PI;\n var cos$2 = Math.cos;\n var sin$2 = Math.sin;\n var atan2$1 = Math.atan2;\n\n var average = function (colors, mode, weights) {\n if ( mode === void 0 ) mode='lrgb';\n if ( weights === void 0 ) weights=null;\n\n var l = colors.length;\n if (!weights) { weights = Array.from(new Array(l)).map(function () { return 1; }); }\n // normalize weights\n var k = l / weights.reduce(function(a, b) { return a + b; });\n weights.forEach(function (w,i) { weights[i] *= k; });\n // convert colors to Color objects\n colors = colors.map(function (c) { return new Color$6(c); });\n if (mode === 'lrgb') {\n return _average_lrgb(colors, weights)\n }\n var first = colors.shift();\n var xyz = first.get(mode);\n var cnt = [];\n var dx = 0;\n var dy = 0;\n // initial color\n for (var i=0; i= 360) { A$1 -= 360; }\n xyz[i$1] = A$1;\n } else {\n xyz[i$1] = xyz[i$1]/cnt[i$1];\n }\n }\n alpha /= l;\n return (new Color$6(xyz, mode)).alpha(alpha > 0.99999 ? 1 : alpha, true);\n };\n\n\n var _average_lrgb = function (colors, weights) {\n var l = colors.length;\n var xyz = [0,0,0,0];\n for (var i=0; i < colors.length; i++) {\n var col = colors[i];\n var f = weights[i] / l;\n var rgb = col._rgb;\n xyz[0] += pow$4(rgb[0],2) * f;\n xyz[1] += pow$4(rgb[1],2) * f;\n xyz[2] += pow$4(rgb[2],2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt$1(xyz[0]);\n xyz[1] = sqrt$1(xyz[1]);\n xyz[2] = sqrt$1(xyz[2]);\n if (xyz[3] > 0.9999999) { xyz[3] = 1; }\n return new Color$6(clip_rgb$1(xyz));\n };\n\n // minimal multi-purpose interface\n\n // @requires utils color analyze\n\n var chroma$4 = chroma_1;\n var type$2 = utils.type;\n\n var pow$3 = Math.pow;\n\n var scale$2 = function(colors) {\n\n // constructor\n var _mode = 'rgb';\n var _nacol = chroma$4('#ccc');\n var _spread = 0;\n // const _fixed = false;\n var _domain = [0, 1];\n var _pos = [];\n var _padding = [0,0];\n var _classes = false;\n var _colors = [];\n var _out = false;\n var _min = 0;\n var _max = 1;\n var _correctLightness = false;\n var _colorCache = {};\n var _useCache = true;\n var _gamma = 1;\n\n // private methods\n\n var setColors = function(colors) {\n colors = colors || ['#fff', '#000'];\n if (colors && type$2(colors) === 'string' && chroma$4.brewer &&\n chroma$4.brewer[colors.toLowerCase()]) {\n colors = chroma$4.brewer[colors.toLowerCase()];\n }\n if (type$2(colors) === 'array') {\n // handle single color\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n // make a copy of the colors\n colors = colors.slice(0);\n // convert to chroma classes\n for (var c=0; c= _classes[i]) {\n i++;\n }\n return i-1;\n }\n return 0;\n };\n\n var tMapLightness = function (t) { return t; };\n var tMapDomain = function (t) { return t; };\n\n // const classifyValue = function(value) {\n // let val = value;\n // if (_classes.length > 2) {\n // const n = _classes.length-1;\n // const i = getClass(value);\n // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class\n // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class\n // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n // }\n // return val;\n // };\n\n var getColor = function(val, bypassMap) {\n var col, t;\n if (bypassMap == null) { bypassMap = false; }\n if (isNaN(val) || (val === null)) { return _nacol; }\n if (!bypassMap) {\n if (_classes && (_classes.length > 2)) {\n // find the class\n var c = getClass(val);\n t = c / (_classes.length-2);\n } else if (_max !== _min) {\n // just interpolate between min/max\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n\n // domain map\n t = tMapDomain(t);\n\n if (!bypassMap) {\n t = tMapLightness(t); // lightness correction\n }\n\n if (_gamma !== 1) { t = pow$3(t, _gamma); }\n\n t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));\n\n t = Math.min(1, Math.max(0, t));\n\n var k = Math.floor(t * 10000);\n\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type$2(_colors) === 'array') {\n //for i in [0.._pos.length-1]\n for (var i=0; i<_pos.length; i++) {\n var p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if ((t >= p) && (i === (_pos.length-1))) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i+1]) {\n t = (t-p)/(_pos[i+1]-p);\n col = chroma$4.interpolate(_colors[i], _colors[i+1], t, _mode);\n break;\n }\n }\n } else if (type$2(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) { _colorCache[k] = col; }\n }\n return col;\n };\n\n var resetCache = function () { return _colorCache = {}; };\n\n setColors(colors);\n\n // public interface\n\n var f = function(v) {\n var c = chroma$4(getColor(v));\n if (_out && c[_out]) { return c[_out](); } else { return c; }\n };\n\n f.classes = function(classes) {\n if (classes != null) {\n if (type$2(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length-1]];\n } else {\n var d = chroma$4.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma$4.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n\n\n f.domain = function(domain) {\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length-1];\n _pos = [];\n var k = _colors.length;\n if ((domain.length === k) && (_min !== _max)) {\n // update positions\n for (var i = 0, list = Array.from(domain); i < list.length; i += 1) {\n var d = list[i];\n\n _pos.push((d-_min) / (_max-_min));\n }\n } else {\n for (var c=0; c 2) {\n // set domain map\n var tOut = domain.map(function (d,i) { return i/(domain.length-1); });\n var tBreaks = domain.map(function (d) { return (d - _min) / (_max - _min); });\n if (!tBreaks.every(function (val, i) { return tOut[i] === val; })) {\n tMapDomain = function (t) {\n if (t <= 0 || t >= 1) { return t; }\n var i = 0;\n while (t >= tBreaks[i+1]) { i++; }\n var f = (t - tBreaks[i]) / (tBreaks[i+1] - tBreaks[i]);\n var out = tOut[i] + f * (tOut[i+1] - tOut[i]);\n return out;\n };\n }\n\n }\n }\n _domain = [_min, _max];\n return f;\n };\n\n f.mode = function(_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n\n f.range = function(colors, _pos) {\n setColors(colors);\n return f;\n };\n\n f.out = function(_o) {\n _out = _o;\n return f;\n };\n\n f.spread = function(val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n\n f.correctLightness = function(v) {\n if (v == null) { v = true; }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tMapLightness = function(t) {\n var L0 = getColor(0, true).lab()[0];\n var L1 = getColor(1, true).lab()[0];\n var pol = L0 > L1;\n var L_actual = getColor(t, true).lab()[0];\n var L_ideal = L0 + ((L1 - L0) * t);\n var L_diff = L_actual - L_ideal;\n var t0 = 0;\n var t1 = 1;\n var max_iter = 20;\n while ((Math.abs(L_diff) > 1e-2) && (max_iter-- > 0)) {\n (function() {\n if (pol) { L_diff *= -1; }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n return t;\n };\n } else {\n tMapLightness = function (t) { return t; };\n }\n return f;\n };\n\n f.padding = function(p) {\n if (p != null) {\n if (type$2(p) === 'number') {\n p = [p,p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n\n f.colors = function(numColors, out) {\n // If no arguments are given, return the original colors that were provided\n if (arguments.length < 2) { out = 'hex'; }\n var result = [];\n\n if (arguments.length === 0) {\n result = _colors.slice(0);\n\n } else if (numColors === 1) {\n result = [f(0.5)];\n\n } else if (numColors > 1) {\n var dm = _domain[0];\n var dd = _domain[1] - dm;\n result = __range__(0, numColors, false).map(function (i) { return f( dm + ((i/(numColors-1)) * dd) ); });\n\n } else { // returns all colors based on the defined classes\n colors = [];\n var samples = [];\n if (_classes && (_classes.length > 2)) {\n for (var i = 1, end = _classes.length, asc = 1 <= end; asc ? i < end : i > end; asc ? i++ : i--) {\n samples.push((_classes[i-1]+_classes[i])*0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map(function (v) { return f(v); });\n }\n\n if (chroma$4[out]) {\n result = result.map(function (c) { return c[out](); });\n }\n return result;\n };\n\n f.cache = function(c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n\n f.gamma = function(g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n\n f.nodata = function(d) {\n if (d != null) {\n _nacol = chroma$4(d);\n return f;\n } else {\n return _nacol;\n }\n };\n\n return f;\n };\n\n function __range__(left, right, inclusive) {\n var range = [];\n var ascending = left < right;\n var end = !inclusive ? right : ascending ? right + 1 : right - 1;\n for (var i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n range.push(i);\n }\n return range;\n }\n\n //\n // interpolates between a set of colors uzing a bezier spline\n //\n\n // @requires utils lab\n var Color$5 = Color_1;\n\n var scale$1 = scale$2;\n\n // nth row of the pascal triangle\n var binom_row = function(n) {\n var row = [1, 1];\n for (var i = 1; i < n; i++) {\n var newrow = [1];\n for (var j = 1; j <= row.length; j++) {\n newrow[j] = (row[j] || 0) + row[j - 1];\n }\n row = newrow;\n }\n return row;\n };\n\n var bezier = function(colors) {\n var assign, assign$1, assign$2;\n\n var I, lab0, lab1, lab2;\n colors = colors.map(function (c) { return new Color$5(c); });\n if (colors.length === 2) {\n // linear interpolation\n (assign = colors.map(function (c) { return c.lab(); }), lab0 = assign[0], lab1 = assign[1]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return lab0[i] + (t * (lab1[i] - lab0[i])); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length === 3) {\n // quadratic bezier interpolation\n (assign$1 = colors.map(function (c) { return c.lab(); }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t) * lab0[i]) + (2 * (1-t) * t * lab1[i]) + (t * t * lab2[i]); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length === 4) {\n // cubic bezier interpolation\n var lab3;\n (assign$2 = colors.map(function (c) { return c.lab(); }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t)*(1-t) * lab0[i]) + (3 * (1-t) * (1-t) * t * lab1[i]) + (3 * (1-t) * t * t * lab2[i]) + (t*t*t * lab3[i]); }));\n return new Color$5(lab, 'lab');\n };\n } else if (colors.length >= 5) {\n // general case (degree n bezier)\n var labs, row, n;\n labs = colors.map(function (c) { return c.lab(); });\n n = colors.length - 1;\n row = binom_row(n);\n I = function (t) {\n var u = 1 - t;\n var lab = ([0, 1, 2].map(function (i) { return labs.reduce(function (sum, el, j) { return (sum + row[j] * Math.pow( u, (n - j) ) * Math.pow( t, j ) * el[i]); }, 0); }));\n return new Color$5(lab, 'lab');\n };\n } else {\n throw new RangeError(\"No point in running bezier with only one color.\")\n }\n return I;\n };\n\n var bezier_1 = function (colors) {\n var f = bezier(colors);\n f.scale = function () { return scale$1(f); };\n return f;\n };\n\n /*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\n var chroma$3 = chroma_1;\n\n var blend = function (bottom, top, mode) {\n if (!blend[mode]) {\n throw new Error('unknown blend mode ' + mode);\n }\n return blend[mode](bottom, top);\n };\n\n var blend_f = function (f) { return function (bottom,top) {\n var c0 = chroma$3(top).rgb();\n var c1 = chroma$3(bottom).rgb();\n return chroma$3.rgb(f(c0, c1));\n }; };\n\n var each = function (f) { return function (c0, c1) {\n var out = [];\n out[0] = f(c0[0], c1[0]);\n out[1] = f(c0[1], c1[1]);\n out[2] = f(c0[2], c1[2]);\n return out;\n }; };\n\n var normal = function (a) { return a; };\n var multiply = function (a,b) { return a * b / 255; };\n var darken = function (a,b) { return a > b ? b : a; };\n var lighten = function (a,b) { return a > b ? a : b; };\n var screen = function (a,b) { return 255 * (1 - (1-a/255) * (1-b/255)); };\n var overlay = function (a,b) { return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255 ) * ( 1 - b / 255 )); };\n var burn = function (a,b) { return 255 * (1 - (1 - b / 255) / (a/255)); };\n var dodge = function (a,b) {\n if (a === 255) { return 255; }\n a = 255 * (b / 255) / (1 - a / 255);\n return a > 255 ? 255 : a\n };\n\n // # add = (a,b) ->\n // # if (a + b > 255) then 255 else a + b\n\n blend.normal = blend_f(each(normal));\n blend.multiply = blend_f(each(multiply));\n blend.screen = blend_f(each(screen));\n blend.overlay = blend_f(each(overlay));\n blend.darken = blend_f(each(darken));\n blend.lighten = blend_f(each(lighten));\n blend.dodge = blend_f(each(dodge));\n blend.burn = blend_f(each(burn));\n // blend.add = blend_f(each(add));\n\n var blend_1 = blend;\n\n // cubehelix interpolation\n // based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n // http://astron-soc.in/bulletin/11June/289392011.pdf\n\n var type$1 = utils.type;\n var clip_rgb = utils.clip_rgb;\n var TWOPI = utils.TWOPI;\n var pow$2 = Math.pow;\n var sin$1 = Math.sin;\n var cos$1 = Math.cos;\n var chroma$2 = chroma_1;\n\n var cubehelix = function(start, rotations, hue, gamma, lightness) {\n if ( start === void 0 ) start=300;\n if ( rotations === void 0 ) rotations=-1.5;\n if ( hue === void 0 ) hue=1;\n if ( gamma === void 0 ) gamma=1;\n if ( lightness === void 0 ) lightness=[0,1];\n\n var dh = 0, dl;\n if (type$1(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n\n var f = function(fract) {\n var a = TWOPI * (((start+120)/360) + (rotations * fract));\n var l = pow$2(lightness[0] + (dl * fract), gamma);\n var h = dh !== 0 ? hue[0] + (fract * dh) : hue;\n var amp = (h * l * (1-l)) / 2;\n var cos_a = cos$1(a);\n var sin_a = sin$1(a);\n var r = l + (amp * ((-0.14861 * cos_a) + (1.78277* sin_a)));\n var g = l + (amp * ((-0.29227 * cos_a) - (0.90649* sin_a)));\n var b = l + (amp * (+1.97294 * cos_a));\n return chroma$2(clip_rgb([r*255,g*255,b*255,1]));\n };\n\n f.start = function(s) {\n if ((s == null)) { return start; }\n start = s;\n return f;\n };\n\n f.rotations = function(r) {\n if ((r == null)) { return rotations; }\n rotations = r;\n return f;\n };\n\n f.gamma = function(g) {\n if ((g == null)) { return gamma; }\n gamma = g;\n return f;\n };\n\n f.hue = function(h) {\n if ((h == null)) { return hue; }\n hue = h;\n if (type$1(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) { hue = hue[1]; }\n } else {\n dh = 0;\n }\n return f;\n };\n\n f.lightness = function(h) {\n if ((h == null)) { return lightness; }\n if (type$1(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h,h];\n dl = 0;\n }\n return f;\n };\n\n f.scale = function () { return chroma$2.scale(f); };\n\n f.hue(hue);\n\n return f;\n };\n\n var Color$4 = Color_1;\n var digits = '0123456789abcdef';\n\n var floor$1 = Math.floor;\n var random = Math.random;\n\n var random_1 = function () {\n var code = '#';\n for (var i=0; i<6; i++) {\n code += digits.charAt(floor$1(random() * 16));\n }\n return new Color$4(code, 'hex');\n };\n\n var type = type$p;\n var log = Math.log;\n var pow$1 = Math.pow;\n var floor = Math.floor;\n var abs$1 = Math.abs;\n\n\n var analyze = function (data, key) {\n if ( key === void 0 ) key=null;\n\n var r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE*-1,\n sum: 0,\n values: [],\n count: 0\n };\n if (type(data) === 'object') {\n data = Object.values(data);\n }\n data.forEach(function (val) {\n if (key && type(val) === 'object') { val = val[key]; }\n if (val !== undefined && val !== null && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) { r.min = val; }\n if (val > r.max) { r.max = val; }\n r.count += 1;\n }\n });\n\n r.domain = [r.min, r.max];\n\n r.limits = function (mode, num) { return limits(r, mode, num); };\n\n return r;\n };\n\n\n var limits = function (data, mode, num) {\n if ( mode === void 0 ) mode='equal';\n if ( num === void 0 ) num=7;\n\n if (type(data) == 'array') {\n data = analyze(data);\n }\n var min = data.min;\n var max = data.max;\n var values = data.values.sort(function (a,b) { return a-b; });\n\n if (num === 1) { return [min,max]; }\n\n var limits = [];\n\n if (mode.substr(0,1) === 'c') { // continuous\n limits.push(min);\n limits.push(max);\n }\n\n if (mode.substr(0,1) === 'e') { // equal interval\n limits.push(min);\n for (var i=1; i 0');\n }\n var min_log = Math.LOG10E * log(min);\n var max_log = Math.LOG10E * log(max);\n limits.push(min);\n for (var i$1=1; i$1 pb\n var pr = p - pb;\n limits.push((values[pb]*(1-pr)) + (values[pb+1]*pr));\n }\n }\n limits.push(max);\n\n }\n\n else if (mode.substr(0,1) === 'k') { // k-means clustering\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n var cluster;\n var n = values.length;\n var assignments = new Array(n);\n var clusterSizes = new Array(num);\n var repeat = true;\n var nb_iters = 0;\n var centroids = null;\n\n // get seed values\n centroids = [];\n centroids.push(min);\n for (var i$3=1; i$3 200) {\n repeat = false;\n }\n }\n\n // finished k-means clustering\n // the next part is borrowed from gabrielflor.it\n var kClusters = {};\n for (var j$5=0; j$5 l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n };\n\n var Color$2 = Color_1;\n var sqrt = Math.sqrt;\n var pow = Math.pow;\n var min = Math.min;\n var max = Math.max;\n var atan2 = Math.atan2;\n var abs = Math.abs;\n var cos = Math.cos;\n var sin = Math.sin;\n var exp = Math.exp;\n var PI = Math.PI;\n\n var deltaE = function(a, b, Kl, Kc, Kh) {\n if ( Kl === void 0 ) Kl=1;\n if ( Kc === void 0 ) Kc=1;\n if ( Kh === void 0 ) Kh=1;\n\n // Delta E (CIE 2000)\n // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html\n var rad2deg = function(rad) {\n return 360 * rad / (2 * PI);\n };\n var deg2rad = function(deg) {\n return (2 * PI * deg) / 360;\n };\n a = new Color$2(a);\n b = new Color$2(b);\n var ref = Array.from(a.lab());\n var L1 = ref[0];\n var a1 = ref[1];\n var b1 = ref[2];\n var ref$1 = Array.from(b.lab());\n var L2 = ref$1[0];\n var a2 = ref$1[1];\n var b2 = ref$1[2];\n var avgL = (L1 + L2)/2;\n var C1 = sqrt(pow(a1, 2) + pow(b1, 2));\n var C2 = sqrt(pow(a2, 2) + pow(b2, 2));\n var avgC = (C1 + C2)/2;\n var G = 0.5*(1-sqrt(pow(avgC, 7)/(pow(avgC, 7) + pow(25, 7))));\n var a1p = a1*(1+G);\n var a2p = a2*(1+G);\n var C1p = sqrt(pow(a1p, 2) + pow(b1, 2));\n var C2p = sqrt(pow(a2p, 2) + pow(b2, 2));\n var avgCp = (C1p + C2p)/2;\n var arctan1 = rad2deg(atan2(b1, a1p));\n var arctan2 = rad2deg(atan2(b2, a2p));\n var h1p = arctan1 >= 0 ? arctan1 : arctan1 + 360;\n var h2p = arctan2 >= 0 ? arctan2 : arctan2 + 360;\n var avgHp = abs(h1p - h2p) > 180 ? (h1p + h2p + 360)/2 : (h1p + h2p)/2;\n var T = 1 - 0.17*cos(deg2rad(avgHp - 30)) + 0.24*cos(deg2rad(2*avgHp)) + 0.32*cos(deg2rad(3*avgHp + 6)) - 0.2*cos(deg2rad(4*avgHp - 63));\n var deltaHp = h2p - h1p;\n deltaHp = abs(deltaHp) <= 180 ? deltaHp : h2p <= h1p ? deltaHp + 360 : deltaHp - 360;\n deltaHp = 2*sqrt(C1p*C2p)*sin(deg2rad(deltaHp)/2);\n var deltaL = L2 - L1;\n var deltaCp = C2p - C1p; \n var sl = 1 + (0.015*pow(avgL - 50, 2))/sqrt(20 + pow(avgL - 50, 2));\n var sc = 1 + 0.045*avgCp;\n var sh = 1 + 0.015*avgCp*T;\n var deltaTheta = 30*exp(-pow((avgHp - 275)/25, 2));\n var Rc = 2*sqrt(pow(avgCp, 7)/(pow(avgCp, 7) + pow(25, 7)));\n var Rt = -Rc*sin(2*deg2rad(deltaTheta));\n var result = sqrt(pow(deltaL/(Kl*sl), 2) + pow(deltaCp/(Kc*sc), 2) + pow(deltaHp/(Kh*sh), 2) + Rt*(deltaCp/(Kc*sc))*(deltaHp/(Kh*sh)));\n return max(0, min(100, result));\n };\n\n var Color$1 = Color_1;\n\n // simple Euclidean distance\n var distance = function(a, b, mode) {\n if ( mode === void 0 ) mode='lab';\n\n // Delta E (CIE 1976)\n // see http://www.brucelindbloom.com/index.html?Equations.html\n a = new Color$1(a);\n b = new Color$1(b);\n var l1 = a.get(mode);\n var l2 = b.get(mode);\n var sum_sq = 0;\n for (var i in l1) {\n var d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d*d;\n }\n return Math.sqrt(sum_sq);\n };\n\n var Color = Color_1;\n\n var valid = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n try {\n new (Function.prototype.bind.apply( Color, [ null ].concat( args) ));\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // some pre-defined color scales:\n var chroma$1 = chroma_1;\n\n var scale = scale$2;\n\n var scales = {\n \tcool: function cool() { return scale([chroma$1.hsl(180,1,.9), chroma$1.hsl(250,.7,.4)]) },\n \thot: function hot() { return scale(['#000','#f00','#ff0','#fff']).mode('rgb') }\n };\n\n /**\n ColorBrewer colors for chroma.js\n\n Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n Pennsylvania State University.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software distributed\n under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n CONDITIONS OF ANY KIND, either express or implied. See the License for the\n specific language governing permissions and limitations under the License.\n */\n\n var colorbrewer = {\n // sequential\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n\n // diverging\n\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n\n // qualitative\n\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2'],\n };\n\n // add lowercase aliases for case-insensitive matches\n for (var i = 0, list = Object.keys(colorbrewer); i < list.length; i += 1) {\n var key = list[i];\n\n colorbrewer[key.toLowerCase()] = colorbrewer[key];\n }\n\n var colorbrewer_1 = colorbrewer;\n\n var chroma = chroma_1;\n\n // feel free to comment out anything to rollup\n // a smaller chroma.js built\n\n // io --> convert colors\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // operators --> modify existing Colors\n\n\n\n\n\n\n\n\n\n\n // interpolators\n\n\n\n\n\n\n\n\n\n\n\n\n // generators -- > create new colors\n chroma.average = average;\n chroma.bezier = bezier_1;\n chroma.blend = blend_1;\n chroma.cubehelix = cubehelix;\n chroma.mix = chroma.interpolate = mix$1;\n chroma.random = random_1;\n chroma.scale = scale$2;\n\n // other utility methods\n chroma.analyze = analyze_1.analyze;\n chroma.contrast = contrast;\n chroma.deltaE = deltaE;\n chroma.distance = distance;\n chroma.limits = analyze_1.limits;\n chroma.valid = valid;\n\n // scale\n chroma.scales = scales;\n\n // colors\n chroma.colors = w3cx11_1;\n chroma.brewer = colorbrewer_1;\n\n var chroma_js = chroma;\n\n return chroma_js;\n\n}));\n"],"sourceRoot":""}