{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/ar-ps.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ku-kmr.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./src/assets/BackArrow.svg","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/se.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","global","factory","this","moment","uzLatn","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","ml","monthsParseExact","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","cv","output","affix","exec","dayOfMonthOrdinalParse","ordinal","plural","n","translate","number","withoutSuffix","key","isFuture","result","is","fo","ja","eras","since","offset","name","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","input","match","parseInt","l","ll","lll","llll","isPM","now","period","monthsShortDot","monthsParse","monthsRegex","esDo","format","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","hours","w","ww","arMa","processRelativeTime","gomLatn","standalone","isFormat","uncurryThis","toObject","floor","Math","charAt","replace","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","str","position","captures","namedCaptures","replacement","tailPos","length","symbols","undefined","ch","capture","f","frCh","enAu","b","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","tr","minutes","a","c","da","tlPh","eu","th","translator","words","correctGrammaticalCase","wordKey","word","srCyrl","day","lastWeekDays","ocLnc","mt","symbolMap","0","pluralForm","plurals","pluralize","u","string","arLy","preparse","postformat","num","forms","relativeTimeWithPlural","be","dataHandler","newData","oldData","chart","$data","_chart","newDatasetLabels","datasets","map","dataset","label","oldDatasetLabels","oldLabels","JSON","stringify","newLabels","forEach","i","oldDatasetKeys","Object","keys","newDatasetKeys","deletionKeys","filter","indexOf","attribute","deletionKey","data","hasOwnProperty","labels","$emit","xLabels","yLabels","update","destroy","renderChart","chartData","options","reactiveData","watch","reactiveProp","props","type","required","default","generateChart","chartId","chartType","render","createElement","style","styles","class","cssClasses","attrs","id","width","height","ref","Number","plugins","Array","_plugins","methods","addPlugin","plugin","push","generateLegend","$refs","canvas","Error","getContext","beforeDestroy","Bar","Line","ka","$0","$1","$2","ko","token","isUpper","numberMap","ku","bs","units","translateSeconds","translateSingular","special","lt","vi","me","af","uz","e","createCommonjsModule","fn","getCjsExportFromNamespace","colorName","conversions","reverseKeywords","convert","rgb","channels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","defineProperty","value","comparativeDistance","x","pow","r","g","min","max","delta","rdif","gdif","bdif","v","diff","diffc","k","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t1","t2","t3","val","sv","smin","lmin","hi","p","q","t","sl","vmin","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","arguments","round","ansi","color","mult","rem","integer","toString","toUpperCase","substring","colorString","char","join","grayscale","hue","chroma","pure","mg","buildGraph","graph","models","len","parent","deriveBFS","fromModel","queue","current","pop","adjacents","adjacent","node","unshift","link","from","to","wrapConversion","toModel","path","cur","conversion","route","wrapRaw","wrappedFn","prototype","call","wrapRounded","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","rgba","per","hexAlpha","parseFloat","scale","alpha","isNaN","hsla","vals","hexDouble","reverseNames","Color","obj","valid","values","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","concat","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","yiq","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","toJSON","clone","source","target","prop","console","error","spaces","maxes","getValues","space","capped","chans","sname","index","svalues","window","chartjsColor","isValidKey","helpers","noop","uid","isNullOrUndef","isArray","substr","isObject","isFinite","valueOrDefault","defaultValue","valueAtIndexOrDefault","callback","thisArg","apply","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","create","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","sources","merger","extend","assign","dst","src","inherits","extensions","ChartElement","constructor","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","array","item","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","ctx","clearRect","roundedRect","radius","left","top","right","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","size","cornerRadius","rad","save","drawImage","restore","beginPath","lineTo","SQRT1_2","fill","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","resolve","inputs","context","info","cacheable","exports$2","_factorize","sort","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","rtl","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","math","interpolate","start","view","ease","actual","origin","c0","c1","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","transition","tooltipPosition","hasValue","isNumber","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","Date","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","enumerable","method","base","res","object","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","scales","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","_data","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","prev","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","borderAlign","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","border","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","next","percent","end","mode","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","range","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","list","document","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","text","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","maxWidth","maxHeight","opts","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","handler","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","params","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","change","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","__proto__","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","event","throttled","ticking","createDiv","cls","el","className","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","scrollTop","onScroll","bind","watchForRender","expando","proxy","renderProxy","animationName","reflow","offsetParent","classList","add","unwatchForRender","remove","addResizeListener","container","maintainAspectRatio","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","rootNode","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","targetNode","host","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","core_plugins","_cacheId","register","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","reduce","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","active","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","events","onHover","animationDuration","responsive","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","types","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","sign","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","parse","startOf","endOf","_create","override","members","_date","core_adapters","core_ticks","formatters","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","sample","arr","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","valueAt","first","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","factor","evenMajorSpacing","spacing","getMajorIndices","skipMajors","tick","ceil","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","unit","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","quarter","year","UNITS","sorter","arrayUnique","hash","out","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","weekday","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","date","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","toLowerCase","enCa","enGb","relativeTimeMr","mr","ne","zhMo","hm","12","13","40","tg","cs","ta","kn","arKw","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","lastDigit","firstDigit","lb","classof","MATCH","it","isRegExp","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","az","zhHk","arPs","ga","days","ur","esUs","tet","$String","argument","TypeError","dv","tk","weekEndings","hu","$","requireObjectCoercible","isCallable","isNullOrUndefined","getMethod","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","$TypeError","proto","replaceAll","searchValue","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","O","endOfLastMatch","zhCn","te","ugCn","webpackPolyfill","deprecate","paths","children","msMy","eo","sd","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","weekdaysParse","mi","mk","last2Digits","nb","kk","arTn","itCh","enNz","monthsShortWithDots","monthsShortWithoutDots","fy","enIl","sw","ezafeNumSuffix","kuKmr","includes","sk","yo","numbersPast","numbersFuture","verbalNumber","fi","arSa","bg","my","gl","es","invalidDate","isFunction","Function","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsNominative","monthsSubjective","pl","ar","bn","hasOwn","isPrototypeOf","regExpFlags","RegExpPrototype","RegExp","R","zhTw","ru","mn","ky","bnBd","separator","ro","fr","arDz","bm","gomDeva","anObject","that","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","processHoursFunction","uk","deAt","de","tzmLatn","jv","esMx","enSg","nn","relativeTimeWithSingular","relativeSeconds","lv","deCh","tzm","hookCallback","some","hooks","setHookCallback","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isDate","arrLen","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","firstTime","deprecationHandler","arg","argLen","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","func","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","aliases","D","dates","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","ms","milliseconds","Q","quarters","seconds","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","W","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","daysInMonth","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","fwdlw","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","isLocaleNameSane","oldLocale","_abbr","require","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","temp","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","suffix","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","Symbol","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","monthsFromDays","monthsToDays","daysToMonths","as","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","he","sq","sr","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","bo","ptBr","fil","hyAm","ca","frCa","nlBe","gu","enIe","km","et","enIn","si","paIn","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tryGet","tag","callee","gd","nl","xPseudo","se"],"mappings":"kHACA,IAAIA,EAAkB,EAAQ,QAE1BC,EAAgBD,EAAgB,eAChCE,EAAO,GAEXA,EAAKD,GAAiB,IAEtBE,EAAOC,QAA2B,eAAjBC,OAAOH,I,wBCJtB,SAAUI,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIC,EAASD,EAAOE,aAAa,UAAW,CACxCC,OAAQ,6EAA6EC,MACjF,KAEJC,YAAa,oDAAoDD,MAAM,KACvEE,SACI,+DAA+DF,MAC3D,KAERG,cAAe,kCAAkCH,MAAM,KACvDI,YAAa,yBAAyBJ,MAAM,KAC5CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,uBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,uBACTC,SAAU,oCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,kBACRC,KAAM,qBACNC,EAAG,SACHC,GAAI,YACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOvC,M,wBC1DT,SAAUJ,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyC,EAAKzC,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YACI,yEAAyED,MACrE,KAERsC,kBAAkB,EAClBpC,SACI,wEAAwEF,MACpE,KAERG,cAAe,2CAA2CH,MAAM,KAChEI,YAAa,wBAAwBJ,MAAM,KAC3CK,eAAgB,CACZC,GAAI,aACJC,IAAK,gBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,aACRC,KAAM,WACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,eACHC,GAAI,cACJC,EAAG,eACHC,GAAI,cACJC,EAAG,YACHC,GAAI,WACJC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,WAERM,cAAe,gDACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAGO,WAAbC,GAAyBD,GAAQ,GACrB,iBAAbC,GACa,eAAbA,EAEOD,EAAO,GAEPA,GAGfC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,SACAA,EAAO,GACP,SACAA,EAAO,GACP,eACAA,EAAO,GACP,aAEA,YAKnB,OAAOJ,M,wBCtFT,SAAU5C,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIiD,EAAKjD,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,gEAAgEC,MACpE,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,oEAAoEF,MAChE,KAERG,cAAe,6BAA6BH,MAAM,KAClDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,sCACJC,IAAK,6CACLC,KAAM,oDAEVC,SAAU,CACNC,QAAS,sBACTC,QAAS,sBACTE,QAAS,sBACTD,SAAU,4BACVE,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SAAU0B,GACd,IAAIC,EAAQ,UAAUC,KAAKF,GACrB,MACA,QAAQE,KAAKF,GACX,MACA,MACR,OAAOA,EAASC,GAEpB1B,KAAM,YACNC,EAAG,iBACHC,GAAI,aACJC,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,SACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UAERgB,uBAAwB,cACxBC,QAAS,SACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOS,M,wBCnET,SAAUpD,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASuD,EAAOC,GACZ,OAAIA,EAAI,MAAQ,IAELA,EAAI,KAAO,EAK1B,SAASC,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIC,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,IACD,OAAOD,GAAiBE,EAClB,mBACA,mBACV,IAAK,KACD,OAAIN,EAAOG,GAEHI,GACCH,GAAiBE,EAAW,WAAa,YAG3CC,EAAS,UACpB,IAAK,IACD,OAAOH,EAAgB,SAAW,SACtC,IAAK,KACD,OAAIJ,EAAOG,GAEHI,GAAUH,GAAiBE,EAAW,UAAY,WAE/CF,EACAG,EAAS,SAEbA,EAAS,SACpB,IAAK,KACD,OAAIP,EAAOG,GAEHI,GACCH,GAAiBE,EACZ,gBACA,iBAGPC,EAAS,cACpB,IAAK,IACD,OAAIH,EACO,QAEJE,EAAW,MAAQ,OAC9B,IAAK,KACD,OAAIN,EAAOG,GACHC,EACOG,EAAS,QAEbA,GAAUD,EAAW,OAAS,SAC9BF,EACAG,EAAS,QAEbA,GAAUD,EAAW,MAAQ,QACxC,IAAK,IACD,OAAIF,EACO,UAEJE,EAAW,QAAU,SAChC,IAAK,KACD,OAAIN,EAAOG,GACHC,EACOG,EAAS,UAEbA,GAAUD,EAAW,SAAW,WAChCF,EACAG,EAAS,UAEbA,GAAUD,EAAW,QAAU,UAC1C,IAAK,IACD,OAAOF,GAAiBE,EAAW,KAAO,MAC9C,IAAK,KACD,OAAIN,EAAOG,GACAI,GAAUH,GAAiBE,EAAW,KAAO,QAEjDC,GAAUH,GAAiBE,EAAW,KAAO,QAIhE,IAAIE,EAAK/D,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,mFAAmFF,MAC/E,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,0BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,iBACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG,cACHC,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOuB,M,wBC/IT,SAAUlE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIgE,EAAKhE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,4EAA4EF,MACxE,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,kBACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,YACNC,EAAG,YACHC,GAAI,cACJC,EAAG,eACHC,GAAI,cACJC,EAAG,WACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,cACHC,GAAI,aACJC,EAAG,UACHC,GAAI,SAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwB,M,wBC7DT,SAAUnE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIiE,EAAKjE,EAAOE,aAAa,KAAM,CAC/BgE,KAAM,CACF,CACIC,MAAO,aACPC,OAAQ,EACRC,KAAM,KACNC,OAAQ,IACRC,KAAM,KAEV,CACIJ,MAAO,aACPK,MAAO,aACPJ,OAAQ,EACRC,KAAM,KACNC,OAAQ,IACRC,KAAM,KAEV,CACIJ,MAAO,aACPK,MAAO,aACPJ,OAAQ,EACRC,KAAM,KACNC,OAAQ,IACRC,KAAM,KAEV,CACIJ,MAAO,aACPK,MAAO,aACPJ,OAAQ,EACRC,KAAM,KACNC,OAAQ,IACRC,KAAM,KAEV,CACIJ,MAAO,aACPK,MAAO,aACPJ,OAAQ,EACRC,KAAM,KACNC,OAAQ,IACRC,KAAM,KAEV,CACIJ,MAAO,aACPK,MAAO,aACPJ,OAAQ,EACRC,KAAM,KACNC,OAAQ,KACRC,KAAM,MAEV,CACIJ,MAAO,aACPK,OAAQC,IACRL,OAAQ,EACRC,KAAM,MACNC,OAAQ,KACRC,KAAM,OAGdG,oBAAqB,WACrBC,oBAAqB,SAAUC,EAAOC,GAClC,MAAoB,MAAbA,EAAM,GAAa,EAAIC,SAASD,EAAM,IAAMD,EAAO,KAE9DzE,OAAQ,yCAAyCC,MAAM,KACvDC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,gBAAgBH,MAAM,KACrCI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBACNgE,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,wBAEVvC,cAAe,SACfwC,KAAM,SAAUP,GACZ,MAAiB,OAAVA,GAEX9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,KAEA,MAGf7B,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,SAAUiE,GAChB,OAAIA,EAAI9C,SAAWvC,KAAKuC,OACb,cAEA,WAGflB,QAAS,UACTC,SAAU,SAAU+D,GAChB,OAAIrF,KAAKuC,SAAW8C,EAAI9C,OACb,cAEA,WAGfhB,SAAU,KAEd+B,uBAAwB,WACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACD,OAAkB,IAAX3B,EAAe,KAAOA,EAAS,IAC1C,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBnC,aAAc,CACVC,OAAQ,MACRC,KAAM,MACNC,EAAG,KACHC,GAAI,MACJC,EAAG,KACHC,GAAI,MACJC,EAAG,MACHC,GAAI,OACJC,EAAG,KACHC,GAAI,MACJC,EAAG,MACHC,GAAI,OACJC,EAAG,KACHC,GAAI,SAIZ,OAAO4B,M,wBCzJT,SAAUpE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsF,EACI,8DAA8DlF,MAC1D,KAERC,EAAc,kDAAkDD,MAAM,KACtEmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJC,EACI,mLAEJC,EAAOzF,EAAOE,aAAa,QAAS,CACpCC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbrF,EAAYuB,EAAE+D,SAEdL,EAAe1D,EAAE+D,SAJjBL,GAOfE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,+FACJC,uBACI,0FACJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,+BACLC,KAAM,sCAEVC,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjBlB,KAAKmG,QAAgB,IAAM,IAAM,QAE3DhF,QAAS,WACL,MAAO,gBAAmC,IAAjBnB,KAAKmG,QAAgB,IAAM,IAAM,QAE9D/E,SAAU,WACN,MAAO,cAAiC,IAAjBpB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D9E,QAAS,WACL,MAAO,cAAiC,IAAjBrB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D7E,SAAU,WACN,MACI,0BACkB,IAAjBtB,KAAKmG,QAAgB,IAAM,IAC5B,QAGR5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJkE,EAAG,aACHC,GAAI,aACJlE,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOiD,M,wBC/GT,SAAU5F,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqG,EAAOrG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wEAAwEC,MAC5E,KAEJC,YACI,wEAAwED,MACpE,KAERE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,OACHC,GAAI,WACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO6D,M,wBC5DT,SAAUxG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACThE,EAAG,CAAC,qBAAsB,iBAC1BC,GAAI,CAAC+B,EAAS,cAAeA,EAAS,WACtC9B,EAAG,CAAC,aAAc,YAClBC,GAAI,CAAC6B,EAAS,YAAaA,EAAS,WACpC5B,EAAG,CAAC,YAAa,UACjBC,GAAI,CAAC2B,EAAS,WAAYA,EAAS,UACnC1B,EAAG,CAAC,YAAa,UACjBC,GAAI,CAACyB,EAAS,WAAYA,EAAS,QACnCxB,EAAG,CAAC,eAAgB,aACpBC,GAAI,CAACuB,EAAS,cAAeA,EAAS,WACtCtB,EAAG,CAAC,aAAc,YAClBC,GAAI,CAACqB,EAAS,YAAaA,EAAS,YAExC,OAAOG,EAAW6B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGnD,IAAI2C,EAAUvG,EAAOE,aAAa,WAAY,CAC1CC,OAAQ,CACJqG,WACI,4EAA4EpG,MACxE,KAERsF,OAAQ,wIAAwItF,MAC5I,KAEJqG,SAAU,mBAEdpG,YACI,4DAA4DD,MAAM,KACtEsC,kBAAkB,EAClBpC,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,iBACJC,IAAK,oBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,6BACLC,KAAM,sCACNmE,KAAM,mCAEVlE,SAAU,CACNC,QAAS,WACTC,QAAS,cACTC,SAAU,sBACVC,QAAS,WACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,KACRC,KAAM,UACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAIqE,EACJpE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,cACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GAEJ,IAAK,IACD,OAAO3B,EAAS,KACpB,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,GAETG,cAAe,+BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,aAAbC,EACAD,EACa,aAAbC,EACAD,EAAO,GAAKA,EAAOA,EAAO,GACb,UAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,QAEA,UAKnB,OAAO0D,M,oCCnIX,IAAIG,EAAc,EAAQ,QACtBC,EAAW,EAAQ,QAEnBC,EAAQC,KAAKD,MACbE,EAASJ,EAAY,GAAGI,QACxBC,EAAUL,EAAY,GAAGK,SACzBC,EAAcN,EAAY,GAAGO,OAE7BC,EAAuB,8BACvBC,EAAgC,sBAIpCzH,EAAOC,QAAU,SAAUyH,EAASC,EAAKC,EAAUC,EAAUC,EAAeC,GAC1E,IAAIC,EAAUJ,EAAWF,EAAQO,OAC7B/F,EAAI2F,EAASI,OACbC,EAAUT,EAKd,YAJsBU,IAAlBL,IACFA,EAAgBb,EAASa,GACzBI,EAAUV,GAELH,EAAQU,EAAaG,GAAS,SAAU/C,EAAOiD,GACpD,IAAIC,EACJ,OAAQjB,EAAOgB,EAAI,IACjB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOV,EACjB,IAAK,IAAK,OAAOJ,EAAYK,EAAK,EAAGC,GACrC,IAAK,IAAK,OAAON,EAAYK,EAAKK,GAClC,IAAK,IACHK,EAAUP,EAAcR,EAAYc,EAAI,GAAI,IAC5C,MACF,QACE,IAAItE,GAAKsE,EACT,GAAU,IAANtE,EAAS,OAAOqB,EACpB,GAAIrB,EAAI5B,EAAG,CACT,IAAIoG,EAAIpB,EAAMpD,EAAI,IAClB,OAAU,IAANwE,EAAgBnD,EAChBmD,GAAKpG,OAA8BiG,IAApBN,EAASS,EAAI,GAAmBlB,EAAOgB,EAAI,GAAKP,EAASS,EAAI,GAAKlB,EAAOgB,EAAI,GACzFjD,EAETkD,EAAUR,EAAS/D,EAAI,GAE3B,YAAmBqE,IAAZE,EAAwB,GAAKA,O,wBCvCtC,SAAUlI,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIiI,EAAOjI,EAAOE,aAAa,QAAS,CACpCC,OAAQ,uFAAuFC,MAC3F,KAEJC,YACI,iEAAiED,MAC7D,KAERsC,kBAAkB,EAClBpC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,YACNC,EAAG,oBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,YACHC,GAAI,YACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,QACHC,GAAI,UAERgB,uBAAwB,gBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GAEJ,QACA,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAO3B,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,OAGnDpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOyF,M,wBC9ET,SAAUpI,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIkI,EAAOlI,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0F,M,wBCvET,SAAUrI,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXC,EAAG,QACHC,EAAG,QACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,EAAG,OACHC,EAAG,OACHC,GAAI,OACJC,GAAI,OACJC,EAAG,QACHC,EAAG,QACHC,IAAK,QACLC,EAAG,OACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGJC,EAAKvJ,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6EAA6EC,MACjF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C0C,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCL,cAAe,cACfwC,KAAM,SAAUP,GACZ,MAAiB,OAAVA,GAA4B,OAAVA,GAE7BnE,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,2BACVC,QAAS,WACTC,SAAU,yBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,UACNC,EAAG,gBACHC,GAAI,YACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJkE,EAAG,YACHC,GAAI,WACJlE,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERiB,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACD,OAAO3B,EACX,QACI,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI+F,EAAI/F,EAAS,GACbyE,EAAKzE,EAAS,IAAO+F,EACrBC,EAAIhG,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAASqB,IAAMrB,EAASD,IAAMC,EAASsB,MAGpEpH,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO+G,M,wBC9GT,SAAU1J,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2J,EAAK3J,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,sFAAsFC,MAC1F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,qDAAqDF,MAAM,KACrEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,sCAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,mBACVC,QAAS,iBACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,cACHC,GAAI,cACJC,EAAG,WACHC,GAAI,cACJC,EAAG,UACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJC,EAAG,WACHC,GAAI,aACJC,EAAG,QACHC,GAAI,SAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmH,M,wBCzDT,SAAU9J,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4J,EAAO5J,EAAOE,aAAa,QAAS,CACpCC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,wBAAwBJ,MAAM,KAC3CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,YACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,oBACTC,QAAS,gBACTC,SAAU,0BACVC,QAAS,eACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,mBACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,eACHC,GAAI,YACJC,EAAG,aACHC,GAAI,UACJC,EAAG,aACHC,GAAI,UACJC,EAAG,cACHC,GAAI,WACJC,EAAG,aACHC,GAAI,WAERgB,uBAAwB,UACxBC,QAAS,SAAUI,GACf,OAAOA,GAEXpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOoH,M,wBC7DT,SAAU/J,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI6J,EAAK7J,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,+FAA+FC,MACnG,KAEJC,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SACI,sEAAsEF,MAClE,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,0BACJC,IAAK,gCACLC,KAAM,sCACNgE,EAAG,WACHC,GAAI,oBACJC,IAAK,0BACLC,KAAM,gCAEVlE,SAAU,CACNC,QAAS,kBACTC,QAAS,mBACTC,SAAU,gBACVC,QAAS,kBACTC,SAAU,0BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,WACNC,EAAG,iBACHC,GAAI,aACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,eACHC,GAAI,cACJC,EAAG,WACHC,GAAI,WAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqH,M,wBCrET,SAAUhK,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI8J,EAAK9J,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oGAAoGC,MACxG,KAEJC,YACI,iEAAiED,MAC7D,KAERsC,kBAAkB,EAClBpC,SAAU,iDAAiDF,MAAM,KACjEG,cAAe,8CAA8CH,MAAM,KACnEI,YAAa,yBAAyBJ,MAAM,KAC5C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,cACJC,IAAK,wBACLC,KAAM,oCAEV4B,cAAe,wBACfwC,KAAM,SAAUP,GACZ,MAAiB,eAAVA,GAEX9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,aAEA,cAGf7B,SAAU,CACNC,QAAS,mBACTC,QAAS,qBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,6BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,YACNC,EAAG,eACHC,GAAI,YACJC,EAAG,SACHC,GAAI,UACJC,EAAG,YACHC,GAAI,aACJC,EAAG,QACHC,GAAI,SACJkE,EAAG,YACHC,GAAI,aACJlE,EAAG,UACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WAIZ,OAAOyH,M,wBCpET,SAAUjK,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+J,EAAa,CACbC,MAAO,CAEHrI,GAAI,CAAC,UAAW,UAAW,WAC3BC,EAAG,CAAC,cAAe,iBACnBC,GAAI,CAAC,QAAS,SAAU,UACxBC,EAAG,CAAC,YAAa,eACjBC,GAAI,CAAC,MAAO,OAAQ,QACpBC,EAAG,CAAC,YAAa,eACjBC,GAAI,CAAC,MAAO,OAAQ,QACpBC,EAAG,CAAC,cAAe,iBACnBC,GAAI,CAAC,QAAS,SAAU,UACxBC,EAAG,CAAC,eAAgB,gBACpBC,GAAI,CAAC,SAAU,SAAU,WAE7B4H,uBAAwB,SAAUvG,EAAQwG,GACtC,OACIxG,EAAS,IAAM,GACfA,EAAS,IAAM,IACdA,EAAS,IAAM,IAAMA,EAAS,KAAO,IAE/BA,EAAS,KAAO,EAAIwG,EAAQ,GAAKA,EAAQ,GAE7CA,EAAQ,IAEnBzG,UAAW,SAAUC,EAAQC,EAAeC,EAAKC,GAC7C,IACIsG,EADAD,EAAUH,EAAWC,MAAMpG,GAG/B,OAAmB,IAAfA,EAAI+D,OAEQ,MAAR/D,GAAeD,EAAsB,eAClCE,GAAYF,EAAgBuG,EAAQ,GAAKA,EAAQ,IAG5DC,EAAOJ,EAAWE,uBAAuBvG,EAAQwG,GAErC,OAARtG,GAAgBD,GAA0B,WAATwG,EAC1BzG,EAAS,UAGbA,EAAS,IAAMyG,KAI1BC,EAASpK,EAAOE,aAAa,UAAW,CACxCC,OAAQ,mFAAmFC,MACvF,KAEJC,YACI,2DAA2DD,MAAM,KACrEsC,kBAAkB,EAClBpC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,sBACX,KAAK,EACD,MAAO,qBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,cACTC,SAAU,WACN,IAAIiJ,EAAe,CACf,2BACA,+BACA,4BACA,0BACA,8BACA,2BACA,4BAEJ,OAAOA,EAAavK,KAAKsK,QAE7B/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,mBACHC,GAAIoI,EAAWtG,UACf7B,EAAGmI,EAAWtG,UACd5B,GAAIkI,EAAWtG,UACf3B,EAAGiI,EAAWtG,UACd1B,GAAIgI,EAAWtG,UACfzB,EAAG+H,EAAWtG,UACdxB,GAAI8H,EAAWtG,UACfvB,EAAG6H,EAAWtG,UACdtB,GAAI4H,EAAWtG,UACfrB,EAAG2H,EAAWtG,UACdpB,GAAI0H,EAAWtG,WAEnBJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO4H,M,wBCnIT,SAAUvK,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIuK,EAAQvK,EAAOE,aAAa,SAAU,CACtCC,OAAQ,CACJqG,WACI,qFAAqFpG,MACjF,KAERsF,OAAQ,sHAAsHtF,MAC1H,KAEJqG,SAAU,mBAEdpG,YACI,+DAA+DD,MAC3D,KAERsC,kBAAkB,EAClBpC,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,mBACJmE,GAAI,aACJlE,IAAK,4BACLmE,IAAK,mBACLlE,KAAM,iCACNmE,KAAM,wBAEVlE,SAAU,CACNC,QAAS,aACTC,QAAS,eACTC,SAAU,cACVC,QAAS,aACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,QACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UAERgB,uBAAwB,qBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,IAAInC,EACW,IAAXQ,EACM,IACW,IAAXA,EACE,IACW,IAAXA,EACE,IACW,IAAXA,EACE,IACA,IAIhB,MAHe,MAAX2B,GAA6B,MAAXA,IAClBnC,EAAS,KAENQ,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO+H,M,wBCzFT,SAAU1K,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIwK,EAAKxK,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,iEAAiEF,MAC7D,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTC,SAAU,gBACVC,QAAS,qBACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,eACHC,GAAI,aACJC,EAAG,SACHC,GAAI,YACJC,EAAG,SACHC,GAAI,aACJC,EAAG,UACHC,GAAI,YACJC,EAAG,QACHC,GAAI,UACJC,EAAG,OACHC,GAAI,UAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOgI,M,wBC5DT,SAAU3K,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEPC,EAAa,SAAUnH,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACE,EACM,IAANA,EACE,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GACzB,EACAA,EAAI,KAAO,GACT,EACA,GAElBoH,EAAU,CACNlJ,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJE,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJE,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRyI,EAAY,SAAUC,GAClB,OAAO,SAAUpH,EAAQC,EAAeoH,EAAQlH,GAC5C,IAAImE,EAAI2C,EAAWjH,GACf2D,EAAMuD,EAAQE,GAAGH,EAAWjH,IAIhC,OAHU,IAANsE,IACAX,EAAMA,EAAI1D,EAAgB,EAAI,IAE3B0D,EAAIN,QAAQ,MAAOrD,KAGlCvD,EAAS,CACL,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,SACA,SACA,UAGJ6K,EAAOhL,EAAOE,aAAa,QAAS,CACpCC,OAAQA,EACRE,YAAaF,EACbG,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,MACfwC,KAAM,SAAUP,GACZ,MAAO,MAAQA,GAEnB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,IAEA,KAGf7B,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAGmJ,EAAU,KACblJ,GAAIkJ,EAAU,KACdjJ,EAAGiJ,EAAU,KACbhJ,GAAIgJ,EAAU,KACd/I,EAAG+I,EAAU,KACb9I,GAAI8I,EAAU,KACd7I,EAAG6I,EAAU,KACb5I,GAAI4I,EAAU,KACd3I,EAAG2I,EAAU,KACb1I,GAAI0I,EAAU,KACdzI,EAAGyI,EAAU,KACbxI,GAAIwI,EAAU,MAElBI,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvBzE,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOwI,M,wBC7KT,SAAUnL,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASuD,EAAO4G,EAAMgB,GAClB,IAAIC,EAAQjB,EAAK/J,MAAM,KACvB,OAAO+K,EAAM,KAAO,GAAKA,EAAM,MAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAChEC,EAAM,GACNA,EAAM,GAElB,SAASC,EAAuB3H,EAAQC,EAAeC,GACnD,IAAI8B,EAAS,CACT/D,GAAIgC,EAAgB,yBAA2B,yBAC/C9B,GAAI8B,EAAgB,yBAA2B,yBAC/C5B,GAAI4B,EAAgB,yBAA2B,yBAC/C1B,GAAI,iBACJE,GAAI,uBACJE,GAAI,kBAER,MAAY,MAARuB,EACOD,EAAgB,UAAY,UACpB,MAARC,EACAD,EAAgB,UAAY,UAE5BD,EAAS,IAAMH,EAAOmC,EAAO9B,IAAOF,GAInD,IAAI4H,EAAKtL,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,uGAAuGtF,MAC3G,KAEJoG,WACI,qGAAqGpG,MACjG,MAGZC,YACI,0DAA0DD,MAAM,KACpEE,SAAU,CACNoF,OAAQ,0DAA0DtF,MAC9D,KAEJoG,WACI,0DAA0DpG,MACtD,KAERqG,SAAU,+CAEdlG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,gBACTE,QAAS,eACTD,SAAU,WACN,MAAO,mBAEXE,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,0BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,2BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,UACNC,EAAG,kBACHE,EAAGyJ,EACHxJ,GAAIwJ,EACJvJ,EAAGuJ,EACHtJ,GAAIsJ,EACJrJ,EAAG,QACHC,GAAIoJ,EACJnJ,EAAG,QACHC,GAAIkJ,EACJjJ,EAAG,MACHC,GAAIgJ,GAER1I,cAAe,yBACfwC,KAAM,SAAUP,GACZ,MAAO,iBAAiBnF,KAAKmF,IAEjC9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,SACAA,EAAO,GACP,MAEA,UAGfQ,uBAAwB,mBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACD,OAAQ3B,EAAS,KAAO,GAAKA,EAAS,KAAO,GACzCA,EAAS,MAAQ,IACjBA,EAAS,MAAQ,GAEfA,EAAS,KADTA,EAAS,KAEnB,IAAK,IACD,OAAOA,EAAS,MACpB,QACI,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO8I,M,oCCtJX,SAASC,EAAYC,EAASC,GAC5B,GAAIA,EAAS,CACX,IAAIC,EAAQ3L,KAAK4L,MAAMC,OACnBC,EAAmBL,EAAQM,SAASC,KAAI,SAAUC,GACpD,OAAOA,EAAQC,SAEbC,EAAmBT,EAAQK,SAASC,KAAI,SAAUC,GACpD,OAAOA,EAAQC,SAEbE,EAAYC,KAAKC,UAAUH,GAC3BI,EAAYF,KAAKC,UAAUR,GAE3BS,IAAcH,GAAaV,EAAQK,SAASnE,SAAW6D,EAAQM,SAASnE,QAC1E6D,EAAQM,SAASS,SAAQ,SAAUP,EAASQ,GAC1C,IAAIC,EAAiBC,OAAOC,KAAKlB,EAAQK,SAASU,IAC9CI,EAAiBF,OAAOC,KAAKX,GAC7Ba,EAAeJ,EAAeK,QAAO,SAAUlJ,GACjD,MAAe,UAARA,IAAoD,IAAjCgJ,EAAeG,QAAQnJ,MAMnD,IAAK,IAAIoJ,KAJTH,EAAaN,SAAQ,SAAUU,UACtBvB,EAAMwB,KAAKpB,SAASU,GAAGS,MAGVjB,EAChBA,EAAQmB,eAAeH,KACzBtB,EAAMwB,KAAKpB,SAASU,GAAGQ,GAAahB,EAAQgB,OAK9CxB,EAAQ2B,eAAe,YACzBzB,EAAMwB,KAAKE,OAAS5B,EAAQ4B,OAC5BrN,KAAKsN,MAAM,kBAGT7B,EAAQ2B,eAAe,aACzBzB,EAAMwB,KAAKI,QAAU9B,EAAQ8B,QAC7BvN,KAAKsN,MAAM,mBAGT7B,EAAQ2B,eAAe,aACzBzB,EAAMwB,KAAKK,QAAU/B,EAAQ+B,QAC7BxN,KAAKsN,MAAM,mBAGb3B,EAAM8B,SACNzN,KAAKsN,MAAM,kBAEP3B,IACFA,EAAM+B,UACN1N,KAAKsN,MAAM,kBAGbtN,KAAK2N,YAAY3N,KAAK4N,UAAW5N,KAAK6N,SACtC7N,KAAKsN,MAAM,sBAGTtN,KAAK4L,MAAMC,SACb7L,KAAK4L,MAAMC,OAAO6B,UAElB1N,KAAKsN,MAAM,kBAGbtN,KAAK2N,YAAY3N,KAAK4N,UAAW5N,KAAK6N,SACtC7N,KAAKsN,MAAM,gB,sGAIR,IAAIQ,EAAe,CACxBX,KAAM,WACJ,MAAO,CACLS,UAAW,OAGfG,MAAO,CACL,UAAavC,IAGNwC,EAAe,CACxBC,MAAO,CACLL,UAAW,CACTM,KAAMvB,OACNwB,UAAU,EACVC,QAAS,eAGbL,MAAO,CACL,UAAavC,IAGF,GACbsC,aAAcA,EACdE,aAAcA,G,qBC3FT,SAASK,EAAcC,EAASC,GACrC,MAAO,CACLC,OAAQ,SAAgBC,GACtB,OAAOA,EAAc,MAAO,CAC1BC,MAAO1O,KAAK2O,OACZC,MAAO5O,KAAK6O,YACX,CAACJ,EAAc,SAAU,CAC1BK,MAAO,CACLC,GAAI/O,KAAKsO,QACTU,MAAOhP,KAAKgP,MACZC,OAAQjP,KAAKiP,QAEfC,IAAK,cAGTjB,MAAO,CACLK,QAAS,CACPF,QAASE,EACTJ,KAAMrO,QAERmP,MAAO,CACLZ,QAAS,IACTF,KAAMiB,QAERF,OAAQ,CACNb,QAAS,IACTF,KAAMiB,QAERN,WAAY,CACVX,KAAMrO,OACNuO,QAAS,IAEXO,OAAQ,CACNT,KAAMvB,QAERyC,QAAS,CACPlB,KAAMmB,MACNjB,QAAS,WACP,MAAO,MAIbjB,KAAM,WACJ,MAAO,CACLtB,OAAQ,KACRyD,SAAUtP,KAAKoP,UAGnBG,QAAS,CACPC,UAAW,SAAmBC,GAC5BzP,KAAK4L,MAAM0D,SAASI,KAAKD,IAE3BE,eAAgB,WACd,GAAI3P,KAAK4L,MAAMC,OACb,OAAO7L,KAAK4L,MAAMC,OAAO8D,kBAG7BhC,YAAa,SAAqBR,EAAMU,GAEtC,GADI7N,KAAK4L,MAAMC,QAAQ7L,KAAK4L,MAAMC,OAAO6B,WACpC1N,KAAK4P,MAAMC,OAAQ,MAAM,IAAIC,MAAM,yIACxC9P,KAAK4L,MAAMC,OAAS,IAAI,IAAM7L,KAAK4P,MAAMC,OAAOE,WAAW,MAAO,CAChE7B,KAAMK,EACNpB,KAAMA,EACNU,QAASA,EACTuB,QAASpP,KAAK4L,MAAM0D,aAI1BU,cAAe,WACThQ,KAAK4L,MAAMC,QACb7L,KAAK4L,MAAMC,OAAO6B,YAKnB,IAAIuC,EAAM5B,EAAc,YAAa,OAGjC6B,GAFgB7B,EAAc,sBAAuB,iBAC1CA,EAAc,iBAAkB,YACpCA,EAAc,aAAc,SAC7BA,EAAc,YAAa,OACrBA,EAAc,cAAe,aACjCA,EAAc,cAAe,SAC5BA,EAAc,eAAgB,UAC7BA,EAAc,gBAAiB,Y,wBChFlD,SAAUvO,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIkQ,EAAKlQ,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qGAAqGC,MACzG,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,CACNkG,WACI,gEAAgEpG,MAC5D,KAERsF,OAAQ,iEAAiEtF,MACrE,KAEJqG,SAAU,iBAEdlG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTE,QAAS,kBACTD,SAAU,wBACVE,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SAAUE,GACd,OAAOA,EAAEqF,QACL,iCACA,SAAUoJ,EAAIC,EAAIC,GACd,MAAc,MAAPA,EAAaD,EAAK,KAAOA,EAAKC,EAAK,SAItD5O,KAAM,SAAUC,GACZ,MAAI,4BAA4BjC,KAAKiC,GAC1BA,EAAEqF,QAAQ,SAAU,UAE3B,OAAOtH,KAAKiC,GACLA,EAAEqF,QAAQ,QAAS,YAEvBrF,GAEXA,EAAG,iBACHC,GAAI,UACJC,EAAG,OACHC,GAAI,UACJC,EAAG,QACHC,GAAI,WACJC,EAAG,MACHC,GAAI,SACJC,EAAG,MACHC,GAAI,SACJC,EAAG,OACHC,GAAI,WAERgB,uBAAwB,8BACxBC,QAAS,SAAUI,GACf,OAAe,IAAXA,EACOA,EAEI,IAAXA,EACOA,EAAS,MAGhBA,EAAS,IACRA,GAAU,KAAOA,EAAS,KAAO,GAClCA,EAAS,MAAQ,EAEV,MAAQA,EAEZA,EAAS,MAEpBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0N,M,wBC/FT,SAAUrQ,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsQ,EAAKtQ,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yCAAyCC,MAAM,KACvDC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,gBAAgBH,MAAM,KACrCI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,cACHC,GAAI,gBACJC,IAAK,uBACLC,KAAM,4BACNgE,EAAG,cACHC,GAAI,gBACJC,IAAK,uBACLC,KAAM,6BAEVlE,SAAU,CACNC,QAAS,QACTC,QAAS,QACTC,SAAU,UACVC,QAAS,QACTC,SAAU,cACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,OACRC,KAAM,OACNC,EAAG,MACHC,GAAI,MACJC,EAAG,KACHC,GAAI,MACJC,EAAG,OACHC,GAAI,OACJC,EAAG,KACHC,GAAI,MACJC,EAAG,MACHC,GAAI,MACJC,EAAG,MACHC,GAAI,OAERgB,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBf,cAAe,QACfwC,KAAM,SAAUoL,GACZ,MAAiB,OAAVA,GAEXzN,SAAU,SAAUD,EAAME,EAAQyN,GAC9B,OAAO3N,EAAO,GAAK,KAAO,QAIlC,OAAOyN,M,sBC/ET,SAAUzQ,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAETtQ,EAAS,CACL,eACA,QACA,QACA,QACA,QACA,WACA,SACA,MACA,UACA,eACA,eACA,gBAGJuQ,EAAK1Q,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaF,EACbG,SACI,0EAA0EF,MACtE,KAERG,cACI,2DAA2DH,MAAM,KACrEI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,kBACfwC,KAAM,SAAUP,GACZ,MAAO,UAAUnF,KAAKmF,IAE1B9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,UAEA,WAGf7B,SAAU,CACNC,QAAS,sBACTC,QAAS,uBACTC,SAAU,oBACVC,QAAS,qBACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,KACNC,EAAG,kBACHC,GAAI,WACJC,EAAG,cACHC,GAAI,YACJC,EAAG,eACHC,GAAI,aACJC,EAAG,WACHC,GAAI,SACJC,EAAG,YACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EACFhE,QAAQ,iBAAiB,SAAUlC,GAChC,OAAO4L,EAAU5L,MAEpBkC,QAAQ,KAAM,MAEvBmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvBzE,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOkO,M,sBCxHT,SAAU7Q,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,OAAQD,GACJ,IAAK,IACD,OAAOD,EACD,eACAE,EACE,eACA,gBAIpB,SAASJ,EAAUC,EAAQC,EAAeC,GACtC,IAAIE,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,KAQD,OANIE,GADW,IAAXJ,EACU,UACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAEPI,EACX,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAEPI,EACX,IAAK,IACD,MAAuB,YAC3B,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,MACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,OAEA,OAEPI,EACX,IAAK,KAMD,OAJIA,GADW,IAAXJ,EACU,MAEA,OAEPI,EACX,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAEPI,EACX,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAEPI,GAInB,IAAI6M,EAAK3Q,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,cACHC,GAAI8B,EACJ7B,EAAG0E,EACHzE,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAG,MACHC,GAAIwB,EACJvB,EAAG,SACHC,GAAIsB,EACJrB,EAAG,SACHC,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmO,M,wBCpKT,SAAU9Q,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4Q,EAAQ,CACRjP,GAAI,6BACJC,EAAG,wBACHC,GAAI,0BACJC,EAAG,2BACHC,GAAI,4BACJC,EAAG,qBACHC,GAAI,sBACJC,EAAG,uBACHC,GAAI,4BACJC,EAAG,mBACHC,GAAI,oBAER,SAASwO,EAAiBnN,EAAQC,EAAeC,EAAKC,GAClD,OAAIF,EACO,kBAEAE,EAAW,kBAAoB,kBAG9C,SAASiN,EAAkBpN,EAAQC,EAAeC,EAAKC,GACnD,OAAOF,EACDyH,EAAMxH,GAAK,GACXC,EACEuH,EAAMxH,GAAK,GACXwH,EAAMxH,GAAK,GAEvB,SAASmN,EAAQrN,GACb,OAAOA,EAAS,KAAO,GAAMA,EAAS,IAAMA,EAAS,GAEzD,SAAS0H,EAAMxH,GACX,OAAOgN,EAAMhN,GAAKxD,MAAM,KAE5B,SAASqD,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIC,EAASJ,EAAS,IACtB,OAAe,IAAXA,EAEII,EAASgN,EAAkBpN,EAAQC,EAAeC,EAAI,GAAIC,GAEvDF,EACAG,GAAUiN,EAAQrN,GAAU0H,EAAMxH,GAAK,GAAKwH,EAAMxH,GAAK,IAE1DC,EACOC,EAASsH,EAAMxH,GAAK,GAEpBE,GAAUiN,EAAQrN,GAAU0H,EAAMxH,GAAK,GAAKwH,EAAMxH,GAAK,IAI1E,IAAIoN,EAAKhR,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,oGAAoGtF,MACxG,KAEJoG,WACI,kGAAkGpG,MAC9F,KAERqG,SAAU,+DAEdpG,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,CACNoF,OAAQ,oFAAoFtF,MACxF,KAEJoG,WACI,2FAA2FpG,MACvF,KAERqG,SAAU,cAEdlG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,iBAAiBJ,MAAM,KACpC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,sCACLC,KAAM,4CACNgE,EAAG,aACHC,GAAI,wBACJC,IAAK,sCACLC,KAAM,4CAEVlE,SAAU,CACNC,QAAS,gBACTC,QAAS,aACTC,SAAU,UACVC,QAAS,aACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAGmP,EACHlP,GAAI8B,EACJ7B,EAAGkP,EACHjP,GAAI4B,EACJ3B,EAAGgP,EACH/O,GAAI0B,EACJzB,EAAG8O,EACH7O,GAAIwB,EACJvB,EAAG4O,EACH3O,GAAIsB,EACJrB,EAAG0O,EACHzO,GAAIoB,GAERJ,uBAAwB,cACxBC,QAAS,SAAUI,GACf,OAAOA,EAAS,QAEpBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwO,M,sBChIT,SAAUnR,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIiR,EAAKjR,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qGAAqGC,MACzG,KAEJC,YACI,sFAAsFD,MAClF,KAERsC,kBAAkB,EAClBpC,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBtD,cAAe,SACfwC,KAAM,SAAUP,GACZ,MAAO,QAAQnF,KAAKmF,IAExB9B,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCvC,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,oBACJC,IAAK,0BACLC,KAAM,gCACNgE,EAAG,YACHC,GAAI,aACJC,IAAK,mBACLC,KAAM,yBAEVlE,SAAU,CACNC,QAAS,mBACTC,QAAS,oBACTC,SAAU,yBACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,WACHC,GAAI,UACJkE,EAAG,WACHC,GAAI,UACJlE,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UAERgB,uBAAwB,UACxBC,QAAS,SAAUI,GACf,OAAOA,GAEXpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOyO,M,wBCpFT,SAAUpR,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+J,EAAa,CACbC,MAAO,CAEHrI,GAAI,CAAC,SAAU,UAAW,WAC1BC,EAAG,CAAC,cAAe,iBACnBC,GAAI,CAAC,QAAS,SAAU,UACxBC,EAAG,CAAC,YAAa,eACjBC,GAAI,CAAC,MAAO,OAAQ,QACpBE,GAAI,CAAC,MAAO,OAAQ,QACpBE,GAAI,CAAC,SAAU,UAAW,WAC1BE,GAAI,CAAC,SAAU,SAAU,WAE7B4H,uBAAwB,SAAUvG,EAAQwG,GACtC,OAAkB,IAAXxG,EACDwG,EAAQ,GACRxG,GAAU,GAAKA,GAAU,EACvBwG,EAAQ,GACRA,EAAQ,IAEpBzG,UAAW,SAAUC,EAAQC,EAAeC,GACxC,IAAIsG,EAAUH,EAAWC,MAAMpG,GAC/B,OAAmB,IAAfA,EAAI+D,OACGhE,EAAgBuG,EAAQ,GAAKA,EAAQ,GAGxCxG,EACA,IACAqG,EAAWE,uBAAuBvG,EAAQwG,KAMtDgH,EAAKlR,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,mFAAmFC,MACvF,KAEJC,YACI,2DAA2DD,MAAM,KACrEsC,kBAAkB,EAClBpC,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,gBAETC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,cACTC,SAAU,WACN,IAAIiJ,EAAe,CACf,6BACA,iCACA,4BACA,4BACA,8BACA,2BACA,4BAEJ,OAAOA,EAAavK,KAAKsK,QAE7B/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,mBACHC,GAAIoI,EAAWtG,UACf7B,EAAGmI,EAAWtG,UACd5B,GAAIkI,EAAWtG,UACf3B,EAAGiI,EAAWtG,UACd1B,GAAIgI,EAAWtG,UACfzB,EAAG,MACHC,GAAI8H,EAAWtG,UACfvB,EAAG,SACHC,GAAI4H,EAAWtG,UACfrB,EAAG,SACHC,GAAI0H,EAAWtG,WAEnBJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0O,M,wBCzHT,SAAUrR,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAImR,EAAKnR,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,8FAA8FC,MAClG,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CuC,cAAe,SACfwC,KAAM,SAAUP,GACZ,MAAO,QAAQnF,KAAKmF,IAExB9B,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCvC,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,eACTC,SAAU,eACVC,QAAS,iBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,YACNC,EAAG,mBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,YACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,SACJC,EAAG,WACHC,GAAI,YACJC,EAAG,UACHC,GAAI,WAERgB,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2O,M,wBC3ET,SAAUtR,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoR,EAAKpR,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yEAAyEC,MAC7E,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,uBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,sBACTC,SAAU,mCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,oBACNC,EAAG,SACHC,GAAI,YACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO4O,M;;;;;;;CCrDV,SAAUvR,EAAQC,GAC4CJ,EAAOC,QAAUG,EAAQ,WAAa,IAAM,OAAO,EAAQ,QAAa,MAAMuR,KAArD,KADxF,CAIEtR,GAAM,SAAWC,GAAU,aAI7B,SAASsR,EAAqBC,EAAI7R,GACjC,OAAOA,EAAS,CAAEC,QAAS,IAAM4R,EAAG7R,EAAQA,EAAOC,SAAUD,EAAOC,QAGrE,SAAS6R,EAA2BhO,GACnC,OAAOA,GAAKA,EAAE,YAAcA,EAP7BxD,EAASA,GAAUA,EAAOmN,eAAe,WAAanN,EAAO,WAAaA,EAU1E,IAAIyR,EAAY,CACf,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAGvBC,EAAcJ,GAAqB,SAAU5R,GAQjD,IAAIiS,EAAkB,GACtB,IAAK,IAAI/N,KAAO6N,EACXA,EAAUtE,eAAevJ,KAC5B+N,EAAgBF,EAAU7N,IAAQA,GAIpC,IAAIgO,EAAUlS,EAAOC,QAAU,CAC9BkS,IAAK,CAACC,SAAU,EAAG1E,OAAQ,OAC3B2E,IAAK,CAACD,SAAU,EAAG1E,OAAQ,OAC3B4E,IAAK,CAACF,SAAU,EAAG1E,OAAQ,OAC3B6E,IAAK,CAACH,SAAU,EAAG1E,OAAQ,OAC3B8E,KAAM,CAACJ,SAAU,EAAG1E,OAAQ,QAC5B+E,IAAK,CAACL,SAAU,EAAG1E,OAAQ,OAC3BgF,IAAK,CAACN,SAAU,EAAG1E,OAAQ,OAC3BiF,IAAK,CAACP,SAAU,EAAG1E,OAAQ,OAC3BkF,IAAK,CAACR,SAAU,EAAG1E,OAAQ,CAAC,QAC5BmF,QAAS,CAACT,SAAU,EAAG1E,OAAQ,CAAC,YAChCoF,OAAQ,CAACV,SAAU,EAAG1E,OAAQ,CAAC,WAC/BqF,QAAS,CAACX,SAAU,EAAG1E,OAAQ,CAAC,YAChCsF,IAAK,CAACZ,SAAU,EAAG1E,OAAQ,CAAC,IAAK,IAAK,MACtCuF,MAAO,CAACb,SAAU,EAAG1E,OAAQ,CAAC,MAAO,MAAO,QAC5CwF,KAAM,CAACd,SAAU,EAAG1E,OAAQ,CAAC,UAI9B,IAAK,IAAIyF,KAASjB,EACjB,GAAIA,EAAQzE,eAAe0F,GAAQ,CAClC,KAAM,aAAcjB,EAAQiB,IAC3B,MAAM,IAAIhD,MAAM,8BAAgCgD,GAGjD,KAAM,WAAYjB,EAAQiB,IACzB,MAAM,IAAIhD,MAAM,oCAAsCgD,GAGvD,GAAIjB,EAAQiB,GAAOzF,OAAOzF,SAAWiK,EAAQiB,GAAOf,SACnD,MAAM,IAAIjC,MAAM,sCAAwCgD,GAGzD,IAAIf,EAAWF,EAAQiB,GAAOf,SAC1B1E,EAASwE,EAAQiB,GAAOzF,cACrBwE,EAAQiB,GAAOf,gBACfF,EAAQiB,GAAOzF,OACtBV,OAAOoG,eAAelB,EAAQiB,GAAQ,WAAY,CAACE,MAAOjB,IAC1DpF,OAAOoG,eAAelB,EAAQiB,GAAQ,SAAU,CAACE,MAAO3F,IAyH1D,SAAS4F,EAAoBC,EAAG7Q,GAC/B,OACCyE,KAAKqM,IAAID,EAAE,GAAK7Q,EAAE,GAAI,GACtByE,KAAKqM,IAAID,EAAE,GAAK7Q,EAAE,GAAI,GACtByE,KAAKqM,IAAID,EAAE,GAAK7Q,EAAE,GAAI,GAzHxBwP,EAAQC,IAAIE,IAAM,SAAUF,GAC3B,IAMI/P,EACAJ,EACAqD,EARAoO,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACb1J,EAAI0J,EAAI,GAAK,IACbwB,EAAMxM,KAAKwM,IAAIF,EAAGC,EAAGjL,GACrBmL,EAAMzM,KAAKyM,IAAIH,EAAGC,EAAGjL,GACrBoL,EAAQD,EAAMD,EA+BlB,OA1BIC,IAAQD,EACXvR,EAAI,EACMqR,IAAMG,EAChBxR,GAAKsR,EAAIjL,GAAKoL,EACJH,IAAME,EAChBxR,EAAI,GAAKqG,EAAIgL,GAAKI,EACRpL,IAAMmL,IAChBxR,EAAI,GAAKqR,EAAIC,GAAKG,GAGnBzR,EAAI+E,KAAKwM,IAAQ,GAAJvR,EAAQ,KAEjBA,EAAI,IACPA,GAAK,KAGNiD,GAAKsO,EAAMC,GAAO,EAGjB5R,EADG4R,IAAQD,EACP,EACMtO,GAAK,GACXwO,GAASD,EAAMD,GAEfE,GAAS,EAAID,EAAMD,GAGjB,CAACvR,EAAO,IAAJJ,EAAa,IAAJqD,IAGrB6M,EAAQC,IAAIG,IAAM,SAAUH,GAC3B,IAAI2B,EACAC,EACAC,EACA5R,EACAJ,EAEAyR,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACb1J,EAAI0J,EAAI,GAAK,IACb8B,EAAI9M,KAAKyM,IAAIH,EAAGC,EAAGjL,GACnByL,EAAOD,EAAI9M,KAAKwM,IAAIF,EAAGC,EAAGjL,GAC1B0L,EAAQ,SAAUnK,GACrB,OAAQiK,EAAIjK,GAAK,EAAIkK,EAAO,IAyB7B,OAtBa,IAATA,EACH9R,EAAIJ,EAAI,GAERA,EAAIkS,EAAOD,EACXH,EAAOK,EAAMV,GACbM,EAAOI,EAAMT,GACbM,EAAOG,EAAM1L,GAETgL,IAAMQ,EACT7R,EAAI4R,EAAOD,EACDL,IAAMO,EAChB7R,EAAK,EAAI,EAAK0R,EAAOE,EACXvL,IAAMwL,IAChB7R,EAAK,EAAI,EAAK2R,EAAOD,GAElB1R,EAAI,EACPA,GAAK,EACKA,EAAI,IACdA,GAAK,IAIA,CACF,IAAJA,EACI,IAAJJ,EACI,IAAJiS,IAIF/B,EAAQC,IAAII,IAAM,SAAUJ,GAC3B,IAAIsB,EAAItB,EAAI,GACRuB,EAAIvB,EAAI,GACR1J,EAAI0J,EAAI,GACR/P,EAAI8P,EAAQC,IAAIE,IAAIF,GAAK,GACzB1L,EAAI,EAAI,IAAMU,KAAKwM,IAAIF,EAAGtM,KAAKwM,IAAID,EAAGjL,IAI1C,OAFAA,EAAI,EAAI,EAAI,IAAMtB,KAAKyM,IAAIH,EAAGtM,KAAKyM,IAAIF,EAAGjL,IAEnC,CAACrG,EAAO,IAAJqE,EAAa,IAAJgC,IAGrByJ,EAAQC,IAAIK,KAAO,SAAUL,GAC5B,IAGInI,EACA9H,EACAQ,EACA0R,EANAX,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACb1J,EAAI0J,EAAI,GAAK,IAWjB,OALAiC,EAAIjN,KAAKwM,IAAI,EAAIF,EAAG,EAAIC,EAAG,EAAIjL,GAC/BuB,GAAK,EAAIyJ,EAAIW,IAAM,EAAIA,IAAM,EAC7BlS,GAAK,EAAIwR,EAAIU,IAAM,EAAIA,IAAM,EAC7B1R,GAAK,EAAI+F,EAAI2L,IAAM,EAAIA,IAAM,EAEtB,CAAK,IAAJpK,EAAa,IAAJ9H,EAAa,IAAJQ,EAAa,IAAJ0R,IAcpClC,EAAQC,IAAIU,QAAU,SAAUV,GAC/B,IAAIkC,EAAWpC,EAAgBE,GAC/B,GAAIkC,EACH,OAAOA,EAGR,IACIC,EADAC,EAAyBxP,IAG7B,IAAK,IAAI8N,KAAWd,EACnB,GAAIA,EAAUtE,eAAeoF,GAAU,CACtC,IAAIQ,EAAQtB,EAAUc,GAGlB2B,EAAWlB,EAAoBnB,EAAKkB,GAGpCmB,EAAWD,IACdA,EAAyBC,EACzBF,EAAwBzB,GAK3B,OAAOyB,GAGRpC,EAAQW,QAAQV,IAAM,SAAUU,GAC/B,OAAOd,EAAUc,IAGlBX,EAAQC,IAAIM,IAAM,SAAUN,GAC3B,IAAIsB,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACb1J,EAAI0J,EAAI,GAAK,IAGjBsB,EAAIA,EAAI,OAAUtM,KAAKqM,KAAMC,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9DC,EAAIA,EAAI,OAAUvM,KAAKqM,KAAME,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9DjL,EAAIA,EAAI,OAAUtB,KAAKqM,KAAM/K,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAE9D,IAAI8K,EAAS,MAAJE,EAAmB,MAAJC,EAAmB,MAAJjL,EACnC/F,EAAS,MAAJ+Q,EAAmB,MAAJC,EAAmB,MAAJjL,EACnCgM,EAAS,MAAJhB,EAAmB,MAAJC,EAAmB,MAAJjL,EAEvC,MAAO,CAAK,IAAJ8K,EAAa,IAAJ7Q,EAAa,IAAJ+R,IAG3BvC,EAAQC,IAAIO,IAAM,SAAUP,GAC3B,IAII9M,EACA0E,EACAtB,EANAgK,EAAMP,EAAQC,IAAIM,IAAIN,GACtBoB,EAAId,EAAI,GACR/P,EAAI+P,EAAI,GACRgC,EAAIhC,EAAI,GAiBZ,OAZAc,GAAK,OACL7Q,GAAK,IACL+R,GAAK,QAELlB,EAAIA,EAAI,QAAWpM,KAAKqM,IAAID,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D7Q,EAAIA,EAAI,QAAWyE,KAAKqM,IAAI9Q,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D+R,EAAIA,EAAI,QAAWtN,KAAKqM,IAAIiB,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DpP,EAAK,IAAM3C,EAAK,GAChBqH,EAAI,KAAOwJ,EAAI7Q,GACf+F,EAAI,KAAO/F,EAAI+R,GAER,CAACpP,EAAG0E,EAAGtB,IAGfyJ,EAAQG,IAAIF,IAAM,SAAUE,GAC3B,IAGIqC,EACAC,EACAC,EACAzC,EACA0C,EAPAzS,EAAIiQ,EAAI,GAAK,IACbrQ,EAAIqQ,EAAI,GAAK,IACbhN,EAAIgN,EAAI,GAAK,IAOjB,GAAU,IAANrQ,EAEH,OADA6S,EAAU,IAAJxP,EACC,CAACwP,EAAKA,EAAKA,GAIlBF,EADGtP,EAAI,GACFA,GAAK,EAAIrD,GAETqD,EAAIrD,EAAIqD,EAAIrD,EAGlB0S,EAAK,EAAIrP,EAAIsP,EAEbxC,EAAM,CAAC,EAAG,EAAG,GACb,IAAK,IAAIrF,EAAI,EAAGA,EAAI,EAAGA,IACtB8H,EAAKxS,EAAI,EAAI,IAAM0K,EAAI,GACnB8H,EAAK,GACRA,IAEGA,EAAK,GACRA,IAIAC,EADG,EAAID,EAAK,EACNF,EAAiB,GAAXC,EAAKD,GAAUE,EACjB,EAAIA,EAAK,EACbD,EACI,EAAIC,EAAK,EACbF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAM,EAEhCF,EAGPvC,EAAIrF,GAAW,IAAN+H,EAGV,OAAO1C,GAGRD,EAAQG,IAAIC,IAAM,SAAUD,GAC3B,IAKIyC,EACAb,EANA7R,EAAIiQ,EAAI,GACRrQ,EAAIqQ,EAAI,GAAK,IACbhN,EAAIgN,EAAI,GAAK,IACb0C,EAAO/S,EACPgT,EAAO7N,KAAKyM,IAAIvO,EAAG,KAUvB,OANAA,GAAK,EACLrD,GAAMqD,GAAK,EAAKA,EAAI,EAAIA,EACxB0P,GAAQC,GAAQ,EAAIA,EAAO,EAAIA,EAC/Bf,GAAK5O,EAAIrD,GAAK,EACd8S,EAAW,IAANzP,EAAW,EAAI0P,GAASC,EAAOD,GAAS,EAAI/S,GAAMqD,EAAIrD,GAEpD,CAACI,EAAQ,IAAL0S,EAAc,IAAJb,IAGtB/B,EAAQI,IAAIH,IAAM,SAAUG,GAC3B,IAAIlQ,EAAIkQ,EAAI,GAAK,GACbtQ,EAAIsQ,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACb2C,EAAK9N,KAAKD,MAAM9E,GAAK,EAErBkG,EAAIlG,EAAI+E,KAAKD,MAAM9E,GACnB8S,EAAI,IAAMjB,GAAK,EAAIjS,GACnBmT,EAAI,IAAMlB,GAAK,EAAKjS,EAAIsG,GACxB8M,EAAI,IAAMnB,GAAK,EAAKjS,GAAK,EAAIsG,IAGjC,OAFA2L,GAAK,IAEGgB,GACP,KAAK,EACJ,MAAO,CAAChB,EAAGmB,EAAGF,GACf,KAAK,EACJ,MAAO,CAACC,EAAGlB,EAAGiB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGjB,EAAGmB,GACf,KAAK,EACJ,MAAO,CAACF,EAAGC,EAAGlB,GACf,KAAK,EACJ,MAAO,CAACmB,EAAGF,EAAGjB,GACf,KAAK,EACJ,MAAO,CAACA,EAAGiB,EAAGC,KAIjBjD,EAAQI,IAAID,IAAM,SAAUC,GAC3B,IAII0C,EACAK,EACAhQ,EANAjD,EAAIkQ,EAAI,GACRtQ,EAAIsQ,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IACbgD,EAAOnO,KAAKyM,IAAIK,EAAG,KAYvB,OAPA5O,GAAK,EAAIrD,GAAKiS,EACde,GAAQ,EAAIhT,GAAKsT,EACjBD,EAAKrT,EAAIsT,EACTD,GAAOL,GAAQ,EAAKA,EAAO,EAAIA,EAC/BK,EAAKA,GAAM,EACXhQ,GAAK,EAEE,CAACjD,EAAQ,IAALiT,EAAc,IAAJhQ,IAItB6M,EAAQK,IAAIJ,IAAM,SAAUI,GAC3B,IAIIzF,EACAmH,EACA3L,EACAxE,EAkBA2P,EACAC,EACAjL,EA3BArG,EAAImQ,EAAI,GAAK,IACbgD,EAAKhD,EAAI,GAAK,IACdiD,EAAKjD,EAAI,GAAK,IACdkD,EAAQF,EAAKC,EAyBjB,OAlBIC,EAAQ,IACXF,GAAME,EACND,GAAMC,GAGP3I,EAAI3F,KAAKD,MAAM,EAAI9E,GACnB6R,EAAI,EAAIuB,EACRlN,EAAI,EAAIlG,EAAI0K,EAEO,KAAV,EAAJA,KACJxE,EAAI,EAAIA,GAGTxE,EAAIyR,EAAKjN,GAAK2L,EAAIsB,GAKVzI,GACP,QACA,KAAK,EACL,KAAK,EAAG2G,EAAIQ,EAAGP,EAAI5P,EAAG2E,EAAI8M,EAAI,MAC9B,KAAK,EAAG9B,EAAI3P,EAAG4P,EAAIO,EAAGxL,EAAI8M,EAAI,MAC9B,KAAK,EAAG9B,EAAI8B,EAAI7B,EAAIO,EAAGxL,EAAI3E,EAAG,MAC9B,KAAK,EAAG2P,EAAI8B,EAAI7B,EAAI5P,EAAG2E,EAAIwL,EAAG,MAC9B,KAAK,EAAGR,EAAI3P,EAAG4P,EAAI6B,EAAI9M,EAAIwL,EAAG,MAC9B,KAAK,EAAGR,EAAIQ,EAAGP,EAAI6B,EAAI9M,EAAI3E,EAAG,MAG/B,MAAO,CAAK,IAAJ2P,EAAa,IAAJC,EAAa,IAAJjL,IAG3ByJ,EAAQM,KAAKL,IAAM,SAAUK,GAC5B,IAIIiB,EACAC,EACAjL,EANAuB,EAAIwI,EAAK,GAAK,IACdtQ,EAAIsQ,EAAK,GAAK,IACd9P,EAAI8P,EAAK,GAAK,IACd4B,EAAI5B,EAAK,GAAK,IASlB,OAJAiB,EAAI,EAAItM,KAAKwM,IAAI,EAAG3J,GAAK,EAAIoK,GAAKA,GAClCV,EAAI,EAAIvM,KAAKwM,IAAI,EAAGzR,GAAK,EAAIkS,GAAKA,GAClC3L,EAAI,EAAItB,KAAKwM,IAAI,EAAGjR,GAAK,EAAI0R,GAAKA,GAE3B,CAAK,IAAJX,EAAa,IAAJC,EAAa,IAAJjL,IAG3ByJ,EAAQO,IAAIN,IAAM,SAAUM,GAC3B,IAGIgB,EACAC,EACAjL,EALA8K,EAAId,EAAI,GAAK,IACb/P,EAAI+P,EAAI,GAAK,IACbgC,EAAIhC,EAAI,GAAK,IA0BjB,OArBAgB,EAAS,OAAJF,GAAoB,OAAL7Q,GAAqB,MAAL+R,EACpCf,GAAU,MAALH,EAAoB,OAAJ7Q,EAAmB,MAAJ+R,EACpChM,EAAS,MAAJ8K,GAAoB,KAAL7Q,EAAoB,MAAJ+R,EAGpChB,EAAIA,EAAI,SACH,MAAQtM,KAAKqM,IAAIC,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQvM,KAAKqM,IAAIE,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHjL,EAAIA,EAAI,SACH,MAAQtB,KAAKqM,IAAI/K,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHgL,EAAItM,KAAKwM,IAAIxM,KAAKyM,IAAI,EAAGH,GAAI,GAC7BC,EAAIvM,KAAKwM,IAAIxM,KAAKyM,IAAI,EAAGF,GAAI,GAC7BjL,EAAItB,KAAKwM,IAAIxM,KAAKyM,IAAI,EAAGnL,GAAI,GAEtB,CAAK,IAAJgL,EAAa,IAAJC,EAAa,IAAJjL,IAG3ByJ,EAAQO,IAAIC,IAAM,SAAUD,GAC3B,IAGIpN,EACA0E,EACAtB,EALA8K,EAAId,EAAI,GACR/P,EAAI+P,EAAI,GACRgC,EAAIhC,EAAI,GAiBZ,OAZAc,GAAK,OACL7Q,GAAK,IACL+R,GAAK,QAELlB,EAAIA,EAAI,QAAWpM,KAAKqM,IAAID,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D7Q,EAAIA,EAAI,QAAWyE,KAAKqM,IAAI9Q,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5D+R,EAAIA,EAAI,QAAWtN,KAAKqM,IAAIiB,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DpP,EAAK,IAAM3C,EAAK,GAChBqH,EAAI,KAAOwJ,EAAI7Q,GACf+F,EAAI,KAAO/F,EAAI+R,GAER,CAACpP,EAAG0E,EAAGtB,IAGfyJ,EAAQQ,IAAID,IAAM,SAAUC,GAC3B,IAGIa,EACA7Q,EACA+R,EALApP,EAAIqN,EAAI,GACR3I,EAAI2I,EAAI,GACRjK,EAAIiK,EAAI,GAKZhQ,GAAK2C,EAAI,IAAM,IACfkO,EAAIxJ,EAAI,IAAMrH,EACd+R,EAAI/R,EAAI+F,EAAI,IAEZ,IAAIiN,EAAKvO,KAAKqM,IAAI9Q,EAAG,GACjBiT,EAAKxO,KAAKqM,IAAID,EAAG,GACjBqC,EAAKzO,KAAKqM,IAAIiB,EAAG,GASrB,OARA/R,EAAIgT,EAAK,QAAWA,GAAMhT,EAAI,GAAK,KAAO,MAC1C6Q,EAAIoC,EAAK,QAAWA,GAAMpC,EAAI,GAAK,KAAO,MAC1CkB,EAAImB,EAAK,QAAWA,GAAMnB,EAAI,GAAK,KAAO,MAE1ClB,GAAK,OACL7Q,GAAK,IACL+R,GAAK,QAEE,CAAClB,EAAG7Q,EAAG+R,IAGfvC,EAAQQ,IAAIC,IAAM,SAAUD,GAC3B,IAGImD,EACAzT,EACA4H,EALA3E,EAAIqN,EAAI,GACR3I,EAAI2I,EAAI,GACRjK,EAAIiK,EAAI,GAcZ,OATAmD,EAAK1O,KAAK2O,MAAMrN,EAAGsB,GACnB3H,EAAS,IAALyT,EAAW,EAAI1O,KAAK4O,GAEpB3T,EAAI,IACPA,GAAK,KAGN4H,EAAI7C,KAAK6O,KAAKjM,EAAIA,EAAItB,EAAIA,GAEnB,CAACpD,EAAG2E,EAAG5H,IAGf8P,EAAQS,IAAID,IAAM,SAAUC,GAC3B,IAGI5I,EACAtB,EACAoN,EALAxQ,EAAIsN,EAAI,GACR3I,EAAI2I,EAAI,GACRvQ,EAAIuQ,EAAI,GASZ,OAJAkD,EAAKzT,EAAI,IAAM,EAAI+E,KAAK4O,GACxBhM,EAAIC,EAAI7C,KAAK8O,IAAIJ,GACjBpN,EAAIuB,EAAI7C,KAAK+O,IAAIL,GAEV,CAACxQ,EAAG0E,EAAGtB,IAGfyJ,EAAQC,IAAIW,OAAS,SAAUqD,GAC9B,IAAI1C,EAAI0C,EAAK,GACTzC,EAAIyC,EAAK,GACT1N,EAAI0N,EAAK,GACT9C,EAAQ,KAAK+C,UAAYA,UAAU,GAAKlE,EAAQC,IAAIG,IAAI6D,GAAM,GAIlE,GAFA9C,EAAQlM,KAAKkP,MAAMhD,EAAQ,IAEb,IAAVA,EACH,OAAO,GAGR,IAAIiD,EAAO,IACNnP,KAAKkP,MAAM5N,EAAI,MAAQ,EACxBtB,KAAKkP,MAAM3C,EAAI,MAAQ,EACxBvM,KAAKkP,MAAM5C,EAAI,MAMlB,OAJc,IAAVJ,IACHiD,GAAQ,IAGFA,GAGRpE,EAAQI,IAAIQ,OAAS,SAAUqD,GAG9B,OAAOjE,EAAQC,IAAIW,OAAOZ,EAAQI,IAAIH,IAAIgE,GAAOA,EAAK,KAGvDjE,EAAQC,IAAIY,QAAU,SAAUoD,GAC/B,IAAI1C,EAAI0C,EAAK,GACTzC,EAAIyC,EAAK,GACT1N,EAAI0N,EAAK,GAIb,GAAI1C,IAAMC,GAAKA,IAAMjL,EACpB,OAAIgL,EAAI,EACA,GAGJA,EAAI,IACA,IAGDtM,KAAKkP,OAAQ5C,EAAI,GAAK,IAAO,IAAM,IAG3C,IAAI6C,EAAO,GACP,GAAKnP,KAAKkP,MAAM5C,EAAI,IAAM,GAC1B,EAAItM,KAAKkP,MAAM3C,EAAI,IAAM,GAC1BvM,KAAKkP,MAAM5N,EAAI,IAAM,GAExB,OAAO6N,GAGRpE,EAAQY,OAAOX,IAAM,SAAUgE,GAC9B,IAAII,EAAQJ,EAAO,GAGnB,GAAc,IAAVI,GAAyB,IAAVA,EAOlB,OANIJ,EAAO,KACVI,GAAS,KAGVA,EAAQA,EAAQ,KAAO,IAEhB,CAACA,EAAOA,EAAOA,GAGvB,IAAIC,EAA6B,IAAL,KAAbL,EAAO,KAClB1C,GAAc,EAAR8C,GAAaC,EAAQ,IAC3B9C,GAAO6C,GAAS,EAAK,GAAKC,EAAQ,IAClC/N,GAAO8N,GAAS,EAAK,GAAKC,EAAQ,IAEtC,MAAO,CAAC/C,EAAGC,EAAGjL,IAGfyJ,EAAQa,QAAQZ,IAAM,SAAUgE,GAE/B,GAAIA,GAAQ,IAAK,CAChB,IAAInM,EAAmB,IAAdmM,EAAO,KAAY,EAC5B,MAAO,CAACnM,EAAGA,EAAGA,GAKf,IAAIyM,EAFJN,GAAQ,GAGR,IAAI1C,EAAItM,KAAKD,MAAMiP,EAAO,IAAM,EAAI,IAChCzC,EAAIvM,KAAKD,OAAOuP,EAAMN,EAAO,IAAM,GAAK,EAAI,IAC5C1N,EAAKgO,EAAM,EAAK,EAAI,IAExB,MAAO,CAAChD,EAAGC,EAAGjL,IAGfyJ,EAAQC,IAAIS,IAAM,SAAUuD,GAC3B,IAAIO,IAAkC,IAAtBvP,KAAKkP,MAAMF,EAAK,MAAe,MACpB,IAAtBhP,KAAKkP,MAAMF,EAAK,MAAe,IACV,IAAtBhP,KAAKkP,MAAMF,EAAK,KAEhB9K,EAASqL,EAAQC,SAAS,IAAIC,cAClC,MAAO,SAASC,UAAUxL,EAAOpD,QAAUoD,GAG5C6G,EAAQU,IAAIT,IAAM,SAAUgE,GAC3B,IAAIhR,EAAQgR,EAAKQ,SAAS,IAAIxR,MAAM,4BACpC,IAAKA,EACJ,MAAO,CAAC,EAAG,EAAG,GAGf,IAAI2R,EAAc3R,EAAM,GAEA,IAApBA,EAAM,GAAG8C,SACZ6O,EAAcA,EAAYpW,MAAM,IAAI2L,KAAI,SAAU0K,GACjD,OAAOA,EAAOA,KACZC,KAAK,KAGT,IAAIN,EAAUtR,SAAS0R,EAAa,IAChCrD,EAAKiD,GAAW,GAAM,IACtBhD,EAAKgD,GAAW,EAAK,IACrBjO,EAAc,IAAViO,EAER,MAAO,CAACjD,EAAGC,EAAGjL,IAGfyJ,EAAQC,IAAIa,IAAM,SAAUb,GAC3B,IAMI8E,EACAC,EAPAzD,EAAItB,EAAI,GAAK,IACbuB,EAAIvB,EAAI,GAAK,IACb1J,EAAI0J,EAAI,GAAK,IACbyB,EAAMzM,KAAKyM,IAAIzM,KAAKyM,IAAIH,EAAGC,GAAIjL,GAC/BkL,EAAMxM,KAAKwM,IAAIxM,KAAKwM,IAAIF,EAAGC,GAAIjL,GAC/B0O,EAAUvD,EAAMD,EAyBpB,OApBCsD,EADGE,EAAS,EACAxD,GAAO,EAAIwD,GAEX,EAIZD,EADGC,GAAU,EACP,EAEHvD,IAAQH,GACHC,EAAIjL,GAAK0O,EAAU,EAExBvD,IAAQF,EACL,GAAKjL,EAAIgL,GAAK0D,EAEd,GAAK1D,EAAIC,GAAKyD,EAAS,EAG9BD,GAAO,EACPA,GAAO,EAEA,CAAO,IAANA,EAAoB,IAATC,EAA0B,IAAZF,IAGlC/E,EAAQG,IAAIW,IAAM,SAAUX,GAC3B,IAAIrQ,EAAIqQ,EAAI,GAAK,IACbhN,EAAIgN,EAAI,GAAK,IACbrI,EAAI,EACJ1B,EAAI,EAYR,OATC0B,EADG3E,EAAI,GACH,EAAMrD,EAAIqD,EAEV,EAAMrD,GAAK,EAAMqD,GAGlB2E,EAAI,IACP1B,GAAKjD,EAAI,GAAM2E,IAAM,EAAMA,IAGrB,CAACqI,EAAI,GAAQ,IAAJrI,EAAa,IAAJ1B,IAG1B4J,EAAQI,IAAIU,IAAM,SAAUV,GAC3B,IAAItQ,EAAIsQ,EAAI,GAAK,IACb2B,EAAI3B,EAAI,GAAK,IAEbtI,EAAIhI,EAAIiS,EACR3L,EAAI,EAMR,OAJI0B,EAAI,IACP1B,GAAK2L,EAAIjK,IAAM,EAAIA,IAGb,CAACsI,EAAI,GAAQ,IAAJtI,EAAa,IAAJ1B,IAG1B4J,EAAQc,IAAIb,IAAM,SAAUa,GAC3B,IAAI5Q,EAAI4Q,EAAI,GAAK,IACbhJ,EAAIgJ,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEjB,GAAU,IAANhJ,EACH,MAAO,CAAK,IAAJ0J,EAAa,IAAJA,EAAa,IAAJA,GAG3B,IAAI0D,EAAO,CAAC,EAAG,EAAG,GACdnC,EAAM7S,EAAI,EAAK,EACf6R,EAAIgB,EAAK,EACTxO,EAAI,EAAIwN,EACRoD,EAAK,EAET,OAAQlQ,KAAKD,MAAM+N,IAClB,KAAK,EACJmC,EAAK,GAAK,EAAGA,EAAK,GAAKnD,EAAGmD,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK3Q,EAAG2Q,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKnD,EAAG,MACxC,KAAK,EACJmD,EAAK,GAAK,EAAGA,EAAK,GAAK3Q,EAAG2Q,EAAK,GAAK,EAAG,MACxC,KAAK,EACJA,EAAK,GAAKnD,EAAGmD,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAG,MACxC,QACCA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAK3Q,EAKtC,OAFA4Q,GAAM,EAAMrN,GAAK0J,EAEV,CACe,KAApB1J,EAAIoN,EAAK,GAAKC,GACM,KAApBrN,EAAIoN,EAAK,GAAKC,GACM,KAApBrN,EAAIoN,EAAK,GAAKC,KAIjBnF,EAAQc,IAAIV,IAAM,SAAUU,GAC3B,IAAIhJ,EAAIgJ,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEbiB,EAAIjK,EAAI0J,GAAK,EAAM1J,GACnB1B,EAAI,EAMR,OAJI2L,EAAI,IACP3L,EAAI0B,EAAIiK,GAGF,CAACjB,EAAI,GAAQ,IAAJ1K,EAAa,IAAJ2L,IAG1B/B,EAAQc,IAAIX,IAAM,SAAUW,GAC3B,IAAIhJ,EAAIgJ,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEb3N,EAAIqO,GAAK,EAAM1J,GAAK,GAAMA,EAC1BhI,EAAI,EASR,OAPIqD,EAAI,GAAOA,EAAI,GAClBrD,EAAIgI,GAAK,EAAI3E,GAEVA,GAAK,IAAOA,EAAI,IACnBrD,EAAIgI,GAAK,GAAK,EAAI3E,KAGZ,CAAC2N,EAAI,GAAQ,IAAJhR,EAAa,IAAJqD,IAG1B6M,EAAQc,IAAIT,IAAM,SAAUS,GAC3B,IAAIhJ,EAAIgJ,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IACbiB,EAAIjK,EAAI0J,GAAK,EAAM1J,GACvB,MAAO,CAACgJ,EAAI,GAAc,KAATiB,EAAIjK,GAAoB,KAAT,EAAIiK,KAGrC/B,EAAQK,IAAIS,IAAM,SAAUT,GAC3B,IAAI9L,EAAI8L,EAAI,GAAK,IACb9J,EAAI8J,EAAI,GAAK,IACb0B,EAAI,EAAIxL,EACRuB,EAAIiK,EAAIxN,EACRiN,EAAI,EAMR,OAJI1J,EAAI,IACP0J,GAAKO,EAAIjK,IAAM,EAAIA,IAGb,CAACuI,EAAI,GAAQ,IAAJvI,EAAa,IAAJ0J,IAG1BxB,EAAQe,MAAMd,IAAM,SAAUc,GAC7B,MAAO,CAAEA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,MAGlFf,EAAQC,IAAIc,MAAQ,SAAUd,GAC7B,MAAO,CAAEA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,QAG1ED,EAAQgB,KAAKf,IAAM,SAAUgE,GAC5B,MAAO,CAACA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,MAGnEjE,EAAQgB,KAAKb,IAAMH,EAAQgB,KAAKZ,IAAM,SAAU6D,GAC/C,MAAO,CAAC,EAAG,EAAGA,EAAK,KAGpBjE,EAAQgB,KAAKX,IAAM,SAAUW,GAC5B,MAAO,CAAC,EAAG,IAAKA,EAAK,KAGtBhB,EAAQgB,KAAKV,KAAO,SAAUU,GAC7B,MAAO,CAAC,EAAG,EAAG,EAAGA,EAAK,KAGvBhB,EAAQgB,KAAKR,IAAM,SAAUQ,GAC5B,MAAO,CAACA,EAAK,GAAI,EAAG,IAGrBhB,EAAQgB,KAAKN,IAAM,SAAUM,GAC5B,IAAI2B,EAAwC,IAAlC1N,KAAKkP,MAAMnD,EAAK,GAAK,IAAM,KACjCwD,GAAW7B,GAAO,KAAOA,GAAO,GAAKA,EAErCxJ,EAASqL,EAAQC,SAAS,IAAIC,cAClC,MAAO,SAASC,UAAUxL,EAAOpD,QAAUoD,GAG5C6G,EAAQC,IAAIe,KAAO,SAAUf,GAC5B,IAAI0C,GAAO1C,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAAM,EACvC,MAAO,CAAC0C,EAAM,IAAM,SAGD7C,EAAYG,IACZH,EAAYK,IACZL,EAAYM,IACZN,EAAYO,IACZP,EAAYQ,KACZR,EAAYS,IACZT,EAAYU,IACZV,EAAYW,IACZX,EAAYY,IACXZ,EAAYa,QACZb,EAAYc,OACZd,EAAYe,QACZf,EAAYgB,IACZhB,EAAYiB,MACZjB,EAAYkB,KAajC,SAASoE,IAKR,IAJA,IAAIC,EAAQ,GAERC,EAASxK,OAAOC,KAAK+E,GAEhByF,EAAMD,EAAOvP,OAAQ6E,EAAI,EAAGA,EAAI2K,EAAK3K,IAC7CyK,EAAMC,EAAO1K,IAAM,CAGlB0H,UAAW,EACXkD,OAAQ,MAIV,OAAOH,EAIR,SAASI,EAAUC,GAClB,IAAIL,EAAQD,IACRO,EAAQ,CAACD,GAEbL,EAAMK,GAAWpD,SAAW,EAE5B,MAAOqD,EAAM5P,OAIZ,IAHA,IAAI6P,EAAUD,EAAME,MAChBC,EAAYhL,OAAOC,KAAK+E,EAAY8F,IAE/BL,EAAMO,EAAU/P,OAAQ6E,EAAI,EAAGA,EAAI2K,EAAK3K,IAAK,CACrD,IAAImL,EAAWD,EAAUlL,GACrBoL,EAAOX,EAAMU,IAEM,IAAnBC,EAAK1D,WACR0D,EAAK1D,SAAW+C,EAAMO,GAAStD,SAAW,EAC1C0D,EAAKR,OAASI,EACdD,EAAMM,QAAQF,IAKjB,OAAOV,EAGR,SAASa,EAAKC,EAAMC,GACnB,OAAO,SAAUnC,GAChB,OAAOmC,EAAGD,EAAKlC,KAIjB,SAASoC,EAAeC,EAASjB,GAChC,IAAIkB,EAAO,CAAClB,EAAMiB,GAASd,OAAQc,GAC/B3G,EAAKG,EAAYuF,EAAMiB,GAASd,QAAQc,GAExCE,EAAMnB,EAAMiB,GAASd,OACzB,MAAOH,EAAMmB,GAAKhB,OACjBe,EAAKN,QAAQZ,EAAMmB,GAAKhB,QACxB7F,EAAKuG,EAAKpG,EAAYuF,EAAMmB,GAAKhB,QAAQgB,GAAM7G,GAC/C6G,EAAMnB,EAAMmB,GAAKhB,OAIlB,OADA7F,EAAG8G,WAAaF,EACT5G,EAGR,IAAI+G,EAAQ,SAAUhB,GAKrB,IAJA,IAAIL,EAAQI,EAAUC,GAClBe,EAAa,GAEbnB,EAASxK,OAAOC,KAAKsK,GAChBE,EAAMD,EAAOvP,OAAQ6E,EAAI,EAAGA,EAAI2K,EAAK3K,IAAK,CAClD,IAAI0L,EAAUhB,EAAO1K,GACjBoL,EAAOX,EAAMiB,GAEG,OAAhBN,EAAKR,SAKTiB,EAAWH,GAAWD,EAAeC,EAASjB,IAG/C,OAAOoB,GAGJzG,EAAU,GAEVsF,EAASxK,OAAOC,KAAK+E,GAEzB,SAAS6G,EAAQhH,GAChB,IAAIiH,EAAY,SAAU3C,GACzB,YAAahO,IAATgO,GAA+B,OAATA,EAClBA,GAGJC,UAAUnO,OAAS,IACtBkO,EAAOzG,MAAMqJ,UAAUxR,MAAMyR,KAAK5C,YAG5BvE,EAAGsE,KAQX,MAJI,eAAgBtE,IACnBiH,EAAUH,WAAa9G,EAAG8G,YAGpBG,EAGR,SAASG,EAAYpH,GACpB,IAAIiH,EAAY,SAAU3C,GACzB,QAAahO,IAATgO,GAA+B,OAATA,EACzB,OAAOA,EAGJC,UAAUnO,OAAS,IACtBkO,EAAOzG,MAAMqJ,UAAUxR,MAAMyR,KAAK5C,YAGnC,IAAIhS,EAASyN,EAAGsE,GAKhB,GAAsB,kBAAX/R,EACV,IAAK,IAAIqT,EAAMrT,EAAO6D,OAAQ6E,EAAI,EAAGA,EAAI2K,EAAK3K,IAC7C1I,EAAO0I,GAAK3F,KAAKkP,MAAMjS,EAAO0I,IAIhC,OAAO1I,GAQR,MAJI,eAAgByN,IACnBiH,EAAUH,WAAa9G,EAAG8G,YAGpBG,EAGRtB,EAAO3K,SAAQ,SAAU+K,GACxB1F,EAAQ0F,GAAa,GAErB5K,OAAOoG,eAAelB,EAAQ0F,GAAY,WAAY,CAACvE,MAAOrB,EAAY4F,GAAWxF,WACrFpF,OAAOoG,eAAelB,EAAQ0F,GAAY,SAAU,CAACvE,MAAOrB,EAAY4F,GAAWlK,SAEnF,IAAIwL,EAASN,EAAMhB,GACfuB,EAAcnM,OAAOC,KAAKiM,GAE9BC,EAAYtM,SAAQ,SAAU2L,GAC7B,IAAI3G,EAAKqH,EAAOV,GAEhBtG,EAAQ0F,GAAWY,GAAWS,EAAYpH,GAC1CK,EAAQ0F,GAAWY,GAASY,IAAMP,EAAQhH,SAI5C,IAAIwH,EAAenH,EAEfoH,EAAc,CACjB,UAAa,CAAC,IAAK,IAAK,KACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,KAAQ,CAAC,EAAG,IAAK,KACjB,WAAc,CAAC,IAAK,IAAK,KACzB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,EAAG,EAAG,GAChB,eAAkB,CAAC,IAAK,IAAK,KAC7B,KAAQ,CAAC,EAAG,EAAG,KACf,WAAc,CAAC,IAAK,GAAI,KACxB,MAAS,CAAC,IAAK,GAAI,IACnB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,WAAc,CAAC,IAAK,IAAK,GACzB,UAAa,CAAC,IAAK,IAAK,IACxB,MAAS,CAAC,IAAK,IAAK,IACpB,eAAkB,CAAC,IAAK,IAAK,KAC7B,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,GAAI,IACrB,KAAQ,CAAC,EAAG,IAAK,KACjB,SAAY,CAAC,EAAG,EAAG,KACnB,SAAY,CAAC,EAAG,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,IAC5B,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,EAAG,IAAK,GACtB,SAAY,CAAC,IAAK,IAAK,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,EAAG,KACxB,eAAkB,CAAC,GAAI,IAAK,IAC5B,WAAc,CAAC,IAAK,IAAK,GACzB,WAAc,CAAC,IAAK,GAAI,KACxB,QAAW,CAAC,IAAK,EAAG,GACpB,WAAc,CAAC,IAAK,IAAK,KACzB,aAAgB,CAAC,IAAK,IAAK,KAC3B,cAAiB,CAAC,GAAI,GAAI,KAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,GAAI,GAAI,IAC1B,cAAiB,CAAC,EAAG,IAAK,KAC1B,WAAc,CAAC,IAAK,EAAG,KACvB,SAAY,CAAC,IAAK,GAAI,KACtB,YAAe,CAAC,EAAG,IAAK,KACxB,QAAW,CAAC,IAAK,IAAK,KACtB,QAAW,CAAC,IAAK,IAAK,KACtB,WAAc,CAAC,GAAI,IAAK,KACxB,UAAa,CAAC,IAAK,GAAI,IACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,YAAe,CAAC,GAAI,IAAK,IACzB,QAAW,CAAC,IAAK,EAAG,KACpB,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,KAAQ,CAAC,IAAK,IAAK,GACnB,UAAa,CAAC,IAAK,IAAK,IACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,MAAS,CAAC,EAAG,IAAK,GAClB,YAAe,CAAC,IAAK,IAAK,IAC1B,KAAQ,CAAC,IAAK,IAAK,KACnB,SAAY,CAAC,IAAK,IAAK,KACvB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,IACvB,OAAU,CAAC,GAAI,EAAG,KAClB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,SAAY,CAAC,IAAK,IAAK,KACvB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,GACxB,aAAgB,CAAC,IAAK,IAAK,KAC3B,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,qBAAwB,CAAC,IAAK,IAAK,KACnC,UAAa,CAAC,IAAK,IAAK,KACxB,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,YAAe,CAAC,IAAK,IAAK,KAC1B,cAAiB,CAAC,GAAI,IAAK,KAC3B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,eAAkB,CAAC,IAAK,IAAK,KAC7B,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,IAAK,GACjB,UAAa,CAAC,GAAI,IAAK,IACvB,MAAS,CAAC,IAAK,IAAK,KACpB,QAAW,CAAC,IAAK,EAAG,KACpB,OAAU,CAAC,IAAK,EAAG,GACnB,iBAAoB,CAAC,IAAK,IAAK,KAC/B,WAAc,CAAC,EAAG,EAAG,KACrB,aAAgB,CAAC,IAAK,GAAI,KAC1B,aAAgB,CAAC,IAAK,IAAK,KAC3B,eAAkB,CAAC,GAAI,IAAK,KAC5B,gBAAmB,CAAC,IAAK,IAAK,KAC9B,kBAAqB,CAAC,EAAG,IAAK,KAC9B,gBAAmB,CAAC,GAAI,IAAK,KAC7B,gBAAmB,CAAC,IAAK,GAAI,KAC7B,aAAgB,CAAC,GAAI,GAAI,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,SAAY,CAAC,IAAK,IAAK,KACvB,YAAe,CAAC,IAAK,IAAK,KAC1B,KAAQ,CAAC,EAAG,EAAG,KACf,QAAW,CAAC,IAAK,IAAK,KACtB,MAAS,CAAC,IAAK,IAAK,GACpB,UAAa,CAAC,IAAK,IAAK,IACxB,OAAU,CAAC,IAAK,IAAK,GACrB,UAAa,CAAC,IAAK,GAAI,GACvB,OAAU,CAAC,IAAK,IAAK,KACrB,cAAiB,CAAC,IAAK,IAAK,KAC5B,UAAa,CAAC,IAAK,IAAK,KACxB,cAAiB,CAAC,IAAK,IAAK,KAC5B,cAAiB,CAAC,IAAK,IAAK,KAC5B,WAAc,CAAC,IAAK,IAAK,KACzB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,IACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,KAAQ,CAAC,IAAK,IAAK,KACnB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,EAAG,KACnB,cAAiB,CAAC,IAAK,GAAI,KAC3B,IAAO,CAAC,IAAK,EAAG,GAChB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,YAAe,CAAC,IAAK,GAAI,IACzB,OAAU,CAAC,IAAK,IAAK,KACrB,WAAc,CAAC,IAAK,IAAK,IACzB,SAAY,CAAC,GAAI,IAAK,IACtB,SAAY,CAAC,IAAK,IAAK,KACvB,OAAU,CAAC,IAAK,GAAI,IACpB,OAAU,CAAC,IAAK,IAAK,KACrB,QAAW,CAAC,IAAK,IAAK,KACtB,UAAa,CAAC,IAAK,GAAI,KACvB,UAAa,CAAC,IAAK,IAAK,KACxB,UAAa,CAAC,IAAK,IAAK,KACxB,KAAQ,CAAC,IAAK,IAAK,KACnB,YAAe,CAAC,EAAG,IAAK,KACxB,UAAa,CAAC,GAAI,IAAK,KACvB,IAAO,CAAC,IAAK,IAAK,KAClB,KAAQ,CAAC,EAAG,IAAK,KACjB,QAAW,CAAC,IAAK,IAAK,KACtB,OAAU,CAAC,IAAK,GAAI,IACpB,UAAa,CAAC,GAAI,IAAK,KACvB,OAAU,CAAC,IAAK,IAAK,KACrB,MAAS,CAAC,IAAK,IAAK,KACpB,MAAS,CAAC,IAAK,IAAK,KACpB,WAAc,CAAC,IAAK,IAAK,KACzB,OAAU,CAAC,IAAK,IAAK,GACrB,YAAe,CAAC,IAAK,IAAK,KAMvBxC,EAAc,CACfyC,QAASA,EACTC,QAASA,EACTC,OAAQA,EACRC,OAAQA,EACRC,OAAQA,EACRC,SAAUA,EAEVC,UAAWA,EACXC,UAAWA,EACXC,WAAYA,EACZC,cAAeA,EACfC,eAAgBA,EAChBC,UAAWA,EACXC,WAAYA,EACZC,UAAWA,EACXvH,QAASA,GAGZ,SAAS0G,EAAQlO,GACd,GAAKA,EAAL,CAGA,IAAIxG,EAAQ,yBACR+N,EAAO,wCACPyH,EAAO,2FACPC,EAAM,6GACNzH,EAAU,QAEVV,EAAM,CAAC,EAAG,EAAG,GACbpI,EAAI,EACJ5E,EAAQkG,EAAOlG,MAAMN,GACrB0V,EAAW,GACf,GAAIpV,EAAO,CACRA,EAAQA,EAAM,GACdoV,EAAWpV,EAAM,GACjB,IAAK,IAAI2H,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAC7BqF,EAAIrF,GAAK1H,SAASD,EAAM2H,GAAK3H,EAAM2H,GAAI,IAEtCyN,IACDxQ,EAAI5C,KAAKkP,MAAOjR,SAASmV,EAAWA,EAAU,IAAM,IAAO,KAAO,UAGnE,GAAIpV,EAAQkG,EAAOlG,MAAMyN,GAAM,CACjC2H,EAAWpV,EAAM,GACjBA,EAAQA,EAAM,GACd,IAAS2H,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAC7BqF,EAAIrF,GAAK1H,SAASD,EAAMoC,MAAU,EAAJuF,EAAW,EAAJA,EAAQ,GAAI,IAEhDyN,IACDxQ,EAAI5C,KAAKkP,MAAOjR,SAASmV,EAAU,IAAM,IAAO,KAAO,UAGxD,GAAIpV,EAAQkG,EAAOlG,MAAMkV,GAAO,CAClC,IAASvN,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAC7BqF,EAAIrF,GAAK1H,SAASD,EAAM2H,EAAI,IAE/B/C,EAAIyQ,WAAWrV,EAAM,SAEnB,GAAIA,EAAQkG,EAAOlG,MAAMmV,GAAM,CACjC,IAASxN,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAC7BqF,EAAIrF,GAAK3F,KAAKkP,MAAiC,KAA3BmE,WAAWrV,EAAM2H,EAAI,KAE5C/C,EAAIyQ,WAAWrV,EAAM,SAEnB,GAAIA,EAAQkG,EAAOlG,MAAM0N,GAAU,CACrC,GAAgB,eAAZ1N,EAAM,GACP,MAAO,CAAC,EAAG,EAAG,EAAG,GAGpB,GADAgN,EAAMmH,EAAYnU,EAAM,KACnBgN,EACF,OAIN,IAASrF,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAC7BqF,EAAIrF,GAAK2N,EAAMtI,EAAIrF,GAAI,EAAG,KAS7B,OAHG/C,EAJEA,GAAU,GAALA,EAIH0Q,EAAM1Q,EAAG,EAAG,GAHZ,EAKPoI,EAAI,GAAKpI,EACFoI,GAGV,SAASqH,EAAQnO,GACd,GAAKA,EAAL,CAGA,IAAIgH,EAAM,2GACNlN,EAAQkG,EAAOlG,MAAMkN,GACzB,GAAIlN,EAAO,CACR,IAAIuV,EAAQF,WAAWrV,EAAM,IACzB/C,EAAIqY,EAAMrV,SAASD,EAAM,IAAK,EAAG,KACjCnD,EAAIyY,EAAMD,WAAWrV,EAAM,IAAK,EAAG,KACnCE,EAAIoV,EAAMD,WAAWrV,EAAM,IAAK,EAAG,KACnC4E,EAAI0Q,EAAME,MAAMD,GAAS,EAAIA,EAAO,EAAG,GAC3C,MAAO,CAACtY,EAAGJ,EAAGqD,EAAG0E,KAIvB,SAAS4P,EAAOtO,GACb,GAAKA,EAAL,CAGA,IAAIkH,EAAM,yGACNpN,EAAQkG,EAAOlG,MAAMoN,GACzB,GAAIpN,EAAO,CACV,IAAIuV,EAAQF,WAAWrV,EAAM,IACvB/C,EAAIqY,EAAMrV,SAASD,EAAM,IAAK,EAAG,KACjCsB,EAAIgU,EAAMD,WAAWrV,EAAM,IAAK,EAAG,KACnCsD,EAAIgS,EAAMD,WAAWrV,EAAM,IAAK,EAAG,KACnC4E,EAAI0Q,EAAME,MAAMD,GAAS,EAAIA,EAAO,EAAG,GAC3C,MAAO,CAACtY,EAAGqE,EAAGgC,EAAGsB,KAIvB,SAAS0P,EAAOpO,GACb,IAAIgP,EAAOd,EAAQlO,GACnB,OAAOgP,GAAQA,EAAK9S,MAAM,EAAG,GAGhC,SAASmS,EAAOrO,GACd,IAAIuP,EAAOpB,EAAQnO,GACnB,OAAOuP,GAAQA,EAAKrT,MAAM,EAAG,GAG/B,SAASqS,EAASvO,GACf,IAAIwP,EAAOtB,EAAQlO,GACnB,OAAIwP,IAGKA,EAAOrB,EAAQnO,MAGfwP,EAAOlB,EAAOtO,IALbwP,EAAK,QAKV,EAMR,SAAShB,EAAUQ,EAAMtQ,GAClBA,OAAW5B,IAAN4B,GAAmC,IAAhBsQ,EAAKpS,OAAgB8B,EAAIsQ,EAAK,GAC1D,MAAO,IAAMS,EAAUT,EAAK,IACfS,EAAUT,EAAK,IACfS,EAAUT,EAAK,KAEbtQ,GAAK,GAAKA,EAAI,EACb+Q,EAAU3T,KAAKkP,MAAU,IAAJtM,IACrB,IAInB,SAAS+P,EAAUO,EAAMK,GACtB,OAAIA,EAAQ,GAAML,EAAK,IAAMA,EAAK,GAAK,EAC7BN,EAAWM,EAAMK,GAEpB,OAASL,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAAK,IAG/D,SAASN,EAAWM,EAAMK,GAIvB,YAHcvS,IAAVuS,IACDA,OAAqBvS,IAAZkS,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAC9C,KAAOK,EAAQ,IAG5B,SAASV,EAAcK,EAAMK,GAC1B,GAAIA,EAAQ,GAAML,EAAK,IAAMA,EAAK,GAAK,EACpC,OAAOJ,EAAeI,EAAMK,GAE/B,IAAIjH,EAAItM,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KAC7B3G,EAAIvM,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KAC7B5R,EAAItB,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KAEjC,MAAO,OAAS5G,EAAI,MAAQC,EAAI,MAAQjL,EAAI,KAG/C,SAASwR,EAAeI,EAAMK,GAC3B,IAAIjH,EAAItM,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KAC7B3G,EAAIvM,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KAC7B5R,EAAItB,KAAKkP,MAAMgE,EAAK,GAAG,IAAM,KACjC,MAAO,QAAU5G,EAAI,MAAQC,EAAI,MAAQjL,EAAI,OAASiS,GAASL,EAAK,IAAM,GAAK,IAGlF,SAASH,EAAUU,EAAMF,GACtB,OAAIA,EAAQ,GAAME,EAAK,IAAMA,EAAK,GAAK,EAC7BT,EAAWS,EAAMF,GAEpB,OAASE,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,KAGhE,SAAST,EAAWS,EAAMF,GAIvB,YAHcvS,IAAVuS,IACDA,OAAqBvS,IAAZyS,EAAK,GAAmBA,EAAK,GAAK,GAEvC,QAAUA,EAAK,GAAK,KAAOA,EAAK,GAAK,MAAQA,EAAK,GAAK,MACpDF,EAAQ,IAKrB,SAASN,EAAU7H,EAAKmI,GAIrB,YAHcvS,IAAVuS,IACDA,OAAoBvS,IAAXoK,EAAI,GAAmBA,EAAI,GAAK,GAErC,OAASA,EAAI,GAAK,KAAOA,EAAI,GAAK,MAAQA,EAAI,GAAK,UACrCpK,IAAVuS,GAAiC,IAAVA,EAAc,KAAOA,EAAQ,IAAM,IAGxE,SAAS7H,EAAQV,GACf,OAAO4I,EAAa5I,EAAI5K,MAAM,EAAG,IAInC,SAASkT,EAAMhP,EAAKkI,EAAKC,GACtB,OAAOzM,KAAKwM,IAAIxM,KAAKyM,IAAID,EAAKlI,GAAMmI,GAGvC,SAASkH,EAAUrP,GACjB,IAAI9D,EAAM8D,EAAIkL,SAAS,IAAIC,cAC3B,OAAQjP,EAAIM,OAAS,EAAK,IAAMN,EAAMA,EAKxC,IAAIoT,EAAe,GACnB,IAAK,IAAIpW,KAAQ2U,EACdyB,EAAazB,EAAY3U,IAASA,EAOrC,IAAIqW,EAAQ,SAAUC,GACrB,OAAIA,aAAeD,EACXC,EAEF5a,gBAAgB2a,GAItB3a,KAAK6a,OAAQ,EACb7a,KAAK8a,OAAS,CACbhJ,IAAK,CAAC,EAAG,EAAG,GACZE,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,IAAK,CAAC,EAAG,EAAG,GACZC,KAAM,CAAC,EAAG,EAAG,EAAG,GAChBkI,MAAO,QAKW,kBAARO,GACVJ,EAAO/D,EAAYyC,QAAQ0B,GACvBJ,EACHxa,KAAK+a,UAAU,MAAOP,IACZA,EAAO/D,EAAY0C,QAAQyB,IACrC5a,KAAK+a,UAAU,MAAOP,IACZA,EAAO/D,EAAY6C,OAAOsB,KACpC5a,KAAK+a,UAAU,MAAOP,IAEE,kBAARI,IACjBJ,EAAOI,OACQ9S,IAAX0S,EAAKpH,QAAgCtL,IAAb0S,EAAKQ,IAChChb,KAAK+a,UAAU,MAAOP,QACD1S,IAAX0S,EAAKxV,QAAsC8C,IAAnB0S,EAAKS,UACvCjb,KAAK+a,UAAU,MAAOP,QACD1S,IAAX0S,EAAK5G,QAAkC9L,IAAf0S,EAAKxH,MACvChT,KAAK+a,UAAU,MAAOP,QACD1S,IAAX0S,EAAKpU,QAAsC0B,IAAnB0S,EAAKU,UACvClb,KAAK+a,UAAU,MAAOP,QACD1S,IAAX0S,EAAK7Q,QAAiC7B,IAAd0S,EAAKW,MACvCnb,KAAK+a,UAAU,OAAQP,MAnCjB,IAAIG,EAAMC,GAclB,IAAIJ,GA0BLG,EAAMjC,UAAY,CACjB0C,QAAS,WACR,OAAOpb,KAAK6a,OAEb/I,IAAK,WACJ,OAAO9R,KAAKqb,SAAS,MAAOtF,YAE7B/D,IAAK,WACJ,OAAOhS,KAAKqb,SAAS,MAAOtF,YAE7B9D,IAAK,WACJ,OAAOjS,KAAKqb,SAAS,MAAOtF,YAE7B7D,IAAK,WACJ,OAAOlS,KAAKqb,SAAS,MAAOtF,YAE7B5D,KAAM,WACL,OAAOnS,KAAKqb,SAAS,OAAQtF,YAG9BuF,SAAU,WACT,OAAOtb,KAAK8a,OAAOhJ,KAEpByJ,SAAU,WACT,OAAOvb,KAAK8a,OAAO9I,KAEpBwJ,SAAU,WACT,OAAOxb,KAAK8a,OAAO7I,KAEpBwJ,SAAU,WACT,IAAIX,EAAS9a,KAAK8a,OAClB,OAAqB,IAAjBA,EAAOT,MACHS,EAAO5I,IAAIwJ,OAAO,CAACZ,EAAOT,QAE3BS,EAAO5I,KAEfyJ,UAAW,WACV,OAAO3b,KAAK8a,OAAO3I,MAEpByJ,UAAW,WACV,IAAId,EAAS9a,KAAK8a,OAClB,OAAOA,EAAOhJ,IAAI4J,OAAO,CAACZ,EAAOT,SAElCwB,UAAW,WACV,IAAIf,EAAS9a,KAAK8a,OAClB,OAAOA,EAAO9I,IAAI0J,OAAO,CAACZ,EAAOT,SAElCA,MAAO,SAAU7F,GAChB,YAAY1M,IAAR0M,EACIxU,KAAK8a,OAAOT,OAEpBra,KAAK+a,UAAU,QAASvG,GACjBxU,OAGRgb,IAAK,SAAUxG,GACd,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCuH,MAAO,SAAUvH,GAChB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCwH,KAAM,SAAUxH,GACf,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCqC,IAAK,SAAUrC,GAKd,OAJIA,IACHA,GAAO,IACPA,EAAMA,EAAM,EAAI,IAAMA,EAAMA,GAEtBxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCyH,WAAY,SAAUzH,GACrB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCyG,UAAW,SAAUzG,GACpB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElC0H,YAAa,SAAU1H,GACtB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElC0G,UAAW,SAAU1G,GACpB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElC2H,UAAW,SAAU3H,GACpB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElCxB,MAAO,SAAUwB,GAChB,OAAOxU,KAAK8b,WAAW,MAAO,EAAGtH,IAElC2G,KAAM,SAAU3G,GACf,OAAOxU,KAAK8b,WAAW,OAAQ,EAAGtH,IAEnC4H,QAAS,SAAU5H,GAClB,OAAOxU,KAAK8b,WAAW,OAAQ,EAAGtH,IAEnC6H,OAAQ,SAAU7H,GACjB,OAAOxU,KAAK8b,WAAW,OAAQ,EAAGtH,IAEnC8H,MAAO,SAAU9H,GAChB,OAAOxU,KAAK8b,WAAW,OAAQ,EAAGtH,IAGnCgF,UAAW,WACV,OAAO/C,EAAY+C,UAAUxZ,KAAK8a,OAAOhJ,MAE1C2H,UAAW,WACV,OAAOhD,EAAYgD,UAAUzZ,KAAK8a,OAAOhJ,IAAK9R,KAAK8a,OAAOT,QAE3DX,WAAY,WACX,OAAOjD,EAAYiD,WAAW1Z,KAAK8a,OAAOhJ,IAAK9R,KAAK8a,OAAOT,QAE5DV,cAAe,WACd,OAAOlD,EAAYkD,cAAc3Z,KAAK8a,OAAOhJ,IAAK9R,KAAK8a,OAAOT,QAE/DR,UAAW,WACV,OAAOpD,EAAYoD,UAAU7Z,KAAK8a,OAAO9I,IAAKhS,KAAK8a,OAAOT,QAE3DP,WAAY,WACX,OAAOrD,EAAYqD,WAAW9Z,KAAK8a,OAAO9I,IAAKhS,KAAK8a,OAAOT,QAE5DN,UAAW,WACV,OAAOtD,EAAYsD,UAAU/Z,KAAK8a,OAAO5I,IAAKlS,KAAK8a,OAAOT,QAE3D7H,QAAS,WACR,OAAOiE,EAAYjE,QAAQxS,KAAK8a,OAAOhJ,IAAK9R,KAAK8a,OAAOT,QAGzDkC,UAAW,WACV,IAAIzK,EAAM9R,KAAK8a,OAAOhJ,IACtB,OAAQA,EAAI,IAAM,GAAOA,EAAI,IAAM,EAAKA,EAAI,IAG7C0K,WAAY,WAIX,IAFA,IAAI1K,EAAM9R,KAAK8a,OAAOhJ,IAClB2K,EAAM,GACDhQ,EAAI,EAAGA,EAAIqF,EAAIlK,OAAQ6E,IAAK,CACpC,IAAIiQ,EAAO5K,EAAIrF,GAAK,IACpBgQ,EAAIhQ,GAAMiQ,GAAQ,OAAWA,EAAO,MAAQ5V,KAAKqM,KAAMuJ,EAAO,MAAS,MAAQ,KAEhF,MAAO,MAASD,EAAI,GAAK,MAASA,EAAI,GAAK,MAASA,EAAI,IAGzDE,SAAU,SAAUC,GAEnB,IAAIC,EAAO7c,KAAKwc,aACZM,EAAOF,EAAOJ,aAClB,OAAIK,EAAOC,GACFD,EAAO,MAASC,EAAO,MAExBA,EAAO,MAASD,EAAO,MAGhCE,MAAO,SAAUH,GAChB,IAAII,EAAgBhd,KAAK2c,SAASC,GAClC,OAAII,GAAiB,IACb,MAGAA,GAAiB,IAAO,KAAO,IAGxCC,KAAM,WAEL,IAAInL,EAAM9R,KAAK8a,OAAOhJ,IAClBoL,GAAgB,IAATpL,EAAI,GAAoB,IAATA,EAAI,GAAoB,IAATA,EAAI,IAAY,IACzD,OAAOoL,EAAM,KAGdC,MAAO,WACN,OAAQnd,KAAKid,QAGdG,OAAQ,WAEP,IADA,IAAItL,EAAM,GACDrF,EAAI,EAAGA,EAAI,EAAGA,IACtBqF,EAAIrF,GAAK,IAAMzM,KAAK8a,OAAOhJ,IAAIrF,GAGhC,OADAzM,KAAK+a,UAAU,MAAOjJ,GACf9R,MAGRqd,QAAS,SAAUjI,GAClB,IAAIpD,EAAMhS,KAAK8a,OAAO9I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKoD,EACnBpV,KAAK+a,UAAU,MAAO/I,GACfhS,MAGRsd,OAAQ,SAAUlI,GACjB,IAAIpD,EAAMhS,KAAK8a,OAAO9I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKoD,EACnBpV,KAAK+a,UAAU,MAAO/I,GACfhS,MAGRud,SAAU,SAAUnI,GACnB,IAAIpD,EAAMhS,KAAK8a,OAAO9I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKoD,EACnBpV,KAAK+a,UAAU,MAAO/I,GACfhS,MAGRwd,WAAY,SAAUpI,GACrB,IAAIpD,EAAMhS,KAAK8a,OAAO9I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKoD,EACnBpV,KAAK+a,UAAU,MAAO/I,GACfhS,MAGRyd,OAAQ,SAAUrI,GACjB,IAAIlD,EAAMlS,KAAK8a,OAAO5I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKkD,EACnBpV,KAAK+a,UAAU,MAAO7I,GACflS,MAGR0d,QAAS,SAAUtI,GAClB,IAAIlD,EAAMlS,KAAK8a,OAAO5I,IAGtB,OAFAA,EAAI,IAAMA,EAAI,GAAKkD,EACnBpV,KAAK+a,UAAU,MAAO7I,GACflS,MAGR2d,UAAW,WACV,IAAI7L,EAAM9R,KAAK8a,OAAOhJ,IAElB0C,EAAe,GAAT1C,EAAI,GAAoB,IAATA,EAAI,GAAqB,IAATA,EAAI,GAE7C,OADA9R,KAAK+a,UAAU,MAAO,CAACvG,EAAKA,EAAKA,IAC1BxU,MAGR4d,QAAS,SAAUxI,GAClB,IAAIiF,EAAQra,KAAK8a,OAAOT,MAExB,OADAra,KAAK+a,UAAU,QAASV,EAASA,EAAQjF,GAClCpV,MAGR6d,QAAS,SAAUzI,GAClB,IAAIiF,EAAQra,KAAK8a,OAAOT,MAExB,OADAra,KAAK+a,UAAU,QAASV,EAASA,EAAQjF,GAClCpV,MAGR8d,OAAQ,SAAUC,GACjB,IAAI/L,EAAMhS,KAAK8a,OAAO9I,IAClB6E,GAAO7E,EAAI,GAAK+L,GAAW,IAG/B,OAFA/L,EAAI,GAAK6E,EAAM,EAAI,IAAMA,EAAMA,EAC/B7W,KAAK+a,UAAU,MAAO/I,GACfhS,MAORge,IAAK,SAAUC,EAAYC,GAC1B,IAAIC,EAASne,KACT4c,EAASqB,EACTpJ,OAAe/M,IAAXoW,EAAuB,GAAMA,EAEjC9X,EAAI,EAAIyO,EAAI,EACZnL,EAAIyU,EAAO9D,QAAUuC,EAAOvC,QAE5B+D,IAAQhY,EAAIsD,KAAO,EAAKtD,GAAKA,EAAIsD,IAAM,EAAItD,EAAIsD,IAAM,GAAK,EAC1D2U,EAAK,EAAID,EAEb,OAAOpe,KACL8R,IACAsM,EAAKD,EAAOnD,MAAQqD,EAAKzB,EAAO5B,MAChCoD,EAAKD,EAAOpC,QAAUsC,EAAKzB,EAAOb,QAClCqC,EAAKD,EAAOnC,OAASqC,EAAKzB,EAAOZ,QAEjC3B,MAAM8D,EAAO9D,QAAUxF,EAAI+H,EAAOvC,SAAW,EAAIxF,KAGpDyJ,OAAQ,WACP,OAAOte,KAAK8R,OAGbyM,MAAO,WAKN,IAGIvL,EAAO9E,EAHPnK,EAAS,IAAI4W,EACb6D,EAASxe,KAAK8a,OACd2D,EAAS1a,EAAO+W,OAGpB,IAAK,IAAI4D,KAAQF,EACZA,EAAOpR,eAAesR,KACzB1L,EAAQwL,EAAOE,GACfxQ,EAAO,GAAKoI,SAASqC,KAAK3F,GACb,mBAAT9E,EACHuQ,EAAOC,GAAQ1L,EAAM9L,MAAM,GACR,oBAATgH,EACVuQ,EAAOC,GAAQ1L,EAEf2L,QAAQC,MAAM,0BAA2B5L,IAK5C,OAAOjP,IAIT4W,EAAMjC,UAAUmG,OAAS,CACxB/M,IAAK,CAAC,MAAO,QAAS,QACtBE,IAAK,CAAC,MAAO,aAAc,aAC3BC,IAAK,CAAC,MAAO,aAAc,SAC3BC,IAAK,CAAC,MAAO,YAAa,aAC1BC,KAAM,CAAC,OAAQ,UAAW,SAAU,UAGrCwI,EAAMjC,UAAUoG,MAAQ,CACvBhN,IAAK,CAAC,IAAK,IAAK,KAChBE,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,IAAK,CAAC,IAAK,IAAK,KAChBC,KAAM,CAAC,IAAK,IAAK,IAAK,MAGvBwI,EAAMjC,UAAUqG,UAAY,SAAUC,GAIrC,IAHA,IAAIlE,EAAS9a,KAAK8a,OACdN,EAAO,GAEF/N,EAAI,EAAGA,EAAIuS,EAAMpX,OAAQ6E,IACjC+N,EAAKwE,EAAMjY,OAAO0F,IAAMqO,EAAOkE,GAAOvS,GAQvC,OALqB,IAAjBqO,EAAOT,QACVG,EAAK9Q,EAAIoR,EAAOT,OAIVG,GAGRG,EAAMjC,UAAUqC,UAAY,SAAUiE,EAAOxE,GAC5C,IAII/N,EAkCAwS,EAtCAnE,EAAS9a,KAAK8a,OACd+D,EAAS7e,KAAK6e,OACdC,EAAQ9e,KAAK8e,MACbzE,EAAQ,EAKZ,GAFAra,KAAK6a,OAAQ,EAEC,UAAVmE,EACH3E,EAAQG,OACF,GAAIA,EAAK5S,OAEfkT,EAAOkE,GAASxE,EAAKtT,MAAM,EAAG8X,EAAMpX,QACpCyS,EAAQG,EAAKwE,EAAMpX,aACb,QAA8BE,IAA1B0S,EAAKwE,EAAMjY,OAAO,IAAmB,CAE/C,IAAK0F,EAAI,EAAGA,EAAIuS,EAAMpX,OAAQ6E,IAC7BqO,EAAOkE,GAAOvS,GAAK+N,EAAKwE,EAAMjY,OAAO0F,IAGtC4N,EAAQG,EAAK9Q,OACP,QAA+B5B,IAA3B0S,EAAKqE,EAAOG,GAAO,IAAmB,CAEhD,IAAIE,EAAQL,EAAOG,GAEnB,IAAKvS,EAAI,EAAGA,EAAIuS,EAAMpX,OAAQ6E,IAC7BqO,EAAOkE,GAAOvS,GAAK+N,EAAK0E,EAAMzS,IAG/B4N,EAAQG,EAAKH,MAKd,GAFAS,EAAOT,MAAQvT,KAAKyM,IAAI,EAAGzM,KAAKwM,IAAI,OAAcxL,IAAVuS,EAAsBS,EAAOT,MAAQA,IAE/D,UAAV2E,EACH,OAAO,EAMR,IAAKvS,EAAI,EAAGA,EAAIuS,EAAMpX,OAAQ6E,IAC7BwS,EAASnY,KAAKyM,IAAI,EAAGzM,KAAKwM,IAAIwL,EAAME,GAAOvS,GAAIqO,EAAOkE,GAAOvS,KAC7DqO,EAAOkE,GAAOvS,GAAK3F,KAAKkP,MAAMiJ,GAI/B,IAAK,IAAIE,KAASN,EACbM,IAAUH,IACblE,EAAOqE,GAASnG,EAAagG,GAAOG,GAAOrE,EAAOkE,KAIpD,OAAO,GAGRrE,EAAMjC,UAAU2C,SAAW,SAAU2D,EAAOlJ,GAC3C,IAAI0E,EAAO1E,EAAK,GAEhB,YAAahO,IAAT0S,EAEIxa,KAAK+e,UAAUC,IAIH,kBAATxE,IACVA,EAAOnL,MAAMqJ,UAAUxR,MAAMyR,KAAK7C,IAGnC9V,KAAK+a,UAAUiE,EAAOxE,GACfxa,OAGR2a,EAAMjC,UAAUoD,WAAa,SAAUkD,EAAOI,EAAO5K,GACpD,IAAI6K,EAAUrf,KAAK8a,OAAOkE,GAC1B,YAAYlX,IAAR0M,EAEI6K,EAAQD,IACL5K,IAAQ6K,EAAQD,KAM3BC,EAAQD,GAAS5K,EACjBxU,KAAK+a,UAAUiE,EAAOK,IALdrf,OAUa,qBAAXsf,SACVA,OAAO3E,MAAQA,GAGhB,IAAI4E,EAAe5E,EAEnB,SAAS6E,EAAW3b,GACnB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAemJ,QAAQnJ,GAM1D,IAAI4b,EAAU,CAIbC,KAAM,aAONC,IAAM,WACL,IAAI5Q,EAAK,EACT,OAAO,WACN,OAAOA,KAHJ,GAaL6Q,cAAe,SAAS5M,GACvB,OAAiB,OAAVA,GAAmC,qBAAVA,GASjC6M,QAAS,SAAS7M,GACjB,GAAI3D,MAAMwQ,SAAWxQ,MAAMwQ,QAAQ7M,GAClC,OAAO,EAER,IAAI9E,EAAOvB,OAAO+L,UAAUpC,SAASqC,KAAK3F,GAC1C,MAA0B,YAAtB9E,EAAK4R,OAAO,EAAG,IAAwC,WAApB5R,EAAK4R,QAAQ,IAYrDC,SAAU,SAAS/M,GAClB,OAAiB,OAAVA,GAA4D,oBAA1CrG,OAAO+L,UAAUpC,SAASqC,KAAK3F,IAQzDgN,SAAU,SAAShN,GAClB,OAAyB,kBAAVA,GAAsBA,aAAiB7D,SAAW6Q,SAAShN,IAS3EiN,eAAgB,SAASjN,EAAOkN,GAC/B,MAAwB,qBAAVlN,EAAwBkN,EAAelN,GAUtDmN,sBAAuB,SAASnN,EAAOoM,EAAOc,GAC7C,OAAOT,EAAQQ,eAAeR,EAAQI,QAAQ7M,GAASA,EAAMoM,GAASpM,EAAOkN,IAW9EE,SAAU,SAAS5O,EAAIsE,EAAMuK,GAC5B,GAAI7O,GAAyB,oBAAZA,EAAGmH,KACnB,OAAOnH,EAAG8O,MAAMD,EAASvK,IAa3ByK,KAAM,SAASC,EAAUhP,EAAI6O,EAASI,GACrC,IAAIhU,EAAG2K,EAAKxK,EACZ,GAAI6S,EAAQI,QAAQW,GAEnB,GADApJ,EAAMoJ,EAAS5Y,OACX6Y,EACH,IAAKhU,EAAI2K,EAAM,EAAG3K,GAAK,EAAGA,IACzB+E,EAAGmH,KAAK0H,EAASG,EAAS/T,GAAIA,QAG/B,IAAKA,EAAI,EAAGA,EAAI2K,EAAK3K,IACpB+E,EAAGmH,KAAK0H,EAASG,EAAS/T,GAAIA,QAG1B,GAAIgT,EAAQM,SAASS,GAG3B,IAFA5T,EAAOD,OAAOC,KAAK4T,GACnBpJ,EAAMxK,EAAKhF,OACN6E,EAAI,EAAGA,EAAI2K,EAAK3K,IACpB+E,EAAGmH,KAAK0H,EAASG,EAAS5T,EAAKH,IAAKG,EAAKH,KAY5CiU,YAAa,SAASC,EAAIC,GACzB,IAAInU,EAAGoU,EAAMC,EAAIC,EAEjB,IAAKJ,IAAOC,GAAMD,EAAG/Y,SAAWgZ,EAAGhZ,OAClC,OAAO,EAGR,IAAK6E,EAAI,EAAGoU,EAAOF,EAAG/Y,OAAQ6E,EAAIoU,IAAQpU,EAIzC,GAHAqU,EAAKH,EAAGlU,GACRsU,EAAKH,EAAGnU,GAEJqU,aAAczR,OAAS0R,aAAc1R,OACxC,IAAKoQ,EAAQiB,YAAYI,EAAIC,GAC5B,OAAO,OAEF,GAAID,IAAOC,EAEjB,OAAO,EAIT,OAAO,GAQRxC,MAAO,SAASC,GACf,GAAIiB,EAAQI,QAAQrB,GACnB,OAAOA,EAAOxS,IAAIyT,EAAQlB,OAG3B,GAAIkB,EAAQM,SAASvB,GAAS,CAM7B,IALA,IAAIC,EAAS9R,OAAOqU,OAAOxC,GACvB5R,EAAOD,OAAOC,KAAK4R,GACnByC,EAAOrU,EAAKhF,OACZmM,EAAI,EAEDA,EAAIkN,IAAQlN,EAClB0K,EAAO7R,EAAKmH,IAAM0L,EAAQlB,MAAMC,EAAO5R,EAAKmH,KAG7C,OAAO0K,EAGR,OAAOD,GAQR0C,QAAS,SAASrd,EAAK4a,EAAQD,EAAQ3Q,GACtC,GAAK2R,EAAW3b,GAAhB,CAMA,IAAIsd,EAAO1C,EAAO5a,GACdud,EAAO5C,EAAO3a,GAEd4b,EAAQM,SAASoB,IAAS1B,EAAQM,SAASqB,GAC9C3B,EAAQ4B,MAAMF,EAAMC,EAAMvT,GAE1B4Q,EAAO5a,GAAO4b,EAAQlB,MAAM6C,KAQ9BE,UAAW,SAASzd,EAAK4a,EAAQD,GAChC,GAAKgB,EAAW3b,GAAhB,CAMA,IAAIsd,EAAO1C,EAAO5a,GACdud,EAAO5C,EAAO3a,GAEd4b,EAAQM,SAASoB,IAAS1B,EAAQM,SAASqB,GAC9C3B,EAAQ8B,QAAQJ,EAAMC,GACX3C,EAAOrR,eAAevJ,KACjC4a,EAAO5a,GAAO4b,EAAQlB,MAAM6C,MAa9BC,MAAO,SAAS5C,EAAQD,EAAQ3Q,GAC/B,IAEIwT,EAAO5U,EAAGG,EAAMqU,EAAMlN,EAFtByN,EAAU/B,EAAQI,QAAQrB,GAAUA,EAAS,CAACA,GAC9CqC,EAAOW,EAAQ5Z,OAGnB,IAAK6X,EAAQM,SAAStB,GACrB,OAAOA,EAMR,IAHA5Q,EAAUA,GAAW,GACrBwT,EAAQxT,EAAQ4T,QAAUhC,EAAQyB,QAE7BzU,EAAI,EAAGA,EAAIoU,IAAQpU,EAEvB,GADA+R,EAASgD,EAAQ/U,GACZgT,EAAQM,SAASvB,GAKtB,IADA5R,EAAOD,OAAOC,KAAK4R,GACdzK,EAAI,EAAGkN,EAAOrU,EAAKhF,OAAQmM,EAAIkN,IAAQlN,EAC3CsN,EAAMzU,EAAKmH,GAAI0K,EAAQD,EAAQ3Q,GAIjC,OAAO4Q,GAUR8C,QAAS,SAAS9C,EAAQD,GACzB,OAAOiB,EAAQ4B,MAAM5C,EAAQD,EAAQ,CAACiD,OAAQhC,EAAQ6B,aAUvDI,OAAQ/U,OAAOgV,QAAU,SAASlD,GACjC,OAAOgB,EAAQ4B,MAAM5C,EAAQ,GAAGvX,MAAMyR,KAAK5C,UAAW,GAAI,CACzD0L,OAAQ,SAAS5d,EAAK+d,EAAKC,GAC1BD,EAAI/d,GAAOge,EAAIhe,OAQlBie,SAAU,SAASC,GAClB,IAAI5Q,EAAKnR,KACLgiB,EAAgBD,GAAcA,EAAW3U,eAAe,eAAkB2U,EAAWE,YAAc,WACtG,OAAO9Q,EAAGmP,MAAMtgB,KAAM+V,YAGnBmM,EAAY,WACfliB,KAAKiiB,YAAcD,GAYpB,OATAE,EAAUxJ,UAAYvH,EAAGuH,UACzBsJ,EAAatJ,UAAY,IAAIwJ,EAC7BF,EAAaN,OAASjC,EAAQqC,SAE1BC,GACHtC,EAAQiC,OAAOM,EAAatJ,UAAWqJ,GAGxCC,EAAaG,UAAYhR,EAAGuH,UACrBsJ,GAGRI,YAAa,SAASC,EAAOrP,EAAOsP,EAAU7K,QAC/B3P,IAAVkL,GACH2L,QAAQ4D,KAAKF,EAAQ,MAAQC,EAC5B,gCAAkC7K,EAAU,eAK5C+K,EAAe/C,EAWnBA,EAAQgD,aAAehD,EAAQW,SAU/BX,EAAQzS,QAAU,SAAS0V,EAAOC,EAAMC,GACvC,OAAOvT,MAAMqJ,UAAU1L,QAAQ2L,KAAK+J,EAAOC,EAAMC,IAUlDnD,EAAQoD,kBAAoBpD,EAAQQ,eASpCR,EAAQqD,yBAA2BrD,EAAQU,sBAO3C,IAAI4C,EAAU,CACbC,OAAQ,SAASjO,GAChB,OAAOA,GAGRkO,WAAY,SAASlO,GACpB,OAAOA,EAAIA,GAGZmO,YAAa,SAASnO,GACrB,OAAQA,GAAKA,EAAI,IAGlBoO,cAAe,SAASpO,GACvB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,GAEV,MAAUA,GAAMA,EAAI,GAAK,IAGlCqO,YAAa,SAASrO,GACrB,OAAOA,EAAIA,EAAIA,GAGhBsO,aAAc,SAAStO,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAI,GAG9BuO,eAAgB,SAASvO,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAEf,KAAQA,GAAK,GAAKA,EAAIA,EAAI,IAGlCwO,YAAa,SAASxO,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,GAGpByO,aAAc,SAASzO,GACtB,SAAUA,GAAQ,GAAKA,EAAIA,EAAIA,EAAI,IAGpC0O,eAAgB,SAAS1O,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,GAElB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,IAGvC2O,YAAa,SAAS3O,GACrB,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAGxB4O,aAAc,SAAS5O,GACtB,OAAQA,GAAQ,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAGtC6O,eAAgB,SAAS7O,GACxB,OAAKA,GAAK,IAAO,EACT,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAEvB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,IAG1C8O,WAAY,SAAS9O,GACpB,OAAsC,EAA9BjO,KAAK8O,IAAIb,GAAKjO,KAAK4O,GAAK,KAGjCoO,YAAa,SAAS/O,GACrB,OAAOjO,KAAK+O,IAAId,GAAKjO,KAAK4O,GAAK,KAGhCqO,cAAe,SAAShP,GACvB,OAAQ,IAAOjO,KAAK8O,IAAI9O,KAAK4O,GAAKX,GAAK,IAGxCiP,WAAY,SAASjP,GACpB,OAAc,IAANA,EAAW,EAAIjO,KAAKqM,IAAI,EAAG,IAAM4B,EAAI,KAG9CkP,YAAa,SAASlP,GACrB,OAAc,IAANA,EAAW,EAA4B,EAAvBjO,KAAKqM,IAAI,GAAI,GAAK4B,IAG3CmP,cAAe,SAASnP,GACvB,OAAU,IAANA,EACI,EAEE,IAANA,EACI,GAEHA,GAAK,IAAO,EACT,GAAMjO,KAAKqM,IAAI,EAAG,IAAM4B,EAAI,IAE7B,IAAiC,EAAzBjO,KAAKqM,IAAI,GAAI,KAAO4B,KAGpCoP,WAAY,SAASpP,GACpB,OAAIA,GAAK,EACDA,IAECjO,KAAK6O,KAAK,EAAIZ,EAAIA,GAAK,IAGjCqP,YAAa,SAASrP,GACrB,OAAOjO,KAAK6O,KAAK,GAAKZ,GAAQ,GAAKA,IAGpCsP,cAAe,SAAStP,GACvB,OAAKA,GAAK,IAAO,GACR,IAAOjO,KAAK6O,KAAK,EAAIZ,EAAIA,GAAK,GAEhC,IAAOjO,KAAK6O,KAAK,GAAKZ,GAAK,GAAKA,GAAK,IAG7CuP,cAAe,SAASvP,GACvB,IAAIpT,EAAI,QACJkT,EAAI,EACJnL,EAAI,EACR,OAAU,IAANqL,EACI,EAEE,IAANA,EACI,GAEHF,IACJA,EAAI,IAEDnL,EAAI,GACPA,EAAI,EACJ/H,EAAIkT,EAAI,GAERlT,EAAIkT,GAAK,EAAI/N,KAAK4O,IAAM5O,KAAKyd,KAAK,EAAI7a,IAE9BA,EAAI5C,KAAKqM,IAAI,EAAG,IAAM4B,GAAK,IAAMjO,KAAK+O,KAAKd,EAAIpT,IAAM,EAAImF,KAAK4O,IAAMb,KAG9E2P,eAAgB,SAASzP,GACxB,IAAIpT,EAAI,QACJkT,EAAI,EACJnL,EAAI,EACR,OAAU,IAANqL,EACI,EAEE,IAANA,EACI,GAEHF,IACJA,EAAI,IAEDnL,EAAI,GACPA,EAAI,EACJ/H,EAAIkT,EAAI,GAERlT,EAAIkT,GAAK,EAAI/N,KAAK4O,IAAM5O,KAAKyd,KAAK,EAAI7a,GAEhCA,EAAI5C,KAAKqM,IAAI,GAAI,GAAK4B,GAAKjO,KAAK+O,KAAKd,EAAIpT,IAAM,EAAImF,KAAK4O,IAAMb,GAAK,IAG3E4P,iBAAkB,SAAS1P,GAC1B,IAAIpT,EAAI,QACJkT,EAAI,EACJnL,EAAI,EACR,OAAU,IAANqL,EACI,EAEW,KAAdA,GAAK,IACF,GAEHF,IACJA,EAAI,KAEDnL,EAAI,GACPA,EAAI,EACJ/H,EAAIkT,EAAI,GAERlT,EAAIkT,GAAK,EAAI/N,KAAK4O,IAAM5O,KAAKyd,KAAK,EAAI7a,GAEnCqL,EAAI,EACQrL,EAAI5C,KAAKqM,IAAI,EAAG,IAAM4B,GAAK,IAAMjO,KAAK+O,KAAKd,EAAIpT,IAAM,EAAImF,KAAK4O,IAAMb,IAA3E,GAEFnL,EAAI5C,KAAKqM,IAAI,GAAI,IAAM4B,GAAK,IAAMjO,KAAK+O,KAAKd,EAAIpT,IAAM,EAAImF,KAAK4O,IAAMb,GAAK,GAAM,IAExF6P,WAAY,SAAS3P,GACpB,IAAIpT,EAAI,QACR,OAAOoT,EAAIA,IAAMpT,EAAI,GAAKoT,EAAIpT,IAG/BgjB,YAAa,SAAS5P,GACrB,IAAIpT,EAAI,QACR,OAAQoT,GAAQ,GAAKA,IAAMpT,EAAI,GAAKoT,EAAIpT,GAAK,GAG9CijB,cAAe,SAAS7P,GACvB,IAAIpT,EAAI,QACR,OAAKoT,GAAK,IAAO,EACFA,EAAIA,IAAuB,GAAhBpT,GAAK,QAAgBoT,EAAIpT,GAA3C,GAED,KAAQoT,GAAK,GAAKA,IAAuB,GAAhBpT,GAAK,QAAgBoT,EAAIpT,GAAK,IAG/DkjB,aAAc,SAAS9P,GACtB,OAAO,EAAIgO,EAAQ+B,cAAc,EAAI/P,IAGtC+P,cAAe,SAAS/P,GACvB,OAAIA,EAAK,EAAI,KACL,OAASA,EAAIA,EAEjBA,EAAK,EAAI,KACL,QAAUA,GAAM,IAAM,MAASA,EAAI,IAEvCA,EAAK,IAAM,KACP,QAAUA,GAAM,KAAO,MAASA,EAAI,MAErC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAG7CgQ,gBAAiB,SAAShQ,GACzB,OAAIA,EAAI,GAC8B,GAA9BgO,EAAQ8B,aAAiB,EAAJ9P,GAEa,GAAnCgO,EAAQ+B,cAAkB,EAAJ/P,EAAQ,GAAW,KAI9CiQ,EAAiB,CACpBjC,QAASA,GAYVP,EAAayC,cAAgBlC,EAE7B,IAAIrN,EAAK5O,KAAK4O,GACVwP,EAAcxP,EAAK,IACnByP,EAAiB,EAALzP,EACZ0P,EAAU1P,EAAK,EACf2P,EAAa3P,EAAK,EAClB4P,EAAqB,EAAL5P,EAAS,EAKzB6P,EAAY,CAKfC,MAAO,SAAS7Z,GACfA,EAAM8Z,IAAIC,UAAU,EAAG,EAAG/Z,EAAMqD,MAAOrD,EAAMsD,SAc9C0W,YAAa,SAASF,EAAKvS,EAAG7Q,EAAG2M,EAAOC,EAAQ2W,GAC/C,GAAIA,EAAQ,CACX,IAAIxS,EAAItM,KAAKwM,IAAIsS,EAAQ3W,EAAS,EAAGD,EAAQ,GACzC6W,EAAO3S,EAAIE,EACX0S,EAAMzjB,EAAI+Q,EACV2S,EAAQ7S,EAAIlE,EAAQoE,EACpB4S,EAAS3jB,EAAI4M,EAASmE,EAE1BqS,EAAIQ,OAAO/S,EAAG4S,GACVD,EAAOE,GAASD,EAAME,GACzBP,EAAIS,IAAIL,EAAMC,EAAK1S,GAAIsC,GAAK0P,GAC5BK,EAAIS,IAAIH,EAAOD,EAAK1S,GAAIgS,EAAS,GACjCK,EAAIS,IAAIH,EAAOC,EAAQ5S,EAAG,EAAGgS,GAC7BK,EAAIS,IAAIL,EAAMG,EAAQ5S,EAAGgS,EAAS1P,IACxBmQ,EAAOE,GACjBN,EAAIQ,OAAOJ,EAAMxjB,GACjBojB,EAAIS,IAAIH,EAAOD,EAAK1S,GAAIgS,EAASA,GACjCK,EAAIS,IAAIL,EAAMC,EAAK1S,EAAGgS,EAAS1P,EAAK0P,IAC1BU,EAAME,GAChBP,EAAIS,IAAIL,EAAMC,EAAK1S,GAAIsC,EAAI,GAC3B+P,EAAIS,IAAIL,EAAMG,EAAQ5S,EAAG,EAAGsC,IAE5B+P,EAAIS,IAAIL,EAAMC,EAAK1S,GAAIsC,EAAIA,GAE5B+P,EAAIU,YACJV,EAAIQ,OAAO/S,EAAG7Q,QAEdojB,EAAIW,KAAKlT,EAAG7Q,EAAG2M,EAAOC,IAIxBoX,UAAW,SAASZ,EAAK/W,EAAOkX,EAAQ1S,EAAG7Q,EAAGikB,GAC7C,IAAIpY,EAAMqY,EAASC,EAASC,EAAMC,EAC9BC,GAAOL,GAAY,GAAKpB,EAE5B,GAAIxW,GAA0B,kBAAVA,IACnBR,EAAOQ,EAAM4H,WACA,8BAATpI,GAAiD,+BAATA,GAM3C,OALAuX,EAAImB,OACJnB,EAAI/hB,UAAUwP,EAAG7Q,GACjBojB,EAAI3H,OAAO6I,GACXlB,EAAIoB,UAAUnY,GAAQA,EAAMM,MAAQ,GAAIN,EAAMO,OAAS,EAAGP,EAAMM,MAAON,EAAMO,aAC7EwW,EAAIqB,UAKN,KAAIxM,MAAMsL,IAAWA,GAAU,GAA/B,CAMA,OAFAH,EAAIsB,YAEIrY,GAER,QACC+W,EAAIS,IAAIhT,EAAG7Q,EAAGujB,EAAQ,EAAGT,GACzBM,EAAIU,YACJ,MACD,IAAK,WACJV,EAAIQ,OAAO/S,EAAIpM,KAAK+O,IAAI8Q,GAAOf,EAAQvjB,EAAIyE,KAAK8O,IAAI+Q,GAAOf,GAC3De,GAAOrB,EACPG,EAAIuB,OAAO9T,EAAIpM,KAAK+O,IAAI8Q,GAAOf,EAAQvjB,EAAIyE,KAAK8O,IAAI+Q,GAAOf,GAC3De,GAAOrB,EACPG,EAAIuB,OAAO9T,EAAIpM,KAAK+O,IAAI8Q,GAAOf,EAAQvjB,EAAIyE,KAAK8O,IAAI+Q,GAAOf,GAC3DH,EAAIU,YACJ,MACD,IAAK,cAQJO,EAAwB,KAATd,EACfa,EAAOb,EAASc,EAChBH,EAAUzf,KAAK8O,IAAI+Q,EAAMtB,GAAcoB,EACvCD,EAAU1f,KAAK+O,IAAI8Q,EAAMtB,GAAcoB,EACvChB,EAAIS,IAAIhT,EAAIqT,EAASlkB,EAAImkB,EAASE,EAAcC,EAAMjR,EAAIiR,EAAMvB,GAChEK,EAAIS,IAAIhT,EAAIsT,EAASnkB,EAAIkkB,EAASG,EAAcC,EAAMvB,EAASuB,GAC/DlB,EAAIS,IAAIhT,EAAIqT,EAASlkB,EAAImkB,EAASE,EAAcC,EAAKA,EAAMvB,GAC3DK,EAAIS,IAAIhT,EAAIsT,EAASnkB,EAAIkkB,EAASG,EAAcC,EAAMvB,EAASuB,EAAMjR,GACrE+P,EAAIU,YACJ,MACD,IAAK,OACJ,IAAKG,EAAU,CACdG,EAAO3f,KAAKmgB,QAAUrB,EACtBH,EAAIW,KAAKlT,EAAIuT,EAAMpkB,EAAIokB,EAAM,EAAIA,EAAM,EAAIA,GAC3C,MAEDE,GAAOtB,EAER,IAAK,UACJkB,EAAUzf,KAAK8O,IAAI+Q,GAAOf,EAC1BY,EAAU1f,KAAK+O,IAAI8Q,GAAOf,EAC1BH,EAAIQ,OAAO/S,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIsT,EAASnkB,EAAIkkB,GAC5Bd,EAAIuB,OAAO9T,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIsT,EAASnkB,EAAIkkB,GAC5Bd,EAAIU,YACJ,MACD,IAAK,WACJQ,GAAOtB,EAER,IAAK,QACJkB,EAAUzf,KAAK8O,IAAI+Q,GAAOf,EAC1BY,EAAU1f,KAAK+O,IAAI8Q,GAAOf,EAC1BH,EAAIQ,OAAO/S,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIQ,OAAO/S,EAAIsT,EAASnkB,EAAIkkB,GAC5Bd,EAAIuB,OAAO9T,EAAIsT,EAASnkB,EAAIkkB,GAC5B,MACD,IAAK,OACJA,EAAUzf,KAAK8O,IAAI+Q,GAAOf,EAC1BY,EAAU1f,KAAK+O,IAAI8Q,GAAOf,EAC1BH,EAAIQ,OAAO/S,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIQ,OAAO/S,EAAIsT,EAASnkB,EAAIkkB,GAC5Bd,EAAIuB,OAAO9T,EAAIsT,EAASnkB,EAAIkkB,GAC5BI,GAAOtB,EACPkB,EAAUzf,KAAK8O,IAAI+Q,GAAOf,EAC1BY,EAAU1f,KAAK+O,IAAI8Q,GAAOf,EAC1BH,EAAIQ,OAAO/S,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIQ,OAAO/S,EAAIsT,EAASnkB,EAAIkkB,GAC5Bd,EAAIuB,OAAO9T,EAAIsT,EAASnkB,EAAIkkB,GAC5B,MACD,IAAK,OACJA,EAAUzf,KAAK8O,IAAI+Q,GAAOf,EAC1BY,EAAU1f,KAAK+O,IAAI8Q,GAAOf,EAC1BH,EAAIQ,OAAO/S,EAAIqT,EAASlkB,EAAImkB,GAC5Bf,EAAIuB,OAAO9T,EAAIqT,EAASlkB,EAAImkB,GAC5B,MACD,IAAK,OACJf,EAAIQ,OAAO/S,EAAG7Q,GACdojB,EAAIuB,OAAO9T,EAAIpM,KAAK8O,IAAI+Q,GAAOf,EAAQvjB,EAAIyE,KAAK+O,IAAI8Q,GAAOf,GAC3D,MAGDH,EAAIyB,OACJzB,EAAI0B,WAULC,eAAgB,SAASC,EAAOC,GAC/B,IAAIC,EAAU,KAEd,OAAOF,EAAMnU,EAAIoU,EAAKzB,KAAO0B,GAAWF,EAAMnU,EAAIoU,EAAKvB,MAAQwB,GAC9DF,EAAMhlB,EAAIilB,EAAKxB,IAAMyB,GAAWF,EAAMhlB,EAAIilB,EAAKtB,OAASuB,GAG1DC,SAAU,SAAS/B,EAAK6B,GACvB7B,EAAImB,OACJnB,EAAIsB,YACJtB,EAAIW,KAAKkB,EAAKzB,KAAMyB,EAAKxB,IAAKwB,EAAKvB,MAAQuB,EAAKzB,KAAMyB,EAAKtB,OAASsB,EAAKxB,KACzEL,EAAIgC,QAGLC,WAAY,SAASjC,GACpBA,EAAIqB,WAGLE,OAAQ,SAASvB,EAAKnD,EAAU7D,EAAQkJ,GACvC,IAAIC,EAAUnJ,EAAOoJ,YACrB,GAAID,EAAJ,CACC,GAAgB,WAAZA,EAAsB,CACzB,IAAIE,GAAYxF,EAASpP,EAAIuL,EAAOvL,GAAK,EACzCuS,EAAIuB,OAAOc,EAAUH,EAAOlJ,EAAOpc,EAAIigB,EAASjgB,GAChDojB,EAAIuB,OAAOc,EAAUH,EAAOrF,EAASjgB,EAAIoc,EAAOpc,OACzB,UAAZulB,IAAwBD,GAAsB,UAAZC,GAAuBD,EACpElC,EAAIuB,OAAO1E,EAASpP,EAAGuL,EAAOpc,GAE9BojB,EAAIuB,OAAOvI,EAAOvL,EAAGoP,EAASjgB,GAE/BojB,EAAIuB,OAAOvI,EAAOvL,EAAGuL,EAAOpc,QAIxBoc,EAAOsJ,QAKZtC,EAAIuC,cACHL,EAAOrF,EAAS2F,sBAAwB3F,EAAS4F,kBACjDP,EAAOrF,EAAS6F,sBAAwB7F,EAAS8F,kBACjDT,EAAOlJ,EAAOyJ,kBAAoBzJ,EAAOwJ,sBACzCN,EAAOlJ,EAAO2J,kBAAoB3J,EAAO0J,sBACzC1J,EAAOvL,EACPuL,EAAOpc,GAVPojB,EAAIuB,OAAOvI,EAAOvL,EAAGuL,EAAOpc,KAc3BgmB,EAAiB9C,EAWrB/C,EAAagD,MAAQD,EAAUC,MAS/BhD,EAAa8F,qBAAuB,SAAS7C,GAC5CA,EAAIsB,YACJxB,EAAUI,YAAYrF,MAAMiF,EAAWxP,YAGxC,IAAIwS,EAAW,CAIdC,KAAM,SAASnG,EAAOvH,GACrB,OAAO0H,EAAanB,MAAMrhB,KAAKqiB,KAAWriB,KAAKqiB,GAAS,IAAKvH,KAM/DyN,EAASC,KAAK,SAAU,CACvBC,aAAc,kBACdC,iBAAkB,OAClBC,kBAAmB,qDACnBC,gBAAiB,GACjBC,iBAAkB,SAClBC,kBAAmB,IACnBC,WAAW,IAGZ,IAAIC,EAAgBT,EAEhBtI,EAAiBuC,EAAavC,eAQlC,SAASgJ,GAAaC,GACrB,OAAKA,GAAQ1G,EAAa5C,cAAcsJ,EAAKzC,OAASjE,EAAa5C,cAAcsJ,EAAKC,QAC9E,MAGAD,EAAKxa,MAAQwa,EAAKxa,MAAQ,IAAM,KACpCwa,EAAKhL,OAASgL,EAAKhL,OAAS,IAAM,IACnCgL,EAAKzC,KAAO,MACZyC,EAAKC,OAOT,IAAIC,GAAkB,CASrBC,aAAc,SAASrW,EAAOyT,GAC7B,IAAI6C,GAAW,GAAKtW,GAAOlO,MAAM,wCACjC,IAAKwkB,GAA0B,WAAfA,EAAQ,GACvB,OAAc,IAAP7C,EAKR,OAFAzT,GAASsW,EAAQ,GAETA,EAAQ,IAChB,IAAK,KACJ,OAAOtW,EACR,IAAK,IACJA,GAAS,IACT,MAGD,OAAOyT,EAAOzT,GAUfuW,UAAW,SAASvW,GACnB,IAAI+B,EAAG3B,EAAGhL,EAAGpD,EAWb,OATIwd,EAAazC,SAAS/M,IACzB+B,GAAK/B,EAAM8S,KAAO,EAClB1S,GAAKJ,EAAM+S,OAAS,EACpB3d,GAAK4K,EAAMgT,QAAU,EACrBhhB,GAAKgO,EAAM6S,MAAQ,GAEnB9Q,EAAI3B,EAAIhL,EAAIpD,GAAKgO,GAAS,EAGpB,CACN8S,IAAK/Q,EACLgR,MAAO3S,EACP4S,OAAQ5d,EACRyd,KAAM7gB,EACNiK,OAAQ8F,EAAI3M,EACZ4G,MAAOhK,EAAIoO,IAWboW,WAAY,SAAS3b,GACpB,IAAI4b,EAAiBT,EAAclpB,OAC/B2mB,EAAOxG,EAAepS,EAAQ6b,SAAUD,EAAeb,iBACvDM,EAAO,CACVC,OAAQlJ,EAAepS,EAAQ8b,WAAYF,EAAed,mBAC1DiB,WAAYpH,EAAa3U,QAAQwb,aAAapJ,EAAepS,EAAQ+b,WAAYH,EAAeX,mBAAoBrC,GACpHA,KAAMA,EACN/X,MAAOuR,EAAepS,EAAQgc,UAAWJ,EAAeZ,kBACxD3K,OAAQ,KACRlT,OAAQ,IAIT,OADAke,EAAKle,OAASie,GAAaC,GACpBA,GAcRY,QAAS,SAASC,EAAQC,EAAS5K,EAAO6K,GACzC,IACIxd,EAAGoU,EAAM7N,EADTkX,GAAY,EAGhB,IAAKzd,EAAI,EAAGoU,EAAOkJ,EAAOniB,OAAQ6E,EAAIoU,IAAQpU,EAE7C,GADAuG,EAAQ+W,EAAOtd,QACD3E,IAAVkL,SAGYlL,IAAZkiB,GAA0C,oBAAVhX,IACnCA,EAAQA,EAAMgX,GACdE,GAAY,QAECpiB,IAAVsX,GAAuBoD,EAAa3C,QAAQ7M,KAC/CA,EAAQA,EAAMoM,GACd8K,GAAY,QAECpiB,IAAVkL,GAIH,OAHIiX,IAASC,IACZD,EAAKC,WAAY,GAEXlX,IAUPmX,GAAY,CAKfC,WAAY,SAASpX,GACpB,IAEIvG,EAFA1I,EAAS,GACT4R,EAAO7O,KAAK6O,KAAK3C,GAGrB,IAAKvG,EAAI,EAAGA,EAAIkJ,EAAMlJ,IACjBuG,EAAQvG,IAAM,IACjB1I,EAAO2L,KAAKjD,GACZ1I,EAAO2L,KAAKsD,EAAQvG,IAUtB,OAPIkJ,KAAiB,EAAPA,IACb5R,EAAO2L,KAAKiG,GAGb5R,EAAOsmB,MAAK,SAAS3gB,EAAGtB,GACvB,OAAOsB,EAAItB,KACTsP,MACI3T,GAGRumB,MAAOxjB,KAAKwjB,OAAS,SAASpX,GAC7B,IAAIqX,EAAWzjB,KAAK0jB,IAAItX,GAAKpM,KAAK2jB,OAG9BC,EAAY5jB,KAAKkP,MAAMuU,GACvBI,EAAczX,IAAMpM,KAAKqM,IAAI,GAAIuX,GAErC,OAAOC,EAAcD,EAAYH,IAI/BK,GAAeT,GAWnB3H,EAAa8H,MAAQH,GAAUG,MAE/B,IAAIO,GAAgB,SAASC,EAAO9b,GACnC,MAAO,CACNkE,EAAG,SAASA,GACX,OAAO4X,EAAQA,EAAQ9b,EAAQkE,GAEhC6X,SAAU,SAAS3kB,GAClB4I,EAAQ5I,GAET4kB,UAAW,SAASC,GACnB,MAAc,WAAVA,EACIA,EAES,UAAVA,EAAoB,OAAS,SAErCC,MAAO,SAAShY,EAAGF,GAClB,OAAOE,EAAIF,GAEZmY,WAAY,SAASjY,EAAGkY,GACvB,OAAOlY,EAAIkY,KAKVC,GAAgB,WACnB,MAAO,CACNnY,EAAG,SAASA,GACX,OAAOA,GAER6X,SAAU,SAAS3kB,KAEnB4kB,UAAW,SAASC,GACnB,OAAOA,GAERC,MAAO,SAAShY,EAAGF,GAClB,OAAOE,EAAIF,GAEZmY,WAAY,SAASjY,EAAGoY,GACvB,OAAOpY,KAKNqY,GAAa,SAASC,EAAKV,EAAO9b,GACrC,OAAOwc,EAAMX,GAAcC,EAAO9b,GAASqc,MAGxCI,GAAwB,SAAShG,EAAKiG,GACzC,IAAIhd,EAAOid,EACO,QAAdD,GAAqC,QAAdA,IAC1Bhd,EAAQ+W,EAAI5V,OAAOnB,MACnBid,EAAW,CACVjd,EAAMkd,iBAAiB,aACvBld,EAAMmd,oBAAoB,cAG3Bnd,EAAMod,YAAY,YAAaJ,EAAW,aAC1CjG,EAAIsG,kBAAoBJ,IAItBK,GAAuB,SAASvG,GACnC,IAAIkG,EAAWlG,EAAIsG,uBACFjkB,IAAb6jB,WACIlG,EAAIsG,kBACXtG,EAAI5V,OAAOnB,MAAMod,YAAY,YAAaH,EAAS,GAAIA,EAAS,MAI9DM,GAAc,CACjBpB,cAAeU,GACfE,sBAAuBA,GACvBO,qBAAsBA,IAGnBE,GAAY1J,EACZ2J,GAASnH,EACTnV,GAASwY,EACTxa,GAAUub,GACVgD,GAAOxB,GACPY,GAAMS,GAOV,SAASI,GAAYC,EAAOC,EAAMzZ,EAAO0Z,GACxC,IACI/f,EAAGoU,EAAMhd,EAAK4oB,EAAQC,EAAQjO,EAAQvQ,EAAMye,EAAIC,EADhDhgB,EAAOD,OAAOC,KAAKkG,GAGvB,IAAKrG,EAAI,EAAGoU,EAAOjU,EAAKhF,OAAQ6E,EAAIoU,IAAQpU,EAa3C,GAZA5I,EAAM+I,EAAKH,GAEXgS,EAAS3L,EAAMjP,GAIV0oB,EAAKnf,eAAevJ,KACxB0oB,EAAK1oB,GAAO4a,GAGbgO,EAASF,EAAK1oB,GAEV4oB,IAAWhO,GAAqB,MAAX5a,EAAI,GAA7B,CAYA,GARKyoB,EAAMlf,eAAevJ,KACzByoB,EAAMzoB,GAAO4oB,GAGdC,EAASJ,EAAMzoB,GAEfqK,SAAcuQ,EAEVvQ,WAAgBwe,EACnB,GAAa,WAATxe,GAEH,GADAye,EAAKpN,EAAamN,GACdC,EAAG9R,QACN+R,EAAKrN,EAAad,GACdmO,EAAG/R,OAAO,CACb0R,EAAK1oB,GAAO+oB,EAAG5O,IAAI2O,EAAIH,GAAM/S,YAC7B,eAGI,GAAIyS,GAAUlM,SAAS0M,IAAWR,GAAUlM,SAASvB,GAAS,CACpE8N,EAAK1oB,GAAO6oB,GAAUjO,EAASiO,GAAUF,EACzC,SAIFD,EAAK1oB,GAAO4a,GAnDdyN,GAAUC,OAASA,GACnBD,GAAUrc,OAASA,GACnBqc,GAAUre,QAAUA,GACpBqe,GAAUE,KAAOA,GACjBF,GAAUV,IAAMA,GAmDhB,IAAIqB,GAAU,SAASC,GACtBZ,GAAUxK,OAAO1hB,KAAM8sB,GACvB9sB,KAAK+sB,WAAWzM,MAAMtgB,KAAM+V,YAG7BmW,GAAUxK,OAAOmL,GAAQnU,UAAW,CACnCsU,WAAOllB,EAEPilB,WAAY,WACX/sB,KAAKitB,QAAS,GAGfC,MAAO,WACN,IAAI/b,EAAKnR,KAKT,OAJKmR,EAAGgc,QACPhc,EAAGgc,MAAQjB,GAAUxK,OAAO,GAAIvQ,EAAGic,SAEpCjc,EAAGkc,OAAS,GACLlc,GAGRmc,WAAY,SAASd,GACpB,IAAIrb,EAAKnR,KACL8S,EAAQ3B,EAAGic,OACXd,EAAQnb,EAAGkc,OACXd,EAAOpb,EAAGgc,MAGd,OAAKra,GAAkB,IAAT0Z,GAMTD,IACJA,EAAOpb,EAAGgc,MAAQ,IAGdb,IACJA,EAAQnb,EAAGkc,OAAS,IAGrBhB,GAAYC,EAAOC,EAAMzZ,EAAO0Z,GAEzBrb,IAfNA,EAAGgc,MAAQjB,GAAUxK,OAAO,GAAI5O,GAChC3B,EAAGkc,OAAS,KACLlc,IAgBToc,gBAAiB,WAChB,MAAO,CACNra,EAAGlT,KAAKotB,OAAOla,EACf7Q,EAAGrC,KAAKotB,OAAO/qB,IAIjBmrB,SAAU,WACT,OAAOtB,GAAUuB,SAASztB,KAAKotB,OAAOla,IAAMgZ,GAAUuB,SAASztB,KAAKotB,OAAO/qB,MAI7EwqB,GAAQnL,OAASwK,GAAUpK,SAE3B,IAAI4L,GAAeb,GAEfc,GAAYD,GAAahM,OAAO,CACnC/V,MAAO,KACPiiB,YAAa,EACbC,SAAU,GACV1B,OAAQ,GACR3d,OAAQ,KAERsf,oBAAqB,KACrBC,oBAAqB,OAGlBC,GAAiBL,GAUrBhhB,OAAOoG,eAAe4a,GAAUjV,UAAW,kBAAmB,CAC7DuV,IAAK,WACJ,OAAOjuB,QAUT2M,OAAOoG,eAAe4a,GAAUjV,UAAW,gBAAiB,CAC3DuV,IAAK,WACJ,OAAOjuB,KAAK2L,OAEbuiB,IAAK,SAASlb,GACbhT,KAAK2L,MAAQqH,KAIfgW,EAAcR,KAAK,SAAU,CAC5B2F,UAAW,CACVC,SAAU,IACVjC,OAAQ,eACRkC,WAAYnC,GAAUxM,KACtB4O,WAAYpC,GAAUxM,QAIxB,IAAI6O,GAAkB,CACrBC,WAAY,GACZC,QAAS,KAQTC,aAAc,SAAS/iB,EAAOwiB,EAAWC,EAAUO,GAClD,IACIliB,EAAGoU,EADH2N,EAAaxuB,KAAKwuB,WAWtB,IARAL,EAAUxiB,MAAQA,EAClBwiB,EAAUS,UAAYC,KAAKxpB,MAC3B8oB,EAAUC,SAAWA,EAEhBO,IACJhjB,EAAMmjB,WAAY,GAGdriB,EAAI,EAAGoU,EAAO2N,EAAW5mB,OAAQ6E,EAAIoU,IAAQpU,EACjD,GAAI+hB,EAAW/hB,GAAGd,QAAUA,EAE3B,YADA6iB,EAAW/hB,GAAK0hB,GAKlBK,EAAW9e,KAAKye,GAGU,IAAtBK,EAAW5mB,QACd5H,KAAK+uB,yBAIPC,gBAAiB,SAASrjB,GACzB,IAAIyT,EAAQ8M,GAAU+C,UAAUjvB,KAAKwuB,YAAY,SAASL,GACzD,OAAOA,EAAUxiB,QAAUA,MAGb,IAAXyT,IACHpf,KAAKwuB,WAAWU,OAAO9P,EAAO,GAC9BzT,EAAMmjB,WAAY,IAIpBC,sBAAuB,WACtB,IAAI5d,EAAKnR,KACU,OAAfmR,EAAGsd,UAINtd,EAAGsd,QAAUvC,GAAUiD,iBAAiBxW,KAAK2G,QAAQ,WACpDnO,EAAGsd,QAAU,KACbtd,EAAGie,mBAQNA,YAAa,WACZ,IAAIje,EAAKnR,KAETmR,EAAGke,UAGCle,EAAGqd,WAAW5mB,OAAS,GAC1BuJ,EAAG4d,yBAOLM,QAAS,WACR,IACIlB,EAAWxiB,EAAOkiB,EAAUyB,EAD5Bd,EAAaxuB,KAAKwuB,WAElB/hB,EAAI,EAGR,MAAOA,EAAI+hB,EAAW5mB,OACrBumB,EAAYK,EAAW/hB,GACvBd,EAAQwiB,EAAUxiB,MAClBkiB,EAAWM,EAAUN,SAIrByB,EAAWxoB,KAAKD,OAAOgoB,KAAKxpB,MAAQ8oB,EAAUS,WAAaT,EAAUC,SAAWP,GAAY,EAC5FM,EAAUP,YAAc9mB,KAAKwM,IAAIgc,EAAUzB,GAE3C3B,GAAU9L,SAAS+N,EAAU3f,OAAQ,CAAC7C,EAAOwiB,GAAYxiB,GACzDugB,GAAU9L,SAAS+N,EAAUL,oBAAqB,CAACK,GAAYxiB,GAE3DwiB,EAAUP,aAAeC,GAC5B3B,GAAU9L,SAAS+N,EAAUJ,oBAAqB,CAACI,GAAYxiB,GAC/DA,EAAMmjB,WAAY,EAClBN,EAAWU,OAAOziB,EAAG,MAEnBA,IAMFqd,GAAUoC,GAAUre,QAAQic,QAE5ByF,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WAOrD,SAASC,GAAkB9M,EAAO+M,GAC7B/M,EAAMgN,SACThN,EAAMgN,SAASC,UAAUjgB,KAAK+f,IAI/B9iB,OAAOoG,eAAe2P,EAAO,WAAY,CACxCkN,cAAc,EACdC,YAAY,EACZ7c,MAAO,CACN2c,UAAW,CAACF,MAIdF,GAAY/iB,SAAQ,SAAS3I,GAC5B,IAAIisB,EAAS,SAAWjsB,EAAIkD,OAAO,GAAGwP,cAAgB1S,EAAIqD,MAAM,GAC5D6oB,EAAOrN,EAAM7e,GAEjB8I,OAAOoG,eAAe2P,EAAO7e,EAAK,CACjC+rB,cAAc,EACdC,YAAY,EACZ7c,MAAO,WACN,IAAI8C,EAAOzG,MAAMqJ,UAAUxR,MAAMyR,KAAK5C,WAClCia,EAAMD,EAAKzP,MAAMtgB,KAAM8V,GAQ3B,OANAoW,GAAU3L,KAAKmC,EAAMgN,SAASC,WAAW,SAASM,GACnB,oBAAnBA,EAAOH,IACjBG,EAAOH,GAAQxP,MAAM2P,EAAQna,MAIxBka,SAUX,SAASE,GAAoBxN,EAAO+M,GACnC,IAAIU,EAAOzN,EAAMgN,SACjB,GAAKS,EAAL,CAIA,IAAIR,EAAYQ,EAAKR,UACjBvQ,EAAQuQ,EAAU3iB,QAAQyiB,IACf,IAAXrQ,GACHuQ,EAAUT,OAAO9P,EAAO,GAGrBuQ,EAAU/nB,OAAS,IAIvB2nB,GAAY/iB,SAAQ,SAAS3I,UACrB6e,EAAM7e,aAGP6e,EAAMgN,WAId,IAAIU,GAAoB,SAASzkB,EAAO0kB,GACvCrwB,KAAK+sB,WAAWphB,EAAO0kB,IAGxBnE,GAAUxK,OAAO0O,GAAkB1X,UAAW,CAM7C4X,mBAAoB,KAMpBC,gBAAiB,KAQjBC,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,eASDC,oBAAqB,CACpB,kBACA,cACA,cACA,cAGD1D,WAAY,SAASphB,EAAO0kB,GAC3B,IAAIlf,EAAKnR,KACTmR,EAAGxF,MAAQA,EACXwF,EAAGiO,MAAQiR,EACXlf,EAAGuf,aACHvf,EAAGwf,cACHxf,EAAG6b,MAAQ7b,EAAGyf,UAAU1iB,MAGzB2iB,YAAa,SAASR,GACrBrwB,KAAKof,MAAQiR,GAGdK,WAAY,WACX,IAAIvf,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACVjlB,EAAQwF,EAAGxF,MACXolB,EAASplB,EAAMolB,OACf9kB,EAAUkF,EAAG6f,aACbC,EAAatlB,EAAMkC,QAAQkjB,OAEV,OAAjBD,EAAKI,SAAsBJ,EAAKI,WAAWH,IAAW9kB,EAAQilB,UACjEJ,EAAKI,QAAUjlB,EAAQilB,SAAWD,EAAWE,MAAM,GAAGpiB,IAElC,OAAjB+hB,EAAKM,SAAsBN,EAAKM,WAAWL,IAAW9kB,EAAQmlB,UACjEN,EAAKM,QAAUnlB,EAAQmlB,SAAWH,EAAWI,MAAM,GAAGtiB,KAIxDiiB,WAAY,WACX,OAAOhxB,KAAK2L,MAAMwB,KAAKpB,SAAS/L,KAAKof,QAGtCwR,QAAS,WACR,OAAO5wB,KAAK2L,MAAM2lB,eAAetxB,KAAKof,QAGvCmS,cAAe,SAASC,GACvB,OAAOxxB,KAAK2L,MAAMolB,OAAOS,IAM1BC,iBAAkB,WACjB,OAAOzxB,KAAK4wB,UAAUQ,SAMvBM,iBAAkB,WACjB,OAAO1xB,KAAK4wB,UAAUM,SAMvBS,eAAgB,WACf,OAAO3xB,KAAKuxB,cAAcvxB,KAAKyxB,qBAMhCG,eAAgB,WACf,OAAO5xB,KAAKuxB,cAAcvxB,KAAK0xB,qBAGhCG,MAAO,WACN7xB,KAAK8xB,SAAQ,IAMdpkB,QAAS,WACJ1N,KAAK+xB,OACR7B,GAAoBlwB,KAAK+xB,MAAO/xB,OAIlCgyB,kBAAmB,WAClB,IAAI7gB,EAAKnR,KACLkO,EAAOiD,EAAGmf,mBACd,OAAOpiB,GAAQ,IAAIA,EAAK,CACvBrC,OAAQsF,EAAGxF,MACXsmB,cAAe9gB,EAAGiO,SAIpB8S,eAAgB,SAAS9S,GACxB,IAAIjO,EAAKnR,KACLkO,EAAOiD,EAAGof,gBACd,OAAOriB,GAAQ,IAAIA,EAAK,CACvBrC,OAAQsF,EAAGxF,MACXsmB,cAAe9gB,EAAGiO,MAClB+S,OAAQ/S,KAIVuR,YAAa,WACZ,IAIIlkB,EAAGoU,EAJH1P,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACVzjB,EAAOgE,EAAG6f,aAAa7jB,MAAQ,GAC/BilB,EAAWtB,EAAK3jB,KAGpB,IAAKV,EAAI,EAAGoU,EAAO1T,EAAKvF,OAAQ6E,EAAIoU,IAAQpU,EAC3C2lB,EAAS3lB,GAAK2lB,EAAS3lB,IAAM0E,EAAG+gB,eAAezlB,GAGhDqkB,EAAK7kB,QAAU6kB,EAAK7kB,SAAWkF,EAAG6gB,qBAGnCK,mBAAoB,SAASjT,GAC5B,IAAIkT,EAAUtyB,KAAKkyB,eAAe9S,GAClCpf,KAAK4wB,UAAUzjB,KAAK+hB,OAAO9P,EAAO,EAAGkT,GACrCtyB,KAAKuyB,cAAcD,EAASlT,GAAO,IAGpCoT,sBAAuB,WACtB,IAAIrhB,EAAKnR,KACLiM,EAAUkF,EAAG6f,aACb7jB,EAAOlB,EAAQkB,OAASlB,EAAQkB,KAAO,IAKvCgE,EAAG4gB,QAAU5kB,IACZgE,EAAG4gB,OAEN7B,GAAoB/e,EAAG4gB,MAAO5gB,GAG3BhE,GAAQR,OAAO8lB,aAAatlB,IAC/BqiB,GAAkBriB,EAAMgE,GAEzBA,EAAG4gB,MAAQ5kB,GAKZgE,EAAGuhB,kBAOJC,WAAY,WACX,IAAIxhB,EAAKnR,KACTmR,EAAGyhB,QAAU1G,GAAU7K,MAAM1U,OAAOqU,OAAO,MAAO,CACjD7P,EAAGxF,MAAMkC,QAAQ9B,SAASoF,EAAG6b,OAC7B7b,EAAG6f,cACD,CACFvP,OAAQ,SAAS5d,EAAK4a,EAAQD,GACjB,UAAR3a,GAA2B,SAARA,GACtBqoB,GAAUhL,QAAQrd,EAAK4a,EAAQD,OAMnCsT,QAAS,SAASD,GACjB,IAAI1gB,EAAKnR,KACTmR,EAAGwhB,aACHxhB,EAAG0hB,gBAAkB,KACrB1hB,EAAG1D,OAAOokB,IAGXpkB,OAAQye,GAAUxM,KAElB4N,WAAY,SAASwF,GAMpB,IALA,IAAIhC,EAAO9wB,KAAK4wB,UACZmC,EAAWjC,EAAK3jB,MAAQ,GACxB0T,EAAOkS,EAASnrB,OAChB6E,EAAI,EAEDA,EAAIoU,IAAQpU,EAClBsmB,EAAStmB,GAAG6gB,WAAWwF,GAGpBhC,EAAK7kB,SACR6kB,EAAK7kB,QAAQqhB,WAAWwF,IAI1BE,KAAM,WACL,IAAIlC,EAAO9wB,KAAK4wB,UACZmC,EAAWjC,EAAK3jB,MAAQ,GACxB0T,EAAOkS,EAASnrB,OAChB6E,EAAI,EAMR,IAJIqkB,EAAK7kB,SACR6kB,EAAK7kB,QAAQ+mB,OAGPvmB,EAAIoU,IAAQpU,EAClBsmB,EAAStmB,GAAGumB,QAUdC,SAAU,SAAS7T,GAClB,IAGI1Q,EAHAyC,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV3kB,EAAU6kB,EAAK7kB,QAenB,OAZAkF,EAAGwhB,aACC1mB,QAAqBnE,IAAVsX,EACd1Q,EAAQyC,EAAG+hB,8BAA8BjnB,GAAW,KAEpDmT,EAAQA,GAAS,EACjB1Q,EAAQyC,EAAGgiB,2BAA2BrC,EAAK3jB,KAAKiS,IAAU,GAAIA,KAG5C,IAAf1Q,EAAMwY,MAAiC,OAAfxY,EAAMwY,OACjCxY,EAAM0kB,gBAAkB1kB,EAAM2kB,aAGxB3kB,GAMRwkB,8BAA+B,SAASZ,EAASgB,GAChD,IAOI7mB,EAAGoU,EAAMhd,EAAK0vB,EAPdpiB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACX6nB,EAAcriB,EAAGyhB,QACjBa,EAASnB,EAAQmB,QAAU,GAC3B5lB,EAAUlC,EAAMkC,QAAQklB,SAAS5hB,EAAGmf,mBAAmB5X,UAAUsU,QAAU,GAC3E0G,EAAiBviB,EAAGqf,uBACpB1V,EAAS,GAITkP,EAAU,CACbre,MAAOA,EACPM,QAASkF,EAAG6f,aACZX,aAAclf,EAAGiO,MACjBkU,MAAOA,GAGR,IAAK7mB,EAAI,EAAGoU,EAAO6S,EAAe9rB,OAAQ6E,EAAIoU,IAAQpU,EACrD5I,EAAM6vB,EAAejnB,GACrB8mB,EAAUD,EAAQ,QAAUzvB,EAAIkD,OAAO,GAAGwP,cAAgB1S,EAAIqD,MAAM,GAAKrD,EACzEiX,EAAOjX,GAAOimB,GAAQ,CACrB2J,EAAOF,GACPC,EAAYD,GACZ1lB,EAAQ0lB,IACNvJ,GAGJ,OAAOlP,GAMRqY,2BAA4B,SAASb,EAASlT,GAC7C,IAAIjO,EAAKnR,KACLyzB,EAASnB,GAAWA,EAAQmB,OAC5BE,EAASxiB,EAAG0hB,gBAChB,GAAIc,IAAWF,EACd,OAAOE,EAER,IAiBI/mB,EAAMH,EAAGoU,EAAMhd,EAjBf8H,EAAQwF,EAAGxF,MACX6nB,EAAcriB,EAAGyhB,QACjB/kB,EAAUlC,EAAMkC,QAAQklB,SAAS5hB,EAAGof,gBAAgB7X,UAAUsU,QAAU,GACxE0G,EAAiBviB,EAAGsf,oBACpB3V,EAAS,GAGTkP,EAAU,CACbre,MAAOA,EACPioB,UAAWxU,EACXnT,QAASkF,EAAG6f,aACZX,aAAclf,EAAGiO,OAId6K,EAAO,CAACC,WAAYuJ,GAMxB,GAFAA,EAASA,GAAU,GAEfvH,GAAUrM,QAAQ6T,GACrB,IAAKjnB,EAAI,EAAGoU,EAAO6S,EAAe9rB,OAAQ6E,EAAIoU,IAAQpU,EACrD5I,EAAM6vB,EAAejnB,GACrBqO,EAAOjX,GAAOimB,GAAQ,CACrB2J,EAAO5vB,GACP2vB,EAAY3vB,GACZgK,EAAQhK,IACNmmB,EAAS5K,EAAO6K,QAIpB,IADArd,EAAOD,OAAOC,KAAK8mB,GACdjnB,EAAI,EAAGoU,EAAOjU,EAAKhF,OAAQ6E,EAAIoU,IAAQpU,EAC3C5I,EAAM+I,EAAKH,GACXqO,EAAOjX,GAAOimB,GAAQ,CACrB2J,EAAO5vB,GACP2vB,EAAYE,EAAe7vB,IAC3B2vB,EAAY3vB,GACZgK,EAAQhK,IACNmmB,EAAS5K,EAAO6K,GAQrB,OAJIA,EAAKC,YACR/Y,EAAG0hB,gBAAkBlmB,OAAOknB,OAAO/Y,IAG7BA,GAGRgZ,iBAAkB,SAASxB,GAC1BpG,GAAU7K,MAAMiR,EAAQlF,OAAQkF,EAAQyB,gBAAkB,WACnDzB,EAAQyB,gBAGhBC,cAAe,SAAS1B,GACvB,IAAIrmB,EAAUjM,KAAK2L,MAAMwB,KAAKpB,SAASumB,EAAQL,eAC3C7S,EAAQkT,EAAQH,OAChBsB,EAASnB,EAAQmB,QAAU,GAC3B3gB,EAAQwf,EAAQlF,OAChB6G,EAAgB/H,GAAU+H,cAE9B3B,EAAQyB,eAAiB,CACxBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,aAGpBphB,EAAMsgB,gBAAkBtJ,GAAQ,CAAC2J,EAAOU,qBAAsBloB,EAAQkoB,qBAAsBF,EAAcnhB,EAAMsgB,uBAAmBtrB,EAAWsX,GAC9ItM,EAAMugB,YAAcvJ,GAAQ,CAAC2J,EAAOW,iBAAkBnoB,EAAQmoB,iBAAkBH,EAAcnhB,EAAMugB,mBAAevrB,EAAWsX,GAC9HtM,EAAMohB,YAAcpK,GAAQ,CAAC2J,EAAOY,iBAAkBpoB,EAAQooB,iBAAkBvhB,EAAMohB,kBAAcpsB,EAAWsX,IAMhHkV,yBAA0B,WACzB,IAAIhC,EAAUtyB,KAAK4wB,UAAU3kB,QAEzBqmB,GACHtyB,KAAK8zB,iBAAiBxB,IAOxBiC,sBAAuB,WACtB,IAEI9nB,EAAGoU,EAAMhd,EAAK+I,EAAM4nB,EAAc1hB,EAFlCwf,EAAUtyB,KAAK4wB,UAAU3kB,QACzBwoB,EAAO,GAGX,GAAKnC,EAAL,CAQA,IAJAxf,EAAQwf,EAAQlF,OAChBoH,EAAex0B,KAAKkzB,8BAA8BZ,GAAS,GAE3D1lB,EAAOD,OAAOC,KAAK4nB,GACd/nB,EAAI,EAAGoU,EAAOjU,EAAKhF,OAAQ6E,EAAIoU,IAAQpU,EAC3C5I,EAAM+I,EAAKH,GACXgoB,EAAK5wB,GAAOiP,EAAMjP,GAClBiP,EAAMjP,GAAO2wB,EAAa3wB,GAG3ByuB,EAAQyB,eAAiBU,IAM1B/B,eAAgB,WACf,IAAIvhB,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACVzjB,EAAOgE,EAAG6f,aAAa7jB,KACvBunB,EAAU5D,EAAK3jB,KAAKvF,OACpB+sB,EAAUxnB,EAAKvF,OAEf+sB,EAAUD,EACb5D,EAAK3jB,KAAK+hB,OAAOyF,EAASD,EAAUC,GAC1BA,EAAUD,GACpBvjB,EAAGyjB,eAAeF,EAASC,EAAUD,IAOvCE,eAAgB,SAAStI,EAAOuI,GAC/B,IAAK,IAAIpoB,EAAI,EAAGA,EAAIooB,IAASpoB,EAC5BzM,KAAKqyB,mBAAmB/F,EAAQ7f,IAOlCqoB,WAAY,WACX,IAAID,EAAQ9e,UAAUnO,OACtB5H,KAAK40B,eAAe50B,KAAKgxB,aAAa7jB,KAAKvF,OAASitB,EAAOA,IAM5DE,UAAW,WACV/0B,KAAK4wB,UAAUzjB,KAAKuK,OAMrBsd,YAAa,WACZh1B,KAAK4wB,UAAUzjB,KAAK8nB,SAMrBC,aAAc,SAAS5I,EAAOuI,GAC7B70B,KAAK4wB,UAAUzjB,KAAK+hB,OAAO5C,EAAOuI,GAClC70B,KAAK40B,eAAetI,EAAOvW,UAAUnO,OAAS,IAM/CutB,cAAe,WACdn1B,KAAK40B,eAAe,EAAG7e,UAAUnO,WAInCwoB,GAAkB1O,OAASwK,GAAUpK,SAErC,IAAIsT,GAAyBhF,GAEzBiF,GAAgB,EAAVvuB,KAAK4O,GAaf,SAAS4f,GAAQ7P,EAAKS,GACrB,IAAIqP,EAAarP,EAAIqP,WACjBC,EAAWtP,EAAIsP,SACfC,EAAcvP,EAAIuP,YAClBC,EAAcD,EAAcvP,EAAIyP,YAChCziB,EAAIgT,EAAIhT,EACR7Q,EAAI6jB,EAAI7jB,EAIZojB,EAAIsB,YACJtB,EAAIS,IAAIhT,EAAG7Q,EAAG6jB,EAAIyP,YAAaJ,EAAaG,EAAaF,EAAWE,GAChExP,EAAI0P,YAAcH,GACrBC,EAAcD,EAAcvP,EAAI0P,YAChCnQ,EAAIS,IAAIhT,EAAG7Q,EAAG6jB,EAAI0P,YAAcH,EAAaD,EAAWE,EAAaH,EAAaG,GAAa,IAE/FjQ,EAAIS,IAAIhT,EAAG7Q,EAAGozB,EAAaD,EAAW1uB,KAAK4O,GAAK,EAAG6f,EAAazuB,KAAK4O,GAAK,GAE3E+P,EAAIU,YACJV,EAAIgC,OAGL,SAASoO,GAAsBpQ,EAAKqQ,EAAI5P,EAAK6P,GAC5C,IACItpB,EADA+oB,EAAWtP,EAAIsP,SAenB,IAZIO,IACH7P,EAAIsP,SAAWtP,EAAIqP,WAAaF,GAChCC,GAAQ7P,EAAKS,GACbA,EAAIsP,SAAWA,EACXtP,EAAIsP,WAAatP,EAAIqP,YAAcrP,EAAI8P,cAC1C9P,EAAIsP,UAAYH,GAChBnP,EAAI8P,gBAINvQ,EAAIsB,YACJtB,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAI0P,YAAa1P,EAAIqP,WAAaF,GAAKnP,EAAIqP,YAAY,GACxE9oB,EAAI,EAAGA,EAAIyZ,EAAI8P,cAAevpB,EAClCgZ,EAAI0B,SAKL,IAFA1B,EAAIsB,YACJtB,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAGyzB,EAAGH,YAAazP,EAAIqP,WAAYrP,EAAIqP,WAAaF,IAClE5oB,EAAI,EAAGA,EAAIyZ,EAAI8P,cAAevpB,EAClCgZ,EAAI0B,SAIN,SAAS8O,GAAWxQ,EAAKqQ,EAAI5P,GAC5B,IAAI6P,EAA2B,UAAnBD,EAAGI,YAEXH,GACHtQ,EAAI0Q,UAA6B,EAAjBL,EAAG5B,YACnBzO,EAAI2Q,SAAW,UAEf3Q,EAAI0Q,UAAYL,EAAG5B,YACnBzO,EAAI2Q,SAAW,SAGZlQ,EAAI8P,aACPH,GAAsBpQ,EAAKqQ,EAAI5P,EAAK6P,GAGjCA,GACHT,GAAQ7P,EAAKS,GAGdT,EAAIsB,YACJtB,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAGyzB,EAAGH,YAAazP,EAAIqP,WAAYrP,EAAIsP,UAC1D/P,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAI0P,YAAa1P,EAAIsP,SAAUtP,EAAIqP,YAAY,GACrE9P,EAAIU,YACJV,EAAI0B,SAnFL6B,EAAcR,KAAK,SAAU,CAC5BuK,SAAU,CACT7M,IAAK,CACJkN,gBAAiBpK,EAAclpB,OAAO2oB,aACtC4K,YAAa,OACba,YAAa,EACbgC,YAAa,aAgFhB,IAAIG,GAAc3I,GAAahM,OAAO,CACrCsL,MAAO,MAEPsJ,aAAc,SAASC,GACtB,IAAIT,EAAK91B,KAAKmtB,MAEd,QAAI2I,GACKhvB,KAAKqM,IAAIojB,EAAST,EAAG5iB,EAAG,GAAKpM,KAAKqM,IAAI2iB,EAAGlQ,OAASkQ,EAAGU,YAAa,IAK5EC,QAAS,SAASC,EAAQC,GACzB,IAAIb,EAAK91B,KAAKmtB,MAEd,GAAI2I,EAAI,CACP,IAAIc,EAAwB1K,GAAU2K,kBAAkBf,EAAI,CAAC5iB,EAAGwjB,EAAQr0B,EAAGs0B,IACvEG,EAAQF,EAAsBE,MAC9B3iB,EAAWyiB,EAAsBziB,SAGjCohB,EAAaO,EAAGP,WAChBC,EAAWM,EAAGN,SAClB,MAAOA,EAAWD,EACjBC,GAAYH,GAEb,MAAOyB,EAAQtB,EACdsB,GAASzB,GAEV,MAAOyB,EAAQvB,EACduB,GAASzB,GAIV,IAAI0B,EAAiBD,GAASvB,GAAcuB,GAAStB,EACjDwB,EAAgB7iB,GAAY2hB,EAAGF,aAAezhB,GAAY2hB,EAAGH,YAEjE,OAAQoB,GAAiBC,EAE1B,OAAO,GAGRC,eAAgB,WACf,IAAInB,EAAK91B,KAAKmtB,MACV+J,GAAapB,EAAGP,WAAaO,EAAGN,UAAY,EAC5C2B,GAAcrB,EAAGF,YAAcE,EAAGH,aAAe,EACrD,MAAO,CACNziB,EAAG4iB,EAAG5iB,EAAIpM,KAAK8O,IAAIshB,GAAaC,EAChC90B,EAAGyzB,EAAGzzB,EAAIyE,KAAK+O,IAAIqhB,GAAaC,IAIlCC,QAAS,WACR,IAAItB,EAAK91B,KAAKmtB,MACd,OAAOrmB,KAAK4O,KAAOogB,EAAGN,SAAWM,EAAGP,aAAe,EAAIzuB,KAAK4O,MAAQ5O,KAAKqM,IAAI2iB,EAAGH,YAAa,GAAK7uB,KAAKqM,IAAI2iB,EAAGF,YAAa,KAG5HrI,gBAAiB,WAChB,IAAIuI,EAAK91B,KAAKmtB,MACVkK,EAAcvB,EAAGP,YAAeO,EAAGN,SAAWM,EAAGP,YAAc,EAC/D+B,GAAmBxB,EAAGH,YAAcG,EAAGF,aAAe,EAAIE,EAAGF,YAEjE,MAAO,CACN1iB,EAAG4iB,EAAG5iB,EAAKpM,KAAK8O,IAAIyhB,GAAeC,EACnCj1B,EAAGyzB,EAAGzzB,EAAKyE,KAAK+O,IAAIwhB,GAAeC,IAIrCtE,KAAM,WACL,IAaIvmB,EAbAgZ,EAAMzlB,KAAK6L,OAAO4Z,IAClBqQ,EAAK91B,KAAKmtB,MACVsI,EAAkC,UAAnBK,EAAGI,YAA2B,IAAO,EACpDhQ,EAAM,CACThT,EAAG4iB,EAAG5iB,EACN7Q,EAAGyzB,EAAGzzB,EACNuzB,YAAaE,EAAGF,YAChBD,YAAa7uB,KAAKyM,IAAIuiB,EAAGH,YAAcF,EAAa,GACpDA,YAAaA,EACbF,WAAYO,EAAGP,WACfC,SAAUM,EAAGN,SACbQ,YAAalvB,KAAKD,MAAMivB,EAAGyB,cAAgBlC,KAS5C,GALA5P,EAAImB,OAEJnB,EAAI+R,UAAY1B,EAAG1C,gBACnB3N,EAAIgS,YAAc3B,EAAGzC,YAEjBnN,EAAI8P,YAAa,CAMpB,IALA9P,EAAIsP,SAAWtP,EAAIqP,WAAaF,GAChC5P,EAAIsB,YACJtB,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAIyP,YAAazP,EAAIqP,WAAYrP,EAAIsP,UAC3D/P,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAI0P,YAAa1P,EAAIsP,SAAUtP,EAAIqP,YAAY,GACrE9P,EAAIU,YACC1Z,EAAI,EAAGA,EAAIyZ,EAAI8P,cAAevpB,EAClCgZ,EAAIyB,OAELhB,EAAIsP,SAAWtP,EAAIqP,WAAaO,EAAGyB,cAAgBlC,GAGpD5P,EAAIsB,YACJtB,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAIyP,YAAazP,EAAIqP,WAAYrP,EAAIsP,UAC3D/P,EAAIS,IAAIA,EAAIhT,EAAGgT,EAAI7jB,EAAG6jB,EAAI0P,YAAa1P,EAAIsP,SAAUtP,EAAIqP,YAAY,GACrE9P,EAAIU,YACJV,EAAIyB,OAEA4O,EAAG5B,aACN+B,GAAWxQ,EAAKqQ,EAAI5P,GAGrBT,EAAIqB,aAIF4Q,GAAmBxL,GAAUjM,eAE7BwI,GAAeO,EAAclpB,OAAO2oB,aAExCO,EAAcR,KAAK,SAAU,CAC5BuK,SAAU,CACT4E,KAAM,CACL5P,QAAS,GACTqL,gBAAiB3K,GACjByL,YAAa,EACbb,YAAa5K,GACbmP,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBC,iBAAiB,EACjB9Q,MAAM,MAKT,IAAI+Q,GAAevK,GAAahM,OAAO,CACtCsL,MAAO,OAEPgG,KAAM,WACL,IASI5T,EAAOkD,EAAU4V,EATjB/mB,EAAKnR,KACL81B,EAAK3kB,EAAGgc,MACR1H,EAAMtU,EAAGtF,OAAO4Z,IAChB0S,EAAWrC,EAAGqC,SACdC,EAASjnB,EAAGknB,UAAUnxB,QACtBuiB,EAAiBT,EAAclpB,OAC/Bw4B,EAA2B7O,EAAesJ,SAAS4E,KACnDY,GAAkB,EAClBpS,EAAYhV,EAAGqnB,MAGnB,GAAKJ,EAAOxwB,OAAZ,CAIA,GAAIuJ,EAAGqnB,MAAO,CACb,IAAKpZ,EAAQ,EAAGA,EAAQgZ,EAAOxwB,SAAUwX,EAGxC,GAFAkD,EAAW4J,GAAUuM,aAAaL,EAAQhZ,IAErCgZ,EAAOhZ,GAAO+N,MAAMuL,MAAQpW,EAAS6K,MAAMuL,KAAM,CACrDN,EAASA,EAAOlxB,MAAMkY,GAAO1D,OAAO0c,EAAOlxB,MAAM,EAAGkY,IACpD+G,EAAYgS,EACZ,MAIEhS,GACHiS,EAAO1oB,KAAK0oB,EAAO,IA6BrB,IAzBA3S,EAAImB,OAGJnB,EAAIkT,QAAU7C,EAAG8B,gBAAkBU,EAAyBV,eAGxDnS,EAAImT,aACPnT,EAAImT,YAAY9C,EAAG+B,YAAcS,EAAyBT,YAG3DpS,EAAIoT,eAAiBnB,GAAiB5B,EAAGgC,iBAAkBQ,EAAyBR,kBACpFrS,EAAI2Q,SAAWN,EAAGiC,iBAAmBO,EAAyBP,gBAC9DtS,EAAI0Q,UAAYuB,GAAiB5B,EAAG5B,YAAaoE,EAAyBpE,aAC1EzO,EAAIgS,YAAc3B,EAAGzC,aAAe5J,EAAehB,aAGnDhD,EAAIsB,YAGJmR,EAAYE,EAAO,GAAGjL,MACjB+K,EAAUQ,OACdjT,EAAIQ,OAAOiS,EAAUhlB,EAAGglB,EAAU71B,GAClCk2B,EAAiB,GAGbnZ,EAAQ,EAAGA,EAAQgZ,EAAOxwB,SAAUwX,EACxC8Y,EAAYE,EAAOhZ,GAAO+N,MAC1B7K,GAA+B,IAApBiW,EAAwBrM,GAAUuM,aAAaL,EAAQhZ,GAASgZ,EAAOG,GAE7EL,EAAUQ,OACTH,IAAoBnZ,EAAQ,IAAO+Y,IAAiC,IAApBI,EAEpD9S,EAAIQ,OAAOiS,EAAUhlB,EAAGglB,EAAU71B,GAGlC6pB,GAAUrc,OAAOmX,OAAOvB,EAAKnD,EAAS6K,MAAO+K,GAE9CK,EAAiBnZ,GAIf+G,GACHV,EAAIU,YAGLV,EAAI0B,SACJ1B,EAAIqB,cAIFgS,GAAmB5M,GAAUjM,eAE7B8Y,GAAiB/P,EAAclpB,OAAO2oB,aAkB1C,SAASuQ,GAAOzC,GACf,IAAIT,EAAK91B,KAAKmtB,MACd,QAAO2I,GAAMhvB,KAAKmyB,IAAI1C,EAAST,EAAG5iB,GAAK4iB,EAAGlQ,OAASkQ,EAAGoD,UAGvD,SAASC,GAAOC,GACf,IAAItD,EAAK91B,KAAKmtB,MACd,QAAO2I,GAAMhvB,KAAKmyB,IAAIG,EAAStD,EAAGzzB,GAAKyzB,EAAGlQ,OAASkQ,EAAGoD,UAvBvDlQ,EAAcR,KAAK,SAAU,CAC5BuK,SAAU,CACT1L,MAAO,CACNzB,OAAQ,EACRyT,WAAY,SACZjG,gBAAiB2F,GACjB1F,YAAa0F,GACb7E,YAAa,EAEbgF,UAAW,EACX1C,YAAa,EACbnC,iBAAkB,MAerB,IAAIiF,GAAgB5L,GAAahM,OAAO,CACvCsL,MAAO,QAEPyJ,QAAS,SAASF,EAAQ6C,GACzB,IAAItD,EAAK91B,KAAKmtB,MACd,QAAO2I,GAAOhvB,KAAKqM,IAAIojB,EAAST,EAAG5iB,EAAG,GAAKpM,KAAKqM,IAAIimB,EAAStD,EAAGzzB,EAAG,GAAMyE,KAAKqM,IAAI2iB,EAAGoD,UAAYpD,EAAGlQ,OAAQ,IAG7G0Q,aAAc0C,GACdO,SAAUP,GACVQ,SAAUL,GAEVlC,eAAgB,WACf,IAAInB,EAAK91B,KAAKmtB,MACd,MAAO,CACNja,EAAG4iB,EAAG5iB,EACN7Q,EAAGyzB,EAAGzzB,IAIR+0B,QAAS,WACR,OAAOtwB,KAAK4O,GAAK5O,KAAKqM,IAAInT,KAAKmtB,MAAMvH,OAAQ,IAG9C2H,gBAAiB,WAChB,IAAIuI,EAAK91B,KAAKmtB,MACd,MAAO,CACNja,EAAG4iB,EAAG5iB,EACN7Q,EAAGyzB,EAAGzzB,EACNo3B,QAAS3D,EAAGlQ,OAASkQ,EAAG5B,cAI1BlB,KAAM,SAAS0G,GACd,IAAI5D,EAAK91B,KAAKmtB,MACV1H,EAAMzlB,KAAK6L,OAAO4Z,IAClB4T,EAAavD,EAAGuD,WAChB/S,EAAWwP,EAAGxP,SACdV,EAASkQ,EAAGlQ,OACZ1S,EAAI4iB,EAAG5iB,EACP7Q,EAAIyzB,EAAGzzB,EACPonB,EAAiBT,EAAclpB,OAC/B2oB,EAAegB,EAAehB,aAE9BqN,EAAG4C,YAKW5wB,IAAd4xB,GAA2BxN,GAAUrc,OAAOuX,eAAe0O,EAAI4D,MAClEjU,EAAIgS,YAAc3B,EAAGzC,aAAe5K,EACpChD,EAAI0Q,UAAY2C,GAAiBhD,EAAG5B,YAAazK,EAAesJ,SAAS1L,MAAM6M,aAC/EzO,EAAI+R,UAAY1B,EAAG1C,iBAAmB3K,EACtCyD,GAAUrc,OAAOwW,UAAUZ,EAAK4T,EAAYzT,EAAQ1S,EAAG7Q,EAAGikB,OAKzDqT,GAAiB3Q,EAAclpB,OAAO2oB,aAa1C,SAASmR,GAAW9D,GACnB,OAAOA,QAAmBhuB,IAAbguB,EAAG9mB,MASjB,SAAS6qB,GAAa/D,GACrB,IAAIgE,EAAIxkB,EAAIykB,EAAI1kB,EAAI2kB,EAgBpB,OAdIJ,GAAW9D,IACdkE,EAAOlE,EAAG9mB,MAAQ,EAClB8qB,EAAKhE,EAAG5iB,EAAI8mB,EACZ1kB,EAAKwgB,EAAG5iB,EAAI8mB,EACZD,EAAKjzB,KAAKwM,IAAIwiB,EAAGzzB,EAAGyzB,EAAG/F,MACvB1a,EAAKvO,KAAKyM,IAAIuiB,EAAGzzB,EAAGyzB,EAAG/F,QAEvBiK,EAAOlE,EAAG7mB,OAAS,EACnB6qB,EAAKhzB,KAAKwM,IAAIwiB,EAAG5iB,EAAG4iB,EAAG/F,MACvBza,EAAKxO,KAAKyM,IAAIuiB,EAAG5iB,EAAG4iB,EAAG/F,MACvBgK,EAAKjE,EAAGzzB,EAAI23B,EACZ3kB,EAAKygB,EAAGzzB,EAAI23B,GAGN,CACNnU,KAAMiU,EACNhU,IAAKiU,EACLhU,MAAOzQ,EACP0Q,OAAQ3Q,GAIV,SAAS4kB,GAAKC,EAAMnZ,EAAIoZ,GACvB,OAAOD,IAASnZ,EAAKoZ,EAAKD,IAASC,EAAKpZ,EAAKmZ,EAG9C,SAASE,GAAmBtE,GAC3B,IAAIuE,EAAOvE,EAAGwE,cACVtK,EAAM,GAEV,OAAKqK,GAIDvE,EAAGyE,WACFzE,EAAG/F,KAAO+F,EAAG5iB,IAChBmnB,EAAOJ,GAAKI,EAAM,OAAQ,UAEjBvE,EAAG/F,KAAO+F,EAAGzzB,IACvBg4B,EAAOJ,GAAKI,EAAM,SAAU,QAG7BrK,EAAIqK,IAAQ,EACLrK,GAZCA,EAeT,SAASwK,GAAiB1E,EAAI2E,EAAMC,GACnC,IAEI3lB,EAAG3B,EAAGhL,EAAGpD,EAFTgO,EAAQ8iB,EAAG5B,YACXwE,EAAO0B,GAAmBtE,GAY9B,OATI5J,GAAUnM,SAAS/M,IACtB+B,GAAK/B,EAAM8S,KAAO,EAClB1S,GAAKJ,EAAM+S,OAAS,EACpB3d,GAAK4K,EAAMgT,QAAU,EACrBhhB,GAAKgO,EAAM6S,MAAQ,GAEnB9Q,EAAI3B,EAAIhL,EAAIpD,GAAKgO,GAAS,EAGpB,CACN+B,EAAG2jB,EAAK5S,KAAQ/Q,EAAI,EAAK,EAAIA,EAAI2lB,EAAOA,EAAO3lB,EAC/C3B,EAAGslB,EAAK3S,OAAU3S,EAAI,EAAK,EAAIA,EAAIqnB,EAAOA,EAAOrnB,EACjDhL,EAAGswB,EAAK1S,QAAW5d,EAAI,EAAK,EAAIA,EAAIsyB,EAAOA,EAAOtyB,EAClDpD,EAAG0zB,EAAK7S,MAAS7gB,EAAI,EAAK,EAAIA,EAAIy1B,EAAOA,EAAOz1B,GAIlD,SAAS21B,GAAc7E,GACtB,IAAI8E,EAASf,GAAa/D,GACtB9mB,EAAQ4rB,EAAO7U,MAAQ6U,EAAO/U,KAC9B5W,EAAS2rB,EAAO5U,OAAS4U,EAAO9U,IAChC+U,EAASL,GAAiB1E,EAAI9mB,EAAQ,EAAGC,EAAS,GAEtD,MAAO,CACN6rB,MAAO,CACN5nB,EAAG0nB,EAAO/U,KACVxjB,EAAGu4B,EAAO9U,IACV1f,EAAG4I,EACHjN,EAAGkN,GAEJ8mB,MAAO,CACN7iB,EAAG0nB,EAAO/U,KAAOgV,EAAO71B,EACxB3C,EAAGu4B,EAAO9U,IAAM+U,EAAO9lB,EACvB3O,EAAG4I,EAAQ6rB,EAAO71B,EAAI61B,EAAOznB,EAC7BrR,EAAGkN,EAAS4rB,EAAO9lB,EAAI8lB,EAAOzyB,IAKjC,SAASquB,GAAQX,EAAI5iB,EAAG7Q,GACvB,IAAI04B,EAAc,OAAN7nB,EACR8nB,EAAc,OAAN34B,EACRu4B,KAAU9E,GAAOiF,GAASC,IAAiBnB,GAAa/D,GAE5D,OAAO8E,IACFG,GAAS7nB,GAAK0nB,EAAO/U,MAAQ3S,GAAK0nB,EAAO7U,SACzCiV,GAAS34B,GAAKu4B,EAAO9U,KAAOzjB,GAAKu4B,EAAO5U,QAzH9CgD,EAAcR,KAAK,SAAU,CAC5BuK,SAAU,CACTkI,UAAW,CACV7H,gBAAiBuG,GACjBtG,YAAasG,GACbW,cAAe,SACfpG,YAAa,MAsHhB,IAAIgH,GAAoBxN,GAAahM,OAAO,CAC3CsL,MAAO,YAEPgG,KAAM,WACL,IAAIvN,EAAMzlB,KAAK6L,OAAO4Z,IAClBqQ,EAAK91B,KAAKmtB,MACVgO,EAAQR,GAAc7E,GACtBgF,EAAQK,EAAML,MACd/E,EAAQoF,EAAMpF,MAElBtQ,EAAI+R,UAAY1B,EAAG1C,gBACnB3N,EAAI2V,SAASN,EAAM5nB,EAAG4nB,EAAMz4B,EAAGy4B,EAAM10B,EAAG00B,EAAM/4B,GAE1C+4B,EAAM10B,IAAM2vB,EAAM3vB,GAAK00B,EAAM/4B,IAAMg0B,EAAMh0B,IAI7C0jB,EAAImB,OACJnB,EAAIsB,YACJtB,EAAIW,KAAK0U,EAAM5nB,EAAG4nB,EAAMz4B,EAAGy4B,EAAM10B,EAAG00B,EAAM/4B,GAC1C0jB,EAAIgC,OACJhC,EAAI+R,UAAY1B,EAAGzC,YACnB5N,EAAIW,KAAK2P,EAAM7iB,EAAG6iB,EAAM1zB,EAAG0zB,EAAM3vB,EAAG2vB,EAAMh0B,GAC1C0jB,EAAIyB,KAAK,WACTzB,EAAIqB,YAGL7X,OAAQ,WACP,IAAI6mB,EAAK91B,KAAKmtB,MACd,OAAO2I,EAAG/F,KAAO+F,EAAGzzB,GAGrBo0B,QAAS,SAASF,EAAQ6C,GACzB,OAAO3C,GAAQz2B,KAAKmtB,MAAOoJ,EAAQ6C,IAGpC9C,aAAc,SAASC,EAAQ6C,GAC9B,IAAItD,EAAK91B,KAAKmtB,MACd,OAAOyM,GAAW9D,GACfW,GAAQX,EAAIS,EAAQ,MACpBE,GAAQX,EAAI,KAAMsD,IAGtBG,SAAU,SAAShD,GAClB,OAAOE,GAAQz2B,KAAKmtB,MAAOoJ,EAAQ,OAGpCiD,SAAU,SAASJ,GAClB,OAAO3C,GAAQz2B,KAAKmtB,MAAO,KAAMiM,IAGlCnC,eAAgB,WACf,IACI/jB,EAAG7Q,EADHyzB,EAAK91B,KAAKmtB,MAUd,OARIyM,GAAW9D,IACd5iB,EAAI4iB,EAAG5iB,EACP7Q,GAAKyzB,EAAGzzB,EAAIyzB,EAAG/F,MAAQ,IAEvB7c,GAAK4iB,EAAG5iB,EAAI4iB,EAAG/F,MAAQ,EACvB1tB,EAAIyzB,EAAGzzB,GAGD,CAAC6Q,EAAGA,EAAG7Q,EAAGA,IAGlB+0B,QAAS,WACR,IAAItB,EAAK91B,KAAKmtB,MAEd,OAAOyM,GAAW9D,GACfA,EAAG9mB,MAAQlI,KAAKmyB,IAAInD,EAAGzzB,EAAIyzB,EAAG/F,MAC9B+F,EAAG7mB,OAASnI,KAAKmyB,IAAInD,EAAG5iB,EAAI4iB,EAAG/F,OAGnCxC,gBAAiB,WAChB,IAAIuI,EAAK91B,KAAKmtB,MACd,MAAO,CACNja,EAAG4iB,EAAG5iB,EACN7Q,EAAGyzB,EAAGzzB,MAKL0wB,GAAW,GACXsI,GAAMhF,GACNnmB,GAAO+nB,GACPqD,GAAQhC,GACRiC,GAAYL,GAChBnI,GAASsI,IAAMA,GACftI,GAAS7iB,KAAOA,GAChB6iB,GAASuI,MAAQA,GACjBvI,GAASwI,UAAYA,GAErB,IAAIC,GAAatP,GAAU9J,YACvBqZ,GAAmBvP,GAAUjM,eAmCjC,SAASyb,GAAqBthB,EAAOuhB,GACpC,IACIlH,EAAMmH,EAAMnvB,EAAGoU,EADfvN,EAAM8G,EAAMyhB,QAGhB,IAAKpvB,EAAI,EAAGoU,EAAO8a,EAAO/zB,OAAQ6E,EAAIoU,IAAQpU,EAC7C6G,EAAMxM,KAAKwM,IAAIA,EAAKxM,KAAKmyB,IAAI0C,EAAOlvB,GAAKkvB,EAAOlvB,EAAI,KAGrD,IAAKA,EAAI,EAAGoU,EAAOzG,EAAM0hB,WAAWl0B,OAAQ6E,EAAIoU,IAAQpU,EACvDmvB,EAAOxhB,EAAM2hB,gBAAgBtvB,GAC7B6G,EAAM7G,EAAI,EAAI3F,KAAKwM,IAAIA,EAAKxM,KAAKmyB,IAAI2C,EAAOnH,IAASnhB,EACrDmhB,EAAOmH,EAGR,OAAOtoB,EASR,SAAS0oB,GAAyB5c,EAAO6c,EAAOpuB,GAC/C,IAMI4Y,EAAMrR,EANN8mB,EAAYruB,EAAQsuB,aACpBtH,EAAQoH,EAAMG,WACdR,EAAOK,EAAMN,OAAOvc,GACpB9L,EAAM4Y,GAAUtM,cAAcsc,GAC/BR,GAAqBO,EAAM7hB,MAAO6hB,EAAMN,SACvC,EAcJ,OAXIzP,GAAUtM,cAAcsc,IAC3BzV,EAAOnT,EAAMzF,EAAQwuB,mBACrBjnB,EAAQvH,EAAQyuB,gBAKhB7V,EAAOyV,EAAYrH,EACnBzf,EAAQ,GAGF,CACNmnB,MAAO9V,EAAOoO,EACdzf,MAAOA,EACPkX,MAAOsP,EAAQnV,EAAO,GAUxB,SAAS+V,GAA0Bpd,EAAO6c,EAAOpuB,GAChD,IAKIye,EAAO7F,EALPkV,EAASM,EAAMN,OACfC,EAAOD,EAAOvc,GACdqV,EAAOrV,EAAQ,EAAIuc,EAAOvc,EAAQ,GAAK,KACvCqd,EAAOrd,EAAQuc,EAAO/zB,OAAS,EAAI+zB,EAAOvc,EAAQ,GAAK,KACvDsd,EAAU7uB,EAAQwuB,mBAiBtB,OAda,OAAT5H,IAGHA,EAAOmH,GAAiB,OAATa,EAAgBR,EAAMU,IAAMV,EAAM3P,MAAQmQ,EAAOb,IAGpD,OAATa,IAEHA,EAAOb,EAAOA,EAAOnH,GAGtBnI,EAAQsP,GAAQA,EAAO90B,KAAKwM,IAAImhB,EAAMgI,IAAS,EAAIC,EACnDjW,EAAO3f,KAAKmyB,IAAIwD,EAAOhI,GAAQ,EAAIiI,EAE5B,CACNH,MAAO9V,EAAOwV,EAAMG,WACpBhnB,MAAOvH,EAAQyuB,cACfhQ,MAAOA,GAlHTtD,EAAcR,KAAK,MAAO,CACzB8K,MAAO,CACNsJ,KAAM,SAGP7L,OAAQ,CACPI,MAAO,CAAC,CACPjjB,KAAM,WACN7J,QAAQ,EACRw4B,UAAW,CACVC,iBAAiB,KAInBzL,MAAO,CAAC,CACPnjB,KAAM,cAKT8a,EAAcR,KAAK,SAAU,CAC5Bzc,SAAU,CACTgxB,IAAK,CACJV,mBAAoB,GACpBC,cAAe,OA8FlB,IAAIU,GAAiB5H,GAAuB1T,OAAO,CAElD6O,gBAAiBwC,GAASwI,UAK1B9K,oBAAqB,CACpB,kBACA,cACA,gBACA,cACA,gBACA,eACA,qBACA,kBACA,gBAGD1D,WAAY,WACX,IACI+D,EAAMmM,EADN9rB,EAAKnR,KAGTo1B,GAAuB1c,UAAUqU,WAAWzM,MAAMnP,EAAI4E,WAEtD+a,EAAO3f,EAAGyf,UACVE,EAAKoM,MAAQ/rB,EAAG6f,aAAakM,MAC7BpM,EAAKiM,KAAM,EAEXE,EAAY9rB,EAAGygB,iBAAiB/jB,QAChC2tB,GAAW,YAAayB,EAAUX,cAAe,iCAAkC,yBACnFd,GAAW,YAAayB,EAAUd,aAAc,gCAAiC,wBACjFX,GAAW,YAAayB,EAAUZ,mBAAoB,sCAAuC,8BAC7Fb,GAAW,YAAarqB,EAAGwgB,iBAAiB9jB,QAAQsvB,aAAc,gCAAiC,wBACnG3B,GAAW,YAAayB,EAAUG,gBAAiB,mCAAoC,4BAGxF3vB,OAAQ,SAASokB,GAChB,IAEIplB,EAAGoU,EAFH1P,EAAKnR,KACLm7B,EAAQhqB,EAAGyf,UAAUzjB,KAKzB,IAFAgE,EAAGksB,OAASlsB,EAAGmsB,WAEV7wB,EAAI,EAAGoU,EAAOsa,EAAMvzB,OAAQ6E,EAAIoU,IAAQpU,EAC5C0E,EAAGohB,cAAc4I,EAAM1uB,GAAIA,EAAGolB,IAIhCU,cAAe,SAAS0I,EAAW7b,EAAOyS,GACzC,IAAI1gB,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV3kB,EAAUkF,EAAG6f,aACbnjB,EAAUsD,EAAGgiB,2BAA2B8H,EAAW7b,GAEvD6b,EAAUsC,QAAUpsB,EAAGogB,cAAcT,EAAKI,SAC1C+J,EAAUuC,QAAUrsB,EAAGogB,cAAcT,EAAKM,SAC1C6J,EAAUhJ,cAAgB9gB,EAAGiO,MAC7B6b,EAAU9I,OAAS/S,EACnB6b,EAAU7N,OAAS,CAClBgG,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBiH,cAAezsB,EAAQysB,cACvBpG,YAAarmB,EAAQqmB,YACrBuJ,aAAcxxB,EAAQC,MACtBA,MAAOiF,EAAGxF,MAAMwB,KAAKE,OAAO+R,IAGzB8M,GAAUrM,QAAQ5T,EAAQkB,KAAKiS,MAClC6b,EAAU7N,OAAOkN,cAAgB,MAGlCnpB,EAAGusB,uBAAuBzC,EAAW7b,EAAOyS,EAAOhkB,GAEnDotB,EAAU/N,SAMXwQ,uBAAwB,SAASzC,EAAW7b,EAAOyS,EAAOhkB,GACzD,IAAIsD,EAAKnR,KACL8S,EAAQmoB,EAAU7N,OAClBuQ,EAASxsB,EAAGwgB,iBACZ5B,EAAO4N,EAAOC,eACdrD,EAAaoD,EAAOE,eACpB5B,EAAQ9qB,EAAGksB,QAAUlsB,EAAGmsB,WACxBQ,EAAU3sB,EAAG4sB,wBAAwB5sB,EAAGiO,MAAOA,EAAOvR,GACtDmwB,EAAU7sB,EAAG8sB,wBAAwB9sB,EAAGiO,MAAOA,EAAO6c,EAAOpuB,GAEjEiF,EAAMynB,WAAaA,EACnBznB,EAAMid,KAAO8B,EAAQ9B,EAAO+N,EAAQ/N,KACpCjd,EAAMI,EAAIqnB,EAAa1I,EAAQ9B,EAAO+N,EAAQI,KAAOF,EAAQG,OAC7DrrB,EAAMzQ,EAAIk4B,EAAayD,EAAQG,OAAStM,EAAQ9B,EAAO+N,EAAQI,KAC/DprB,EAAM7D,OAASsrB,EAAayD,EAAQvX,UAAO3e,EAC3CgL,EAAM9D,MAAQurB,OAAazyB,EAAYk2B,EAAQvX,MAShD2X,WAAY,SAASC,GACpB,IAMI5xB,EAAGqkB,EANH3f,EAAKnR,KACLoa,EAAQjJ,EAAGygB,iBACX0M,EAAWlkB,EAAMmkB,yBAAyBptB,EAAG6b,OAC7CwR,EAAUpkB,EAAMvM,QAAQ2wB,QACxB3d,EAAOyd,EAAS12B,OAChB62B,EAAS,GAGb,IAAKhyB,EAAI,EAAGA,EAAIoU,IAAQpU,EAWvB,GAVAqkB,EAAOwN,EAAS7xB,KAMA,IAAZ+xB,IAAqD,IAAhCC,EAAOzxB,QAAQ8jB,EAAKoM,aAC/Bp1B,IAAZ02B,QAAwC12B,IAAfgpB,EAAKoM,QAC/BuB,EAAO/uB,KAAKohB,EAAKoM,OAEdpM,EAAK1R,QAAUif,EAClB,MAIF,OAAOI,GAORC,cAAe,WACd,OAAO1+B,KAAKo+B,aAAax2B,QAU1B+2B,cAAe,SAAStO,EAAc/rB,GACrC,IAAIm6B,EAASz+B,KAAKo+B,WAAW/N,GACzBjR,OAAkBtX,IAATxD,EACVm6B,EAAOzxB,QAAQ1I,IACd,EAEJ,OAAmB,IAAX8a,EACLqf,EAAO72B,OAAS,EAChBwX,GAMJke,SAAU,WACT,IAGI7wB,EAAGoU,EAHH1P,EAAKnR,KACLoa,EAAQjJ,EAAGygB,iBACX+J,EAAS,GAGb,IAAKlvB,EAAI,EAAGoU,EAAO1P,EAAGyf,UAAUzjB,KAAKvF,OAAQ6E,EAAIoU,IAAQpU,EACxDkvB,EAAOjsB,KAAK0K,EAAMwkB,iBAAiB,KAAMnyB,EAAG0E,EAAGiO,QAGhD,MAAO,CACNuc,OAAQA,EACRrP,MAAOlS,EAAMykB,YACblC,IAAKviB,EAAM0kB,UACX1C,WAAYjrB,EAAGutB,gBACftkB,MAAOA,IAQT2jB,wBAAyB,SAAS1N,EAAcjR,EAAOvR,GACtD,IAaIpB,EAAGsyB,EAAOC,EAAQjP,EAAMmO,EAAMzX,EAAMwY,EAbpC9tB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXyO,EAAQjJ,EAAGwgB,iBACXkM,EAAezjB,EAAMyjB,eACrB9xB,EAAWJ,EAAMwB,KAAKpB,SACtBuyB,EAAWlkB,EAAMmkB,yBAAyBptB,EAAG6b,OAC7Cha,EAAQoH,EAAM8kB,YAAYnzB,EAASskB,GAAcljB,KAAKiS,IACtD+d,EAAetvB,EAAQsvB,aACvBqB,EAAUpkB,EAAMvM,QAAQ2wB,QACxBtB,EAAQ/rB,EAAGyf,UAAUsM,MACrB5Q,OAAwBxkB,IAAhBkL,EAAMsZ,MAAsB,EAAItZ,EAAMO,KAAO,GAAKP,EAAMM,KAAO,EAAIN,EAAMM,IAAMN,EAAMO,IAC7F3L,OAAyBE,IAAhBkL,EAAMsZ,MAAsBtZ,EAAM2pB,IAAM3pB,EAAMO,KAAO,GAAKP,EAAMM,KAAO,EAAIN,EAAMO,IAAMP,EAAMM,IAAMN,EAAMM,IAAMN,EAAMO,IAC9HsN,EAAOyd,EAAS12B,OAGpB,GAAI42B,QAAwB12B,IAAZ02B,QAAmC12B,IAAVo1B,EACxC,IAAKzwB,EAAI,EAAGA,EAAIoU,IAAQpU,EAAG,CAG1B,GAFAsyB,EAAQT,EAAS7xB,GAEbsyB,EAAM3f,QAAUiR,EACnB,MAGG0O,EAAM7B,QAAUA,IACnB+B,EAAc7kB,EAAM8kB,YAAYnzB,EAASgzB,EAAM3f,OAAOjS,KAAKiS,IAC3D4f,OAA+Bl3B,IAAtBm3B,EAAY3S,MAAsB2S,EAAYtC,IAAMsC,EAAY3rB,KAAO,GAAK2rB,EAAY1rB,KAAO,EAAI0rB,EAAY1rB,IAAM0rB,EAAY3rB,KAErIN,EAAMM,IAAM,GAAK0rB,EAAS,GAAOhsB,EAAMO,KAAO,GAAKyrB,EAAS,KAChE1S,GAAS0S,IAmBb,OAbAjP,EAAO3V,EAAMwkB,iBAAiBtS,GAC9B4R,EAAO9jB,EAAMwkB,iBAAiBtS,EAAQ1kB,GACtC6e,EAAOyX,EAAOnO,OAEOjoB,IAAjBq1B,GAA8Br2B,KAAKmyB,IAAIxS,GAAQ0W,IAClD1W,EAAO0W,EAENe,EADGt2B,GAAU,IAAMi2B,GAAgBj2B,EAAS,GAAKi2B,EAC1C9N,EAAOoN,EAEPpN,EAAOoN,GAIT,CACN1W,KAAMA,EACNsJ,KAAMA,EACNmO,KAAMA,EACNC,OAAQD,EAAOzX,EAAO,IAOxBwX,wBAAyB,SAAS5N,EAAcjR,EAAO6c,EAAOpuB,GAC7D,IAAIsD,EAAKnR,KACLm/B,EAAiC,SAAzBtxB,EAAQsuB,aACjBK,GAA0Bpd,EAAO6c,EAAOpuB,GACxCmuB,GAAyB5c,EAAO6c,EAAOpuB,GAEtCuxB,EAAajuB,EAAGwtB,cAActO,EAAclf,EAAGyf,UAAUsM,OACzDiB,EAASgB,EAAM7S,MAAS6S,EAAM5C,MAAQ6C,EAAeD,EAAM5C,MAAQ,EACnE9V,EAAO3f,KAAKwM,IACfmoB,GAAiB5tB,EAAQuvB,gBAAiB14B,KAC1Cy6B,EAAM5C,MAAQ4C,EAAM/pB,OAErB,MAAO,CACN2a,KAAMoO,EAAS1X,EAAO,EACtByX,KAAMC,EAAS1X,EAAO,EACtB0X,OAAQA,EACR1X,KAAMA,IAIRuM,KAAM,WACL,IAAI7hB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXyO,EAAQjJ,EAAGwgB,iBACXwJ,EAAQhqB,EAAGyf,UAAUzjB,KACrBlB,EAAUkF,EAAG6f,aACbnQ,EAAOsa,EAAMvzB,OACb6E,EAAI,EAIR,IAFAyf,GAAUrc,OAAO2X,SAAS7b,EAAM8Z,IAAK9Z,EAAM+tB,WAEpCjtB,EAAIoU,IAAQpU,EAAG,CACrB,IAAI+H,EAAM4F,EAAM8kB,YAAYjzB,EAAQkB,KAAKV,IACpC6N,MAAM9F,EAAIlB,MAASgH,MAAM9F,EAAIjB,MACjC4nB,EAAM1uB,GAAGumB,OAIX9G,GAAUrc,OAAO6X,WAAW/b,EAAM8Z,MAMnC0N,2BAA4B,WAC3B,IAAIhiB,EAAKnR,KACL8a,EAASoR,GAAUxK,OAAO,GAAI0T,GAAuB1c,UAAUya,2BAA2B7S,MAAMnP,EAAI4E,YACpGspB,EAAYluB,EAAGygB,iBAAiB/jB,QAChCyxB,EAAYnuB,EAAGwgB,iBAAiB9jB,QAQpC,OANAiN,EAAOwhB,cAAgBb,GAAiB4D,EAAU/C,cAAexhB,EAAOwhB,eACxExhB,EAAOqhB,aAAeV,GAAiB4D,EAAUlD,aAAcrhB,EAAOqhB,cACtErhB,EAAOuhB,mBAAqBZ,GAAiB4D,EAAUhD,mBAAoBvhB,EAAOuhB,oBAClFvhB,EAAOsiB,gBAAkB3B,GAAiB4D,EAAUjC,gBAAiBtiB,EAAOsiB,iBAC5EtiB,EAAOqiB,aAAe1B,GAAiB6D,EAAUnC,aAAcriB,EAAOqiB,cAE/DriB,KAKLykB,GAAmBrT,GAAUjM,eAC7Buf,GAAYtT,GAAUre,QAAQic,QAElCd,EAAcR,KAAK,SAAU,CAC5B8K,MAAO,CACNsJ,KAAM,UAGP7L,OAAQ,CACPI,MAAO,CAAC,CACPjjB,KAAM,SACN3G,SAAU,SACVwH,GAAI,aAELsiB,MAAO,CAAC,CACPnjB,KAAM,SACN3G,SAAU,OACVwH,GAAI,cAIN0wB,SAAU,CACTC,UAAW,CACVC,MAAO,WAEN,MAAO,IAERzzB,MAAO,SAASyW,EAAMxV,GACrB,IAAIswB,EAAetwB,EAAKpB,SAAS4W,EAAK0N,cAAcnkB,OAAS,GACzD0zB,EAAYzyB,EAAKpB,SAAS4W,EAAK0N,cAAcljB,KAAKwV,EAAKvD,OAC3D,OAAOqe,EAAe,MAAQ9a,EAAKkd,OAAS,KAAOld,EAAKmd,OAAS,KAAOF,EAAUxsB,EAAI,SAM1F,IAAI2sB,GAAoB3K,GAAuB1T,OAAO,CAIrD6O,gBAAiBwC,GAASuI,MAK1B7K,oBAAqB,CACpB,kBACA,cACA,cACA,uBACA,mBACA,mBACA,cACA,YACA,aACA,YAMDhjB,OAAQ,SAASokB,GAChB,IAAI1gB,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACVwH,EAAStH,EAAK3jB,KAGlB+e,GAAU3L,KAAK6X,GAAQ,SAAS/Q,EAAOjI,GACtCjO,EAAGohB,cAAclL,EAAOjI,EAAOyS,OAOjCU,cAAe,SAASlL,EAAOjI,EAAOyS,GACrC,IAAI1gB,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV6C,EAASpM,EAAMoM,QAAU,GACzBuM,EAAS7uB,EAAGogB,cAAcT,EAAKI,SAC/B+O,EAAS9uB,EAAGogB,cAAcT,EAAKM,SAC/BvjB,EAAUsD,EAAGgiB,2BAA2B9L,EAAOjI,GAC/CjS,EAAOgE,EAAG6f,aAAa7jB,KAAKiS,GAC5B8gB,EAAU/uB,EAAGiO,MAEblM,EAAI2e,EAAQmO,EAAOG,mBAAmB,IAAOH,EAAOpB,iBAAiC,kBAATzxB,EAAoBA,EAAOizB,IAAKhhB,EAAO8gB,GACnH79B,EAAIwvB,EAAQoO,EAAOrC,eAAiBqC,EAAOrB,iBAAiBzxB,EAAMiS,EAAO8gB,GAE7E7Y,EAAMkW,QAAUyC,EAChB3Y,EAAMmW,QAAUyC,EAChB5Y,EAAMgZ,SAAWxyB,EACjBwZ,EAAM4K,cAAgBiO,EACtB7Y,EAAM8K,OAAS/S,EACfiI,EAAM+F,OAAS,CACdgG,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBa,YAAarmB,EAAQqmB,YACrBgF,UAAWrrB,EAAQqrB,UACnBG,WAAYxrB,EAAQwrB,WACpB/S,SAAUzY,EAAQyY,SAClBV,OAAQiM,EAAQ,EAAIhkB,EAAQ+X,OAC5B8S,KAAMjF,EAAOiF,MAAQpe,MAAMpH,IAAMoH,MAAMjY,GACvC6Q,EAAGA,EACH7Q,EAAGA,GAGJglB,EAAM6F,SAMP8G,cAAe,SAAS3M,GACvB,IAAIvU,EAAQuU,EAAM+F,OACdvf,EAAUwZ,EAAMgZ,SAChBpM,EAAgB/H,GAAU+H,cAE9B5M,EAAM0M,eAAiB,CACtBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,YACnBtO,OAAQ9S,EAAM8S,QAGf9S,EAAMsgB,gBAAkBmM,GAAiB1xB,EAAQsmB,qBAAsBF,EAAcpmB,EAAQulB,kBAC7FtgB,EAAMugB,YAAckM,GAAiB1xB,EAAQumB,iBAAkBH,EAAcpmB,EAAQwlB,cACrFvgB,EAAMohB,YAAcqL,GAAiB1xB,EAAQwmB,iBAAkBxmB,EAAQqmB,aACvEphB,EAAM8S,OAAS/X,EAAQ+X,OAAS/X,EAAQ2oB,aAMzCrD,2BAA4B,SAAS9L,EAAOjI,GAC3C,IAAIjO,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXM,EAAUkF,EAAG6f,aACbyC,EAASpM,EAAMoM,QAAU,GACzBtmB,EAAOlB,EAAQkB,KAAKiS,IAAU,GAC9BtE,EAASsa,GAAuB1c,UAAUya,2BAA2B7S,MAAMnP,EAAI4E,WAG/EiU,EAAU,CACbre,MAAOA,EACPioB,UAAWxU,EACXnT,QAASA,EACTokB,aAAclf,EAAGiO,OAgBlB,OAZIjO,EAAG0hB,kBAAoB/X,IAC1BA,EAASoR,GAAUxK,OAAO,GAAI5G,IAI/BA,EAAO8K,OAAS4Z,GAAU,CACzB/L,EAAO7N,OACPzY,EAAKiG,EACLjC,EAAGyhB,QAAQhN,OACXja,EAAMkC,QAAQklB,SAAS1L,MAAMzB,QAC3BoE,EAAS5K,GAELtE,KAILwlB,GAAmBpU,GAAUjM,eAE7BsgB,GAAOz5B,KAAK4O,GACZ8qB,GAAqB,EAAPD,GACdE,GAAYF,GAAO,EAEvBvX,EAAcR,KAAK,WAAY,CAC9B2F,UAAW,CAEVuS,eAAe,EAEfC,cAAc,GAEfrN,MAAO,CACNsJ,KAAM,UAEPgE,eAAgB,SAASj1B,GACxB,IAIIc,EAAGoU,EAAMggB,EAAUC,EAJnBC,EAAOC,SAASvyB,cAAc,MAC9BtB,EAAOxB,EAAMwB,KACbpB,EAAWoB,EAAKpB,SAChBsB,EAASF,EAAKE,OAIlB,GADA0zB,EAAKE,aAAa,QAASt1B,EAAMoD,GAAK,WAClChD,EAASnE,OACZ,IAAK6E,EAAI,EAAGoU,EAAO9U,EAAS,GAAGoB,KAAKvF,OAAQ6E,EAAIoU,IAAQpU,EACvDo0B,EAAWE,EAAKG,YAAYF,SAASvyB,cAAc,OACnDqyB,EAAeD,EAASK,YAAYF,SAASvyB,cAAc,SAC3DqyB,EAAapyB,MAAM0kB,gBAAkBrnB,EAAS,GAAGqnB,gBAAgB3mB,GAC7DY,EAAOZ,IACVo0B,EAASK,YAAYF,SAASG,eAAe9zB,EAAOZ,KAKvD,OAAOs0B,EAAKK,WAEbC,OAAQ,CACPh0B,OAAQ,CACPi0B,eAAgB,SAAS31B,GACxB,IAAIwB,EAAOxB,EAAMwB,KACjB,OAAIA,EAAKE,OAAOzF,QAAUuF,EAAKpB,SAASnE,OAChCuF,EAAKE,OAAOrB,KAAI,SAASE,EAAOO,GACtC,IAAIqkB,EAAOnlB,EAAM2lB,eAAe,GAC5B5iB,EAAQoiB,EAAKyQ,WAAWtO,SAASxmB,GAErC,MAAO,CACN+0B,KAAMt1B,EACNsrB,UAAW9oB,EAAM0kB,gBACjBqE,YAAa/oB,EAAM2kB,YACnB8C,UAAWznB,EAAMwlB,YACjBjH,OAAQ3S,MAAMnN,EAAKpB,SAAS,GAAGoB,KAAKV,KAAOqkB,EAAK3jB,KAAKV,GAAGwgB,OAGxD7N,MAAO3S,MAIH,KAITg1B,QAAS,SAASnwB,EAAGowB,GACpB,IAEIj1B,EAAGoU,EAAMiQ,EAFT1R,EAAQsiB,EAAWtiB,MACnBzT,EAAQ3L,KAAK2L,MAGjB,IAAKc,EAAI,EAAGoU,GAAQlV,EAAMwB,KAAKpB,UAAY,IAAInE,OAAQ6E,EAAIoU,IAAQpU,EAClEqkB,EAAOnlB,EAAM2lB,eAAe7kB,GAExBqkB,EAAK3jB,KAAKiS,KACb0R,EAAK3jB,KAAKiS,GAAO6N,QAAU6D,EAAK3jB,KAAKiS,GAAO6N,QAI9CthB,EAAM8B,WAKRk0B,iBAAkB,GAGlBrb,UAAWma,GAGXlJ,cAAeiJ,GAGff,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERzzB,MAAO,SAAS01B,EAAaz0B,GAC5B,IAAI00B,EAAY10B,EAAKE,OAAOu0B,EAAYxiB,OACpCpM,EAAQ,KAAO7F,EAAKpB,SAAS61B,EAAYvR,cAAcljB,KAAKy0B,EAAYxiB,OAW5E,OATI8M,GAAUrM,QAAQgiB,IAGrBA,EAAYA,EAAU36B,QACtB26B,EAAU,IAAM7uB,GAEhB6uB,GAAa7uB,EAGP6uB,OAMX,IAAIC,GAAsB1M,GAAuB1T,OAAO,CAEvD6O,gBAAiBwC,GAASsI,IAE1B3K,WAAYxE,GAAUxM,KAKtB+Q,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAIDsR,aAAc,SAAS1R,GAGtB,IAFA,IAAI2R,EAAY,EAEPC,EAAI,EAAGA,EAAI5R,IAAgB4R,EAC/BjiC,KAAK2L,MAAMu2B,iBAAiBD,MAC7BD,EAIJ,OAAOA,GAGRv0B,OAAQ,SAASokB,GAChB,IAaIsQ,EAAUC,EAAW31B,EAAGoU,EAbxB1P,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACX+tB,EAAY/tB,EAAM+tB,UAClB2I,EAAO12B,EAAMkC,QACby0B,EAAS,EACTC,EAAS,EACTC,EAAU,EACVC,EAAU,EACV3R,EAAO3f,EAAGyf,UACV8R,EAAO5R,EAAK3jB,KACZw1B,EAASN,EAAKV,iBAAmB,KAAO,EACxCpK,EAAgB8K,EAAK9K,cACrBqL,EAAczxB,EAAG0xB,eAAe1xB,EAAGiO,OAIvC,GAAImY,EAAgBiJ,GAAa,CAChC,IAAIjL,EAAa8M,EAAK/b,SAAWka,GACjCjL,GAAcA,GAAcgL,IAAQC,GAAcjL,GAAcgL,GAAOC,GAAc,EACrF,IAAIhL,EAAWD,EAAagC,EACxBuL,EAASh8B,KAAK8O,IAAI2f,GAClBwN,EAASj8B,KAAK+O,IAAI0f,GAClByN,EAAOl8B,KAAK8O,IAAI4f,GAChByN,EAAOn8B,KAAK+O,IAAI2f,GAChB0N,EAAa3N,GAAc,GAAKC,GAAY,GAAMA,GAAYgL,GAC9D2C,EAAc5N,GAAckL,IAAajL,GAAYiL,IAAcjL,GAAYgL,GAAcC,GAC7F2C,EAAc7N,KAAgBgL,IAAQ/K,GAAY+K,GAClD8C,EAAe9N,IAAekL,IAAajL,IAAaiL,IAAcjL,GAAY+K,GAAOE,GACzF6C,EAAOF,GAAe,EAAIt8B,KAAKwM,IAAIwvB,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACzEY,EAAOF,GAAe,EAAIv8B,KAAKwM,IAAIyvB,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GACzEa,EAAON,EAAY,EAAIp8B,KAAKyM,IAAIuvB,EAAQA,EAASH,EAAQK,EAAMA,EAAOL,GACtEc,EAAON,EAAa,EAAIr8B,KAAKyM,IAAIwvB,EAAQA,EAASJ,EAAQM,EAAMA,EAAON,GAC3EL,GAAUkB,EAAOF,GAAQ,EACzBf,GAAUkB,EAAOF,GAAQ,EACzBf,IAAYgB,EAAOF,GAAQ,EAC3Bb,IAAYgB,EAAOF,GAAQ,EAG5B,IAAK92B,EAAI,EAAGoU,EAAO6hB,EAAK96B,OAAQ6E,EAAIoU,IAAQpU,EAC3Ci2B,EAAKj2B,GAAG4zB,SAAWlvB,EAAGgiB,2BAA2BuP,EAAKj2B,GAAIA,GAiB3D,IAdAd,EAAMuoB,YAAc/iB,EAAGuyB,oBACvBvB,GAAYzI,EAAU3T,MAAQ2T,EAAU7T,KAAOla,EAAMuoB,aAAeoO,EACpEF,GAAa1I,EAAU1T,OAAS0T,EAAU5T,IAAMna,EAAMuoB,aAAeqO,EACrE52B,EAAMgqB,YAAc7uB,KAAKyM,IAAIzM,KAAKwM,IAAI6uB,EAAUC,GAAa,EAAG,GAChEz2B,EAAMiqB,YAAc9uB,KAAKyM,IAAI5H,EAAMgqB,YAAcgN,EAAQ,GACzDh3B,EAAMg4B,cAAgBh4B,EAAMgqB,YAAchqB,EAAMiqB,cAAgBzkB,EAAGyyB,iCAAmC,GACtGj4B,EAAM62B,QAAUA,EAAU72B,EAAMgqB,YAChChqB,EAAM82B,QAAUA,EAAU92B,EAAMgqB,YAEhC7E,EAAK+S,MAAQ1yB,EAAG2yB,iBAEhB3yB,EAAGwkB,YAAchqB,EAAMgqB,YAAchqB,EAAMg4B,aAAexyB,EAAG4yB,qBAAqB5yB,EAAGiO,OACrFjO,EAAGykB,YAAc9uB,KAAKyM,IAAIpC,EAAGwkB,YAAchqB,EAAMg4B,aAAef,EAAa,GAExEn2B,EAAI,EAAGoU,EAAO6hB,EAAK96B,OAAQ6E,EAAIoU,IAAQpU,EAC3C0E,EAAGohB,cAAcmQ,EAAKj2B,GAAIA,EAAGolB,IAI/BU,cAAe,SAASrM,EAAK9G,EAAOyS,GACnC,IAAI1gB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACX+tB,EAAY/tB,EAAM+tB,UAClB2I,EAAO12B,EAAMkC,QACbm2B,EAAgB3B,EAAKlU,UACrB8V,GAAWvK,EAAU7T,KAAO6T,EAAU3T,OAAS,EAC/Cme,GAAWxK,EAAU5T,IAAM4T,EAAU1T,QAAU,EAC/CuP,EAAa8M,EAAK/b,SAClBkP,EAAW6M,EAAK/b,SAChBra,EAAUkF,EAAG6f,aACbuG,EAAgB1F,GAASmS,EAActD,eAAoBxa,EAAI+G,OAAR,EAAqB9b,EAAGgzB,uBAAuBl4B,EAAQkB,KAAKiS,KAAWijB,EAAK9K,cAAgBiJ,IACnJ5K,EAAc/D,GAASmS,EAAcrD,aAAe,EAAIxvB,EAAGykB,YAC3DD,EAAc9D,GAASmS,EAAcrD,aAAe,EAAIxvB,EAAGwkB,YAC3D9nB,EAAUqY,EAAIma,UAAY,GAE9BnU,GAAUxK,OAAOwE,EAAK,CAErB+L,cAAe9gB,EAAGiO,MAClB+S,OAAQ/S,EAGRgO,OAAQ,CACPgG,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBa,YAAarmB,EAAQqmB,YACrBgC,YAAaroB,EAAQqoB,YACrBhjB,EAAG+wB,EAAUt4B,EAAM62B,QACnBngC,EAAG6hC,EAAUv4B,EAAM82B,QACnBlN,WAAYA,EACZC,SAAUA,EACV+B,cAAeA,EACf5B,YAAaA,EACbC,YAAaA,EACb1pB,MAAOggB,GAAU/L,sBAAsBlU,EAAQC,MAAOkT,EAAOzT,EAAMwB,KAAKE,OAAO+R,OAIjF,IAAItM,EAAQoT,EAAIkH,OAGXyE,GAAUmS,EAActD,gBAE3B5tB,EAAMyiB,WADO,IAAVnW,EACgBijB,EAAK/b,SAELnV,EAAGyf,UAAUzjB,KAAKiS,EAAQ,GAAGgO,OAAOoI,SAGxD1iB,EAAM0iB,SAAW1iB,EAAMyiB,WAAaziB,EAAMykB,eAG3CrR,EAAIgH,SAGL4W,eAAgB,WACf,IAGI9wB,EAHA/G,EAAUjM,KAAKgxB,aACfF,EAAO9wB,KAAK4wB,UACZiT,EAAQ,EAcZ,OAXA3X,GAAU3L,KAAKuQ,EAAK3jB,MAAM,SAASmlB,EAASlT,GAC3CpM,EAAQ/G,EAAQkB,KAAKiS,GAChB9E,MAAMtH,IAAWsf,EAAQrF,SAC7B4W,GAAS/8B,KAAKmyB,IAAIjmB,OAQb6wB,GAGRM,uBAAwB,SAASnxB,GAChC,IAAI6wB,EAAQ7jC,KAAK4wB,UAAUiT,MAC3B,OAAIA,EAAQ,IAAMvpB,MAAMtH,GAChBwtB,IAAe15B,KAAKmyB,IAAIjmB,GAAS6wB,GAElC,GAIRH,kBAAmB,SAAShB,GAC3B,IAGIj2B,EAAGoU,EAAMiQ,EAAM5K,EAAKqb,EAAY1zB,EAASqmB,EAAakQ,EAHtDjzB,EAAKnR,KACLuT,EAAM,EACN5H,EAAQwF,EAAGxF,MAGf,IAAK+2B,EAEJ,IAAKj2B,EAAI,EAAGoU,EAAOlV,EAAMwB,KAAKpB,SAASnE,OAAQ6E,EAAIoU,IAAQpU,EAC1D,GAAId,EAAMu2B,iBAAiBz1B,GAAI,CAC9BqkB,EAAOnlB,EAAM2lB,eAAe7kB,GAC5Bi2B,EAAO5R,EAAK3jB,KACRV,IAAM0E,EAAGiO,QACZmiB,EAAazQ,EAAKyQ,YAEnB,MAKH,IAAKmB,EACJ,OAAO,EAGR,IAAKj2B,EAAI,EAAGoU,EAAO6hB,EAAK96B,OAAQ6E,EAAIoU,IAAQpU,EAC3CyZ,EAAMwc,EAAKj2B,GACP80B,GACHA,EAAW5O,aACX9kB,EAAU0zB,EAAWpO,2BAA2BjN,EAAKzZ,IAErDoB,EAAUqY,EAAIma,SAEa,UAAxBxyB,EAAQqoB,cACXhC,EAAcrmB,EAAQqmB,YACtBkQ,EAAav2B,EAAQwmB,iBAErB9gB,EAAM2gB,EAAc3gB,EAAM2gB,EAAc3gB,EACxCA,EAAM6wB,EAAa7wB,EAAM6wB,EAAa7wB,GAGxC,OAAOA,GAMRygB,cAAe,SAAS9N,GACvB,IAAIpT,EAAQoT,EAAIkH,OACZvf,EAAUqY,EAAIma,SACdpM,EAAgB/H,GAAU+H,cAE9B/N,EAAI6N,eAAiB,CACpBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,aAGpBphB,EAAMsgB,gBAAkBkN,GAAiBzyB,EAAQsmB,qBAAsBF,EAAcpmB,EAAQulB,kBAC7FtgB,EAAMugB,YAAciN,GAAiBzyB,EAAQumB,iBAAkBH,EAAcpmB,EAAQwlB,cACrFvgB,EAAMohB,YAAcoM,GAAiBzyB,EAAQwmB,iBAAkBxmB,EAAQqmB,cAOxE6P,qBAAsB,SAAS1T,GAG9B,IAFA,IAAIgU,EAAmB,EAEd53B,EAAI,EAAGA,EAAI4jB,IAAgB5jB,EAC/BzM,KAAK2L,MAAMu2B,iBAAiBz1B,KAC/B43B,GAAoBrkC,KAAK6iC,eAAep2B,IAI1C,OAAO43B,GAMRxB,eAAgB,SAASyB,GACxB,OAAOx9B,KAAKyM,IAAI+sB,GAAiBtgC,KAAK2L,MAAMwB,KAAKpB,SAASu4B,GAAcpmB,OAAQ,GAAI,IAOrF0lB,8BAA+B,WAC9B,OAAO5jC,KAAK+jC,qBAAqB/jC,KAAK2L,MAAMwB,KAAKpB,SAASnE,WAI5DohB,EAAcR,KAAK,gBAAiB,CACnC8K,MAAO,CACNsJ,KAAM,QACN2H,KAAM,KAGPxT,OAAQ,CACPI,MAAO,CAAC,CACPjjB,KAAM,SACN3G,SAAU,WAGX8pB,MAAO,CAAC,CACPnjB,KAAM,WACN3G,SAAU,OACVlD,QAAQ,EACRw4B,UAAW,CACVC,iBAAiB,MAKpB/J,SAAU,CACTkI,UAAW,CACVX,cAAe,SAIjBmF,SAAU,CACT7C,KAAM,QACN2H,KAAM,OAIRvb,EAAcR,KAAK,SAAU,CAC5Bzc,SAAU,CACTy4B,cAAe,CACdnI,mBAAoB,GACpBC,cAAe,OAKlB,IAAImI,GAA2BzH,GAAetb,OAAO,CAIpD+P,iBAAkB,WACjB,OAAOzxB,KAAK4wB,UAAUM,SAMvBQ,iBAAkB,WACjB,OAAO1xB,KAAK4wB,UAAUQ,WAIpBsT,GAAmBxY,GAAUjM,eAC7B0kB,GAAYzY,GAAUre,QAAQic,QAC9B8a,GAAgB1Y,GAAUrc,OAAOuX,eAsBrC,SAASyd,GAAUzqB,EAAO0qB,GACzB,IAAIC,EAAW3qB,GAASA,EAAMvM,QAAQm3B,OAAS,GAC3CvkB,EAAUskB,EAAStkB,QACnBnN,OAAuBxL,IAAjBi9B,EAASzxB,IAAoBwxB,EAAkB,EACrDvxB,OAAuBzL,IAAjBi9B,EAASxxB,IAAoBuxB,EAAkB,EACzD,MAAO,CACNxY,MAAO7L,EAAUlN,EAAMD,EACvBqpB,IAAKlc,EAAUnN,EAAMC,GAIvB,SAAS0xB,GAAYjF,EAAQC,EAAQ/L,GACpC,IAAI4Q,EAAkB5Q,EAAc,EAChChhB,EAAI2xB,GAAU7E,EAAQ8E,GACtBziC,EAAIwiC,GAAU5E,EAAQ6E,GAE1B,MAAO,CACNhf,IAAKzjB,EAAEs6B,IACP5W,MAAO7S,EAAEypB,IACT3W,OAAQ3jB,EAAEiqB,MACVzG,KAAM3S,EAAEoZ,OAIV,SAAS4Y,GAAOlyB,GACf,IAAI+B,EAAG3B,EAAGhL,EAAGpD,EAWb,OATIknB,GAAUnM,SAAS/M,IACtB+B,EAAI/B,EAAM8S,IACV1S,EAAIJ,EAAM+S,MACV3d,EAAI4K,EAAMgT,OACVhhB,EAAIgO,EAAM6S,MAEV9Q,EAAI3B,EAAIhL,EAAIpD,EAAIgO,EAGV,CACN8S,IAAK/Q,EACLgR,MAAO3S,EACP4S,OAAQ5d,EACRyd,KAAM7gB,GA5DRgkB,EAAcR,KAAK,OAAQ,CAC1BO,WAAW,EACXoP,UAAU,EAEV7E,MAAO,CACNsJ,KAAM,SAGP7L,OAAQ,CACPI,MAAO,CAAC,CACPjjB,KAAM,WACNa,GAAI,aAELsiB,MAAO,CAAC,CACPnjB,KAAM,SACNa,GAAI,gBAkDP,IAAIo2B,GAAkB/P,GAAuB1T,OAAO,CAEnD4O,mBAAoByC,GAAS7iB,KAE7BqgB,gBAAiBwC,GAASuI,MAK1B9K,uBAAwB,CACvB,kBACA,iBACA,cACA,aACA,mBACA,kBACA,cACA,yBACA,QAMDC,oBAAqB,CACpB2C,gBAAiB,uBACjBC,YAAa,mBACba,YAAa,mBACbgF,UAAW,iBACX/E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClBmC,YAAa,mBACb6C,WAAY,aACZzT,OAAQ,cACRU,SAAU,iBAGX7Y,OAAQ,SAASokB,GAChB,IAOIplB,EAAGoU,EAPH1P,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV+G,EAAO7G,EAAK7kB,QACZmsB,EAAStH,EAAK3jB,MAAQ,GACtBU,EAAUsD,EAAGxF,MAAMkC,QACnBu3B,EAASj0B,EAAGyhB,QACZyS,EAAWl0B,EAAGm0B,UAAYZ,GAAiBU,EAAOC,SAAUx3B,EAAQkb,WAyBxE,IAtBA5X,EAAGosB,QAAUpsB,EAAGogB,cAAcT,EAAKI,SACnC/f,EAAGqsB,QAAUrsB,EAAGogB,cAAcT,EAAKM,SAG/BiU,SAEoBv9B,IAAnBs9B,EAAOrd,cAAgDjgB,IAAvBs9B,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOrd,SAI7B4P,EAAK6N,OAASr0B,EAAGqsB,QACjB7F,EAAK1F,cAAgB9gB,EAAGiO,MAExBuY,EAAKU,UAAYD,EAEjBT,EAAKvK,OAASjc,EAAG+hB,8BAA8ByE,GAE/CA,EAAKzK,SAIDzgB,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7C0E,EAAGohB,cAAc6F,EAAO3rB,GAAIA,EAAGolB,GAQhC,IALIwT,GAAoC,IAAxB1N,EAAKvK,OAAOrF,SAC3B5W,EAAGs0B,4BAICh5B,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7C2rB,EAAO3rB,GAAGygB,SAIZqF,cAAe,SAASlL,EAAOjI,EAAOyS,GACrC,IASI3e,EAAG7Q,EATH8O,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV6C,EAASpM,EAAMoM,QAAU,GACzBxnB,EAAUkF,EAAG6f,aACbX,EAAelf,EAAGiO,MAClBpM,EAAQ/G,EAAQkB,KAAKiS,GACrB4gB,EAAS7uB,EAAGosB,QACZ0C,EAAS9uB,EAAGqsB,QACZkI,EAAY5U,EAAK7kB,QAAQmhB,OAGzBvf,EAAUsD,EAAGgiB,2BAA2B9L,EAAOjI,GAEnDlM,EAAI8sB,EAAOpB,iBAAkC,kBAAV5rB,EAAqBA,EAAQotB,IAAKhhB,EAAOiR,GAC5EhuB,EAAIwvB,EAAQoO,EAAOrC,eAAiBzsB,EAAGw0B,gBAAgB3yB,EAAOoM,EAAOiR,GAGrEhJ,EAAMkW,QAAUyC,EAChB3Y,EAAMmW,QAAUyC,EAChB5Y,EAAMgZ,SAAWxyB,EACjBwZ,EAAM4K,cAAgB5B,EACtBhJ,EAAM8K,OAAS/S,EAGfiI,EAAM+F,OAAS,CACdla,EAAGA,EACH7Q,EAAGA,EACHq2B,KAAMjF,EAAOiF,MAAQpe,MAAMpH,IAAMoH,MAAMjY,GAEvCujB,OAAQ/X,EAAQ+X,OAChByT,WAAYxrB,EAAQwrB,WACpB/S,SAAUzY,EAAQyY,SAClB8M,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBa,YAAarmB,EAAQqmB,YACrBnM,QAAS2c,GAAiBjR,EAAO1L,QAAS2d,EAAYA,EAAU3d,QAAU,GAC1EF,cAAa6d,GAAYA,EAAU7d,YAEnCqR,UAAWrrB,EAAQqrB,YAOrBhG,8BAA+B,SAASZ,GACvC,IAAInhB,EAAKnR,KACLolC,EAASj0B,EAAGyhB,QACZa,EAASnB,EAAQmB,QAAU,GAC3B5lB,EAAUsD,EAAGxF,MAAMkC,QACnB+3B,EAAc/3B,EAAQklB,SAAS4E,KAC/B7c,EAASsa,GAAuB1c,UAAUwa,8BAA8B5S,MAAMnP,EAAI4E,WAUtF,OALA+E,EAAOqd,SAAWuM,GAAiBU,EAAOjN,SAAUtqB,EAAQsqB,UAC5Drd,EAAOiN,QAAU2c,GAAiBU,EAAOG,YAAaK,EAAY7d,SAClEjN,EAAO+M,YAAc8c,GAAU,CAAClR,EAAO5L,YAAaud,EAAOvd,YAAa+d,EAAYhe,UACpF9M,EAAO2M,KAAOyd,GAAOR,GAAiBU,EAAO3d,KAAMwd,GAAY9zB,EAAGosB,QAASpsB,EAAGqsB,QAAS1iB,EAAOoZ,eAEvFpZ,GAGR6qB,gBAAiB,SAAS3yB,EAAOoM,EAAOiR,GACvC,IAKI5jB,EAAGo5B,EAAIC,EAAQC,EAAmBC,EAAY1H,EAAUzd,EALxD1P,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXs0B,EAAS9uB,EAAGqsB,QACZyI,EAAS,EACTC,EAAS,EAGb,GAAIjG,EAAOpyB,QAAQ2wB,QAAS,CAK3B,IAJAwH,GAAc/F,EAAOkG,cAAcnzB,GACnCsrB,EAAW3yB,EAAMy6B,gCACjBvlB,EAAOyd,EAAS12B,OAEX6E,EAAI,EAAGA,EAAIoU,IAAQpU,EAAG,CAE1B,GADAq5B,EAASxH,EAAS7xB,GACdq5B,EAAO1mB,QAAUiR,EACpB,MAGDwV,EAAKl6B,EAAMwB,KAAKpB,SAAS+5B,EAAO1mB,OACZ,SAAhB0mB,EAAO53B,MAAmB43B,EAAO1U,UAAY6O,EAAOlxB,KACvDg3B,GAAqB9F,EAAOkG,cAAcN,EAAG14B,KAAKiS,IAC9C2mB,EAAoB,EACvBG,GAAUH,GAAqB,EAE/BE,GAAUF,GAAqB,GAKlC,OAAIC,EAAa,EACT/F,EAAOrB,iBAAiBsH,EAASF,GAElC/F,EAAOrB,iBAAiBqH,EAASD,GAEzC,OAAO/F,EAAOrB,iBAAiB5rB,IAGhCyyB,0BAA2B,WAC1B,IAMIh5B,EAAGoU,EAAM/N,EAAOuzB,EANhBl1B,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXmlB,EAAO3f,EAAGyf,UACV8U,EAAY5U,EAAK7kB,QAAQmhB,OACzB9F,EAAO3b,EAAM+tB,UACbtB,EAAStH,EAAK3jB,MAAQ,GAU1B,SAASm5B,EAAgBC,EAAIjzB,EAAKC,GACjC,OAAOzM,KAAKyM,IAAIzM,KAAKwM,IAAIizB,EAAIhzB,GAAMD,GAGpC,GAVIoyB,EAAUvN,WACbC,EAASA,EAAOrrB,QAAO,SAASw5B,GAC/B,OAAQA,EAAGnZ,OAAOsL,SAQqB,aAArCgN,EAAUc,uBACbta,GAAUua,oBAAoBrO,QAE9B,IAAK3rB,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7CqG,EAAQslB,EAAO3rB,GAAG2gB,OAClBiZ,EAAgBna,GAAUwa,YACzBxa,GAAUuM,aAAaL,EAAQ3rB,GAAG2gB,OAClCta,EACAoZ,GAAUya,SAASvO,EAAQ3rB,GAAG2gB,OAC9BsY,EAAU3d,SAEXjV,EAAMmV,sBAAwBoe,EAAc/jB,SAASpP,EACrDJ,EAAMqV,sBAAwBke,EAAc/jB,SAASjgB,EACrDyQ,EAAMoV,kBAAoBme,EAAc5J,KAAKvpB,EAC7CJ,EAAMsV,kBAAoBie,EAAc5J,KAAKp6B,EAI/C,GAAIsJ,EAAMkC,QAAQklB,SAAS4E,KAAKK,gBAC/B,IAAKvrB,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7CqG,EAAQslB,EAAO3rB,GAAG2gB,OACdwX,GAAc9xB,EAAOwU,KACpB7a,EAAI,GAAKm4B,GAAcxM,EAAO3rB,EAAI,GAAG2gB,OAAQ9F,KAChDxU,EAAMmV,sBAAwBqe,EAAgBxzB,EAAMmV,sBAAuBX,EAAKzB,KAAMyB,EAAKvB,OAC3FjT,EAAMqV,sBAAwBme,EAAgBxzB,EAAMqV,sBAAuBb,EAAKxB,IAAKwB,EAAKtB,SAEvFvZ,EAAI2rB,EAAOxwB,OAAS,GAAKg9B,GAAcxM,EAAO3rB,EAAI,GAAG2gB,OAAQ9F,KAChExU,EAAMoV,kBAAoBoe,EAAgBxzB,EAAMoV,kBAAmBZ,EAAKzB,KAAMyB,EAAKvB,OACnFjT,EAAMsV,kBAAoBke,EAAgBxzB,EAAMsV,kBAAmBd,EAAKxB,IAAKwB,EAAKtB,WAOvFgN,KAAM,WACL,IAQIvL,EARAtW,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXmlB,EAAO3f,EAAGyf,UACVwH,EAAStH,EAAK3jB,MAAQ,GACtBma,EAAO3b,EAAM+tB,UACb7pB,EAASlE,EAAMkE,OACfpD,EAAI,EACJoU,EAAOuX,EAAOxwB,OAmBlB,IAhBIuJ,EAAGm0B,YACN7d,EAAOqJ,EAAK7kB,QAAQmhB,OAAO3F,KAE3ByE,GAAUrc,OAAO2X,SAAS7b,EAAM8Z,IAAK,CACpCI,MAAoB,IAAd4B,EAAK5B,KAAiB,EAAIyB,EAAKzB,KAAO4B,EAAK5B,KACjDE,OAAsB,IAAf0B,EAAK1B,MAAkBlW,EAAOb,MAAQsY,EAAKvB,MAAQ0B,EAAK1B,MAC/DD,KAAkB,IAAb2B,EAAK3B,IAAgB,EAAIwB,EAAKxB,IAAM2B,EAAK3B,IAC9CE,QAAwB,IAAhByB,EAAKzB,OAAmBnW,EAAOZ,OAASqY,EAAKtB,OAASyB,EAAKzB,SAGpE8K,EAAK7kB,QAAQ+mB,OAEb9G,GAAUrc,OAAO6X,WAAW/b,EAAM8Z,MAI5BhZ,EAAIoU,IAAQpU,EAClB2rB,EAAO3rB,GAAGumB,KAAK1L,IAOjB0M,cAAe,SAAS3M,GACvB,IAAIvU,EAAQuU,EAAM+F,OACdvf,EAAUwZ,EAAMgZ,SAChBpM,EAAgB/H,GAAU+H,cAE9B5M,EAAM0M,eAAiB,CACtBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,YACnBtO,OAAQ9S,EAAM8S,QAGf9S,EAAMsgB,gBAAkBsR,GAAiB72B,EAAQsmB,qBAAsBF,EAAcpmB,EAAQulB,kBAC7FtgB,EAAMugB,YAAcqR,GAAiB72B,EAAQumB,iBAAkBH,EAAcpmB,EAAQwlB,cACrFvgB,EAAMohB,YAAcwQ,GAAiB72B,EAAQwmB,iBAAkBxmB,EAAQqmB,aACvEphB,EAAM8S,OAAS8e,GAAiB72B,EAAQ2oB,YAAa3oB,EAAQ+X,WAI3DghB,GAAY1a,GAAUre,QAAQic,QAElCd,EAAcR,KAAK,YAAa,CAC/BpO,MAAO,CACNlM,KAAM,eACN24B,WAAY,CACXC,SAAS,GAEVjK,UAAW,CACVkK,UAAU,GAEXC,YAAa,CACZF,SAAS,GAEV9B,MAAO,CACNiC,aAAa,IAKf9Y,UAAW,CACVuS,eAAe,EACfC,cAAc,GAGfpL,YAAa,GAAMzuB,KAAK4O,GACxBkrB,eAAgB,SAASj1B,GACxB,IAIIc,EAAGoU,EAAMggB,EAAUC,EAJnBC,EAAOC,SAASvyB,cAAc,MAC9BtB,EAAOxB,EAAMwB,KACbpB,EAAWoB,EAAKpB,SAChBsB,EAASF,EAAKE,OAIlB,GADA0zB,EAAKE,aAAa,QAASt1B,EAAMoD,GAAK,WAClChD,EAASnE,OACZ,IAAK6E,EAAI,EAAGoU,EAAO9U,EAAS,GAAGoB,KAAKvF,OAAQ6E,EAAIoU,IAAQpU,EACvDo0B,EAAWE,EAAKG,YAAYF,SAASvyB,cAAc,OACnDqyB,EAAeD,EAASK,YAAYF,SAASvyB,cAAc,SAC3DqyB,EAAapyB,MAAM0kB,gBAAkBrnB,EAAS,GAAGqnB,gBAAgB3mB,GAC7DY,EAAOZ,IACVo0B,EAASK,YAAYF,SAASG,eAAe9zB,EAAOZ,KAKvD,OAAOs0B,EAAKK,WAEbC,OAAQ,CACPh0B,OAAQ,CACPi0B,eAAgB,SAAS31B,GACxB,IAAIwB,EAAOxB,EAAMwB,KACjB,OAAIA,EAAKE,OAAOzF,QAAUuF,EAAKpB,SAASnE,OAChCuF,EAAKE,OAAOrB,KAAI,SAASE,EAAOO,GACtC,IAAIqkB,EAAOnlB,EAAM2lB,eAAe,GAC5B5iB,EAAQoiB,EAAKyQ,WAAWtO,SAASxmB,GAErC,MAAO,CACN+0B,KAAMt1B,EACNsrB,UAAW9oB,EAAM0kB,gBACjBqE,YAAa/oB,EAAM2kB,YACnB8C,UAAWznB,EAAMwlB,YACjBjH,OAAQ3S,MAAMnN,EAAKpB,SAAS,GAAGoB,KAAKV,KAAOqkB,EAAK3jB,KAAKV,GAAGwgB,OAGxD7N,MAAO3S,MAIH,KAITg1B,QAAS,SAASnwB,EAAGowB,GACpB,IAEIj1B,EAAGoU,EAAMiQ,EAFT1R,EAAQsiB,EAAWtiB,MACnBzT,EAAQ3L,KAAK2L,MAGjB,IAAKc,EAAI,EAAGoU,GAAQlV,EAAMwB,KAAKpB,UAAY,IAAInE,OAAQ6E,EAAIoU,IAAQpU,EAClEqkB,EAAOnlB,EAAM2lB,eAAe7kB,GAC5BqkB,EAAK3jB,KAAKiS,GAAO6N,QAAU6D,EAAK3jB,KAAKiS,GAAO6N,OAG7CthB,EAAM8B,WAKRgyB,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERzzB,MAAO,SAASyW,EAAMxV,GACrB,OAAOA,EAAKE,OAAOsV,EAAKvD,OAAS,KAAOuD,EAAKmd,YAMjD,IAAIoH,GAAuB9R,GAAuB1T,OAAO,CAExD6O,gBAAiBwC,GAASsI,IAE1B3K,WAAYxE,GAAUxM,KAKtB+Q,oBAAqB,CACpB,kBACA,cACA,cACA,cACA,uBACA,mBACA,oBAMDiB,iBAAkB,WACjB,OAAO1xB,KAAK2L,MAAMyO,MAAMrL,IAMzB0iB,iBAAkB,WACjB,OAAOzxB,KAAK2L,MAAMyO,MAAMrL,IAGzBtB,OAAQ,SAASokB,GAChB,IAOIplB,EAAGoU,EAAMiW,EAPT3lB,EAAKnR,KACLiM,EAAUkF,EAAG6f,aACbF,EAAO3f,EAAGyf,UACVtE,EAAQnb,EAAGxF,MAAMkC,QAAQ0nB,YAAc,EACvC4R,EAASh2B,EAAGi2B,QAAU,GACtBC,EAASl2B,EAAGm2B,QAAU,GACtB5E,EAAO5R,EAAK3jB,KAOhB,IAJAgE,EAAGo2B,gBAEHzW,EAAK+D,MAAQ1jB,EAAGq2B,uBAEX/6B,EAAI,EAAGoU,EAAO5U,EAAQkB,KAAKvF,OAAQ6E,EAAIoU,EAAMpU,IACjD06B,EAAO16B,GAAK6f,EACZwK,EAAQ3lB,EAAGs2B,cAAch7B,GACzB46B,EAAO56B,GAAKqqB,EACZxK,GAASwK,EAGV,IAAKrqB,EAAI,EAAGoU,EAAO6hB,EAAK96B,OAAQ6E,EAAIoU,IAAQpU,EAC3Ci2B,EAAKj2B,GAAG4zB,SAAWlvB,EAAGgiB,2BAA2BuP,EAAKj2B,GAAIA,GAC1D0E,EAAGohB,cAAcmQ,EAAKj2B,GAAIA,EAAGolB,IAO/B0V,cAAe,WACd,IAAIp2B,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACX+tB,EAAY/tB,EAAM+tB,UAClB2I,EAAO12B,EAAMkC,QACb65B,EAAU5gC,KAAKwM,IAAIomB,EAAU3T,MAAQ2T,EAAU7T,KAAM6T,EAAU1T,OAAS0T,EAAU5T,KAEtFna,EAAMgqB,YAAc7uB,KAAKyM,IAAIm0B,EAAU,EAAG,GAC1C/7B,EAAMiqB,YAAc9uB,KAAKyM,IAAI8uB,EAAKV,iBAAoBh2B,EAAMgqB,YAAc,IAAQ0M,EAAqB,iBAAI,EAAG,GAC9G12B,EAAMg4B,cAAgBh4B,EAAMgqB,YAAchqB,EAAMiqB,aAAejqB,EAAMg8B,yBAErEx2B,EAAGwkB,YAAchqB,EAAMgqB,YAAehqB,EAAMg4B,aAAexyB,EAAGiO,MAC9DjO,EAAGykB,YAAczkB,EAAGwkB,YAAchqB,EAAMg4B,cAGzCpR,cAAe,SAASrM,EAAK9G,EAAOyS,GACnC,IAAI1gB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXM,EAAUkF,EAAG6f,aACbqR,EAAO12B,EAAMkC,QACbm2B,EAAgB3B,EAAKlU,UACrB/T,EAAQzO,EAAMyO,MACd/M,EAAS1B,EAAMwB,KAAKE,OAEpB42B,EAAU7pB,EAAMwtB,QAChB1D,EAAU9pB,EAAMytB,QAGhBC,EAAoBzF,EAAK9M,WACzBphB,EAAW+R,EAAI+G,OAAS,EAAI7S,EAAM2tB,8BAA8B97B,EAAQkB,KAAKiS,IAC7EmW,EAAapkB,EAAGi2B,QAAQhoB,GACxBoW,EAAWD,GAAcrP,EAAI+G,OAAS,EAAI9b,EAAGm2B,QAAQloB,IAErD4oB,EAAchE,EAAcrD,aAAe,EAAIvmB,EAAM2tB,8BAA8B97B,EAAQkB,KAAKiS,IAChGvR,EAAUqY,EAAIma,UAAY,GAE9BnU,GAAUxK,OAAOwE,EAAK,CAErB+L,cAAe9gB,EAAGiO,MAClB+S,OAAQ/S,EACRomB,OAAQprB,EAGRgT,OAAQ,CACPgG,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBa,YAAarmB,EAAQqmB,YACrBgC,YAAaroB,EAAQqoB,YACrBhjB,EAAG+wB,EACH5hC,EAAG6hC,EACHtO,YAAa,EACbD,YAAa9D,EAAQmW,EAAc7zB,EACnCohB,WAAY1D,GAASmS,EAActD,cAAgBoH,EAAoBvS,EACvEC,SAAU3D,GAASmS,EAActD,cAAgBoH,EAAoBtS,EACrEtpB,MAAOggB,GAAU/L,sBAAsB9S,EAAQ+R,EAAO/R,EAAO+R,OAI/D8G,EAAIgH,SAGLsa,qBAAsB,WACrB,IAAIv7B,EAAUjM,KAAKgxB,aACfF,EAAO9wB,KAAK4wB,UACZiE,EAAQ,EAQZ,OANA3I,GAAU3L,KAAKuQ,EAAK3jB,MAAM,SAASmlB,EAASlT,GACtC9E,MAAMrO,EAAQkB,KAAKiS,KAAYkT,EAAQrF,QAC3C4H,OAIKA,GAMRb,cAAe,SAAS9N,GACvB,IAAIpT,EAAQoT,EAAIkH,OACZvf,EAAUqY,EAAIma,SACdpM,EAAgB/H,GAAU+H,cAC1BhU,EAAiBiM,GAAUjM,eAE/BiG,EAAI6N,eAAiB,CACpBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,aAGpBphB,EAAMsgB,gBAAkBnT,EAAepS,EAAQsmB,qBAAsBF,EAAcpmB,EAAQulB,kBAC3FtgB,EAAMugB,YAAcpT,EAAepS,EAAQumB,iBAAkBH,EAAcpmB,EAAQwlB,cACnFvgB,EAAMohB,YAAcjU,EAAepS,EAAQwmB,iBAAkBxmB,EAAQqmB,cAMtEuT,cAAe,SAASroB,GACvB,IAAIjO,EAAKnR,KACL60B,EAAQ70B,KAAK4wB,UAAUiE,MACvB5oB,EAAUkF,EAAG6f,aACbF,EAAO3f,EAAGyf,UAEd,GAAItW,MAAMrO,EAAQkB,KAAKiS,KAAW0R,EAAK3jB,KAAKiS,GAAO6N,OAClD,OAAO,EAIR,IAAIjD,EAAU,CACbre,MAAOwF,EAAGxF,MACVioB,UAAWxU,EACXnT,QAASA,EACTokB,aAAclf,EAAGiO,OAGlB,OAAOwnB,GAAU,CAChBz1B,EAAGxF,MAAMkC,QAAQklB,SAAS7M,IAAI4Q,MAC7B,EAAIhwB,KAAK4O,GAAMmf,GACd7K,EAAS5K,MAId4J,EAAcR,KAAK,MAAO0D,GAAU3N,MAAMyK,EAAcif,WACxDjf,EAAcR,KAAK,MAAO,CACzBmZ,iBAAkB,IAInB,IAAIuG,GAAiBpG,GAEjBqG,GAAmBjc,GAAUjM,eAEjC+I,EAAcR,KAAK,QAAS,CAC3B2P,UAAU,EACV/d,MAAO,CACNlM,KAAM,gBAEP6kB,SAAU,CACT4E,KAAM,CACLzQ,KAAM,QACNa,QAAS,MAKZ,IAAIqgB,GAAmBhT,GAAuB1T,OAAO,CACpD4O,mBAAoByC,GAAS7iB,KAE7BqgB,gBAAiBwC,GAASuI,MAE1B5K,WAAYxE,GAAUxM,KAKtB8Q,uBAAwB,CACvB,kBACA,cACA,cACA,iBACA,aACA,mBACA,kBACA,QAMDC,oBAAqB,CACpB2C,gBAAiB,uBACjBC,YAAa,mBACba,YAAa,mBACbgF,UAAW,iBACX/E,qBAAsB,4BACtBC,iBAAkB,wBAClBC,iBAAkB,wBAClBmC,YAAa,mBACb6C,WAAY,aACZzT,OAAQ,cACRU,SAAU,iBAMXoL,iBAAkB,WACjB,OAAO1xB,KAAK2L,MAAMyO,MAAMrL,IAMzB0iB,iBAAkB,WACjB,OAAOzxB,KAAK2L,MAAMyO,MAAMrL,IAGzBtB,OAAQ,SAASokB,GAChB,IAMIplB,EAAGoU,EANH1P,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACV+G,EAAO7G,EAAK7kB,QACZmsB,EAAStH,EAAK3jB,MAAQ,GACtBiN,EAAQjJ,EAAGxF,MAAMyO,MACjBgrB,EAASj0B,EAAGyhB,QAoBhB,SAhBuB9qB,IAAnBs9B,EAAOrd,cAAgDjgB,IAAvBs9B,EAAOG,cAC1CH,EAAOG,YAAcH,EAAOrd,SAI7B4P,EAAK6N,OAASprB,EACdud,EAAK1F,cAAgB9gB,EAAGiO,MAExBuY,EAAKU,UAAYD,EACjBT,EAAKa,OAAQ,EAEbb,EAAKvK,OAASjc,EAAG+hB,8BAA8ByE,GAE/CA,EAAKzK,QAGAzgB,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7C0E,EAAGohB,cAAc6F,EAAO3rB,GAAIA,EAAGolB,GAOhC,IAHA1gB,EAAGs0B,4BAGEh5B,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7C2rB,EAAO3rB,GAAGygB,SAIZqF,cAAe,SAASlL,EAAOjI,EAAOyS,GACrC,IAAI1gB,EAAKnR,KACLyzB,EAASpM,EAAMoM,QAAU,GACzBxnB,EAAUkF,EAAG6f,aACb5W,EAAQjJ,EAAGxF,MAAMyO,MACjBiuB,EAAgBjuB,EAAMkuB,yBAAyBlpB,EAAOnT,EAAQkB,KAAKiS,IACnEvR,EAAUsD,EAAGgiB,2BAA2B9L,EAAOjI,GAC/CsmB,EAAYv0B,EAAGyf,UAAU3kB,QAAQmhB,OACjCla,EAAI2e,EAAQzX,EAAMwtB,QAAUS,EAAcn1B,EAC1C7Q,EAAIwvB,EAAQzX,EAAMytB,QAAUQ,EAAchmC,EAG9CglB,EAAMme,OAASprB,EACfiN,EAAMgZ,SAAWxyB,EACjBwZ,EAAM4K,cAAgB9gB,EAAGiO,MACzBiI,EAAM8K,OAAS/S,EAGfiI,EAAM+F,OAAS,CACdla,EAAGA,EACH7Q,EAAGA,EACHq2B,KAAMjF,EAAOiF,MAAQpe,MAAMpH,IAAMoH,MAAMjY,GAEvCujB,OAAQ/X,EAAQ+X,OAChByT,WAAYxrB,EAAQwrB,WACpB/S,SAAUzY,EAAQyY,SAClB8M,gBAAiBvlB,EAAQulB,gBACzBC,YAAaxlB,EAAQwlB,YACrBa,YAAarmB,EAAQqmB,YACrBnM,QAASogB,GAAiB1U,EAAO1L,QAAS2d,EAAYA,EAAU3d,QAAU,GAG1EmR,UAAWrrB,EAAQqrB,YAOrBhG,8BAA+B,WAC9B,IAAI/hB,EAAKnR,KACLolC,EAASj0B,EAAGyhB,QACZ/kB,EAAUsD,EAAGxF,MAAMkC,QACnBiN,EAASsa,GAAuB1c,UAAUwa,8BAA8B5S,MAAMnP,EAAI4E,WAKtF,OAHA+E,EAAOqd,SAAWgQ,GAAiB/C,EAAOjN,SAAUtqB,EAAQsqB,UAC5Drd,EAAOiN,QAAUogB,GAAiB/C,EAAOG,YAAa13B,EAAQklB,SAAS4E,KAAK5P,SAErEjN,GAGR2qB,0BAA2B,WAC1B,IAIIh5B,EAAGoU,EAAM/N,EAAOuzB,EAJhBl1B,EAAKnR,KACL8wB,EAAO3f,EAAGyf,UACVtJ,EAAOnW,EAAGxF,MAAM+tB,UAChBtB,EAAStH,EAAK3jB,MAAQ,GAU1B,SAASm5B,EAAgBC,EAAIjzB,EAAKC,GACjC,OAAOzM,KAAKyM,IAAIzM,KAAKwM,IAAIizB,EAAIhzB,GAAMD,GAGpC,IAVIwd,EAAK7kB,QAAQmhB,OAAO+K,WACvBC,EAASA,EAAOrrB,QAAO,SAASw5B,GAC/B,OAAQA,EAAGnZ,OAAOsL,SAQfjsB,EAAI,EAAGoU,EAAOuX,EAAOxwB,OAAQ6E,EAAIoU,IAAQpU,EAC7CqG,EAAQslB,EAAO3rB,GAAG2gB,OAClBiZ,EAAgBna,GAAUwa,YACzBxa,GAAUuM,aAAaL,EAAQ3rB,GAAG,GAAM2gB,OACxCta,EACAoZ,GAAUya,SAASvO,EAAQ3rB,GAAG,GAAM2gB,OACpCta,EAAMiV,SAIPjV,EAAMmV,sBAAwBqe,EAAgBD,EAAc/jB,SAASpP,EAAGoU,EAAKzB,KAAMyB,EAAKvB,OACxFjT,EAAMqV,sBAAwBme,EAAgBD,EAAc/jB,SAASjgB,EAAGilB,EAAKxB,IAAKwB,EAAKtB,QACvFlT,EAAMoV,kBAAoBoe,EAAgBD,EAAc5J,KAAKvpB,EAAGoU,EAAKzB,KAAMyB,EAAKvB,OAChFjT,EAAMsV,kBAAoBke,EAAgBD,EAAc5J,KAAKp6B,EAAGilB,EAAKxB,IAAKwB,EAAKtB,SAIjFgO,cAAe,SAAS3M,GACvB,IAAIvU,EAAQuU,EAAM+F,OACdvf,EAAUwZ,EAAMgZ,SAChBpM,EAAgB/H,GAAU+H,cAE9B5M,EAAM0M,eAAiB,CACtBX,gBAAiBtgB,EAAMsgB,gBACvBC,YAAavgB,EAAMugB,YACnBa,YAAaphB,EAAMohB,YACnBtO,OAAQ9S,EAAM8S,QAGf9S,EAAMsgB,gBAAkB+U,GAAiBt6B,EAAQsmB,qBAAsBF,EAAcpmB,EAAQulB,kBAC7FtgB,EAAMugB,YAAc8U,GAAiBt6B,EAAQumB,iBAAkBH,EAAcpmB,EAAQwlB,cACrFvgB,EAAMohB,YAAciU,GAAiBt6B,EAAQwmB,iBAAkBxmB,EAAQqmB,aACvEphB,EAAM8S,OAASuiB,GAAiBt6B,EAAQ2oB,YAAa3oB,EAAQ+X,WAI/DoD,EAAcR,KAAK,UAAW,CAC7B8K,MAAO,CACNsJ,KAAM,UAGP7L,OAAQ,CACPI,MAAO,CAAC,CACPpiB,GAAI,WACJb,KAAM,SACN3G,SAAU,WAEX8pB,MAAO,CAAC,CACPtiB,GAAI,WACJb,KAAM,SACN3G,SAAU,UAIZk4B,SAAU,CACTC,UAAW,CACVC,MAAO,WACN,MAAO,IAERzzB,MAAO,SAASyW,GACf,MAAO,IAAMA,EAAKkd,OAAS,KAAOld,EAAKmd,OAAS,SAMpD9W,EAAcR,KAAK,SAAU,CAC5Bzc,SAAU,CACTw8B,QAAS,CACRlD,UAAU,MAMb,IAAImD,GAAqBrD,GAMrBsD,GAAc,CACjB1L,IAAKC,GACL0L,OAAQ3I,GACRkI,SAAUnG,GACV0C,cAAeC,GACf9M,KAAMwN,GACNwD,UAAWzB,GACX0B,IAAKV,GACLW,MAAOT,GACPG,QAASC,IASV,SAASM,GAAoBx3B,EAAG3F,GAC/B,OAAI2F,EAAEy3B,OACE,CACN71B,EAAG5B,EAAE4B,EACL7Q,EAAGiP,EAAEjP,GAIA6pB,GAAU4c,oBAAoBx3B,EAAG3F,GAQzC,SAASq9B,GAAkBr9B,EAAOs9B,GACjC,IACIC,EAAUz8B,EAAGw1B,EAAGphB,EAAMsoB,EAAM7W,EAD5BgM,EAAW3yB,EAAMy6B,gCAGrB,IAAK35B,EAAI,EAAGoU,EAAOyd,EAAS12B,OAAQ6E,EAAIoU,IAAQpU,EAE/C,IADAy8B,EAAW5K,EAAS7xB,GAAGU,KAClB80B,EAAI,EAAGkH,EAAOD,EAASthC,OAAQq6B,EAAIkH,IAAQlH,EAC/C3P,EAAU4W,EAASjH,GACd3P,EAAQnF,MAAMuL,MAClBuQ,EAAQ3W,GAYZ,SAAS8W,GAAkBz9B,EAAOpE,GACjC,IAAIwrB,EAAW,GAQf,OANAiW,GAAkBr9B,GAAO,SAAS2mB,GAC7BA,EAAQmE,QAAQlvB,EAAS2L,EAAG3L,EAASlF,IACxC0wB,EAASrjB,KAAK4iB,MAITS,EAWR,SAASsW,GAAgB19B,EAAOpE,EAAU+hC,EAAWC,GACpD,IAAIC,EAAcr6B,OAAOs6B,kBACrBC,EAAe,GAkBnB,OAhBAV,GAAkBr9B,GAAO,SAAS2mB,GACjC,IAAIgX,GAAchX,EAAQmE,QAAQlvB,EAAS2L,EAAG3L,EAASlF,GAAvD,CAIA,IAAI87B,EAAS7L,EAAQ2E,iBACjB9iB,EAAWo1B,EAAehiC,EAAU42B,GACpChqB,EAAWq1B,GACdE,EAAe,CAACpX,GAChBkX,EAAcr1B,GACJA,IAAaq1B,GAEvBE,EAAah6B,KAAK4iB,OAIboX,EAQR,SAASC,GAAyBpF,GACjC,IAAIqF,GAA8B,IAAvBrF,EAAKv3B,QAAQ,KACpB68B,GAA8B,IAAvBtF,EAAKv3B,QAAQ,KAExB,OAAO,SAAS88B,EAAKC,GACpB,IAAIC,EAASJ,EAAO9iC,KAAKmyB,IAAI6Q,EAAI52B,EAAI62B,EAAI72B,GAAK,EAC1C+2B,EAASJ,EAAO/iC,KAAKmyB,IAAI6Q,EAAIznC,EAAI0nC,EAAI1nC,GAAK,EAC9C,OAAOyE,KAAK6O,KAAK7O,KAAKqM,IAAI62B,EAAQ,GAAKljC,KAAKqM,IAAI82B,EAAQ,KAI1D,SAASC,GAAUv+B,EAAO2F,EAAGzD,GAC5B,IAAItG,EAAWuhC,GAAoBx3B,EAAG3F,GAEtCkC,EAAQ02B,KAAO12B,EAAQ02B,MAAQ,IAC/B,IAAIgF,EAAiBI,GAAyB97B,EAAQ02B,MAClD4F,EAAQt8B,EAAQy7B,UAAYF,GAAkBz9B,EAAOpE,GAAY8hC,GAAgB19B,EAAOpE,GAAU,EAAOgiC,GACzGxW,EAAW,GAEf,OAAKoX,EAAMviC,QAIX+D,EAAMy6B,gCAAgC55B,SAAQ,SAASskB,GACtD,IAAIwB,EAAUxB,EAAK3jB,KAAKg9B,EAAM,GAAGhY,QAG7BG,IAAYA,EAAQnF,MAAMuL,MAC7B3F,EAASrjB,KAAK4iB,MAITS,GAZC,GA4BT,IAAIqX,GAAmB,CAEtBC,MAAO,CACNC,OAAQ,SAAS3+B,EAAO2F,GACvB,IAAI/J,EAAWuhC,GAAoBx3B,EAAG3F,GAClConB,EAAW,GASf,OAPAiW,GAAkBr9B,GAAO,SAAS2mB,GACjC,GAAIA,EAAQmE,QAAQlvB,EAAS2L,EAAG3L,EAASlF,GAExC,OADA0wB,EAASrjB,KAAK4iB,GACPS,KAIFA,EAAS7rB,MAAM,EAAG,IAS1BgF,MAAOg+B,GAYP9qB,MAAO8qB,GAWPj+B,QAAS,SAASN,EAAO2F,EAAGzD,GAC3B,IAAItG,EAAWuhC,GAAoBx3B,EAAG3F,GACtCkC,EAAQ02B,KAAO12B,EAAQ02B,MAAQ,KAC/B,IAAIgF,EAAiBI,GAAyB97B,EAAQ02B,MAClD4F,EAAQt8B,EAAQy7B,UAAYF,GAAkBz9B,EAAOpE,GAAY8hC,GAAgB19B,EAAOpE,GAAU,EAAOgiC,GAM7G,OAJIY,EAAMviC,OAAS,IAClBuiC,EAAQx+B,EAAM2lB,eAAe6Y,EAAM,GAAGlY,eAAe9kB,MAG/Cg9B,GASR,SAAU,SAASx+B,EAAO2F,GACzB,OAAO44B,GAAUv+B,EAAO2F,EAAG,CAACg4B,WAAW,KAWxCjiB,MAAO,SAAS1b,EAAO2F,GACtB,IAAI/J,EAAWuhC,GAAoBx3B,EAAG3F,GACtC,OAAOy9B,GAAkBz9B,EAAOpE,IAWjCgjC,QAAS,SAAS5+B,EAAO2F,EAAGzD,GAC3B,IAAItG,EAAWuhC,GAAoBx3B,EAAG3F,GACtCkC,EAAQ02B,KAAO12B,EAAQ02B,MAAQ,KAC/B,IAAIgF,EAAiBI,GAAyB97B,EAAQ02B,MACtD,OAAO8E,GAAgB19B,EAAOpE,EAAUsG,EAAQy7B,UAAWC,IAW5Dr2B,EAAG,SAASvH,EAAO2F,EAAGzD,GACrB,IAAItG,EAAWuhC,GAAoBx3B,EAAG3F,GAClCw+B,EAAQ,GACRK,GAAiB,EAiBrB,OAfAxB,GAAkBr9B,GAAO,SAAS2mB,GAC7BA,EAAQiH,SAAShyB,EAAS2L,IAC7Bi3B,EAAMz6B,KAAK4iB,GAGRA,EAAQmE,QAAQlvB,EAAS2L,EAAG3L,EAASlF,KACxCmoC,GAAiB,MAMf38B,EAAQy7B,YAAckB,IACzBL,EAAQ,IAEFA,GAWR9nC,EAAG,SAASsJ,EAAO2F,EAAGzD,GACrB,IAAItG,EAAWuhC,GAAoBx3B,EAAG3F,GAClCw+B,EAAQ,GACRK,GAAiB,EAiBrB,OAfAxB,GAAkBr9B,GAAO,SAAS2mB,GAC7BA,EAAQkH,SAASjyB,EAASlF,IAC7B8nC,EAAMz6B,KAAK4iB,GAGRA,EAAQmE,QAAQlvB,EAAS2L,EAAG3L,EAASlF,KACxCmoC,GAAiB,MAMf38B,EAAQy7B,YAAckB,IACzBL,EAAQ,IAEFA,KAKNzoB,GAASwK,GAAUxK,OAEvB,SAAS+oB,GAAiB/nB,EAAOnb,GAChC,OAAO2kB,GAAUwe,MAAMhoB,GAAO,SAAS9O,GACtC,OAAOA,EAAE+2B,MAAQpjC,KAInB,SAASqjC,GAAaloB,EAAOjC,GAC5B,OAAOiC,EAAM2H,MAAK,SAAS3gB,EAAGtB,GAC7B,IAAI0Y,EAAKL,EAAUrY,EAAIsB,EACnBqX,EAAKN,EAAU/W,EAAItB,EACvB,OAAO0Y,EAAG5C,SAAW6C,EAAG7C,OACvB4C,EAAG1B,MAAQ2B,EAAG3B,MACd0B,EAAG5C,OAAS6C,EAAG7C,UAIlB,SAAS2sB,GAAUC,GAClB,IACIr+B,EAAGoU,EAAMkqB,EADTC,EAAc,GAGlB,IAAKv+B,EAAI,EAAGoU,GAAQiqB,GAAS,IAAIljC,OAAQ6E,EAAIoU,IAAQpU,EACpDs+B,EAAMD,EAAMr+B,GACZu+B,EAAYt7B,KAAK,CAChB0P,MAAO3S,EACPs+B,IAAKA,EACLJ,IAAKI,EAAIxjC,SACTgzB,WAAYwQ,EAAIlN,eAChB3f,OAAQ6sB,EAAI7sB,SAGd,OAAO8sB,EAGR,SAASC,GAAcC,EAASC,GAC/B,IAAI1+B,EAAGoU,EAAMuqB,EACb,IAAK3+B,EAAI,EAAGoU,EAAOqqB,EAAQtjC,OAAQ6E,EAAIoU,IAAQpU,EAC9C2+B,EAASF,EAAQz+B,GAEjB2+B,EAAOp8B,MAAQo8B,EAAO7Q,WACnB6Q,EAAOL,IAAIM,WAAaF,EAAOG,eAC/BH,EAAOI,aAEVH,EAAOn8B,OAASm8B,EAAO7Q,YAAc4Q,EAAOK,cAI9C,SAASC,GAAiBX,GACzB,IAAIE,EAAcH,GAAUC,GACxBjlB,EAAO+kB,GAAaH,GAAiBO,EAAa,SAAS,GAC3DjlB,EAAQ6kB,GAAaH,GAAiBO,EAAa,UACnDllB,EAAM8kB,GAAaH,GAAiBO,EAAa,QAAQ,GACzDhlB,EAAS4kB,GAAaH,GAAiBO,EAAa,WAExD,MAAO,CACNU,WAAY7lB,EAAKnK,OAAOoK,GACxB6lB,eAAgB5lB,EAAMrK,OAAOsK,GAC7B0T,UAAW+Q,GAAiBO,EAAa,aACzCY,SAAU/lB,EAAKnK,OAAOqK,GACtBwU,WAAYzU,EAAIpK,OAAOsK,IAIzB,SAAS6lB,GAAeC,EAAYpS,EAAWhwB,EAAGtB,GACjD,OAAOtB,KAAKyM,IAAIu4B,EAAWpiC,GAAIgwB,EAAUhwB,IAAM5C,KAAKyM,IAAIu4B,EAAW1jC,GAAIsxB,EAAUtxB,IAGlF,SAAS2jC,GAAWrS,EAAWyR,EAAQC,GACtC,IAEIY,EAAUC,EAFVlB,EAAMK,EAAOL,IACbe,EAAapS,EAAUoS,WAU3B,GAPIV,EAAO3kB,OAEViT,EAAU0R,EAAOT,MAAQS,EAAO3kB,MAEjC2kB,EAAO3kB,KAAO2kB,EAAO7Q,WAAawQ,EAAI97B,OAAS87B,EAAI/7B,MACnD0qB,EAAU0R,EAAOT,MAAQS,EAAO3kB,KAE5BskB,EAAImB,WAAY,CACnB,IAAIC,EAAapB,EAAImB,aACrBJ,EAAWhmB,IAAMhf,KAAKyM,IAAIu4B,EAAWhmB,IAAKqmB,EAAWrmB,KACrDgmB,EAAWjmB,KAAO/e,KAAKyM,IAAIu4B,EAAWjmB,KAAMsmB,EAAWtmB,MACvDimB,EAAW9lB,OAASlf,KAAKyM,IAAIu4B,EAAW9lB,OAAQmmB,EAAWnmB,QAC3D8lB,EAAW/lB,MAAQjf,KAAKyM,IAAIu4B,EAAW/lB,MAAOomB,EAAWpmB,OAM1D,GAHAimB,EAAWb,EAAOiB,WAAaP,GAAeC,EAAYpS,EAAW,OAAQ,SAC7EuS,EAAYd,EAAOkB,YAAcR,GAAeC,EAAYpS,EAAW,MAAO,UAE1EsS,IAAatS,EAAUtzB,GAAK6lC,IAAcvS,EAAU33B,EAAG,CAC1D23B,EAAUtzB,EAAI4lC,EACdtS,EAAU33B,EAAIkqC,EAGd,IAAIK,EAAQlB,EAAO7Q,WAAa,CAACyR,EAAUtS,EAAUtzB,GAAK,CAAC6lC,EAAWvS,EAAU33B,GAChF,OAAOuqC,EAAM,KAAOA,EAAM,MAAQhyB,MAAMgyB,EAAM,MAAQhyB,MAAMgyB,EAAM,MAIpE,SAASC,GAAiB7S,GACzB,IAAIoS,EAAapS,EAAUoS,WAE3B,SAASU,EAAU7B,GAClB,IAAI8B,EAAS3lC,KAAKyM,IAAIu4B,EAAWnB,GAAOjR,EAAUiR,GAAM,GAExD,OADAjR,EAAUiR,IAAQ8B,EACXA,EAER/S,EAAUr3B,GAAKmqC,EAAU,OACzB9S,EAAUxmB,GAAKs5B,EAAU,QACzBA,EAAU,SACVA,EAAU,UAGX,SAASE,GAAWnS,EAAYb,GAC/B,IAAIoS,EAAapS,EAAUoS,WAE3B,SAASa,EAAmBC,GAC3B,IAAIC,EAAS,CAAChnB,KAAM,EAAGC,IAAK,EAAGC,MAAO,EAAGC,OAAQ,GAIjD,OAHA4mB,EAAUpgC,SAAQ,SAASm+B,GAC1BkC,EAAOlC,GAAO7jC,KAAKyM,IAAImmB,EAAUiR,GAAMmB,EAAWnB,OAE5CkC,EAGR,OACGF,EADIpS,EACe,CAAC,OAAQ,SACT,CAAC,MAAO,WAG/B,SAASuS,GAAShC,EAAOpR,EAAWyR,GACnC,IACI1+B,EAAGoU,EAAMuqB,EAAQL,EAAKgC,EAAOC,EAD7BC,EAAa,GAGjB,IAAKxgC,EAAI,EAAGoU,EAAOiqB,EAAMljC,OAAQ6E,EAAIoU,IAAQpU,EAC5C2+B,EAASN,EAAMr+B,GACfs+B,EAAMK,EAAOL,IAEbA,EAAIt9B,OACH29B,EAAOp8B,OAAS0qB,EAAUtzB,EAC1BglC,EAAOn8B,QAAUyqB,EAAU33B,EAC3B2qC,GAAWtB,EAAO7Q,WAAYb,IAE3BqS,GAAWrS,EAAWyR,EAAQC,KACjC4B,GAAU,EACNC,EAAWrlC,SAGdmlC,GAAQ,IAGLhC,EAAIM,WACR4B,EAAWv9B,KAAK07B,GAIlB,OAAO2B,GAAQD,GAASG,EAAYvT,EAAWyR,IAAqB6B,EAGrE,SAASE,GAAWpC,EAAOpR,EAAWyR,GACrC,IAGI1+B,EAAGoU,EAAMuqB,EAAQL,EAHjBoC,EAAchC,EAAO1R,QACrBvmB,EAAIwmB,EAAUxmB,EACd7Q,EAAIq3B,EAAUr3B,EAGlB,IAAKoK,EAAI,EAAGoU,EAAOiqB,EAAMljC,OAAQ6E,EAAIoU,IAAQpU,EAC5C2+B,EAASN,EAAMr+B,GACfs+B,EAAMK,EAAOL,IACTK,EAAO7Q,YACVwQ,EAAIllB,KAAOklB,EAAIM,UAAY8B,EAAYtnB,KAAO6T,EAAU7T,KACxDklB,EAAIhlB,MAAQglB,EAAIM,UAAYF,EAAOiB,WAAae,EAAYpnB,MAAQ2T,EAAU7T,KAAO6T,EAAUtzB,EAC/F2kC,EAAIjlB,IAAMzjB,EACV0oC,EAAI/kB,OAAS3jB,EAAI0oC,EAAI97B,OACrB87B,EAAI/7B,MAAQ+7B,EAAIhlB,MAAQglB,EAAIllB,KAC5BxjB,EAAI0oC,EAAI/kB,SAER+kB,EAAIllB,KAAO3S,EACX63B,EAAIhlB,MAAQ7S,EAAI63B,EAAI/7B,MACpB+7B,EAAIjlB,IAAM4T,EAAU5T,IACpBilB,EAAI/kB,OAAS0T,EAAU5T,IAAM4T,EAAU33B,EACvCgpC,EAAI97B,OAAS87B,EAAI/kB,OAAS+kB,EAAIjlB,IAC9B5S,EAAI63B,EAAIhlB,OAIV2T,EAAUxmB,EAAIA,EACdwmB,EAAUr3B,EAAIA,EAGf2mB,EAAcR,KAAK,SAAU,CAC5B4iB,OAAQ,CACP3R,QAAS,CACR3T,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRH,KAAM,MAyBT,IAAIunB,GAAe,CAClB7kB,SAAU,GAQV8kB,OAAQ,SAAS1hC,EAAOgX,GAClBhX,EAAMm/B,QACVn/B,EAAMm/B,MAAQ,IAIfnoB,EAAK0oB,UAAY1oB,EAAK0oB,YAAa,EACnC1oB,EAAKpb,SAAWob,EAAKpb,UAAY,MACjCob,EAAKzE,OAASyE,EAAKzE,QAAU,EAC7ByE,EAAK2qB,QAAU3qB,EAAK2qB,SAAW,WAC9B,MAAO,CAAC,CACPl5B,EAAG,EACH4e,KAAM,WACLrQ,EAAKqQ,KAAK1S,MAAMqC,EAAM5M,eAKzBpK,EAAMm/B,MAAMp7B,KAAKiT,IAQlB4qB,UAAW,SAAS5hC,EAAO6hC,GAC1B,IAAIpuB,EAAQzT,EAAMm/B,MAAQn/B,EAAMm/B,MAAM99B,QAAQwgC,IAAe,GAC9C,IAAXpuB,GACHzT,EAAMm/B,MAAM5b,OAAO9P,EAAO,IAU5BquB,UAAW,SAAS9hC,EAAOgX,EAAM9U,GAMhC,IALA,IAGI6Q,EAHAzQ,EAAQ,CAAC,YAAa,WAAY,UAClC4S,EAAO5S,EAAMrG,OACb6E,EAAI,EAGDA,EAAIoU,IAAQpU,EAClBiS,EAAOzQ,EAAMxB,GACToB,EAAQT,eAAesR,KAC1BiE,EAAKjE,GAAQ7Q,EAAQ6Q,KAYxBjR,OAAQ,SAAS9B,EAAOqD,EAAOC,GAC9B,GAAKtD,EAAL,CAIA,IAAI+hC,EAAgB/hC,EAAMkC,QAAQu9B,QAAU,GACxC3R,EAAUvN,GAAUre,QAAQ0b,UAAUmkB,EAAcjU,SAEpD6R,EAAiBt8B,EAAQyqB,EAAQzqB,MACjC2+B,EAAkB1+B,EAASwqB,EAAQxqB,OACnC67B,EAAQW,GAAiB9/B,EAAMm/B,OAC/B8C,EAAgB9C,EAAMc,SACtBiC,EAAkB/C,EAAMvQ,WA6BxB4Q,EAASx+B,OAAOknB,OAAO,CAC1BuY,WAAYp9B,EACZq9B,YAAap9B,EACbwqB,QAASA,EACT6R,eAAgBA,EAChBC,aAAcD,EAAiB,EAAIsC,EAAchmC,OACjD4jC,cAAemC,EAAkB,IAE9BjU,EAAYhY,GAAO,CACtBoqB,WAAYpqB,GAAO,GAAI+X,GACvBrzB,EAAGklC,EACHvpC,EAAG4rC,EACHz6B,EAAGumB,EAAQ5T,KACXxjB,EAAGo3B,EAAQ3T,KACT2T,GAEHwR,GAAc2C,EAAclyB,OAAOmyB,GAAkB1C,GAGrD2B,GAASc,EAAelU,EAAWyR,GAG/B2B,GAASe,EAAiBnU,EAAWyR,IAExC2B,GAASc,EAAelU,EAAWyR,GAGpCoB,GAAiB7S,GAGjBwT,GAAWpC,EAAMY,WAAYhS,EAAWyR,GAGxCzR,EAAUxmB,GAAKwmB,EAAUtzB,EACzBszB,EAAUr3B,GAAKq3B,EAAU33B,EAEzBmrC,GAAWpC,EAAMa,eAAgBjS,EAAWyR,GAE5Cx/B,EAAM+tB,UAAY,CACjB7T,KAAM6T,EAAU7T,KAChBC,IAAK4T,EAAU5T,IACfC,MAAO2T,EAAU7T,KAAO6T,EAAUtzB,EAClC4f,OAAQ0T,EAAU5T,IAAM4T,EAAU33B,GAInCmqB,GAAU3L,KAAKuqB,EAAMpR,WAAW,SAAS0R,GACxC,IAAIL,EAAMK,EAAOL,IACjBrpB,GAAOqpB,EAAKp/B,EAAM+tB,WAClBqR,EAAIt9B,OAAOisB,EAAUtzB,EAAGszB,EAAU33B,SAUjC+rC,GAAiB,CACpBC,eAAgB,SAASprB,GAMxB,OALIA,GAAQA,EAAK9S,SAEhB8S,EAAOA,EAAK9S,QAGN8S,GAAQA,EAAK5S,WAAW,OAAS,OAItCi+B,GAAe,k9BAEfC,GAA8BthC,OAAOknB,OAAO,CAChDqa,UAAW,KACX,QAAWF,KAGPG,GAAa18B,EAA0Bw8B,IAEvCG,GAAc,WACdC,GAAa,WACbC,GAAmBD,GAAa,eAChCE,GAAqBF,GAAa,iBAClCG,GAAuBH,GAAa,mBACpCI,GAAyB,CAAC,iBAAkB,wBAO5CC,GAAc,CACjBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAYb,SAASC,GAAa9c,EAAS+c,GAC9B,IAAIr8B,EAAQkZ,GAAU+G,SAASX,EAAS+c,GACpC/lB,EAAUtW,GAASA,EAAMlO,MAAM,qBACnC,OAAOwkB,EAAUna,OAAOma,EAAQ,SAAMxhB,EAQvC,SAASwnC,GAAWz/B,EAAQu1B,GAC3B,IAAI12B,EAAQmB,EAAOnB,MAIf6gC,EAAe1/B,EAAO2/B,aAAa,UACnCC,EAAc5/B,EAAO2/B,aAAa,SAoBtC,GAjBA3/B,EAAOu+B,IAAe,CACrBsB,QAAS,CACRzgC,OAAQsgC,EACRvgC,MAAOygC,EACP/gC,MAAO,CACNo4B,QAASp4B,EAAMo4B,QACf73B,OAAQP,EAAMO,OACdD,MAAON,EAAMM,SAQhBN,EAAMo4B,QAAUp4B,EAAMo4B,SAAW,QAEb,OAAhB2I,GAAwC,KAAhBA,EAAoB,CAC/C,IAAIE,EAAeP,GAAav/B,EAAQ,cACnB/H,IAAjB6nC,IACH9/B,EAAOb,MAAQ2gC,GAIjB,GAAqB,OAAjBJ,GAA0C,KAAjBA,EAC5B,GAA4B,KAAxB1/B,EAAOnB,MAAMO,OAIhBY,EAAOZ,OAASY,EAAOb,OAASo2B,EAAOv3B,QAAQ+hC,aAAe,OACxD,CACN,IAAIC,EAAgBT,GAAav/B,EAAQ,eACpB/H,IAAjB6nC,IACH9/B,EAAOZ,OAAS4gC,GAKnB,OAAOhgC,EAQR,IAAIigC,GAAgC,WACnC,IAAIC,GAAW,EACf,IACC,IAAIliC,EAAUlB,OAAOoG,eAAe,GAAI,UAAW,CAElDkb,IAAK,WACJ8hB,GAAW,KAGbzwB,OAAO0wB,iBAAiB,IAAK,KAAMniC,GAClC,MAAOyD,IAGT,OAAOy+B,EAb2B,GAkB/BE,KAAuBH,IAA+B,CAACI,SAAS,GAEpE,SAASC,GAAYt4B,EAAM3J,EAAMuhB,GAChC5X,EAAKm4B,iBAAiB9hC,EAAMuhB,EAAUwgB,IAGvC,SAASG,GAAev4B,EAAM3J,EAAMuhB,GACnC5X,EAAKw4B,oBAAoBniC,EAAMuhB,EAAUwgB,IAG1C,SAASK,GAAYpiC,EAAMvC,EAAOuH,EAAG7Q,EAAGkuC,GACvC,MAAO,CACNriC,KAAMA,EACNvC,MAAOA,EACPo9B,OAAQwH,GAAe,KACvBr9B,OAASpL,IAANoL,EAAkBA,EAAI,KACzB7Q,OAASyF,IAANzF,EAAkBA,EAAI,MAI3B,SAASmuC,GAAgBC,EAAO9kC,GAC/B,IAAIuC,EAAOwgC,GAAY+B,EAAMviC,OAASuiC,EAAMviC,KACxCy8B,EAAMze,GAAU4c,oBAAoB2H,EAAO9kC,GAC/C,OAAO2kC,GAAYpiC,EAAMvC,EAAOg/B,EAAIz3B,EAAGy3B,EAAItoC,EAAGouC,GAG/C,SAASC,GAAUl/B,EAAI6O,GACtB,IAAIswB,GAAU,EACV76B,EAAO,GAEX,OAAO,WACNA,EAAOzG,MAAMqJ,UAAUxR,MAAMyR,KAAK5C,WAClCsK,EAAUA,GAAWrgB,KAEhB2wC,IACJA,GAAU,EACVzkB,GAAUiD,iBAAiBxW,KAAK2G,QAAQ,WACvCqxB,GAAU,EACVn/B,EAAG8O,MAAMD,EAASvK,QAMtB,SAAS86B,GAAUC,GAClB,IAAIC,EAAK9P,SAASvyB,cAAc,OAEhC,OADAqiC,EAAGC,UAAYF,GAAO,GACfC,EAIR,SAASE,GAAc/H,GACtB,IAAIgI,EAAU,IAIVC,EAAUN,GAAUtC,IACpB6C,EAASP,GAAUtC,GAAmB,WACtC8C,EAASR,GAAUtC,GAAmB,WAE1C6C,EAAOjQ,YAAY0P,MACnBQ,EAAOlQ,YAAY0P,MAEnBM,EAAQhQ,YAAYiQ,GACpBD,EAAQhQ,YAAYkQ,GACpBF,EAAQG,OAAS,WAChBF,EAAOG,WAAaL,EACpBE,EAAOI,UAAYN,EACnBG,EAAOE,WAAaL,EACpBG,EAAOG,UAAYN,GAGpB,IAAIO,EAAW,WACdN,EAAQG,SACRpI,KAMD,OAHAkH,GAAYgB,EAAQ,SAAUK,EAASC,KAAKN,EAAQ,WACpDhB,GAAYiB,EAAQ,SAAUI,EAASC,KAAKL,EAAQ,WAE7CF,EAIR,SAASQ,GAAe75B,EAAMoxB,GAC7B,IAAI0I,EAAU95B,EAAKu2B,MAAiBv2B,EAAKu2B,IAAe,IACpDwD,EAAQD,EAAQE,YAAc,SAASvgC,GACtCA,EAAEwgC,gBAAkBtD,IACvBvF,KAIF/c,GAAU3L,KAAKkuB,IAAwB,SAASvgC,GAC/CiiC,GAAYt4B,EAAM3J,EAAM0jC,MAQzBD,EAAQI,SAAWl6B,EAAKm6B,aAExBn6B,EAAKo6B,UAAUC,IAAI3D,IAGpB,SAAS4D,GAAiBt6B,GACzB,IAAI85B,EAAU95B,EAAKu2B,KAAgB,GAC/BwD,EAAQD,EAAQE,YAEhBD,IACH1lB,GAAU3L,KAAKkuB,IAAwB,SAASvgC,GAC/CkiC,GAAev4B,EAAM3J,EAAM0jC,aAGrBD,EAAQE,aAGhBh6B,EAAKo6B,UAAUG,OAAO7D,IAGvB,SAAS8D,GAAkBx6B,EAAM4X,EAAU9jB,GAC1C,IAAIgmC,EAAU95B,EAAKu2B,MAAiBv2B,EAAKu2B,IAAe,IAGpD8C,EAAUS,EAAQT,QAAUF,GAAcN,IAAU,WACvD,GAAIiB,EAAQT,QAAS,CACpB,IAAIoB,EAAY3mC,EAAMkC,QAAQ0kC,qBAAuB16B,EAAK26B,WACtDpsC,EAAIksC,EAAYA,EAAUG,YAAc,EAC5ChjB,EAAS6gB,GAAY,SAAU3kC,IAC3B2mC,GAAaA,EAAUG,YAAcrsC,GAAKuF,EAAMkE,QAQnD4f,EAAS6gB,GAAY,SAAU3kC,SAOlC+lC,GAAe75B,GAAM,WACpB,GAAI85B,EAAQT,QAAS,CACpB,IAAIoB,EAAYz6B,EAAK26B,WACjBF,GAAaA,IAAcpB,EAAQsB,YACtCF,EAAUI,aAAaxB,EAASoB,EAAUK,YAI3CzB,EAAQG,aAKX,SAASuB,GAAqB/6B,GAC7B,IAAI85B,EAAU95B,EAAKu2B,KAAgB,GAC/B8C,EAAUS,EAAQT,eAEfS,EAAQT,QACfiB,GAAiBt6B,GAEbq5B,GAAWA,EAAQsB,YACtBtB,EAAQsB,WAAWK,YAAY3B,GASjC,SAAS4B,GAAUC,EAAUC,GAE5B,IAAIrB,EAAUoB,EAAS3E,MAAiB2E,EAAS3E,IAAe,IAChE,IAAKuD,EAAQsB,eAAgB,CAC5BtB,EAAQsB,gBAAiB,EACzBD,EAAM,mBAAqBA,EAC3B,IAAItkC,EAAQsyB,SAASvyB,cAAc,SACnCC,EAAMuyB,aAAa,OAAQ,YAC3BvyB,EAAMwyB,YAAYF,SAASG,eAAe6R,IAC1CD,EAAS7R,YAAYxyB,IAIvB,IAAIwkC,GAAiB,CAQpBC,qBAAqB,EAOrBC,SAA4B,qBAAX9zB,QAA8C,qBAAb0hB,SAOlDqS,cAAe,SAASxjC,GACvB,IAAK7P,KAAKmzC,oBAAqB,CAI9B,IAAIG,EAAOzjC,EAAO0jC,YAAc1jC,EAAO0jC,cAAgBvS,SACnDwS,EAAaF,EAAKG,KAAOH,EAAOtS,SAAS9C,KAC7C4U,GAAUU,EAAYrF,MAIxBJ,eAAgB,SAASprB,EAAMyiB,GACV,kBAATziB,EACVA,EAAOqe,SAAS0S,eAAe/wB,GACrBA,EAAK/a,SAEf+a,EAAOA,EAAK,IAGTA,GAAQA,EAAK9S,SAEhB8S,EAAOA,EAAK9S,QAMb,IAAIma,EAAUrH,GAAQA,EAAK5S,YAAc4S,EAAK5S,WAAW,MASzD,OAAIia,GAAWA,EAAQna,SAAW8S,GAGjC3iB,KAAKqzC,cAAc1wB,GACnB2sB,GAAW3sB,EAAMyiB,GACVpb,GAGD,MAGR2pB,eAAgB,SAAS3pB,GACxB,IAAIna,EAASma,EAAQna,OACrB,GAAKA,EAAOu+B,IAAZ,CAIA,IAAIsB,EAAU7/B,EAAOu+B,IAAasB,QAClC,CAAC,SAAU,SAASljC,SAAQ,SAASkS,GACpC,IAAI1L,EAAQ08B,EAAQhxB,GAChBwN,GAAUtM,cAAc5M,GAC3BnD,EAAO+jC,gBAAgBl1B,GAEvB7O,EAAOoxB,aAAaviB,EAAM1L,MAI5BkZ,GAAU3L,KAAKmvB,EAAQhhC,OAAS,IAAI,SAASsE,EAAOnP,GACnDgM,EAAOnB,MAAM7K,GAAOmP,KAQrBnD,EAAOb,MAAQa,EAAOb,aAEfa,EAAOu+B,MAGf4B,iBAAkB,SAASrkC,EAAOuC,EAAMuhB,GACvC,IAAI5f,EAASlE,EAAMkE,OACnB,GAAa,WAAT3B,EAAJ,CAMA,IAAIyjC,EAAUliB,EAAS2e,MAAiB3e,EAAS2e,IAAe,IAC5DyF,EAAUlC,EAAQkC,UAAYlC,EAAQkC,QAAU,IAChDjC,EAAQiC,EAAQloC,EAAMoD,GAAK,IAAMb,GAAQ,SAASuiC,GACrDhhB,EAAS+gB,GAAgBC,EAAO9kC,KAGjCwkC,GAAYtgC,EAAQ3B,EAAM0jC,QAVzBS,GAAkBxiC,EAAQ4f,EAAU9jB,IAatC0kC,oBAAqB,SAAS1kC,EAAOuC,EAAMuhB,GAC1C,IAAI5f,EAASlE,EAAMkE,OACnB,GAAa,WAAT3B,EAAJ,CAMA,IAAIyjC,EAAUliB,EAAS2e,KAAgB,GACnCyF,EAAUlC,EAAQkC,SAAW,GAC7BjC,EAAQiC,EAAQloC,EAAMoD,GAAK,IAAMb,GAChC0jC,GAILxB,GAAevgC,EAAQ3B,EAAM0jC,QAX5BgB,GAAqB/iC,KA0BxBqc,GAAU4nB,SAAW3D,GAWrBjkB,GAAU6nB,YAAc3D,GAGxB,IAAI4D,GAAiBd,GAAeE,SAAWF,GAAiBpF,GAO5DmG,GAAW/nB,GAAUxK,OAAO,CAI/BqL,WAAY,aASZghB,eAAgB,aAQhB4F,eAAgB,aAShB3D,iBAAkB,aAQlBK,oBAAqB,cAEnB2D,IAEHhrB,EAAcR,KAAK,SAAU,CAC5BpZ,QAAS,KAQV,IAAI8kC,GAAe,CAKlB5kC,SAAU,GAQV6kC,SAAU,EAMVC,SAAU,SAAShlC,GAClB,IAAIyF,EAAI7U,KAAKsP,SACb,GAAKoM,OAAOtM,GAAS5C,SAAQ,SAASiD,IACV,IAAvBoF,EAAE7H,QAAQyC,IACboF,EAAEnF,KAAKD,MAITzP,KAAKm0C,YAONE,WAAY,SAASjlC,GACpB,IAAIyF,EAAI7U,KAAKsP,SACb,GAAKoM,OAAOtM,GAAS5C,SAAQ,SAASiD,GACrC,IAAI6kC,EAAMz/B,EAAE7H,QAAQyC,IACP,IAAT6kC,GACHz/B,EAAEqa,OAAOolB,EAAK,MAIhBt0C,KAAKm0C,YAON3uB,MAAO,WACNxlB,KAAKsP,SAAW,GAChBtP,KAAKm0C,YAQNtf,MAAO,WACN,OAAO70B,KAAKsP,SAAS1H,QAQtB2sC,OAAQ,WACP,OAAOv0C,KAAKsP,UAYbklC,OAAQ,SAAS7oC,EAAO8oC,EAAM3+B,GAC7B,IAEIrJ,EAAGioC,EAAYjlC,EAAQ07B,EAAQrb,EAF/B6kB,EAAc30C,KAAK20C,YAAYhpC,GAC/BkV,EAAO8zB,EAAY/sC,OAGvB,IAAK6E,EAAI,EAAGA,EAAIoU,IAAQpU,EAIvB,GAHAioC,EAAaC,EAAYloC,GACzBgD,EAASilC,EAAWjlC,OACpBqgB,EAASrgB,EAAOglC,GACM,oBAAX3kB,IACVqb,EAAS,CAACx/B,GAAO+P,OAAO5F,GAAQ,IAChCq1B,EAAOz7B,KAAKglC,EAAW7mC,UACc,IAAjCiiB,EAAOxP,MAAM7Q,EAAQ07B,IACxB,OAAO,EAKV,OAAO,GAQRwJ,YAAa,SAAShpC,GACrB,IAAIipC,EAAQjpC,EAAMkpC,WAAalpC,EAAMkpC,SAAW,IAChD,GAAID,EAAM7lC,KAAO/O,KAAKm0C,SACrB,OAAOS,EAAMD,YAGd,IAAIvlC,EAAU,GACVulC,EAAc,GACdvP,EAAUz5B,GAASA,EAAMy5B,QAAW,GACpCv3B,EAAWu3B,EAAOv3B,SAAWu3B,EAAOv3B,QAAQuB,SAAY,GA2B5D,OAzBApP,KAAKsP,SAASoM,OAAO0pB,EAAOh2B,SAAW,IAAI5C,SAAQ,SAASiD,GAC3D,IAAI6kC,EAAMllC,EAAQpC,QAAQyC,GAC1B,IAAa,IAAT6kC,EAAJ,CAIA,IAAIvlC,EAAKU,EAAOV,GACZszB,EAAOx0B,EAAQkB,IACN,IAATszB,KAIS,IAATA,IACHA,EAAOnW,GAAU3N,MAAMyK,EAAclpB,OAAOsP,QAAQL,KAGrDK,EAAQM,KAAKD,GACbklC,EAAYjlC,KAAK,CAChBD,OAAQA,EACR5B,QAASw0B,GAAQ,UAInBuS,EAAMD,YAAcA,EACpBC,EAAM7lC,GAAK/O,KAAKm0C,SACTQ,GASRG,YAAa,SAASnpC,UACdA,EAAMkpC,WAIXE,GAAoB,CAGvBC,aAAc,GAKdzsB,SAAU,GACV0sB,kBAAmB,SAAS/mC,EAAMgnC,EAAkBC,GACnDn1C,KAAKg1C,aAAa9mC,GAAQgnC,EAC1Bl1C,KAAKuoB,SAASra,GAAQge,GAAU3N,MAAM42B,IAEvCC,oBAAqB,SAASlnC,GAC7B,OAAOlO,KAAKg1C,aAAa5nC,eAAec,GAAQlO,KAAKg1C,aAAa9mC,QAAQpG,GAE3EutC,iBAAkB,SAASnnC,GAE1B,OAAOlO,KAAKuoB,SAASnb,eAAec,GAAQge,GAAU7K,MAAM1U,OAAOqU,OAAO,MAAO,CAACgI,EAAc5O,MAAOpa,KAAKuoB,SAASra,KAAU,IAEhIonC,oBAAqB,SAASpnC,EAAMqnC,GACnC,IAAIpkC,EAAKnR,KACLmR,EAAGoX,SAASnb,eAAec,KAC9BiD,EAAGoX,SAASra,GAAQge,GAAUxK,OAAOvQ,EAAGoX,SAASra,GAAOqnC,KAG1DC,kBAAmB,SAAS7pC,GAE3BugB,GAAU3L,KAAK5U,EAAMolB,QAAQ,SAAS3W,GAErCA,EAAMixB,UAAYjxB,EAAMvM,QAAQw9B,UAChCjxB,EAAM7S,SAAW6S,EAAMvM,QAAQtG,SAC/B6S,EAAM8D,OAAS9D,EAAMvM,QAAQqQ,OAC7BkvB,GAAaC,OAAO1hC,EAAOyO,QAK1Bq7B,GAAmBvpB,GAAUjM,eAC7By1B,GAAexpB,GAAUV,IAAIX,cAEjC7B,EAAcR,KAAK,SAAU,CAC5BiX,SAAU,CACTkW,SAAS,EACTliB,OAAQ,KACRmJ,KAAM,UACNr1B,SAAU,UACV+hC,WAAW,EACXlW,gBAAiB,kBACjBwiB,eAAgB,OAChBC,aAAc,EACdC,kBAAmB,EACnBC,eAAgB,OAChBC,WAAY,OACZC,YAAa,EACbC,cAAe,OACfC,UAAW,OACXC,gBAAiB,OACjBC,cAAe,EACfC,gBAAiB,EACjBC,gBAAiB,OACjBC,YAAa,OACbC,SAAU,EACVC,SAAU,EACVC,aAAc,EACdC,UAAW,EACXlwB,aAAc,EACdmwB,mBAAoB,OACpBC,eAAe,EACfzjB,YAAa,gBACba,YAAa,EACbwL,UAAW,CAEVqX,YAAa7qB,GAAUxM,KACvBigB,MAAO,SAASqX,EAAc7pC,GAC7B,IAAIwyB,EAAQ,GACRtyB,EAASF,EAAKE,OACd4pC,EAAa5pC,EAASA,EAAOzF,OAAS,EAE1C,GAAIovC,EAAapvC,OAAS,EAAG,CAC5B,IAAI+a,EAAOq0B,EAAa,GACpBr0B,EAAKzW,MACRyzB,EAAQhd,EAAKzW,MACHyW,EAAKkd,OACfF,EAAQhd,EAAKkd,OACHoX,EAAa,GAAKt0B,EAAKvD,MAAQ63B,IACzCtX,EAAQtyB,EAAOsV,EAAKvD,QAItB,OAAOugB,GAERuX,WAAYhrB,GAAUxM,KAGtBy3B,WAAYjrB,GAAUxM,KAGtB03B,YAAalrB,GAAUxM,KACvBxT,MAAO,SAAS01B,EAAaz0B,GAC5B,IAAIjB,EAAQiB,EAAKpB,SAAS61B,EAAYvR,cAAcnkB,OAAS,GAU7D,OARIA,IACHA,GAAS,MAELggB,GAAUtM,cAAcgiB,EAAY5uB,OAGxC9G,GAAS01B,EAAY9B,OAFrB5zB,GAAS01B,EAAY5uB,MAIf9G,GAERmrC,WAAY,SAASzV,EAAaj2B,GACjC,IAAImlB,EAAOnlB,EAAM2lB,eAAesQ,EAAYvR,cACxCinB,EAAgBxmB,EAAK3jB,KAAKy0B,EAAYxiB,OACtCmN,EAAO+qB,EAAcnqB,MACzB,MAAO,CACNkG,YAAa9G,EAAK8G,YAClBD,gBAAiB7G,EAAK6G,kBAGxBmkB,eAAgB,WACf,OAAOv3C,KAAKqgC,SAAS6V,eAEtBsB,WAAYtrB,GAAUxM,KAGtB+3B,UAAWvrB,GAAUxM,KAGrBg4B,aAAcxrB,GAAUxM,KACxBi4B,OAAQzrB,GAAUxM,KAClBk4B,YAAa1rB,GAAUxM,SAK1B,IAAIm4B,GAAc,CAOjBC,QAAS,SAAS/kB,GACjB,IAAKA,EAASnrB,OACb,OAAO,EAGR,IAAI6E,EAAG2K,EACHlE,EAAI,EACJ7Q,EAAI,EACJwyB,EAAQ,EAEZ,IAAKpoB,EAAI,EAAG2K,EAAM2b,EAASnrB,OAAQ6E,EAAI2K,IAAO3K,EAAG,CAChD,IAAIqkC,EAAK/d,EAAStmB,GAClB,GAAIqkC,GAAMA,EAAGtjB,WAAY,CACxB,IAAImd,EAAMmG,EAAGvjB,kBACbra,GAAKy3B,EAAIz3B,EACT7Q,GAAKsoC,EAAItoC,IACPwyB,GAIJ,MAAO,CACN3hB,EAAGA,EAAI2hB,EACPxyB,EAAGA,EAAIwyB,IAWT0V,QAAS,SAASxX,EAAUglB,GAC3B,IAGItrC,EAAG2K,EAAK4gC,EAHR9kC,EAAI6kC,EAAc7kC,EAClB7Q,EAAI01C,EAAc11C,EAClBmnC,EAAcr6B,OAAOs6B,kBAGzB,IAAKh9B,EAAI,EAAG2K,EAAM2b,EAASnrB,OAAQ6E,EAAI2K,IAAO3K,EAAG,CAChD,IAAIqkC,EAAK/d,EAAStmB,GAClB,GAAIqkC,GAAMA,EAAGtjB,WAAY,CACxB,IAAI2Q,EAAS2S,EAAG7Z,iBACZh1B,EAAIiqB,GAAU+rB,sBAAsBF,EAAe5Z,GAEnDl8B,EAAIunC,IACPA,EAAcvnC,EACd+1C,EAAiBlH,IAKpB,GAAIkH,EAAgB,CACnB,IAAIE,EAAKF,EAAezqB,kBACxBra,EAAIglC,EAAGhlC,EACP7Q,EAAI61C,EAAG71C,EAGR,MAAO,CACN6Q,EAAGA,EACH7Q,EAAGA,KAMN,SAAS81C,GAAapoB,EAAMqoB,GAU3B,OATIA,IACClsB,GAAUrM,QAAQu4B,GAErB/oC,MAAMqJ,UAAUhJ,KAAK4Q,MAAMyP,EAAMqoB,GAEjCroB,EAAKrgB,KAAK0oC,IAILroB,EASR,SAASsoB,GAAc/wC,GACtB,OAAoB,kBAARA,GAAoBA,aAAezH,SAAWyH,EAAI0F,QAAQ,OAAS,EACvE1F,EAAIjH,MAAM,MAEXiH,EASR,SAASgxC,GAAkBhmB,GAC1B,IAAI0N,EAAS1N,EAAQiL,QACjB0C,EAAS3N,EAAQkL,SAAWlL,EAAQkT,OACpCpmB,EAAQkT,EAAQH,OAChB9B,EAAeiC,EAAQL,cACvBsP,EAAajP,EAAQzmB,OAAOylB,eAAejB,GAAckR,WACzDgX,EAAahX,EAAW3P,iBACxB4mB,EAAajX,EAAW5P,iBAE5B,MAAO,CACNkO,OAAQG,EAASA,EAAOyY,iBAAiBr5B,EAAOiR,GAAgB,GAChEyP,OAAQG,EAASA,EAAOwY,iBAAiBr5B,EAAOiR,GAAgB,GAChEnkB,MAAOqsC,EAAa,GAAKA,EAAWE,iBAAiBr5B,EAAOiR,GAAgB,GAC5Erd,MAAOwlC,EAAa,GAAKA,EAAWC,iBAAiBr5B,EAAOiR,GAAgB,GAC5EjR,MAAOA,EACPiR,aAAcA,EACdnd,EAAGof,EAAQlF,OAAOla,EAClB7Q,EAAGiwB,EAAQlF,OAAO/qB,GAQpB,SAASq2C,GAAaC,GACrB,IAAIlvB,EAAiBT,EAAclpB,OAEnC,MAAO,CAEN42C,SAAUiC,EAAYjC,SACtBD,SAAUkC,EAAYlC,SACtBmC,OAAQD,EAAYC,OACpBC,OAAQF,EAAYE,OAGpBrtB,IAAKmtB,EAAYntB,IACjBstB,cAAeH,EAAYG,cAG3B5C,cAAeyC,EAAYzC,cAC3B6C,gBAAiBtD,GAAiBkD,EAAYK,eAAgBvvB,EAAed,mBAC7EswB,eAAgBxD,GAAiBkD,EAAYO,cAAezvB,EAAeZ,kBAC3EswB,WAAYR,EAAYxC,UACxBiD,aAAc3D,GAAiBkD,EAAYS,aAAc3vB,EAAeb,iBACxEqtB,YAAa0C,EAAY1C,YAGzBF,eAAgB4C,EAAY5C,eAC5BsD,iBAAkB5D,GAAiBkD,EAAYW,gBAAiB7vB,EAAed,mBAC/E4wB,gBAAiB9D,GAAiBkD,EAAY/C,eAAgBnsB,EAAeZ,kBAC7E2wB,cAAe/D,GAAiBkD,EAAYa,cAAe/vB,EAAeb,iBAC1E6wB,YAAad,EAAY3C,WACzBH,aAAc8C,EAAY9C,aAC1BC,kBAAmB6C,EAAY7C,kBAG/BS,gBAAiBoC,EAAYpC,gBAC7BmD,kBAAmBjE,GAAiBkD,EAAYgB,iBAAkBlwB,EAAed,mBACjFixB,iBAAkBnE,GAAiBkD,EAAYvC,gBAAiB3sB,EAAeZ,kBAC/EgxB,eAAgBpE,GAAiBkD,EAAYkB,eAAgBpwB,EAAeb,iBAC5EkxB,aAAcnB,EAAYnC,YAC1BH,cAAesC,EAAYtC,cAC3BC,gBAAiBqC,EAAYrC,gBAG7BM,UAAW+B,EAAY/B,UACvBlwB,aAAciyB,EAAYjyB,aAC1B0M,gBAAiBulB,EAAYvlB,gBAC7B2mB,QAAS,EACTC,sBAAuBrB,EAAY9B,mBACnCC,cAAe6B,EAAY7B,cAC3BzjB,YAAaslB,EAAYtlB,YACzBa,YAAaykB,EAAYzkB,aAO3B,SAAS+lB,GAAeC,EAASpnC,GAChC,IAAI2S,EAAMy0B,EAAQruC,OAAO4Z,IAErBxW,EAA0B,EAAjB6D,EAAM2jC,SACfznC,EAAQ,EAGRmrC,EAAOrnC,EAAMqnC,KACbC,EAAqBD,EAAKE,QAAO,SAASxlB,EAAOylB,GACpD,OAAOzlB,EAAQylB,EAASC,OAAO3yC,OAAS0yC,EAASE,MAAM5yC,OAAS0yC,EAASG,MAAM7yC,SAC7E,GACHwyC,GAAsBtnC,EAAMqkC,WAAWvvC,OAASkL,EAAM2kC,UAAU7vC,OAEhE,IAAI8yC,EAAiB5nC,EAAM6sB,MAAM/3B,OAC7B+yC,EAAkB7nC,EAAM6kC,OAAO/vC,OAC/B4xC,EAAgB1mC,EAAM0mC,cACtBJ,EAAetmC,EAAMsmC,aACrBS,EAAiB/mC,EAAM+mC,eAE3B5qC,GAAUyrC,EAAiBlB,EAC3BvqC,GAAUyrC,GAAkBA,EAAiB,GAAK5nC,EAAM+iC,aAAe,EACvE5mC,GAAUyrC,EAAiB5nC,EAAMgjC,kBAAoB,EACrD7mC,GAAUmrC,EAAqBhB,EAC/BnqC,GAAUmrC,GAAsBA,EAAqB,GAAKtnC,EAAMmjC,YAAc,EAC9EhnC,GAAU0rC,EAAkB7nC,EAAMwjC,gBAAkB,EACpDrnC,GAAU0rC,EAAkB,EAC5B1rC,GAAU0rC,GAAmBA,EAAkB,GAAK7nC,EAAMujC,cAAgB,EAG1E,IAAIuE,EAAe,EACfC,EAAe,SAASljB,GAC3B3oB,EAAQlI,KAAKyM,IAAIvE,EAAOyW,EAAIq1B,YAAYnjB,GAAM3oB,MAAQ4rC,IA4BvD,OAzBAn1B,EAAIyD,KAAOgD,GAAU6uB,WAAWvB,EAAe1mC,EAAMymC,gBAAiBzmC,EAAMumC,kBAC5EntB,GAAU3L,KAAKzN,EAAM6sB,MAAOkb,GAG5Bp1B,EAAIyD,KAAOgD,GAAU6uB,WAAW3B,EAActmC,EAAMmmC,eAAgBnmC,EAAMimC,iBAC1E7sB,GAAU3L,KAAKzN,EAAMqkC,WAAWz7B,OAAO5I,EAAM2kC,WAAYoD,GAGzDD,EAAe9nC,EAAMgkC,cAAiBsC,EAAe,EAAK,EAC1DltB,GAAU3L,KAAK45B,GAAM,SAASG,GAC7BpuB,GAAU3L,KAAK+5B,EAASC,OAAQM,GAChC3uB,GAAU3L,KAAK+5B,EAASE,MAAOK,GAC/B3uB,GAAU3L,KAAK+5B,EAASG,MAAOI,MAIhCD,EAAe,EAGfn1B,EAAIyD,KAAOgD,GAAU6uB,WAAWlB,EAAgB/mC,EAAM8mC,iBAAkB9mC,EAAM4mC,mBAC9ExtB,GAAU3L,KAAKzN,EAAM6kC,OAAQkD,GAG7B7rC,GAAS,EAAI8D,EAAM4jC,SAEZ,CACN1nC,MAAOA,EACPC,OAAQA,GAOV,SAAS+rC,GAAmBd,EAASzzB,GACpC,IAYIw0B,EAAIC,EACJC,EAAKC,EACLC,EAdAvoC,EAAQonC,EAAQ9sB,OAChBzhB,EAAQuuC,EAAQruC,OAChB6tB,EAAYwgB,EAAQruC,OAAO6tB,UAC3Bkf,EAAS,SACTC,EAAS,SAET/lC,EAAMzQ,EAAIokB,EAAKxX,OAClB4pC,EAAS,MACC/lC,EAAMzQ,EAAKsJ,EAAMsD,OAASwX,EAAKxX,SACzC4pC,EAAS,UAMV,IAAIyC,GAAQ5hB,EAAU7T,KAAO6T,EAAU3T,OAAS,EAC5Cw1B,GAAQ7hB,EAAU5T,IAAM4T,EAAU1T,QAAU,EAEjC,WAAX6yB,GACHoC,EAAK,SAAS/nC,GACb,OAAOA,GAAKooC,GAEbJ,EAAK,SAAShoC,GACb,OAAOA,EAAIooC,KAGZL,EAAK,SAAS/nC,GACb,OAAOA,GAAMuT,EAAKzX,MAAQ,GAE3BksC,EAAK,SAAShoC,GACb,OAAOA,GAAMvH,EAAMqD,MAASyX,EAAKzX,MAAQ,IAI3CmsC,EAAM,SAASjoC,GACd,OAAOA,EAAIuT,EAAKzX,MAAQ8D,EAAM8jC,UAAY9jC,EAAM6jC,aAAehrC,EAAMqD,OAEtEosC,EAAM,SAASloC,GACd,OAAOA,EAAIuT,EAAKzX,MAAQ8D,EAAM8jC,UAAY9jC,EAAM6jC,aAAe,GAEhE0E,EAAK,SAASh5C,GACb,OAAOA,GAAKk5C,EAAO,MAAQ,UAGxBN,EAAGnoC,EAAMI,IACZ0lC,EAAS,OAGLuC,EAAIroC,EAAMI,KACb0lC,EAAS,SACTC,EAASwC,EAAGvoC,EAAMzQ,KAET64C,EAAGpoC,EAAMI,KACnB0lC,EAAS,QAGLwC,EAAItoC,EAAMI,KACb0lC,EAAS,SACTC,EAASwC,EAAGvoC,EAAMzQ,KAIpB,IAAIggC,EAAO6X,EAAQ7Z,SACnB,MAAO,CACNuY,OAAQvW,EAAKuW,OAASvW,EAAKuW,OAASA,EACpCC,OAAQxW,EAAKwW,OAASxW,EAAKwW,OAASA,GAOtC,SAAS2C,GAAmB1lB,EAAIrP,EAAMg1B,EAAW9vC,GAEhD,IAAIuH,EAAI4iB,EAAG5iB,EACP7Q,EAAIyzB,EAAGzzB,EAEPu0C,EAAY9gB,EAAG8gB,UACfD,EAAe7gB,EAAG6gB,aAClBjwB,EAAeoP,EAAGpP,aAClBkyB,EAAS6C,EAAU7C,OACnBC,EAAS4C,EAAU5C,OACnB6C,EAAiB9E,EAAYD,EAC7BgF,EAAmBj1B,EAAeiwB,EAkCtC,MAhCe,UAAXiC,EACH1lC,GAAKuT,EAAKzX,MACW,WAAX4pC,IACV1lC,GAAMuT,EAAKzX,MAAQ,EACfkE,EAAIuT,EAAKzX,MAAQrD,EAAMqD,QAC1BkE,EAAIvH,EAAMqD,MAAQyX,EAAKzX,OAEpBkE,EAAI,IACPA,EAAI,IAIS,QAAX2lC,EACHx2C,GAAKq5C,EAELr5C,GADqB,WAAXw2C,EACLpyB,EAAKxX,OAASysC,EAEbj1B,EAAKxX,OAAS,EAGN,WAAX4pC,EACY,SAAXD,EACH1lC,GAAKwoC,EACgB,UAAX9C,IACV1lC,GAAKwoC,GAEe,SAAX9C,EACV1lC,GAAKyoC,EACgB,UAAX/C,IACV1lC,GAAKyoC,GAGC,CACNzoC,EAAGA,EACH7Q,EAAGA,GAIL,SAASu5C,GAAY9lB,EAAI7K,GACxB,MAAiB,WAAVA,EACJ6K,EAAG5iB,EAAI4iB,EAAG9mB,MAAQ,EACR,UAAVic,EACC6K,EAAG5iB,EAAI4iB,EAAG9mB,MAAQ8mB,EAAG4gB,SACrB5gB,EAAG5iB,EAAI4iB,EAAG4gB,SAMf,SAASmF,GAAwBz7B,GAChC,OAAO+3B,GAAa,GAAIE,GAAcj4B,IAGvC,IAAI07B,GAAYpuB,GAAahM,OAAO,CACnCqL,WAAY,WACX/sB,KAAKotB,OAASsrB,GAAa14C,KAAKqgC,UAChCrgC,KAAK+7C,YAAc,IAKpBC,SAAU,WACT,IAAI7qC,EAAKnR,KACLqiC,EAAOlxB,EAAGkvB,SACVX,EAAY2C,EAAK3C,UAEjBqX,EAAcrX,EAAUqX,YAAYz2B,MAAMnP,EAAI4E,WAC9C4pB,EAAQD,EAAUC,MAAMrf,MAAMnP,EAAI4E,WAClCmhC,EAAaxX,EAAUwX,WAAW52B,MAAMnP,EAAI4E,WAE5CykC,EAAQ,GAKZ,OAJAA,EAAQrC,GAAaqC,EAAOnC,GAActB,IAC1CyD,EAAQrC,GAAaqC,EAAOnC,GAAc1Y,IAC1C6a,EAAQrC,GAAaqC,EAAOnC,GAAcnB,IAEnCsD,GAIRyB,cAAe,WACd,OAAOJ,GAAwB77C,KAAKqgC,SAASX,UAAUyX,WAAW72B,MAAMtgB,KAAM+V,aAI/EmmC,QAAS,SAASlF,EAAc7pC,GAC/B,IAAIgE,EAAKnR,KACL0/B,EAAYvuB,EAAGkvB,SAASX,UACxByc,EAAY,GAehB,OAbAjwB,GAAU3L,KAAKy2B,GAAc,SAASpV,GACrC,IAAI0Y,EAAW,CACdC,OAAQ,GACRC,MAAO,GACPC,MAAO,IAERtC,GAAamC,EAASC,OAAQlC,GAAc3Y,EAAU0X,YAAYz+B,KAAKxH,EAAIywB,EAAaz0B,KACxFgrC,GAAamC,EAASE,MAAO9a,EAAUxzB,MAAMyM,KAAKxH,EAAIywB,EAAaz0B,IACnEgrC,GAAamC,EAASG,MAAOpC,GAAc3Y,EAAU8X,WAAW7+B,KAAKxH,EAAIywB,EAAaz0B,KAEtFgvC,EAAUzsC,KAAK4qC,MAGT6B,GAIRC,aAAc,WACb,OAAOP,GAAwB77C,KAAKqgC,SAASX,UAAU+X,UAAUn3B,MAAMtgB,KAAM+V,aAK9EsmC,UAAW,WACV,IAAIlrC,EAAKnR,KACL0/B,EAAYvuB,EAAGkvB,SAASX,UAExBgY,EAAehY,EAAUgY,aAAap3B,MAAMnP,EAAI4E,WAChD4hC,EAASjY,EAAUiY,OAAOr3B,MAAMnP,EAAI4E,WACpC6hC,EAAclY,EAAUkY,YAAYt3B,MAAMnP,EAAI4E,WAE9CykC,EAAQ,GAKZ,OAJAA,EAAQrC,GAAaqC,EAAOnC,GAAcX,IAC1C8C,EAAQrC,GAAaqC,EAAOnC,GAAcV,IAC1C6C,EAAQrC,GAAaqC,EAAOnC,GAAcT,IAEnC4C,GAGR/sC,OAAQ,SAASu/B,GAChB,IA8BIvgC,EAAG2K,EA9BHjG,EAAKnR,KACLqiC,EAAOlxB,EAAGkvB,SAKVic,EAAgBnrC,EAAGic,OACnBta,EAAQ3B,EAAGic,OAASsrB,GAAarW,GACjCka,EAASprC,EAAGqrC,QAEZrvC,EAAOgE,EAAG4gB,MAGV0pB,EAAY,CACf7C,OAAQ0D,EAAc1D,OACtBC,OAAQyD,EAAczD,QAEnB4D,EAAkB,CACrBvpC,EAAGopC,EAAcppC,EACjB7Q,EAAGi6C,EAAcj6C,GAEdq6C,EAAc,CACjB1tC,MAAOstC,EAActtC,MACrBC,OAAQqtC,EAAcrtC,QAEnBse,EAAkB,CACrBra,EAAGopC,EAAcK,OACjBt6C,EAAGi6C,EAAcM,QAKlB,GAAIL,EAAO30C,OAAQ,CAClBkL,EAAMinC,QAAU,EAEhB,IAAI8C,EAAc,GACdC,EAAkB,GACtBvvB,EAAkBsqB,GAAYxV,EAAK96B,UAAUoR,KAAKxH,EAAIorC,EAAQprC,EAAG4rC,gBAEjE,IAAI/F,EAAe,GACnB,IAAKvqC,EAAI,EAAG2K,EAAMmlC,EAAO30C,OAAQ6E,EAAI2K,IAAO3K,EAC3CuqC,EAAatnC,KAAK4oC,GAAkBiE,EAAO9vC,KAIxC41B,EAAKt1B,SACRiqC,EAAeA,EAAajqC,QAAO,SAASrD,GAC3C,OAAO24B,EAAKt1B,OAAOrD,EAAGyD,OAKpBk1B,EAAK2a,WACRhG,EAAeA,EAAa3sB,MAAK,SAAS3gB,EAAGtB,GAC5C,OAAOi6B,EAAK2a,SAAStzC,EAAGtB,EAAG+E,OAK7B+e,GAAU3L,KAAKy2B,GAAc,SAASpV,GACrCib,EAAYntC,KAAK2yB,EAAK3C,UAAU2X,WAAW1+B,KAAKxH,EAAIywB,EAAazwB,EAAGtF,SACpEixC,EAAgBptC,KAAK2yB,EAAK3C,UAAU6X,eAAe5+B,KAAKxH,EAAIywB,EAAazwB,EAAGtF,YAK7EiH,EAAM6sB,MAAQxuB,EAAG6qC,SAAShF,EAAc7pC,GACxC2F,EAAMqkC,WAAahmC,EAAG8qC,cAAcjF,EAAc7pC,GAClD2F,EAAMqnC,KAAOhpC,EAAG+qC,QAAQlF,EAAc7pC,GACtC2F,EAAM2kC,UAAYtmC,EAAGirC,aAAapF,EAAc7pC,GAChD2F,EAAM6kC,OAASxmC,EAAGkrC,UAAUrF,EAAc7pC,GAG1C2F,EAAMI,EAAIqa,EAAgBra,EAC1BJ,EAAMzQ,EAAIkrB,EAAgBlrB,EAC1ByQ,EAAM6jC,aAAetU,EAAKsU,aAC1B7jC,EAAM+pC,YAAcA,EACpB/pC,EAAMgqC,gBAAkBA,EAGxBhqC,EAAMmqC,WAAajG,EAGnB0F,EAAczC,GAAej6C,KAAM8S,GACnC2oC,EAAYT,GAAmBh7C,KAAM08C,GAErCD,EAAkBjB,GAAmB1oC,EAAO4pC,EAAajB,EAAWtqC,EAAGtF,aAEvEiH,EAAMinC,QAAU,EAoBjB,OAjBAjnC,EAAM8lC,OAAS6C,EAAU7C,OACzB9lC,EAAM+lC,OAAS4C,EAAU5C,OACzB/lC,EAAMI,EAAIupC,EAAgBvpC,EAC1BJ,EAAMzQ,EAAIo6C,EAAgBp6C,EAC1ByQ,EAAM9D,MAAQ0tC,EAAY1tC,MAC1B8D,EAAM7D,OAASytC,EAAYztC,OAG3B6D,EAAM6pC,OAASpvB,EAAgBra,EAC/BJ,EAAM8pC,OAASrvB,EAAgBlrB,EAE/B8O,EAAGic,OAASta,EAERk6B,GAAW3K,EAAK5O,QACnB4O,EAAK5O,OAAO9a,KAAKxH,EAAI2B,GAGf3B,GAGR+rC,UAAW,SAASC,EAAc12B,GACjC,IAAIhB,EAAMzlB,KAAK6L,OAAO4Z,IAClBqQ,EAAK91B,KAAKmtB,MACViwB,EAAgBp9C,KAAKq9C,iBAAiBF,EAAc12B,EAAMqP,GAE9DrQ,EAAIuB,OAAOo2B,EAActjB,GAAIsjB,EAAcrjB,IAC3CtU,EAAIuB,OAAOo2B,EAAc9nC,GAAI8nC,EAAc/nC,IAC3CoQ,EAAIuB,OAAOo2B,EAAcE,GAAIF,EAAcG,KAE5CF,iBAAkB,SAASF,EAAc12B,EAAMqP,GAC9C,IAAIgE,EAAIxkB,EAAIgoC,EAAIvjB,EAAI1kB,EAAIkoC,EACpB3G,EAAY9gB,EAAG8gB,UACflwB,EAAeoP,EAAGpP,aAClBkyB,EAAS9iB,EAAG8iB,OACZC,EAAS/iB,EAAG+iB,OACZ2E,EAAML,EAAajqC,EACnBuqC,EAAMN,EAAa96C,EACnB2M,EAAQyX,EAAKzX,MACbC,EAASwX,EAAKxX,OAElB,GAAe,WAAX4pC,EACHxjC,EAAKooC,EAAOxuC,EAAS,EAEN,SAAX2pC,GACH9e,EAAK0jB,EACLloC,EAAKwkB,EAAK8c,EACV0G,EAAKxjB,EAELC,EAAK1kB,EAAKuhC,EACV2G,EAAKloC,EAAKuhC,IAEV9c,EAAK0jB,EAAMxuC,EACXsG,EAAKwkB,EAAK8c,EACV0G,EAAKxjB,EAELC,EAAK1kB,EAAKuhC,EACV2G,EAAKloC,EAAKuhC,QAgBX,GAbe,SAAXgC,GACHtjC,EAAKkoC,EAAM92B,EAAe,EAC1BoT,EAAKxkB,EAAKshC,EACV0G,EAAKhoC,EAAKshC,GACW,UAAXgC,GACVtjC,EAAKkoC,EAAMxuC,EAAQ0X,EAAekwB,EAClC9c,EAAKxkB,EAAKshC,EACV0G,EAAKhoC,EAAKshC,IAEVthC,EAAKwgB,EAAG6mB,OACR7iB,EAAKxkB,EAAKshC,EACV0G,EAAKhoC,EAAKshC,GAEI,QAAXiC,EACH9e,EAAK0jB,EACLpoC,EAAK0kB,EAAK6c,EACV2G,EAAKxjB,MACC,CACNA,EAAK0jB,EAAMxuC,EACXoG,EAAK0kB,EAAK6c,EACV2G,EAAKxjB,EAEL,IAAI2jB,EAAMJ,EACVA,EAAKxjB,EACLA,EAAK4jB,EAGP,MAAO,CAAC5jB,GAAIA,EAAIxkB,GAAIA,EAAIgoC,GAAIA,EAAIvjB,GAAIA,EAAI1kB,GAAIA,EAAIkoC,GAAIA,IAGrDI,UAAW,SAASpX,EAAIzQ,EAAIrQ,GAC3B,IAEI+zB,EAAe3D,EAAcppC,EAF7BkzB,EAAQ7J,EAAG6J,MACX/3B,EAAS+3B,EAAM/3B,OAGnB,GAAIA,EAAQ,CACX,IAAIg2C,EAAYlI,GAAa5f,EAAGtK,IAAKsK,EAAG5iB,EAAG4iB,EAAG9mB,OAa9C,IAXAu3B,EAAGrzB,EAAI0oC,GAAY9lB,EAAIA,EAAG2jB,aAE1Bh0B,EAAIuF,UAAY4yB,EAAU5yB,UAAU8K,EAAG2jB,aACvCh0B,EAAIo4B,aAAe,SAEnBrE,EAAgB1jB,EAAG0jB,cACnB3D,EAAe/f,EAAG+f,aAElBpwB,EAAI+R,UAAY1B,EAAGigB,eACnBtwB,EAAIyD,KAAOgD,GAAU6uB,WAAWvB,EAAe1jB,EAAGyjB,gBAAiBzjB,EAAGujB,kBAEjE5sC,EAAI,EAAGA,EAAI7E,IAAU6E,EACzBgZ,EAAIq4B,SAASne,EAAMlzB,GAAImxC,EAAU1qC,EAAEqzB,EAAGrzB,GAAIqzB,EAAGlkC,EAAIm3C,EAAgB,GACjEjT,EAAGlkC,GAAKm3C,EAAgB3D,EAEpBppC,EAAI,IAAM7E,IACb2+B,EAAGlkC,GAAKyzB,EAAGggB,kBAAoBD,KAMnCkI,SAAU,SAASxX,EAAIzQ,EAAIrQ,GAC1B,IAeI60B,EAAU0D,EAAWnB,EAAarC,EAAO/tC,EAAGw1B,EAAGphB,EAAMsoB,EAfrDiQ,EAAetjB,EAAGsjB,aAClBnD,EAAcngB,EAAGmgB,YACjBE,EAAYrgB,EAAGqjB,WACfgB,EAAOrkB,EAAGqkB,KACV8D,EAAiBnoB,EAAGghB,cACpBoH,EAAe,EACfC,EAASF,EAAiBrC,GAAY9lB,EAAI,QAAU,EAEpD8nB,EAAYlI,GAAa5f,EAAGtK,IAAKsK,EAAG5iB,EAAG4iB,EAAG9mB,OAE1CovC,EAAiB,SAASzmB,GAC7BlS,EAAIq4B,SAASnmB,EAAMimB,EAAU1qC,EAAEqzB,EAAGrzB,EAAIgrC,GAAe3X,EAAGlkC,EAAI+2C,EAAe,GAC3E7S,EAAGlkC,GAAK+2C,EAAenD,GAIpBoI,EAA0BT,EAAU5yB,UAAUmrB,GAiBlD,IAfA1wB,EAAIuF,UAAYmrB,EAChB1wB,EAAIo4B,aAAe,SACnBp4B,EAAIyD,KAAOgD,GAAU6uB,WAAW3B,EAActjB,EAAGmjB,eAAgBnjB,EAAGijB,iBAEpExS,EAAGrzB,EAAI0oC,GAAY9lB,EAAIuoB,GAGvB54B,EAAI+R,UAAY1B,EAAGogB,cACnBhqB,GAAU3L,KAAKuV,EAAGqhB,WAAYiH,GAE9BF,EAAeD,GAA8C,UAA5BI,EAChB,WAAdlI,EAA0BiD,EAAe,EAAI,EAAMA,EAAe,EAClE,EAGE3sC,EAAI,EAAGoU,EAAOs5B,EAAKvyC,OAAQ6E,EAAIoU,IAAQpU,EAAG,CAS9C,IARA6tC,EAAWH,EAAK1tC,GAChBuxC,EAAYloB,EAAGgnB,gBAAgBrwC,GAC/BowC,EAAc/mB,EAAG+mB,YAAYpwC,GAE7BgZ,EAAI+R,UAAYwmB,EAChB9xB,GAAU3L,KAAK+5B,EAASC,OAAQ6D,GAEhC5D,EAAQF,EAASE,MACZvY,EAAI,EAAGkH,EAAOqR,EAAM5yC,OAAQq6B,EAAIkH,IAAQlH,EAAG,CAE/C,GAAIgc,EAAgB,CACnB,IAAIK,EAAYV,EAAU1qC,EAAEirC,GAG5B14B,EAAI+R,UAAY1B,EAAGkkB,sBACnBv0B,EAAI2V,SAASwiB,EAAUzyB,WAAWmzB,EAAWlF,GAAe7S,EAAGlkC,EAAG+2C,EAAcA,GAGhF3zB,EAAI0Q,UAAY,EAChB1Q,EAAIgS,YAAcolB,EAAYxpB,YAC9B5N,EAAI84B,WAAWX,EAAUzyB,WAAWmzB,EAAWlF,GAAe7S,EAAGlkC,EAAG+2C,EAAcA,GAGlF3zB,EAAI+R,UAAYqlB,EAAYzpB,gBAC5B3N,EAAI2V,SAASwiB,EAAUzyB,WAAWyyB,EAAU1yB,MAAMozB,EAAW,GAAIlF,EAAe,GAAI7S,EAAGlkC,EAAI,EAAG+2C,EAAe,EAAGA,EAAe,GAC/H3zB,EAAI+R,UAAYwmB,EAGjBI,EAAe5D,EAAMvY,IAGtB/V,GAAU3L,KAAK+5B,EAASG,MAAO2D,GAIhCF,EAAe,EAGfhyB,GAAU3L,KAAKuV,EAAG2hB,UAAW2G,GAC7B7X,EAAGlkC,GAAK4zC,GAGTuI,WAAY,SAASjY,EAAIzQ,EAAIrQ,GAC5B,IAEIo0B,EAAgBptC,EAFhBkrC,EAAS7hB,EAAG6hB,OACZ/vC,EAAS+vC,EAAO/vC,OAGpB,GAAIA,EAAQ,CACX,IAAIg2C,EAAYlI,GAAa5f,EAAGtK,IAAKsK,EAAG5iB,EAAG4iB,EAAG9mB,OAa9C,IAXAu3B,EAAGrzB,EAAI0oC,GAAY9lB,EAAIA,EAAGgkB,cAC1BvT,EAAGlkC,GAAKyzB,EAAGwgB,gBAEX7wB,EAAIuF,UAAY4yB,EAAU5yB,UAAU8K,EAAGgkB,cACvCr0B,EAAIo4B,aAAe,SAEnBhE,EAAiB/jB,EAAG+jB,eAEpBp0B,EAAI+R,UAAY1B,EAAGygB,gBACnB9wB,EAAIyD,KAAOgD,GAAU6uB,WAAWlB,EAAgB/jB,EAAG8jB,iBAAkB9jB,EAAG4jB,mBAEnEjtC,EAAI,EAAGA,EAAI7E,IAAU6E,EACzBgZ,EAAIq4B,SAASnG,EAAOlrC,GAAImxC,EAAU1qC,EAAEqzB,EAAGrzB,GAAIqzB,EAAGlkC,EAAIw3C,EAAiB,GACnEtT,EAAGlkC,GAAKw3C,EAAiB/jB,EAAGugB,gBAK/BoI,eAAgB,SAASlY,EAAIzQ,EAAIrQ,EAAKi3B,GACrCj3B,EAAI+R,UAAY1B,EAAG1C,gBACnB3N,EAAIgS,YAAc3B,EAAGzC,YACrB5N,EAAI0Q,UAAYL,EAAG5B,YACnB,IAAI0kB,EAAS9iB,EAAG8iB,OACZC,EAAS/iB,EAAG+iB,OACZ3lC,EAAIqzB,EAAGrzB,EACP7Q,EAAIkkC,EAAGlkC,EACP2M,EAAQ0tC,EAAY1tC,MACpBC,EAASytC,EAAYztC,OACrB2W,EAASkQ,EAAGpP,aAEhBjB,EAAIsB,YACJtB,EAAIQ,OAAO/S,EAAI0S,EAAQvjB,GACR,QAAXw2C,GACH74C,KAAKk9C,UAAU3W,EAAImW,GAEpBj3B,EAAIuB,OAAO9T,EAAIlE,EAAQ4W,EAAQvjB,GAC/BojB,EAAIi5B,iBAAiBxrC,EAAIlE,EAAO3M,EAAG6Q,EAAIlE,EAAO3M,EAAIujB,GACnC,WAAXizB,GAAkC,UAAXD,GAC1B54C,KAAKk9C,UAAU3W,EAAImW,GAEpBj3B,EAAIuB,OAAO9T,EAAIlE,EAAO3M,EAAI4M,EAAS2W,GACnCH,EAAIi5B,iBAAiBxrC,EAAIlE,EAAO3M,EAAI4M,EAAQiE,EAAIlE,EAAQ4W,EAAQvjB,EAAI4M,GACrD,WAAX4pC,GACH74C,KAAKk9C,UAAU3W,EAAImW,GAEpBj3B,EAAIuB,OAAO9T,EAAI0S,EAAQvjB,EAAI4M,GAC3BwW,EAAIi5B,iBAAiBxrC,EAAG7Q,EAAI4M,EAAQiE,EAAG7Q,EAAI4M,EAAS2W,GACrC,WAAXizB,GAAkC,SAAXD,GAC1B54C,KAAKk9C,UAAU3W,EAAImW,GAEpBj3B,EAAIuB,OAAO9T,EAAG7Q,EAAIujB,GAClBH,EAAIi5B,iBAAiBxrC,EAAG7Q,EAAG6Q,EAAI0S,EAAQvjB,GACvCojB,EAAIU,YAEJV,EAAIyB,OAEA4O,EAAG5B,YAAc,GACpBzO,EAAI0B,UAIN6L,KAAM,WACL,IAAIvN,EAAMzlB,KAAK6L,OAAO4Z,IAClBqQ,EAAK91B,KAAKmtB,MAEd,GAAmB,IAAf2I,EAAGikB,QAAP,CAIA,IAAI2C,EAAc,CACjB1tC,MAAO8mB,EAAG9mB,MACVC,OAAQ6mB,EAAG7mB,QAERs3B,EAAK,CACRrzB,EAAG4iB,EAAG5iB,EACN7Q,EAAGyzB,EAAGzzB,GAIH03C,EAAUjzC,KAAKmyB,IAAInD,EAAGikB,QAAU,MAAQ,EAAIjkB,EAAGikB,QAG/C4E,EAAoB7oB,EAAG6J,MAAM/3B,QAAUkuB,EAAGqhB,WAAWvvC,QAAUkuB,EAAGqkB,KAAKvyC,QAAUkuB,EAAG2hB,UAAU7vC,QAAUkuB,EAAG6hB,OAAO/vC,OAElH5H,KAAKqgC,SAASsV,SAAWgJ,IAC5Bl5B,EAAImB,OACJnB,EAAIm5B,YAAc7E,EAGlB/5C,KAAKy+C,eAAelY,EAAIzQ,EAAIrQ,EAAKi3B,GAGjCnW,EAAGlkC,GAAKyzB,EAAG2gB,SAEXvqB,GAAUV,IAAIC,sBAAsBhG,EAAKqQ,EAAGgjB,eAG5C94C,KAAK29C,UAAUpX,EAAIzQ,EAAIrQ,GAGvBzlB,KAAK+9C,SAASxX,EAAIzQ,EAAIrQ,GAGtBzlB,KAAKw+C,WAAWjY,EAAIzQ,EAAIrQ,GAExByG,GAAUV,IAAIQ,qBAAqBvG,EAAKqQ,EAAGgjB,eAE3CrzB,EAAIqB,aAUN+3B,YAAa,SAASvtC,GACrB,IAAIH,EAAKnR,KACL6N,EAAUsD,EAAGkvB,SACb2M,GAAU,EAgCd,OA9BA77B,EAAG4qC,YAAc5qC,EAAG4qC,aAAe,GAGpB,aAAXzqC,EAAEpD,KACLiD,EAAGqrC,QAAU,IAEbrrC,EAAGqrC,QAAUrrC,EAAGtF,OAAOizC,0BAA0BxtC,EAAGzD,EAAQ+uB,KAAM/uB,GAC9DA,EAAQ4S,SACXtP,EAAGqrC,QAAQ/7B,WAKbusB,GAAW9gB,GAAUxL,YAAYvP,EAAGqrC,QAASrrC,EAAG4qC,aAG5C/O,IACH77B,EAAG4qC,YAAc5qC,EAAGqrC,SAEhB3uC,EAAQ8nC,SAAW9nC,EAAQ4lB,UAC9BtiB,EAAG4rC,eAAiB,CACnB7pC,EAAG5B,EAAE4B,EACL7Q,EAAGiP,EAAEjP,GAGN8O,EAAG1D,QAAO,GACV0D,EAAG+b,UAIE8f,KAOL+R,GAAgBlH,GAEhBmH,GAAelD,GACnBkD,GAAanH,YAAckH,GAE3B,IAAIE,GAAmB/yB,GAAUjM,eA4BjC,SAASi/B,KACR,OAAOhzB,GAAU7K,MAAM1U,OAAOqU,OAAO,MAAO,GAAG9Z,MAAMyR,KAAK5C,WAAY,CACrE0L,OAAQ,SAAS5d,EAAK4a,EAAQD,EAAQ3Q,GACrC,GAAY,UAARhK,GAA2B,UAARA,EAAiB,CACvC,IACI4I,EAAGyB,EAAMkM,EADT+kC,EAAO3gC,EAAO3a,GAAK+D,OAOvB,IAJK6W,EAAO5a,KACX4a,EAAO5a,GAAO,IAGV4I,EAAI,EAAGA,EAAI0yC,IAAQ1yC,EACvB2N,EAAQoE,EAAO3a,GAAK4I,GACpByB,EAAO+wC,GAAiB7kC,EAAMlM,KAAc,UAARrK,EAAkB,WAAa,UAE/D4I,GAAKgS,EAAO5a,GAAK+D,QACpB6W,EAAO5a,GAAK6L,KAAK,KAGb+O,EAAO5a,GAAK4I,GAAGyB,MAASkM,EAAMlM,MAAQkM,EAAMlM,OAASuQ,EAAO5a,GAAK4I,GAAGyB,KAGxEge,GAAU7K,MAAM5C,EAAO5a,GAAK4I,GAAI,CAACsoC,GAAkBM,iBAAiBnnC,GAAOkM,IAG3E8R,GAAU7K,MAAM5C,EAAO5a,GAAK4I,GAAI2N,QAIlC8R,GAAUhL,QAAQrd,EAAK4a,EAAQD,EAAQ3Q,MAW3C,SAASuxC,KACR,OAAOlzB,GAAU7K,MAAM1U,OAAOqU,OAAO,MAAO,GAAG9Z,MAAMyR,KAAK5C,WAAY,CACrE0L,OAAQ,SAAS5d,EAAK4a,EAAQD,EAAQ3Q,GACrC,IAAIsT,EAAO1C,EAAO5a,IAAQ8I,OAAOqU,OAAO,MACpCI,EAAO5C,EAAO3a,GAEN,WAARA,EAEH4a,EAAO5a,GAAOq7C,GAAiB/9B,EAAMC,GACnB,UAARvd,EAEV4a,EAAO5a,GAAOqoB,GAAU7K,MAAMF,EAAM,CAAC4zB,GAAkBM,iBAAiBj0B,EAAKlT,MAAOkT,IAEpF8K,GAAUhL,QAAQrd,EAAK4a,EAAQD,EAAQ3Q,MAM3C,SAASwxC,GAAWja,GACnBA,EAASA,GAAUz4B,OAAOqU,OAAO,MAIjC,IAAI7T,EAAOi4B,EAAOj4B,KAAOi4B,EAAOj4B,MAAQ,GASxC,OARAA,EAAKpB,SAAWoB,EAAKpB,UAAY,GACjCoB,EAAKE,OAASF,EAAKE,QAAU,GAE7B+3B,EAAOv3B,QAAUuxC,GAChBp2B,EAAclpB,OACdkpB,EAAcoc,EAAOl3B,MACrBk3B,EAAOv3B,SAAW,IAEZu3B,EAGR,SAASka,GAAa3zC,GACrB,IAAI4zC,EAAa5zC,EAAMkC,QAEvBqe,GAAU3L,KAAK5U,EAAMolB,QAAQ,SAAS3W,GACrCgzB,GAAaG,UAAU5hC,EAAOyO,MAG/BmlC,EAAaH,GACZp2B,EAAclpB,OACdkpB,EAAcrd,EAAMy5B,OAAOl3B,MAC3BqxC,GAED5zC,EAAMkC,QAAUlC,EAAMy5B,OAAOv3B,QAAU0xC,EACvC5zC,EAAM6zC,sBACN7zC,EAAM8zC,sBAGN9zC,EAAMuuC,QAAQ7Z,SAAWkf,EAAW9f,SACpC9zB,EAAMuuC,QAAQntB,aAGf,SAAS2yB,GAAqBC,EAAUC,EAAQxgC,GAC/C,IAAIrQ,EACA8wC,EAAQ,SAASjlC,GACpB,OAAOA,EAAI7L,KAAOA,GAGnB,GACCA,EAAK6wC,EAASxgC,UACN8M,GAAU+C,UAAU0wB,EAAUE,IAAU,GAEjD,OAAO9wC,EAGR,SAAS+wC,GAAqBv4C,GAC7B,MAAoB,QAAbA,GAAmC,WAAbA,EAG9B,SAASw4C,GAAcC,EAAIC,GAC1B,OAAO,SAASv2C,EAAGtB,GAClB,OAAOsB,EAAEs2C,KAAQ53C,EAAE43C,GAChBt2C,EAAEu2C,GAAM73C,EAAE63C,GACVv2C,EAAEs2C,GAAM53C,EAAE43C,IAhJfh3B,EAAcR,KAAK,SAAU,CAC5BuK,SAAU,GACVmtB,OAAQ,CACP,YACA,WACA,QACA,aACA,aAED5sB,MAAO,CACN6sB,QAAS,KACTvjB,KAAM,UACN0M,WAAW,EACX8W,kBAAmB,KAEpB3e,QAAS,KACT8Q,qBAAqB,EACrB8N,YAAY,EACZC,4BAA6B,IAkI9B,IAAIC,GAAQ,SAAS59B,EAAMyiB,GAE1B,OADAplC,KAAKwgD,UAAU79B,EAAMyiB,GACdplC,MAGRksB,GAAUxK,OAAO6+B,GAAM7nC,UAA+B,CAIrD8nC,UAAW,SAAS79B,EAAMyiB,GACzB,IAAIj0B,EAAKnR,KAETolC,EAASia,GAAWja,GAEpB,IAAIpb,EAAUiqB,GAASlG,eAAeprB,EAAMyiB,GACxCv1B,EAASma,GAAWA,EAAQna,OAC5BZ,EAASY,GAAUA,EAAOZ,OAC1BD,EAAQa,GAAUA,EAAOb,MAE7BmC,EAAGpC,GAAKmd,GAAUvM,MAClBxO,EAAGsU,IAAMuE,EACT7Y,EAAGtB,OAASA,EACZsB,EAAGi0B,OAASA,EACZj0B,EAAGnC,MAAQA,EACXmC,EAAGlC,OAASA,EACZkC,EAAGy+B,YAAc3gC,EAASD,EAAQC,EAAS,KAC3CkC,EAAGtD,QAAUu3B,EAAOv3B,QACpBsD,EAAGsvC,iBAAkB,EACrBtvC,EAAGm8B,QAAU,GAUbn8B,EAAGxF,MAAQwF,EACXA,EAAGowB,WAAapwB,EAGhBovC,GAAMG,UAAUvvC,EAAGpC,IAAMoC,EAGzBxE,OAAOoG,eAAe5B,EAAI,OAAQ,CACjC8c,IAAK,WACJ,OAAO9c,EAAGi0B,OAAOj4B,MAElB+gB,IAAK,SAASlb,GACb7B,EAAGi0B,OAAOj4B,KAAO6F,KAIdgX,GAAYna,GASjBsB,EAAG4b,aACH5b,EAAG1D,UALFkR,QAAQC,MAAM,sEAWhBmO,WAAY,WACX,IAAI5b,EAAKnR,KAmBT,OAhBAk0C,GAAaM,OAAOrjC,EAAI,cAExB+a,GAAUy0B,YAAYxvC,EAAIA,EAAGtD,QAAQ+yC,kBAErCzvC,EAAG0vC,aAEC1vC,EAAGtD,QAAQwyC,YAEdlvC,EAAG2vC,QAAO,GAGX3vC,EAAG4vC,cAGH7M,GAAaM,OAAOrjC,EAAI,aAEjBA,GAGRqU,MAAO,WAEN,OADA0G,GAAUrc,OAAO2V,MAAMxlB,MAChBA,MAGRghD,KAAM,WAGL,OADAzyB,GAAgBS,gBAAgBhvB,MACzBA,MAGR8gD,OAAQ,SAASG,GAChB,IAAI9vC,EAAKnR,KACL6N,EAAUsD,EAAGtD,QACbgC,EAASsB,EAAGtB,OACZ+/B,EAAe/hC,EAAQ0kC,qBAAuBphC,EAAGy+B,aAAgB,KAMjE5D,EAAWllC,KAAKyM,IAAI,EAAGzM,KAAKD,MAAMqlB,GAAUg1B,gBAAgBrxC,KAC5Do8B,EAAYnlC,KAAKyM,IAAI,EAAGzM,KAAKD,MAAM+oC,EAAc5D,EAAW4D,EAAc1jB,GAAUi1B,iBAAiBtxC,KAEzG,IAAIsB,EAAGnC,QAAUg9B,GAAY76B,EAAGlC,SAAWg9B,KAI3Cp8B,EAAOb,MAAQmC,EAAGnC,MAAQg9B,EAC1Bn8B,EAAOZ,OAASkC,EAAGlC,OAASg9B,EAC5Bp8B,EAAOnB,MAAMM,MAAQg9B,EAAW,KAChCn8B,EAAOnB,MAAMO,OAASg9B,EAAY,KAElC/f,GAAUy0B,YAAYxvC,EAAItD,EAAQ+yC,mBAE7BK,GAAQ,CAEZ,IAAIG,EAAU,CAACpyC,MAAOg9B,EAAU/8B,OAAQg9B,GACxCiI,GAAaM,OAAOrjC,EAAI,SAAU,CAACiwC,IAG/BvzC,EAAQwzC,UACXxzC,EAAQwzC,SAASlwC,EAAIiwC,GAGtBjwC,EAAG6vC,OACH7vC,EAAG1D,OAAO,CACT2gB,SAAUvgB,EAAQyyC,gCAKrBd,oBAAqB,WACpB,IAAI3xC,EAAU7N,KAAK6N,QACfyzC,EAAgBzzC,EAAQkjB,QAAU,GAClCwwB,EAAe1zC,EAAQuM,MAE3B8R,GAAU3L,KAAK+gC,EAAcnwB,OAAO,SAASqwB,EAAcpiC,GACrDoiC,EAAazyC,KACjByyC,EAAazyC,GAAK2wC,GAAqB4B,EAAcnwB,MAAO,UAAW/R,OAIzE8M,GAAU3L,KAAK+gC,EAAcjwB,OAAO,SAASowB,EAAcriC,GACrDqiC,EAAa1yC,KACjB0yC,EAAa1yC,GAAK2wC,GAAqB4B,EAAcjwB,MAAO,UAAWjS,OAIrEmiC,IACHA,EAAaxyC,GAAKwyC,EAAaxyC,IAAM,UAOvC0wC,oBAAqB,WACpB,IAAItuC,EAAKnR,KACL6N,EAAUsD,EAAGtD,QACbkjB,EAAS5f,EAAG4f,QAAU,GACtBoZ,EAAQ,GACRuX,EAAU/0C,OAAOC,KAAKmkB,GAAQspB,QAAO,SAASz/B,EAAK7L,GAEtD,OADA6L,EAAI7L,IAAM,EACH6L,IACL,IAEC/M,EAAQkjB,SACXoZ,EAAQA,EAAMzuB,QACZ7N,EAAQkjB,OAAOI,OAAS,IAAInlB,KAAI,SAASw1C,GACzC,MAAO,CAAC3zC,QAAS2zC,EAAcG,MAAO,WAAYC,UAAW,cAE7D/zC,EAAQkjB,OAAOM,OAAS,IAAIrlB,KAAI,SAASy1C,GACzC,MAAO,CAAC5zC,QAAS4zC,EAAcE,MAAO,SAAUC,UAAW,aAK1D/zC,EAAQuM,OACX+vB,EAAMz6B,KAAK,CACV7B,QAASA,EAAQuM,MACjBunC,MAAO,eACPE,WAAW,EACXD,UAAW,cAIb11B,GAAU3L,KAAK4pB,GAAO,SAASxnB,GAC9B,IAAI4+B,EAAe5+B,EAAK9U,QACpBkB,EAAKwyC,EAAaxyC,GAClB+yC,EAAY7C,GAAiBsC,EAAarzC,KAAMyU,EAAKg/B,OAErD7B,GAAqByB,EAAah6C,YAAcu4C,GAAqBn9B,EAAKi/B,aAC7EL,EAAah6C,SAAWob,EAAKi/B,WAG9BF,EAAQ3yC,IAAM,EACd,IAAIqL,EAAQ,KACZ,GAAIrL,KAAMgiB,GAAUA,EAAOhiB,GAAIb,OAAS4zC,EACvC1nC,EAAQ2W,EAAOhiB,GACfqL,EAAMvM,QAAU0zC,EAChBnnC,EAAMqL,IAAMtU,EAAGsU,IACfrL,EAAMzO,MAAQwF,MACR,CACN,IAAI4wC,EAAahN,GAAkBK,oBAAoB0M,GACvD,IAAKC,EACJ,OAED3nC,EAAQ,IAAI2nC,EAAW,CACtBhzC,GAAIA,EACJb,KAAM4zC,EACNj0C,QAAS0zC,EACT97B,IAAKtU,EAAGsU,IACR9Z,MAAOwF,IAER4f,EAAO3W,EAAMrL,IAAMqL,EAGpBA,EAAM4nC,oBAKFr/B,EAAKk/B,YACR1wC,EAAGiJ,MAAQA,MAIb8R,GAAU3L,KAAKmhC,GAAS,SAASO,EAAYlzC,GACvCkzC,UACGlxB,EAAOhiB,MAIhBoC,EAAG4f,OAASA,EAEZgkB,GAAkBS,kBAAkBx1C,OAGrCkiD,yBAA0B,WACzB,IAGIz1C,EAAGoU,EAHH1P,EAAKnR,KACLmiD,EAAiB,GACjBp2C,EAAWoF,EAAGhE,KAAKpB,SAGvB,IAAKU,EAAI,EAAGoU,EAAO9U,EAASnE,OAAQ6E,EAAIoU,EAAMpU,IAAK,CAClD,IAAIR,EAAUF,EAASU,GACnBqkB,EAAO3f,EAAGmgB,eAAe7kB,GACzByB,EAAOjC,EAAQiC,MAAQiD,EAAGi0B,OAAOl3B,KAUrC,GARI4iB,EAAK5iB,MAAQ4iB,EAAK5iB,OAASA,IAC9BiD,EAAGixC,mBAAmB31C,GACtBqkB,EAAO3f,EAAGmgB,eAAe7kB,IAE1BqkB,EAAK5iB,KAAOA,EACZ4iB,EAAKuxB,MAAQp2C,EAAQo2C,OAAS,EAC9BvxB,EAAK1R,MAAQ3S,EAETqkB,EAAKyQ,WACRzQ,EAAKyQ,WAAW1Q,YAAYpkB,GAC5BqkB,EAAKyQ,WAAW7Q,iBACV,CACN,IAAI4xB,EAAkB7Z,GAAY3X,EAAK5iB,MACvC,QAAwBpG,IAApBw6C,EACH,MAAM,IAAIxyC,MAAM,IAAMghB,EAAK5iB,KAAO,0BAGnC4iB,EAAKyQ,WAAa,IAAI+gB,EAAgBnxC,EAAI1E,GAC1C01C,EAAezyC,KAAKohB,EAAKyQ,aAI3B,OAAO4gB,GAORI,cAAe,WACd,IAAIpxC,EAAKnR,KACTksB,GAAU3L,KAAKpP,EAAGhE,KAAKpB,UAAU,SAASE,EAASokB,GAClDlf,EAAGmgB,eAAejB,GAAckR,WAAW1P,UACzC1gB,IAMJ0gB,MAAO,WACN7xB,KAAKuiD,gBACLviD,KAAKk6C,QAAQntB,cAGdtf,OAAQ,SAAS23B,GAChB,IACI34B,EAAGoU,EADH1P,EAAKnR,KAiBT,GAdKolC,GAA4B,kBAAXA,IAErBA,EAAS,CACRhX,SAAUgX,EACVzW,KAAM5Y,UAAU,KAIlBupC,GAAanuC,GAIb+iC,GAAaY,YAAY3jC,IAEuB,IAA5C+iC,GAAaM,OAAOrjC,EAAI,gBAA5B,CAKAA,EAAG+oC,QAAQnoB,MAAQ5gB,EAAGhE,KAGtB,IAAIg1C,EAAiBhxC,EAAG+wC,2BAGxB,IAAKz1C,EAAI,EAAGoU,EAAO1P,EAAGhE,KAAKpB,SAASnE,OAAQ6E,EAAIoU,EAAMpU,IACrD0E,EAAGmgB,eAAe7kB,GAAG80B,WAAW/O,wBAGjCrhB,EAAGqxC,eAGCrxC,EAAGtD,QAAQsgB,WAAahd,EAAGtD,QAAQsgB,UAAUC,UAChDlC,GAAU3L,KAAK4hC,GAAgB,SAAS5gB,GACvCA,EAAW1P,WAIb1gB,EAAGsxC,iBAIHtxC,EAAG+oC,QAAQntB,aAIX5b,EAAGuxC,WAAa,GAGhBxO,GAAaM,OAAOrjC,EAAI,eAExBA,EAAGm8B,QAAQjjB,KAAK01B,GAAc,IAAK,SAE/B5uC,EAAGsvC,gBACNtvC,EAAGwxC,iBAAmB,CACrBv0B,SAAUgX,EAAOhX,SACjBjC,OAAQiZ,EAAOjZ,OACfwC,KAAMyW,EAAOzW,MAGdxd,EAAG3C,OAAO42B,KASZod,aAAc,WACb,IAAIrxC,EAAKnR,MAEuC,IAA5Ck0C,GAAaM,OAAOrjC,EAAI,kBAI5Bi8B,GAAa3/B,OAAOzN,KAAMA,KAAKgP,MAAOhP,KAAKiP,QAE3CkC,EAAGm8B,QAAU,GACbphB,GAAU3L,KAAKpP,EAAG25B,OAAO,SAASC,GAG7BA,EAAIpY,YACPoY,EAAIpY,aAELxhB,EAAGm8B,QAAQ59B,KAAK4Q,MAAMnP,EAAGm8B,QAASvC,EAAIuC,aACpCn8B,GAEHA,EAAGm8B,QAAQ9gC,SAAQ,SAASmW,EAAMvD,GACjCuD,EAAKigC,KAAOxjC,KAUb80B,GAAaM,OAAOrjC,EAAI,oBACxB+iC,GAAaM,OAAOrjC,EAAI,iBAQzBsxC,eAAgB,WACf,IAAItxC,EAAKnR,KAET,IAAwD,IAApDk0C,GAAaM,OAAOrjC,EAAI,wBAA5B,CAIA,IAAK,IAAI1E,EAAI,EAAGoU,EAAO1P,EAAGhE,KAAKpB,SAASnE,OAAQ6E,EAAIoU,IAAQpU,EAC3D0E,EAAG0xC,cAAcp2C,GAGlBynC,GAAaM,OAAOrjC,EAAI,yBAQzB0xC,cAAe,SAASzjC,GACvB,IAAIjO,EAAKnR,KACL8wB,EAAO3f,EAAGmgB,eAAelS,GACzBtJ,EAAO,CACVgb,KAAMA,EACN1R,MAAOA,IAGuD,IAA3D80B,GAAaM,OAAOrjC,EAAI,sBAAuB,CAAC2E,MAIpDgb,EAAKyQ,WAAWzP,UAEhBoiB,GAAaM,OAAOrjC,EAAI,qBAAsB,CAAC2E,MAGhDtH,OAAQ,SAAS42B,GAChB,IAAIj0B,EAAKnR,KAEJolC,GAA4B,kBAAXA,IAErBA,EAAS,CACRhX,SAAUgX,EACVzW,KAAM5Y,UAAU,KAIlB,IAAI+sC,EAAmB3xC,EAAGtD,QAAQsgB,UAC9BC,EAAW6wB,GAAiB7Z,EAAOhX,SAAU00B,GAAoBA,EAAiB10B,UAClFO,EAAOyW,EAAOzW,KAElB,IAAgD,IAA5CulB,GAAaM,OAAOrjC,EAAI,gBAA5B,CAIA,IAAImd,EAAa,SAASH,GACzB+lB,GAAaM,OAAOrjC,EAAI,eACxB+a,GAAU9L,SAAS0iC,GAAoBA,EAAiBx0B,WAAY,CAACH,GAAYhd,IAGlF,GAAI2xC,GAAoB10B,EAAU,CACjC,IAAID,EAAY,IAAIH,GAAe,CAClCH,SAAUO,EAAW,MACrBjC,OAAQiZ,EAAOjZ,QAAU22B,EAAiB32B,OAE1C3d,OAAQ,SAAS7C,EAAOo3C,GACvB,IAAIC,EAAiB92B,GAAUC,OAAOpJ,QAAQggC,EAAgB52B,QAC1DyB,EAAcm1B,EAAgBn1B,YAC9Bq1B,EAAcr1B,EAAcm1B,EAAgBl1B,SAEhDliB,EAAMqnB,KAAKgwB,EAAeC,GAAcA,EAAar1B,IAGtDE,oBAAqBg1B,EAAiBz0B,WACtCN,oBAAqBO,IAGtBC,GAAgBG,aAAavd,EAAIgd,EAAWC,EAAUO,QAEtDxd,EAAG6hB,OAGH1E,EAAW,IAAIN,GAAe,CAACH,SAAU,EAAGliB,MAAOwF,KAGpD,OAAOA,IAGR6hB,KAAM,SAASF,GACd,IACIrmB,EAAGy2C,EADH/xC,EAAKnR,KAWT,GARAmR,EAAGqU,QAEC0G,GAAUtM,cAAckT,KAC3BA,EAAc,GAGf3hB,EAAGmc,WAAWwF,KAEV3hB,EAAGnC,OAAS,GAAKmC,EAAGlC,QAAU,KAI2B,IAAzDilC,GAAaM,OAAOrjC,EAAI,aAAc,CAAC2hB,IAA3C,CAQA,IADAowB,EAAS/xC,EAAGm8B,QACP7gC,EAAI,EAAGA,EAAIy2C,EAAOt7C,QAAUs7C,EAAOz2C,GAAG2H,GAAK,IAAK3H,EACpDy2C,EAAOz2C,GAAGumB,KAAK7hB,EAAGuoB,WAMnB,IAHAvoB,EAAGgyC,aAAarwB,GAGTrmB,EAAIy2C,EAAOt7C,SAAU6E,EAC3By2C,EAAOz2C,GAAGumB,KAAK7hB,EAAGuoB,WAGnBvoB,EAAGiyC,aAAatwB,GAEhBohB,GAAaM,OAAOrjC,EAAI,YAAa,CAAC2hB,MAMvCxF,WAAY,SAASwF,GAGpB,IAFA,IAAI3hB,EAAKnR,KAEAyM,EAAI,EAAGoU,GAAQ1P,EAAGhE,KAAKpB,UAAY,IAAInE,OAAQ6E,EAAIoU,IAAQpU,EAC/D0E,EAAG+wB,iBAAiBz1B,IACvB0E,EAAGmgB,eAAe7kB,GAAG80B,WAAWjU,WAAWwF,GAI7C3hB,EAAG+oC,QAAQ5sB,WAAWwF,IAMvBuwB,uBAAwB,SAASC,GAChC,IAGI72C,EAAGoU,EAHH1P,EAAKnR,KACL+L,EAAWoF,EAAGhE,KAAKpB,UAAY,GAC/BhI,EAAS,GAGb,IAAK0I,EAAI,EAAGoU,EAAO9U,EAASnE,OAAQ6E,EAAIoU,IAAQpU,EAC1C62C,IAAiBnyC,EAAG+wB,iBAAiBz1B,IACzC1I,EAAO2L,KAAKyB,EAAGmgB,eAAe7kB,IAMhC,OAFA1I,EAAOsmB,KAAK01B,GAAc,QAAS,UAE5Bh8C,GAMRqiC,8BAA+B,WAC9B,OAAOpmC,KAAKqjD,wBAAuB,IAQpCF,aAAc,SAASrwB,GACtB,IACIwL,EAAU7xB,EADV0E,EAAKnR,KAGT,IAAqE,IAAjEk0C,GAAaM,OAAOrjC,EAAI,qBAAsB,CAAC2hB,IAAnD,CAKA,IADAwL,EAAWntB,EAAGi1B,gCACT35B,EAAI6xB,EAAS12B,OAAS,EAAG6E,GAAK,IAAKA,EACvC0E,EAAGoyC,YAAYjlB,EAAS7xB,GAAIqmB,GAG7BohB,GAAaM,OAAOrjC,EAAI,oBAAqB,CAAC2hB,MAQ/CywB,YAAa,SAASzyB,EAAMgC,GAC3B,IAAI3hB,EAAKnR,KACL8V,EAAO,CACVgb,KAAMA,EACN1R,MAAO0R,EAAK1R,MACZ0T,YAAaA,IAG+C,IAAzDohB,GAAaM,OAAOrjC,EAAI,oBAAqB,CAAC2E,MAIlDgb,EAAKyQ,WAAWvO,KAAKF,GAErBohB,GAAaM,OAAOrjC,EAAI,mBAAoB,CAAC2E,MAQ9CstC,aAAc,SAAStwB,GACtB,IAAI3hB,EAAKnR,KACLk6C,EAAU/oC,EAAG+oC,QACbpkC,EAAO,CACVokC,QAASA,EACTpnB,YAAaA,IAG+C,IAAzDohB,GAAaM,OAAOrjC,EAAI,oBAAqB,CAAC2E,MAIlDokC,EAAQlnB,OAERkhB,GAAaM,OAAOrjC,EAAI,mBAAoB,CAAC2E,MAO9C0tC,kBAAmB,SAASlyC,GAC3B,OAAO84B,GAAiBC,MAAMC,OAAOtqC,KAAMsR,IAG5CmyC,mBAAoB,SAASnyC,GAC5B,OAAO84B,GAAiBC,MAAMn+B,MAAMlM,KAAMsR,EAAG,CAACg4B,WAAW,KAG1Doa,mBAAoB,SAASpyC,GAC5B,OAAO84B,GAAiBC,MAAM,UAAUrqC,KAAMsR,EAAG,CAACg4B,WAAW,KAG9DwV,0BAA2B,SAASxtC,EAAGsrB,EAAM/uB,GAC5C,IAAIiiB,EAASsa,GAAiBC,MAAMzN,GACpC,MAAsB,oBAAX9M,EACHA,EAAO9vB,KAAMsR,EAAGzD,GAGjB,IAGR81C,kBAAmB,SAASryC,GAC3B,OAAO84B,GAAiBC,MAAMp+B,QAAQjM,KAAMsR,EAAG,CAACg4B,WAAW,KAG5DhY,eAAgB,SAASjB,GACxB,IAAIlf,EAAKnR,KACLiM,EAAUkF,EAAGhE,KAAKpB,SAASskB,GAC1BpkB,EAAQ23C,QACZ33C,EAAQ23C,MAAQ,IAGjB,IAAI9yB,EAAO7kB,EAAQ23C,MAAMzyC,EAAGpC,IAe5B,OAdK+hB,IACJA,EAAO7kB,EAAQ23C,MAAMzyC,EAAGpC,IAAM,CAC7Bb,KAAM,KACNf,KAAM,GACNlB,QAAS,KACTs1B,WAAY,KACZtU,OAAQ,KACRiE,QAAS,KACTE,QAAS,KACTixB,MAAOp2C,EAAQo2C,OAAS,EACxBjjC,MAAOiR,IAIFS,GAGR6W,uBAAwB,WAEvB,IADA,IAAI9S,EAAQ,EACHpoB,EAAI,EAAGoU,EAAO7gB,KAAKmN,KAAKpB,SAASnE,OAAQ6E,EAAIoU,IAAQpU,EACzDzM,KAAKkiC,iBAAiBz1B,IACzBooB,IAGF,OAAOA,GAGRqN,iBAAkB,SAAS7R,GAC1B,IAAIS,EAAO9wB,KAAKsxB,eAAejB,GAI/B,MAA8B,mBAAhBS,EAAK7D,QAAwB6D,EAAK7D,QAAUjtB,KAAKmN,KAAKpB,SAASskB,GAAcpD,QAG5Ftd,eAAgB,WACf,OAAO3P,KAAK6N,QAAQ+yB,eAAe5gC,OAMpCoiD,mBAAoB,SAAS/xB,GAC5B,IAAIthB,EAAK/O,KAAK+O,GACV9C,EAAUjM,KAAKmN,KAAKpB,SAASskB,GAC7BS,EAAO7kB,EAAQ23C,OAAS33C,EAAQ23C,MAAM70C,GAEtC+hB,IACHA,EAAKyQ,WAAW7zB,iBACTzB,EAAQ23C,MAAM70C,KAIvBrB,QAAS,WACR,IAEIjB,EAAGoU,EAFH1P,EAAKnR,KACL6P,EAASsB,EAAGtB,OAMhB,IAHAsB,EAAG6vC,OAGEv0C,EAAI,EAAGoU,EAAO1P,EAAGhE,KAAKpB,SAASnE,OAAQ6E,EAAIoU,IAAQpU,EACvD0E,EAAGixC,mBAAmB31C,GAGnBoD,IACHsB,EAAG0yC,eACH33B,GAAUrc,OAAO2V,MAAMrU,GACvB8iC,GAASN,eAAexiC,EAAGsU,KAC3BtU,EAAGtB,OAAS,KACZsB,EAAGsU,IAAM,MAGVyuB,GAAaM,OAAOrjC,EAAI,kBAEjBovC,GAAMG,UAAUvvC,EAAGpC,KAG3B+0C,cAAe,WACd,OAAO9jD,KAAK6P,OAAOk0C,UAAUzjC,MAAMtgB,KAAK6P,OAAQkG,YAGjDgrC,YAAa,WACZ,IAAI5vC,EAAKnR,KACTmR,EAAG+oC,QAAU,IAAI8E,GAAa,CAC7BnzC,OAAQsF,EACR6yC,eAAgB7yC,EAChB4gB,MAAO5gB,EAAGhE,KACVkzB,SAAUlvB,EAAGtD,QAAQ4xB,UACnBtuB,IAMJ0vC,WAAY,WACX,IAAI1vC,EAAKnR,KACL2vB,EAAYxe,EAAG8yC,WAAa,GAC5Bx0B,EAAW,WACdte,EAAG+yC,aAAa5jC,MAAMnP,EAAI4E,YAG3BmW,GAAU3L,KAAKpP,EAAGtD,QAAQqyC,QAAQ,SAAShyC,GAC1C+lC,GAASjE,iBAAiB7+B,EAAIjD,EAAMuhB,GACpCE,EAAUzhB,GAAQuhB,KAKfte,EAAGtD,QAAQwyC,aACd5wB,EAAW,WACVte,EAAG2vC,UAGJ7M,GAASjE,iBAAiB7+B,EAAI,SAAUse,GACxCE,EAAUmxB,OAASrxB,IAOrBo0B,aAAc,WACb,IAAI1yC,EAAKnR,KACL2vB,EAAYxe,EAAG8yC,WACdt0B,WAIExe,EAAG8yC,WACV/3B,GAAU3L,KAAKoP,GAAW,SAASF,EAAUvhB,GAC5C+lC,GAAS5D,oBAAoBl/B,EAAIjD,EAAMuhB,QAIzC00B,iBAAkB,SAASpxB,EAAU6J,EAAM+Y,GAC1C,IACIrjB,EAAS7lB,EAAGoU,EADZ++B,EAASjK,EAAU,MAAQ,SAG/B,IAAKlpC,EAAI,EAAGoU,EAAOkS,EAASnrB,OAAQ6E,EAAIoU,IAAQpU,EAC/C6lB,EAAUS,EAAStmB,GACf6lB,GACHtyB,KAAKsxB,eAAegB,EAAQL,eAAesP,WAAWqe,EAAS,cAActtB,GAIlE,YAATsK,GACH58B,KAAKsxB,eAAeyB,EAAS,GAAGd,eAAesP,WAAW,IAAMqe,EAAS,wBAO3EsE,aAAc,SAAS5yC,GACtB,IAAIH,EAAKnR,KACLk6C,EAAU/oC,EAAG+oC,QAEjB,IAAoD,IAAhDhG,GAAaM,OAAOrjC,EAAI,cAAe,CAACG,IAA5C,CAKAH,EAAGsvC,iBAAkB,EACrBtvC,EAAGwxC,iBAAmB,KAEtB,IAAI3V,EAAU77B,EAAG0tC,YAAYvtC,GAKzB4oC,IACHlN,EAAUkN,EAAQ7sB,OACf6sB,EAAQ2E,YAAYvtC,GACpB07B,EAAUkN,EAAQ2E,YAAYvtC,IAGlC4iC,GAAaM,OAAOrjC,EAAI,aAAc,CAACG,IAEvC,IAAI8yC,EAAkBjzC,EAAGwxC,iBAmBzB,OAlBIyB,EAEHjzC,EAAG3C,OAAO41C,GACApX,IAAY77B,EAAG2d,YAEzB3d,EAAG6vC,OAIH7vC,EAAG3C,OAAO,CACT4f,SAAUjd,EAAGtD,QAAQylB,MAAM8sB,kBAC3BzxB,MAAM,KAIRxd,EAAGsvC,iBAAkB,EACrBtvC,EAAGwxC,iBAAmB,KAEfxxC,IASR0tC,YAAa,SAASvtC,GACrB,IAAIH,EAAKnR,KACL6N,EAAUsD,EAAGtD,SAAW,GACxB2mB,EAAe3mB,EAAQylB,MACvB0Z,GAAU,EAqCd,OAnCA77B,EAAGuxC,WAAavxC,EAAGuxC,YAAc,GAGlB,aAAXpxC,EAAEpD,KACLiD,EAAGorC,OAAS,GAEZprC,EAAGorC,OAASprC,EAAG2tC,0BAA0BxtC,EAAGkjB,EAAaoI,KAAMpI,GAKhEtI,GAAU9L,SAASvS,EAAQsyC,SAAWtyC,EAAQylB,MAAM6sB,QAAS,CAAC7uC,EAAEy3B,OAAQ53B,EAAGorC,QAASprC,GAErE,YAAXG,EAAEpD,MAAiC,UAAXoD,EAAEpD,MACzBL,EAAQ4zB,SAEX5zB,EAAQ4zB,QAAQ9oB,KAAKxH,EAAIG,EAAEy3B,OAAQ53B,EAAGorC,QAKpCprC,EAAGuxC,WAAW96C,QACjBuJ,EAAGgzC,iBAAiBhzC,EAAGuxC,WAAYluB,EAAaoI,MAAM,GAInDzrB,EAAGorC,OAAO30C,QAAU4sB,EAAaoI,MACpCzrB,EAAGgzC,iBAAiBhzC,EAAGorC,OAAQ/nB,EAAaoI,MAAM,GAGnDoQ,GAAW9gB,GAAUxL,YAAYvP,EAAGorC,OAAQprC,EAAGuxC,YAG/CvxC,EAAGuxC,WAAavxC,EAAGorC,OAEZvP,KASTuT,GAAMG,UAAY,GAElB,IAAI2D,GAAkB9D,GAWtBA,GAAM+D,WAAa/D,GASnBA,GAAMgE,MAAQ,GASdr4B,GAAUs4B,YAAcpF,GASxBlzB,GAAUu4B,WAAavF,GAEvB,IAAIwF,GAAe,WAoYlB,SAASC,EAAcC,EAAY/sC,EAAMgtC,GACxC,IAAIC,EAYJ,MAX0B,kBAAfF,GACVE,EAAgB//C,SAAS6/C,EAAY,KAEJ,IAA7BA,EAAW53C,QAAQ,OAEtB83C,EAAgBA,EAAgB,IAAMjtC,EAAK26B,WAAWqS,KAGvDC,EAAgBF,EAGVE,EAOR,SAASC,EAAmB/xC,GAC3B,YAAiBlL,IAAVkL,GAAiC,OAAVA,GAA4B,SAAVA,EAUjD,SAASgyC,EAAuBC,EAASC,EAAUC,GAClD,IAAI54B,EAAOyU,SAASokB,YAChB5S,EAAatmB,GAAUm5B,eAAeJ,GACtCK,EAAkB/4B,EAAKg5B,iBAAiBN,GAASC,GACjDM,EAAuBj5B,EAAKg5B,iBAAiB/S,GAAY0S,GACzDO,EAAWV,EAAmBO,GAC9BI,EAAgBX,EAAmBS,GACnCG,EAAWx2C,OAAOs6B,kBAEtB,OAAIgc,GAAYC,EACR5+C,KAAKwM,IACXmyC,EAAWd,EAAcW,EAAiBL,EAASE,GAAsBQ,EACzED,EAAgBf,EAAca,EAAsBhT,EAAY2S,GAAsBQ,GAGjF,OA9aRz5B,GAAUwe,MAAQ,SAASkb,EAAYC,GACtC,GAAI35B,GAAUrM,QAAQ+lC,IAAev2C,MAAMqJ,UAAU3L,OACpD,OAAO64C,EAAW74C,OAAO84C,GAE1B,IAAIC,EAAW,GAQf,OANA55B,GAAU3L,KAAKqlC,GAAY,SAASjjC,GAC/BkjC,EAAeljC,IAClBmjC,EAASp2C,KAAKiT,MAITmjC,GAER55B,GAAU+C,UAAY5f,MAAMqJ,UAAUuW,UACrC,SAASvM,EAAOtC,EAAUiC,GACzB,OAAOK,EAAMuM,UAAU7O,EAAUiC,IAElC,SAASK,EAAOtC,EAAUiC,GACzBA,OAAkBva,IAAVua,EAAsBK,EAAQL,EACtC,IAAK,IAAI5V,EAAI,EAAGoU,EAAO6B,EAAM9a,OAAQ6E,EAAIoU,IAAQpU,EAChD,GAAI2T,EAASzH,KAAK0J,EAAOK,EAAMjW,GAAIA,EAAGiW,GACrC,OAAOjW,EAGT,OAAQ,GAEVyf,GAAU65B,cAAgB,SAASC,EAAeH,EAAgBI,GAE7D/5B,GAAUtM,cAAcqmC,KAC3BA,GAAc,GAEf,IAAK,IAAIx5C,EAAIw5C,EAAa,EAAGx5C,EAAIu5C,EAAcp+C,OAAQ6E,IAAK,CAC3D,IAAIy5C,EAAcF,EAAcv5C,GAChC,GAAIo5C,EAAeK,GAClB,OAAOA,IAIVh6B,GAAUi6B,kBAAoB,SAASH,EAAeH,EAAgBI,GAEjE/5B,GAAUtM,cAAcqmC,KAC3BA,EAAaD,EAAcp+C,QAE5B,IAAK,IAAI6E,EAAIw5C,EAAa,EAAGx5C,GAAK,EAAGA,IAAK,CACzC,IAAIy5C,EAAcF,EAAcv5C,GAChC,GAAIo5C,EAAeK,GAClB,OAAOA,IAMVh6B,GAAUuB,SAAW,SAAShqB,GAC7B,OAAQ6W,MAAMH,WAAW1W,KAAOuc,SAASvc,IAE1CyoB,GAAUk6B,aAAe,SAASlzC,EAAG7Q,EAAGklB,GACvC,OAAOzgB,KAAKmyB,IAAI/lB,EAAI7Q,GAAKklB,GAE1B2E,GAAUm6B,YAAc,SAASnzC,EAAGqU,GACnC,IAAI++B,EAAUx/C,KAAKkP,MAAM9C,GACzB,OAASozC,EAAU/+B,GAAYrU,GAAQozC,EAAU/+B,GAAYrU,GAE9DgZ,GAAU3Y,IAAM,SAASmP,GACxB,OAAOA,EAAM23B,QAAO,SAAS9mC,EAAKP,GACjC,OAAKsH,MAAMtH,GAGJO,EAFCzM,KAAKyM,IAAIA,EAAKP,KAGpB7D,OAAOo3C,oBAEXr6B,GAAU5Y,IAAM,SAASoP,GACxB,OAAOA,EAAM23B,QAAO,SAAS/mC,EAAKN,GACjC,OAAKsH,MAAMtH,GAGJM,EAFCxM,KAAKwM,IAAIA,EAAKN,KAGpB7D,OAAOs6B,oBAEXvd,GAAUs6B,KAAO1/C,KAAK0/C,KACrB,SAAStzC,GACR,OAAOpM,KAAK0/C,KAAKtzC,IAElB,SAASA,GAER,OADAA,GAAKA,EACK,IAANA,GAAWoH,MAAMpH,GACbA,EAEDA,EAAI,EAAI,GAAK,GAEtBgZ,GAAUu6B,UAAY,SAAS1oC,GAC9B,OAAOA,GAAWjX,KAAK4O,GAAK,MAE7BwW,GAAUw6B,UAAY,SAASC,GAC9B,OAAOA,GAAW,IAAM7/C,KAAK4O,KAU9BwW,GAAU06B,eAAiB,SAAS1zC,GACnC,GAAKgZ,GAAUlM,SAAS9M,GAAxB,CAGA,IAAI5B,EAAI,EACJuD,EAAI,EACR,MAAO/N,KAAKkP,MAAM9C,EAAI5B,GAAKA,IAAM4B,EAChC5B,GAAK,GACLuD,IAED,OAAOA,IAIRqX,GAAU2K,kBAAoB,SAASgwB,EAAaC,GACnD,IAAIC,EAAsBD,EAAW5zC,EAAI2zC,EAAY3zC,EACjD8zC,EAAsBF,EAAWzkD,EAAIwkD,EAAYxkD,EACjD4kD,EAA2BngD,KAAK6O,KAAKoxC,EAAsBA,EAAsBC,EAAsBA,GAEvGlwB,EAAQhwB,KAAK2O,MAAMuxC,EAAqBD,GAM5C,OAJIjwB,GAAU,GAAMhwB,KAAK4O,KACxBohB,GAAS,EAAMhwB,KAAK4O,IAGd,CACNohB,MAAOA,EACP3iB,SAAU8yC,IAGZ/6B,GAAU+rB,sBAAwB,SAASnO,EAAKC,GAC/C,OAAOjjC,KAAK6O,KAAK7O,KAAKqM,IAAI42B,EAAI72B,EAAI42B,EAAI52B,EAAG,GAAKpM,KAAKqM,IAAI42B,EAAI1nC,EAAIynC,EAAIznC,EAAG,KASvE6pB,GAAUg7B,WAAa,SAASC,GAC/B,OAAQA,EAAa,IAAM,EAAK,EAAI,IAWrCj7B,GAAUk7B,YAAc,SAASz7C,EAAO07C,EAAOr4C,GAC9C,IAAI4xC,EAAmBj1C,EAAM27C,wBACzBC,EAAYv4C,EAAQ,EACxB,OAAOlI,KAAKkP,OAAOqxC,EAAQE,GAAa3G,GAAoBA,EAAmB2G,GAGhFr7B,GAAUwa,YAAc,SAAS8gB,EAAYC,EAAaC,EAAY3yC,GAMrE,IAAIuN,EAAWklC,EAAW9uB,KAAO+uB,EAAcD,EAC3C/vC,EAAUgwC,EACVhrB,EAAOirB,EAAWhvB,KAAO+uB,EAAcC,EAEvCC,EAAM7gD,KAAK6O,KAAK7O,KAAKqM,IAAIsE,EAAQvE,EAAIoP,EAASpP,EAAG,GAAKpM,KAAKqM,IAAIsE,EAAQpV,EAAIigB,EAASjgB,EAAG,IACvFulD,EAAM9gD,KAAK6O,KAAK7O,KAAKqM,IAAIspB,EAAKvpB,EAAIuE,EAAQvE,EAAG,GAAKpM,KAAKqM,IAAIspB,EAAKp6B,EAAIoV,EAAQpV,EAAG,IAE/EwlD,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GAGvBC,EAAMvtC,MAAMutC,GAAO,EAAIA,EACvBC,EAAMxtC,MAAMwtC,GAAO,EAAIA,EAEvB,IAAIC,EAAKhzC,EAAI8yC,EACTG,EAAKjzC,EAAI+yC,EAEb,MAAO,CACNxlC,SAAU,CACTpP,EAAGuE,EAAQvE,EAAI60C,GAAMtrB,EAAKvpB,EAAIoP,EAASpP,GACvC7Q,EAAGoV,EAAQpV,EAAI0lD,GAAMtrB,EAAKp6B,EAAIigB,EAASjgB,IAExCo6B,KAAM,CACLvpB,EAAGuE,EAAQvE,EAAI80C,GAAMvrB,EAAKvpB,EAAIoP,EAASpP,GACvC7Q,EAAGoV,EAAQpV,EAAI2lD,GAAMvrB,EAAKp6B,EAAIigB,EAASjgB,MAI1C6pB,GAAU+7B,QAAU94C,OAAO84C,SAAW,MACtC/7B,GAAUua,oBAAsB,SAASrO,GAMxC,IAUI3rB,EAAGy7C,EAAaC,EAAcC,EA4B9BC,EAAQC,EAAOC,EAAMC,EA0BrBxe,EAhEAye,GAAsBrwB,GAAU,IAAIpsB,KAAI,SAASqb,GACpD,MAAO,CACNvU,MAAOuU,EAAM+F,OACbs7B,OAAQ,EACRC,GAAI,MAKFC,EAAYH,EAAmB7gD,OAEnC,IAAK6E,EAAI,EAAGA,EAAIm8C,IAAan8C,EAE5B,GADA07C,EAAeM,EAAmBh8C,IAC9B07C,EAAar1C,MAAM4lB,KAAvB,CAMA,GAFAwvB,EAAcz7C,EAAI,EAAIg8C,EAAmBh8C,EAAI,GAAK,KAClD27C,EAAa37C,EAAIm8C,EAAY,EAAIH,EAAmBh8C,EAAI,GAAK,KACzD27C,IAAeA,EAAWt1C,MAAM4lB,KAAM,CACzC,IAAImwB,EAAeT,EAAWt1C,MAAMI,EAAIi1C,EAAar1C,MAAMI,EAG3Di1C,EAAaO,OAAyB,IAAhBG,GAAqBT,EAAWt1C,MAAMzQ,EAAI8lD,EAAar1C,MAAMzQ,GAAKwmD,EAAc,GAGlGX,GAAeA,EAAYp1C,MAAM4lB,KACrCyvB,EAAaQ,GAAKR,EAAaO,QACpBN,GAAcA,EAAWt1C,MAAM4lB,KAC1CyvB,EAAaQ,GAAKT,EAAYQ,OACpB1oD,KAAKwmD,KAAK0B,EAAYQ,UAAY1oD,KAAKwmD,KAAK2B,EAAaO,QACnEP,EAAaQ,GAAK,EAElBR,EAAaQ,IAAMT,EAAYQ,OAASP,EAAaO,QAAU,EAMjE,IAAKj8C,EAAI,EAAGA,EAAIm8C,EAAY,IAAKn8C,EAChC07C,EAAeM,EAAmBh8C,GAClC27C,EAAaK,EAAmBh8C,EAAI,GAChC07C,EAAar1C,MAAM4lB,MAAQ0vB,EAAWt1C,MAAM4lB,OAI5CxM,GAAUk6B,aAAa+B,EAAaO,OAAQ,EAAG1oD,KAAKioD,SACvDE,EAAaQ,GAAKP,EAAWO,GAAK,GAInCN,EAASF,EAAaQ,GAAKR,EAAaO,OACxCJ,EAAQF,EAAWO,GAAKR,EAAaO,OACrCF,EAAmB1hD,KAAKqM,IAAIk1C,EAAQ,GAAKvhD,KAAKqM,IAAIm1C,EAAO,GACrDE,GAAoB,IAIxBD,EAAO,EAAIzhD,KAAK6O,KAAK6yC,GACrBL,EAAaQ,GAAKN,EAASE,EAAOJ,EAAaO,OAC/CN,EAAWO,GAAKL,EAAQC,EAAOJ,EAAaO,UAK7C,IAAKj8C,EAAI,EAAGA,EAAIm8C,IAAan8C,EAC5B07C,EAAeM,EAAmBh8C,GAC9B07C,EAAar1C,MAAM4lB,OAIvBwvB,EAAcz7C,EAAI,EAAIg8C,EAAmBh8C,EAAI,GAAK,KAClD27C,EAAa37C,EAAIm8C,EAAY,EAAIH,EAAmBh8C,EAAI,GAAK,KACzDy7C,IAAgBA,EAAYp1C,MAAM4lB,OACrCsR,GAAUme,EAAar1C,MAAMI,EAAIg1C,EAAYp1C,MAAMI,GAAK,EACxDi1C,EAAar1C,MAAMmV,sBAAwBkgC,EAAar1C,MAAMI,EAAI82B,EAClEme,EAAar1C,MAAMqV,sBAAwBggC,EAAar1C,MAAMzQ,EAAI2nC,EAASme,EAAaQ,IAErFP,IAAeA,EAAWt1C,MAAM4lB,OACnCsR,GAAUoe,EAAWt1C,MAAMI,EAAIi1C,EAAar1C,MAAMI,GAAK,EACvDi1C,EAAar1C,MAAMoV,kBAAoBigC,EAAar1C,MAAMI,EAAI82B,EAC9Dme,EAAar1C,MAAMsV,kBAAoB+/B,EAAar1C,MAAMzQ,EAAI2nC,EAASme,EAAaQ,MAIvFz8B,GAAUya,SAAW,SAASif,EAAYxmC,EAAO0pC,GAChD,OAAIA,EACI1pC,GAASwmC,EAAWh+C,OAAS,EAAIg+C,EAAW,GAAKA,EAAWxmC,EAAQ,GAErEA,GAASwmC,EAAWh+C,OAAS,EAAIg+C,EAAWA,EAAWh+C,OAAS,GAAKg+C,EAAWxmC,EAAQ,IAEhG8M,GAAUuM,aAAe,SAASmtB,EAAYxmC,EAAO0pC,GACpD,OAAIA,EACI1pC,GAAS,EAAIwmC,EAAWA,EAAWh+C,OAAS,GAAKg+C,EAAWxmC,EAAQ,GAErEA,GAAS,EAAIwmC,EAAW,GAAKA,EAAWxmC,EAAQ,IAGxD8M,GAAU68B,QAAU,SAAS5pB,EAAOnpB,GACnC,IAEIgzC,EAFAz+B,EAAWzjB,KAAKD,MAAMqlB,GAAU5B,MAAM6U,IACtC8pB,EAAW9pB,EAAQr4B,KAAKqM,IAAI,GAAIoX,GAuBpC,OAlBEy+B,EAFEhzC,EACCizC,EAAW,IACC,EACLA,EAAW,EACN,EACLA,EAAW,EACN,EAEA,GAENA,GAAY,EACP,EACLA,GAAY,EACP,EACLA,GAAY,EACP,EAEA,GAGTD,EAAeliD,KAAKqM,IAAI,GAAIoX,IAGpC2B,GAAUiD,iBAAoB,WAC7B,MAAsB,qBAAX7P,OACH,SAASc,GACfA,KAGKd,OAAOyP,uBACbzP,OAAO4pC,6BACP5pC,OAAO6pC,0BACP7pC,OAAO8pC,wBACP9pC,OAAO+pC,yBACP,SAASjpC,GACR,OAAOd,OAAOgqC,WAAWlpC,EAAU,IAAO,KAZhB,GAgB7B8L,GAAU4c,oBAAsB,SAASygB,EAAK59C,GAC7C,IAAI4qB,EAAQ6C,EACR9nB,EAAIi4C,EAAIC,eAAiBD,EACzB15C,EAAS05C,EAAI9qC,QAAU8qC,EAAIE,WAC3BC,EAAe75C,EAAO85C,wBAEtBC,EAAUt4C,EAAEs4C,QACZA,GAAWA,EAAQhiD,OAAS,GAC/B2uB,EAASqzB,EAAQ,GAAGC,QACpBzwB,EAASwwB,EAAQ,GAAGE,UAGpBvzB,EAASjlB,EAAEu4C,QACXzwB,EAAS9nB,EAAEw4C,SAMZ,IAAIC,EAAc5vC,WAAW+R,GAAU+G,SAASpjB,EAAQ,iBACpDm6C,EAAa7vC,WAAW+R,GAAU+G,SAASpjB,EAAQ,gBACnDo6C,EAAe9vC,WAAW+R,GAAU+G,SAASpjB,EAAQ,kBACrDq6C,EAAgB/vC,WAAW+R,GAAU+G,SAASpjB,EAAQ,mBACtDb,EAAQ06C,EAAa3jC,MAAQ2jC,EAAa7jC,KAAOkkC,EAAcE,EAC/Dh7C,EAASy6C,EAAa1jC,OAAS0jC,EAAa5jC,IAAMkkC,EAAaE,EAOnE,OAHA3zB,EAASzvB,KAAKkP,OAAOugB,EAASmzB,EAAa7jC,KAAOkkC,GAAe,EAAUl6C,EAAOb,MAAQrD,EAAM27C,yBAChGluB,EAAStyB,KAAKkP,OAAOojB,EAASswB,EAAa5jC,IAAMkkC,GAAc,EAAWn6C,EAAOZ,OAAStD,EAAM27C,yBAEzF,CACNp0C,EAAGqjB,EACHl0B,EAAG+2B,IAuDLlN,GAAUi+B,mBAAqB,SAASlF,GACvC,OAAOD,EAAuBC,EAAS,YAAa,gBAGrD/4B,GAAUk+B,oBAAsB,SAASnF,GACxC,OAAOD,EAAuBC,EAAS,aAAc,iBAKtD/4B,GAAUm+B,kBAAoB,SAAS/X,EAAW7Y,EAAS6wB,GAG1D,OAFA7wB,EAAUvN,GAAU+G,SAASqf,EAAW7Y,GAEjCA,EAAQzsB,QAAQ,MAAQ,EAAIs9C,EAAkBvlD,SAAS00B,EAAS,IAAM,IAAM10B,SAAS00B,EAAS,KAKtGvN,GAAUm5B,eAAiB,SAASJ,GACnC,IAAI5tC,EAAS4tC,EAAQzS,WAIrB,OAHIn7B,GAAgC,wBAAtBA,EAAOf,aACpBe,EAASA,EAAOo8B,MAEVp8B,GAER6U,GAAUg1B,gBAAkB,SAAS+D,GACpC,IAAI3S,EAAYpmB,GAAUm5B,eAAeJ,GACzC,IAAK3S,EACJ,OAAO2S,EAAQxS,YAGhB,IAAIA,EAAcH,EAAUG,YACxBsX,EAAc79B,GAAUm+B,kBAAkB/X,EAAW,eAAgBG,GACrEwX,EAAe/9B,GAAUm+B,kBAAkB/X,EAAW,gBAAiBG,GAEvErsC,EAAIqsC,EAAcsX,EAAcE,EAChCM,EAAKr+B,GAAUi+B,mBAAmBlF,GACtC,OAAO3qC,MAAMiwC,GAAMnkD,EAAIU,KAAKwM,IAAIlN,EAAGmkD,IAEpCr+B,GAAUi1B,iBAAmB,SAAS8D,GACrC,IAAI3S,EAAYpmB,GAAUm5B,eAAeJ,GACzC,IAAK3S,EACJ,OAAO2S,EAAQuF,aAGhB,IAAIA,EAAelY,EAAUkY,aACzBR,EAAa99B,GAAUm+B,kBAAkB/X,EAAW,cAAekY,GACnEN,EAAgBh+B,GAAUm+B,kBAAkB/X,EAAW,iBAAkBkY,GAEzEzoD,EAAIyoD,EAAeR,EAAaE,EAChCniD,EAAKmkB,GAAUk+B,oBAAoBnF,GACvC,OAAO3qC,MAAMvS,GAAMhG,EAAI+E,KAAKwM,IAAIvR,EAAGgG,IAEpCmkB,GAAU+G,SAAW,SAAS6d,EAAIzB,GACjC,OAAOyB,EAAG2Z,aACT3Z,EAAG2Z,aAAapb,GAChBrO,SAASokB,YAAYG,iBAAiBzU,EAAI,MAAMllB,iBAAiByjB,IAEnEnjB,GAAUy0B,YAAc,SAASh1C,EAAO++C,GACvC,IAAIC,EAAah/C,EAAM27C,wBAA0BoD,GAAiC,qBAAXprC,QAA0BA,OAAOshC,kBAAqB,EAC7H,GAAmB,IAAf+J,EAAJ,CAIA,IAAI96C,EAASlE,EAAMkE,OACfZ,EAAStD,EAAMsD,OACfD,EAAQrD,EAAMqD,MAElBa,EAAOZ,OAASA,EAAS07C,EACzB96C,EAAOb,MAAQA,EAAQ27C,EACvBh/C,EAAM8Z,IAAIrL,MAAMuwC,EAAYA,GAKvB96C,EAAOnB,MAAMO,QAAWY,EAAOnB,MAAMM,QACzCa,EAAOnB,MAAMO,OAASA,EAAS,KAC/BY,EAAOnB,MAAMM,MAAQA,EAAQ,QAI/Bkd,GAAU6uB,WAAa,SAAS6P,EAAW/gC,EAAWF,GACrD,OAAOE,EAAY,IAAM+gC,EAAY,MAAQjhC,GAE9CuC,GAAU2+B,YAAc,SAASplC,EAAKyD,EAAM4hC,EAAelW,GAC1DA,EAAQA,GAAS,GACjB,IAAIznC,EAAOynC,EAAMznC,KAAOynC,EAAMznC,MAAQ,GAClC49C,EAAKnW,EAAMoW,eAAiBpW,EAAMoW,gBAAkB,GAEpDpW,EAAM1rB,OAASA,IAClB/b,EAAOynC,EAAMznC,KAAO,GACpB49C,EAAKnW,EAAMoW,eAAiB,GAC5BpW,EAAM1rB,KAAOA,GAGdzD,EAAIyD,KAAOA,EACX,IAEIzc,EAAGw1B,EAAGkH,EAAM8hB,EAAOC,EAFnBC,EAAU,EACVtqC,EAAOiqC,EAAcljD,OAEzB,IAAK6E,EAAI,EAAGA,EAAIoU,EAAMpU,IAIrB,GAHAw+C,EAAQH,EAAcr+C,QAGR3E,IAAVmjD,GAAiC,OAAVA,IAA+C,IAA7B/+B,GAAUrM,QAAQorC,GAC9DE,EAAUj/B,GAAU4uB,YAAYr1B,EAAKtY,EAAM49C,EAAII,EAASF,QAClD,GAAI/+B,GAAUrM,QAAQorC,GAG5B,IAAKhpB,EAAI,EAAGkH,EAAO8hB,EAAMrjD,OAAQq6B,EAAIkH,EAAMlH,IAC1CipB,EAAcD,EAAMhpB,QAEAn6B,IAAhBojD,GAA6C,OAAhBA,GAAyBh/B,GAAUrM,QAAQqrC,KAC3EC,EAAUj/B,GAAU4uB,YAAYr1B,EAAKtY,EAAM49C,EAAII,EAASD,IAM5D,IAAIE,EAAQL,EAAGnjD,OAAS,EACxB,GAAIwjD,EAAQN,EAAcljD,OAAQ,CACjC,IAAK6E,EAAI,EAAGA,EAAI2+C,EAAO3+C,WACfU,EAAK49C,EAAGt+C,IAEhBs+C,EAAG77B,OAAO,EAAGk8B,GAEd,OAAOD,GAERj/B,GAAU4uB,YAAc,SAASr1B,EAAKtY,EAAM49C,EAAII,EAASngD,GACxD,IAAIqgD,EAAYl+C,EAAKnC,GAQrB,OAPKqgD,IACJA,EAAYl+C,EAAKnC,GAAUya,EAAIq1B,YAAY9vC,GAAQgE,MACnD+7C,EAAGr7C,KAAK1E,IAELqgD,EAAYF,IACfA,EAAUE,GAEJF,GAMRj/B,GAAUo/B,mBAAqB,SAASR,GACvC,IAAIS,EAAgB,EAQpB,OAPAr/B,GAAU3L,KAAKuqC,GAAe,SAASG,GAClC/+B,GAAUrM,QAAQorC,IACjBA,EAAMrjD,OAAS2jD,IAClBA,EAAgBN,EAAMrjD,WAIlB2jD,GAGRr/B,GAAUhW,MAASqJ,EAKlB,SAASvM,GAMR,OAJIA,aAAiBw4C,iBACpBx4C,EAAQgW,EAAclpB,OAAO2oB,cAGvBlJ,EAAavM,IAVrB,SAASA,GAER,OADA2L,QAAQC,MAAM,uBACP5L,GAWTkZ,GAAU+H,cAAgB,SAASw3B,GAElC,OAAQA,aAAsBC,eAAiBD,aAAsBD,eACpEC,EACAv/B,GAAUhW,MAAMu1C,GAAYluC,SAAS,IAAKD,OAAO,IAAK7D,cAIzD,SAASkyC,KACR,MAAM,IAAI77C,MACT,6GAsBF,SAAS87C,GAAY/9C,GACpB7N,KAAK6N,QAAUA,GAAW,GAG3Bqe,GAAUxK,OAAOkqC,GAAYlzC,UAAqC,CAMjEmzC,QAASF,GASTG,MAAOH,GASPhmD,OAAQgmD,GAURzZ,IAAKyZ,GAUL93C,KAAM83C,GAUNI,QAASJ,GAQTK,MAAOL,GAWPM,QAAS,SAASj5C,GACjB,OAAOA,KAIT44C,GAAYM,SAAW,SAASC,GAC/BjgC,GAAUxK,OAAOkqC,GAAYlzC,UAAWyzC,IAGzC,IAAIC,GAAQR,GAERS,GAAgB,CACnBD,MAAOA,IAOJE,GAAa,CAKhBC,WAAY,CAOXzxC,OAAQ,SAAS9H,GAChB,OAAOkZ,GAAUrM,QAAQ7M,GAASA,EAAQ,GAAKA,GAWhDgQ,OAAQ,SAASwpC,EAAWptC,EAAO4lB,GAElC,IAAIxxB,EAAQwxB,EAAMp9B,OAAS,EAAIo9B,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAGlEl+B,KAAKmyB,IAAIzlB,GAAS,GACjBg5C,IAAc1lD,KAAKD,MAAM2lD,KAE5Bh5C,EAAQg5C,EAAY1lD,KAAKD,MAAM2lD,IAIjC,IAAIC,EAAWvgC,GAAU5B,MAAMxjB,KAAKmyB,IAAIzlB,IACpCk5C,EAAa,GAEjB,GAAkB,IAAdF,EAAiB,CACpB,IAAIG,EAAU7lD,KAAKyM,IAAIzM,KAAKmyB,IAAI+L,EAAM,IAAKl+B,KAAKmyB,IAAI+L,EAAMA,EAAMp9B,OAAS,KACzE,GAAI+kD,EAAU,KAAM,CACnB,IAAIC,EAAU1gC,GAAU5B,MAAMxjB,KAAKmyB,IAAIuzB,IACnCK,EAAiB/lD,KAAKD,MAAM+lD,GAAW9lD,KAAKD,MAAM4lD,GACtDI,EAAiB/lD,KAAKyM,IAAIzM,KAAKwM,IAAIu5C,EAAgB,IAAK,GACxDH,EAAaF,EAAUM,cAAcD,OAC/B,CACN,IAAIE,GAAc,EAAIjmD,KAAKD,MAAM4lD,GACjCM,EAAajmD,KAAKyM,IAAIzM,KAAKwM,IAAIy5C,EAAY,IAAK,GAChDL,EAAaF,EAAUQ,QAAQD,SAGhCL,EAAa,IAGd,OAAOA,GAGRO,YAAa,SAAST,EAAWptC,EAAO4lB,GACvC,IAAIkoB,EAASV,EAAa1lD,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMqlB,GAAU5B,MAAMkiC,KAElE,OAAkB,IAAdA,EACI,IACc,IAAXU,GAA2B,IAAXA,GAA2B,IAAXA,GAA0B,IAAV9tC,GAAeA,IAAU4lB,EAAMp9B,OAAS,EAC3F4kD,EAAUM,gBAEX,MAKNjtC,GAAUqM,GAAUrM,QACpBD,GAAgBsM,GAAUtM,cAC1ButC,GAAmBjhC,GAAUjM,eAC7BE,GAAwB+L,GAAU/L,sBA4DtC,SAASitC,GAAOC,EAAKC,GAMpB,IALA,IAAIvpD,EAAS,GACTwpD,EAAYF,EAAIzlD,OAAS0lD,EACzB7gD,EAAI,EACJ2K,EAAMi2C,EAAIzlD,OAEP6E,EAAI2K,EAAK3K,GAAK8gD,EACpBxpD,EAAO2L,KAAK29C,EAAIvmD,KAAKD,MAAM4F,KAE5B,OAAO1I,EAGR,SAASypD,GAAoBpzC,EAAOgF,EAAO0d,GAC1C,IAMIz4B,EANAuD,EAASwS,EAAM0hB,WAAWl0B,OAC1B6lD,EAAa3mD,KAAKwM,IAAI8L,EAAOxX,EAAS,GACtC8lD,EAAYtzC,EAAM2hB,gBAAgB0xB,GAClCnhC,EAAQlS,EAAMykB,YACdlC,EAAMviB,EAAM0kB,UACZvX,EAAU,KAGd,KAAIuV,IAEFz4B,EADc,IAAXuD,EACMd,KAAKyM,IAAIm6C,EAAYphC,EAAOqQ,EAAM+wB,GACvB,IAAVtuC,GACAhF,EAAM2hB,gBAAgB,GAAK2xB,GAAa,GAExCA,EAAYtzC,EAAM2hB,gBAAgB0xB,EAAa,IAAM,EAEhEC,GAAaD,EAAaruC,EAAQ/a,GAAUA,EAGxCqpD,EAAYphC,EAAQ/E,GAAWmmC,EAAY/wB,EAAMpV,IAItD,OAAOmmC,EAGR,SAAS1C,GAAe2C,EAAQ/lD,GAC/BskB,GAAU3L,KAAKotC,GAAQ,SAAS/Y,GAC/B,IAEInoC,EAFAs+C,EAAKnW,EAAMmW,GACXK,EAAQL,EAAGnjD,OAAS,EAExB,GAAIwjD,EAAQxjD,EAAQ,CACnB,IAAK6E,EAAI,EAAGA,EAAI2+C,IAAS3+C,SACjBmoC,EAAMznC,KAAK49C,EAAGt+C,IAEtBs+C,EAAG77B,OAAO,EAAGk8B,OAShB,SAASwC,GAAkBnoC,EAAKooC,EAAW7oB,EAAO2oB,GACjD,IAMIlhD,EAAGw1B,EAAGkH,EAAMj9B,EAAO4hD,EAAU/S,EAAYnG,EAAOhrB,EAAY5a,EAAOC,EAAQ8+C,EAAaC,EAAQC,EANhGrmD,EAASo9B,EAAMp9B,OACfsmD,EAAS,GACTC,EAAU,GACVC,EAAU,GACVC,EAAkB,EAClBC,EAAmB,EAGvB,IAAK7hD,EAAI,EAAGA,EAAI7E,IAAU6E,EAAG,CAQ5B,GAPAP,EAAQ84B,EAAMv4B,GAAGP,MACjB4hD,EAAW9oB,EAAMv4B,GAAG8hD,MAAQV,EAAUU,MAAQV,EAAUW,MACxD/oC,EAAIyD,KAAO6xB,EAAa+S,EAAS9iD,OACjC4pC,EAAQ+Y,EAAO5S,GAAc4S,EAAO5S,IAAe,CAAC5tC,KAAM,GAAI49C,GAAI,IAClEnhC,EAAakkC,EAASlkC,WACtB5a,EAAQC,EAAS,EAEZ2Q,GAAc1T,IAAW2T,GAAQ3T,IAG/B,GAAI2T,GAAQ3T,GAElB,IAAK+1B,EAAI,EAAGkH,EAAOj9B,EAAMtE,OAAQq6B,EAAIkH,IAAQlH,EAC5C8rB,EAAc7hD,EAAM+1B,GAEfriB,GAAcmuC,IAAiBluC,GAAQkuC,KAC3C/+C,EAAQkd,GAAU4uB,YAAYr1B,EAAKmvB,EAAMznC,KAAMynC,EAAMmW,GAAI/7C,EAAO++C,GAChE9+C,GAAU2a,QATZ5a,EAAQkd,GAAU4uB,YAAYr1B,EAAKmvB,EAAMznC,KAAMynC,EAAMmW,GAAI/7C,EAAO9C,GAChE+C,EAAS2a,EAYVskC,EAAOx+C,KAAKV,GACZm/C,EAAQz+C,KAAKT,GACbm/C,EAAQ1+C,KAAKka,EAAa,GAC1BykC,EAAkBvnD,KAAKyM,IAAIvE,EAAOq/C,GAClCC,EAAmBxnD,KAAKyM,IAAItE,EAAQq/C,GAOrC,SAASG,EAAQna,GAChB,MAAO,CACNtlC,MAAOk/C,EAAO5Z,IAAQ,EACtBrlC,OAAQk/C,EAAQ7Z,IAAQ,EACxBjwC,OAAQ+pD,EAAQ9Z,IAAQ,GAI1B,OAbA0W,GAAe2C,EAAQ/lD,GAEvBomD,EAASE,EAAOlhD,QAAQqhD,GACxBJ,EAAUE,EAAQnhD,QAAQshD,GAUnB,CACNI,MAAOD,EAAQ,GACfpwB,KAAMowB,EAAQ7mD,EAAS,GACvBomD,OAAQS,EAAQT,GAChBC,QAASQ,EAAQR,IAInB,SAASU,GAAkB9gD,GAC1B,OAAOA,EAAQ+gD,UAAY/gD,EAAQghD,eAAiB,EAGrD,SAASC,GAAoBjhD,GAC5B,IAAIqb,EAAMuQ,EAEV,OAAK5rB,EAAQi5B,SAIb5d,EAAOgD,GAAUre,QAAQ2b,WAAW3b,GACpC4rB,EAAUvN,GAAUre,QAAQ0b,UAAU1b,EAAQ4rB,SAEvCvQ,EAAKU,WAAa6P,EAAQxqB,QANzB,EAST,SAAS8/C,GAAiBlhD,EAASmhD,GAClC,OAAO9iC,GAAUxK,OAAOwK,GAAUre,QAAQ2b,WAAW,CACpDG,WAAYwjC,GAAiB6B,EAAWrlC,WAAY9b,EAAQ8b,YAC5DD,SAAUyjC,GAAiB6B,EAAWtlC,SAAU7b,EAAQ6b,UACxDG,UAAWsjC,GAAiB6B,EAAWnlC,UAAWhc,EAAQgc,WAC1DD,WAAYujC,GAAiB6B,EAAWplC,WAAY/b,EAAQ+b,cACzD,CACH1T,MAAOgW,GAAUre,QAAQic,QAAQ,CAACklC,EAAWC,UAAWphD,EAAQohD,UAAWjmC,EAAclpB,OAAO4oB,qBAIlG,SAASwmC,GAAqBrhD,GAC7B,IAAI2gD,EAAQO,GAAiBlhD,EAASA,EAAQ2gD,OAC1CD,EAAQ1gD,EAAQ0gD,MAAM5Y,QAAUoZ,GAAiBlhD,EAASA,EAAQ0gD,OAASC,EAE/E,MAAO,CAACA,MAAOA,EAAOD,MAAOA,GAG9B,SAASY,GAAWC,GACnB,IACIzsC,EAAMvD,EAAOhI,EADb0uC,EAAW,GAEf,IAAK1mC,EAAQ,EAAGhI,EAAMg4C,EAAcxnD,OAAQwX,EAAQhI,IAAOgI,EAC1DuD,EAAOysC,EAAchwC,GACM,qBAAhBuD,EAAKwP,QACf2zB,EAASp2C,KAAKiT,GAGhB,OAAOmjC,EAGR,SAASuJ,GAAehC,GACvB,IACI5gD,EAAGoH,EADHuD,EAAMi2C,EAAIzlD,OAGd,GAAIwP,EAAM,EACT,OAAO,EAGR,IAAKvD,EAAOw5C,EAAI,GAAI5gD,EAAI,EAAGA,EAAI2K,IAAO3K,EACrC,GAAI4gD,EAAI5gD,GAAK4gD,EAAI5gD,EAAI,KAAOoH,EAC3B,OAAO,EAGT,OAAOA,EAGR,SAASy7C,GAAiBC,EAAcvqB,EAAOwqB,EAAYC,GAC1D,IAEIC,EAASC,EAAQljD,EAAGoU,EAFpB+uC,EAAmBP,GAAeE,GAClCM,GAAW7qB,EAAMp9B,OAAS,GAAK6nD,EAKnC,IAAKG,EACJ,OAAO9oD,KAAKyM,IAAIs8C,EAAS,GAI1B,IADAH,EAAUxjC,GAAUE,KAAKhC,WAAWwlC,GAC/BnjD,EAAI,EAAGoU,EAAO6uC,EAAQ9nD,OAAS,EAAG6E,EAAIoU,EAAMpU,IAEhD,GADAkjD,EAASD,EAAQjjD,GACbkjD,EAASE,EACZ,OAAOF,EAGT,OAAO7oD,KAAKyM,IAAIs8C,EAAS,GAG1B,SAASC,GAAgB9qB,GACxB,IACIv4B,EAAGoU,EADH9c,EAAS,GAEb,IAAK0I,EAAI,EAAGoU,EAAOmkB,EAAMp9B,OAAQ6E,EAAIoU,EAAMpU,IACtCu4B,EAAMv4B,GAAG8hD,OACZxqD,EAAO2L,KAAKjD,GAGd,OAAO1I,EAGR,SAASgsD,GAAW/qB,EAAOuqB,EAAcM,GACxC,IAEIpjD,EAAGujD,EAFHn7B,EAAQ,EACR4H,EAAO8yB,EAAa,GAIxB,IADAM,EAAU/oD,KAAKmpD,KAAKJ,GACfpjD,EAAI,EAAGA,EAAIu4B,EAAMp9B,OAAQ6E,IAC7BujD,EAAOhrB,EAAMv4B,GACTA,IAAMgwB,GACTuzB,EAAK79B,OAAS1lB,EACdooB,IACA4H,EAAO8yB,EAAa16B,EAAQg7B,WAErBG,EAAK9jD,MAKf,SAASwsB,GAAKsM,EAAO6qB,EAASK,EAAYC,GACzC,IAGIvoD,EAAQ6E,EAAGujD,EAAMvzB,EAHjBnQ,EAAQ6gC,GAAiB+C,EAAY,GACrCvzB,EAAM71B,KAAKwM,IAAI65C,GAAiBgD,EAAUnrB,EAAMp9B,QAASo9B,EAAMp9B,QAC/DitB,EAAQ,EAGZg7B,EAAU/oD,KAAKmpD,KAAKJ,GAChBM,IACHvoD,EAASuoD,EAAWD,EACpBL,EAAUjoD,EAASd,KAAKD,MAAMe,EAASioD,IAGxCpzB,EAAOnQ,EAEP,MAAOmQ,EAAO,EACb5H,IACA4H,EAAO31B,KAAKkP,MAAMsW,EAAQuI,EAAQg7B,GAGnC,IAAKpjD,EAAI3F,KAAKyM,IAAI+Y,EAAO,GAAI7f,EAAIkwB,EAAKlwB,IACrCujD,EAAOhrB,EAAMv4B,GACTA,IAAMgwB,GACTuzB,EAAK79B,OAAS1lB,EACdooB,IACA4H,EAAO31B,KAAKkP,MAAMsW,EAAQuI,EAAQg7B,WAE3BG,EAAK9jD,MAxTf8c,EAAcR,KAAK,QAAS,CAC3Bse,SAAS,EACTv/B,SAAU,OACVlD,QAAQ,EAGRw4B,UAAW,CACViK,SAAS,EACT5wB,MAAO,kBACPigB,UAAW,EACXF,YAAY,EACZm6B,iBAAiB,EACjBxB,WAAW,EACXC,eAAgB,GAChBwB,cAAe,EACfC,cAAe,mBACfC,mBAAoB,GACpBC,yBAA0B,EAC1B1zB,iBAAiB,EACjBjF,WAAY,GACZC,iBAAkB,GAInB24B,WAAY,CAEX3pB,SAAS,EAGT4pB,YAAa,GAGbj3B,QAAS,CACR3T,IAAK,EACLE,OAAQ,IAKVgf,MAAO,CACNiC,aAAa,EACb0pB,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRp3B,QAAS,EACThZ,SAAS,EACTqmB,SAAS,EACTgqB,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EAEb5wC,SAAUksC,GAAWC,WAAWzxC,OAChC0zC,MAAO,GACPD,MAAO,MAwQT,IAAI0C,GAAQvjC,GAAahM,OAAO,CAE/BwvC,cAAe,EAQfhlB,WAAY,WACX,IAAI/6B,EAAKnR,KACT,MAAO,CACN6lB,KAAM1U,EAAG44C,aAAe,EACxBjkC,IAAK3U,EAAG64C,YAAc,EACtBjkC,MAAO5U,EAAG84C,cAAgB,EAC1BjkC,OAAQ7U,EAAG+4C,eAAiB,IAQ9BpuB,SAAU,WACT,OAAO97B,KAAKmxD,QAMbC,WAAY,WACX,IAAIjkD,EAAOnN,KAAK2L,MAAMwB,KACtB,OAAOnN,KAAK6N,QAAQR,SAAWrN,KAAK69B,eAAiB1wB,EAAKI,QAAUJ,EAAKK,UAAYL,EAAKE,QAAU,IAarG20C,kBAAmB,aAInBqP,aAAc,WACbnlC,GAAU9L,SAASpgB,KAAK6N,QAAQwjD,aAAc,CAACrxD,QAWhDyN,OAAQ,SAAS00B,EAAUC,EAAWkvB,GACrC,IAGI7kD,EAAGoU,EAAMxT,EAAQ23B,EAAOusB,EAHxBpgD,EAAKnR,KACL+kC,EAAW5zB,EAAGtD,QAAQm3B,MACtBwsB,EAAazsB,EAASysB,WAoD1B,GAhDArgD,EAAGkgD,eAGHlgD,EAAGgxB,SAAWA,EACdhxB,EAAGixB,UAAYA,EACfjxB,EAAGmgD,QAAUplC,GAAUxK,OAAO,CAC7BmE,KAAM,EACNE,MAAO,EACPD,IAAK,EACLE,OAAQ,GACNsrC,GAEHngD,EAAGggD,OAAS,KACZhgD,EAAG6zB,MAAQ,KACX7zB,EAAGsgD,YAAc,KACjBtgD,EAAGugD,eAAiB,EACpBvgD,EAAGwgD,kBAAoB,EACvBxgD,EAAGygD,iBAAmBzgD,EAAGygD,kBAAoB,GAC7CzgD,EAAG0gD,eAAiB,KACpB1gD,EAAG2gD,YAAc,KAGjB3gD,EAAG4gD,sBACH5gD,EAAG6gD,gBACH7gD,EAAG8gD,qBAGH9gD,EAAG+gD,mBACH/gD,EAAGghD,sBACHhhD,EAAGihD,kBASHjhD,EAAGkhD,mBAIHrtB,EAAQ7zB,EAAGmhD,cAAgB,GAG3BttB,EAAQ7zB,EAAGohD,gBAAgBvtB,IAAUA,IAG/BA,IAAUA,EAAMp9B,SAAWuJ,EAAG6zB,MAEnC,IADAA,EAAQ,GACHv4B,EAAI,EAAGoU,EAAO1P,EAAG6zB,MAAMp9B,OAAQ6E,EAAIoU,IAAQpU,EAC/Cu4B,EAAMt1B,KAAK,CACVsD,MAAO7B,EAAG6zB,MAAMv4B,GAChB8hD,OAAO,IA2CV,OAtCAp9C,EAAGggD,OAASnsB,EAIZusB,EAAkBC,EAAaxsB,EAAMp9B,OACrCyF,EAAS8D,EAAGqhD,sBAAsBjB,EAAkBnE,GAAOpoB,EAAOwsB,GAAcxsB,GAMhF7zB,EAAGwhB,aAGHxhB,EAAGshD,8BACHthD,EAAGuhD,wBACHvhD,EAAGwhD,6BAEHxhD,EAAGyhD,YACHzhD,EAAG0hD,MACH1hD,EAAG2hD,WAGH3hD,EAAG4hD,aAAehuB,EAAS+B,UAAY/B,EAAS+rB,UAAgC,SAApB/rB,EAASvmB,QAAqBrN,EAAG6hD,UAAUhuB,GAASA,EAE5GusB,IAEHlkD,EAAS8D,EAAGqhD,sBAAsBrhD,EAAG4hD,eAGtC5hD,EAAG6zB,MAAQ33B,EAIX8D,EAAG8hD,cAII9hD,EAAGu2B,SAMX/U,WAAY,WACX,IAEIugC,EAAYC,EAFZhiD,EAAKnR,KACLozD,EAAgBjiD,EAAGtD,QAAQm3B,MAAMvkB,QAGjCtP,EAAG0sB,gBACNq1B,EAAa/hD,EAAG0U,KAChBstC,EAAWhiD,EAAG4U,QAEdmtC,EAAa/hD,EAAG2U,IAChBqtC,EAAWhiD,EAAG6U,OAEdotC,GAAiBA,GAElBjiD,EAAG0tB,YAAcq0B,EACjB/hD,EAAG2tB,UAAYq0B,EACfhiD,EAAGkiD,eAAiBD,EACpBjiD,EAAG0qB,QAAUs3B,EAAWD,GAGzBD,YAAa,WACZ/mC,GAAU9L,SAASpgB,KAAK6N,QAAQolD,YAAa,CAACjzD,QAK/C+xD,oBAAqB,WACpB7lC,GAAU9L,SAASpgB,KAAK6N,QAAQkkD,oBAAqB,CAAC/xD,QAEvDgyD,cAAe,WACd,IAAI7gD,EAAKnR,KAELmR,EAAG0sB,gBAEN1sB,EAAGnC,MAAQmC,EAAGgxB,SACdhxB,EAAG0U,KAAO,EACV1U,EAAG4U,MAAQ5U,EAAGnC,QAEdmC,EAAGlC,OAASkC,EAAGixB,UAGfjxB,EAAG2U,IAAM,EACT3U,EAAG6U,OAAS7U,EAAGlC,QAIhBkC,EAAG44C,YAAc,EACjB54C,EAAG64C,WAAa,EAChB74C,EAAG84C,aAAe,EAClB94C,EAAG+4C,cAAgB,GAEpB+H,mBAAoB,WACnB/lC,GAAU9L,SAASpgB,KAAK6N,QAAQokD,mBAAoB,CAACjyD,QAItDkyD,iBAAkB,WACjBhmC,GAAU9L,SAASpgB,KAAK6N,QAAQqkD,iBAAkB,CAAClyD,QAEpDmyD,oBAAqBjmC,GAAUxM,KAC/B0yC,gBAAiB,WAChBlmC,GAAU9L,SAASpgB,KAAK6N,QAAQukD,gBAAiB,CAACpyD,QAInDqyD,iBAAkB,WACjBnmC,GAAU9L,SAASpgB,KAAK6N,QAAQwkD,iBAAkB,CAACryD,QAEpDsyD,WAAYpmC,GAAUxM,KACtB6yC,gBAAiB,SAASvtB,GACzB,IAAI7zB,EAAKnR,KAET,OAAI6f,GAAQmlB,IAAUA,EAAMp9B,OACpBskB,GAAU9L,SAASjP,EAAGtD,QAAQ0kD,gBAAiB,CAACphD,EAAI6zB,KAG5D7zB,EAAG6zB,MAAQ9Y,GAAU9L,SAASjP,EAAGtD,QAAQ0kD,gBAAiB,CAACphD,EAAIA,EAAG6zB,SAAW7zB,EAAG6zB,MACzEA,IAGRsuB,4BAA6B,WAC5BpnC,GAAU9L,SAASpgB,KAAK6N,QAAQylD,4BAA6B,CAACtzD,QAE/DuzD,qBAAsB,WACrB,IAAIpiD,EAAKnR,KAEL+kC,EAAW5zB,EAAGtD,QAAQm3B,MAC1B7zB,EAAG6zB,MAAQ7zB,EAAG6zB,MAAMh5B,IAAI+4B,EAASyuB,cAAgBzuB,EAAS3kB,SAAUpgB,OAErEyzD,2BAA4B,WAC3BvnC,GAAU9L,SAASpgB,KAAK6N,QAAQ4lD,2BAA4B,CAACzzD,QAK9DyyD,4BAA6B,WAC5BvmC,GAAU9L,SAASpgB,KAAK6N,QAAQ4kD,4BAA6B,CAACzyD,QAE/D0yD,sBAAuB,WACtB,IAOIgB,EAAYC,EAAeC,EAAgBzxB,EAAU0xB,EAAWzxB,EAAW0xB,EAP3E3iD,EAAKnR,KACL6N,EAAUsD,EAAGtD,QACbk3B,EAAWl3B,EAAQm3B,MACnB+uB,EAAW5iD,EAAG2qB,WAAWl0B,OACzB+oD,EAAc5rB,EAAS4rB,aAAe,EACtCC,EAAc7rB,EAAS6rB,YACvBoD,EAAgBrD,GAGfx/C,EAAG8iD,eAAiBlvB,EAAS+B,SAAW6pB,GAAeC,GAAemD,GAAY,IAAM5iD,EAAG0sB,eAC/F1sB,EAAG6iD,cAAgBrD,GAIpB+C,EAAaviD,EAAG+iD,iBAChBP,EAAgBD,EAAW1F,OAAOh/C,MAClC4kD,EAAiBF,EAAWzF,QAAQh/C,OAASykD,EAAWzF,QAAQ5pD,OAIhE89B,EAAWr7B,KAAKwM,IAAInC,EAAGgxB,SAAUhxB,EAAGxF,MAAMqD,MAAQ2kD,GAClDE,EAAYhmD,EAAQxJ,OAAS8M,EAAGgxB,SAAW4xB,EAAW5xB,GAAY4xB,EAAW,GAGzEJ,EAAgB,EAAIE,IACvBA,EAAY1xB,GAAY4xB,GAAYlmD,EAAQxJ,OAAS,GAAM,IAC3D+9B,EAAYjxB,EAAGixB,UAAYusB,GAAkB9gD,EAAQgvB,WAClDkI,EAAStL,QAAUq1B,GAAoBjhD,EAAQ4iD,YAClDqD,EAAmBhtD,KAAK6O,KAAKg+C,EAAgBA,EAAgBC,EAAiBA,GAC9EI,EAAgB9nC,GAAUw6B,UAAU5/C,KAAKwM,IACxCxM,KAAKyd,KAAKzd,KAAKwM,KAAKogD,EAAWzF,QAAQh/C,OAAS,GAAK4kD,EAAW,IAChE/sD,KAAKyd,KAAKzd,KAAKwM,IAAI8uB,EAAY0xB,EAAkB,IAAMhtD,KAAKyd,KAAKqvC,EAAiBE,KAEnFE,EAAgBltD,KAAKyM,IAAIo9C,EAAa7pD,KAAKwM,IAAIs9C,EAAaoD,KAG7D7iD,EAAG6iD,cAAgBA,IAEpBrB,2BAA4B,WAC3BzmC,GAAU9L,SAASpgB,KAAK6N,QAAQ8kD,2BAA4B,CAAC3yD,QAK9D4yD,UAAW,WACV1mC,GAAU9L,SAASpgB,KAAK6N,QAAQ+kD,UAAW,CAAC5yD,QAE7C6yD,IAAK,WACJ,IAAI1hD,EAAKnR,KAEL0nC,EAAUv2B,EAAGu2B,QAAU,CAC1B14B,MAAO,EACPC,OAAQ,GAGLtD,EAAQwF,EAAGxF,MACX02B,EAAOlxB,EAAGtD,QACVk3B,EAAW1C,EAAK2C,MAChBmvB,EAAiB9xB,EAAKouB,WACtB2D,EAAe/xB,EAAKxF,UACpBiK,EAAU31B,EAAG8iD,aACbI,EAA6B,WAAlBhyB,EAAK96B,SAChBs2B,EAAe1sB,EAAG0sB,eAiBtB,GAdIA,EACH6J,EAAQ14B,MAAQmC,EAAGgxB,SACT2E,IACVY,EAAQ14B,MAAQ2/C,GAAkByF,GAAgBtF,GAAoBqF,IAIlEt2B,EAEMiJ,IACVY,EAAQz4B,OAAS0/C,GAAkByF,GAAgBtF,GAAoBqF,IAFvEzsB,EAAQz4B,OAASkC,EAAGixB,UAMjB2C,EAAS+B,SAAWA,EAAS,CAChC,IAAI+mB,EAAYqB,GAAqBnqB,GACjC2uB,EAAaviD,EAAG+iD,iBAChBI,EAAiBZ,EAAWhF,MAC5B6F,EAAgBb,EAAWr1B,KAC3BgwB,EAAkBqF,EAAW1F,OAC7BM,EAAmBoF,EAAWzF,QAC9BuG,EAAyC,GAA7B3G,EAAUW,MAAM5kC,WAC5B6qC,EAAc1vB,EAAStL,QAE3B,GAAIoE,EAAc,CAEjB,IAAI62B,EAAiC,IAArBvjD,EAAG6iD,cACfW,EAAezoC,GAAUu6B,UAAUt1C,EAAG6iD,eACtCY,EAAc9tD,KAAK8O,IAAI++C,GACvBE,EAAc/tD,KAAK+O,IAAI8+C,GAEvBG,EAAcD,EAAcxG,EAAgBr/C,MAC7C4lD,GAAetG,EAAiBr/C,QAAUylD,EAAYpG,EAAiBjqD,OAAS,KAC/EqwD,EAAY,EAAIF,GAEpB9sB,EAAQz4B,OAASnI,KAAKwM,IAAInC,EAAGixB,UAAWsF,EAAQz4B,OAAS6lD,EAAcL,GAEvE,IAEI1K,EAAaE,EAFb8K,EAAa5jD,EAAG4qB,gBAAgB,GAAK5qB,EAAG0U,KACxCmvC,EAAc7jD,EAAG4U,MAAQ5U,EAAG4qB,gBAAgB5qB,EAAG2qB,WAAWl0B,OAAS,GAKnE8sD,GACH3K,EAAcsK,EACbO,EAAcN,EAAetlD,MAAQ6lD,EAAcP,EAAejwD,OAClEwwD,GAAeP,EAAerlD,OAASqlD,EAAejwD,QACvD4lD,EAAeoK,EACdQ,GAAeN,EAActlD,OAASslD,EAAclwD,QACpDuwD,EAAcL,EAAcvlD,MAAQ6lD,EAAcN,EAAclwD,SAEjE0lD,EAAcuK,EAAetlD,MAAQ,EACrCi7C,EAAesK,EAAcvlD,MAAQ,GAKtCmC,EAAG44C,YAAcjjD,KAAKyM,KAAKw2C,EAAcgL,GAAc5jD,EAAGnC,OAASmC,EAAGnC,MAAQ+lD,GAAa,GAAK,EAChG5jD,EAAG84C,aAAenjD,KAAKyM,KAAK02C,EAAe+K,GAAe7jD,EAAGnC,OAASmC,EAAGnC,MAAQgmD,GAAc,GAAK,MAC9F,CAGN,IAAIC,EAAalwB,EAAS8rB,OAAS,EAGlCxC,EAAgBr/C,MAAQylD,EAAcD,EAEvC9sB,EAAQ14B,MAAQlI,KAAKwM,IAAInC,EAAGgxB,SAAUuF,EAAQ14B,MAAQimD,GAEtD9jD,EAAG64C,WAAasK,EAAerlD,OAAS,EACxCkC,EAAG+4C,cAAgBqK,EAActlD,OAAS,GAI5CkC,EAAG+jD,gBAECr3B,GACH1sB,EAAGnC,MAAQmC,EAAG0qB,QAAUlwB,EAAMqD,MAAQmC,EAAGmgD,QAAQzrC,KAAO1U,EAAGmgD,QAAQvrC,MACnE5U,EAAGlC,OAASy4B,EAAQz4B,SAEpBkC,EAAGnC,MAAQ04B,EAAQ14B,MACnBmC,EAAGlC,OAASkC,EAAG0qB,QAAUlwB,EAAMsD,OAASkC,EAAGmgD,QAAQxrC,IAAM3U,EAAGmgD,QAAQtrC,SAQtEkvC,cAAe,WACd,IAAI/jD,EAAKnR,KACLmR,EAAGmgD,UACNngD,EAAGmgD,QAAQzrC,KAAO/e,KAAKyM,IAAIpC,EAAG44C,YAAa54C,EAAGmgD,QAAQzrC,MACtD1U,EAAGmgD,QAAQxrC,IAAMhf,KAAKyM,IAAIpC,EAAG64C,WAAY74C,EAAGmgD,QAAQxrC,KACpD3U,EAAGmgD,QAAQvrC,MAAQjf,KAAKyM,IAAIpC,EAAG84C,aAAc94C,EAAGmgD,QAAQvrC,OACxD5U,EAAGmgD,QAAQtrC,OAASlf,KAAKyM,IAAIpC,EAAG+4C,cAAe/4C,EAAGmgD,QAAQtrC,UAI5D8sC,SAAU,WACT5mC,GAAU9L,SAASpgB,KAAK6N,QAAQilD,SAAU,CAAC9yD,QAI5C69B,aAAc,WACb,IAAI8M,EAAM3qC,KAAK6N,QAAQtG,SACvB,MAAe,QAARojC,GAAyB,WAARA,GAEzBwqB,YAAa,WACZ,OAAOn1D,KAAK6N,QAAQw9B,WAIrBlF,cAAe,SAASivB,GAEvB,GAAIx1C,GAAcw1C,GACjB,OAAOh1B,IAGR,IAAyB,kBAAbg1B,GAAyBA,aAAoBjmD,UAAY6Q,SAASo1C,GAC7E,OAAOh1B,IAIR,GAAIg1B,EACH,GAAIp1D,KAAK69B,gBACR,QAAmB/1B,IAAfstD,EAASliD,EACZ,OAAOlT,KAAKmmC,cAAcivB,EAASliD,QAE9B,QAAmBpL,IAAfstD,EAAS/yD,EACnB,OAAOrC,KAAKmmC,cAAcivB,EAAS/yD,GAKrC,OAAO+yD,GAGR5C,sBAAuB,SAASxtB,GAC/B,IACI33B,EAAQZ,EAAGoU,EADX1P,EAAKnR,KAiBT,IAdAmR,EAAG6zB,MAAQA,EAAMh5B,KAAI,SAASgkD,GAC7B,OAAOA,EAAKh9C,SAGb7B,EAAGmiD,8BAKHjmD,EAAS8D,EAAGoiD,qBAAqBvuB,IAAU7zB,EAAG6zB,MAE9C7zB,EAAGsiD,6BAGEhnD,EAAI,EAAGoU,EAAOmkB,EAAMp9B,OAAQ6E,EAAIoU,IAAQpU,EAC5Cu4B,EAAMv4B,GAAGP,MAAQmB,EAAOZ,GAGzB,OAAOY,GAMR6mD,eAAgB,WACf,IAAI/iD,EAAKnR,KACL0zD,EAAaviD,EAAGsgD,YAOpB,OALKiC,IACJviD,EAAGsgD,YAAciC,EAAa9F,GAAkBz8C,EAAGsU,IAAKypC,GAAqB/9C,EAAGtD,QAAQm3B,OAAQ7zB,EAAG2qB,WAAY3qB,EAAGygD,kBAClHzgD,EAAGwgD,kBAAoB+B,EAAW1F,OAAOh/C,OAGnC0kD,GAMRx0B,YAAa,SAASlsB,GACrB,IAAIsZ,EAAOqQ,EAAKrpB,EAAKC,EAerB,OAbIsM,GAAQ7M,IACXsZ,GAAStsB,KAAKmmC,cAAcnzB,EAAM,IAClC2pB,GAAO38B,KAAKmmC,cAAcnzB,EAAM,IAChCM,EAAMxM,KAAKwM,IAAIgZ,EAAOqQ,GACtBppB,EAAMzM,KAAKyM,IAAI+Y,EAAOqQ,KAEtB3pB,GAAShT,KAAKmmC,cAAcnzB,GAC5BsZ,OAAQxkB,EACR60B,EAAM3pB,EACNM,EAAMN,EACNO,EAAMP,GAGA,CACNM,IAAKA,EACLC,IAAKA,EACL+Y,MAAOA,EACPqQ,IAAKA,IAOP04B,eAAgB,SAASD,GACxB,IAAIxhD,EAAI5T,KAAKk/B,YAAYk2B,GACzB,YAAgBttD,IAAZ8L,EAAE0Y,MACE,IAAM1Y,EAAE0Y,MAAQ,KAAO1Y,EAAE+oB,IAAM,KAG/B38B,KAAKmmC,cAAcivB,IAQ5B3c,iBAAkBvsB,GAAUxM,KAS5Bkf,iBAAkB1S,GAAUxM,KAO5B41C,iBAAkBppC,GAAUxM,KAM5Bqc,gBAAiB,SAAS3c,GACzB,IAAIjO,EAAKnR,KACLqE,EAAS8M,EAAGtD,QAAQxJ,OACpB0vD,EAAW5iD,EAAGggD,OAAOvpD,OACrBisD,EAAY,EAAI/sD,KAAKyM,IAAIwgD,GAAY1vD,EAAS,EAAI,GAAI,GAE1D,OAAO+a,EAAQ,GAAKA,EAAQ20C,EAAW,EACpC,KACA5iD,EAAGgvB,mBAAmB/gB,EAAQy0C,GAAaxvD,EAASwvD,EAAY,EAAI,KAOxE1zB,mBAAoB,SAASo1B,GAC5B,IAAIpkD,EAAKnR,KAMT,OAJImR,EAAGkiD,iBACNkC,EAAU,EAAIA,GAGRpkD,EAAG0tB,YAAc02B,EAAUpkD,EAAG0qB,SAGtC25B,mBAAoB,SAASnO,GAC5B,IAAIkO,GAAWlO,EAAQrnD,KAAK6+B,aAAe7+B,KAAK67B,QAChD,OAAO77B,KAAKqzD,eAAiB,EAAIkC,EAAUA,GAO5C33B,aAAc,WACb,OAAO59B,KAAK4+B,iBAAiB5+B,KAAKy1D,iBAGnCA,aAAc,WACb,IAAItkD,EAAKnR,KACLsT,EAAMnC,EAAGmC,IACTC,EAAMpC,EAAGoC,IAEb,OAAOpC,EAAG81B,YAAc,EACvB3zB,EAAM,GAAKC,EAAM,EAAIA,EACrBD,EAAM,GAAKC,EAAM,EAAID,EACrB,GAOF0/C,UAAW,SAAShuB,GACnB,IAQIv4B,EAAGoU,EAAMgvC,EAAS6F,EARlBvkD,EAAKnR,KACL+kC,EAAW5zB,EAAGtD,QAAQm3B,MACtBwqB,EAAar+C,EAAG0qB,QAChB4zB,EAAa1qB,EAAS4wB,eAAiBnG,EAAar+C,EAAGykD,YAAc,EACrErG,EAAexqB,EAASwpB,MAAM5Y,QAAUma,GAAgB9qB,GAAS,GACjE6wB,EAAkBtG,EAAa3nD,OAC/B8mD,EAAQa,EAAa,GACrBlxB,EAAOkxB,EAAasG,EAAkB,GAI1C,GAAIA,EAAkBpG,EAErB,OADAM,GAAW/qB,EAAOuqB,EAAcsG,EAAkBpG,GAC3CN,GAAWnqB,GAKnB,GAFA6qB,EAAUP,GAAiBC,EAAcvqB,EAAOwqB,EAAYC,GAExDoG,EAAkB,EAAG,CACxB,IAAKppD,EAAI,EAAGoU,EAAOg1C,EAAkB,EAAGppD,EAAIoU,EAAMpU,IACjDisB,GAAKsM,EAAO6qB,EAASN,EAAa9iD,GAAI8iD,EAAa9iD,EAAI,IAKxD,OAHAipD,EAAkBG,EAAkB,GAAKx3B,EAAOqwB,IAAUmH,EAAkB,GAAK,KACjFn9B,GAAKsM,EAAO6qB,EAAS3jC,GAAUtM,cAAc81C,GAAmB,EAAIhH,EAAQgH,EAAiBhH,GAC7Fh2B,GAAKsM,EAAO6qB,EAASxxB,EAAMnS,GAAUtM,cAAc81C,GAAmB1wB,EAAMp9B,OAASy2B,EAAOq3B,GACrFvG,GAAWnqB,GAGnB,OADAtM,GAAKsM,EAAO6qB,GACLV,GAAWnqB,IAMnB4wB,UAAW,WACV,IAAIzkD,EAAKnR,KACL81D,EAAc3kD,EAAGtD,QAAQm3B,MAGzB+wB,EAAM7pC,GAAUu6B,UAAUt1C,EAAG6iD,eAC7Bp+C,EAAM9O,KAAKmyB,IAAInyB,KAAK8O,IAAImgD,IACxBlgD,EAAM/O,KAAKmyB,IAAInyB,KAAK+O,IAAIkgD,IAExBrC,EAAaviD,EAAG+iD,iBAChBz6B,EAAUq8B,EAAY/E,iBAAmB,EACzC3qD,EAAIstD,EAAaA,EAAW1F,OAAOh/C,MAAQyqB,EAAU,EACrD13B,EAAI2xD,EAAaA,EAAWzF,QAAQh/C,OAASwqB,EAAU,EAG3D,OAAOtoB,EAAG0sB,eACP97B,EAAI6T,EAAMxP,EAAIyP,EAAMzP,EAAIwP,EAAM7T,EAAI8T,EAClC9T,EAAI8T,EAAMzP,EAAIwP,EAAM7T,EAAI6T,EAAMxP,EAAIyP,GAMtCo+C,WAAY,WACX,IAGIxnD,EAAGoU,EAAMiQ,EAHT3f,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXm7B,EAAU31B,EAAGtD,QAAQi5B,QAGzB,GAAgB,SAAZA,EACH,QAASA,EAIV,IAAKr6B,EAAI,EAAGoU,EAAOlV,EAAMwB,KAAKpB,SAASnE,OAAQ6E,EAAIoU,IAAQpU,EAC1D,GAAId,EAAMu2B,iBAAiBz1B,KAC1BqkB,EAAOnlB,EAAM2lB,eAAe7kB,GACxBqkB,EAAKI,UAAY/f,EAAGpC,IAAM+hB,EAAKM,UAAYjgB,EAAGpC,IACjD,OAAO,EAKV,OAAO,GAMRinD,sBAAuB,SAASt8B,GAC/B,IAkBIu8B,EAAaxpD,EAAGujD,EAAMtC,EAAWwI,EACjCC,EAAKC,EAAKC,EAAKC,EAAKx8B,EAAIC,EAAIzkB,EAAID,EAAI8gB,EAAWogC,EAAW1+B,EAAYC,EAnBtE3mB,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXkC,EAAUsD,EAAGtD,QACbgvB,EAAYhvB,EAAQgvB,UACpBt1B,EAAWsG,EAAQtG,SACnBu1B,EAAkBD,EAAUC,gBAC5Be,EAAe1sB,EAAG0sB,eAClBmH,EAAQ7zB,EAAG4hD,aACXyD,EAAcxxB,EAAMp9B,QAAUk1B,EAAkB,EAAI,GAEpD25B,EAAK9H,GAAkB9xB,GACvBsN,EAAQ,GACRusB,EAAY75B,EAAU5G,WAAa9V,GAAsB0c,EAAU1G,UAAW,EAAG,GAAK,EACtFwgC,EAAgBD,EAAY,EAC5BE,EAAa1qC,GAAUk7B,YACvByP,EAAmB,SAASxP,GAC/B,OAAOuP,EAAWjrD,EAAO07C,EAAOqP,IA+BjC,IA1BiB,QAAbnvD,GACH0uD,EAAcY,EAAiB1lD,EAAG6U,QAClCowC,EAAMjlD,EAAG6U,OAASywC,EAClBH,EAAML,EAAcU,EACpB58B,EAAK88B,EAAiBn9B,EAAU5T,KAAO6wC,EACvCthD,EAAKqkB,EAAU1T,QACQ,WAAbze,GACV0uD,EAAcY,EAAiB1lD,EAAG2U,KAClCiU,EAAKL,EAAU5T,IACfzQ,EAAKwhD,EAAiBn9B,EAAU1T,QAAU2wC,EAC1CP,EAAMH,EAAcU,EACpBL,EAAMnlD,EAAG2U,IAAM2wC,GACQ,SAAblvD,GACV0uD,EAAcY,EAAiB1lD,EAAG4U,OAClCowC,EAAMhlD,EAAG4U,MAAQ0wC,EACjBJ,EAAMJ,EAAcU,EACpB78B,EAAK+8B,EAAiBn9B,EAAU7T,MAAQ8wC,EACxCrhD,EAAKokB,EAAU3T,QAEfkwC,EAAcY,EAAiB1lD,EAAG0U,MAClCiU,EAAKJ,EAAU7T,KACfvQ,EAAKuhD,EAAiBn9B,EAAU3T,OAAS4wC,EACzCR,EAAMF,EAAcU,EACpBN,EAAMllD,EAAG0U,KAAO4wC,GAGZhqD,EAAI,EAAGA,EAAI+pD,IAAe/pD,EAC9BujD,EAAOhrB,EAAMv4B,IAAM,GAGfmT,GAAcowC,EAAK9jD,QAAUO,EAAIu4B,EAAMp9B,SAIvC6E,IAAM0E,EAAG+/C,eAAiBrjD,EAAQxJ,SAAWy4B,GAEhD3G,EAAY0G,EAAUwzB,cACtBkG,EAAY15B,EAAUyzB,cACtBz4B,EAAagF,EAAU0zB,oBAAsB,GAC7Cz4B,EAAmB+E,EAAU2zB,0BAA4B,IAEzDr6B,EAAYhW,GAAsB0c,EAAU1G,UAAW1pB,EAAG,GAC1D8pD,EAAYp2C,GAAsB0c,EAAU3mB,MAAOzJ,EAAG,mBACtDorB,EAAagF,EAAUhF,YAAc,GACrCC,EAAmB+E,EAAU/E,kBAAoB,GAGlD41B,EAAYF,GAAoBr8C,EAAI6+C,EAAK79B,QAAU1lB,EAAGqwB,QAGpCh1B,IAAd4lD,IAIJwI,EAAmBU,EAAWjrD,EAAO+hD,EAAWv3B,GAE5C0H,EACHs4B,EAAME,EAAMv8B,EAAKxkB,EAAK4gD,EAEtBE,EAAME,EAAMv8B,EAAK1kB,EAAK6gD,EAGvB/rB,EAAMz6B,KAAK,CACVymD,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLx8B,GAAIA,EACJC,GAAIA,EACJzkB,GAAIA,EACJD,GAAIA,EACJrG,MAAOmnB,EACPjgB,MAAOqgD,EACP1+B,WAAYA,EACZC,iBAAkBA,MAOpB,OAHAqS,EAAMqsB,YAAcA,EACpBrsB,EAAM8rB,YAAcA,EAEb9rB,GAMR2sB,mBAAoB,WACnB,IAYIrqD,EAAGoU,EAAMmvC,EAAM9jD,EAAOgH,EAAG7Q,EAAG2oB,EAAWq8B,EAAOn+B,EAAMU,EAAYmtC,EAAWC,EAZ3E7lD,EAAKnR,KACL6N,EAAUsD,EAAGtD,QACbioD,EAAcjoD,EAAQm3B,MACtBz9B,EAAWsG,EAAQtG,SACnB0vD,EAAanB,EAAYjF,OACzBhzB,EAAe1sB,EAAG0sB,eAClBmH,EAAQ7zB,EAAG4hD,aACXmE,EAAQhI,GAAqB4G,GAC7BrB,EAAcqB,EAAYr8B,QAC1Bg9B,EAAK9H,GAAkB9gD,EAAQgvB,WAC/BvW,GAAY4F,GAAUu6B,UAAUt1C,EAAG6iD,eACnC7pB,EAAQ,GAiBZ,IAdiB,QAAb5iC,GACHlF,EAAI8O,EAAG6U,OAASywC,EAAKhC,EACrBzpC,EAAa1E,EAAsB,OAAX,UACD,WAAb/e,GACVlF,EAAI8O,EAAG2U,IAAM2wC,EAAKhC,EAClBzpC,EAAa1E,EAAsB,QAAX,UACD,SAAb/e,GACV2L,EAAI/B,EAAG4U,OAASkxC,EAAa,EAAIR,GAAMhC,EACvCzpC,EAAYisC,EAAa,OAAS,UAElC/jD,EAAI/B,EAAG0U,MAAQoxC,EAAa,EAAIR,GAAMhC,EACtCzpC,EAAYisC,EAAa,QAAU,QAG/BxqD,EAAI,EAAGoU,EAAOmkB,EAAMp9B,OAAQ6E,EAAIoU,IAAQpU,EAC5CujD,EAAOhrB,EAAMv4B,GACbP,EAAQ8jD,EAAK9jD,MAGT0T,GAAc1T,KAIlBm7C,EAAQl2C,EAAG4qB,gBAAgBi0B,EAAK79B,QAAU1lB,GAAKqpD,EAAY9E,YAC3D9nC,EAAO8mC,EAAKzB,MAAQ2I,EAAM3I,MAAQ2I,EAAM1I,MACxC5kC,EAAaV,EAAKU,WAClBmtC,EAAYl3C,GAAQ3T,GAASA,EAAMtE,OAAS,EAExCi2B,GACH3qB,EAAIm0C,EACJ2P,EAA0B,QAAbzvD,IACP+e,EAAiB,EAAN,IAAWywC,GAAantC,GACpCtD,EAAiB,EAAN,IAAWsD,IAE3BvnB,EAAIglD,EACJ2P,GAAc,EAAID,GAAantC,EAAa,GAG7CugB,EAAMz6B,KAAK,CACVwD,EAAGA,EACH7Q,EAAGA,EACHikB,SAAUA,EACVpa,MAAOA,EACPgd,KAAMA,EACN8tC,WAAYA,EACZhsC,UAAWA,KAIb,OAAOmf,GAMRgtB,UAAW,SAASz9B,GACnB,IAAIvoB,EAAKnR,KACL68B,EAAY1rB,EAAGtD,QAAQgvB,UAE3B,GAAKA,EAAUiK,QAAf,CAIA,IAKI93B,EAAOkH,EAAOzJ,EAAGoU,EAAM8B,EALvB8C,EAAMtU,EAAGsU,IACT9Z,EAAQwF,EAAGxF,MACXirD,EAAa1qC,GAAUk7B,YACvBsP,EAAY75B,EAAU5G,WAAa9V,GAAsB0c,EAAU1G,UAAW,EAAG,GAAK,EACtFgU,EAAQh5B,EAAG0gD,iBAAmB1gD,EAAG0gD,eAAiB1gD,EAAG6kD,sBAAsBt8B,IAG/E,IAAKjtB,EAAI,EAAGoU,EAAOspB,EAAMviC,OAAQ6E,EAAIoU,IAAQpU,EAC5CkW,EAAOwnB,EAAM19B,GACbuC,EAAQ2T,EAAK3T,MACbkH,EAAQyM,EAAKzM,MAETlH,GAASkH,IACZuP,EAAImB,OACJnB,EAAI0Q,UAAYnnB,EAChByW,EAAIgS,YAAcvhB,EACduP,EAAImT,cACPnT,EAAImT,YAAYjW,EAAKkV,YACrBpS,EAAIoT,eAAiBlW,EAAKmV,kBAG3BrS,EAAIsB,YAEA8V,EAAU+xB,YACbnpC,EAAIQ,OAAOtD,EAAKwzC,IAAKxzC,EAAKyzC,KAC1B3wC,EAAIuB,OAAOrE,EAAK0zC,IAAK1zC,EAAK2zC,MAGvBz5B,EAAUuzB,kBACb3qC,EAAIQ,OAAOtD,EAAKmX,GAAInX,EAAKoX,IACzBtU,EAAIuB,OAAOrE,EAAKrN,GAAIqN,EAAKtN,KAG1BoQ,EAAI0B,SACJ1B,EAAIqB,WAIN,GAAI4vC,EAAW,CAEd,IAGI58B,EAAIxkB,EAAIykB,EAAI1kB,EAHZ+hD,EAAiBV,EACjBW,EAAgBl3C,GAAsB0c,EAAU1G,UAAWgU,EAAMqsB,YAAc,EAAG,GAClFP,EAAc9rB,EAAM8rB,YAGpB9kD,EAAG0sB,gBACN/D,EAAK88B,EAAWjrD,EAAOwF,EAAG0U,KAAMuxC,GAAkBA,EAAiB,EACnE9hD,EAAKshD,EAAWjrD,EAAOwF,EAAG4U,MAAOsxC,GAAiBA,EAAgB,EAClEt9B,EAAK1kB,EAAK4gD,IAEVl8B,EAAK68B,EAAWjrD,EAAOwF,EAAG2U,IAAKsxC,GAAkBA,EAAiB,EAClE/hD,EAAKuhD,EAAWjrD,EAAOwF,EAAG6U,OAAQqxC,GAAiBA,EAAgB,EACnEv9B,EAAKxkB,EAAK2gD,GAGXxwC,EAAI0Q,UAAYugC,EAChBjxC,EAAIgS,YAActX,GAAsB0c,EAAU3mB,MAAO,GACzDuP,EAAIsB,YACJtB,EAAIQ,OAAO6T,EAAIC,GACftU,EAAIuB,OAAO1R,EAAID,GACfoQ,EAAI0B,YAONmwC,YAAa,WACZ,IAAInmD,EAAKnR,KACL81D,EAAc3kD,EAAGtD,QAAQm3B,MAE7B,GAAK8wB,EAAYhvB,QAAjB,CAIA,IAEIr6B,EAAGw1B,EAAGphB,EAAMsoB,EAAMxmB,EAAMmrC,EAAU5hD,EAAO7J,EAFzCojB,EAAMtU,EAAGsU,IACT0kB,EAAQh5B,EAAG2gD,cAAgB3gD,EAAG2gD,YAAc3gD,EAAG2lD,sBAGnD,IAAKrqD,EAAI,EAAGoU,EAAOspB,EAAMviC,OAAQ6E,EAAIoU,IAAQpU,EAAG,CAe/C,GAdAkW,EAAOwnB,EAAM19B,GACbqhD,EAAWnrC,EAAKuG,KAGhBzD,EAAImB,OACJnB,EAAI/hB,UAAUif,EAAKzP,EAAGyP,EAAKtgB,GAC3BojB,EAAI3H,OAAO6E,EAAK2D,UAChBb,EAAIyD,KAAO4kC,EAAS9iD,OACpBya,EAAI+R,UAAYs2B,EAAS53C,MACzBuP,EAAIo4B,aAAe,SACnBp4B,EAAIuF,UAAYrI,EAAKqI,UAErB9e,EAAQyW,EAAKzW,MACb7J,EAAIsgB,EAAKq0C,WACLn3C,GAAQ3T,GACX,IAAK+1B,EAAI,EAAGkH,EAAOj9B,EAAMtE,OAAQq6B,EAAIkH,IAAQlH,EAE5Cxc,EAAIq4B,SAAS,GAAK5xC,EAAM+1B,GAAI,EAAG5/B,GAC/BA,GAAKyrD,EAASlkC,gBAGfnE,EAAIq4B,SAAS5xC,EAAO,EAAG7J,GAExBojB,EAAIqB,aAONywC,WAAY,WACX,IAAIpmD,EAAKnR,KACLylB,EAAMtU,EAAGsU,IACT5X,EAAUsD,EAAGtD,QACb4iD,EAAa5iD,EAAQ4iD,WAEzB,GAAKA,EAAW3pB,QAAhB,CAIA,IAMI0wB,EAAaC,EANbC,EAAsBvK,GAAiBsD,EAAWxB,UAAWjmC,EAAclpB,OAAO4oB,kBAClFivC,EAAiBzrC,GAAUre,QAAQ2b,WAAWinC,GAC9CmH,EAAoB1rC,GAAUre,QAAQ0b,UAAUknC,EAAWh3B,SAC3Do+B,EAAiBF,EAAe/tC,WAAa,EAC7CriB,EAAWsG,EAAQtG,SACnB+e,EAAW,EAGf,GAAInV,EAAG0sB,eACN25B,EAAcrmD,EAAG0U,KAAO1U,EAAGnC,MAAQ,EACnCyoD,EAA2B,WAAblwD,EACX4J,EAAG6U,OAAS6xC,EAAiBD,EAAkB5xC,OAC/C7U,EAAG2U,IAAM+xC,EAAiBD,EAAkB9xC,QACzC,CACN,IAAIgyC,EAAsB,SAAbvwD,EACbiwD,EAAcM,EACX3mD,EAAG0U,KAAOgyC,EAAiBD,EAAkB9xC,IAC7C3U,EAAG4U,MAAQ8xC,EAAiBD,EAAkB9xC,IACjD2xC,EAActmD,EAAG2U,IAAM3U,EAAGlC,OAAS,EACnCqX,EAAWwxC,GAAU,GAAMhxD,KAAK4O,GAAK,GAAM5O,KAAK4O,GAGjD+P,EAAImB,OACJnB,EAAI/hB,UAAU8zD,EAAaC,GAC3BhyC,EAAI3H,OAAOwI,GACXb,EAAIuF,UAAY,SAChBvF,EAAIo4B,aAAe,SACnBp4B,EAAI+R,UAAYkgC,EAChBjyC,EAAIyD,KAAOyuC,EAAe3sD,OAC1Bya,EAAIq4B,SAAS2S,EAAWC,YAAa,EAAG,GACxCjrC,EAAIqB,YAGLkM,KAAM,SAAS0G,GACd,IAAIvoB,EAAKnR,KAEJmR,EAAG8iD,eAIR9iD,EAAGgmD,UAAUz9B,GACbvoB,EAAGomD,aACHpmD,EAAGmmD,gBAMJhqB,QAAS,WACR,IAAIn8B,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVkqD,EAAK11B,EAAK2C,OAAS3C,EAAK2C,MAAM5wB,GAAK,EACnC4jD,EAAK31B,EAAKxF,WAAawF,EAAKxF,UAAUzoB,GAAK,EAE/C,OAAKjD,EAAG8iD,cAAgB8D,IAAOC,GAAM7mD,EAAG6hB,OAAS7hB,EAAG8mD,MAU7C,CAAC,CACP7jD,EAAG4jD,EACHhlC,KAAM,WACL7hB,EAAGgmD,UAAU72C,MAAMnP,EAAI4E,WACvB5E,EAAGomD,WAAWj3C,MAAMnP,EAAI4E,aAEvB,CACF3B,EAAG2jD,EACH/kC,KAAM,WACL7hB,EAAGmmD,YAAYh3C,MAAMnP,EAAI4E,cAjBnB,CAAC,CACP3B,EAAG2jD,EACH/kC,KAAM,WACL7hB,EAAG6hB,KAAK1S,MAAMnP,EAAI4E,eAsBtBwoB,yBAA0B,SAASrwB,GAClC,IAAIiD,EAAKnR,KACL69B,EAAe1sB,EAAG0sB,eACtB,OAAO1sB,EAAGxF,MAAMy6B,gCACdr5B,QAAO,SAAS+jB,GAChB,QAAS5iB,GAAQ4iB,EAAK5iB,OAASA,KAC1B2vB,EAAe/M,EAAKI,UAAY/f,EAAGpC,GAAK+hB,EAAKM,UAAYjgB,EAAGpC,UAKrEkiD,GAAMv4C,UAAUu/C,MAAQhH,GAAMv4C,UAAUsa,KAExC,IAAIklC,GAAajH,GAEbkH,GAAkBjsC,GAAUtM,cAE5Bw4C,GAAgB,CACnB7wD,SAAU,UAGP8wD,GAAiBH,GAAWx2C,OAAO,CACtCywC,oBAAqB,WACpB,IAOIljC,EAPA9d,EAAKnR,KACLqN,EAAS8D,EAAGigD,aACZkH,EAAYnnD,EAAGtD,QAAQm3B,MACvB1xB,EAAMglD,EAAUhlD,IAChBC,EAAM+kD,EAAU/kD,IAChBglD,EAAW,EACXC,EAAWnrD,EAAOzF,OAAS,OAGnBE,IAARwL,IAEH2b,EAAY5hB,EAAOL,QAAQsG,GACvB2b,GAAa,IAChBspC,EAAWtpC,SAIDnnB,IAARyL,IAEH0b,EAAY5hB,EAAOL,QAAQuG,GACvB0b,GAAa,IAChBupC,EAAWvpC,IAIb9d,EAAGonD,SAAWA,EACdpnD,EAAGqnD,SAAWA,EACdrnD,EAAGmC,IAAMjG,EAAOkrD,GAChBpnD,EAAGoC,IAAMlG,EAAOmrD,IAGjBlG,WAAY,WACX,IAAInhD,EAAKnR,KACLqN,EAAS8D,EAAGigD,aACZmH,EAAWpnD,EAAGonD,SACdC,EAAWrnD,EAAGqnD,SAGlBrnD,EAAG6zB,MAAsB,IAAbuzB,GAAkBC,IAAanrD,EAAOzF,OAAS,EAAKyF,EAASA,EAAOnG,MAAMqxD,EAAUC,EAAW,IAG5G/f,iBAAkB,SAASr5B,EAAOiR,GACjC,IAAIlf,EAAKnR,KACL2L,EAAQwF,EAAGxF,MAEf,OAAIA,EAAM2lB,eAAejB,GAAckR,WAAW9P,qBAAuBtgB,EAAGpC,GACpEoC,EAAGg1B,cAAcx6B,EAAMwB,KAAKpB,SAASskB,GAAcljB,KAAKiS,IAGzDjO,EAAGigD,aAAahyC,IAGxBuT,WAAY,WACX,IAAIxhB,EAAKnR,KACLqE,EAAS8M,EAAGtD,QAAQxJ,OACpB2gC,EAAQ7zB,EAAG6zB,MAEfkzB,GAAWx/C,UAAUia,WAAWha,KAAKxH,GAEhCA,EAAG0sB,iBAEP1sB,EAAGkiD,gBAAkBliD,EAAGkiD,gBAGpBruB,IAIL7zB,EAAGsnD,YAActnD,EAAGonD,UAAYl0D,EAAS,GAAM,GAC/C8M,EAAGunD,YAAc5xD,KAAKyM,IAAIyxB,EAAMp9B,QAAUvD,EAAS,EAAI,GAAI,KAI5Du6B,iBAAkB,SAAS5rB,EAAOoM,EAAOiR,GACxC,IACIsoC,EAAetrD,EAAQinC,EADvBnjC,EAAKnR,KAqBT,OAlBKm4D,GAAgB/4C,IAAW+4C,GAAgB9nC,KAC/Crd,EAAQ7B,EAAGxF,MAAMwB,KAAKpB,SAASskB,GAAcljB,KAAKiS,IAK9C+4C,GAAgBnlD,KACpB2lD,EAAgBxnD,EAAG0sB,eAAiB7qB,EAAME,EAAIF,EAAM3Q,SAE/ByF,IAAlB6wD,QAA0C7wD,IAAVkL,GAAuBsH,MAAM8E,MAChE/R,EAAS8D,EAAGigD,aACZp+C,EAAQkZ,GAAUjM,eAAe04C,EAAe3lD,GAChDshC,EAAMjnC,EAAOL,QAAQgG,GACrBoM,GAAiB,IAATk1B,EAAaA,EAAMl1B,EACvB9E,MAAM8E,KACTA,EAAQpM,IAGH7B,EAAGgvB,oBAAoB/gB,EAAQjO,EAAGsnD,aAAetnD,EAAGunD,cAG5D38B,gBAAiB,SAAS3c,GACzB,IAAI4lB,EAAQhlC,KAAKglC,MACjB,OAAO5lB,EAAQ,GAAKA,EAAQ4lB,EAAMp9B,OAAS,EACxC,KACA5H,KAAK4+B,iBAAiBoG,EAAM5lB,GAAQA,EAAQpf,KAAKu4D,WAGrDjD,iBAAkB,SAASjO,GAC1B,IAAIl2C,EAAKnR,KACLgT,EAAQlM,KAAKkP,MAAM7E,EAAGsnD,YAActnD,EAAGqkD,mBAAmBnO,GAASl2C,EAAGunD,aAC1E,OAAO5xD,KAAKwM,IAAIxM,KAAKyM,IAAIP,EAAO,GAAI7B,EAAG6zB,MAAMp9B,OAAS,IAGvDg2B,aAAc,WACb,OAAO59B,KAAKgmB,UAKV4yC,GAAYR,GAChBC,GAAeO,UAAYA,GAE3B,IAAIl5C,GAAOwM,GAAUxM,KACjBm5C,GAAkB3sC,GAAUtM,cAQhC,SAASk5C,GAAcC,EAAmBC,GACzC,IAeIrJ,EAAQsJ,EAASC,EAASC,EAf1Bn0B,EAAQ,GAKRo0B,EAAc,MACdC,EAAWN,EAAkBM,SAC7BC,EAAOD,GAAY,EACnBE,EAAeR,EAAkBS,SAAW,EAC5ClmD,EAAMylD,EAAkBzlD,IACxBC,EAAMwlD,EAAkBxlD,IACxBkmD,EAAYV,EAAkBU,UAC9BC,EAAOV,EAAU1lD,IACjBqmD,EAAOX,EAAUzlD,IACjBs8C,EAAU3jC,GAAU68B,SAAS4Q,EAAOD,GAAQH,EAAeD,GAAQA,EAKvE,GAAIzJ,EAAUuJ,GAAeP,GAAgBvlD,IAAQulD,GAAgBtlD,GACpE,MAAO,CAACmmD,EAAMC,GAGfR,EAAYryD,KAAKmpD,KAAK0J,EAAO9J,GAAW/oD,KAAKD,MAAM6yD,EAAO7J,GACtDsJ,EAAYI,IAEf1J,EAAU3jC,GAAU68B,QAAQoQ,EAAYtJ,EAAU0J,EAAeD,GAAQA,GAGtED,GAAYR,GAAgBY,GAE/B9J,EAAS7oD,KAAKqM,IAAI,GAAI+Y,GAAU06B,eAAeiJ,KAG/CF,EAAS7oD,KAAKqM,IAAI,GAAIsmD,GACtB5J,EAAU/oD,KAAKmpD,KAAKJ,EAAUF,GAAUA,GAGzCsJ,EAAUnyD,KAAKD,MAAM6yD,EAAO7J,GAAWA,EACvCqJ,EAAUpyD,KAAKmpD,KAAK0J,EAAO9J,GAAWA,EAGlCwJ,KAEER,GAAgBvlD,IAAQ4Y,GAAUm6B,YAAY/yC,EAAMu8C,EAASA,EAAU,OAC3EoJ,EAAU3lD,IAENulD,GAAgBtlD,IAAQ2Y,GAAUm6B,YAAY9yC,EAAMs8C,EAASA,EAAU,OAC3EqJ,EAAU3lD,IAIZ4lD,GAAaD,EAAUD,GAAWpJ,EAGjCsJ,EADGjtC,GAAUk6B,aAAa+S,EAAWryD,KAAKkP,MAAMmjD,GAAYtJ,EAAU,KAC1D/oD,KAAKkP,MAAMmjD,GAEXryD,KAAKmpD,KAAKkJ,GAGvBF,EAAUnyD,KAAKkP,MAAMijD,EAAUtJ,GAAUA,EACzCuJ,EAAUpyD,KAAKkP,MAAMkjD,EAAUvJ,GAAUA,EACzC3qB,EAAMt1B,KAAKmpD,GAAgBvlD,GAAO2lD,EAAU3lD,GAC5C,IAAK,IAAI2uB,EAAI,EAAGA,EAAIk3B,IAAal3B,EAChC+C,EAAMt1B,KAAK5I,KAAKkP,OAAOijD,EAAUh3B,EAAI4tB,GAAWF,GAAUA,GAI3D,OAFA3qB,EAAMt1B,KAAKmpD,GAAgBtlD,GAAO2lD,EAAU3lD,GAErCyxB,EAGR,IAAI40B,GAAmB1B,GAAWx2C,OAAO,CACxCykB,cAAe,SAASnzB,GACvB,MAAqB,kBAAVA,GACFA,EAEFklD,GAAWx/C,UAAUytB,cAAcxtB,KAAK3Y,KAAMgT,IAGtD6mD,uBAAwB,WACvB,IAAI1oD,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVk3B,EAAW1C,EAAK2C,MAKpB,GAAID,EAASkC,YAAa,CACzB,IAAI6yB,EAAU5tC,GAAUs6B,KAAKr1C,EAAGmC,KAC5BymD,EAAU7tC,GAAUs6B,KAAKr1C,EAAGoC,KAE5BumD,EAAU,GAAKC,EAAU,EAE5B5oD,EAAGoC,IAAM,EACCumD,EAAU,GAAKC,EAAU,IAEnC5oD,EAAGmC,IAAM,GAIX,IAAI0mD,OAA0BlyD,IAAjBi9B,EAASzxB,UAA+CxL,IAA1Bi9B,EAASk1B,aAChDC,OAA0BpyD,IAAjBi9B,EAASxxB,UAA+CzL,IAA1Bi9B,EAASo1B,kBAE/BryD,IAAjBi9B,EAASzxB,IACZnC,EAAGmC,IAAMyxB,EAASzxB,SACkBxL,IAA1Bi9B,EAASk1B,eACJ,OAAX9oD,EAAGmC,IACNnC,EAAGmC,IAAMyxB,EAASk1B,aAElB9oD,EAAGmC,IAAMxM,KAAKwM,IAAInC,EAAGmC,IAAKyxB,EAASk1B,oBAIhBnyD,IAAjBi9B,EAASxxB,IACZpC,EAAGoC,IAAMwxB,EAASxxB,SACkBzL,IAA1Bi9B,EAASo1B,eACJ,OAAXhpD,EAAGoC,IACNpC,EAAGoC,IAAMwxB,EAASo1B,aAElBhpD,EAAGoC,IAAMzM,KAAKyM,IAAIpC,EAAGoC,IAAKwxB,EAASo1B,eAIjCH,IAAWE,GAKV/oD,EAAGmC,KAAOnC,EAAGoC,MACZymD,EACH7oD,EAAGoC,IAAMpC,EAAGmC,IAAM,EAElBnC,EAAGmC,IAAMnC,EAAGoC,IAAM,GAKjBpC,EAAGmC,MAAQnC,EAAGoC,MACjBpC,EAAGoC,MAEEwxB,EAASkC,aACb91B,EAAGmC,QAKN8mD,aAAc,WACb,IAIIZ,EAJAroD,EAAKnR,KACL+kC,EAAW5zB,EAAGtD,QAAQm3B,MACtBq0B,EAAWt0B,EAASs0B,SACpB1D,EAAgB5wB,EAAS4wB,cAc7B,OAXI0D,EACHG,EAAW1yD,KAAKmpD,KAAK9+C,EAAGoC,IAAM8lD,GAAYvyD,KAAKD,MAAMsK,EAAGmC,IAAM+lD,GAAY,GAE1EG,EAAWroD,EAAGkpD,oBACd1E,EAAgBA,GAAiB,IAG9BA,IACH6D,EAAW1yD,KAAKwM,IAAIqiD,EAAe6D,IAG7BA,GAGRa,kBAAmB,WAClB,OAAOlrD,OAAOs6B,mBAGf6wB,yBAA0B56C,GAE1B4yC,WAAY,WACX,IAAInhD,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVk3B,EAAW1C,EAAK2C,MAMhBw0B,EAAWroD,EAAGipD,eAClBZ,EAAW1yD,KAAKyM,IAAI,EAAGimD,GAEvB,IAAIe,EAA0B,CAC7Bf,SAAUA,EACVlmD,IAAKyxB,EAASzxB,IACdC,IAAKwxB,EAASxxB,IACdkmD,UAAW10B,EAAS00B,UACpBJ,SAAUntC,GAAUjM,eAAe8kB,EAASy1B,cAAez1B,EAASs0B,WAEjEr0B,EAAQ7zB,EAAG6zB,MAAQ8zB,GAAcyB,EAAyBppD,GAE9DA,EAAGmpD,2BAIHnpD,EAAGoC,IAAM2Y,GAAU3Y,IAAIyxB,GACvB7zB,EAAGmC,IAAM4Y,GAAU5Y,IAAI0xB,GAEnBD,EAAStkB,SACZukB,EAAMvkB,UAENtP,EAAGmb,MAAQnb,EAAGoC,IACdpC,EAAGwrB,IAAMxrB,EAAGmC,MAEZnC,EAAGmb,MAAQnb,EAAGmC,IACdnC,EAAGwrB,IAAMxrB,EAAGoC,MAIdggD,qBAAsB,WACrB,IAAIpiD,EAAKnR,KACTmR,EAAGspD,eAAiBtpD,EAAG6zB,MAAM99B,QAC7BiK,EAAG+/C,cAAgB//C,EAAG6zB,MAAMh4B,QAAQ,GAEpCkrD,GAAWx/C,UAAU66C,qBAAqB56C,KAAKxH,IAGhDwhB,WAAY,WACX,IAIItuB,EAJA8M,EAAKnR,KACLglC,EAAQ7zB,EAAG2qB,WACXxP,EAAQnb,EAAGmC,IACXqpB,EAAMxrB,EAAGoC,IAGb2kD,GAAWx/C,UAAUia,WAAWha,KAAKxH,GAEjCA,EAAGtD,QAAQxJ,QAAU2gC,EAAMp9B,SAC9BvD,GAAUs4B,EAAMrQ,GAASxlB,KAAKyM,IAAIyxB,EAAMp9B,OAAS,EAAG,GAAK,EACzD0kB,GAASjoB,EACTs4B,GAAOt4B,GAER8M,EAAGsnD,YAAcnsC,EACjBnb,EAAGupD,UAAY/9B,EACfxrB,EAAGunD,YAAc/7B,EAAMrQ,KAIrBquC,GAAkB,CACrBpzD,SAAU,OACVy9B,MAAO,CACN5kB,SAAUksC,GAAWC,WAAWvpC,SAI9B43C,GAAc,EACdC,GAAc,EAElB,SAASC,GAAiBr8B,EAAQD,EAAS1N,GAC1C,IAAIjtB,EAAM,CACTitB,EAAK5iB,UAEOpG,IAAZ02B,QAAwC12B,IAAfgpB,EAAKoM,MAAsBpM,EAAK1R,MAAQ,GACjE0R,EAAKoM,OACJvmB,KAAK,KASP,YAPoB7O,IAAhB22B,EAAO56B,KACV46B,EAAO56B,GAAO,CACb8mC,IAAK,GACLowB,IAAK,KAIAt8B,EAAO56B,GAGf,SAASm3D,GAAU5gD,EAAOqkB,EAAQ3N,EAAM3jB,GACvC,IAMIV,EAAGuG,EANHqvB,EAAOjoB,EAAMvM,QACb2wB,EAAU6D,EAAK7D,QACftB,EAAQ49B,GAAiBr8B,EAAQD,EAAS1N,GAC1C6Z,EAAMzN,EAAMyN,IACZowB,EAAM79B,EAAM69B,IACZl6C,EAAO1T,EAAKvF,OAGhB,IAAK6E,EAAI,EAAGA,EAAIoU,IAAQpU,EACvBuG,EAAQoH,EAAM8kB,YAAY/xB,EAAKV,IAC3B6N,MAAMtH,EAAMM,MAAQgH,MAAMtH,EAAMO,MAAQud,EAAK3jB,KAAKV,GAAGwgB,SAIzD0d,EAAIl+B,GAAKk+B,EAAIl+B,IAAM,EACnBsuD,EAAItuD,GAAKsuD,EAAItuD,IAAM,EAEf41B,EAAK44B,eACRtwB,EAAIl+B,GAAK,IACCuG,EAAMM,IAAM,GAAKN,EAAMO,IAAM,EACvCwnD,EAAItuD,IAAMuG,EAAMM,IAEhBq3B,EAAIl+B,IAAMuG,EAAMO,KAKnB,SAAS2nD,GAAa9gD,EAAO0W,EAAM3jB,GAClC,IACIV,EAAGuG,EADH6N,EAAO1T,EAAKvF,OAGhB,IAAK6E,EAAI,EAAGA,EAAIoU,IAAQpU,EACvBuG,EAAQoH,EAAM8kB,YAAY/xB,EAAKV,IAC3B6N,MAAMtH,EAAMM,MAAQgH,MAAMtH,EAAMO,MAAQud,EAAK3jB,KAAKV,GAAGwgB,SAIzD7S,EAAM9G,IAAMxM,KAAKwM,IAAI8G,EAAM9G,IAAKN,EAAMM,KACtC8G,EAAM7G,IAAMzM,KAAKyM,IAAI6G,EAAM7G,IAAKP,EAAMO,MAIxC,IAAI4nD,GAAevB,GAAiBl4C,OAAO,CAC1CywC,oBAAqB,WACpB,IAQI1lD,EAAGqkB,EAAM3jB,EAAM2N,EARf3J,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVlC,EAAQwF,EAAGxF,MACXI,EAAWJ,EAAMwB,KAAKpB,SACtBuyB,EAAWntB,EAAGotB,2BACd68B,EAAY/4B,EAAK7D,QACjBC,EAAS,GACT5d,EAAOyd,EAAS12B,OAMpB,GAHAuJ,EAAGmC,IAAMnE,OAAOs6B,kBAChBt4B,EAAGoC,IAAMpE,OAAOo3C,uBAEEz+C,IAAdszD,EACH,IAAK3uD,EAAI,GAAI2uD,GAAa3uD,EAAIoU,IAAQpU,EACrCqkB,EAAOwN,EAAS7xB,GAChB2uD,OAA2BtzD,IAAfgpB,EAAKoM,MAInB,IAAKzwB,EAAI,EAAGA,EAAIoU,IAAQpU,EACvBqkB,EAAOwN,EAAS7xB,GAChBU,EAAOpB,EAAS+kB,EAAK1R,OAAOjS,KACxBiuD,EACHJ,GAAU7pD,EAAIstB,EAAQ3N,EAAM3jB,GAE5B+tD,GAAa/pD,EAAI2f,EAAM3jB,GAIzB+e,GAAU3L,KAAKke,GAAQ,SAAS48B,GAC/BvgD,EAASugD,EAAY1wB,IAAIjvB,OAAO2/C,EAAYN,KAC5C5pD,EAAGmC,IAAMxM,KAAKwM,IAAInC,EAAGmC,IAAK4Y,GAAU5Y,IAAIwH,IACxC3J,EAAGoC,IAAMzM,KAAKyM,IAAIpC,EAAGoC,IAAK2Y,GAAU3Y,IAAIuH,OAGzC3J,EAAGmC,IAAM4Y,GAAUlM,SAAS7O,EAAGmC,OAASgH,MAAMnJ,EAAGmC,KAAOnC,EAAGmC,IAAMsnD,GACjEzpD,EAAGoC,IAAM2Y,GAAUlM,SAAS7O,EAAGoC,OAAS+G,MAAMnJ,EAAGoC,KAAOpC,EAAGoC,IAAMsnD,GAGjE1pD,EAAG0oD,0BAIJQ,kBAAmB,WAClB,IACIvM,EADA38C,EAAKnR,KAGT,OAAImR,EAAG0sB,eACC/2B,KAAKmpD,KAAK9+C,EAAGnC,MAAQ,KAE7B8+C,EAAW5hC,GAAUre,QAAQ2b,WAAWrY,EAAGtD,QAAQm3B,OAC5Cl+B,KAAKmpD,KAAK9+C,EAAGlC,OAAS6+C,EAASlkC,cAIvC0wC,yBAA0B,WACpBt6D,KAAK69B,gBAET79B,KAAKglC,MAAMvkB,WAIbg4B,iBAAkB,SAASr5B,EAAOiR,GACjC,OAAOrwB,KAAKq1D,eAAer1D,KAAK2L,MAAMwB,KAAKpB,SAASskB,GAAcljB,KAAKiS,KAIxEwf,iBAAkB,SAAS5rB,GAC1B,IAAI7B,EAAKnR,KACT,OAAOmR,EAAGgvB,qBAAqBhvB,EAAGg1B,cAAcnzB,GAAS7B,EAAGsnD,aAAetnD,EAAGunD,cAG/EpD,iBAAkB,SAASjO,GAC1B,OAAOrnD,KAAKy4D,YAAcz4D,KAAKw1D,mBAAmBnO,GAASrnD,KAAK04D,aAGjE38B,gBAAiB,SAAS3c,GACzB,IAAI4lB,EAAQhlC,KAAKy6D,eACjB,OAAIr7C,EAAQ,GAAKA,EAAQ4lB,EAAMp9B,OAAS,EAChC,KAED5H,KAAK4+B,iBAAiBoG,EAAM5lB,OAKjCk8C,GAAcX,GAClBQ,GAAavC,UAAY0C,GAEzB,IAAIC,GAAmBrvC,GAAUjM,eAC7BqK,GAAQ4B,GAAUE,KAAK9B,MAQ3B,SAASkxC,GAAgBzC,EAAmBC,GAC3C,IAMIyC,EAAKC,EANL12B,EAAQ,GAER22B,EAAUJ,GAAiBxC,EAAkBzlD,IAAKxM,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAM0uC,EAAU1lD,QAE1FsoD,EAAS90D,KAAKD,MAAMyjB,GAAM0uC,EAAUzlD,MACpCsoD,EAAiB/0D,KAAKmpD,KAAK+I,EAAUzlD,IAAMzM,KAAKqM,IAAI,GAAIyoD,IAG5C,IAAZD,GACHF,EAAM30D,KAAKD,MAAMyjB,GAAM0uC,EAAU8C,aACjCJ,EAAc50D,KAAKD,MAAMmyD,EAAU8C,WAAah1D,KAAKqM,IAAI,GAAIsoD,IAE7Dz2B,EAAMt1B,KAAKisD,GACXA,EAAUD,EAAc50D,KAAKqM,IAAI,GAAIsoD,KAErCA,EAAM30D,KAAKD,MAAMyjB,GAAMqxC,IACvBD,EAAc50D,KAAKD,MAAM80D,EAAU70D,KAAKqM,IAAI,GAAIsoD,KAEjD,IAAIhC,EAAYgC,EAAM,EAAI30D,KAAKqM,IAAI,GAAIrM,KAAKmyB,IAAIwiC,IAAQ,EAExD,GACCz2B,EAAMt1B,KAAKisD,KAETD,EACkB,KAAhBA,IACHA,EAAc,IACZD,EACFhC,EAAYgC,GAAO,EAAI,EAAIhC,GAG5BkC,EAAU70D,KAAKkP,MAAM0lD,EAAc50D,KAAKqM,IAAI,GAAIsoD,GAAOhC,GAAaA,QAC5DgC,EAAMG,GAAWH,IAAQG,GAAUF,EAAcG,GAE1D,IAAIE,EAAWR,GAAiBxC,EAAkBxlD,IAAKooD,GAGvD,OAFA32B,EAAMt1B,KAAKqsD,GAEJ/2B,EAGR,IAAIg3B,GAAkB,CACrBz0D,SAAU,OAGVy9B,MAAO,CACN5kB,SAAUksC,GAAWC,WAAWU,cAKlC,SAASgP,GAAqBjpD,EAAOkN,GACpC,OAAOgM,GAAUlM,SAAShN,IAAUA,GAAS,EAAIA,EAAQkN,EAG1D,IAAIg8C,GAAoBhE,GAAWx2C,OAAO,CACzCywC,oBAAqB,WACpB,IAQI9hC,EAAcS,EAAM9d,EAAO7F,EAAMV,EAAGoU,EARpC1P,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVlC,EAAQwF,EAAGxF,MACXI,EAAWJ,EAAMwB,KAAKpB,SACtB8xB,EAAe1sB,EAAG0sB,eACtB,SAASs+B,EAAUrrC,GAClB,OAAO+M,EAAe/M,EAAKI,UAAY/f,EAAGpC,GAAK+hB,EAAKM,UAAYjgB,EAAGpC,GAKpEoC,EAAGmC,IAAMnE,OAAOs6B,kBAChBt4B,EAAGoC,IAAMpE,OAAOo3C,kBAChBp1C,EAAG2qD,WAAa3sD,OAAOs6B,kBAEvB,IAAI2xB,EAAY/4B,EAAK7D,QACrB,QAAkB12B,IAAdszD,EACH,IAAK/qC,EAAe,EAAGA,EAAetkB,EAASnE,OAAQyoB,IAEtD,GADAS,EAAOnlB,EAAM2lB,eAAejB,GACxB1kB,EAAMu2B,iBAAiB7R,IAAiB8rC,EAAUrrC,SACtChpB,IAAfgpB,EAAKoM,MAAqB,CAC1Bk+B,GAAY,EACZ,MAKH,GAAI/4B,EAAK7D,SAAW48B,EAAW,CAC9B,IAAIgB,EAAiB,GAErB,IAAK/rC,EAAe,EAAGA,EAAetkB,EAASnE,OAAQyoB,IAAgB,CACtES,EAAOnlB,EAAM2lB,eAAejB,GAC5B,IAAIxsB,EAAM,CACTitB,EAAK5iB,UAEcpG,IAAjBu6B,EAAK7D,cAAwC12B,IAAfgpB,EAAKoM,MAAuB7M,EAAe,GAC3ES,EAAKoM,OACJvmB,KAAK,KAEP,GAAIhL,EAAMu2B,iBAAiB7R,IAAiB8rC,EAAUrrC,GAMrD,SAL4BhpB,IAAxBs0D,EAAev4D,KAClBu4D,EAAev4D,GAAO,IAGvBsJ,EAAOpB,EAASskB,GAAcljB,KACzBV,EAAI,EAAGoU,EAAO1T,EAAKvF,OAAQ6E,EAAIoU,EAAMpU,IAAK,CAC9C,IAAIqO,EAASshD,EAAev4D,GAC5BmP,EAAQ7B,EAAG+tB,YAAY/xB,EAAKV,IAExB6N,MAAMtH,EAAMM,MAAQgH,MAAMtH,EAAMO,MAAQud,EAAK3jB,KAAKV,GAAGwgB,QAAUja,EAAMM,IAAM,GAAKN,EAAMO,IAAM,IAGhGuH,EAAOrO,GAAKqO,EAAOrO,IAAM,EACzBqO,EAAOrO,IAAMuG,EAAMO,MAKtB2Y,GAAU3L,KAAK67C,GAAgB,SAASC,GACvC,GAAIA,EAAcz0D,OAAS,EAAG,CAC7B,IAAI00D,EAASpwC,GAAU5Y,IAAI+oD,GACvBE,EAASrwC,GAAU3Y,IAAI8oD,GAC3BlrD,EAAGmC,IAAMxM,KAAKwM,IAAInC,EAAGmC,IAAKgpD,GAC1BnrD,EAAGoC,IAAMzM,KAAKyM,IAAIpC,EAAGoC,IAAKgpD,YAK5B,IAAKlsC,EAAe,EAAGA,EAAetkB,EAASnE,OAAQyoB,IAEtD,GADAS,EAAOnlB,EAAM2lB,eAAejB,GACxB1kB,EAAMu2B,iBAAiB7R,IAAiB8rC,EAAUrrC,GAErD,IADA3jB,EAAOpB,EAASskB,GAAcljB,KACzBV,EAAI,EAAGoU,EAAO1T,EAAKvF,OAAQ6E,EAAIoU,EAAMpU,IACzCuG,EAAQ7B,EAAG+tB,YAAY/xB,EAAKV,IAExB6N,MAAMtH,EAAMM,MAAQgH,MAAMtH,EAAMO,MAAQud,EAAK3jB,KAAKV,GAAGwgB,QAAUja,EAAMM,IAAM,GAAKN,EAAMO,IAAM,IAIhGpC,EAAGmC,IAAMxM,KAAKwM,IAAIN,EAAMM,IAAKnC,EAAGmC,KAChCnC,EAAGoC,IAAMzM,KAAKyM,IAAIP,EAAMO,IAAKpC,EAAGoC,KAEd,IAAdP,EAAMM,MACTnC,EAAG2qD,WAAah1D,KAAKwM,IAAIN,EAAMM,IAAKnC,EAAG2qD,cAO5C3qD,EAAGmC,IAAM4Y,GAAUlM,SAAS7O,EAAGmC,KAAOnC,EAAGmC,IAAM,KAC/CnC,EAAGoC,IAAM2Y,GAAUlM,SAAS7O,EAAGoC,KAAOpC,EAAGoC,IAAM,KAC/CpC,EAAG2qD,WAAa5vC,GAAUlM,SAAS7O,EAAG2qD,YAAc3qD,EAAG2qD,WAAa,KAGpE97D,KAAK65D,0BAGNA,uBAAwB,WACvB,IAAI1oD,EAAKnR,KACL+kC,EAAW5zB,EAAGtD,QAAQm3B,MACtB41B,EAAc,EACdC,EAAc,GAElB1pD,EAAGmC,IAAM2oD,GAAqBl3B,EAASzxB,IAAKnC,EAAGmC,KAC/CnC,EAAGoC,IAAM0oD,GAAqBl3B,EAASxxB,IAAKpC,EAAGoC,KAE3CpC,EAAGmC,MAAQnC,EAAGoC,MACF,IAAXpC,EAAGmC,KAAwB,OAAXnC,EAAGmC,KACtBnC,EAAGmC,IAAMxM,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAMnZ,EAAGmC,MAAQ,GAClDnC,EAAGoC,IAAMzM,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAMnZ,EAAGoC,MAAQ,KAElDpC,EAAGmC,IAAMsnD,EACTzpD,EAAGoC,IAAMsnD,IAGI,OAAX1pD,EAAGmC,MACNnC,EAAGmC,IAAMxM,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAMnZ,EAAGoC,MAAQ,IAEpC,OAAXpC,EAAGoC,MACNpC,EAAGoC,IAAiB,IAAXpC,EAAGmC,IACTxM,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAMnZ,EAAGmC,MAAQ,GACzCunD,GAEkB,OAAlB1pD,EAAG2qD,aACF3qD,EAAGmC,IAAM,EACZnC,EAAG2qD,WAAa3qD,EAAGmC,IACTnC,EAAGoC,IAAM,EACnBpC,EAAG2qD,WAAah1D,KAAKqM,IAAI,GAAIrM,KAAKD,MAAMyjB,GAAMnZ,EAAGoC,OAEjDpC,EAAG2qD,WAAalB,IAKnBtI,WAAY,WACX,IAAInhD,EAAKnR,KACL+kC,EAAW5zB,EAAGtD,QAAQm3B,MACtBvkB,GAAWtP,EAAG0sB,eAEdk7B,EAAoB,CACvBzlD,IAAK2oD,GAAqBl3B,EAASzxB,KACnCC,IAAK0oD,GAAqBl3B,EAASxxB,MAEhCyxB,EAAQ7zB,EAAG6zB,MAAQw2B,GAAgBzC,EAAmB5nD,GAI1DA,EAAGoC,IAAM2Y,GAAU3Y,IAAIyxB,GACvB7zB,EAAGmC,IAAM4Y,GAAU5Y,IAAI0xB,GAEnBD,EAAStkB,SACZA,GAAWA,EACXtP,EAAGmb,MAAQnb,EAAGoC,IACdpC,EAAGwrB,IAAMxrB,EAAGmC,MAEZnC,EAAGmb,MAAQnb,EAAGmC,IACdnC,EAAGwrB,IAAMxrB,EAAGoC,KAETkN,GACHukB,EAAMvkB,WAIR8yC,qBAAsB,WACrBvzD,KAAKw8D,WAAax8D,KAAKglC,MAAM99B,QAE7BgxD,GAAWx/C,UAAU66C,qBAAqB56C,KAAK3Y,OAIhDy4C,iBAAkB,SAASr5B,EAAOiR,GACjC,OAAOrwB,KAAKq1D,eAAer1D,KAAK2L,MAAMwB,KAAKpB,SAASskB,GAAcljB,KAAKiS,KAGxE2c,gBAAiB,SAAS3c,GACzB,IAAI4lB,EAAQhlC,KAAKw8D,WACjB,OAAIp9C,EAAQ,GAAKA,EAAQ4lB,EAAMp9B,OAAS,EAChC,KAED5H,KAAK4+B,iBAAiBoG,EAAM5lB,KASpCq9C,mBAAoB,SAASzpD,GAC5B,IAAIyoD,EAAM30D,KAAKD,MAAMyjB,GAAMtX,IACvB0oD,EAAc50D,KAAKD,MAAMmM,EAAQlM,KAAKqM,IAAI,GAAIsoD,IAElD,OAAOC,EAAc50D,KAAKqM,IAAI,GAAIsoD,IAGnC9oC,WAAY,WACX,IAAIxhB,EAAKnR,KACLssB,EAAQnb,EAAGmC,IACXjP,EAAS,EAEb6zD,GAAWx/C,UAAUia,WAAWha,KAAKxH,GAEvB,IAAVmb,IACHA,EAAQnb,EAAGsrD,mBAAmBtrD,EAAG2qD,YACjCz3D,EAASk3D,GAAiBpqD,EAAGtD,QAAQm3B,MAAMtb,SAAUV,EAAclpB,OAAO8oB,iBAAmBzX,EAAG0qB,SAGjG1qB,EAAGsnD,YAAcnuC,GAAMgC,GACvBnb,EAAGurD,aAAer4D,EAClB8M,EAAGunD,aAAepuC,GAAMnZ,EAAGoC,KAAO+W,GAAMgC,KAAW,EAAIjoB,IAGxDu6B,iBAAkB,SAAS5rB,GAC1B,IAAI7B,EAAKnR,KACLu1D,EAAU,EAOd,OALAviD,GAAS7B,EAAGg1B,cAAcnzB,GAEtBA,EAAQ7B,EAAGmC,KAAON,EAAQ,IAC7BuiD,GAAWjrC,GAAMtX,GAAS7B,EAAGsnD,aAAetnD,EAAGunD,YAAcvnD,EAAGurD,cAE1DvrD,EAAGgvB,mBAAmBo1B,IAG9BD,iBAAkB,SAASjO,GAC1B,IAAIl2C,EAAKnR,KACLu1D,EAAUpkD,EAAGqkD,mBAAmBnO,GACpC,OAAmB,IAAZkO,GAA4B,IAAXpkD,EAAGmC,IACxB,EACAxM,KAAKqM,IAAI,GAAIhC,EAAGsnD,aAAelD,EAAUpkD,EAAGurD,cAAgBvrD,EAAGunD,gBAKhEiE,GAAcX,GAClBE,GAAkBtD,UAAY+D,GAE9B,IAAIC,GAAmB1wC,GAAUjM,eAC7B48C,GAA0B3wC,GAAU/L,sBACpC28C,GAAY5wC,GAAUre,QAAQic,QAE9BizC,GAAkB,CACrBj2B,SAAS,EAGTk2B,SAAS,EACTz1D,SAAU,YAEVs/B,WAAY,CACXC,SAAS,EACT5wB,MAAO,kBACPigB,UAAW,EACX0B,WAAY,GACZC,iBAAkB,GAGnB+E,UAAW,CACVkK,UAAU,GAIX/B,MAAO,CAENi4B,mBAAmB,EAGnBC,cAAe,yBAGfC,iBAAkB,EAGlBC,iBAAkB,EAElBh9C,SAAUksC,GAAWC,WAAWvpC,QAGjCgkB,YAAa,CAEZF,SAAS,EAGTpd,SAAU,GAGVtJ,SAAU,SAASlU,GAClB,OAAOA,KAKV,SAASmxD,GAAsBh7B,GAC9B,IAAI0C,EAAW1C,EAAK2C,MAEpB,OAAID,EAAS+B,SAAWzE,EAAKyE,QACrB81B,GAAiB73B,EAASrb,SAAUV,EAAclpB,OAAO8oB,iBAA+C,EAA5Bmc,EAASo4B,iBAEtF,EAGR,SAASG,GAAiB73C,EAAKmE,EAAY1d,GAC1C,OAAIggB,GAAUrM,QAAQ3T,GACd,CACN9F,EAAG8lB,GAAU2+B,YAAYplC,EAAKA,EAAIyD,KAAMhd,GACxCnK,EAAGmK,EAAMtE,OAASgiB,GAIb,CACNxjB,EAAGqf,EAAIq1B,YAAY5uC,GAAO8C,MAC1BjN,EAAG6nB,GAIL,SAAS2zC,GAAgBzmC,EAAO6T,EAAKlkB,EAAMnT,EAAKC,GAC/C,OAAIujB,IAAUxjB,GAAOwjB,IAAUvjB,EACvB,CACN+Y,MAAOqe,EAAOlkB,EAAO,EACrBkW,IAAKgO,EAAOlkB,EAAO,GAEVqQ,EAAQxjB,GAAOwjB,EAAQvjB,EAC1B,CACN+Y,MAAOqe,EAAMlkB,EACbkW,IAAKgO,GAIA,CACNre,MAAOqe,EACPhO,IAAKgO,EAAMlkB,GAOb,SAAS+2C,GAAmBpjD,GA4B3B,IAWI3N,EAAGgxD,EAAUp1B,EAXbq1B,EAASxxC,GAAUre,QAAQ2b,WAAWpP,EAAMvM,QAAQm5B,aAIpD22B,EAAiB,CACpB34D,EAAG,EACHoO,EAAGgH,EAAMpL,MACT+F,EAAG,EACH3M,EAAGgS,EAAMnL,OAASmL,EAAM4vC,YAErB4T,EAAiB,GAGrBxjD,EAAMqL,IAAIyD,KAAOw0C,EAAO1yD,OACxBoP,EAAMyjD,iBAAmB,GAEzB,IAAIC,EAAa1jD,EAAMzO,MAAMwB,KAAKE,OAAOzF,OACzC,IAAK6E,EAAI,EAAGA,EAAIqxD,EAAYrxD,IAAK,CAChC47B,EAAgBjuB,EAAM2jD,iBAAiBtxD,EAAG2N,EAAM4jD,YAAc,GAC9DP,EAAWH,GAAiBljD,EAAMqL,IAAKi4C,EAAO9zC,WAAYxP,EAAM4sB,YAAYv6B,IAC5E2N,EAAMyjD,iBAAiBpxD,GAAKgxD,EAG5B,IAAI9I,EAAev6C,EAAM6jD,cAAcxxD,GACnCqqB,EAAQ5K,GAAUw6B,UAAUiO,GAAgB,IAC5CuJ,EAAUX,GAAgBzmC,EAAOuR,EAAcn1B,EAAGuqD,EAASr3D,EAAG,EAAG,KACjE+3D,EAAUZ,GAAgBzmC,EAAOuR,EAAchmC,EAAGo7D,EAAS17D,EAAG,GAAI,KAElEm8D,EAAQ5xC,MAAQqxC,EAAe34D,IAClC24D,EAAe34D,EAAIk5D,EAAQ5xC,MAC3BsxC,EAAe54D,EAAI2vD,GAGhBuJ,EAAQvhC,IAAMghC,EAAevqD,IAChCuqD,EAAevqD,EAAI8qD,EAAQvhC,IAC3BihC,EAAexqD,EAAIuhD,GAGhBwJ,EAAQ7xC,MAAQqxC,EAAe5oD,IAClC4oD,EAAe5oD,EAAIopD,EAAQ7xC,MAC3BsxC,EAAe7oD,EAAI4/C,GAGhBwJ,EAAQxhC,IAAMghC,EAAev1D,IAChCu1D,EAAev1D,EAAI+1D,EAAQxhC,IAC3BihC,EAAex1D,EAAIusD,GAIrBv6C,EAAMgkD,cAAchkD,EAAM4jD,YAAaL,EAAgBC,GAGxD,SAASS,GAAqBvnC,GAC7B,OAAc,IAAVA,GAAyB,MAAVA,EACX,SACGA,EAAQ,IACX,OAGD,QAGR,SAASgnB,GAASr4B,EAAK+b,EAAMj6B,EAAUqiB,GACtC,IACInd,EAAGoU,EADHxe,EAAIkF,EAASlF,EAAIunB,EAAa,EAGlC,GAAIsC,GAAUrM,QAAQ2hB,GACrB,IAAK/0B,EAAI,EAAGoU,EAAO2gB,EAAK55B,OAAQ6E,EAAIoU,IAAQpU,EAC3CgZ,EAAIq4B,SAAStc,EAAK/0B,GAAIlF,EAAS2L,EAAG7Q,GAClCA,GAAKunB,OAGNnE,EAAIq4B,SAAStc,EAAMj6B,EAAS2L,EAAG7Q,GAIjC,SAASi8D,GAAkCxnC,EAAO2mC,EAAUl2D,GAC7C,KAAVuvB,GAA0B,MAAVA,EACnBvvB,EAASlF,GAAMo7D,EAAS17D,EAAI,GAClB+0B,EAAQ,KAAOA,EAAQ,MACjCvvB,EAASlF,GAAKo7D,EAAS17D,GAIzB,SAASw8D,GAAgBnkD,GACxB,IAAIqL,EAAMrL,EAAMqL,IACZ4c,EAAOjoB,EAAMvM,QACb2wD,EAAiBn8B,EAAK2E,YACtBy3B,EAAqBpB,GAAsBh7B,GAC3Cq8B,EAAgBtkD,EAAM2tB,8BAA8B1F,EAAK2C,MAAMvkB,QAAUrG,EAAM9G,IAAM8G,EAAM7G,KAC3FmqD,EAASxxC,GAAUre,QAAQ2b,WAAWg1C,GAE1C/4C,EAAImB,OAEJnB,EAAIyD,KAAOw0C,EAAO1yD,OAClBya,EAAIo4B,aAAe,SAEnB,IAAK,IAAIpxC,EAAI2N,EAAMzO,MAAMwB,KAAKE,OAAOzF,OAAS,EAAG6E,GAAK,EAAGA,IAAK,CAE7D,IAAIkyD,EAAe,IAANlyD,EAAUgyD,EAAqB,EAAI,EAC5CG,EAAqBxkD,EAAM2jD,iBAAiBtxD,EAAGiyD,EAAgBC,EAAQ,GAGvEE,EAAsBhC,GAAwB2B,EAAevP,UAAWxiD,EAAGuc,EAAclpB,OAAO4oB,kBACpGjD,EAAI+R,UAAYqnC,EAEhB,IAAIlK,EAAev6C,EAAM6jD,cAAcxxD,GACnCqqB,EAAQ5K,GAAUw6B,UAAUiO,GAChClvC,EAAIuF,UAAYqzC,GAAqBvnC,GACrCwnC,GAAkCxnC,EAAO1c,EAAMyjD,iBAAiBpxD,GAAImyD,GACpE9gB,GAASr4B,EAAKrL,EAAM4sB,YAAYv6B,GAAImyD,EAAoBlB,EAAO9zC,YAEhEnE,EAAIqB,UAGL,SAASg4C,GAAe1kD,EAAOg6C,EAAcxuC,EAAQxG,GACpD,IAKIipB,EALA5iB,EAAMrL,EAAMqL,IACZshB,EAAWqtB,EAAartB,SACxB+2B,EAAa1jD,EAAMzO,MAAMwB,KAAKE,OAAOzF,OACrC2uD,EAAYsG,GAAwBzI,EAAal+C,MAAOkJ,EAAQ,GAChE+W,EAAY0mC,GAAwBzI,EAAaj+B,UAAW/W,EAAQ,GAGxE,IAAM2nB,GAAa+2B,IAAgBvH,GAAcpgC,EAAjD,CAaA,GATA1Q,EAAImB,OACJnB,EAAIgS,YAAc8+B,EAClB9wC,EAAI0Q,UAAYA,EACZ1Q,EAAImT,cACPnT,EAAImT,YAAYw7B,EAAav8B,YAAc,IAC3CpS,EAAIoT,eAAiBu7B,EAAat8B,kBAAoB,GAGvDrS,EAAIsB,YACAggB,EAEHthB,EAAIS,IAAI9L,EAAMwtB,QAASxtB,EAAMytB,QAASjiB,EAAQ,EAAa,EAAV9e,KAAK4O,QAChD,CAEN2yB,EAAgBjuB,EAAM2jD,iBAAiB,EAAGn4C,GAC1CH,EAAIQ,OAAOoiB,EAAcn1B,EAAGm1B,EAAchmC,GAE1C,IAAK,IAAIoK,EAAI,EAAGA,EAAIqxD,EAAYrxD,IAC/B47B,EAAgBjuB,EAAM2jD,iBAAiBtxD,EAAGmZ,GAC1CH,EAAIuB,OAAOqhB,EAAcn1B,EAAGm1B,EAAchmC,GAG5CojB,EAAIU,YACJV,EAAI0B,SACJ1B,EAAIqB,WAGL,SAASi4C,GAAaC,GACrB,OAAO9yC,GAAUuB,SAASuxC,GAASA,EAAQ,EAG5C,IAAIC,GAAqBrF,GAAiBl4C,OAAO,CAChDswC,cAAe,WACd,IAAI7gD,EAAKnR,KAGTmR,EAAGnC,MAAQmC,EAAGgxB,SACdhxB,EAAGlC,OAASkC,EAAGixB,UACfjxB,EAAG64C,WAAaqT,GAAsBlsD,EAAGtD,SAAW,EACpDsD,EAAGy2B,QAAU9gC,KAAKD,MAAMsK,EAAGnC,MAAQ,GACnCmC,EAAG02B,QAAU/gC,KAAKD,OAAOsK,EAAGlC,OAASkC,EAAG64C,YAAc,GACtD74C,EAAG6sD,YAAcl3D,KAAKwM,IAAInC,EAAGlC,OAASkC,EAAG64C,WAAY74C,EAAGnC,OAAS,GAGlEmjD,oBAAqB,WACpB,IAAIhhD,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACX2H,EAAMnE,OAAOs6B,kBACbl2B,EAAMpE,OAAOo3C,kBAEjBr6B,GAAU3L,KAAK5U,EAAMwB,KAAKpB,UAAU,SAASE,EAASokB,GACrD,GAAI1kB,EAAMu2B,iBAAiB7R,GAAe,CACzC,IAAIS,EAAOnlB,EAAM2lB,eAAejB,GAEhCnE,GAAU3L,KAAKtU,EAAQkB,MAAM,SAASioD,EAAUh2C,GAC/C,IAAIpM,GAAS7B,EAAGg1B,cAAcivB,GAC1B96C,MAAMtH,IAAU8d,EAAK3jB,KAAKiS,GAAO6N,SAIrC3Z,EAAMxM,KAAKwM,IAAIN,EAAOM,GACtBC,EAAMzM,KAAKyM,IAAIP,EAAOO,WAKzBpC,EAAGmC,IAAOA,IAAQnE,OAAOs6B,kBAAoB,EAAIn2B,EACjDnC,EAAGoC,IAAOA,IAAQpE,OAAOo3C,kBAAoB,EAAIhzC,EAGjDpC,EAAG0oD,0BAIJQ,kBAAmB,WAClB,OAAOvzD,KAAKmpD,KAAKjwD,KAAKg+D,YAAcX,GAAsBr9D,KAAK6N,WAGhE0lD,qBAAsB,WACrB,IAAIpiD,EAAKnR,KAET45D,GAAiBlhD,UAAU66C,qBAAqB56C,KAAKxH,GAGrDA,EAAG61B,YAAc71B,EAAGxF,MAAMwB,KAAKE,OAAOrB,KAAI,WACzC,IAAIE,EAAQggB,GAAU9L,SAASjP,EAAGtD,QAAQm5B,YAAY5mB,SAAUrK,UAAW5E,GAC3E,OAAOjF,GAAmB,IAAVA,EAAcA,EAAQ,OAIxCusC,iBAAkB,SAASr5B,EAAOiR,GACjC,OAAQrwB,KAAKmmC,cAAcnmC,KAAK2L,MAAMwB,KAAKpB,SAASskB,GAAcljB,KAAKiS,KAGxEyzC,IAAK,WACJ,IAAI1hD,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QAEVw0B,EAAKyE,SAAWzE,EAAK2E,YAAYF,QACpC02B,GAAmBrsD,GAEnBA,EAAG+tD,eAAe,EAAG,EAAG,EAAG,IAQ7Bd,cAAe,SAASe,EAAuBxB,EAAgBC,GAC9D,IAAIzsD,EAAKnR,KACLo/D,EAAsBzB,EAAe34D,EAAI8B,KAAK+O,IAAI+nD,EAAe54D,GACjEq6D,EAAuBv4D,KAAKyM,IAAIoqD,EAAevqD,EAAIjC,EAAGnC,MAAO,GAAKlI,KAAK+O,IAAI+nD,EAAexqD,GAC1FksD,GAAsB3B,EAAe5oD,EAAIjO,KAAK8O,IAAIgoD,EAAe7oD,GACjEwqD,GAAyBz4D,KAAKyM,IAAIoqD,EAAev1D,GAAK+I,EAAGlC,OAASkC,EAAG64C,YAAa,GAAKljD,KAAK8O,IAAIgoD,EAAex1D,GAEnHg3D,EAAsBL,GAAaK,GACnCC,EAAuBN,GAAaM,GACpCC,EAAqBP,GAAaO,GAClCC,EAAwBR,GAAaQ,GAErCpuD,EAAG6sD,YAAcl3D,KAAKwM,IACrBxM,KAAKD,MAAMs4D,GAAyBC,EAAsBC,GAAwB,GAClFv4D,KAAKD,MAAMs4D,GAAyBG,EAAqBC,GAAyB,IACnFpuD,EAAG+tD,eAAeE,EAAqBC,EAAsBC,EAAoBC,IAGlFL,eAAgB,SAASM,EAAcC,EAAeC,EAAaC,GAClE,IAAIxuD,EAAKnR,KACL4/D,EAAWzuD,EAAGnC,MAAQywD,EAAgBtuD,EAAG6sD,YACzC6B,EAAUL,EAAeruD,EAAG6sD,YAC5B8B,EAASJ,EAAcvuD,EAAG6sD,YAC1B+B,EAAa5uD,EAAGlC,OAASkC,EAAG64C,WAAc2V,EAAiBxuD,EAAG6sD,YAElE7sD,EAAGy2B,QAAU9gC,KAAKD,OAAQg5D,EAAUD,GAAY,EAAKzuD,EAAG0U,MACxD1U,EAAG02B,QAAU/gC,KAAKD,OAAQi5D,EAASC,GAAa,EAAK5uD,EAAG2U,IAAM3U,EAAG64C,aAGlEiU,cAAe,SAAS7+C,GACvB,IAAIzT,EAAQ3L,KAAK2L,MACbq0D,EAAkB,IAAMr0D,EAAMwB,KAAKE,OAAOzF,OAC1CiG,EAAUlC,EAAMkC,SAAW,GAC3B0nB,EAAa1nB,EAAQ0nB,YAAc,EAGnCuB,GAAS1X,EAAQ4gD,EAAkBzqC,GAAc,IAErD,OAAQuB,EAAQ,EAAIA,EAAQ,IAAMA,GAAShwB,KAAK4O,GAAK,EAAI,KAG1DqyB,8BAA+B,SAAS/0B,GACvC,IAAI7B,EAAKnR,KAET,GAAIksB,GAAUtM,cAAc5M,GAC3B,OAAOotB,IAIR,IAAI6/B,EAAgB9uD,EAAG6sD,aAAe7sD,EAAGoC,IAAMpC,EAAGmC,KAClD,OAAInC,EAAGtD,QAAQm3B,MAAMvkB,SACZtP,EAAGoC,IAAMP,GAASitD,GAEnBjtD,EAAQ7B,EAAGmC,KAAO2sD,GAG3BlC,iBAAkB,SAAS3+C,EAAO8gD,GACjC,IAAI/uD,EAAKnR,KACLmgE,EAAYhvD,EAAG8sD,cAAc7+C,GAAUtY,KAAK4O,GAAK,EACrD,MAAO,CACNxC,EAAGpM,KAAK8O,IAAIuqD,GAAaD,EAAqB/uD,EAAGy2B,QACjDvlC,EAAGyE,KAAK+O,IAAIsqD,GAAaD,EAAqB/uD,EAAG02B,UAInDS,yBAA0B,SAASlpB,EAAOpM,GACzC,OAAOhT,KAAK+9D,iBAAiB3+C,EAAOpf,KAAK+nC,8BAA8B/0B,KAGxEotD,gBAAiB,SAAShhD,GACzB,IAAIjO,EAAKnR,KACLsT,EAAMnC,EAAGmC,IACTC,EAAMpC,EAAGoC,IAEb,OAAOpC,EAAGm3B,yBAAyBlpB,GAAS,EAC3CjO,EAAG81B,YAAc,EACjB3zB,EAAM,GAAKC,EAAM,EAAIA,EACrBD,EAAM,GAAKC,EAAM,EAAID,EACrB,IAMF6jD,UAAW,WACV,IAOI1qD,EAAGpI,EAAQkD,EAPX4J,EAAKnR,KACLylB,EAAMtU,EAAGsU,IACT4c,EAAOlxB,EAAGtD,QACVumD,EAAe/xB,EAAKxF,UACpBwjC,EAAgBh+B,EAAKwE,WACrB1Q,EAAYymC,GAAiByD,EAAclqC,UAAWi+B,EAAaj+B,WACnEogC,EAAYqG,GAAiByD,EAAcnqD,MAAOk+C,EAAal+C,OAgBnE,GAbImsB,EAAK2E,YAAYF,SACpBy3B,GAAgBptD,GAGbijD,EAAattB,SAChB5a,GAAU3L,KAAKpP,EAAG6zB,OAAO,SAAS94B,EAAOkT,GAC1B,IAAVA,IACH/a,EAAS8M,EAAG42B,8BAA8B52B,EAAGspD,eAAer7C,IAC5D0/C,GAAe3tD,EAAIijD,EAAc/vD,EAAQ+a,OAKxCihD,EAAcv5B,SAAW3Q,GAAaogC,EAAW,CASpD,IARA9wC,EAAImB,OACJnB,EAAI0Q,UAAYA,EAChB1Q,EAAIgS,YAAc8+B,EACd9wC,EAAImT,cACPnT,EAAImT,YAAYkkC,GAAU,CAACuD,EAAcxoC,WAAYu8B,EAAav8B,WAAY,MAC9EpS,EAAIoT,eAAiBikC,GAAU,CAACuD,EAAcvoC,iBAAkBs8B,EAAat8B,iBAAkB,KAG3FrrB,EAAI0E,EAAGxF,MAAMwB,KAAKE,OAAOzF,OAAS,EAAG6E,GAAK,EAAGA,IACjDpI,EAAS8M,EAAG42B,8BAA8B1F,EAAK2C,MAAMvkB,QAAUtP,EAAGmC,IAAMnC,EAAGoC,KAC3EhM,EAAW4J,EAAG4sD,iBAAiBtxD,EAAGpI,GAClCohB,EAAIsB,YACJtB,EAAIQ,OAAO9U,EAAGy2B,QAASz2B,EAAG02B,SAC1BpiB,EAAIuB,OAAOzf,EAAS2L,EAAG3L,EAASlF,GAChCojB,EAAI0B,SAGL1B,EAAIqB,YAONwwC,YAAa,WACZ,IAAInmD,EAAKnR,KACLylB,EAAMtU,EAAGsU,IACT4c,EAAOlxB,EAAGtD,QACVk3B,EAAW1C,EAAK2C,MAEpB,GAAKD,EAAS+B,QAAd,CAIA,IAGIziC,EAAQ2K,EAHRumB,EAAapkB,EAAG8sD,cAAc,GAC9BnQ,EAAW5hC,GAAUre,QAAQ2b,WAAWub,GACxCu7B,EAAgB1D,GAAiB73B,EAASkqB,UAAWjmC,EAAclpB,OAAO4oB,kBAG9EjD,EAAImB,OACJnB,EAAIyD,KAAO4kC,EAAS9iD,OACpBya,EAAI/hB,UAAUyN,EAAGy2B,QAASz2B,EAAG02B,SAC7BpiB,EAAI3H,OAAOyX,GACX9P,EAAIuF,UAAY,SAChBvF,EAAIo4B,aAAe,SAEnB3xB,GAAU3L,KAAKpP,EAAG6zB,OAAO,SAAS94B,EAAOkT,IAC1B,IAAVA,GAAgB2lB,EAAStkB,WAI7Bpc,EAAS8M,EAAG42B,8BAA8B52B,EAAGspD,eAAer7C,IAExD2lB,EAASk4B,oBACZjuD,EAAQyW,EAAIq1B,YAAY5uC,GAAO8C,MAC/ByW,EAAI+R,UAAYuN,EAASm4B,cAEzBz3C,EAAI2V,UACFpsB,EAAQ,EAAI+1B,EAASq4B,kBACrB/4D,EAASypD,EAASrnC,KAAO,EAAIse,EAASo4B,iBACvCnuD,EAAoC,EAA5B+1B,EAASq4B,iBACjBtP,EAASrnC,KAAmC,EAA5Bse,EAASo4B,mBAI3B13C,EAAI+R,UAAY8oC,EAChB76C,EAAIq4B,SAAS5xC,EAAO,GAAI7H,OAGzBohB,EAAIqB,YAMLywC,WAAYrrC,GAAUxM,OAInB6gD,GAAcxD,GAClBkC,GAAmBrG,UAAY2H,GAE/B,IAAIC,GAAet0C,GAAU9J,YACzBq+C,GAAYv0C,GAAUre,QAAQic,QAC9B42C,GAAmBx0C,GAAUjM,eAG7B0gD,GAAcxxD,OAAOyxD,mBAAqB,iBAC1CC,GAAc1xD,OAAO2xD,kBAAoB,iBAEzCC,GAAY,CACfC,YAAa,CACZC,QAAQ,EACRx6C,KAAM,EACNy6C,MAAO,KAERC,OAAQ,CACPF,QAAQ,EACRx6C,KAAM,IACNy6C,MAAO,IAERl+D,OAAQ,CACPi+D,QAAQ,EACRx6C,KAAM,IACNy6C,MAAO,IAERp+D,KAAM,CACLm+D,QAAQ,EACRx6C,KAAM,KACNy6C,MAAO,IAER52D,IAAK,CACJ22D,QAAQ,EACRx6C,KAAM,MACNy6C,MAAO,IAER3+D,KAAM,CACL0+D,QAAQ,EACRx6C,KAAM,OACNy6C,MAAO,GAERt7D,MAAO,CACNq7D,QAAQ,EACRx6C,KAAM,OACNy6C,MAAO,IAERE,QAAS,CACRH,QAAQ,EACRx6C,KAAM,OACNy6C,MAAO,GAERG,KAAM,CACLJ,QAAQ,EACRx6C,KAAM,SAIJ66C,GAAQ30D,OAAOC,KAAKm0D,IAExB,SAASQ,GAAO73D,EAAGtB,GAClB,OAAOsB,EAAItB,EAGZ,SAASo5D,GAAYr3B,GACpB,IAEI19B,EAAGoU,EAAM8B,EAFT8+C,EAAO,GACPC,EAAM,GAGV,IAAKj1D,EAAI,EAAGoU,EAAOspB,EAAMviC,OAAQ6E,EAAIoU,IAAQpU,EAC5CkW,EAAOwnB,EAAM19B,GACRg1D,EAAK9+C,KACT8+C,EAAK9+C,IAAQ,EACb++C,EAAIhyD,KAAKiT,IAIX,OAAO++C,EAGR,SAASC,GAAO9zD,GACf,OAAOqe,GAAUjM,eAAepS,EAAQ+zD,KAAKtuD,IAAKzF,EAAQm3B,MAAM1xB,KAGjE,SAASuuD,GAAOh0D,GACf,OAAOqe,GAAUjM,eAAepS,EAAQ+zD,KAAKruD,IAAK1F,EAAQm3B,MAAMzxB,KAkBjE,SAASuuD,GAAiBC,EAAYzuD,EAAKC,EAAKyuD,GAC/C,GAAqB,WAAjBA,IAA8BD,EAAWn6D,OAC5C,MAAO,CACN,CAACg6D,KAAMtuD,EAAKq3B,IAAK,GACjB,CAACi3B,KAAMruD,EAAKo3B,IAAK,IAInB,IAEIl+B,EAAGoU,EAAM4T,EAAMmH,EAAMa,EAFrBwlC,EAAQ,GACR93B,EAAQ,CAAC72B,GAGb,IAAK7G,EAAI,EAAGoU,EAAOkhD,EAAWn6D,OAAQ6E,EAAIoU,IAAQpU,EACjDmvB,EAAOmmC,EAAWt1D,GACdmvB,EAAOtoB,GAAOsoB,EAAOroB,GACxB42B,EAAMz6B,KAAKksB,GAMb,IAFAuO,EAAMz6B,KAAK6D,GAEN9G,EAAI,EAAGoU,EAAOspB,EAAMviC,OAAQ6E,EAAIoU,IAAQpU,EAC5CgwB,EAAO0N,EAAM19B,EAAI,GACjBgoB,EAAO0V,EAAM19B,EAAI,GACjBmvB,EAAOuO,EAAM19B,QAGA3E,IAAT2sB,QAA+B3sB,IAAT20B,GAAsB31B,KAAKkP,OAAOymB,EAAOhI,GAAQ,KAAOmH,GACjFqmC,EAAMvyD,KAAK,CAACkyD,KAAMhmC,EAAM+O,IAAKl+B,GAAKoU,EAAO,KAI3C,OAAOohD,EAIR,SAASC,GAAOD,EAAOp+D,EAAKmP,GAC3B,IAEImvD,EAAKC,EAAIC,EAFTC,EAAK,EACL1tD,EAAKqtD,EAAMr6D,OAAS,EAGxB,MAAO06D,GAAM,GAAKA,GAAM1tD,EAAI,CAK3B,GAJAutD,EAAOG,EAAK1tD,GAAO,EACnBwtD,EAAKH,EAAME,EAAM,IAAM,KACvBE,EAAKJ,EAAME,IAENC,EAEJ,MAAO,CAACE,GAAI,KAAM1tD,GAAIytD,GAChB,GAAIA,EAAGx+D,GAAOmP,EACpBsvD,EAAKH,EAAM,MACL,MAAIC,EAAGv+D,GAAOmP,GAGpB,MAAO,CAACsvD,GAAIF,EAAIxtD,GAAIytD,GAFpBztD,EAAKutD,EAAM,GAOb,MAAO,CAACG,GAAID,EAAIztD,GAAI,MASrB,SAAS2tD,GAAcN,EAAOO,EAAMphD,EAAMqhD,GACzC,IAAItjC,EAAQ+iC,GAAOD,EAAOO,EAAMphD,GAG5BqT,EAAQ0K,EAAMmjC,GAAiBnjC,EAAMvqB,GAA+BuqB,EAAMmjC,GAAhCL,EAAMA,EAAMr6D,OAAS,GAA5Cq6D,EAAM,GACzBxlC,EAAQ0C,EAAMmjC,GAAiBnjC,EAAMvqB,GAA+BuqB,EAAMvqB,GAAhCqtD,EAAMA,EAAMr6D,OAAS,GAA5Cq6D,EAAM,GAEzBS,EAAOjmC,EAAK+lC,GAAQ/tC,EAAK+tC,GACzBptD,EAAQstD,GAAQthD,EAAOqT,EAAK+tC,IAASE,EAAO,EAC5Cr+D,GAAUo4B,EAAKgmC,GAAQhuC,EAAKguC,IAASrtD,EAEzC,OAAOqf,EAAKguC,GAAQp+D,EAGrB,SAASs+D,GAAYvoD,EAAOvV,GAC3B,IAAI+9D,EAAUxoD,EAAMyoD,SAChBh1D,EAAUuM,EAAMvM,QAAQ+zD,KACxBkB,EAASj1D,EAAQi1D,OACjBn9D,EAASm9D,GAAUj1D,EAAQlI,OAC3BqN,EAAQnO,EAaZ,MAXsB,oBAAXi+D,IACV9vD,EAAQ8vD,EAAO9vD,IAIXkZ,GAAUlM,SAAShN,KACvBA,EAA0B,kBAAXrN,EACZi9D,EAAQ9W,MAAM94C,EAAOrN,GACrBi9D,EAAQ9W,MAAM94C,IAGJ,OAAVA,GACKA,GAKJ8vD,GAA4B,oBAAXn9D,IACrBqN,EAAQrN,EAAOd,GAGVqnB,GAAUlM,SAAShN,KACvBA,EAAQ4vD,EAAQ9W,MAAM94C,KAIjBA,GAGR,SAAS84C,GAAM1xC,EAAOvV,GACrB,GAAIqnB,GAAUtM,cAAc/a,GAC3B,OAAO,KAGR,IAAIgJ,EAAUuM,EAAMvM,QAAQ+zD,KACxB5uD,EAAQ2vD,GAAYvoD,EAAOA,EAAM+rB,cAActhC,IACnD,OAAc,OAAVmO,GAIAnF,EAAQmI,QACXhD,GAASoH,EAAMyoD,SAAS9W,QAAQ/4C,EAAOnF,EAAQmI,QAJxChD,EAaT,SAAS+vD,GAA0BC,EAAS1vD,EAAKC,EAAK0vD,GACrD,IACIx2D,EAAGy2D,EAAUvT,EADb9uC,EAAOygD,GAAM15D,OAGjB,IAAK6E,EAAI60D,GAAMt0D,QAAQg2D,GAAUv2D,EAAIoU,EAAO,IAAKpU,EAIhD,GAHAy2D,EAAWnC,GAAUO,GAAM70D,IAC3BkjD,EAASuT,EAAShC,MAAQgC,EAAShC,MAAQL,GAEvCqC,EAASjC,QAAUn6D,KAAKmpD,MAAM18C,EAAMD,IAAQq8C,EAASuT,EAASz8C,QAAUw8C,EAC3E,OAAO3B,GAAM70D,GAIf,OAAO60D,GAAMzgD,EAAO,GAMrB,SAASsiD,GAA2B/oD,EAAO25C,EAAUiP,EAAS1vD,EAAKC,GAClE,IAAI9G,EAAG6sD,EAEP,IAAK7sD,EAAI60D,GAAM15D,OAAS,EAAG6E,GAAK60D,GAAMt0D,QAAQg2D,GAAUv2D,IAEvD,GADA6sD,EAAOgI,GAAM70D,GACTs0D,GAAUzH,GAAM2H,QAAU7mD,EAAMyoD,SAAShvD,KAAKN,EAAKD,EAAKgmD,IAASvF,EAAW,EAC/E,OAAOuF,EAIT,OAAOgI,GAAM0B,EAAU1B,GAAMt0D,QAAQg2D,GAAW,GAGjD,SAASI,GAAmB9J,GAC3B,IAAK,IAAI7sD,EAAI60D,GAAMt0D,QAAQssD,GAAQ,EAAGz4C,EAAOygD,GAAM15D,OAAQ6E,EAAIoU,IAAQpU,EACtE,GAAIs0D,GAAUO,GAAM70D,IAAIw0D,OACvB,OAAOK,GAAM70D,GAWhB,SAAS42D,GAASjpD,EAAO9G,EAAKC,EAAK0vD,GAClC,IAQIrB,EARAgB,EAAUxoD,EAAMyoD,SAChBh1D,EAAUuM,EAAMvM,QAChBy1D,EAAWz1D,EAAQ+zD,KACnBpT,EAAQ8U,EAAShK,MAAQyJ,GAA0BO,EAASN,QAAS1vD,EAAKC,EAAK0vD,GAC/E5J,EAAWoH,GAAU,CAAC6C,EAASjK,SAAUiK,EAASC,aAAc,IAChEC,EAAoB,SAAVhV,GAAmB8U,EAASG,WACtC/U,EAAQp7C,EACR0xB,EAAQ,GAYZ,GARIw+B,IACH9U,GAASkU,EAAQ7W,QAAQ2C,EAAO,UAAW8U,IAI5C9U,GAASkU,EAAQ7W,QAAQ2C,EAAO8U,EAAU,MAAQhV,GAG9CoU,EAAQ/uD,KAAKN,EAAKD,EAAKk7C,GAAS,IAAS6K,EAC5C,MAAM/lD,EAAM,QAAUC,EAAM,uCAAyC8lD,EAAW,IAAM7K,EAGvF,IAAKoT,EAAOlT,EAAOkT,EAAOruD,EAAKquD,GAAQgB,EAAQ1wB,IAAI0vB,EAAMvI,EAAU7K,GAClExpB,EAAMt1B,KAAKkyD,GAOZ,OAJIA,IAASruD,GAA0B,UAAnB1F,EAAQ+sB,QAC3BoK,EAAMt1B,KAAKkyD,GAGL58B,EASR,SAAS0+B,GAAezB,EAAOj9B,EAAO1xB,EAAKC,EAAK1F,GAC/C,IAEI6gD,EAAOrwB,EAFP/R,EAAQ,EACRqQ,EAAM,EAkBV,OAfI9uB,EAAQxJ,QAAU2gC,EAAMp9B,SAC3B8mD,EAAQ6T,GAAcN,EAAO,OAAQj9B,EAAM,GAAI,OAE9C1Y,EADoB,IAAjB0Y,EAAMp9B,OACD,EAAI8mD,GAEH6T,GAAcN,EAAO,OAAQj9B,EAAM,GAAI,OAAS0pB,GAAS,EAEnErwB,EAAOkkC,GAAcN,EAAO,OAAQj9B,EAAMA,EAAMp9B,OAAS,GAAI,OAE5D+0B,EADoB,IAAjBqI,EAAMp9B,OACHy2B,GAECA,EAAOkkC,GAAcN,EAAO,OAAQj9B,EAAMA,EAAMp9B,OAAS,GAAI,QAAU,GAIzE,CAAC0kB,MAAOA,EAAOqQ,IAAKA,EAAKgzB,OAAQ,GAAKrjC,EAAQ,EAAIqQ,IAG1D,SAASgnC,GAAcvpD,EAAO4qB,EAAOh5B,EAAK43D,GACzC,IAGIrV,EAAOnvC,EAHPwjD,EAAUxoD,EAAMyoD,SAChBnU,GAASkU,EAAQ7W,QAAQ/mB,EAAM,GAAGhyB,MAAO4wD,GACzCvlC,EAAO2G,EAAMA,EAAMp9B,OAAS,GAAGoL,MAGnC,IAAKu7C,EAAQG,EAAOH,GAASlwB,EAAMkwB,GAASqU,EAAQ1wB,IAAIqc,EAAO,EAAGqV,GACjExkD,EAAQpT,EAAIuiD,GACRnvC,GAAS,IACZ4lB,EAAM5lB,GAAOmvC,OAAQ,GAGvB,OAAOvpB,EAGR,SAAS6+B,GAAoBzpD,EAAOU,EAAQ8oD,GAC3C,IAGIn3D,EAAGuG,EAHHgyB,EAAQ,GACRh5B,EAAM,GACN6U,EAAO/F,EAAOlT,OAGlB,IAAK6E,EAAI,EAAGA,EAAIoU,IAAQpU,EACvBuG,EAAQ8H,EAAOrO,GACfT,EAAIgH,GAASvG,EAEbu4B,EAAMt1B,KAAK,CACVsD,MAAOA,EACPu7C,OAAO,IAMT,OAAiB,IAAT1tC,GAAe+iD,EAAqBD,GAAcvpD,EAAO4qB,EAAOh5B,EAAK43D,GAAzC5+B,EAGrC,IAAI8+B,GAAkB,CACrBv8D,SAAU,SASVy6D,aAAc,SASdpnC,OAAQ,OAERmpC,SAAU,GACVnC,KAAM,CACLkB,QAAQ,EACRxJ,MAAM,EACNtjD,OAAO,EACPguD,eAAe,EACfP,YAAY,EACZT,QAAS,cACTiB,eAAgB,IAEjBj/B,MAAO,CACN8rB,UAAU,EAUVtyC,OAAQ,OAER+vC,MAAO,CACN5Y,SAAS,KAKRuuB,GAAahM,GAAWx2C,OAAO,CAClCqL,WAAY,WACX/sB,KAAKgiD,oBACLkW,GAAWx/C,UAAUqU,WAAWpU,KAAK3Y,OAGtCyN,OAAQ,WACP,IAAI0D,EAAKnR,KACL6N,EAAUsD,EAAGtD,QACb+zD,EAAO/zD,EAAQ+zD,OAAS/zD,EAAQ+zD,KAAO,IACvCgB,EAAUzxD,EAAG0xD,SAAW,IAAIxW,GAAcD,MAAMv+C,EAAQk2D,SAASI,MAarE,OAVA3D,GAAa,aAAcoB,EAAKj8D,OAAQ,cAAe,eACvD66D,GAAa,aAAcoB,EAAKtuD,IAAK,WAAY,aACjDktD,GAAa,aAAcoB,EAAKruD,IAAK,WAAY,aAMjD2Y,GAAU3K,QAAQqgD,EAAKqC,eAAgBrB,EAAQ/W,WAExCqM,GAAWx/C,UAAUjL,OAAO6S,MAAMnP,EAAI4E,YAM9CowB,cAAe,SAASivB,GAIvB,OAHIA,QAA2BttD,IAAfstD,EAASrgD,IACxBqgD,EAAWA,EAASrgD,GAEdmjD,GAAWx/C,UAAUytB,cAAcxtB,KAAK3Y,KAAMo1D,IAGtDjD,oBAAqB,WACpB,IAUI1lD,EAAGw1B,EAAGphB,EAAMsoB,EAAMh8B,EAAMi3D,EAAWC,EAVnClzD,EAAKnR,KACL2L,EAAQwF,EAAGxF,MACXi3D,EAAUzxD,EAAG0xD,SACbh1D,EAAUsD,EAAGtD,QACbyrD,EAAOzrD,EAAQ+zD,KAAKtI,MAAQ,MAC5BhmD,EAAMutD,GACNttD,EAAMotD,GACNoB,EAAa,GACbh2D,EAAW,GACXsB,EAAS,GAETi3D,EAAanzD,EAAGigD,aAEpB,IAAK3kD,EAAI,EAAGoU,EAAOyjD,EAAW18D,OAAQ6E,EAAIoU,IAAQpU,EACjDY,EAAOqC,KAAKo8C,GAAM36C,EAAImzD,EAAW73D,KAGlC,IAAKA,EAAI,EAAGoU,GAAQlV,EAAMwB,KAAKpB,UAAY,IAAInE,OAAQ6E,EAAIoU,IAAQpU,EAClE,GAAId,EAAMu2B,iBAAiBz1B,GAI1B,GAHAU,EAAOxB,EAAMwB,KAAKpB,SAASU,GAAGU,KAG1B+e,GAAUnM,SAAS5S,EAAK,IAG3B,IAFApB,EAASU,GAAK,GAETw1B,EAAI,EAAGkH,EAAOh8B,EAAKvF,OAAQq6B,EAAIkH,IAAQlH,EAC3CmiC,EAAYtY,GAAM36C,EAAIhE,EAAK80B,IAC3B8/B,EAAWryD,KAAK00D,GAChBr4D,EAASU,GAAGw1B,GAAKmiC,OAGlBr4D,EAASU,GAAKY,EAAOnG,MAAM,GACtBm9D,IACJtC,EAAaA,EAAWrmD,OAAOrO,GAC/Bg3D,GAAc,QAIhBt4D,EAASU,GAAK,GAIZY,EAAOzF,SACV0L,EAAMxM,KAAKwM,IAAIA,EAAKjG,EAAO,IAC3BkG,EAAMzM,KAAKyM,IAAIA,EAAKlG,EAAOA,EAAOzF,OAAS,KAGxCm6D,EAAWn6D,SACdm6D,EAAalhD,EAAO,EAAI2gD,GAAYO,GAAY13C,KAAKk3C,IAAUQ,EAAW13C,KAAKk3C,IAC/EjuD,EAAMxM,KAAKwM,IAAIA,EAAKyuD,EAAW,IAC/BxuD,EAAMzM,KAAKyM,IAAIA,EAAKwuD,EAAWA,EAAWn6D,OAAS,KAGpD0L,EAAMw4C,GAAM36C,EAAIwwD,GAAO9zD,KAAayF,EACpCC,EAAMu4C,GAAM36C,EAAI0wD,GAAOh0D,KAAa0F,EAGpCD,EAAMA,IAAQutD,IAAe+B,EAAQ7W,QAAQl9B,KAAKxpB,MAAOi0D,GAAQhmD,EACjEC,EAAMA,IAAQotD,IAAeiC,EAAQ5W,MAAMn9B,KAAKxpB,MAAOi0D,GAAQ,EAAI/lD,EAGnEpC,EAAGmC,IAAMxM,KAAKwM,IAAIA,EAAKC,GACvBpC,EAAGoC,IAAMzM,KAAKyM,IAAID,EAAM,EAAGC,GAG3BpC,EAAGozD,OAAS,GACZpzD,EAAGqzD,YAAc,CAChBr3D,KAAM40D,EACNh2D,SAAUA,EACVsB,OAAQA,IAIVilD,WAAY,WACX,IAWI7lD,EAAGoU,EAAMujD,EAXTjzD,EAAKnR,KACLsT,EAAMnC,EAAGmC,IACTC,EAAMpC,EAAGoC,IACT1F,EAAUsD,EAAGtD,QACbk3B,EAAWl3B,EAAQm3B,MACnBs+B,EAAWz1D,EAAQ+zD,KACnBG,EAAa5wD,EAAGqzD,YAChBx/B,EAAQ,GACRi+B,EAAW9xD,EAAGszD,iBAAiBnxD,GAC/BkL,EAASumB,EAASvmB,OAClBwjD,EAAen0D,EAAQm0D,aAqB3B,IAjBCD,EADc,SAAXvjD,GAAiC,SAAXA,GAAsC,WAAjBwjD,EACjCD,EAAW50D,KACH,WAAXqR,EACGujD,EAAW10D,OAEXg2D,GAASlyD,EAAImC,EAAKC,EAAK0vD,GAGd,UAAnBp1D,EAAQ+sB,QAAsBmnC,EAAWn6D,SAC5C0L,EAAMyuD,EAAW,GACjBxuD,EAAMwuD,EAAWA,EAAWn6D,OAAS,IAItC0L,EAAMw4C,GAAM36C,EAAIwwD,GAAO9zD,KAAayF,EACpCC,EAAMu4C,GAAM36C,EAAI0wD,GAAOh0D,KAAa0F,EAG/B9G,EAAI,EAAGoU,EAAOkhD,EAAWn6D,OAAQ6E,EAAIoU,IAAQpU,EACjD23D,EAAYrC,EAAWt1D,GACnB23D,GAAa9wD,GAAO8wD,GAAa7wD,GACpCyxB,EAAMt1B,KAAK00D,GAsBb,OAlBAjzD,EAAGmC,IAAMA,EACTnC,EAAGoC,IAAMA,EAKTpC,EAAGuzD,MAAQpB,EAAShK,OAASv0B,EAAS+rB,SACnCiS,GAA0BO,EAASN,QAAS7xD,EAAGmC,IAAKnC,EAAGoC,IAAK0vD,GAC5DE,GAA2BhyD,EAAI6zB,EAAMp9B,OAAQ07D,EAASN,QAAS7xD,EAAGmC,IAAKnC,EAAGoC,MAC7EpC,EAAGwzD,WAAc5/B,EAASwpB,MAAM5Y,SAAwB,SAAbxkC,EAAGuzD,MAC3CtB,GAAmBjyD,EAAGuzD,YADwC58D,EAEjEqJ,EAAGozD,OAASzC,GAAiB3wD,EAAGqzD,YAAYr3D,KAAMmG,EAAKC,EAAKyuD,GAC5D7wD,EAAGyzD,SAAWlB,GAAevyD,EAAGozD,OAAQv/B,EAAO1xB,EAAKC,EAAK1F,GAErDk3B,EAAStkB,SACZukB,EAAMvkB,UAGAojD,GAAoB1yD,EAAI6zB,EAAO7zB,EAAGwzD,aAG1ClsB,iBAAkB,SAASr5B,EAAOiR,GACjC,IAAIlf,EAAKnR,KACL4iE,EAAUzxD,EAAG0xD,SACb11D,EAAOgE,EAAGxF,MAAMwB,KAChBm2D,EAAWnyD,EAAGtD,QAAQ+zD,KACtB11D,EAAQiB,EAAKE,QAAU+R,EAAQjS,EAAKE,OAAOzF,OAASuF,EAAKE,OAAO+R,GAAS,GACzEpM,EAAQ7F,EAAKpB,SAASskB,GAAcljB,KAAKiS,GAK7C,OAHI8M,GAAUnM,SAAS/M,KACtB9G,EAAQiF,EAAGg1B,cAAcnzB,IAEtBswD,EAASuB,cACLjC,EAAQj9D,OAAOg9D,GAAYxxD,EAAIjF,GAAQo3D,EAASuB,eAEnC,kBAAV34D,EACHA,EAED02D,EAAQj9D,OAAOg9D,GAAYxxD,EAAIjF,GAAQo3D,EAASW,eAAea,WAOvEC,mBAAoB,SAASnD,EAAMxiD,EAAO4lB,EAAOr/B,GAChD,IAAIwL,EAAKnR,KACL4iE,EAAUzxD,EAAG0xD,SACbh1D,EAAUsD,EAAGtD,QACbg+C,EAAUh+C,EAAQ+zD,KAAKqC,eACvBe,EAAcnZ,EAAQ16C,EAAGuzD,OACzBd,EAAYzyD,EAAGwzD,WACfM,EAAcpZ,EAAQ+X,GACtB5T,EAAOhrB,EAAM5lB,GACb2lB,EAAWl3B,EAAQm3B,MACnBupB,EAAQqV,GAAaqB,GAAejV,GAAQA,EAAKzB,MACjDriD,EAAQ02D,EAAQj9D,OAAOi8D,EAAMj8D,IAAkB4oD,EAAQ0W,EAAcD,IACrEE,EAAiB3W,EAAQxpB,EAASwpB,MAAQxpB,EAASypB,MACnD2W,EAAY1E,GAAU,CACzByE,EAAe9kD,SACf8kD,EAAe1R,aACfzuB,EAAS3kB,SACT2kB,EAASyuB,eAGV,OAAO2R,EAAYA,EAAUj5D,EAAOkT,EAAO4lB,GAAS94B,GAGrDqnD,qBAAsB,SAASvuB,GAC9B,IACIv4B,EAAGoU,EADHxT,EAAS,GAGb,IAAKZ,EAAI,EAAGoU,EAAOmkB,EAAMp9B,OAAQ6E,EAAIoU,IAAQpU,EAC5CY,EAAOqC,KAAK1P,KAAK+kE,mBAAmB//B,EAAMv4B,GAAGuG,MAAOvG,EAAGu4B,IAGxD,OAAO33B,GAMR+3D,kBAAmB,SAASxD,GAC3B,IAAIzwD,EAAKnR,KACLouD,EAAUj9C,EAAGyzD,SACbj6B,EAAM43B,GAAcpxD,EAAGozD,OAAQ,OAAQ3C,EAAM,OACjD,OAAOzwD,EAAGgvB,oBAAoBiuB,EAAQ9hC,MAAQqe,GAAOyjB,EAAQuB,SAG9D/wB,iBAAkB,SAAS5rB,EAAOoM,EAAOiR,GACxC,IAAIlf,EAAKnR,KACL4hE,EAAO,KAUX,QARc95D,IAAVsX,QAAwCtX,IAAjBuoB,IAC1BuxC,EAAOzwD,EAAGqzD,YAAYz4D,SAASskB,GAAcjR,IAGjC,OAATwiD,IACHA,EAAO9V,GAAM36C,EAAI6B,IAGL,OAAT4uD,EACH,OAAOzwD,EAAGi0D,kBAAkBxD,IAI9B7lC,gBAAiB,SAAS3c,GACzB,IAAI4lB,EAAQhlC,KAAK87B,WACjB,OAAO1c,GAAS,GAAKA,EAAQ4lB,EAAMp9B,OAClC5H,KAAKolE,kBAAkBpgC,EAAM5lB,GAAOpM,OACpC,MAGFsiD,iBAAkB,SAASjO,GAC1B,IAAIl2C,EAAKnR,KACLouD,EAAUj9C,EAAGyzD,SACbj6B,EAAMx5B,EAAGqkD,mBAAmBnO,GAAS+G,EAAQuB,OAASvB,EAAQzxB,IAC9DilC,EAAOW,GAAcpxD,EAAGozD,OAAQ,MAAO55B,EAAK,QAGhD,OAAOx5B,EAAG0xD,SAAS5W,QAAQ2V,IAM5ByD,cAAe,SAASn5D,GACvB,IAAIiF,EAAKnR,KACLs4D,EAAYnnD,EAAGtD,QAAQm3B,MACvBsgC,EAAiBn0D,EAAGsU,IAAIq1B,YAAY5uC,GAAO8C,MAC3C8nB,EAAQ5K,GAAUu6B,UAAUt1C,EAAG0sB,eAAiBy6B,EAAU1H,YAAc0H,EAAU3H,aAClFiE,EAAc9tD,KAAK8O,IAAIkhB,GACvB+9B,EAAc/tD,KAAK+O,IAAIihB,GACvByuC,EAAe7E,GAAiBpI,EAAU5uC,SAAUV,EAAclpB,OAAO8oB,iBAE7E,MAAO,CACNxiB,EAAIk/D,EAAiB1Q,EAAgB2Q,EAAe1Q,EACpD9yD,EAAIujE,EAAiBzQ,EAAgB0Q,EAAe3Q,IAQtD4Q,cAAe,SAASt5D,GACvB,OAAOlM,KAAKqlE,cAAcn5D,GAAO9F,GAMlCq+D,iBAAkB,SAASgB,GAC1B,IAAIt0D,EAAKnR,KACLsjE,EAAWnyD,EAAGtD,QAAQ+zD,KACtBqC,EAAiBX,EAASW,eAG1Bt+D,EAASs+D,EAAeX,EAAShK,OAAS2K,EAAejD,YACzD0E,EAAev0D,EAAG4zD,mBAAmBU,EAAa,EAAG5B,GAAoB1yD,EAAI,CAACs0D,GAAct0D,EAAGwzD,YAAah/D,GAC5G8gB,EAAOtV,EAAGk0D,cAAcK,GACxBzC,EAAWn8D,KAAKD,MAAMsK,EAAG0sB,eAAiB1sB,EAAGnC,MAAQyX,EAAKrgB,EAAI+K,EAAGlC,OAASwX,EAAK1kB,GAMnF,OAJIoP,EAAGtD,QAAQxJ,QACd4+D,IAGMA,EAAW,EAAIA,EAAW,KAK/B0C,GAAc7B,GAClBI,GAAWtL,UAAY+M,GAEvB,IAAI50C,GAAS,CACZ60C,SAAUvN,GACVr1C,OAAQm4C,GACRlO,YAAaiP,GACb2J,aAAc5G,GACd2C,KAAMsC,IAGH4B,GAAU,CACbhB,SAAU,yBACV9D,YAAa,gBACbG,OAAQ,YACRn+D,OAAQ,SACRF,KAAM,KACNwH,IAAK,QACL/H,KAAM,KACNqD,MAAO,WACPw7D,QAAS,cACTC,KAAM,QAGPhV,GAAcD,MAAMF,SAA2B,oBAAXjsD,EAAwB,CAC3D8lE,IAAK,SAELla,QAAS,WACR,OAAOia,IAGRha,MAAO,SAAS94C,EAAOrN,GAMtB,MALqB,kBAAVqN,GAAwC,kBAAXrN,EACvCqN,EAAQ/S,EAAO+S,EAAOrN,GACVqN,aAAiB/S,IAC7B+S,EAAQ/S,EAAO+S,IAETA,EAAMoI,UAAYpI,EAAMgzD,UAAY,MAG5CrgE,OAAQ,SAASi8D,EAAMj8D,GACtB,OAAO1F,EAAO2hE,GAAMj8D,OAAOA,IAG5BusC,IAAK,SAAS0vB,EAAMqE,EAAQ3M,GAC3B,OAAOr5D,EAAO2hE,GAAM1vB,IAAI+zB,EAAQ3M,GAAM0M,WAGvCnyD,KAAM,SAASN,EAAKD,EAAKgmD,GACxB,OAAOr5D,EAAOsT,GAAKM,KAAK5T,EAAOqT,GAAMgmD,IAGtCvN,QAAS,SAAS6V,EAAMtI,EAAMkK,GAE7B,OADA5B,EAAO3hE,EAAO2hE,GACD,YAATtI,EACIsI,EAAK6B,WAAWD,GAASwC,UAE1BpE,EAAK7V,QAAQuN,GAAM0M,WAG3Bha,MAAO,SAAS4V,EAAMtI,GACrB,OAAOr5D,EAAO2hE,GAAM5V,MAAMsN,GAAM0M,WAWjC/Z,QAAS,SAAS2V,GACjB,OAAO3hE,EAAO2hE,KAEZ,IAEJ54C,EAAcR,KAAK,SAAU,CAC5BpZ,QAAS,CACR82D,OAAQ,CACPC,WAAW,MAKd,IAAIC,GAAU,CACbn6D,QAAS,SAASuS,GACjB,IAAIY,EAAQZ,EAAO0I,KACfvb,EAAQ6S,EAAO7S,MACfmlB,EAAOnlB,EAAM2lB,eAAelS,GAC5BinD,EAAUv1C,GAAQnlB,EAAMu2B,iBAAiB9iB,GACzCgZ,EAAUiuC,GAAWv1C,EAAK7kB,QAAQosB,WAAc,GAChDzwB,EAASwwB,EAAOxwB,QAAU,EAE9B,OAAQA,EAAgB,SAASyf,EAAO5a,GACvC,OAAQA,EAAI7E,GAAUwwB,EAAO3rB,GAAG0gB,OAAU,MAD1B,MAKlBm5C,SAAU,SAAS9nD,GAClB,IAAI8nD,EAAW9nD,EAAO8nD,SAClBpzD,EAAIozD,EAAWA,EAASpzD,EAAI,KAC5B7Q,EAAIikE,EAAWA,EAASjkE,EAAI,KAEhC,OAAI6pB,GAAUrM,QAAQymD,GACd,SAASj/C,EAAO5a,GACtB,OAAO65D,EAAS75D,IAIX,SAAS4a,GACf,MAAO,CACNnU,EAAS,OAANA,EAAamU,EAAMnU,EAAIA,EAC1B7Q,EAAS,OAANA,EAAaglB,EAAMhlB,EAAIA,MAO9B,SAASkkE,GAAWz1B,EAAI1xB,EAAOyV,GAC9B,IAEIpW,EAFA3L,EAAQg+B,EAAG1jB,QAAU,GACrBlG,EAAOpU,EAAMoU,KAOjB,QAJapf,IAATof,IACHA,IAASpU,EAAMsgB,kBAGH,IAATlM,GAA2B,OAATA,EACrB,OAAO,EAGR,IAAa,IAATA,EACH,MAAO,SAIR,GADAzI,EAAStE,WAAW+M,EAAM,IACtBlH,SAASvB,IAAW3X,KAAKD,MAAM4X,KAAYA,EAK9C,MAJgB,MAAZyI,EAAK,IAA0B,MAAZA,EAAK,KAC3BzI,EAASW,EAAQX,KAGdA,IAAWW,GAASX,EAAS,GAAKA,GAAUoW,IAIzCpW,EAGR,OAAQyI,GAER,IAAK,SACJ,MAAO,QACR,IAAK,MACJ,MAAO,MACR,IAAK,OACJ,MAAO,SAER,IAAK,SACL,IAAK,QACL,IAAK,MACJ,OAAOA,EAER,QACC,OAAO,GAIT,SAASs/C,GAAsBhoD,GAC9B,IAII+b,EAJAznB,EAAQ0L,EAAOsyB,GAAG1jB,QAAU,GAC5BhT,EAAQoE,EAAOsyB,GAAGtL,QAAU,GAC5Bte,EAAO1I,EAAO0I,KACdzI,EAAS,KAGb,GAAIuB,SAASkH,GACZ,OAAO,KAiBR,GAVa,UAATA,EACHzI,OAA+B3W,IAAtBgL,EAAM2zD,YAA4BrsD,EAAM4L,OAASlT,EAAM2zD,YAC7C,QAATv/C,EACVzI,OAA4B3W,IAAnBgL,EAAM4zD,SAAyBtsD,EAAM0L,IAAMhT,EAAM4zD,cAC5B5+D,IAApBgL,EAAM6zD,UAChBloD,EAAS3L,EAAM6zD,UACLvsD,EAAMwjB,eAChBnf,EAASrE,EAAMwjB,qBAGD91B,IAAX2W,GAAmC,OAAXA,EAAiB,CAC5C,QAAiB3W,IAAb2W,EAAOvL,QAAgCpL,IAAb2W,EAAOpc,EACpC,OAAOoc,EAGR,GAAIyN,GAAUlM,SAASvB,GAEtB,OADA8b,EAAangB,EAAMyjB,eACZ,CACN3qB,EAAGqnB,EAAa9b,EAAS,KACzBpc,EAAGk4B,EAAa,KAAO9b,GAK1B,OAAO,KAGR,SAASmoD,GAAwBpoD,GAChC,IAKI8N,EAAOqQ,EAAKwB,EAAQ1xB,EAAG4a,EALvBjN,EAAQoE,EAAOsyB,GAAGtL,OAClB33B,EAAUuM,EAAMvM,QAChBjG,EAASwS,EAAMzO,MAAMwB,KAAKE,OAAOzF,OACjCsf,EAAO1I,EAAO0I,KACdzI,EAAS,GAGb,IAAK7W,EACJ,OAAO,KAMR,IAHA0kB,EAAQze,EAAQm3B,MAAMvkB,QAAUrG,EAAM7G,IAAM6G,EAAM9G,IAClDqpB,EAAM9uB,EAAQm3B,MAAMvkB,QAAUrG,EAAM9G,IAAM8G,EAAM7G,IAChD4qB,EAAS/jB,EAAMkuB,yBAAyB,EAAGhc,GACtC7f,EAAI,EAAGA,EAAI7E,IAAU6E,EACzB4a,EAAiB,UAATH,GAA6B,QAATA,EACzB9M,EAAMkuB,yBAAyB77B,EAAY,UAATya,EAAmBoF,EAAQqQ,GAC7DviB,EAAMgmD,gBAAgB3zD,GACrBoB,EAAQgvB,UAAUkK,WACrB1f,EAAMw/C,GAAK1oC,EAAOjrB,EAClBmU,EAAMy/C,GAAK3oC,EAAO97B,EAClBglB,EAAMyP,MAAQ1c,EAAM6jD,cAAcxxD,GAAK3F,KAAK4O,GAAK,GAElD+I,EAAO/O,KAAK2X,GAEb,OAAO5I,EAGR,SAASsoD,GAAgBvoD,GACxB,IAAIpE,EAAQoE,EAAOsyB,GAAGtL,QAAU,GAEhC,OAAIprB,EAAMkuB,yBACFs+B,GAAwBpoD,GAEzBgoD,GAAsBhoD,GAG9B,SAASwoD,GAAcxlD,EAASpC,EAAO+mD,GACtC,IAGI1nD,EAHAD,EAASgD,EAAQpC,GACjB8H,EAAO1I,EAAO0I,KACd+/C,EAAU,CAAC7nD,GAGf,IAAK+mD,EACJ,OAAOj/C,EAGR,OAAgB,IAATA,IAA6C,IAA3B+/C,EAAQj6D,QAAQka,GAAc,CACtD,IAAKlH,SAASkH,GACb,OAAOA,EAIR,GADAzI,EAAS+C,EAAQ0F,IACZzI,EACJ,OAAO,EAGR,GAAIA,EAAO4nD,QACV,OAAOn/C,EAGR+/C,EAAQv3D,KAAKwX,GACbA,EAAOzI,EAAOyI,KAGf,OAAO,EAGR,SAASggD,GAAa1oD,GACrB,IAAI0I,EAAO1I,EAAO0I,KACdhZ,EAAO,UAEX,OAAa,IAATgZ,EACI,MAGHlH,SAASkH,KACbhZ,EAAO,YAGDk4D,GAAQl4D,GAAMsQ,IAGtB,SAAS2oD,GAAW9/C,GACnB,OAAOA,IAAUA,EAAMqR,KAGxB,SAAS0uC,GAAS3hD,EAAK4hD,EAAQC,EAAQC,EAAMC,GAC5C,IAAI/6D,EAAGo6D,EAAIC,EAAI1zD,EAEf,GAAKm0D,GAASC,EAAd,CAMA,IADA/hD,EAAIQ,OAAOohD,EAAO,GAAGn0D,EAAGm0D,EAAO,GAAGhlE,GAC7BoK,EAAI,EAAGA,EAAI86D,IAAQ96D,EACvByf,GAAUrc,OAAOmX,OAAOvB,EAAK4hD,EAAO56D,EAAI,GAAI46D,EAAO56D,IAGpD,QAAwB3E,IAApBw/D,EAAO,GAAGxwC,MAcd,IAHArR,EAAIuB,OAAOsgD,EAAOE,EAAO,GAAGt0D,EAAGo0D,EAAOE,EAAO,GAAGnlE,GAG3CoK,EAAI+6D,EAAO,EAAG/6D,EAAI,IAAKA,EAC3Byf,GAAUrc,OAAOmX,OAAOvB,EAAK6hD,EAAO76D,GAAI66D,EAAO76D,EAAI,IAAI,QAXvD,IAHAo6D,EAAKS,EAAO,GAAGT,GACfC,EAAKQ,EAAO,GAAGR,GACf1zD,EAAItM,KAAK6O,KAAK7O,KAAKqM,IAAIm0D,EAAO,GAAGp0D,EAAI2zD,EAAI,GAAK//D,KAAKqM,IAAIm0D,EAAO,GAAGjlE,EAAIykE,EAAI,IACpEr6D,EAAI+6D,EAAO,EAAG/6D,EAAI,IAAKA,EAC3BgZ,EAAIS,IAAI2gD,EAAIC,EAAI1zD,EAAGk0D,EAAO76D,GAAGqqB,MAAOwwC,EAAO76D,EAAI,GAAGqqB,OAAO,IAc5D,SAAS2wC,GAAOhiD,EAAK2S,EAAQsvC,EAAQn7C,EAAMrW,EAAO4yC,GACjD,IAMIr8C,EAAGoU,EAAMzB,EAAOuoD,EAAIC,EAAIC,EAAIC,EAAIC,EANhClzC,EAAQuD,EAAOxwB,OACf86D,EAAOn2C,EAAK4L,SACZkvC,EAAS,GACTC,EAAS,GACTC,EAAO,EACPC,EAAO,EAKX,IAFA/hD,EAAIsB,YAECta,EAAI,EAAGoU,EAAOgU,EAAOpoB,EAAIoU,IAAQpU,EACrC2S,EAAQ3S,EAAIooB,EACZ8yC,EAAKvvC,EAAOhZ,GAAO+N,MACnBy6C,EAAKF,EAAOC,EAAIvoD,EAAOmN,GACvBs7C,EAAKV,GAAWQ,GAChBG,EAAKX,GAAWS,GAEZ9e,QAAuBhhD,IAAfigE,GAA4BF,IACvCE,EAAat7D,EAAI,EACjBoU,EAAOgU,EAAQkzC,GAGZF,GAAMC,GACTP,EAAOF,EAAO33D,KAAKi4D,GACnBH,EAAOF,EAAO53D,KAAKk4D,IACTL,GAAQC,IACb9E,GAMAmF,GACHR,EAAO33D,KAAKi4D,GAETG,GACHR,EAAO53D,KAAKk4D,KATbR,GAAS3hD,EAAK4hD,EAAQC,EAAQC,EAAMC,GACpCD,EAAOC,EAAO,EACdH,EAAS,GACTC,EAAS,KAYZF,GAAS3hD,EAAK4hD,EAAQC,EAAQC,EAAMC,GAEpC/hD,EAAIU,YACJV,EAAI+R,UAAYthB,EAChBuP,EAAIyB,OAGL,IAAI8gD,GAAgB,CACnBj5D,GAAI,SAEJk5D,oBAAqB,SAASt8D,EAAOkC,GACpC,IAGIijB,EAAMrkB,EAAGqkC,EAAItyB,EAHbqW,GAASlpB,EAAMwB,KAAKpB,UAAY,IAAInE,OACpCu+D,EAAYt4D,EAAQs4D,UACpB3kD,EAAU,GAGd,IAAK/U,EAAI,EAAGA,EAAIooB,IAASpoB,EACxBqkB,EAAOnlB,EAAM2lB,eAAe7kB,GAC5BqkC,EAAKhgB,EAAK7kB,QACVuS,EAAS,KAELsyB,GAAMA,EAAG1jB,QAAU0jB,aAAc/d,GAAS7iB,OAC7CsO,EAAS,CACR6nD,QAAS16D,EAAMu2B,iBAAiBz1B,GAChCya,KAAMq/C,GAAWz1B,EAAIrkC,EAAGooB,GACxBlpB,MAAOA,EACPmlC,GAAIA,IAINhgB,EAAKo3C,QAAU1pD,EACfgD,EAAQ9R,KAAK8O,GAGd,IAAK/R,EAAI,EAAGA,EAAIooB,IAASpoB,EACxB+R,EAASgD,EAAQ/U,GACZ+R,IAILA,EAAO0I,KAAO8/C,GAAcxlD,EAAS/U,EAAG05D,GACxC3nD,EAAO8nD,SAAWS,GAAgBvoD,GAClCA,EAAOkpD,OAASR,GAAa1oD,KAI/B2pD,mBAAoB,SAASx8D,GAC5B,IAEImlB,EAAMrkB,EAAGqkC,EAAIvkB,EAAM6L,EAAQsvC,EAAQxxD,EAFnCooB,EAAW3yB,EAAMy6B,gCACjB3gB,EAAM9Z,EAAM8Z,IAGhB,IAAKhZ,EAAI6xB,EAAS12B,OAAS,EAAG6E,GAAK,IAAKA,EACvCqkB,EAAOwN,EAAS7xB,GAAGy7D,QAEdp3C,GAASA,EAAKu1C,UAInBv1B,EAAKhgB,EAAKggB,GACVvkB,EAAOukB,EAAG3jB,MACViL,EAAS0Y,EAAGzY,WAAa,GACzBqvC,EAAS52C,EAAK42C,OACdxxD,EAAQqW,EAAK6G,iBAAmBpK,EAAclpB,OAAO2oB,aAEjDi/C,GAAUxxD,GAASkiB,EAAOxwB,SAC7BskB,GAAUrc,OAAO2X,SAAS/B,EAAK9Z,EAAM+tB,WACrC+tC,GAAOhiD,EAAK2S,EAAQsvC,EAAQn7C,EAAMrW,EAAO46B,EAAGtY,OAC5CtM,GAAUrc,OAAO6X,WAAWjC,OAM5B2iD,GAAiBl8C,GAAUV,IAAIX,cAC/Bw9C,GAASn8C,GAAUxM,KACnB4oD,GAAmBp8C,GAAUjM,eAgGjC,SAASsoD,GAAYC,EAAW9+C,GAC/B,OAAO8+C,EAAUC,eAAiBD,EAAUE,SAAWh/C,EACtDA,EACA8+C,EAAUE,SAjGZ1/C,EAAcR,KAAK,SAAU,CAC5B6Y,OAAQ,CACPyF,SAAS,EACTv/B,SAAU,MACV0jB,MAAO,SACPogB,WAAW,EACX5qB,SAAS,EACTvC,OAAQ,IAGRujB,QAAS,SAASnwB,EAAGowB,GACpB,IAAItiB,EAAQsiB,EAAWrR,aACnBs4C,EAAK3oE,KAAK2L,MACVmlB,EAAO63C,EAAGr3C,eAAelS,GAG7B0R,EAAK7D,OAAyB,OAAhB6D,EAAK7D,QAAmB07C,EAAGx7D,KAAKpB,SAASqT,GAAO6N,OAAS,KAGvE07C,EAAGl7D,UAGJ0yC,QAAS,KACTyoB,QAAS,KAETv7D,OAAQ,CACPq7D,SAAU,GACVjvC,QAAS,GAYT6H,eAAgB,SAAS31B,GACxB,IAAII,EAAWJ,EAAMwB,KAAKpB,SACtB8B,EAAUlC,EAAMkC,QAAQwzB,QAAU,GAClConC,EAAgB56D,EAAQR,QAAUQ,EAAQR,OAAOo7D,cAErD,OAAO98D,EAAM03C,yBAAyBr3C,KAAI,SAAS8kB,GAClD,IAAIpiB,EAAQoiB,EAAKyQ,WAAWtO,SAASw1C,EAAgB,OAAI3gE,GAEzD,MAAO,CACN05B,KAAMz1B,EAAS+kB,EAAK1R,OAAOlT,MAC3BsrB,UAAW9oB,EAAM0kB,gBACjBnG,QAASthB,EAAMu2B,iBAAiBpR,EAAK1R,OACrCuZ,QAASjqB,EAAMkpB,eACfixC,SAAUn6D,EAAMmpB,WAChBgB,eAAgBnqB,EAAMopB,iBACtB1B,SAAU1nB,EAAMqpB,gBAChB5B,UAAWznB,EAAMwlB,YACjBuD,YAAa/oB,EAAM2kB,YACnBgG,WAAY3qB,EAAM2qB,WAClB/S,SAAU5X,EAAM4X,SAGhB+J,aAAcS,EAAK1R,SAElBpf,SAKN4gC,eAAgB,SAASj1B,GACxB,IAEIc,EAAGoU,EAAMggB,EAAUC,EAFnBC,EAAOC,SAASvyB,cAAc,MAC9B1C,EAAWJ,EAAMwB,KAAKpB,SAK1B,IAFAg1B,EAAKE,aAAa,QAASt1B,EAAMoD,GAAK,WAEjCtC,EAAI,EAAGoU,EAAO9U,EAASnE,OAAQ6E,EAAIoU,EAAMpU,IAC7Co0B,EAAWE,EAAKG,YAAYF,SAASvyB,cAAc,OACnDqyB,EAAeD,EAASK,YAAYF,SAASvyB,cAAc,SAC3DqyB,EAAapyB,MAAM0kB,gBAAkBrnB,EAASU,GAAG2mB,gBAC7CrnB,EAASU,GAAGP,OACf20B,EAASK,YAAYF,SAASG,eAAep1B,EAASU,GAAGP,QAI3D,OAAO60B,EAAKK,aAmBd,IAAI0nC,GAASp7C,GAAahM,OAAO,CAEhCqL,WAAY,SAASqY,GACpB,IAAIj0B,EAAKnR,KACTksB,GAAUxK,OAAOvQ,EAAIi0B,GAGrBj0B,EAAG43D,eAAiB,GAKpB53D,EAAG63D,aAAe,KAGlB73D,EAAG83D,cAAe,GAOnB5X,aAAcgX,GACd56D,OAAQ,SAAS00B,EAAUC,EAAWkvB,GACrC,IAAIngD,EAAKnR,KA0BT,OAvBAmR,EAAGkgD,eAGHlgD,EAAGgxB,SAAWA,EACdhxB,EAAGixB,UAAYA,EACfjxB,EAAGmgD,QAAUA,EAGbngD,EAAG4gD,sBACH5gD,EAAG6gD,gBACH7gD,EAAG8gD,qBAEH9gD,EAAG+3D,oBACH/3D,EAAGg4D,cACHh4D,EAAGi4D,mBAGHj4D,EAAGyhD,YACHzhD,EAAG0hD,MACH1hD,EAAG2hD,WAEH3hD,EAAG8hD,cAEI9hD,EAAGu2B,SAEXurB,YAAaoV,GAIbtW,oBAAqBsW,GACrBrW,cAAe,WACd,IAAI7gD,EAAKnR,KAELmR,EAAG0sB,gBAEN1sB,EAAGnC,MAAQmC,EAAGgxB,SACdhxB,EAAG0U,KAAO,EACV1U,EAAG4U,MAAQ5U,EAAGnC,QAEdmC,EAAGlC,OAASkC,EAAGixB,UAGfjxB,EAAG2U,IAAM,EACT3U,EAAG6U,OAAS7U,EAAGlC,QAIhBkC,EAAG44C,YAAc,EACjB54C,EAAG64C,WAAa,EAChB74C,EAAG84C,aAAe,EAClB94C,EAAG+4C,cAAgB,EAGnB/4C,EAAGu2B,QAAU,CACZ14B,MAAO,EACPC,OAAQ,IAGVgjD,mBAAoBoW,GAIpBa,kBAAmBb,GACnBc,YAAa,WACZ,IAAIh4D,EAAKnR,KACLwoE,EAAYr3D,EAAGtD,QAAQR,QAAU,GACjCg8D,EAAcn9C,GAAU9L,SAASooD,EAAUlnC,eAAgB,CAACnwB,EAAGxF,OAAQwF,IAAO,GAE9Eq3D,EAAUz7D,SACbs8D,EAAcA,EAAYt8D,QAAO,SAAS4V,GACzC,OAAO6lD,EAAUz7D,OAAO4V,EAAMxR,EAAGxF,MAAMwB,UAIrCgE,EAAGtD,QAAQ4S,SACd4oD,EAAY5oD,UAGbtP,EAAGk4D,YAAcA,GAElBD,iBAAkBf,GAIlBzV,UAAWyV,GACXxV,IAAK,WACJ,IAAI1hD,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACV26D,EAAYnmC,EAAKh1B,OACjBy5B,EAAUzE,EAAKyE,QAEfrhB,EAAMtU,EAAGsU,IAET6jD,EAAYp9C,GAAUre,QAAQ2b,WAAWg/C,GACzC9+C,EAAW4/C,EAAU7iD,KAGrB8iD,EAAWp4D,EAAG43D,eAAiB,GAE/BrhC,EAAUv2B,EAAGu2B,QACb7J,EAAe1sB,EAAG0sB,eAWtB,GATIA,GACH6J,EAAQ14B,MAAQmC,EAAGgxB,SACnBuF,EAAQz4B,OAAS63B,EAAU,GAAK,IAEhCY,EAAQ14B,MAAQ83B,EAAU,GAAK,EAC/BY,EAAQz4B,OAASkC,EAAGixB,WAIhB0E,EAAL,CAMA,GAFArhB,EAAIyD,KAAOogD,EAAUt+D,OAEjB6yB,EAAc,CAIjB,IAAI2rC,EAAar4D,EAAGq4D,WAAa,CAAC,GAC9BC,EAAc,EAElBhkD,EAAIuF,UAAY,OAChBvF,EAAIo4B,aAAe,SAEnB3xB,GAAU3L,KAAKpP,EAAGk4D,aAAa,SAAS3nC,EAAYj1B,GACnD,IAAIi8D,EAAWH,GAAYC,EAAW9+C,GAClC1a,EAAQ05D,EAAYh/C,EAAW,EAAKjE,EAAIq1B,YAAYpZ,EAAWF,MAAMxyB,OAE/D,IAANvC,GAAW+8D,EAAWA,EAAW5hE,OAAS,GAAKoH,EAAQ,EAAIw5D,EAAU/uC,QAAUiO,EAAQ14B,SAC1Fy6D,GAAe//C,EAAW8+C,EAAU/uC,QACpC+vC,EAAWA,EAAW5hE,QAAU6E,EAAI,EAAI,EAAI,IAAM,GAInD88D,EAAS98D,GAAK,CACboZ,KAAM,EACNC,IAAK,EACL9W,MAAOA,EACPC,OAAQya,GAGT8/C,EAAWA,EAAW5hE,OAAS,IAAMoH,EAAQw5D,EAAU/uC,WAGxDiO,EAAQz4B,QAAUw6D,MAEZ,CACN,IAAIC,EAAWlB,EAAU/uC,QACrBkwC,EAAex4D,EAAGw4D,aAAe,GACjCC,EAAgBz4D,EAAGy4D,cAAgB,GACnCC,EAAarB,EAAU/uC,QACvBqwC,EAAkB,EAClBC,EAAmB,EAEvB79C,GAAU3L,KAAKpP,EAAGk4D,aAAa,SAAS3nC,EAAYj1B,GACnD,IAAIi8D,EAAWH,GAAYC,EAAW9+C,GAClC0B,EAAYs9C,EAAYh/C,EAAW,EAAKjE,EAAIq1B,YAAYpZ,EAAWF,MAAMxyB,MAGzEvC,EAAI,GAAKs9D,EAAmBrgD,EAAW,EAAIggD,EAAWhiC,EAAQz4B,SACjE46D,GAAcC,EAAkBtB,EAAU/uC,QAC1CkwC,EAAaj6D,KAAKo6D,GAClBF,EAAcl6D,KAAKq6D,GACnBD,EAAkB,EAClBC,EAAmB,GAIpBD,EAAkBhjE,KAAKyM,IAAIu2D,EAAiB1+C,GAC5C2+C,GAAoBrgD,EAAWggD,EAG/BH,EAAS98D,GAAK,CACboZ,KAAM,EACNC,IAAK,EACL9W,MAAOoc,EACPnc,OAAQya,MAIVmgD,GAAcC,EACdH,EAAaj6D,KAAKo6D,GAClBF,EAAcl6D,KAAKq6D,GACnBriC,EAAQ14B,OAAS66D,EAGlB14D,EAAGnC,MAAQ04B,EAAQ14B,MACnBmC,EAAGlC,OAASy4B,EAAQz4B,YA9EnBkC,EAAGnC,MAAQ04B,EAAQ14B,MAAQmC,EAAGlC,OAASy4B,EAAQz4B,OAAS,GAgF1D6jD,SAAUuV,GAGVxqC,aAAc,WACb,MAAiC,QAA1B79B,KAAK6N,QAAQtG,UAAgD,WAA1BvH,KAAK6N,QAAQtG,UAIxDyrB,KAAM,WACL,IAAI7hB,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACV26D,EAAYnmC,EAAKh1B,OACjBoc,EAAiBT,EAAclpB,OAC/B2oB,EAAegB,EAAehB,aAC9BuhD,EAAcvgD,EAAesJ,SAAS4E,KACtCsyC,EAAe94D,EAAGlC,OAClB26D,EAAgBz4D,EAAGy4D,cACnBM,EAAc/4D,EAAGnC,MACjBw6D,EAAar4D,EAAGq4D,WAEpB,GAAKnnC,EAAKyE,QAAV,CAIA,IAKIqjC,EALAvsB,EAAYwqB,GAAe/lC,EAAK7W,IAAKra,EAAG0U,KAAM1U,EAAGu2B,QAAQ14B,OACzDyW,EAAMtU,EAAGsU,IACTwpC,EAAYqZ,GAAiBE,EAAUvZ,UAAWxlC,EAAef,kBACjE4gD,EAAYp9C,GAAUre,QAAQ2b,WAAWg/C,GACzC9+C,EAAW4/C,EAAU7iD,KAIzBhB,EAAIuF,UAAY4yB,EAAU5yB,UAAU,QACpCvF,EAAIo4B,aAAe,SACnBp4B,EAAI0Q,UAAY,GAChB1Q,EAAIgS,YAAcw3B,EAClBxpC,EAAI+R,UAAYy3B,EAChBxpC,EAAIyD,KAAOogD,EAAUt+D,OAErB,IAAI09D,EAAWH,GAAYC,EAAW9+C,GAClC6/C,EAAWp4D,EAAG43D,eAGdqB,EAAgB,SAASl3D,EAAG7Q,EAAGq/B,GAClC,KAAIpnB,MAAMouD,IAAaA,GAAY,GAAnC,CAKAjjD,EAAImB,OAEJ,IAAIuP,EAAYmyC,GAAiB5mC,EAAWvL,UAAW6zC,EAAY91C,aAanE,GAZAzO,EAAI+R,UAAY8wC,GAAiB5mC,EAAWlK,UAAW/O,GACvDhD,EAAIkT,QAAU2vC,GAAiB5mC,EAAW/I,QAASqxC,EAAYpyC,gBAC/DnS,EAAIoT,eAAiByvC,GAAiB5mC,EAAW7I,eAAgBmxC,EAAYlyC,kBAC7ErS,EAAI2Q,SAAWkyC,GAAiB5mC,EAAWtL,SAAU4zC,EAAYjyC,iBACjEtS,EAAI0Q,UAAYA,EAChB1Q,EAAIgS,YAAc6wC,GAAiB5mC,EAAWjK,YAAahP,GAEvDhD,EAAImT,aAEPnT,EAAImT,YAAY0vC,GAAiB5mC,EAAWmnC,SAAUmB,EAAYnyC,aAG/D2wC,GAAaA,EAAUC,cAAe,CAGzC,IAAI7iD,EAAS8iD,EAAW5hE,KAAKujE,MAAQ,EACjCpmC,EAAU2Z,EAAU1yB,MAAMhY,EAAGw1D,EAAW,GACxCxkC,EAAU7hC,EAAIqnB,EAAW,EAG7BwC,GAAUrc,OAAOwW,UAAUZ,EAAKic,EAAWrI,WAAYzT,EAAQqe,EAASC,EAASxC,EAAWpb,eAG5Fb,EAAI2V,SAASwiB,EAAUzyB,WAAWjY,EAAGw1D,GAAWrmE,EAAGqmE,EAAUh/C,GAC3C,IAAdyM,GACH1Q,EAAI84B,WAAWX,EAAUzyB,WAAWjY,EAAGw1D,GAAWrmE,EAAGqmE,EAAUh/C,GAIjEjE,EAAIqB,YAGDg3B,EAAW,SAAS5qC,EAAG7Q,EAAGq/B,EAAY2pB,GACzC,IAAIif,EAAe5gD,EAAW,EAC1B6gD,EAAQ3sB,EAAU1yB,MAAMhY,EAAGw1D,EAAW4B,GACtCE,EAAUnoE,EAAIioE,EAElB7kD,EAAIq4B,SAASpc,EAAWF,KAAM+oC,EAAOC,GAEjC9oC,EAAWzU,SAEdxH,EAAIsB,YACJtB,EAAI0Q,UAAY,EAChB1Q,EAAIQ,OAAOskD,EAAOC,GAClB/kD,EAAIuB,OAAO42B,EAAU1yB,MAAMq/C,EAAOlf,GAAYmf,GAC9C/kD,EAAI0B,WAIFsjD,EAAkB,SAASC,EAAWC,GACzC,OAAQtoC,EAAKpX,OACb,IAAK,QACJ,OAAOu9C,EAAU/uC,QAClB,IAAK,MACJ,OAAOixC,EAAYC,EACpB,QACC,OAAQD,EAAYC,EAAYnC,EAAU/uC,SAAW,IAKnDoE,EAAe1sB,EAAG0sB,eAErBssC,EADGtsC,EACM,CACR3qB,EAAG/B,EAAG0U,KAAO4kD,EAAgBP,EAAaV,EAAW,IACrDnnE,EAAG8O,EAAG2U,IAAM0iD,EAAU/uC,QACtB9B,KAAM,GAGE,CACRzkB,EAAG/B,EAAG0U,KAAO2iD,EAAU/uC,QACvBp3B,EAAG8O,EAAG2U,IAAM2kD,EAAgBR,EAAcL,EAAc,IACxDjyC,KAAM,GAIRzL,GAAUV,IAAIC,sBAAsBta,EAAGsU,IAAK4c,EAAKyW,eAEjD,IAAI8xB,EAAalhD,EAAW8+C,EAAU/uC,QACtCvN,GAAU3L,KAAKpP,EAAGk4D,aAAa,SAAS3nC,EAAYj1B,GACnD,IAAI4+C,EAAY5lC,EAAIq1B,YAAYpZ,EAAWF,MAAMxyB,MAC7CA,EAAQ05D,EAAYh/C,EAAW,EAAK2hC,EACpCn4C,EAAIi3D,EAAOj3D,EACX7Q,EAAI8nE,EAAO9nE,EAEfu7C,EAAU7yB,SAAS5Z,EAAGu2B,QAAQ14B,OAK1B6uB,EACCpxB,EAAI,GAAKyG,EAAIlE,EAAQw5D,EAAU/uC,QAAUtoB,EAAG0U,KAAO1U,EAAGu2B,QAAQ14B,QACjE3M,EAAI8nE,EAAO9nE,GAAKuoE,EAChBT,EAAOxyC,OACPzkB,EAAIi3D,EAAOj3D,EAAI/B,EAAG0U,KAAO4kD,EAAgBP,EAAaV,EAAWW,EAAOxyC,QAE/DlrB,EAAI,GAAKpK,EAAIuoE,EAAaz5D,EAAG2U,IAAM3U,EAAGu2B,QAAQz4B,SACxDiE,EAAIi3D,EAAOj3D,EAAIA,EAAI/B,EAAGw4D,aAAaQ,EAAOxyC,MAAQ6wC,EAAU/uC,QAC5D0wC,EAAOxyC,OACPt1B,EAAI8nE,EAAO9nE,EAAI8O,EAAG2U,IAAM2kD,EAAgBR,EAAcL,EAAcO,EAAOxyC,QAG5E,IAAIkzC,EAAQjtB,EAAU1qC,EAAEA,GAExBk3D,EAAcS,EAAOxoE,EAAGq/B,GAExB6nC,EAAS98D,GAAGoZ,KAAO+3B,EAAUzyB,WAAW0/C,EAAOtB,EAAS98D,GAAGuC,OAC3Du6D,EAAS98D,GAAGqZ,IAAMzjB,EAGlBy7C,EAAS+sB,EAAOxoE,EAAGq/B,EAAY2pB,GAE3BxtB,EACHssC,EAAOj3D,GAAKlE,EAAQw5D,EAAU/uC,QAE9B0wC,EAAO9nE,GAAKuoE,KAId1+C,GAAUV,IAAIQ,qBAAqB7a,EAAGsU,IAAK4c,EAAKyW,iBAMjDgyB,iBAAkB,SAAS53D,EAAG7Q,GAC7B,IACIoK,EAAGs+D,EAAQC,EADX75D,EAAKnR,KAGT,GAAIkT,GAAK/B,EAAG0U,MAAQ3S,GAAK/B,EAAG4U,OAAS1jB,GAAK8O,EAAG2U,KAAOzjB,GAAK8O,EAAG6U,OAG3D,IADAglD,EAAK75D,EAAG43D,eACHt8D,EAAI,EAAGA,EAAIu+D,EAAGpjE,SAAU6E,EAG5B,GAFAs+D,EAASC,EAAGv+D,GAERyG,GAAK63D,EAAOllD,MAAQ3S,GAAK63D,EAAOllD,KAAOklD,EAAO/7D,OAAS3M,GAAK0oE,EAAOjlD,KAAOzjB,GAAK0oE,EAAOjlD,IAAMilD,EAAO97D,OAEtG,OAAOkC,EAAGk4D,YAAY58D,GAKzB,OAAO,MAQRoyC,YAAa,SAASvtC,GACrB,IAGI25D,EAHA95D,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACVK,EAAkB,YAAXoD,EAAEpD,KAAqB,QAAUoD,EAAEpD,KAG9C,GAAa,cAATA,GACH,IAAKm0B,EAAK8d,UAAY9d,EAAKumC,QAC1B,WAEK,IAAa,UAAT16D,EAKV,OAJA,IAAKm0B,EAAKZ,QACT,OAOFwpC,EAAc95D,EAAG25D,iBAAiBx5D,EAAE4B,EAAG5B,EAAEjP,GAE5B,UAAT6L,EACC+8D,GAAe5oC,EAAKZ,SAEvBY,EAAKZ,QAAQ9oB,KAAKxH,EAAIG,EAAEy3B,OAAQkiC,IAG7B5oC,EAAKumC,SAAWqC,IAAgB95D,EAAG63D,eAClC73D,EAAG63D,cACN3mC,EAAKumC,QAAQjwD,KAAKxH,EAAIG,EAAEy3B,OAAQ53B,EAAG63D,cAEpC73D,EAAG63D,aAAeiC,GAGf5oC,EAAK8d,SAAW8qB,GAEnB5oC,EAAK8d,QAAQxnC,KAAKxH,EAAIG,EAAEy3B,OAAQkiC,OAMpC,SAASC,GAAyBv/D,EAAOw/D,GACxC,IAAI9pC,EAAS,IAAIynC,GAAO,CACvBrjD,IAAK9Z,EAAM8Z,IACX5X,QAASs9D,EACTx/D,MAAOA,IAGRyhC,GAAaK,UAAU9hC,EAAO01B,EAAQ8pC,GACtC/9B,GAAaC,OAAO1hC,EAAO01B,GAC3B11B,EAAM01B,OAASA,EAGhB,IAAI+pC,GAAgB,CACnBr8D,GAAI,SASJs8D,SAAUvC,GAEVwC,WAAY,SAAS3/D,GACpB,IAAIw/D,EAAax/D,EAAMkC,QAAQwzB,OAE3B8pC,GACHD,GAAyBv/D,EAAOw/D,IAIlC9Z,aAAc,SAAS1lD,GACtB,IAAIw/D,EAAax/D,EAAMkC,QAAQwzB,OAC3BA,EAAS11B,EAAM01B,OAEf8pC,GACHj/C,GAAU3K,QAAQ4pD,EAAYniD,EAAclpB,OAAOuhC,QAE/CA,GACH+L,GAAaK,UAAU9hC,EAAO01B,EAAQ8pC,GACtC9pC,EAAOxzB,QAAUs9D,GAEjBD,GAAyBv/D,EAAOw/D,IAEvB9pC,IACV+L,GAAaG,UAAU5hC,EAAO01B,UACvB11B,EAAM01B,SAIfkqC,WAAY,SAAS5/D,EAAO2F,GAC3B,IAAI+vB,EAAS11B,EAAM01B,OACfA,GACHA,EAAOwd,YAAYvtC,KAKlBk6D,GAASt/C,GAAUxM,KAEvBsJ,EAAcR,KAAK,SAAU,CAC5BmX,MAAO,CACNmH,SAAS,EACTjd,UAAW,OACXwhB,WAAW,EACX5R,QAAS,GACTlyB,SAAU,MACVi6B,KAAM,GACNtjB,OAAQ,OAOV,IAAIutD,GAAQ/9C,GAAahM,OAAO,CAC/BqL,WAAY,SAASqY,GACpB,IAAIj0B,EAAKnR,KACTksB,GAAUxK,OAAOvQ,EAAIi0B,GAGrBj0B,EAAG43D,eAAiB,IAKrB1X,aAAcma,GACd/9D,OAAQ,SAAS00B,EAAUC,EAAWkvB,GACrC,IAAIngD,EAAKnR,KA0BT,OAvBAmR,EAAGkgD,eAGHlgD,EAAGgxB,SAAWA,EACdhxB,EAAGixB,UAAYA,EACfjxB,EAAGmgD,QAAUA,EAGbngD,EAAG4gD,sBACH5gD,EAAG6gD,gBACH7gD,EAAG8gD,qBAEH9gD,EAAG+3D,oBACH/3D,EAAGg4D,cACHh4D,EAAGi4D,mBAGHj4D,EAAGyhD,YACHzhD,EAAG0hD,MACH1hD,EAAG2hD,WAEH3hD,EAAG8hD,cAEI9hD,EAAGu2B,SAGXurB,YAAauY,GAIbzZ,oBAAqByZ,GACrBxZ,cAAe,WACd,IAAI7gD,EAAKnR,KAELmR,EAAG0sB,gBAEN1sB,EAAGnC,MAAQmC,EAAGgxB,SACdhxB,EAAG0U,KAAO,EACV1U,EAAG4U,MAAQ5U,EAAGnC,QAEdmC,EAAGlC,OAASkC,EAAGixB,UAGfjxB,EAAG2U,IAAM,EACT3U,EAAG6U,OAAS7U,EAAGlC,QAIhBkC,EAAG44C,YAAc,EACjB54C,EAAG64C,WAAa,EAChB74C,EAAG84C,aAAe,EAClB94C,EAAG+4C,cAAgB,EAGnB/4C,EAAGu2B,QAAU,CACZ14B,MAAO,EACPC,OAAQ,IAGVgjD,mBAAoBuZ,GAIpBtC,kBAAmBsC,GACnBrC,YAAaqC,GACbpC,iBAAkBoC,GAIlB5Y,UAAW4Y,GACX3Y,IAAK,WACJ,IAIIkE,EAAW0G,EAJXtsD,EAAKnR,KACLqiC,EAAOlxB,EAAGtD,QACV65B,EAAUv2B,EAAGu2B,QAAU,GACvB7J,EAAe1sB,EAAG0sB,eAGjBwE,EAAKyE,SAKViwB,EAAY7qC,GAAUrM,QAAQwiB,EAAKb,MAAQa,EAAKb,KAAK55B,OAAS,EAC9D61D,EAAW1G,EAAY7qC,GAAUre,QAAQ2b,WAAW6Y,GAAMzY,WAA4B,EAAfyY,EAAK5I,QAE5EtoB,EAAGnC,MAAQ04B,EAAQ14B,MAAQ6uB,EAAe1sB,EAAGgxB,SAAWs7B,EACxDtsD,EAAGlC,OAASy4B,EAAQz4B,OAAS4uB,EAAe4/B,EAAWtsD,EAAGixB,WARzDjxB,EAAGnC,MAAQ04B,EAAQ14B,MAAQmC,EAAGlC,OAASy4B,EAAQz4B,OAAS,GAU1D6jD,SAAU0Y,GAGV3tC,aAAc,WACb,IAAI8M,EAAM3qC,KAAK6N,QAAQtG,SACvB,MAAe,QAARojC,GAAyB,WAARA,GAIzB3X,KAAM,WACL,IAAI7hB,EAAKnR,KACLylB,EAAMtU,EAAGsU,IACT4c,EAAOlxB,EAAGtD,QAEd,GAAKw0B,EAAKyE,QAAV,CAIA,IAQI3E,EAAUupC,EAAQC,EARlBC,EAAW1/C,GAAUre,QAAQ2b,WAAW6Y,GACxCzY,EAAagiD,EAAShiD,WACtBvlB,EAASulB,EAAa,EAAIyY,EAAK5I,QAC/BnT,EAAW,EACXR,EAAM3U,EAAG2U,IACTD,EAAO1U,EAAG0U,KACVG,EAAS7U,EAAG6U,OACZD,EAAQ5U,EAAG4U,MAGfN,EAAI+R,UAAYtL,GAAUjM,eAAeoiB,EAAK4sB,UAAWjmC,EAAclpB,OAAO4oB,kBAC9EjD,EAAIyD,KAAO0iD,EAAS5gE,OAGhBmG,EAAG0sB,gBACN6tC,EAAS7lD,GAASE,EAAQF,GAAQ,EAClC8lD,EAAS7lD,EAAMzhB,EACf89B,EAAWpc,EAAQF,IAEnB6lD,EAA2B,SAAlBrpC,EAAK96B,SAAsBse,EAAOxhB,EAAS0hB,EAAQ1hB,EAC5DsnE,EAAS7lD,GAAQE,EAASF,GAAO,EACjCqc,EAAWnc,EAASF,EACpBQ,EAAWxf,KAAK4O,IAAwB,SAAlB2sB,EAAK96B,UAAuB,GAAM,KAGzDke,EAAImB,OACJnB,EAAI/hB,UAAUgoE,EAAQC,GACtBlmD,EAAI3H,OAAOwI,GACXb,EAAIuF,UAAY,SAChBvF,EAAIo4B,aAAe,SAEnB,IAAIrc,EAAOa,EAAKb,KAChB,GAAItV,GAAUrM,QAAQ2hB,GAErB,IADA,IAAIn/B,EAAI,EACCoK,EAAI,EAAGA,EAAI+0B,EAAK55B,SAAU6E,EAClCgZ,EAAIq4B,SAAStc,EAAK/0B,GAAI,EAAGpK,EAAG8/B,GAC5B9/B,GAAKunB,OAGNnE,EAAIq4B,SAAStc,EAAM,EAAG,EAAGW,GAG1B1c,EAAIqB,cAIN,SAAS+kD,GAA6BlgE,EAAOmgE,GAC5C,IAAInsC,EAAQ,IAAI8rC,GAAM,CACrBhmD,IAAK9Z,EAAM8Z,IACX5X,QAASi+D,EACTngE,MAAOA,IAGRyhC,GAAaK,UAAU9hC,EAAOg0B,EAAOmsC,GACrC1+B,GAAaC,OAAO1hC,EAAOg0B,GAC3Bh0B,EAAMogE,WAAapsC,EAGpB,IAAIqsC,GAAe,CAClBj9D,GAAI,QASJs8D,SAAUI,GAEVH,WAAY,SAAS3/D,GACpB,IAAImgE,EAAYngE,EAAMkC,QAAQ8xB,MAE1BmsC,GACHD,GAA6BlgE,EAAOmgE,IAItCza,aAAc,SAAS1lD,GACtB,IAAImgE,EAAYngE,EAAMkC,QAAQ8xB,MAC1BosC,EAAapgE,EAAMogE,WAEnBD,GACH5/C,GAAU3K,QAAQuqD,EAAW9iD,EAAclpB,OAAO6/B,OAE9CosC,GACH3+B,GAAaK,UAAU9hC,EAAOogE,EAAYD,GAC1CC,EAAWl+D,QAAUi+D,GAErBD,GAA6BlgE,EAAOmgE,IAE3BC,IACV3+B,GAAaG,UAAU5hC,EAAOogE,UACvBpgE,EAAMogE,cAKZ38D,GAAU,GACV82D,GAAS8B,GACT3mC,GAAS+pC,GACTzrC,GAAQqsC,GA2CZ,IAAK,IAAIj4D,MA1CT3E,GAAQ82D,OAASA,GACjB92D,GAAQiyB,OAASA,GACjBjyB,GAAQuwB,MAAQA,GAOhB0kB,GAAgB5kC,QAAUyM,GAG1Bw4B,KAEAL,GAAgB4nB,UAAY5f,GAC5BhI,GAAgB6nB,UAAYl+C,GAC5Bq2B,GAAgB8nB,iBAAmB59C,GACnC81B,GAAgB5b,YAAcA,GAC9B4b,GAAgBj0B,kBAAoBgF,GACpCivB,GAAgB97B,SAAWS,EAC3Bq7B,GAAgBx3B,QAAUa,GAC1B22B,GAAgBtxB,SAAWA,GAC3BsxB,GAAgB+nB,YAAchiC,GAC9Bia,GAAgBnZ,QAAUkC,GAC1BiX,GAAgBpQ,SAAWA,GAC3BoQ,GAAgBj1C,QAAU8kC,GAC1BmQ,GAAgB4M,MAAQiH,GACxB7T,GAAgBgoB,aAAet3B,GAC/BsP,GAAgBioB,MAAQhgB,GACxBjI,GAAgBkoB,QAAUvtB,GAI1BqF,GAAgB5kC,QAAQc,KAAKwQ,IAAQ,SAAS3W,EAAOlM,GACpDm2C,GAAgBgoB,aAAap3B,kBAAkB/mC,EAAMkM,EAAOA,EAAMw+C,cAQrDxpD,GACTA,GAAQhC,eAAe2G,KAC1BswC,GAAgBj1C,QAAQglC,SAAShlC,GAAQ2E,KAI3CswC,GAAgBpQ,SAASlnB,aAEzB,IAAIlL,GAAMwiC,GAyGV,MAxGsB,qBAAX/kC,SACVA,OAAOihC,MAAQ8D,IAYhBA,GAAgB9D,MAAQ8D,GASxBA,GAAgBykB,OAAS15D,GAAQiyB,OAAOgqC,SASxChnB,GAAgBonB,MAAQr8D,GAAQuwB,MAAM0rC,SAStChnB,GAAgBmoB,cAAgBnoB,GAAgBj1C,QAUhDi1C,GAAgBooB,WAAapoB,GAAgBx3B,QAAQnL,OAAO,IAS5D2iC,GAAgBqoB,cAAgBroB,GAAgB5kC,QAAQ5P,OASxDw0C,GAAgBsoB,cAAgBtoB,GAAgBnZ,QAShDmZ,GAAgBuoB,gBAAkBhT,GAQlCvV,GAAgB5kC,QAAQc,KACvB,CACC,MACA,SACA,WACA,OACA,YACA,QACA,YAED,SAASssD,GACRxoB,GAAgBwoB,GAAS,SAASpnD,EAAKqnD,GACtC,OAAO,IAAIzoB,GAAgB5+B,EAAK4+B,GAAgB5kC,QAAQ4B,MAAMyrD,GAAO,GAAI,CACxE5+D,KAAM2+D,EAAM9lE,OAAO,GAAGgmE,cAAgBF,EAAM3lE,MAAM,UAM/C2a,O,sBCryfL,SAAU/hB,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+sE,EAAO/sE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,eACJC,IAAK,sBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,KAIxB,OAAO6pE,M,wBCpET,SAAUltE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIgtE,EAAOhtE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwqE,M,wBCvET,SAAUntE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGb,SAASw8D,EAAevpE,EAAQC,EAAeoH,EAAQlH,GACnD,IAAIX,EAAS,GACb,GAAIS,EACA,OAAQoH,GACJ,IAAK,IACD7H,EAAS,aACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,YACT,MACJ,IAAK,IACDA,EAAS,SACT,MACJ,IAAK,KACDA,EAAS,SACT,MACJ,IAAK,IACDA,EAAS,UACT,MACJ,IAAK,KACDA,EAAS,UACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,UACT,MACJ,IAAK,KACDA,EAAS,WACT,WAGR,OAAQ6H,GACJ,IAAK,IACD7H,EAAS,eACT,MACJ,IAAK,KACDA,EAAS,aACT,MACJ,IAAK,IACDA,EAAS,aACT,MACJ,IAAK,KACDA,EAAS,aACT,MACJ,IAAK,IACDA,EAAS,WACT,MACJ,IAAK,KACDA,EAAS,WACT,MACJ,IAAK,IACDA,EAAS,YACT,MACJ,IAAK,KACDA,EAAS,YACT,MACJ,IAAK,IACDA,EAAS,cACT,MACJ,IAAK,KACDA,EAAS,cACT,MACJ,IAAK,IACDA,EAAS,YACT,MACJ,IAAK,KACDA,EAAS,YACT,MAGZ,OAAOA,EAAO6D,QAAQ,MAAOrD,GAGjC,IAAIwpE,EAAKltE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wFAAwFC,MAC5F,KAEJC,YACI,gFAAgFD,MAC5E,KAERsC,kBAAkB,EAClBpC,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,kCAAkCH,MAAM,KACvDI,YAAa,qBAAqBJ,MAAM,KACxCK,eAAgB,CACZC,GAAI,eACJC,IAAK,kBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVC,SAAU,CACNC,QAAS,UACTC,QAAS,aACTC,SAAU,WACVC,QAAS,WACTC,SAAU,mBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAGurE,EACHtrE,GAAIsrE,EACJrrE,EAAGqrE,EACHprE,GAAIorE,EACJnrE,EAAGmrE,EACHlrE,GAAIkrE,EACJjrE,EAAGirE,EACHhrE,GAAIgrE,EACJ/qE,EAAG+qE,EACH9qE,GAAI8qE,EACJ7qE,EAAG6qE,EACH5qE,GAAI4qE,GAERhiE,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBlC,cAAe,qCACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,UAAbC,GAAqC,UAAbA,EACjBD,EAEM,WAAbC,GACa,aAAbA,GACa,WAAbA,EAEOD,GAAQ,GAAKA,EAAOA,EAAO,QAL/B,GAQXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,GAAQ,GAAKA,EAAO,EACb,QACAA,EAAO,GACP,QACAA,EAAO,GACP,SACAA,EAAO,GACP,WAEA,UAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0qE,M,wBC/MT,SAAUrtE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGT08D,EAAKntE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,uFAAuFC,MAC3F,KAEJC,YACI,uEAAuED,MACnE,KAERsC,kBAAkB,EAClBpC,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,0CAA0CH,MAAM,KAC/DI,YAAa,4BAA4BJ,MAAM,KAC/C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,eACJC,IAAK,kBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEVkK,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBlC,cAAe,yBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,UAAbC,EACAD,EACa,WAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,SACAA,EAAO,GACP,OAEA,QAGf7B,SAAU,CACNC,QAAS,UACTC,QAAS,YACTC,SAAU,qBACVC,QAAS,YACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,OACRC,KAAM,WACNC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,SACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2qE,M,wBC3HT,SAAUttE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIotE,EAAOptE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wCAAwCC,MAC5C,KAEJC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACNgE,EAAG,WACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVvC,cAAe,oBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,OAAbC,GAAkC,OAAbA,GAAkC,OAAbA,EACnCD,EACa,OAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbC,GAAkC,OAAbA,EACrBD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,IAAIqqE,EAAY,IAAPxqE,EAAaE,EACtB,OAAIsqE,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfrsE,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,aACVC,QAAS,UACTC,SAAU,aACVC,SAAU,KAEd+B,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBnC,aAAc,CACVC,OAAQ,MACRC,KAAM,MACNC,EAAG,KACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,UAIZ,OAAO+qE,M,wBCxGT,SAAUvtE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXsC,EAAG,MACHrC,EAAG,MACHK,EAAG,MACHI,EAAG,MACHC,EAAG,MACHT,EAAG,MACHW,EAAG,MACHN,EAAG,MACHJ,EAAG,MACHW,EAAG,MACHC,GAAI,MACJmkE,GAAI,MACJC,GAAI,MACJ3kE,GAAI,MACJQ,GAAI,MACJokE,GAAI,MACJ3kE,GAAI,MACJQ,GAAI,MACJb,GAAI,MACJC,GAAI,MACJa,GAAI,MACJN,IAAK,OAGLykE,EAAKztE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,qFAAqFtF,MACzF,KAEJoG,WACI,yEAAyEpG,MACrE,MAGZC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTE,QAAS,mBACTD,SAAU,kCACVE,SAAU,oCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,SACNC,EAAG,eACHE,EAAG,YACHC,GAAI,YACJC,EAAG,UACHC,GAAI,UACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UAERM,cAAe,qBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,QAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbC,EACAD,EACa,QAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,UAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,MACAA,EAAO,GACP,QAEA,OAGfQ,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,IAAI+F,EAAI/F,EAAS,GACbyE,EAAIzE,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAAS1E,IAAW0E,EAASqB,IAAMrB,EAASD,KAEjE7F,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOirE,M,wBCzHT,SAAU5tE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACLqG,WACI,oFAAoFpG,MAChF,KAERsF,OAAQ,sFAAsFtF,MAC1F,KAEJqG,SAAU,kCAEdpG,EAAc,kDAAkDD,MAAM,KACtEmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,yBACA,4BACA,QACA,QACA,QACA,QACA,SAIJC,EACI,wJAER,SAASjC,EAAOC,GACZ,OAAOA,EAAI,GAAKA,EAAI,GAAoB,OAAZA,EAAI,IAEpC,SAASC,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIC,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,IACD,OAAOD,GAAiBE,EAAW,aAAe,gBACtD,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,UAAY,UAEvCI,EAAS,YAExB,IAAK,IACD,OAAOH,EAAgB,SAAWE,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,SAAW,SAEtCI,EAAS,WAExB,IAAK,IACD,OAAOH,EAAgB,SAAWE,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,SAAW,SAEtCI,EAAS,WAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,MAAQ,OAC/C,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,MAAQ,OAEnCI,EAAS,MAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,QAAU,UACjD,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,SAAW,UAEtCI,EAAS,SAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,MAAQ,QAC/C,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,OAAS,OAEpCI,EAAS,QAKhC,IAAI4pE,EAAK1tE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaA,EACbmF,YAAaA,EACbI,iBAAkBJ,EAGlBK,kBACI,uKACJC,uBACI,sDACJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,mDAAmDF,MAAM,KACnEG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,yBACNgE,EAAG,cAEP/D,SAAU,CACNC,QAAS,cACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,kBACX,KAAK,EACL,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,mBACX,KAAK,EACD,MAAO,oBACX,KAAK,EACD,MAAO,iBACX,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,wBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,0BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOkrE,M,wBCzLT,SAAU7tE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTk9D,EAAK3tE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,0FAA0FC,MAC9F,KAEJC,YACI,0FAA0FD,MACtF,KAERE,SACI,8FAA8FF,MAC1F,KAERG,cAAe,mDAAmDH,MAC9D,KAEJI,YAAa,sBAAsBJ,MAAM,KACzCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,yBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,UACNC,EAAG,oBACHC,GAAI,eACJC,EAAG,cACHC,GAAI,gBACJC,EAAG,gBACHC,GAAI,eACJC,EAAG,WACHC,GAAI,aACJC,EAAG,YACHC,GAAI,cACJC,EAAG,aACHC,GAAI,eAERgB,uBAAwB,aACxBC,QAAS,SAAUI,GACf,OAAOA,EAAS,OAEpBuH,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAIzBlC,cAAe,wCACfG,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,SACAA,EAAO,EACP,SACAA,EAAO,GACP,QACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,QAEA,UAGfD,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,UAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,UAAbC,GAAqC,SAAbA,GAEX,YAAbA,GACAD,GAAQ,GAFRA,EAIAA,EAAO,IAGtBP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmrE,M,wBCvIT,SAAU9tE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTm9D,EAAK5tE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6FAA6FC,MACjG,KAEJC,YACI,2EAA2ED,MACvE,KAERsC,kBAAkB,EAClBpC,SAAU,0DAA0DF,MAChE,KAEJG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,wBAAwBJ,MAAM,KAC3CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,YACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAG,gBACHC,GAAI,gBACJC,EAAG,aACHC,GAAI,WACJC,EAAG,YACHC,GAAI,UACJC,EAAG,WACHC,GAAI,SACJC,EAAG,cACHC,GAAI,YACJC,EAAG,YACHC,GAAI,WAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBlC,cAAe,gCACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,WAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,aAAbC,EACAD,EACa,aAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,SACAA,EAAO,GACP,WACAA,EAAO,GACP,WACAA,EAAO,GACP,OAEA,UAGfQ,uBAAwB,eACxBC,QAAS,SAAUI,GACf,OAAOA,EAAS,OAEpBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOorE,M,wBChIT,SAAU/tE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI6tE,EAAO7tE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wEAAwEC,MAC5E,KAEJC,YACI,wEAAwED,MACpE,KAERE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,OACHC,GAAI,WACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOqrE,M,wBC1DT,SAAUhuE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACT9D,EAAG,CAAC,aAAc,gBAClBE,EAAG,CAAC,YAAa,eACjBE,EAAG,CAAC,UAAW,aACfE,EAAG,CAAC,WAAY,eAChBE,EAAG,CAAC,UAAW,eAEnB,OAAOuB,EAAgB+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAExD,SAASkqE,EAAkB/iE,GACvB,IAAIrH,EAASqH,EAAO8U,OAAO,EAAG9U,EAAOgC,QAAQ,MAC7C,OAAIghE,EAA4BrqE,GACrB,KAAOqH,EAEX,MAAQA,EAEnB,SAASijE,EAAgBjjE,GACrB,IAAIrH,EAASqH,EAAO8U,OAAO,EAAG9U,EAAOgC,QAAQ,MAC7C,OAAIghE,EAA4BrqE,GACrB,QAAUqH,EAEd,SAAWA,EAStB,SAASgjE,EAA4BrqE,GAEjC,GADAA,EAASoB,SAASpB,EAAQ,IACtB2W,MAAM3W,GACN,OAAO,EAEX,GAAIA,EAAS,EAET,OAAO,EACJ,GAAIA,EAAS,GAEhB,OAAI,GAAKA,GAAUA,GAAU,EAI1B,GAAIA,EAAS,IAAK,CAErB,IAAIuqE,EAAYvqE,EAAS,GACrBwqE,EAAaxqE,EAAS,GAC1B,OACWqqE,EADO,IAAdE,EACmCC,EAEJD,GAChC,GAAIvqE,EAAS,IAAO,CAEvB,MAAOA,GAAU,GACbA,GAAkB,GAEtB,OAAOqqE,EAA4BrqE,GAInC,OADAA,GAAkB,IACXqqE,EAA4BrqE,GAI3C,IAAIyqE,EAAKnuE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,uFAAuFC,MAC3F,KAEJC,YACI,+DAA+DD,MAC3D,KAERsC,kBAAkB,EAClBpC,SACI,mEAAmEF,MAC/D,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,cACJC,IAAK,iBACLC,EAAG,aACHC,GAAI,eACJC,IAAK,2BACLC,KAAM,kCAEVC,SAAU,CACNC,QAAS,eACTK,SAAU,IACVJ,QAAS,eACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,WAEN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACD,MAAO,0BACX,QACI,MAAO,4BAIvB9I,aAAc,CACVC,OAAQssE,EACRrsE,KAAMusE,EACNtsE,EAAG,kBACHC,GAAI,cACJC,EAAG0E,EACHzE,GAAI,cACJC,EAAGwE,EACHvE,GAAI,aACJC,EAAGsE,EACHrE,GAAI,UACJC,EAAGoE,EACHnE,GAAI,WACJC,EAAGkE,EACHjE,GAAI,WAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2rE,M,oCChJX,IAAIruD,EAAW,EAAQ,QACnBsuD,EAAU,EAAQ,QAClB7uE,EAAkB,EAAQ,QAE1B8uE,EAAQ9uE,EAAgB,SAI5BG,EAAOC,QAAU,SAAU2uE,GACzB,IAAIC,EACJ,OAAOzuD,EAASwuD,UAAmCzmE,KAA1B0mE,EAAWD,EAAGD,MAA0BE,EAA2B,WAAhBH,EAAQE,M,qBCXtF,IAAIviE,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,QACR,UAAW,OACX,aAAc,OACd,UAAW,QACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,QACR,UAAW,QACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,QACR,UAAW,QACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,WAAY,OACZ,cAAe,OACf,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,QACR,UAAW,QACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,QACT,WAAY,QACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASyiE,EAAeC,GACvB,IAAI3/D,EAAK4/D,EAAsBD,GAC/B,OAAOE,EAAoB7/D,GAE5B,SAAS4/D,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAE7iE,EAAK0iE,GAAM,CACpC,IAAIp9D,EAAI,IAAIxB,MAAM,uBAAyB4+D,EAAM,KAEjD,MADAp9D,EAAEw9D,KAAO,mBACHx9D,EAEP,OAAOtF,EAAI0iE,GAEZD,EAAe7hE,KAAO,WACrB,OAAOD,OAAOC,KAAKZ,IAEpByiE,EAAe3kD,QAAU6kD,EACzBhvE,EAAOC,QAAU6uE,EACjBA,EAAe1/D,GAAK,Q,wBCnSlB,SAAUjP,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXC,EAAG,QACHC,EAAG,QACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,EAAG,OACHC,EAAG,OACHC,GAAI,OACJC,GAAI,OACJC,EAAG,QACHC,EAAG,QACHC,IAAK,QACLC,EAAG,OACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGJwlE,EAAK9uE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,+EAA+EC,MACnF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,qEAAqEF,MACjE,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,+BACVC,QAAS,aACTC,SAAU,+BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,WACNC,EAAG,kBACHC,GAAI,YACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,SACHC,GAAI,SAERM,cAAe,0BACfwC,KAAM,SAAUP,GACZ,MAAO,mBAAmBnF,KAAKmF,IAEnC9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,SAEA,SAGfQ,uBAAwB,wCACxBC,QAAS,SAAUI,GACf,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI+F,EAAI/F,EAAS,GACbyE,EAAKzE,EAAS,IAAO+F,EACrBC,EAAIhG,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAASqB,IAAMrB,EAASD,IAAMC,EAASsB,KAE5DpH,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOssE,M,wBCvGT,SAAUjvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+uE,EAAO/uE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wCAAwCC,MAC5C,KAEJC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACNgE,EAAG,WACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVvC,cAAe,oBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,OAAbC,GAAkC,OAAbA,GAAkC,OAAbA,EACnCD,EACa,OAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbC,GAAkC,OAAbA,EACrBD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,IAAIqqE,EAAY,IAAPxqE,EAAaE,EACtB,OAAIsqE,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACO,OAAPA,EACA,KACAA,EAAK,KACL,KAEA,MAGfrsE,SAAU,CACNC,QAAS,SACTC,QAAS,SACTC,SAAU,YACVC,QAAS,SACTC,SAAU,YACVC,SAAU,KAEd+B,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBnC,aAAc,CACVC,OAAQ,MACRC,KAAM,MACNC,EAAG,KACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,UAIZ,OAAO0sE,M,wBCzGT,SAAUlvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASyD,EAAUC,EAAQC,EAAeC,GACtC,IAAIE,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,KAQD,OANIE,GADW,IAAXJ,EACU,UACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAEPI,EACX,IAAK,IACD,OAAOH,EAAgB,eAAiB,eAC5C,IAAK,KAQD,OANIG,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAEPI,EACX,IAAK,IACD,OAAOH,EAAgB,YAAc,cACzC,IAAK,KAQD,OANIG,GADW,IAAXJ,EACU,MACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,OAEA,OAEPI,EACX,IAAK,KAMD,OAJIA,GADW,IAAXJ,EACU,MAEA,OAEPI,EACX,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,UAEA,UAEPI,EACX,IAAK,KAQD,OANIA,GADW,IAAXJ,EACU,SACQ,IAAXA,GAA2B,IAAXA,GAA2B,IAAXA,EAC7B,SAEA,SAEPI,GAInB,IAAIyR,EAAKvV,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,oGAAoGtF,MACxG,KAEJoG,WACI,gGAAgGpG,MAC5F,MAGZC,YACI,+DAA+DD,MAC3D,KAERsC,kBAAkB,EAClBpC,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,6BACX,KAAK,EACD,MAAO,4BACX,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,cACHC,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAG,MACHC,GAAIwB,EACJvB,EAAG,SACHC,GAAIsB,EACJrB,EAAG,SACHC,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO+S,M,wBChKT,SAAU1V,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTu+D,EAAOhvE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,iGAAiGC,MACrG,KAEJC,YACI,0DAA0DD,MAAM,KACpEE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,MACfwC,KAAM,SAAUP,GACZ,MAAO,MAAQA,GAEnB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,IAEA,KAGf7B,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,OACHC,GAAI,WACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,YAER4I,SAAU,SAAUF,GAChB,OAAOA,EACFhE,QAAQ,eAAe,SAAUlC,GAC9B,OAAO4L,EAAU5L,MAEpBzE,MAAM,IACNogB,UACA9J,KAAK,IACL3P,QAAQ,2BAA2B,SAAUlC,GAC1C,OAAO4L,EAAU5L,MAEpBzE,MAAM,IACNogB,UACA9J,KAAK,IACL3P,QAAQ,KAAM,MAEvBmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvBzE,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwsE,M,sBCnHT,SAAUnvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI8O,EAAK9O,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV4B,cAAe,wBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EACa,UAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbC,GAAoC,UAAbA,EACvBD,EAAO,QADX,GAIXC,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACD,OACAA,EAAQ,GACR,QACAA,EAAQ,GACR,OAEA,SAGflF,SAAU,CACNC,QAAS,sBACTC,QAAS,mBACTC,SAAU,kBACVC,QAAS,qBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,eACNC,EAAG,iBACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOsM,M,sBChFT,SAAUjP,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACL,SACA,UACA,QACA,UACA,YACA,YACA,OACA,SACA,eACA,mBACA,UACA,WAEJE,EAAc,CACV,MACA,QACA,OACA,MACA,OACA,QACA,OACA,MACA,OACA,OACA,OACA,QAEJC,EAAW,CACP,eACA,WACA,WACA,cACA,YACA,YACA,eAEJC,EAAgB,CAAC,OAAQ,OAAQ,QAAS,OAAQ,OAAQ,QAAS,QACnEC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,MAElDyuE,EAAKjvE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaA,EACbqC,kBAAkB,EAClBpC,SAAUA,EACVC,cAAeA,EACfC,YAAaA,EACbC,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,kBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,OACRC,KAAM,YACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,UACHC,GAAI,aACJC,EAAG,iBACHC,GAAI,oBACJC,EAAG,KACHC,GAAI,QACJC,EAAG,KACHC,GAAI,YACJC,EAAG,SACHC,GAAI,aAERgB,uBAAwB,mBACxBC,QAAS,SAAUI,GACf,IAAIR,EAAoB,IAAXQ,EAAe,IAAMA,EAAS,KAAO,EAAI,KAAO,KAC7D,OAAOA,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOysE,M,sBClGT,SAAUpvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACL,QACA,QACA,OACA,QACA,MACA,MACA,SACA,OACA,QACA,SACA,QACA,SAEJ+uE,EAAO,CAAC,QAAS,MAAO,OAAQ,MAAO,SAAU,OAAQ,QAEzDC,EAAKnvE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaF,EACbG,SAAU4uE,EACV3uE,cAAe2uE,EACf1uE,YAAa0uE,EACbzuE,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,UACfwC,KAAM,SAAUP,GACZ,MAAO,QAAUA,GAErB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,MAEJ,OAEX7B,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,iBACVC,QAAS,sBACTC,SAAU,yBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,SACJC,EAAG,YACHC,GAAI,WACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,SACJC,EAAG,UACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCmE,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCzE,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2sE,M,wBCtFT,SAAUtvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2B,EAAK3B,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,mHAAmHC,MACvH,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,sEAAsEF,MAClE,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,mBACTC,QAAS,kBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,8BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,iBACNC,EAAG,qBACHC,GAAI,cACJC,EAAG,SACHC,GAAI,aACJC,EAAG,SACHC,GAAI,aACJC,EAAG,UACHC,GAAI,cACJC,EAAG,UACHC,GAAI,cACJC,EAAG,UACHC,GAAI,eAERM,cAAe,mCACfG,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACD,UACAA,EAAQ,GACR,QACAA,EAAQ,GACR,aAEA,WAGftD,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,YAAbC,EACOD,EACa,UAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,eAAbC,GAA0C,YAAbA,EACvB,IAATD,EACO,EAEJA,EAAO,QAJX,GAOXQ,uBAAwB,UACxBC,QAAS,KACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOb,M,wBCvFT,SAAU9B,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsF,EACI,8DAA8DlF,MAC1D,KAERC,EAAc,kDAAkDD,MAAM,KACtEmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJC,EACI,mLAEJ4pE,EAAOpvE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbrF,EAAYuB,EAAE+D,SAEdL,EAAe1D,EAAE+D,SAJjBL,GAOfE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,+FACJC,uBACI,0FACJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,+BACLC,KAAM,sCAEVC,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjBlB,KAAKmG,QAAgB,IAAM,IAAM,QAE3DhF,QAAS,WACL,MAAO,gBAAmC,IAAjBnB,KAAKmG,QAAgB,IAAM,IAAM,QAE9D/E,SAAU,WACN,MAAO,cAAiC,IAAjBpB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D9E,QAAS,WACL,MAAO,cAAiC,IAAjBrB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D7E,SAAU,WACN,MACI,0BACkB,IAAjBtB,KAAKmG,QAAgB,IAAM,IAC5B,QAGR5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJkE,EAAG,aACHC,GAAI,aACJlE,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO4sE,M,wBChHT,SAAUvvE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqvE,EAAMrvE,EAAOE,aAAa,MAAO,CACjCC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,kDAAkDF,MAAM,KAClEG,cAAe,iCAAiCH,MAAM,KACtDI,YAAa,yBAAyBJ,MAAM,KAC5CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,gBACTC,SAAU,gBACVC,QAAS,oBACTC,SAAU,+BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO6sE,M,oCC3EX,IAAIjB,EAAU,EAAQ,QAElBkB,EAAU1vE,OAEdF,EAAOC,QAAU,SAAU4vE,GACzB,GAA0B,WAAtBnB,EAAQmB,GAAwB,MAAM,IAAIC,UAAU,6CACxD,OAAOF,EAAQC,K,wBCHf,SAAU1vE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACL,WACA,aACA,SACA,WACA,KACA,OACA,SACA,WACA,eACA,aACA,aACA,cAEJG,EAAW,CACP,WACA,OACA,WACA,OACA,aACA,SACA,YAGJmvE,EAAKzvE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaF,EACbG,SAAUA,EACVC,cAAeD,EACfE,YAAa,qCAAqCJ,MAAM,KACxDK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,WACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,QACfwC,KAAM,SAAUP,GACZ,MAAO,OAASA,GAEpB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,KAEA,MAGf7B,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,UACVC,QAAS,cACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,cACRC,KAAM,YACNC,EAAG,iBACHC,GAAI,cACJC,EAAG,WACHC,GAAI,YACJC,EAAG,aACHC,GAAI,cACJC,EAAG,WACHC,GAAI,YACJC,EAAG,SACHC,GAAI,UACJC,EAAG,WACHC,GAAI,aAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCmE,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCzE,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOitE,M,wBC9FT,SAAU5vE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXC,EAAG,QACHC,EAAG,QACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,EAAG,OACHC,EAAG,OACHC,GAAI,OACJC,GAAI,OACJC,EAAG,QACHC,EAAG,QACHC,IAAK,QACLC,EAAG,OACHC,EAAG,QACHC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,SAGJomE,EAAK1vE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,+EAA+EC,MACnF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTC,SAAU,2BACVC,QAAS,YACTC,SAAU,0BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,QACNC,EAAG,iBACHE,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERiB,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACD,OAAO3B,EACX,QACI,GAAe,IAAXA,EAEA,OAAOA,EAAS,QAEpB,IAAI+F,EAAI/F,EAAS,GACbyE,EAAKzE,EAAS,IAAO+F,EACrBC,EAAIhG,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAASqB,IAAMrB,EAASD,IAAMC,EAASsB,MAGpEpH,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOktE,M,wBC9FT,SAAU7vE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2vE,EACA,gEAAgEvvE,MAAM,KAC1E,SAASqD,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIsH,EAAMzH,EACV,OAAQE,GACJ,IAAK,IACD,OAAOC,GAAYF,EACb,mBACA,oBACV,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,GACpB,aACA,cACV,IAAK,IACD,MAAO,OAASE,GAAYF,EAAgB,QAAU,UAC1D,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,EAAgB,QAAU,UACxD,IAAK,IACD,MAAO,OAASE,GAAYF,EAAgB,OAAS,UACzD,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,EAAgB,OAAS,UACvD,IAAK,IACD,MAAO,OAASE,GAAYF,EAAgB,OAAS,UACzD,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,EAAgB,OAAS,UACvD,IAAK,IACD,MAAO,OAASE,GAAYF,EAAgB,SAAW,YAC3D,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,EAAgB,SAAW,YACzD,IAAK,IACD,MAAO,OAASE,GAAYF,EAAgB,MAAQ,QACxD,IAAK,KACD,OAAOwH,GAAOtH,GAAYF,EAAgB,MAAQ,QAE1D,MAAO,GAEX,SAASrB,EAAKuB,GACV,OACKA,EAAW,GAAK,WACjB,IACA8rE,EAAY5vE,KAAKsK,OACjB,aAIR,IAAIulE,EAAK5vE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oGAAoGC,MACxG,KAEJC,YACI,iEAAiED,MAC7D,KAERsC,kBAAkB,EAClBpC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,gCAAgCH,MAAM,KACrDI,YAAa,qBAAqBJ,MAAM,KACxCK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEV4B,cAAe,SACfwC,KAAM,SAAUP,GACZ,MAAyC,MAAlCA,EAAMkC,OAAO,GAAGgmE,eAE3BhqE,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,IACW,IAAZlD,EAAmB,KAAO,MAEd,IAAZA,EAAmB,KAAO,MAGzChC,SAAU,CACNC,QAAS,gBACTC,QAAS,oBACTC,SAAU,WACN,OAAOmB,EAAKoW,KAAK3Y,MAAM,IAE3BqB,QAAS,oBACTC,SAAU,WACN,OAAOiB,EAAKoW,KAAK3Y,MAAM,IAE3BuB,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,KACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOotE,M,oCC7HX,IAAIC,EAAI,EAAQ,QACZn3D,EAAO,EAAQ,QACfhS,EAAc,EAAQ,QACtBopE,EAAyB,EAAQ,QACjCC,EAAa,EAAQ,QACrBC,EAAoB,EAAQ,QAC5BzB,EAAW,EAAQ,QACnBl4D,EAAW,EAAQ,QACnB45D,EAAY,EAAQ,QACpBC,EAAiB,EAAQ,QACzBC,EAAkB,EAAQ,QAC1B5wE,EAAkB,EAAQ,QAC1B6wE,EAAU,EAAQ,QAElBC,EAAU9wE,EAAgB,WAC1B+wE,EAAad,UACbziE,EAAUrG,EAAY,GAAGqG,SACzBhG,EAAUL,EAAY,GAAGK,SACzBC,EAAcN,EAAY,GAAGO,OAC7BqM,EAAMzM,KAAKyM,IAIfu8D,EAAE,CAAErxD,OAAQ,SAAU+xD,OAAO,GAAQ,CACnCC,WAAY,SAAoBC,EAAaC,GAC3C,IACIC,EAAYC,EAAOC,EAAU9lE,EAAQ+lE,EAAcC,EAAmBC,EAAcC,EAAWxpE,EAD/FypE,EAAIpB,EAAuB/vE,MAE3BuH,EAAW,EACX6pE,EAAiB,EACjBrtE,EAAS,GACb,IAAKksE,EAAkBS,GAAc,CAEnC,GADAE,EAAapC,EAASkC,GAClBE,IACFC,EAAQv6D,EAASy5D,EAAuBI,EAAeO,OACjD1jE,EAAQ6jE,EAAO,MAAM,MAAM,IAAIN,EAAW,mDAGlD,GADAO,EAAWZ,EAAUQ,EAAaJ,GAC9BQ,EACF,OAAOn4D,EAAKm4D,EAAUJ,EAAaS,EAAGR,GACjC,GAAIN,GAAWO,EACpB,OAAO5pE,EAAQsP,EAAS66D,GAAIT,EAAaC,GAG7C3lE,EAASsL,EAAS66D,GAClBJ,EAAez6D,EAASo6D,GACxBM,EAAoBhB,EAAWW,GAC1BK,IAAmBL,EAAer6D,EAASq6D,IAChDM,EAAeF,EAAanpE,OAC5BspE,EAAY39D,EAAI,EAAG09D,GACnB1pE,EAAWyF,EAAQhC,EAAQ+lE,GAC3B,OAAqB,IAAdxpE,EACLG,EAAcspE,EACV16D,EAASq6D,EAAaI,EAAcxpE,EAAUyD,IAC9ColE,EAAgBW,EAAc/lE,EAAQzD,EAAU,QAAIO,EAAW6oE,GACnE5sE,GAAUkD,EAAY+D,EAAQomE,EAAgB7pE,GAAYG,EAC1D0pE,EAAiB7pE,EAAW0pE,EAC5B1pE,EAAWA,EAAW2pE,EAAYlmE,EAAOpD,QAAU,EAAIoF,EAAQhC,EAAQ+lE,EAAcxpE,EAAW2pE,GAKlG,OAHIE,EAAiBpmE,EAAOpD,SAC1B7D,GAAUkD,EAAY+D,EAAQomE,IAEzBrtE,M,wBCxDT,SAAUjE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoxE,EAAOpxE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wCAAwCC,MAC5C,KAEJC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACNgE,EAAG,WACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVvC,cAAe,oBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,OAAbC,GAAkC,OAAbA,GAAkC,OAAbA,EACnCD,EACa,OAAbC,GAAkC,OAAbA,EACrBD,EAAO,GAGPA,GAAQ,GAAKA,EAAOA,EAAO,IAG1CC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,IAAIqqE,EAAY,IAAPxqE,EAAaE,EACtB,OAAIsqE,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfrsE,SAAU,CACNC,QAAS,SACTC,QAAS,SACTC,SAAU,SAAUiE,GAChB,OAAIA,EAAI9C,SAAWvC,KAAKuC,OACb,WAEA,YAGflB,QAAS,SACTC,SAAU,SAAU+D,GAChB,OAAIrF,KAAKuC,SAAW8C,EAAI9C,OACb,WAEA,YAGfhB,SAAU,KAEd+B,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBnC,aAAc,CACVC,OAAQ,MACRC,KAAM,MACNC,EAAG,KACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,OACJkE,EAAG,MACHC,GAAI,OACJlE,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,QAERC,KAAM,CAEFC,IAAK,EACLC,IAAK,KAIb,OAAO4uE,M,wBC5HT,SAAUvxE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqxE,EAAKrxE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wFAAwFC,MAC5F,KAEJC,YACI,mEAAmED,MAC/D,KAERsC,kBAAkB,EAClBpC,SACI,8DAA8DF,MAC1D,KAERG,cAAe,kCAAkCH,MAAM,KACvDI,YAAa,qBAAqBJ,MAAM,KACxCK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,YACTC,QAAS,YACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,YACNC,EAAG,iBACHC,GAAI,aACJC,EAAG,YACHC,GAAI,cACJC,EAAG,SACHC,GAAI,WACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,WACJC,EAAG,cACHC,GAAI,iBAERgB,uBAAwB,WACxBC,QAAS,MACTX,cAAe,iCACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,WAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbC,EACAD,EACa,cAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,aAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,SACAA,EAAO,GACP,OACAA,EAAO,GACP,YACAA,EAAO,GACP,WAEA,UAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO6uE,M,wBC5FT,SAAUxxE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIwU,EAAKxU,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,oDAAoDF,MAAM,KACpEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,+BACNkE,IAAK,mBACLC,KAAM,wBAEVlE,SAAU,CACNC,QAAS,YACTC,QAAS,eACTE,QAAS,YACTD,SAAU,eACVE,SAAU,iBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,eACNC,EAAG,iBACHC,GAAI,cACJC,EAAG,WACHC,GAAI,aACJC,EAAG,WACHC,GAAI,YACJC,EAAG,SACHC,GAAI,WACJC,EAAG,WACHC,GAAI,aACJC,EAAG,SACHC,GAAI,SAERgB,uBAAwB,mBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,GAEQ,IAANA,EADA,KAII,KAEpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOgS,M,sBCxET,SAAU3U,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsxE,EAAOtxE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,sFAAsFC,MAC1F,KAEJC,YACI,sFAAsFD,MAClF,KAERE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,0BACJC,IAAK,iCACLC,KAAM,wCAEV4B,cAAe,qDACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAGM,eAAbC,GACa,UAAbA,GACa,iBAAbA,EAEOD,EACa,iBAAbC,GAA4C,QAAbA,EAC/BD,EAAO,GAEPA,GAAQ,GAAKA,EAAOA,EAAO,IAG1CC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,IAAIqqE,EAAY,IAAPxqE,EAAaE,EACtB,OAAIsqE,EAAK,IACE,aACAA,EAAK,IACL,QACAA,EAAK,KACL,eACAA,EAAK,KACL,MACAA,EAAK,KACL,eAEA,OAGfrsE,SAAU,CACNC,QAAS,mBACTC,QAAS,kBACTC,SAAU,4BACVC,QAAS,eACTC,SAAU,6BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,WACNC,EAAG,eACHC,GAAI,YACJC,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,SACJC,EAAG,UACHC,GAAI,SACJC,EAAG,UACHC,GAAI,UAGRgB,uBAAwB,6BACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,QACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,SACpB,QACI,OAAOA,IAGnBuH,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCmE,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCzE,KAAM,CAEFC,IAAK,EACLC,IAAK,KAIb,OAAO8uE,M,qBCvHX5xE,EAAOC,QAAU,SAASD,GAoBzB,OAnBKA,EAAO6xE,kBACX7xE,EAAO8xE,UAAY,aACnB9xE,EAAO+xE,MAAQ,GAEV/xE,EAAOgyE,WAAUhyE,EAAOgyE,SAAW,IACxChlE,OAAOoG,eAAepT,EAAQ,SAAU,CACvCkwB,YAAY,EACZ5B,IAAK,WACJ,OAAOtuB,EAAOqF,KAGhB2H,OAAOoG,eAAepT,EAAQ,KAAM,CACnCkwB,YAAY,EACZ5B,IAAK,WACJ,OAAOtuB,EAAO8M,KAGhB9M,EAAO6xE,gBAAkB,GAEnB7xE,I,sBCfN,SAAUG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2xE,EAAO3xE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV4B,cAAe,8BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EACa,cAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbC,GAAsC,UAAbA,EACzBD,EAAO,QADX,GAIXC,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACD,OACAA,EAAQ,GACR,YACAA,EAAQ,GACR,SAEA,SAGflF,SAAU,CACNC,QAAS,sBACTC,QAAS,kBACTC,SAAU,kBACVC,QAAS,sBACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,gBACNC,EAAG,gBACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmvE,M,wBC7ET,SAAU9xE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4xE,EAAK5xE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6FAA6FC,MACjG,KAEJC,YAAa,oDAAoDD,MAAM,KACvEE,SAAU,qDAAqDF,MAAM,KACrEG,cAAe,gCAAgCH,MAAM,KACrDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,4BACJC,IAAK,kCACLC,KAAM,2CACNmE,KAAM,uCAEVvC,cAAe,cACfwC,KAAM,SAAUP,GACZ,MAAyC,MAAlCA,EAAMkC,OAAO,GAAGgmE,eAE3BhqE,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,SAAW,SAErBA,EAAU,SAAW,UAGpChC,SAAU,CACNC,QAAS,iBACTC,QAAS,iBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAG,kBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,aACHC,GAAI,aACJC,EAAG,WACHC,GAAI,YAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOovE,M,sBCxET,SAAU/xE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACL,QACA,UACA,OACA,QACA,MACA,MACA,SACA,OACA,UACA,SACA,QACA,SAEJ+uE,EAAO,CAAC,MAAO,OAAQ,QAAS,OAAQ,OAAQ,MAAO,QAEvD2C,EAAK7xE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaF,EACbG,SAAU4uE,EACV3uE,cAAe2uE,EACf1uE,YAAa0uE,EACbzuE,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,UACfwC,KAAM,SAAUP,GACZ,MAAO,QAAUA,GAErB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,MAEJ,OAEX7B,SAAU,CACNC,QAAS,UACTC,QAAS,aACTC,SAAU,yBACVC,QAAS,aACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,QACNC,EAAG,YACHC,GAAI,WACJC,EAAG,SACHC,GAAI,SACJC,EAAG,UACHC,GAAI,UACJC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCmE,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCzE,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqvE,M,sBCrFT,SAAUhyE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAAS8xE,EAAyBpuE,EAAQC,EAAeC,GACrD,IAAI8B,EAAS,CACT7D,GAAI,WACJM,GAAI,MACJF,GAAI,UAER,OAAOyB,EAAS,IAAMquE,EAASrsE,EAAO9B,GAAMF,GAEhD,SAASsuE,EAAwBtuE,GAC7B,OAAQuuE,EAAWvuE,IACf,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOA,EAAS,SACpB,QACI,OAAOA,EAAS,UAG5B,SAASuuE,EAAWvuE,GAChB,OAAIA,EAAS,EACFuuE,EAAWvuE,EAAS,IAExBA,EAEX,SAASquE,EAASxwC,EAAM79B,GACpB,OAAe,IAAXA,EACOwuE,EAAa3wC,GAEjBA,EAEX,SAAS2wC,EAAa3wC,GAClB,IAAI4wC,EAAgB,CAChBvwE,EAAG,IACHuG,EAAG,IACHnG,EAAG,KAEP,YAAsC6F,IAAlCsqE,EAAc5wC,EAAKz6B,OAAO,IACnBy6B,EAEJ4wC,EAAc5wC,EAAKz6B,OAAO,IAAMy6B,EAAKhrB,UAAU,GAG1D,IAAIhR,EAAc,CACV,QACA,cACA,QACA,QACA,QACA,cACA,QACA,QACA,QACA,QACA,OACA,SAEJC,EACI,6IACJK,EACI,wFACJC,EACI,2DACJssE,EAAoB,CAChB,QACA,QACA,WACA,iBACA,SACA,WACA,YAEJC,EAAqB,CACjB,QACA,QACA,QACA,QACA,QACA,QACA,SAEJC,EAAmB,CACf,OACA,OACA,eACA,QACA,OACA,OACA,QAGJC,EAAKvyE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,gFAAgFC,MACpF,KAEJC,YAAa,mDAAmDD,MAAM,KACtEE,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,wBAAwBJ,MAAM,KAC3CoyE,cAAeF,EACfF,kBAAmBA,EACnBC,mBAAoBA,EACpBC,iBAAkBA,EAElB9sE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBAAmBA,EACnBC,uBAAwBA,EACxBP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAElB9E,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,sBACJC,IAAK,4BACLC,KAAM,mCAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,qBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,SACNC,EAAG,wBACHC,GAAI,YACJC,EAAG,cACHC,GAAIiwE,EACJhwE,EAAG,SACHC,GAAI,SACJC,EAAG,YACHC,GAAI6vE,EACJ5vE,EAAG,SACHC,GAAI2vE,EACJ1vE,EAAG,WACHC,GAAI2vE,GAER3uE,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,IAAIR,EAAoB,IAAXQ,EAAe,KAAO,MACnC,OAAOA,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,GAETG,cAAe,YACfwC,KAAM,SAAUoL,GACZ,MAAiB,SAAVA,GAEXzN,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAOH,EAAO,GAAK,OAAS,UAIpC,OAAO0vE,M,wBC5KT,SAAU1yE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyyE,EAAKzyE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,8IAA8IC,MAClJ,KAEJC,YACI,iEAAiED,MAC7D,KAERoF,YAAa,yCACbK,kBAAmB,yCACnBD,iBAAkB,yCAClBE,uBAAwB,yCACxBxF,SAAU,kDAAkDF,MAAM,KAClEG,cAAe,wBAAwBH,MAAM,KAC7CI,YAAa,wBAAwBJ,MAAM,KAC3CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,wBACLC,KAAM,+BAEVC,SAAU,CACNC,QAAS,wBACTC,QAAS,eACTC,SAAU,cACVC,QAAS,iBACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,cACRC,KAAM,WACNC,EAAG,mBACHC,GAAI,YACJC,EAAG,YACHC,GAAI,YACJC,EAAG,WACHC,GAAI,WACJC,EAAG,QACHC,GAAI,QACJC,EAAG,YACHC,GAAI,YACJC,EAAG,SACHC,GAAI,UAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOiwE,M,sBC/DT,SAAU5yE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI0yE,EAAK1yE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,uFAAuFC,MAC3F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,YACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,eACTC,SAAU,oBACVC,QAAS,gBACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,4BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,8BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,kBACHC,GAAI,aACJC,EAAG,cACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,aACHC,GAAI,YACJC,EAAG,cACHC,GAAI,aAERgB,uBAAwB,8BACxBC,QAAS,SAAUI,GACf,IAAIuqE,EAAYvqE,EAAS,GACrBivE,EAAcjvE,EAAS,IAC3B,OAAe,IAAXA,EACOA,EAAS,MACO,IAAhBivE,EACAjvE,EAAS,MACTivE,EAAc,IAAMA,EAAc,GAClCjvE,EAAS,MACK,IAAduqE,EACAvqE,EAAS,MACK,IAAduqE,EACAvqE,EAAS,MACK,IAAduqE,GAAiC,IAAdA,EACnBvqE,EAAS,MAETA,EAAS,OAGxBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOkwE,M,wBCxFT,SAAU7yE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4yE,EAAK5yE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,6DAA6DD,MAAM,KACvEsC,kBAAkB,EAClBpC,SAAU,qDAAqDF,MAAM,KACrEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,2BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,oBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,0BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,cACJC,EAAG,UACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WACJkE,EAAG,SACHC,GAAI,UACJlE,EAAG,WACHC,GAAI,aACJC,EAAG,SACHC,GAAI,SAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOowE,M,wBChET,SAAU/yE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXsC,EAAG,MACHrC,EAAG,MACHK,EAAG,MACHI,EAAG,MACHC,EAAG,MACHT,EAAG,MACHW,EAAG,MACHN,EAAG,MACHJ,EAAG,MACHW,EAAG,MACHC,GAAI,MACJP,GAAI,MACJQ,GAAI,MACJokE,GAAI,MACJ3kE,GAAI,MACJQ,GAAI,MACJb,GAAI,MACJC,GAAI,MACJa,GAAI,MACJN,IAAK,OAGL6pE,EAAK7yE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,0DAA0DF,MAChE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,mBACTC,QAAS,mBACTC,SAAU,kBACVC,QAAS,kBACTC,SAAU,kCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,WACNC,EAAG,iBACHC,GAAI,YACJC,EAAG,YACHC,GAAI,WACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERgB,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,IAAI+F,EAAI/F,EAAS,GACbyE,EAAIzE,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAAS1E,IAAW0E,EAASqB,IAAMrB,EAASD,KAEjE7F,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqwE,M,wBCtFT,SAAUhzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI8yE,EAAO9yE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,yEAAyEC,MAC7E,KAEJC,YACI,yEAAyED,MACrE,KAERE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,OACHC,GAAI,WACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOswE,M,wBCzDT,SAAUjzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsuE,EAAKtuE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,gGAAgGC,MACpG,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,WACL,MACI,WACClB,KAAKmG,QAAU,EAAI,OAA0B,IAAjBnG,KAAKmG,QAAgB,IAAM,OACxD,OAGRhF,QAAS,WACL,MACI,aACCnB,KAAKmG,QAAU,EAAI,OAA0B,IAAjBnG,KAAKmG,QAAgB,IAAM,OACxD,OAGR/E,SAAU,WACN,MACI,WACCpB,KAAKmG,QAAU,EAAI,OAA0B,IAAjBnG,KAAKmG,QAAgB,IAAM,OACxD,OAGR9E,QAAS,WACL,MACI,WACCrB,KAAKmG,QAAU,EAAI,OAA0B,IAAjBnG,KAAKmG,QAAgB,IAAM,OACxD,OAGR7E,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MACI,uBACCtK,KAAKmG,QAAU,EACV,OACiB,IAAjBnG,KAAKmG,QACH,IACA,OACR,MAER,QACI,MACI,uBACCnG,KAAKmG,QAAU,EACV,OACiB,IAAjBnG,KAAKmG,QACH,IACA,OACR,QAIhB5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,QACNC,EAAG,iBACHC,GAAI,aACJC,EAAG,YACHC,GAAI,YACJC,EAAG,SACHC,GAAI,SACJC,EAAG,YACHC,GAAI,YACJkE,EAAG,gBACHC,GAAI,eACJlE,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO8rE,M,wBC9GT,SAAUzuE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+yE,EAAO/yE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,gGAAgGC,MACpG,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,mBACTC,SAAU,iBACVC,QAAS,iBACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,6BACX,QACI,MAAO,+BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,SAAUE,GACd,OAAQ,YAAYjC,KAAKiC,GAAK,MAAQ,MAAQ,IAAMA,GAExDD,KAAM,QACNC,EAAG,iBACHC,GAAI,aACJC,EAAG,YACHC,GAAI,YACJC,EAAG,SACHC,GAAI,SACJC,EAAG,YACHC,GAAI,YACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOuwE,M,wBCpET,SAAUlzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIgzE,EAAOhzE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwwE,M,sBCxET,SAAUnzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIizE,EACI,6DAA6D7yE,MAAM,KACvE8yE,EACI,kDAAkD9yE,MAAM,KAE5D+yE,EAAKnzE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,iGAAiGC,MACrG,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbwtE,EAAuBtxE,EAAE+D,SAEzBstE,EAAoBrxE,EAAE+D,SAJtBstE,GAOfvwE,kBAAkB,EAClBpC,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,iBACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAG,mBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WACJC,EAAG,aACHC,GAAI,aACJC,EAAG,WACHC,GAAI,cAERgB,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2wE,M,sBC/ET,SAAUtzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIozE,EAAOpzE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,KAIxB,OAAOkwE,M,wBCpET,SAAUvzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqzE,EAAKrzE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,sFAAsFC,MAC1F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,8DAA8DF,MAC1D,KAERG,cAAe,kCAAkCH,MAAM,KACvDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,UACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,8BACVC,QAAS,YACTC,SAAU,kCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,aACRC,KAAM,WACNC,EAAG,aACHC,GAAI,aACJC,EAAG,cACHC,GAAI,YACJC,EAAG,aACHC,GAAI,WACJC,EAAG,YACHC,GAAI,UACJC,EAAG,cACHC,GAAI,WACJC,EAAG,cACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO6wE,M,sBC3DT,SAAUxzE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB6E,EAAKxH,EAAeC,EAAKC,GAClD,IAAI6B,EAAS,CACThE,EAAG,CAAC,cAAe,kBACnBC,GAAI,CAACwJ,EAAM,UAAWA,EAAM,cAC5BvJ,EAAG,CAAC,YAAa,cACjBC,GAAI,CAACsJ,EAAM,UAAWA,EAAM,cAC5BrJ,EAAG,CAAC,SAAU,WACdC,GAAI,CAACoJ,EAAM,QAASA,EAAM,WAC1BnJ,EAAG,CAAC,QAAS,UACbC,GAAI,CAACkJ,EAAM,OAAQA,EAAM,UACzBhF,EAAG,CAAC,WAAY,aAChBC,GAAI,CAAC+E,EAAM,SAAUA,EAAM,aAC3BjJ,EAAG,CAAC,QAAS,UACbC,GAAI,CAACgJ,EAAM,OAAQA,EAAM,UACzB/I,EAAG,CAAC,QAAS,UACbC,GAAI,CAAC8I,EAAM,OAAQA,EAAM,WAE7B,OAAOxH,EAAgB+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAUxD,SAAS0vE,EAAenoE,GACpBA,EAAM,GAAKA,EACX,IAAIpG,EAAIoG,EAAIoL,UAAUpL,EAAIxD,OAAS,GAC/B3C,EAAKmG,EAAIxD,OAAS,EAAIwD,EAAIoL,UAAUpL,EAAIxD,OAAS,GAAK,GAC1D,OACY,IAAN3C,GAAkB,IAANA,GACR,KAALD,GAAiB,KAALA,GAAkB,MAANC,GAAmB,MAALD,GAAkB,MAALA,EAGjD,IADI,KAIf,IAAIwuE,EAAQvzE,EAAOE,aAAa,SAAU,CAItCC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEsC,kBAAkB,EAClBpC,SAAU,4CAA4CF,MAAM,KAC5DG,cAAe,2BAA2BH,MAAM,KAChDI,YAAa,uBAAuBJ,MAAM,KAC1C0C,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCL,cAAe,cACflC,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,sBACJC,IAAK,4BACLC,KAAM,kCACNiE,GAAI,qBACJC,IAAK,2BACLC,KAAM,oCAEVlE,SAAU,CACNC,QAAS,wBACTC,QAAS,yBACTC,SAAU,yBACVC,QAAS,wBACTC,SAAU,+BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,UACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAIqE,EACJH,EAAGG,EACHF,GAAIE,EACJpE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,qBACxBC,QAAS,SAAU6H,EAAK9F,GACpB,IAAIuP,EAAIvP,EAAOynE,cACf,OAAIl4D,EAAE4+D,SAAS,MAAQ5+D,EAAE4+D,SAAS,KAAaroE,EAAM,IAE9CA,EAAMmoE,EAAenoE,IAEhC7I,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO+wE,M,wBCrHT,SAAU1zE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EACI,oFAAoFC,MAChF,KAERC,EAAc,kDAAkDD,MAAM,KAC1E,SAASmD,EAAOC,GACZ,OAAOA,EAAI,GAAKA,EAAI,EAExB,SAASC,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIC,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,IACD,OAAOD,GAAiBE,EAAW,aAAe,gBACtD,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,UAAY,UAEvCI,EAAS,YAExB,IAAK,IACD,OAAOH,EAAgB,SAAWE,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,SAAW,SAEtCI,EAAS,WAExB,IAAK,IACD,OAAOH,EAAgB,SAAWE,EAAW,SAAW,UAC5D,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,SAAW,SAEtCI,EAAS,WAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,MAAQ,OAC/C,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,MAAQ,OAEnCI,EAAS,QAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,SAAW,WAClD,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,UAAY,YAEvCI,EAAS,WAExB,IAAK,IACD,OAAOH,GAAiBE,EAAW,MAAQ,QAC/C,IAAK,KACD,OAAIF,GAAiBE,EACVC,GAAUP,EAAOG,GAAU,OAAS,SAEpCI,EAAS,SAKhC,IAAI2vE,EAAKzzE,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaA,EACbC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,kBACX,KAAK,EACL,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,oBACX,KAAK,EACD,MAAO,kBACX,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,yBAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOixE,M,wBCrJT,SAAU5zE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI0zE,EAAK1zE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,gEAAgED,MAAM,KACnFE,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,sCAAsCH,MAAM,KAC3DI,YAAa,2BAA2BJ,MAAM,KAC9CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,eACTC,SAAU,8BACVC,QAAS,eACTC,SAAU,6BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,oBACHC,GAAI,WACJC,EAAG,cACHC,GAAI,aACJC,EAAG,cACHC,GAAI,aACJC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,YACHC,GAAI,YAERgB,uBAAwB,gBACxBC,QAAS,UACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOkxE,M,sBCzDT,SAAU7zE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAIC,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,IACD,OAAOD,GAAiBE,EAClB,eACA,kBACV,IAAK,KAUD,OARIC,GADW,IAAXJ,EACUC,EAAgB,UAAY,UACpB,IAAXD,EACGC,GAAiBE,EAAW,UAAY,WAC3CH,EAAS,EACNC,GAAiBE,EAAW,UAAY,WAExC,SAEPC,EACX,IAAK,IACD,OAAOH,EAAgB,aAAe,aAC1C,IAAK,KAUD,OARIG,GADW,IAAXJ,EACUC,EAAgB,SAAW,SACnB,IAAXD,EACGC,GAAiBE,EAAW,SAAW,WAC1CH,EAAS,EACNC,GAAiBE,EAAW,SAAW,WAEvCF,GAAiBE,EAAW,QAAU,WAE7CC,EACX,IAAK,IACD,OAAOH,EAAgB,UAAY,UACvC,IAAK,KAUD,OARIG,GADW,IAAXJ,EACUC,EAAgB,MAAQ,MAChB,IAAXD,EACGC,GAAiBE,EAAW,MAAQ,QACvCH,EAAS,EACNC,GAAiBE,EAAW,MAAQ,QAEpCF,GAAiBE,EAAW,KAAO,QAE1CC,EACX,IAAK,IACD,OAAOH,GAAiBE,EAAW,SAAW,YAClD,IAAK,KAQD,OANIC,GADW,IAAXJ,EACUC,GAAiBE,EAAW,MAAQ,OAC5B,IAAXH,EACGC,GAAiBE,EAAW,MAAQ,UAEpCF,GAAiBE,EAAW,MAAQ,QAE3CC,EACX,IAAK,IACD,OAAOH,GAAiBE,EAAW,WAAa,eACpD,IAAK,KAUD,OARIC,GADW,IAAXJ,EACUC,GAAiBE,EAAW,QAAU,UAC9B,IAAXH,EACGC,GAAiBE,EAAW,SAAW,WAC1CH,EAAS,EACNC,GAAiBE,EAAW,SAAW,SAEvCF,GAAiBE,EAAW,UAAY,SAE/CC,EACX,IAAK,IACD,OAAOH,GAAiBE,EAAW,WAAa,aACpD,IAAK,KAUD,OARIC,GADW,IAAXJ,EACUC,GAAiBE,EAAW,OAAS,QAC7B,IAAXH,EACGC,GAAiBE,EAAW,OAAS,SACxCH,EAAS,EACNC,GAAiBE,EAAW,OAAS,OAErCF,GAAiBE,EAAW,MAAQ,OAE3CC,GAInB,IAAIiR,EAAK/U,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wFAAwFC,MAC5F,KAEJC,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,eACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,gBAETC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACD,MAAO,uBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,qBAGnBjJ,QAAS,iBACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,+BACX,KAAK,EACD,MAAO,6BACX,KAAK,EACD,MAAO,8BACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,4BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,UACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAIqE,EACJpE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOuS,M,wBC/KT,SAAUlV,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2zE,EACI,wEAAwEvzE,MACpE,KAERwzE,EAAgB,CACZ,QACA,QACA,SACA,SACA,SACA,SACA,SACAD,EAAY,GACZA,EAAY,GACZA,EAAY,IAEpB,SAASlwE,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,IAAIC,EAAS,GACb,OAAQF,GACJ,IAAK,IACD,OAAOC,EAAW,oBAAsB,kBAC5C,IAAK,KACDC,EAASD,EAAW,WAAa,WACjC,MACJ,IAAK,IACD,OAAOA,EAAW,WAAa,WACnC,IAAK,KACDC,EAASD,EAAW,WAAa,YACjC,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDC,EAASD,EAAW,SAAW,SAC/B,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDC,EAASD,EAAW,SAAW,SAC/B,MACJ,IAAK,IACD,OAAOA,EAAW,YAAc,WACpC,IAAK,KACDC,EAASD,EAAW,YAAc,YAClC,MACJ,IAAK,IACD,OAAOA,EAAW,SAAW,QACjC,IAAK,KACDC,EAASD,EAAW,SAAW,SAC/B,MAGR,OADAC,EAAS+vE,EAAanwE,EAAQG,GAAY,IAAMC,EACzCA,EAEX,SAAS+vE,EAAanwE,EAAQG,GAC1B,OAAOH,EAAS,GACVG,EACI+vE,EAAclwE,GACdiwE,EAAYjwE,GAChBA,EAGV,IAAIowE,EAAK9zE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,2GAA2GC,MAC/G,KAEJC,YACI,uEAAuED,MACnE,KAERE,SACI,qEAAqEF,MACjE,KAERG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,mBACJC,IAAK,gCACLC,KAAM,sCACNgE,EAAG,WACHC,GAAI,cACJC,IAAK,2BACLC,KAAM,iCAEVlE,SAAU,CACNC,QAAS,oBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,mBACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,YACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOsxE,M,sBChIT,SAAUj0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTsjE,EAAO/zE,EAAOE,aAAa,QAAS,CACpCC,OAAQ,6EAA6EC,MACjF,KAEJC,YACI,6EAA6ED,MACzE,KAERE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,MACfwC,KAAM,SAAUP,GACZ,MAAO,MAAQA,GAEnB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,IAEA,KAGf7B,SAAU,CACNC,QAAS,wBACTC,QAAS,sBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,OACHC,GAAI,WACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,YAER4I,SAAU,SAAUF,GAChB,OAAOA,EACFhE,QAAQ,iBAAiB,SAAUlC,GAChC,OAAO4L,EAAU5L,MAEpBkC,QAAQ,KAAM,MAEvBmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvBzE,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOuxE,M,wBC7GT,SAAUl0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIg0E,EAAKh0E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,YACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,yBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,0BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAG,kBACHC,GAAI,aACJC,EAAG,SACHC,GAAI,YACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,UACJkE,EAAG,UACHC,GAAI,aACJlE,EAAG,QACHC,GAAI,YACJC,EAAG,SACHC,GAAI,aAERgB,uBAAwB,8BACxBC,QAAS,SAAUI,GACf,IAAIuqE,EAAYvqE,EAAS,GACrBivE,EAAcjvE,EAAS,IAC3B,OAAe,IAAXA,EACOA,EAAS,MACO,IAAhBivE,EACAjvE,EAAS,MACTivE,EAAc,IAAMA,EAAc,GAClCjvE,EAAS,MACK,IAAduqE,EACAvqE,EAAS,MACK,IAAduqE,EACAvqE,EAAS,MACK,IAAduqE,GAAiC,IAAdA,EACnBvqE,EAAS,MAETA,EAAS,OAGxBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwxE,M,sBCzFT,SAAUn0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTwjE,EAAKj0E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,mDAAmDD,MAAM,KACtEE,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,2BAA2BH,MAAM,KAChDI,YAAa,2BAA2BJ,MAAM,KAE9CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,mBACTC,SAAU,6BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,kBACNC,EAAG,kBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,SACHC,GAAI,SACJC,EAAG,OACHC,GAAI,OACJC,EAAG,UACHC,GAAI,WAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBvC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOyxE,M,sBC/FT,SAAUp0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIk0E,EAAKl0E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SAAU,mDAAmDF,MAAM,KACnEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVC,SAAU,CACNC,QAAS,WACL,MAAO,UAA6B,IAAjBlB,KAAKmG,QAAgB,KAAO,KAAO,QAE1DhF,QAAS,WACL,MAAO,UAA6B,IAAjBnB,KAAKmG,QAAgB,KAAO,KAAO,QAE1D/E,SAAU,WACN,MAAO,UAA6B,IAAjBpB,KAAKmG,QAAgB,KAAO,KAAO,QAE1D9E,QAAS,WACL,MAAO,UAA6B,IAAjBrB,KAAKmG,QAAgB,IAAM,KAAO,QAEzD7E,SAAU,WACN,MACI,qBAAwC,IAAjBtB,KAAKmG,QAAgB,KAAO,KAAO,QAGlE5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,SAAU6F,GACd,OAA0B,IAAtBA,EAAI0F,QAAQ,MACL,IAAM1F,EAEV,MAAQA,GAEnB5F,KAAM,SACNC,EAAG,eACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,YACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJC,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0xE,M,wBC/ET,SAAUr0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsF,EACI,8DAA8DlF,MAC1D,KAERC,EAAc,kDAAkDD,MAAM,KACtEmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJC,EACI,mLAEJ2uE,EAAKn0E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbrF,EAAYuB,EAAE+D,SAEdL,EAAe1D,EAAE+D,SAJjBL,GAOfE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,+FACJC,uBACI,0FACJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVC,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjBlB,KAAKmG,QAAgB,IAAM,IAAM,QAE3DhF,QAAS,WACL,MAAO,gBAAmC,IAAjBnB,KAAKmG,QAAgB,IAAM,IAAM,QAE9D/E,SAAU,WACN,MAAO,cAAiC,IAAjBpB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D9E,QAAS,WACL,MAAO,cAAiC,IAAjBrB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D7E,SAAU,WACN,MACI,0BACkB,IAAjBtB,KAAKmG,QAAgB,IAAM,IAC5B,QAGR5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJkE,EAAG,aACHC,GAAI,aACJlE,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,GAET4xE,YAAa,mBAGjB,OAAOD,M,wBClHT,SAAUt0E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASq0E,EAAWzvE,GAChB,MACyB,qBAAb0vE,UAA4B1vE,aAAiB0vE,UACX,sBAA1C5nE,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,IAAIisC,EAAK7wC,EAAOE,aAAa,KAAM,CAC/Bq0E,mBACI,qHAAqHn0E,MACjH,KAERo0E,iBACI,qHAAqHp0E,MACjH,KAERD,OAAQ,SAAUs0E,EAAgB/uE,GAC9B,OAAK+uE,EAGiB,kBAAX/uE,GACP,IAAIjG,KAAKiG,EAAO6Q,UAAU,EAAG7Q,EAAOqH,QAAQ,UAGrChN,KAAK20E,kBAAkBD,EAAe9uE,SAEtC5F,KAAK40E,oBAAoBF,EAAe9uE,SARxC5F,KAAK40E,qBAWpBt0E,YAAa,oDAAoDD,MAAM,KACvEE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C0C,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAGhCmC,KAAM,SAAUP,GACZ,MAAyC,OAAjCA,EAAQ,IAAIkoE,cAAc,IAEtCnqE,cAAe,gBACflC,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEV6zE,WAAY,CACR3zE,QAAS,iBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,gCACX,QACI,MAAO,mCAGnB/I,SAAU,KAEdN,SAAU,SAAU4C,EAAKixE,GACrB,IAAI3xE,EAASnD,KAAK+0E,YAAYlxE,GAC1BsC,EAAQ2uE,GAAOA,EAAI3uE,QAIvB,OAHImuE,EAAWnxE,KACXA,EAASA,EAAOmd,MAAMw0D,IAEnB3xE,EAAO6D,QAAQ,KAAMb,EAAQ,KAAO,EAAI,MAAQ,SAE3D3E,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,oBACHC,GAAI,kBACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,WACHC,GAAI,WACJC,EAAG,aACHC,GAAI,WACJC,EAAG,cACHC,GAAI,aAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOquC,M,wBC9GT,SAAUhxC,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+0E,EACI,mGAAmG30E,MAC/F,KAER40E,EACI,qGAAqG50E,MACjG,KAERmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAER,SAAShC,EAAOC,GACZ,OAAOA,EAAI,GAAK,GAAKA,EAAI,GAAK,MAAQA,EAAI,IAAM,KAAO,EAE3D,SAASC,EAAUC,EAAQC,EAAeC,GACtC,IAAIE,EAASJ,EAAS,IACtB,OAAQE,GACJ,IAAK,KACD,OAAOE,GAAUP,EAAOG,GAAU,UAAY,UAClD,IAAK,IACD,OAAOC,EAAgB,SAAW,SACtC,IAAK,KACD,OAAOG,GAAUP,EAAOG,GAAU,SAAW,SACjD,IAAK,IACD,OAAOC,EAAgB,UAAY,UACvC,IAAK,KACD,OAAOG,GAAUP,EAAOG,GAAU,UAAY,UAClD,IAAK,KACD,OAAOI,GAAUP,EAAOG,GAAU,WAAa,WACnD,IAAK,KACD,OAAOI,GAAUP,EAAOG,GAAU,WAAa,YACnD,IAAK,KACD,OAAOI,GAAUP,EAAOG,GAAU,OAAS,QAIvD,IAAIuxE,EAAKj1E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,SAAUs0E,EAAgB/uE,GAC9B,OAAK+uE,EAEM,SAASh1E,KAAKiG,GACdsvE,EAAiBP,EAAe9uE,SAEhCovE,EAAiBN,EAAe9uE,SAJhCovE,GAOf10E,YAAa,kDAAkDD,MAAM,KACrEmF,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SACI,6DAA6DF,MAAM,KACvEG,cAAe,2BAA2BH,MAAM,KAChDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,qBAEX,KAAK,EACD,MAAO,mBAEX,KAAK,EACD,MAAO,iBAEX,KAAK,EACD,MAAO,kBAEX,QACI,MAAO,oBAGnBjJ,QAAS,iBACTC,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACD,MAAO,4BACX,KAAK,EACD,MAAO,wBACX,KAAK,EACD,MAAO,yBACX,QACI,MAAO,2BAGnB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,eACHC,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAG,UACHC,GAAI,SACJkE,EAAG,UACHC,GAAI3C,EACJvB,EAAG,UACHC,GAAIsB,EACJrB,EAAG,MACHC,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOyyE,M,yBChJT,SAAUp1E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTq3C,EAAK9nD,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,wEAAwEC,MAC5E,KAEJC,YACI,wEAAwED,MACpE,KAERE,SACI,qDAAoEF,MAChE,KAERG,cACI,qDAAoEH,MAChE,KAERI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,wBACfwC,KAAM,SAAUP,GACZ,MAAO,aAAanF,KAAKmF,IAE7B9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,aAEA,cAGf7B,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,iBACVC,QAAS,kBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,YACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EACFhE,QAAQ,UAAU,SAAUlC,GACzB,OAAO4L,EAAU5L,MAEpBkC,QAAQ,KAAM,MAEvBmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvB1D,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOslD,M,wBCnHT,SAAUjoD,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAET9F,EAAa,SAAUnH,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACE,EACM,IAANA,EACE,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GACzB,EACAA,EAAI,KAAO,GACT,EACA,GAElBoH,EAAU,CACNlJ,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJE,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJE,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRyI,EAAY,SAAUC,GAClB,OAAO,SAAUpH,EAAQC,EAAeoH,EAAQlH,GAC5C,IAAImE,EAAI2C,EAAWjH,GACf2D,EAAMuD,EAAQE,GAAGH,EAAWjH,IAIhC,OAHU,IAANsE,IACAX,EAAMA,EAAI1D,EAAgB,EAAI,IAE3B0D,EAAIN,QAAQ,MAAOrD,KAGlCvD,EAAS,CACL,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,SACA,SACA,UAGJ+0E,EAAKl1E,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaF,EACbG,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,MACfwC,KAAM,SAAUP,GACZ,MAAO,MAAQA,GAEnB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,IAEA,KAGf7B,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAGmJ,EAAU,KACblJ,GAAIkJ,EAAU,KACdjJ,EAAGiJ,EAAU,KACbhJ,GAAIgJ,EAAU,KACd/I,EAAG+I,EAAU,KACb9I,GAAI8I,EAAU,KACd7I,EAAG6I,EAAU,KACb5I,GAAI4I,EAAU,KACd3I,EAAG2I,EAAU,KACb1I,GAAI0I,EAAU,KACdzI,EAAGyI,EAAU,KACbxI,GAAIwI,EAAU,MAElBI,SAAU,SAAUF,GAChB,OAAOA,EACFhE,QAAQ,iBAAiB,SAAUlC,GAChC,OAAO4L,EAAU5L,MAEpBkC,QAAQ,KAAM,MAEvBmE,WAAY,SAAUH,GAClB,OAAOA,EACFhE,QAAQ,OAAO,SAAUlC,GACtB,OAAO4F,EAAU5F,MAEpBkC,QAAQ,KAAM,MAEvBzE,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAO0yE,M,uBCjMT,SAAUr1E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGT0kE,EAAKn1E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,0FAA0FC,MAC9F,KAEJC,YACI,mEAAmED,MAC/D,KAERE,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,uCAAuCH,MAAM,KAC5DI,YAAa,kCAAkCJ,MAAM,KACrDK,eAAgB,CACZC,GAAI,aACJC,IAAK,gBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,UACTC,QAAS,gBACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAG,eACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBlC,cAAe,2BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAGO,QAAbC,GAAsBD,GAAQ,GACjB,UAAbC,GAAwBD,EAAO,GACnB,UAAbC,EAEOD,EAAO,GAEPA,GAGfC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,QAEA,OAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2yE,M,oCC9HX,IAAIz8D,EAAO,EAAQ,QACf08D,EAAS,EAAQ,QACjBC,EAAgB,EAAQ,QACxBC,EAAc,EAAQ,QAEtBC,EAAkBC,OAAO/8D,UAE7B/Y,EAAOC,QAAU,SAAU81E,GACzB,IAAI7E,EAAQ6E,EAAE7E,MACd,YAAiB/oE,IAAV+oE,GAAyB,UAAW2E,GAAqBH,EAAOK,EAAG,WAAYJ,EAAcE,EAAiBE,GAC1F7E,EAAvBl4D,EAAK48D,EAAaG,K,wBCNtB,SAAU51E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI01E,EAAO11E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wCAAwCC,MAC5C,KAEJC,YAAa,yCAAyCD,MAClD,KAEJE,SAAU,8BAA8BF,MAAM,KAC9CG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,sBACNgE,EAAG,WACHC,GAAI,YACJC,IAAK,kBACLC,KAAM,uBAEVvC,cAAe,oBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,OAAbC,GAAkC,OAAbA,GAAkC,OAAbA,EACnCD,EACa,OAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,OAAbC,GAAkC,OAAbA,EACrBD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,IAAIqqE,EAAY,IAAPxqE,EAAaE,EACtB,OAAIsqE,EAAK,IACE,KACAA,EAAK,IACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KACAA,EAAK,KACL,KAEA,MAGfrsE,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,aACVC,QAAS,UACTC,SAAU,aACVC,SAAU,KAEd+B,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,IACpB,IAAK,IACD,OAAOA,EAAS,IACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,IACpB,QACI,OAAOA,IAGnBnC,aAAc,CACVC,OAAQ,MACRC,KAAM,MACNC,EAAG,KACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,OACJC,EAAG,OACHC,GAAI,QACJC,EAAG,MACHC,GAAI,UAIZ,OAAOqzE,M,wBCrGT,SAAU71E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASuD,EAAO4G,EAAMgB,GAClB,IAAIC,EAAQjB,EAAK/J,MAAM,KACvB,OAAO+K,EAAM,KAAO,GAAKA,EAAM,MAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAChEC,EAAM,GACNA,EAAM,GAElB,SAASC,EAAuB3H,EAAQC,EAAeC,GACnD,IAAI8B,EAAS,CACT/D,GAAIgC,EAAgB,yBAA2B,yBAC/C9B,GAAI8B,EAAgB,sBAAwB,sBAC5C5B,GAAI,iBACJE,GAAI,gBACJmE,GAAI,uBACJjE,GAAI,uBACJE,GAAI,gBAER,MAAY,MAARuB,EACOD,EAAgB,SAAW,SAE3BD,EAAS,IAAMH,EAAOmC,EAAO9B,IAAOF,GAGnD,IAAI6B,EAAc,CACd,QACA,QACA,QACA,QACA,WACA,QACA,QACA,QACA,QACA,QACA,QACA,SAMAowE,EAAK31E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,oFAAoFtF,MACxF,KAEJoG,WACI,kFAAkFpG,MAC9E,MAGZC,YAAa,CAETqF,OAAQ,gEAAgEtF,MACpE,KAEJoG,WACI,gEAAgEpG,MAC5D,MAGZE,SAAU,CACNkG,WACI,gEAAgEpG,MAC5D,KAERsF,OAAQ,gEAAgEtF,MACpE,KAEJqG,SAAU,iDAEdlG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CmF,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAGlBC,YACI,2MAGJI,iBACI,2MAGJC,kBACI,wHAGJC,uBACI,6FACJrF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,iBACJC,IAAK,uBACLC,KAAM,8BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTE,QAAS,gBACTD,SAAU,SAAUiE,GAChB,GAAIA,EAAI9C,SAAWvC,KAAKuC,OAcpB,OAAmB,IAAfvC,KAAKsK,MACE,oBAEA,mBAhBX,OAAQtK,KAAKsK,OACT,KAAK,EACD,MAAO,6BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,6BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,+BAUvBhJ,SAAU,SAAU+D,GAChB,GAAIA,EAAI9C,SAAWvC,KAAKuC,OAcpB,OAAmB,IAAfvC,KAAKsK,MACE,oBAEA,mBAhBX,OAAQtK,KAAKsK,OACT,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,2BACX,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,6BAUvB/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,WACNC,EAAG,mBACHC,GAAI0J,EACJzJ,EAAGyJ,EACHxJ,GAAIwJ,EACJvJ,EAAG,MACHC,GAAIsJ,EACJrJ,EAAG,OACHC,GAAIoJ,EACJlF,EAAG,SACHC,GAAIiF,EACJnJ,EAAG,QACHC,GAAIkJ,EACJjJ,EAAG,MACHC,GAAIgJ,GAER1I,cAAe,wBACfwC,KAAM,SAAUP,GACZ,MAAO,iBAAiBnF,KAAKmF,IAEjC9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,OACAA,EAAO,GACP,MAEA,UAGfQ,uBAAwB,mBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,KACpB,IAAK,IACD,OAAOA,EAAS,MACpB,IAAK,IACL,IAAK,IACD,OAAOA,EAAS,KACpB,QACI,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmzE,M,wBCzNT,SAAU91E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASyD,EAAUC,EAAQC,EAAeC,EAAKC,GAC3C,OAAQD,GACJ,IAAK,IACD,OAAOD,EAAgB,gBAAkB,kBAC7C,IAAK,KACD,OAAOD,GAAUC,EAAgB,UAAY,aACjD,IAAK,IACL,IAAK,KACD,OAAOD,GAAUC,EAAgB,SAAW,YAChD,IAAK,IACL,IAAK,KACD,OAAOD,GAAUC,EAAgB,OAAS,WAC9C,IAAK,IACL,IAAK,KACD,OAAOD,GAAUC,EAAgB,QAAU,WAC/C,IAAK,IACL,IAAK,KACD,OAAOD,GAAUC,EAAgB,OAAS,UAC9C,IAAK,IACL,IAAK,KACD,OAAOD,GAAUC,EAAgB,OAAS,WAC9C,QACI,OAAOD,GAInB,IAAIkyE,EAAK51E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,+LAA+LC,MACnM,KAEJC,YACI,6EAA6ED,MACzE,KAERsC,kBAAkB,EAClBpC,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,oBACJC,IAAK,0BACLC,KAAM,iCAEV4B,cAAe,SACfwC,KAAM,SAAUP,GACZ,MAAiB,OAAVA,GAEX9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,KAEA,MAGf7B,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,iBACVC,QAAS,eACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,UACNC,EAAG+B,EACH9B,GAAI8B,EACJ7B,EAAG6B,EACH5B,GAAI4B,EACJ3B,EAAG2B,EACH1B,GAAI0B,EACJzB,EAAGyB,EACHxB,GAAIwB,EACJvB,EAAGuB,EACHtB,GAAIsB,EACJrB,EAAGqB,EACHpB,GAAIoB,GAERJ,uBAAwB,eACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACD,OAAO3B,EAAS,QACpB,QACI,OAAOA,MAKvB,OAAOkyE,M,sBCxGT,SAAU/1E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIoI,EAAW,CACXsC,EAAG,MACHrC,EAAG,MACHK,EAAG,MACHI,EAAG,MACHC,EAAG,MACHT,EAAG,MACHW,EAAG,MACHN,EAAG,MACHJ,EAAG,MACHW,EAAG,MACHC,GAAI,MACJP,GAAI,MACJQ,GAAI,MACJokE,GAAI,MACJ3kE,GAAI,MACJQ,GAAI,MACJb,GAAI,MACJC,GAAI,MACJa,GAAI,MACJN,IAAK,OAGL6sE,EAAK71E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,kFAAkFC,MACtF,KAEJC,YAAa,qDAAqDD,MAC9D,KAEJE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,kBACTC,SAAU,iBACVC,QAAS,kBACTC,SAAU,wCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,WACNC,EAAG,iBACHC,GAAI,YACJC,EAAG,YACHC,GAAI,WACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,SACHC,GAAI,QACJC,EAAG,UACHC,GAAI,UAERgB,uBAAwB,wBACxBC,QAAS,SAAUI,GACf,IAAI+F,EAAI/F,EAAS,GACbyE,EAAIzE,GAAU,IAAM,IAAM,KAC9B,OAAOA,GAAU0E,EAAS1E,IAAW0E,EAASqB,IAAMrB,EAASD,KAEjE7F,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqzE,M,sBCxFT,SAAUh2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTqlE,EAAO91E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,0FAA0FC,MAC9F,KAEJC,YACI,mEAAmED,MAC/D,KAERE,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,uCAAuCH,MAAM,KAC5DI,YAAa,kCAAkCJ,MAAM,KACrDK,eAAgB,CACZC,GAAI,aACJC,IAAK,gBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,UACTC,QAAS,gBACTC,SAAU,WACVC,QAAS,aACTC,SAAU,gBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAG,eACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAIzBlC,cAAe,uCACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,QAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,QAAbC,GAEa,SAAbA,EADAD,EAGa,UAAbC,EACAD,GAAQ,EAAIA,EAAOA,EAAO,GACb,UAAbC,GAEa,YAAbA,EADAD,EAAO,QACX,GAKXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,EACP,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,QACAA,EAAO,GACP,UAEA,OAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOszE,M,wBCnIT,SAAUj2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASqL,EAAuB3H,EAAQC,EAAeC,GACnD,IAAI8B,EAAS,CACL/D,GAAI,UACJE,GAAI,SACJE,GAAI,MACJE,GAAI,OACJmE,GAAI,YACJjE,GAAI,OACJE,GAAI,OAER0zE,EAAY,IAIhB,OAHIryE,EAAS,KAAO,IAAOA,GAAU,KAAOA,EAAS,MAAQ,KACzDqyE,EAAY,QAETryE,EAASqyE,EAAYrwE,EAAO9B,GAGvC,IAAIoyE,EAAKh2E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oGAAoGC,MACxG,KAEJC,YACI,+DAA+DD,MAC3D,KAERsC,kBAAkB,EAClBpC,SAAU,kDAAkDF,MAAM,KAClEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,cACJC,IAAK,mBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,aACNC,EAAG,iBACHC,GAAI0J,EACJzJ,EAAG,WACHC,GAAIwJ,EACJvJ,EAAG,QACHC,GAAIsJ,EACJrJ,EAAG,OACHC,GAAIoJ,EACJlF,EAAG,cACHC,GAAIiF,EACJnJ,EAAG,SACHC,GAAIkJ,EACJjJ,EAAG,QACHC,GAAIgJ,GAER/I,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOwzE,M,sBC/ET,SAAUn2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI6mE,EAAK7mE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YAAa,qDAAqDD,MAC9D,KAEJE,SACI,+EAA+EF,MAC3E,KAERG,cAAe,+BAA+BH,MAAM,KACpDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EAEpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,iBACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAG,mBACHC,GAAI,YACJC,EAAG,QACHC,GAAI,WACJC,EAAG,MACHC,GAAI,SACJC,EAAG,UACHC,GAAI,aACJC,EAAG,MACHC,GAAI,SACJC,EAAG,WACHC,GAAI,cAERgB,uBAAwB,mCAExBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EACJR,EAAS,GACT++D,EAAS,CACL,GACA,KACA,KACA,MACA,MACA,KACA,KACA,KACA,MACA,MACA,MACA,KACA,MACA,KACA,KACA,MACA,KACA,KACA,MACA,KACA,OAWR,OATI95D,EAAI,GAEAjF,EADM,KAANiF,GAAkB,KAANA,GAAkB,KAANA,GAAkB,KAANA,GAAkB,MAANA,EACvC,MAEA,MAENA,EAAI,IACXjF,EAAS++D,EAAO95D,IAEbzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqkE,M,wBCtGT,SAAUhnE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI6F,EACI,2FACJC,EACI,oFACJN,EACI,yKACJD,EAAc,CACV,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,SAGJ0wE,EAAKj2E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,uFAAuFC,MAC3F,KAEJC,YACI,iEAAiED,MAC7D,KAERoF,YAAaA,EACbI,iBAAkBJ,EAClBK,kBAAmBA,EACnBC,uBAAwBA,EACxBP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,YACNC,EAAG,oBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,YACHC,GAAI,YACJC,EAAG,UACHC,GAAI,WACJkE,EAAG,cACHC,GAAI,cACJlE,EAAG,UACHC,GAAI,UACJC,EAAG,QACHC,GAAI,UAERgB,uBAAwB,eACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GAIJ,IAAK,IACD,OAAO3B,GAAqB,IAAXA,EAAe,KAAO,IAG3C,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,OAGnDpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOyzE,M,sBC5GT,SAAUp2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2K,EAAa,SAAUnH,GACnB,OAAa,IAANA,EACD,EACM,IAANA,EACE,EACM,IAANA,EACE,EACAA,EAAI,KAAO,GAAKA,EAAI,KAAO,GACzB,EACAA,EAAI,KAAO,GACT,EACA,GAElBoH,EAAU,CACNlJ,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,UACA,WACA,YAEJE,EAAG,CACC,eACA,cACA,CAAC,UAAW,WACZ,WACA,WACA,YAEJE,EAAG,CACC,cACA,aACA,CAAC,SAAU,UACX,WACA,UACA,WAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,WACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,UACA,UACA,UAEJE,EAAG,CACC,aACA,WACA,CAAC,QAAS,SACV,WACA,WACA,WAGRyI,EAAY,SAAUC,GAClB,OAAO,SAAUpH,EAAQC,EAAeoH,EAAQlH,GAC5C,IAAImE,EAAI2C,EAAWjH,GACf2D,EAAMuD,EAAQE,GAAGH,EAAWjH,IAIhC,OAHU,IAANsE,IACAX,EAAMA,EAAI1D,EAAgB,EAAI,IAE3B0D,EAAIN,QAAQ,MAAOrD,KAGlCvD,EAAS,CACL,QACA,QACA,OACA,QACA,MACA,OACA,SACA,MACA,SACA,SACA,SACA,UAGJ+1E,EAAOl2E,EAAOE,aAAa,QAAS,CACpCC,OAAQA,EACRE,YAAaF,EACbG,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,wCAAwCH,MAAM,KAC7DI,YAAa,gBAAgBJ,MAAM,KACnC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEV4B,cAAe,MACfwC,KAAM,SAAUP,GACZ,MAAO,MAAQA,GAEnB9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,IAEA,KAGf7B,SAAU,CACNC,QAAS,wBACTC,QAAS,uBACTC,SAAU,uBACVC,QAAS,sBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,SACNC,EAAGmJ,EAAU,KACblJ,GAAIkJ,EAAU,KACdjJ,EAAGiJ,EAAU,KACbhJ,GAAIgJ,EAAU,KACd/I,EAAG+I,EAAU,KACb9I,GAAI8I,EAAU,KACd7I,EAAG6I,EAAU,KACb5I,GAAI4I,EAAU,KACd3I,EAAG2I,EAAU,KACb1I,GAAI0I,EAAU,KACdzI,EAAGyI,EAAU,KACbxI,GAAIwI,EAAU,MAElBK,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,KAAM,MAEhCzE,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO0zE,M,sBChKT,SAAUr2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIm2E,EAAKn2E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,8IAA8IC,MAClJ,KAEJC,YAAa,iDAAiDD,MAAM,KACpEE,SAAU,+CAA+CF,MAAM,KAC/DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,2BACJC,IAAK,wCACLC,KAAM,8CAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,qBACVC,QAAS,iBACTC,SAAU,yBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,aACNC,EAAG,kBACHC,GAAI,aACJC,EAAG,eACHC,GAAI,YACJC,EAAG,aACHC,GAAI,UACJC,EAAG,aACHC,GAAI,UACJC,EAAG,aACHC,GAAI,UACJC,EAAG,YACHC,GAAI,UAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2zE,M,sBCvDT,SAAUt2E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACThE,EAAG,CAAC,kBAAmB,cACvBC,GAAI,CAAC+B,EAAS,aAAcA,EAAS,UACrC9B,EAAG,CAAC,aAAc,YAClBC,GAAI,CAAC6B,EAAS,YAAaA,EAAS,WACpC5B,EAAG,CAAC,WAAY,SAChBC,GAAI,CAAC2B,EAAS,UAAWA,EAAS,SAClC1B,EAAG,CAAC,YAAa,UACjBC,GAAI,CAACyB,EAAS,WAAYA,EAAS,QACnCxB,EAAG,CAAC,gBAAiB,aACrBC,GAAI,CAACuB,EAAS,cAAeA,EAAS,WACtCtB,EAAG,CAAC,aAAc,WAClBC,GAAI,CAACqB,EAAS,YAAaA,EAAS,YAExC,OAAOG,EAAW6B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGnD,IAAIwyE,EAAUp2E,EAAOE,aAAa,WAAY,CAC1CC,OAAQ,CACJqG,WACI,wFAAwFpG,MACpF,KAERsF,OAAQ,mJAAmJtF,MACvJ,KAEJqG,SAAU,mBAEdpG,YACI,4EAA4ED,MACxE,KAERsC,kBAAkB,EAClBpC,SAAU,qDAAqDF,MAAM,KACrEG,cAAe,4CAA4CH,MAAM,KACjEI,YAAa,wBAAwBJ,MAAM,KAC3C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,kBACJC,IAAK,qBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,8BACLC,KAAM,uCACNmE,KAAM,oCAEVlE,SAAU,CACNC,QAAS,WACTC,QAAS,eACTC,SAAU,qBACVC,QAAS,WACTC,SAAU,qBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,KACRC,KAAM,UACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAIqE,EACJpE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,eACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GAEJ,IAAK,IACD,OAAO3B,EAAS,MACpB,QACA,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,GAETG,cAAe,4BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,WAAbC,EACAD,EACa,YAAbC,EACAD,EAAO,GAAKA,EAAOA,EAAO,GACb,UAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,SACAA,EAAO,GACP,UACAA,EAAO,GACP,QAEA,UAKnB,OAAOuzE,M,kCCrIX,IAAIC,EAAW,EAAQ,QAIvB32E,EAAOC,QAAU,WACf,IAAI22E,EAAOD,EAASt2E,MAChB+D,EAAS,GASb,OARIwyE,EAAKC,aAAYzyE,GAAU,KAC3BwyE,EAAKz2E,SAAQiE,GAAU,KACvBwyE,EAAKE,aAAY1yE,GAAU,KAC3BwyE,EAAKG,YAAW3yE,GAAU,KAC1BwyE,EAAKI,SAAQ5yE,GAAU,KACvBwyE,EAAKK,UAAS7yE,GAAU,KACxBwyE,EAAKM,cAAa9yE,GAAU,KAC5BwyE,EAAKO,SAAQ/yE,GAAU,KACpBA,I,sBCXP,SAAUjE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASuD,EAAO4G,EAAMgB,GAClB,IAAIC,EAAQjB,EAAK/J,MAAM,KACvB,OAAO+K,EAAM,KAAO,GAAKA,EAAM,MAAQ,GACjCC,EAAM,GACND,EAAM,IAAM,GAAKA,EAAM,IAAM,IAAMA,EAAM,IAAM,IAAMA,EAAM,KAAO,IAChEC,EAAM,GACNA,EAAM,GAElB,SAASC,EAAuB3H,EAAQC,EAAeC,GACnD,IAAI8B,EAAS,CACT/D,GAAIgC,EAAgB,yBAA2B,yBAC/C9B,GAAI8B,EAAgB,yBAA2B,yBAC/C5B,GAAI4B,EAAgB,sBAAwB,sBAC5C1B,GAAI,gBACJE,GAAI,wBACJE,GAAI,kBAER,MAAY,MAARuB,EACOD,EAAgB,UAAY,UACpB,MAARC,EACAD,EAAgB,SAAW,SAE3BD,EAAS,IAAMH,EAAOmC,EAAO9B,IAAOF,GAGnD,SAASozE,EAAoBl1E,EAAG8D,GAC5B,IAcIqxE,EAdAz2E,EAAW,CACP02E,WACI,0DAA0D52E,MACtD,KAER62E,WACI,0DAA0D72E,MACtD,KAER82E,SACI,4DAA4D92E,MACxD,MAKhB,OAAU,IAANwB,EACOtB,EAAS,cACX2G,MAAM,EAAG,GACTwU,OAAOnb,EAAS,cAAc2G,MAAM,EAAG,IAE3CrF,GAILm1E,EAAW,qBAAqBt3E,KAAKiG,GAC/B,aACA,sCAAsCjG,KAAKiG,GACzC,WACA,aACDpF,EAASy2E,GAAUn1E,EAAEyI,QARjB/J,EAAS,cAUxB,SAAS62E,EAAqB9vE,GAC1B,OAAO,WACH,OAAOA,EAAM,KAAwB,KAAjBtH,KAAKmG,QAAiB,IAAM,IAAM,QAI9D,IAAIkxE,EAAKp3E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,yFAAyFtF,MAC7F,KAEJoG,WACI,iGAAiGpG,MAC7F,MAGZC,YAAa,yDAAyDD,MAClE,KAEJE,SAAUw2E,EACVv2E,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVC,SAAU,CACNC,QAASk2E,EAAqB,cAC9Bj2E,QAASi2E,EAAqB,YAC9B/1E,QAAS+1E,EAAqB,WAC9Bh2E,SAAUg2E,EAAqB,cAC/B91E,SAAU,WACN,OAAQtB,KAAKsK,OACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAO8sE,EAAqB,oBAAoBz+D,KAAK3Y,MACzD,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOo3E,EAAqB,qBAAqBz+D,KAAK3Y,QAGlEuB,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,kBACHC,GAAI0J,EACJzJ,EAAGyJ,EACHxJ,GAAIwJ,EACJvJ,EAAG,SACHC,GAAIsJ,EACJrJ,EAAG,OACHC,GAAIoJ,EACJnJ,EAAG,SACHC,GAAIkJ,EACJjJ,EAAG,MACHC,GAAIgJ,GAGR1I,cAAe,wBACfwC,KAAM,SAAUP,GACZ,MAAO,iBAAiBnF,KAAKmF,IAEjC9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,OACAA,EAAO,GACP,QACAA,EAAO,GACP,MAEA,UAGfQ,uBAAwB,iBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACL,IAAK,IACD,OAAO3B,EAAS,KACpB,IAAK,IACD,OAAOA,EAAS,MACpB,QACI,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO40E,M,sBC3KT,SAAUv3E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqiE,EAAKriE,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6EAA6EC,MACjF,KAEJC,YACI,6EAA6ED,MACzE,KAERE,SAAU,sCAAsCF,MAAM,KACtDG,cAAe,oCAAoCH,MAAM,KACzDI,YAAa,mBAAmBJ,MAAM,KACtC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,6BAEV4B,cAAe,kBACfwC,KAAM,SAAUP,GACZ,MAAiB,WAAVA,GAEX9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,WAEA,UAGf7B,SAAU,CACNC,QAAS,kBACTC,QAAS,mBACTC,SAAU,wBACVC,QAAS,qBACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,mBACHC,GAAI,YACJC,EAAG,SACHC,GAAI,UACJC,EAAG,YACHC,GAAI,aACJC,EAAG,QACHC,GAAI,SACJC,EAAG,UACHC,GAAI,WACJC,EAAG,OACHC,GAAI,SAERgB,uBAAwB,eACxBC,QAAS,SAAUI,GACf,MAAO,MAAQA,KAIvB,OAAO2+D,M,sBCnET,SAAUxiE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACT9D,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,UAAW,aACfC,GAAI,CAACyB,EAAS,QAASA,EAAS,UAChCyC,EAAG,CAAC,aAAc,eAClBjE,EAAG,CAAC,YAAa,eACjBC,GAAI,CAACuB,EAAS,UAAWA,EAAS,YAClCtB,EAAG,CAAC,WAAY,cAChBC,GAAI,CAACqB,EAAS,SAAUA,EAAS,YAErC,OAAOC,EAAgB+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGxD,IAAIyzE,EAAOr3E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,6DAA6DD,MAAM,KACvEsC,kBAAkB,EAClBpC,SACI,8DAA8DF,MAC1D,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdE,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,oBACHC,GAAI,cACJC,EAAG0E,EACHzE,GAAI,aACJC,EAAGwE,EACHvE,GAAI,aACJC,EAAGsE,EACHrE,GAAIqE,EACJH,EAAGG,EACHF,GAAI,YACJlE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO60E,M,sBCjFT,SAAUx3E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACT9D,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,UAAW,aACfC,GAAI,CAACyB,EAAS,QAASA,EAAS,UAChCyC,EAAG,CAAC,aAAc,eAClBjE,EAAG,CAAC,YAAa,eACjBC,GAAI,CAACuB,EAAS,UAAWA,EAAS,YAClCtB,EAAG,CAAC,WAAY,cAChBC,GAAI,CAACqB,EAAS,SAAUA,EAAS,YAErC,OAAOC,EAAgB+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGxD,IAAI0zE,EAAKt3E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,6DAA6DD,MAAM,KACvEsC,kBAAkB,EAClBpC,SACI,8DAA8DF,MAC1D,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdE,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,oBACHC,GAAI,cACJC,EAAG0E,EACHzE,GAAI,aACJC,EAAGwE,EACHvE,GAAI,aACJC,EAAGsE,EACHrE,GAAIqE,EACJH,EAAGG,EACHF,GAAI,YACJlE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO80E,M,sBClFT,SAAUz3E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIu3E,EAAUv3E,EAAOE,aAAa,WAAY,CAC1CC,OAAQ,wFAAwFC,MAC5F,KAEJC,YACI,wFAAwFD,MACpF,KAERE,SAAU,kDAAkDF,MAAM,KAClEG,cAAe,kDAAkDH,MAAM,KACvEI,YAAa,kDAAkDJ,MAAM,KACrEK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,cACTC,SAAU,cACVC,QAAS,gBACTC,SAAU,cACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,iBACRC,KAAM,SACNC,EAAG,OACHC,GAAI,UACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,cACJC,EAAG,MACHC,GAAI,WACJC,EAAG,QACHC,GAAI,YACJC,EAAG,QACHC,GAAI,aAERC,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAO+0E,M,sBCzDT,SAAU13E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIw3E,EAAKx3E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,+CAA+CF,MAAM,KAC/DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV4B,cAAe,6BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,WAAbC,EACOD,EACa,WAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbC,GAAsC,UAAbA,EACzBD,EAAO,QADX,GAIXC,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACD,SACAA,EAAQ,GACR,SACAA,EAAQ,GACR,SAEA,SAGflF,SAAU,CACNC,QAAS,2BACTC,QAAS,sBACTC,SAAU,kBACVC,QAAS,wBACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,uBACNC,EAAG,kBACHC,GAAI,WACJC,EAAG,kBACHC,GAAI,WACJC,EAAG,gBACHC,GAAI,SACJC,EAAG,WACHC,GAAI,YACJC,EAAG,UACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOg1E,M,sBChFT,SAAU33E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsF,EACI,8DAA8DlF,MAC1D,KAERC,EAAc,kDAAkDD,MAAM,KACtEmF,EAAc,CACV,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SAEJC,EACI,mLAEJiyE,EAAOz3E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbrF,EAAYuB,EAAE+D,SAEdL,EAAe1D,EAAE+D,SAJjBL,GAOfE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,+FACJC,uBACI,0FACJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAClBjF,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,6BACLC,KAAM,oCAEVC,SAAU,CACNC,QAAS,WACL,MAAO,aAAgC,IAAjBlB,KAAKmG,QAAgB,IAAM,IAAM,QAE3DhF,QAAS,WACL,MAAO,gBAAmC,IAAjBnB,KAAKmG,QAAgB,IAAM,IAAM,QAE9D/E,SAAU,WACN,MAAO,cAAiC,IAAjBpB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D9E,QAAS,WACL,MAAO,cAAiC,IAAjBrB,KAAKmG,QAAgB,IAAM,IAAM,QAE5D7E,SAAU,WACN,MACI,0BACkB,IAAjBtB,KAAKmG,QAAgB,IAAM,IAC5B,QAGR5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,UACNC,EAAG,gBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJkE,EAAG,aACHC,GAAI,aACJlE,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,GAET4xE,YAAa,mBAGjB,OAAOqD,M,sBClHT,SAAU53E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI03E,EAAO13E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOk1E,M,sBCvET,SAAU73E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI23E,EAAK33E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,6DAA6DD,MAAM,KACvEsC,kBAAkB,EAClBpC,SAAU,qDAAqDF,MAAM,KACrEG,cAAe,+BAA+BH,MAAM,KACpDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,oBACTC,QAAS,uBACTC,SAAU,mBACVC,QAAS,oBACTC,SAAU,gCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,eACHC,GAAI,YACJC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WACJkE,EAAG,UACHC,GAAI,WACJlE,EAAG,YACHC,GAAI,aACJC,EAAG,SACHC,GAAI,SAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOm1E,M,sBC9DT,SAAU93E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4Q,EAAQ,CACRjP,GAAI,qCAAqCvB,MAAM,KAC/CwB,EAAG,iCAAiCxB,MAAM,KAC1CyB,GAAI,iCAAiCzB,MAAM,KAC3C0B,EAAG,iCAAiC1B,MAAM,KAC1C2B,GAAI,iCAAiC3B,MAAM,KAC3C4B,EAAG,6BAA6B5B,MAAM,KACtC6B,GAAI,6BAA6B7B,MAAM,KACvC8B,EAAG,iCAAiC9B,MAAM,KAC1C+B,GAAI,iCAAiC/B,MAAM,KAC3CgC,EAAG,wBAAwBhC,MAAM,KACjCiC,GAAI,wBAAwBjC,MAAM,MAKtC,SAASsF,EAAO0F,EAAO1H,EAAQC,GAC3B,OAAIA,EAEOD,EAAS,KAAO,GAAKA,EAAS,MAAQ,GAAK0H,EAAM,GAAKA,EAAM,GAI5D1H,EAAS,KAAO,GAAKA,EAAS,MAAQ,GAAK0H,EAAM,GAAKA,EAAM,GAG3E,SAASC,EAAuB3H,EAAQC,EAAeC,GACnD,OAAOF,EAAS,IAAMgC,EAAOkL,EAAMhN,GAAMF,EAAQC,GAErD,SAASi0E,EAAyBl0E,EAAQC,EAAeC,GACrD,OAAO8B,EAAOkL,EAAMhN,GAAMF,EAAQC,GAEtC,SAASk0E,EAAgBn0E,EAAQC,GAC7B,OAAOA,EAAgB,iBAAmB,iBAG9C,IAAIm0E,EAAK93E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,uGAAuGC,MAC3G,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,0EAA0EF,MACtE,KAERG,cAAe,kBAAkBH,MAAM,KACvCI,YAAa,kBAAkBJ,MAAM,KACrC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,cACHC,GAAI,uBACJC,IAAK,8BACLC,KAAM,qCAEVC,SAAU,CACNC,QAAS,uBACTC,QAAS,oBACTC,SAAU,qBACVC,QAAS,sBACTC,SAAU,gCACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAGm2E,EACHl2E,GAAI0J,EACJzJ,EAAGg2E,EACH/1E,GAAIwJ,EACJvJ,EAAG81E,EACH71E,GAAIsJ,EACJrJ,EAAG41E,EACH31E,GAAIoJ,EACJnJ,EAAG01E,EACHz1E,GAAIkJ,EACJjJ,EAAGw1E,EACHv1E,GAAIgJ,GAERhI,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOs1E,M,sBClGT,SAAUj4E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACT9D,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,cAAe,gBACnBE,EAAG,CAAC,UAAW,aACfC,GAAI,CAACyB,EAAS,QAASA,EAAS,UAChCyC,EAAG,CAAC,aAAc,eAClBjE,EAAG,CAAC,YAAa,eACjBC,GAAI,CAACuB,EAAS,UAAWA,EAAS,YAClCtB,EAAG,CAAC,WAAY,cAChBC,GAAI,CAACqB,EAAS,SAAUA,EAAS,YAErC,OAAOC,EAAgB+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGxD,IAAIm0E,EAAO/3E,EAAOE,aAAa,QAAS,CACpCC,OAAQ,qFAAqFC,MACzF,KAEJC,YACI,6DAA6DD,MAAM,KACvEsC,kBAAkB,EAClBpC,SACI,8DAA8DF,MAC1D,KAERG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,sBACTK,SAAU,IACVJ,QAAS,uBACTC,SAAU,qBACVC,QAAS,wBACTC,SAAU,gCAEdE,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,oBACHC,GAAI,cACJC,EAAG0E,EACHzE,GAAI,aACJC,EAAGwE,EACHvE,GAAI,aACJC,EAAGsE,EACHrE,GAAIqE,EACJH,EAAGG,EACHF,GAAI,YACJlE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOu1E,M,sBChFT,SAAUl4E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIg4E,EAAMh4E,EAAOE,aAAa,MAAO,CACjCC,OAAQ,kFAAkFC,MACtF,KAEJC,YACI,kFAAkFD,MAC9E,KAERE,SAAU,kDAAkDF,MAAM,KAClEG,cAAe,kDAAkDH,MAAM,KACvEI,YAAa,kDAAkDJ,MAAM,KACrEK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,cACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,SACNC,EAAG,OACHC,GAAI,UACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,cACJC,EAAG,MACHC,GAAI,WACJC,EAAG,QACHC,GAAI,YACJC,EAAG,QACHC,GAAI,aAERC,KAAM,CACFC,IAAK,EACLC,IAAK,MAIb,OAAOw1E,M,sBC9DX;;;;;CAME,SAAUn4E,EAAQC,GAC+CJ,EAAOC,QAAUG,KADnF,CAICC,GAAM,WAAe,aAEnB,IAAIk4E,EA6HAC,EA3HJ,SAASC,IACL,OAAOF,EAAa53D,MAAM,KAAMvK,WAKpC,SAASsiE,EAAgBj4D,GACrB83D,EAAe93D,EAGnB,SAASP,EAAQhb,GACb,OACIA,aAAiBwK,OACyB,mBAA1C1C,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,SAASkb,EAASlb,GAGd,OACa,MAATA,GAC0C,oBAA1C8H,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,SAASyzE,EAAW5uE,EAAGtB,GACnB,OAAOuE,OAAO+L,UAAUtL,eAAeuL,KAAKjP,EAAGtB,GAGnD,SAASmwE,EAAc39D,GACnB,GAAIjO,OAAO6rE,oBACP,OAAkD,IAA3C7rE,OAAO6rE,oBAAoB59D,GAAKhT,OAEvC,IAAImM,EACJ,IAAKA,KAAK6G,EACN,GAAI09D,EAAW19D,EAAK7G,GAChB,OAAO,EAGf,OAAO,EAIf,SAAS0kE,EAAY5zE,GACjB,YAAiB,IAAVA,EAGX,SAAS4oB,EAAS5oB,GACd,MACqB,kBAAVA,GACmC,oBAA1C8H,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,SAAS6zE,EAAO7zE,GACZ,OACIA,aAAiBgqB,MACyB,kBAA1CliB,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,SAASmH,EAAIqhD,EAAK77C,GACd,IACI/E,EADAujB,EAAM,GAEN2oD,EAAStrB,EAAIzlD,OACjB,IAAK6E,EAAI,EAAGA,EAAIksE,IAAUlsE,EACtBujB,EAAItgB,KAAK8B,EAAG67C,EAAI5gD,GAAIA,IAExB,OAAOujB,EAGX,SAAStO,EAAOhY,EAAGtB,GACf,IAAK,IAAIqE,KAAKrE,EACNkwE,EAAWlwE,EAAGqE,KACd/C,EAAE+C,GAAKrE,EAAEqE,IAYjB,OARI6rE,EAAWlwE,EAAG,cACdsB,EAAE4M,SAAWlO,EAAEkO,UAGfgiE,EAAWlwE,EAAG,aACdsB,EAAEs8D,QAAU59D,EAAE49D,SAGXt8D,EAGX,SAASkvE,EAAU/zE,EAAOc,EAAQkzE,EAAQC,GACtC,OAAOC,GAAiBl0E,EAAOc,EAAQkzE,EAAQC,GAAQ,GAAME,MAGjE,SAASC,IAEL,MAAO,CACHC,OAAO,EACPC,aAAc,GACdC,YAAa,GACbC,UAAW,EACXC,cAAe,EACfC,WAAW,EACXC,WAAY,KACZC,aAAc,KACdC,eAAe,EACfC,iBAAiB,EACjBC,KAAK,EACLC,gBAAiB,GACjBC,IAAK,KACL/2E,SAAU,KACVg3E,SAAS,EACTC,iBAAiB,GAIzB,SAASC,EAAgBp4E,GAIrB,OAHa,MAATA,EAAEq4E,MACFr4E,EAAEq4E,IAAMjB,KAELp3E,EAAEq4E,IAsBb,SAAS9+D,EAAQvZ,GACb,IAAIgvE,EAAQ,KACRsJ,GAAc,EACdC,EAAav4E,EAAEw4E,KAAO//D,MAAMzY,EAAEw4E,GAAGC,WAyBrC,OAxBIF,IACAvJ,EAAQoJ,EAAgBp4E,GACxBs4E,EAAchC,EAAKx/D,KAAKk4D,EAAMgJ,iBAAiB,SAAUptE,GACrD,OAAY,MAALA,KAEX2tE,EACIvJ,EAAMwI,SAAW,IAChBxI,EAAMqI,QACNrI,EAAM2I,aACN3I,EAAM4I,eACN5I,EAAM0J,iBACN1J,EAAMmJ,kBACNnJ,EAAM0I,YACN1I,EAAM6I,gBACN7I,EAAM8I,mBACL9I,EAAM9tE,UAAa8tE,EAAM9tE,UAAYo3E,GACvCt4E,EAAE24E,UACFJ,EACIA,GACwB,IAAxBvJ,EAAMyI,eACwB,IAA9BzI,EAAMsI,aAAavxE,aACDE,IAAlB+oE,EAAM4J,UAGK,MAAnB9tE,OAAO+tE,UAAqB/tE,OAAO+tE,SAAS74E,GAGrCu4E,GAFPv4E,EAAE84E,SAAWP,EAIVv4E,EAAE84E,UAGb,SAASC,EAAc/J,GACnB,IAAIhvE,EAAI+2E,EAAUx4C,KAOlB,OANa,MAATywC,EACAnvD,EAAOu4D,EAAgBp4E,GAAIgvE,GAE3BoJ,EAAgBp4E,GAAG83E,iBAAkB,EAGlC93E,EA7DPs2E,EADA9oE,MAAMqJ,UAAUy/D,KACT9oE,MAAMqJ,UAAUy/D,KAEhB,SAAU0C,GACb,IAEIpuE,EAFAsI,EAAIpI,OAAO3M,MACXoX,EAAMrC,EAAEnN,SAAW,EAGvB,IAAK6E,EAAI,EAAGA,EAAI2K,EAAK3K,IACjB,GAAIA,KAAKsI,GAAK8lE,EAAIliE,KAAK3Y,KAAM+U,EAAEtI,GAAIA,EAAGsI,GAClC,OAAO,EAIf,OAAO,GAqDf,IAAI+lE,EAAoB1C,EAAM0C,iBAAmB,GAC7CC,GAAmB,EAEvB,SAASC,EAAW/iE,EAAID,GACpB,IAAIvL,EACAiS,EACAlK,EACAymE,EAAsBH,EAAiBlzE,OAiC3C,GA/BK6wE,EAAYzgE,EAAKkjE,oBAClBjjE,EAAGijE,iBAAmBljE,EAAKkjE,kBAE1BzC,EAAYzgE,EAAKmjE,MAClBljE,EAAGkjE,GAAKnjE,EAAKmjE,IAEZ1C,EAAYzgE,EAAKojE,MAClBnjE,EAAGmjE,GAAKpjE,EAAKojE,IAEZ3C,EAAYzgE,EAAKqjE,MAClBpjE,EAAGojE,GAAKrjE,EAAKqjE,IAEZ5C,EAAYzgE,EAAKwiE,WAClBviE,EAAGuiE,QAAUxiE,EAAKwiE,SAEjB/B,EAAYzgE,EAAKsjE,QAClBrjE,EAAGqjE,KAAOtjE,EAAKsjE,MAEd7C,EAAYzgE,EAAKujE,UAClBtjE,EAAGsjE,OAASvjE,EAAKujE,QAEhB9C,EAAYzgE,EAAKwjE,WAClBvjE,EAAGujE,QAAUxjE,EAAKwjE,SAEjB/C,EAAYzgE,EAAKkiE,OAClBjiE,EAAGiiE,IAAMD,EAAgBjiE,IAExBygE,EAAYzgE,EAAKyjE,WAClBxjE,EAAGwjE,QAAUzjE,EAAKyjE,SAGlBR,EAAsB,EACtB,IAAKxuE,EAAI,EAAGA,EAAIwuE,EAAqBxuE,IACjCiS,EAAOo8D,EAAiBruE,GACxB+H,EAAMwD,EAAK0G,GACN+5D,EAAYjkE,KACbyD,EAAGyG,GAAQlK,GAKvB,OAAOyD,EAIX,SAASyjE,EAAOt2C,GACZ41C,EAAWh7E,KAAMolC,GACjBplC,KAAKq6E,GAAK,IAAIxrD,KAAkB,MAAbuW,EAAOi1C,GAAaj1C,EAAOi1C,GAAGC,UAAYl6C,KACxDpgC,KAAKob,YACNpb,KAAKq6E,GAAK,IAAIxrD,KAAKuR,OAIE,IAArB26C,IACAA,GAAmB,EACnB3C,EAAMuD,aAAa37E,MACnB+6E,GAAmB,GAI3B,SAASa,EAAShhE,GACd,OACIA,aAAe8gE,GAAkB,MAAP9gE,GAAuC,MAAxBA,EAAIsgE,iBAIrD,SAAS34D,EAAKs5D,IAEgC,IAAtCzD,EAAM0D,6BACa,qBAAZn9D,SACPA,QAAQ4D,MAER5D,QAAQ4D,KAAK,wBAA0Bs5D,GAI/C,SAASpK,EAAUoK,EAAKrqE,GACpB,IAAIuqE,GAAY,EAEhB,OAAOr6D,GAAO,WAIV,GAHgC,MAA5B02D,EAAM4D,oBACN5D,EAAM4D,mBAAmB,KAAMH,GAE/BE,EAAW,CACX,IACIE,EACAxvE,EACA5I,EAHAiS,EAAO,GAIPomE,EAASnmE,UAAUnO,OACvB,IAAK6E,EAAI,EAAGA,EAAIyvE,EAAQzvE,IAAK,CAEzB,GADAwvE,EAAM,GACsB,kBAAjBlmE,UAAUtJ,GAAiB,CAElC,IAAK5I,KADLo4E,GAAO,MAAQxvE,EAAI,KACPsJ,UAAU,GACduiE,EAAWviE,UAAU,GAAIlS,KACzBo4E,GAAOp4E,EAAM,KAAOkS,UAAU,GAAGlS,GAAO,MAGhDo4E,EAAMA,EAAI/0E,MAAM,GAAI,QAEpB+0E,EAAMlmE,UAAUtJ,GAEpBqJ,EAAKpG,KAAKusE,GAEd15D,EACIs5D,EACI,gBACAxsE,MAAMqJ,UAAUxR,MAAMyR,KAAK7C,GAAMa,KAAK,IACtC,MACA,IAAI7G,OAAQotB,OAEpB6+C,GAAY,EAEhB,OAAOvqE,EAAG8O,MAAMtgB,KAAM+V,aACvBvE,GAGP,IAgFI5E,EAhFAuvE,EAAe,GAEnB,SAASC,EAAgB93E,EAAMu3E,GACK,MAA5BzD,EAAM4D,oBACN5D,EAAM4D,mBAAmB13E,EAAMu3E,GAE9BM,EAAa73E,KACdie,EAAKs5D,GACLM,EAAa73E,IAAQ,GAO7B,SAASgwE,EAAWzvE,GAChB,MACyB,qBAAb0vE,UAA4B1vE,aAAiB0vE,UACX,sBAA1C5nE,OAAO+L,UAAUpC,SAASqC,KAAK9T,GAIvC,SAASqpB,EAAIkX,GACT,IAAI1mB,EAAMjS,EACV,IAAKA,KAAK24B,EACFkzC,EAAWlzC,EAAQ34B,KACnBiS,EAAO0mB,EAAO34B,GACV6nE,EAAW51D,GACX1e,KAAKyM,GAAKiS,EAEV1e,KAAK,IAAMyM,GAAKiS,GAI5B1e,KAAK4yB,QAAUwS,EAIfplC,KAAKq8E,+BAAiC,IAAI5G,QACrCz1E,KAAKs8E,wBAAwB99D,QAAUxe,KAAKu8E,cAAc/9D,QACvD,IACA,UAAUA,QAItB,SAASg+D,EAAaC,EAAcC,GAChC,IACIh+D,EADAsR,EAAMtO,EAAO,GAAI+6D,GAErB,IAAK/9D,KAAQg+D,EACLpE,EAAWoE,EAAah+D,KACpBqB,EAAS08D,EAAa/9D,KAAUqB,EAAS28D,EAAYh+D,KACrDsR,EAAItR,GAAQ,GACZgD,EAAOsO,EAAItR,GAAO+9D,EAAa/9D,IAC/BgD,EAAOsO,EAAItR,GAAOg+D,EAAYh+D,KACF,MAArBg+D,EAAYh+D,GACnBsR,EAAItR,GAAQg+D,EAAYh+D,UAEjBsR,EAAItR,IAIvB,IAAKA,KAAQ+9D,EAELnE,EAAWmE,EAAc/9D,KACxB45D,EAAWoE,EAAah+D,IACzBqB,EAAS08D,EAAa/9D,MAGtBsR,EAAItR,GAAQgD,EAAO,GAAIsO,EAAItR,KAGnC,OAAOsR,EAGX,SAAS2sD,EAAOv3C,GACE,MAAVA,GACAplC,KAAKkuB,IAAIkX,GAhEjBgzC,EAAM0D,6BAA8B,EACpC1D,EAAM4D,mBAAqB,KAsEvBpvE,EADAD,OAAOC,KACAD,OAAOC,KAEP,SAAUgO,GACb,IAAInO,EACAujB,EAAM,GACV,IAAKvjB,KAAKmO,EACF09D,EAAW19D,EAAKnO,IAChBujB,EAAItgB,KAAKjD,GAGjB,OAAOujB,GAIf,IAAI4sD,EAAkB,CAClB17E,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAGd,SAASN,EAAS4C,EAAKixE,EAAKzvE,GACxB,IAAIlC,EAASnD,KAAK68E,UAAUh5E,IAAQ7D,KAAK68E,UAAU,YACnD,OAAOvI,EAAWnxE,GAAUA,EAAOwV,KAAKm8D,EAAKzvE,GAAOlC,EAGxD,SAAS25E,EAASn5E,EAAQo5E,EAAcC,GACpC,IAAIC,EAAY,GAAKn2E,KAAKmyB,IAAIt1B,GAC1Bu5E,EAAcH,EAAeE,EAAUr1E,OACvC4+C,EAAO7iD,GAAU,EACrB,OACK6iD,EAAQw2B,EAAY,IAAM,GAAM,KACjCl2E,KAAKqM,IAAI,GAAIrM,KAAKyM,IAAI,EAAG2pE,IAAc5mE,WAAWwJ,OAAO,GACzDm9D,EAIR,IAAIE,EACI,yMACJC,EAAwB,6CACxBC,EAAkB,GAClBC,EAAuB,GAM3B,SAASC,EAAe/sE,EAAOgtE,EAAQj6E,EAAS6c,GAC5C,IAAIq9D,EAAOr9D,EACa,kBAAbA,IACPq9D,EAAO,WACH,OAAOz9E,KAAKogB,OAGhB5P,IACA8sE,EAAqB9sE,GAASitE,GAE9BD,IACAF,EAAqBE,EAAO,IAAM,WAC9B,OAAOV,EAASW,EAAKn9D,MAAMtgB,KAAM+V,WAAYynE,EAAO,GAAIA,EAAO,MAGnEj6E,IACA+5E,EAAqB/5E,GAAW,WAC5B,OAAOvD,KAAK09E,aAAan6E,QACrBk6E,EAAKn9D,MAAMtgB,KAAM+V,WACjBvF,KAMhB,SAASmtE,EAAuB94E,GAC5B,OAAIA,EAAMC,MAAM,YACLD,EAAMmC,QAAQ,WAAY,IAE9BnC,EAAMmC,QAAQ,MAAO,IAGhC,SAAS42E,EAAmBj4E,GACxB,IACI8G,EACA7E,EAFA8a,EAAQ/c,EAAOb,MAAMq4E,GAIzB,IAAK1wE,EAAI,EAAG7E,EAAS8a,EAAM9a,OAAQ6E,EAAI7E,EAAQ6E,IACvC6wE,EAAqB56D,EAAMjW,IAC3BiW,EAAMjW,GAAK6wE,EAAqB56D,EAAMjW,IAEtCiW,EAAMjW,GAAKkxE,EAAuBj7D,EAAMjW,IAIhD,OAAO,SAAUqoE,GACb,IACIroE,EADAtJ,EAAS,GAEb,IAAKsJ,EAAI,EAAGA,EAAI7E,EAAQ6E,IACpBtJ,GAAUmxE,EAAW5xD,EAAMjW,IACrBiW,EAAMjW,GAAGkM,KAAKm8D,EAAKnvE,GACnB+c,EAAMjW,GAEhB,OAAOtJ,GAKf,SAAS06E,EAAah8E,EAAG8D,GACrB,OAAK9D,EAAEuZ,WAIPzV,EAASm4E,EAAan4E,EAAQ9D,EAAE67E,cAChCL,EAAgB13E,GACZ03E,EAAgB13E,IAAWi4E,EAAmBj4E,GAE3C03E,EAAgB13E,GAAQ9D,IAPpBA,EAAE67E,aAAarJ,cAU9B,SAASyJ,EAAan4E,EAAQkzE,GAC1B,IAAIpsE,EAAI,EAER,SAASsxE,EAA4Bl5E,GACjC,OAAOg0E,EAAOn4E,eAAemE,IAAUA,EAG3Cu4E,EAAsBY,UAAY,EAClC,MAAOvxE,GAAK,GAAK2wE,EAAsB19E,KAAKiG,GACxCA,EAASA,EAAOqB,QACZo2E,EACAW,GAEJX,EAAsBY,UAAY,EAClCvxE,GAAK,EAGT,OAAO9G,EAGX,IAAIs4E,EAAwB,CACxBr9E,IAAK,YACLD,GAAI,SACJE,EAAG,aACHC,GAAI,eACJC,IAAK,sBACLC,KAAM,6BAGV,SAASN,EAAemD,GACpB,IAAI8B,EAAS3F,KAAKk+E,gBAAgBr6E,GAC9Bs6E,EAAcn+E,KAAKk+E,gBAAgBr6E,EAAI0S,eAE3C,OAAI5Q,IAAWw4E,EACJx4E,GAGX3F,KAAKk+E,gBAAgBr6E,GAAOs6E,EACvBr5E,MAAMq4E,GACNnxE,KAAI,SAAUoyE,GACX,MACY,SAARA,GACQ,OAARA,GACQ,OAARA,GACQ,SAARA,EAEOA,EAAIl3E,MAAM,GAEdk3E,KAEVznE,KAAK,IAEH3W,KAAKk+E,gBAAgBr6E,IAGhC,IAAIw6E,EAAqB,eAEzB,SAAShK,IACL,OAAOr0E,KAAKs+E,aAGhB,IAAIC,EAAiB,KACjBC,EAAgC,UAEpC,SAASj7E,EAAQI,GACb,OAAO3D,KAAKy+E,SAASz3E,QAAQ,KAAMrD,GAGvC,IAAI+6E,GAAsB,CACtBj9E,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJkE,EAAG,SACHC,GAAI,WACJlE,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAGR,SAASd,GAAamC,EAAQC,EAAeoH,EAAQlH,GACjD,IAAIX,EAASnD,KAAK2+E,cAAc3zE,GAChC,OAAOspE,EAAWnxE,GACZA,EAAOQ,EAAQC,EAAeoH,EAAQlH,GACtCX,EAAO6D,QAAQ,MAAOrD,GAGhC,SAASi7E,GAAW/qE,EAAM1Q,GACtB,IAAIwC,EAAS3F,KAAK2+E,cAAc9qE,EAAO,EAAI,SAAW,QACtD,OAAOygE,EAAW3uE,GAAUA,EAAOxC,GAAUwC,EAAOqB,QAAQ,MAAO7D,GAGvE,IAAI07E,GAAU,CACVC,EAAG,OACHC,MAAO,OACP5a,KAAM,OACNliE,EAAG,MACHktE,KAAM,MACN7kE,IAAK,MACLgH,EAAG,UACH/Q,SAAU,UACVijE,QAAS,UACTwb,EAAG,aACHC,YAAa,aACbC,WAAY,aACZC,IAAK,YACLC,WAAY,YACZC,UAAW,YACXt9E,EAAG,OACHoE,MAAO,OACPrD,KAAM,OACNw8E,GAAI,cACJC,aAAc,cACdve,YAAa,cACbn/D,EAAG,SACH4H,QAAS,SACTzG,OAAQ,SACRb,EAAG,QACH/B,OAAQ,QACRwF,MAAO,QACP45E,EAAG,UACHC,SAAU,UACVre,QAAS,UACTz/D,EAAG,SACH+9E,QAAS,SACTve,OAAQ,SACRwe,GAAI,WACJC,UAAW,WACXC,SAAU,WACVC,GAAI,cACJC,aAAc,cACdC,YAAa,cACb55E,EAAG,OACH65E,MAAO,OACP19E,KAAM,OACN29E,EAAG,UACHC,SAAU,UACVC,QAAS,UACT/9E,EAAG,OACHg+E,MAAO,OACPhf,KAAM,QAGV,SAASif,GAAezvE,GACpB,MAAwB,kBAAVA,EACRguE,GAAQhuE,IAAUguE,GAAQhuE,EAAMk8D,oBAChCjlE,EAGV,SAASy4E,GAAqBC,GAC1B,IACIC,EACA/hE,EAFAgiE,EAAkB,GAItB,IAAKhiE,KAAQ8hE,EACLlI,EAAWkI,EAAa9hE,KACxB+hE,EAAiBH,GAAe5hE,GAC5B+hE,IACAC,EAAgBD,GAAkBD,EAAY9hE,KAK1D,OAAOgiE,EAGX,IAAIC,GAAa,CACbxc,KAAM,EACN75D,IAAK,GACLk5D,QAAS,GACTC,WAAY,GACZmd,UAAW,EACX99E,KAAM,GACNk+D,YAAa,GACbh+D,OAAQ,GACR4C,MAAO,EACPw7D,QAAS,EACTD,OAAQ,GACR0f,SAAU,EACVC,YAAa,EACbv+E,KAAM,EACNw+E,QAAS,EACT1f,KAAM,GAGV,SAAS2f,GAAoBC,GACzB,IACIl2E,EADA8F,EAAQ,GAEZ,IAAK9F,KAAKk2E,EACF3I,EAAW2I,EAAUl2E,IACrB8F,EAAMnB,KAAK,CAAE4pD,KAAMvuD,EAAGm2E,SAAUP,GAAW51E,KAMnD,OAHA8F,EAAMwZ,MAAK,SAAU3gB,EAAGtB,GACpB,OAAOsB,EAAEw3E,SAAW94E,EAAE84E,YAEnBrwE,EAGX,IAsBIswE,GAtBAC,GAAS,KACTC,GAAS,OACTC,GAAS,QACTC,GAAS,QACTC,GAAS,aACTC,GAAY,QACZC,GAAY,YACZC,GAAY,gBACZC,GAAY,UACZC,GAAY,UACZC,GAAY,eACZC,GAAgB,MAChBC,GAAc,WACdC,GAAc,qBACdC,GAAmB,0BACnBC,GAAiB,uBAGjBC,GACI,wJACJC,GAAyB,YACzBC,GAAmB,gBAKvB,SAASC,GAAc/xE,EAAOgyE,EAAOC,GACjCtB,GAAQ3wE,GAAS8jE,EAAWkO,GACtBA,EACA,SAAUE,EAAUhF,GAChB,OAAOgF,GAAYD,EAAcA,EAAcD,GAI7D,SAASG,GAAsBnyE,EAAO40B,GAClC,OAAKkzC,EAAW6I,GAAS3wE,GAIlB2wE,GAAQ3wE,GAAO40B,EAAOo1C,QAASp1C,EAAOq2C,SAHlC,IAAIhG,OAAOmN,GAAepyE,IAOzC,SAASoyE,GAAejhF,GACpB,OAAOkhF,GACHlhF,EACKqF,QAAQ,KAAM,IACdA,QACG,uCACA,SAAUK,EAASugE,EAAIkb,EAAIC,EAAIC,GAC3B,OAAOpb,GAAMkb,GAAMC,GAAMC,MAM7C,SAASH,GAAYlhF,GACjB,OAAOA,EAAEqF,QAAQ,yBAA0B,QAG/C,SAASi8E,GAASt/E,GACd,OAAIA,EAAS,EAEFmD,KAAKmpD,KAAKtsD,IAAW,EAErBmD,KAAKD,MAAMlD,GAI1B,SAASu/E,GAAMC,GACX,IAAIC,GAAiBD,EACjBnwE,EAAQ,EAMZ,OAJsB,IAAlBowE,GAAuBpjE,SAASojE,KAChCpwE,EAAQiwE,GAASG,IAGdpwE,EArDXmuE,GAAU,GAwDV,IAAIkC,GAAS,GAEb,SAASC,GAAc9yE,EAAO4P,GAC1B,IAAI3T,EAEA82E,EADA9F,EAAOr9D,EAWX,IATqB,kBAAV5P,IACPA,EAAQ,CAACA,IAETid,EAASrN,KACTq9D,EAAO,SAAU54E,EAAO6d,GACpBA,EAAMtC,GAAY8iE,GAAMr+E,KAGhC0+E,EAAW/yE,EAAM5I,OACZ6E,EAAI,EAAGA,EAAI82E,EAAU92E,IACtB42E,GAAO7yE,EAAM/D,IAAMgxE,EAI3B,SAAS+F,GAAkBhzE,EAAO4P,GAC9BkjE,GAAc9yE,GAAO,SAAU3L,EAAO6d,EAAO0iB,EAAQ50B,GACjD40B,EAAOq+C,GAAKr+C,EAAOq+C,IAAM,GACzBrjE,EAASvb,EAAOugC,EAAOq+C,GAAIr+C,EAAQ50B,MAI3C,SAASkzE,GAAwBlzE,EAAO3L,EAAOugC,GAC9B,MAATvgC,GAAiByzE,EAAW+K,GAAQ7yE,IACpC6yE,GAAO7yE,GAAO3L,EAAOugC,EAAOu+C,GAAIv+C,EAAQ50B,GAIhD,SAASozE,GAAWviB,GAChB,OAAQA,EAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,EAGlE,IAAIwiB,GAAO,EACPC,GAAQ,EACRC,GAAO,EACPC,GAAO,EACPC,GAAS,EACTC,GAAS,EACTC,GAAc,EACdC,GAAO,EACPC,GAAU,EAuCd,SAASC,GAAWjjB,GAChB,OAAOuiB,GAAWviB,GAAQ,IAAM,IApCpCkc,EAAe,IAAK,EAAG,GAAG,WACtB,IAAIl7E,EAAIrC,KAAKqhE,OACb,OAAOh/D,GAAK,KAAOy6E,EAASz6E,EAAG,GAAK,IAAMA,KAG9Ck7E,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAOv9E,KAAKqhE,OAAS,OAGzBkc,EAAe,EAAG,CAAC,OAAQ,GAAI,EAAG,QAClCA,EAAe,EAAG,CAAC,QAAS,GAAI,EAAG,QACnCA,EAAe,EAAG,CAAC,SAAU,GAAG,GAAO,EAAG,QAI1CgF,GAAc,IAAKP,IACnBO,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,OAAQV,GAAWN,IACjCgB,GAAc,QAAST,GAAWN,IAClCe,GAAc,SAAUT,GAAWN,IAEnC8B,GAAc,CAAC,QAAS,UAAWO,IACnCP,GAAc,QAAQ,SAAUz+E,EAAO6d,GACnCA,EAAMmhE,IACe,IAAjBh/E,EAAM+C,OAAewwE,EAAMmM,kBAAkB1/E,GAASq+E,GAAMr+E,MAEpEy+E,GAAc,MAAM,SAAUz+E,EAAO6d,GACjCA,EAAMmhE,IAAQzL,EAAMmM,kBAAkB1/E,MAE1Cy+E,GAAc,KAAK,SAAUz+E,EAAO6d,GAChCA,EAAMmhE,IAAQ9+E,SAASF,EAAO,OAWlCuzE,EAAMmM,kBAAoB,SAAU1/E,GAChC,OAAOq+E,GAAMr+E,IAAUq+E,GAAMr+E,GAAS,GAAK,KAAO,MAKtD,IA0HImI,GA1HAw3E,GAAaC,GAAW,YAAY,GAExC,SAASC,KACL,OAAOd,GAAW5jF,KAAKqhE,QAG3B,SAASojB,GAAWnrB,EAAMqrB,GACtB,OAAO,SAAU3xE,GACb,OAAa,MAATA,GACA4xE,GAAM5kF,KAAMs5D,EAAMtmD,GAClBolE,EAAMuD,aAAa37E,KAAM2kF,GAClB3kF,MAEAiuB,GAAIjuB,KAAMs5D,IAK7B,SAASrrC,GAAI6mD,EAAKxb,GACd,IAAKwb,EAAI15D,UACL,OAAOglB,IAGX,IAAIn+B,EAAI6yE,EAAIuF,GACRwK,EAAQ/P,EAAIyG,OAEhB,OAAQjiB,GACJ,IAAK,eACD,OAAOurB,EAAQ5iF,EAAE6iF,qBAAuB7iF,EAAE8iF,kBAC9C,IAAK,UACD,OAAOF,EAAQ5iF,EAAE+iF,gBAAkB/iF,EAAEgjF,aACzC,IAAK,UACD,OAAOJ,EAAQ5iF,EAAEijF,gBAAkBjjF,EAAEkjF,aACzC,IAAK,QACD,OAAON,EAAQ5iF,EAAEmjF,cAAgBnjF,EAAEojF,WACvC,IAAK,OACD,OAAOR,EAAQ5iF,EAAEqjF,aAAerjF,EAAEsjF,UACtC,IAAK,MACD,OAAOV,EAAQ5iF,EAAEujF,YAAcvjF,EAAEwjF,SACrC,IAAK,QACD,OAAOZ,EAAQ5iF,EAAEyjF,cAAgBzjF,EAAE0jF,WACvC,IAAK,WACD,OAAOd,EAAQ5iF,EAAE2jF,iBAAmB3jF,EAAE4jF,cAC1C,QACI,OAAOzlD,KAInB,SAASwkD,GAAM9P,EAAKxb,EAAMtmD,GACtB,IAAI/Q,EAAG4iF,EAAOxjB,EAAMz7D,EAAOu+D,EAE3B,GAAK2Q,EAAI15D,YAAad,MAAMtH,GAA5B,CAOA,OAHA/Q,EAAI6yE,EAAIuF,GACRwK,EAAQ/P,EAAIyG,OAEJjiB,GACJ,IAAK,eACD,YAAaurB,EACP5iF,EAAE6jF,mBAAmB9yE,GACrB/Q,EAAE8jF,gBAAgB/yE,IAC5B,IAAK,UACD,YAAa6xE,EAAQ5iF,EAAE+jF,cAAchzE,GAAS/Q,EAAEgkF,WAAWjzE,IAC/D,IAAK,UACD,YAAa6xE,EAAQ5iF,EAAEikF,cAAclzE,GAAS/Q,EAAEkkF,WAAWnzE,IAC/D,IAAK,QACD,YAAa6xE,EAAQ5iF,EAAEmkF,YAAYpzE,GAAS/Q,EAAEokF,SAASrzE,IAC3D,IAAK,OACD,YAAa6xE,EAAQ5iF,EAAEqkF,WAAWtzE,GAAS/Q,EAAEskF,QAAQvzE,IAKzD,IAAK,WACD,MACJ,QACI,OAGRquD,EAAOruD,EACPpN,EAAQkvE,EAAIlvE,QACZu+D,EAAO2Q,EAAI3Q,OACXA,EAAgB,KAATA,GAAyB,IAAVv+D,GAAgBg+E,GAAWviB,GAAa8C,EAAL,GACnD0gB,EACA5iF,EAAEukF,eAAenlB,EAAMz7D,EAAOu+D,GAC9BliE,EAAEwkF,YAAYplB,EAAMz7D,EAAOu+D,IAKrC,SAASuiB,GAAU71E,GAEf,OADAA,EAAQyvE,GAAezvE,GACnByjE,EAAWt0E,KAAK6Q,IACT7Q,KAAK6Q,KAET7Q,KAGX,SAAS2mF,GAAU91E,EAAOmC,GACtB,GAAqB,kBAAVnC,EAAoB,CAC3BA,EAAQ0vE,GAAqB1vE,GAC7B,IACIpE,EADAm6E,EAAc5F,GAAoBnwE,GAElCg2E,EAAiBD,EAAYh/E,OACjC,IAAK6E,EAAI,EAAGA,EAAIo6E,EAAgBp6E,IAC5BzM,KAAK4mF,EAAYn6E,GAAG6sD,MAAMzoD,EAAM+1E,EAAYn6E,GAAG6sD,YAInD,GADAzoD,EAAQyvE,GAAezvE,GACnByjE,EAAWt0E,KAAK6Q,IAChB,OAAO7Q,KAAK6Q,GAAOmC,GAG3B,OAAOhT,KAGX,SAAS8mF,GAAIrjF,EAAGyP,GACZ,OAASzP,EAAIyP,EAAKA,GAAKA,EAoB3B,SAAS6zE,GAAY1lB,EAAMz7D,GACvB,GAAI0U,MAAM+mD,IAAS/mD,MAAM1U,GACrB,OAAOw6B,IAEX,IAAI4mD,EAAWF,GAAIlhF,EAAO,IAE1B,OADAy7D,IAASz7D,EAAQohF,GAAY,GACT,IAAbA,EACDpD,GAAWviB,GACP,GACA,GACJ,GAAO2lB,EAAW,EAAK,EAxB7Bh6E,GADAqC,MAAMqJ,UAAU1L,QACNqC,MAAMqJ,UAAU1L,QAEhB,SAAU6hE,GAEhB,IAAIpiE,EACJ,IAAKA,EAAI,EAAGA,EAAIzM,KAAK4H,SAAU6E,EAC3B,GAAIzM,KAAKyM,KAAOoiE,EACZ,OAAOpiE,EAGf,OAAQ,GAmBhB8wE,EAAe,IAAK,CAAC,KAAM,GAAI,MAAM,WACjC,OAAOv9E,KAAK4F,QAAU,KAG1B23E,EAAe,MAAO,EAAG,GAAG,SAAU53E,GAClC,OAAO3F,KAAK09E,aAAap9E,YAAYN,KAAM2F,MAG/C43E,EAAe,OAAQ,EAAG,GAAG,SAAU53E,GACnC,OAAO3F,KAAK09E,aAAat9E,OAAOJ,KAAM2F,MAK1C48E,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,OAAO,SAAUG,EAAU7J,GACrC,OAAOA,EAAOhzE,iBAAiB68E,MAEnCH,GAAc,QAAQ,SAAUG,EAAU7J,GACtC,OAAOA,EAAOpzE,YAAYi9E,MAG9BY,GAAc,CAAC,IAAK,OAAO,SAAUz+E,EAAO6d,GACxCA,EAAMohE,IAASZ,GAAMr+E,GAAS,KAGlCy+E,GAAc,CAAC,MAAO,SAAS,SAAUz+E,EAAO6d,EAAO0iB,EAAQ50B,GAC3D,IAAI5K,EAAQw/B,EAAOq2C,QAAQj2E,YAAYX,EAAO2L,EAAO40B,EAAOo1C,SAE/C,MAAT50E,EACA8c,EAAMohE,IAASl+E,EAEfq0E,EAAgB70C,GAAQq0C,aAAe50E,KAM/C,IAAIoiF,GACI,wFAAwF5mF,MACpF,KAER6mF,GACI,kDAAkD7mF,MAAM,KAC5D8mF,GAAmB,gCACnBC,GAA0BhF,GAC1BiF,GAAqBjF,GAEzB,SAASkF,GAAazlF,EAAG8D,GACrB,OAAK9D,EAKEge,EAAQ7f,KAAKunF,SACdvnF,KAAKunF,QAAQ1lF,EAAE+D,SACf5F,KAAKunF,SACAvnF,KAAKunF,QAAQ7gF,UAAYygF,IAAkBznF,KAAKiG,GAC3C,SACA,cACR9D,EAAE+D,SAVCia,EAAQ7f,KAAKunF,SACdvnF,KAAKunF,QACLvnF,KAAKunF,QAAQ,cAW3B,SAASC,GAAkB3lF,EAAG8D,GAC1B,OAAK9D,EAKEge,EAAQ7f,KAAKynF,cACdznF,KAAKynF,aAAa5lF,EAAE+D,SACpB5F,KAAKynF,aACDN,GAAiBznF,KAAKiG,GAAU,SAAW,cAC7C9D,EAAE+D,SARCia,EAAQ7f,KAAKynF,cACdznF,KAAKynF,aACLznF,KAAKynF,aAAa,cAShC,SAASC,GAAkBC,EAAWhiF,EAAQmzE,GAC1C,IAAIrsE,EACAm7E,EACA9S,EACA+S,EAAMF,EAAUG,oBACpB,IAAK9nF,KAAK+nF,aAKN,IAHA/nF,KAAK+nF,aAAe,GACpB/nF,KAAKgoF,iBAAmB,GACxBhoF,KAAKioF,kBAAoB,GACpBx7E,EAAI,EAAGA,EAAI,KAAMA,EAClBqoE,EAAM8D,EAAU,CAAC,IAAMnsE,IACvBzM,KAAKioF,kBAAkBx7E,GAAKzM,KAAKM,YAC7Bw0E,EACA,IACFgT,oBACF9nF,KAAKgoF,iBAAiBv7E,GAAKzM,KAAKI,OAAO00E,EAAK,IAAIgT,oBAIxD,OAAIhP,EACe,QAAXnzE,GACAiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAKioF,kBAAmBJ,IAC3B,IAARD,EAAYA,EAAK,OAExBA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgoF,iBAAkBH,IAC1B,IAARD,EAAYA,EAAK,MAGb,QAAXjiF,GACAiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAKioF,kBAAmBJ,IAC9B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgoF,iBAAkBH,IAC1B,IAARD,EAAYA,EAAK,QAExBA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgoF,iBAAkBH,IAC7B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAKioF,kBAAmBJ,IAC3B,IAARD,EAAYA,EAAK,OAKpC,SAASM,GAAkBP,EAAWhiF,EAAQmzE,GAC1C,IAAIrsE,EAAGqoE,EAAK0N,EAEZ,GAAIxiF,KAAKmoF,kBACL,OAAOT,GAAkB/uE,KAAK3Y,KAAM2nF,EAAWhiF,EAAQmzE,GAY3D,IATK94E,KAAK+nF,eACN/nF,KAAK+nF,aAAe,GACpB/nF,KAAKgoF,iBAAmB,GACxBhoF,KAAKioF,kBAAoB,IAMxBx7E,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAmBrB,GAjBAqoE,EAAM8D,EAAU,CAAC,IAAMnsE,IACnBqsE,IAAW94E,KAAKgoF,iBAAiBv7E,KACjCzM,KAAKgoF,iBAAiBv7E,GAAK,IAAIgpE,OAC3B,IAAMz1E,KAAKI,OAAO00E,EAAK,IAAI9tE,QAAQ,IAAK,IAAM,IAC9C,KAEJhH,KAAKioF,kBAAkBx7E,GAAK,IAAIgpE,OAC5B,IAAMz1E,KAAKM,YAAYw0E,EAAK,IAAI9tE,QAAQ,IAAK,IAAM,IACnD,MAGH8xE,GAAW94E,KAAK+nF,aAAat7E,KAC9B+1E,EACI,IAAMxiF,KAAKI,OAAO00E,EAAK,IAAM,KAAO90E,KAAKM,YAAYw0E,EAAK,IAC9D90E,KAAK+nF,aAAat7E,GAAK,IAAIgpE,OAAO+M,EAAMx7E,QAAQ,IAAK,IAAK,MAI1D8xE,GACW,SAAXnzE,GACA3F,KAAKgoF,iBAAiBv7E,GAAG/M,KAAKioF,GAE9B,OAAOl7E,EACJ,GACHqsE,GACW,QAAXnzE,GACA3F,KAAKioF,kBAAkBx7E,GAAG/M,KAAKioF,GAE/B,OAAOl7E,EACJ,IAAKqsE,GAAU94E,KAAK+nF,aAAat7E,GAAG/M,KAAKioF,GAC5C,OAAOl7E,GAOnB,SAAS27E,GAAStT,EAAK9hE,GACnB,IAAK8hE,EAAI15D,UAEL,OAAO05D,EAGX,GAAqB,kBAAV9hE,EACP,GAAI,QAAQtT,KAAKsT,GACbA,EAAQkwE,GAAMlwE,QAId,GAFAA,EAAQ8hE,EAAI4I,aAAal4E,YAAYwN,IAEhCya,EAASza,GACV,OAAO8hE,EAKnB,IAAIlvE,EAAQoN,EACRmxD,EAAO2Q,EAAI3Q,OAMf,OAJAA,EAAOA,EAAO,GAAKA,EAAOr9D,KAAKwM,IAAI6wD,EAAM4iB,GAAYjS,EAAIzT,OAAQz7D,IAC3DkvE,EAAIyG,OACJzG,EAAIuF,GAAGgO,YAAYziF,EAAOu+D,GAC1B2Q,EAAIuF,GAAG+N,SAASxiF,EAAOu+D,GACtB2Q,EAGX,SAASwT,GAAYt1E,GACjB,OAAa,MAATA,GACAo1E,GAASpoF,KAAMgT,GACfolE,EAAMuD,aAAa37E,MAAM,GAClBA,MAEAiuB,GAAIjuB,KAAM,SAIzB,SAASuoF,KACL,OAAOxB,GAAY/mF,KAAKqhE,OAAQrhE,KAAK4F,SAGzC,SAASC,GAAiB68E,GACtB,OAAI1iF,KAAKmoF,mBACA7P,EAAWt4E,KAAM,iBAClBwoF,GAAmB7vE,KAAK3Y,MAExB0iF,EACO1iF,KAAKyoF,wBAELzoF,KAAK0oF,oBAGXpQ,EAAWt4E,KAAM,uBAClBA,KAAK0oF,kBAAoBtB,IAEtBpnF,KAAKyoF,yBAA2B/F,EACjC1iF,KAAKyoF,wBACLzoF,KAAK0oF,mBAInB,SAASjjF,GAAYi9E,GACjB,OAAI1iF,KAAKmoF,mBACA7P,EAAWt4E,KAAM,iBAClBwoF,GAAmB7vE,KAAK3Y,MAExB0iF,EACO1iF,KAAK2oF,mBAEL3oF,KAAK4oF,eAGXtQ,EAAWt4E,KAAM,kBAClBA,KAAK4oF,aAAevB,IAEjBrnF,KAAK2oF,oBAAsBjG,EAC5B1iF,KAAK2oF,mBACL3oF,KAAK4oF,cAInB,SAASJ,KACL,SAASK,EAAUn/E,EAAGtB,GAClB,OAAOA,EAAER,OAAS8B,EAAE9B,OAGxB,IAGI6E,EACAqoE,EACAgU,EACAC,EANAC,EAAc,GACdC,EAAa,GACbC,EAAc,GAKlB,IAAKz8E,EAAI,EAAGA,EAAI,GAAIA,IAEhBqoE,EAAM8D,EAAU,CAAC,IAAMnsE,IACvBq8E,EAASjG,GAAY7iF,KAAKM,YAAYw0E,EAAK,KAC3CiU,EAAQlG,GAAY7iF,KAAKI,OAAO00E,EAAK,KACrCkU,EAAYt5E,KAAKo5E,GACjBG,EAAWv5E,KAAKq5E,GAChBG,EAAYx5E,KAAKq5E,GACjBG,EAAYx5E,KAAKo5E,GAIrBE,EAAY3+D,KAAKw+D,GACjBI,EAAW5+D,KAAKw+D,GAChBK,EAAY7+D,KAAKw+D,GAEjB7oF,KAAK4oF,aAAe,IAAInT,OAAO,KAAOyT,EAAYvyE,KAAK,KAAO,IAAK,KACnE3W,KAAK0oF,kBAAoB1oF,KAAK4oF,aAC9B5oF,KAAK2oF,mBAAqB,IAAIlT,OAC1B,KAAOwT,EAAWtyE,KAAK,KAAO,IAC9B,KAEJ3W,KAAKyoF,wBAA0B,IAAIhT,OAC/B,KAAOuT,EAAYryE,KAAK,KAAO,IAC/B,KAIR,SAASwyE,GAAW9mF,EAAGR,EAAGI,EAAGF,EAAGI,EAAGR,EAAG29E,GAGlC,IAAInb,EAYJ,OAVI9hE,EAAI,KAAOA,GAAK,GAEhB8hE,EAAO,IAAIt1C,KAAKxsB,EAAI,IAAKR,EAAGI,EAAGF,EAAGI,EAAGR,EAAG29E,GACpCt/D,SAASmkD,EAAK0hB,gBACd1hB,EAAKsiB,YAAYpkF,IAGrB8hE,EAAO,IAAIt1C,KAAKxsB,EAAGR,EAAGI,EAAGF,EAAGI,EAAGR,EAAG29E,GAG/Bnb,EAGX,SAASilB,GAAc/mF,GACnB,IAAI8hE,EAAMruD,EAcV,OAZIzT,EAAI,KAAOA,GAAK,GAChByT,EAAOzG,MAAMqJ,UAAUxR,MAAMyR,KAAK5C,WAElCD,EAAK,GAAKzT,EAAI,IACd8hE,EAAO,IAAIt1C,KAAKA,KAAKw6D,IAAI/oE,MAAM,KAAMxK,IACjCkK,SAASmkD,EAAKyhB,mBACdzhB,EAAKqiB,eAAenkF,IAGxB8hE,EAAO,IAAIt1C,KAAKA,KAAKw6D,IAAI/oE,MAAM,KAAMvK,YAGlCouD,EAIX,SAASmlB,GAAgBjoB,EAAM7+D,EAAKC,GAChC,IACI8mF,EAAM,EAAI/mF,EAAMC,EAEhB+mF,GAAS,EAAIJ,GAAc/nB,EAAM,EAAGkoB,GAAK/D,YAAchjF,GAAO,EAElE,OAAQgnF,EAAQD,EAAM,EAI1B,SAASE,GAAmBpoB,EAAM9+D,EAAMihE,EAAShhE,EAAKC,GAClD,IAGIinF,EACAC,EAJAC,GAAgB,EAAIpmB,EAAUhhE,GAAO,EACrCqnF,EAAaP,GAAgBjoB,EAAM7+D,EAAKC,GACxCm+E,EAAY,EAAI,GAAKr+E,EAAO,GAAKqnF,EAAeC,EAepD,OAXIjJ,GAAa,GACb8I,EAAUroB,EAAO,EACjBsoB,EAAerF,GAAWoF,GAAW9I,GAC9BA,EAAY0D,GAAWjjB,IAC9BqoB,EAAUroB,EAAO,EACjBsoB,EAAe/I,EAAY0D,GAAWjjB,KAEtCqoB,EAAUroB,EACVsoB,EAAe/I,GAGZ,CACHvf,KAAMqoB,EACN9I,UAAW+I,GAInB,SAASG,GAAWhV,EAAKtyE,EAAKC,GAC1B,IAEIsnF,EACAL,EAHAG,EAAaP,GAAgBxU,EAAIzT,OAAQ7+D,EAAKC,GAC9CF,EAAOuE,KAAKD,OAAOiuE,EAAI8L,YAAciJ,EAAa,GAAK,GAAK,EAehE,OAXItnF,EAAO,GACPmnF,EAAU5U,EAAIzT,OAAS,EACvB0oB,EAAUxnF,EAAOynF,GAAYN,EAASlnF,EAAKC,IACpCF,EAAOynF,GAAYlV,EAAIzT,OAAQ7+D,EAAKC,IAC3CsnF,EAAUxnF,EAAOynF,GAAYlV,EAAIzT,OAAQ7+D,EAAKC,GAC9CinF,EAAU5U,EAAIzT,OAAS,IAEvBqoB,EAAU5U,EAAIzT,OACd0oB,EAAUxnF,GAGP,CACHA,KAAMwnF,EACN1oB,KAAMqoB,GAId,SAASM,GAAY3oB,EAAM7+D,EAAKC,GAC5B,IAAIonF,EAAaP,GAAgBjoB,EAAM7+D,EAAKC,GACxCwnF,EAAiBX,GAAgBjoB,EAAO,EAAG7+D,EAAKC,GACpD,OAAQ6hF,GAAWjjB,GAAQwoB,EAAaI,GAAkB,EA0B9D,SAASC,GAAWpV,GAChB,OAAOgV,GAAWhV,EAAK90E,KAAKmqF,MAAM3nF,IAAKxC,KAAKmqF,MAAM1nF,KAAKF,KAtB3Dg7E,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QACrCA,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,WAIrCgF,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,KAAMd,GAAWJ,IAE/BmC,GACI,CAAC,IAAK,KAAM,IAAK,OACjB,SAAU3+E,EAAOtC,EAAM6iC,EAAQ50B,GAC3BjO,EAAKiO,EAAMsP,OAAO,EAAG,IAAMojE,GAAMr+E,MAYzC,IAAIulF,GAAoB,CACpB5nF,IAAK,EACLC,IAAK,GAGT,SAAS4nF,KACL,OAAOrqF,KAAKmqF,MAAM3nF,IAGtB,SAAS8nF,KACL,OAAOtqF,KAAKmqF,MAAM1nF,IAKtB,SAAS8nF,GAAW1lF,GAChB,IAAItC,EAAOvC,KAAK09E,aAAan7E,KAAKvC,MAClC,OAAgB,MAAT6E,EAAgBtC,EAAOvC,KAAKkyC,IAAqB,GAAhBrtC,EAAQtC,GAAW,KAG/D,SAASioF,GAAc3lF,GACnB,IAAItC,EAAOunF,GAAW9pF,KAAM,EAAG,GAAGuC,KAClC,OAAgB,MAATsC,EAAgBtC,EAAOvC,KAAKkyC,IAAqB,GAAhBrtC,EAAQtC,GAAW,KAqD/D,SAASkoF,GAAa5lF,EAAOg0E,GACzB,MAAqB,kBAAVh0E,EACAA,EAGNyV,MAAMzV,IAIXA,EAAQg0E,EAAOpG,cAAc5tE,GACR,kBAAVA,EACAA,EAGJ,MARIE,SAASF,EAAO,IAW/B,SAAS6lF,GAAgB7lF,EAAOg0E,GAC5B,MAAqB,kBAAVh0E,EACAg0E,EAAOpG,cAAc5tE,GAAS,GAAK,EAEvCyV,MAAMzV,GAAS,KAAOA,EAIjC,SAAS8lF,GAAcC,EAAInnF,GACvB,OAAOmnF,EAAG1jF,MAAMzD,EAAG,GAAGiY,OAAOkvE,EAAG1jF,MAAM,EAAGzD,IA1E7C85E,EAAe,IAAK,EAAG,KAAM,OAE7BA,EAAe,KAAM,EAAG,GAAG,SAAU53E,GACjC,OAAO3F,KAAK09E,aAAaj9E,YAAYT,KAAM2F,MAG/C43E,EAAe,MAAO,EAAG,GAAG,SAAU53E,GAClC,OAAO3F,KAAK09E,aAAal9E,cAAcR,KAAM2F,MAGjD43E,EAAe,OAAQ,EAAG,GAAG,SAAU53E,GACnC,OAAO3F,KAAK09E,aAAan9E,SAASP,KAAM2F,MAG5C43E,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,IAAK,EAAG,EAAG,cAI1BgF,GAAc,IAAKd,IACnBc,GAAc,IAAKd,IACnBc,GAAc,IAAKd,IACnBc,GAAc,MAAM,SAAUG,EAAU7J,GACpC,OAAOA,EAAOgS,iBAAiBnI,MAEnCH,GAAc,OAAO,SAAUG,EAAU7J,GACrC,OAAOA,EAAOiS,mBAAmBpI,MAErCH,GAAc,QAAQ,SAAUG,EAAU7J,GACtC,OAAOA,EAAOkS,cAAcrI,MAGhCc,GAAkB,CAAC,KAAM,MAAO,SAAS,SAAU3+E,EAAOtC,EAAM6iC,EAAQ50B,GACpE,IAAIgzD,EAAUp+B,EAAOq2C,QAAQhJ,cAAc5tE,EAAO2L,EAAO40B,EAAOo1C,SAEjD,MAAXhX,EACAjhE,EAAKN,EAAIuhE,EAETyW,EAAgB70C,GAAQm1C,eAAiB11E,KAIjD2+E,GAAkB,CAAC,IAAK,IAAK,MAAM,SAAU3+E,EAAOtC,EAAM6iC,EAAQ50B,GAC9DjO,EAAKiO,GAAS0yE,GAAMr+E,MAkCxB,IAAImmF,GACI,2DAA2D3qF,MAAM,KACrE4qF,GAA6B,8BAA8B5qF,MAAM,KACjE6qF,GAA2B,uBAAuB7qF,MAAM,KACxD8qF,GAAuB/I,GACvBgJ,GAA4BhJ,GAC5BiJ,GAA0BjJ,GAE9B,SAASkJ,GAAezpF,EAAG8D,GACvB,IAAIpF,EAAWsf,EAAQ7f,KAAKurF,WACtBvrF,KAAKurF,UACLvrF,KAAKurF,UACD1pF,IAAW,IAANA,GAAc7B,KAAKurF,UAAU7kF,SAAShH,KAAKiG,GAC1C,SACA,cAEhB,OAAa,IAAN9D,EACD8oF,GAAcpqF,EAAUP,KAAKmqF,MAAM3nF,KACnCX,EACEtB,EAASsB,EAAEyI,OACX/J,EAGZ,SAASirF,GAAoB3pF,GACzB,OAAa,IAANA,EACD8oF,GAAc3qF,KAAKyrF,eAAgBzrF,KAAKmqF,MAAM3nF,KAC9CX,EACE7B,KAAKyrF,eAAe5pF,EAAEyI,OACtBtK,KAAKyrF,eAGjB,SAASC,GAAkB7pF,GACvB,OAAa,IAANA,EACD8oF,GAAc3qF,KAAK2rF,aAAc3rF,KAAKmqF,MAAM3nF,KAC5CX,EACE7B,KAAK2rF,aAAa9pF,EAAEyI,OACpBtK,KAAK2rF,aAGjB,SAASC,GAAoBC,EAAalmF,EAAQmzE,GAC9C,IAAIrsE,EACAm7E,EACA9S,EACA+S,EAAMgE,EAAY/D,oBACtB,IAAK9nF,KAAK8rF,eAKN,IAJA9rF,KAAK8rF,eAAiB,GACtB9rF,KAAK+rF,oBAAsB,GAC3B/rF,KAAKgsF,kBAAoB,GAEpBv/E,EAAI,EAAGA,EAAI,IAAKA,EACjBqoE,EAAM8D,EAAU,CAAC,IAAM,IAAItuE,IAAImC,GAC/BzM,KAAKgsF,kBAAkBv/E,GAAKzM,KAAKS,YAC7Bq0E,EACA,IACFgT,oBACF9nF,KAAK+rF,oBAAoBt/E,GAAKzM,KAAKQ,cAC/Bs0E,EACA,IACFgT,oBACF9nF,KAAK8rF,eAAer/E,GAAKzM,KAAKO,SAASu0E,EAAK,IAAIgT,oBAIxD,OAAIhP,EACe,SAAXnzE,GACAiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAK8rF,eAAgBjE,IACxB,IAARD,EAAYA,EAAK,MACN,QAAXjiF,GACPiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAK+rF,oBAAqBlE,IAC7B,IAARD,EAAYA,EAAK,OAExBA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgsF,kBAAmBnE,IAC3B,IAARD,EAAYA,EAAK,MAGb,SAAXjiF,GACAiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAK8rF,eAAgBjE,IAC3B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAK+rF,oBAAqBlE,IAChC,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgsF,kBAAmBnE,IAC3B,IAARD,EAAYA,EAAK,QACN,QAAXjiF,GACPiiF,EAAK56E,GAAQ2L,KAAK3Y,KAAK+rF,oBAAqBlE,IAChC,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAK8rF,eAAgBjE,IAC3B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgsF,kBAAmBnE,IAC3B,IAARD,EAAYA,EAAK,SAExBA,EAAK56E,GAAQ2L,KAAK3Y,KAAKgsF,kBAAmBnE,IAC9B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAK8rF,eAAgBjE,IAC3B,IAARD,EACOA,GAEXA,EAAK56E,GAAQ2L,KAAK3Y,KAAK+rF,oBAAqBlE,IAC7B,IAARD,EAAYA,EAAK,QAKpC,SAASqE,GAAoBJ,EAAalmF,EAAQmzE,GAC9C,IAAIrsE,EAAGqoE,EAAK0N,EAEZ,GAAIxiF,KAAKksF,oBACL,OAAON,GAAoBjzE,KAAK3Y,KAAM6rF,EAAalmF,EAAQmzE,GAU/D,IAPK94E,KAAK8rF,iBACN9rF,KAAK8rF,eAAiB,GACtB9rF,KAAKgsF,kBAAoB,GACzBhsF,KAAK+rF,oBAAsB,GAC3B/rF,KAAKmsF,mBAAqB,IAGzB1/E,EAAI,EAAGA,EAAI,EAAGA,IAAK,CA6BpB,GA1BAqoE,EAAM8D,EAAU,CAAC,IAAM,IAAItuE,IAAImC,GAC3BqsE,IAAW94E,KAAKmsF,mBAAmB1/E,KACnCzM,KAAKmsF,mBAAmB1/E,GAAK,IAAIgpE,OAC7B,IAAMz1E,KAAKO,SAASu0E,EAAK,IAAI9tE,QAAQ,IAAK,QAAU,IACpD,KAEJhH,KAAK+rF,oBAAoBt/E,GAAK,IAAIgpE,OAC9B,IAAMz1E,KAAKQ,cAAcs0E,EAAK,IAAI9tE,QAAQ,IAAK,QAAU,IACzD,KAEJhH,KAAKgsF,kBAAkBv/E,GAAK,IAAIgpE,OAC5B,IAAMz1E,KAAKS,YAAYq0E,EAAK,IAAI9tE,QAAQ,IAAK,QAAU,IACvD,MAGHhH,KAAK8rF,eAAer/E,KACrB+1E,EACI,IACAxiF,KAAKO,SAASu0E,EAAK,IACnB,KACA90E,KAAKQ,cAAcs0E,EAAK,IACxB,KACA90E,KAAKS,YAAYq0E,EAAK,IAC1B90E,KAAK8rF,eAAer/E,GAAK,IAAIgpE,OAAO+M,EAAMx7E,QAAQ,IAAK,IAAK,MAI5D8xE,GACW,SAAXnzE,GACA3F,KAAKmsF,mBAAmB1/E,GAAG/M,KAAKmsF,GAEhC,OAAOp/E,EACJ,GACHqsE,GACW,QAAXnzE,GACA3F,KAAK+rF,oBAAoBt/E,GAAG/M,KAAKmsF,GAEjC,OAAOp/E,EACJ,GACHqsE,GACW,OAAXnzE,GACA3F,KAAKgsF,kBAAkBv/E,GAAG/M,KAAKmsF,GAE/B,OAAOp/E,EACJ,IAAKqsE,GAAU94E,KAAK8rF,eAAer/E,GAAG/M,KAAKmsF,GAC9C,OAAOp/E,GAOnB,SAAS2/E,GAAgBvnF,GACrB,IAAK7E,KAAKob,UACN,OAAgB,MAATvW,EAAgB7E,KAAOogC,IAGlC,IAAI91B,EAAM2jB,GAAIjuB,KAAM,OACpB,OAAa,MAAT6E,GACAA,EAAQ4lF,GAAa5lF,EAAO7E,KAAK09E,cAC1B19E,KAAKkyC,IAAIrtC,EAAQyF,EAAK,MAEtBA,EAIf,SAAS+hF,GAAsBxnF,GAC3B,IAAK7E,KAAKob,UACN,OAAgB,MAATvW,EAAgB7E,KAAOogC,IAElC,IAAIojC,GAAWxjE,KAAKsK,MAAQ,EAAItK,KAAK09E,aAAayM,MAAM3nF,KAAO,EAC/D,OAAgB,MAATqC,EAAgB2+D,EAAUxjE,KAAKkyC,IAAIrtC,EAAQ2+D,EAAS,KAG/D,SAAS8oB,GAAmBznF,GACxB,IAAK7E,KAAKob,UACN,OAAgB,MAATvW,EAAgB7E,KAAOogC,IAOlC,GAAa,MAATv7B,EAAe,CACf,IAAI2+D,EAAUknB,GAAgB7lF,EAAO7E,KAAK09E,cAC1C,OAAO19E,KAAKsK,IAAItK,KAAKsK,MAAQ,EAAIk5D,EAAUA,EAAU,GAErD,OAAOxjE,KAAKsK,OAAS,EAI7B,SAASygF,GAAcrI,GACnB,OAAI1iF,KAAKksF,qBACA5T,EAAWt4E,KAAM,mBAClBusF,GAAqB5zE,KAAK3Y,MAE1B0iF,EACO1iF,KAAKwsF,qBAELxsF,KAAKysF,iBAGXnU,EAAWt4E,KAAM,oBAClBA,KAAKysF,eAAiBtB,IAEnBnrF,KAAKwsF,sBAAwB9J,EAC9B1iF,KAAKwsF,qBACLxsF,KAAKysF,gBAInB,SAAS3B,GAAmBpI,GACxB,OAAI1iF,KAAKksF,qBACA5T,EAAWt4E,KAAM,mBAClBusF,GAAqB5zE,KAAK3Y,MAE1B0iF,EACO1iF,KAAK0sF,0BAEL1sF,KAAK2sF,sBAGXrU,EAAWt4E,KAAM,yBAClBA,KAAK2sF,oBAAsBvB,IAExBprF,KAAK0sF,2BAA6BhK,EACnC1iF,KAAK0sF,0BACL1sF,KAAK2sF,qBAInB,SAAS9B,GAAiBnI,GACtB,OAAI1iF,KAAKksF,qBACA5T,EAAWt4E,KAAM,mBAClBusF,GAAqB5zE,KAAK3Y,MAE1B0iF,EACO1iF,KAAK4sF,wBAEL5sF,KAAK6sF,oBAGXvU,EAAWt4E,KAAM,uBAClBA,KAAK6sF,kBAAoBxB,IAEtBrrF,KAAK4sF,yBAA2BlK,EACjC1iF,KAAK4sF,wBACL5sF,KAAK6sF,mBAInB,SAASN,KACL,SAAS1D,EAAUn/E,EAAGtB,GAClB,OAAOA,EAAER,OAAS8B,EAAE9B,OAGxB,IAII6E,EACAqoE,EACAgY,EACAC,EACAC,EARAC,EAAY,GACZjE,EAAc,GACdC,EAAa,GACbC,EAAc,GAMlB,IAAKz8E,EAAI,EAAGA,EAAI,EAAGA,IAEfqoE,EAAM8D,EAAU,CAAC,IAAM,IAAItuE,IAAImC,GAC/BqgF,EAAOjK,GAAY7iF,KAAKS,YAAYq0E,EAAK,KACzCiY,EAASlK,GAAY7iF,KAAKQ,cAAcs0E,EAAK,KAC7CkY,EAAQnK,GAAY7iF,KAAKO,SAASu0E,EAAK,KACvCmY,EAAUv9E,KAAKo9E,GACf9D,EAAYt5E,KAAKq9E,GACjB9D,EAAWv5E,KAAKs9E,GAChB9D,EAAYx5E,KAAKo9E,GACjB5D,EAAYx5E,KAAKq9E,GACjB7D,EAAYx5E,KAAKs9E,GAIrBC,EAAU5iE,KAAKw+D,GACfG,EAAY3+D,KAAKw+D,GACjBI,EAAW5+D,KAAKw+D,GAChBK,EAAY7+D,KAAKw+D,GAEjB7oF,KAAKysF,eAAiB,IAAIhX,OAAO,KAAOyT,EAAYvyE,KAAK,KAAO,IAAK,KACrE3W,KAAK2sF,oBAAsB3sF,KAAKysF,eAChCzsF,KAAK6sF,kBAAoB7sF,KAAKysF,eAE9BzsF,KAAKwsF,qBAAuB,IAAI/W,OAC5B,KAAOwT,EAAWtyE,KAAK,KAAO,IAC9B,KAEJ3W,KAAK0sF,0BAA4B,IAAIjX,OACjC,KAAOuT,EAAYryE,KAAK,KAAO,IAC/B,KAEJ3W,KAAK4sF,wBAA0B,IAAInX,OAC/B,KAAOwX,EAAUt2E,KAAK,KAAO,IAC7B,KAMR,SAASu2E,KACL,OAAOltF,KAAKmG,QAAU,IAAM,GAGhC,SAASgnF,KACL,OAAOntF,KAAKmG,SAAW,GAiC3B,SAASpD,GAASyN,EAAO48E,GACrB7P,EAAe/sE,EAAO,EAAG,GAAG,WACxB,OAAOxQ,KAAK09E,aAAa36E,SACrB/C,KAAKmG,QACLnG,KAAKyJ,UACL2jF,MAUZ,SAASC,GAAc3K,EAAU7J,GAC7B,OAAOA,EAAOyU,eA2DlB,SAASC,GAAW1oF,GAGhB,MAAgD,OAAxCA,EAAQ,IAAIkoE,cAAchmE,OAAO,GA5G7Cw2E,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,QAClCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG2P,IAClC3P,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG4P,IAElC5P,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAK2P,GAAQ5sE,MAAMtgB,MAAQ88E,EAAS98E,KAAKyJ,UAAW,MAG/D8zE,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACA2P,GAAQ5sE,MAAMtgB,MACd88E,EAAS98E,KAAKyJ,UAAW,GACzBqzE,EAAS98E,KAAK0/E,UAAW,MAIjCnC,EAAe,MAAO,EAAG,GAAG,WACxB,MAAO,GAAKv9E,KAAKmG,QAAU22E,EAAS98E,KAAKyJ,UAAW,MAGxD8zE,EAAe,QAAS,EAAG,GAAG,WAC1B,MACI,GACAv9E,KAAKmG,QACL22E,EAAS98E,KAAKyJ,UAAW,GACzBqzE,EAAS98E,KAAK0/E,UAAW,MAcjC38E,GAAS,KAAK,GACdA,GAAS,KAAK,GAQdw/E,GAAc,IAAK8K,IACnB9K,GAAc,IAAK8K,IACnB9K,GAAc,IAAKd,GAAWa,IAC9BC,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,KAAMd,GAAWJ,IAE/BkB,GAAc,MAAOb,IACrBa,GAAc,QAASZ,IACvBY,GAAc,MAAOb,IACrBa,GAAc,QAASZ,IAEvB2B,GAAc,CAAC,IAAK,MAAOU,IAC3BV,GAAc,CAAC,IAAK,OAAO,SAAUz+E,EAAO6d,EAAO0iB,GAC/C,IAAIooD,EAAStK,GAAMr+E,GACnB6d,EAAMshE,IAAmB,KAAXwJ,EAAgB,EAAIA,KAEtClK,GAAc,CAAC,IAAK,MAAM,SAAUz+E,EAAO6d,EAAO0iB,GAC9CA,EAAOqoD,MAAQroD,EAAOq2C,QAAQr2E,KAAKP,GACnCugC,EAAOsoD,UAAY7oF,KAEvBy+E,GAAc,CAAC,IAAK,OAAO,SAAUz+E,EAAO6d,EAAO0iB,GAC/C1iB,EAAMshE,IAAQd,GAAMr+E,GACpBo1E,EAAgB70C,GAAQq1C,SAAU,KAEtC6I,GAAc,OAAO,SAAUz+E,EAAO6d,EAAO0iB,GACzC,IAAIuF,EAAM9lC,EAAM+C,OAAS,EACzB8a,EAAMshE,IAAQd,GAAMr+E,EAAMib,OAAO,EAAG6qB,IACpCjoB,EAAMuhE,IAAUf,GAAMr+E,EAAMib,OAAO6qB,IACnCsvC,EAAgB70C,GAAQq1C,SAAU,KAEtC6I,GAAc,SAAS,SAAUz+E,EAAO6d,EAAO0iB,GAC3C,IAAIuoD,EAAO9oF,EAAM+C,OAAS,EACtBgmF,EAAO/oF,EAAM+C,OAAS,EAC1B8a,EAAMshE,IAAQd,GAAMr+E,EAAMib,OAAO,EAAG6tE,IACpCjrE,EAAMuhE,IAAUf,GAAMr+E,EAAMib,OAAO6tE,EAAM,IACzCjrE,EAAMwhE,IAAUhB,GAAMr+E,EAAMib,OAAO8tE,IACnC3T,EAAgB70C,GAAQq1C,SAAU,KAEtC6I,GAAc,OAAO,SAAUz+E,EAAO6d,EAAO0iB,GACzC,IAAIuF,EAAM9lC,EAAM+C,OAAS,EACzB8a,EAAMshE,IAAQd,GAAMr+E,EAAMib,OAAO,EAAG6qB,IACpCjoB,EAAMuhE,IAAUf,GAAMr+E,EAAMib,OAAO6qB,OAEvC24C,GAAc,SAAS,SAAUz+E,EAAO6d,EAAO0iB,GAC3C,IAAIuoD,EAAO9oF,EAAM+C,OAAS,EACtBgmF,EAAO/oF,EAAM+C,OAAS,EAC1B8a,EAAMshE,IAAQd,GAAMr+E,EAAMib,OAAO,EAAG6tE,IACpCjrE,EAAMuhE,IAAUf,GAAMr+E,EAAMib,OAAO6tE,EAAM,IACzCjrE,EAAMwhE,IAAUhB,GAAMr+E,EAAMib,OAAO8tE,OAWvC,IAAIC,GAA6B,gBAK7BC,GAAarJ,GAAW,SAAS,GAErC,SAASsJ,GAAe5nF,EAAOsD,EAASxG,GACpC,OAAIkD,EAAQ,GACDlD,EAAU,KAAO,KAEjBA,EAAU,KAAO,KAIhC,IAuBI+qF,GAvBAC,GAAa,CACbhtF,SAAU27E,EACVl8E,eAAgBu9E,EAChB5J,YAAagK,EACb96E,QAASg7E,EACTj7E,uBAAwBk7E,EACxBh9E,aAAck9E,GAEdt+E,OAAQ6mF,GACR3mF,YAAa4mF,GAEb3kF,KAAM6nF,GAEN7pF,SAAUyqF,GACVvqF,YAAayqF,GACb1qF,cAAeyqF,GAEfroF,cAAeirF,IAIfK,GAAU,GACVC,GAAiB,GAGrB,SAASC,GAAaC,EAAMC,GACxB,IAAI7hF,EACA8hF,EAAOznF,KAAKwM,IAAI+6E,EAAKzmF,OAAQ0mF,EAAK1mF,QACtC,IAAK6E,EAAI,EAAGA,EAAI8hF,EAAM9hF,GAAK,EACvB,GAAI4hF,EAAK5hF,KAAO6hF,EAAK7hF,GACjB,OAAOA,EAGf,OAAO8hF,EAGX,SAASC,GAAgB3qF,GACrB,OAAOA,EAAMA,EAAIkpE,cAAc/lE,QAAQ,IAAK,KAAOnD,EAMvD,SAAS4qF,GAAaC,GAClB,IACIzsD,EACAxF,EACAo8C,EACAx4E,EAJAoM,EAAI,EAMR,MAAOA,EAAIiiF,EAAM9mF,OAAQ,CACrBvH,EAAQmuF,GAAgBE,EAAMjiF,IAAIpM,MAAM,KACxC4hC,EAAI5hC,EAAMuH,OACV60B,EAAO+xD,GAAgBE,EAAMjiF,EAAI,IACjCgwB,EAAOA,EAAOA,EAAKp8B,MAAM,KAAO,KAChC,MAAO4hC,EAAI,EAAG,CAEV,GADA42C,EAAS8V,GAAWtuF,EAAM6G,MAAM,EAAG+6B,GAAGtrB,KAAK,MACvCkiE,EACA,OAAOA,EAEX,GACIp8C,GACAA,EAAK70B,QAAUq6B,GACfmsD,GAAa/tF,EAAOo8B,IAASwF,EAAI,EAGjC,MAEJA,IAEJx1B,IAEJ,OAAOuhF,GAGX,SAASY,GAAiBtqF,GAGtB,SAAUA,IAAQA,EAAKQ,MAAM,gBAGjC,SAAS6pF,GAAWrqF,GAChB,IAAIuqF,EAAY,KAGhB,QACsB/mF,IAAlBomF,GAAQ5pF,IACU,qBAAX3E,GACPA,GACAA,EAAOC,SACPgvF,GAAiBtqF,GAEjB,IACIuqF,EAAYb,GAAac,MACRC,EACjB,UAAe,KAAczqF,GAC7B0qF,GAAmBH,GACrB,MAAOv9E,GAGL48E,GAAQ5pF,GAAQ,KAGxB,OAAO4pF,GAAQ5pF,GAMnB,SAAS0qF,GAAmBnrF,EAAKiX,GAC7B,IAAI3N,EAqBJ,OApBItJ,IAEIsJ,EADAsrE,EAAY39D,GACLm0E,GAAUprF,GAEV1D,GAAa0D,EAAKiX,GAGzB3N,EAEA6gF,GAAe7gF,EAEQ,qBAAZwR,SAA2BA,QAAQ4D,MAE1C5D,QAAQ4D,KACJ,UAAY1e,EAAM,2CAM3BmqF,GAAac,MAGxB,SAAS3uF,GAAamE,EAAM8gC,GACxB,GAAe,OAAXA,EAAiB,CACjB,IAAIyzC,EACA4D,EAAewR,GAEnB,GADA7oD,EAAO5gC,KAAOF,EACO,MAAjB4pF,GAAQ5pF,GACR83E,EACI,uBACA,2OAKJK,EAAeyR,GAAQ5pF,GAAMsuB,aAC1B,GAA2B,MAAvBwS,EAAO8pD,aACd,GAAoC,MAAhChB,GAAQ9oD,EAAO8pD,cACfzS,EAAeyR,GAAQ9oD,EAAO8pD,cAAct8D,YACzC,CAEH,GADAimD,EAAS8V,GAAWvpD,EAAO8pD,cACb,MAAVrW,EAUA,OAPKsV,GAAe/oD,EAAO8pD,gBACvBf,GAAe/oD,EAAO8pD,cAAgB,IAE1Cf,GAAe/oD,EAAO8pD,cAAcx/E,KAAK,CACrCpL,KAAMA,EACN8gC,OAAQA,IAEL,KATPq3C,EAAe5D,EAAOjmD,QA0BlC,OAbAs7D,GAAQ5pF,GAAQ,IAAIq4E,EAAOH,EAAaC,EAAcr3C,IAElD+oD,GAAe7pF,IACf6pF,GAAe7pF,GAAMkI,SAAQ,SAAU0G,GACnC/S,GAAa+S,EAAE5O,KAAM4O,EAAEkyB,WAO/B4pD,GAAmB1qF,GAEZ4pF,GAAQ5pF,GAIf,cADO4pF,GAAQ5pF,GACR,KAIf,SAAS6qF,GAAa7qF,EAAM8gC,GACxB,GAAc,MAAVA,EAAgB,CAChB,IAAIyzC,EACAuW,EACA3S,EAAewR,GAEE,MAAjBC,GAAQ5pF,IAA+C,MAA9B4pF,GAAQ5pF,GAAM4qF,aAEvChB,GAAQ5pF,GAAM4pB,IAAIsuD,EAAa0R,GAAQ5pF,GAAMsuB,QAASwS,KAGtDgqD,EAAYT,GAAWrqF,GACN,MAAb8qF,IACA3S,EAAe2S,EAAUx8D,SAE7BwS,EAASo3C,EAAaC,EAAcr3C,GACnB,MAAbgqD,IAIAhqD,EAAO5gC,KAAOF,GAElBu0E,EAAS,IAAI8D,EAAOv3C,GACpByzC,EAAOqW,aAAehB,GAAQ5pF,GAC9B4pF,GAAQ5pF,GAAQu0E,GAIpBmW,GAAmB1qF,QAGE,MAAjB4pF,GAAQ5pF,KAC0B,MAA9B4pF,GAAQ5pF,GAAM4qF,cACdhB,GAAQ5pF,GAAQ4pF,GAAQ5pF,GAAM4qF,aAC1B5qF,IAAS0qF,MACTA,GAAmB1qF,IAEC,MAAjB4pF,GAAQ5pF,WACR4pF,GAAQ5pF,IAI3B,OAAO4pF,GAAQ5pF,GAInB,SAAS2qF,GAAUprF,GACf,IAAIg1E,EAMJ,GAJIh1E,GAAOA,EAAI43E,SAAW53E,EAAI43E,QAAQqT,QAClCjrF,EAAMA,EAAI43E,QAAQqT,QAGjBjrF,EACD,OAAOmqF,GAGX,IAAKnuE,EAAQhc,GAAM,CAGf,GADAg1E,EAAS8V,GAAW9qF,GAChBg1E,EACA,OAAOA,EAEXh1E,EAAM,CAACA,GAGX,OAAO4qF,GAAa5qF,GAGxB,SAASwrF,KACL,OAAOziF,EAAKshF,IAGhB,SAASoB,GAAcztF,GACnB,IAAIw3E,EACA3vE,EAAI7H,EAAE8hF,GAuCV,OArCIj6E,IAAsC,IAAjCuwE,EAAgBp4E,GAAGw3E,WACxBA,EACI3vE,EAAEo6E,IAAS,GAAKp6E,EAAEo6E,IAAS,GACrBA,GACAp6E,EAAEq6E,IAAQ,GAAKr6E,EAAEq6E,IAAQgD,GAAYr9E,EAAEm6E,IAAOn6E,EAAEo6E,KAC9CC,GACAr6E,EAAEs6E,IAAQ,GACRt6E,EAAEs6E,IAAQ,IACG,KAAZt6E,EAAEs6E,MACgB,IAAdt6E,EAAEu6E,KACe,IAAdv6E,EAAEw6E,KACiB,IAAnBx6E,EAAEy6E,KACVH,GACAt6E,EAAEu6E,IAAU,GAAKv6E,EAAEu6E,IAAU,GAC3BA,GACAv6E,EAAEw6E,IAAU,GAAKx6E,EAAEw6E,IAAU,GAC3BA,GACAx6E,EAAEy6E,IAAe,GAAKz6E,EAAEy6E,IAAe,IACrCA,IACC,EAGjBlK,EAAgBp4E,GAAG0tF,qBAClBlW,EAAWwK,IAAQxK,EAAW0K,MAE/B1K,EAAW0K,IAEX9J,EAAgBp4E,GAAG2tF,iBAAgC,IAAdnW,IACrCA,EAAW+K,IAEXnK,EAAgBp4E,GAAG4tF,mBAAkC,IAAdpW,IACvCA,EAAWgL,IAGfpK,EAAgBp4E,GAAGw3E,SAAWA,GAG3Bx3E,EAKX,IAAI6tF,GACI,iJACJC,GACI,6IACJC,GAAU,wBACVC,GAAW,CACP,CAAC,eAAgB,uBACjB,CAAC,aAAc,mBACf,CAAC,eAAgB,kBACjB,CAAC,aAAc,eAAe,GAC9B,CAAC,WAAY,eACb,CAAC,UAAW,cAAc,GAC1B,CAAC,aAAc,cACf,CAAC,WAAY,SACb,CAAC,aAAc,eACf,CAAC,YAAa,eAAe,GAC7B,CAAC,UAAW,SACZ,CAAC,SAAU,SAAS,GACpB,CAAC,OAAQ,SAAS,IAGtBC,GAAW,CACP,CAAC,gBAAiB,uBAClB,CAAC,gBAAiB,sBAClB,CAAC,WAAY,kBACb,CAAC,QAAS,aACV,CAAC,cAAe,qBAChB,CAAC,cAAe,oBAChB,CAAC,SAAU,gBACX,CAAC,OAAQ,YACT,CAAC,KAAM,SAEXC,GAAkB,qBAElBhW,GACI,0LACJiW,GAAa,CACTC,GAAI,EACJC,IAAK,EACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,IACLC,KAAK,KAIb,SAASC,GAAcvrD,GACnB,IAAI34B,EACAzH,EAGA4rF,EACAC,EACAC,EACAC,EALA/lF,EAASo6B,EAAO+1C,GAChBr2E,EAAQ4qF,GAAiBrsF,KAAK2H,IAAW2kF,GAActsF,KAAK2H,GAK5DgmF,EAAcnB,GAASjoF,OACvBqpF,EAAcnB,GAASloF,OAE3B,GAAI9C,EAAO,CAEP,IADAm1E,EAAgB70C,GAAQw0C,KAAM,EACzBntE,EAAI,EAAGzH,EAAIgsF,EAAavkF,EAAIzH,EAAGyH,IAChC,GAAIojF,GAASpjF,GAAG,GAAGpJ,KAAKyB,EAAM,IAAK,CAC/B+rF,EAAahB,GAASpjF,GAAG,GACzBmkF,GAA+B,IAAnBf,GAASpjF,GAAG,GACxB,MAGR,GAAkB,MAAdokF,EAEA,YADAzrD,EAAOu1C,UAAW,GAGtB,GAAI71E,EAAM,GAAI,CACV,IAAK2H,EAAI,EAAGzH,EAAIisF,EAAaxkF,EAAIzH,EAAGyH,IAChC,GAAIqjF,GAASrjF,GAAG,GAAGpJ,KAAKyB,EAAM,IAAK,CAE/BgsF,GAAchsF,EAAM,IAAM,KAAOgrF,GAASrjF,GAAG,GAC7C,MAGR,GAAkB,MAAdqkF,EAEA,YADA1rD,EAAOu1C,UAAW,GAI1B,IAAKiW,GAA2B,MAAdE,EAEd,YADA1rD,EAAOu1C,UAAW,GAGtB,GAAI71E,EAAM,GAAI,CACV,IAAI8qF,GAAQvsF,KAAKyB,EAAM,IAInB,YADAsgC,EAAOu1C,UAAW,GAFlBoW,EAAW,IAMnB3rD,EAAOg2C,GAAKyV,GAAcC,GAAc,KAAOC,GAAY,IAC3DG,GAA0B9rD,QAE1BA,EAAOu1C,UAAW,EAI1B,SAASwW,GACLC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAI1tF,EAAS,CACT2tF,GAAeN,GACflK,GAAyBl6E,QAAQqkF,GACjCtsF,SAASusF,EAAQ,IACjBvsF,SAASwsF,EAAS,IAClBxsF,SAASysF,EAAW,KAOxB,OAJIC,GACA1tF,EAAO2L,KAAK3K,SAAS0sF,EAAW,KAG7B1tF,EAGX,SAAS2tF,GAAeN,GACpB,IAAI/vB,EAAOt8D,SAASqsF,EAAS,IAC7B,OAAI/vB,GAAQ,GACD,IAAOA,EACPA,GAAQ,IACR,KAAOA,EAEXA,EAGX,SAASswB,GAAkBhwF,GAEvB,OAAOA,EACFqF,QAAQ,qBAAsB,KAC9BA,QAAQ,WAAY,KACpBA,QAAQ,SAAU,IAClBA,QAAQ,SAAU,IAG3B,SAAS4qF,GAAaC,EAAYC,EAAa1sD,GAC3C,GAAIysD,EAAY,CAEZ,IAAIE,EAAkB9G,GAA2Bj+E,QAAQ6kF,GACrDG,EAAgB,IAAInjE,KAChBijE,EAAY,GACZA,EAAY,GACZA,EAAY,IACdrM,SACN,GAAIsM,IAAoBC,EAGpB,OAFA/X,EAAgB70C,GAAQ40C,iBAAkB,EAC1C50C,EAAOu1C,UAAW,GACX,EAGf,OAAO,EAGX,SAASsX,GAAgBC,EAAWC,EAAgBC,GAChD,GAAIF,EACA,OAAOlC,GAAWkC,GACf,GAAIC,EAEP,OAAO,EAEP,IAAI7kB,EAAKvoE,SAASqtF,EAAW,IACzBvwF,EAAIyrE,EAAK,IACTvrE,GAAKurE,EAAKzrE,GAAK,IACnB,OAAW,GAAJE,EAASF,EAKxB,SAASwwF,GAAkBjtD,GACvB,IACIktD,EADAxtF,EAAQi1E,GAAQ12E,KAAKsuF,GAAkBvsD,EAAO+1C,KAElD,GAAIr2E,EAAO,CASP,GARAwtF,EAAcnB,GACVrsF,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,GACNA,EAAM,KAEL8sF,GAAa9sF,EAAM,GAAIwtF,EAAaltD,GACrC,OAGJA,EAAOu+C,GAAK2O,EACZltD,EAAOk2C,KAAO2W,GAAgBntF,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAExDsgC,EAAOi1C,GAAK+O,GAAc9oE,MAAM,KAAM8kB,EAAOu+C,IAC7Cv+C,EAAOi1C,GAAG6L,cAAc9gD,EAAOi1C,GAAG6K,gBAAkB9/C,EAAOk2C,MAE3DrB,EAAgB70C,GAAQ20C,SAAU,OAElC30C,EAAOu1C,UAAW,EAK1B,SAAS4X,GAAiBntD,GACtB,IAAI/9B,EAAU0oF,GAAgB1sF,KAAK+hC,EAAO+1C,IAC1B,OAAZ9zE,GAKJspF,GAAcvrD,IACU,IAApBA,EAAOu1C,kBACAv1C,EAAOu1C,SAKlB0X,GAAkBjtD,IACM,IAApBA,EAAOu1C,kBACAv1C,EAAOu1C,SAKdv1C,EAAOo1C,QACPp1C,EAAOu1C,UAAW,EAGlBvC,EAAMoa,wBAAwBptD,MAtB9BA,EAAOi1C,GAAK,IAAIxrD,MAAMxnB,EAAQ,IAoCtC,SAASkhB,GAAS7e,EAAGtB,EAAGuB,GACpB,OAAS,MAALD,EACOA,EAEF,MAALtB,EACOA,EAEJuB,EAGX,SAAS8oF,GAAiBrtD,GAEtB,IAAIstD,EAAW,IAAI7jE,KAAKupD,EAAM/yE,OAC9B,OAAI+/B,EAAOutD,QACA,CACHD,EAAS9M,iBACT8M,EAAShN,cACTgN,EAASpN,cAGV,CAACoN,EAAS7M,cAAe6M,EAAS/M,WAAY+M,EAASnN,WAOlE,SAASqN,GAAgBxtD,GACrB,IAAI34B,EACA03D,EAEA0uB,EACAC,EACAC,EAHAluF,EAAQ,GAKZ,IAAIugC,EAAOi1C,GAAX,CAgCA,IA5BAwY,EAAcJ,GAAiBrtD,GAG3BA,EAAOq+C,IAAyB,MAAnBr+C,EAAOu+C,GAAGI,KAAqC,MAApB3+C,EAAOu+C,GAAGG,KAClDkP,GAAsB5tD,GAID,MAArBA,EAAO6tD,aACPF,EAAYxqE,GAAS6c,EAAOu+C,GAAGE,IAAOgP,EAAYhP,MAG9Cz+C,EAAO6tD,WAAa3O,GAAWyO,IACT,IAAtB3tD,EAAO6tD,cAEPhZ,EAAgB70C,GAAQmqD,oBAAqB,GAGjDprB,EAAOilB,GAAc2J,EAAW,EAAG3tD,EAAO6tD,YAC1C7tD,EAAOu+C,GAAGG,IAAS3f,EAAKuhB,cACxBtgD,EAAOu+C,GAAGI,IAAQ5f,EAAKmhB,cAQtB74E,EAAI,EAAGA,EAAI,GAAqB,MAAhB24B,EAAOu+C,GAAGl3E,KAAcA,EACzC24B,EAAOu+C,GAAGl3E,GAAK5H,EAAM4H,GAAKomF,EAAYpmF,GAI1C,KAAOA,EAAI,EAAGA,IACV24B,EAAOu+C,GAAGl3E,GAAK5H,EAAM4H,GACD,MAAhB24B,EAAOu+C,GAAGl3E,GAAoB,IAANA,EAAU,EAAI,EAAK24B,EAAOu+C,GAAGl3E,GAKrC,KAApB24B,EAAOu+C,GAAGK,KACY,IAAtB5+C,EAAOu+C,GAAGM,KACY,IAAtB7+C,EAAOu+C,GAAGO,KACiB,IAA3B9+C,EAAOu+C,GAAGQ,MAEV/+C,EAAO8tD,UAAW,EAClB9tD,EAAOu+C,GAAGK,IAAQ,GAGtB5+C,EAAOi1C,IAAMj1C,EAAOutD,QAAUvJ,GAAgBD,IAAY7oE,MACtD,KACAzb,GAEJiuF,EAAkB1tD,EAAOutD,QACnBvtD,EAAOi1C,GAAGmL,YACVpgD,EAAOi1C,GAAGoL,SAIG,MAAfrgD,EAAOk2C,MACPl2C,EAAOi1C,GAAG6L,cAAc9gD,EAAOi1C,GAAG6K,gBAAkB9/C,EAAOk2C,MAG3Dl2C,EAAO8tD,WACP9tD,EAAOu+C,GAAGK,IAAQ,IAKlB5+C,EAAOq+C,IACgB,qBAAhBr+C,EAAOq+C,GAAGxhF,GACjBmjC,EAAOq+C,GAAGxhF,IAAM6wF,IAEhB7Y,EAAgB70C,GAAQ40C,iBAAkB,IAIlD,SAASgZ,GAAsB5tD,GAC3B,IAAIh/B,EAAGy6E,EAAUt+E,EAAMihE,EAAShhE,EAAKC,EAAK0wF,EAAMC,EAAiBC,EAEjEjtF,EAAIg/B,EAAOq+C,GACC,MAARr9E,EAAE05E,IAAqB,MAAP15E,EAAE85E,GAAoB,MAAP95E,EAAE44E,GACjCx8E,EAAM,EACNC,EAAM,EAMNo+E,EAAWt4D,GACPniB,EAAE05E,GACF16C,EAAOu+C,GAAGE,IACViG,GAAWwJ,KAAe,EAAG,GAAGjyB,MAEpC9+D,EAAOgmB,GAASniB,EAAE85E,EAAG,GACrB1c,EAAUj7C,GAASniB,EAAE44E,EAAG,IACpBxb,EAAU,GAAKA,EAAU,KACzB4vB,GAAkB,KAGtB5wF,EAAM4iC,EAAOq2C,QAAQ0O,MAAM3nF,IAC3BC,EAAM2iC,EAAOq2C,QAAQ0O,MAAM1nF,IAE3B4wF,EAAUvJ,GAAWwJ,KAAe9wF,EAAKC,GAEzCo+E,EAAWt4D,GAASniB,EAAEu5E,GAAIv6C,EAAOu+C,GAAGE,IAAOwP,EAAQhyB,MAGnD9+D,EAAOgmB,GAASniB,EAAEA,EAAGitF,EAAQ9wF,MAElB,MAAP6D,EAAEnE,GAEFuhE,EAAUp9D,EAAEnE,GACRuhE,EAAU,GAAKA,EAAU,KACzB4vB,GAAkB,IAER,MAAPhtF,EAAEkL,GAETkyD,EAAUp9D,EAAEkL,EAAI9O,GACZ4D,EAAEkL,EAAI,GAAKlL,EAAEkL,EAAI,KACjB8hF,GAAkB,IAItB5vB,EAAUhhE,GAGdD,EAAO,GAAKA,EAAOynF,GAAYnJ,EAAUr+E,EAAKC,GAC9Cw3E,EAAgB70C,GAAQoqD,gBAAiB,EACf,MAAnB4D,EACPnZ,EAAgB70C,GAAQqqD,kBAAmB,GAE3C0D,EAAO1J,GAAmB5I,EAAUt+E,EAAMihE,EAAShhE,EAAKC,GACxD2iC,EAAOu+C,GAAGE,IAAQsP,EAAK9xB,KACvBj8B,EAAO6tD,WAAaE,EAAKvS,WAWjC,SAASsQ,GAA0B9rD,GAE/B,GAAIA,EAAOg2C,KAAOhD,EAAMmb,SAIxB,GAAInuD,EAAOg2C,KAAOhD,EAAMob,SAAxB,CAIApuD,EAAOu+C,GAAK,GACZ1J,EAAgB70C,GAAQ8zC,OAAQ,EAGhC,IACIzsE,EACAqlF,EACAzO,EACA7yE,EACAijF,EAGA3Z,EACAyJ,EATAv4E,EAAS,GAAKo6B,EAAO+1C,GAMrBuY,EAAe1oF,EAAOpD,OACtB+rF,EAAyB,EAO7B,IAHAtQ,EACIvF,EAAa14C,EAAOg2C,GAAIh2C,EAAOq2C,SAAS32E,MAAMq4E,IAAqB,GACvEoG,EAAWF,EAAOz7E,OACb6E,EAAI,EAAGA,EAAI82E,EAAU92E,IACtB+D,EAAQ6yE,EAAO52E,GACfqlF,GAAe9mF,EAAOlG,MAAM69E,GAAsBnyE,EAAO40B,KACrD,IAAI,GACJ0sD,IACA2B,EAAUzoF,EAAO8U,OAAO,EAAG9U,EAAOgC,QAAQ8kF,IACtC2B,EAAQ7rF,OAAS,GACjBqyE,EAAgB70C,GAAQg0C,YAAY1pE,KAAK+jF,GAE7CzoF,EAASA,EAAO9D,MACZ8D,EAAOgC,QAAQ8kF,GAAeA,EAAYlqF,QAE9C+rF,GAA0B7B,EAAYlqF,QAGtC01E,EAAqB9sE,IACjBshF,EACA7X,EAAgB70C,GAAQ8zC,OAAQ,EAEhCe,EAAgB70C,GAAQ+zC,aAAazpE,KAAKc,GAE9CkzE,GAAwBlzE,EAAOshF,EAAa1sD,IACrCA,EAAOo1C,UAAYsX,GAC1B7X,EAAgB70C,GAAQ+zC,aAAazpE,KAAKc,GAKlDypE,EAAgB70C,GAAQk0C,cACpBoa,EAAeC,EACf3oF,EAAOpD,OAAS,GAChBqyE,EAAgB70C,GAAQg0C,YAAY1pE,KAAK1E,GAKzCo6B,EAAOu+C,GAAGK,KAAS,KACiB,IAApC/J,EAAgB70C,GAAQq1C,SACxBr1C,EAAOu+C,GAAGK,IAAQ,IAElB/J,EAAgB70C,GAAQq1C,aAAU3yE,GAGtCmyE,EAAgB70C,GAAQy0C,gBAAkBz0C,EAAOu+C,GAAGz8E,MAAM,GAC1D+yE,EAAgB70C,GAAQriC,SAAWqiC,EAAOsoD,UAE1CtoD,EAAOu+C,GAAGK,IAAQ4P,GACdxuD,EAAOq2C,QACPr2C,EAAOu+C,GAAGK,IACV5+C,EAAOsoD,WAIX5T,EAAMG,EAAgB70C,GAAQ00C,IAClB,OAARA,IACA10C,EAAOu+C,GAAGE,IAAQz+C,EAAOq2C,QAAQoY,gBAAgB/Z,EAAK10C,EAAOu+C,GAAGE,MAGpE+O,GAAgBxtD,GAChBkqD,GAAclqD,QAhFVitD,GAAkBjtD,QAJlBurD,GAAcvrD,GAuFtB,SAASwuD,GAAgB/a,EAAQ/1E,EAAMC,GACnC,IAAI+wF,EAEJ,OAAgB,MAAZ/wF,EAEOD,EAEgB,MAAvB+1E,EAAOh2E,aACAg2E,EAAOh2E,aAAaC,EAAMC,GACX,MAAf81E,EAAOzzE,MAEd0uF,EAAOjb,EAAOzzE,KAAKrC,GACf+wF,GAAQhxF,EAAO,KACfA,GAAQ,IAEPgxF,GAAiB,KAAThxF,IACTA,EAAO,GAEJA,GAGAA,EAKf,SAASixF,GAAyB3uD,GAC9B,IAAI4uD,EACAC,EACAC,EACAznF,EACA0nF,EACAC,EACAC,GAAoB,EACpBC,EAAalvD,EAAOg2C,GAAGxzE,OAE3B,GAAmB,IAAf0sF,EAGA,OAFAra,EAAgB70C,GAAQs0C,eAAgB,OACxCt0C,EAAOi1C,GAAK,IAAIxrD,KAAKuR,MAIzB,IAAK3zB,EAAI,EAAGA,EAAI6nF,EAAY7nF,IACxB0nF,EAAe,EACfC,GAAmB,EACnBJ,EAAahZ,EAAW,GAAI51C,GACN,MAAlBA,EAAOutD,UACPqB,EAAWrB,QAAUvtD,EAAOutD,SAEhCqB,EAAW5Y,GAAKh2C,EAAOg2C,GAAG3uE,GAC1BykF,GAA0B8C,GAEtB54E,EAAQ44E,KACRI,GAAmB,GAIvBD,GAAgBla,EAAgB+Z,GAAY1a,cAG5C6a,GAAkE,GAAlDla,EAAgB+Z,GAAY7a,aAAavxE,OAEzDqyE,EAAgB+Z,GAAYO,MAAQJ,EAE/BE,EAaGF,EAAeD,IACfA,EAAcC,EACdF,EAAaD,IAbE,MAAfE,GACAC,EAAeD,GACfE,KAEAF,EAAcC,EACdF,EAAaD,EACTI,IACAC,GAAoB,IAWpC3yE,EAAO0jB,EAAQ6uD,GAAcD,GAGjC,SAASQ,GAAiBpvD,GACtB,IAAIA,EAAOi1C,GAAX,CAIA,IAAI5tE,EAAI8zE,GAAqBn7C,EAAO+1C,IAChCsZ,OAAsB3sF,IAAV2E,EAAEnC,IAAoBmC,EAAE03D,KAAO13D,EAAEnC,IACjD86B,EAAOu+C,GAAK33E,EACR,CAACS,EAAE40D,KAAM50D,EAAE7G,MAAO6uF,EAAWhoF,EAAE3J,KAAM2J,EAAEzJ,OAAQyJ,EAAE00D,OAAQ10D,EAAEu0D,cAC3D,SAAUpmD,GACN,OAAOA,GAAO7V,SAAS6V,EAAK,OAIpCg4E,GAAgBxtD,IAGpB,SAASsvD,GAAiBtvD,GACtB,IAAIpV,EAAM,IAAI0rD,EAAO4T,GAAcqF,GAAcvvD,KAOjD,OANIpV,EAAIkjE,WAEJljE,EAAIkiB,IAAI,EAAG,KACXliB,EAAIkjE,cAAWprF,GAGZkoB,EAGX,SAAS2kE,GAAcvvD,GACnB,IAAIvgC,EAAQugC,EAAO+1C,GACfx1E,EAASy/B,EAAOg2C,GAIpB,OAFAh2C,EAAOq2C,QAAUr2C,EAAOq2C,SAAWwT,GAAU7pD,EAAOi2C,IAEtC,OAAVx2E,QAA8BiD,IAAXnC,GAAkC,KAAVd,EACpC+1E,EAAc,CAAErB,WAAW,KAGjB,kBAAV10E,IACPugC,EAAO+1C,GAAKt2E,EAAQugC,EAAOq2C,QAAQvwE,SAASrG,IAG5C+2E,EAAS/2E,GACF,IAAI62E,EAAO4T,GAAczqF,KACzB6zE,EAAO7zE,GACdugC,EAAOi1C,GAAKx1E,EACLgb,EAAQla,GACfouF,GAAyB3uD,GAClBz/B,EACPurF,GAA0B9rD,GAE1BwvD,GAAgBxvD,GAGfhqB,EAAQgqB,KACTA,EAAOi1C,GAAK,MAGTj1C,IAGX,SAASwvD,GAAgBxvD,GACrB,IAAIvgC,EAAQugC,EAAO+1C,GACf1C,EAAY5zE,GACZugC,EAAOi1C,GAAK,IAAIxrD,KAAKupD,EAAM/yE,OACpBqzE,EAAO7zE,GACdugC,EAAOi1C,GAAK,IAAIxrD,KAAKhqB,EAAMmhE,WACH,kBAAVnhE,EACd0tF,GAAiBntD,GACVvlB,EAAQhb,IACfugC,EAAOu+C,GAAK33E,EAAInH,EAAMqC,MAAM,IAAI,SAAU0T,GACtC,OAAO7V,SAAS6V,EAAK,OAEzBg4E,GAAgBxtD,IACTrlB,EAASlb,GAChB2vF,GAAiBpvD,GACV3X,EAAS5oB,GAEhBugC,EAAOi1C,GAAK,IAAIxrD,KAAKhqB,GAErBuzE,EAAMoa,wBAAwBptD,GAItC,SAAS2zC,GAAiBl0E,EAAOc,EAAQkzE,EAAQC,EAAQ+L,GACrD,IAAIl7E,EAAI,GA2BR,OAzBe,IAAXhE,IAA8B,IAAXA,IACnBmzE,EAASnzE,EACTA,OAASmC,IAGE,IAAX+wE,IAA8B,IAAXA,IACnBC,EAASD,EACTA,OAAS/wE,IAIRiY,EAASlb,IAAU0zE,EAAc1zE,IACjCgb,EAAQhb,IAA2B,IAAjBA,EAAM+C,UAEzB/C,OAAQiD,GAIZ6B,EAAEuxE,kBAAmB,EACrBvxE,EAAEgpF,QAAUhpF,EAAE4xE,OAASsJ,EACvBl7E,EAAE0xE,GAAKxC,EACPlvE,EAAEwxE,GAAKt2E,EACP8E,EAAEyxE,GAAKz1E,EACPgE,EAAE6wE,QAAU1B,EAEL4b,GAAiB/qF,GAG5B,SAAS2pF,GAAYzuF,EAAOc,EAAQkzE,EAAQC,GACxC,OAAOC,GAAiBl0E,EAAOc,EAAQkzE,EAAQC,GAAQ,GAve3DV,EAAMoa,wBAA0B/gB,EAC5B,iSAGA,SAAUrsC,GACNA,EAAOi1C,GAAK,IAAIxrD,KAAKuW,EAAO+1C,IAAM/1C,EAAOutD,QAAU,OAAS,QAuLpEva,EAAMmb,SAAW,aAGjBnb,EAAMob,SAAW,aA2SjB,IAAIqB,GAAepjB,EACX,sGACA,WACI,IAAIqjB,EAAQxB,GAAYhzE,MAAM,KAAMvK,WACpC,OAAI/V,KAAKob,WAAa05E,EAAM15E,UACjB05E,EAAQ90F,KAAOA,KAAO80F,EAEtBla,OAInBma,GAAetjB,EACX,sGACA,WACI,IAAIqjB,EAAQxB,GAAYhzE,MAAM,KAAMvK,WACpC,OAAI/V,KAAKob,WAAa05E,EAAM15E,UACjB05E,EAAQ90F,KAAOA,KAAO80F,EAEtBla,OAUvB,SAASoa,GAAOxjF,EAAIyjF,GAChB,IAAIjlE,EAAKvjB,EAIT,GAHuB,IAAnBwoF,EAAQrtF,QAAgBiY,EAAQo1E,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQrtF,OACT,OAAO0rF,KAGX,IADAtjE,EAAMilE,EAAQ,GACTxoF,EAAI,EAAGA,EAAIwoF,EAAQrtF,SAAU6E,EACzBwoF,EAAQxoF,GAAG2O,YAAa65E,EAAQxoF,GAAG+E,GAAIwe,KACxCA,EAAMilE,EAAQxoF,IAGtB,OAAOujB,EAIX,SAAS1c,KACL,IAAIwC,EAAO,GAAG5O,MAAMyR,KAAK5C,UAAW,GAEpC,OAAOi/E,GAAO,WAAYl/E,GAG9B,SAASvC,KACL,IAAIuC,EAAO,GAAG5O,MAAMyR,KAAK5C,UAAW,GAEpC,OAAOi/E,GAAO,UAAWl/E,GAG7B,IAAIzQ,GAAM,WACN,OAAOwpB,KAAKxpB,IAAMwpB,KAAKxpB,OAAS,IAAIwpB,MAGpCqmE,GAAW,CACX,OACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,eAGJ,SAASC,GAAgBtzF,GACrB,IAAIgC,EAEA4I,EADA2oF,GAAiB,EAEjBC,EAAWH,GAASttF,OACxB,IAAK/D,KAAOhC,EACR,GACIy2E,EAAWz2E,EAAGgC,MAEuB,IAAjCmJ,GAAQ2L,KAAKu8E,GAAUrxF,IACZ,MAAVhC,EAAEgC,IAAiByW,MAAMzY,EAAEgC,KAGhC,OAAO,EAIf,IAAK4I,EAAI,EAAGA,EAAI4oF,IAAY5oF,EACxB,GAAI5K,EAAEqzF,GAASzoF,IAAK,CAChB,GAAI2oF,EACA,OAAO,EAEPj7E,WAAWtY,EAAEqzF,GAASzoF,OAASy2E,GAAMrhF,EAAEqzF,GAASzoF,OAChD2oF,GAAiB,GAK7B,OAAO,EAGX,SAASE,KACL,OAAOt1F,KAAK26E,SAGhB,SAAS4a,KACL,OAAOC,GAAep1D,KAG1B,SAASq1D,GAASrnE,GACd,IAAIsyD,EAAkBH,GAAqBnyD,GACvCiyD,EAAQK,EAAgBrf,MAAQ,EAChCoe,EAAWiB,EAAgBtf,SAAW,EACtChhE,EAASsgF,EAAgB96E,OAAS,EAClCq6E,EAAQS,EAAgBn+E,MAAQm+E,EAAgBK,SAAW,EAC3D5R,EAAOuR,EAAgBp2E,KAAO,EAC9BnE,EAAQu6E,EAAgB59E,MAAQ,EAChC2G,EAAUi3E,EAAgB19E,QAAU,EACpC08E,EAAUgB,EAAgBvf,QAAU,EACpCoe,EAAemB,EAAgB1f,aAAe,EAElDhhE,KAAK26E,SAAWwa,GAAgBzU,GAGhC1gF,KAAK01F,eACAnW,EACS,IAAVG,EACU,IAAVj2E,EACQ,IAARtD,EAAe,GAAK,GAGxBnG,KAAK21F,OAASxmB,EAAe,EAAR8Q,EAIrBjgF,KAAKunF,SAAWnnF,EAAoB,EAAXq/E,EAAuB,GAARY,EAExCrgF,KAAK+xB,MAAQ,GAEb/xB,KAAKy7E,QAAUwT,KAEfjvF,KAAK41F,UAGT,SAASC,GAAWj7E,GAChB,OAAOA,aAAe66E,GAG1B,SAASK,GAASnyF,GACd,OAAIA,EAAS,GACyB,EAA3BmD,KAAKkP,OAAO,EAAIrS,GAEhBmD,KAAKkP,MAAMrS,GAK1B,SAASoyF,GAAcC,EAAQC,EAAQC,GACnC,IAGIzpF,EAHA2K,EAAMtQ,KAAKwM,IAAI0iF,EAAOpuF,OAAQquF,EAAOruF,QACrCuuF,EAAarvF,KAAKmyB,IAAI+8D,EAAOpuF,OAASquF,EAAOruF,QAC7CwuF,EAAQ,EAEZ,IAAK3pF,EAAI,EAAGA,EAAI2K,EAAK3K,KAEZypF,GAAeF,EAAOvpF,KAAOwpF,EAAOxpF,KACnCypF,GAAehT,GAAM8S,EAAOvpF,MAAQy2E,GAAM+S,EAAOxpF,MAEnD2pF,IAGR,OAAOA,EAAQD,EAKnB,SAAS9xF,GAAOmM,EAAOwlE,GACnBuH,EAAe/sE,EAAO,EAAG,GAAG,WACxB,IAAInM,EAASrE,KAAKq2F,YACd7vC,EAAO,IAKX,OAJIniD,EAAS,IACTA,GAAUA,EACVmiD,EAAO,KAGPA,EACAs2B,KAAYz4E,EAAS,IAAK,GAC1B2xE,EACA8G,IAAWz4E,EAAS,GAAI,MAKpCA,GAAO,IAAK,KACZA,GAAO,KAAM,IAIbk+E,GAAc,IAAKL,IACnBK,GAAc,KAAML,IACpBoB,GAAc,CAAC,IAAK,OAAO,SAAUz+E,EAAO6d,EAAO0iB,GAC/CA,EAAOutD,SAAU,EACjBvtD,EAAOk2C,KAAOgb,GAAiBpU,GAAkBr9E,MAQrD,IAAI0xF,GAAc,kBAElB,SAASD,GAAiBE,EAASxrF,GAC/B,IACIuxB,EACAk6D,EACAhtF,EAHA6f,GAAWte,GAAU,IAAIlG,MAAM0xF,GAKnC,OAAgB,OAAZltE,EACO,MAGXiT,EAAQjT,EAAQA,EAAQ1hB,OAAS,IAAM,GACvC6uF,GAASl6D,EAAQ,IAAIz3B,MAAMyxF,KAAgB,CAAC,IAAK,EAAG,GACpD9sF,EAAuB,GAAXgtF,EAAM,GAAWvT,GAAMuT,EAAM,IAEtB,IAAZhtF,EAAgB,EAAiB,MAAbgtF,EAAM,GAAahtF,GAAWA,GAI7D,SAASitF,GAAgB7xF,EAAOiO,GAC5B,IAAIkd,EAAKnc,EACT,OAAIf,EAAMyoE,QACNvrD,EAAMld,EAAMyL,QACZ1K,GACK+nE,EAAS/2E,IAAU6zE,EAAO7zE,GACrBA,EAAMmhE,UACNstB,GAAYzuF,GAAOmhE,WAAah2C,EAAIg2C,UAE9Ch2C,EAAIqqD,GAAGsc,QAAQ3mE,EAAIqqD,GAAGrU,UAAYnyD,GAClCukE,EAAMuD,aAAa3rD,GAAK,GACjBA,GAEAsjE,GAAYzuF,GAAO+xF,QAIlC,SAASC,GAAch1F,GAGnB,OAAQiF,KAAKkP,MAAMnU,EAAEw4E,GAAGyc,qBAqB5B,SAASC,GAAalyF,EAAOmyF,EAAeC,GACxC,IACIC,EADA7yF,EAASrE,KAAKw7E,SAAW,EAE7B,IAAKx7E,KAAKob,UACN,OAAgB,MAATvW,EAAgB7E,KAAOogC,IAElC,GAAa,MAATv7B,EAAe,CACf,GAAqB,kBAAVA,GAEP,GADAA,EAAQyxF,GAAiBpU,GAAkBr9E,GAC7B,OAAVA,EACA,OAAO7E,UAEJ8G,KAAKmyB,IAAIp0B,GAAS,KAAOoyF,IAChCpyF,GAAgB,IAwBpB,OAtBK7E,KAAKu7E,QAAUyb,IAChBE,EAAcL,GAAc72F,OAEhCA,KAAKw7E,QAAU32E,EACf7E,KAAKu7E,QAAS,EACK,MAAf2b,GACAl3F,KAAKkyC,IAAIglD,EAAa,KAEtB7yF,IAAWQ,KACNmyF,GAAiBh3F,KAAKm3F,kBACvBC,GACIp3F,KACAw1F,GAAe3wF,EAAQR,EAAQ,KAC/B,GACA,GAEIrE,KAAKm3F,oBACbn3F,KAAKm3F,mBAAoB,EACzB/e,EAAMuD,aAAa37E,MAAM,GACzBA,KAAKm3F,kBAAoB,OAG1Bn3F,KAEP,OAAOA,KAAKu7E,OAASl3E,EAASwyF,GAAc72F,MAIpD,SAASq3F,GAAWxyF,EAAOmyF,GACvB,OAAa,MAATnyF,GACqB,kBAAVA,IACPA,GAASA,GAGb7E,KAAKq2F,UAAUxxF,EAAOmyF,GAEfh3F,OAECA,KAAKq2F,YAIrB,SAASiB,GAAeN,GACpB,OAAOh3F,KAAKq2F,UAAU,EAAGW,GAG7B,SAASO,GAAiBP,GAStB,OARIh3F,KAAKu7E,SACLv7E,KAAKq2F,UAAU,EAAGW,GAClBh3F,KAAKu7E,QAAS,EAEVyb,GACAh3F,KAAKw3F,SAASX,GAAc72F,MAAO,MAGpCA,KAGX,SAASy3F,KACL,GAAiB,MAAbz3F,KAAKs7E,KACLt7E,KAAKq2F,UAAUr2F,KAAKs7E,MAAM,GAAO,QAC9B,GAAuB,kBAAZt7E,KAAKm7E,GAAiB,CACpC,IAAIuc,EAAQpB,GAAiBrU,GAAajiF,KAAKm7E,IAClC,MAATuc,EACA13F,KAAKq2F,UAAUqB,GAEf13F,KAAKq2F,UAAU,GAAG,GAG1B,OAAOr2F,KAGX,SAAS23F,GAAqB9yF,GAC1B,QAAK7E,KAAKob,YAGVvW,EAAQA,EAAQyuF,GAAYzuF,GAAOwxF,YAAc,GAEzCr2F,KAAKq2F,YAAcxxF,GAAS,KAAO,GAG/C,SAAS+yF,KACL,OACI53F,KAAKq2F,YAAcr2F,KAAKue,QAAQ3Y,MAAM,GAAGywF,aACzCr2F,KAAKq2F,YAAcr2F,KAAKue,QAAQ3Y,MAAM,GAAGywF,YAIjD,SAASwB,KACL,IAAKpf,EAAYz4E,KAAK83F,eAClB,OAAO93F,KAAK83F,cAGhB,IACIhD,EADAnrF,EAAI,GAcR,OAXAqxE,EAAWrxE,EAAG3J,MACd2J,EAAIgrF,GAAchrF,GAEdA,EAAEg6E,IACFmR,EAAQnrF,EAAE4xE,OAAS3C,EAAUjvE,EAAEg6E,IAAM2P,GAAY3pF,EAAEg6E,IACnD3jF,KAAK83F,cACD93F,KAAKob,WAAa26E,GAAcpsF,EAAEg6E,GAAImR,EAAMiD,WAAa,GAE7D/3F,KAAK83F,eAAgB,EAGlB93F,KAAK83F,cAGhB,SAASE,KACL,QAAOh4F,KAAKob,YAAapb,KAAKu7E,OAGlC,SAAS0c,KACL,QAAOj4F,KAAKob,WAAYpb,KAAKu7E,OAGjC,SAAS2c,KACL,QAAOl4F,KAAKob,YAAYpb,KAAKu7E,QAA2B,IAAjBv7E,KAAKw7E,SApJhDpD,EAAMuD,aAAe,aAwJrB,IAAIwc,GAAc,wDAIdC,GACI,sKAER,SAAS5C,GAAe3wF,EAAOhB,GAC3B,IAGI2iD,EACA6xC,EACAC,EALAlqE,EAAWvpB,EAEXC,EAAQ,KAkEZ,OA7DI+wF,GAAWhxF,GACXupB,EAAW,CACPkxD,GAAIz6E,EAAM6wF,cACVzzF,EAAG4C,EAAM8wF,MACTxzF,EAAG0C,EAAM0iF,SAEN95D,EAAS5oB,KAAWyV,OAAOzV,IAClCupB,EAAW,GACPvqB,EACAuqB,EAASvqB,IAAQgB,EAEjBupB,EAASmxD,cAAgB16E,IAErBC,EAAQqzF,GAAY90F,KAAKwB,KACjC2hD,EAAoB,MAAb1hD,EAAM,IAAc,EAAI,EAC/BspB,EAAW,CACP/rB,EAAG,EACHJ,EAAGihF,GAAMp+E,EAAMi/E,KAASv9B,EACxBzkD,EAAGmhF,GAAMp+E,EAAMk/E,KAASx9B,EACxB3kD,EAAGqhF,GAAMp+E,EAAMm/E,KAAWz9B,EAC1B7kD,EAAGuhF,GAAMp+E,EAAMo/E,KAAW19B,EAC1B84B,GAAI4D,GAAM4S,GAA8B,IAArBhxF,EAAMq/E,MAAwB39B,KAE7C1hD,EAAQszF,GAAS/0F,KAAKwB,KAC9B2hD,EAAoB,MAAb1hD,EAAM,IAAc,EAAI,EAC/BspB,EAAW,CACP/rB,EAAGk2F,GAASzzF,EAAM,GAAI0hD,GACtBrkD,EAAGo2F,GAASzzF,EAAM,GAAI0hD,GACtBpgD,EAAGmyF,GAASzzF,EAAM,GAAI0hD,GACtBvkD,EAAGs2F,GAASzzF,EAAM,GAAI0hD,GACtBzkD,EAAGw2F,GAASzzF,EAAM,GAAI0hD,GACtB3kD,EAAG02F,GAASzzF,EAAM,GAAI0hD,GACtB7kD,EAAG42F,GAASzzF,EAAM,GAAI0hD,KAEP,MAAZp4B,EAEPA,EAAW,GAES,kBAAbA,IACN,SAAUA,GAAY,OAAQA,KAE/BkqE,EAAUE,GACNlF,GAAYllE,EAASpW,MACrBs7E,GAAYllE,EAASnW,KAGzBmW,EAAW,GACXA,EAASkxD,GAAKgZ,EAAQ/Y,aACtBnxD,EAASjsB,EAAIm2F,EAAQl4F,QAGzBi4F,EAAM,IAAI5C,GAASrnE,GAEfynE,GAAWhxF,IAAUyzE,EAAWzzE,EAAO,aACvCwzF,EAAI5c,QAAU52E,EAAM42E,SAGpBoa,GAAWhxF,IAAUyzE,EAAWzzE,EAAO,cACvCwzF,EAAI1d,SAAW91E,EAAM81E,UAGlB0d,EAMX,SAASE,GAASE,EAAKjyC,GAInB,IAAIx2B,EAAMyoE,GAAOt+E,WAAWs+E,EAAIzxF,QAAQ,IAAK,MAE7C,OAAQsT,MAAM0V,GAAO,EAAIA,GAAOw2B,EAGpC,SAASkyC,GAA0B3oE,EAAM+kE,GACrC,IAAI9kE,EAAM,GAUV,OARAA,EAAI5vB,OACA00F,EAAMlvF,QAAUmqB,EAAKnqB,QAAyC,IAA9BkvF,EAAMzzB,OAAStxC,EAAKsxC,QACpDtxC,EAAKxR,QAAQ2zB,IAAIliB,EAAI5vB,OAAQ,KAAKu4F,QAAQ7D,MACxC9kE,EAAI5vB,OAGV4vB,EAAIuvD,cAAgBuV,GAAS/kE,EAAKxR,QAAQ2zB,IAAIliB,EAAI5vB,OAAQ,KAEnD4vB,EAGX,SAASwoE,GAAkBzoE,EAAM+kE,GAC7B,IAAI9kE,EACJ,OAAMD,EAAK3U,WAAa05E,EAAM15E,WAI9B05E,EAAQ4B,GAAgB5B,EAAO/kE,GAC3BA,EAAK6oE,SAAS9D,GACd9kE,EAAM0oE,GAA0B3oE,EAAM+kE,IAEtC9kE,EAAM0oE,GAA0B5D,EAAO/kE,GACvCC,EAAIuvD,cAAgBvvD,EAAIuvD,aACxBvvD,EAAI5vB,QAAU4vB,EAAI5vB,QAGf4vB,GAZI,CAAEuvD,aAAc,EAAGn/E,OAAQ,GAgB1C,SAASy4F,GAAYntE,EAAWpnB,GAC5B,OAAO,SAAUkQ,EAAKlP,GAClB,IAAIwzF,EAAKp7C,EAmBT,OAjBe,OAAXp4C,GAAoBgV,OAAOhV,KAC3B82E,EACI93E,EACA,YACIA,EACA,uDACAA,EAHJ,kGAOJo5C,EAAMlpC,EACNA,EAAMlP,EACNA,EAASo4C,GAGbo7C,EAAMtD,GAAehhF,EAAKlP,GAC1B8xF,GAAYp3F,KAAM84F,EAAKptE,GAChB1rB,MAIf,SAASo3F,GAAYtiB,EAAK1mD,EAAU2qE,EAAUpd,GAC1C,IAAI4D,EAAenxD,EAASsnE,cACxBvmB,EAAO2mB,GAAS1nE,EAASunE,OACzBv1F,EAAS01F,GAAS1nE,EAASm5D,SAE1BzS,EAAI15D,YAKTugE,EAA+B,MAAhBA,GAA8BA,EAEzCv7E,GACAgoF,GAAStT,EAAK7mD,GAAI6mD,EAAK,SAAW10E,EAAS24F,GAE3C5pB,GACAyV,GAAM9P,EAAK,OAAQ7mD,GAAI6mD,EAAK,QAAU3F,EAAO4pB,GAE7CxZ,GACAzK,EAAIuF,GAAGsc,QAAQ7hB,EAAIuF,GAAGrU,UAAYuZ,EAAewZ,GAEjDpd,GACAvD,EAAMuD,aAAa7G,EAAK3F,GAAQ/uE,IA5FxCo1F,GAAehkF,GAAKikF,GAAS/8E,UAC7B88E,GAAewD,QAAUzD,GA+FzB,IAAIrjD,GAAM2mD,GAAY,EAAG,OACrBrB,GAAWqB,IAAa,EAAG,YAE/B,SAASI,GAASp0F,GACd,MAAwB,kBAAVA,GAAsBA,aAAiBhF,OAIzD,SAASq5F,GAAcr0F,GACnB,OACI+2E,EAAS/2E,IACT6zE,EAAO7zE,IACPo0F,GAASp0F,IACT4oB,EAAS5oB,IACTs0F,GAAsBt0F,IACtBu0F,GAAoBv0F,IACV,OAAVA,QACUiD,IAAVjD,EAIR,SAASu0F,GAAoBv0F,GACzB,IA4BI4H,EACA4iC,EA7BAgqD,EAAat5E,EAASlb,KAAW0zE,EAAc1zE,GAC/Cy0F,GAAe,EACfC,EAAa,CACT,QACA,OACA,IACA,SACA,QACA,IACA,OACA,MACA,IACA,QACA,OACA,IACA,QACA,OACA,IACA,UACA,SACA,IACA,UACA,SACA,IACA,eACA,cACA,MAIJC,EAAcD,EAAW3xF,OAE7B,IAAK6E,EAAI,EAAGA,EAAI+sF,EAAa/sF,GAAK,EAC9B4iC,EAAWkqD,EAAW9sF,GACtB6sF,EAAeA,GAAgBhhB,EAAWzzE,EAAOwqC,GAGrD,OAAOgqD,GAAcC,EAGzB,SAASH,GAAsBt0F,GAC3B,IAAI40F,EAAY55E,EAAQhb,GACpB60F,GAAe,EAOnB,OANID,IACAC,EAGkB,IAFd70F,EAAMkI,QAAO,SAAU4V,GACnB,OAAQ8K,EAAS9K,IAASs2E,GAASp0F,MACpC+C,QAEJ6xF,GAAaC,EAGxB,SAASC,GAAe90F,GACpB,IAUI4H,EACA4iC,EAXAgqD,EAAat5E,EAASlb,KAAW0zE,EAAc1zE,GAC/Cy0F,GAAe,EACfC,EAAa,CACT,UACA,UACA,UACA,WACA,WACA,YAKR,IAAK9sF,EAAI,EAAGA,EAAI8sF,EAAW3xF,OAAQ6E,GAAK,EACpC4iC,EAAWkqD,EAAW9sF,GACtB6sF,EAAeA,GAAgBhhB,EAAWzzE,EAAOwqC,GAGrD,OAAOgqD,GAAcC,EAGzB,SAASM,GAAkBC,EAAUx0F,GACjC,IAAIwO,EAAOgmF,EAAShmF,KAAKxO,EAAK,QAAQ,GACtC,OAAOwO,GAAQ,EACT,WACAA,GAAQ,EACN,WACAA,EAAO,EACL,UACAA,EAAO,EACL,UACAA,EAAO,EACL,UACAA,EAAO,EACL,WACA,WAGpB,SAASimF,GAAWl4B,EAAM/V,GAEG,IAArB91C,UAAUnO,SACLmO,UAAU,GAGJmjF,GAAcnjF,UAAU,KAC/B6rD,EAAO7rD,UAAU,GACjB81C,OAAU/jD,GACH6xF,GAAe5jF,UAAU,MAChC81C,EAAU91C,UAAU,GACpB6rD,OAAO95D,IAPP85D,OAAO95D,EACP+jD,OAAU/jD,IAWlB,IAAIzC,EAAMu8D,GAAQ0xB,KACdyG,EAAMrD,GAAgBrxF,EAAKrF,MAAM+rD,QAAQ,OACzCpmD,EAASyyE,EAAM4hB,eAAeh6F,KAAM+5F,IAAQ,WAC5C52F,EACI0oD,IACCyoB,EAAWzoB,EAAQlmD,IACdkmD,EAAQlmD,GAAQgT,KAAK3Y,KAAMqF,GAC3BwmD,EAAQlmD,IAEtB,OAAO3F,KAAK2F,OACRxC,GAAUnD,KAAK09E,aAAaz8E,SAAS0E,EAAQ3F,KAAMszF,GAAYjuF,KAIvE,SAASkZ,KACL,OAAO,IAAIm9D,EAAO17E,MAGtB,SAAS24F,GAAQ9zF,EAAOgM,GACpB,IAAIopF,EAAare,EAAS/2E,GAASA,EAAQyuF,GAAYzuF,GACvD,SAAM7E,KAAKob,YAAa6+E,EAAW7+E,aAGnCvK,EAAQyvE,GAAezvE,IAAU,cACnB,gBAAVA,EACO7Q,KAAKgmE,UAAYi0B,EAAWj0B,UAE5Bi0B,EAAWj0B,UAAYhmE,KAAKue,QAAQwtC,QAAQl7C,GAAOm1D,WAIlE,SAAS4yB,GAAS/zF,EAAOgM,GACrB,IAAIopF,EAAare,EAAS/2E,GAASA,EAAQyuF,GAAYzuF,GACvD,SAAM7E,KAAKob,YAAa6+E,EAAW7+E,aAGnCvK,EAAQyvE,GAAezvE,IAAU,cACnB,gBAAVA,EACO7Q,KAAKgmE,UAAYi0B,EAAWj0B,UAE5BhmE,KAAKue,QAAQytC,MAAMn7C,GAAOm1D,UAAYi0B,EAAWj0B,WAIhE,SAASk0B,GAAUliF,EAAMC,EAAIpH,EAAOspF,GAChC,IAAIC,EAAYxe,EAAS5jE,GAAQA,EAAOs7E,GAAYt7E,GAChDqiF,EAAUze,EAAS3jE,GAAMA,EAAKq7E,GAAYr7E,GAC9C,SAAMjY,KAAKob,WAAag/E,EAAUh/E,WAAai/E,EAAQj/E,aAGvD++E,EAAcA,GAAe,MAEL,MAAnBA,EAAY,GACPn6F,KAAK24F,QAAQyB,EAAWvpF,IACvB7Q,KAAK44F,SAASwB,EAAWvpF,MACZ,MAAnBspF,EAAY,GACPn6F,KAAK44F,SAASyB,EAASxpF,IACtB7Q,KAAK24F,QAAQ0B,EAASxpF,KAIrC,SAASypF,GAAOz1F,EAAOgM,GACnB,IACI0pF,EADAN,EAAare,EAAS/2E,GAASA,EAAQyuF,GAAYzuF,GAEvD,SAAM7E,KAAKob,YAAa6+E,EAAW7+E,aAGnCvK,EAAQyvE,GAAezvE,IAAU,cACnB,gBAAVA,EACO7Q,KAAKgmE,YAAci0B,EAAWj0B,WAErCu0B,EAAUN,EAAWj0B,UAEjBhmE,KAAKue,QAAQwtC,QAAQl7C,GAAOm1D,WAAau0B,GACzCA,GAAWv6F,KAAKue,QAAQytC,MAAMn7C,GAAOm1D,YAKjD,SAASw0B,GAAc31F,EAAOgM,GAC1B,OAAO7Q,KAAKs6F,OAAOz1F,EAAOgM,IAAU7Q,KAAK24F,QAAQ9zF,EAAOgM,GAG5D,SAAS4pF,GAAe51F,EAAOgM,GAC3B,OAAO7Q,KAAKs6F,OAAOz1F,EAAOgM,IAAU7Q,KAAK44F,SAAS/zF,EAAOgM,GAG7D,SAASgD,GAAKhP,EAAOgM,EAAO6pF,GACxB,IAAInkB,EAAMokB,EAAWx3F,EAErB,IAAKnD,KAAKob,UACN,OAAOglB,IAKX,GAFAm2C,EAAOmgB,GAAgB7xF,EAAO7E,OAEzBu2E,EAAKn7D,UACN,OAAOglB,IAOX,OAJAu6D,EAAoD,KAAvCpkB,EAAK8f,YAAcr2F,KAAKq2F,aAErCxlF,EAAQyvE,GAAezvE,GAEfA,GACJ,IAAK,OACD1N,EAASy3F,GAAU56F,KAAMu2E,GAAQ,GACjC,MACJ,IAAK,QACDpzE,EAASy3F,GAAU56F,KAAMu2E,GACzB,MACJ,IAAK,UACDpzE,EAASy3F,GAAU56F,KAAMu2E,GAAQ,EACjC,MACJ,IAAK,SACDpzE,GAAUnD,KAAOu2E,GAAQ,IACzB,MACJ,IAAK,SACDpzE,GAAUnD,KAAOu2E,GAAQ,IACzB,MACJ,IAAK,OACDpzE,GAAUnD,KAAOu2E,GAAQ,KACzB,MACJ,IAAK,MACDpzE,GAAUnD,KAAOu2E,EAAOokB,GAAa,MACrC,MACJ,IAAK,OACDx3F,GAAUnD,KAAOu2E,EAAOokB,GAAa,OACrC,MACJ,QACIx3F,EAASnD,KAAOu2E,EAGxB,OAAOmkB,EAAUv3F,EAAS8/E,GAAS9/E,GAGvC,SAASy3F,GAAUlxF,EAAGtB,GAClB,GAAIsB,EAAEy6D,OAAS/7D,EAAE+7D,OAGb,OAAQy2B,GAAUxyF,EAAGsB,GAGzB,IAGImxF,EACAC,EAJAC,EAAyC,IAAvB3yF,EAAEi5D,OAAS33D,EAAE23D,SAAgBj5D,EAAExC,QAAU8D,EAAE9D,SAE7Do1F,EAAStxF,EAAE6U,QAAQ2zB,IAAI6oD,EAAgB,UAe3C,OAXI3yF,EAAI4yF,EAAS,GACbH,EAAUnxF,EAAE6U,QAAQ2zB,IAAI6oD,EAAiB,EAAG,UAE5CD,GAAU1yF,EAAI4yF,IAAWA,EAASH,KAElCA,EAAUnxF,EAAE6U,QAAQ2zB,IAAI6oD,EAAiB,EAAG,UAE5CD,GAAU1yF,EAAI4yF,IAAWH,EAAUG,MAI9BD,EAAiBD,IAAW,EAMzC,SAASxkF,KACL,OAAOtW,KAAKue,QAAQs6D,OAAO,MAAMlzE,OAAO,oCAG5C,SAASs1F,GAAYC,GACjB,IAAKl7F,KAAKob,UACN,OAAO,KAEX,IAAI49D,GAAqB,IAAfkiB,EACNr5F,EAAIm3E,EAAMh5E,KAAKue,QAAQy6D,MAAQh5E,KACnC,OAAI6B,EAAEw/D,OAAS,GAAKx/D,EAAEw/D,OAAS,KACpBwc,EACHh8E,EACAm3E,EACM,iCACA,gCAGV1E,EAAWzlD,KAAKnW,UAAUuiF,aAEtBjiB,EACOh5E,KAAKm7F,SAASF,cAEd,IAAIpsE,KAAK7uB,KAAKgmE,UAA+B,GAAnBhmE,KAAKq2F,YAAmB,KACpD4E,cACAj0F,QAAQ,IAAK62E,EAAah8E,EAAG,MAGnCg8E,EACHh8E,EACAm3E,EAAM,+BAAiC,8BAU/C,SAASoiB,KACL,IAAKp7F,KAAKob,UACN,MAAO,qBAAuBpb,KAAKm7E,GAAK,OAE5C,IAEIv7B,EACAyhB,EACAyD,EACAu2B,EALA5d,EAAO,SACP6d,EAAO,GAcX,OATKt7F,KAAKg4F,YACNva,EAA4B,IAArBz9E,KAAKq2F,YAAoB,aAAe,mBAC/CiF,EAAO,KAEX17C,EAAS,IAAM69B,EAAO,MACtBpc,EAAO,GAAKrhE,KAAKqhE,QAAUrhE,KAAKqhE,QAAU,KAAO,OAAS,SAC1DyD,EAAW,wBACXu2B,EAASC,EAAO,OAETt7F,KAAK2F,OAAOi6C,EAASyhB,EAAOyD,EAAWu2B,GAGlD,SAAS11F,GAAO41F,GACPA,IACDA,EAAcv7F,KAAKk4F,QACb9f,EAAMojB,iBACNpjB,EAAMqjB,eAEhB,IAAIt4F,EAAS06E,EAAa79E,KAAMu7F,GAChC,OAAOv7F,KAAK09E,aAAavyE,WAAWhI,GAGxC,SAAS6U,GAAK4pD,EAAMh+D,GAChB,OACI5D,KAAKob,YACHwgE,EAASha,IAASA,EAAKxmD,WAAck4E,GAAY1xB,GAAMxmD,WAElDo6E,GAAe,CAAEv9E,GAAIjY,KAAMgY,KAAM4pD,IACnCiX,OAAO74E,KAAK64E,UACZ6iB,UAAU93F,GAER5D,KAAK09E,aAAarJ,cAIjC,SAASsnB,GAAQ/3F,GACb,OAAO5D,KAAKgY,KAAKs7E,KAAe1vF,GAGpC,SAASqU,GAAG2pD,EAAMh+D,GACd,OACI5D,KAAKob,YACHwgE,EAASha,IAASA,EAAKxmD,WAAck4E,GAAY1xB,GAAMxmD,WAElDo6E,GAAe,CAAEx9E,KAAMhY,KAAMiY,GAAI2pD,IACnCiX,OAAO74E,KAAK64E,UACZ6iB,UAAU93F,GAER5D,KAAK09E,aAAarJ,cAIjC,SAASunB,GAAMh4F,GACX,OAAO5D,KAAKiY,GAAGq7E,KAAe1vF,GAMlC,SAASi1E,GAAOh1E,GACZ,IAAIg4F,EAEJ,YAAY/zF,IAARjE,EACO7D,KAAKy7E,QAAQqT,OAEpB+M,EAAgB5M,GAAUprF,GACL,MAAjBg4F,IACA77F,KAAKy7E,QAAUogB,GAEZ77F,MA1Hfo4E,EAAMqjB,cAAgB,uBACtBrjB,EAAMojB,iBAAmB,yBA6HzB,IAAIM,GAAOrqB,EACP,mJACA,SAAU5tE,GACN,YAAYiE,IAARjE,EACO7D,KAAK09E,aAEL19E,KAAK64E,OAAOh1E,MAK/B,SAAS65E,KACL,OAAO19E,KAAKy7E,QAGhB,IAAIsgB,GAAgB,IAChBC,GAAgB,GAAKD,GACrBE,GAAc,GAAKD,GACnBE,GAAmB,QAAwBD,GAG/C,SAASE,GAAMC,EAAUC,GACrB,OAASD,EAAWC,EAAWA,GAAWA,EAG9C,SAASC,GAAiBj6F,EAAGR,EAAGI,GAE5B,OAAII,EAAI,KAAOA,GAAK,EAET,IAAIwsB,KAAKxsB,EAAI,IAAKR,EAAGI,GAAKi6F,GAE1B,IAAIrtE,KAAKxsB,EAAGR,EAAGI,GAAG+jE,UAIjC,SAASu2B,GAAel6F,EAAGR,EAAGI,GAE1B,OAAII,EAAI,KAAOA,GAAK,EAETwsB,KAAKw6D,IAAIhnF,EAAI,IAAKR,EAAGI,GAAKi6F,GAE1BrtE,KAAKw6D,IAAIhnF,EAAGR,EAAGI,GAI9B,SAAS8pD,GAAQl7C,GACb,IAAI+wD,EAAM46B,EAEV,GADA3rF,EAAQyvE,GAAezvE,QACT/I,IAAV+I,GAAiC,gBAAVA,IAA4B7Q,KAAKob,UACxD,OAAOpb,KAKX,OAFAw8F,EAAcx8F,KAAKu7E,OAASghB,GAAiBD,GAErCzrF,GACJ,IAAK,OACD+wD,EAAO46B,EAAYx8F,KAAKqhE,OAAQ,EAAG,GACnC,MACJ,IAAK,UACDO,EAAO46B,EACHx8F,KAAKqhE,OACLrhE,KAAK4F,QAAW5F,KAAK4F,QAAU,EAC/B,GAEJ,MACJ,IAAK,QACDg8D,EAAO46B,EAAYx8F,KAAKqhE,OAAQrhE,KAAK4F,QAAS,GAC9C,MACJ,IAAK,OACDg8D,EAAO46B,EACHx8F,KAAKqhE,OACLrhE,KAAK4F,QACL5F,KAAKmkE,OAASnkE,KAAKwjE,WAEvB,MACJ,IAAK,UACD5B,EAAO46B,EACHx8F,KAAKqhE,OACLrhE,KAAK4F,QACL5F,KAAKmkE,QAAUnkE,KAAKyjE,aAAe,IAEvC,MACJ,IAAK,MACL,IAAK,OACD7B,EAAO46B,EAAYx8F,KAAKqhE,OAAQrhE,KAAK4F,QAAS5F,KAAKmkE,QACnD,MACJ,IAAK,OACDvC,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GAAQu6B,GACJv6B,GAAQ5hE,KAAKu7E,OAAS,EAAIv7E,KAAKq2F,YAAc2F,IAC7CC,IAEJ,MACJ,IAAK,SACDr6B,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GAAQu6B,GAAMv6B,EAAMo6B,IACpB,MACJ,IAAK,SACDp6B,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GAAQu6B,GAAMv6B,EAAMm6B,IACpB,MAKR,OAFA/7F,KAAKq6E,GAAGsc,QAAQ/0B,GAChBwW,EAAMuD,aAAa37E,MAAM,GAClBA,KAGX,SAASgsD,GAAMn7C,GACX,IAAI+wD,EAAM46B,EAEV,GADA3rF,EAAQyvE,GAAezvE,QACT/I,IAAV+I,GAAiC,gBAAVA,IAA4B7Q,KAAKob,UACxD,OAAOpb,KAKX,OAFAw8F,EAAcx8F,KAAKu7E,OAASghB,GAAiBD,GAErCzrF,GACJ,IAAK,OACD+wD,EAAO46B,EAAYx8F,KAAKqhE,OAAS,EAAG,EAAG,GAAK,EAC5C,MACJ,IAAK,UACDO,EACI46B,EACIx8F,KAAKqhE,OACLrhE,KAAK4F,QAAW5F,KAAK4F,QAAU,EAAK,EACpC,GACA,EACR,MACJ,IAAK,QACDg8D,EAAO46B,EAAYx8F,KAAKqhE,OAAQrhE,KAAK4F,QAAU,EAAG,GAAK,EACvD,MACJ,IAAK,OACDg8D,EACI46B,EACIx8F,KAAKqhE,OACLrhE,KAAK4F,QACL5F,KAAKmkE,OAASnkE,KAAKwjE,UAAY,GAC/B,EACR,MACJ,IAAK,UACD5B,EACI46B,EACIx8F,KAAKqhE,OACLrhE,KAAK4F,QACL5F,KAAKmkE,QAAUnkE,KAAKyjE,aAAe,GAAK,GACxC,EACR,MACJ,IAAK,MACL,IAAK,OACD7B,EAAO46B,EAAYx8F,KAAKqhE,OAAQrhE,KAAK4F,QAAS5F,KAAKmkE,OAAS,GAAK,EACjE,MACJ,IAAK,OACDvC,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GACIq6B,GACAE,GACIv6B,GAAQ5hE,KAAKu7E,OAAS,EAAIv7E,KAAKq2F,YAAc2F,IAC7CC,IAEJ,EACJ,MACJ,IAAK,SACDr6B,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GAAQo6B,GAAgBG,GAAMv6B,EAAMo6B,IAAiB,EACrD,MACJ,IAAK,SACDp6B,EAAO5hE,KAAKq6E,GAAGrU,UACfpE,GAAQm6B,GAAgBI,GAAMv6B,EAAMm6B,IAAiB,EACrD,MAKR,OAFA/7F,KAAKq6E,GAAGsc,QAAQ/0B,GAChBwW,EAAMuD,aAAa37E,MAAM,GAClBA,KAGX,SAASgmE,KACL,OAAOhmE,KAAKq6E,GAAGrU,UAAkC,KAArBhmE,KAAKw7E,SAAW,GAGhD,SAASihB,KACL,OAAO31F,KAAKD,MAAM7G,KAAKgmE,UAAY,KAGvC,SAASm1B,KACL,OAAO,IAAItsE,KAAK7uB,KAAKgmE,WAGzB,SAAS+xB,KACL,IAAIl2F,EAAI7B,KACR,MAAO,CACH6B,EAAEw/D,OACFx/D,EAAE+D,QACF/D,EAAEsiE,OACFtiE,EAAEiB,OACFjB,EAAEmB,SACFnB,EAAEs/D,SACFt/D,EAAEm/D,eAIV,SAASp6D,KACL,IAAI/E,EAAI7B,KACR,MAAO,CACHqgF,MAAOx+E,EAAEw/D,OACTjhE,OAAQyB,EAAE+D,QACVu+D,KAAMtiE,EAAEsiE,OACRh+D,MAAOtE,EAAEsE,QACTsD,QAAS5H,EAAE4H,UACXi2E,QAAS79E,EAAE69E,UACXH,aAAc19E,EAAE09E,gBAIxB,SAASjhE,KAEL,OAAOte,KAAKob,UAAYpb,KAAKi7F,cAAgB,KAGjD,SAASyB,KACL,OAAOthF,EAAQpb,MAGnB,SAAS28F,KACL,OAAOj7E,EAAO,GAAIu4D,EAAgBj6E,OAGtC,SAAS48F,KACL,OAAO3iB,EAAgBj6E,MAAMq5E,SAGjC,SAASwjB,KACL,MAAO,CACHh4F,MAAO7E,KAAKm7E,GACZx1E,OAAQ3F,KAAKo7E,GACbvC,OAAQ74E,KAAKy7E,QACboJ,MAAO7kF,KAAKu7E,OACZzC,OAAQ94E,KAAKw6E,SAqDrB,SAASsiB,GAAWj7F,EAAG8D,GACnB,IAAI8G,EACAzH,EACAm/D,EACAhgE,EAAOnE,KAAK+8F,OAAS9N,GAAU,MAAM8N,MACzC,IAAKtwF,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAAG,CACrC,cAAetI,EAAKsI,GAAGrI,OACnB,IAAK,SAED+/D,EAAOiU,EAAMj0E,EAAKsI,GAAGrI,OAAO2nD,QAAQ,OACpC5nD,EAAKsI,GAAGrI,MAAQ+/D,EAAK6B,UACrB,MAGR,cAAe7hE,EAAKsI,GAAGhI,OACnB,IAAK,YACDN,EAAKsI,GAAGhI,MAASC,IACjB,MACJ,IAAK,SAEDy/D,EAAOiU,EAAMj0E,EAAKsI,GAAGhI,OAAOsnD,QAAQ,OAAOia,UAC3C7hE,EAAKsI,GAAGhI,MAAQ0/D,EAAK6B,UACrB,OAGZ,OAAO7hE,EAGX,SAAS64F,GAAgBC,EAASt3F,EAAQmzE,GACtC,IAAIrsE,EACAzH,EAEAV,EACAE,EACAD,EAHAJ,EAAOnE,KAAKmE,OAMhB,IAFA84F,EAAUA,EAAQ1mF,cAEb9J,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAKlC,GAJAnI,EAAOH,EAAKsI,GAAGnI,KAAKiS,cACpB/R,EAAOL,EAAKsI,GAAGjI,KAAK+R,cACpBhS,EAASJ,EAAKsI,GAAGlI,OAAOgS,cAEpBuiE,EACA,OAAQnzE,GACJ,IAAK,IACL,IAAK,KACL,IAAK,MACD,GAAInB,IAASy4F,EACT,OAAO94F,EAAKsI,GAEhB,MAEJ,IAAK,OACD,GAAInI,IAAS24F,EACT,OAAO94F,EAAKsI,GAEhB,MAEJ,IAAK,QACD,GAAIlI,IAAW04F,EACX,OAAO94F,EAAKsI,GAEhB,WAEL,GAAI,CAACnI,EAAME,EAAMD,GAAQyI,QAAQiwF,IAAY,EAChD,OAAO94F,EAAKsI,GAKxB,SAASywF,GAAsBpjB,EAAKzY,GAChC,IAAI87B,EAAMrjB,EAAI11E,OAAS01E,EAAIr1E,MAAQ,GAAM,EACzC,YAAaqD,IAATu5D,EACO+W,EAAM0B,EAAI11E,OAAOi9D,OAEjB+W,EAAM0B,EAAI11E,OAAOi9D,QAAUA,EAAOyY,EAAIz1E,QAAU84F,EAI/D,SAASC,KACL,IAAI3wF,EACAzH,EACAwP,EACArQ,EAAOnE,KAAK09E,aAAav5E,OAC7B,IAAKsI,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAAG,CAIrC,GAFA+H,EAAMxU,KAAKue,QAAQwtC,QAAQ,OAAOia,UAE9B7hE,EAAKsI,GAAGrI,OAASoQ,GAAOA,GAAOrQ,EAAKsI,GAAGhI,MACvC,OAAON,EAAKsI,GAAGnI,KAEnB,GAAIH,EAAKsI,GAAGhI,OAAS+P,GAAOA,GAAOrQ,EAAKsI,GAAGrI,MACvC,OAAOD,EAAKsI,GAAGnI,KAIvB,MAAO,GAGX,SAAS+4F,KACL,IAAI5wF,EACAzH,EACAwP,EACArQ,EAAOnE,KAAK09E,aAAav5E,OAC7B,IAAKsI,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAAG,CAIrC,GAFA+H,EAAMxU,KAAKue,QAAQwtC,QAAQ,OAAOia,UAE9B7hE,EAAKsI,GAAGrI,OAASoQ,GAAOA,GAAOrQ,EAAKsI,GAAGhI,MACvC,OAAON,EAAKsI,GAAGlI,OAEnB,GAAIJ,EAAKsI,GAAGhI,OAAS+P,GAAOA,GAAOrQ,EAAKsI,GAAGrI,MACvC,OAAOD,EAAKsI,GAAGlI,OAIvB,MAAO,GAGX,SAAS+4F,KACL,IAAI7wF,EACAzH,EACAwP,EACArQ,EAAOnE,KAAK09E,aAAav5E,OAC7B,IAAKsI,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAAG,CAIrC,GAFA+H,EAAMxU,KAAKue,QAAQwtC,QAAQ,OAAOia,UAE9B7hE,EAAKsI,GAAGrI,OAASoQ,GAAOA,GAAOrQ,EAAKsI,GAAGhI,MACvC,OAAON,EAAKsI,GAAGjI,KAEnB,GAAIL,EAAKsI,GAAGhI,OAAS+P,GAAOA,GAAOrQ,EAAKsI,GAAGrI,MACvC,OAAOD,EAAKsI,GAAGjI,KAIvB,MAAO,GAGX,SAAS+4F,KACL,IAAI9wF,EACAzH,EACAm4F,EACA3oF,EACArQ,EAAOnE,KAAK09E,aAAav5E,OAC7B,IAAKsI,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAMlC,GALA0wF,EAAMh5F,EAAKsI,GAAGrI,OAASD,EAAKsI,GAAGhI,MAAQ,GAAM,EAG7C+P,EAAMxU,KAAKue,QAAQwtC,QAAQ,OAAOia,UAG7B7hE,EAAKsI,GAAGrI,OAASoQ,GAAOA,GAAOrQ,EAAKsI,GAAGhI,OACvCN,EAAKsI,GAAGhI,OAAS+P,GAAOA,GAAOrQ,EAAKsI,GAAGrI,MAExC,OACKpE,KAAKqhE,OAAS+W,EAAMj0E,EAAKsI,GAAGrI,OAAOi9D,QAAU87B,EAC9Ch5F,EAAKsI,GAAGpI,OAKpB,OAAOrE,KAAKqhE,OAGhB,SAASm8B,GAAc9a,GAInB,OAHKpK,EAAWt4E,KAAM,mBAClBy9F,GAAiB9kF,KAAK3Y,MAEnB0iF,EAAW1iF,KAAK09F,eAAiB19F,KAAK29F,WAGjD,SAASC,GAAclb,GAInB,OAHKpK,EAAWt4E,KAAM,mBAClBy9F,GAAiB9kF,KAAK3Y,MAEnB0iF,EAAW1iF,KAAK69F,eAAiB79F,KAAK29F,WAGjD,SAASG,GAAgBpb,GAIrB,OAHKpK,EAAWt4E,KAAM,qBAClBy9F,GAAiB9kF,KAAK3Y,MAEnB0iF,EAAW1iF,KAAK+9F,iBAAmB/9F,KAAK29F,WAGnD,SAASK,GAAatb,EAAU7J,GAC5B,OAAOA,EAAO+kB,cAAclb,GAGhC,SAASub,GAAavb,EAAU7J,GAC5B,OAAOA,EAAO2kB,cAAc9a,GAGhC,SAASwb,GAAexb,EAAU7J,GAC9B,OAAOA,EAAOilB,gBAAgBpb,GAGlC,SAASyb,GAAoBzb,EAAU7J,GACnC,OAAOA,EAAOulB,sBAAwBrc,GAG1C,SAAS0b,KACL,IAIIhxF,EACAzH,EACAq5F,EACAC,EACAC,EARAC,EAAa,GACbC,EAAa,GACbC,EAAe,GACfxV,EAAc,GAMd/kF,EAAOnE,KAAKmE,OAEhB,IAAKsI,EAAI,EAAGzH,EAAIb,EAAKyD,OAAQ6E,EAAIzH,IAAKyH,EAClC4xF,EAAWxb,GAAY1+E,EAAKsI,GAAGnI,MAC/Bg6F,EAAWzb,GAAY1+E,EAAKsI,GAAGjI,MAC/B+5F,EAAa1b,GAAY1+E,EAAKsI,GAAGlI,QAEjCk6F,EAAW/uF,KAAK2uF,GAChBG,EAAW9uF,KAAK4uF,GAChBI,EAAahvF,KAAK6uF,GAClBrV,EAAYx5E,KAAK2uF,GACjBnV,EAAYx5E,KAAK4uF,GACjBpV,EAAYx5E,KAAK6uF,GAGrBv+F,KAAK29F,WAAa,IAAIloB,OAAO,KAAOyT,EAAYvyE,KAAK,KAAO,IAAK,KACjE3W,KAAK09F,eAAiB,IAAIjoB,OAAO,KAAOgpB,EAAW9nF,KAAK,KAAO,IAAK,KACpE3W,KAAK69F,eAAiB,IAAIpoB,OAAO,KAAO+oB,EAAW7nF,KAAK,KAAO,IAAK,KACpE3W,KAAK+9F,iBAAmB,IAAItoB,OACxB,KAAOipB,EAAa/nF,KAAK,KAAO,IAChC,KAcR,SAASgoF,GAAuBnuF,EAAOouF,GACnCrhB,EAAe,EAAG,CAAC/sE,EAAOA,EAAM5I,QAAS,EAAGg3F,GAkChD,SAASC,GAAeh6F,GACpB,OAAOi6F,GAAqBnmF,KACxB3Y,KACA6E,EACA7E,KAAKuC,OACLvC,KAAKwjE,UAAYxjE,KAAK09E,aAAayM,MAAM3nF,IACzCxC,KAAK09E,aAAayM,MAAM3nF,IACxBxC,KAAK09E,aAAayM,MAAM1nF,KAIhC,SAASs8F,GAAkBl6F,GACvB,OAAOi6F,GAAqBnmF,KACxB3Y,KACA6E,EACA7E,KAAK+gF,UACL/gF,KAAKyjE,aACL,EACA,GAIR,SAASu7B,KACL,OAAOhV,GAAYhqF,KAAKqhE,OAAQ,EAAG,GAGvC,SAAS49B,KACL,OAAOjV,GAAYhqF,KAAK8gF,cAAe,EAAG,GAG9C,SAASoe,KACL,IAAIC,EAAWn/F,KAAK09E,aAAayM,MACjC,OAAOH,GAAYhqF,KAAKqhE,OAAQ89B,EAAS38F,IAAK28F,EAAS18F,KAG3D,SAAS28F,KACL,IAAID,EAAWn/F,KAAK09E,aAAayM,MACjC,OAAOH,GAAYhqF,KAAK6gF,WAAYse,EAAS38F,IAAK28F,EAAS18F,KAG/D,SAASq8F,GAAqBj6F,EAAOtC,EAAMihE,EAAShhE,EAAKC,GACrD,IAAI48F,EACJ,OAAa,MAATx6F,EACOilF,GAAW9pF,KAAMwC,EAAKC,GAAK4+D,MAElCg+B,EAAcrV,GAAYnlF,EAAOrC,EAAKC,GAClCF,EAAO88F,IACP98F,EAAO88F,GAEJC,GAAW3mF,KAAK3Y,KAAM6E,EAAOtC,EAAMihE,EAAShhE,EAAKC,IAIhE,SAAS68F,GAAWze,EAAUt+E,EAAMihE,EAAShhE,EAAKC,GAC9C,IAAI88F,EAAgB9V,GAAmB5I,EAAUt+E,EAAMihE,EAAShhE,EAAKC,GACjE0hE,EAAOilB,GAAcmW,EAAcl+B,KAAM,EAAGk+B,EAAc3e,WAK9D,OAHA5gF,KAAKqhE,KAAK8C,EAAKyhB,kBACf5lF,KAAK4F,MAAMu+D,EAAKuhB,eAChB1lF,KAAKmkE,KAAKA,EAAKmhB,cACRtlF,KAgBX,SAASw/F,GAAc36F,GACnB,OAAgB,MAATA,EACDiC,KAAKmpD,MAAMjwD,KAAK4F,QAAU,GAAK,GAC/B5F,KAAK4F,MAAoB,GAAbf,EAAQ,GAAU7E,KAAK4F,QAAU,GAzZvD23E,EAAe,IAAK,EAAG,EAAG,WAC1BA,EAAe,KAAM,EAAG,EAAG,WAC3BA,EAAe,MAAO,EAAG,EAAG,WAC5BA,EAAe,OAAQ,EAAG,EAAG,WAC7BA,EAAe,QAAS,EAAG,EAAG,aAE9BA,EAAe,IAAK,CAAC,IAAK,GAAI,KAAM,WACpCA,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,WAClCA,EAAe,IAAK,CAAC,MAAO,GAAI,EAAG,WACnCA,EAAe,IAAK,CAAC,OAAQ,GAAI,EAAG,WAEpCgF,GAAc,IAAKyb,IACnBzb,GAAc,KAAMyb,IACpBzb,GAAc,MAAOyb,IACrBzb,GAAc,OAAQ0b,IACtB1b,GAAc,QAAS2b,IAEvB5a,GACI,CAAC,IAAK,KAAM,MAAO,OAAQ,UAC3B,SAAUz+E,EAAO6d,EAAO0iB,EAAQ50B,GAC5B,IAAIspE,EAAM10C,EAAOq2C,QAAQgkB,UAAU56F,EAAO2L,EAAO40B,EAAOo1C,SACpDV,EACAG,EAAgB70C,GAAQ00C,IAAMA,EAE9BG,EAAgB70C,GAAQo0C,WAAa30E,KAKjD09E,GAAc,IAAKR,IACnBQ,GAAc,KAAMR,IACpBQ,GAAc,MAAOR,IACrBQ,GAAc,OAAQR,IACtBQ,GAAc,KAAM4b,IAEpB7a,GAAc,CAAC,IAAK,KAAM,MAAO,QAASO,IAC1CP,GAAc,CAAC,OAAO,SAAUz+E,EAAO6d,EAAO0iB,EAAQ50B,GAClD,IAAI1L,EACAsgC,EAAOq2C,QAAQ2iB,uBACft5F,EAAQD,EAAMC,MAAMsgC,EAAOq2C,QAAQ2iB,uBAGnCh5D,EAAOq2C,QAAQ72E,oBACf8d,EAAMmhE,IAAQz+C,EAAOq2C,QAAQ72E,oBAAoBC,EAAOC,GAExD4d,EAAMmhE,IAAQ9+E,SAASF,EAAO,OAkPtC04E,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAOv9E,KAAK6gF,WAAa,OAG7BtD,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,OAAOv9E,KAAK8gF,cAAgB,OAOhC6d,GAAuB,OAAQ,YAC/BA,GAAuB,QAAS,YAChCA,GAAuB,OAAQ,eAC/BA,GAAuB,QAAS,eAMhCpc,GAAc,IAAKP,IACnBO,GAAc,IAAKP,IACnBO,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,OAAQV,GAAWN,IACjCgB,GAAc,OAAQV,GAAWN,IACjCgB,GAAc,QAAST,GAAWN,IAClCe,GAAc,QAAST,GAAWN,IAElCgC,GACI,CAAC,OAAQ,QAAS,OAAQ,UAC1B,SAAU3+E,EAAOtC,EAAM6iC,EAAQ50B,GAC3BjO,EAAKiO,EAAMsP,OAAO,EAAG,IAAMojE,GAAMr+E,MAIzC2+E,GAAkB,CAAC,KAAM,OAAO,SAAU3+E,EAAOtC,EAAM6iC,EAAQ50B,GAC3DjO,EAAKiO,GAAS4nE,EAAMmM,kBAAkB1/E,MAsE1C04E,EAAe,IAAK,EAAG,KAAM,WAI7BgF,GAAc,IAAKnB,IACnBkC,GAAc,KAAK,SAAUz+E,EAAO6d,GAChCA,EAAMohE,IAA8B,GAApBZ,GAAMr+E,GAAS,MAanC04E,EAAe,IAAK,CAAC,KAAM,GAAI,KAAM,QAIrCgF,GAAc,IAAKd,GAAWY,IAC9BE,GAAc,KAAMd,GAAWJ,IAC/BkB,GAAc,MAAM,SAAUG,EAAU7J,GAEpC,OAAO6J,EACD7J,EAAOyD,yBAA2BzD,EAAO0D,cACzC1D,EAAOwD,kCAGjBiH,GAAc,CAAC,IAAK,MAAOS,IAC3BT,GAAc,MAAM,SAAUz+E,EAAO6d,GACjCA,EAAMqhE,IAAQb,GAAMr+E,EAAMC,MAAM28E,IAAW,OAK/C,IAAIie,GAAmBjb,GAAW,QAAQ,GAkB1C,SAASkb,GAAgB96F,GACrB,IAAI+7E,EACA95E,KAAKkP,OACAhW,KAAKue,QAAQwtC,QAAQ,OAAS/rD,KAAKue,QAAQwtC,QAAQ,SAAW,OAC/D,EACR,OAAgB,MAATlnD,EAAgB+7E,EAAY5gF,KAAKkyC,IAAIrtC,EAAQ+7E,EAAW,KAnBnErD,EAAe,MAAO,CAAC,OAAQ,GAAI,OAAQ,aAI3CgF,GAAc,MAAOX,IACrBW,GAAc,OAAQjB,IACtBgC,GAAc,CAAC,MAAO,SAAS,SAAUz+E,EAAO6d,EAAO0iB,GACnDA,EAAO6tD,WAAa/P,GAAMr+E,MAiB9B04E,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCgF,GAAc,IAAKd,GAAWa,IAC9BC,GAAc,KAAMd,GAAWJ,IAC/BiC,GAAc,CAAC,IAAK,MAAOW,IAI3B,IAAI2b,GAAenb,GAAW,WAAW,GAIzClH,EAAe,IAAK,CAAC,KAAM,GAAI,EAAG,UAIlCgF,GAAc,IAAKd,GAAWa,IAC9BC,GAAc,KAAMd,GAAWJ,IAC/BiC,GAAc,CAAC,IAAK,MAAOY,IAI3B,IAsCI1zE,GAAOqvF,GAtCPC,GAAerb,GAAW,WAAW,GAuCzC,IAnCAlH,EAAe,IAAK,EAAG,GAAG,WACtB,SAAUv9E,KAAKghE,cAAgB,QAGnCuc,EAAe,EAAG,CAAC,KAAM,GAAI,GAAG,WAC5B,SAAUv9E,KAAKghE,cAAgB,OAGnCuc,EAAe,EAAG,CAAC,MAAO,GAAI,EAAG,eACjCA,EAAe,EAAG,CAAC,OAAQ,GAAI,GAAG,WAC9B,OAA4B,GAArBv9E,KAAKghE,iBAEhBuc,EAAe,EAAG,CAAC,QAAS,GAAI,GAAG,WAC/B,OAA4B,IAArBv9E,KAAKghE,iBAEhBuc,EAAe,EAAG,CAAC,SAAU,GAAI,GAAG,WAChC,OAA4B,IAArBv9E,KAAKghE,iBAEhBuc,EAAe,EAAG,CAAC,UAAW,GAAI,GAAG,WACjC,OAA4B,IAArBv9E,KAAKghE,iBAEhBuc,EAAe,EAAG,CAAC,WAAY,GAAI,GAAG,WAClC,OAA4B,IAArBv9E,KAAKghE,iBAEhBuc,EAAe,EAAG,CAAC,YAAa,GAAI,GAAG,WACnC,OAA4B,IAArBv9E,KAAKghE,iBAKhBuhB,GAAc,IAAKX,GAAWR,IAC9BmB,GAAc,KAAMX,GAAWP,IAC/BkB,GAAc,MAAOX,GAAWN,IAG3B9wE,GAAQ,OAAQA,GAAM5I,QAAU,EAAG4I,IAAS,IAC7C+xE,GAAc/xE,GAAOuxE,IAGzB,SAASge,GAAQl7F,EAAO6d,GACpBA,EAAMyhE,IAAejB,GAAuB,KAAhB,KAAOr+E,IAGvC,IAAK2L,GAAQ,IAAKA,GAAM5I,QAAU,EAAG4I,IAAS,IAC1C8yE,GAAc9yE,GAAOuvF,IAYzB,SAASC,KACL,OAAOhgG,KAAKu7E,OAAS,MAAQ,GAGjC,SAAS0kB,KACL,OAAOjgG,KAAKu7E,OAAS,6BAA+B,GAdxDskB,GAAoBpb,GAAW,gBAAgB,GAI/ClH,EAAe,IAAK,EAAG,EAAG,YAC1BA,EAAe,KAAM,EAAG,EAAG,YAY3B,IAAI/M,GAAQkL,EAAOhjE,UAwGnB,SAASwnF,GAAWr7F,GAChB,OAAOyuF,GAAoB,IAARzuF,GAGvB,SAASs7F,KACL,OAAO7M,GAAYhzE,MAAM,KAAMvK,WAAWqqF,YAG9C,SAASC,GAAmBr1F,GACxB,OAAOA,EA/GXwlE,GAAMt+B,IAAMA,GACZs+B,GAAMvvE,SAAW64F,GACjBtpB,GAAMjyD,MAAQA,GACdiyD,GAAM38D,KAAOA,GACb28D,GAAMxkB,MAAQA,GACdwkB,GAAM7qE,OAASA,GACf6qE,GAAMx4D,KAAOA,GACbw4D,GAAMmrB,QAAUA,GAChBnrB,GAAMv4D,GAAKA,GACXu4D,GAAMorB,MAAQA,GACdprB,GAAMviD,IAAMy4D,GACZlW,GAAMosB,UAAYA,GAClBpsB,GAAMmoB,QAAUA,GAChBnoB,GAAMooB,SAAWA,GACjBpoB,GAAM0pB,UAAYA,GAClB1pB,GAAM8pB,OAASA,GACf9pB,GAAMgqB,cAAgBA,GACtBhqB,GAAMiqB,eAAiBA,GACvBjqB,GAAMp1D,QAAUshF,GAChBlsB,GAAMsrB,KAAOA,GACbtrB,GAAMqI,OAASA,GACfrI,GAAMkN,WAAaA,GACnBlN,GAAMj9D,IAAMwhF,GACZvkB,GAAMl9D,IAAMuhF,GACZrkB,GAAMmsB,aAAeA,GACrBnsB,GAAMtiD,IAAMy4D,GACZnW,GAAMzkB,QAAUA,GAChBykB,GAAMgnB,SAAWA,GACjBhnB,GAAMunB,QAAUA,GAChBvnB,GAAM5pE,SAAWA,GACjB4pE,GAAM2qB,OAASA,GACf3qB,GAAMyqB,YAAcA,GACpBzqB,GAAM4qB,QAAUA,GACM,qBAAXkF,QAAwC,MAAdA,OAAOC,MACxC/vB,GAAM8vB,OAAOC,IAAI,+BAAiC,WAC9C,MAAO,UAAYvgG,KAAK2F,SAAW,MAG3C6qE,GAAMlyD,OAASA,GACfkyD,GAAMl6D,SAAWA,GACjBk6D,GAAMisB,KAAOA,GACbjsB,GAAMxK,QAAUA,GAChBwK,GAAMqsB,aAAeA,GACrBrsB,GAAMysB,QAAUG,GAChB5sB,GAAMgwB,UAAYnD,GAClB7sB,GAAMiwB,QAAUnD,GAChB9sB,GAAMkwB,QAAUnD,GAChB/sB,GAAMnP,KAAOmjB,GACbhU,GAAMoT,WAAac,GACnBlU,GAAMqQ,SAAWge,GACjBruB,GAAMsQ,YAAcie,GACpBvuB,GAAMpP,QAAUoP,GAAMiP,SAAW+f,GACjChvB,GAAM5qE,MAAQ0iF,GACd9X,GAAMuW,YAAcwB,GACpB/X,GAAMjuE,KAAOiuE,GAAMyP,MAAQsK,GAC3B/Z,GAAMuQ,QAAUvQ,GAAMmwB,SAAWnW,GACjCha,GAAMwZ,YAAckV,GACpB1uB,GAAMowB,gBAAkBxB,GACxB5uB,GAAMqwB,eAAiB7B,GACvBxuB,GAAMswB,sBAAwB7B,GAC9BzuB,GAAMrM,KAAOu7B,GACblvB,GAAMlmE,IAAMkmE,GAAMrB,KAAOid,GACzB5b,GAAMhN,QAAU6oB,GAChB7b,GAAM/M,WAAa6oB,GACnB9b,GAAMoQ,UAAY+e,GAClBnvB,GAAM1tE,KAAO0tE,GAAMrqE,MAAQ2nF,GAC3Btd,GAAMxtE,OAASwtE,GAAM/mE,QAAUm2F,GAC/BpvB,GAAMrP,OAASqP,GAAMkP,QAAUogB,GAC/BtvB,GAAMxP,YAAcwP,GAAM+O,aAAesgB,GACzCrvB,GAAM6lB,UAAYU,GAClBvmB,GAAMwI,IAAMse,GACZ9mB,GAAMomB,MAAQW,GACd/mB,GAAM4vB,UAAY3I,GAClBjnB,GAAMmnB,qBAAuBA,GAC7BnnB,GAAMuwB,MAAQnJ,GACdpnB,GAAMwnB,QAAUA,GAChBxnB,GAAMynB,YAAcA,GACpBznB,GAAM0nB,MAAQA,GACd1nB,GAAMqU,MAAQqT,GACd1nB,GAAMwwB,SAAWhB,GACjBxvB,GAAMywB,SAAWhB,GACjBzvB,GAAMuO,MAAQtN,EACV,kDACAiuB,IAEJlvB,GAAMpwE,OAASqxE,EACX,mDACA6W,IAEJ9X,GAAM6P,MAAQ5O,EACV,iDACA+S,IAEJhU,GAAM8qB,KAAO7pB,EACT,2GACA4lB,IAEJ7mB,GAAM0wB,aAAezvB,EACjB,0GACAomB,IAeJ,IAAIsJ,GAAUxkB,EAAOjkE,UAuCrB,SAAS0oF,GAAMz7F,EAAQyZ,EAAOiiF,EAAOC,GACjC,IAAIzoB,EAASoW,KACTjW,EAAMJ,IAAY1qD,IAAIozE,EAAQliF,GAClC,OAAOy5D,EAAOwoB,GAAOroB,EAAKrzE,GAG9B,SAAS47F,GAAe57F,EAAQyZ,EAAOiiF,GAQnC,GAPI5zE,EAAS9nB,KACTyZ,EAAQzZ,EACRA,OAASmC,GAGbnC,EAASA,GAAU,GAEN,MAATyZ,EACA,OAAOgiF,GAAMz7F,EAAQyZ,EAAOiiF,EAAO,SAGvC,IAAI50F,EACAi1D,EAAM,GACV,IAAKj1D,EAAI,EAAGA,EAAI,GAAIA,IAChBi1D,EAAIj1D,GAAK20F,GAAMz7F,EAAQ8G,EAAG40F,EAAO,SAErC,OAAO3/B,EAWX,SAAS8/B,GAAiBC,EAAc97F,EAAQyZ,EAAOiiF,GACvB,mBAAjBI,GACHh0E,EAAS9nB,KACTyZ,EAAQzZ,EACRA,OAASmC,GAGbnC,EAASA,GAAU,KAEnBA,EAAS87F,EACTriF,EAAQzZ,EACR87F,GAAe,EAEXh0E,EAAS9nB,KACTyZ,EAAQzZ,EACRA,OAASmC,GAGbnC,EAASA,GAAU,IAGvB,IAEI8G,EAFAosE,EAASoW,KACTh6D,EAAQwsE,EAAe5oB,EAAOsR,MAAM3nF,IAAM,EAE1Ck/D,EAAM,GAEV,GAAa,MAATtiD,EACA,OAAOgiF,GAAMz7F,GAASyZ,EAAQ6V,GAAS,EAAGosE,EAAO,OAGrD,IAAK50F,EAAI,EAAGA,EAAI,EAAGA,IACfi1D,EAAIj1D,GAAK20F,GAAMz7F,GAAS8G,EAAIwoB,GAAS,EAAGosE,EAAO,OAEnD,OAAO3/B,EAGX,SAASggC,GAAW/7F,EAAQyZ,GACxB,OAAOmiF,GAAe57F,EAAQyZ,EAAO,UAGzC,SAASuiF,GAAgBh8F,EAAQyZ,GAC7B,OAAOmiF,GAAe57F,EAAQyZ,EAAO,eAGzC,SAASwiF,GAAaH,EAAc97F,EAAQyZ,GACxC,OAAOoiF,GAAiBC,EAAc97F,EAAQyZ,EAAO,YAGzD,SAASyiF,GAAkBJ,EAAc97F,EAAQyZ,GAC7C,OAAOoiF,GAAiBC,EAAc97F,EAAQyZ,EAAO,iBAGzD,SAAS0iF,GAAgBL,EAAc97F,EAAQyZ,GAC3C,OAAOoiF,GAAiBC,EAAc97F,EAAQyZ,EAAO,eA5HzD+hF,GAAQlgG,SAAWA,EACnBkgG,GAAQzgG,eAAiBA,EACzBygG,GAAQ9sB,YAAcA,EACtB8sB,GAAQ59F,QAAUA,EAClB49F,GAAQj2F,SAAWm1F,GACnBc,GAAQh2F,WAAak1F,GACrBc,GAAQ3/F,aAAeA,GACvB2/F,GAAQviB,WAAaA,GACrBuiB,GAAQjzE,IAAMA,EACdizE,GAAQh9F,KAAO24F,GACfqE,GAAQ1B,UAAYzC,GACpBmE,GAAQtN,gBAAkBqJ,GAC1BiE,GAAQvD,cAAgBA,GACxBuD,GAAQ3D,cAAgBA,GACxB2D,GAAQrD,gBAAkBA,GAE1BqD,GAAQ/gG,OAASknF,GACjB6Z,GAAQ7gG,YAAcknF,GACtB2Z,GAAQ37F,YAAc0iF,GACtBiZ,GAAQ17F,YAAcA,GACtB07F,GAAQt7F,iBAAmBA,GAC3Bs7F,GAAQ5+F,KAAO2nF,GACfiX,GAAQY,eAAiBzX,GACzB6W,GAAQa,eAAiB3X,GAEzB8W,GAAQ5gG,SAAW+qF,GACnB6V,GAAQ1gG,YAAcirF,GACtByV,GAAQ3gG,cAAgBgrF,GACxB2V,GAAQ1uB,cAAgBwZ,GAExBkV,GAAQpW,cAAgBA,GACxBoW,GAAQrW,mBAAqBA,GAC7BqW,GAAQtW,iBAAmBA,GAE3BsW,GAAQ/7F,KAAOmoF,GACf4T,GAAQp+F,SAAWgrF,GA4FnBiB,GAAmB,KAAM,CACrB7qF,KAAM,CACF,CACIC,MAAO,aACPK,MAAQC,IACRL,OAAQ,EACRC,KAAM,cACNC,OAAQ,KACRC,KAAM,MAEV,CACIJ,MAAO,aACPK,OAAQC,IACRL,OAAQ,EACRC,KAAM,gBACNC,OAAQ,KACRC,KAAM,OAGdlB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACmC,IAA/B+/E,GAAOv/E,EAAS,IAAO,IACjB,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,KAMxBi1E,EAAM0jB,KAAOrqB,EACT,wDACAud,IAEJ5W,EAAM6pB,SAAWxwB,EACb,gEACAwd,IAGJ,IAAIiT,GAAUp7F,KAAKmyB,IAEnB,SAASA,KACL,IAAI9rB,EAAOnN,KAAK+xB,MAahB,OAXA/xB,KAAK01F,cAAgBwM,GAAQliG,KAAK01F,eAClC11F,KAAK21F,MAAQuM,GAAQliG,KAAK21F,OAC1B31F,KAAKunF,QAAU2a,GAAQliG,KAAKunF,SAE5Bp6E,EAAKoyE,aAAe2iB,GAAQ/0F,EAAKoyE,cACjCpyE,EAAKuyE,QAAUwiB,GAAQ/0F,EAAKuyE,SAC5BvyE,EAAK1D,QAAUy4F,GAAQ/0F,EAAK1D,SAC5B0D,EAAKhH,MAAQ+7F,GAAQ/0F,EAAKhH,OAC1BgH,EAAK/M,OAAS8hG,GAAQ/0F,EAAK/M,QAC3B+M,EAAKkzE,MAAQ6hB,GAAQ/0F,EAAKkzE,OAEnBrgF,KAGX,SAASmiG,GAAc/zE,EAAUvpB,EAAOmO,EAAO0Y,GAC3C,IAAIopE,EAAQU,GAAe3wF,EAAOmO,GAMlC,OAJAob,EAASsnE,eAAiBhqE,EAAYopE,EAAMY,cAC5CtnE,EAASunE,OAASjqE,EAAYopE,EAAMa,MACpCvnE,EAASm5D,SAAW77D,EAAYopE,EAAMvN,QAE/Bn5D,EAASwnE,UAIpB,SAASwM,GAAMv9F,EAAOmO,GAClB,OAAOmvF,GAAcniG,KAAM6E,EAAOmO,EAAO,GAI7C,SAASqvF,GAAWx9F,EAAOmO,GACvB,OAAOmvF,GAAcniG,KAAM6E,EAAOmO,GAAQ,GAG9C,SAASsvF,GAAQ3+F,GACb,OAAIA,EAAS,EACFmD,KAAKD,MAAMlD,GAEXmD,KAAKmpD,KAAKtsD,GAIzB,SAAS+kC,KACL,IAIIg3C,EACAj2E,EACAtD,EACAk6E,EACAkiB,EARAhjB,EAAev/E,KAAK01F,cACpBvmB,EAAOnvE,KAAK21F,MACZv1F,EAASJ,KAAKunF,QACdp6E,EAAOnN,KAAK+xB,MAgDhB,OArCSwtD,GAAgB,GAAKpQ,GAAQ,GAAK/uE,GAAU,GAC5Cm/E,GAAgB,GAAKpQ,GAAQ,GAAK/uE,GAAU,IAGjDm/E,GAAuD,MAAvC+iB,GAAQE,GAAapiG,GAAU+uE,GAC/CA,EAAO,EACP/uE,EAAS,GAKb+M,EAAKoyE,aAAeA,EAAe,IAEnCG,EAAUuD,GAAS1D,EAAe,KAClCpyE,EAAKuyE,QAAUA,EAAU,GAEzBj2E,EAAUw5E,GAASvD,EAAU,IAC7BvyE,EAAK1D,QAAUA,EAAU,GAEzBtD,EAAQ88E,GAASx5E,EAAU,IAC3B0D,EAAKhH,MAAQA,EAAQ,GAErBgpE,GAAQ8T,GAAS98E,EAAQ,IAGzBo8F,EAAiBtf,GAASwf,GAAatzB,IACvC/uE,GAAUmiG,EACVpzB,GAAQmzB,GAAQE,GAAaD,IAG7BliB,EAAQ4C,GAAS7iF,EAAS,IAC1BA,GAAU,GAEV+M,EAAKgiE,KAAOA,EACZhiE,EAAK/M,OAASA,EACd+M,EAAKkzE,MAAQA,EAENrgF,KAGX,SAASyiG,GAAatzB,GAGlB,OAAe,KAAPA,EAAe,OAG3B,SAASqzB,GAAapiG,GAElB,OAAiB,OAATA,EAAmB,KAG/B,SAASsiG,GAAG7xF,GACR,IAAK7Q,KAAKob,UACN,OAAOglB,IAEX,IAAI+uC,EACA/uE,EACAm/E,EAAev/E,KAAK01F,cAIxB,GAFA7kF,EAAQyvE,GAAezvE,GAET,UAAVA,GAA+B,YAAVA,GAAiC,SAAVA,EAG5C,OAFAs+D,EAAOnvE,KAAK21F,MAAQpW,EAAe,MACnCn/E,EAASJ,KAAKunF,QAAUkb,GAAatzB,GAC7Bt+D,GACJ,IAAK,QACD,OAAOzQ,EACX,IAAK,UACD,OAAOA,EAAS,EACpB,IAAK,OACD,OAAOA,EAAS,QAKxB,OADA+uE,EAAOnvE,KAAK21F,MAAQ7uF,KAAKkP,MAAMwsF,GAAaxiG,KAAKunF,UACzC12E,GACJ,IAAK,OACD,OAAOs+D,EAAO,EAAIoQ,EAAe,OACrC,IAAK,MACD,OAAOpQ,EAAOoQ,EAAe,MACjC,IAAK,OACD,OAAc,GAAPpQ,EAAYoQ,EAAe,KACtC,IAAK,SACD,OAAc,KAAPpQ,EAAcoQ,EAAe,IACxC,IAAK,SACD,OAAc,MAAPpQ,EAAeoQ,EAAe,IAEzC,IAAK,cACD,OAAOz4E,KAAKD,MAAa,MAAPsoE,GAAgBoQ,EACtC,QACI,MAAM,IAAIzvE,MAAM,gBAAkBe,IAKlD,SAAS8xF,GAAOC,GACZ,OAAO,WACH,OAAO5iG,KAAK0iG,GAAGE,IAIvB,IAAIC,GAAiBF,GAAO,MACxBG,GAAYH,GAAO,KACnBI,GAAYJ,GAAO,KACnBK,GAAUL,GAAO,KACjBM,GAASN,GAAO,KAChBO,GAAUP,GAAO,KACjBQ,GAAWR,GAAO,KAClBS,GAAaT,GAAO,KACpBU,GAAUV,GAAO,KACjBW,GAAYT,GAEhB,SAASU,KACL,OAAO/N,GAAex1F,MAG1B,SAASwjG,GAAM3yF,GAEX,OADAA,EAAQyvE,GAAezvE,GAChB7Q,KAAKob,UAAYpb,KAAK6Q,EAAQ,OAASuvB,IAGlD,SAASqjE,GAAWn/F,GAChB,OAAO,WACH,OAAOtE,KAAKob,UAAYpb,KAAK+xB,MAAMztB,GAAQ87B,KAInD,IAAIm/C,GAAekkB,GAAW,gBAC1B/jB,GAAU+jB,GAAW,WACrBh6F,GAAUg6F,GAAW,WACrBt9F,GAAQs9F,GAAW,SACnBt0B,GAAOs0B,GAAW,QAClBrjG,GAASqjG,GAAW,UACpBpjB,GAAQojB,GAAW,SAEvB,SAASxjB,KACL,OAAOgD,GAASjjF,KAAKmvE,OAAS,GAGlC,IAAIn5D,GAAQlP,KAAKkP,MACb0tF,GAAa,CACT9hG,GAAI,GACJD,EAAG,GACHE,EAAG,GACHE,EAAG,GACHE,EAAG,GACHmE,EAAG,KACHjE,EAAG,IAIX,SAASwhG,GAAkB34F,EAAQrH,EAAQC,EAAeE,EAAU+0E,GAChE,OAAOA,EAAOr3E,aAAamC,GAAU,IAAKC,EAAeoH,EAAQlH,GAGrE,SAAS8/F,GAAeC,EAAgBjgG,EAAe8/F,EAAY7qB,GAC/D,IAAIzqD,EAAWonE,GAAeqO,GAAgB5qE,MAC1CymD,EAAU1pE,GAAMoY,EAASs0E,GAAG,MAC5Bj5F,EAAUuM,GAAMoY,EAASs0E,GAAG,MAC5Bv8F,EAAQ6P,GAAMoY,EAASs0E,GAAG,MAC1BvzB,EAAOn5D,GAAMoY,EAASs0E,GAAG,MACzBtiG,EAAS4V,GAAMoY,EAASs0E,GAAG,MAC3BziB,EAAQjqE,GAAMoY,EAASs0E,GAAG,MAC1BriB,EAAQrqE,GAAMoY,EAASs0E,GAAG,MAC1Bh5F,EACKg2E,GAAWgkB,EAAW9hG,IAAM,CAAC,IAAK89E,IAClCA,EAAUgkB,EAAW/hG,GAAK,CAAC,KAAM+9E,IACjCj2E,GAAW,GAAK,CAAC,MACjBA,EAAUi6F,EAAW7hG,GAAK,CAAC,KAAM4H,IACjCtD,GAAS,GAAK,CAAC,MACfA,EAAQu9F,EAAW3hG,GAAK,CAAC,KAAMoE,IAC/BgpE,GAAQ,GAAK,CAAC,MACdA,EAAOu0B,EAAWzhG,GAAK,CAAC,KAAMktE,GAgBvC,OAdoB,MAAhBu0B,EAAWt9F,IACXsD,EACIA,GACCu2E,GAAS,GAAK,CAAC,MACfA,EAAQyjB,EAAWt9F,GAAK,CAAC,KAAM65E,IAExCv2E,EAAIA,GACCtJ,GAAU,GAAK,CAAC,MAChBA,EAASsjG,EAAWvhG,GAAK,CAAC,KAAM/B,IAChCigF,GAAS,GAAK,CAAC,MAAS,CAAC,KAAMA,GAEpC32E,EAAE,GAAK9F,EACP8F,EAAE,IAAMm6F,EAAiB,EACzBn6F,EAAE,GAAKmvE,EACA8qB,GAAkBrjF,MAAM,KAAM5W,GAIzC,SAASo6F,GAA2BC,GAChC,YAAyBj8F,IAArBi8F,EACO/tF,GAEqB,oBAArB+tF,IACP/tF,GAAQ+tF,GACD,GAMf,SAASC,GAA4BC,EAAWC,GAC5C,YAA8Bp8F,IAA1B47F,GAAWO,UAGDn8F,IAAVo8F,EACOR,GAAWO,IAEtBP,GAAWO,GAAaC,EACN,MAAdD,IACAP,GAAW9hG,GAAKsiG,EAAQ,IAErB,IAGX,SAASxI,GAASyI,EAAeC,GAC7B,IAAKpkG,KAAKob,UACN,OAAOpb,KAAK09E,aAAarJ,cAG7B,IAEIwE,EACA11E,EAHAkhG,GAAa,EACbt6F,EAAK25F,GAyBT,MArB6B,kBAAlBS,IACPC,EAAgBD,EAChBA,GAAgB,GAES,mBAAlBA,IACPE,EAAaF,GAEY,kBAAlBC,IACPr6F,EAAK4C,OAAOgV,OAAO,GAAI+hF,GAAYU,GACZ,MAAnBA,EAAcziG,GAAiC,MAApByiG,EAAcxiG,KACzCmI,EAAGnI,GAAKwiG,EAAcziG,EAAI,IAIlCk3E,EAAS74E,KAAK09E,aACdv6E,EAASygG,GAAe5jG,MAAOqkG,EAAYt6F,EAAI8uE,GAE3CwrB,IACAlhG,EAAS01E,EAAO+F,YAAY5+E,KAAMmD,IAG/B01E,EAAO1tE,WAAWhI,GAG7B,IAAImhG,GAAQx9F,KAAKmyB,IAEjB,SAASutB,GAAKtzC,GACV,OAAQA,EAAI,IAAMA,EAAI,KAAOA,EAGjC,SAASqxF,KAQL,IAAKvkG,KAAKob,UACN,OAAOpb,KAAK09E,aAAarJ,cAG7B,IAGI5qE,EACAtD,EACAk6E,EACA1+E,EAEA6iG,EACAC,EACAC,EACAC,EAXAjlB,EAAU4kB,GAAMtkG,KAAK01F,eAAiB,IACtCvmB,EAAOm1B,GAAMtkG,KAAK21F,OAClBv1F,EAASkkG,GAAMtkG,KAAKunF,SAKpB1jD,EAAQ7jC,KAAK8iG,YAMjB,OAAKj/D,GAOLp6B,EAAUw5E,GAASvD,EAAU,IAC7Bv5E,EAAQ88E,GAASx5E,EAAU,IAC3Bi2E,GAAW,GACXj2E,GAAW,GAGX42E,EAAQ4C,GAAS7iF,EAAS,IAC1BA,GAAU,GAGVuB,EAAI+9E,EAAUA,EAAQ1yB,QAAQ,GAAGhmD,QAAQ,SAAU,IAAM,GAEzDw9F,EAAY3gE,EAAQ,EAAI,IAAM,GAC9B4gE,EAASj+C,GAAKxmD,KAAKunF,WAAa/gC,GAAK3iB,GAAS,IAAM,GACpD6gE,EAAWl+C,GAAKxmD,KAAK21F,SAAWnvC,GAAK3iB,GAAS,IAAM,GACpD8gE,EAAUn+C,GAAKxmD,KAAK01F,iBAAmBlvC,GAAK3iB,GAAS,IAAM,GAGvD2gE,EACA,KACCnkB,EAAQokB,EAASpkB,EAAQ,IAAM,KAC/BjgF,EAASqkG,EAASrkG,EAAS,IAAM,KACjC+uE,EAAOu1B,EAAWv1B,EAAO,IAAM,KAC/BhpE,GAASsD,GAAWi2E,EAAU,IAAM,KACpCv5E,EAAQw+F,EAAUx+F,EAAQ,IAAM,KAChCsD,EAAUk7F,EAAUl7F,EAAU,IAAM,KACpCi2E,EAAUilB,EAAUhjG,EAAI,IAAM,KA9BxB,MAkCf,IAAIijG,GAAUnP,GAAS/8E,UAwGvB,OAtGAksF,GAAQxpF,QAAUk6E,GAClBsP,GAAQ3rE,IAAMA,GACd2rE,GAAQ1yD,IAAMkwD,GACdwC,GAAQpN,SAAW6K,GACnBuC,GAAQlC,GAAKA,GACbkC,GAAQ/B,eAAiBA,GACzB+B,GAAQ9B,UAAYA,GACpB8B,GAAQ7B,UAAYA,GACpB6B,GAAQ5B,QAAUA,GAClB4B,GAAQ3B,OAASA,GACjB2B,GAAQ1B,QAAUA,GAClB0B,GAAQzB,SAAWA,GACnByB,GAAQxB,WAAaA,GACrBwB,GAAQvB,QAAUA,GAClBuB,GAAQ5+B,QAAUs9B,GAClBsB,GAAQhP,QAAUltD,GAClBk8D,GAAQrmF,MAAQglF,GAChBqB,GAAQ32E,IAAMu1E,GACdoB,GAAQrlB,aAAeA,GACvBqlB,GAAQllB,QAAUA,GAClBklB,GAAQn7F,QAAUA,GAClBm7F,GAAQz+F,MAAQA,GAChBy+F,GAAQz1B,KAAOA,GACfy1B,GAAQ3kB,MAAQA,GAChB2kB,GAAQxkG,OAASA,GACjBwkG,GAAQvkB,MAAQA,GAChBukB,GAAQlJ,SAAWA,GACnBkJ,GAAQ3J,YAAcsJ,GACtBK,GAAQtuF,SAAWiuF,GACnBK,GAAQtmF,OAASimF,GACjBK,GAAQ/rB,OAASA,GACjB+rB,GAAQlnB,WAAaA,GAErBknB,GAAQC,YAAcpzB,EAClB,sFACA8yB,IAEJK,GAAQ9I,KAAOA,GAIfve,EAAe,IAAK,EAAG,EAAG,QAC1BA,EAAe,IAAK,EAAG,EAAG,WAI1BgF,GAAc,IAAKP,IACnBO,GAAc,IAAKJ,IACnBmB,GAAc,KAAK,SAAUz+E,EAAO6d,EAAO0iB,GACvCA,EAAOi1C,GAAK,IAAIxrD,KAAyB,IAApB1U,WAAWtV,OAEpCy+E,GAAc,KAAK,SAAUz+E,EAAO6d,EAAO0iB,GACvCA,EAAOi1C,GAAK,IAAIxrD,KAAKq0D,GAAMr+E;;AAK/BuzE,EAAM0sB,QAAU,SAEhBzsB,EAAgBib,IAEhBlb,EAAM5mE,GAAKg/D,GACX4H,EAAM9kE,IAAMA,GACZ8kE,EAAM7kE,IAAMA,GACZ6kE,EAAM/yE,IAAMA,GACZ+yE,EAAMY,IAAMJ,EACZR,EAAMqkB,KAAOyD,GACb9nB,EAAMh4E,OAASshG,GACftpB,EAAMM,OAASA,EACfN,EAAMS,OAASmW,GACf5W,EAAM4gB,QAAUpe,EAChBxC,EAAMhqD,SAAWonE,GACjBpd,EAAMwD,SAAWA,EACjBxD,EAAM73E,SAAWqhG,GACjBxpB,EAAMgoB,UAAYD,GAClB/nB,EAAMsF,WAAauR,GACnB7W,EAAMyd,WAAaA,GACnBzd,EAAM93E,YAAcqhG,GACpBvpB,EAAM33E,YAAcqhG,GACpB1pB,EAAMj4E,aAAeA,GACrBi4E,EAAM+W,aAAeA,GACrB/W,EAAM8V,QAAUmB,GAChBjX,EAAM53E,cAAgBqhG,GACtBzpB,EAAMkI,eAAiBA,GACvBlI,EAAM2sB,qBAAuBjB,GAC7B1rB,EAAM4sB,sBAAwBhB,GAC9B5rB,EAAM4hB,eAAiBJ,GACvBxhB,EAAM1/D,UAAY83D,GAGlB4H,EAAM6sB,UAAY,CACdC,eAAgB,mBAChBC,uBAAwB,sBACxBC,kBAAmB,0BACnBrhB,KAAM,aACNshB,KAAM,QACNC,aAAc,WACdC,QAAS,eACTnhB,KAAM,aACNN,MAAO,WAGJ1L,O,+CC/iLT,SAAUt4E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIulG,EAAKvlG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,0EAA0EC,MAC9E,KAEJC,YACI,4DAA4DD,MAAM,KACtEE,SAAU,uCAAuCF,MAAM,KACvDG,cAAe,uBAAuBH,MAAM,KAC5CI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,iBACJC,IAAK,uBACLC,KAAM,6BACNgE,EAAG,WACHC,GAAI,aACJC,IAAK,mBACLC,KAAM,yBAEVlE,SAAU,CACNC,QAAS,cACTC,QAAS,aACTC,SAAU,iBACVC,QAAS,eACTC,SAAU,+BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,UACNC,EAAG,aACHC,GAAI,WACJC,EAAG,MACHC,GAAI,UACJC,EAAG,MACHC,GAAI,SAAU2B,GACV,OAAe,IAAXA,EACO,SAEJA,EAAS,SAEpB1B,EAAG,MACHC,GAAI,SAAUyB,GACV,OAAe,IAAXA,EACO,SAEJA,EAAS,SAEpBxB,EAAG,OACHC,GAAI,SAAUuB,GACV,OAAe,IAAXA,EACO,UAEJA,EAAS,WAEpBtB,EAAG,MACHC,GAAI,SAAUqB,GACV,OAAe,IAAXA,EACO,SACAA,EAAS,KAAO,GAAgB,KAAXA,EACrBA,EAAS,OAEbA,EAAS,UAGxBf,cACI,gEACJwC,KAAM,SAAUP,GACZ,MAAO,8BAA8BnF,KAAKmF,IAE9C9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,aACAA,EAAO,GACP,QACAA,EAAO,GACPG,EAAU,SAAW,eACrBH,EAAO,GACPG,EAAU,QAAU,eAEpB,UAKnB,OAAOuiG,M,sBChGT,SAAU1lG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIwlG,EAAKxlG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,gFAAgFC,MACpF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,4DAA4DF,MAClE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,mBAAmBJ,MAAM,KACtC6F,oBAAoB,EACpBtD,cAAe,QACfwC,KAAM,SAAUP,GACZ,MAA2B,MAApBA,EAAMkC,OAAO,IAExBhE,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAOkD,EAAQ,GAAK,KAAO,MAE/BzF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,gBACTC,SAAU,eACVC,QAAS,cACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,aACNC,EAAG,eACHC,GAAI,aACJC,EAAG,aACHC,GAAI,YACJC,EAAG,UACHC,GAAI,SACJC,EAAG,WACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOgjG,M,sBCpET,SAAU3lG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+J,EAAa,CACbC,MAAO,CAEHrI,GAAI,CAAC,UAAW,UAAW,WAC3BC,EAAG,CAAC,cAAe,iBACnBC,GAAI,CAAC,QAAS,SAAU,UACxBC,EAAG,CAAC,YAAa,eACjBC,GAAI,CAAC,MAAO,OAAQ,QACpBC,EAAG,CAAC,YAAa,eACjBC,GAAI,CAAC,MAAO,OAAQ,QACpBC,EAAG,CAAC,cAAe,iBACnBC,GAAI,CAAC,QAAS,SAAU,UACxBC,EAAG,CAAC,eAAgB,gBACpBC,GAAI,CAAC,SAAU,SAAU,WAE7B4H,uBAAwB,SAAUvG,EAAQwG,GACtC,OACIxG,EAAS,IAAM,GACfA,EAAS,IAAM,IACdA,EAAS,IAAM,IAAMA,EAAS,KAAO,IAE/BA,EAAS,KAAO,EAAIwG,EAAQ,GAAKA,EAAQ,GAE7CA,EAAQ,IAEnBzG,UAAW,SAAUC,EAAQC,EAAeC,EAAKC,GAC7C,IACIsG,EADAD,EAAUH,EAAWC,MAAMpG,GAG/B,OAAmB,IAAfA,EAAI+D,OAEQ,MAAR/D,GAAeD,EAAsB,eAClCE,GAAYF,EAAgBuG,EAAQ,GAAKA,EAAQ,IAG5DC,EAAOJ,EAAWE,uBAAuBvG,EAAQwG,GAErC,OAARtG,GAAgBD,GAA0B,WAATwG,EAC1BzG,EAAS,UAGbA,EAAS,IAAMyG,KAI1Bs7F,EAAKzlG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,mFAAmFC,MACvF,KAEJC,YACI,2DAA2DD,MAAM,KACrEsC,kBAAkB,EAClBpC,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,cACHC,GAAI,gBACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,eACTC,SAAU,WACN,OAAQpB,KAAKsK,OACT,KAAK,EACD,MAAO,uBACX,KAAK,EACD,MAAO,qBACX,KAAK,EACD,MAAO,sBACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAAO,oBAGnBjJ,QAAS,cACTC,SAAU,WACN,IAAIiJ,EAAe,CACf,4BACA,gCACA,4BACA,0BACA,8BACA,2BACA,4BAEJ,OAAOA,EAAavK,KAAKsK,QAE7B/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,mBACHC,GAAIoI,EAAWtG,UACf7B,EAAGmI,EAAWtG,UACd5B,GAAIkI,EAAWtG,UACf3B,EAAGiI,EAAWtG,UACd1B,GAAIgI,EAAWtG,UACfzB,EAAG+H,EAAWtG,UACdxB,GAAI8H,EAAWtG,UACfvB,EAAG6H,EAAWtG,UACdtB,GAAI4H,EAAWtG,UACfrB,EAAG2H,EAAWtG,UACdpB,GAAI0H,EAAWtG,WAEnBJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOijG,M,sBCpIT,SAAU5lG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAMzB;IAAI0lG,EAAM1lG,EAAOE,aAAa,MAAO,CACjCC,OAAQ,sFAAsFC,MAC1F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,8BACLC,KAAM,0CAEV4B,cAAe,aACfwC,KAAM,SAAUP,GACZ,MAAO,QAAUA,EAAMkoE,eAE3BhqE,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,MAAQ,MAElBA,EAAU,MAAQ,OAGjChC,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,cACVC,QAAS,eACTC,SAAU,8BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,OACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAIqE,EACJpE,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,SAAS8D,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACThE,EAAG,CAAC,kBAAmB,mBACvBC,GAAI,CAAC+B,EAAS,WAAiBA,EAAS,YACxC9B,EAAG,CAAC,UAAW,cACfC,GAAI,CAAC6B,EAAS,SAAeA,EAAS,UACtC5B,EAAG,CAAC,UAAW,eACfC,GAAI,CAAC2B,EAAS,SAAeA,EAAS,UACtC1B,EAAG,CAAC,UAAW,eACfC,GAAI,CAACyB,EAAS,SAAeA,EAAS,UACtCxB,EAAG,CAAC,SAAU,aACdC,GAAI,CAACuB,EAAS,SAAeA,EAAS,UACtCtB,EAAG,CAAC,QAAS,YACbC,GAAI,CAACqB,EAAS,OAAaA,EAAS,SAExC,OAAOG,GAEDF,EADA+B,EAAO9B,GAAK,GAGV8B,EAAO9B,GAAK,GAGxB,OAAO8hG,M,uBC7FT,SAAU7lG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2lG,EAAe,iDAAiDvlG,MAAM,KAE1E,SAASwlG,EAAgB1iG,GACrB,IAAIy+D,EAAOz+D,EASX,OARAy+D,GAC+B,IAA3Bz+D,EAAO6J,QAAQ,OACT40D,EAAK16D,MAAM,GAAI,GAAK,OACO,IAA3B/D,EAAO6J,QAAQ,OACb40D,EAAK16D,MAAM,GAAI,GAAK,OACO,IAA3B/D,EAAO6J,QAAQ,OACb40D,EAAK16D,MAAM,GAAI,GAAK,MACpB06D,EAAO,OACdA,EAGX,SAASkkC,EAAc3iG,GACnB,IAAIy+D,EAAOz+D,EASX,OARAy+D,GAC+B,IAA3Bz+D,EAAO6J,QAAQ,OACT40D,EAAK16D,MAAM,GAAI,GAAK,OACO,IAA3B/D,EAAO6J,QAAQ,OACb40D,EAAK16D,MAAM,GAAI,GAAK,OACO,IAA3B/D,EAAO6J,QAAQ,OACb40D,EAAK16D,MAAM,GAAI,GAAK,MACpB06D,EAAO,OACdA,EAGX,SAASl+D,EAAUC,EAAQC,EAAeoH,EAAQlH,GAC9C,IAAIiiG,EAAaC,EAAariG,GAC9B,OAAQqH,GACJ,IAAK,KACD,OAAO+6F,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,OACxB,IAAK,KACD,OAAOA,EAAa,QAIhC,SAASC,EAAariG,GAClB,IAAIsiG,EAAUn/F,KAAKD,MAAOlD,EAAS,IAAQ,KACvCuiG,EAAMp/F,KAAKD,MAAOlD,EAAS,IAAO,IAClCwiG,EAAMxiG,EAAS,GACfyG,EAAO,GAUX,OATI67F,EAAU,IACV77F,GAAQw7F,EAAaK,GAAW,SAEhCC,EAAM,IACN97F,IAAkB,KAATA,EAAc,IAAM,IAAMw7F,EAAaM,GAAO,OAEvDC,EAAM,IACN/7F,IAAkB,KAATA,EAAc,IAAM,IAAMw7F,EAAaO,IAEpC,KAAT/7F,EAAc,OAASA,EAGlC,IAAIg8F,EAAMnmG,EAAOE,aAAa,MAAO,CACjCC,OAAQ,kMAAkMC,MACtM,KAEJC,YACI,0HAA0HD,MACtH,KAERsC,kBAAkB,EAClBpC,SAAU,2DAA2DF,MACjE,KAEJG,cACI,2DAA2DH,MAAM,KACrEI,YACI,2DAA2DJ,MAAM,KACrEK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,MACVC,QAAS,cACTC,SAAU,MACVC,SAAU,KAEdC,aAAc,CACVC,OAAQokG,EACRnkG,KAAMokG,EACNnkG,EAAG,UACHC,GAAI8B,EACJ7B,EAAG,UACHC,GAAI4B,EACJ3B,EAAG,UACHC,GAAI0B,EACJzB,EAAG,UACHC,GAAIwB,EACJvB,EAAG,UACHC,GAAIsB,EACJrB,EAAG,UACHC,GAAIoB,GAERJ,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO2jG,M,sBChIT,SAAUtmG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGT21F,EAAKpmG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,qJAAqJC,MACzJ,KAEJC,YACI,iEAAiED,MAC7D,KAERwF,iBAAkB,gBAClBlD,kBAAkB,EAClBpC,SACI,gFAAgFF,MAC5E,KAERG,cAAe,oDAAoDH,MAC/D,KAEJI,YAAa,6BAA6BJ,MAAM,KAChDK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,cACTC,QAAS,cACTC,SAAU,wBACVC,QAAS,YACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,QACHC,GAAI,YACJC,EAAG,aACHC,GAAI,WACJC,EAAG,cACHC,GAAI,YACJC,EAAG,WACHC,GAAI,UACJC,EAAG,YACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBlC,cAAe,wCACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAGO,WAAbC,GAAyBD,GAAQ,GACpB,YAAbC,GAA0BD,EAAO,GACrB,YAAbC,EAEOD,EAAO,GAEPA,GAGfC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,SACAA,EAAO,GACP,UACAA,EAAO,GACP,UACAA,EAAO,GACP,UAEA,UAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO4jG,M,sBChIT,SAAUvmG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIqmG,EAAOrmG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,iFAAiFF,MAC7E,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,mCACLC,KAAM,0CAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,WACN,OAAsB,IAAftB,KAAKsK,OAA8B,IAAftK,KAAKsK,MAC1B,wBACA,yBAEV/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,QACNC,EAAG,kBACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJC,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACT8wE,YAAa,kBAGjB,OAAOiyB,M,sBC7DT,SAAUxmG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsmG,EAAMtmG,EAAOE,aAAa,MAAO,CACjCC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,wBAAwBJ,MAAM,KAC3CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,YACHC,GAAI,eACJC,IAAK,qBACLC,KAAM,6BAEVC,SAAU,CACNC,QAAS,oBACTC,QAAS,gBACTC,SAAU,0BACVC,QAAS,eACTC,SAAU,4BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,gBACRC,KAAM,mBACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,eACHC,GAAI,YACJC,EAAG,aACHC,GAAI,UACJC,EAAG,aACHC,GAAI,UACJC,EAAG,cACHC,GAAI,WACJC,EAAG,aACHC,GAAI,WAERgB,uBAAwB,UACxBC,QAAS,SAAUI,GACf,OAAOA,GAEXpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO8jG,M,sBC9DT,SAAUzmG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIumG,EAAOvmG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,CACJuF,OAAQ,4GAA4GtF,MAChH,KAEJoG,WACI,gGAAgGpG,MAC5F,MAGZC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,gEAAgEF,MAC5D,KAERG,cAAe,+BAA+BH,MAAM,KACpDI,YAAa,+BAA+BJ,MAAM,KAClDK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,iBACJC,IAAK,wBACLC,KAAM,+BAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,YACTE,QAAS,YACTD,SAAU,WACN,MAAO,sBAEXE,SAAU,WACN,MAAO,8BAEXC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,UACNC,EAAG,mBACHC,GAAI,cACJC,EAAG,OACHC,GAAI,UACJC,EAAG,MACHC,GAAI,SACJC,EAAG,KACHC,GAAI,QACJC,EAAG,OACHC,GAAI,UACJC,EAAG,OACHC,GAAI,WAERM,cAAe,oCACfwC,KAAM,SAAUP,GACZ,MAAO,uBAAuBnF,KAAKmF,IAEvC9B,SAAU,SAAUD,GAChB,OAAIA,EAAO,EACA,UACAA,EAAO,GACP,WACAA,EAAO,GACP,UAEA,YAGfQ,uBAAwB,0BACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GACJ,IAAK,MACL,IAAK,IACL,IAAK,IACL,IAAK,OACD,OAAe,IAAX3B,EACOA,EAAS,MAEbA,EAAS,MACpB,QACI,OAAOA,IAGnBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO+jG,M,sBClGT,SAAU1mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIwmG,EAAKxmG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJqG,WACI,oFAAoFpG,MAChF,KAERsF,OAAQ,qHAAqHtF,MACzH,KAEJqG,SAAU,mBAEdpG,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SACI,8DAA8DF,MAC1D,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,mBACJmE,GAAI,aACJlE,IAAK,gCACLmE,IAAK,mBACLlE,KAAM,qCACNmE,KAAM,wBAEVlE,SAAU,CACNC,QAAS,WACL,MAAO,YAA+B,IAAjBlB,KAAKmG,QAAgB,MAAQ,MAAQ,QAE9DhF,QAAS,WACL,MAAO,YAA+B,IAAjBnB,KAAKmG,QAAgB,MAAQ,MAAQ,QAE9D/E,SAAU,WACN,MAAO,YAA+B,IAAjBpB,KAAKmG,QAAgB,MAAQ,MAAQ,QAE9D9E,QAAS,WACL,MAAO,YAA+B,IAAjBrB,KAAKmG,QAAgB,MAAQ,MAAQ,QAE9D7E,SAAU,WACN,MACI,wBACkB,IAAjBtB,KAAKmG,QAAgB,MAAQ,MAC9B,QAGR5E,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,QACNC,EAAG,aACHC,GAAI,YACJC,EAAG,WACHC,GAAI,YACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJC,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,qBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,IAAInC,EACW,IAAXQ,EACM,IACW,IAAXA,EACE,IACW,IAAXA,EACE,IACW,IAAXA,EACE,IACA,IAIhB,MAHe,MAAX2B,GAA6B,MAAXA,IAClBnC,EAAS,KAENQ,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOgkG,M,sBCxGT,SAAU3mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIymG,EAAOzmG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,uFAAuFC,MAC3F,KAEJC,YACI,iEAAiED,MAC7D,KAERsC,kBAAkB,EAClBpC,SAAU,sDAAsDF,MAAM,KACtEG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,qBACTC,QAAS,gBACTC,SAAU,cACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,YACNC,EAAG,oBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,YACHC,GAAI,YACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,QACHC,GAAI,UAERgB,uBAAwB,gBACxBC,QAAS,SAAUI,EAAQ2B,GACvB,OAAQA,GAEJ,QACA,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,MACL,IAAK,IACD,OAAO3B,GAAqB,IAAXA,EAAe,KAAO,KAG3C,IAAK,IACL,IAAK,IACD,OAAOA,GAAqB,IAAXA,EAAe,KAAO,SAKvD,OAAO+iG,M,sBCzET,SAAU5mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIizE,EACI,6DAA6D7yE,MAAM,KACvE8yE,EACI,kDAAkD9yE,MAAM,KAC5DmF,EAAc,CACV,QACA,QACA,oBACA,QACA,SACA,cACA,cACA,QACA,QACA,QACA,QACA,SAEJC,EACI,qKAEJkhG,EAAO1mG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbwtE,EAAuBtxE,EAAE+D,SAEzBstE,EAAoBrxE,EAAE+D,SAJtBstE,GAQfztE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,4FACJC,uBACI,mFAEJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAElBjF,SACI,6DAA6DF,MAAM,KACvEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,aACNC,EAAG,oBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,UACHC,GAAI,SACJC,EAAG,UACHC,GAAI,WACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WAERgB,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOkkG,M,sBC1GT,SAAU7mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAETlL,EAAc,CACV,OACA,WACA,UACA,UACA,OACA,QACA,QACA,OACA,aACA,UACA,WACA,cAEJS,EAAmB,CACf,OACA,QACA,UACA,UACA,OACA,QACA,QACA,OACA,QACA,UACA,OACA,SAGJ2O,EAAK3U,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,CACJuF,OAAQ,8EAA8EtF,MAClF,KAEJoG,WACI,0EAA0EpG,MACtE,MAGZC,YACI,6DAA6DD,MAAM,KACvEE,SAAU,uDAAuDF,MAAM,KACvEG,cAAe,kCAAkCH,MAAM,KACvDI,YAAa,qBAAqBJ,MAAM,KACxCK,eAAgB,CACZC,GAAI,aACJC,IAAK,gBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAGVwE,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBA,EAElBR,YACI,+KAEJI,iBACI,+KAEJC,kBACI,uIAEJC,uBACI,sFAEJ9E,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,WACVC,QAAS,UACTC,SAAU,mBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,UACNC,EAAG,cACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,SACHC,GAAI,SACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAKzBlC,cAAe,qBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,QAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbC,EACAD,EACa,UAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,QAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,QACAA,EAAO,GACP,MAEA,OAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmS,M,qBChLXjV,EAAOC,QAAU,IAA0B,8B,sBCIzC,SAAUE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTk2F,EAAK3mG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yFAAyFC,MAC7F,KAEJC,YACI,yEAAyED,MACrE,KAERsC,kBAAkB,EAClBpC,SAAU,wDAAwDF,MAC9D,KAEJG,cAAe,mCAAmCH,MAAM,KACxDI,YAAa,qBAAqBJ,MAAM,KACxCK,eAAgB,CACZC,GAAI,gBACJC,IAAK,mBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,6BACLC,KAAM,oCAEVC,SAAU,CACNC,QAAS,UACTC,QAAS,YACTC,SAAU,WACVC,QAAS,cACTC,SAAU,mBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,WACNC,EAAG,WACHC,GAAI,WACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,WACHC,GAAI,WACJC,EAAG,UACHC,GAAI,WAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAKzBlC,cAAe,qBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,QAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbC,EACAD,EACa,SAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,OACAA,EAAO,GACP,OAEA,OAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmkG,M,sBC9HT,SAAU9mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4mG,EAAO5mG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOokG,M,sBCxET,SAAU/mG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTo2F,EAAK7mG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yEAAyEC,MAC7E,KAEJC,YACI,yEAAyED,MACrE,KAERE,SAAU,iDAAiDF,MAAM,KACjEG,cAAe,oBAAoBH,MAAM,KACzCI,YAAa,oBAAoBJ,MAAM,KACvC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,cACfwC,KAAM,SAAUP,GACZ,MAAiB,UAAVA,GAEX9B,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,QAEA,SAGf7B,SAAU,CACNC,QAAS,oBACTC,QAAS,kBACTC,SAAU,iBACVC,QAAS,qBACTC,SAAU,8BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,QACNC,EAAG,iBACHC,GAAI,YACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,QACHC,GAAI,QACJC,EAAG,WACHC,GAAI,YAERgB,uBAAwB,YACxBC,QAAS,OACT2H,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAGzBvC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOqkG,M,sBC3GT,SAAUhnG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIq/E,EAAKr/E,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV4B,cAAe,8BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EACa,cAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbC,GAAsC,UAAbA,EACzBD,EAAO,QADX,GAIXC,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACD,OACAA,EAAQ,GACR,YACAA,EAAQ,GACR,SAEA,SAGflF,SAAU,CACNC,QAAS,sBACTC,QAAS,kBACTC,SAAU,kBACVC,QAAS,sBACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,gBACNC,EAAG,gBACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO68E,M,sBC9ET,SAAUx/E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAASsG,EAAoB5C,EAAQC,EAAeC,EAAKC,GACrD,IAAI6B,EAAS,CACThE,EAAG,CAAC,eAAgB,cAAe,iBACnCC,GAAI,CAAC+B,EAAS,UAAWA,EAAS,YAClC9B,EAAG,CAAC,aAAc,aAClBC,GAAI,CAAC6B,EAAS,UAAWA,EAAS,YAClC5B,EAAG,CAAC,YAAa,YAAa,YAC9BC,GAAI,CAAC2B,EAAS,SAAUA,EAAS,UACjC1B,EAAG,CAAC,YAAa,YACjBE,EAAG,CAAC,UAAW,WAAY,WAC3BC,GAAI,CAACuB,EAAS,OAAQA,EAAS,SAC/BtB,EAAG,CAAC,YAAa,QAAS,aAC1BC,GAAI,CAACqB,EAAS,SAAUA,EAAS,YAErC,OAAIC,EACO+B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAElDC,EAAW6B,EAAO9B,GAAK,GAAK8B,EAAO9B,GAAK,GAGnD,IAAIkjG,EAAK9mG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6FAA6FC,MACjG,KAEJC,YACI,6DAA6DD,MAAM,KACvEE,SACI,iEAAiEF,MAC7D,KAERG,cAAe,gBAAgBH,MAAM,KACrCI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,qBACVC,QAAS,aACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,YACNC,EAAG4E,EACH3E,GAAI2E,EACJ1E,EAAG0E,EACHzE,GAAIyE,EACJxE,EAAGwE,EACHvE,GAAIuE,EACJtE,EAAGsE,EACHrE,GAAI,WACJC,EAAGoE,EACHnE,GAAImE,EACJlE,EAAGkE,EACHjE,GAAIiE,GAERjD,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOskG,M,sBClFT,SAAUjnG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI+mG,EAAO/mG,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOukG,M,sBCxET,SAAUlnG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAKzB;IAAIgnG,EAAKhnG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,kGAAkGC,MACtG,KAEJC,YAAa,wDAAwDD,MACjE,KAEJE,SACI,gEAAgEF,MAC5D,KAERG,cAAe,gCAAgCH,MAAM,KACrDI,YAAa,qBAAqBJ,MAAM,KACxC6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,sCAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,aACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,eACHC,GAAI,WACJC,EAAG,YACHC,GAAI,cACJC,EAAG,MACHC,GAAI,SACJC,EAAG,OACHC,GAAI,SACJC,EAAG,OACHC,GAAI,SACJC,EAAG,MACHC,GAAI,UAERgB,uBAAwB,eACxBC,QAAS,SAAUI,GACf,OAAOA,EAAS,SAEpBf,cAAe,4BACfwC,KAAM,SAAUP,GACZ,MAAiB,SAAVA,GAA8B,YAAVA,GAE/B9B,SAAU,SAAUoD,EAAOsD,EAASxG,GAChC,OAAIkD,EAAQ,GACDlD,EAAU,OAAS,UAEnBA,EAAU,QAAU,aAKvC,OAAOgkG,M,sBCzET,SAAUnnG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIsmC,EAAKtmC,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,2FAA2FC,MAC/F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SACI,iFAAiFF,MAC7E,KAERG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,wBACJC,IAAK,8BACLC,KAAM,qCAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,gBACTC,SAAU,WACN,OAAsB,IAAftB,KAAKsK,OAA8B,IAAftK,KAAKsK,MAC1B,wBACA,yBAEV/I,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,QACNC,EAAG,WACHC,GAAI,cACJC,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WACJC,EAAG,SACHC,GAAI,UACJkE,EAAG,aACHC,GAAI,aACJlE,EAAG,SACHC,GAAI,WACJC,EAAG,SACHC,GAAI,WAERgB,uBAAwB,WACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO8jC,M,sBCnET,SAAUzmC,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIyK,EAAY,CACRpC,EAAG,IACHK,EAAG,IACHI,EAAG,IACHC,EAAG,IACHT,EAAG,IACHW,EAAG,IACHN,EAAG,IACHJ,EAAG,IACHW,EAAG,IACHwB,EAAG,KAEP+F,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTw2F,EAAOjnG,EAAOE,aAAa,QAAS,CAEpCC,OAAQ,sEAAsEC,MAC1E,KAEJC,YACI,sEAAsED,MAClE,KAERE,SAAU,yDAAyDF,MAC/D,KAEJG,cAAe,iCAAiCH,MAAM,KACtDI,YAAa,iCAAiCJ,MAAM,KACpDK,eAAgB,CACZC,GAAI,aACJC,IAAK,gBACLC,EAAG,aACHC,GAAI,cACJC,IAAK,0BACLC,KAAM,iCAEVC,SAAU,CACNC,QAAS,UACTC,QAAS,UACTC,SAAU,kBACVC,QAAS,UACTC,SAAU,mBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,WACNC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UACJC,EAAG,WACHC,GAAI,UACJC,EAAG,UACHC,GAAI,SACJC,EAAG,YACHC,GAAI,WACJC,EAAG,UACHC,GAAI,UAER4I,SAAU,SAAUF,GAChB,OAAOA,EAAOhE,QAAQ,iBAAiB,SAAUlC,GAC7C,OAAO4L,EAAU5L,OAGzBqG,WAAY,SAAUH,GAClB,OAAOA,EAAOhE,QAAQ,OAAO,SAAUlC,GACnC,OAAO4F,EAAU5F,OAKzBlC,cAAe,uBACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,QAAbC,EACOD,EAAO,EAAIA,EAAOA,EAAO,GACZ,SAAbC,EACAD,EACa,WAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,SAAbC,EACAD,EAAO,QADX,GAIXC,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,EACA,MACAA,EAAO,GACP,OACAA,EAAO,GACP,SACAA,EAAO,GACP,OAEA,OAGfP,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOykG,M,kCCjIX,IAAIC,EAAwB,EAAQ,QAChCn3B,EAAa,EAAQ,QACrBo3B,EAAa,EAAQ,QACrB5nG,EAAkB,EAAQ,QAE1BC,EAAgBD,EAAgB,eAChC6nG,EAAU16F,OAGV26F,EAAwE,cAApDF,EAAW,WAAc,OAAOrxF,UAArB,IAG/BwxF,EAAS,SAAUh5B,EAAI1qE,GACzB,IACE,OAAO0qE,EAAG1qE,GACV,MAAO+a,MAIXjf,EAAOC,QAAUunG,EAAwBC,EAAa,SAAU74B,GAC9D,IAAI4C,EAAGq2B,EAAKzjG,EACZ,YAAc+D,IAAPymE,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDi5B,EAAMD,EAAOp2B,EAAIk2B,EAAQ94B,GAAK9uE,IAA8B+nG,EAEpEF,EAAoBF,EAAWj2B,GAEF,YAA5BptE,EAASqjG,EAAWj2B,KAAoBnB,EAAWmB,EAAEs2B,QAAU,YAAc1jG,I,uBCxBlF,SAAUjE,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIG,EAAS,CACL,gBACA,aACA,UACA,aACA,aACA,eACA,cACA,cACA,eACA,aACA,eACA,gBAEJE,EAAc,CACV,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QAEJC,EAAW,CACP,cACA,UACA,UACA,YACA,YACA,WACA,eAEJC,EAAgB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3DC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAEnDinG,EAAKznG,EAAOE,aAAa,KAAM,CAC/BC,OAAQA,EACRE,YAAaA,EACbqC,kBAAkB,EAClBpC,SAAUA,EACVC,cAAeA,EACfC,YAAaA,EACbC,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,oBACTC,QAAS,sBACTC,SAAU,gBACVC,QAAS,iBACTC,SAAU,6BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,gBACNC,EAAG,gBACHC,GAAI,YACJC,EAAG,UACHC,GAAI,gBACJC,EAAG,OACHC,GAAI,aACJC,EAAG,QACHC,GAAI,WACJC,EAAG,OACHC,GAAI,YACJC,EAAG,WACHC,GAAI,eAERgB,uBAAwB,mBACxBC,QAAS,SAAUI,GACf,IAAIR,EAAoB,IAAXQ,EAAe,IAAMA,EAAS,KAAO,EAAI,KAAO,KAC7D,OAAOA,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOilG,M,sBClGT,SAAU5nG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIizE,EACI,6DAA6D7yE,MAAM,KACvE8yE,EACI,kDAAkD9yE,MAAM,KAC5DmF,EAAc,CACV,QACA,QACA,oBACA,QACA,SACA,cACA,cACA,QACA,QACA,QACA,QACA,SAEJC,EACI,qKAEJkiG,EAAK1nG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,0FAA0FC,MAC9F,KAEJC,YAAa,SAAUuB,EAAG8D,GACtB,OAAK9D,EAEM,QAAQnC,KAAKiG,GACbwtE,EAAuBtxE,EAAE+D,SAEzBstE,EAAoBrxE,EAAE+D,SAJtBstE,GAQfztE,YAAaA,EACbI,iBAAkBJ,EAClBK,kBACI,4FACJC,uBACI,mFAEJP,YAAaA,EACbQ,gBAAiBR,EACjBS,iBAAkBT,EAElBjF,SACI,6DAA6DF,MAAM,KACvEG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,0BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,mBACTC,SAAU,2BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,UACRC,KAAM,aACNC,EAAG,oBACHC,GAAI,cACJC,EAAG,aACHC,GAAI,aACJC,EAAG,UACHC,GAAI,SACJC,EAAG,UACHC,GAAI,WACJkE,EAAG,WACHC,GAAI,WACJlE,EAAG,YACHC,GAAI,aACJC,EAAG,WACHC,GAAI,WAERgB,uBAAwB,kBACxBC,QAAS,SAAUI,GACf,OACIA,GACY,IAAXA,GAA2B,IAAXA,GAAgBA,GAAU,GAAK,MAAQ,OAGhEpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOklG,M,sBC5GT,SAAU7nG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2nG,EAAU3nG,EAAOE,aAAa,WAAY,CAC1CC,OAAQ,6GAA6GC,MACjH,KAEJC,YACI,8DAA8DD,MAC1D,KAERsC,kBAAkB,EAClBpC,SACI,yEAAyEF,MACrE,KAERG,cAAe,qCAAqCH,MAAM,KAC1DI,YAAa,4BAA4BJ,MAAM,KAC/C6F,oBAAoB,EACpBxF,eAAgB,CACZC,GAAI,QACJE,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,kBACTC,QAAS,sBACTC,SAAU,eACVC,QAAS,uBACTC,SAAU,uBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,UACNC,EAAG,mBACHC,GAAI,eACJC,EAAG,aACHC,GAAI,eACJC,EAAG,YACHC,GAAI,YACJC,EAAG,SACHC,GAAI,WACJC,EAAG,YACHC,GAAI,cACJC,EAAG,UACHC,GAAI,aAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyE,EAAIzE,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyE,EACE,KACM,IAANA,EACE,KACM,IAANA,EACE,KACA,KACpB,OAAOzE,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOmlG,M,uBC7ET,SAAU9nG,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4nG,EAAK5nG,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,mJAAmJC,MACvJ,KAEJC,YACI,6DAA6DD,MAAM,KACvEE,SACI,6EAA6EF,MACzE,KAERG,cAAe,mCAAmCH,MAAM,KACxDI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,oBACJC,IAAK,gCACLC,KAAM,uCAEVC,SAAU,CACNC,QAAS,eACTC,QAAS,iBACTC,SAAU,eACVC,QAAS,eACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,WACNC,EAAG,mBACHC,GAAI,eACJC,EAAG,eACHC,GAAI,cACJC,EAAG,cACHC,GAAI,aACJC,EAAG,cACHC,GAAI,cACJC,EAAG,aACHC,GAAI,WACJC,EAAG,aACHC,GAAI,YAERgB,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOolG","file":"js/chunk-4d2bfe83.82721ce8.js","sourcesContent":["'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n if (!this.$refs.canvas) throw new Error('Please remove the tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components');\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the