{"version":3,"sources":["webpack:////build/source/node_modules/@gitlab/ui/dist/tokens/build/js/tokens.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js","webpack:////build/source/node_modules/ieee754/index.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/chart/chart.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/datetime_utility.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/utils.js","webpack:////build/source/node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/shared/tooltip/tooltip.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/constants.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/legend/legend.js","webpack:////build/source/node_modules/isarray/index.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/svgs/svg_paths.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/theme.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/config.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/area/area.js","webpack:////build/source/node_modules/lodash/castArray.js","webpack:////build/source/node_modules/base64-js/index.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/series_label/series_label.js"],"names":["GL_COLOR_NEUTRAL_0","GL_COLOR_NEUTRAL_50","GL_COLOR_NEUTRAL_100","GL_COLOR_NEUTRAL_500","GL_COLOR_NEUTRAL_900","GL_COLOR_DATA_GREEN_50","GL_COLOR_DATA_GREEN_100","GL_COLOR_DATA_GREEN_200","GL_COLOR_DATA_GREEN_300","GL_COLOR_DATA_GREEN_400","GL_COLOR_DATA_GREEN_500","GL_COLOR_DATA_GREEN_600","GL_COLOR_DATA_GREEN_700","GL_COLOR_DATA_GREEN_800","GL_COLOR_DATA_GREEN_900","GL_COLOR_DATA_GREEN_950","GL_COLOR_DATA_AQUA_50","GL_COLOR_DATA_AQUA_100","GL_COLOR_DATA_AQUA_200","GL_COLOR_DATA_AQUA_300","GL_COLOR_DATA_AQUA_400","GL_COLOR_DATA_AQUA_500","GL_COLOR_DATA_AQUA_600","GL_COLOR_DATA_AQUA_700","GL_COLOR_DATA_AQUA_800","GL_COLOR_DATA_AQUA_900","GL_COLOR_DATA_AQUA_950","GL_COLOR_DATA_BLUE_50","GL_COLOR_DATA_BLUE_100","GL_COLOR_DATA_BLUE_200","GL_COLOR_DATA_BLUE_300","GL_COLOR_DATA_BLUE_400","GL_COLOR_DATA_BLUE_500","GL_COLOR_DATA_BLUE_600","GL_COLOR_DATA_BLUE_700","GL_COLOR_DATA_BLUE_800","GL_COLOR_DATA_BLUE_900","GL_COLOR_DATA_BLUE_950","GL_COLOR_DATA_MAGENTA_50","GL_COLOR_DATA_MAGENTA_100","GL_COLOR_DATA_MAGENTA_200","GL_COLOR_DATA_MAGENTA_300","GL_COLOR_DATA_MAGENTA_400","GL_COLOR_DATA_MAGENTA_500","GL_COLOR_DATA_MAGENTA_600","GL_COLOR_DATA_MAGENTA_700","GL_COLOR_DATA_MAGENTA_800","GL_COLOR_DATA_MAGENTA_900","GL_COLOR_DATA_MAGENTA_950","GL_COLOR_DATA_ORANGE_50","GL_COLOR_DATA_ORANGE_100","GL_COLOR_DATA_ORANGE_200","GL_COLOR_DATA_ORANGE_300","GL_COLOR_DATA_ORANGE_400","GL_COLOR_DATA_ORANGE_500","GL_COLOR_DATA_ORANGE_600","GL_COLOR_DATA_ORANGE_700","GL_COLOR_DATA_ORANGE_800","GL_COLOR_DATA_ORANGE_900","GL_COLOR_DATA_ORANGE_950","BLUE_500","__vue_script__","name","components","SeriesLabel","props","tooltipContent","type","Object","required","__vue_component__","render","_vm","this","_h","$createElement","_c","_self","_l","value","label","key","staticClass","attrs","color","_v","_s","_t","staticRenderFns","undefined","exports","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","i","d","s","NaN","Infinity","Math","pow","write","c","rt","abs","isNaN","floor","log","LN2","sizeValidator","size","Number","isFinite","directives","resizeObserver","options","width","String","default","validator","height","groupId","renderer","includes","responsive","Boolean","chart","debouncedHandleResize","handleResize","computed","_options$toolbox","toolbox","show","increaseBy","_options$grid","grid","top","increaseChartGridTop","watch","draw","setChartSize","$nextTick","$refs","__v_skip","length","group","on","handleClick","$emit","off","methods","setOption","normalizedOptions","aria","enabled","resize","params","rawName","expression","arg","ref","newDate","date","Date","getTime","getDayDifference","a","b","date1","UTC","getFullYear","getMonth","getDate","date2","getDateInPast","daysInPast","setDate","getDateInFuture","daysInFuture","areDatesEqual","seriesHasAnnotations","series","arguments","filter","seriesData","_seriesData$ANNOTATIO","_seriesData$ANNOTATIO2","data","isDataPointAnnotation","componentType","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","prototype","encodingOrOffset","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","slice","fromString","obj","isBuffer","len","checked","copy","val","fromObject","assertSize","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","bidirectionalIndexOf","dir","arrayIndexOf","indexOf","call","lastIndexOf","arr","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","Symbol","species","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","x","y","concat","list","pos","swap16","swap32","swap64","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","GlPopover","TooltipDefaultFormat","inheritAttrs","is","getDom","id","bottom","left","right","placement","xOffset","yOffset","useDefaultTooltipFormatter","pointerPosition","isPointerInChart","debouncedMouseHandler","mouseHandler","title","content","getAttribute","marginTop","marginLeft","getZr","xAxis","axisPointer","formatter","_options$xAxis","_options$xAxis$","_options$yAxis","_options$yAxis$","getOption","titleAxisName","valueAxisName","yAxis","event","zrX","zrY","round","containPixel","style","assign","fixedPosition","targetStyle","targetId","_b","shouldShowPopover","scopedSlots","_u","fn","proxy","$attrs","$scopedSlots","scope","_e","ANNOTATIONS_SERIES_NAME","ANNOTATIONS_COMPONENT_TYPE","TOOLTIP_LEFT_OFFSET","TOOLTIP_TOP_OFFSET","LEGEND_LAYOUT_INLINE","LEGEND_LAYOUT_TABLE","LEGEND_AVERAGE_TEXT","LEGEND_CURRENT_TEXT","LEGEND_MIN_TEXT","LEGEND_MAX_TEXT","arrowSymbol","CHART_TYPE_BAR","CHART_TYPE_LINE","HEIGHT_AUTO_CLASSES","HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES","GlChartSeriesLabel","GlTruncate","seriesInfo","every","textStyle","averageText","currentText","minText","maxText","layout","disabledSeries","lastActiveSeriesLabel","shouldApplyFadeClass","fontFamily","fontSize","suppressLastActiveSeriesLabelToggle","applyFadeClass","_seriesData$filter","sanitized","sanitizeSeriesData","seriesNameIsLong","seriesName","_ref","disabled","hasOneSeriesElement","isToggleDisabled","dispatchAction","_ref2","selected","selectedSeriesLabels","entries","_ref3","isSelected","lastActiveSeriesLabelName","isDisabled","inlineLegendEl","scrollHeight","clientHeight","legendLayoutTypes","$options","class","$event","handleMouseEnter","handleMouseLeave","getColor","seriesAverage","seriesMax","seriesMin","seriesLast","module","scrollHandleSvgPath","marqueeSelectionSvgPath","redoSvgPath","clearAllSvgPath","downloadSvgPath","themeName","heatmapHues","colorPaletteDefault","colorFromDefaultPalette","index","axes","axisLabel","margin","hideOverlap","axisLine","lineStyle","axisTick","alignWithLabel","nameGap","nameTextStyle","fontWeight","splitLine","splitArea","isLineChartWithoutArea","some","areaStyle","createTheme","backgroundColor","markLine","silent","symbol","markArea","itemStyle","dataZoom","borderColor","filterMode","brushSelect","dataBackground","opacity","fillerColor","handleIcon","emphasis","handleStyle","handleSize","labelFormatter","itemSize","iconStyle","borderWidth","textFill","textBackgroundColor","textBorderRadius","textPadding","itemGap","feature","zoom","back","icon","restore","saveAsImage","markPoint","normal","line","symbolSize","showSymbol","smooth","categoryAxis","valueAxis","logAxis","timeAxis","defaultAreaOpacity","defaultFontSize","defaultHeight","defaultWidth","validRenderers","toolboxHeight","nameLocation","boundaryGap","num","defaultChartOptions","gridWithSecondaryYAxis","annotationsYAxisCoords","GREATER_THAN","LESS_THAN","mergeSeriesToOptions","optSeries","mergeAnnotationAxisToOptions","hasAnnotations","dataZoomAdjustments","disabledBreakpoints","getBreakpointSize","minSpan","getDataZoomConfig","generateMarkArea","axis","generateMarkLines","getThresholdConfig","thresholds","reduce","acc","alert","threshold","operator","areas","NEGATIVE_INFINITY","lines","zlevel","getAnnotationsConfig","annotations","points","annotation","tooltipData","generateMarkPoints","parseAnnotations","symbolOffset","generateAnnotationSeries","yAxisIndex","generateBarSeries","_ref4","stack","stacked","barMaxWidth","generateLineSeries","_ref5","getTooltipTitle","_ref6","getTooltipContent","yValue","_ref7","Chart","ChartLegend","ChartTooltip","option","includeLegendAvgMax","formatAnnotationsTooltipText","Function","formatTooltipText","legendAverageText","legendMaxText","legendMinText","legendCurrentText","legendLayout","legendSeriesInfo","showAnnotationsTooltip","annotationsTooltipTitle","annotationsTooltipContent","annotationsTooltipPosition","dataSeries","map","defaultColor","annotationSeries","defaultAreaChartOptions","legend","mergedOptions","legendStyle","paddingLeft","compiledOptions","hideAnnotationsTooltip","onChartMouseOver","_params$data$tooltipD","onChartDataPointMouseOut","onChartDataPointMouseOver","toolTipFormatter","defaultAnnotationTooltipText","_obj","autoHeight","_g","onCreated","$listeners","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","output","makePathRect","startX","startY","labelLineHeight","svgWidth","svgHeight","dashWidth","ceil","transform","formatPixelDimension","svgYTranslationValue","getComputedStyle","lineHeight","parseFloat","dimension","pathContent"],"mappings":"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","file":"commons-pages.admin.usage_trends-pages.groups.analytics.ci_cd_analytics-pages.groups.analytics.cycle-4fd8eb20.71576c72.chunk.js","sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\nconst GL_ACTION_DISABLED_FOREGROUND_COLOR = '#89888d';\nconst GL_ACTION_DISABLED_BACKGROUND_COLOR = '#ececef';\nconst GL_ACTION_DISABLED_BORDER_COLOR = '#dcdcde';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_ACTIVE = '#064787';\nconst GL_ACTION_SELECTED_BORDER_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_SELECTED_BORDER_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_SELECTED_BORDER_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_SELECTED_BORDER_COLOR_ACTIVE = '#064787';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_DEFAULT = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_HOVER = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_FOCUS = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_ACTIVE = '#28272d';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_DEFAULT = 'rgba(99, 166, 233, 0.0)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_HOVER = 'rgba(99, 166, 233, 0.16)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_FOCUS = 'rgba(99, 166, 233, 0.16)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_ACTIVE = 'rgba(11, 92, 173, 0.24)';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_DEFAULT = 'rgba(245, 127, 108, 0.0)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_HOVER = 'rgba(245, 127, 108, 0.16)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_FOCUS = 'rgba(245, 127, 108, 0.16)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_ACTIVE = 'rgba(174, 24, 0, 0.24)';\nconst GL_ACTION_DANGER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_HOVER = '#1068bf';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_FOCUS = '#1068bf';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_ACTIVE = '#0b5cad';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_DEFAULT = '#626168';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_HOVER = '#4c4b51';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_FOCUS = '#4c4b51';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BACKGROUND_COLOR_SUBTLE = '#fbfafd';\nconst GL_BACKGROUND_COLOR_STRONG = '#ececef';\nconst GL_BACKGROUND_COLOR_DISABLED = '#fbfafd';\nconst GL_BACKGROUND_COLOR_OVERLAP = '#fff';\nconst GL_BACKGROUND_COLOR_SECTION = '#fff';\nconst GL_BACKGROUND_COLOR_OVERLAY = 'rgba(05, 05, 06, 0.24)';\nconst GL_BORDER_COLOR_DEFAULT = '#dcdcde';\nconst GL_BORDER_COLOR_SUBTLE = '#ececef';\nconst GL_BORDER_COLOR_STRONG = '#bfbfc3';\nconst GL_BORDER_COLOR_SECTION = '#dcdcde';\nconst GL_BORDER_COLOR_TRANSPARENT = 'transparent';\nconst GL_COLOR_ALPHA_0 = 'transparent';\nconst GL_COLOR_ALPHA_DARK_2 = 'rgba(05, 05, 06, 0.02)';\nconst GL_COLOR_ALPHA_DARK_4 = 'rgba(05, 05, 06, 0.04)';\nconst GL_COLOR_ALPHA_DARK_6 = 'rgba(05, 05, 06, 0.06)';\nconst GL_COLOR_ALPHA_DARK_8 = 'rgba(05, 05, 06, 0.08)';\nconst GL_COLOR_ALPHA_DARK_16 = 'rgba(05, 05, 06, 0.16)';\nconst GL_COLOR_ALPHA_DARK_24 = 'rgba(05, 05, 06, 0.24)';\nconst GL_COLOR_ALPHA_DARK_40 = 'rgba(05, 05, 06, 0.4)';\nconst GL_COLOR_ALPHA_LIGHT_2 = 'rgba(255, 255, 255, 0.02)';\nconst GL_COLOR_ALPHA_LIGHT_4 = 'rgba(255, 255, 255, 0.04)';\nconst GL_COLOR_ALPHA_LIGHT_6 = 'rgba(255, 255, 255, 0.06)';\nconst GL_COLOR_ALPHA_LIGHT_8 = 'rgba(255, 255, 255, 0.08)';\nconst GL_COLOR_ALPHA_LIGHT_16 = 'rgba(255, 255, 255, 0.16)';\nconst GL_COLOR_ALPHA_LIGHT_24 = 'rgba(255, 255, 255, 0.24)';\nconst GL_COLOR_ALPHA_LIGHT_36 = 'rgba(255, 255, 255, 0.36)';\nconst GL_COLOR_BLUE_50 = '#e9f3fc';\nconst GL_COLOR_BLUE_100 = '#cbe2f9';\nconst GL_COLOR_BLUE_200 = '#9dc7f1';\nconst GL_COLOR_BLUE_300 = '#63a6e9';\nconst GL_COLOR_BLUE_400 = '#428fdc';\nconst GL_COLOR_BLUE_500 = '#1f75cb';\nconst GL_COLOR_BLUE_600 = '#1068bf';\nconst GL_COLOR_BLUE_700 = '#0b5cad';\nconst GL_COLOR_BLUE_800 = '#064787';\nconst GL_COLOR_BLUE_900 = '#033464';\nconst GL_COLOR_BLUE_950 = '#002850';\nconst GL_COLOR_NEUTRAL_0 = '#fff';\nconst GL_COLOR_NEUTRAL_10 = '#fbfafd';\nconst GL_COLOR_NEUTRAL_50 = '#ececef';\nconst GL_COLOR_NEUTRAL_100 = '#dcdcde';\nconst GL_COLOR_NEUTRAL_200 = '#bfbfc3';\nconst GL_COLOR_NEUTRAL_300 = '#a4a3a8';\nconst GL_COLOR_NEUTRAL_400 = '#89888d';\nconst GL_COLOR_NEUTRAL_500 = '#737278';\nconst GL_COLOR_NEUTRAL_600 = '#626168';\nconst GL_COLOR_NEUTRAL_700 = '#4c4b51';\nconst GL_COLOR_NEUTRAL_800 = '#3a383f';\nconst GL_COLOR_NEUTRAL_900 = '#28272d';\nconst GL_COLOR_NEUTRAL_950 = '#18171d';\nconst GL_COLOR_NEUTRAL_1000 = '#050506';\nconst GL_COLOR_GREEN_50 = '#ecf4ee';\nconst GL_COLOR_GREEN_100 = '#c3e6cd';\nconst GL_COLOR_GREEN_200 = '#91d4a8';\nconst GL_COLOR_GREEN_300 = '#52b87a';\nconst GL_COLOR_GREEN_400 = '#2da160';\nconst GL_COLOR_GREEN_500 = '#108548';\nconst GL_COLOR_GREEN_600 = '#217645';\nconst GL_COLOR_GREEN_700 = '#24663b';\nconst GL_COLOR_GREEN_800 = '#0d532a';\nconst GL_COLOR_GREEN_900 = '#0a4020';\nconst GL_COLOR_GREEN_950 = '#072b15';\nconst GL_COLOR_ORANGE_50 = '#fdf1dd';\nconst GL_COLOR_ORANGE_100 = '#f5d9a8';\nconst GL_COLOR_ORANGE_200 = '#e9be74';\nconst GL_COLOR_ORANGE_300 = '#d99530';\nconst GL_COLOR_ORANGE_400 = '#c17d10';\nconst GL_COLOR_ORANGE_500 = '#ab6100';\nconst GL_COLOR_ORANGE_600 = '#9e5400';\nconst GL_COLOR_ORANGE_700 = '#8f4700';\nconst GL_COLOR_ORANGE_800 = '#703800';\nconst GL_COLOR_ORANGE_900 = '#5c2900';\nconst GL_COLOR_ORANGE_950 = '#421f00';\nconst GL_COLOR_PURPLE_50 = '#f4f0ff';\nconst GL_COLOR_PURPLE_100 = '#e1d8f9';\nconst GL_COLOR_PURPLE_200 = '#cbbbf2';\nconst GL_COLOR_PURPLE_300 = '#ac93e6';\nconst GL_COLOR_PURPLE_400 = '#9475db';\nconst GL_COLOR_PURPLE_500 = '#7b58cf';\nconst GL_COLOR_PURPLE_600 = '#694cc0';\nconst GL_COLOR_PURPLE_700 = '#5943b6';\nconst GL_COLOR_PURPLE_800 = '#453894';\nconst GL_COLOR_PURPLE_900 = '#2f2a6b';\nconst GL_COLOR_PURPLE_950 = '#232150';\nconst GL_COLOR_RED_50 = '#fcf1ef';\nconst GL_COLOR_RED_100 = '#fdd4cd';\nconst GL_COLOR_RED_200 = '#fcb5aa';\nconst GL_COLOR_RED_300 = '#f6806d';\nconst GL_COLOR_RED_400 = '#ec5941';\nconst GL_COLOR_RED_500 = '#dd2b0e';\nconst GL_COLOR_RED_600 = '#c91c00';\nconst GL_COLOR_RED_700 = '#ae1800';\nconst GL_COLOR_RED_800 = '#8d1300';\nconst GL_COLOR_RED_900 = '#660e00';\nconst GL_COLOR_RED_950 = '#4d0a00';\nconst GL_COLOR_DATA_GREEN_50 = '#ddfab7';\nconst GL_COLOR_DATA_GREEN_100 = '#c6ed94';\nconst GL_COLOR_DATA_GREEN_200 = '#b0d97b';\nconst GL_COLOR_DATA_GREEN_300 = '#94c25e';\nconst GL_COLOR_DATA_GREEN_400 = '#81ac41';\nconst GL_COLOR_DATA_GREEN_500 = '#619025';\nconst GL_COLOR_DATA_GREEN_600 = '#4e7f0e';\nconst GL_COLOR_DATA_GREEN_700 = '#366800';\nconst GL_COLOR_DATA_GREEN_800 = '#275600';\nconst GL_COLOR_DATA_GREEN_900 = '#1a4500';\nconst GL_COLOR_DATA_GREEN_950 = '#133a03';\nconst GL_COLOR_DATA_AQUA_50 = '#b5fefd';\nconst GL_COLOR_DATA_AQUA_100 = '#93f2ef';\nconst GL_COLOR_DATA_AQUA_200 = '#5edee3';\nconst GL_COLOR_DATA_AQUA_300 = '#32c5d2';\nconst GL_COLOR_DATA_AQUA_400 = '#00acc4';\nconst GL_COLOR_DATA_AQUA_500 = '#0090b1';\nconst GL_COLOR_DATA_AQUA_600 = '#007b9b';\nconst GL_COLOR_DATA_AQUA_700 = '#006381';\nconst GL_COLOR_DATA_AQUA_800 = '#00516c';\nconst GL_COLOR_DATA_AQUA_900 = '#004059';\nconst GL_COLOR_DATA_AQUA_950 = '#00344b';\nconst GL_COLOR_DATA_BLUE_50 = '#e9ebff';\nconst GL_COLOR_DATA_BLUE_100 = '#d2dcff';\nconst GL_COLOR_DATA_BLUE_200 = '#b7c6ff';\nconst GL_COLOR_DATA_BLUE_300 = '#97acff';\nconst GL_COLOR_DATA_BLUE_400 = '#7992f5';\nconst GL_COLOR_DATA_BLUE_500 = '#617ae2';\nconst GL_COLOR_DATA_BLUE_600 = '#4e65cd';\nconst GL_COLOR_DATA_BLUE_700 = '#3f51ae';\nconst GL_COLOR_DATA_BLUE_800 = '#374291';\nconst GL_COLOR_DATA_BLUE_900 = '#303470';\nconst GL_COLOR_DATA_BLUE_950 = '#2a2b59';\nconst GL_COLOR_DATA_MAGENTA_50 = '#ffe3eb';\nconst GL_COLOR_DATA_MAGENTA_100 = '#ffccdb';\nconst GL_COLOR_DATA_MAGENTA_200 = '#fcacc5';\nconst GL_COLOR_DATA_MAGENTA_300 = '#f88aaf';\nconst GL_COLOR_DATA_MAGENTA_400 = '#e86e9a';\nconst GL_COLOR_DATA_MAGENTA_500 = '#cf4d81';\nconst GL_COLOR_DATA_MAGENTA_600 = '#b93d71';\nconst GL_COLOR_DATA_MAGENTA_700 = '#9a2e5d';\nconst GL_COLOR_DATA_MAGENTA_800 = '#7c214f';\nconst GL_COLOR_DATA_MAGENTA_900 = '#661e3a';\nconst GL_COLOR_DATA_MAGENTA_950 = '#541d31';\nconst GL_COLOR_DATA_ORANGE_50 = '#fae8d1';\nconst GL_COLOR_DATA_ORANGE_100 = '#f5d6b3';\nconst GL_COLOR_DATA_ORANGE_200 = '#eebd8c';\nconst GL_COLOR_DATA_ORANGE_300 = '#e99b60';\nconst GL_COLOR_DATA_ORANGE_400 = '#e07e41';\nconst GL_COLOR_DATA_ORANGE_500 = '#c95d2e';\nconst GL_COLOR_DATA_ORANGE_600 = '#b14f18';\nconst GL_COLOR_DATA_ORANGE_700 = '#92430a';\nconst GL_COLOR_DATA_ORANGE_800 = '#6f3500';\nconst GL_COLOR_DATA_ORANGE_900 = '#5e2f05';\nconst GL_COLOR_DATA_ORANGE_950 = '#4b2707';\nconst GL_COLOR_THEME_INDIGO_10 = '#f8f8ff';\nconst GL_COLOR_THEME_INDIGO_50 = '#f1f1ff';\nconst GL_COLOR_THEME_INDIGO_100 = '#dbdbf8';\nconst GL_COLOR_THEME_INDIGO_200 = '#c7c7f2';\nconst GL_COLOR_THEME_INDIGO_300 = '#a2a2e6';\nconst GL_COLOR_THEME_INDIGO_400 = '#8181d7';\nconst GL_COLOR_THEME_INDIGO_500 = '#6666c4';\nconst GL_COLOR_THEME_INDIGO_600 = '#5252b5';\nconst GL_COLOR_THEME_INDIGO_700 = '#41419f';\nconst GL_COLOR_THEME_INDIGO_800 = '#303083';\nconst GL_COLOR_THEME_INDIGO_900 = '#222261';\nconst GL_COLOR_THEME_INDIGO_950 = '#14143d';\nconst GL_COLOR_THEME_BLUE_10 = '#e6ecf0';\nconst GL_COLOR_THEME_BLUE_50 = '#cdd8e3';\nconst GL_COLOR_THEME_BLUE_100 = '#b9cadc';\nconst GL_COLOR_THEME_BLUE_200 = '#a6bdd5';\nconst GL_COLOR_THEME_BLUE_300 = '#81a5c9';\nconst GL_COLOR_THEME_BLUE_400 = '#628eb9';\nconst GL_COLOR_THEME_BLUE_500 = '#4977a5';\nconst GL_COLOR_THEME_BLUE_600 = '#346596';\nconst GL_COLOR_THEME_BLUE_700 = '#235180';\nconst GL_COLOR_THEME_BLUE_800 = '#153c63';\nconst GL_COLOR_THEME_BLUE_900 = '#0b2640';\nconst GL_COLOR_THEME_BLUE_950 = '#04101c';\nconst GL_COLOR_THEME_LIGHT_BLUE_10 = '#eef3f7';\nconst GL_COLOR_THEME_LIGHT_BLUE_50 = '#dde6ee';\nconst GL_COLOR_THEME_LIGHT_BLUE_100 = '#c1d4e6';\nconst GL_COLOR_THEME_LIGHT_BLUE_200 = '#a0bedc';\nconst GL_COLOR_THEME_LIGHT_BLUE_300 = '#74a3d3';\nconst GL_COLOR_THEME_LIGHT_BLUE_400 = '#4f8bc7';\nconst GL_COLOR_THEME_LIGHT_BLUE_500 = '#3476b9';\nconst GL_COLOR_THEME_LIGHT_BLUE_600 = '#2268ae';\nconst GL_COLOR_THEME_LIGHT_BLUE_700 = '#145aa1';\nconst GL_COLOR_THEME_LIGHT_BLUE_800 = '#0e4d8d';\nconst GL_COLOR_THEME_LIGHT_BLUE_900 = '#0c4277';\nconst GL_COLOR_THEME_LIGHT_BLUE_950 = '#0a3764';\nconst GL_COLOR_THEME_GREEN_10 = '#eef4ef';\nconst GL_COLOR_THEME_GREEN_50 = '#dde9de';\nconst GL_COLOR_THEME_GREEN_100 = '#b1d6b5';\nconst GL_COLOR_THEME_GREEN_200 = '#8cc497';\nconst GL_COLOR_THEME_GREEN_300 = '#69af7d';\nconst GL_COLOR_THEME_GREEN_400 = '#499767';\nconst GL_COLOR_THEME_GREEN_500 = '#308258';\nconst GL_COLOR_THEME_GREEN_600 = '#25744c';\nconst GL_COLOR_THEME_GREEN_700 = '#1b653f';\nconst GL_COLOR_THEME_GREEN_800 = '#155635';\nconst GL_COLOR_THEME_GREEN_900 = '#0e4328';\nconst GL_COLOR_THEME_GREEN_950 = '#052e19';\nconst GL_COLOR_THEME_RED_10 = '#faf4f3';\nconst GL_COLOR_THEME_RED_50 = '#f4e9e7';\nconst GL_COLOR_THEME_RED_100 = '#ecd3d0';\nconst GL_COLOR_THEME_RED_200 = '#e3bab5';\nconst GL_COLOR_THEME_RED_300 = '#d59086';\nconst GL_COLOR_THEME_RED_400 = '#c66e60';\nconst GL_COLOR_THEME_RED_500 = '#ad4a3b';\nconst GL_COLOR_THEME_RED_600 = '#a13322';\nconst GL_COLOR_THEME_RED_700 = '#8f2110';\nconst GL_COLOR_THEME_RED_800 = '#761405';\nconst GL_COLOR_THEME_RED_900 = '#580d02';\nconst GL_COLOR_THEME_RED_950 = '#380700';\nconst GL_COLOR_THEME_LIGHT_RED_10 = '#fdf9f8';\nconst GL_COLOR_THEME_LIGHT_RED_50 = '#faf2f1';\nconst GL_COLOR_THEME_LIGHT_RED_100 = '#f6d9d5';\nconst GL_COLOR_THEME_LIGHT_RED_200 = '#ebada2';\nconst GL_COLOR_THEME_LIGHT_RED_300 = '#e07f6f';\nconst GL_COLOR_THEME_LIGHT_RED_400 = '#d36250';\nconst GL_COLOR_THEME_LIGHT_RED_500 = '#c24b38';\nconst GL_COLOR_THEME_LIGHT_RED_600 = '#b53a26';\nconst GL_COLOR_THEME_LIGHT_RED_700 = '#a02e1c';\nconst GL_COLOR_THEME_LIGHT_RED_800 = '#8b2212';\nconst GL_COLOR_THEME_LIGHT_RED_900 = '#751709';\nconst GL_COLOR_THEME_LIGHT_RED_950 = '#5c1105';\nconst GL_COLOR_BRAND_WHITE = '#fff';\nconst GL_COLOR_BRAND_CHARCOAL = '#171321';\nconst GL_COLOR_BRAND_ORANGE_01G = '#ffd1bf';\nconst GL_COLOR_BRAND_ORANGE_01P = '#fca326';\nconst GL_COLOR_BRAND_ORANGE_02P = '#fc6d26';\nconst GL_COLOR_BRAND_ORANGE_03P = '#e24329';\nconst GL_COLOR_BRAND_PURPLE_01G = '#ceb3ef';\nconst GL_COLOR_BRAND_PURPLE_01P = '#a989f5';\nconst GL_COLOR_BRAND_PURPLE_02P = '#7759c2';\nconst GL_COLOR_BRAND_GRAY_01 = '#d1d0d3';\nconst GL_COLOR_BRAND_GRAY_02 = '#a2a1a6';\nconst GL_COLOR_BRAND_GRAY_03 = '#74717a';\nconst GL_COLOR_BRAND_GRAY_04 = '#45424d';\nconst GL_COLOR_BRAND_GRAY_05 = '#2b2838';\nconst GL_COLOR_BRAND_PINK_01G = '#ffb9c9';\nconst GL_ALERT_NEUTRAL_TITLE_COLOR = '#18171d';\nconst GL_ALERT_NEUTRAL_BACKGROUND_COLOR = '#ececef';\nconst GL_ALERT_NEUTRAL_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_NEUTRAL_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_INFO_TITLE_COLOR = '#18171d';\nconst GL_ALERT_INFO_BACKGROUND_COLOR = '#e9f3fc';\nconst GL_ALERT_INFO_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_INFO_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_SUCCESS_TITLE_COLOR = '#18171d';\nconst GL_ALERT_SUCCESS_BACKGROUND_COLOR = '#ecf4ee';\nconst GL_ALERT_SUCCESS_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_SUCCESS_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_WARNING_TITLE_COLOR = '#18171d';\nconst GL_ALERT_WARNING_BACKGROUND_COLOR = '#fdf1dd';\nconst GL_ALERT_WARNING_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_WARNING_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_DANGER_TITLE_COLOR = '#18171d';\nconst GL_ALERT_DANGER_BACKGROUND_COLOR = '#fcf1ef';\nconst GL_ALERT_DANGER_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_DANGER_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_AVATAR_BORDER_COLOR_DEFAULT = 'rgba(05, 05, 06, 0.08)';\nconst GL_AVATAR_BORDER_COLOR_HOVER = 'rgba(05, 05, 06, 0.24)';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_RED = '#8d1300';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_PURPLE = '#453894';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_BLUE = '#064787';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_GREEN = '#0d532a';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_ORANGE = '#703800';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_NEUTRAL = '#3a383f';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_RED = '#fcb5aa3d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_PURPLE = '#cbbbf23d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_BLUE = '#9dc7f13d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_GREEN = '#91d4a83d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_ORANGE = '#e9be743d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_NEUTRAL = '#bfbfc33d';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BADGE_MUTED_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_MUTED_BORDER_COLOR_HOVER = '#bfbfc3';\nconst GL_BADGE_MUTED_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_MUTED_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_MUTED_TEXT_COLOR_DEFAULT = '#626168';\nconst GL_BADGE_MUTED_TEXT_COLOR_HOVER = '#4c4b51';\nconst GL_BADGE_MUTED_TEXT_COLOR_FOCUS = '#4c4b51';\nconst GL_BADGE_MUTED_TEXT_COLOR_ACTIVE = '#3a383f';\nconst GL_BADGE_MUTED_ICON_COLOR_DEFAULT = '#737278';\nconst GL_BADGE_MUTED_ICON_COLOR_HOVER = '#626168';\nconst GL_BADGE_MUTED_ICON_COLOR_FOCUS = '#626168';\nconst GL_BADGE_MUTED_ICON_COLOR_ACTIVE = '#4c4b51';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_DEFAULT = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_FOCUS = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_ACTIVE = '#bfbfc3';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_HOVER = '#bfbfc3';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_DEFAULT = '#4c4b51';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_HOVER = '#3a383f';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_FOCUS = '#3a383f';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_ACTIVE = '#28272d';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_DEFAULT = '#737278';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_HOVER = '#626168';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_FOCUS = '#626168';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_ACTIVE = '#4c4b51';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_DEFAULT = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_HOVER = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_FOCUS = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_ACTIVE = '#9dc7f1';\nconst GL_BADGE_INFO_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_INFO_BORDER_COLOR_HOVER = '#9dc7f1';\nconst GL_BADGE_INFO_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_INFO_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_INFO_TEXT_COLOR_DEFAULT = '#0b5cad';\nconst GL_BADGE_INFO_TEXT_COLOR_HOVER = '#064787';\nconst GL_BADGE_INFO_TEXT_COLOR_FOCUS = '#064787';\nconst GL_BADGE_INFO_TEXT_COLOR_ACTIVE = '#033464';\nconst GL_BADGE_INFO_ICON_COLOR_DEFAULT = '#1f75cb';\nconst GL_BADGE_INFO_ICON_COLOR_HOVER = '#1068bf';\nconst GL_BADGE_INFO_ICON_COLOR_FOCUS = '#1068bf';\nconst GL_BADGE_INFO_ICON_COLOR_ACTIVE = '#0b5cad';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_DEFAULT = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_HOVER = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_FOCUS = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_ACTIVE = '#91d4a8';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_HOVER = '#91d4a8';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_DEFAULT = '#24663b';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_HOVER = '#0d532a';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_FOCUS = '#0d532a';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_ACTIVE = '#0a4020';\nconst GL_BADGE_SUCCESS_ICON_COLOR_DEFAULT = '#108548';\nconst GL_BADGE_SUCCESS_ICON_COLOR_HOVER = '#217645';\nconst GL_BADGE_SUCCESS_ICON_COLOR_FOCUS = '#217645';\nconst GL_BADGE_SUCCESS_ICON_COLOR_ACTIVE = '#24663b';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_DEFAULT = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_HOVER = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_FOCUS = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_ACTIVE = '#e9be74';\nconst GL_BADGE_WARNING_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_WARNING_BORDER_COLOR_HOVER = '#e9be74';\nconst GL_BADGE_WARNING_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_WARNING_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_WARNING_TEXT_COLOR_DEFAULT = '#8f4700';\nconst GL_BADGE_WARNING_TEXT_COLOR_HOVER = '#703800';\nconst GL_BADGE_WARNING_TEXT_COLOR_FOCUS = '#703800';\nconst GL_BADGE_WARNING_TEXT_COLOR_ACTIVE = '#5c2900';\nconst GL_BADGE_WARNING_ICON_COLOR_DEFAULT = '#ab6100';\nconst GL_BADGE_WARNING_ICON_COLOR_HOVER = '#9e5400';\nconst GL_BADGE_WARNING_ICON_COLOR_FOCUS = '#9e5400';\nconst GL_BADGE_WARNING_ICON_COLOR_ACTIVE = '#8f4700';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_DEFAULT = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_HOVER = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_FOCUS = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_ACTIVE = '#fcb5aa';\nconst GL_BADGE_DANGER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_DANGER_BORDER_COLOR_HOVER = '#fcb5aa';\nconst GL_BADGE_DANGER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_DANGER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_DANGER_TEXT_COLOR_DEFAULT = '#ae1800';\nconst GL_BADGE_DANGER_TEXT_COLOR_HOVER = '#8d1300';\nconst GL_BADGE_DANGER_TEXT_COLOR_FOCUS = '#8d1300';\nconst GL_BADGE_DANGER_TEXT_COLOR_ACTIVE = '#660e00';\nconst GL_BADGE_DANGER_ICON_COLOR_DEFAULT = '#ae1800';\nconst GL_BADGE_DANGER_ICON_COLOR_HOVER = '#8d1300';\nconst GL_BADGE_DANGER_ICON_COLOR_FOCUS = '#8d1300';\nconst GL_BADGE_DANGER_ICON_COLOR_ACTIVE = '#660e00';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_DEFAULT = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_HOVER = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_FOCUS = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_ACTIVE = '#cbbbf2';\nconst GL_BADGE_TIER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_TIER_BORDER_COLOR_HOVER = '#cbbbf2';\nconst GL_BADGE_TIER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_TIER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_TIER_TEXT_COLOR_DEFAULT = '#5943b6';\nconst GL_BADGE_TIER_TEXT_COLOR_HOVER = '#453894';\nconst GL_BADGE_TIER_TEXT_COLOR_FOCUS = '#453894';\nconst GL_BADGE_TIER_TEXT_COLOR_ACTIVE = '#2f2a6b';\nconst GL_BADGE_TIER_ICON_COLOR_DEFAULT = '#5943b6';\nconst GL_BADGE_TIER_ICON_COLOR_HOVER = '#453894';\nconst GL_BADGE_TIER_ICON_COLOR_FOCUS = '#453894';\nconst GL_BADGE_TIER_ICON_COLOR_ACTIVE = '#2f2a6b';\nconst GL_BANNER_INTRO_BORDER_COLOR = '#9dc7f1';\nconst GL_BANNER_PROMO_BACKGROUND_COLOR = '#f4f0ff';\nconst GL_BANNER_PROMO_BORDER_COLOR = '#cbbbf2';\nconst GL_BREADCRUMB_SEPARATOR_COLOR = '#89888d';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_BLUE = '#235180';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_DARK = '#737278';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_GREEN = '#1b653f';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_INDIGO = '#41419f';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHT = '#ececef';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTBLUE = '#4977a5';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTGREEN = '#308258';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTINDIGO = '#6666c4';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTRED = '#ad4a3b';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_RED = '#8f2110';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_BLUE = '#0b2640';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_DARK = '#4c4b51';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_GREEN = '#0e4328';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_INDIGO = '#222261';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHT = '#dcdcde';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTBLUE = '#235180';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTGREEN = '#1b653f';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTINDIGO = '#41419f';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTRED = '#8f2110';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_RED = '#580d02';\nconst GL_BROADCAST_BANNER_ICON_COLOR_BLUE = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_DARK = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_GREEN = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_INDIGO = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHT = '#28272d';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTBLUE = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTGREEN = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTINDIGO = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTRED = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_RED = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_BLUE = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_DARK = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_GREEN = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_INDIGO = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHT = '#28272d';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTBLUE = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTGREEN = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTINDIGO = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTRED = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_RED = '#fff';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_HOVER = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_FOCUS = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_DEFAULT = '#bfbfc3';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_HOVER = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_FOCUS = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_HOVER = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_FOCUS = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#0b5cad';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_DEFAULT = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_HOVER = '#064787';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_FOCUS = '#064787';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_HOVER = '#e9f3fc';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_FOCUS = '#e9f3fc';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_ACTIVE = '#cbe2f9';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(99, 166, 233, 0.0)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(99, 166, 233, 0.16)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(99, 166, 233, 0.16)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(11, 92, 173, 0.24)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_HOVER = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_FOCUS = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_DEFAULT = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_HOVER = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_FOCUS = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_HOVER = '#fcf1ef';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_FOCUS = '#fcf1ef';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_ACTIVE = '#fdd4cd';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(245, 127, 108, 0.0)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(245, 127, 108, 0.16)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(245, 127, 108, 0.16)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(174, 24, 0, 0.24)';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_DASHED_BORDER_COLOR_DEFAULT = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_LINK_TEXT_COLOR_DEFAULT = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_ACTIVE = '#0b5cad';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_DEFAULT = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_HOVER = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_FOCUS = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_DEFAULT = '#a4a3a8';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_DISABLED_FOREGROUND_COLOR = '#737278';\nconst GL_BUTTON_DISABLED_BACKGROUND_COLOR = '#fbfafd';\nconst GL_BUTTON_DISABLED_BORDER_COLOR = '#dcdcde';\nconst GL_CHART_AXIS_POINTER_COLOR = '#626168';\nconst GL_CHART_AXIS_LINE_COLOR = '#bfbfc3';\nconst GL_CHART_AXIS_TEXT_COLOR = '#626168';\nconst GL_CHART_THRESHOLD_AREA_COLOR = 'rgba(221,43,14,0.1)';\nconst GL_CHART_THRESHOLD_LINE_COLOR = '#dd2b0e';\nconst GL_CHART_ZOOM_FILLER_COLOR = 'rgba(05, 05, 06, 0.08)';\nconst GL_CHART_ZOOM_HANDLE_COLOR = '#626168';\nconst GL_DATEPICKER_BACKGROUND_COLOR = '#fff';\nconst GL_DATEPICKER_DATE_TEXT_COLOR_SELECTED = '#fff';\nconst GL_DROPDOWN_BACKGROUND_COLOR = '#fff';\nconst GL_DROPDOWN_BORDER_COLOR = '#bfbfc3';\nconst GL_DROPDOWN_DIVIDER_COLOR = '#dcdcde';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_DEFAULT = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_HOVER = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_FOCUS = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_ACTIVE = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_DISABLED = '#89888d';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_ACTIVE = '#0b5cad';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_DEFAULT = '#ececef';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_HOVER = '#dcdcde';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_FOCUS = '#dcdcde';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_ACTIVE = '#bfbfc3';\nconst GL_DROPDOWN_SEARCH_BACKGROUND_COLOR = 'rgba(05, 05, 06, 0.02)';\nconst GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_DEFAULT = '#dcdcde';\nconst GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_HOVER = '#bfbfc3';\nconst GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_ILLUSTRATION_STROKE_COLOR_DEFAULT = '#171321';\nconst GL_ILLUSTRATION_STROKE_WIDTH_DEFAULT = '0.125rem';\nconst GL_ILLUSTRATION_FILL_COLOR_DEFAULT = '#fff';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_NEUTRAL = '#aea5d6';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_SUCCESS = '#6fdac9';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_WARNING = '#fca326';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_DANGER = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_ORANGE = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_TEAL = '#6fdac9';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_STRONG = '#aea5d6';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_SUBTLE = '#d0c5e2';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_STRONG = '#aea5d6';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_ORANGE = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_TEAL = '#6fdac9';\nconst GL_ILLUSTRATION_BASE_FILL_COLOR = '#e7e4f2';\nconst GL_ILLUSTRATION_ISOMETRIC_STROKE_COLOR_DEFAULT = '#171321';\nconst GL_ILLUSTRATION_ISOMETRIC_STROKE_WIDTH_DEFAULT = '0.125rem';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_TOP_FILL_COLOR = '#c5f4ec';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_FRONT_FILL_COLOR = '#fff';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_SIDE_FILL_COLOR = '#6fdac9';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_SHADOW_FILL_COLOR = '#10b1b1';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_TOP_FILL_COLOR = '#ff9d73';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_FRONT_FILL_COLOR = '#ffc2a8';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_SIDE_FILL_COLOR = '#ff7b42';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_HIGHLIGHT_FILL_COLOR = '#fff';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_SHADOW_FILL_COLOR = '#e24329';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_TOP_FILL_COLOR = '#45424d';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_FRONT_FILL_COLOR = '#74717a';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_SIDE_FILL_COLOR = '#2b2838';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_TOP_FILL_COLOR = '#e7e4f2';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_FRONT_FILL_COLOR = '#d5d0e8';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_SIDE_FILL_COLOR = '#aea5d6';\nconst GL_LABEL_LIGHT_TEXT_COLOR = '#18171d';\nconst GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_DEFAULT = 'transparent';\nconst GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_HOVER = '#18171d';\nconst GL_LABEL_LIGHT_BUTTON_ICON_COLOR_DEFAULT = '#18171d';\nconst GL_LABEL_DARK_TEXT_COLOR = '#fff';\nconst GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_DEFAULT = 'transparent';\nconst GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_HOVER = '#fff';\nconst GL_LABEL_DARK_BUTTON_ICON_COLOR_DEFAULT = '#fff';\nconst GL_LABEL_SCOPED_TEXT_COLOR = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_BACKGROUND_COLOR_HOVER = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_ICON_COLOR_DEFAULT = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_ICON_COLOR_HOVER = '#fff';\nconst GL_LINK_MENTION_TEXT_COLOR_DEFAULT = '#064787';\nconst GL_LINK_MENTION_TEXT_COLOR_CURRENT = '#703800';\nconst GL_LINK_MENTION_BACKGROUND_COLOR_DEFAULT = '#cbe2f9';\nconst GL_LINK_MENTION_BACKGROUND_COLOR_CURRENT = '#f5d9a8';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_DEFAULT = '#1f75cb';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_SUCCESS = '#108548';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_WARNING = '#ab6100';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_DANGER = '#dd2b0e';\nconst GL_PROGRESS_BAR_TRACK_COLOR = '#bfbfc3';\nconst GL_SKELETON_LOADER_BACKGROUND_COLOR = '#dcdcde';\nconst GL_SKELETON_LOADER_SHIMMER_COLOR = '#ececef';\nconst GL_SPINNER_TRACK_COLOR_DEFAULT = '#dcdcde';\nconst GL_SPINNER_TRACK_COLOR_LIGHT = '#3a383f';\nconst GL_SPINNER_SEGMENT_COLOR_DEFAULT = '#4c4b51';\nconst GL_SPINNER_SEGMENT_COLOR_LIGHT = '#bfbfc3';\nconst GL_TABLE_ROW_BACKGROUND_COLOR_HOVER = '#fbfafd';\nconst GL_TABLE_SORTING_ICON_COLOR = '#18171d';\nconst GL_TAB_SELECTED_INDICATOR_COLOR_DEFAULT = '#1f75cb';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_DEFAULT = '#626168';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_HOVER = '#4c4b51';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_FOCUS = '#4c4b51';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_ACTIVE = '#3a383f';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_DEFAULT = '#1f75cb';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_HOVER = '#1068bf';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_FOCUS = '#1068bf';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_ACTIVE = '#0b5cad';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_DISABLED = '#ececef';\nconst GL_TOKEN_SELECTOR_TOKEN_CONTAINER_TOKEN_BACKGROUND_COLOR_FOCUS = '#a4a3a8';\nconst GL_TOKEN_FOREGROUND_COLOR = '#3a383f';\nconst GL_TOKEN_BACKGROUND_COLOR = '#dcdcde';\nconst GL_CONTROL_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_CONTROL_BACKGROUND_COLOR_DISABLED = '#fbfafd';\nconst GL_CONTROL_BACKGROUND_COLOR_CONCATENATION = '#fbfafd';\nconst GL_CONTROL_BACKGROUND_COLOR_READONLY = 'rgba(05, 05, 06, 0.02)';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_CONTROL_BORDER_COLOR_DEFAULT = '#89888d';\nconst GL_CONTROL_BORDER_COLOR_HOVER = '#626168';\nconst GL_CONTROL_BORDER_COLOR_FOCUS = '#28272d';\nconst GL_CONTROL_BORDER_COLOR_DISABLED = '#dcdcde';\nconst GL_CONTROL_BORDER_COLOR_ERROR = '#dd2b0e';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_CONTROL_TEXT_COLOR_ERROR = '#c91c00';\nconst GL_CONTROL_TEXT_COLOR_VALID = '#217645';\nconst GL_CONTROL_PLACEHOLDER_COLOR = '#89888d';\nconst GL_CONTROL_INDICATOR_COLOR_SELECTED = '#fff';\nconst GL_CONTROL_INDICATOR_COLOR_DISABLED = '#737278';\nconst DATA_VIZ_GREEN_50 = '#ddfab7';\nconst DATA_VIZ_GREEN_100 = '#c6ed94';\nconst DATA_VIZ_GREEN_200 = '#b0d97b';\nconst DATA_VIZ_GREEN_300 = '#94c25e';\nconst DATA_VIZ_GREEN_400 = '#81ac41';\nconst DATA_VIZ_GREEN_500 = '#619025';\nconst DATA_VIZ_GREEN_600 = '#4e7f0e';\nconst DATA_VIZ_GREEN_700 = '#366800';\nconst DATA_VIZ_GREEN_800 = '#275600';\nconst DATA_VIZ_GREEN_900 = '#1a4500';\nconst DATA_VIZ_GREEN_950 = '#133a03';\nconst DATA_VIZ_AQUA_50 = '#b5fefd';\nconst DATA_VIZ_AQUA_100 = '#93f2ef';\nconst DATA_VIZ_AQUA_200 = '#5edee3';\nconst DATA_VIZ_AQUA_300 = '#32c5d2';\nconst DATA_VIZ_AQUA_400 = '#00acc4';\nconst DATA_VIZ_AQUA_500 = '#0090b1';\nconst DATA_VIZ_AQUA_600 = '#007b9b';\nconst DATA_VIZ_AQUA_700 = '#006381';\nconst DATA_VIZ_AQUA_800 = '#00516c';\nconst DATA_VIZ_AQUA_900 = '#004059';\nconst DATA_VIZ_AQUA_950 = '#00344b';\nconst DATA_VIZ_BLUE_50 = '#e9ebff';\nconst DATA_VIZ_BLUE_100 = '#d2dcff';\nconst DATA_VIZ_BLUE_200 = '#b7c6ff';\nconst DATA_VIZ_BLUE_300 = '#97acff';\nconst DATA_VIZ_BLUE_400 = '#7992f5';\nconst DATA_VIZ_BLUE_500 = '#617ae2';\nconst DATA_VIZ_BLUE_600 = '#4e65cd';\nconst DATA_VIZ_BLUE_700 = '#3f51ae';\nconst DATA_VIZ_BLUE_800 = '#374291';\nconst DATA_VIZ_BLUE_900 = '#303470';\nconst DATA_VIZ_BLUE_950 = '#2a2b59';\nconst DATA_VIZ_MAGENTA_50 = '#ffe3eb';\nconst DATA_VIZ_MAGENTA_100 = '#ffccdb';\nconst DATA_VIZ_MAGENTA_200 = '#fcacc5';\nconst DATA_VIZ_MAGENTA_300 = '#f88aaf';\nconst DATA_VIZ_MAGENTA_400 = '#e86e9a';\nconst DATA_VIZ_MAGENTA_500 = '#cf4d81';\nconst DATA_VIZ_MAGENTA_600 = '#b93d71';\nconst DATA_VIZ_MAGENTA_700 = '#9a2e5d';\nconst DATA_VIZ_MAGENTA_800 = '#7c214f';\nconst DATA_VIZ_MAGENTA_900 = '#661e3a';\nconst DATA_VIZ_MAGENTA_950 = '#541d31';\nconst DATA_VIZ_ORANGE_50 = '#fae8d1';\nconst DATA_VIZ_ORANGE_100 = '#f5d6b3';\nconst DATA_VIZ_ORANGE_200 = '#eebd8c';\nconst DATA_VIZ_ORANGE_300 = '#e99b60';\nconst DATA_VIZ_ORANGE_400 = '#e07e41';\nconst DATA_VIZ_ORANGE_500 = '#c95d2e';\nconst DATA_VIZ_ORANGE_600 = '#b14f18';\nconst DATA_VIZ_ORANGE_700 = '#92430a';\nconst DATA_VIZ_ORANGE_800 = '#6f3500';\nconst DATA_VIZ_ORANGE_900 = '#5e2f05';\nconst DATA_VIZ_ORANGE_950 = '#4b2707';\nconst THEME_INDIGO_10 = '#f8f8ff';\nconst THEME_INDIGO_50 = '#f1f1ff';\nconst THEME_INDIGO_100 = '#dbdbf8';\nconst THEME_INDIGO_200 = '#c7c7f2';\nconst THEME_INDIGO_300 = '#a2a2e6';\nconst THEME_INDIGO_400 = '#8181d7';\nconst THEME_INDIGO_500 = '#6666c4';\nconst THEME_INDIGO_600 = '#5252b5';\nconst THEME_INDIGO_700 = '#41419f';\nconst THEME_INDIGO_800 = '#303083';\nconst THEME_INDIGO_900 = '#222261';\nconst THEME_INDIGO_950 = '#14143d';\nconst THEME_BLUE_10 = '#e6ecf0';\nconst THEME_BLUE_50 = '#cdd8e3';\nconst THEME_BLUE_100 = '#b9cadc';\nconst THEME_BLUE_200 = '#a6bdd5';\nconst THEME_BLUE_300 = '#81a5c9';\nconst THEME_BLUE_400 = '#628eb9';\nconst THEME_BLUE_500 = '#4977a5';\nconst THEME_BLUE_600 = '#346596';\nconst THEME_BLUE_700 = '#235180';\nconst THEME_BLUE_800 = '#153c63';\nconst THEME_BLUE_900 = '#0b2640';\nconst THEME_BLUE_950 = '#04101c';\nconst THEME_LIGHT_BLUE_10 = '#eef3f7';\nconst THEME_LIGHT_BLUE_50 = '#dde6ee';\nconst THEME_LIGHT_BLUE_100 = '#c1d4e6';\nconst THEME_LIGHT_BLUE_200 = '#a0bedc';\nconst THEME_LIGHT_BLUE_300 = '#74a3d3';\nconst THEME_LIGHT_BLUE_400 = '#4f8bc7';\nconst THEME_LIGHT_BLUE_500 = '#3476b9';\nconst THEME_LIGHT_BLUE_600 = '#2268ae';\nconst THEME_LIGHT_BLUE_700 = '#145aa1';\nconst THEME_LIGHT_BLUE_800 = '#0e4d8d';\nconst THEME_LIGHT_BLUE_900 = '#0c4277';\nconst THEME_LIGHT_BLUE_950 = '#0a3764';\nconst THEME_GREEN_10 = '#eef4ef';\nconst THEME_GREEN_50 = '#dde9de';\nconst THEME_GREEN_100 = '#b1d6b5';\nconst THEME_GREEN_200 = '#8cc497';\nconst THEME_GREEN_300 = '#69af7d';\nconst THEME_GREEN_400 = '#499767';\nconst THEME_GREEN_500 = '#308258';\nconst THEME_GREEN_600 = '#25744c';\nconst THEME_GREEN_700 = '#1b653f';\nconst THEME_GREEN_800 = '#155635';\nconst THEME_GREEN_900 = '#0e4328';\nconst THEME_GREEN_950 = '#052e19';\nconst THEME_RED_10 = '#faf4f3';\nconst THEME_RED_50 = '#f4e9e7';\nconst THEME_RED_100 = '#ecd3d0';\nconst THEME_RED_200 = '#e3bab5';\nconst THEME_RED_300 = '#d59086';\nconst THEME_RED_400 = '#c66e60';\nconst THEME_RED_500 = '#ad4a3b';\nconst THEME_RED_600 = '#a13322';\nconst THEME_RED_700 = '#8f2110';\nconst THEME_RED_800 = '#761405';\nconst THEME_RED_900 = '#580d02';\nconst THEME_RED_950 = '#380700';\nconst THEME_LIGHT_RED_10 = '#fdf9f8';\nconst THEME_LIGHT_RED_50 = '#faf2f1';\nconst THEME_LIGHT_RED_100 = '#f6d9d5';\nconst THEME_LIGHT_RED_200 = '#ebada2';\nconst THEME_LIGHT_RED_300 = '#e07f6f';\nconst THEME_LIGHT_RED_400 = '#d36250';\nconst THEME_LIGHT_RED_500 = '#c24b38';\nconst THEME_LIGHT_RED_600 = '#b53a26';\nconst THEME_LIGHT_RED_700 = '#a02e1c';\nconst THEME_LIGHT_RED_800 = '#8b2212';\nconst THEME_LIGHT_RED_900 = '#751709';\nconst THEME_LIGHT_RED_950 = '#5c1105';\nconst BLACK = '#050506';\nconst WHITE = '#fff';\nconst BLUE_50 = '#e9f3fc';\nconst BLUE_100 = '#cbe2f9';\nconst BLUE_200 = '#9dc7f1';\nconst BLUE_300 = '#63a6e9';\nconst BLUE_400 = '#428fdc';\nconst BLUE_500 = '#1f75cb';\nconst BLUE_600 = '#1068bf';\nconst BLUE_700 = '#0b5cad';\nconst BLUE_800 = '#064787';\nconst BLUE_900 = '#033464';\nconst BLUE_950 = '#002850';\nconst GRAY_10 = '#fbfafd';\nconst GRAY_50 = '#ececef';\nconst GRAY_100 = '#dcdcde';\nconst GRAY_200 = '#bfbfc3';\nconst GRAY_300 = '#a4a3a8';\nconst GRAY_400 = '#89888d';\nconst GRAY_500 = '#737278';\nconst GRAY_600 = '#626168';\nconst GRAY_700 = '#4c4b51';\nconst GRAY_800 = '#3a383f';\nconst GRAY_900 = '#28272d';\nconst GRAY_950 = '#18171d';\nconst GREEN_50 = '#ecf4ee';\nconst GREEN_100 = '#c3e6cd';\nconst GREEN_200 = '#91d4a8';\nconst GREEN_300 = '#52b87a';\nconst GREEN_400 = '#2da160';\nconst GREEN_500 = '#108548';\nconst GREEN_600 = '#217645';\nconst GREEN_700 = '#24663b';\nconst GREEN_800 = '#0d532a';\nconst GREEN_900 = '#0a4020';\nconst GREEN_950 = '#072b15';\nconst ORANGE_50 = '#fdf1dd';\nconst ORANGE_100 = '#f5d9a8';\nconst ORANGE_200 = '#e9be74';\nconst ORANGE_300 = '#d99530';\nconst ORANGE_400 = '#c17d10';\nconst ORANGE_500 = '#ab6100';\nconst ORANGE_600 = '#9e5400';\nconst ORANGE_700 = '#8f4700';\nconst ORANGE_800 = '#703800';\nconst ORANGE_900 = '#5c2900';\nconst ORANGE_950 = '#421f00';\nconst PURPLE_50 = '#f4f0ff';\nconst PURPLE_100 = '#e1d8f9';\nconst PURPLE_200 = '#cbbbf2';\nconst PURPLE_300 = '#ac93e6';\nconst PURPLE_400 = '#9475db';\nconst PURPLE_500 = '#7b58cf';\nconst PURPLE_600 = '#694cc0';\nconst PURPLE_700 = '#5943b6';\nconst PURPLE_800 = '#453894';\nconst PURPLE_900 = '#2f2a6b';\nconst PURPLE_950 = '#232150';\nconst RED_50 = '#fcf1ef';\nconst RED_100 = '#fdd4cd';\nconst RED_200 = '#fcb5aa';\nconst RED_300 = '#f57f6c';\nconst RED_400 = '#ec5941';\nconst RED_500 = '#dd2b0e';\nconst RED_600 = '#c91c00';\nconst RED_700 = '#ae1800';\nconst RED_800 = '#8d1300';\nconst RED_900 = '#660e00';\nconst RED_950 = '#4d0a00';\nconst BRAND_CHARCOAL = '#171321';\nconst BRAND_ORANGE_01 = '#fca326';\nconst BRAND_ORANGE_02 = '#fc6d26';\nconst BRAND_ORANGE_03 = '#e24329';\nconst BRAND_PURPLE_01 = '#a989f5';\nconst BRAND_PURPLE_02 = '#7759c2';\nconst BRAND_GRAY_01 = '#d1d0d3';\nconst BRAND_GRAY_02 = '#a2a1a6';\nconst BRAND_GRAY_03 = '#74717a';\nconst BRAND_GRAY_04 = '#45424d';\nconst BRAND_GRAY_05 = '#2b2838';\nconst T_GRAY_A_16 = 'rgba(05, 05, 06, 0.16)';\nconst T_GRAY_A_24 = 'rgba(05, 05, 06, 0.24)';\nconst T_GRAY_A_02 = 'rgba(05, 05, 06, 0.02)';\nconst T_GRAY_A_04 = 'rgba(05, 05, 06, 0.04)';\nconst T_GRAY_A_06 = 'rgba(05, 05, 06, 0.06)';\nconst T_GRAY_A_08 = 'rgba(05, 05, 06, 0.08)';\nconst T_WHITE_A_16 = 'rgba(255, 255, 255, 0.16)';\nconst T_WHITE_A_24 = 'rgba(255, 255, 255, 0.24)';\nconst T_WHITE_A_36 = 'rgba(255, 255, 255, 0.36)';\nconst T_WHITE_A_02 = 'rgba(255, 255, 255, 0.02)';\nconst T_WHITE_A_04 = 'rgba(255, 255, 255, 0.04)';\nconst T_WHITE_A_06 = 'rgba(255, 255, 255, 0.06)';\nconst T_WHITE_A_08 = 'rgba(255, 255, 255, 0.08)';\nconst GL_FEEDBACK_STRONG_BACKGROUND_COLOR = '#3a383f';\nconst GL_FEEDBACK_STRONG_TEXT_COLOR = '#fff';\nconst GL_FEEDBACK_STRONG_ICON_COLOR = '#fff';\nconst GL_FEEDBACK_STRONG_LINK_COLOR = '#63a6e9';\nconst GL_FEEDBACK_NEUTRAL_BACKGROUND_COLOR = '#ececef';\nconst GL_FEEDBACK_NEUTRAL_TEXT_COLOR = '#4c4b51';\nconst GL_FEEDBACK_NEUTRAL_ICON_COLOR = '#626168';\nconst GL_FEEDBACK_INFO_BACKGROUND_COLOR = '#e9f3fc';\nconst GL_FEEDBACK_INFO_TEXT_COLOR = '#0b5cad';\nconst GL_FEEDBACK_INFO_ICON_COLOR = '#1068bf';\nconst GL_FEEDBACK_SUCCESS_BACKGROUND_COLOR = '#ecf4ee';\nconst GL_FEEDBACK_SUCCESS_TEXT_COLOR = '#24663b';\nconst GL_FEEDBACK_SUCCESS_ICON_COLOR = '#217645';\nconst GL_FEEDBACK_WARNING_BACKGROUND_COLOR = '#fdf1dd';\nconst GL_FEEDBACK_WARNING_TEXT_COLOR = '#8f4700';\nconst GL_FEEDBACK_WARNING_ICON_COLOR = '#9e5400';\nconst GL_FEEDBACK_DANGER_BACKGROUND_COLOR = '#fcf1ef';\nconst GL_FEEDBACK_DANGER_TEXT_COLOR = '#ae1800';\nconst GL_FEEDBACK_DANGER_ICON_COLOR = '#c91c00';\nconst GL_FOCUS_RING_OUTER_COLOR = '#1f75cb';\nconst GL_FOCUS_RING_INNER_COLOR = '#fff';\nconst GL_ICON_COLOR_DEFAULT = '#3a383f';\nconst GL_ICON_COLOR_SUBTLE = '#626168';\nconst GL_ICON_COLOR_STRONG = '#18171d';\nconst GL_ICON_COLOR_DISABLED = '#89888d';\nconst GL_ICON_COLOR_LINK = '#0b5cad';\nconst GL_ICON_COLOR_INFO = '#0b5cad';\nconst GL_ICON_COLOR_WARNING = '#9e5400';\nconst GL_ICON_COLOR_DANGER = '#c91c00';\nconst GL_ICON_COLOR_SUCCESS = '#217645';\nconst GL_LINE_HEIGHT_12 = '0.75rem';\nconst GL_LINE_HEIGHT_16 = '1rem';\nconst GL_LINE_HEIGHT_20 = '1.25rem';\nconst GL_LINE_HEIGHT_24 = '1.5rem';\nconst GL_LINE_HEIGHT_28 = '1.75rem';\nconst GL_LINE_HEIGHT_32 = '2rem';\nconst GL_LINE_HEIGHT_36 = '2.25rem';\nconst GL_LINE_HEIGHT_42 = '2.625rem';\nconst GL_LINE_HEIGHT_44 = '2.75rem';\nconst GL_LINE_HEIGHT_52 = '3.25rem';\nconst GL_SHADOW_COLOR_DEFAULT = 'rgba(05, 05, 06, 0.16)';\nconst GL_STATUS_NEUTRAL_BACKGROUND_COLOR = '#dcdcde';\nconst GL_STATUS_NEUTRAL_TEXT_COLOR = '#4c4b51';\nconst GL_STATUS_NEUTRAL_ICON_COLOR = '#737278';\nconst GL_STATUS_INFO_BACKGROUND_COLOR = '#cbe2f9';\nconst GL_STATUS_INFO_TEXT_COLOR = '#0b5cad';\nconst GL_STATUS_INFO_ICON_COLOR = '#1f75cb';\nconst GL_STATUS_SUCCESS_BACKGROUND_COLOR = '#c3e6cd';\nconst GL_STATUS_SUCCESS_TEXT_COLOR = '#24663b';\nconst GL_STATUS_SUCCESS_ICON_COLOR = '#108548';\nconst GL_STATUS_WARNING_BACKGROUND_COLOR = '#f5d9a8';\nconst GL_STATUS_WARNING_TEXT_COLOR = '#8f4700';\nconst GL_STATUS_WARNING_ICON_COLOR = '#ab6100';\nconst GL_STATUS_DANGER_BACKGROUND_COLOR = '#fdd4cd';\nconst GL_STATUS_DANGER_TEXT_COLOR = '#ae1800';\nconst GL_STATUS_DANGER_ICON_COLOR = '#dd2b0e';\nconst GL_STATUS_BRAND_BACKGROUND_COLOR = '#e1d8f9';\nconst GL_STATUS_BRAND_TEXT_COLOR = '#5943b6';\nconst GL_STATUS_BRAND_ICON_COLOR = '#7b58cf';\nconst GL_TEXT_PRIMARY = '#28272d';\nconst GL_TEXT_SECONDARY = '#737278';\nconst GL_TEXT_TERTIARY = '#89888d';\nconst GL_TEXT_COLOR_DEFAULT = '#3a383f';\nconst GL_TEXT_COLOR_SUBTLE = '#626168';\nconst GL_TEXT_COLOR_STRONG = '#18171d';\nconst GL_TEXT_COLOR_HEADING = '#18171d';\nconst GL_TEXT_COLOR_LINK = '#0b5cad';\nconst GL_TEXT_COLOR_WARNING = '#9e5400';\nconst GL_TEXT_COLOR_DANGER = '#c91c00';\nconst GL_TEXT_COLOR_SUCCESS = '#217645';\nconst GL_TEXT_COLOR_DISABLED = '#89888d';\n\nexport { BLACK, BLUE_100, BLUE_200, BLUE_300, BLUE_400, BLUE_50, BLUE_500, BLUE_600, BLUE_700, BLUE_800, BLUE_900, BLUE_950, BRAND_CHARCOAL, BRAND_GRAY_01, BRAND_GRAY_02, BRAND_GRAY_03, BRAND_GRAY_04, BRAND_GRAY_05, BRAND_ORANGE_01, BRAND_ORANGE_02, BRAND_ORANGE_03, BRAND_PURPLE_01, BRAND_PURPLE_02, DATA_VIZ_AQUA_100, DATA_VIZ_AQUA_200, DATA_VIZ_AQUA_300, DATA_VIZ_AQUA_400, DATA_VIZ_AQUA_50, DATA_VIZ_AQUA_500, DATA_VIZ_AQUA_600, DATA_VIZ_AQUA_700, DATA_VIZ_AQUA_800, DATA_VIZ_AQUA_900, DATA_VIZ_AQUA_950, DATA_VIZ_BLUE_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_300, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_50, DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_700, DATA_VIZ_BLUE_800, DATA_VIZ_BLUE_900, DATA_VIZ_BLUE_950, DATA_VIZ_GREEN_100, DATA_VIZ_GREEN_200, DATA_VIZ_GREEN_300, DATA_VIZ_GREEN_400, DATA_VIZ_GREEN_50, DATA_VIZ_GREEN_500, DATA_VIZ_GREEN_600, DATA_VIZ_GREEN_700, DATA_VIZ_GREEN_800, DATA_VIZ_GREEN_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_MAGENTA_50, DATA_VIZ_MAGENTA_500, DATA_VIZ_MAGENTA_600, DATA_VIZ_MAGENTA_700, DATA_VIZ_MAGENTA_800, DATA_VIZ_MAGENTA_900, DATA_VIZ_MAGENTA_950, DATA_VIZ_ORANGE_100, DATA_VIZ_ORANGE_200, DATA_VIZ_ORANGE_300, DATA_VIZ_ORANGE_400, DATA_VIZ_ORANGE_50, DATA_VIZ_ORANGE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_ORANGE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_ORANGE_900, DATA_VIZ_ORANGE_950, GL_ACTION_CONFIRM_BACKGROUND_COLOR_ACTIVE, GL_ACTION_CONFIRM_BACKGROUND_COLOR_DEFAULT, GL_ACTION_CONFIRM_BACKGROUND_COLOR_FOCUS, GL_ACTION_CONFIRM_BACKGROUND_COLOR_HOVER, GL_ACTION_CONFIRM_BORDER_COLOR_ACTIVE, GL_ACTION_CONFIRM_BORDER_COLOR_DEFAULT, GL_ACTION_CONFIRM_BORDER_COLOR_FOCUS, GL_ACTION_CONFIRM_BORDER_COLOR_HOVER, GL_ACTION_CONFIRM_FOREGROUND_COLOR_ACTIVE, GL_ACTION_CONFIRM_FOREGROUND_COLOR_DEFAULT, GL_ACTION_CONFIRM_FOREGROUND_COLOR_FOCUS, GL_ACTION_CONFIRM_FOREGROUND_COLOR_HOVER, GL_ACTION_DANGER_BACKGROUND_COLOR_ACTIVE, GL_ACTION_DANGER_BACKGROUND_COLOR_DEFAULT, GL_ACTION_DANGER_BACKGROUND_COLOR_FOCUS, GL_ACTION_DANGER_BACKGROUND_COLOR_HOVER, GL_ACTION_DANGER_BORDER_COLOR_ACTIVE, GL_ACTION_DANGER_BORDER_COLOR_DEFAULT, GL_ACTION_DANGER_BORDER_COLOR_FOCUS, GL_ACTION_DANGER_BORDER_COLOR_HOVER, GL_ACTION_DANGER_FOREGROUND_COLOR_ACTIVE, GL_ACTION_DANGER_FOREGROUND_COLOR_DEFAULT, GL_ACTION_DANGER_FOREGROUND_COLOR_FOCUS, GL_ACTION_DANGER_FOREGROUND_COLOR_HOVER, GL_ACTION_DISABLED_BACKGROUND_COLOR, GL_ACTION_DISABLED_BORDER_COLOR, GL_ACTION_DISABLED_FOREGROUND_COLOR, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_ACTION_NEUTRAL_BORDER_COLOR_ACTIVE, GL_ACTION_NEUTRAL_BORDER_COLOR_DEFAULT, GL_ACTION_NEUTRAL_BORDER_COLOR_FOCUS, GL_ACTION_NEUTRAL_BORDER_COLOR_HOVER, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_ACTIVE, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_DEFAULT, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_FOCUS, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_HOVER, GL_ACTION_SELECTED_BACKGROUND_COLOR_ACTIVE, GL_ACTION_SELECTED_BACKGROUND_COLOR_DEFAULT, GL_ACTION_SELECTED_BACKGROUND_COLOR_FOCUS, GL_ACTION_SELECTED_BACKGROUND_COLOR_HOVER, GL_ACTION_SELECTED_BORDER_COLOR_ACTIVE, GL_ACTION_SELECTED_BORDER_COLOR_DEFAULT, GL_ACTION_SELECTED_BORDER_COLOR_FOCUS, GL_ACTION_SELECTED_BORDER_COLOR_HOVER, GL_ACTION_SELECTED_FOREGROUND_COLOR_ACTIVE, GL_ACTION_SELECTED_FOREGROUND_COLOR_DEFAULT, GL_ACTION_SELECTED_FOREGROUND_COLOR_FOCUS, GL_ACTION_SELECTED_FOREGROUND_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_HOVER, GL_ALERT_DANGER_BACKGROUND_COLOR, GL_ALERT_DANGER_BORDER_BOTTOM_COLOR, GL_ALERT_DANGER_BORDER_TOP_COLOR, GL_ALERT_DANGER_TITLE_COLOR, GL_ALERT_INFO_BACKGROUND_COLOR, GL_ALERT_INFO_BORDER_BOTTOM_COLOR, GL_ALERT_INFO_BORDER_TOP_COLOR, GL_ALERT_INFO_TITLE_COLOR, GL_ALERT_NEUTRAL_BACKGROUND_COLOR, GL_ALERT_NEUTRAL_BORDER_BOTTOM_COLOR, GL_ALERT_NEUTRAL_BORDER_TOP_COLOR, GL_ALERT_NEUTRAL_TITLE_COLOR, GL_ALERT_SUCCESS_BACKGROUND_COLOR, GL_ALERT_SUCCESS_BORDER_BOTTOM_COLOR, GL_ALERT_SUCCESS_BORDER_TOP_COLOR, GL_ALERT_SUCCESS_TITLE_COLOR, GL_ALERT_WARNING_BACKGROUND_COLOR, GL_ALERT_WARNING_BORDER_BOTTOM_COLOR, GL_ALERT_WARNING_BORDER_TOP_COLOR, GL_ALERT_WARNING_TITLE_COLOR, GL_AVATAR_BORDER_COLOR_DEFAULT, GL_AVATAR_BORDER_COLOR_HOVER, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_BLUE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_GREEN, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_NEUTRAL, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_ORANGE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_PURPLE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_RED, GL_AVATAR_FALLBACK_TEXT_COLOR_BLUE, GL_AVATAR_FALLBACK_TEXT_COLOR_GREEN, GL_AVATAR_FALLBACK_TEXT_COLOR_NEUTRAL, GL_AVATAR_FALLBACK_TEXT_COLOR_ORANGE, GL_AVATAR_FALLBACK_TEXT_COLOR_PURPLE, GL_AVATAR_FALLBACK_TEXT_COLOR_RED, GL_BACKGROUND_COLOR_DEFAULT, GL_BACKGROUND_COLOR_DISABLED, GL_BACKGROUND_COLOR_OVERLAP, GL_BACKGROUND_COLOR_OVERLAY, GL_BACKGROUND_COLOR_SECTION, GL_BACKGROUND_COLOR_STRONG, GL_BACKGROUND_COLOR_SUBTLE, GL_BADGE_DANGER_BACKGROUND_COLOR_ACTIVE, GL_BADGE_DANGER_BACKGROUND_COLOR_DEFAULT, GL_BADGE_DANGER_BACKGROUND_COLOR_FOCUS, GL_BADGE_DANGER_BACKGROUND_COLOR_HOVER, GL_BADGE_DANGER_BORDER_COLOR_ACTIVE, GL_BADGE_DANGER_BORDER_COLOR_DEFAULT, GL_BADGE_DANGER_BORDER_COLOR_FOCUS, GL_BADGE_DANGER_BORDER_COLOR_HOVER, GL_BADGE_DANGER_ICON_COLOR_ACTIVE, GL_BADGE_DANGER_ICON_COLOR_DEFAULT, GL_BADGE_DANGER_ICON_COLOR_FOCUS, GL_BADGE_DANGER_ICON_COLOR_HOVER, GL_BADGE_DANGER_TEXT_COLOR_ACTIVE, GL_BADGE_DANGER_TEXT_COLOR_DEFAULT, GL_BADGE_DANGER_TEXT_COLOR_FOCUS, GL_BADGE_DANGER_TEXT_COLOR_HOVER, GL_BADGE_INFO_BACKGROUND_COLOR_ACTIVE, GL_BADGE_INFO_BACKGROUND_COLOR_DEFAULT, GL_BADGE_INFO_BACKGROUND_COLOR_FOCUS, GL_BADGE_INFO_BACKGROUND_COLOR_HOVER, GL_BADGE_INFO_BORDER_COLOR_ACTIVE, GL_BADGE_INFO_BORDER_COLOR_DEFAULT, GL_BADGE_INFO_BORDER_COLOR_FOCUS, GL_BADGE_INFO_BORDER_COLOR_HOVER, GL_BADGE_INFO_ICON_COLOR_ACTIVE, GL_BADGE_INFO_ICON_COLOR_DEFAULT, GL_BADGE_INFO_ICON_COLOR_FOCUS, GL_BADGE_INFO_ICON_COLOR_HOVER, GL_BADGE_INFO_TEXT_COLOR_ACTIVE, GL_BADGE_INFO_TEXT_COLOR_DEFAULT, GL_BADGE_INFO_TEXT_COLOR_FOCUS, GL_BADGE_INFO_TEXT_COLOR_HOVER, GL_BADGE_MUTED_BACKGROUND_COLOR_ACTIVE, GL_BADGE_MUTED_BACKGROUND_COLOR_DEFAULT, GL_BADGE_MUTED_BACKGROUND_COLOR_FOCUS, GL_BADGE_MUTED_BACKGROUND_COLOR_HOVER, GL_BADGE_MUTED_BORDER_COLOR_ACTIVE, GL_BADGE_MUTED_BORDER_COLOR_DEFAULT, GL_BADGE_MUTED_BORDER_COLOR_FOCUS, GL_BADGE_MUTED_BORDER_COLOR_HOVER, GL_BADGE_MUTED_ICON_COLOR_ACTIVE, GL_BADGE_MUTED_ICON_COLOR_DEFAULT, GL_BADGE_MUTED_ICON_COLOR_FOCUS, GL_BADGE_MUTED_ICON_COLOR_HOVER, GL_BADGE_MUTED_TEXT_COLOR_ACTIVE, GL_BADGE_MUTED_TEXT_COLOR_DEFAULT, GL_BADGE_MUTED_TEXT_COLOR_FOCUS, GL_BADGE_MUTED_TEXT_COLOR_HOVER, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_BADGE_NEUTRAL_BORDER_COLOR_ACTIVE, GL_BADGE_NEUTRAL_BORDER_COLOR_DEFAULT, GL_BADGE_NEUTRAL_BORDER_COLOR_FOCUS, GL_BADGE_NEUTRAL_BORDER_COLOR_HOVER, GL_BADGE_NEUTRAL_ICON_COLOR_ACTIVE, GL_BADGE_NEUTRAL_ICON_COLOR_DEFAULT, GL_BADGE_NEUTRAL_ICON_COLOR_FOCUS, GL_BADGE_NEUTRAL_ICON_COLOR_HOVER, GL_BADGE_NEUTRAL_TEXT_COLOR_ACTIVE, GL_BADGE_NEUTRAL_TEXT_COLOR_DEFAULT, GL_BADGE_NEUTRAL_TEXT_COLOR_FOCUS, GL_BADGE_NEUTRAL_TEXT_COLOR_HOVER, GL_BADGE_SUCCESS_BACKGROUND_COLOR_ACTIVE, GL_BADGE_SUCCESS_BACKGROUND_COLOR_DEFAULT, GL_BADGE_SUCCESS_BACKGROUND_COLOR_FOCUS, GL_BADGE_SUCCESS_BACKGROUND_COLOR_HOVER, GL_BADGE_SUCCESS_BORDER_COLOR_ACTIVE, GL_BADGE_SUCCESS_BORDER_COLOR_DEFAULT, GL_BADGE_SUCCESS_BORDER_COLOR_FOCUS, GL_BADGE_SUCCESS_BORDER_COLOR_HOVER, GL_BADGE_SUCCESS_ICON_COLOR_ACTIVE, GL_BADGE_SUCCESS_ICON_COLOR_DEFAULT, GL_BADGE_SUCCESS_ICON_COLOR_FOCUS, GL_BADGE_SUCCESS_ICON_COLOR_HOVER, GL_BADGE_SUCCESS_TEXT_COLOR_ACTIVE, GL_BADGE_SUCCESS_TEXT_COLOR_DEFAULT, GL_BADGE_SUCCESS_TEXT_COLOR_FOCUS, GL_BADGE_SUCCESS_TEXT_COLOR_HOVER, GL_BADGE_TIER_BACKGROUND_COLOR_ACTIVE, GL_BADGE_TIER_BACKGROUND_COLOR_DEFAULT, GL_BADGE_TIER_BACKGROUND_COLOR_FOCUS, GL_BADGE_TIER_BACKGROUND_COLOR_HOVER, GL_BADGE_TIER_BORDER_COLOR_ACTIVE, GL_BADGE_TIER_BORDER_COLOR_DEFAULT, GL_BADGE_TIER_BORDER_COLOR_FOCUS, GL_BADGE_TIER_BORDER_COLOR_HOVER, GL_BADGE_TIER_ICON_COLOR_ACTIVE, GL_BADGE_TIER_ICON_COLOR_DEFAULT, GL_BADGE_TIER_ICON_COLOR_FOCUS, GL_BADGE_TIER_ICON_COLOR_HOVER, GL_BADGE_TIER_TEXT_COLOR_ACTIVE, GL_BADGE_TIER_TEXT_COLOR_DEFAULT, GL_BADGE_TIER_TEXT_COLOR_FOCUS, GL_BADGE_TIER_TEXT_COLOR_HOVER, GL_BADGE_WARNING_BACKGROUND_COLOR_ACTIVE, GL_BADGE_WARNING_BACKGROUND_COLOR_DEFAULT, GL_BADGE_WARNING_BACKGROUND_COLOR_FOCUS, GL_BADGE_WARNING_BACKGROUND_COLOR_HOVER, GL_BADGE_WARNING_BORDER_COLOR_ACTIVE, GL_BADGE_WARNING_BORDER_COLOR_DEFAULT, GL_BADGE_WARNING_BORDER_COLOR_FOCUS, GL_BADGE_WARNING_BORDER_COLOR_HOVER, GL_BADGE_WARNING_ICON_COLOR_ACTIVE, GL_BADGE_WARNING_ICON_COLOR_DEFAULT, GL_BADGE_WARNING_ICON_COLOR_FOCUS, GL_BADGE_WARNING_ICON_COLOR_HOVER, GL_BADGE_WARNING_TEXT_COLOR_ACTIVE, GL_BADGE_WARNING_TEXT_COLOR_DEFAULT, GL_BADGE_WARNING_TEXT_COLOR_FOCUS, GL_BADGE_WARNING_TEXT_COLOR_HOVER, GL_BANNER_INTRO_BORDER_COLOR, GL_BANNER_PROMO_BACKGROUND_COLOR, GL_BANNER_PROMO_BORDER_COLOR, GL_BORDER_COLOR_DEFAULT, GL_BORDER_COLOR_SECTION, GL_BORDER_COLOR_STRONG, GL_BORDER_COLOR_SUBTLE, GL_BORDER_COLOR_TRANSPARENT, GL_BREADCRUMB_SEPARATOR_COLOR, GL_BROADCAST_BANNER_BACKGROUND_COLOR_BLUE, GL_BROADCAST_BANNER_BACKGROUND_COLOR_DARK, GL_BROADCAST_BANNER_BACKGROUND_COLOR_GREEN, GL_BROADCAST_BANNER_BACKGROUND_COLOR_INDIGO, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHT, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTRED, GL_BROADCAST_BANNER_BACKGROUND_COLOR_RED, GL_BROADCAST_BANNER_BORDER_COLOR_BLUE, GL_BROADCAST_BANNER_BORDER_COLOR_DARK, GL_BROADCAST_BANNER_BORDER_COLOR_GREEN, GL_BROADCAST_BANNER_BORDER_COLOR_INDIGO, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHT, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTRED, GL_BROADCAST_BANNER_BORDER_COLOR_RED, GL_BROADCAST_BANNER_ICON_COLOR_BLUE, GL_BROADCAST_BANNER_ICON_COLOR_DARK, GL_BROADCAST_BANNER_ICON_COLOR_GREEN, GL_BROADCAST_BANNER_ICON_COLOR_INDIGO, GL_BROADCAST_BANNER_ICON_COLOR_LIGHT, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTRED, GL_BROADCAST_BANNER_ICON_COLOR_RED, GL_BROADCAST_BANNER_TEXT_COLOR_BLUE, GL_BROADCAST_BANNER_TEXT_COLOR_DARK, GL_BROADCAST_BANNER_TEXT_COLOR_GREEN, GL_BROADCAST_BANNER_TEXT_COLOR_INDIGO, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHT, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTRED, GL_BROADCAST_BANNER_TEXT_COLOR_RED, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DASHED_BORDER_COLOR_ACTIVE, GL_BUTTON_DASHED_BORDER_COLOR_DEFAULT, GL_BUTTON_DASHED_BORDER_COLOR_FOCUS, GL_BUTTON_DASHED_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DISABLED_BACKGROUND_COLOR, GL_BUTTON_DISABLED_BORDER_COLOR, GL_BUTTON_DISABLED_FOREGROUND_COLOR, GL_BUTTON_LINK_TEXT_COLOR_ACTIVE, GL_BUTTON_LINK_TEXT_COLOR_DEFAULT, GL_BUTTON_LINK_TEXT_COLOR_FOCUS, GL_BUTTON_LINK_TEXT_COLOR_HOVER, GL_BUTTON_SELECTED_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_SELECTED_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_SELECTED_BACKGROUND_COLOR_FOCUS, GL_BUTTON_SELECTED_BACKGROUND_COLOR_HOVER, GL_BUTTON_SELECTED_BORDER_COLOR_ACTIVE, GL_BUTTON_SELECTED_BORDER_COLOR_DEFAULT, GL_BUTTON_SELECTED_BORDER_COLOR_FOCUS, GL_BUTTON_SELECTED_BORDER_COLOR_HOVER, GL_BUTTON_SELECTED_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_SELECTED_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_SELECTED_FOREGROUND_COLOR_FOCUS, GL_BUTTON_SELECTED_FOREGROUND_COLOR_HOVER, GL_CHART_AXIS_LINE_COLOR, GL_CHART_AXIS_POINTER_COLOR, GL_CHART_AXIS_TEXT_COLOR, GL_CHART_THRESHOLD_AREA_COLOR, GL_CHART_THRESHOLD_LINE_COLOR, GL_CHART_ZOOM_FILLER_COLOR, GL_CHART_ZOOM_HANDLE_COLOR, GL_COLOR_ALPHA_0, GL_COLOR_ALPHA_DARK_16, GL_COLOR_ALPHA_DARK_2, GL_COLOR_ALPHA_DARK_24, GL_COLOR_ALPHA_DARK_4, GL_COLOR_ALPHA_DARK_40, GL_COLOR_ALPHA_DARK_6, GL_COLOR_ALPHA_DARK_8, GL_COLOR_ALPHA_LIGHT_16, GL_COLOR_ALPHA_LIGHT_2, GL_COLOR_ALPHA_LIGHT_24, GL_COLOR_ALPHA_LIGHT_36, GL_COLOR_ALPHA_LIGHT_4, GL_COLOR_ALPHA_LIGHT_6, GL_COLOR_ALPHA_LIGHT_8, GL_COLOR_BLUE_100, GL_COLOR_BLUE_200, GL_COLOR_BLUE_300, GL_COLOR_BLUE_400, GL_COLOR_BLUE_50, GL_COLOR_BLUE_500, GL_COLOR_BLUE_600, GL_COLOR_BLUE_700, GL_COLOR_BLUE_800, GL_COLOR_BLUE_900, GL_COLOR_BLUE_950, GL_COLOR_BRAND_CHARCOAL, GL_COLOR_BRAND_GRAY_01, GL_COLOR_BRAND_GRAY_02, GL_COLOR_BRAND_GRAY_03, GL_COLOR_BRAND_GRAY_04, GL_COLOR_BRAND_GRAY_05, GL_COLOR_BRAND_ORANGE_01G, GL_COLOR_BRAND_ORANGE_01P, GL_COLOR_BRAND_ORANGE_02P, GL_COLOR_BRAND_ORANGE_03P, GL_COLOR_BRAND_PINK_01G, GL_COLOR_BRAND_PURPLE_01G, GL_COLOR_BRAND_PURPLE_01P, GL_COLOR_BRAND_PURPLE_02P, GL_COLOR_BRAND_WHITE, GL_COLOR_DATA_AQUA_100, GL_COLOR_DATA_AQUA_200, GL_COLOR_DATA_AQUA_300, GL_COLOR_DATA_AQUA_400, GL_COLOR_DATA_AQUA_50, GL_COLOR_DATA_AQUA_500, GL_COLOR_DATA_AQUA_600, GL_COLOR_DATA_AQUA_700, GL_COLOR_DATA_AQUA_800, GL_COLOR_DATA_AQUA_900, GL_COLOR_DATA_AQUA_950, GL_COLOR_DATA_BLUE_100, GL_COLOR_DATA_BLUE_200, GL_COLOR_DATA_BLUE_300, GL_COLOR_DATA_BLUE_400, GL_COLOR_DATA_BLUE_50, GL_COLOR_DATA_BLUE_500, GL_COLOR_DATA_BLUE_600, GL_COLOR_DATA_BLUE_700, GL_COLOR_DATA_BLUE_800, GL_COLOR_DATA_BLUE_900, GL_COLOR_DATA_BLUE_950, GL_COLOR_DATA_GREEN_100, GL_COLOR_DATA_GREEN_200, GL_COLOR_DATA_GREEN_300, GL_COLOR_DATA_GREEN_400, GL_COLOR_DATA_GREEN_50, GL_COLOR_DATA_GREEN_500, GL_COLOR_DATA_GREEN_600, GL_COLOR_DATA_GREEN_700, GL_COLOR_DATA_GREEN_800, GL_COLOR_DATA_GREEN_900, GL_COLOR_DATA_GREEN_950, GL_COLOR_DATA_MAGENTA_100, GL_COLOR_DATA_MAGENTA_200, GL_COLOR_DATA_MAGENTA_300, GL_COLOR_DATA_MAGENTA_400, GL_COLOR_DATA_MAGENTA_50, GL_COLOR_DATA_MAGENTA_500, GL_COLOR_DATA_MAGENTA_600, GL_COLOR_DATA_MAGENTA_700, GL_COLOR_DATA_MAGENTA_800, GL_COLOR_DATA_MAGENTA_900, GL_COLOR_DATA_MAGENTA_950, GL_COLOR_DATA_ORANGE_100, GL_COLOR_DATA_ORANGE_200, GL_COLOR_DATA_ORANGE_300, GL_COLOR_DATA_ORANGE_400, GL_COLOR_DATA_ORANGE_50, GL_COLOR_DATA_ORANGE_500, GL_COLOR_DATA_ORANGE_600, GL_COLOR_DATA_ORANGE_700, GL_COLOR_DATA_ORANGE_800, GL_COLOR_DATA_ORANGE_900, GL_COLOR_DATA_ORANGE_950, GL_COLOR_GREEN_100, GL_COLOR_GREEN_200, GL_COLOR_GREEN_300, GL_COLOR_GREEN_400, GL_COLOR_GREEN_50, GL_COLOR_GREEN_500, GL_COLOR_GREEN_600, GL_COLOR_GREEN_700, GL_COLOR_GREEN_800, GL_COLOR_GREEN_900, GL_COLOR_GREEN_950, GL_COLOR_NEUTRAL_0, GL_COLOR_NEUTRAL_10, GL_COLOR_NEUTRAL_100, GL_COLOR_NEUTRAL_1000, GL_COLOR_NEUTRAL_200, GL_COLOR_NEUTRAL_300, GL_COLOR_NEUTRAL_400, GL_COLOR_NEUTRAL_50, GL_COLOR_NEUTRAL_500, GL_COLOR_NEUTRAL_600, GL_COLOR_NEUTRAL_700, GL_COLOR_NEUTRAL_800, GL_COLOR_NEUTRAL_900, GL_COLOR_NEUTRAL_950, GL_COLOR_ORANGE_100, GL_COLOR_ORANGE_200, GL_COLOR_ORANGE_300, GL_COLOR_ORANGE_400, GL_COLOR_ORANGE_50, GL_COLOR_ORANGE_500, GL_COLOR_ORANGE_600, GL_COLOR_ORANGE_700, GL_COLOR_ORANGE_800, GL_COLOR_ORANGE_900, GL_COLOR_ORANGE_950, GL_COLOR_PURPLE_100, GL_COLOR_PURPLE_200, GL_COLOR_PURPLE_300, GL_COLOR_PURPLE_400, GL_COLOR_PURPLE_50, GL_COLOR_PURPLE_500, GL_COLOR_PURPLE_600, GL_COLOR_PURPLE_700, GL_COLOR_PURPLE_800, GL_COLOR_PURPLE_900, GL_COLOR_PURPLE_950, GL_COLOR_RED_100, GL_COLOR_RED_200, GL_COLOR_RED_300, GL_COLOR_RED_400, GL_COLOR_RED_50, GL_COLOR_RED_500, GL_COLOR_RED_600, GL_COLOR_RED_700, GL_COLOR_RED_800, GL_COLOR_RED_900, GL_COLOR_RED_950, GL_COLOR_THEME_BLUE_10, GL_COLOR_THEME_BLUE_100, GL_COLOR_THEME_BLUE_200, GL_COLOR_THEME_BLUE_300, GL_COLOR_THEME_BLUE_400, GL_COLOR_THEME_BLUE_50, GL_COLOR_THEME_BLUE_500, GL_COLOR_THEME_BLUE_600, GL_COLOR_THEME_BLUE_700, GL_COLOR_THEME_BLUE_800, GL_COLOR_THEME_BLUE_900, GL_COLOR_THEME_BLUE_950, GL_COLOR_THEME_GREEN_10, GL_COLOR_THEME_GREEN_100, GL_COLOR_THEME_GREEN_200, GL_COLOR_THEME_GREEN_300, GL_COLOR_THEME_GREEN_400, GL_COLOR_THEME_GREEN_50, GL_COLOR_THEME_GREEN_500, GL_COLOR_THEME_GREEN_600, GL_COLOR_THEME_GREEN_700, GL_COLOR_THEME_GREEN_800, GL_COLOR_THEME_GREEN_900, GL_COLOR_THEME_GREEN_950, GL_COLOR_THEME_INDIGO_10, GL_COLOR_THEME_INDIGO_100, GL_COLOR_THEME_INDIGO_200, GL_COLOR_THEME_INDIGO_300, GL_COLOR_THEME_INDIGO_400, GL_COLOR_THEME_INDIGO_50, GL_COLOR_THEME_INDIGO_500, GL_COLOR_THEME_INDIGO_600, GL_COLOR_THEME_INDIGO_700, GL_COLOR_THEME_INDIGO_800, GL_COLOR_THEME_INDIGO_900, GL_COLOR_THEME_INDIGO_950, GL_COLOR_THEME_LIGHT_BLUE_10, GL_COLOR_THEME_LIGHT_BLUE_100, GL_COLOR_THEME_LIGHT_BLUE_200, GL_COLOR_THEME_LIGHT_BLUE_300, GL_COLOR_THEME_LIGHT_BLUE_400, GL_COLOR_THEME_LIGHT_BLUE_50, GL_COLOR_THEME_LIGHT_BLUE_500, GL_COLOR_THEME_LIGHT_BLUE_600, GL_COLOR_THEME_LIGHT_BLUE_700, GL_COLOR_THEME_LIGHT_BLUE_800, GL_COLOR_THEME_LIGHT_BLUE_900, GL_COLOR_THEME_LIGHT_BLUE_950, GL_COLOR_THEME_LIGHT_RED_10, GL_COLOR_THEME_LIGHT_RED_100, GL_COLOR_THEME_LIGHT_RED_200, GL_COLOR_THEME_LIGHT_RED_300, GL_COLOR_THEME_LIGHT_RED_400, GL_COLOR_THEME_LIGHT_RED_50, GL_COLOR_THEME_LIGHT_RED_500, GL_COLOR_THEME_LIGHT_RED_600, GL_COLOR_THEME_LIGHT_RED_700, GL_COLOR_THEME_LIGHT_RED_800, GL_COLOR_THEME_LIGHT_RED_900, GL_COLOR_THEME_LIGHT_RED_950, GL_COLOR_THEME_RED_10, GL_COLOR_THEME_RED_100, GL_COLOR_THEME_RED_200, GL_COLOR_THEME_RED_300, GL_COLOR_THEME_RED_400, GL_COLOR_THEME_RED_50, GL_COLOR_THEME_RED_500, GL_COLOR_THEME_RED_600, GL_COLOR_THEME_RED_700, GL_COLOR_THEME_RED_800, GL_COLOR_THEME_RED_900, GL_COLOR_THEME_RED_950, GL_CONTROL_BACKGROUND_COLOR_CONCATENATION, GL_CONTROL_BACKGROUND_COLOR_DEFAULT, GL_CONTROL_BACKGROUND_COLOR_DISABLED, GL_CONTROL_BACKGROUND_COLOR_READONLY, GL_CONTROL_BACKGROUND_COLOR_SELECTED_DEFAULT, GL_CONTROL_BACKGROUND_COLOR_SELECTED_FOCUS, GL_CONTROL_BACKGROUND_COLOR_SELECTED_HOVER, GL_CONTROL_BORDER_COLOR_DEFAULT, GL_CONTROL_BORDER_COLOR_DISABLED, GL_CONTROL_BORDER_COLOR_ERROR, GL_CONTROL_BORDER_COLOR_FOCUS, GL_CONTROL_BORDER_COLOR_HOVER, GL_CONTROL_BORDER_COLOR_SELECTED_DEFAULT, GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS, GL_CONTROL_BORDER_COLOR_SELECTED_HOVER, GL_CONTROL_INDICATOR_COLOR_DISABLED, GL_CONTROL_INDICATOR_COLOR_SELECTED, GL_CONTROL_PLACEHOLDER_COLOR, GL_CONTROL_TEXT_COLOR_ERROR, GL_CONTROL_TEXT_COLOR_VALID, GL_DATEPICKER_BACKGROUND_COLOR, GL_DATEPICKER_DATE_TEXT_COLOR_SELECTED, GL_DROPDOWN_BACKGROUND_COLOR, GL_DROPDOWN_BORDER_COLOR, GL_DROPDOWN_DIVIDER_COLOR, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_ACTIVE, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_DEFAULT, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_FOCUS, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_HOVER, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_ACTIVE, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_DEFAULT, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_FOCUS, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_HOVER, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_ACTIVE, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_DEFAULT, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_FOCUS, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_HOVER, GL_DROPDOWN_OPTION_TEXT_COLOR_ACTIVE, GL_DROPDOWN_OPTION_TEXT_COLOR_DEFAULT, GL_DROPDOWN_OPTION_TEXT_COLOR_DISABLED, GL_DROPDOWN_OPTION_TEXT_COLOR_FOCUS, GL_DROPDOWN_OPTION_TEXT_COLOR_HOVER, GL_DROPDOWN_SEARCH_BACKGROUND_COLOR, GL_FEEDBACK_DANGER_BACKGROUND_COLOR, GL_FEEDBACK_DANGER_ICON_COLOR, GL_FEEDBACK_DANGER_TEXT_COLOR, GL_FEEDBACK_INFO_BACKGROUND_COLOR, GL_FEEDBACK_INFO_ICON_COLOR, GL_FEEDBACK_INFO_TEXT_COLOR, GL_FEEDBACK_NEUTRAL_BACKGROUND_COLOR, GL_FEEDBACK_NEUTRAL_ICON_COLOR, GL_FEEDBACK_NEUTRAL_TEXT_COLOR, GL_FEEDBACK_STRONG_BACKGROUND_COLOR, GL_FEEDBACK_STRONG_ICON_COLOR, GL_FEEDBACK_STRONG_LINK_COLOR, GL_FEEDBACK_STRONG_TEXT_COLOR, GL_FEEDBACK_SUCCESS_BACKGROUND_COLOR, GL_FEEDBACK_SUCCESS_ICON_COLOR, GL_FEEDBACK_SUCCESS_TEXT_COLOR, GL_FEEDBACK_WARNING_BACKGROUND_COLOR, GL_FEEDBACK_WARNING_ICON_COLOR, GL_FEEDBACK_WARNING_TEXT_COLOR, GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_HOVER, GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_HOVER, GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_HOVER, GL_FOCUS_RING_INNER_COLOR, GL_FOCUS_RING_OUTER_COLOR, GL_ICON_COLOR_DANGER, GL_ICON_COLOR_DEFAULT, GL_ICON_COLOR_DISABLED, GL_ICON_COLOR_INFO, GL_ICON_COLOR_LINK, GL_ICON_COLOR_STRONG, GL_ICON_COLOR_SUBTLE, GL_ICON_COLOR_SUCCESS, GL_ICON_COLOR_WARNING, GL_ILLUSTRATION_ACCENT_FILL_COLOR_ORANGE, GL_ILLUSTRATION_ACCENT_FILL_COLOR_STRONG, GL_ILLUSTRATION_ACCENT_FILL_COLOR_SUBTLE, GL_ILLUSTRATION_ACCENT_FILL_COLOR_TEAL, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_ORANGE, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_STRONG, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_TEAL, GL_ILLUSTRATION_BASE_FILL_COLOR, GL_ILLUSTRATION_FILL_COLOR_DEFAULT, GL_ILLUSTRATION_ISOMETRIC_ACCENT_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_ACCENT_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_ACCENT_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_SHADOW_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_HIGHLIGHT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_SHADOW_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_STROKE_COLOR_DEFAULT, GL_ILLUSTRATION_ISOMETRIC_STROKE_WIDTH_DEFAULT, GL_ILLUSTRATION_STATUS_FILL_COLOR_DANGER, GL_ILLUSTRATION_STATUS_FILL_COLOR_NEUTRAL, GL_ILLUSTRATION_STATUS_FILL_COLOR_SUCCESS, GL_ILLUSTRATION_STATUS_FILL_COLOR_WARNING, GL_ILLUSTRATION_STROKE_COLOR_DEFAULT, GL_ILLUSTRATION_STROKE_WIDTH_DEFAULT, GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_DEFAULT, GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_DARK_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_DARK_TEXT_COLOR, GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_DEFAULT, GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_LIGHT_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_LIGHT_TEXT_COLOR, GL_LABEL_SCOPED_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_SCOPED_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_SCOPED_BUTTON_ICON_COLOR_HOVER, GL_LABEL_SCOPED_TEXT_COLOR, GL_LINE_HEIGHT_12, GL_LINE_HEIGHT_16, GL_LINE_HEIGHT_20, GL_LINE_HEIGHT_24, GL_LINE_HEIGHT_28, GL_LINE_HEIGHT_32, GL_LINE_HEIGHT_36, GL_LINE_HEIGHT_42, GL_LINE_HEIGHT_44, GL_LINE_HEIGHT_52, GL_LINK_MENTION_BACKGROUND_COLOR_CURRENT, GL_LINK_MENTION_BACKGROUND_COLOR_DEFAULT, GL_LINK_MENTION_TEXT_COLOR_CURRENT, GL_LINK_MENTION_TEXT_COLOR_DEFAULT, GL_PROGRESS_BAR_INDICATOR_COLOR_DANGER, GL_PROGRESS_BAR_INDICATOR_COLOR_DEFAULT, GL_PROGRESS_BAR_INDICATOR_COLOR_SUCCESS, GL_PROGRESS_BAR_INDICATOR_COLOR_WARNING, GL_PROGRESS_BAR_TRACK_COLOR, GL_SHADOW_COLOR_DEFAULT, GL_SKELETON_LOADER_BACKGROUND_COLOR, GL_SKELETON_LOADER_SHIMMER_COLOR, GL_SPINNER_SEGMENT_COLOR_DEFAULT, GL_SPINNER_SEGMENT_COLOR_LIGHT, GL_SPINNER_TRACK_COLOR_DEFAULT, GL_SPINNER_TRACK_COLOR_LIGHT, GL_STATUS_BRAND_BACKGROUND_COLOR, GL_STATUS_BRAND_ICON_COLOR, GL_STATUS_BRAND_TEXT_COLOR, GL_STATUS_DANGER_BACKGROUND_COLOR, GL_STATUS_DANGER_ICON_COLOR, GL_STATUS_DANGER_TEXT_COLOR, GL_STATUS_INFO_BACKGROUND_COLOR, GL_STATUS_INFO_ICON_COLOR, GL_STATUS_INFO_TEXT_COLOR, GL_STATUS_NEUTRAL_BACKGROUND_COLOR, GL_STATUS_NEUTRAL_ICON_COLOR, GL_STATUS_NEUTRAL_TEXT_COLOR, GL_STATUS_SUCCESS_BACKGROUND_COLOR, GL_STATUS_SUCCESS_ICON_COLOR, GL_STATUS_SUCCESS_TEXT_COLOR, GL_STATUS_WARNING_BACKGROUND_COLOR, GL_STATUS_WARNING_ICON_COLOR, GL_STATUS_WARNING_TEXT_COLOR, GL_TABLE_ROW_BACKGROUND_COLOR_HOVER, GL_TABLE_SORTING_ICON_COLOR, GL_TAB_SELECTED_INDICATOR_COLOR_DEFAULT, GL_TEXT_COLOR_DANGER, GL_TEXT_COLOR_DEFAULT, GL_TEXT_COLOR_DISABLED, GL_TEXT_COLOR_HEADING, GL_TEXT_COLOR_LINK, GL_TEXT_COLOR_STRONG, GL_TEXT_COLOR_SUBTLE, GL_TEXT_COLOR_SUCCESS, GL_TEXT_COLOR_WARNING, GL_TEXT_PRIMARY, GL_TEXT_SECONDARY, GL_TEXT_TERTIARY, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_ACTIVE, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_DEFAULT, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_FOCUS, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_HOVER, GL_TOGGLE_SWITCH_ICON_COLOR_DISABLED, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_ACTIVE, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_DEFAULT, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_FOCUS, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_HOVER, GL_TOKEN_BACKGROUND_COLOR, GL_TOKEN_FOREGROUND_COLOR, GL_TOKEN_SELECTOR_TOKEN_CONTAINER_TOKEN_BACKGROUND_COLOR_FOCUS, GRAY_10, GRAY_100, GRAY_200, GRAY_300, GRAY_400, GRAY_50, GRAY_500, GRAY_600, GRAY_700, GRAY_800, GRAY_900, GRAY_950, GREEN_100, GREEN_200, GREEN_300, GREEN_400, GREEN_50, GREEN_500, GREEN_600, GREEN_700, GREEN_800, GREEN_900, GREEN_950, ORANGE_100, ORANGE_200, ORANGE_300, ORANGE_400, ORANGE_50, ORANGE_500, ORANGE_600, ORANGE_700, ORANGE_800, ORANGE_900, ORANGE_950, PURPLE_100, PURPLE_200, PURPLE_300, PURPLE_400, PURPLE_50, PURPLE_500, PURPLE_600, PURPLE_700, PURPLE_800, PURPLE_900, PURPLE_950, RED_100, RED_200, RED_300, RED_400, RED_50, RED_500, RED_600, RED_700, RED_800, RED_900, RED_950, THEME_BLUE_10, THEME_BLUE_100, THEME_BLUE_200, THEME_BLUE_300, THEME_BLUE_400, THEME_BLUE_50, THEME_BLUE_500, THEME_BLUE_600, THEME_BLUE_700, THEME_BLUE_800, THEME_BLUE_900, THEME_BLUE_950, THEME_GREEN_10, THEME_GREEN_100, THEME_GREEN_200, THEME_GREEN_300, THEME_GREEN_400, THEME_GREEN_50, THEME_GREEN_500, THEME_GREEN_600, THEME_GREEN_700, THEME_GREEN_800, THEME_GREEN_900, THEME_GREEN_950, THEME_INDIGO_10, THEME_INDIGO_100, THEME_INDIGO_200, THEME_INDIGO_300, THEME_INDIGO_400, THEME_INDIGO_50, THEME_INDIGO_500, THEME_INDIGO_600, THEME_INDIGO_700, THEME_INDIGO_800, THEME_INDIGO_900, THEME_INDIGO_950, THEME_LIGHT_BLUE_10, THEME_LIGHT_BLUE_100, THEME_LIGHT_BLUE_200, THEME_LIGHT_BLUE_300, THEME_LIGHT_BLUE_400, THEME_LIGHT_BLUE_50, THEME_LIGHT_BLUE_500, THEME_LIGHT_BLUE_600, THEME_LIGHT_BLUE_700, THEME_LIGHT_BLUE_800, THEME_LIGHT_BLUE_900, THEME_LIGHT_BLUE_950, THEME_LIGHT_RED_10, THEME_LIGHT_RED_100, THEME_LIGHT_RED_200, THEME_LIGHT_RED_300, THEME_LIGHT_RED_400, THEME_LIGHT_RED_50, THEME_LIGHT_RED_500, THEME_LIGHT_RED_600, THEME_LIGHT_RED_700, THEME_LIGHT_RED_800, THEME_LIGHT_RED_900, THEME_LIGHT_RED_950, THEME_RED_10, THEME_RED_100, THEME_RED_200, THEME_RED_300, THEME_RED_400, THEME_RED_50, THEME_RED_500, THEME_RED_600, THEME_RED_700, THEME_RED_800, THEME_RED_900, THEME_RED_950, T_GRAY_A_02, T_GRAY_A_04, T_GRAY_A_06, T_GRAY_A_08, T_GRAY_A_16, T_GRAY_A_24, T_WHITE_A_02, T_WHITE_A_04, T_WHITE_A_06, T_WHITE_A_08, T_WHITE_A_16, T_WHITE_A_24, T_WHITE_A_36, WHITE };\n","import SeriesLabel from '../../../series_label/series_label';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'TooltipDefaultFormat',\n components: {\n SeriesLabel\n },\n props: {\n tooltipContent: {\n type: Object,\n required: true\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.tooltipContent),function(value,label){return _c('div',{key:(\"\" + label + (value.value)),staticClass:\"gl-charts-tooltip-default-format-series\"},[_c('series-label',{staticClass:\"gl-charts-tooltip-default-format-series-label\",attrs:{\"color\":value.color}},[_vm._v(\"\\n \"+_vm._s(label)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-charts-tooltip-default-format-series-value\"},[_vm._t(\"tooltip-value\",function(){return [_vm._v(_vm._s(value.value))]},{\"value\":value.value})],2)],1)}),0)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import * as echarts from 'echarts';\nimport { validRenderers, defaultWidth, defaultHeight, toolboxHeight } from '../../../utils/charts/config';\nimport { themeName, createTheme } from '../../../utils/charts/theme';\nimport { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';\nimport { debounceByAnimationFrame } from '../../../utils/utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\n\n/**\n * Allowed values by eCharts\n * https://echarts.apache.org/en/api.html#echartsInstance.resize\n */\nconst sizeValidator = size => Number.isFinite(size) || size === 'auto' || size == null;\nconst isChartWithToolbox = options => {\n var _options$toolbox;\n return Boolean(options === null || options === void 0 ? void 0 : (_options$toolbox = options.toolbox) === null || _options$toolbox === void 0 ? void 0 : _options$toolbox.show);\n};\nconst increaseChartGridTop = (options, increaseBy) => {\n var _options$grid;\n return {\n ...options,\n grid: {\n ...options.grid,\n top: ((options === null || options === void 0 ? void 0 : (_options$grid = options.grid) === null || _options$grid === void 0 ? void 0 : _options$grid.top) || 0) + increaseBy\n }\n };\n};\nvar script = {\n name: 'GlChart',\n directives: {\n resizeObserver: GlResizeObserverDirective\n },\n props: {\n /**\n * The ECharts configuration object.\n * https://echarts.apache.org/en/option.html#title\n */\n options: {\n type: Object,\n required: true\n },\n width: {\n type: [Number, String],\n required: false,\n default: null,\n validator: sizeValidator\n },\n /**\n * Sets the chart's height in pixels. Set to `\"auto\"` to use the height of the container.\n */\n height: {\n type: [Number, String],\n required: false,\n default: null,\n validator: sizeValidator\n },\n /**\n * An ECharts group id. Used to connect multiple charts.\n * https://echarts.apache.org/en/api.html#echarts.connect\n */\n groupId: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * How the chart should be rendered. Valid options are 'canvas' or 'svg'.\n * https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/\n */\n renderer: {\n type: String,\n required: false,\n default: 'svg',\n validator(renderer) {\n return validRenderers.includes(renderer);\n }\n },\n responsive: {\n type: Boolean,\n required: false,\n default: true\n }\n },\n data() {\n return {\n chart: null,\n debouncedHandleResize: debounceByAnimationFrame(this.handleResize)\n };\n },\n computed: {\n normalizedOptions() {\n return isChartWithToolbox(this.options) ? increaseChartGridTop(this.options, toolboxHeight) : this.options;\n }\n },\n watch: {\n options() {\n if (this.chart) {\n this.draw();\n }\n },\n width() {\n this.setChartSize();\n },\n height() {\n this.setChartSize();\n }\n },\n created() {\n echarts.registerTheme(themeName, createTheme(this.options));\n },\n async mounted() {\n await this.$nextTick();\n const chart = echarts.init(this.$refs.chart, themeName, {\n renderer: this.renderer,\n width: defaultWidth,\n height: defaultHeight\n });\n // FIXME: temporary workaround to ensure compatibility with @vue/compat\n // eslint-disable-next-line no-underscore-dangle\n chart.__v_skip = true;\n this.chart = chart;\n if (this.groupId.length) {\n this.chart.group = this.groupId;\n echarts.connect(this.groupId);\n }\n this.chart.on('click', this.handleClick);\n /**\n * Emitted after calling `echarts.init`\n */\n this.$emit('created', this.chart);\n this.draw();\n this.setChartSize();\n },\n beforeDestroy() {\n this.chart.off('click', this.handleClick);\n },\n methods: {\n draw() {\n this.chart.setOption({\n ...this.normalizedOptions,\n aria: {\n enabled: true\n }\n });\n /**\n * Emitted after calling `echarts.setOption`\n */\n this.$emit('updated', this.chart);\n },\n setChartSize() {\n this.chart.resize({\n width: this.width || 'auto',\n height: this.height || defaultHeight\n });\n },\n handleClick(params) {\n /**\n * Emitted when clicked on a data item in the chart (e.g., a bar/column).\n *\n * @property {object} chart The chart instance\n * @property {object} params A params object, see also https://echarts.apache.org/en/api.html#events.Mouse%20events\n */\n this.$emit('chartItemClicked', {\n chart: this.chart,\n params\n });\n },\n handleResize() {\n this.chart.resize();\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"resize-observer\",rawName:\"v-resize-observer:[responsive]\",value:(_vm.debouncedHandleResize),expression:\"debouncedHandleResize\",arg:_vm.responsive}],ref:\"chart\"})};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","// These utility methods come from the Gitlab repo; app/assets/javascripts/lib/utils/datetime_utility.js\n\n/**\n * This method allows you to create new Date instance from existing\n * date instance without keeping the reference.\n *\n * @param {Date} date\n */\nconst newDate = date => date instanceof Date ? new Date(date.getTime()) : new Date();\n\n/**\n * Computes the difference between 2 date objects.\n *\n * @param {Date} a the start date\n * @param {Date} b the end date\n * @example\n * // returns 5\n * getDayDifference(new Date('2020-08-10'), new Date('2020-08-15'));\n * @returns {Number} Number of days between the 2 dates\n */\nconst getDayDifference = (a, b) => {\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const date1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());\n const date2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());\n return Math.floor((date2 - date1) / millisecondsPerDay);\n};\n\n/**\n * Subtracts a given number of days from a given date and returns the new date.\n *\n * @param {Date} date the date that we will substract days from\n * @param {Number} daysInPast number of days that are subtracted from a given date\n * @example\n * // returns Mon Aug 10 2020 00:00:00\n * getDateInPast(new Date('2020-08-15'), 5);\n * @returns {Date} Date in past as Date object\n */\nconst getDateInPast = (date, daysInPast) => new Date(newDate(date).setDate(date.getDate() - daysInPast));\n\n/**\n * Adds a given number of days to a given date and returns the new date.\n *\n * @param {Date} date the date that we will add days to\n * @param {Number} daysInFuture number of days that are added to a given date\n * @example\n * // returns Mon Aug 15 2020 00:00:00\n * getDateInFuture(new Date('2020-08-10'), 5);\n * @returns {Date} Date in future as Date object\n */\nconst getDateInFuture = (date, daysInFuture) => new Date(newDate(date).setDate(date.getDate() + daysInFuture));\n\n/**\n * Are the given two dates equal\n *\n * @param {Date} date1\n * @param {Date} date2\n * @returns {Boolean}\n */\nconst areDatesEqual = (date1, date2) => Boolean(date1 && date2 && new Date(date1).getTime() === new Date(date2).getTime());\n\nexport { areDatesEqual, getDateInFuture, getDateInPast, getDayDifference, newDate };\n","import { ANNOTATIONS_SERIES_NAME, ANNOTATIONS_COMPONENT_TYPE } from './constants';\n\n/**\n * Check if passed series has annotations related data.\n *\n * This is currently used in time series charts (area & line).\n *\n * @param {Array} series Array of series\n * @returns {Boolean}\n */\nconst seriesHasAnnotations = function () {\n let series = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return (series || []).filter(seriesData => {\n var _seriesData$ANNOTATIO, _seriesData$ANNOTATIO2;\n return seriesData.name === ANNOTATIONS_SERIES_NAME && ((_seriesData$ANNOTATIO = seriesData[ANNOTATIONS_COMPONENT_TYPE]) === null || _seriesData$ANNOTATIO === void 0 ? void 0 : (_seriesData$ANNOTATIO2 = _seriesData$ANNOTATIO.data) === null || _seriesData$ANNOTATIO2 === void 0 ? void 0 : _seriesData$ANNOTATIO2.length);\n }).length !== 0;\n};\n\n/**\n * Check if a data point is from an annotation series.\n *\n * This is triggered when hovered over time series charts.\n *\n * This is currently used in\n * @param {Object} params data point object\n * @returns {boolean}\n */\nconst isDataPointAnnotation = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return params.name === ANNOTATIONS_SERIES_NAME && params.componentType === ANNOTATIONS_COMPONENT_TYPE;\n};\n\n/**\n * Date formatter to make date strings more\n * readable.\n *\n * This is currently used in area and line charts\n * stories.\n *\n * @param {String} d date string\n * @returns {String}\n */\nconst timeSeriesDateFormatter = function () {\n let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (!d) {\n return '';\n }\n const date = new Date(d);\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n return `${date.getFullYear()}-${month}-${day}`;\n};\n\nexport { isDataPointAnnotation, seriesHasAnnotations, timeSeriesDateFormatter };\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","import * as echarts from 'echarts';\nimport { uid, debounceByAnimationFrame } from '../../../../utils/utils';\nimport GlPopover from '../../../base/popover/popover';\nimport { popoverPlacements } from '../../../../utils/constants';\nimport { TOOLTIP_LEFT_OFFSET, TOOLTIP_TOP_OFFSET } from '../../../../utils/charts/constants';\nimport { getTooltipTitle, getTooltipContent } from '../../../../utils/charts/config';\nimport TooltipDefaultFormat from './tooltip_default_format/tooltip_default_format';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlChartTooltip',\n components: {\n GlPopover,\n TooltipDefaultFormat\n },\n inheritAttrs: false,\n props: {\n chart: {\n type: Object,\n required: true,\n validator(chart) {\n return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));\n }\n },\n id: {\n type: String,\n required: false,\n default: () => uid()\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `top` style property.\n */\n top: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `bottom` style property.\n */\n bottom: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `left` style property.\n */\n left: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `right` style property.\n */\n right: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Set to `true` to show, set to `false` to not show.\n * Set to `null` to show only when the mouse is in the chart.\n */\n show: {\n type: Boolean,\n required: false,\n default: null\n },\n /**\n * Popover placement\n */\n placement: {\n type: String,\n required: false,\n default: popoverPlacements.right\n },\n /**\n * Distance between the popover and the pointer when\n * no position is defined\n */\n xOffset: {\n type: Number,\n required: false,\n default: TOOLTIP_LEFT_OFFSET,\n validator(value) {\n // popover target must have a size of at least 1\n return value >= 1;\n }\n },\n /**\n * Distance between the popover and the pointer when\n * no position is defined\n */\n yOffset: {\n type: Number,\n required: false,\n default: TOOLTIP_TOP_OFFSET,\n validator(value) {\n // popover target must have a size of at least 1\n return value >= 1;\n }\n },\n /**\n * Set to true to use the default tooltip formatter.\n */\n useDefaultTooltipFormatter: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n pointerPosition: null,\n isPointerInChart: false,\n debouncedMouseHandler: debounceByAnimationFrame(this.mouseHandler),\n title: null,\n content: {},\n params: null\n };\n },\n computed: {\n targetId() {\n // if multiple tooltips are used in a chart component,\n // `this.id` can be used to uniquely identify them\n return `${this.chart.getDom().getAttribute('_echarts_instance_')}-tooltip-${this.id}`;\n },\n targetStyle() {\n // the target is a rectangular space between cursor and popover\n return {\n marginTop: `${-this.yOffset}px`,\n height: `${this.yOffset * 2}px`,\n marginLeft: `${-this.xOffset}px`,\n width: `${this.xOffset * 2}px`\n };\n },\n fixedPosition() {\n const {\n top,\n left,\n bottom,\n right\n } = this;\n if (top || left || bottom || right) {\n return {\n top,\n left,\n bottom,\n right\n };\n }\n return null;\n },\n shouldShowPopover() {\n if (this.show !== null) {\n return this.show;\n }\n return this.isPointerInChart;\n }\n },\n created() {\n this.chart.getZr().on('mousemove', this.debouncedMouseHandler);\n this.chart.getZr().on('mouseout', this.debouncedMouseHandler);\n if (this.useDefaultTooltipFormatter) {\n this.chart.setOption({\n xAxis: {\n axisPointer: {\n show: true,\n label: {\n formatter: params => {\n var _options$xAxis, _options$xAxis$, _options$yAxis, _options$yAxis$;\n const options = this.chart.getOption();\n const titleAxisName = (_options$xAxis = options.xAxis) === null || _options$xAxis === void 0 ? void 0 : (_options$xAxis$ = _options$xAxis[0]) === null || _options$xAxis$ === void 0 ? void 0 : _options$xAxis$.name;\n const valueAxisName = (_options$yAxis = options.yAxis) === null || _options$yAxis === void 0 ? void 0 : (_options$yAxis$ = _options$yAxis[0]) === null || _options$yAxis$ === void 0 ? void 0 : _options$yAxis$.name;\n this.title = getTooltipTitle(params, titleAxisName);\n this.content = getTooltipContent(params, valueAxisName);\n this.params = params;\n }\n }\n }\n }\n });\n }\n },\n beforeDestroy() {\n this.chart.getZr().off('mousemove', this.debouncedMouseHandler);\n this.chart.getZr().off('mouseout', this.debouncedMouseHandler);\n },\n methods: {\n mouseHandler(event) {\n let {\n zrX: x,\n zrY: y\n } = event.event;\n if (Number.isFinite(x) && Number.isFinite(y)) {\n x = Math.round(x);\n y = Math.round(y);\n this.pointerPosition = {\n left: `${x}px`,\n top: `${y}px`\n };\n this.isPointerInChart = this.chart.containPixel('grid', [x, y]);\n }\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.chart)?_c('div',{staticClass:\"gl-pointer-events-none\"},[_c('div',{staticClass:\"gl-chart-tooltip\",style:(Object.assign({}, (_vm.fixedPosition || _vm.pointerPosition), _vm.targetStyle)),attrs:{\"id\":_vm.targetId}}),_vm._v(\" \"),_c('gl-popover',_vm._b({attrs:{\"show\":_vm.shouldShowPopover,\"target\":_vm.targetId,\"container\":_vm.targetId,\"placement\":_vm.placement,\"triggers\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._t(\"title\",function(){return [_vm._v(_vm._s(_vm.title))]},null,{ title: _vm.title, params: _vm.params })]},proxy:true}],null,true)},'gl-popover',_vm.$attrs,false),[_vm._v(\" \"),_vm._t(\"default\",function(){return [_c('tooltip-default-format',{attrs:{\"tooltip-content\":_vm.content},scopedSlots:_vm._u([(_vm.$scopedSlots['tooltip-value'])?{key:\"tooltip-value\",fn:function(scope){return [_vm._t(\"tooltip-value\",null,null,scope)]}}:null],null,true)})]},null,{ content: _vm.content, params: _vm.params })],2)],1):_vm._e()};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","/**\n * As of %12.10 all annotations are added as a decorations\n * by piggybacking a scatter series. The series should\n * have 'annotations' as name for the annotation tooltips\n * to work.\n *\n * More info here https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28825\n *\n */\nconst ANNOTATIONS_SERIES_NAME = 'annotations';\n/**\n * Annotations have a line (markLine) and an arrow (markPoint).\n * When the markPoint is hovered, a tooltip is displayed to\n * show the annotation description.\n *\n * All markPoints have this component type\n */\nconst ANNOTATIONS_COMPONENT_TYPE = 'markPoint';\n\n/**\n * This is a slight offset that gets applied to the left\n * of the chart tooltips to ensure a correct position.\n */\nconst TOOLTIP_LEFT_OFFSET = 2;\n\n/**\n * This is a slight offset that gets applied to the left\n * of the chart tooltips to ensure a correct position.\n */\nconst TOOLTIP_TOP_OFFSET = 10;\n\n/**\n * These are the accepted values for the layout prop\n * of the chart legend component\n */\nconst LEGEND_LAYOUT_INLINE = 'inline';\nconst LEGEND_LAYOUT_TABLE = 'table';\n\n/**\n * Default values for the chart legend field labels\n */\nconst LEGEND_AVERAGE_TEXT = 'Avg';\nconst LEGEND_CURRENT_TEXT = 'Current';\nconst LEGEND_MIN_TEXT = 'Min';\nconst LEGEND_MAX_TEXT = 'Max';\n\n/**\n * These arrow symbols are used as markPoints under the annotations lines\n * within area and line charts. This icon doesn't exist in the svg\n * library yet. The below issue is to track the progress of the svg icon\n * https://gitlab.com/gitlab-org/gitlab-svgs/-/issues/118\n */\nconst arrowSymbol = 'path://m5 229 5 8h-10z';\n\n// Constants for the type property of charts\nconst CHART_TYPE_BAR = 'bar';\nconst CHART_TYPE_LINE = 'line';\n\n// Constants for height \"auto\"\nconst HEIGHT_AUTO_CLASSES = 'gl-chart-h-auto gl-flex gl-flex-col gl-h-full';\nconst HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES = 'gl-flex gl-h-full';\n\nexport { ANNOTATIONS_COMPONENT_TYPE, ANNOTATIONS_SERIES_NAME, CHART_TYPE_BAR, CHART_TYPE_LINE, HEIGHT_AUTO_CLASSES, HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES, LEGEND_AVERAGE_TEXT, LEGEND_CURRENT_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE, LEGEND_MAX_TEXT, LEGEND_MIN_TEXT, TOOLTIP_LEFT_OFFSET, TOOLTIP_TOP_OFFSET, arrowSymbol };\n","import * as echarts from 'echarts';\nimport { defaultFontSize } from '../../../utils/charts/config';\nimport { LEGEND_AVERAGE_TEXT, LEGEND_CURRENT_TEXT, LEGEND_MIN_TEXT, LEGEND_MAX_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE } from '../../../utils/charts/constants';\nimport { engineeringNotation, average } from '../../../utils/number_utils';\nimport GlTruncate from '../../utilities/truncate/truncate';\nimport GlChartSeriesLabel from '../series_label/series_label';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlChartLegend',\n components: {\n GlChartSeriesLabel,\n GlTruncate\n },\n props: {\n chart: {\n type: Object,\n required: true,\n validator(chart) {\n return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));\n }\n },\n seriesInfo: {\n type: Array,\n required: true,\n validator(seriesInfo) {\n return seriesInfo.every(series => series.type && series.name && series.color);\n }\n },\n textStyle: {\n type: Object,\n required: false,\n default: () => ({})\n },\n /**\n * Text for data average (overridden by prop if needed for internationalization)\n */\n averageText: {\n type: String,\n required: false,\n default: LEGEND_AVERAGE_TEXT\n },\n currentText: {\n type: String,\n required: false,\n default: LEGEND_CURRENT_TEXT\n },\n minText: {\n type: String,\n required: false,\n default: LEGEND_MIN_TEXT\n },\n /**\n * Text for max amount (overridden by prop if needed for internationalization)\n */\n maxText: {\n type: String,\n required: false,\n default: LEGEND_MAX_TEXT\n },\n /**\n * Sets the display layout\n */\n layout: {\n type: String,\n required: false,\n default: LEGEND_LAYOUT_INLINE,\n validator(layout) {\n return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;\n }\n }\n },\n data() {\n return {\n disabledSeries: {},\n lastActiveSeriesLabel: null,\n shouldApplyFadeClass: false\n };\n },\n computed: {\n fontStyle() {\n return {\n fontFamily: this.textStyle.fontFamily || 'sans-serif',\n fontSize: `${this.textStyle.fontSize || defaultFontSize}px`\n };\n },\n hasOneSeriesElement() {\n return this.seriesInfo.length === 1;\n }\n },\n created() {\n this.chart.on('legendselectchanged', this.suppressLastActiveSeriesLabelToggle);\n },\n mounted() {\n this.applyFadeClass();\n },\n async updated() {\n await this.$nextTick();\n this.applyFadeClass();\n },\n beforeDestroy() {\n this.chart.off('legendselectchanged', this.suppressLastActiveSeriesLabelToggle);\n },\n methods: {\n sanitizeSeriesData(seriesData) {\n var _seriesData$filter;\n return (_seriesData$filter = seriesData === null || seriesData === void 0 ? void 0 : seriesData.filter(d => !Number.isNaN(d))) !== null && _seriesData$filter !== void 0 ? _seriesData$filter : [];\n },\n seriesAverage(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(average(...sanitized));\n },\n seriesMax(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(Math.max(...sanitized));\n },\n seriesMin(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(Math.min(...sanitized));\n },\n seriesLast(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(sanitized[sanitized.length - 1]);\n },\n seriesNameIsLong(seriesName) {\n return seriesName.length > 120;\n },\n handleClick(_ref, key) {\n let {\n name,\n disabled\n } = _ref;\n if (this.hasOneSeriesElement || this.isToggleDisabled(name, disabled)) return;\n this.chart.dispatchAction({\n type: 'legendToggleSelect',\n name\n });\n this.disabledSeries = {\n ...this.disabledSeries,\n [key]: !this.disabledSeries[key]\n };\n },\n handleMouseEnter(name) {\n this.chart.dispatchAction({\n type: 'highlight',\n seriesName: name\n });\n },\n handleMouseLeave(name) {\n this.chart.dispatchAction({\n type: 'downplay',\n seriesName: name\n });\n },\n getColor(color, key) {\n return this.disabledSeries[key] ? 'var(--gl-chart-axis-line-color)' : color;\n },\n suppressLastActiveSeriesLabelToggle(_ref2) {\n let {\n selected\n } = _ref2;\n const selectedSeriesLabels = Object.entries(selected).filter(_ref3 => {\n let [, isSelected] = _ref3;\n return Boolean(isSelected);\n });\n this.lastActiveSeriesLabel = null;\n if (selectedSeriesLabels.length === 1) {\n const [lastActiveSeriesLabelName] = selectedSeriesLabels[0];\n this.lastActiveSeriesLabel = lastActiveSeriesLabelName;\n }\n },\n /**\n * Disables toggling legend if it is the last active one or if its data series\n * has a disabled property set to true\n * @param {String} name Series name\n * @param {Boolean} isDisabled Value of the series element's disabled property\n * @returns {boolean}\n */\n isToggleDisabled(name, isDisabled) {\n return name === this.lastActiveSeriesLabel || isDisabled;\n },\n applyFadeClass() {\n if (this.$refs.inlineLegendEl) {\n const {\n scrollHeight,\n clientHeight\n } = this.$refs.inlineLegendEl;\n this.shouldApplyFadeClass = scrollHeight > clientHeight;\n }\n }\n },\n legendLayoutTypes: {\n LEGEND_LAYOUT_INLINE,\n LEGEND_LAYOUT_TABLE\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-legend\",attrs:{\"data-testid\":\"gl-chart-legend\"}},[(_vm.layout === _vm.$options.legendLayoutTypes.LEGEND_LAYOUT_INLINE)?[_c('div',{ref:\"inlineLegendEl\",staticClass:\"gl-legend-inline\",class:{ 'gl-legend-b-fade': _vm.shouldApplyFadeClass }},_vm._l((_vm.seriesInfo),function(series,key){return _c('div',{key:key,staticClass:\"gl-legend-inline-series\",class:{\n 'gl-text-subtle': _vm.disabledSeries[key],\n 'gl-text-strong': !_vm.disabledSeries[key],\n 'gl-w-full': _vm.seriesNameIsLong(series.name),\n 'hover:!gl-cursor-not-allowed':\n _vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\n },style:(_vm.fontStyle),attrs:{\"aria-disabled\":_vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick(series, key)},\"mouseenter\":function($event){return _vm.handleMouseEnter(series.name)},\"mouseleave\":function($event){return _vm.handleMouseLeave(series.name)}}},[_c('gl-chart-series-label',{staticClass:\"gl-legend-inline-series-label\",class:{ 'gl-w-3/4': _vm.seriesNameIsLong(series.name) },attrs:{\"color\":_vm.getColor(series.color, key),\"type\":series.type}},[_c('gl-truncate',{staticClass:\"gl-font-bold\",attrs:{\"text\":series.name}})],1),_vm._v(\" \"),(series.data && series.data.length)?_c('span',{class:{ 'gl-whitespace-nowrap': _vm.seriesNameIsLong(series.name) }},[_vm._v(\"\\n \"+_vm._s(_vm.averageText)+\": \"+_vm._s(_vm.seriesAverage(series.data))+\" ยท \"+_vm._s(_vm.maxText)+\":\\n \"+_vm._s(_vm.seriesMax(series.data))+\"\\n \")]):_vm._e()],1)}),0)]:_vm._e(),_vm._v(\" \"),(_vm.layout === _vm.$options.legendLayoutTypes.LEGEND_LAYOUT_TABLE)?[_c('div',{staticClass:\"gl-legend-tabular gl-legend-b-fade\",style:(_vm.fontStyle)},[_c('header',{staticClass:\"gl-legend-tabular-header\"},[_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.minText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.maxText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.averageText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.currentText))])]),_vm._v(\" \"),_c('section',{staticClass:\"gl-legend-tabular-body\"},_vm._l((_vm.seriesInfo),function(series,key){return _c('div',{key:key,staticClass:\"gl-legend-tabular-row\",class:{\n 'gl-text-subtle': _vm.disabledSeries[key],\n 'gl-text-strong': !_vm.disabledSeries[key],\n 'hover:!gl-cursor-not-allowed':\n _vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\n },style:(_vm.fontStyle),attrs:{\"aria-disabled\":_vm.isToggleDisabled(series.name, series.disabled),\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick(series, key)},\"mouseenter\":function($event){return _vm.handleMouseEnter(series.name)},\"mouseleave\":function($event){return _vm.handleMouseLeave(series.name)}}},[_c('div',{staticClass:\"gl-legend-tabular-title-cell\"},[_c('gl-chart-series-label',{style:(_vm.fontStyle),attrs:{\"color\":_vm.getColor(series.color, key),\"type\":series.type}},[_c('gl-truncate',{staticClass:\"gl-font-bold\",attrs:{\"text\":series.name}})],1)],1),_vm._v(\" \"),(_vm.sanitizeSeriesData(series.data).length)?[_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesMin(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesMax(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesAverage(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesLast(series.data)))])]:[_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")])]],2)}),0)])]:_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","const scrollHandleSvgPath = 'path://M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zM6 4a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1zm4 0a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z';\nconst marqueeSelectionSvgPath = 'path://M-6.251 -7L-7 -7L-7 -4.753A0.749 0.749 0 0 0 -5.502 -4.753L-5.502 -5.502L-4.753 -5.502A0.749 0.749 0 0 0 -4.753 -7L-6.251 -7ZM-6.251 -2.0067A0.749 0.749 0 0 1 -5.502 -1.2577L-5.502 1.239A0.749 0.749 0 1 1 -7 1.239L-7 -1.2577A0.749 0.749 0 0 1 -6.251 -2.0067ZM0.8455 0.8455L2.3505 4.3578L4.3578 2.3505L0.8455 0.8455ZM0.2883 -1.023L5.6251 1.264A0.9987 0.9987 0 0 1 5.9387 2.8888L4.943 3.8835L6.7616 5.703A0.749 0.749 0 1 1 5.703 6.7616L3.8835 4.943L2.8888 5.9387A0.9987 0.9987 0 0 1 1.264 5.6251L-1.023 0.2883C-1.3785 -0.5406 -0.5406 -1.3785 0.2883 -1.023ZM-6.251 6.9813L-7 6.9813L-7 4.7343A0.749 0.749 0 1 1 -5.502 4.7343L-5.502 5.4833L-4.753 5.4833A0.749 0.749 0 1 1 -4.753 6.9813L-6.251 6.9813ZM-2.0067 -6.251A0.749 0.749 0 0 1 -1.2577 -7L1.239 -7A0.749 0.749 0 1 1 1.239 -5.502L-1.2577 -5.502A0.749 0.749 0 0 1 -2.0067 -6.251ZM6.2323 -7L6.9813 -7L6.9813 -4.753A0.749 0.749 0 1 1 5.4833 -4.753L5.4833 -5.502L4.7343 -5.502A0.749 0.749 0 1 1 4.7343 -7L6.2323 -7Z';\nconst redoSvgPath = 'path://M1.8332 -6.7552A7.0001 7.0001 0 0 0 -5.6875 -4.082L-5.6875 -5.4689A0.6563 0.6563 0 0 0 -7 -5.4689L-7 -1.7501L-3.2812 -1.7501A0.6563 0.6563 0 0 0 -3.2812 -3.0626L-4.7923 -3.0626A5.6876 5.6876 0 1 1 -5.2526 2.1822A0.6563 0.6563 0 0 0 -6.4645 2.6853A7.0001 7.0001 0 1 0 1.8332 -6.7561Z';\nconst clearAllSvgPath = 'path://M-1.8332 -6.7552A7.0001 7.0001 0 0 1 5.6875 -4.082L5.6875 -5.4689A0.6563 0.6563 0 1 1 7 -5.4689L7 -1.7501L3.2812 -1.7501A0.6563 0.6563 0 1 1 3.2812 -3.0626L4.7923 -3.0626A5.6876 5.6876 0 1 0 5.2526 2.1822A0.6563 0.6563 0 1 1 6.4645 2.6853A7.0001 7.0001 0 1 1 -1.8332 -6.7561Z';\nconst downloadSvgPath = 'path://M3.78 -0.841A0.75 0.75 0 0 0 2.72 -0.841L0.75 1.129L0.75 -6.25A0.75 0.75 0 0 0 -0.75 -6.25L-0.75 1.129L-2.72 -0.841A0.75 0.75 0 0 0 -3.78 0.219L-0.53 3.469L0 4L0.53 3.47L3.78 0.22A0.75 0.75 0 0 0 3.78 -0.841ZM-5.5 1.75A0.75 0.75 0 0 0 -7 1.75L-7 5A2 2 0 0 0 -5 7L5 7A2 2 0 0 0 7 5L7 1.75A0.75 0.75 0 0 0 5.5 1.75L5.5 5A0.5 0.5 0 0 1 5 5.5L-5 5.5A0.5 0.5 0 0 1 -5.5 5L-5.5 1.75Z';\n\nexport { clearAllSvgPath, downloadSvgPath, marqueeSelectionSvgPath, redoSvgPath, scrollHandleSvgPath };\n","import { GL_COLOR_NEUTRAL_100, GL_COLOR_DATA_BLUE_200, GL_COLOR_DATA_BLUE_400, GL_COLOR_DATA_BLUE_600, GL_COLOR_DATA_BLUE_800, GL_COLOR_NEUTRAL_900, GL_COLOR_NEUTRAL_500, GL_COLOR_DATA_BLUE_500, GL_COLOR_DATA_BLUE_900, GL_COLOR_DATA_ORANGE_500, GL_COLOR_DATA_ORANGE_600, GL_COLOR_DATA_AQUA_500, GL_COLOR_DATA_GREEN_600, GL_COLOR_DATA_MAGENTA_500, GL_COLOR_DATA_BLUE_700, GL_COLOR_DATA_ORANGE_800, GL_COLOR_DATA_AQUA_700, GL_COLOR_DATA_GREEN_800, GL_COLOR_DATA_MAGENTA_700, GL_COLOR_DATA_ORANGE_950, GL_COLOR_DATA_AQUA_900, GL_COLOR_DATA_GREEN_950, GL_COLOR_DATA_MAGENTA_900, GL_COLOR_DATA_ORANGE_700, GL_COLOR_DATA_AQUA_600, GL_COLOR_DATA_GREEN_700, GL_COLOR_DATA_MAGENTA_600, GL_COLOR_DATA_ORANGE_900, GL_COLOR_DATA_AQUA_800, GL_COLOR_DATA_GREEN_900, GL_COLOR_DATA_MAGENTA_800, GL_COLOR_DATA_BLUE_950, GL_COLOR_DATA_AQUA_950, GL_COLOR_DATA_GREEN_500, GL_COLOR_DATA_MAGENTA_950, GL_COLOR_DATA_ORANGE_400, GL_COLOR_DATA_GREEN_400, GL_COLOR_DATA_BLUE_300, GL_COLOR_DATA_ORANGE_200, GL_COLOR_DATA_AQUA_300, GL_COLOR_DATA_GREEN_200, GL_COLOR_DATA_MAGENTA_300, GL_COLOR_DATA_BLUE_100, GL_COLOR_DATA_ORANGE_50, GL_COLOR_DATA_AQUA_100, GL_COLOR_DATA_GREEN_50, GL_COLOR_DATA_MAGENTA_100, GL_COLOR_DATA_ORANGE_300, GL_COLOR_DATA_AQUA_400, GL_COLOR_DATA_GREEN_300, GL_COLOR_DATA_MAGENTA_400, GL_COLOR_DATA_ORANGE_100, GL_COLOR_DATA_AQUA_200, GL_COLOR_DATA_GREEN_100, GL_COLOR_DATA_MAGENTA_200, GL_COLOR_DATA_BLUE_50, GL_COLOR_DATA_AQUA_50, GL_COLOR_DATA_MAGENTA_50, GL_COLOR_NEUTRAL_50 } from '../../tokens/build/js/tokens';\nimport { scrollHandleSvgPath, marqueeSelectionSvgPath, redoSvgPath, clearAllSvgPath, downloadSvgPath } from '../svgs/svg_paths';\n\nconst GL_BORDER_RADIUS_BASE = '0.25rem';\nconst themeName = 'gitlab';\nconst heatmapHues = [GL_COLOR_NEUTRAL_100, GL_COLOR_DATA_BLUE_200, GL_COLOR_DATA_BLUE_400, GL_COLOR_DATA_BLUE_600, GL_COLOR_DATA_BLUE_800];\nconst gaugeNeutralHues = [GL_COLOR_NEUTRAL_900, GL_COLOR_NEUTRAL_500];\nconst gaugeSafeHues = [GL_COLOR_DATA_BLUE_500, GL_COLOR_DATA_BLUE_900];\nconst gaugeWarningHue = GL_COLOR_DATA_ORANGE_500;\n\n/**\n * The default palette is based on the Categorical data palette\n * Categorical data (also known as qualitative or thematic) uses hue to\n * differentiate qualitative data, and lightness to differentiate quantitive data.\n * More info: https://design.gitlab.com/data-visualization/color#categorical-data\n */\nconst colorPaletteDefault = [GL_COLOR_DATA_BLUE_500, GL_COLOR_DATA_ORANGE_600, GL_COLOR_DATA_AQUA_500, GL_COLOR_DATA_GREEN_600, GL_COLOR_DATA_MAGENTA_500, GL_COLOR_DATA_BLUE_700, GL_COLOR_DATA_ORANGE_800, GL_COLOR_DATA_AQUA_700, GL_COLOR_DATA_GREEN_800, GL_COLOR_DATA_MAGENTA_700, GL_COLOR_DATA_BLUE_900, GL_COLOR_DATA_ORANGE_950, GL_COLOR_DATA_AQUA_900, GL_COLOR_DATA_GREEN_950, GL_COLOR_DATA_MAGENTA_900, GL_COLOR_DATA_BLUE_600, GL_COLOR_DATA_ORANGE_700, GL_COLOR_DATA_AQUA_600, GL_COLOR_DATA_GREEN_700, GL_COLOR_DATA_MAGENTA_600, GL_COLOR_DATA_BLUE_800, GL_COLOR_DATA_ORANGE_900, GL_COLOR_DATA_AQUA_800, GL_COLOR_DATA_GREEN_900, GL_COLOR_DATA_MAGENTA_800, GL_COLOR_DATA_BLUE_950, GL_COLOR_DATA_ORANGE_500, GL_COLOR_DATA_AQUA_950, GL_COLOR_DATA_GREEN_500, GL_COLOR_DATA_MAGENTA_950];\nconst colorFromDefaultPalette = index => colorPaletteDefault[index % colorPaletteDefault.length];\nconst colorPaletteDark = [GL_COLOR_DATA_BLUE_500, GL_COLOR_DATA_ORANGE_400, GL_COLOR_DATA_AQUA_500, GL_COLOR_DATA_GREEN_400, GL_COLOR_DATA_MAGENTA_500, GL_COLOR_DATA_BLUE_300, GL_COLOR_DATA_ORANGE_200, GL_COLOR_DATA_AQUA_300, GL_COLOR_DATA_GREEN_200, GL_COLOR_DATA_MAGENTA_300, GL_COLOR_DATA_BLUE_100, GL_COLOR_DATA_ORANGE_50, GL_COLOR_DATA_AQUA_100, GL_COLOR_DATA_GREEN_50, GL_COLOR_DATA_MAGENTA_100, GL_COLOR_DATA_BLUE_400, GL_COLOR_DATA_ORANGE_300, GL_COLOR_DATA_AQUA_400, GL_COLOR_DATA_GREEN_300, GL_COLOR_DATA_MAGENTA_400, GL_COLOR_DATA_BLUE_200, GL_COLOR_DATA_ORANGE_100, GL_COLOR_DATA_AQUA_200, GL_COLOR_DATA_GREEN_100, GL_COLOR_DATA_MAGENTA_200, GL_COLOR_DATA_BLUE_50, GL_COLOR_DATA_ORANGE_500, GL_COLOR_DATA_AQUA_50, GL_COLOR_DATA_GREEN_500, GL_COLOR_DATA_MAGENTA_50];\nconst colorFromDarkPalette = index => colorPaletteDark[index % colorPaletteDark.length];\nconst axes = {\n axisLabel: {\n margin: 8,\n show: true,\n color: 'var(--gl-chart-axis-text-color)',\n hideOverlap: true\n },\n axisLine: {\n show: false\n },\n axisPointer: {\n lineStyle: {\n type: 'solid',\n color: 'var(--gl-chart-axis-pointer-color)'\n },\n label: {\n show: false\n }\n },\n axisTick: {\n show: true,\n alignWithLabel: true,\n lineStyle: {\n color: 'var(--gl-chart-axis-line-color)'\n }\n },\n nameGap: 30,\n nameTextStyle: {\n fontWeight: 'bold'\n },\n splitLine: {\n lineStyle: {\n color: ['var(--gl-chart-axis-line-color)']\n }\n },\n splitArea: {\n show: false\n }\n};\nconst isLineChartWithoutArea = options => Array.isArray(options === null || options === void 0 ? void 0 : options.series) && options.series.some(series => series.type === 'line' && !series.areaStyle);\nconst createTheme = function () {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n color: colorPaletteDefault,\n backgroundColor: 'transparent',\n textStyle: {\n color: 'var(--gl-text-color-default)'\n },\n markLine: {\n silent: true,\n symbol: 'none',\n label: {\n show: false\n },\n lineStyle: {\n color: 'var(--gl-chart-threshold-line-color)',\n width: 1,\n type: 'dashed'\n }\n },\n markArea: {\n silent: true,\n itemStyle: {\n color: 'var(--gl-chart-threshold-area-color)'\n }\n },\n dataZoom: {\n borderColor: 'transparent',\n filterMode: 'none',\n brushSelect: false,\n dataBackground: {\n lineStyle: {\n width: 2,\n color: 'var(--gl-chart-axis-line-color)',\n opacity: 1\n },\n // render unfilled zoom-graph if the series is a line chart without area styles\n // more details: https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2364#note_666637306\n areaStyle: isLineChartWithoutArea(options) ? {} // Use empty object instead of null, see https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2185#note_707711029 for more context\n : {\n color: 'var(--gl-background-color-strong)',\n opacity: 1\n }\n },\n fillerColor: 'var(--gl-chart-zoom-filler-color)',\n handleIcon: scrollHandleSvgPath,\n emphasis: {\n handleStyle: {\n color: 'var(--gl-chart-zoom-handle-color)'\n }\n },\n handleStyle: {\n borderColor: 'transparent',\n color: 'var(--gl-chart-zoom-handle-color)'\n },\n handleSize: '50%',\n labelFormatter: () => null,\n textStyle: {\n color: 'var(--gl-chart-axis-text-color)'\n }\n },\n toolbox: {\n top: '-5',\n left: 'center',\n itemSize: 14,\n emphasis: {\n iconStyle: {\n borderWidth: 0,\n color: 'var(--gl-icon-color-default)',\n textFill: 'var(--gl-feedback-strong-text-color)',\n textBackgroundColor: 'var(--gl-feedback-strong-background-color)',\n textBorderRadius: GL_BORDER_RADIUS_BASE,\n textPadding: [8, 12]\n }\n },\n iconStyle: {\n color: 'var(--gl-icon-color-default)',\n borderWidth: 0\n },\n itemGap: 8,\n feature: {\n dataZoom: {\n title: {\n zoom: 'Click to zoom in on a portion of the graph',\n back: 'Remove selection'\n },\n icon: {\n zoom: marqueeSelectionSvgPath,\n back: redoSvgPath\n }\n },\n restore: {\n title: 'Remove all selections and return chart to default state',\n icon: clearAllSvgPath\n },\n saveAsImage: {\n title: 'Save chart as an image',\n name: 'graph',\n icon: downloadSvgPath\n }\n }\n },\n markPoint: {\n label: {\n normal: {\n textStyle: {\n color: GL_COLOR_NEUTRAL_50\n }\n },\n emphasis: {\n textStyle: {\n color: GL_COLOR_NEUTRAL_50\n }\n }\n }\n },\n line: {\n itemStyle: {\n normal: {\n borderWidth: 1\n }\n },\n lineStyle: {\n normal: {\n width: 2\n }\n },\n symbolSize: '6',\n symbol: 'circle',\n showSymbol: false,\n smooth: false\n },\n categoryAxis: axes,\n valueAxis: axes,\n logAxis: axes,\n timeAxis: axes\n };\n};\n\nexport { colorFromDarkPalette, colorFromDefaultPalette, colorPaletteDark, colorPaletteDefault, createTheme, gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue, heatmapHues, themeName };\n","import castArray from 'lodash/castArray';\nimport merge from 'lodash/merge';\nimport { BLUE_500 } from '../../tokens/build/js/tokens';\nimport { GlBreakpointInstance } from '../breakpoints';\nimport { columnOptions } from '../constants';\nimport { areDatesEqual } from '../datetime_utility';\nimport { engineeringNotation } from '../number_utils';\nimport { hexToRgba } from '../utils';\nimport { arrowSymbol, ANNOTATIONS_SERIES_NAME, CHART_TYPE_BAR, CHART_TYPE_LINE } from './constants';\n\nconst defaultAreaOpacity = 0.2;\nconst defaultFontSize = 12;\nconst defaultHeight = 400;\nconst defaultWidth = 300;\nconst validRenderers = ['canvas', 'svg'];\nconst toolboxHeight = 14;\nconst axes = {\n name: 'Value',\n type: 'value',\n nameLocation: 'center'\n};\nconst xAxis = merge({}, axes, {\n boundaryGap: false,\n splitLine: {\n show: false\n }\n});\nconst yAxis = merge({}, axes, {\n nameGap: 50,\n axisLabel: {\n formatter: num => engineeringNotation(num, 2)\n }\n});\nconst grid = {\n top: 16,\n bottom: 44,\n left: 64,\n right: 32\n};\nconst defaultChartOptions = {\n grid,\n xAxis,\n yAxis,\n aria: {\n enabled: true\n }\n};\nconst gridWithSecondaryYAxis = {\n ...grid,\n right: 64\n};\nconst lineStyle = {\n symbol: 'circle',\n type: 'line',\n width: 2\n};\n\n/**\n * Annotations series consists of annotations lines\n * along with markers. Annotations co-exist with data\n * series but have their own virtual coords so that they stay put\n * irrespective of data series extents.\n */\nconst annotationsYAxisCoords = {\n min: 0,\n pos: 3,\n // 3% height of chart's grid\n max: 100,\n show: false\n};\nconst symbolSize = 6;\n\n/**\n * These comparison operators are currently in monitoring\n * charts that have alerting related data.\n *\n * {Array} Possible values for greater than\n */\nconst GREATER_THAN = ['>', '>'];\n\n/**\n * These comparison operators are currently in monitoring\n * charts that have alerting related data.\n *\n * {Array} Possible values for less than\n */\nconst LESS_THAN = ['<', '<'];\n\n/**\n * All default dataZoom configs will have slider & inside\n * (for reference, see https://gitlab.com/gitlab-org/gitlab-ui/issues/240)\n * Inside is disabled for larger viewports (lg and xl)\n * and is specifically to enable touch zoom for mobile devices\n * @param {Object} options\n */\nconst getDataZoomConfig = function () {\n let {\n filterMode = 'none'\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const disabledBreakpoints = ['lg', 'xl'];\n const disabled = disabledBreakpoints.includes(GlBreakpointInstance.getBreakpointSize());\n const minSpan = filterMode === 'none' ? 0.01 : null;\n return {\n grid: {\n bottom: 81\n },\n xAxis: {\n nameGap: 67\n },\n dataZoom: [{\n type: 'slider',\n bottom: 22,\n filterMode,\n minSpan\n }, {\n type: 'inside',\n filterMode,\n minSpan,\n disabled\n }]\n };\n};\n\n// All chart options can be merged but series\n// needs to be concatenated.\n// Series can be an object for single series or\n// an array of objects.\nconst mergeSeriesToOptions = function (options) {\n let series = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n const {\n series: optSeries = []\n } = options;\n return {\n ...options,\n series: [...castArray(series), ...castArray(optSeries)]\n };\n};\n\n/**\n * If an annotation series exists, the chart options should have an\n * array of yAxis settings so that the series can exist in its own\n * coordinate system without interfering with the data series\n *\n * @param {Object} options options to merge annotation series yAxis with\n * @param {Boolean} hasAnnotations if annotation series yAxis should be merged\n * @returns {Object} options\n */\nconst mergeAnnotationAxisToOptions = function (options) {\n let hasAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return {\n ...options,\n ...(hasAnnotations && {\n yAxis: [options.yAxis, annotationsYAxisCoords]\n })\n };\n};\nconst dataZoomAdjustments = dataZoom => {\n // handle cases where dataZoom is array and object.\n const useSlider = dataZoom && Array.isArray(dataZoom) ? dataZoom.length : Boolean(dataZoom);\n return useSlider ? getDataZoomConfig({\n filterMode: 'weakFilter'\n }) : [];\n};\n\n/**\n * Generate eCharts markArea arrays for thresholds and annotations.\n *\n * This method purposefully has no knowledge of comparison\n * operators used in thresholds as it is not necessary and instead\n * expects explict value bounds\n *\n * Examples:\n * { min: 7, max: 10 } => markArea from 7 to 10\n * { min: 1, max: 7 } => markArea from 1 to 7\n *\n * If min and max are equal it would be markLine and would be\n * generated by `generateMarkLines`\n *\n * @param {Object} threshold Threshold/Annotation object with min and max values\n * @param {String} axis markArea is generated against this axis\n * @returns {Array}\n */\nconst generateMarkArea = function (_ref) {\n let {\n min,\n max\n } = _ref;\n let axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yAxis';\n return [{\n [axis]: min\n }, {\n [axis]: max\n }];\n};\n\n/**\n * Generate eCharts markLine objects for thresholds and annotations.\n *\n * This method purposefully has no knowledge of comparison\n * operators used in thresholds as it is not necessary and instead\n * expects explict value bounds\n *\n * In order to continue supporting existing thresholds format, min\n * is passed as undefined so the correct markLine object is generated.\n *\n * For annotations, min and max will be the same value.\n *\n * Threshold Examples:\n * { max: 7 } => markLine at 7\n *\n * Annotation Examples:\n * { min: 7, max: 7 } => markLine at 7\n *\n * @param {Object} threshold Threshold/Annotation object with min and max values\n * @param {String} axis markLine is generated against this axis\n * @returns {Object}\n */\nconst generateMarkLines = function (_ref2) {\n let {\n min,\n max\n } = _ref2;\n let axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yAxis';\n if (min) {\n return {\n [axis]: min\n };\n }\n return {\n [axis]: max\n };\n};\n\n/**\n * Generates markPoints that are placed under the markLines.\n *\n * These are used only in annotation lines. For annotation lines,\n * both min and max are same values so only one is enough to generate\n * the markPoint.\n *\n * @param {Object} annotation object\n * @return {Object}\n */\nconst generateMarkPoints = _ref3 => {\n let {\n min,\n tooltipData\n } = _ref3;\n return {\n name: 'annotations',\n xAxis: min,\n yAxis: 0,\n tooltipData\n };\n};\n\n/**\n * Generate set of markAreas and markLines to draw on charts\n * as alert thresholds.\n *\n * Alert thresholds always have a markLine associated with a markArea\n *\n * @param {Array} thresholds Array of alert thresholds\n * @returns {Object} markAreas and markLines\n */\nfunction getThresholdConfig(thresholds) {\n if (!thresholds.length) {\n return {};\n }\n const data = thresholds.reduce((acc, alert) => {\n const {\n threshold,\n operator\n } = alert;\n if (GREATER_THAN.includes(operator)) {\n acc.areas.push(generateMarkArea({\n min: threshold,\n max: Infinity\n }));\n } else if (LESS_THAN.includes(operator)) {\n acc.areas.push(generateMarkArea({\n min: Number.NEGATIVE_INFINITY,\n max: threshold\n }));\n }\n acc.lines.push(generateMarkLines({\n max: threshold\n }));\n return acc;\n }, {\n lines: [],\n areas: []\n });\n return {\n markLine: {\n data: data.lines\n },\n markArea: {\n data: data.areas,\n zlevel: -1\n }\n };\n}\n\n/**\n * This method is only for testing both markLines and markAreas\n * that are used for annotations.\n *\n * `getAnnotationsConfig` as of %12.10 supports only markLines.\n * But this method can generate lines, points and areas.\n *\n * @param {Array} annotations Array of annotation objects\n * @returns {Object} { areas, lines, points }\n */\nconst parseAnnotations = annotations => annotations.reduce((acc, annotation) => {\n // because only markLines are supported all cases will\n // satisfy this condition. This is more of a sanity check\n // until markAreas are supported.\n // https://gitlab.com/gitlab-org/gitlab/-/issues/212910\n if (areDatesEqual(annotation.min, annotation.max)) {\n acc.lines.push(generateMarkLines(annotation, 'xAxis'));\n acc.points.push(generateMarkPoints(annotation));\n return acc;\n }\n acc.areas.push(generateMarkArea(annotation, 'xAxis'));\n return acc;\n}, {\n areas: [],\n lines: [],\n points: []\n});\n\n/**\n * Generate set of markAreas and markLines to draw on charts\n * as annotations.\n *\n * Annotations as of %12.10 will only be markLines.\n * markAreas are not supported yet. They are generated by\n * `parseAnnotations` but not rendered.\n *\n * @param {Array} annotations Array of annotations\n * @returns {Object} { markLines }\n */\nconst getAnnotationsConfig = annotations => {\n if (!annotations.length) {\n return {};\n }\n\n // annotations parsing is moved out so that it can be tested\n // for markLines and markAreas.\n const {\n lines,\n points\n } = parseAnnotations(annotations);\n return {\n markLine: {\n lineStyle: {\n color: BLUE_500\n },\n silent: true,\n data: lines\n },\n markPoint: {\n itemStyle: {\n color: BLUE_500\n },\n symbol: arrowSymbol,\n symbolSize: '8',\n symbolOffset: [0, ' 60%'],\n data: points\n }\n };\n};\n\n/**\n * Given thresholds and annotations options, this method generates\n * an annotation series that co-exists along with the data series.\n *\n * yAxis option is useful in cases where multiple yAxis settings\n * are used in a chart. Currently, all of our charts have single\n * yAxis settings.\n *\n * @param {Object} params Thresholds, annotations and yAxis options\n * @returns {Object} Annotation series\n */\nconst generateAnnotationSeries = function (annotations) {\n let yAxisIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n if (!annotations.length) {\n return null;\n }\n return merge({\n name: ANNOTATIONS_SERIES_NAME,\n yAxisIndex,\n type: 'scatter',\n data: []\n }, getAnnotationsConfig(annotations));\n};\n\n/**\n * This method generates the data series and relevant defaults for a bar chart\n *\n * @param {Object} options\n * @param {string} options.name - xAxis name for the chart\n * @param {string} options.color - color to render the data series\n * @param {Array} options.data - data set to be rendered\n * @param {string} [options.stack] - controls how the stacked charts should render either `stacked` or `tiled`\n * @param {number} [options.yAxisIndex] - specifies the yAxis to use (if there are multiple)\n * @returns {Object} Bar chart series\n */\nconst generateBarSeries = _ref4 => {\n let {\n name,\n color,\n data = [],\n stack = columnOptions.stacked,\n yAxisIndex = 0\n } = _ref4;\n return {\n type: CHART_TYPE_BAR,\n name,\n data,\n stack,\n barMaxWidth: '50%',\n yAxisIndex,\n itemStyle: {\n color: hexToRgba(color, 0.2),\n borderColor: color,\n borderWidth: 1\n },\n emphasis: {\n itemStyle: {\n color: hexToRgba(color, 0.4)\n }\n }\n };\n};\n\n/**\n * This method generates the data series and relevant defaults for a line chart\n *\n * @param {Object} options\n * @param {string} options.name - xAxis name for the chart\n * @param {string} options.color - color to render the data series\n * @param {Array} options.data - data set to be rendered\n * @param {number} [options.yAxisIndex] - specifies the yAxis to use (if there are multiple)\n * @returns {Object} Line chart series\n */\nconst generateLineSeries = _ref5 => {\n let {\n name,\n color,\n data = [],\n yAxisIndex = 0\n } = _ref5;\n return {\n name,\n data,\n type: CHART_TYPE_LINE,\n yAxisIndex,\n lineStyle: {\n color\n },\n itemStyle: {\n color\n }\n };\n};\nconst getTooltipTitle = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let titleAxisName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!params) return '';\n const title = params.seriesData.reduce((acc, _ref6) => {\n let {\n value\n } = _ref6;\n if (acc.includes(value[0])) {\n return acc;\n }\n return [...acc, value[0]];\n }, []).join(', ');\n return titleAxisName ? `${title} (${titleAxisName})` : title;\n};\nconst getTooltipContent = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let valueAxisName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!params) {\n return {};\n }\n const {\n seriesData\n } = params;\n if (seriesData.length === 1) {\n const {\n value: [, yValue],\n seriesName\n } = seriesData[0];\n return {\n [valueAxisName || seriesName]: {\n value: yValue,\n color: '' // ignore color when showing a single series\n }\n };\n }\n return seriesData.reduce((acc, _ref7) => {\n let {\n value,\n seriesName,\n color\n } = _ref7;\n const yValue = value[1];\n acc[seriesName] = {\n value: yValue,\n color\n };\n return acc;\n }, {});\n};\n\n/**\n * The method works well if tooltip content should be against y-axis values.\n * However, for bar charts, the tooltip should be against x-axis values.\n * This method should be updated to work with all types of visualizations.\n * https://gitlab.com/gitlab-org/gitlab-ui/-/issues/674\n *\n * @param {Object} params series data\n * @param {String} yAxisTitle y-axis title\n * @returns {Object} tooltip title and content\n * @deprecated Use getTooltipContent and getTooltipContent to obtain the tooltip\n */\nconst getDefaultTooltipContent = function (params) {\n let yAxisTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n const seriesDataLength = params.seriesData.length;\n const {\n xLabels,\n tooltipContent\n } = params.seriesData.reduce((acc, chartItem) => {\n const [title, value] = chartItem.value || [];\n // Let's use the y axis title as series name when only one series exists\n // This way, TooltipDefaultFormat will display the y axis title as label\n const seriesName = seriesDataLength === 1 && yAxisTitle ? yAxisTitle : chartItem.seriesName;\n const color = seriesDataLength === 1 ? '' : chartItem.color;\n acc.tooltipContent[seriesName] = {\n value,\n color\n };\n if (!acc.xLabels.includes(title)) {\n acc.xLabels.push(title);\n }\n return acc;\n }, {\n xLabels: [],\n tooltipContent: {}\n });\n return {\n xLabels,\n tooltipContent\n };\n};\n\nexport { annotationsYAxisCoords, axes, dataZoomAdjustments, defaultAreaOpacity, defaultChartOptions, defaultFontSize, defaultHeight, defaultWidth, generateAnnotationSeries, generateBarSeries, generateLineSeries, getAnnotationsConfig, getDataZoomConfig, getDefaultTooltipContent, getThresholdConfig, getTooltipContent, getTooltipTitle, grid, gridWithSecondaryYAxis, lineStyle, mergeAnnotationAxisToOptions, mergeSeriesToOptions, parseAnnotations, symbolSize, toolboxHeight, validRenderers, xAxis, yAxis };\n","import merge from 'lodash/merge';\nimport { defaultAreaOpacity, lineStyle, getThresholdConfig, generateAnnotationSeries, defaultChartOptions, dataZoomAdjustments, mergeSeriesToOptions, mergeAnnotationAxisToOptions, grid } from '../../../utils/charts/config';\nimport { LEGEND_AVERAGE_TEXT, LEGEND_MAX_TEXT, LEGEND_MIN_TEXT, LEGEND_CURRENT_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE, HEIGHT_AUTO_CLASSES } from '../../../utils/charts/constants';\nimport { colorFromDefaultPalette } from '../../../utils/charts/theme';\nimport { seriesHasAnnotations, isDataPointAnnotation } from '../../../utils/charts/utils';\nimport Chart from '../chart/chart';\nimport ChartLegend from '../legend/legend';\nimport ChartTooltip from '../shared/tooltip/tooltip';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlAreaChart',\n components: {\n Chart,\n ChartLegend,\n ChartTooltip\n },\n inheritAttrs: false,\n props: {\n data: {\n type: Array,\n required: true\n },\n option: {\n type: Object,\n required: false,\n default: () => ({})\n },\n thresholds: {\n type: Array,\n required: false,\n default: () => []\n },\n annotations: {\n type: Array,\n required: false,\n default: () => []\n },\n includeLegendAvgMax: {\n type: Boolean,\n required: false,\n default: true\n },\n formatAnnotationsTooltipText: {\n type: Function,\n required: false,\n default: null\n },\n /**\n * Callback called when showing or refreshing a tooltip.\n * **Deprecated:** Use slots `#tooltip-title`, `#tooltip-content` or `#tooltip-value`.\n *\n * @deprecated Use slots `#tooltip-title`, `#tooltip-content` or `#tooltip-value`.\n */\n formatTooltipText: {\n type: Function,\n required: false,\n default: null\n },\n legendAverageText: {\n type: String,\n required: false,\n default: LEGEND_AVERAGE_TEXT\n },\n legendMaxText: {\n type: String,\n required: false,\n default: LEGEND_MAX_TEXT\n },\n legendMinText: {\n type: String,\n required: false,\n default: LEGEND_MIN_TEXT\n },\n legendCurrentText: {\n type: String,\n required: false,\n default: LEGEND_CURRENT_TEXT\n },\n legendLayout: {\n type: String,\n required: false,\n default: LEGEND_LAYOUT_INLINE,\n validator(layout) {\n return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;\n }\n },\n /**\n * Sets the chart's height in pixels. Set to `\"auto\"` to use the height of the container.\n */\n height: {\n type: [Number, String],\n required: false,\n default: null\n },\n legendSeriesInfo: {\n type: Array,\n required: false,\n default: () => []\n }\n },\n data() {\n // Part of the tooltip related data can be\n // moved into the tooltip component.\n // Tracking that progress in\n // https://gitlab.com/gitlab-org/gitlab-ui/-/issues/618\n return {\n chart: null,\n showAnnotationsTooltip: false,\n annotationsTooltipTitle: '',\n annotationsTooltipContent: '',\n annotationsTooltipPosition: {\n left: '0',\n top: '0'\n }\n };\n },\n computed: {\n series() {\n const dataSeries = this.data.map((series, index) => {\n const defaultColor = colorFromDefaultPalette(index);\n const getColor = type => series[type] && series[type].color ? series[type].color : defaultColor;\n return merge({\n areaStyle: {\n opacity: defaultAreaOpacity,\n color: getColor('areaStyle')\n },\n showSymbol: false,\n lineStyle: {\n color: getColor('lineStyle')\n },\n itemStyle: {\n color: getColor('itemStyle')\n }\n }, lineStyle, series, getThresholdConfig(this.thresholds));\n });\n // if annotation series exists, append it\n // along with data series\n if (this.annotationSeries) {\n return [...dataSeries, this.annotationSeries];\n }\n return dataSeries;\n },\n annotationSeries() {\n return generateAnnotationSeries(this.annotations);\n },\n options() {\n const defaultAreaChartOptions = {\n xAxis: {\n axisPointer: {\n show: true,\n lineStyle: {\n type: 'solid'\n },\n label: {\n formatter: this.formatTooltipText\n }\n }\n },\n yAxis: {\n axisTick: {\n show: false\n }\n },\n legend: {\n show: false\n }\n };\n const mergedOptions = merge({}, defaultChartOptions, defaultAreaChartOptions, this.option, dataZoomAdjustments(this.option.dataZoom));\n // All chart options can be merged but series\n // needs to be handled specially.\n return mergeSeriesToOptions(mergeAnnotationAxisToOptions(mergedOptions, this.hasAnnotations), this.series);\n },\n /**\n * Annotations currently are passed as series options in monitoring dashboard.\n * Once https://gitlab.com/gitlab-org/gitlab/-/issues/213390 is closed,\n * annotations will be passed as props and not as series options.\n *\n * For backward compatibility, we're having to check for both.\n */\n hasAnnotations() {\n return this.annotations.length !== 0 || seriesHasAnnotations(this.option.series);\n },\n shouldShowAnnotationsTooltip() {\n return this.chart && this.hasAnnotations;\n },\n compiledOptions() {\n return this.chart ? this.chart.getOption() : null;\n },\n legendStyle() {\n return {\n paddingLeft: `${grid.left}px`\n };\n },\n seriesInfo() {\n if (this.legendSeriesInfo.length > 0) return this.legendSeriesInfo;\n return this.compiledOptions.series.reduce((acc, series, index) => {\n if (series.type === 'line') {\n acc.push({\n name: series.name,\n type: series.lineStyle.type,\n color: series.lineStyle.color || colorFromDefaultPalette(index),\n data: this.includeLegendAvgMax ? series.data.map(data => data[1]) : undefined\n });\n }\n return acc;\n }, []);\n },\n autoHeight() {\n return this.height === 'auto';\n }\n },\n beforeDestroy() {\n this.chart.off('mouseout', this.hideAnnotationsTooltip);\n this.chart.off('mouseover', this.onChartMouseOver);\n },\n methods: {\n defaultAnnotationTooltipText(params) {\n var _params$data$tooltipD;\n return {\n title: params.data.xAxis,\n content: (_params$data$tooltipD = params.data.tooltipData) === null || _params$data$tooltipD === void 0 ? void 0 : _params$data$tooltipD.content\n };\n },\n onCreated(chart) {\n // eCharts inbuild mouse events\n // https://echarts.apache.org/en/api.html#events.Mouse%20events\n // is used to attach listeners to markPoints. These listeners\n // are currently used for annotation arrows at the bottom of the chart.\n\n // Because data points and annotations arrows are in different\n // sections of the charts with their own mouseovers and mouseouts,\n // there shouldn't be an overlapping situation where both tooltips\n // are visible.\n if (this.hasAnnotations) {\n chart.on('mouseout', this.onChartDataPointMouseOut);\n chart.on('mouseover', this.onChartDataPointMouseOver);\n }\n this.chart = chart;\n this.$emit('created', chart);\n },\n onChartDataPointMouseOut() {\n this.showAnnotationsTooltip = false;\n },\n /**\n * Check if the hovered data point is an annotation\n * point to show the annotation tooltip.\n */\n onChartDataPointMouseOver(params) {\n if (isDataPointAnnotation(params)) {\n const {\n event\n } = params;\n const toolTipFormatter = this.formatAnnotationsTooltipText || this.defaultAnnotationTooltipText;\n const {\n title = '',\n content = ''\n } = toolTipFormatter(params);\n this.showAnnotationsTooltip = true;\n this.annotationsTooltipTitle = title;\n this.annotationsTooltipContent = content;\n this.annotationsTooltipPosition = {\n left: `${event.event.zrX}px`,\n top: `${event.event.zrY}px`\n };\n }\n }\n },\n HEIGHT_AUTO_CLASSES\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-relative\",class:( _obj = {}, _obj[_vm.$options.HEIGHT_AUTO_CLASSES] = _vm.autoHeight, _obj )},[_c('chart',_vm._g(_vm._b({class:{ 'gl-grow': _vm.autoHeight },attrs:{\"height\":_vm.height,\"options\":_vm.options},on:{\"created\":_vm.onCreated}},'chart',_vm.$attrs,false),_vm.$listeners)),_vm._v(\" \"),(_vm.shouldShowAnnotationsTooltip)?_c('chart-tooltip',{ref:\"annotationsTooltip\",attrs:{\"id\":\"annotationsTooltip\",\"show\":_vm.showAnnotationsTooltip,\"top\":_vm.annotationsTooltipPosition.top,\"left\":_vm.annotationsTooltipPosition.left,\"chart\":_vm.chart,\"placement\":\"bottom\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',[_vm._v(_vm._s(_vm.annotationsTooltipTitle))])]},proxy:true}],null,false,1889294429)},[_vm._v(\" \"),_c('div',[_vm._v(_vm._s(_vm.annotationsTooltipContent))])]):_vm._e(),_vm._v(\" \"),(_vm.chart)?_c('chart-tooltip',{ref:\"dataTooltip\",attrs:{\"chart\":_vm.chart,\"use-default-tooltip-formatter\":!_vm.formatTooltipText},scopedSlots:_vm._u([(_vm.$scopedSlots['tooltip-title'])?{key:\"title\",fn:function(scope){return [_vm._t(\"tooltip-title\",null,null,scope)]}}:null,(_vm.$scopedSlots['tooltip-content'])?{key:\"default\",fn:function(scope){return [_vm._t(\"tooltip-content\",null,null,scope)]}}:null,(_vm.$scopedSlots['tooltip-value'])?{key:\"tooltip-value\",fn:function(scope){return [_vm._t(\"tooltip-value\",null,null,scope)]}}:null],null,true)}):_vm._e(),_vm._v(\" \"),(_vm.compiledOptions)?_c('chart-legend',{style:(_vm.legendStyle),attrs:{\"chart\":_vm.chart,\"series-info\":_vm.seriesInfo,\"text-style\":_vm.compiledOptions.textStyle,\"min-text\":_vm.legendMinText,\"max-text\":_vm.legendMaxText,\"average-text\":_vm.legendAverageText,\"current-text\":_vm.legendCurrentText,\"layout\":_vm.legendLayout}}):_vm._e()],1)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var isArray = require('./isArray');\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n// eslint-disable-next-line max-params\nconst makePathRect = (startX, startY, width, height) => `M${startX},${startY}H${startX + width}V${startY + height}H${startX}Z`;\nvar script = {\n name: 'GlChartSeriesLabel',\n props: {\n color: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: false,\n default: 'solid'\n }\n },\n data() {\n return {\n labelLineHeight: 0\n };\n },\n computed: {\n pathContent() {\n const width = this.$options.svgWidth;\n const height = this.$options.svgHeight;\n if (this.type === 'dashed') {\n const dashWidth = Math.ceil(width / 3);\n const firstDash = makePathRect(0, 0, dashWidth, height);\n const secondDash = makePathRect(width - dashWidth, 0, dashWidth, height);\n return `${firstDash}${secondDash}`;\n }\n return makePathRect(0, 0, width, height);\n },\n svgStyles() {\n return {\n fill: this.color,\n transform: `translateY(${this.formatPixelDimension(this.svgYTranslationValue)})`,\n width: 'auto'\n };\n },\n svgYTranslationValue() {\n const value = this.labelLineHeight / 2 - this.$options.svgHeight / 2;\n return Math.round(value) || 0;\n }\n },\n mounted() {\n if (getComputedStyle && this.$refs.label) {\n const computedStyle = getComputedStyle(this.$refs.label);\n const lineHeight = computedStyle['line-height'].match(/(\\d+)px/);\n if (lineHeight !== null) {\n this.labelLineHeight = parseFloat(lineHeight[1]);\n }\n }\n },\n methods: {\n formatPixelDimension(dimension) {\n return `${dimension}px`;\n }\n },\n svgWidth: 16,\n svgHeight: 4\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-series-label-container\"},[(_vm.color.length)?_c('div',{staticClass:\"gl-series-label-color\"},[_c('svg',{style:(_vm.svgStyles),attrs:{\"width\":_vm.formatPixelDimension(_vm.$options.svgWidth),\"height\":_vm.formatPixelDimension(_vm.$options.svgHeight)}},[_c('path',{attrs:{\"d\":_vm.pathContent}})])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"label\",staticClass:\"gl-series-label-text\"},[_vm._t(\"default\")],2)])};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n"],"sourceRoot":""}