{"version":3,"sources":["webpack:///./node_modules/chart.js/src/core/core.animation.js","webpack:///./node_modules/chart.js/src/core/core.defaults.js","webpack:///./node_modules/chart.js/src/controllers/controller.line.js","webpack:///./node_modules/chart.js/src/core/core.datasetController.js","webpack:///./node_modules/chart.js/src/core/core.element.js","webpack:///./node_modules/chart.js/src/charts/Chart.Bar.js","webpack:///./node_modules/chart.js/src/charts/Chart.Bubble.js","webpack:///./node_modules/chart.js/src/charts/Chart.Scatter.js","webpack:///./node_modules/chart.js/src/charts/Chart.Doughnut.js","webpack:///./node_modules/chart.js/src/core/core.plugins.js","webpack:///./node_modules/chart.js/src/chart.js","webpack:///./node_modules/chart.js/src/controllers/controller.doughnut.js","webpack:///./node_modules/chart.js/src/controllers/controller.bar.js","webpack:///./node_modules/chart.js/src/controllers/controller.radar.js","webpack:///./node_modules/chart.js/src/controllers/controller.bubble.js","webpack:///./node_modules/chart.js/src/core/core.scale.js","webpack:///./node_modules/chart.js/src/core/core.layouts.js","webpack:///./node_modules/chart.js/src/core/core.ticks.js","webpack:///./node_modules/chart.js/src/charts/Chart.Radar.js","webpack:///./node_modules/chart.js/src/core/core.interaction.js","webpack:///./node_modules/chart.js/src/core/core.helpers.js","webpack:///./node_modules/chart.js/src/charts/Chart.PolarArea.js","webpack:///./node_modules/chart.js/src/core/core.scaleService.js","webpack:///./node_modules/chart.js/src/core/core.tooltip.js","webpack:///./node_modules/chart.js/src/core/core.js","webpack:///./node_modules/chart.js/src/controllers/controller.scatter.js","webpack:///./node_modules/chart.js/src/controllers/controller.polarArea.js","webpack:///./node_modules/chart.js/src/core/core.controller.js","webpack:///./node_modules/chart.js/src/charts/Chart.Line.js"],"names":["defaults","Element","helpers","_set","animation","duration","easing","onProgress","noop","onComplete","module","exports","Chart","Animation","extend","chart","currentStep","numSteps","render","onAnimationProgress","onAnimationComplete","animationService","frameDuration","animations","dropFrames","request","addAnimation","lazy","i","ilen","this","animating","length","push","requestAnimationFrame","cancelAnimation","index","findIndex","splice","me","requestAnimFrame","call","window","startDigest","startTime","Date","now","framesToDrop","Math","floor","advance","endTime","count","min","callback","Object","defineProperty","prototype","get","set","value","scope","values","merge","elements","showLines","spanGaps","hover","mode","scales","xAxes","type","id","yAxes","lineEnabled","dataset","options","valueOrDefault","showLine","controllers","line","DatasetController","datasetElementType","Line","dataElementType","Point","update","reset","custom","meta","getMeta","points","data","lineElementOptions","scale","getScaleForId","yAxisID","getDataset","undefined","tension","lineTension","_scale","_datasetIndex","_children","_model","backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill","steppedLine","stepped","cubicInterpolationMode","pivot","updateElement","updateBezierControlPoints","getPointBackgroundColor","point","pointBackgroundColor","valueAtIndexOrDefault","getPointBorderColor","pointBorderColor","getPointBorderWidth","isNaN","pointBorderWidth","isArray","x","y","datasetIndex","yScale","xScale","xAxisID","pointOptions","radius","pointRadius","hitRadius","pointHitRadius","getPixelForValue","NaN","getBasePixel","calculatePointY","_xScale","_yScale","_index","skip","pointStyle","ds","dsMeta","sumPos","sumNeg","stacked","datasets","getDatasetMeta","isDatasetVisible","stackedRightValue","Number","getRightValue","rightValue","model","controlPoints","area","chartArea","capControlPoint","pt","max","filter","splineCurveMonotone","splineCurve","previousItem","nextItem","controlPointPreviousX","previous","controlPointPreviousY","controlPointNextX","next","controlPointNextY","capBezierPoints","left","right","top","bottom","draw","canvas","clipArea","ctx","unclipArea","setHoverStyle","hoverRadius","pointHoverRadius","hoverBackgroundColor","pointHoverBackgroundColor","getHoverColor","hoverBorderColor","pointHoverBorderColor","hoverBorderWidth","pointHoverBorderWidth","removeHoverStyle","arrayEvents","listenArrayEvents","array","listener","_chartjs","listeners","configurable","enumerable","forEach","key","method","charAt","toUpperCase","slice","base","args","Array","arguments","res","apply","each","object","unlistenArrayEvents","stub","indexOf","initialize","linkScales","addElements","updateIndex","scaleID","destroy","_data","createMetaDataset","_chart","createMetaData","metaData","addElementAndReset","element","buildOrUpdateElements","resyncElements","transition","easingValue","elementOpts","numMeta","numData","insertElements","start","onDataPush","onDataPop","pop","onDataShift","shift","onDataSplice","onDataUnshift","inherits","color","interpolate","view","ease","actual","origin","target","c0","c1","keys","hasOwnProperty","valid","mix","rgbString","isFinite","configuration","hidden","_view","clone","_start","tooltipPosition","hasValue","isNumber","Bar","context","config","Bubble","Scatter","Doughnut","plugins","_plugins","_cacheId","register","p","concat","plugin","unregister","idx","clear","getAll","notify","hook","descriptor","params","descriptors","cache","$plugins","opts","global","_invalidate","Interaction","layouts","platform","Ticks","k","Legend","legend","_element","Title","title","pluginService","PluginBase","canvasHelpers","layoutService","animateRotate","animateScale","legendCallback","text","labels","join","generateLabels","map","label","arc","arcOpts","stroke","bw","fillStyle","strokeStyle","lineWidth","onClick","e","legendItem","cutoutPercentage","rotation","PI","circumference","tooltips","callbacks","tooltipItem","dataLabel","doughnut","pie","Arc","getRingIndex","ringIndex","j","availableWidth","availableHeight","minSize","offset","startAngle","endAngle","cos","sin","end","contains0","contains90","contains180","contains270","cutout","size","width","height","getMaxBorderWidth","outerRadius","innerRadius","radiusLength","getVisibleDatasetCount","offsetX","offsetY","total","calculateTotal","animationOpts","centerX","centerY","calculateCircumference","abs","arcs","hoverWidth","computeMinSampleSize","pixels","prev","curr","isHorizontal","ticks","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","ratio","thickness","barThickness","stackCount","isNullOrUndef","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","percent","gridLines","offsetGridLines","axis","position","rectangle","borderSkipped","item","yLabel","datasetLabel","xLabel","bar","Rectangle","stack","rects","_ruler","getRuler","rectangleOptions","updateElementGeometry","vscale","getValueScale","horizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","getValueScaleId","getIndexScaleId","getIndexScale","_getStacks","last","stacks","getStackCount","getStackIndex","name","imeta","ivalue","controller","range","stackIndex","maxBarThickness","Infinity","rectangleElementOptions","horizontalBar","radar","_loop","pointElementOptions","pointPosition","getPointPositionForValue","xCenter","yCenter","dataPoint","r","bubble","_resolveElementOptions","dsIndex","getPixelForDecimal","_options","resolve","dataIndex","labelsFromTicks","getLineValue","lineValue","display","drawBorder","drawOnChartArea","drawTicks","tickMarkLength","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","lineHeight","padding","beginAtZero","minRotation","maxRotation","mirror","reverse","autoSkip","autoSkipPadding","labelOffset","formatters","minor","major","computeTextSize","tick","font","longestText","measureText","parseFontOptions","globalDefaults","fontSize","defaultFontSize","style","fontStyle","defaultFontStyle","family","fontFamily","defaultFontFamily","fontString","parseLineHeight","toLineHeight","Scale","getPadding","paddingLeft","paddingTop","paddingRight","paddingBottom","_ticks","mergeTicksOptions","beforeUpdate","maxWidth","maxHeight","margins","longestTextCache","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","beforeTickToLabelConversion","convertTicksToLabels","afterTickToLabelConversion","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","afterUpdate","tickOpts","userCallback","tickFont","labelRotation","cosRotation","sinRotation","originalLabelWidth","labelWidth","tickWidth","angleRadians","toRadians","scaleLabelOpts","gridLineOpts","isFullWidth","scaleLabelLineHeight","scaleLabelPadding","toPadding","deltaHeight","largestTextWidth","tallestLabelHeightInLines","numberOfLabelLines","lineSpace","tickPadding","longestLabelWidth","labelHeight","firstLabelWidth","lastLabelWidth","handleMargins","rawValue","getLabelForIndex","getValueForPixel","innerWidth","pixel","finalVal","round","innerHeight","decimal","valueOffset","getBaseValue","_autoSkip","skipRatio","shouldSkip","maxTicks","optionTicks","tickCount","labelRotationRadians","longestRotatedLabel","result","maxTicksLimit","optionMajorTicks","isRotated","tickFontColor","fontColor","defaultFontColor","majorTickFontColor","majorTickFont","tl","scaleLabelFontColor","scaleLabelFont","itemsToDraw","axisWidth","xTickStart","xTickEnd","yTickStart","yTickEnd","lineColor","tx1","ty1","tx2","ty2","x1","y1","x2","y2","labelX","labelY","zeroLineIndex","textAlign","textBaseline","labelYOffset","xLineValue","aliasPixel","labelXOffset","isLeft","yLineValue","glWidth","glColor","glBorderDash","glBorderDashOffset","itemToDraw","save","setLineDash","lineDashOffset","beginPath","moveTo","lineTo","restore","translate","rotate","lineCount","fillText","scaleLabelX","scaleLabelY","halfLineHeight","filterByPosition","where","v","sortByWeight","_tmpIndex_","sort","a","b","v0","v1","weight","addBox","boxes","fullWidth","removeBox","layoutItem","configure","prop","props","layoutOptions","layout","leftPadding","rightPadding","topPadding","bottomPadding","leftBoxes","rightBoxes","topBoxes","bottomBoxes","chartAreaBoxes","chartWidth","chartHeight","chartAreaWidth","chartAreaHeight","verticalBoxWidth","horizontalBoxHeight","maxChartAreaWidth","maxChartAreaHeight","minBoxSizes","getMinimumBoxSize","maxHorizontalLeftPadding","maxHorizontalRightPadding","maxVerticalTopPadding","maxVerticalBottomPadding","horizontalBox","boxPadding","verticalBox","totalLeftBoxesWidth","totalRightBoxesWidth","totalTopBoxesHeight","totalBottomBoxesHeight","fitBox","box","finalFitVerticalBox","leftPaddingAddition","topPaddingAddition","newMaxChartAreaHeight","newMaxChartAreaWidth","placeBox","minBoxSize","findNextWhere","minBox","scaleMargin","linear","tickValue","delta","logDelta","log10","tickString","numDecimal","toFixed","logarithmic","remain","pow","toExponential","Radar","getRelativePosition","native","parseVisibleItems","handler","jlen","getIntersectItems","inRange","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getCenterPoint","distance","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","sqrt","indexMode","items","modes","single","nearest","sizeA","getArea","sizeB","ret","intersectsItem","inXRange","inYRange","parseMaxStyle","styleValue","node","parentProperty","valueInPixels","parseInt","parentNode","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","document","defaultView","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","configMerge","merger","source","tval","sval","scaleMerge","scaleService","getScaleDefaults","_merger","slen","collection","filterCallback","filtered","arrayToSearch","startIndex","currentItem","findPreviousWhere","n","parseFloat","almostEquals","epsilon","almostWhole","rounded","reduce","NEGATIVE_INFINITY","sign","exponent","log","LOG10E","powerOf10","isPowerOf10","degrees","toDegrees","radians","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","atan2","distanceBetweenPoints","pixelWidth","firstPoint","middlePoint","afterPoint","t","current","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","mouseX","mouseY","originalEvent","currentTarget","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","getStyle","currentDevicePixelRatio","getConstraintWidth","getConstraintHeight","getMaximumWidth","container","clientWidth","w","cw","getMaximumHeight","clientHeight","h","ch","el","property","currentStyle","getPropertyValue","retinaScale","forceRatio","pixelRatio","devicePixelRatio","pixelSize","arrayOfThings","gc","garbageCollect","longest","thing","nestedThing","gcLen","string","textWidth","numberOfLines","CanvasGradient","defaultColor","console","error","colorValue","CanvasPattern","saturate","darken","PolarArea","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","updateScaleDefaults","additions","addScalesToLayout","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","cornerRadius","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","mergeOpacity","colorString","opacity","alpha","rgbaString","pushOrConcat","toPush","createTooltipItem","getBaseModel","tooltipOpts","xAlign","yAlign","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","vm","alignment","paddingAndSize","radiusAndPadding","Tooltip","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","changed","len","existingModel","active","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","positioners","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","drawBody","xLinePadding","fillLineOfText","drawColorBoxes","textColor","fillRect","strokeRect","drawFooter","drawBackground","quadraticCurveTo","closePath","hasTooltipContent","handleEvent","getElementsAtEventForMode","arrayEquals","average","pos","eventPosition","nearestElement","d","tp","responsive","responsiveAnimationDuration","maintainAspectRatio","events","onHover","animationDuration","construct","scatter","angleLines","circular","pointLabels","polarArea","countVisibleElements","visibleCount","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","positionIsHorizontal","types","instances","acquireContext","uid","aspectRatio","_bufferedRender","bindEvents","resize","initToolTip","stop","silent","newWidth","newHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","obj","dtype","dposition","isDefault","scaleType","scaleClass","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","ControllerClass","Error","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","updateDataset","animationOptions","animationObject","easingFunction","effects","stepDecimal","drawDatasets","_drawTooltip","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","releaseContext","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","addEventListener","removeEventListener","updateHoverStyle","bufferedRequest","hoverOptions","Controller"],"mappings":"0HAGA,IAAIA,EAAW,EAAQ,QACnBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAEtBF,EAASG,KAAK,SAAU,CACvBC,UAAW,CACVC,SAAU,IACVC,OAAQ,eACRC,WAAYL,EAAQM,KACpBC,WAAYP,EAAQM,QAItBE,EAAOC,QAAU,SAASC,GAEzBA,EAAMC,UAAYZ,EAAQa,OAAO,CAChCC,MAAO,KACPC,YAAa,EACbC,SAAU,GACVX,OAAQ,GACRY,OAAQ,KAERC,oBAAqB,KACrBC,oBAAqB,OAGtBR,EAAMS,iBAAmB,CACxBC,cAAe,GACfC,WAAY,GACZC,WAAY,EACZC,QAAS,KAQTC,aAAc,SAASX,EAAOX,EAAWC,EAAUsB,GAClD,IACIC,EAAGC,EADHN,EAAaO,KAAKP,WAStB,IANAnB,EAAUW,MAAQA,EAEbY,IACJZ,EAAMgB,WAAY,GAGdH,EAAI,EAAGC,EAAON,EAAWS,OAAQJ,EAAIC,IAAQD,EACjD,GAAIL,EAAWK,GAAGb,QAAUA,EAE3B,YADAQ,EAAWK,GAAKxB,GAKlBmB,EAAWU,KAAK7B,GAGU,IAAtBmB,EAAWS,QACdF,KAAKI,yBAIPC,gBAAiB,SAASpB,GACzB,IAAIqB,EAAQlC,EAAQmC,UAAUP,KAAKP,WAAY,SAASnB,GACvD,OAAOA,EAAUW,QAAUA,KAGb,IAAXqB,IACHN,KAAKP,WAAWe,OAAOF,EAAO,GAC9BrB,EAAMgB,WAAY,IAIpBG,sBAAuB,WACtB,IAAIK,EAAKT,KACU,OAAfS,EAAGd,UAINc,EAAGd,QAAUvB,EAAQsC,iBAAiBC,KAAKC,OAAQ,WAClDH,EAAGd,QAAU,KACbc,EAAGI,kBAQNA,YAAa,WACZ,IAAIJ,EAAKT,KACLc,EAAYC,KAAKC,MACjBC,EAAe,EAEfR,EAAGf,WAAa,IACnBuB,EAAeC,KAAKC,MAAMV,EAAGf,YAC7Be,EAAGf,WAAae,EAAGf,WAAa,GAGjCe,EAAGW,QAAQ,EAAIH,GAEf,IAAII,EAAUN,KAAKC,MAEnBP,EAAGf,aAAe2B,EAAUP,GAAaL,EAAGjB,cAGxCiB,EAAGhB,WAAWS,OAAS,GAC1BO,EAAGL,yBAOLgB,QAAS,SAASE,GACjB,IACIhD,EAAWW,EADXQ,EAAaO,KAAKP,WAElBK,EAAI,EAER,MAAOA,EAAIL,EAAWS,OACrB5B,EAAYmB,EAAWK,GACvBb,EAAQX,EAAUW,MAElBX,EAAUY,aAAeZ,EAAUY,aAAe,GAAKoC,EACvDhD,EAAUY,YAAcgC,KAAKK,IAAIjD,EAAUY,YAAaZ,EAAUa,UAElEf,EAAQoD,SAASlD,EAAUc,OAAQ,CAACH,EAAOX,GAAYW,GACvDb,EAAQoD,SAASlD,EAAUe,oBAAqB,CAACf,GAAYW,GAEzDX,EAAUY,aAAeZ,EAAUa,UACtCf,EAAQoD,SAASlD,EAAUgB,oBAAqB,CAAChB,GAAYW,GAC7DA,EAAMgB,WAAY,EAClBR,EAAWe,OAAOV,EAAG,MAEnBA,IAYN2B,OAAOC,eAAe5C,EAAMC,UAAU4C,UAAW,kBAAmB,CACnEC,IAAK,WACJ,OAAO5B,QAUTyB,OAAOC,eAAe5C,EAAMC,UAAU4C,UAAW,gBAAiB,CACjEC,IAAK,WACJ,OAAO5B,KAAKf,OAEb4C,IAAK,SAASC,GACb9B,KAAKf,MAAQ6C,O,oCCrKhB,IAAI1D,EAAU,EAAQ,QAEtBQ,EAAOC,QAAU,CAIhBR,KAAM,SAAS0D,EAAOC,GACrB,OAAO5D,EAAQ6D,MAAMjC,KAAK+B,KAAW/B,KAAK+B,GAAS,IAAKC,M,oCCP1D,IAAI9D,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAEtBF,EAASG,KAAK,OAAQ,CACrB8D,WAAW,EACXC,UAAU,EAEVC,MAAO,CACNC,KAAM,SAGPC,OAAQ,CACPC,MAAO,CAAC,CACPC,KAAM,WACNC,GAAI,aAELC,MAAO,CAAC,CACPF,KAAM,SACNC,GAAI,gBAKP9D,EAAOC,QAAU,SAASC,GAEzB,SAAS8D,EAAYC,EAASC,GAC7B,OAAO1E,EAAQ2E,eAAeF,EAAQG,SAAUF,EAAQX,WAGzDrD,EAAMmE,YAAYC,KAAOpE,EAAMqE,kBAAkBnE,OAAO,CAEvDoE,mBAAoBlB,EAASmB,KAE7BC,gBAAiBpB,EAASqB,MAE1BC,OAAQ,SAASC,GAChB,IAOI3D,EAAGC,EAAM2D,EAPTjD,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVV,EAAOS,EAAKd,QACZgB,EAASF,EAAKG,MAAQ,GACtBhB,EAAUrC,EAAGxB,MAAM6D,QACnBiB,EAAqBjB,EAAQZ,SAASgB,KACtCc,EAAQvD,EAAGwD,cAAcN,EAAKO,SAE9BrB,EAAUpC,EAAG0D,aACbnB,EAAWJ,EAAYC,EAASC,GAwCpC,IArCIE,IACHU,EAASR,EAAKQ,QAAU,QAGCU,IAApBvB,EAAQwB,cAAmDD,IAAxBvB,EAAQyB,cAC/CzB,EAAQyB,YAAczB,EAAQwB,SAI/BnB,EAAKqB,OAASP,EACdd,EAAKsB,cAAgB/D,EAAGH,MAExB4C,EAAKuB,UAAYZ,EAEjBX,EAAKwB,OAAS,CAKbtC,SAAUS,EAAQT,SAAWS,EAAQT,SAAWU,EAAQV,SACxDiC,QAASX,EAAOW,QAAUX,EAAOW,QAAUjG,EAAQ2E,eAAeF,EAAQyB,YAAaP,EAAmBM,SAC1GM,gBAAiBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAmB9B,EAAQ8B,iBAAmBZ,EAAmBY,gBAClHC,YAAalB,EAAOkB,YAAclB,EAAOkB,YAAe/B,EAAQ+B,aAAeb,EAAmBa,YAClGC,YAAanB,EAAOmB,YAAcnB,EAAOmB,YAAehC,EAAQgC,aAAed,EAAmBc,YAClGC,eAAgBpB,EAAOoB,eAAiBpB,EAAOoB,eAAkBjC,EAAQiC,gBAAkBf,EAAmBe,eAC9GC,WAAYrB,EAAOqB,WAAarB,EAAOqB,WAAclC,EAAQkC,YAAchB,EAAmBgB,WAC9FC,iBAAkBtB,EAAOsB,iBAAmBtB,EAAOsB,iBAAoBnC,EAAQmC,kBAAoBjB,EAAmBiB,iBACtHC,gBAAiBvB,EAAOuB,gBAAkBvB,EAAOuB,gBAAmBpC,EAAQoC,iBAAmBlB,EAAmBkB,gBAClHC,KAAMxB,EAAOwB,KAAOxB,EAAOwB,UAAyBd,IAAjBvB,EAAQqC,KAAqBrC,EAAQqC,KAAOnB,EAAmBmB,KAClGC,YAAazB,EAAOyB,YAAczB,EAAOyB,YAAc/G,EAAQ2E,eAAeF,EAAQsC,YAAapB,EAAmBqB,SACtHC,uBAAwB3B,EAAO2B,uBAAyB3B,EAAO2B,uBAAyBjH,EAAQ2E,eAAeF,EAAQwC,uBAAwBtB,EAAmBsB,yBAGnKnC,EAAKoC,SAIDxF,EAAI,EAAGC,EAAO8D,EAAO3D,OAAQJ,EAAIC,IAAQD,EAC7CW,EAAG8E,cAAc1B,EAAO/D,GAAIA,EAAG2D,GAQhC,IALIT,GAAoC,IAAxBE,EAAKwB,OAAOL,SAC3B5D,EAAG+E,4BAIC1F,EAAI,EAAGC,EAAO8D,EAAO3D,OAAQJ,EAAIC,IAAQD,EAC7C+D,EAAO/D,GAAGwF,SAIZG,wBAAyB,SAASC,EAAOpF,GACxC,IAAIqE,EAAkB3E,KAAKf,MAAM6D,QAAQZ,SAASwD,MAAMf,gBACpD9B,EAAU7C,KAAKmE,aACfT,EAASgC,EAAMhC,QAAU,GAU7B,OARIA,EAAOiB,gBACVA,EAAkBjB,EAAOiB,gBACf9B,EAAQ8C,qBAClBhB,EAAkBvG,EAAQwH,sBAAsB/C,EAAQ8C,qBAAsBrF,EAAOqE,GAC3E9B,EAAQ8B,kBAClBA,EAAkB9B,EAAQ8B,iBAGpBA,GAGRkB,oBAAqB,SAASH,EAAOpF,GACpC,IAAIuE,EAAc7E,KAAKf,MAAM6D,QAAQZ,SAASwD,MAAMb,YAChDhC,EAAU7C,KAAKmE,aACfT,EAASgC,EAAMhC,QAAU,GAU7B,OARIA,EAAOmB,YACVA,EAAcnB,EAAOmB,YACXhC,EAAQiD,iBAClBjB,EAAczG,EAAQwH,sBAAsB/C,EAAQiD,iBAAkBxF,EAAOuE,GACnEhC,EAAQgC,cAClBA,EAAchC,EAAQgC,aAGhBA,GAGRkB,oBAAqB,SAASL,EAAOpF,GACpC,IAAIsE,EAAc5E,KAAKf,MAAM6D,QAAQZ,SAASwD,MAAMd,YAChD/B,EAAU7C,KAAKmE,aACfT,EAASgC,EAAMhC,QAAU,GAU7B,OARKsC,MAAMtC,EAAOkB,cAENoB,MAAMnD,EAAQoD,mBAAqB7H,EAAQ8H,QAAQrD,EAAQoD,kBACtErB,EAAcxG,EAAQwH,sBAAsB/C,EAAQoD,iBAAkB3F,EAAOsE,GAClEoB,MAAMnD,EAAQ+B,eACzBA,EAAc/B,EAAQ+B,aAJtBA,EAAclB,EAAOkB,YAOfA,GAGRW,cAAe,SAASG,EAAOpF,EAAOmD,GACrC,IASI0C,EAAGC,EATH3F,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVF,EAASgC,EAAMhC,QAAU,GACzBb,EAAUpC,EAAG0D,aACbkC,EAAe5F,EAAGH,MAClBwB,EAAQe,EAAQiB,KAAKxD,GACrBgG,EAAS7F,EAAGwD,cAAcN,EAAKO,SAC/BqC,EAAS9F,EAAGwD,cAAcN,EAAK6C,SAC/BC,EAAehG,EAAGxB,MAAM6D,QAAQZ,SAASwD,WAIrBtB,IAAnBvB,EAAQ6D,aAAkDtC,IAAxBvB,EAAQ8D,cAC9C9D,EAAQ8D,YAAc9D,EAAQ6D,aAEJtC,IAAtBvB,EAAQ+D,gBAAwDxC,IAA3BvB,EAAQgE,iBACjDhE,EAAQgE,eAAiBhE,EAAQ+D,WAGlCT,EAAII,EAAOO,iBAAkC,kBAAVhF,EAAqBA,EAAQiF,IAAKzG,EAAO+F,GAC5ED,EAAI3C,EAAQ6C,EAAOU,eAAiBvG,EAAGwG,gBAAgBnF,EAAOxB,EAAO+F,GAGrEX,EAAMwB,QAAUX,EAChBb,EAAMyB,QAAUb,EAChBZ,EAAMlB,cAAgB6B,EACtBX,EAAM0B,OAAS9G,EAGfoF,EAAMhB,OAAS,CACdyB,EAAGA,EACHC,EAAGA,EACHiB,KAAM3D,EAAO2D,MAAQrB,MAAMG,IAAMH,MAAMI,GAEvCM,OAAQhD,EAAOgD,QAAUtI,EAAQwH,sBAAsB/C,EAAQ8D,YAAarG,EAAOmG,EAAaC,QAChGY,WAAY5D,EAAO4D,YAAclJ,EAAQwH,sBAAsB/C,EAAQyE,WAAYhH,EAAOmG,EAAaa,YACvG3C,gBAAiBlE,EAAGgF,wBAAwBC,EAAOpF,GACnDuE,YAAapE,EAAGoF,oBAAoBH,EAAOpF,GAC3CsE,YAAanE,EAAGsF,oBAAoBL,EAAOpF,GAC3C+D,QAASV,EAAKd,QAAQ6B,OAASf,EAAKd,QAAQ6B,OAAOL,QAAU,EAC7Dc,cAAaxB,EAAKd,QAAQ6B,QAASf,EAAKd,QAAQ6B,OAAOS,YAEvDyB,UAAWlD,EAAOkD,WAAaxI,EAAQwH,sBAAsB/C,EAAQgE,eAAgBvG,EAAOmG,EAAaG,aAI3GK,gBAAiB,SAASnF,EAAOxB,EAAO+F,GACvC,IAMIvG,EAAGyH,EAAIC,EANP/G,EAAKT,KACLf,EAAQwB,EAAGxB,MACX0E,EAAOlD,EAAGmD,UACV0C,EAAS7F,EAAGwD,cAAcN,EAAKO,SAC/BuD,EAAS,EACTC,EAAS,EAGb,GAAIpB,EAAOxD,QAAQ6E,QAAS,CAC3B,IAAK7H,EAAI,EAAGA,EAAIuG,EAAcvG,IAG7B,GAFAyH,EAAKtI,EAAM6E,KAAK8D,SAAS9H,GACzB0H,EAASvI,EAAM4I,eAAe/H,GACV,SAAhB0H,EAAO/E,MAAmB+E,EAAOtD,UAAYoC,EAAO5D,IAAMzD,EAAM6I,iBAAiBhI,GAAI,CACxF,IAAIiI,EAAoBC,OAAO1B,EAAO2B,cAAcV,EAAGzD,KAAKxD,KACxDyH,EAAoB,EACvBL,GAAUK,GAAqB,EAE/BN,GAAUM,GAAqB,EAKlC,IAAIG,EAAaF,OAAO1B,EAAO2B,cAAcnG,IAC7C,OAAIoG,EAAa,EACT5B,EAAOQ,iBAAiBY,EAASQ,GAElC5B,EAAOQ,iBAAiBW,EAASS,GAGzC,OAAO5B,EAAOQ,iBAAiBhF,IAGhC0D,0BAA2B,WAC1B,IAII1F,EAAGC,EAAM2F,EAAOyC,EAAOC,EAJvB3H,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVyE,EAAO5H,EAAGxB,MAAMqJ,UAChBzE,EAAUF,EAAKG,MAAQ,GAU3B,SAASyE,EAAgBC,EAAIjH,EAAKkH,GACjC,OAAOvH,KAAKuH,IAAIvH,KAAKK,IAAIiH,EAAIC,GAAMlH,GAGpC,GAVIoC,EAAKd,QAAQ6B,OAAOtC,WACvByB,EAASA,EAAO6E,OAAO,SAASF,GAC/B,OAAQA,EAAG9D,OAAO2C,QAQ+B,aAA/C1D,EAAKd,QAAQ6B,OAAOW,uBACvBjH,EAAQuK,oBAAoB9E,QAE5B,IAAK/D,EAAI,EAAGC,EAAO8D,EAAO3D,OAAQJ,EAAIC,IAAQD,EAC7C4F,EAAQ7B,EAAO/D,GACfqI,EAAQzC,EAAMhB,OACd0D,EAAgBhK,EAAQwK,YACvBxK,EAAQyK,aAAahF,EAAQ/D,GAAG4E,OAChCyD,EACA/J,EAAQ0K,SAASjF,EAAQ/D,GAAG4E,OAC5Bf,EAAKd,QAAQ6B,OAAOL,SAErB8D,EAAMY,sBAAwBX,EAAcY,SAAS7C,EACrDgC,EAAMc,sBAAwBb,EAAcY,SAAS5C,EACrD+B,EAAMe,kBAAoBd,EAAce,KAAKhD,EAC7CgC,EAAMiB,kBAAoBhB,EAAce,KAAK/C,EAI/C,GAAI3F,EAAGxB,MAAM6D,QAAQZ,SAASgB,KAAKmG,gBAClC,IAAKvJ,EAAI,EAAGC,EAAO8D,EAAO3D,OAAQJ,EAAIC,IAAQD,EAC7CqI,EAAQtE,EAAO/D,GAAG4E,OAClByD,EAAMY,sBAAwBR,EAAgBJ,EAAMY,sBAAuBV,EAAKiB,KAAMjB,EAAKkB,OAC3FpB,EAAMc,sBAAwBV,EAAgBJ,EAAMc,sBAAuBZ,EAAKmB,IAAKnB,EAAKoB,QAC1FtB,EAAMe,kBAAoBX,EAAgBJ,EAAMe,kBAAmBb,EAAKiB,KAAMjB,EAAKkB,OACnFpB,EAAMiB,kBAAoBb,EAAgBJ,EAAMiB,kBAAmBf,EAAKmB,IAAKnB,EAAKoB,SAKrFC,KAAM,WACL,IAAIjJ,EAAKT,KACLf,EAAQwB,EAAGxB,MACX0E,EAAOlD,EAAGmD,UACVC,EAASF,EAAKG,MAAQ,GACtBuE,EAAOpJ,EAAMqJ,UACbvI,EAAO8D,EAAO3D,OACdJ,EAAI,EAWR,IATA1B,EAAQuL,OAAOC,SAAS3K,EAAM4K,IAAKxB,GAE/BzF,EAAYnC,EAAG0D,aAAclF,EAAM6D,UACtCa,EAAKd,QAAQ6G,OAGdtL,EAAQuL,OAAOG,WAAW7K,EAAM4K,KAGzB/J,EAAIC,IAAQD,EAClB+D,EAAO/D,GAAG4J,KAAKrB,IAIjB0B,cAAe,SAASrE,GAEvB,IAAI7C,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAASlC,EAAMlB,eACzClE,EAAQoF,EAAM0B,OACd1D,EAASgC,EAAMhC,QAAU,GACzByE,EAAQzC,EAAMhB,OAElByD,EAAMzB,OAAShD,EAAOsG,aAAe5L,EAAQwH,sBAAsB/C,EAAQoH,iBAAkB3J,EAAON,KAAKf,MAAM6D,QAAQZ,SAASwD,MAAMsE,aACtI7B,EAAMxD,gBAAkBjB,EAAOwG,sBAAwB9L,EAAQwH,sBAAsB/C,EAAQsH,0BAA2B7J,EAAOlC,EAAQgM,cAAcjC,EAAMxD,kBAC3JwD,EAAMtD,YAAcnB,EAAO2G,kBAAoBjM,EAAQwH,sBAAsB/C,EAAQyH,sBAAuBhK,EAAOlC,EAAQgM,cAAcjC,EAAMtD,cAC/IsD,EAAMvD,YAAclB,EAAO6G,kBAAoBnM,EAAQwH,sBAAsB/C,EAAQ2H,sBAAuBlK,EAAO6H,EAAMvD,cAG1H6F,iBAAkB,SAAS/E,GAC1B,IAAIjF,EAAKT,KACL6C,EAAUpC,EAAGxB,MAAM6E,KAAK8D,SAASlC,EAAMlB,eACvClE,EAAQoF,EAAM0B,OACd1D,EAASgC,EAAMhC,QAAU,GACzByE,EAAQzC,EAAMhB,YAGMN,IAAnBvB,EAAQ6D,aAAkDtC,IAAxBvB,EAAQ8D,cAC9C9D,EAAQ8D,YAAc9D,EAAQ6D,QAG/ByB,EAAMzB,OAAShD,EAAOgD,QAAUtI,EAAQwH,sBAAsB/C,EAAQ8D,YAAarG,EAAOG,EAAGxB,MAAM6D,QAAQZ,SAASwD,MAAMgB,QAC1HyB,EAAMxD,gBAAkBlE,EAAGgF,wBAAwBC,EAAOpF,GAC1D6H,EAAMtD,YAAcpE,EAAGoF,oBAAoBH,EAAOpF,GAClD6H,EAAMvD,YAAcnE,EAAGsF,oBAAoBL,EAAOpF,Q,kCCvUrD,IAAIlC,EAAU,EAAQ,QAEtBQ,EAAOC,QAAU,SAASC,GAEzB,IAAI4L,EAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WAOrD,SAASC,EAAkBC,EAAOC,GAC7BD,EAAME,SACTF,EAAME,SAASC,UAAU5K,KAAK0K,IAI/BpJ,OAAOC,eAAekJ,EAAO,WAAY,CACxCI,cAAc,EACdC,YAAY,EACZnJ,MAAO,CACNiJ,UAAW,CAACF,MAIdH,EAAYQ,QAAQ,SAASC,GAC5B,IAAIC,EAAS,SAAWD,EAAIE,OAAO,GAAGC,cAAgBH,EAAII,MAAM,GAC5DC,EAAOZ,EAAMO,GAEjB1J,OAAOC,eAAekJ,EAAOO,EAAK,CACjCH,cAAc,EACdC,YAAY,EACZnJ,MAAO,WACN,IAAI2J,EAAOC,MAAM/J,UAAU4J,MAAM5K,KAAKgL,WAClCC,EAAMJ,EAAKK,MAAM7L,KAAMyL,GAQ3B,OANArN,EAAQ0N,KAAKlB,EAAME,SAASC,UAAW,SAASgB,GACjB,oBAAnBA,EAAOX,IACjBW,EAAOX,GAAQS,MAAME,EAAQN,KAIxBG,QAUX,SAASI,EAAoBpB,EAAOC,GACnC,IAAIoB,EAAOrB,EAAME,SACjB,GAAKmB,EAAL,CAIA,IAAIlB,EAAYkB,EAAKlB,UACjBzK,EAAQyK,EAAUmB,QAAQrB,IACf,IAAXvK,GACHyK,EAAUvK,OAAOF,EAAO,GAGrByK,EAAU7K,OAAS,IAIvBwK,EAAYQ,QAAQ,SAASC,UACrBP,EAAMO,YAGPP,EAAME,WAIdhM,EAAMqE,kBAAoB,SAASlE,EAAOoH,GACzCrG,KAAKmM,WAAWlN,EAAOoH,IAGxBjI,EAAQY,OAAOF,EAAMqE,kBAAkBxB,UAAW,CAMjDyB,mBAAoB,KAMpBE,gBAAiB,KAEjB6I,WAAY,SAASlN,EAAOoH,GAC3B,IAAI5F,EAAKT,KACTS,EAAGxB,MAAQA,EACXwB,EAAGH,MAAQ+F,EACX5F,EAAG2L,aACH3L,EAAG4L,eAGJC,YAAa,SAASjG,GACrBrG,KAAKM,MAAQ+F,GAGd+F,WAAY,WACX,IAAI3L,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVf,EAAUpC,EAAG0D,aAEI,OAAjBR,EAAK6C,SAAsB7C,EAAK6C,WAAW/F,EAAGxB,MAAMsD,SACvDoB,EAAK6C,QAAU3D,EAAQ2D,SAAW/F,EAAGxB,MAAM6D,QAAQP,OAAOC,MAAM,GAAGE,IAE/C,OAAjBiB,EAAKO,SAAsBP,EAAKO,WAAWzD,EAAGxB,MAAMsD,SACvDoB,EAAKO,QAAUrB,EAAQqB,SAAWzD,EAAGxB,MAAM6D,QAAQP,OAAOI,MAAM,GAAGD,KAIrEyB,WAAY,WACX,OAAOnE,KAAKf,MAAM6E,KAAK8D,SAAS5H,KAAKM,QAGtCsD,QAAS,WACR,OAAO5D,KAAKf,MAAM4I,eAAe7H,KAAKM,QAGvC2D,cAAe,SAASsI,GACvB,OAAOvM,KAAKf,MAAMsD,OAAOgK,IAG1B9I,MAAO,WACNzD,KAAKwD,QAAO,IAMbgJ,QAAS,WACJxM,KAAKyM,OACRT,EAAoBhM,KAAKyM,MAAOzM,OAIlC0M,kBAAmB,WAClB,IAAIjM,EAAKT,KACLyC,EAAOhC,EAAG2C,mBACd,OAAOX,GAAQ,IAAIA,EAAK,CACvBkK,OAAQlM,EAAGxB,MACXuF,cAAe/D,EAAGH,SAIpBsM,eAAgB,SAAStM,GACxB,IAAIG,EAAKT,KACLyC,EAAOhC,EAAG6C,gBACd,OAAOb,GAAQ,IAAIA,EAAK,CACvBkK,OAAQlM,EAAGxB,MACXuF,cAAe/D,EAAGH,MAClB8G,OAAQ9G,KAIV+L,YAAa,WACZ,IAIIvM,EAAGC,EAJHU,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVE,EAAOrD,EAAG0D,aAAaL,MAAQ,GAC/B+I,EAAWlJ,EAAKG,KAGpB,IAAKhE,EAAI,EAAGC,EAAO+D,EAAK5D,OAAQJ,EAAIC,IAAQD,EAC3C+M,EAAS/M,GAAK+M,EAAS/M,IAAMW,EAAGmM,eAAe9M,GAGhD6D,EAAKd,QAAUc,EAAKd,SAAWpC,EAAGiM,qBAGnCI,mBAAoB,SAASxM,GAC5B,IAAIyM,EAAU/M,KAAK4M,eAAetM,GAClCN,KAAK4D,UAAUE,KAAKtD,OAAOF,EAAO,EAAGyM,GACrC/M,KAAKuF,cAAcwH,EAASzM,GAAO,IAGpC0M,sBAAuB,WACtB,IAAIvM,EAAKT,KACL6C,EAAUpC,EAAG0D,aACbL,EAAOjB,EAAQiB,OAASjB,EAAQiB,KAAO,IAKvCrD,EAAGgM,QAAU3I,IACZrD,EAAGgM,OAENT,EAAoBvL,EAAGgM,MAAOhM,GAG/BkK,EAAkB7G,EAAMrD,GACxBA,EAAGgM,MAAQ3I,GAKZrD,EAAGwM,kBAGJzJ,OAAQpF,EAAQM,KAEhBwO,WAAY,SAASC,GAMpB,IALA,IAAIxJ,EAAO3D,KAAK4D,UACZ1B,EAAWyB,EAAKG,MAAQ,GACxB/D,EAAOmC,EAAShC,OAChBJ,EAAI,EAEDA,EAAIC,IAAQD,EAClBoC,EAASpC,GAAGoN,WAAWC,GAGpBxJ,EAAKd,SACRc,EAAKd,QAAQqK,WAAWC,IAI1BzD,KAAM,WACL,IAAI/F,EAAO3D,KAAK4D,UACZ1B,EAAWyB,EAAKG,MAAQ,GACxB/D,EAAOmC,EAAShC,OAChBJ,EAAI,EAMR,IAJI6D,EAAKd,SACRc,EAAKd,QAAQ6G,OAGP5J,EAAIC,IAAQD,EAClBoC,EAASpC,GAAG4J,QAIde,iBAAkB,SAASsC,EAASK,GACnC,IAAIvK,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAASmF,EAAQvI,eAC3ClE,EAAQyM,EAAQ3F,OAChB1D,EAASqJ,EAAQrJ,QAAU,GAC3BX,EAAiB3E,EAAQwH,sBACzBuC,EAAQ4E,EAAQrI,OAEpByD,EAAMxD,gBAAkBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkB5B,EAAeF,EAAQ8B,gBAAiBrE,EAAO8M,EAAYzI,iBACrIwD,EAAMtD,YAAcnB,EAAOmB,YAAcnB,EAAOmB,YAAc9B,EAAeF,EAAQgC,YAAavE,EAAO8M,EAAYvI,aACrHsD,EAAMvD,YAAclB,EAAOkB,YAAclB,EAAOkB,YAAc7B,EAAeF,EAAQ+B,YAAatE,EAAO8M,EAAYxI,cAGtHmF,cAAe,SAASgD,GACvB,IAAIlK,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAASmF,EAAQvI,eAC3ClE,EAAQyM,EAAQ3F,OAChB1D,EAASqJ,EAAQrJ,QAAU,GAC3BX,EAAiB3E,EAAQwH,sBACzBwE,EAAgBhM,EAAQgM,cACxBjC,EAAQ4E,EAAQrI,OAEpByD,EAAMxD,gBAAkBjB,EAAOwG,qBAAuBxG,EAAOwG,qBAAuBnH,EAAeF,EAAQqH,qBAAsB5J,EAAO8J,EAAcjC,EAAMxD,kBAC5JwD,EAAMtD,YAAcnB,EAAO2G,iBAAmB3G,EAAO2G,iBAAmBtH,EAAeF,EAAQwH,iBAAkB/J,EAAO8J,EAAcjC,EAAMtD,cAC5IsD,EAAMvD,YAAclB,EAAO6G,iBAAmB7G,EAAO6G,iBAAmBxH,EAAeF,EAAQ0H,iBAAkBjK,EAAO6H,EAAMvD,cAM/HqI,eAAgB,WACf,IAAIxM,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVE,EAAOrD,EAAG0D,aAAaL,KACvBuJ,EAAU1J,EAAKG,KAAK5D,OACpBoN,EAAUxJ,EAAK5D,OAEfoN,EAAUD,EACb1J,EAAKG,KAAKtD,OAAO8M,EAASD,EAAUC,GAC1BA,EAAUD,GACpB5M,EAAG8M,eAAeF,EAASC,EAAUD,IAOvCE,eAAgB,SAASC,EAAOlM,GAC/B,IAAK,IAAIxB,EAAI,EAAGA,EAAIwB,IAASxB,EAC5BE,KAAK8M,mBAAmBU,EAAQ1N,IAOlC2N,WAAY,WACXzN,KAAKuN,eAAevN,KAAKmE,aAAaL,KAAK5D,OAAS,EAAGyL,UAAUzL,SAMlEwN,UAAW,WACV1N,KAAK4D,UAAUE,KAAK6J,OAMrBC,YAAa,WACZ5N,KAAK4D,UAAUE,KAAK+J,SAMrBC,aAAc,SAASN,EAAOlM,GAC7BtB,KAAK4D,UAAUE,KAAKtD,OAAOgN,EAAOlM,GAClCtB,KAAKuN,eAAeC,EAAO7B,UAAUzL,OAAS,IAM/C6N,cAAe,WACd/N,KAAKuN,eAAe,EAAG5B,UAAUzL,WAInCpB,EAAMqE,kBAAkBnE,OAASZ,EAAQ4P,W,oCCtU1C,IAAIC,EAAQ,EAAQ,QAChB7P,EAAU,EAAQ,QAEtB,SAAS8P,EAAYV,EAAOW,EAAMhG,EAAOiG,GACxC,IACItO,EAAGC,EAAMoL,EAAKkD,EAAQC,EAAQC,EAAQ9L,EAAM+L,EAAIC,EADhDC,EAAOjN,OAAOiN,KAAKvG,GAGvB,IAAKrI,EAAI,EAAGC,EAAO2O,EAAKxO,OAAQJ,EAAIC,IAAQD,EAa3C,GAZAqL,EAAMuD,EAAK5O,GAEXyO,EAASpG,EAAMgD,GAIVgD,EAAKQ,eAAexD,KACxBgD,EAAKhD,GAAOoD,GAGbF,EAASF,EAAKhD,GAEVkD,IAAWE,GAAqB,MAAXpD,EAAI,GAA7B,CAYA,GARKqC,EAAMmB,eAAexD,KACzBqC,EAAMrC,GAAOkD,GAGdC,EAASd,EAAMrC,GAEf1I,SAAc8L,EAEV9L,WAAgB6L,EACnB,GAAa,WAAT7L,GAEH,GADA+L,EAAKP,EAAMK,GACPE,EAAGI,QACNH,EAAKR,EAAMM,GACPE,EAAGG,OAAO,CACbT,EAAKhD,GAAOsD,EAAGI,IAAIL,EAAIJ,GAAMU,YAC7B,eAGI,GAAa,WAATrM,GAAqBsM,SAAST,IAAWS,SAASR,GAAS,CACrEJ,EAAKhD,GAAOmD,GAAUC,EAASD,GAAUF,EACzC,SAIFD,EAAKhD,GAAOoD,GAId,IAAIpQ,EAAU,SAAS6Q,GACtB5Q,EAAQY,OAAOgB,KAAMgP,GACrBhP,KAAKmM,WAAWN,MAAM7L,KAAM2L,YAG7BvN,EAAQY,OAAOb,EAAQwD,UAAW,CAEjCwK,WAAY,WACXnM,KAAKiP,QAAS,GAGf3J,MAAO,WACN,IAAI7E,EAAKT,KAKT,OAJKS,EAAGyO,QACPzO,EAAGyO,MAAQ9Q,EAAQ+Q,MAAM1O,EAAGiE,SAE7BjE,EAAG2O,OAAS,GACL3O,GAGRyM,WAAY,SAASkB,GACpB,IAAI3N,EAAKT,KACLmI,EAAQ1H,EAAGiE,OACX8I,EAAQ/M,EAAG2O,OACXjB,EAAO1N,EAAGyO,MAGd,OAAK/G,GAAkB,IAATiG,GAMTD,IACJA,EAAO1N,EAAGyO,MAAQ,IAGd1B,IACJA,EAAQ/M,EAAG2O,OAAS,IAGrBlB,EAAYV,EAAOW,EAAMhG,EAAOiG,GAEzB3N,IAfNA,EAAGyO,MAAQ/G,EACX1H,EAAG2O,OAAS,KACL3O,IAgBT4O,gBAAiB,WAChB,MAAO,CACNlJ,EAAGnG,KAAK0E,OAAOyB,EACfC,EAAGpG,KAAK0E,OAAO0B,IAIjBkJ,SAAU,WACT,OAAOlR,EAAQmR,SAASvP,KAAK0E,OAAOyB,IAAM/H,EAAQmR,SAASvP,KAAK0E,OAAO0B,MAIzEjI,EAAQa,OAASZ,EAAQ4P,SAEzBpP,EAAOC,QAAUV,G,kCChHjBS,EAAOC,QAAU,SAASC,GAEzBA,EAAM0Q,IAAM,SAASC,EAASC,GAG7B,OAFAA,EAAOjN,KAAO,MAEP,IAAI3D,EAAM2Q,EAASC,M,oCCL5B9Q,EAAOC,QAAU,SAASC,GAEzBA,EAAM6Q,OAAS,SAASF,EAASC,GAEhC,OADAA,EAAOjN,KAAO,SACP,IAAI3D,EAAM2Q,EAASC,M,oCCJ5B9Q,EAAOC,QAAU,SAASC,GACzBA,EAAM8Q,QAAU,SAASH,EAASC,GAEjC,OADAA,EAAOjN,KAAO,UACP,IAAI3D,EAAM2Q,EAASC,M,oCCH5B9Q,EAAOC,QAAU,SAASC,GAEzBA,EAAM+Q,SAAW,SAASJ,EAASC,GAGlC,OAFAA,EAAOjN,KAAO,WAEP,IAAI3D,EAAM2Q,EAASC,M,kCCL5B,IAAIxR,EAAW,EAAQ,QACnBE,EAAU,EAAQ,QAEtBF,EAASG,KAAK,SAAU,CACvByR,QAAS,KAQVlR,EAAOC,QAAU,CAKhBkR,SAAU,GAQVC,SAAU,EAMVC,SAAU,SAASH,GAClB,IAAII,EAAIlQ,KAAK+P,SACb,GAAKI,OAAOL,GAAS5E,QAAQ,SAASkF,IACV,IAAvBF,EAAEhE,QAAQkE,IACbF,EAAE/P,KAAKiQ,KAITpQ,KAAKgQ,YAONK,WAAY,SAASP,GACpB,IAAII,EAAIlQ,KAAK+P,SACb,GAAKI,OAAOL,GAAS5E,QAAQ,SAASkF,GACrC,IAAIE,EAAMJ,EAAEhE,QAAQkE,IACP,IAATE,GACHJ,EAAE1P,OAAO8P,EAAK,KAIhBtQ,KAAKgQ,YAONO,MAAO,WACNvQ,KAAK+P,SAAW,GAChB/P,KAAKgQ,YAQN1O,MAAO,WACN,OAAOtB,KAAK+P,SAAS7P,QAQtBsQ,OAAQ,WACP,OAAOxQ,KAAK+P,UAYbU,OAAQ,SAASxR,EAAOyR,EAAMjF,GAC7B,IAEI3L,EAAG6Q,EAAYP,EAAQQ,EAAQxF,EAF/ByF,EAAc7Q,KAAK6Q,YAAY5R,GAC/Bc,EAAO8Q,EAAY3Q,OAGvB,IAAKJ,EAAI,EAAGA,EAAIC,IAAQD,EAIvB,GAHA6Q,EAAaE,EAAY/Q,GACzBsQ,EAASO,EAAWP,OACpBhF,EAASgF,EAAOM,GACM,oBAAXtF,IACVwF,EAAS,CAAC3R,GAAOkR,OAAO1E,GAAQ,IAChCmF,EAAOzQ,KAAKwQ,EAAW7N,UACc,IAAjCsI,EAAOS,MAAMuE,EAAQQ,IACxB,OAAO,EAKV,OAAO,GAQRC,YAAa,SAAS5R,GACrB,IAAI6R,EAAQ7R,EAAM8R,WAAa9R,EAAM8R,SAAW,IAChD,GAAID,EAAMpO,KAAO1C,KAAKgQ,SACrB,OAAOc,EAAMD,YAGd,IAAIf,EAAU,GACVe,EAAc,GACdnB,EAAUzQ,GAASA,EAAMyQ,QAAW,GACpC5M,EAAW4M,EAAO5M,SAAW4M,EAAO5M,QAAQgN,SAAY,GA2B5D,OAzBA9P,KAAK+P,SAASI,OAAOT,EAAOI,SAAW,IAAI5E,QAAQ,SAASkF,GAC3D,IAAIE,EAAMR,EAAQ5D,QAAQkE,GAC1B,IAAa,IAATE,EAAJ,CAIA,IAAI5N,EAAK0N,EAAO1N,GACZsO,EAAOlO,EAAQJ,IACN,IAATsO,KAIS,IAATA,IACHA,EAAO5S,EAAQ+Q,MAAMjR,EAAS+S,OAAOnB,QAAQpN,KAG9CoN,EAAQ3P,KAAKiQ,GACbS,EAAY1Q,KAAK,CAChBiQ,OAAQA,EACRtN,QAASkO,GAAQ,SAInBF,EAAMD,YAAcA,EACpBC,EAAMpO,GAAK1C,KAAKgQ,SACTa,GASRK,YAAa,SAASjS,UACdA,EAAM8R,Y,uBCrKf,IAAIjS,EAAQ,EAAQ,QAAR,GAEZA,EAAMV,QAAU,EAAQ,QAGxB,EAAQ,OAAR,CAA+BU,GAE/BA,EAAMZ,SAAW,EAAQ,QACzBY,EAAMX,QAAU,EAAQ,QACxBW,EAAMoD,SAAW,EAAQ,QACzBpD,EAAMqS,YAAc,EAAQ,QAC5BrS,EAAMsS,QAAU,EAAQ,QACxBtS,EAAMuS,SAAW,EAAQ,QACzBvS,EAAMgR,QAAU,EAAQ,QACxBhR,EAAMwS,MAAQ,EAAQ,QAEtB,EAAQ,OAAR,CAAiCxS,GACjC,EAAQ,OAAR,CAAkCA,GAClC,EAAQ,OAAR,CAAyCA,GACzC,EAAQ,OAAR,CAAoCA,GACpC,EAAQ,OAAR,CAA6BA,GAC7B,EAAQ,OAAR,CAA+BA,GAE/B,EAAQ,OAAR,CAAqCA,GACrC,EAAQ,OAAR,CAAmCA,GACnC,EAAQ,OAAR,CAAiCA,GACjC,EAAQ,OAAR,CAAsCA,GACtC,EAAQ,QAAR,CAAuCA,GACvC,EAAQ,OAAR,CAA+BA,GAI/B,EAAQ,QAAR,CAAwCA,GACxC,EAAQ,OAAR,CAA2CA,GAC3C,EAAQ,OAAR,CAA6CA,GAC7C,EAAQ,OAAR,CAAyCA,GACzC,EAAQ,OAAR,CAA8CA,GAC9C,EAAQ,OAAR,CAA0CA,GAC1C,EAAQ,OAAR,CAA4CA,GAE5C,EAAQ,OAAR,CAA8BA,GAC9B,EAAQ,OAAR,CAAiCA,GACjC,EAAQ,OAAR,CAAmCA,GACnC,EAAQ,OAAR,CAA+BA,GAC/B,EAAQ,OAAR,CAAoCA,GACpC,EAAQ,OAAR,CAAgCA,GAChC,EAAQ,OAAR,CAAkCA,GAGlC,IAAIgR,EAAU,EAAQ,QACtB,IAAK,IAAIyB,KAAKzB,EACTA,EAAQnB,eAAe4C,IAC1BzS,EAAMgR,QAAQG,SAASH,EAAQyB,IAIjCzS,EAAMuS,SAASlF,aAEfvN,EAAOC,QAAUC,EACK,qBAAX8B,SACVA,OAAO9B,MAAQA,GAYhBA,EAAM0S,OAAS1B,EAAQ2B,OAAOC,SAS9B5S,EAAM6S,MAAQ7B,EAAQ8B,MAAMF,SAS5B5S,EAAM+S,cAAgB/S,EAAMgR,QAU5BhR,EAAMgT,WAAahT,EAAMX,QAAQa,OAAO,IASxCF,EAAMiT,cAAgBjT,EAAMV,QAAQuL,OASpC7K,EAAMkT,cAAgBlT,EAAMsS,S,oCCvH5B,IAAIlT,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAEtBF,EAASG,KAAK,WAAY,CACzBC,UAAW,CAEV2T,eAAe,EAEfC,cAAc,GAEf7P,MAAO,CACNC,KAAM,UAEP6P,eAAgB,SAASlT,GACxB,IAAImT,EAAO,GACXA,EAAKjS,KAAK,cAAgBlB,EAAMyD,GAAK,aAErC,IAAIoB,EAAO7E,EAAM6E,KACb8D,EAAW9D,EAAK8D,SAChByK,EAASvO,EAAKuO,OAElB,GAAIzK,EAAS1H,OACZ,IAAK,IAAIJ,EAAI,EAAGA,EAAI8H,EAAS,GAAG9D,KAAK5D,SAAUJ,EAC9CsS,EAAKjS,KAAK,qCAAuCyH,EAAS,GAAGjD,gBAAgB7E,GAAK,aAC9EuS,EAAOvS,IACVsS,EAAKjS,KAAKkS,EAAOvS,IAElBsS,EAAKjS,KAAK,SAKZ,OADAiS,EAAKjS,KAAK,SACHiS,EAAKE,KAAK,KAElBb,OAAQ,CACPY,OAAQ,CACPE,eAAgB,SAAStT,GACxB,IAAI6E,EAAO7E,EAAM6E,KACjB,OAAIA,EAAKuO,OAAOnS,QAAU4D,EAAK8D,SAAS1H,OAChC4D,EAAKuO,OAAOG,IAAI,SAASC,EAAO3S,GACtC,IAAI6D,EAAO1E,EAAM4I,eAAe,GAC5BN,EAAKzD,EAAK8D,SAAS,GACnB8K,EAAM/O,EAAKG,KAAKhE,GAChB4D,EAASgP,GAAOA,EAAIhP,QAAU,GAC9BkC,EAAwBxH,EAAQwH,sBAChC+M,EAAU1T,EAAM6D,QAAQZ,SAASwQ,IACjCxN,EAAOxB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBiB,EAAsB2B,EAAG5C,gBAAiB7E,EAAG6S,EAAQhO,iBAC9GiO,EAASlP,EAAOmB,YAAcnB,EAAOmB,YAAce,EAAsB2B,EAAG1C,YAAa/E,EAAG6S,EAAQ9N,aACpGgO,EAAKnP,EAAOkB,YAAclB,EAAOkB,YAAcgB,EAAsB2B,EAAG3C,YAAa9E,EAAG6S,EAAQ/N,aAEpG,MAAO,CACNwN,KAAMK,EACNK,UAAW5N,EACX6N,YAAaH,EACbI,UAAWH,EACX5D,OAAQjJ,MAAMuB,EAAGzD,KAAKhE,KAAO6D,EAAKG,KAAKhE,GAAGmP,OAG1C3O,MAAOR,KAIH,KAITmT,QAAS,SAASC,EAAGC,GACpB,IAEIrT,EAAGC,EAAM4D,EAFTrD,EAAQ6S,EAAW7S,MACnBrB,EAAQe,KAAKf,MAGjB,IAAKa,EAAI,EAAGC,GAAQd,EAAM6E,KAAK8D,UAAY,IAAI1H,OAAQJ,EAAIC,IAAQD,EAClE6D,EAAO1E,EAAM4I,eAAe/H,GAExB6D,EAAKG,KAAKxD,KACbqD,EAAKG,KAAKxD,GAAO2O,QAAUtL,EAAKG,KAAKxD,GAAO2O,QAI9ChQ,EAAMuE,WAKR4P,iBAAkB,GAGlBC,UAAqB,GAAXnS,KAAKoS,GAGfC,cAAyB,EAAVrS,KAAKoS,GAGpBE,SAAU,CACTC,UAAW,CACV7B,MAAO,WACN,MAAO,IAERa,MAAO,SAASiB,EAAa5P,GAC5B,IAAI6P,EAAY7P,EAAKuO,OAAOqB,EAAYpT,OACpCwB,EAAQ,KAAOgC,EAAK8D,SAAS8L,EAAYrN,cAAcvC,KAAK4P,EAAYpT,OAW5E,OATIlC,EAAQ8H,QAAQyN,IAGnBA,EAAYA,EAAUpI,QACtBoI,EAAU,IAAM7R,GAEhB6R,GAAa7R,EAGP6R,OAMXzV,EAASG,KAAK,MAAOD,EAAQ+Q,MAAMjR,EAAS0V,WAC5C1V,EAASG,KAAK,MAAO,CACpB+U,iBAAkB,IAGnBxU,EAAOC,QAAU,SAASC,GAEzBA,EAAMmE,YAAY2Q,SAAW9U,EAAMmE,YAAY4Q,IAAM/U,EAAMqE,kBAAkBnE,OAAO,CAEnFsE,gBAAiBpB,EAAS4R,IAE1B1H,WAAYhO,EAAQM,KAGpBqV,aAAc,SAAS1N,GAGtB,IAFA,IAAI2N,EAAY,EAEPC,EAAI,EAAGA,EAAI5N,IAAgB4N,EAC/BjU,KAAKf,MAAM6I,iBAAiBmM,MAC7BD,EAIJ,OAAOA,GAGRxQ,OAAQ,SAASC,GAChB,IAAIhD,EAAKT,KACLf,EAAQwB,EAAGxB,MACXqJ,EAAYrJ,EAAMqJ,UAClB0I,EAAO/R,EAAM6D,QACb6P,EAAU3B,EAAK9O,SAASwQ,IACxBwB,EAAiB5L,EAAUiB,MAAQjB,EAAUgB,KAAOqJ,EAAQ/N,YAC5DuP,EAAkB7L,EAAUmB,OAASnB,EAAUkB,IAAMmJ,EAAQ/N,YAC7DwP,EAAUlT,KAAKK,IAAI2S,EAAgBC,GACnCE,EAAS,CAAClO,EAAG,EAAGC,EAAG,GACnBzC,EAAOlD,EAAGmD,UACVwP,EAAmBpC,EAAKoC,iBACxBG,EAAgBvC,EAAKuC,cAGzB,GAAIA,EAA0B,EAAVrS,KAAKoS,GAAU,CAClC,IAAIgB,EAAatD,EAAKqC,UAAsB,EAAVnS,KAAKoS,IACvCgB,GAAwB,EAAVpT,KAAKoS,IAAYgB,GAAcpT,KAAKoS,IAAM,EAAIgB,GAAcpT,KAAKoS,GAAK,EAAI,GACxF,IAAIiB,EAAWD,EAAaf,EACxB/F,EAAQ,CAACrH,EAAGjF,KAAKsT,IAAIF,GAAalO,EAAGlF,KAAKuT,IAAIH,IAC9CI,EAAM,CAACvO,EAAGjF,KAAKsT,IAAID,GAAWnO,EAAGlF,KAAKuT,IAAIF,IAC1CI,EAAaL,GAAc,GAAKC,GAAY,GAAOD,GAAwB,EAAVpT,KAAKoS,IAAsB,EAAVpS,KAAKoS,IAAYiB,EACnGK,EAAcN,GAAwB,GAAVpT,KAAKoS,IAAsB,GAAVpS,KAAKoS,IAAYiB,GAAcD,GAAwB,IAAVpT,KAAKoS,IAAsB,IAAVpS,KAAKoS,IAAYiB,EAC5HM,EAAeP,IAAepT,KAAKoS,KAAOpS,KAAKoS,IAAMiB,GAAcD,GAAcpT,KAAKoS,IAAMpS,KAAKoS,IAAMiB,EACvGO,EAAeR,GAAyB,IAAVpT,KAAKoS,IAAuB,IAAVpS,KAAKoS,IAAYiB,GAAcD,GAAwB,IAAVpT,KAAKoS,IAAsB,IAAVpS,KAAKoS,IAAYiB,EAC/HQ,EAAS3B,EAAmB,IAC5B7R,EAAM,CAAC4E,EAAG0O,GAAe,EAAI3T,KAAKK,IAAIiM,EAAMrH,GAAKqH,EAAMrH,EAAI,EAAI,EAAI4O,GAASL,EAAIvO,GAAKuO,EAAIvO,EAAI,EAAI,EAAI4O,IAAU3O,EAAG0O,GAAe,EAAI5T,KAAKK,IAAIiM,EAAMpH,GAAKoH,EAAMpH,EAAI,EAAI,EAAI2O,GAASL,EAAItO,GAAKsO,EAAItO,EAAI,EAAI,EAAI2O,KAC7MtM,EAAM,CAACtC,EAAGwO,EAAY,EAAIzT,KAAKuH,IAAI+E,EAAMrH,GAAKqH,EAAMrH,EAAI,EAAI,EAAI4O,GAASL,EAAIvO,GAAKuO,EAAIvO,EAAI,EAAI,EAAI4O,IAAU3O,EAAGwO,EAAa,EAAI1T,KAAKuH,IAAI+E,EAAMpH,GAAKoH,EAAMpH,EAAI,EAAI,EAAI2O,GAASL,EAAItO,GAAKsO,EAAItO,EAAI,EAAI,EAAI2O,KACxMC,EAAO,CAACC,MAAyB,IAAjBxM,EAAItC,EAAI5E,EAAI4E,GAAU+O,OAA0B,IAAjBzM,EAAIrC,EAAI7E,EAAI6E,IAC/DgO,EAAUlT,KAAKK,IAAI2S,EAAiBc,EAAKC,MAAOd,EAAkBa,EAAKE,QACvEb,EAAS,CAAClO,GAAsB,IAAlBsC,EAAItC,EAAI5E,EAAI4E,GAAWC,GAAsB,IAAlBqC,EAAIrC,EAAI7E,EAAI6E,IAGtDnH,EAAM2F,YAAcnE,EAAG0U,kBAAkBxR,EAAKG,MAC9C7E,EAAMmW,YAAclU,KAAKuH,KAAK2L,EAAUnV,EAAM2F,aAAe,EAAG,GAChE3F,EAAMoW,YAAcnU,KAAKuH,IAAI2K,EAAoBnU,EAAMmW,YAAc,IAAO,EAAqB,EAAG,GACpGnW,EAAMqW,cAAgBrW,EAAMmW,YAAcnW,EAAMoW,aAAepW,EAAMsW,yBACrEtW,EAAMuW,QAAUnB,EAAOlO,EAAIlH,EAAMmW,YACjCnW,EAAMwW,QAAUpB,EAAOjO,EAAInH,EAAMmW,YAEjCzR,EAAK+R,MAAQjV,EAAGkV,iBAEhBlV,EAAG2U,YAAcnW,EAAMmW,YAAenW,EAAMqW,aAAe7U,EAAGsT,aAAatT,EAAGH,OAC9EG,EAAG4U,YAAcnU,KAAKuH,IAAIhI,EAAG2U,YAAcnW,EAAMqW,aAAc,GAE/DlX,EAAQ0N,KAAKnI,EAAKG,KAAM,SAAS4O,EAAKpS,GACrCG,EAAG8E,cAAcmN,EAAKpS,EAAOmD,MAI/B8B,cAAe,SAASmN,EAAKpS,EAAOmD,GACnC,IAAIhD,EAAKT,KACLf,EAAQwB,EAAGxB,MACXqJ,EAAYrJ,EAAMqJ,UAClB0I,EAAO/R,EAAM6D,QACb8S,EAAgB5E,EAAK1S,UACrBuX,GAAWvN,EAAUgB,KAAOhB,EAAUiB,OAAS,EAC/CuM,GAAWxN,EAAUkB,IAAMlB,EAAUmB,QAAU,EAC/C6K,EAAatD,EAAKqC,SAClBkB,EAAWvD,EAAKqC,SAChBxQ,EAAUpC,EAAG0D,aACboP,EAAgB9P,GAASmS,EAAc3D,cAAgB,EAAIS,EAAIzD,OAAS,EAAIxO,EAAGsV,uBAAuBlT,EAAQiB,KAAKxD,KAAW0Q,EAAKuC,eAAiB,EAAMrS,KAAKoS,KAC/J+B,EAAc5R,GAASmS,EAAc1D,aAAe,EAAIzR,EAAG4U,YAC3DD,EAAc3R,GAASmS,EAAc1D,aAAe,EAAIzR,EAAG2U,YAC3DxP,EAAwBxH,EAAQwH,sBAEpCxH,EAAQY,OAAO0T,EAAK,CAEnBlO,cAAe/D,EAAGH,MAClB8G,OAAQ9G,EAGRoE,OAAQ,CACPyB,EAAG0P,EAAU5W,EAAMuW,QACnBpP,EAAG0P,EAAU7W,EAAMwW,QACnBnB,WAAYA,EACZC,SAAUA,EACVhB,cAAeA,EACf6B,YAAaA,EACbC,YAAaA,EACb5C,MAAO7M,EAAsB/C,EAAQ4P,MAAOnS,EAAOrB,EAAM6E,KAAKuO,OAAO/R,OAIvE,IAAI6H,EAAQuK,EAAIhO,OAEhB1E,KAAKyK,iBAAiBiI,GAGjBjP,GAAUmS,EAAc3D,gBAE3B9J,EAAMmM,WADO,IAAVhU,EACgB0Q,EAAKqC,SAEL5S,EAAGmD,UAAUE,KAAKxD,EAAQ,GAAGoE,OAAO6P,SAGxDpM,EAAMoM,SAAWpM,EAAMmM,WAAanM,EAAMoL,eAG3Cb,EAAIpN,SAGLmF,iBAAkB,SAASiI,GAC1B5T,EAAMqE,kBAAkBxB,UAAU8I,iBAAiB9J,KAAKX,KAAM0S,EAAK1S,KAAKf,MAAM6D,QAAQZ,SAASwQ,MAGhGiD,eAAgB,WACf,IAGI7T,EAHAe,EAAU7C,KAAKmE,aACfR,EAAO3D,KAAK4D,UACZ8R,EAAQ,EAcZ,OAXAtX,EAAQ0N,KAAKnI,EAAKG,KAAM,SAASiJ,EAASzM,GACzCwB,EAAQe,EAAQiB,KAAKxD,GAChB0F,MAAMlE,IAAWiL,EAAQkC,SAC7ByG,GAASxU,KAAK8U,IAAIlU,MAQb4T,GAGRK,uBAAwB,SAASjU,GAChC,IAAI4T,EAAQ1V,KAAK4D,UAAU8R,MAC3B,OAAIA,EAAQ,IAAM1P,MAAMlE,GACL,EAAVZ,KAAKoS,IAAapS,KAAK8U,IAAIlU,GAAS4T,GAEtC,GAIRP,kBAAmB,SAASc,GAO3B,IANA,IAGIrR,EACAsR,EAJAzN,EAAM,EACNnI,EAAQN,KAAKM,MACbJ,EAAS+V,EAAK/V,OAITJ,EAAI,EAAGA,EAAII,EAAQJ,IAC3B8E,EAAcqR,EAAKnW,GAAG4E,OAASuR,EAAKnW,GAAG4E,OAAOE,YAAc,EAC5DsR,EAAaD,EAAKnW,GAAG6M,OAASsJ,EAAKnW,GAAG6M,OAAO+C,OAAO5L,KAAK8D,SAAStH,GAAOiK,iBAAmB,EAE5F9B,EAAM7D,EAAc6D,EAAM7D,EAAc6D,EACxCA,EAAMyN,EAAazN,EAAMyN,EAAazN,EAEvC,OAAOA,O,mCCrSV,IAAIvK,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAiGtB,SAAS+X,EAAqBnS,EAAOoS,GACpC,IAEIC,EAAMC,EAAMxW,EAAGC,EAFfwB,EAAMyC,EAAMuS,eAAiBvS,EAAMiR,MAAQjR,EAAMkR,OACjDsB,EAAQxS,EAAMyS,WAGlB,IAAK3W,EAAI,EAAGC,EAAOqW,EAAOlW,OAAQJ,EAAIC,IAAQD,EAC7CyB,EAAML,KAAKK,IAAIA,EAAK6U,EAAOtW,GAAKsW,EAAOtW,EAAI,IAG5C,IAAKA,EAAI,EAAGC,EAAOyW,EAAMtW,OAAQJ,EAAIC,IAAQD,EAC5CwW,EAAOtS,EAAM0S,gBAAgB5W,GAC7ByB,EAAMzB,EAAI,EAAIoB,KAAKK,IAAIA,EAAK+U,EAAOD,GAAQ9U,EAC3C8U,EAAOC,EAGR,OAAO/U,EASR,SAASoV,EAAyBrW,EAAOsW,EAAO9T,GAC/C,IAGIkS,EAAM6B,EAHNC,EAAYhU,EAAQiU,aACpBzV,EAAQsV,EAAMI,WACdV,EAAOM,EAAMR,OAAO9V,GAcxB,OAXIlC,EAAQ6Y,cAAcH,IACzB9B,EAAO4B,EAAMrV,IAAMuB,EAAQoU,mBAC3BL,EAAQ/T,EAAQqU,gBAKhBnC,EAAO8B,EAAYxV,EACnBuV,EAAQ,GAGF,CACNO,MAAOpC,EAAO1T,EACduV,MAAOA,EACPrJ,MAAO8I,EAAQtB,EAAO,GAUxB,SAASqC,EAA0B/W,EAAOsW,EAAO9T,GAChD,IAKI0K,EAAOwH,EALPoB,EAASQ,EAAMR,OACfE,EAAOF,EAAO9V,GACd+V,EAAO/V,EAAQ,EAAI8V,EAAO9V,EAAQ,GAAK,KACvC6I,EAAO7I,EAAQ8V,EAAOlW,OAAS,EAAIkW,EAAO9V,EAAQ,GAAK,KACvDgX,EAAUxU,EAAQoU,mBAiBtB,OAda,OAATb,IAGHA,EAAOC,GAAiB,OAATnN,EAAgByN,EAAMlC,IAAM4B,EAAOnN,EAAOmN,IAG7C,OAATnN,IAEHA,EAAOmN,EAAOA,EAAOD,GAGtB7I,EAAQ8I,GAASA,EAAOD,GAAQ,EAAKiB,EACrCtC,GAAS7L,EAAOkN,GAAQ,EAAKiB,EAEtB,CACNF,MAAOpC,EAAO4B,EAAMI,WACpBH,MAAO/T,EAAQqU,cACf3J,MAAOA,GA9KTtP,EAASG,KAAK,MAAO,CACpBgE,MAAO,CACNC,KAAM,SAGPC,OAAQ,CACPC,MAAO,CAAC,CACPC,KAAM,WAGNyU,mBAAoB,GACpBC,cAAe,GAGf9C,QAAQ,EAGRkD,UAAW,CACVC,iBAAiB,KAInB7U,MAAO,CAAC,CACPF,KAAM,cAKTvE,EAASG,KAAK,gBAAiB,CAC9BgE,MAAO,CACNC,KAAM,QACNmV,KAAM,KAGPlV,OAAQ,CACPC,MAAO,CAAC,CACPC,KAAM,SACNiV,SAAU,WAGX/U,MAAO,CAAC,CACP+U,SAAU,OACVjV,KAAM,WAGNyU,mBAAoB,GACpBC,cAAe,GAGf9C,QAAQ,EAGRkD,UAAW,CACVC,iBAAiB,MAKpBtV,SAAU,CACTyV,UAAW,CACVC,cAAe,SAIjBpE,SAAU,CACTC,UAAW,CACV7B,MAAO,SAASiG,EAAM/T,GAErB,IAAI8N,EAAQ,GAUZ,OARIiG,EAAK3X,OAAS,IACb2X,EAAK,GAAGC,OACXlG,EAAQiG,EAAK,GAAGC,OACNhU,EAAKuO,OAAOnS,OAAS,GAAK2X,EAAK,GAAGvX,MAAQwD,EAAKuO,OAAOnS,SAChE0R,EAAQ9N,EAAKuO,OAAOwF,EAAK,GAAGvX,SAIvBsR,GAGRa,MAAO,SAASoF,EAAM/T,GACrB,IAAIiU,EAAejU,EAAK8D,SAASiQ,EAAKxR,cAAcoM,OAAS,GAC7D,OAAOsF,EAAe,KAAOF,EAAKG,SAGpC1V,KAAM,QACNmV,KAAM,OA2FR7Y,EAAOC,QAAU,SAASC,GAEzBA,EAAMmE,YAAYgV,IAAMnZ,EAAMqE,kBAAkBnE,OAAO,CAEtDsE,gBAAiBpB,EAASgW,UAE1B/L,WAAY,WACX,IACIxI,EADAlD,EAAKT,KAGTlB,EAAMqE,kBAAkBxB,UAAUwK,WAAWN,MAAMpL,EAAIkL,WAEvDhI,EAAOlD,EAAGmD,UACVD,EAAKwU,MAAQ1X,EAAG0D,aAAagU,MAC7BxU,EAAKsU,KAAM,GAGZzU,OAAQ,SAASC,GAChB,IAEI3D,EAAGC,EAFHU,EAAKT,KACLoY,EAAQ3X,EAAGmD,UAAUE,KAKzB,IAFArD,EAAG4X,OAAS5X,EAAG6X,WAEVxY,EAAI,EAAGC,EAAOqY,EAAMlY,OAAQJ,EAAIC,IAAQD,EAC5CW,EAAG8E,cAAc6S,EAAMtY,GAAIA,EAAG2D,IAIhC8B,cAAe,SAASoS,EAAWrX,EAAOmD,GACzC,IAAIhD,EAAKT,KACLf,EAAQwB,EAAGxB,MACX0E,EAAOlD,EAAGmD,UACVf,EAAUpC,EAAG0D,aACbT,EAASiU,EAAUjU,QAAU,GAC7B6U,EAAmBtZ,EAAM6D,QAAQZ,SAASyV,UAE9CA,EAAUzQ,QAAUzG,EAAGwD,cAAcN,EAAK6C,SAC1CmR,EAAUxQ,QAAU1G,EAAGwD,cAAcN,EAAKO,SAC1CyT,EAAUnT,cAAgB/D,EAAGH,MAC7BqX,EAAUvQ,OAAS9G,EAEnBqX,EAAUjT,OAAS,CAClBqT,aAAclV,EAAQ4P,MACtBA,MAAOxT,EAAM6E,KAAKuO,OAAO/R,GACzBsX,cAAelU,EAAOkU,cAAgBlU,EAAOkU,cAAgBW,EAAiBX,cAC9EjT,gBAAiBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBvG,EAAQwH,sBAAsB/C,EAAQ8B,gBAAiBrE,EAAOiY,EAAiB5T,iBAClJE,YAAanB,EAAOmB,YAAcnB,EAAOmB,YAAczG,EAAQwH,sBAAsB/C,EAAQgC,YAAavE,EAAOiY,EAAiB1T,aAClID,YAAalB,EAAOkB,YAAclB,EAAOkB,YAAcxG,EAAQwH,sBAAsB/C,EAAQ+B,YAAatE,EAAOiY,EAAiB3T,cAGnInE,EAAG+X,sBAAsBb,EAAWrX,EAAOmD,GAE3CkU,EAAUrS,SAMXkT,sBAAuB,SAASb,EAAWrX,EAAOmD,GACjD,IAAIhD,EAAKT,KACLmI,EAAQwP,EAAUjT,OAClB+T,EAAShY,EAAGiY,gBACZlN,EAAOiN,EAAOzR,eACd2R,EAAaF,EAAOlC,eACpBK,EAAQnW,EAAG4X,QAAU5X,EAAG6X,WACxBM,EAAUnY,EAAGoY,wBAAwBpY,EAAGH,MAAOA,GAC/CwY,EAAUrY,EAAGsY,wBAAwBtY,EAAGH,MAAOA,EAAOsW,GAE1DzO,EAAMwQ,WAAaA,EACnBxQ,EAAMqD,KAAO/H,EAAQ+H,EAAOoN,EAAQpN,KACpCrD,EAAMhC,EAAIwS,EAAalV,EAAQ+H,EAAOoN,EAAQI,KAAOF,EAAQG,OAC7D9Q,EAAM/B,EAAIuS,EAAaG,EAAQG,OAASxV,EAAQ+H,EAAOoN,EAAQI,KAC/D7Q,EAAM+M,OAASyD,EAAaG,EAAQ9D,UAAO5Q,EAC3C+D,EAAM8M,MAAQ0D,OAAavU,EAAY0U,EAAQ9D,MAMhDkE,gBAAiB,WAChB,OAAOlZ,KAAK4D,UAAUM,SAMvBiV,gBAAiB,WAChB,OAAOnZ,KAAK4D,UAAU4C,SAMvBkS,cAAe,WACd,OAAO1Y,KAAKiE,cAAcjE,KAAKkZ,oBAMhCE,cAAe,WACd,OAAOpZ,KAAKiE,cAAcjE,KAAKmZ,oBAShCE,WAAY,SAASC,GACpB,IAMIxZ,EAAG6D,EANHlD,EAAKT,KACLf,EAAQwB,EAAGxB,MACX+E,EAAQvD,EAAG2Y,gBACXzR,EAAU3D,EAAMlB,QAAQ6E,QACxB5H,OAAgBqE,IAATkV,EAAqBra,EAAM6E,KAAK8D,SAAS1H,OAASoZ,EAAO,EAChEC,EAAS,GAGb,IAAKzZ,EAAI,EAAGA,EAAIC,IAAQD,EACvB6D,EAAO1E,EAAM4I,eAAe/H,GACxB6D,EAAKsU,KAAOhZ,EAAM6I,iBAAiBhI,MACzB,IAAZ6H,IACY,IAAZA,IAAoD,IAAhC4R,EAAOrN,QAAQvI,EAAKwU,aAC5B/T,IAAZuD,SAAyCvD,IAAfT,EAAKwU,QAAuD,IAAhCoB,EAAOrN,QAAQvI,EAAKwU,UAC3EoB,EAAOpZ,KAAKwD,EAAKwU,OAInB,OAAOoB,GAORC,cAAe,WACd,OAAOxZ,KAAKqZ,aAAanZ,QAU1BuZ,cAAe,SAASpT,EAAcqT,GACrC,IAAIH,EAASvZ,KAAKqZ,WAAWhT,GACzB/F,OAAkB8D,IAATsV,EACVH,EAAOrN,QAAQwN,IACd,EAEJ,OAAmB,IAAXpZ,EACLiZ,EAAOrZ,OAAS,EAChBI,GAMJgY,SAAU,WACT,IAQIxY,EAAGC,EAAMwB,EARTd,EAAKT,KACLgE,EAAQvD,EAAG2Y,gBACXpC,EAAavW,EAAG+Y,gBAChBnT,EAAe5F,EAAGH,MAClBiW,EAAevS,EAAMuS,eACrB/I,EAAQ+I,EAAevS,EAAMsF,KAAOtF,EAAMwF,IAC1CkL,EAAMlH,GAAS+I,EAAevS,EAAMiR,MAAQjR,EAAMkR,QAClDkB,EAAS,GAGb,IAAKtW,EAAI,EAAGC,EAAOU,EAAGmD,UAAUE,KAAK5D,OAAQJ,EAAIC,IAAQD,EACxDsW,EAAOjW,KAAK6D,EAAM8C,iBAAiB,KAAMhH,EAAGuG,IAO7C,OAJA9E,EAAMnD,EAAQ6Y,cAAcjT,EAAMlB,QAAQiU,cACvCZ,EAAqBnS,EAAOoS,IAC3B,EAEG,CACN7U,IAAKA,EACL6U,OAAQA,EACR5I,MAAOA,EACPkH,IAAKA,EACLsC,WAAYA,EACZhT,MAAOA,IAQT6U,wBAAyB,SAASxS,EAAc/F,GAC/C,IASIR,EAAG6Z,EAAOC,EAAQpO,EAAMwN,EAAMhE,EAT9BvU,EAAKT,KACLf,EAAQwB,EAAGxB,MACX0E,EAAOlD,EAAGmD,UACVI,EAAQvD,EAAGiY,gBACX9Q,EAAW3I,EAAM6E,KAAK8D,SACtB9F,EAAQkC,EAAMiE,cAAcL,EAASvB,GAAcvC,KAAKxD,IACxDqH,EAAU3D,EAAMlB,QAAQ6E,QACxBwQ,EAAQxU,EAAKwU,MACb3K,EAAQ,EAGZ,GAAI7F,QAAwBvD,IAAZuD,QAAmCvD,IAAV+T,EACxC,IAAKrY,EAAI,EAAGA,EAAIuG,IAAgBvG,EAC/B6Z,EAAQ1a,EAAM4I,eAAe/H,GAEzB6Z,EAAM1B,KACT0B,EAAMxB,QAAUA,GAChBwB,EAAME,WAAWX,oBAAsBlV,EAAMtB,IAC7CzD,EAAM6I,iBAAiBhI,KAEvB8Z,EAAS5V,EAAMiE,cAAcL,EAAS9H,GAAGgE,KAAKxD,KACzCwB,EAAQ,GAAK8X,EAAS,GAAO9X,GAAS,GAAK8X,EAAS,KACxDpM,GAASoM,IAUb,OAJApO,EAAOxH,EAAM8C,iBAAiB0G,GAC9BwL,EAAOhV,EAAM8C,iBAAiB0G,EAAQ1L,GACtCkT,GAAQgE,EAAOxN,GAAQ,EAEhB,CACNwJ,KAAMA,EACNxJ,KAAMA,EACNwN,KAAMA,EACNC,OAAQD,EAAOhE,EAAO,IAOxB+D,wBAAyB,SAAS1S,EAAc/F,EAAOsW,GACtD,IAAInW,EAAKT,KACL8C,EAAU8T,EAAM5S,MAAMlB,QACtBgX,EAAiC,SAAzBhX,EAAQiU,aACjBM,EAA0B/W,EAAOsW,EAAO9T,GACxC6T,EAAyBrW,EAAOsW,EAAO9T,GAEtCiX,EAAatZ,EAAGgZ,cAAcpT,EAAc5F,EAAGmD,UAAUuU,OACzDc,EAASa,EAAMtM,MAASsM,EAAM1C,MAAQ2C,EAAeD,EAAM1C,MAAQ,EACnEpC,EAAO9T,KAAKK,IACfnD,EAAQ2E,eAAeD,EAAQkX,gBAAiBC,KAChDH,EAAM1C,MAAQ0C,EAAMjD,OAErB,MAAO,CACNrL,KAAMyN,EAASjE,EAAO,EACtBgE,KAAMC,EAASjE,EAAO,EACtBiE,OAAQA,EACRjE,KAAMA,IAIRtL,KAAM,WACL,IAAIjJ,EAAKT,KACLf,EAAQwB,EAAGxB,MACX+E,EAAQvD,EAAGiY,gBACXN,EAAQ3X,EAAGmD,UAAUE,KACrBjB,EAAUpC,EAAG0D,aACbpE,EAAOqY,EAAMlY,OACbJ,EAAI,EAIR,IAFA1B,EAAQuL,OAAOC,SAAS3K,EAAM4K,IAAK5K,EAAMqJ,WAElCxI,EAAIC,IAAQD,EACbkG,MAAMhC,EAAMiE,cAAcpF,EAAQiB,KAAKhE,MAC3CsY,EAAMtY,GAAG4J,OAIXtL,EAAQuL,OAAOG,WAAW7K,EAAM4K,MAGjCE,cAAe,SAAS4N,GACvB,IAAI9U,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAAS+P,EAAUnT,eAC7ClE,EAAQqX,EAAUvQ,OAClB1D,EAASiU,EAAUjU,QAAU,GAC7ByE,EAAQwP,EAAUjT,OAEtByD,EAAMxD,gBAAkBjB,EAAOwG,qBAAuBxG,EAAOwG,qBAAuB9L,EAAQwH,sBAAsB/C,EAAQqH,qBAAsB5J,EAAOlC,EAAQgM,cAAcjC,EAAMxD,kBACnLwD,EAAMtD,YAAcnB,EAAO2G,iBAAmB3G,EAAO2G,iBAAmBjM,EAAQwH,sBAAsB/C,EAAQwH,iBAAkB/J,EAAOlC,EAAQgM,cAAcjC,EAAMtD,cACnKsD,EAAMvD,YAAclB,EAAO6G,iBAAmB7G,EAAO6G,iBAAmBnM,EAAQwH,sBAAsB/C,EAAQ0H,iBAAkBjK,EAAO6H,EAAMvD,cAG9I6F,iBAAkB,SAASkN,GAC1B,IAAI9U,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAAS+P,EAAUnT,eAC7ClE,EAAQqX,EAAUvQ,OAClB1D,EAASiU,EAAUjU,QAAU,GAC7ByE,EAAQwP,EAAUjT,OAClBwV,EAA0Bla,KAAKf,MAAM6D,QAAQZ,SAASyV,UAE1DxP,EAAMxD,gBAAkBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBvG,EAAQwH,sBAAsB/C,EAAQ8B,gBAAiBrE,EAAO4Z,EAAwBvV,iBAChKwD,EAAMtD,YAAcnB,EAAOmB,YAAcnB,EAAOmB,YAAczG,EAAQwH,sBAAsB/C,EAAQgC,YAAavE,EAAO4Z,EAAwBrV,aAChJsD,EAAMvD,YAAclB,EAAOkB,YAAclB,EAAOkB,YAAcxG,EAAQwH,sBAAsB/C,EAAQ+B,YAAatE,EAAO4Z,EAAwBtV,gBAIlJ9F,EAAMmE,YAAYkX,cAAgBrb,EAAMmE,YAAYgV,IAAIjZ,OAAO,CAI9Dka,gBAAiB,WAChB,OAAOlZ,KAAK4D,UAAU4C,SAMvB2S,gBAAiB,WAChB,OAAOnZ,KAAK4D,UAAUM,a,oCClfzB,IAAIhG,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAEtBF,EAASG,KAAK,QAAS,CACtB2F,MAAO,CACNvB,KAAM,gBAEPP,SAAU,CACTgB,KAAM,CACLmB,QAAS,MAKZzF,EAAOC,QAAU,SAASC,GAEzBA,EAAMmE,YAAYmX,MAAQtb,EAAMqE,kBAAkBnE,OAAO,CAExDoE,mBAAoBlB,EAASmB,KAE7BC,gBAAiBpB,EAASqB,MAE1B6I,WAAYhO,EAAQM,KAEpB8E,OAAQ,SAASC,GAChB,IAAIhD,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVV,EAAOS,EAAKd,QACZgB,EAASF,EAAKG,KACdJ,EAASR,EAAKQ,QAAU,GACxBb,EAAUpC,EAAG0D,aACbJ,EAAqBtD,EAAGxB,MAAM6D,QAAQZ,SAASgB,KAC/Cc,EAAQvD,EAAGxB,MAAM+E,WAGII,IAApBvB,EAAQwB,cAAmDD,IAAxBvB,EAAQyB,cAC/CzB,EAAQyB,YAAczB,EAAQwB,SAG/BjG,EAAQY,OAAO2E,EAAKd,QAAS,CAE5B2B,cAAe/D,EAAGH,MAClBiE,OAAQP,EAERS,UAAWZ,EACXwW,OAAO,EAEP3V,OAAQ,CAEPL,QAASX,EAAOW,QAAUX,EAAOW,QAAUjG,EAAQ2E,eAAeF,EAAQyB,YAAaP,EAAmBM,SAC1GM,gBAAiBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAmB9B,EAAQ8B,iBAAmBZ,EAAmBY,gBAClHC,YAAalB,EAAOkB,YAAclB,EAAOkB,YAAe/B,EAAQ+B,aAAeb,EAAmBa,YAClGC,YAAanB,EAAOmB,YAAcnB,EAAOmB,YAAehC,EAAQgC,aAAed,EAAmBc,YAClGK,KAAMxB,EAAOwB,KAAOxB,EAAOwB,UAAyBd,IAAjBvB,EAAQqC,KAAqBrC,EAAQqC,KAAOnB,EAAmBmB,KAClGJ,eAAgBpB,EAAOoB,eAAiBpB,EAAOoB,eAAkBjC,EAAQiC,gBAAkBf,EAAmBe,eAC9GC,WAAYrB,EAAOqB,WAAarB,EAAOqB,WAAclC,EAAQkC,YAAchB,EAAmBgB,WAC9FC,iBAAkBtB,EAAOsB,iBAAmBtB,EAAOsB,iBAAoBnC,EAAQmC,kBAAoBjB,EAAmBiB,iBACtHC,gBAAiBvB,EAAOuB,gBAAkBvB,EAAOuB,gBAAmBpC,EAAQoC,iBAAmBlB,EAAmBkB,mBAIpHtB,EAAKd,QAAQyC,QAGblH,EAAQ0N,KAAKjI,EAAQ,SAAS6B,EAAOpF,GACpCG,EAAG8E,cAAcG,EAAOpF,EAAOmD,IAC7BhD,GAGHA,EAAG+E,6BAEJD,cAAe,SAASG,EAAOpF,EAAOmD,GACrC,IAAIhD,EAAKT,KACL0D,EAASgC,EAAMhC,QAAU,GACzBb,EAAUpC,EAAG0D,aACbH,EAAQvD,EAAGxB,MAAM+E,MACjBsW,EAAsB7Z,EAAGxB,MAAM6D,QAAQZ,SAASwD,MAChD6U,EAAgBvW,EAAMwW,yBAAyBla,EAAOuC,EAAQiB,KAAKxD,SAG/C8D,IAAnBvB,EAAQ6D,aAAkDtC,IAAxBvB,EAAQ8D,cAC9C9D,EAAQ8D,YAAc9D,EAAQ6D,aAEJtC,IAAtBvB,EAAQ+D,gBAAwDxC,IAA3BvB,EAAQgE,iBACjDhE,EAAQgE,eAAiBhE,EAAQ+D,WAGlCxI,EAAQY,OAAO0G,EAAO,CAErBlB,cAAe/D,EAAGH,MAClB8G,OAAQ9G,EACRiE,OAAQP,EAGRU,OAAQ,CACPyB,EAAG1C,EAAQO,EAAMyW,QAAUF,EAAcpU,EACzCC,EAAG3C,EAAQO,EAAM0W,QAAUH,EAAcnU,EAGzC/B,QAASX,EAAOW,QAAUX,EAAOW,QAAUjG,EAAQ2E,eAAeF,EAAQyB,YAAa7D,EAAGxB,MAAM6D,QAAQZ,SAASgB,KAAKmB,SACtHqC,OAAQhD,EAAOgD,OAAShD,EAAOgD,OAAStI,EAAQwH,sBAAsB/C,EAAQ8D,YAAarG,EAAOga,EAAoB5T,QACtH/B,gBAAiBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBvG,EAAQwH,sBAAsB/C,EAAQ8C,qBAAsBrF,EAAOga,EAAoB3V,iBAC1JE,YAAanB,EAAOmB,YAAcnB,EAAOmB,YAAczG,EAAQwH,sBAAsB/C,EAAQiD,iBAAkBxF,EAAOga,EAAoBzV,aAC1ID,YAAalB,EAAOkB,YAAclB,EAAOkB,YAAcxG,EAAQwH,sBAAsB/C,EAAQoD,iBAAkB3F,EAAOga,EAAoB1V,aAC1I0C,WAAY5D,EAAO4D,WAAa5D,EAAO4D,WAAalJ,EAAQwH,sBAAsB/C,EAAQyE,WAAYhH,EAAOga,EAAoBhT,YAGjIV,UAAWlD,EAAOkD,UAAYlD,EAAOkD,UAAYxI,EAAQwH,sBAAsB/C,EAAQgE,eAAgBvG,EAAOga,EAAoB1T,cAIpIlB,EAAMhB,OAAO2C,KAAO3D,EAAO2D,KAAO3D,EAAO2D,KAAQrB,MAAMN,EAAMhB,OAAOyB,IAAMH,MAAMN,EAAMhB,OAAO0B,IAE9FZ,0BAA2B,WAC1B,IAAI8C,EAAYtI,KAAKf,MAAMqJ,UACvB3E,EAAO3D,KAAK4D,UAEhBxF,EAAQ0N,KAAKnI,EAAKG,KAAM,SAAS4B,EAAOpF,GACvC,IAAI6H,EAAQzC,EAAMhB,OACd0D,EAAgBhK,EAAQwK,YAC3BxK,EAAQyK,aAAalF,EAAKG,KAAMxD,GAAO,GAAMoE,OAC7CyD,EACA/J,EAAQ0K,SAASnF,EAAKG,KAAMxD,GAAO,GAAMoE,OACzCyD,EAAM9D,SAIP8D,EAAMY,sBAAwB7H,KAAKuH,IAAIvH,KAAKK,IAAI6G,EAAcY,SAAS7C,EAAGmC,EAAUiB,OAAQjB,EAAUgB,MACtGnB,EAAMc,sBAAwB/H,KAAKuH,IAAIvH,KAAKK,IAAI6G,EAAcY,SAAS5C,EAAGkC,EAAUmB,QAASnB,EAAUkB,KAEvGrB,EAAMe,kBAAoBhI,KAAKuH,IAAIvH,KAAKK,IAAI6G,EAAce,KAAKhD,EAAGmC,EAAUiB,OAAQjB,EAAUgB,MAC9FnB,EAAMiB,kBAAoBlI,KAAKuH,IAAIvH,KAAKK,IAAI6G,EAAce,KAAK/C,EAAGkC,EAAUmB,QAASnB,EAAUkB,KAG/F9D,EAAMJ,WAIRyE,cAAe,SAASrE,GAEvB,IAAI7C,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAASlC,EAAMlB,eACzCd,EAASgC,EAAMhC,QAAU,GACzBpD,EAAQoF,EAAM0B,OACde,EAAQzC,EAAMhB,OAElByD,EAAMzB,OAAShD,EAAOsG,YAActG,EAAOsG,YAAc5L,EAAQwH,sBAAsB/C,EAAQoH,iBAAkB3J,EAAON,KAAKf,MAAM6D,QAAQZ,SAASwD,MAAMsE,aAC1J7B,EAAMxD,gBAAkBjB,EAAOwG,qBAAuBxG,EAAOwG,qBAAuB9L,EAAQwH,sBAAsB/C,EAAQsH,0BAA2B7J,EAAOlC,EAAQgM,cAAcjC,EAAMxD,kBACxLwD,EAAMtD,YAAcnB,EAAO2G,iBAAmB3G,EAAO2G,iBAAmBjM,EAAQwH,sBAAsB/C,EAAQyH,sBAAuBhK,EAAOlC,EAAQgM,cAAcjC,EAAMtD,cACxKsD,EAAMvD,YAAclB,EAAO6G,iBAAmB7G,EAAO6G,iBAAmBnM,EAAQwH,sBAAsB/C,EAAQ2H,sBAAuBlK,EAAO6H,EAAMvD,cAGnJ6F,iBAAkB,SAAS/E,GAC1B,IAAI7C,EAAU7C,KAAKf,MAAM6E,KAAK8D,SAASlC,EAAMlB,eACzCd,EAASgC,EAAMhC,QAAU,GACzBpD,EAAQoF,EAAM0B,OACde,EAAQzC,EAAMhB,OACd4V,EAAsBta,KAAKf,MAAM6D,QAAQZ,SAASwD,MAEtDyC,EAAMzB,OAAShD,EAAOgD,OAAShD,EAAOgD,OAAStI,EAAQwH,sBAAsB/C,EAAQ8D,YAAarG,EAAOga,EAAoB5T,QAC7HyB,EAAMxD,gBAAkBjB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBvG,EAAQwH,sBAAsB/C,EAAQ8C,qBAAsBrF,EAAOga,EAAoB3V,iBACjKwD,EAAMtD,YAAcnB,EAAOmB,YAAcnB,EAAOmB,YAAczG,EAAQwH,sBAAsB/C,EAAQiD,iBAAkBxF,EAAOga,EAAoBzV,aACjJsD,EAAMvD,YAAclB,EAAOkB,YAAclB,EAAOkB,YAAcxG,EAAQwH,sBAAsB/C,EAAQoD,iBAAkB3F,EAAOga,EAAoB1V,kB,oCClKpJ,IAAI1G,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAEtBF,EAASG,KAAK,SAAU,CACvBgE,MAAO,CACNC,KAAM,UAGPC,OAAQ,CACPC,MAAO,CAAC,CACPC,KAAM,SACNiV,SAAU,SACVhV,GAAI,aAELC,MAAO,CAAC,CACPF,KAAM,SACNiV,SAAU,OACVhV,GAAI,cAIN8Q,SAAU,CACTC,UAAW,CACV7B,MAAO,WAEN,MAAO,IAERa,MAAO,SAASoF,EAAM/T,GACrB,IAAIiU,EAAejU,EAAK8D,SAASiQ,EAAKxR,cAAcoM,OAAS,GACzDkI,EAAY7W,EAAK8D,SAASiQ,EAAKxR,cAAcvC,KAAK+T,EAAKvX,OAC3D,OAAOyX,EAAe,MAAQF,EAAKG,OAAS,KAAOH,EAAKC,OAAS,KAAO6C,EAAUC,EAAI,SAO1Fhc,EAAOC,QAAU,SAASC,GAEzBA,EAAMmE,YAAY4X,OAAS/b,EAAMqE,kBAAkBnE,OAAO,CAIzDsE,gBAAiBpB,EAASqB,MAK1BC,OAAQ,SAASC,GAChB,IAAIhD,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVC,EAASF,EAAKG,KAGlB1F,EAAQ0N,KAAKjI,EAAQ,SAAS6B,EAAOpF,GACpCG,EAAG8E,cAAcG,EAAOpF,EAAOmD,MAOjC8B,cAAe,SAASG,EAAOpF,EAAOmD,GACrC,IAAIhD,EAAKT,KACL2D,EAAOlD,EAAGmD,UACVF,EAASgC,EAAMhC,QAAU,GACzB6C,EAAS9F,EAAGwD,cAAcN,EAAK6C,SAC/BF,EAAS7F,EAAGwD,cAAcN,EAAKO,SAC/BpB,EAAUrC,EAAGqa,uBAAuBpV,EAAOpF,GAC3CwD,EAAOrD,EAAG0D,aAAaL,KAAKxD,GAC5Bya,EAAUta,EAAGH,MAEb6F,EAAI1C,EAAQ8C,EAAOyU,mBAAmB,IAAOzU,EAAOO,iBAAiC,kBAAThD,EAAoBA,EAAOiD,IAAKzG,EAAOya,GACnH3U,EAAI3C,EAAQ6C,EAAOU,eAAiBV,EAAOQ,iBAAiBhD,EAAMxD,EAAOya,GAE7ErV,EAAMwB,QAAUX,EAChBb,EAAMyB,QAAUb,EAChBZ,EAAMuV,SAAWnY,EACjB4C,EAAMlB,cAAgBuW,EACtBrV,EAAM0B,OAAS9G,EACfoF,EAAMhB,OAAS,CACdC,gBAAiB7B,EAAQ6B,gBACzBE,YAAa/B,EAAQ+B,YACrBD,YAAa9B,EAAQ8B,YACrBgC,UAAW9D,EAAQ8D,UACnBU,WAAYxE,EAAQwE,WACpBZ,OAAQjD,EAAQ,EAAIX,EAAQ4D,OAC5BW,KAAM3D,EAAO2D,MAAQrB,MAAMG,IAAMH,MAAMI,GACvCD,EAAGA,EACHC,EAAGA,GAGJV,EAAMJ,SAMPyE,cAAe,SAASrE,GACvB,IAAIyC,EAAQzC,EAAMhB,OACd5B,EAAU4C,EAAMuV,SAEpB9S,EAAMxD,gBAAkBvG,EAAQ2E,eAAeD,EAAQoH,qBAAsB9L,EAAQgM,cAActH,EAAQ6B,kBAC3GwD,EAAMtD,YAAczG,EAAQ2E,eAAeD,EAAQuH,iBAAkBjM,EAAQgM,cAActH,EAAQ+B,cACnGsD,EAAMvD,YAAcxG,EAAQ2E,eAAeD,EAAQyH,iBAAkBzH,EAAQ8B,aAC7EuD,EAAMzB,OAAS5D,EAAQ4D,OAAS5D,EAAQkH,aAMzCS,iBAAkB,SAAS/E,GAC1B,IAAIyC,EAAQzC,EAAMhB,OACd5B,EAAU4C,EAAMuV,SAEpB9S,EAAMxD,gBAAkB7B,EAAQ6B,gBAChCwD,EAAMtD,YAAc/B,EAAQ+B,YAC5BsD,EAAMvD,YAAc9B,EAAQ8B,YAC5BuD,EAAMzB,OAAS5D,EAAQ4D,QAMxBoU,uBAAwB,SAASpV,EAAOpF,GACvC,IASIR,EAAGC,EAAMoL,EATT1K,EAAKT,KACLf,EAAQwB,EAAGxB,MACX2I,EAAW3I,EAAM6E,KAAK8D,SACtB/E,EAAU+E,EAASnH,EAAGH,OACtBoD,EAASgC,EAAMhC,QAAU,GACzBZ,EAAU7D,EAAM6D,QAAQZ,SAASwD,MACjCwV,EAAU9c,EAAQ0E,QAAQoY,QAC1BpX,EAAOjB,EAAQiB,KAAKxD,GACpB0B,EAAS,GAITyN,EAAU,CACbxQ,MAAOA,EACPkc,UAAW7a,EACXuC,QAASA,EACTwD,aAAc5F,EAAGH,OAGdoO,EAAO,CACV,kBACA,cACA,cACA,uBACA,mBACA,mBACA,cACA,YACA,cAGD,IAAK5O,EAAI,EAAGC,EAAO2O,EAAKxO,OAAQJ,EAAIC,IAAQD,EAC3CqL,EAAMuD,EAAK5O,GACXkC,EAAOmJ,GAAO+P,EAAQ,CACrBxX,EAAOyH,GACPtI,EAAQsI,GACRrI,EAAQqI,IACNsE,EAASnP,GAWb,OAPA0B,EAAO0E,OAASwU,EAAQ,CACvBxX,EAAOgD,OACP5C,EAAOA,EAAK8W,OAAIxW,EAChBvB,EAAQ6D,OACR5D,EAAQ4D,QACN+I,EAASnP,GAEL0B,O,oCC9KV,IAAI9D,EAAW,EAAQ,QACnBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAClBkT,EAAQ,EAAQ,QA8DpB,SAAS8J,EAAgB5E,GACxB,IACI1W,EAAGC,EADHsS,EAAS,GAGb,IAAKvS,EAAI,EAAGC,EAAOyW,EAAMtW,OAAQJ,EAAIC,IAAQD,EAC5CuS,EAAOlS,KAAKqW,EAAM1W,GAAG2S,OAGtB,OAAOJ,EAGR,SAASgJ,EAAarX,EAAO1D,EAAOkX,GACnC,IAAI8D,EAAYtX,EAAM0S,gBAAgBpW,GAStC,OAPIkX,IAEF8D,GADa,IAAVhb,GACW0D,EAAM0S,gBAAgB,GAAK4E,GAAa,GAExCA,EAAYtX,EAAM0S,gBAAgBpW,EAAQ,IAAM,GAGzDgb,EAjFRpd,EAASG,KAAK,QAAS,CACtBkd,SAAS,EACT7D,SAAU,OACVrD,QAAQ,EAGRkD,UAAW,CACVgE,SAAS,EACTtN,MAAO,qBACP+E,UAAW,EACXwI,YAAY,EACZC,iBAAiB,EACjBC,WAAW,EACXC,eAAgB,GAChBC,cAAe,EACfC,cAAe,mBACfC,mBAAoB,GACpBC,yBAA0B,EAC1BvE,iBAAiB,EACjBzS,WAAY,GACZC,iBAAkB,GAInBgX,WAAY,CAEXT,SAAS,EAGTU,YAAa,GAGbC,WAAY,IAGZC,QAAS,CACR3S,IAAK,EACLC,OAAQ,IAKV+M,MAAO,CACN4F,aAAa,EACbC,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRJ,QAAS,EACTK,SAAS,EACTjB,SAAS,EACTkB,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EAEbnb,SAAU8P,EAAMsL,WAAW5a,OAC3B6a,MAAO,GACPC,MAAO,MA4BTle,EAAOC,QAAU,SAASC,GAEzB,SAASie,EAAgBtN,EAASuN,EAAMC,GACvC,OAAO7e,EAAQ8H,QAAQ8W,GACtB5e,EAAQ8e,YAAYzN,EAASwN,EAAMD,GACnCvN,EAAQ0N,YAAYH,GAAM/H,MAG5B,SAASmI,EAAiBta,GACzB,IAAIC,EAAiB3E,EAAQ2E,eACzBsa,EAAiBnf,EAAS+S,OAC1B+D,EAAOjS,EAAeD,EAAQwa,SAAUD,EAAeE,iBACvDC,EAAQza,EAAeD,EAAQ2a,UAAWJ,EAAeK,kBACzDC,EAAS5a,EAAeD,EAAQ8a,WAAYP,EAAeQ,mBAE/D,MAAO,CACN7I,KAAMA,EACNwI,MAAOA,EACPG,OAAQA,EACRV,KAAM7e,EAAQ0f,WAAW9I,EAAMwI,EAAOG,IAIxC,SAASI,EAAgBjb,GACxB,OAAO1E,EAAQ0E,QAAQkb,aACtB5f,EAAQ2E,eAAeD,EAAQoZ,WAAY,KAC3C9d,EAAQ2E,eAAeD,EAAQwa,SAAUpf,EAAS+S,OAAOsM,kBAG3Dze,EAAMmf,MAAQ9f,EAAQa,OAAO,CAO5Bkf,WAAY,WACX,IAAIzd,EAAKT,KACT,MAAO,CACNsJ,KAAM7I,EAAG0d,aAAe,EACxB3U,IAAK/I,EAAG2d,YAAc,EACtB7U,MAAO9I,EAAG4d,cAAgB,EAC1B5U,OAAQhJ,EAAG6d,eAAiB,IAQ9B7H,SAAU,WACT,OAAOzW,KAAKue,QAObC,kBAAmB,WAClB,IAAIhI,EAAQxW,KAAK8C,QAAQ0T,MAWzB,IAAK,IAAIrL,KAVW,IAAhBqL,EAAMqG,QACTrG,EAAMqG,MAAQ,CACbtB,SAAS,KAGS,IAAhB/E,EAAMsG,QACTtG,EAAMsG,MAAQ,CACbvB,SAAS,IAGK/E,EACH,UAARrL,GAA2B,UAARA,IACU,qBAArBqL,EAAMqG,MAAM1R,KACtBqL,EAAMqG,MAAM1R,GAAOqL,EAAMrL,IAEM,qBAArBqL,EAAMsG,MAAM3R,KACtBqL,EAAMsG,MAAM3R,GAAOqL,EAAMrL,MAK7BsT,aAAc,WACbrgB,EAAQoD,SAASxB,KAAK8C,QAAQ2b,aAAc,CAACze,QAE9CwD,OAAQ,SAASkb,EAAUC,EAAWC,GACrC,IACI9e,EAAGC,EAAMsS,EAAQI,EAAO+D,EAAOwG,EAD/Bvc,EAAKT,KAwDT,IApDAS,EAAGge,eAGHhe,EAAGie,SAAWA,EACdje,EAAGke,UAAYA,EACfle,EAAGme,QAAUxgB,EAAQY,OAAO,CAC3BsK,KAAM,EACNC,MAAO,EACPC,IAAK,EACLC,OAAQ,GACNmV,GACHne,EAAGoe,iBAAmBpe,EAAGoe,kBAAoB,GAG7Cpe,EAAGqe,sBACHre,EAAGse,gBACHte,EAAGue,qBAGHve,EAAGwe,mBACHxe,EAAGye,sBACHze,EAAG0e,kBASH1e,EAAG2e,mBAIH5I,EAAQ/V,EAAG4e,cAAgB,GAE3B5e,EAAG6e,kBAEH7e,EAAG8e,8BAKHlN,EAAS5R,EAAG+e,qBAAqBhJ,IAAU/V,EAAG+V,MAE9C/V,EAAGgf,6BAEHhf,EAAG+V,MAAQnE,EAKNvS,EAAI,EAAGC,EAAOsS,EAAOnS,OAAQJ,EAAIC,IAAQD,EAC7C2S,EAAQJ,EAAOvS,GACfkd,EAAOxG,EAAM1W,GACRkd,EAMJA,EAAKvK,MAAQA,EALb+D,EAAMrW,KAAK6c,EAAO,CACjBvK,MAAOA,EACPqK,OAAO,IAoBV,OAbArc,EAAG8d,OAAS/H,EAGZ/V,EAAGif,8BACHjf,EAAGkf,wBACHlf,EAAGmf,6BAEHnf,EAAGof,YACHpf,EAAGqf,MACHrf,EAAGsf,WAEHtf,EAAGuf,cAEIvf,EAAG2T,SAGX4L,YAAa,WACZ5hB,EAAQoD,SAASxB,KAAK8C,QAAQkd,YAAa,CAAChgB,QAK7C8e,oBAAqB,WACpB1gB,EAAQoD,SAASxB,KAAK8C,QAAQgc,oBAAqB,CAAC9e,QAErD+e,cAAe,WACd,IAAIte,EAAKT,KAELS,EAAG8V,gBAEN9V,EAAGwU,MAAQxU,EAAGie,SACdje,EAAG6I,KAAO,EACV7I,EAAG8I,MAAQ9I,EAAGwU,QAEdxU,EAAGyU,OAASzU,EAAGke,UAGfle,EAAG+I,IAAM,EACT/I,EAAGgJ,OAAShJ,EAAGyU,QAIhBzU,EAAG0d,YAAc,EACjB1d,EAAG2d,WAAa,EAChB3d,EAAG4d,aAAe,EAClB5d,EAAG6d,cAAgB,GAEpBU,mBAAoB,WACnB5gB,EAAQoD,SAASxB,KAAK8C,QAAQkc,mBAAoB,CAAChf,QAIpDif,iBAAkB,WACjB7gB,EAAQoD,SAASxB,KAAK8C,QAAQmc,iBAAkB,CAACjf,QAElDkf,oBAAqB9gB,EAAQM,KAC7BygB,gBAAiB,WAChB/gB,EAAQoD,SAASxB,KAAK8C,QAAQqc,gBAAiB,CAACnf,QAIjDof,iBAAkB,WACjBhhB,EAAQoD,SAASxB,KAAK8C,QAAQsc,iBAAkB,CAACpf,QAElDqf,WAAYjhB,EAAQM,KACpB4gB,gBAAiB,WAChBlhB,EAAQoD,SAASxB,KAAK8C,QAAQwc,gBAAiB,CAACtf,QAGjDuf,4BAA6B,WAC5BnhB,EAAQoD,SAASxB,KAAK8C,QAAQyc,4BAA6B,CAACvf,QAE7Dwf,qBAAsB,WACrB,IAAI/e,EAAKT,KAELigB,EAAWxf,EAAGqC,QAAQ0T,MAC1B/V,EAAG+V,MAAQ/V,EAAG+V,MAAMhE,IAAIyN,EAASC,cAAgBD,EAASze,SAAUxB,OAErEyf,2BAA4B,WAC3BrhB,EAAQoD,SAASxB,KAAK8C,QAAQ2c,2BAA4B,CAACzf,QAK5D0f,4BAA6B,WAC5BthB,EAAQoD,SAASxB,KAAK8C,QAAQ4c,4BAA6B,CAAC1f,QAE7D2f,sBAAuB,WACtB,IAAIlf,EAAKT,KACLyP,EAAUhP,EAAGoJ,IACboW,EAAWxf,EAAGqC,QAAQ0T,MACtBnE,EAAS+I,EAAgB3a,EAAG8d,QAI5B4B,EAAW/C,EAAiB6C,GAChCxQ,EAAQwN,KAAOkD,EAASlD,KAExB,IAAImD,EAAgBH,EAAS5D,aAAe,EAE5C,GAAIhK,EAAOnS,QAAUO,EAAGqC,QAAQyY,SAAW9a,EAAG8V,eAAgB,CAC7D,IAEI8J,EAAaC,EAFbC,EAAqBniB,EAAQ8e,YAAYzN,EAAS0Q,EAASlD,KAAM5K,EAAQ5R,EAAGoe,kBAC5E2B,EAAaD,EAIbE,EAAYhgB,EAAGiW,gBAAgB,GAAKjW,EAAGiW,gBAAgB,GAAK,EAGhE,MAAO8J,EAAaC,GAAaL,EAAgBH,EAAS3D,YAAa,CACtE,IAAIoE,EAAetiB,EAAQuiB,UAAUP,GAIrC,GAHAC,EAAcnf,KAAKsT,IAAIkM,GACvBJ,EAAcpf,KAAKuT,IAAIiM,GAEnBJ,EAAcC,EAAqB9f,EAAGke,UAAW,CAEpDyB,IACA,MAGDA,IACAI,EAAaH,EAAcE,GAI7B9f,EAAG2f,cAAgBA,GAEpBR,2BAA4B,WAC3BxhB,EAAQoD,SAASxB,KAAK8C,QAAQ8c,2BAA4B,CAAC5f,QAK5D6f,UAAW,WACVzhB,EAAQoD,SAASxB,KAAK8C,QAAQ+c,UAAW,CAAC7f,QAE3C8f,IAAK,WACJ,IAAIrf,EAAKT,KAELoU,EAAU3T,EAAG2T,QAAU,CAC1Ba,MAAO,EACPC,OAAQ,GAGL7C,EAAS+I,EAAgB3a,EAAG8d,QAE5BvN,EAAOvQ,EAAGqC,QACVmd,EAAWjP,EAAKwF,MAChBoK,EAAiB5P,EAAKgL,WACtB6E,EAAe7P,EAAKuG,UACpBgE,EAAUvK,EAAKuK,QACfhF,EAAe9V,EAAG8V,eAElB4J,EAAW/C,EAAiB6C,GAC5BtE,EAAiB3K,EAAKuG,UAAUoE,eAkBpC,GAbCvH,EAAQa,MAFLsB,EAEa9V,EAAGqgB,cAAgBrgB,EAAGie,SAAWje,EAAGme,QAAQtV,KAAO7I,EAAGme,QAAQrV,MAAQ9I,EAAGie,SAEzEnD,GAAWsF,EAAanF,UAAYC,EAAiB,EAKrEvH,EAAQc,OADLqB,EACcgF,GAAWsF,EAAanF,UAAYC,EAAiB,EAErDlb,EAAGke,UAIjBiC,EAAerF,SAAWA,EAAS,CACtC,IAAIwF,EAAuBhD,EAAgB6C,GACvCI,EAAoB5iB,EAAQ0E,QAAQme,UAAUL,EAAezE,SAC7D+E,EAAcH,EAAuBC,EAAkB9L,OAEvDqB,EACHnC,EAAQc,QAAUgM,EAElB9M,EAAQa,OAASiM,EAKnB,GAAIjB,EAAS1E,SAAWA,EAAS,CAChC,IAAI4F,EAAmB/iB,EAAQ8e,YAAYzc,EAAGoJ,IAAKsW,EAASlD,KAAM5K,EAAQ5R,EAAGoe,kBACzEuC,EAA4BhjB,EAAQijB,mBAAmBhP,GACvDiP,EAA4B,GAAhBnB,EAASnL,KACrBuM,EAAc9gB,EAAGqC,QAAQ0T,MAAM2F,QAEnC,GAAI5F,EAAc,CAEjB9V,EAAG+gB,kBAAoBL,EAEvB,IAAIT,EAAetiB,EAAQuiB,UAAUlgB,EAAG2f,eACpCC,EAAcnf,KAAKsT,IAAIkM,GACvBJ,EAAcpf,KAAKuT,IAAIiM,GAGvBe,EAAenB,EAAca,EAC7BhB,EAASnL,KAAOoM,EAChBE,GAAaF,EAA4B,GAC1CE,EAEHlN,EAAQc,OAAShU,KAAKK,IAAId,EAAGke,UAAWvK,EAAQc,OAASuM,EAAcF,GAEvE9gB,EAAGoJ,IAAIoT,KAAOkD,EAASlD,KACvB,IAAIyE,EAAkB3E,EAAgBtc,EAAGoJ,IAAKwI,EAAO,GAAI8N,EAASlD,MAC9D0E,EAAiB5E,EAAgBtc,EAAGoJ,IAAKwI,EAAOA,EAAOnS,OAAS,GAAIigB,EAASlD,MAIxD,IAArBxc,EAAG2f,eACN3f,EAAG0d,YAAgC,WAAlBnN,EAAK0G,SAAyB2I,EAAcqB,EAAmB,EAAKrB,EAAciB,EAAa,EAChH7gB,EAAG4d,aAAiC,WAAlBrN,EAAK0G,SAAyB2I,EAAciB,EAAa,EAAKjB,EAAcsB,EAAkB,IAEhHlhB,EAAG0d,YAAcuD,EAAkB,EAAI,EACvCjhB,EAAG4d,aAAesD,EAAiB,EAAI,QAKpC1B,EAAS1D,OACZ4E,EAAmB,EAInBA,GAAoBI,EAAcD,EAGnClN,EAAQa,MAAQ/T,KAAKK,IAAId,EAAGie,SAAUtK,EAAQa,MAAQkM,GAEtD1gB,EAAG2d,WAAa+B,EAASnL,KAAO,EAChCvU,EAAG6d,cAAgB6B,EAASnL,KAAO,EAIrCvU,EAAGmhB,gBAEHnhB,EAAGwU,MAAQb,EAAQa,MACnBxU,EAAGyU,OAASd,EAAQc,QAOrB0M,cAAe,WACd,IAAInhB,EAAKT,KACLS,EAAGme,UACNne,EAAG0d,YAAcjd,KAAKuH,IAAIhI,EAAG0d,YAAc1d,EAAGme,QAAQtV,KAAM,GAC5D7I,EAAG2d,WAAald,KAAKuH,IAAIhI,EAAG2d,WAAa3d,EAAGme,QAAQpV,IAAK,GACzD/I,EAAG4d,aAAend,KAAKuH,IAAIhI,EAAG4d,aAAe5d,EAAGme,QAAQrV,MAAO,GAC/D9I,EAAG6d,cAAgBpd,KAAKuH,IAAIhI,EAAG6d,cAAgB7d,EAAGme,QAAQnV,OAAQ,KAIpEsW,SAAU,WACT3hB,EAAQoD,SAASxB,KAAK8C,QAAQid,SAAU,CAAC/f,QAI1CuW,aAAc,WACb,MAAiC,QAA1BvW,KAAK8C,QAAQ4U,UAAgD,WAA1B1X,KAAK8C,QAAQ4U,UAExDoJ,YAAa,WACZ,OAAQ9gB,KAAK8C,QAAiB,WAI/BmF,cAAe,SAAS4Z,GAEvB,GAAIzjB,EAAQ6Y,cAAc4K,GACzB,OAAO9a,IAGR,GAAwB,kBAAb8a,IAA0B9S,SAAS8S,GAC7C,OAAO9a,IAGR,GAAI8a,EACH,GAAI7hB,KAAKuW,gBACR,QAAmBnS,IAAfyd,EAAS1b,EACZ,OAAOnG,KAAKiI,cAAc4Z,EAAS1b,QAE9B,QAAmB/B,IAAfyd,EAASzb,EACnB,OAAOpG,KAAKiI,cAAc4Z,EAASzb,GAKrC,OAAOyb,GAQRC,iBAAkB1jB,EAAQM,KAS1BoI,iBAAkB1I,EAAQM,KAO1BqjB,iBAAkB3jB,EAAQM,KAM1BgY,gBAAiB,SAASpW,GACzB,IAAIG,EAAKT,KACLqU,EAAS5T,EAAGqC,QAAQuR,OACxB,GAAI5T,EAAG8V,eAAgB,CACtB,IAAIyL,EAAavhB,EAAGwU,OAASxU,EAAG0d,YAAc1d,EAAG4d,cAC7CoC,EAAYuB,EAAa9gB,KAAKuH,IAAKhI,EAAG8d,OAAOre,QAAUmU,EAAS,EAAI,GAAK,GACzE4N,EAASxB,EAAYngB,EAASG,EAAG0d,YAEjC9J,IACH4N,GAASxB,EAAY,GAGtB,IAAIyB,EAAWzhB,EAAG6I,KAAOpI,KAAKihB,MAAMF,GAEpC,OADAC,GAAYzhB,EAAGqgB,cAAgBrgB,EAAGme,QAAQtV,KAAO,EAC1C4Y,EAER,IAAIE,EAAc3hB,EAAGyU,QAAUzU,EAAG2d,WAAa3d,EAAG6d,eAClD,OAAO7d,EAAG+I,IAAOlJ,GAAS8hB,GAAe3hB,EAAG8d,OAAOre,OAAS,KAO7D8a,mBAAoB,SAASqH,GAC5B,IAAI5hB,EAAKT,KACT,GAAIS,EAAG8V,eAAgB,CACtB,IAAIyL,EAAavhB,EAAGwU,OAASxU,EAAG0d,YAAc1d,EAAG4d,cAC7CiE,EAAeN,EAAaK,EAAW5hB,EAAG0d,YAE1C+D,EAAWzhB,EAAG6I,KAAOpI,KAAKihB,MAAMG,GAEpC,OADAJ,GAAYzhB,EAAGqgB,cAAgBrgB,EAAGme,QAAQtV,KAAO,EAC1C4Y,EAER,OAAOzhB,EAAG+I,IAAO6Y,EAAU5hB,EAAGyU,QAO/BlO,aAAc,WACb,OAAOhH,KAAK8G,iBAAiB9G,KAAKuiB,iBAGnCA,aAAc,WACb,IAAI9hB,EAAKT,KACLuB,EAAMd,EAAGc,IACTkH,EAAMhI,EAAGgI,IAEb,OAAOhI,EAAG2b,YAAc,EACvB7a,EAAM,GAAKkH,EAAM,EAAIA,EACrBlH,EAAM,GAAKkH,EAAM,EAAIlH,EACrB,GAOFihB,UAAW,SAAShM,GACnB,IAAIiM,EASA3iB,EAAGkd,EAAM0F,EAGTC,EAXAliB,EAAKT,KACLuW,EAAe9V,EAAG8V,eAClBqM,EAAcniB,EAAGqC,QAAQ0T,MAAMqG,MAC/BgG,EAAYrM,EAAMtW,OAClB4iB,EAAuB1kB,EAAQuiB,UAAUlgB,EAAG2f,eAC5CC,EAAcnf,KAAKsT,IAAIsO,GACvBC,EAAsBtiB,EAAG+gB,kBAAoBnB,EAC7C2C,EAAS,GAuBb,IAlBIJ,EAAYK,gBACfN,EAAWC,EAAYK,eAGpB1M,IACHkM,GAAY,GAEPM,EAAsBH,EAAYlG,iBAAmBmG,EAAapiB,EAAGwU,OAASxU,EAAG0d,YAAc1d,EAAG4d,gBACtGoE,EAAY,EAAIvhB,KAAKC,OAAQ4hB,EAAsBH,EAAYlG,iBAAmBmG,GAAcpiB,EAAGwU,OAASxU,EAAG0d,YAAc1d,EAAG4d,iBAK7HsE,GAAYE,EAAYF,IAC3BF,EAAYvhB,KAAKuH,IAAIga,EAAWvhB,KAAKC,MAAM0hB,EAAYF,MAIpD7iB,EAAI,EAAGA,EAAI+iB,EAAW/iB,IAC1Bkd,EAAOxG,EAAM1W,GAGb4iB,EAAcD,EAAY,GAAK3iB,EAAI2iB,EAAY,GAAO3iB,EAAI2iB,IAAc,GAAK3iB,EAAI2iB,GAAaI,EAC1FH,GAAc5iB,IAAM+iB,EAAY,UAE5B7F,EAAKvK,MAEbuQ,EAAO7iB,KAAK6c,GAEb,OAAOgG,GAKRtZ,KAAM,SAASpB,GACd,IAAI7H,EAAKT,KACL8C,EAAUrC,EAAGqC,QACjB,GAAKA,EAAQyY,QAAb,CAIA,IAAI9L,EAAUhP,EAAGoJ,IACbwT,EAAiBnf,EAAS+S,OAC1B2R,EAAc9f,EAAQ0T,MAAMqG,MAC5BqG,EAAmBpgB,EAAQ0T,MAAMsG,OAAS8F,EAC1CrL,EAAYzU,EAAQyU,UACpByE,EAAalZ,EAAQkZ,WAErBmH,EAAiC,IAArB1iB,EAAG2f,cACf7J,EAAe9V,EAAG8V,eAElBC,EAAQoM,EAAYnG,SAAWhc,EAAG+hB,UAAU/hB,EAAGgW,YAAchW,EAAGgW,WAChE2M,EAAgBhlB,EAAQ2E,eAAe6f,EAAYS,UAAWhG,EAAeiG,kBAC7EnD,EAAW/C,EAAiBwF,GAC5BW,EAAqBnlB,EAAQ2E,eAAemgB,EAAiBG,UAAWhG,EAAeiG,kBACvFE,EAAgBpG,EAAiB8F,GAEjCO,EAAKlM,EAAUmE,UAAYnE,EAAUoE,eAAiB,EAEtD+H,EAAsBtlB,EAAQ2E,eAAeiZ,EAAWqH,UAAWhG,EAAeiG,kBAClFK,EAAiBvG,EAAiBpB,GAClCgF,EAAoB5iB,EAAQ0E,QAAQme,UAAUjF,EAAWG,SACzD2G,EAAuB1kB,EAAQuiB,UAAUlgB,EAAG2f,eAE5CwD,EAAc,GAEdC,EAAYpjB,EAAGqC,QAAQyU,UAAUvE,UACjC8Q,EAAkC,UAArBhhB,EAAQ4U,SAAuBjX,EAAG8I,MAAQ9I,EAAG8I,MAAQsa,EAAYJ,EAC9EM,EAAgC,UAArBjhB,EAAQ4U,SAAuBjX,EAAG8I,MAAQka,EAAKhjB,EAAG8I,MAC7Dya,EAAkC,WAArBlhB,EAAQ4U,SAAwBjX,EAAG+I,IAAMqa,EAAYpjB,EAAGgJ,OAASga,EAAKI,EACnFI,EAAgC,WAArBnhB,EAAQ4U,SAAwBjX,EAAG+I,IAAMqa,EAAYJ,EAAKhjB,EAAGgJ,OAASoa,EAqKrF,GAnKAzlB,EAAQ0N,KAAK0K,EAAO,SAASwG,EAAM1c,GAElC,IAAIlC,EAAQ6Y,cAAc+F,EAAKvK,OAA/B,CAIA,IACIO,EAAWkR,EAAWnf,EAAYC,EAelCmf,EAAKC,EAAKC,EAAKC,EAAKC,EAAIC,EAAIC,EAAIC,EAAIC,EAAQC,EAhB5CnS,EAAQuK,EAAKvK,MAEbnS,IAAUG,EAAGokB,eAAiB/hB,EAAQuR,SAAWkD,EAAUC,iBAE9DxE,EAAYuE,EAAUqE,cACtBsI,EAAY3M,EAAUsE,cACtB9W,EAAawS,EAAUuE,mBACvB9W,EAAmBuS,EAAUwE,2BAE7B/I,EAAY5U,EAAQwH,sBAAsB2R,EAAUvE,UAAW1S,GAC/D4jB,EAAY9lB,EAAQwH,sBAAsB2R,EAAUtJ,MAAO3N,GAC3DyE,EAAa3G,EAAQ2E,eAAewU,EAAUxS,WAAYsY,EAAetY,YACzEC,EAAmB5G,EAAQ2E,eAAewU,EAAUvS,iBAAkBqY,EAAerY,mBAKtF,IAAI8f,EAAY,SACZC,EAAe,SACfxD,EAAcqB,EAAYzG,QAE9B,GAAI5F,EAAc,CACjB,IAAIyO,EAAevB,EAAKlC,EAEC,WAArBze,EAAQ4U,UAEXqN,EAAgB5B,EAAoB,SAAR,MAC5B2B,EAAa3B,EAAuB,QAAX,SACzByB,EAASnkB,EAAG+I,IAAMwb,IAGlBD,EAAgB5B,EAAuB,SAAX,SAC5B2B,EAAa3B,EAAuB,OAAX,SACzByB,EAASnkB,EAAGgJ,OAASub,GAGtB,IAAIC,EAAa5J,EAAa5a,EAAIH,EAAOiX,EAAUC,iBAAmBhB,EAAMtW,OAAS,GACjF+kB,EAAaxkB,EAAG6I,OACnB4a,EAAY,iBAEbe,GAAc7mB,EAAQ8mB,WAAWlS,GAEjC2R,EAASlkB,EAAGiW,gBAAgBpW,GAASsiB,EAAYjG,YAEjDwH,EAAME,EAAME,EAAKE,EAAKQ,EACtBb,EAAMJ,EACNM,EAAML,EACNO,EAAKlc,EAAUkB,IACfkb,EAAKpc,EAAUmB,OAASoa,MAClB,CACN,IACIsB,EADAC,EAA8B,SAArBtiB,EAAQ4U,SAGjBkL,EAAYrG,QACfuI,EAAYM,EAAS,OAAS,QAC9BD,EAAe5D,IAEfuD,EAAYM,EAAS,QAAU,OAC/BD,EAAe1B,EAAKlC,GAGrBoD,EAASS,EAAS3kB,EAAG8I,MAAQ4b,EAAe1kB,EAAG6I,KAAO6b,EAEtD,IAAIE,EAAahK,EAAa5a,EAAIH,EAAOiX,EAAUC,iBAAmBhB,EAAMtW,OAAS,GACjFmlB,EAAa5kB,EAAG+I,MACnB0a,EAAY,iBAEbmB,GAAcjnB,EAAQ8mB,WAAWlS,GAEjC4R,EAASnkB,EAAGiW,gBAAgBpW,GAASsiB,EAAYjG,YAEjDwH,EAAML,EACNO,EAAMN,EACNQ,EAAKjc,EAAUgB,KACfmb,EAAKnc,EAAUiB,MAAQsa,EACvBO,EAAME,EAAME,EAAKE,EAAKW,EAGvBzB,EAAYzjB,KAAK,CAChBgkB,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,GAAIA,EACJC,OAAQA,EACRC,OAAQA,EACRU,QAAStS,EACTuS,QAASrB,EACTsB,aAAczgB,EACd0gB,mBAAoBzgB,EACpBqO,UAAW,EAAIyP,EACfrQ,MAAOA,EACPqK,MAAOE,EAAKF,MACZiI,aAAcA,EACdD,UAAWA,OAKb1mB,EAAQ0N,KAAK8X,EAAa,SAAS8B,GA0BlC,GAzBInO,EAAUgE,UACb9L,EAAQkW,OACRlW,EAAQuD,UAAY0S,EAAWJ,QAC/B7V,EAAQsD,YAAc2S,EAAWH,QAC7B9V,EAAQmW,cACXnW,EAAQmW,YAAYF,EAAWF,cAC/B/V,EAAQoW,eAAiBH,EAAWD,oBAGrChW,EAAQqW,YAEJvO,EAAUmE,YACbjM,EAAQsW,OAAOL,EAAWvB,IAAKuB,EAAWtB,KAC1C3U,EAAQuW,OAAON,EAAWrB,IAAKqB,EAAWpB,MAGvC/M,EAAUkE,kBACbhM,EAAQsW,OAAOL,EAAWnB,GAAImB,EAAWlB,IACzC/U,EAAQuW,OAAON,EAAWjB,GAAIiB,EAAWhB,KAG1CjV,EAAQmD,SACRnD,EAAQwW,WAGLrD,EAAYrH,QAAS,CAExB9L,EAAQkW,OACRlW,EAAQyW,UAAUR,EAAWf,OAAQe,EAAWd,QAChDnV,EAAQ0W,OAAOT,EAAWrS,UAC1B5D,EAAQwN,KAAOyI,EAAW5I,MAAQ0G,EAAcvG,KAAOkD,EAASlD,KAChExN,EAAQqD,UAAY4S,EAAW5I,MAAQyG,EAAqBH,EAC5D3T,EAAQsV,aAAeW,EAAWX,aAClCtV,EAAQqV,UAAYY,EAAWZ,UAE/B,IAAIrS,EAAQiT,EAAWjT,MACvB,GAAIrU,EAAQ8H,QAAQuM,GAKnB,IAJA,IAAI2T,EAAY3T,EAAMvS,OAClBgc,EAA6B,IAAhBiE,EAASnL,KACtB5O,EAAI3F,EAAG8V,eAAiB,GAAK2F,GAAckK,EAAY,GAAK,EAEvDtmB,EAAI,EAAGA,EAAIsmB,IAAatmB,EAEhC2P,EAAQ4W,SAAS,GAAK5T,EAAM3S,GAAI,EAAGsG,GAEnCA,GAAK8V,OAGNzM,EAAQ4W,SAAS5T,EAAO,EAAG,GAE5BhD,EAAQwW,aAINjK,EAAWT,QAAS,CAEvB,IAAI+K,EACAC,EACAlT,EAAW,EACXmT,EAAiBzI,EAAgB/B,GAAc,EAEnD,GAAIzF,EACH+P,EAAc7lB,EAAG6I,MAAS7I,EAAG8I,MAAQ9I,EAAG6I,MAAQ,EAChDid,EAAmC,WAArBzjB,EAAQ4U,SACnBjX,EAAGgJ,OAAS+c,EAAiBxF,EAAkBvX,OAC/ChJ,EAAG+I,IAAMgd,EAAiBxF,EAAkBxX,QACzC,CACN,IAAI4b,EAA8B,SAArBtiB,EAAQ4U,SACrB4O,EAAclB,EACX3kB,EAAG6I,KAAOkd,EAAiBxF,EAAkBxX,IAC7C/I,EAAG8I,MAAQid,EAAiBxF,EAAkBxX,IACjD+c,EAAc9lB,EAAG+I,KAAQ/I,EAAGgJ,OAAShJ,EAAG+I,KAAO,EAC/C6J,EAAW+R,GAAU,GAAMlkB,KAAKoS,GAAK,GAAMpS,KAAKoS,GAGjD7D,EAAQkW,OACRlW,EAAQyW,UAAUI,EAAaC,GAC/B9W,EAAQ0W,OAAO9S,GACf5D,EAAQqV,UAAY,SACpBrV,EAAQsV,aAAe,SACvBtV,EAAQqD,UAAY4Q,EACpBjU,EAAQwN,KAAO0G,EAAe1G,KAC9BxN,EAAQ4W,SAASrK,EAAWC,YAAa,EAAG,GAC5CxM,EAAQwW,UAGT,GAAI1O,EAAUiE,WAAY,CAEzB/L,EAAQuD,UAAY5U,EAAQwH,sBAAsB2R,EAAUvE,UAAW,GACvEvD,EAAQsD,YAAc3U,EAAQwH,sBAAsB2R,EAAUtJ,MAAO,GACrE,IAAIsW,EAAK9jB,EAAG6I,KACRmb,EAAKhkB,EAAG8I,MAAQsa,EAChBW,EAAK/jB,EAAG+I,IACRkb,EAAKjkB,EAAGgJ,OAASoa,EAEjBqB,EAAa9mB,EAAQ8mB,WAAWzV,EAAQuD,WACxCuD,GACHiO,EAAKE,EAA0B,QAArB5hB,EAAQ4U,SAAqBjX,EAAGgJ,OAAShJ,EAAG+I,IACtDgb,GAAMU,EACNR,GAAMQ,IAENX,EAAKE,EAA0B,SAArB3hB,EAAQ4U,SAAsBjX,EAAG8I,MAAQ9I,EAAG6I,KACtDib,GAAMW,EACNT,GAAMS,GAGPzV,EAAQqW,YACRrW,EAAQsW,OAAOxB,EAAIC,GACnB/U,EAAQuW,OAAOvB,EAAIC,GACnBjV,EAAQmD,gB,oCCj6BZ,IAAIxU,EAAU,EAAQ,QAEtB,SAASqoB,EAAiB7b,EAAO8M,GAChC,OAAOtZ,EAAQsoB,MAAM9b,EAAO,SAAS+b,GACpC,OAAOA,EAAEjP,WAAaA,IAIxB,SAASkP,EAAahc,EAAO4R,GAC5B5R,EAAMM,QAAQ,SAASyb,EAAG7mB,GAEzB,OADA6mB,EAAEE,WAAa/mB,EACR6mB,IAER/b,EAAMkc,KAAK,SAASC,EAAGC,GACtB,IAAIC,EAAKzK,EAAUwK,EAAID,EACnBG,EAAK1K,EAAUuK,EAAIC,EACvB,OAAOC,EAAGE,SAAWD,EAAGC,OACvBF,EAAGJ,WAAaK,EAAGL,WACnBI,EAAGE,OAASD,EAAGC,SAEjBvc,EAAMM,QAAQ,SAASyb,UACfA,EAAEE,aAwBXjoB,EAAOC,QAAU,CAChBX,SAAU,GAQVkpB,OAAQ,SAASnoB,EAAO4Y,GAClB5Y,EAAMooB,QACVpoB,EAAMooB,MAAQ,IAIfxP,EAAKyP,UAAYzP,EAAKyP,YAAa,EACnCzP,EAAKH,SAAWG,EAAKH,UAAY,MACjCG,EAAKsP,OAAStP,EAAKsP,QAAU,EAE7BloB,EAAMooB,MAAMlnB,KAAK0X,IAQlB0P,UAAW,SAAStoB,EAAOuoB,GAC1B,IAAIlnB,EAAQrB,EAAMooB,MAAQpoB,EAAMooB,MAAMnb,QAAQsb,IAAe,GAC9C,IAAXlnB,GACHrB,EAAMooB,MAAM7mB,OAAOF,EAAO,IAU5BmnB,UAAW,SAASxoB,EAAO4Y,EAAM/U,GAMhC,IALA,IAGI4kB,EAHAC,EAAQ,CAAC,YAAa,WAAY,UAClC5nB,EAAO4nB,EAAMznB,OACbJ,EAAI,EAGDA,EAAIC,IAAQD,EAClB4nB,EAAOC,EAAM7nB,GACTgD,EAAQ6L,eAAe+Y,KAC1B7P,EAAK6P,GAAQ5kB,EAAQ4kB,KAYxBlkB,OAAQ,SAASvE,EAAOgW,EAAOC,GAC9B,GAAKjW,EAAL,CAIA,IAAI2oB,EAAgB3oB,EAAM6D,QAAQ+kB,QAAU,GACxC1L,EAAU/d,EAAQ0E,QAAQme,UAAU2G,EAAczL,SAClD2L,EAAc3L,EAAQ7S,KACtBye,EAAe5L,EAAQ5S,MACvBye,EAAa7L,EAAQ3S,IACrBye,EAAgB9L,EAAQ1S,OAExBye,EAAYzB,EAAiBxnB,EAAMooB,MAAO,QAC1Cc,EAAa1B,EAAiBxnB,EAAMooB,MAAO,SAC3Ce,EAAW3B,EAAiBxnB,EAAMooB,MAAO,OACzCgB,EAAc5B,EAAiBxnB,EAAMooB,MAAO,UAC5CiB,EAAiB7B,EAAiBxnB,EAAMooB,MAAO,aAGnDT,EAAasB,GAAW,GACxBtB,EAAauB,GAAY,GACzBvB,EAAawB,GAAU,GACvBxB,EAAayB,GAAa,GAwC1B,IAAIE,EAAatT,EAAQ6S,EAAcC,EACnCS,EAActT,EAAS8S,EAAaC,EACpCQ,EAAiBF,EAAa,EAC9BG,EAAkBF,EAAc,EAGhCG,GAAoB1T,EAAQwT,IAAmBP,EAAUhoB,OAASioB,EAAWjoB,QAG7E0oB,GAAuB1T,EAASwT,IAAoBN,EAASloB,OAASmoB,EAAYnoB,QAGlF2oB,EAAoBN,EACpBO,EAAqBN,EACrBO,EAAc,GAqBlB3qB,EAAQ0N,KAAKoc,EAAU/X,OAAOgY,EAAYC,EAAUC,GAAcW,GAGlE,IAAIC,EAA2B,EAC3BC,EAA4B,EAC5BC,EAAwB,EACxBC,EAA2B,EAE/BhrB,EAAQ0N,KAAKsc,EAASjY,OAAOkY,GAAc,SAASgB,GACnD,GAAIA,EAAcnL,WAAY,CAC7B,IAAIoL,EAAaD,EAAcnL,aAC/B+K,EAA2B/nB,KAAKuH,IAAIwgB,EAA0BK,EAAWhgB,MACzE4f,EAA4BhoB,KAAKuH,IAAIygB,EAA2BI,EAAW/f,UAI7EnL,EAAQ0N,KAAKoc,EAAU/X,OAAOgY,GAAa,SAASoB,GACnD,GAAIA,EAAYrL,WAAY,CAC3B,IAAIoL,EAAaC,EAAYrL,aAC7BiL,EAAwBjoB,KAAKuH,IAAI0gB,EAAuBG,EAAW9f,KACnE4f,EAA2BloB,KAAKuH,IAAI2gB,EAA0BE,EAAW7f,WAO3E,IAAI+f,EAAsB1B,EACtB2B,EAAuB1B,EACvB2B,EAAsB1B,EACtB2B,EAAyB1B,EA2B7B7pB,EAAQ0N,KAAKoc,EAAU/X,OAAOgY,GAAayB,GAE3CxrB,EAAQ0N,KAAKoc,EAAW,SAAS2B,GAChCL,GAAuBK,EAAI5U,QAG5B7W,EAAQ0N,KAAKqc,EAAY,SAAS0B,GACjCJ,GAAwBI,EAAI5U,QAI7B7W,EAAQ0N,KAAKsc,EAASjY,OAAOkY,GAAcuB,GAG3CxrB,EAAQ0N,KAAKsc,EAAU,SAASyB,GAC/BH,GAAuBG,EAAI3U,SAG5B9W,EAAQ0N,KAAKuc,EAAa,SAASwB,GAClCF,GAA0BE,EAAI3U,SAqB/B9W,EAAQ0N,KAAKoc,EAAU/X,OAAOgY,GAAa2B,GAG3CN,EAAsB1B,EACtB2B,EAAuB1B,EACvB2B,EAAsB1B,EACtB2B,EAAyB1B,EAEzB7pB,EAAQ0N,KAAKoc,EAAW,SAAS2B,GAChCL,GAAuBK,EAAI5U,QAG5B7W,EAAQ0N,KAAKqc,EAAY,SAAS0B,GACjCJ,GAAwBI,EAAI5U,QAG7B7W,EAAQ0N,KAAKsc,EAAU,SAASyB,GAC/BH,GAAuBG,EAAI3U,SAE5B9W,EAAQ0N,KAAKuc,EAAa,SAASwB,GAClCF,GAA0BE,EAAI3U,SAI/B,IAAI6U,EAAsB7oB,KAAKuH,IAAIwgB,EAA2BO,EAAqB,GACnFA,GAAuBO,EACvBN,GAAwBvoB,KAAKuH,IAAIygB,EAA4BO,EAAsB,GAEnF,IAAIO,EAAqB9oB,KAAKuH,IAAI0gB,EAAwBO,EAAqB,GAC/EA,GAAuBM,EACvBL,GAA0BzoB,KAAKuH,IAAI2gB,EAA2BO,EAAwB,GAKtF,IAAIM,EAAwB/U,EAASwU,EAAsBC,EACvDO,EAAuBjV,EAAQuU,EAAsBC,EAErDS,IAAyBrB,GAAqBoB,IAA0BnB,IAC3E1qB,EAAQ0N,KAAKoc,EAAW,SAAS2B,GAChCA,EAAI3U,OAAS+U,IAGd7rB,EAAQ0N,KAAKqc,EAAY,SAAS0B,GACjCA,EAAI3U,OAAS+U,IAGd7rB,EAAQ0N,KAAKsc,EAAU,SAASyB,GAC1BA,EAAIvC,YACRuC,EAAI5U,MAAQiV,KAId9rB,EAAQ0N,KAAKuc,EAAa,SAASwB,GAC7BA,EAAIvC,YACRuC,EAAI5U,MAAQiV,KAIdpB,EAAqBmB,EACrBpB,EAAoBqB,GAIrB,IAAI5gB,EAAOwe,EAAciC,EACrBvgB,EAAMwe,EAAagC,EAwBvB5rB,EAAQ0N,KAAKoc,EAAU/X,OAAOiY,GAAW+B,GAGzC7gB,GAAQuf,EACRrf,GAAOsf,EAEP1qB,EAAQ0N,KAAKqc,EAAYgC,GACzB/rB,EAAQ0N,KAAKuc,EAAa8B,GAG1BlrB,EAAMqJ,UAAY,CACjBgB,KAAMkgB,EACNhgB,IAAKkgB,EACLngB,MAAOigB,EAAsBX,EAC7Bpf,OAAQigB,EAAsBZ,GAI/B1qB,EAAQ0N,KAAKwc,EAAgB,SAASuB,GACrCA,EAAIvgB,KAAOrK,EAAMqJ,UAAUgB,KAC3BugB,EAAIrgB,IAAMvK,EAAMqJ,UAAUkB,IAC1BqgB,EAAItgB,MAAQtK,EAAMqJ,UAAUiB,MAC5BsgB,EAAIpgB,OAASxK,EAAMqJ,UAAUmB,OAE7BogB,EAAIrmB,OAAOqlB,EAAmBC,KArO/B,SAASE,EAAkBa,GAC1B,IAAIzV,EACAmC,EAAesT,EAAItT,eAEnBA,GACHnC,EAAUyV,EAAIrmB,OAAOqmB,EAAIvC,UAAYiB,EAAaM,EAAmBD,GACrEE,GAAsB1U,EAAQc,SAE9Bd,EAAUyV,EAAIrmB,OAAOmlB,EAAkBG,GACvCD,GAAqBzU,EAAQa,OAG9B8T,EAAY5oB,KAAK,CAChBwY,WAAYpC,EACZnC,QAASA,EACTyV,IAAKA,IAqCP,SAASD,EAAOC,GACf,IAAIO,EAAahsB,EAAQisB,cAActB,EAAa,SAASuB,GAC5D,OAAOA,EAAOT,MAAQA,IAGvB,GAAIO,EACH,GAAIP,EAAItT,eAAgB,CACvB,IAAIgU,EAAc,CACjBjhB,KAAMpI,KAAKuH,IAAI+gB,EAAqBP,GACpC1f,MAAOrI,KAAKuH,IAAIghB,EAAsBP,GACtC1f,IAAK,EACLC,OAAQ,GAKTogB,EAAIrmB,OAAOqmB,EAAIvC,UAAYiB,EAAaM,EAAmBL,EAAc,EAAG+B,QAE5EV,EAAIrmB,OAAO4mB,EAAWhW,QAAQa,MAAO6T,GA4BxC,SAASgB,EAAoBD,GAC5B,IAAIO,EAAahsB,EAAQisB,cAActB,EAAa,SAAS3U,GAC5D,OAAOA,EAAQyV,MAAQA,IAGpBU,EAAc,CACjBjhB,KAAM,EACNC,MAAO,EACPC,IAAKkgB,EACLjgB,OAAQkgB,GAGLS,GACHP,EAAIrmB,OAAO4mB,EAAWhW,QAAQa,MAAO6T,EAAoByB,GAwE3D,SAASJ,EAASN,GACbA,EAAItT,gBACPsT,EAAIvgB,KAAOugB,EAAIvC,UAAYQ,EAAc0B,EACzCK,EAAItgB,MAAQsgB,EAAIvC,UAAYrS,EAAQ8S,EAAeyB,EAAsBX,EACzEgB,EAAIrgB,IAAMA,EACVqgB,EAAIpgB,OAASD,EAAMqgB,EAAI3U,OAGvB1L,EAAMqgB,EAAIpgB,SAIVogB,EAAIvgB,KAAOA,EACXugB,EAAItgB,MAAQD,EAAOugB,EAAI5U,MACvB4U,EAAIrgB,IAAMkgB,EACVG,EAAIpgB,OAASigB,EAAsBZ,EAGnCxf,EAAOugB,EAAItgB,W,oCCjYf,IAAInL,EAAU,EAAQ,QAMtBQ,EAAOC,QAAU,CAKhB+d,WAAY,CAOX5a,OAAQ,SAASF,GAChB,OAAO1D,EAAQ8H,QAAQpE,GAASA,EAAQ,GAAKA,GAW9C0oB,OAAQ,SAASC,EAAWnqB,EAAOkW,GAElC,IAAIkU,EAAQlU,EAAMtW,OAAS,EAAIsW,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAGlEtV,KAAK8U,IAAI0U,GAAS,GACjBD,IAAcvpB,KAAKC,MAAMspB,KAE5BC,EAAQD,EAAYvpB,KAAKC,MAAMspB,IAIjC,IAAIE,EAAWvsB,EAAQwsB,MAAM1pB,KAAK8U,IAAI0U,IAClCG,EAAa,GAEjB,GAAkB,IAAdJ,EAAiB,CACpB,IAAIK,GAAc,EAAI5pB,KAAKC,MAAMwpB,GACjCG,EAAa5pB,KAAKuH,IAAIvH,KAAKK,IAAIupB,EAAY,IAAK,GAChDD,EAAaJ,EAAUM,QAAQD,QAE/BD,EAAa,IAGd,OAAOA,GAGRG,YAAa,SAASP,EAAWnqB,EAAOkW,GACvC,IAAIyU,EAASR,EAAavpB,KAAKgqB,IAAI,GAAIhqB,KAAKC,MAAM/C,EAAQwsB,MAAMH,KAEhE,OAAkB,IAAdA,EACI,IACc,IAAXQ,GAA2B,IAAXA,GAA2B,IAAXA,GAA0B,IAAV3qB,GAAeA,IAAUkW,EAAMtW,OAAS,EAC3FuqB,EAAUU,gBAEX,O,kCChEVvsB,EAAOC,QAAU,SAASC,GAEzBA,EAAMssB,MAAQ,SAAS3b,EAASC,GAG/B,OAFAA,EAAOjN,KAAO,QAEP,IAAI3D,EAAM2Q,EAASC,M,oCCL5B,IAAItR,EAAU,EAAQ,QAQtB,SAASitB,EAAoBnY,EAAGjU,GAC/B,OAAIiU,EAAEoY,OACE,CACNnlB,EAAG+M,EAAE/M,EACLC,EAAG8M,EAAE9M,GAIAhI,EAAQitB,oBAAoBnY,EAAGjU,GAQvC,SAASssB,EAAkBtsB,EAAOusB,GACjC,IACI7nB,EAAM7D,EAAGmU,EAAGlU,EAAM0rB,EADlB7jB,EAAW3I,EAAM6E,KAAK8D,SAG1B,IAAK9H,EAAI,EAAGC,EAAO6H,EAAS1H,OAAQJ,EAAIC,IAAQD,EAC/C,GAAKb,EAAM6I,iBAAiBhI,GAK5B,IADA6D,EAAO1E,EAAM4I,eAAe/H,GACvBmU,EAAI,EAAGwX,EAAO9nB,EAAKG,KAAK5D,OAAQ+T,EAAIwX,IAAQxX,EAAG,CACnD,IAAIlH,EAAUpJ,EAAKG,KAAKmQ,GACnBlH,EAAQmC,MAAM7H,MAClBmkB,EAAQze,IAYZ,SAAS2e,EAAkBzsB,EAAOyY,GACjC,IAAIxV,EAAW,GAQf,OANAqpB,EAAkBtsB,EAAO,SAAS8N,GAC7BA,EAAQ4e,QAAQjU,EAASvR,EAAGuR,EAAStR,IACxClE,EAAS/B,KAAK4M,KAIT7K,EAWR,SAAS0pB,EAAgB3sB,EAAOyY,EAAUmU,EAAWC,GACpD,IAAIC,EAAc/jB,OAAOgkB,kBACrBC,EAAe,GAmBnB,OAjBAV,EAAkBtsB,EAAO,SAAS8N,GACjC,IAAI8e,GAAc9e,EAAQ4e,QAAQjU,EAASvR,EAAGuR,EAAStR,GAAvD,CAIA,IAAI6S,EAASlM,EAAQmf,iBACjBC,EAAWL,EAAepU,EAAUuB,GAEpCkT,EAAWJ,GACdE,EAAe,CAAClf,GAChBgf,EAAcI,GACJA,IAAaJ,GAEvBE,EAAa9rB,KAAK4M,MAIbkf,EAQR,SAASG,EAAyB3U,GACjC,IAAI4U,GAA8B,IAAvB5U,EAAKvL,QAAQ,KACpBogB,GAA8B,IAAvB7U,EAAKvL,QAAQ,KAExB,OAAO,SAASqgB,EAAKC,GACpB,IAAIC,EAASJ,EAAOnrB,KAAK8U,IAAIuW,EAAIpmB,EAAIqmB,EAAIrmB,GAAK,EAC1CumB,EAASJ,EAAOprB,KAAK8U,IAAIuW,EAAInmB,EAAIomB,EAAIpmB,GAAK,EAC9C,OAAOlF,KAAKyrB,KAAKzrB,KAAKgqB,IAAIuB,EAAQ,GAAKvrB,KAAKgqB,IAAIwB,EAAQ,KAI1D,SAASE,EAAU3tB,EAAOiU,EAAGpQ,GAC5B,IAAI4U,EAAW2T,EAAoBnY,EAAGjU,GAEtC6D,EAAQ2U,KAAO3U,EAAQ2U,MAAQ,IAC/B,IAAIqU,EAAiBM,EAAyBtpB,EAAQ2U,MAClDoV,EAAQ/pB,EAAQ+oB,UAAYH,EAAkBzsB,EAAOyY,GAAYkU,EAAgB3sB,EAAOyY,GAAU,EAAOoU,GACzG5pB,EAAW,GAEf,OAAK2qB,EAAM3sB,QAIXjB,EAAM6E,KAAK8D,SAASsD,QAAQ,SAASrI,EAASwD,GAC7C,GAAIpH,EAAM6I,iBAAiBzB,GAAe,CACzC,IAAI1C,EAAO1E,EAAM4I,eAAexB,GAC5B0G,EAAUpJ,EAAKG,KAAK+oB,EAAM,GAAGzlB,QAG7B2F,IAAYA,EAAQmC,MAAM7H,MAC7BnF,EAAS/B,KAAK4M,MAKV7K,GAfC,GA+BTtD,EAAOC,QAAU,CAEhBiuB,MAAO,CACNC,OAAQ,SAAS9tB,EAAOiU,GACvB,IAAIwE,EAAW2T,EAAoBnY,EAAGjU,GAClCiD,EAAW,GASf,OAPAqpB,EAAkBtsB,EAAO,SAAS8N,GACjC,GAAIA,EAAQ4e,QAAQjU,EAASvR,EAAGuR,EAAStR,GAExC,OADAlE,EAAS/B,KAAK4M,GACP7K,IAIFA,EAASqJ,MAAM,EAAG,IAS1BkH,MAAOma,EAYPtsB,MAAOssB,EAWP/pB,QAAS,SAAS5D,EAAOiU,EAAGpQ,GAC3B,IAAI4U,EAAW2T,EAAoBnY,EAAGjU,GACtC6D,EAAQ2U,KAAO3U,EAAQ2U,MAAQ,KAC/B,IAAIqU,EAAiBM,EAAyBtpB,EAAQ2U,MAClDoV,EAAQ/pB,EAAQ+oB,UAAYH,EAAkBzsB,EAAOyY,GAAYkU,EAAgB3sB,EAAOyY,GAAU,EAAOoU,GAM7G,OAJIe,EAAM3sB,OAAS,IAClB2sB,EAAQ5tB,EAAM4I,eAAeglB,EAAM,GAAGroB,eAAeV,MAG/C+oB,GASR,SAAU,SAAS5tB,EAAOiU,GACzB,OAAO0Z,EAAU3tB,EAAOiU,EAAG,CAAC2Y,WAAW,KAWxCnmB,MAAO,SAASzG,EAAOiU,GACtB,IAAIwE,EAAW2T,EAAoBnY,EAAGjU,GACtC,OAAOysB,EAAkBzsB,EAAOyY,IAWjCsV,QAAS,SAAS/tB,EAAOiU,EAAGpQ,GAC3B,IAAI4U,EAAW2T,EAAoBnY,EAAGjU,GACtC6D,EAAQ2U,KAAO3U,EAAQ2U,MAAQ,KAC/B,IAAIqU,EAAiBM,EAAyBtpB,EAAQ2U,MAClDwU,EAAeL,EAAgB3sB,EAAOyY,EAAU5U,EAAQ+oB,UAAWC,GAmBvE,OAhBIG,EAAa/rB,OAAS,GACzB+rB,EAAanF,KAAK,SAASC,EAAGC,GAC7B,IAAIiG,EAAQlG,EAAEmG,UACVC,EAAQnG,EAAEkG,UACVE,EAAMH,EAAQE,EAOlB,OALY,IAARC,IAEHA,EAAMrG,EAAEviB,cAAgBwiB,EAAExiB,eAGpB4oB,IAKFnB,EAAa1gB,MAAM,EAAG,IAW9BpF,EAAG,SAASlH,EAAOiU,EAAGpQ,GACrB,IAAI4U,EAAW2T,EAAoBnY,EAAGjU,GAClC4tB,EAAQ,GACRQ,GAAiB,EAiBrB,OAfA9B,EAAkBtsB,EAAO,SAAS8N,GAC7BA,EAAQugB,SAAS5V,EAASvR,IAC7B0mB,EAAM1sB,KAAK4M,GAGRA,EAAQ4e,QAAQjU,EAASvR,EAAGuR,EAAStR,KACxCinB,GAAiB,KAMfvqB,EAAQ+oB,YAAcwB,IACzBR,EAAQ,IAEFA,GAWRzmB,EAAG,SAASnH,EAAOiU,EAAGpQ,GACrB,IAAI4U,EAAW2T,EAAoBnY,EAAGjU,GAClC4tB,EAAQ,GACRQ,GAAiB,EAiBrB,OAfA9B,EAAkBtsB,EAAO,SAAS8N,GAC7BA,EAAQwgB,SAAS7V,EAAStR,IAC7BymB,EAAM1sB,KAAK4M,GAGRA,EAAQ4e,QAAQjU,EAASvR,EAAGuR,EAAStR,KACxCinB,GAAiB,KAMfvqB,EAAQ+oB,YAAcwB,IACzBR,EAAQ,IAEFA,M,oCClUV,IAAI5e,EAAQ,EAAQ,QAChB/P,EAAW,EAAQ,QACnBE,EAAU,EAAQ,QAEtBQ,EAAOC,QAAU,SAASC,GA4ZzB,SAAS0uB,EAAcC,EAAYC,EAAMC,GACxC,IAAIC,EAYJ,MAX0B,kBAAfH,GACVG,EAAgBC,SAASJ,EAAY,KAEJ,IAA7BA,EAAWvhB,QAAQ,OAEtB0hB,EAAgBA,EAAgB,IAAMF,EAAKI,WAAWH,KAGvDC,EAAgBH,EAGVG,EAOR,SAASG,EAAmBjsB,GAC3B,YAAiBsC,IAAVtC,GAAiC,OAAVA,GAA4B,SAAVA,EAQjD,SAASksB,EAAuBC,EAASC,EAAUC,GAClD,IAAIhgB,EAAOigB,SAASC,YAChBP,EAAaG,EAAQH,WACrBQ,EAAkBngB,EAAKogB,iBAAiBN,GAASC,GACjDM,EAAuBrgB,EAAKogB,iBAAiBT,GAAYI,GACzDO,EAAWV,EAAmBO,GAC9BI,EAAgBX,EAAmBS,GACnCG,EAAW3mB,OAAOgkB,kBAEtB,OAAIyC,GAAYC,EACRxtB,KAAKK,IACXktB,EAAWjB,EAAcc,EAAiBL,EAASE,GAAsBQ,EACzED,EAAgBlB,EAAcgB,EAAsBV,EAAYK,GAAsBQ,GAGjF,OApcRvwB,EAAQwwB,YAAc,WACrB,OAAOxwB,EAAQ6D,MAAM7D,EAAQ+Q,MAAMxD,UAAU,IAAK,GAAGJ,MAAM5K,KAAKgL,UAAW,GAAI,CAC9EkjB,OAAQ,SAAS1jB,EAAKoD,EAAQugB,EAAQhsB,GACrC,IAAIisB,EAAOxgB,EAAOpD,IAAQ,GACtB6jB,EAAOF,EAAO3jB,GAEN,WAARA,EAEHoD,EAAOpD,GAAO/M,EAAQ6wB,WAAWF,EAAMC,GACrB,UAAR7jB,EAEVoD,EAAOpD,GAAO/M,EAAQ6D,MAAM8sB,EAAM,CAACjwB,EAAMowB,aAAaC,iBAAiBH,EAAKvsB,MAAOusB,IAEnF5wB,EAAQgxB,QAAQjkB,EAAKoD,EAAQugB,EAAQhsB,OAMzC1E,EAAQ6wB,WAAa,WACpB,OAAO7wB,EAAQ6D,MAAM7D,EAAQ+Q,MAAMxD,UAAU,IAAK,GAAGJ,MAAM5K,KAAKgL,UAAW,GAAI,CAC9EkjB,OAAQ,SAAS1jB,EAAKoD,EAAQugB,EAAQhsB,GACrC,GAAY,UAARqI,GAA2B,UAARA,EAAiB,CACvC,IACIrL,EAAG2C,EAAMuB,EADTqrB,EAAOP,EAAO3jB,GAAKjL,OAOvB,IAJKqO,EAAOpD,KACXoD,EAAOpD,GAAO,IAGVrL,EAAI,EAAGA,EAAIuvB,IAAQvvB,EACvBkE,EAAQ8qB,EAAO3jB,GAAKrL,GACpB2C,EAAOrE,EAAQ2E,eAAeiB,EAAMvB,KAAc,UAAR0I,EAAkB,WAAa,UAErErL,GAAKyO,EAAOpD,GAAKjL,QACpBqO,EAAOpD,GAAKhL,KAAK,KAGboO,EAAOpD,GAAKrL,GAAG2C,MAASuB,EAAMvB,MAAQuB,EAAMvB,OAAS8L,EAAOpD,GAAKrL,GAAG2C,KAGxErE,EAAQ6D,MAAMsM,EAAOpD,GAAKrL,GAAI,CAAChB,EAAMowB,aAAaC,iBAAiB1sB,GAAOuB,IAG1E5F,EAAQ6D,MAAMsM,EAAOpD,GAAKrL,GAAIkE,QAIhC5F,EAAQgxB,QAAQjkB,EAAKoD,EAAQugB,EAAQhsB,OAMzC1E,EAAQsoB,MAAQ,SAAS4I,EAAYC,GACpC,GAAInxB,EAAQ8H,QAAQopB,IAAe5jB,MAAM/J,UAAU+G,OAClD,OAAO4mB,EAAW5mB,OAAO6mB,GAE1B,IAAIC,EAAW,GAQf,OANApxB,EAAQ0N,KAAKwjB,EAAY,SAASzX,GAC7B0X,EAAe1X,IAClB2X,EAASrvB,KAAK0X,KAIT2X,GAERpxB,EAAQmC,UAAYmL,MAAM/J,UAAUpB,UACnC,SAASqK,EAAOpJ,EAAUO,GACzB,OAAO6I,EAAMrK,UAAUiB,EAAUO,IAElC,SAAS6I,EAAOpJ,EAAUO,GACzBA,OAAkBqC,IAAVrC,EAAsB6I,EAAQ7I,EACtC,IAAK,IAAIjC,EAAI,EAAGC,EAAO6K,EAAM1K,OAAQJ,EAAIC,IAAQD,EAChD,GAAI0B,EAASb,KAAKoB,EAAO6I,EAAM9K,GAAIA,EAAG8K,GACrC,OAAO9K,EAGT,OAAQ,GAEV1B,EAAQisB,cAAgB,SAASoF,EAAeF,EAAgBG,GAE3DtxB,EAAQ6Y,cAAcyY,KACzBA,GAAc,GAEf,IAAK,IAAI5vB,EAAI4vB,EAAa,EAAG5vB,EAAI2vB,EAAcvvB,OAAQJ,IAAK,CAC3D,IAAI6vB,EAAcF,EAAc3vB,GAChC,GAAIyvB,EAAeI,GAClB,OAAOA,IAIVvxB,EAAQwxB,kBAAoB,SAASH,EAAeF,EAAgBG,GAE/DtxB,EAAQ6Y,cAAcyY,KACzBA,EAAaD,EAAcvvB,QAE5B,IAAK,IAAIJ,EAAI4vB,EAAa,EAAG5vB,GAAK,EAAGA,IAAK,CACzC,IAAI6vB,EAAcF,EAAc3vB,GAChC,GAAIyvB,EAAeI,GAClB,OAAOA,IAMVvxB,EAAQmR,SAAW,SAASsgB,GAC3B,OAAQ7pB,MAAM8pB,WAAWD,KAAO9gB,SAAS8gB,IAE1CzxB,EAAQ2xB,aAAe,SAAS5pB,EAAGC,EAAG4pB,GACrC,OAAO9uB,KAAK8U,IAAI7P,EAAIC,GAAK4pB,GAE1B5xB,EAAQ6xB,YAAc,SAAS9pB,EAAG6pB,GACjC,IAAIE,EAAUhvB,KAAKihB,MAAMhc,GACzB,OAAU+pB,EAAUF,EAAW7pB,GAAQ+pB,EAAUF,EAAW7pB,GAE7D/H,EAAQqK,IAAM,SAASmC,GACtB,OAAOA,EAAMulB,OAAO,SAAS1nB,EAAK3G,GACjC,OAAKkE,MAAMlE,GAGJ2G,EAFCvH,KAAKuH,IAAIA,EAAK3G,IAGpBkG,OAAOooB,oBAEXhyB,EAAQmD,IAAM,SAASqJ,GACtB,OAAOA,EAAMulB,OAAO,SAAS5uB,EAAKO,GACjC,OAAKkE,MAAMlE,GAGJP,EAFCL,KAAKK,IAAIA,EAAKO,IAGpBkG,OAAOgkB,oBAEX5tB,EAAQiyB,KAAOnvB,KAAKmvB,KACnB,SAASlqB,GACR,OAAOjF,KAAKmvB,KAAKlqB,IAElB,SAASA,GAER,OADAA,GAAKA,EACK,IAANA,GAAWH,MAAMG,GACbA,EAEDA,EAAI,EAAI,GAAK,GAEtB/H,EAAQwsB,MAAQ1pB,KAAK0pB,MACpB,SAASzkB,GACR,OAAOjF,KAAK0pB,MAAMzkB,IAEnB,SAASA,GACR,IAAImqB,EAAWpvB,KAAKqvB,IAAIpqB,GAAKjF,KAAKsvB,OAG9BC,EAAYvvB,KAAKihB,MAAMmO,GACvBI,EAAcvqB,IAAMjF,KAAKgqB,IAAI,GAAIuF,GAErC,OAAOC,EAAcD,EAAYH,GAEnClyB,EAAQuiB,UAAY,SAASgQ,GAC5B,OAAOA,GAAWzvB,KAAKoS,GAAK,MAE7BlV,EAAQwyB,UAAY,SAASC,GAC5B,OAAOA,GAAW,IAAM3vB,KAAKoS,KAG9BlV,EAAQ0yB,kBAAoB,SAASC,EAAaC,GACjD,IAAIC,EAAsBD,EAAW7qB,EAAI4qB,EAAY5qB,EACjD+qB,EAAsBF,EAAW5qB,EAAI2qB,EAAY3qB,EACjD+qB,EAA2BjwB,KAAKyrB,KAAKsE,EAAsBA,EAAsBC,EAAsBA,GAEvGE,EAAQlwB,KAAKmwB,MAAMH,EAAqBD,GAM5C,OAJIG,GAAU,GAAMlwB,KAAKoS,KACxB8d,GAAS,EAAMlwB,KAAKoS,IAGd,CACN8d,MAAOA,EACPjF,SAAUgF,IAGZ/yB,EAAQkzB,sBAAwB,SAAS/E,EAAKC,GAC7C,OAAOtrB,KAAKyrB,KAAKzrB,KAAKgqB,IAAIsB,EAAIrmB,EAAIomB,EAAIpmB,EAAG,GAAKjF,KAAKgqB,IAAIsB,EAAIpmB,EAAImmB,EAAInmB,EAAG,KAEvEhI,EAAQ8mB,WAAa,SAASqM,GAC7B,OAAQA,EAAa,IAAM,EAAK,EAAI,IAErCnzB,EAAQwK,YAAc,SAAS4oB,EAAYC,EAAaC,EAAYC,GAMnE,IAAI3oB,EAAWwoB,EAAWnqB,KAAOoqB,EAAcD,EAC3CI,EAAUH,EACVtoB,EAAOuoB,EAAWrqB,KAAOoqB,EAAcC,EAEvCG,EAAM3wB,KAAKyrB,KAAKzrB,KAAKgqB,IAAI0G,EAAQzrB,EAAI6C,EAAS7C,EAAG,GAAKjF,KAAKgqB,IAAI0G,EAAQxrB,EAAI4C,EAAS5C,EAAG,IACvF0rB,EAAM5wB,KAAKyrB,KAAKzrB,KAAKgqB,IAAI/hB,EAAKhD,EAAIyrB,EAAQzrB,EAAG,GAAKjF,KAAKgqB,IAAI/hB,EAAK/C,EAAIwrB,EAAQxrB,EAAG,IAE/E2rB,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GAGvBC,EAAM/rB,MAAM+rB,GAAO,EAAIA,EACvBC,EAAMhsB,MAAMgsB,GAAO,EAAIA,EAEvB,IAAIC,EAAKN,EAAII,EACTG,EAAKP,EAAIK,EAEb,MAAO,CACNhpB,SAAU,CACT7C,EAAGyrB,EAAQzrB,EAAI8rB,GAAM9oB,EAAKhD,EAAI6C,EAAS7C,GACvCC,EAAGwrB,EAAQxrB,EAAI6rB,GAAM9oB,EAAK/C,EAAI4C,EAAS5C,IAExC+C,KAAM,CACLhD,EAAGyrB,EAAQzrB,EAAI+rB,GAAM/oB,EAAKhD,EAAI6C,EAAS7C,GACvCC,EAAGwrB,EAAQxrB,EAAI8rB,GAAM/oB,EAAK/C,EAAI4C,EAAS5C,MAI1ChI,EAAQ+zB,QAAUnqB,OAAOmqB,SAAW,MACpC/zB,EAAQuK,oBAAsB,SAAS9E,GAMtC,IAUI/D,EAAGsyB,EAAaC,EAAcC,EA4B9BC,EAAQC,EAAOC,EAAMC,EA0BrBjG,EAhEAkG,GAAsB9uB,GAAU,IAAI2O,IAAI,SAAS9M,GACpD,MAAO,CACNyC,MAAOzC,EAAMhB,OACbkuB,OAAQ,EACRC,GAAI,KAKFC,EAAYH,EAAmBzyB,OAEnC,IAAKJ,EAAI,EAAGA,EAAIgzB,IAAahzB,EAE5B,GADAuyB,EAAeM,EAAmB7yB,IAC9BuyB,EAAalqB,MAAMd,KAAvB,CAMA,GAFA+qB,EAActyB,EAAI,EAAI6yB,EAAmB7yB,EAAI,GAAK,KAClDwyB,EAAaxyB,EAAIgzB,EAAY,EAAIH,EAAmB7yB,EAAI,GAAK,KACzDwyB,IAAeA,EAAWnqB,MAAMd,KAAM,CACzC,IAAI0rB,EAAeT,EAAWnqB,MAAMhC,EAAIksB,EAAalqB,MAAMhC,EAG3DksB,EAAaO,OAAyB,IAAhBG,GAAqBT,EAAWnqB,MAAM/B,EAAIisB,EAAalqB,MAAM/B,GAAK2sB,EAAc,GAGlGX,GAAeA,EAAYjqB,MAAMd,KACrCgrB,EAAaQ,GAAKR,EAAaO,QACpBN,GAAcA,EAAWnqB,MAAMd,KAC1CgrB,EAAaQ,GAAKT,EAAYQ,OACpB5yB,KAAKqwB,KAAK+B,EAAYQ,UAAY5yB,KAAKqwB,KAAKgC,EAAaO,QACnEP,EAAaQ,GAAK,EAElBR,EAAaQ,IAAMT,EAAYQ,OAASP,EAAaO,QAAU,EAMjE,IAAK9yB,EAAI,EAAGA,EAAIgzB,EAAY,IAAKhzB,EAChCuyB,EAAeM,EAAmB7yB,GAClCwyB,EAAaK,EAAmB7yB,EAAI,GAChCuyB,EAAalqB,MAAMd,MAAQirB,EAAWnqB,MAAMd,OAI5CjJ,EAAQ2xB,aAAasC,EAAaO,OAAQ,EAAG5yB,KAAKmyB,SACrDE,EAAaQ,GAAKP,EAAWO,GAAK,GAInCN,EAASF,EAAaQ,GAAKR,EAAaO,OACxCJ,EAAQF,EAAWO,GAAKR,EAAaO,OACrCF,EAAmBxxB,KAAKgqB,IAAIqH,EAAQ,GAAKrxB,KAAKgqB,IAAIsH,EAAO,GACrDE,GAAoB,IAIxBD,EAAO,EAAIvxB,KAAKyrB,KAAK+F,GACrBL,EAAaQ,GAAKN,EAASE,EAAOJ,EAAaO,OAC/CN,EAAWO,GAAKL,EAAQC,EAAOJ,EAAaO,UAK7C,IAAK9yB,EAAI,EAAGA,EAAIgzB,IAAahzB,EAC5BuyB,EAAeM,EAAmB7yB,GAC9BuyB,EAAalqB,MAAMd,OAIvB+qB,EAActyB,EAAI,EAAI6yB,EAAmB7yB,EAAI,GAAK,KAClDwyB,EAAaxyB,EAAIgzB,EAAY,EAAIH,EAAmB7yB,EAAI,GAAK,KACzDsyB,IAAgBA,EAAYjqB,MAAMd,OACrColB,GAAU4F,EAAalqB,MAAMhC,EAAIisB,EAAYjqB,MAAMhC,GAAK,EACxDksB,EAAalqB,MAAMY,sBAAwBspB,EAAalqB,MAAMhC,EAAIsmB,EAClE4F,EAAalqB,MAAMc,sBAAwBopB,EAAalqB,MAAM/B,EAAIqmB,EAAS4F,EAAaQ,IAErFP,IAAeA,EAAWnqB,MAAMd,OACnColB,GAAU6F,EAAWnqB,MAAMhC,EAAIksB,EAAalqB,MAAMhC,GAAK,EACvDksB,EAAalqB,MAAMe,kBAAoBmpB,EAAalqB,MAAMhC,EAAIsmB,EAC9D4F,EAAalqB,MAAMiB,kBAAoBipB,EAAalqB,MAAM/B,EAAIqmB,EAAS4F,EAAaQ,MAIvFz0B,EAAQ0K,SAAW,SAASwmB,EAAYhvB,EAAO0yB,GAC9C,OAAIA,EACI1yB,GAASgvB,EAAWpvB,OAAS,EAAIovB,EAAW,GAAKA,EAAWhvB,EAAQ,GAErEA,GAASgvB,EAAWpvB,OAAS,EAAIovB,EAAWA,EAAWpvB,OAAS,GAAKovB,EAAWhvB,EAAQ,IAEhGlC,EAAQyK,aAAe,SAASymB,EAAYhvB,EAAO0yB,GAClD,OAAIA,EACI1yB,GAAS,EAAIgvB,EAAWA,EAAWpvB,OAAS,GAAKovB,EAAWhvB,EAAQ,GAErEA,GAAS,EAAIgvB,EAAW,GAAKA,EAAWhvB,EAAQ,IAGxDlC,EAAQ60B,QAAU,SAASnZ,EAAOqI,GACjC,IAEI+Q,EAFA5C,EAAWpvB,KAAKC,MAAM/C,EAAQwsB,MAAM9Q,IACpCqZ,EAAWrZ,EAAQ5Y,KAAKgqB,IAAI,GAAIoF,GAuBpC,OAlBE4C,EAFE/Q,EACCgR,EAAW,IACC,EACLA,EAAW,EACN,EACLA,EAAW,EACN,EAEA,GAENA,GAAY,EACP,EACLA,GAAY,EACP,EACLA,GAAY,EACP,EAEA,GAGTD,EAAehyB,KAAKgqB,IAAI,GAAIoF,IAGpClyB,EAAQsC,iBAAoB,WAC3B,MAAsB,qBAAXE,OACH,SAASY,GACfA,KAGKZ,OAAOR,uBACbQ,OAAOwyB,6BACPxyB,OAAOyyB,0BACPzyB,OAAO0yB,wBACP1yB,OAAO2yB,yBACP,SAAS/xB,GACR,OAAOZ,OAAO4yB,WAAWhyB,EAAU,IAAO,KAZlB,GAgB3BpD,EAAQitB,oBAAsB,SAASoI,EAAKx0B,GAC3C,IAAIy0B,EAAQC,EACRzgB,EAAIugB,EAAIG,eAAiBH,EACzB9pB,EAAS8pB,EAAII,eAAiBJ,EAAIK,WAClCC,EAAepqB,EAAOqqB,wBAEtBC,EAAU/gB,EAAE+gB,QACZA,GAAWA,EAAQ/zB,OAAS,GAC/BwzB,EAASO,EAAQ,GAAGC,QACpBP,EAASM,EAAQ,GAAGE,UAGpBT,EAASxgB,EAAEghB,QACXP,EAASzgB,EAAEihB,SAMZ,IAAIhW,EAAc2R,WAAW1xB,EAAQg2B,SAASzqB,EAAQ,iBAClDyU,EAAa0R,WAAW1xB,EAAQg2B,SAASzqB,EAAQ,gBACjD0U,EAAeyR,WAAW1xB,EAAQg2B,SAASzqB,EAAQ,kBACnD2U,EAAgBwR,WAAW1xB,EAAQg2B,SAASzqB,EAAQ,mBACpDsL,EAAQ8e,EAAaxqB,MAAQwqB,EAAazqB,KAAO6U,EAAcE,EAC/DnJ,EAAS6e,EAAatqB,OAASsqB,EAAavqB,IAAM4U,EAAaE,EAOnE,OAHAoV,EAASxyB,KAAKihB,OAAOuR,EAASK,EAAazqB,KAAO6U,GAAe,EAAUxU,EAAOsL,MAAQhW,EAAMo1B,yBAChGV,EAASzyB,KAAKihB,OAAOwR,EAASI,EAAavqB,IAAM4U,GAAc,EAAWzU,EAAOuL,OAASjW,EAAMo1B,yBAEzF,CACNluB,EAAGutB,EACHttB,EAAGutB,IAqDLv1B,EAAQk2B,mBAAqB,SAASrG,GACrC,OAAOD,EAAuBC,EAAS,YAAa,gBAGrD7vB,EAAQm2B,oBAAsB,SAAStG,GACtC,OAAOD,EAAuBC,EAAS,aAAc,iBAEtD7vB,EAAQo2B,gBAAkB,SAASvG,GAClC,IAAIwG,EAAYxG,EAAQH,WACxB,IAAK2G,EACJ,OAAOxG,EAAQyG,YAGhB,IAAIvW,EAAc0P,SAASzvB,EAAQg2B,SAASK,EAAW,gBAAiB,IACpEpW,EAAewP,SAASzvB,EAAQg2B,SAASK,EAAW,iBAAkB,IACtEE,EAAIF,EAAUC,YAAcvW,EAAcE,EAC1CuW,EAAKx2B,EAAQk2B,mBAAmBrG,GACpC,OAAOjoB,MAAM4uB,GAAMD,EAAIzzB,KAAKK,IAAIozB,EAAGC,IAEpCx2B,EAAQy2B,iBAAmB,SAAS5G,GACnC,IAAIwG,EAAYxG,EAAQH,WACxB,IAAK2G,EACJ,OAAOxG,EAAQ6G,aAGhB,IAAI1W,EAAayP,SAASzvB,EAAQg2B,SAASK,EAAW,eAAgB,IAClEnW,EAAgBuP,SAASzvB,EAAQg2B,SAASK,EAAW,kBAAmB,IACxEM,EAAIN,EAAUK,aAAe1W,EAAaE,EAC1C0W,EAAK52B,EAAQm2B,oBAAoBtG,GACrC,OAAOjoB,MAAMgvB,GAAMD,EAAI7zB,KAAKK,IAAIwzB,EAAGC,IAEpC52B,EAAQg2B,SAAW,SAASa,EAAIC,GAC/B,OAAOD,EAAGE,aACTF,EAAGE,aAAaD,GAChB9G,SAASC,YAAYE,iBAAiB0G,EAAI,MAAMG,iBAAiBF,IAEnE92B,EAAQi3B,YAAc,SAASp2B,EAAOq2B,GACrC,IAAIC,EAAat2B,EAAMo1B,wBAA0BiB,GAAc10B,OAAO40B,kBAAoB,EAC1F,GAAmB,IAAfD,EAAJ,CAIA,IAAI5rB,EAAS1K,EAAM0K,OACfuL,EAASjW,EAAMiW,OACfD,EAAQhW,EAAMgW,MAElBtL,EAAOuL,OAASA,EAASqgB,EACzB5rB,EAAOsL,MAAQA,EAAQsgB,EACvBt2B,EAAM4K,IAAI7F,MAAMuxB,EAAYA,GAKvB5rB,EAAO6T,MAAMtI,QAAWvL,EAAO6T,MAAMvI,QACzCtL,EAAO6T,MAAMtI,OAASA,EAAS,KAC/BvL,EAAO6T,MAAMvI,MAAQA,EAAQ,QAI/B7W,EAAQ0f,WAAa,SAAS2X,EAAWhY,EAAWG,GACnD,OAAOH,EAAY,IAAMgY,EAAY,MAAQ7X,GAE9Cxf,EAAQ8e,YAAc,SAASrT,EAAKoT,EAAMyY,EAAe5kB,GACxDA,EAAQA,GAAS,GACjB,IAAIhN,EAAOgN,EAAMhN,KAAOgN,EAAMhN,MAAQ,GAClC6xB,EAAK7kB,EAAM8kB,eAAiB9kB,EAAM8kB,gBAAkB,GAEpD9kB,EAAMmM,OAASA,IAClBnZ,EAAOgN,EAAMhN,KAAO,GACpB6xB,EAAK7kB,EAAM8kB,eAAiB,GAC5B9kB,EAAMmM,KAAOA,GAGdpT,EAAIoT,KAAOA,EACX,IAAI4Y,EAAU,EACdz3B,EAAQ0N,KAAK4pB,EAAe,SAASI,QAEtB1xB,IAAV0xB,GAAiC,OAAVA,IAA6C,IAA3B13B,EAAQ8H,QAAQ4vB,GAC5DD,EAAUz3B,EAAQ+e,YAAYtT,EAAK/F,EAAM6xB,EAAIE,EAASC,GAC5C13B,EAAQ8H,QAAQ4vB,IAG1B13B,EAAQ0N,KAAKgqB,EAAO,SAASC,QAER3xB,IAAhB2xB,GAA6C,OAAhBA,GAAyB33B,EAAQ8H,QAAQ6vB,KACzEF,EAAUz3B,EAAQ+e,YAAYtT,EAAK/F,EAAM6xB,EAAIE,EAASE,QAM1D,IAAIC,EAAQL,EAAGz1B,OAAS,EACxB,GAAI81B,EAAQN,EAAcx1B,OAAQ,CACjC,IAAK,IAAIJ,EAAI,EAAGA,EAAIk2B,EAAOl2B,WACnBgE,EAAK6xB,EAAG71B,IAEhB61B,EAAGn1B,OAAO,EAAGw1B,GAEd,OAAOH,GAERz3B,EAAQ+e,YAAc,SAAStT,EAAK/F,EAAM6xB,EAAIE,EAASI,GACtD,IAAIC,EAAYpyB,EAAKmyB,GAQrB,OAPKC,IACJA,EAAYpyB,EAAKmyB,GAAUpsB,EAAIsT,YAAY8Y,GAAQhhB,MACnD0gB,EAAGx1B,KAAK81B,IAELC,EAAYL,IACfA,EAAUK,GAEJL,GAERz3B,EAAQijB,mBAAqB,SAASqU,GACrC,IAAIS,EAAgB,EAQpB,OAPA/3B,EAAQ0N,KAAK4pB,EAAe,SAASI,GAChC13B,EAAQ8H,QAAQ4vB,IACfA,EAAM51B,OAASi2B,IAClBA,EAAgBL,EAAM51B,UAIlBi2B,GAGR/3B,EAAQ6P,MAASA,EAKhB,SAASnM,GAMR,OAJIA,aAAiBs0B,iBACpBt0B,EAAQ5D,EAAS+S,OAAOolB,cAGlBpoB,EAAMnM,IAVd,SAASA,GAER,OADAw0B,QAAQC,MAAM,uBACPz0B,GAWT1D,EAAQgM,cAAgB,SAASosB,GAEhC,OAAQA,aAAsBC,cAC7BD,EACAp4B,EAAQ6P,MAAMuoB,GAAYE,SAAS,IAAKC,OAAO,IAAK7nB,e,kCC9lBvDlQ,EAAOC,QAAU,SAASC,GAEzBA,EAAM83B,UAAY,SAASnnB,EAASC,GAGnC,OAFAA,EAAOjN,KAAO,YAEP,IAAI3D,EAAM2Q,EAASC,M,kCCL5B,IAAIxR,EAAW,EAAQ,QACnBE,EAAU,EAAQ,QAClBgT,EAAU,EAAQ,QAEtBxS,EAAOC,QAAU,SAASC,GAEzBA,EAAMowB,aAAe,CAGpB2H,aAAc,GAKd34B,SAAU,GACV44B,kBAAmB,SAASr0B,EAAMs0B,EAAkBC,GACnDh3B,KAAK62B,aAAap0B,GAAQs0B,EAC1B/2B,KAAK9B,SAASuE,GAAQrE,EAAQ+Q,MAAM6nB,IAErCC,oBAAqB,SAASx0B,GAC7B,OAAOzC,KAAK62B,aAAaloB,eAAelM,GAAQzC,KAAK62B,aAAap0B,QAAQ2B,GAE3E+qB,iBAAkB,SAAS1sB,GAE1B,OAAOzC,KAAK9B,SAASyQ,eAAelM,GAAQrE,EAAQ6D,MAAM,GAAI,CAAC/D,EAAS8F,MAAOhE,KAAK9B,SAASuE,KAAU,IAExGy0B,oBAAqB,SAASz0B,EAAM00B,GACnC,IAAI12B,EAAKT,KACLS,EAAGvC,SAASyQ,eAAelM,KAC9BhC,EAAGvC,SAASuE,GAAQrE,EAAQY,OAAOyB,EAAGvC,SAASuE,GAAO00B,KAGxDC,kBAAmB,SAASn4B,GAE3Bb,EAAQ0N,KAAK7M,EAAMsD,OAAQ,SAASyB,GAEnCA,EAAMsjB,UAAYtjB,EAAMlB,QAAQwkB,UAChCtjB,EAAM0T,SAAW1T,EAAMlB,QAAQ4U,SAC/B1T,EAAMmjB,OAASnjB,EAAMlB,QAAQqkB,OAC7B/V,EAAQgW,OAAOnoB,EAAO+E,S,kCCvC1B,IAAI9F,EAAW,EAAQ,QACnBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAEtBF,EAASG,KAAK,SAAU,CACvBmV,SAAU,CACT6jB,SAAS,EACT3zB,OAAQ,KACRpB,KAAM,UACNoV,SAAU,UACVmU,WAAW,EACXlnB,gBAAiB,kBACjB2yB,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,EACXC,aAAc,EACdC,mBAAoB,OACpBC,eAAe,EACf5zB,YAAa,gBACbD,YAAa,EACb6O,UAAW,CAEVilB,YAAat6B,EAAQM,KACrBkT,MAAO,SAAS+mB,EAAc70B,GAE7B,IAAI8N,EAAQ,GACRS,EAASvO,EAAKuO,OACdumB,EAAavmB,EAASA,EAAOnS,OAAS,EAE1C,GAAIy4B,EAAaz4B,OAAS,EAAG,CAC5B,IAAI2X,EAAO8gB,EAAa,GAEpB9gB,EAAKG,OACRpG,EAAQiG,EAAKG,OACH4gB,EAAa,GAAK/gB,EAAKvX,MAAQs4B,IACzChnB,EAAQS,EAAOwF,EAAKvX,QAItB,OAAOsR,GAERinB,WAAYz6B,EAAQM,KAGpBo6B,WAAY16B,EAAQM,KAGpBq6B,YAAa36B,EAAQM,KACrB+T,MAAO,SAASiB,EAAa5P,GAC5B,IAAI2O,EAAQ3O,EAAK8D,SAAS8L,EAAYrN,cAAcoM,OAAS,GAM7D,OAJIA,IACHA,GAAS,MAEVA,GAASiB,EAAYoE,OACdrF,GAERumB,WAAY,SAAStlB,EAAazU,GACjC,IAAI0E,EAAO1E,EAAM4I,eAAe6L,EAAYrN,cACxC4yB,EAAgBt1B,EAAKG,KAAK4P,EAAYpT,OACtC6N,EAAO8qB,EAAc/pB,MACzB,MAAO,CACNrK,YAAasJ,EAAKtJ,YAClBF,gBAAiBwJ,EAAKxJ,kBAGxBu0B,eAAgB,WACf,OAAOl5B,KAAKib,SAAS2c,eAEtBuB,WAAY/6B,EAAQM,KAGpB06B,UAAWh7B,EAAQM,KAGnB26B,aAAcj7B,EAAQM,KACtB46B,OAAQl7B,EAAQM,KAChB66B,YAAan7B,EAAQM,SAKxBE,EAAOC,QAAU,SAASC,GAKzB,SAAS06B,EAAaC,EAAaC,GAClC,IAAIzrB,EAAQ7P,EAAQ6P,MAAMwrB,GAC1B,OAAOxrB,EAAM0rB,MAAMD,EAAUzrB,EAAM0rB,SAASC,aAI7C,SAASC,EAAaruB,EAAMsuB,GAU3B,OATIA,IACC17B,EAAQ8H,QAAQ4zB,GAEnBpuB,MAAM/J,UAAUxB,KAAK0L,MAAML,EAAMsuB,GAEjCtuB,EAAKrL,KAAK25B,IAILtuB,EAMR,SAASuuB,EAAkBhtB,GAC1B,IAAIxG,EAASwG,EAAQ7F,QACjBZ,EAASyG,EAAQ5F,SAAW4F,EAAQxI,OACpCjE,EAAQyM,EAAQ3F,OAChBf,EAAe0G,EAAQvI,cAE3B,MAAO,CACNwT,OAAQzR,EAASA,EAAOub,iBAAiBxhB,EAAO+F,GAAgB,GAChEyR,OAAQxR,EAASA,EAAOwb,iBAAiBxhB,EAAO+F,GAAgB,GAChE/F,MAAOA,EACP+F,aAAcA,EACdF,EAAG4G,EAAQrI,OAAOyB,EAClBC,EAAG2G,EAAQrI,OAAO0B,GAQpB,SAAS4zB,EAAaC,GACrB,IAAI5c,EAAiBnf,EAAS+S,OAC1BlO,EAAiB3E,EAAQ2E,eAE7B,MAAO,CAENq1B,SAAU6B,EAAY7B,SACtBD,SAAU8B,EAAY9B,SACtB+B,OAAQD,EAAYC,OACpBC,OAAQF,EAAYE,OAGpBvC,cAAeqC,EAAYrC,cAC3BwC,gBAAiBr3B,EAAek3B,EAAYI,eAAgBhd,EAAeQ,mBAC3Eyc,eAAgBv3B,EAAek3B,EAAYM,cAAeld,EAAeK,kBACzE8c,WAAYP,EAAYpC,UACxB4C,aAAc13B,EAAek3B,EAAYQ,aAAcpd,EAAeE,iBACtEoa,YAAasC,EAAYtC,YAGzBF,eAAgBwC,EAAYxC,eAC5BiD,iBAAkB33B,EAAek3B,EAAYU,gBAAiBtd,EAAeQ,mBAC7E+c,gBAAiB73B,EAAek3B,EAAY3C,eAAgBja,EAAeK,kBAC3Emd,cAAe93B,EAAek3B,EAAYY,cAAexd,EAAeE,iBACxEud,YAAab,EAAYvC,WACzBH,aAAc0C,EAAY1C,aAC1BC,kBAAmByC,EAAYzC,kBAG/BS,gBAAiBgC,EAAYhC,gBAC7B8C,kBAAmBh4B,EAAek3B,EAAYe,iBAAkB3d,EAAeQ,mBAC/Eod,iBAAkBl4B,EAAek3B,EAAYnC,gBAAiBza,EAAeK,kBAC7Ewd,eAAgBn4B,EAAek3B,EAAYiB,eAAgB7d,EAAeE,iBAC1E4d,aAAclB,EAAY/B,YAC1BH,cAAekC,EAAYlC,cAC3BC,gBAAiBiC,EAAYjC,gBAG7BM,UAAW2B,EAAY3B,UACvBC,aAAc0B,EAAY1B,aAC1B5zB,gBAAiBs1B,EAAYt1B,gBAC7B+0B,QAAS,EACT0B,sBAAuBnB,EAAYzB,mBACnCC,cAAewB,EAAYxB,cAC3B5zB,YAAao1B,EAAYp1B,YACzBD,YAAaq1B,EAAYr1B,aAO3B,SAASy2B,EAAeC,EAASnzB,GAChC,IAAI0B,EAAMyxB,EAAQ3uB,OAAO9C,IAErBqL,EAA0B,EAAjB/M,EAAMgwB,SACfljB,EAAQ,EAGRsmB,EAAOpzB,EAAMozB,KACbC,EAAqBD,EAAKpL,OAAO,SAAS7uB,EAAOm6B,GACpD,OAAOn6B,EAAQm6B,EAASC,OAAOx7B,OAASu7B,EAASE,MAAMz7B,OAASu7B,EAASG,MAAM17B,QAC7E,GACHs7B,GAAsBrzB,EAAM2wB,WAAW54B,OAASiI,EAAMixB,UAAUl5B,OAEhE,IAAI27B,EAAiB1zB,EAAMyJ,MAAM1R,OAC7B47B,EAAkB3zB,EAAMmxB,OAAOp5B,OAC/B26B,EAAgB1yB,EAAM0yB,cACtBJ,EAAetyB,EAAMsyB,aACrBS,EAAiB/yB,EAAM+yB,eAE3BhmB,GAAU2mB,EAAiBhB,EAC3B3lB,GAAU2mB,GAAkBA,EAAiB,GAAK1zB,EAAMovB,aAAe,EACvEriB,GAAU2mB,EAAiB1zB,EAAMqvB,kBAAoB,EACrDtiB,GAAUsmB,EAAqBf,EAC/BvlB,GAAUsmB,GAAsBA,EAAqB,GAAKrzB,EAAMwvB,YAAc,EAC9EziB,GAAU4mB,EAAkB3zB,EAAM6vB,gBAAkB,EACpD9iB,GAAU4mB,EAAkB,EAC5B5mB,GAAU4mB,GAAmBA,EAAkB,GAAK3zB,EAAM4vB,cAAgB,EAG1E,IAAIgE,EAAe,EACfC,EAAe,SAAS94B,GAC3B+R,EAAQ/T,KAAKuH,IAAIwM,EAAOpL,EAAIsT,YAAYja,GAAM+R,MAAQ8mB,IA4BvD,OAzBAlyB,EAAIoT,KAAO7e,EAAQ0f,WAAW+c,EAAe1yB,EAAMyyB,gBAAiBzyB,EAAMuyB,kBAC1Et8B,EAAQ0N,KAAK3D,EAAMyJ,MAAOoqB,GAG1BnyB,EAAIoT,KAAO7e,EAAQ0f,WAAW2c,EAActyB,EAAMmyB,eAAgBnyB,EAAMiyB,iBACxEh8B,EAAQ0N,KAAK3D,EAAM2wB,WAAW3oB,OAAOhI,EAAMixB,WAAY4C,GAGvDD,EAAe5zB,EAAMswB,cAAiBgC,EAAe,EAAK,EAC1Dr8B,EAAQ0N,KAAKyvB,EAAM,SAASE,GAC3Br9B,EAAQ0N,KAAK2vB,EAASC,OAAQM,GAC9B59B,EAAQ0N,KAAK2vB,EAASE,MAAOK,GAC7B59B,EAAQ0N,KAAK2vB,EAASG,MAAOI,KAI9BD,EAAe,EAGflyB,EAAIoT,KAAO7e,EAAQ0f,WAAWod,EAAgB/yB,EAAM8yB,iBAAkB9yB,EAAM4yB,mBAC5E38B,EAAQ0N,KAAK3D,EAAMmxB,OAAQ0C,GAG3B/mB,GAAS,EAAI9M,EAAMiwB,SAEZ,CACNnjB,MAAOA,EACPC,OAAQA,GAOV,SAAS+mB,EAAmBX,EAAStmB,GACpC,IAYIknB,EAAIC,EACJC,EAAKC,EACLC,EAdAn0B,EAAQmzB,EAAQ52B,OAChBzF,EAAQq8B,EAAQ3uB,OAChBrE,EAAYgzB,EAAQ3uB,OAAOrE,UAC3B4xB,EAAS,SACTC,EAAS,SAEThyB,EAAM/B,EAAI4O,EAAKE,OAClBilB,EAAS,MACChyB,EAAM/B,EAAKnH,EAAMiW,OAASF,EAAKE,SACzCilB,EAAS,UAMV,IAAIoC,GAAQj0B,EAAUgB,KAAOhB,EAAUiB,OAAS,EAC5CizB,GAAQl0B,EAAUkB,IAAMlB,EAAUmB,QAAU,EAEjC,WAAX0wB,GACH+B,EAAK,SAAS/1B,GACb,OAAOA,GAAKo2B,GAEbJ,EAAK,SAASh2B,GACb,OAAOA,EAAIo2B,KAGZL,EAAK,SAAS/1B,GACb,OAAOA,GAAM6O,EAAKC,MAAQ,GAE3BknB,EAAK,SAASh2B,GACb,OAAOA,GAAMlH,EAAMgW,MAASD,EAAKC,MAAQ,IAI3CmnB,EAAM,SAASj2B,GACd,OAAOA,EAAI6O,EAAKC,MAAQ9M,EAAMmwB,UAAYnwB,EAAMkwB,aAAep5B,EAAMgW,OAEtEonB,EAAM,SAASl2B,GACd,OAAOA,EAAI6O,EAAKC,MAAQ9M,EAAMmwB,UAAYnwB,EAAMkwB,aAAe,GAEhEiE,EAAK,SAASl2B,GACb,OAAOA,GAAKo2B,EAAO,MAAQ,UAGxBN,EAAG/zB,EAAMhC,IACZ+zB,EAAS,OAGLkC,EAAIj0B,EAAMhC,KACb+zB,EAAS,SACTC,EAASmC,EAAGn0B,EAAM/B,KAET+1B,EAAGh0B,EAAMhC,KACnB+zB,EAAS,QAGLmC,EAAIl0B,EAAMhC,KACb+zB,EAAS,SACTC,EAASmC,EAAGn0B,EAAM/B,KAIpB,IAAI4K,EAAOsqB,EAAQrgB,SACnB,MAAO,CACNif,OAAQlpB,EAAKkpB,OAASlpB,EAAKkpB,OAASA,EACpCC,OAAQnpB,EAAKmpB,OAASnpB,EAAKmpB,OAASA,GAOtC,SAASsC,EAAmBC,EAAI1nB,EAAM2nB,EAAW19B,GAEhD,IAAIkH,EAAIu2B,EAAGv2B,EACPC,EAAIs2B,EAAGt2B,EAEPkyB,EAAYoE,EAAGpE,UACfD,EAAeqE,EAAGrE,aAClBE,EAAemE,EAAGnE,aAClB2B,EAASyC,EAAUzC,OACnBC,EAASwC,EAAUxC,OACnByC,EAAiBtE,EAAYD,EAC7BwE,EAAmBtE,EAAeF,EAkCtC,MAhCe,UAAX6B,EACH/zB,GAAK6O,EAAKC,MACW,WAAXilB,IACV/zB,GAAM6O,EAAKC,MAAQ,EACf9O,EAAI6O,EAAKC,MAAQhW,EAAMgW,QAC1B9O,EAAIlH,EAAMgW,MAAQD,EAAKC,OAEpB9O,EAAI,IACPA,EAAI,IAIS,QAAXg0B,EACH/zB,GAAKw2B,EAELx2B,GADqB,WAAX+zB,EACLnlB,EAAKE,OAAS0nB,EAEb5nB,EAAKE,OAAS,EAGN,WAAXilB,EACY,SAAXD,EACH/zB,GAAKy2B,EACgB,UAAX1C,IACV/zB,GAAKy2B,GAEe,SAAX1C,EACV/zB,GAAK02B,EACgB,UAAX3C,IACV/zB,GAAK02B,GAGC,CACN12B,EAAGA,EACHC,EAAGA,GAILtH,EAAMg+B,QAAU3+B,EAAQa,OAAO,CAC9BmN,WAAY,WACXnM,KAAK0E,OAASs1B,EAAah6B,KAAKib,UAChCjb,KAAK+8B,YAAc,IAKpBC,SAAU,WACT,IAAIv8B,EAAKT,KACLgR,EAAOvQ,EAAGwa,SACVxH,EAAYzC,EAAKyC,UAEjBilB,EAAcjlB,EAAUilB,YAAY7sB,MAAMpL,EAAIkL,WAC9CiG,EAAQ6B,EAAU7B,MAAM/F,MAAMpL,EAAIkL,WAClCktB,EAAaplB,EAAUolB,WAAWhtB,MAAMpL,EAAIkL,WAE5CgwB,EAAQ,GAKZ,OAJAA,EAAQ9B,EAAa8B,EAAOjD,GAC5BiD,EAAQ9B,EAAa8B,EAAO/pB,GAC5B+pB,EAAQ9B,EAAa8B,EAAO9C,GAErB8C,GAIRsB,cAAe,WACd,IAAItB,EAAQ37B,KAAKib,SAASxH,UAAUqlB,WAAWjtB,MAAM7L,KAAM2L,WAC3D,OAAOvN,EAAQ8H,QAAQy1B,GAASA,OAAkBv3B,IAAVu3B,EAAsB,CAACA,GAAS,IAIzEuB,QAAS,SAASvE,EAAc70B,GAC/B,IAAIrD,EAAKT,KACLyT,EAAYhT,EAAGwa,SAASxH,UACxB0pB,EAAY,GAehB,OAbA/+B,EAAQ0N,KAAK6sB,EAAc,SAASjlB,GACnC,IAAI+nB,EAAW,CACdC,OAAQ,GACRC,MAAO,GACPC,MAAO,IAER/B,EAAa4B,EAASC,OAAQjoB,EAAUslB,YAAYp4B,KAAKF,EAAIiT,EAAa5P,IAC1E+1B,EAAa4B,EAASE,MAAOloB,EAAUhB,MAAM9R,KAAKF,EAAIiT,EAAa5P,IACnE+1B,EAAa4B,EAASG,MAAOnoB,EAAU0lB,WAAWx4B,KAAKF,EAAIiT,EAAa5P,IAExEq5B,EAAUh9B,KAAKs7B,KAGT0B,GAIRC,aAAc,WACb,IAAIzB,EAAQ37B,KAAKib,SAASxH,UAAU2lB,UAAUvtB,MAAM7L,KAAM2L,WAC1D,OAAOvN,EAAQ8H,QAAQy1B,GAASA,OAAkBv3B,IAAVu3B,EAAsB,CAACA,GAAS,IAKzE0B,UAAW,WACV,IAAI58B,EAAKT,KACLyT,EAAYhT,EAAGwa,SAASxH,UAExB4lB,EAAe5lB,EAAU4lB,aAAaxtB,MAAMpL,EAAIkL,WAChD2tB,EAAS7lB,EAAU6lB,OAAOztB,MAAMpL,EAAIkL,WACpC4tB,EAAc9lB,EAAU8lB,YAAY1tB,MAAMpL,EAAIkL,WAE9CgwB,EAAQ,GAKZ,OAJAA,EAAQ9B,EAAa8B,EAAOtC,GAC5BsC,EAAQ9B,EAAa8B,EAAOrC,GAC5BqC,EAAQ9B,EAAa8B,EAAOpC,GAErBoC,GAGRn4B,OAAQ,SAAS85B,GAChB,IA8BIx9B,EAAGy9B,EA9BH98B,EAAKT,KACLgR,EAAOvQ,EAAGwa,SAKVuiB,EAAgB/8B,EAAGiE,OACnByD,EAAQ1H,EAAGiE,OAASs1B,EAAahpB,GACjCysB,EAASh9B,EAAGi9B,QAEZ55B,EAAOrD,EAAGgM,MAGVkwB,EAAY,CACfzC,OAAQsD,EAActD,OACtBC,OAAQqD,EAAcrD,QAEnBwD,EAAkB,CACrBx3B,EAAGq3B,EAAcr3B,EACjBC,EAAGo3B,EAAcp3B,GAEdw3B,EAAc,CACjB3oB,MAAOuoB,EAAcvoB,MACrBC,OAAQsoB,EAActoB,QAEnB7F,EAAkB,CACrBlJ,EAAGq3B,EAAcK,OACjBz3B,EAAGo3B,EAAcM,QAKlB,GAAIL,EAAOv9B,OAAQ,CAClBiI,EAAMuxB,QAAU,EAEhB,IAAIqE,EAAc,GACdC,EAAkB,GACtB3uB,EAAkBvQ,EAAMg+B,QAAQmB,YAAYjtB,EAAK0G,UAAU/W,KAAKF,EAAIg9B,EAAQh9B,EAAGy9B,gBAE/E,IAAIvF,EAAe,GACnB,IAAK74B,EAAI,EAAGy9B,EAAME,EAAOv9B,OAAQJ,EAAIy9B,IAAOz9B,EAC3C64B,EAAax4B,KAAK45B,EAAkB0D,EAAO39B,KAIxCkR,EAAKtI,SACRiwB,EAAeA,EAAajwB,OAAO,SAASqe,GAC3C,OAAO/V,EAAKtI,OAAOqe,EAAGjjB,MAKpBkN,EAAKmtB,WACRxF,EAAeA,EAAa7R,KAAK,SAASC,EAAGC,GAC5C,OAAOhW,EAAKmtB,SAASpX,EAAGC,EAAGljB,MAK7B1F,EAAQ0N,KAAK6sB,EAAc,SAASjlB,GACnCqqB,EAAY59B,KAAK6Q,EAAKyC,UAAUulB,WAAWr4B,KAAKF,EAAIiT,EAAajT,EAAGkM,SACpEqxB,EAAgB79B,KAAK6Q,EAAKyC,UAAUylB,eAAev4B,KAAKF,EAAIiT,EAAajT,EAAGkM,WAK7ExE,EAAMyJ,MAAQnR,EAAGu8B,SAASrE,EAAc70B,GACxCqE,EAAM2wB,WAAar4B,EAAGw8B,cAActE,EAAc70B,GAClDqE,EAAMozB,KAAO96B,EAAGy8B,QAAQvE,EAAc70B,GACtCqE,EAAMixB,UAAY34B,EAAG28B,aAAazE,EAAc70B,GAChDqE,EAAMmxB,OAAS74B,EAAG48B,UAAU1E,EAAc70B,GAG1CqE,EAAMhC,EAAIjF,KAAKihB,MAAM9S,EAAgBlJ,GACrCgC,EAAM/B,EAAIlF,KAAKihB,MAAM9S,EAAgBjJ,GACrC+B,EAAMkwB,aAAernB,EAAKqnB,aAC1BlwB,EAAM41B,YAAcA,EACpB51B,EAAM61B,gBAAkBA,EAGxB71B,EAAMi2B,WAAazF,EAGnBiF,EAAcvC,EAAer7B,KAAMmI,GACnCw0B,EAAYV,EAAmBj8B,KAAM49B,GAErCD,EAAkBlB,EAAmBt0B,EAAOy1B,EAAajB,EAAWl8B,EAAGkM,aAEvExE,EAAMuxB,QAAU,EAoBjB,OAjBAvxB,EAAM+xB,OAASyC,EAAUzC,OACzB/xB,EAAMgyB,OAASwC,EAAUxC,OACzBhyB,EAAMhC,EAAIw3B,EAAgBx3B,EAC1BgC,EAAM/B,EAAIu3B,EAAgBv3B,EAC1B+B,EAAM8M,MAAQ2oB,EAAY3oB,MAC1B9M,EAAM+M,OAAS0oB,EAAY1oB,OAG3B/M,EAAM01B,OAASxuB,EAAgBlJ,EAC/BgC,EAAM21B,OAASzuB,EAAgBjJ,EAE/B3F,EAAGiE,OAASyD,EAERm1B,GAAWtsB,EAAKtN,QACnBsN,EAAKtN,OAAO/C,KAAKF,EAAI0H,GAGf1H,GAER49B,UAAW,SAASC,EAActpB,GACjC,IAAInL,EAAM7J,KAAK2M,OAAO9C,IAClB6yB,EAAK18B,KAAKkP,MACVqvB,EAAgBv+B,KAAKw+B,iBAAiBF,EAActpB,EAAM0nB,GAE9D7yB,EAAImc,OAAOuY,EAAcha,GAAIga,EAAc/Z,IAC3C3a,EAAImc,OAAOuY,EAAc9Z,GAAI8Z,EAAc7Z,IAC3C7a,EAAImc,OAAOuY,EAAcE,GAAIF,EAAcG,KAE5CF,iBAAkB,SAASF,EAActpB,EAAM0nB,GAC9C,IAAInY,EAAIE,EAAIga,EAAIja,EAAIE,EAAIga,EACpBpG,EAAYoE,EAAGpE,UACfC,EAAemE,EAAGnE,aAClB2B,EAASwC,EAAGxC,OACZC,EAASuC,EAAGvC,OACZwE,EAAML,EAAan4B,EACnBy4B,EAAMN,EAAal4B,EACnB6O,EAAQD,EAAKC,MACbC,EAASF,EAAKE,OAElB,GAAe,WAAXilB,EACHzV,EAAKka,EAAO1pB,EAAS,EAEN,SAAXglB,GACH3V,EAAKoa,EACLla,EAAKF,EAAK+T,EACVmG,EAAKla,EAELC,EAAKE,EAAK4T,EACVoG,EAAKha,EAAK4T,IAEV/T,EAAKoa,EAAM1pB,EACXwP,EAAKF,EAAK+T,EACVmG,EAAKla,EAELC,EAAKE,EAAK4T,EACVoG,EAAKha,EAAK4T,QAgBX,GAbe,SAAX4B,GACHzV,EAAKka,EAAMpG,EAAe,EAC1BhU,EAAKE,EAAK6T,EACVmG,EAAKha,EAAK6T,GACW,UAAX4B,GACVzV,EAAKka,EAAM1pB,EAAQsjB,EAAeD,EAClC/T,EAAKE,EAAK6T,EACVmG,EAAKha,EAAK6T,IAEV7T,EAAKiY,EAAGmB,OACRtZ,EAAKE,EAAK6T,EACVmG,EAAKha,EAAK6T,GAEI,QAAX6B,EACH3V,EAAKoa,EACLla,EAAKF,EAAK8T,EACVoG,EAAKla,MACC,CACNA,EAAKoa,EAAM1pB,EACXwP,EAAKF,EAAK8T,EACVoG,EAAKla,EAEL,IAAIqa,EAAMJ,EACVA,EAAKla,EACLA,EAAKsa,EAGP,MAAO,CAACta,GAAIA,EAAIE,GAAIA,EAAIga,GAAIA,EAAIja,GAAIA,EAAIE,GAAIA,EAAIga,GAAIA,IAErDI,UAAW,SAASt2B,EAAIk0B,EAAI7yB,EAAK6vB,GAChC,IAAI9nB,EAAQ8qB,EAAG9qB,MAEf,GAAIA,EAAM1R,OAAQ,CACjB2J,EAAIib,UAAY4X,EAAG5B,YACnBjxB,EAAIkb,aAAe,MAEnB,IAMIjlB,EAAGy9B,EANH1C,EAAgB6B,EAAG7B,cACnBtD,EAAemF,EAAGnF,aAMtB,IAJA1tB,EAAIiJ,UAAY0mB,EAAakD,EAAGjF,eAAgBiC,GAChD7vB,EAAIoT,KAAO7e,EAAQ0f,WAAW+c,EAAe6B,EAAG9B,gBAAiB8B,EAAGhC,kBAG/D56B,EAAI,EAAGy9B,EAAM3rB,EAAM1R,OAAQJ,EAAIy9B,IAAOz9B,EAC1C+J,EAAIwc,SAASzU,EAAM9R,GAAI0I,EAAGrC,EAAGqC,EAAGpC,GAChCoC,EAAGpC,GAAKy0B,EAAgBtD,EAEpBz3B,EAAI,IAAM8R,EAAM1R,SACnBsI,EAAGpC,GAAKs2B,EAAGlF,kBAAoBD,KAKnCwH,SAAU,SAASv2B,EAAIk0B,EAAI7yB,EAAK6vB,GAC/B,IAAIe,EAAeiC,EAAGjC,aAClB9C,EAAc+E,EAAG/E,YACjB4D,EAAOmB,EAAGnB,KAEd1xB,EAAIib,UAAY4X,EAAGlC,WACnB3wB,EAAIkb,aAAe,MACnBlb,EAAIoT,KAAO7e,EAAQ0f,WAAW2c,EAAciC,EAAGpC,eAAgBoC,EAAGtC,iBAGlE,IAAI4E,EAAe,EACfC,EAAiB,SAAS/7B,GAC7B2G,EAAIwc,SAASnjB,EAAMsF,EAAGrC,EAAI64B,EAAcx2B,EAAGpC,GAC3CoC,EAAGpC,GAAKq0B,EAAe9C,GAIxB9tB,EAAIiJ,UAAY0mB,EAAakD,EAAG9E,cAAe8B,GAC/Ct7B,EAAQ0N,KAAK4wB,EAAG5D,WAAYmG,GAE5B,IAAIC,EAAiBxC,EAAGjE,cACxBuG,EAAeE,EAAkBzE,EAAe,EAAK,EAGrDr8B,EAAQ0N,KAAKyvB,EAAM,SAASE,EAAU37B,GACrC,IAAIq/B,EAAY3F,EAAakD,EAAGsB,gBAAgBl+B,GAAI45B,GACpD7vB,EAAIiJ,UAAYqsB,EAChB/gC,EAAQ0N,KAAK2vB,EAASC,OAAQuD,GAE9B7gC,EAAQ0N,KAAK2vB,EAASE,MAAO,SAASz4B,GAEjCg8B,IAEHr1B,EAAIiJ,UAAY0mB,EAAakD,EAAGtB,sBAAuB1B,GACvD7vB,EAAIu1B,SAAS52B,EAAGrC,EAAGqC,EAAGpC,EAAGq0B,EAAcA,GAGvC5wB,EAAImJ,UAAY,EAChBnJ,EAAIkJ,YAAcymB,EAAakD,EAAGqB,YAAYj+B,GAAG+E,YAAa60B,GAC9D7vB,EAAIw1B,WAAW72B,EAAGrC,EAAGqC,EAAGpC,EAAGq0B,EAAcA,GAGzC5wB,EAAIiJ,UAAY0mB,EAAakD,EAAGqB,YAAYj+B,GAAG6E,gBAAiB+0B,GAChE7vB,EAAIu1B,SAAS52B,EAAGrC,EAAI,EAAGqC,EAAGpC,EAAI,EAAGq0B,EAAe,EAAGA,EAAe,GAClE5wB,EAAIiJ,UAAYqsB,GAGjBF,EAAe/7B,KAGhB9E,EAAQ0N,KAAK2vB,EAASG,MAAOqD,KAI9BD,EAAe,EAGf5gC,EAAQ0N,KAAK4wB,EAAGtD,UAAW6F,GAC3Bz2B,EAAGpC,GAAKuxB,GAET2H,WAAY,SAAS92B,EAAIk0B,EAAI7yB,EAAK6vB,GACjC,IAAIJ,EAASoD,EAAGpD,OAEZA,EAAOp5B,SACVsI,EAAGpC,GAAKs2B,EAAG1E,gBAEXnuB,EAAIib,UAAY4X,EAAGvB,aACnBtxB,EAAIkb,aAAe,MAEnBlb,EAAIiJ,UAAY0mB,EAAakD,EAAGzE,gBAAiByB,GACjD7vB,EAAIoT,KAAO7e,EAAQ0f,WAAW4e,EAAGxB,eAAgBwB,EAAGzB,iBAAkByB,EAAG3B,mBAEzE38B,EAAQ0N,KAAKwtB,EAAQ,SAASp2B,GAC7B2G,EAAIwc,SAASnjB,EAAMsF,EAAGrC,EAAGqC,EAAGpC,GAC5BoC,EAAGpC,GAAKs2B,EAAGxB,eAAiBwB,EAAG3E,kBAIlCwH,eAAgB,SAAS/2B,EAAIk0B,EAAI7yB,EAAK+zB,EAAalE,GAClD7vB,EAAIiJ,UAAY0mB,EAAakD,EAAG/3B,gBAAiB+0B,GACjD7vB,EAAIkJ,YAAcymB,EAAakD,EAAG73B,YAAa60B,GAC/C7vB,EAAImJ,UAAY0pB,EAAG93B,YACnB,IAAIs1B,EAASwC,EAAGxC,OACZC,EAASuC,EAAGvC,OACZh0B,EAAIqC,EAAGrC,EACPC,EAAIoC,EAAGpC,EACP6O,EAAQ2oB,EAAY3oB,MACpBC,EAAS0oB,EAAY1oB,OACrBxO,EAASg2B,EAAGnE,aAEhB1uB,EAAIic,YACJjc,EAAIkc,OAAO5f,EAAIO,EAAQN,GACR,QAAX+zB,GACHn6B,KAAKq+B,UAAU71B,EAAIo1B,GAEpB/zB,EAAImc,OAAO7f,EAAI8O,EAAQvO,EAAQN,GAC/ByD,EAAI21B,iBAAiBr5B,EAAI8O,EAAO7O,EAAGD,EAAI8O,EAAO7O,EAAIM,GACnC,WAAXyzB,GAAkC,UAAXD,GAC1Bl6B,KAAKq+B,UAAU71B,EAAIo1B,GAEpB/zB,EAAImc,OAAO7f,EAAI8O,EAAO7O,EAAI8O,EAASxO,GACnCmD,EAAI21B,iBAAiBr5B,EAAI8O,EAAO7O,EAAI8O,EAAQ/O,EAAI8O,EAAQvO,EAAQN,EAAI8O,GACrD,WAAXilB,GACHn6B,KAAKq+B,UAAU71B,EAAIo1B,GAEpB/zB,EAAImc,OAAO7f,EAAIO,EAAQN,EAAI8O,GAC3BrL,EAAI21B,iBAAiBr5B,EAAGC,EAAI8O,EAAQ/O,EAAGC,EAAI8O,EAASxO,GACrC,WAAXyzB,GAAkC,SAAXD,GAC1Bl6B,KAAKq+B,UAAU71B,EAAIo1B,GAEpB/zB,EAAImc,OAAO7f,EAAGC,EAAIM,GAClBmD,EAAI21B,iBAAiBr5B,EAAGC,EAAGD,EAAIO,EAAQN,GACvCyD,EAAI41B,YAEJ51B,EAAI3E,OAEAw3B,EAAG93B,YAAc,GACpBiF,EAAI+I,UAGNlJ,KAAM,WACL,IAAIG,EAAM7J,KAAK2M,OAAO9C,IAClB6yB,EAAK18B,KAAKkP,MAEd,GAAmB,IAAfwtB,EAAGhD,QAAP,CAIA,IAAIkE,EAAc,CACjB3oB,MAAOynB,EAAGznB,MACVC,OAAQwnB,EAAGxnB,QAER1M,EAAK,CACRrC,EAAGu2B,EAAGv2B,EACNC,EAAGs2B,EAAGt2B,GAIHszB,EAAUx4B,KAAK8U,IAAI0mB,EAAGhD,QAAU,MAAQ,EAAIgD,EAAGhD,QAG/CgG,EAAoBhD,EAAG9qB,MAAM1R,QAAUw8B,EAAG5D,WAAW54B,QAAUw8B,EAAGnB,KAAKr7B,QAAUw8B,EAAGtD,UAAUl5B,QAAUw8B,EAAGpD,OAAOp5B,OAElHF,KAAKib,SAASoc,SAAWqI,IAE5B1/B,KAAKu/B,eAAe/2B,EAAIk0B,EAAI7yB,EAAK+zB,EAAalE,GAG9ClxB,EAAGrC,GAAKu2B,EAAGtE,SACX5vB,EAAGpC,GAAKs2B,EAAGvE,SAGXn4B,KAAK8+B,UAAUt2B,EAAIk0B,EAAI7yB,EAAK6vB,GAG5B15B,KAAK++B,SAASv2B,EAAIk0B,EAAI7yB,EAAK6vB,GAG3B15B,KAAKs/B,WAAW92B,EAAIk0B,EAAI7yB,EAAK6vB,MAU/BiG,YAAa,SAASzsB,GACrB,IAAIzS,EAAKT,KACL8C,EAAUrC,EAAGwa,SACbqiB,GAAU,EA6Bd,OA3BA78B,EAAGs8B,YAAct8B,EAAGs8B,aAAe,GAGpB,aAAX7pB,EAAEzQ,KACLhC,EAAGi9B,QAAU,GAEbj9B,EAAGi9B,QAAUj9B,EAAGkM,OAAOizB,0BAA0B1sB,EAAGpQ,EAAQR,KAAMQ,GAInEw6B,GAAWl/B,EAAQyhC,YAAYp/B,EAAGi9B,QAASj9B,EAAGs8B,aAG1CO,IACH78B,EAAGs8B,YAAct8B,EAAGi9B,SAEhB56B,EAAQu0B,SAAWv0B,EAAQY,UAC9BjD,EAAGy9B,eAAiB,CACnB/3B,EAAG+M,EAAE/M,EACLC,EAAG8M,EAAE9M,GAGN3F,EAAG+C,QAAO,GACV/C,EAAG6E,UAIEg4B,KAOTx+B,EAAMg+B,QAAQmB,YAAc,CAO3B6B,QAAS,SAAS59B,GACjB,IAAKA,EAAShC,OACb,OAAO,EAGR,IAAIJ,EAAGy9B,EACHp3B,EAAI,EACJC,EAAI,EACJ9E,EAAQ,EAEZ,IAAKxB,EAAI,EAAGy9B,EAAMr7B,EAAShC,OAAQJ,EAAIy9B,IAAOz9B,EAAG,CAChD,IAAIm1B,EAAK/yB,EAASpC,GAClB,GAAIm1B,GAAMA,EAAG3lB,WAAY,CACxB,IAAIywB,EAAM9K,EAAG5lB,kBACblJ,GAAK45B,EAAI55B,EACTC,GAAK25B,EAAI35B,IACP9E,GAIJ,MAAO,CACN6E,EAAGjF,KAAKihB,MAAMhc,EAAI7E,GAClB8E,EAAGlF,KAAKihB,MAAM/b,EAAI9E,KAWpB0rB,QAAS,SAAS9qB,EAAU89B,GAC3B,IAGIlgC,EAAGy9B,EAAK0C,EAHR95B,EAAI65B,EAAc75B,EAClBC,EAAI45B,EAAc55B,EAClB2lB,EAAc/jB,OAAOgkB,kBAGzB,IAAKlsB,EAAI,EAAGy9B,EAAMr7B,EAAShC,OAAQJ,EAAIy9B,IAAOz9B,EAAG,CAChD,IAAIm1B,EAAK/yB,EAASpC,GAClB,GAAIm1B,GAAMA,EAAG3lB,WAAY,CACxB,IAAI2J,EAASgc,EAAG/I,iBACZgU,EAAI9hC,EAAQkzB,sBAAsB0O,EAAe/mB,GAEjDinB,EAAInU,IACPA,EAAcmU,EACdD,EAAiBhL,IAKpB,GAAIgL,EAAgB,CACnB,IAAIE,EAAKF,EAAe5wB,kBACxBlJ,EAAIg6B,EAAGh6B,EACPC,EAAI+5B,EAAG/5B,EAGR,MAAO,CACND,EAAGA,EACHC,EAAGA,O,mCC76BP,IAAIlI,EAAW,EAAQ,QAEvBA,EAASG,KAAK,SAAU,CACvB+hC,YAAY,EACZC,4BAA6B,EAC7BC,qBAAqB,EACrBC,OAAQ,CAAC,YAAa,WAAY,QAAS,aAAc,aACzDl+B,MAAO,CACNm+B,QAAS,KACTl+B,KAAM,UACNupB,WAAW,EACX4U,kBAAmB,KAEpBxtB,QAAS,KACTojB,aAAc,kBACd/S,iBAAkB,OAClBzF,kBAAmB,qDACnBN,gBAAiB,GACjBG,iBAAkB,SAClBvb,WAAW,EAGXD,SAAU,GAGV2lB,OAAQ,CACP1L,QAAS,CACR3S,IAAK,EACLD,MAAO,EACPE,OAAQ,EACRH,KAAM,MAKT1K,EAAOC,QAAU,WAGhB,IAAIC,EAAQ,SAAS+Y,EAAMnI,GAE1B,OADA1P,KAAK0gC,UAAU7oB,EAAMnI,GACd1P,MAKR,OAFAlB,EAAMA,MAAQA,EAEPA,I,kCC7CR,IAAIZ,EAAW,EAAQ,QAEvBA,EAASG,KAAK,UAAW,CACxBgE,MAAO,CACNC,KAAM,UAGPC,OAAQ,CACPC,MAAO,CAAC,CACPE,GAAI,WACJD,KAAM,SACNiV,SAAU,WAEX/U,MAAO,CAAC,CACPD,GAAI,WACJD,KAAM,SACNiV,SAAU,UAIZvV,WAAW,EAEXqR,SAAU,CACTC,UAAW,CACV7B,MAAO,WACN,MAAO,IAERa,MAAO,SAASoF,GACf,MAAO,IAAMA,EAAKG,OAAS,KAAOH,EAAKC,OAAS,SAMpDlZ,EAAOC,QAAU,SAASC,GAGzBA,EAAMmE,YAAY09B,QAAU7hC,EAAMmE,YAAYC,O,kCCrC/C,IAAIhF,EAAW,EAAQ,QACnBgE,EAAW,EAAQ,QACnB9D,EAAU,EAAQ,QAEtBF,EAASG,KAAK,YAAa,CAC1B2F,MAAO,CACNvB,KAAM,eACNm+B,WAAY,CACXrlB,SAAS,GAEVhE,UAAW,CACVspB,UAAU,GAEXC,YAAa,CACZvlB,SAAS,GAEV/E,MAAO,CACN4F,aAAa,IAKf9d,UAAW,CACV2T,eAAe,EACfC,cAAc,GAGfoC,YAAa,GAAMpT,KAAKoS,GACxBnB,eAAgB,SAASlT,GACxB,IAAImT,EAAO,GACXA,EAAKjS,KAAK,cAAgBlB,EAAMyD,GAAK,aAErC,IAAIoB,EAAO7E,EAAM6E,KACb8D,EAAW9D,EAAK8D,SAChByK,EAASvO,EAAKuO,OAElB,GAAIzK,EAAS1H,OACZ,IAAK,IAAIJ,EAAI,EAAGA,EAAI8H,EAAS,GAAG9D,KAAK5D,SAAUJ,EAC9CsS,EAAKjS,KAAK,qCAAuCyH,EAAS,GAAGjD,gBAAgB7E,GAAK,aAC9EuS,EAAOvS,IACVsS,EAAKjS,KAAKkS,EAAOvS,IAElBsS,EAAKjS,KAAK,SAKZ,OADAiS,EAAKjS,KAAK,SACHiS,EAAKE,KAAK,KAElBb,OAAQ,CACPY,OAAQ,CACPE,eAAgB,SAAStT,GACxB,IAAI6E,EAAO7E,EAAM6E,KACjB,OAAIA,EAAKuO,OAAOnS,QAAU4D,EAAK8D,SAAS1H,OAChC4D,EAAKuO,OAAOG,IAAI,SAASC,EAAO3S,GACtC,IAAI6D,EAAO1E,EAAM4I,eAAe,GAC5BN,EAAKzD,EAAK8D,SAAS,GACnB8K,EAAM/O,EAAKG,KAAKhE,GAChB4D,EAASgP,EAAIhP,QAAU,GACvBkC,EAAwBxH,EAAQwH,sBAChC+M,EAAU1T,EAAM6D,QAAQZ,SAASwQ,IACjCxN,EAAOxB,EAAOiB,gBAAkBjB,EAAOiB,gBAAkBiB,EAAsB2B,EAAG5C,gBAAiB7E,EAAG6S,EAAQhO,iBAC9GiO,EAASlP,EAAOmB,YAAcnB,EAAOmB,YAAce,EAAsB2B,EAAG1C,YAAa/E,EAAG6S,EAAQ9N,aACpGgO,EAAKnP,EAAOkB,YAAclB,EAAOkB,YAAcgB,EAAsB2B,EAAG3C,YAAa9E,EAAG6S,EAAQ/N,aAEpG,MAAO,CACNwN,KAAMK,EACNK,UAAW5N,EACX6N,YAAaH,EACbI,UAAWH,EACX5D,OAAQjJ,MAAMuB,EAAGzD,KAAKhE,KAAO6D,EAAKG,KAAKhE,GAAGmP,OAG1C3O,MAAOR,KAIH,KAITmT,QAAS,SAASC,EAAGC,GACpB,IAEIrT,EAAGC,EAAM4D,EAFTrD,EAAQ6S,EAAW7S,MACnBrB,EAAQe,KAAKf,MAGjB,IAAKa,EAAI,EAAGC,GAAQd,EAAM6E,KAAK8D,UAAY,IAAI1H,OAAQJ,EAAIC,IAAQD,EAClE6D,EAAO1E,EAAM4I,eAAe/H,GAC5B6D,EAAKG,KAAKxD,GAAO2O,QAAUtL,EAAKG,KAAKxD,GAAO2O,OAG7ChQ,EAAMuE,WAKRgQ,SAAU,CACTC,UAAW,CACV7B,MAAO,WACN,MAAO,IAERa,MAAO,SAASoF,EAAM/T,GACrB,OAAOA,EAAKuO,OAAOwF,EAAKvX,OAAS,KAAOuX,EAAKC,YAMjDlZ,EAAOC,QAAU,SAASC,GAEzBA,EAAMmE,YAAY89B,UAAYjiC,EAAMqE,kBAAkBnE,OAAO,CAE5DsE,gBAAiBpB,EAAS4R,IAE1B1H,WAAYhO,EAAQM,KAEpB8E,OAAQ,SAASC,GAChB,IAAIhD,EAAKT,KACLf,EAAQwB,EAAGxB,MACXqJ,EAAYrJ,EAAMqJ,UAClB3E,EAAOlD,EAAGmD,UACVoN,EAAO/R,EAAM6D,QACb6P,EAAU3B,EAAK9O,SAASwQ,IACxB0B,EAAUlT,KAAKK,IAAI+G,EAAUiB,MAAQjB,EAAUgB,KAAMhB,EAAUmB,OAASnB,EAAUkB,KACtFvK,EAAMmW,YAAclU,KAAKuH,KAAK2L,EAAUzB,EAAQ/N,YAAc,GAAK,EAAG,GACtE3F,EAAMoW,YAAcnU,KAAKuH,IAAIuI,EAAKoC,iBAAoBnU,EAAMmW,YAAc,IAAQpE,EAAqB,iBAAI,EAAG,GAC9G/R,EAAMqW,cAAgBrW,EAAMmW,YAAcnW,EAAMoW,aAAepW,EAAMsW,yBAErE9U,EAAG2U,YAAcnW,EAAMmW,YAAenW,EAAMqW,aAAe7U,EAAGH,MAC9DG,EAAG4U,YAAc5U,EAAG2U,YAAcnW,EAAMqW,aAExC3R,EAAKrC,MAAQb,EAAGugC,uBAEhB5iC,EAAQ0N,KAAKnI,EAAKG,KAAM,SAAS4O,EAAKpS,GACrCG,EAAG8E,cAAcmN,EAAKpS,EAAOmD,MAI/B8B,cAAe,SAASmN,EAAKpS,EAAOmD,GAiBnC,IAhBA,IAAIhD,EAAKT,KACLf,EAAQwB,EAAGxB,MACX4D,EAAUpC,EAAG0D,aACb6M,EAAO/R,EAAM6D,QACb8S,EAAgB5E,EAAK1S,UACrB0F,EAAQ/E,EAAM+E,MACdqO,EAASpT,EAAM6E,KAAKuO,OAEpBkB,EAAgB9S,EAAGsV,uBAAuBlT,EAAQiB,KAAKxD,IACvDuV,EAAU7R,EAAMyW,QAChB3E,EAAU9R,EAAM0W,QAIhBumB,EAAe,EACft9B,EAAOlD,EAAGmD,UACL9D,EAAI,EAAGA,EAAIQ,IAASR,EACvBkG,MAAMnD,EAAQiB,KAAKhE,KAAQ6D,EAAKG,KAAKhE,GAAGmP,UAC1CgyB,EAKJ,IAAIC,EAAoBlwB,EAAKsD,WACzB6X,EAAWzZ,EAAIzD,OAAS,EAAIjL,EAAMm9B,8BAA8Bt+B,EAAQiB,KAAKxD,IAC7EgU,EAAa4sB,EAAqB3tB,EAAgB0tB,EAClD1sB,EAAWD,GAAc5B,EAAIzD,OAAS,EAAIsE,GAE1C6tB,EAAcxrB,EAAc1D,aAAe,EAAIlO,EAAMm9B,8BAA8Bt+B,EAAQiB,KAAKxD,IAEpGlC,EAAQY,OAAO0T,EAAK,CAEnBlO,cAAe/D,EAAGH,MAClB8G,OAAQ9G,EACRiE,OAAQP,EAGRU,OAAQ,CACPyB,EAAG0P,EACHzP,EAAG0P,EACHT,YAAa,EACbD,YAAa3R,EAAQ29B,EAAcjV,EACnC7X,WAAY7Q,GAASmS,EAAc3D,cAAgBivB,EAAoB5sB,EACvEC,SAAU9Q,GAASmS,EAAc3D,cAAgBivB,EAAoB3sB,EACrE9B,MAAOrU,EAAQwH,sBAAsByM,EAAQ/R,EAAO+R,EAAO/R,OAK7DG,EAAGgK,iBAAiBiI,GAEpBA,EAAIpN,SAGLmF,iBAAkB,SAASiI,GAC1B5T,EAAMqE,kBAAkBxB,UAAU8I,iBAAiB9J,KAAKX,KAAM0S,EAAK1S,KAAKf,MAAM6D,QAAQZ,SAASwQ,MAGhGsuB,qBAAsB,WACrB,IAAIn+B,EAAU7C,KAAKmE,aACfR,EAAO3D,KAAK4D,UACZtC,EAAQ,EAQZ,OANAlD,EAAQ0N,KAAKnI,EAAKG,KAAM,SAASiJ,EAASzM,GACpC0F,MAAMnD,EAAQiB,KAAKxD,KAAYyM,EAAQkC,QAC3C3N,MAIKA,GAGRyU,uBAAwB,SAASjU,GAChC,IAAIR,EAAQtB,KAAK4D,UAAUtC,MAC3B,OAAIA,EAAQ,IAAM0E,MAAMlE,GACf,EAAIZ,KAAKoS,GAAMhS,EAEjB,O,kCCxNV,IAAIpD,EAAW,EAAQ,QACnBE,EAAU,EAAQ,QAClB+S,EAAc,EAAQ,QACtBC,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBvB,EAAU,EAAQ,QAEtBlR,EAAOC,QAAU,SAASC,GAezB,SAASuiC,EAAW3xB,GACnBA,EAASA,GAAU,GAInB,IAAI5L,EAAO4L,EAAO5L,KAAO4L,EAAO5L,MAAQ,GASxC,OARAA,EAAK8D,SAAW9D,EAAK8D,UAAY,GACjC9D,EAAKuO,OAASvO,EAAKuO,QAAU,GAE7B3C,EAAO5M,QAAU1E,EAAQwwB,YACxB1wB,EAAS+S,OACT/S,EAASwR,EAAOjN,MAChBiN,EAAO5M,SAAW,IAEZ4M,EAOR,SAAS4xB,EAAariC,GACrB,IAAIsiC,EAAatiC,EAAM6D,QAEvB1E,EAAQ0N,KAAK7M,EAAMsD,OAAQ,SAASyB,GACnCoN,EAAQmW,UAAUtoB,EAAO+E,KAG1Bu9B,EAAanjC,EAAQwwB,YACpB9vB,EAAMZ,SAAS+S,OACfnS,EAAMZ,SAASe,EAAMyQ,OAAOjN,MAC5B8+B,GAEDtiC,EAAM6D,QAAU7D,EAAMyQ,OAAO5M,QAAUy+B,EACvCtiC,EAAMuiC,sBACNviC,EAAMwiC,sBAENxiC,EAAMq8B,QAAQrgB,SAAWsmB,EAAW/tB,SACpCvU,EAAMq8B,QAAQnvB,aAGf,SAASu1B,EAAqBhqB,GAC7B,MAAoB,QAAbA,GAAmC,WAAbA,EAtD9B5Y,EAAM6iC,MAAQ,GAId7iC,EAAM8iC,UAAY,GAGlB9iC,EAAMmE,YAAc,GAkDpB7E,EAAQY,OAAOF,EAAM6C,UAA+B,CAInD++B,UAAW,SAAS7oB,EAAMnI,GACzB,IAAIjP,EAAKT,KAET0P,EAAS2xB,EAAW3xB,GAEpB,IAAID,EAAU4B,EAASwwB,eAAehqB,EAAMnI,GACxC/F,EAAS8F,GAAWA,EAAQ9F,OAC5BuL,EAASvL,GAAUA,EAAOuL,OAC1BD,EAAQtL,GAAUA,EAAOsL,MAE7BxU,EAAGiC,GAAKtE,EAAQ0jC,MAChBrhC,EAAGoJ,IAAM4F,EACThP,EAAGkJ,OAASA,EACZlJ,EAAGiP,OAASA,EACZjP,EAAGwU,MAAQA,EACXxU,EAAGyU,OAASA,EACZzU,EAAGshC,YAAc7sB,EAASD,EAAQC,EAAS,KAC3CzU,EAAGqC,QAAU4M,EAAO5M,QACpBrC,EAAGuhC,iBAAkB,EAUrBvhC,EAAGxB,MAAQwB,EACXA,EAAGoZ,WAAapZ,EAGhB3B,EAAM8iC,UAAUnhC,EAAGiC,IAAMjC,EAGzBgB,OAAOC,eAAejB,EAAI,OAAQ,CACjCmB,IAAK,WACJ,OAAOnB,EAAGiP,OAAO5L,MAElBjC,IAAK,SAASC,GACbrB,EAAGiP,OAAO5L,KAAOhC,KAId2N,GAAY9F,GASjBlJ,EAAG0L,aACH1L,EAAG+C,UALF8yB,QAAQC,MAAM,sEAWhBpqB,WAAY,WACX,IAAI1L,EAAKT,KAsBT,OAnBA8P,EAAQW,OAAOhQ,EAAI,cAEnBrC,EAAQi3B,YAAY50B,EAAIA,EAAGqC,QAAQ0yB,kBAEnC/0B,EAAGwhC,aAECxhC,EAAGqC,QAAQs9B,YAEd3/B,EAAGyhC,QAAO,GAIXzhC,EAAG+gC,sBACH/gC,EAAGghC,sBACHhhC,EAAG0hC,cAGHryB,EAAQW,OAAOhQ,EAAI,aAEZA,GAGR8P,MAAO,WAEN,OADAnS,EAAQuL,OAAO4G,MAAMvQ,MACdA,MAGRoiC,KAAM,WAGL,OADAtjC,EAAMS,iBAAiBc,gBAAgBL,MAChCA,MAGRkiC,OAAQ,SAASG,GAChB,IAAI5hC,EAAKT,KACL8C,EAAUrC,EAAGqC,QACb6G,EAASlJ,EAAGkJ,OACZo4B,EAAej/B,EAAQw9B,qBAAuB7/B,EAAGshC,aAAgB,KAMjEO,EAAWphC,KAAKuH,IAAI,EAAGvH,KAAKC,MAAM/C,EAAQo2B,gBAAgB7qB,KAC1D44B,EAAYrhC,KAAKuH,IAAI,EAAGvH,KAAKC,MAAM4gC,EAAcO,EAAWP,EAAc3jC,EAAQy2B,iBAAiBlrB,KAEvG,IAAIlJ,EAAGwU,QAAUqtB,GAAY7hC,EAAGyU,SAAWqtB,KAI3C54B,EAAOsL,MAAQxU,EAAGwU,MAAQqtB,EAC1B34B,EAAOuL,OAASzU,EAAGyU,OAASqtB,EAC5B54B,EAAO6T,MAAMvI,MAAQqtB,EAAW,KAChC34B,EAAO6T,MAAMtI,OAASqtB,EAAY,KAElCnkC,EAAQi3B,YAAY50B,EAAIqC,EAAQ0yB,mBAE3B6M,GAAQ,CAEZ,IAAIG,EAAU,CAACvtB,MAAOqtB,EAAUptB,OAAQqtB,GACxCzyB,EAAQW,OAAOhQ,EAAI,SAAU,CAAC+hC,IAG1B/hC,EAAGqC,QAAQ2/B,UACdhiC,EAAGqC,QAAQ2/B,SAAShiC,EAAI+hC,GAGzB/hC,EAAG2hC,OACH3hC,EAAG+C,OAAO/C,EAAGqC,QAAQu9B,+BAIvBmB,oBAAqB,WACpB,IAAI1+B,EAAU9C,KAAK8C,QACf4/B,EAAgB5/B,EAAQP,QAAU,GAClCogC,EAAe7/B,EAAQkB,MAE3B5F,EAAQ0N,KAAK42B,EAAclgC,MAAO,SAASogC,EAActiC,GACxDsiC,EAAalgC,GAAKkgC,EAAalgC,IAAO,UAAYpC,IAGnDlC,EAAQ0N,KAAK42B,EAAc//B,MAAO,SAASkgC,EAAcviC,GACxDuiC,EAAangC,GAAKmgC,EAAangC,IAAO,UAAYpC,IAG/CqiC,IACHA,EAAajgC,GAAKigC,EAAajgC,IAAM,UAOvC++B,oBAAqB,WACpB,IAAIhhC,EAAKT,KACL8C,EAAUrC,EAAGqC,QACbP,EAAS9B,EAAG8B,QAAU,GACtBsqB,EAAQ,GACRiW,EAAUrhC,OAAOiN,KAAKnM,GAAQ4tB,OAAO,SAAS4S,EAAKrgC,GAEtD,OADAqgC,EAAIrgC,IAAM,EACHqgC,GACL,IAECjgC,EAAQP,SACXsqB,EAAQA,EAAM1c,QACZrN,EAAQP,OAAOC,OAAS,IAAIgQ,IAAI,SAASowB,GACzC,MAAO,CAAC9/B,QAAS8/B,EAAcI,MAAO,WAAYC,UAAW,aAE7DngC,EAAQP,OAAOI,OAAS,IAAI6P,IAAI,SAASqwB,GACzC,MAAO,CAAC//B,QAAS+/B,EAAcG,MAAO,SAAUC,UAAW,YAK1DngC,EAAQkB,OACX6oB,EAAM1sB,KAAK,CACV2C,QAASA,EAAQkB,MACjBg/B,MAAO,eACPE,WAAW,EACXD,UAAW,cAIb7kC,EAAQ0N,KAAK+gB,EAAO,SAAShV,GAC5B,IAAI8qB,EAAe9qB,EAAK/U,QACpBJ,EAAKigC,EAAajgC,GAClBygC,EAAY/kC,EAAQ2E,eAAe4/B,EAAalgC,KAAMoV,EAAKmrB,OAE3DtB,EAAqBiB,EAAajrB,YAAcgqB,EAAqB7pB,EAAKorB,aAC7EN,EAAajrB,SAAWG,EAAKorB,WAG9BH,EAAQpgC,IAAM,EACd,IAAIsB,EAAQ,KACZ,GAAItB,KAAMH,GAAUA,EAAOG,GAAID,OAAS0gC,EACvCn/B,EAAQzB,EAAOG,GACfsB,EAAMlB,QAAU6/B,EAChB3+B,EAAM6F,IAAMpJ,EAAGoJ,IACf7F,EAAM/E,MAAQwB,MACR,CACN,IAAI2iC,EAAatkC,EAAMowB,aAAa+H,oBAAoBkM,GACxD,IAAKC,EACJ,OAEDp/B,EAAQ,IAAIo/B,EAAW,CACtB1gC,GAAIA,EACJD,KAAM0gC,EACNrgC,QAAS6/B,EACT94B,IAAKpJ,EAAGoJ,IACR5K,MAAOwB,IAER8B,EAAOyB,EAAMtB,IAAMsB,EAGpBA,EAAMwa,oBAKF3G,EAAKqrB,YACRziC,EAAGuD,MAAQA,KAIb5F,EAAQ0N,KAAKg3B,EAAS,SAASO,EAAY3gC,GACrC2gC,UACG9gC,EAAOG,KAIhBjC,EAAG8B,OAASA,EAEZzD,EAAMowB,aAAakI,kBAAkBp3B,OAGtCsjC,yBAA0B,WACzB,IAAI7iC,EAAKT,KACL2hC,EAAQ,GACR4B,EAAiB,GA4BrB,OA1BAnlC,EAAQ0N,KAAKrL,EAAGqD,KAAK8D,SAAU,SAAS/E,EAASwD,GAChD,IAAI1C,EAAOlD,EAAGoH,eAAexB,GACzB5D,EAAOI,EAAQJ,MAAQhC,EAAGiP,OAAOjN,KAUrC,GARIkB,EAAKlB,MAAQkB,EAAKlB,OAASA,IAC9BhC,EAAG+iC,mBAAmBn9B,GACtB1C,EAAOlD,EAAGoH,eAAexB,IAE1B1C,EAAKlB,KAAOA,EAEZk/B,EAAMxhC,KAAKwD,EAAKlB,MAEZkB,EAAKkW,WACRlW,EAAKkW,WAAWvN,YAAYjG,GAC5B1C,EAAKkW,WAAWzN,iBACV,CACN,IAAIq3B,EAAkB3kC,EAAMmE,YAAYU,EAAKlB,MAC7C,QAAwB2B,IAApBq/B,EACH,MAAM,IAAIC,MAAM,IAAM//B,EAAKlB,KAAO,0BAGnCkB,EAAKkW,WAAa,IAAI4pB,EAAgBhjC,EAAI4F,GAC1Ck9B,EAAepjC,KAAKwD,EAAKkW,cAExBpZ,GAEI8iC,GAORI,cAAe,WACd,IAAIljC,EAAKT,KACT5B,EAAQ0N,KAAKrL,EAAGqD,KAAK8D,SAAU,SAAS/E,EAASwD,GAChD5F,EAAGoH,eAAexB,GAAcwT,WAAWpW,SACzChD,IAMJgD,MAAO,WACNzD,KAAK2jC,gBACL3jC,KAAKs7B,QAAQnvB,cAGd3I,OAAQ,SAASkM,GAChB,IAAIjP,EAAKT,KAgBT,GAdK0P,GAA4B,kBAAXA,IAErBA,EAAS,CACRnR,SAAUmR,EACV7P,KAAM8L,UAAU,KAIlB21B,EAAa7gC,GAIbqP,EAAQoB,YAAYzQ,IAEuB,IAAvCqP,EAAQW,OAAOhQ,EAAI,gBAAvB,CAKAA,EAAG66B,QAAQ7uB,MAAQhM,EAAGqD,KAGtB,IAAIy/B,EAAiB9iC,EAAG6iC,2BAGxBllC,EAAQ0N,KAAKrL,EAAGqD,KAAK8D,SAAU,SAAS/E,EAASwD,GAChD5F,EAAGoH,eAAexB,GAAcwT,WAAW7M,yBACzCvM,GAEHA,EAAGmjC,eAGCnjC,EAAGqC,QAAQxE,WAAamC,EAAGqC,QAAQxE,UAAUC,UAChDH,EAAQ0N,KAAKy3B,EAAgB,SAAS1pB,GACrCA,EAAWpW,UAIbhD,EAAGojC,iBAIHpjC,EAAG66B,QAAQnvB,aAIX1L,EAAGqjC,WAAa,GAGhBh0B,EAAQW,OAAOhQ,EAAI,eAEfA,EAAGuhC,gBACNvhC,EAAGsjC,iBAAmB,CACrBxlC,SAAUmR,EAAOnR,SACjBC,OAAQkR,EAAOlR,OACfqB,KAAM6P,EAAO7P,MAGdY,EAAGrB,OAAOsQ,KASZk0B,aAAc,WACb,IAAInjC,EAAKT,MAEkC,IAAvC8P,EAAQW,OAAOhQ,EAAI,kBAIvB2Q,EAAQ5N,OAAOxD,KAAMA,KAAKiV,MAAOjV,KAAKkV,QAStCpF,EAAQW,OAAOhQ,EAAI,oBACnBqP,EAAQW,OAAOhQ,EAAI,iBAQpBojC,eAAgB,WACf,IAAIpjC,EAAKT,KAET,IAAmD,IAA/C8P,EAAQW,OAAOhQ,EAAI,wBAAvB,CAIA,IAAK,IAAIX,EAAI,EAAGC,EAAOU,EAAGqD,KAAK8D,SAAS1H,OAAQJ,EAAIC,IAAQD,EAC3DW,EAAGujC,cAAclkC,GAGlBgQ,EAAQW,OAAOhQ,EAAI,yBAQpBujC,cAAe,SAAS1jC,GACvB,IAAIG,EAAKT,KACL2D,EAAOlD,EAAGoH,eAAevH,GACzBmL,EAAO,CACV9H,KAAMA,EACNrD,MAAOA,IAGkD,IAAtDwP,EAAQW,OAAOhQ,EAAI,sBAAuB,CAACgL,MAI/C9H,EAAKkW,WAAWrW,SAEhBsM,EAAQW,OAAOhQ,EAAI,qBAAsB,CAACgL,MAG3CrM,OAAQ,SAASsQ,GAChB,IAAIjP,EAAKT,KAEJ0P,GAA4B,kBAAXA,IAErBA,EAAS,CACRnR,SAAUmR,EACV7P,KAAM8L,UAAU,KAIlB,IAAIpN,EAAWmR,EAAOnR,SAClBsB,EAAO6P,EAAO7P,KAElB,IAA2C,IAAvCiQ,EAAQW,OAAOhQ,EAAI,gBAAvB,CAIA,IAAIwjC,EAAmBxjC,EAAGqC,QAAQxE,UAC9BK,EAAa,SAASL,GACzBwR,EAAQW,OAAOhQ,EAAI,eACnBrC,EAAQoD,SAASyiC,GAAoBA,EAAiBtlC,WAAY,CAACL,GAAYmC,IAGhF,GAAIwjC,IAA0C,qBAAb1lC,GAAyC,IAAbA,GAAwC,qBAAbA,GAA0D,IAA9B0lC,EAAiB1lC,UAAkB,CACtJ,IAAID,EAAY,IAAIQ,EAAMC,UAAU,CACnCI,UAAWZ,GAAY0lC,EAAiB1lC,UAAY,MACpDC,OAAQkR,EAAOlR,QAAUylC,EAAiBzlC,OAE1CY,OAAQ,SAASH,EAAOilC,GACvB,IAAIC,EAAiB/lC,EAAQI,OAAO4lC,QAAQF,EAAgB1lC,QACxDU,EAAcglC,EAAgBhlC,YAC9BmlC,EAAcnlC,EAAcglC,EAAgB/kC,SAEhDF,EAAMyK,KAAKy6B,EAAeE,GAAcA,EAAanlC,IAGtDG,oBAAqB4kC,EAAiBxlC,WACtCa,oBAAqBX,IAGtBG,EAAMS,iBAAiBK,aAAaa,EAAInC,EAAWC,EAAUsB,QAE7DY,EAAGiJ,OAGH/K,EAAW,IAAIG,EAAMC,UAAU,CAACI,SAAU,EAAGF,MAAOwB,KAGrD,OAAOA,IAGRiJ,KAAM,SAASyD,GACd,IAAI1M,EAAKT,KAETS,EAAG8P,QAECnS,EAAQ6Y,cAAc9J,KACzBA,EAAc,GAGf1M,EAAGyM,WAAWC,IAE0C,IAApD2C,EAAQW,OAAOhQ,EAAI,aAAc,CAAC0M,MAKtC/O,EAAQ0N,KAAKrL,EAAG4mB,MAAO,SAASwC,GAC/BA,EAAIngB,KAAKjJ,EAAG6H,YACV7H,GAECA,EAAGuD,OACNvD,EAAGuD,MAAM0F,OAGVjJ,EAAG6jC,aAAan3B,GAChB1M,EAAG8jC,aAAap3B,GAEhB2C,EAAQW,OAAOhQ,EAAI,YAAa,CAAC0M,MAMlCD,WAAY,SAASC,GAGpB,IAFA,IAAI1M,EAAKT,KAEAF,EAAI,EAAGC,GAAQU,EAAGqD,KAAK8D,UAAY,IAAI1H,OAAQJ,EAAIC,IAAQD,EAC/DW,EAAGqH,iBAAiBhI,IACvBW,EAAGoH,eAAe/H,GAAG+Z,WAAW3M,WAAWC,GAI7C1M,EAAG66B,QAAQpuB,WAAWC,IAQvBm3B,aAAc,SAASn3B,GACtB,IAAI1M,EAAKT,KAET,IAAgE,IAA5D8P,EAAQW,OAAOhQ,EAAI,qBAAsB,CAAC0M,IAA9C,CAKA,IAAK,IAAIrN,GAAKW,EAAGqD,KAAK8D,UAAY,IAAI1H,OAAS,EAAGJ,GAAK,IAAKA,EACvDW,EAAGqH,iBAAiBhI,IACvBW,EAAG+jC,YAAY1kC,EAAGqN,GAIpB2C,EAAQW,OAAOhQ,EAAI,oBAAqB,CAAC0M,MAQ1Cq3B,YAAa,SAASlkC,EAAO6M,GAC5B,IAAI1M,EAAKT,KACL2D,EAAOlD,EAAGoH,eAAevH,GACzBmL,EAAO,CACV9H,KAAMA,EACNrD,MAAOA,EACP6M,YAAaA,IAG0C,IAApD2C,EAAQW,OAAOhQ,EAAI,oBAAqB,CAACgL,MAI7C9H,EAAKkW,WAAWnQ,KAAKyD,GAErB2C,EAAQW,OAAOhQ,EAAI,mBAAoB,CAACgL,MAQzC84B,aAAc,SAASp3B,GACtB,IAAI1M,EAAKT,KACLs7B,EAAU76B,EAAG66B,QACb7vB,EAAO,CACV6vB,QAASA,EACTnuB,YAAaA,IAG0C,IAApD2C,EAAQW,OAAOhQ,EAAI,oBAAqB,CAACgL,MAI7C6vB,EAAQ5xB,OAERoG,EAAQW,OAAOhQ,EAAI,mBAAoB,CAACgL,MAKzCg5B,kBAAmB,SAASvxB,GAC3B,OAAO/B,EAAY2b,MAAMC,OAAO/sB,KAAMkT,IAGvCwxB,mBAAoB,SAASxxB,GAC5B,OAAO/B,EAAY2b,MAAMra,MAAMzS,KAAMkT,EAAG,CAAC2Y,WAAW,KAGrD8Y,mBAAoB,SAASzxB,GAC5B,OAAO/B,EAAY2b,MAAM,UAAU9sB,KAAMkT,EAAG,CAAC2Y,WAAW,KAGzD+T,0BAA2B,SAAS1sB,EAAG5Q,EAAMQ,GAC5C,IAAIsI,EAAS+F,EAAY2b,MAAMxqB,GAC/B,MAAsB,oBAAX8I,EACHA,EAAOpL,KAAMkT,EAAGpQ,GAGjB,IAGR8hC,kBAAmB,SAAS1xB,GAC3B,OAAO/B,EAAY2b,MAAMjqB,QAAQ7C,KAAMkT,EAAG,CAAC2Y,WAAW,KAGvDhkB,eAAgB,SAASxB,GACxB,IAAI5F,EAAKT,KACL6C,EAAUpC,EAAGqD,KAAK8D,SAASvB,GAC1BxD,EAAQgiC,QACZhiC,EAAQgiC,MAAQ,IAGjB,IAAIlhC,EAAOd,EAAQgiC,MAAMpkC,EAAGiC,IAa5B,OAZKiB,IACJA,EAAOd,EAAQgiC,MAAMpkC,EAAGiC,IAAM,CAC7BD,KAAM,KACNqB,KAAM,GACNjB,QAAS,KACTgX,WAAY,KACZ5K,OAAQ,KACRzI,QAAS,KACTtC,QAAS,OAIJP,GAGR4R,uBAAwB,WAEvB,IADA,IAAIjU,EAAQ,EACHxB,EAAI,EAAGC,EAAOC,KAAK8D,KAAK8D,SAAS1H,OAAQJ,EAAIC,IAAQD,EACzDE,KAAK8H,iBAAiBhI,IACzBwB,IAGF,OAAOA,GAGRwG,iBAAkB,SAASzB,GAC1B,IAAI1C,EAAO3D,KAAK6H,eAAexB,GAI/B,MAA8B,mBAAhB1C,EAAKsL,QAAwBtL,EAAKsL,QAAUjP,KAAK8D,KAAK8D,SAASvB,GAAc4I,QAG5F61B,eAAgB,WACf,OAAO9kC,KAAK8C,QAAQqP,eAAenS,OAMpCwjC,mBAAoB,SAASn9B,GAC5B,IAAI3D,EAAK1C,KAAK0C,GACVG,EAAU7C,KAAK8D,KAAK8D,SAASvB,GAC7B1C,EAAOd,EAAQgiC,OAAShiC,EAAQgiC,MAAMniC,GAEtCiB,IACHA,EAAKkW,WAAWrN,iBACT3J,EAAQgiC,MAAMniC,KAIvB8J,QAAS,WACR,IAEI1M,EAAGC,EAFHU,EAAKT,KACL2J,EAASlJ,EAAGkJ,OAMhB,IAHAlJ,EAAG2hC,OAGEtiC,EAAI,EAAGC,EAAOU,EAAGqD,KAAK8D,SAAS1H,OAAQJ,EAAIC,IAAQD,EACvDW,EAAG+iC,mBAAmB1jC,GAGnB6J,IACHlJ,EAAGskC,eACH3mC,EAAQuL,OAAO4G,MAAM9P,GACrB4Q,EAAS2zB,eAAevkC,EAAGoJ,KAC3BpJ,EAAGkJ,OAAS,KACZlJ,EAAGoJ,IAAM,MAGViG,EAAQW,OAAOhQ,EAAI,kBAEZ3B,EAAM8iC,UAAUnhC,EAAGiC,KAG3BuiC,cAAe,WACd,OAAOjlC,KAAK2J,OAAOu7B,UAAUr5B,MAAM7L,KAAK2J,OAAQgC,YAGjDw2B,YAAa,WACZ,IAAI1hC,EAAKT,KACTS,EAAG66B,QAAU,IAAIx8B,EAAMg+B,QAAQ,CAC9BnwB,OAAQlM,EACR0kC,eAAgB1kC,EAChBgM,MAAOhM,EAAGqD,KACVmX,SAAUxa,EAAGqC,QAAQ0Q,UACnB/S,IAMJwhC,WAAY,WACX,IAAIxhC,EAAKT,KACL+K,EAAYtK,EAAG2kC,WAAa,GAC5Bv6B,EAAW,WACdpK,EAAG4kC,aAAax5B,MAAMpL,EAAIkL,YAG3BvN,EAAQ0N,KAAKrL,EAAGqC,QAAQy9B,OAAQ,SAAS99B,GACxC4O,EAASi0B,iBAAiB7kC,EAAIgC,EAAMoI,GACpCE,EAAUtI,GAAQoI,IAKfpK,EAAGqC,QAAQs9B,aACdv1B,EAAW,WACVpK,EAAGyhC,UAGJ7wB,EAASi0B,iBAAiB7kC,EAAI,SAAUoK,GACxCE,EAAUm3B,OAASr3B,IAOrBk6B,aAAc,WACb,IAAItkC,EAAKT,KACL+K,EAAYtK,EAAG2kC,WACdr6B,WAIEtK,EAAG2kC,WACVhnC,EAAQ0N,KAAKf,EAAW,SAASF,EAAUpI,GAC1C4O,EAASk0B,oBAAoB9kC,EAAIgC,EAAMoI,OAIzC26B,iBAAkB,SAAStjC,EAAUI,EAAM+0B,GAC1C,IACItqB,EAASjN,EAAGC,EADZqL,EAASisB,EAAU,gBAAkB,mBAGzC,IAAKv3B,EAAI,EAAGC,EAAOmC,EAAShC,OAAQJ,EAAIC,IAAQD,EAC/CiN,EAAU7K,EAASpC,GACfiN,GACH/M,KAAK6H,eAAekF,EAAQvI,eAAeqV,WAAWzO,GAAQ2B,IAQjEs4B,aAAc,SAASnyB,GACtB,IAAIzS,EAAKT,KACLs7B,EAAU76B,EAAG66B,QAEjB,IAA+C,IAA3CxrB,EAAQW,OAAOhQ,EAAI,cAAe,CAACyS,IAAvC,CAKAzS,EAAGuhC,iBAAkB,EACrBvhC,EAAGsjC,iBAAmB,KAEtB,IAAIzG,EAAU78B,EAAGk/B,YAAYzsB,GAKzBooB,IACHgC,EAAUhC,EAAQlsB,OACfksB,EAAQqE,YAAYzsB,GACpBoqB,EAAUhC,EAAQqE,YAAYzsB,IAGlCpD,EAAQW,OAAOhQ,EAAI,aAAc,CAACyS,IAElC,IAAIuyB,EAAkBhlC,EAAGsjC,iBAgBzB,OAfI0B,EAEHhlC,EAAGrB,OAAOqmC,GACAnI,IAAY78B,EAAGR,YAEzBQ,EAAG2hC,OAIH3hC,EAAGrB,OAAOqB,EAAGqC,QAAQT,MAAMo+B,mBAAmB,IAG/ChgC,EAAGuhC,iBAAkB,EACrBvhC,EAAGsjC,iBAAmB,KAEftjC,IASRk/B,YAAa,SAASzsB,GACrB,IAAIzS,EAAKT,KACL8C,EAAUrC,EAAGqC,SAAW,GACxB4iC,EAAe5iC,EAAQT,MACvBi7B,GAAU,EAqCd,OAnCA78B,EAAGqjC,WAAarjC,EAAGqjC,YAAc,GAGlB,aAAX5wB,EAAEzQ,KACLhC,EAAGg9B,OAAS,GAEZh9B,EAAGg9B,OAASh9B,EAAGm/B,0BAA0B1sB,EAAGwyB,EAAapjC,KAAMojC,GAKhEtnC,EAAQoD,SAASsB,EAAQ09B,SAAW19B,EAAQT,MAAMm+B,QAAS,CAACttB,EAAEoY,OAAQ7qB,EAAGg9B,QAASh9B,GAEnE,YAAXyS,EAAEzQ,MAAiC,UAAXyQ,EAAEzQ,MACzBK,EAAQmQ,SAEXnQ,EAAQmQ,QAAQtS,KAAKF,EAAIyS,EAAEoY,OAAQ7qB,EAAGg9B,QAKpCh9B,EAAGqjC,WAAW5jC,QACjBO,EAAG+kC,iBAAiB/kC,EAAGqjC,WAAY4B,EAAapjC,MAAM,GAInD7B,EAAGg9B,OAAOv9B,QAAUwlC,EAAapjC,MACpC7B,EAAG+kC,iBAAiB/kC,EAAGg9B,OAAQiI,EAAapjC,MAAM,GAGnDg7B,GAAWl/B,EAAQyhC,YAAYp/B,EAAGg9B,OAAQh9B,EAAGqjC,YAG7CrjC,EAAGqjC,WAAarjC,EAAGg9B,OAEZH,KAWTx+B,EAAM6mC,WAAa7mC,I,kCC/6BpBF,EAAOC,QAAU,SAASC,GAEzBA,EAAMuE,KAAO,SAASoM,EAASC,GAG9B,OAFAA,EAAOjN,KAAO,OAEP,IAAI3D,EAAM2Q,EAASC","file":"js/chunk-vendors~8f4a6b7b.4587abdc.js","sourcesContent":["/* global window: false */\n'use strict';\n\nvar defaults = require('./core.defaults');\nvar Element = require('./core.element');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers.noop,\n\t\tonComplete: helpers.noop\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.Animation = Element.extend({\n\t\tchart: null, // the animation associated chart instance\n\t\tcurrentStep: 0, // the current animation step\n\t\tnumSteps: 60, // default number of steps\n\t\teasing: '', // the easing to use for this animation\n\t\trender: null, // render function used by the animation service\n\n\t\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\t\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n\t});\n\n\tChart.animationService = {\n\t\tframeDuration: 17,\n\t\tanimations: [],\n\t\tdropFrames: 0,\n\t\trequest: null,\n\n\t\t/**\n\t\t * @param {Chart} chart - The chart to animate.\n\t\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t\t * @param {Number} duration - The animation duration in ms.\n\t\t * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t\t */\n\t\taddAnimation: function(chart, animation, duration, lazy) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar i, ilen;\n\n\t\t\tanimation.chart = chart;\n\n\t\t\tif (!lazy) {\n\t\t\t\tchart.animating = true;\n\t\t\t}\n\n\t\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\t\t\tif (animations[i].chart === chart) {\n\t\t\t\t\tanimations[i] = animation;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tanimations.push(animation);\n\n\t\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\t\tif (animations.length === 1) {\n\t\t\t\tthis.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\tcancelAnimation: function(chart) {\n\t\t\tvar index = helpers.findIndex(this.animations, function(animation) {\n\t\t\t\treturn animation.chart === chart;\n\t\t\t});\n\n\t\t\tif (index !== -1) {\n\t\t\t\tthis.animations.splice(index, 1);\n\t\t\t\tchart.animating = false;\n\t\t\t}\n\t\t},\n\n\t\trequestAnimationFrame: function() {\n\t\t\tvar me = this;\n\t\t\tif (me.request === null) {\n\t\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\t\tme.request = helpers.requestAnimFrame.call(window, function() {\n\t\t\t\t\tme.request = null;\n\t\t\t\t\tme.startDigest();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tstartDigest: function() {\n\t\t\tvar me = this;\n\t\t\tvar startTime = Date.now();\n\t\t\tvar framesToDrop = 0;\n\n\t\t\tif (me.dropFrames > 1) {\n\t\t\t\tframesToDrop = Math.floor(me.dropFrames);\n\t\t\t\tme.dropFrames = me.dropFrames % 1;\n\t\t\t}\n\n\t\t\tme.advance(1 + framesToDrop);\n\n\t\t\tvar endTime = Date.now();\n\n\t\t\tme.dropFrames += (endTime - startTime) / me.frameDuration;\n\n\t\t\t// Do we have more stuff to animate?\n\t\t\tif (me.animations.length > 0) {\n\t\t\t\tme.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tadvance: function(count) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar animation, chart;\n\t\t\tvar i = 0;\n\n\t\t\twhile (i < animations.length) {\n\t\t\t\tanimation = animations[i];\n\t\t\t\tchart = animation.chart;\n\n\t\t\t\tanimation.currentStep = (animation.currentStep || 0) + count;\n\t\t\t\tanimation.currentStep = Math.min(animation.currentStep, animation.numSteps);\n\n\t\t\t\thelpers.callback(animation.render, [chart, animation], chart);\n\t\t\t\thelpers.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\t\tif (animation.currentStep >= animation.numSteps) {\n\t\t\t\t\thelpers.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\t\tchart.animating = false;\n\t\t\t\t\tanimations.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\t++i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation instead\n\t * @prop Chart.Animation#animationObject\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'animationObject', {\n\t\tget: function() {\n\t\t\treturn this;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation#chart instead\n\t * @prop Chart.Animation#chartInstance\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'chartInstance', {\n\t\tget: function() {\n\t\t\treturn this.chart;\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis.chart = value;\n\t\t}\n\t});\n\n};\n","'use strict';\n\nvar helpers = require('../helpers/index');\n\nmodule.exports = {\n\t/**\n\t * @private\n\t */\n\t_set: function(scope, values) {\n\t\treturn helpers.merge(this[scope] || (this[scope] = {}), values);\n\t}\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('line', {\n\tshowLines: true,\n\tspanGaps: false,\n\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\tid: 'x-axis-0'\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tfunction lineEnabled(dataset, options) {\n\t\treturn helpers.valueOrDefault(dataset.showLine, options.showLines);\n\t}\n\n\tChart.controllers.line = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: elements.Line,\n\n\t\tdataElementType: elements.Point,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data || [];\n\t\t\tvar options = me.chart.options;\n\t\t\tvar lineElementOptions = options.elements.line;\n\t\t\tvar scale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar i, ilen, custom;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar showLine = lineEnabled(dataset, options);\n\n\t\t\t// Update Line\n\t\t\tif (showLine) {\n\t\t\t\tcustom = line.custom || {};\n\n\t\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\n\t\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t\t}\n\n\t\t\t\t// Utility\n\t\t\t\tline._scale = scale;\n\t\t\t\tline._datasetIndex = me.index;\n\t\t\t\t// Data\n\t\t\t\tline._children = points;\n\t\t\t\t// Model\n\t\t\t\tline._model = {\n\t\t\t\t\t// Appearance\n\t\t\t\t\t// The default behavior of lines is to break at null values, according\n\t\t\t\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t\t\t\t// This option gives lines the ability to span gaps\n\t\t\t\t\tspanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tsteppedLine: custom.steppedLine ? custom.steppedLine : helpers.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),\n\t\t\t\t\tcubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),\n\t\t\t\t};\n\n\t\t\t\tline.pivot();\n\t\t\t}\n\n\t\t\t// Update Points\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tme.updateElement(points[i], i, reset);\n\t\t\t}\n\n\t\t\tif (showLine && line._model.tension !== 0) {\n\t\t\t\tme.updateBezierControlPoints();\n\t\t\t}\n\n\t\t\t// Now pivot the point for animation\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tpoints[i].pivot();\n\t\t\t}\n\t\t},\n\n\t\tgetPointBackgroundColor: function(point, index) {\n\t\t\tvar backgroundColor = this.chart.options.elements.point.backgroundColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.backgroundColor) {\n\t\t\t\tbackgroundColor = custom.backgroundColor;\n\t\t\t} else if (dataset.pointBackgroundColor) {\n\t\t\t\tbackgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);\n\t\t\t} else if (dataset.backgroundColor) {\n\t\t\t\tbackgroundColor = dataset.backgroundColor;\n\t\t\t}\n\n\t\t\treturn backgroundColor;\n\t\t},\n\n\t\tgetPointBorderColor: function(point, index) {\n\t\t\tvar borderColor = this.chart.options.elements.point.borderColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.borderColor) {\n\t\t\t\tborderColor = custom.borderColor;\n\t\t\t} else if (dataset.pointBorderColor) {\n\t\t\t\tborderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);\n\t\t\t} else if (dataset.borderColor) {\n\t\t\t\tborderColor = dataset.borderColor;\n\t\t\t}\n\n\t\t\treturn borderColor;\n\t\t},\n\n\t\tgetPointBorderWidth: function(point, index) {\n\t\t\tvar borderWidth = this.chart.options.elements.point.borderWidth;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (!isNaN(custom.borderWidth)) {\n\t\t\t\tborderWidth = custom.borderWidth;\n\t\t\t} else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {\n\t\t\t\tborderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);\n\t\t\t} else if (!isNaN(dataset.borderWidth)) {\n\t\t\t\tborderWidth = dataset.borderWidth;\n\t\t\t}\n\n\t\t\treturn borderWidth;\n\t\t},\n\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar value = dataset.data[index];\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar pointOptions = me.chart.options.elements.point;\n\t\t\tvar x, y;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\n\t\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t\t// Utility\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._datasetIndex = datasetIndex;\n\t\t\tpoint._index = index;\n\n\t\t\t// Desired view properties\n\t\t\tpoint._model = {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\t// Appearance\n\t\t\t\tradius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),\n\t\t\t\tpointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),\n\t\t\t\tbackgroundColor: me.getPointBackgroundColor(point, index),\n\t\t\t\tborderColor: me.getPointBorderColor(point, index),\n\t\t\t\tborderWidth: me.getPointBorderWidth(point, index),\n\t\t\t\ttension: meta.dataset._model ? meta.dataset._model.tension : 0,\n\t\t\t\tsteppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,\n\t\t\t\t// Tooltip\n\t\t\t\thitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)\n\t\t\t};\n\t\t},\n\n\t\tcalculatePointY: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar sumPos = 0;\n\t\t\tvar sumNeg = 0;\n\t\t\tvar i, ds, dsMeta;\n\n\t\t\tif (yScale.options.stacked) {\n\t\t\t\tfor (i = 0; i < datasetIndex; i++) {\n\t\t\t\t\tds = chart.data.datasets[i];\n\t\t\t\t\tdsMeta = chart.getDatasetMeta(i);\n\t\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {\n\t\t\t\t\t\tvar stackedRightValue = Number(yScale.getRightValue(ds.data[index]));\n\t\t\t\t\t\tif (stackedRightValue < 0) {\n\t\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar rightValue = Number(yScale.getRightValue(value));\n\t\t\t\tif (rightValue < 0) {\n\t\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t\t}\n\t\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t\t}\n\n\t\t\treturn yScale.getPixelForValue(value);\n\t\t},\n\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar area = me.chart.chartArea;\n\t\t\tvar points = (meta.data || []);\n\t\t\tvar i, ilen, point, model, controlPoints;\n\n\t\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\t\tif (meta.dataset._model.spanGaps) {\n\t\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\t\treturn !pt._model.skip;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction capControlPoint(pt, min, max) {\n\t\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t\t}\n\n\t\t\tif (meta.dataset._model.cubicInterpolationMode === 'monotone') {\n\t\t\t\thelpers.splineCurveMonotone(points);\n\t\t\t} else {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tpoint = points[i];\n\t\t\t\t\tmodel = point._model;\n\t\t\t\t\tcontrolPoints = helpers.splineCurve(\n\t\t\t\t\t\thelpers.previousItem(points, i)._model,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\thelpers.nextItem(points, i)._model,\n\t\t\t\t\t\tmeta.dataset._model.tension\n\t\t\t\t\t);\n\t\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.chart.options.elements.line.capBezierPoints) {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tmodel = points[i]._model;\n\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data || [];\n\t\t\tvar area = chart.chartArea;\n\t\t\tvar ilen = points.length;\n\t\t\tvar i = 0;\n\n\t\t\thelpers.canvas.clipArea(chart.ctx, area);\n\n\t\t\tif (lineEnabled(me.getDataset(), chart.options)) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\n\t\t\t// Draw the points\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\tpoints[i].draw(area);\n\t\t\t}\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\n\t\t\tmodel.radius = custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);\n\t\t\tmodel.backgroundColor = me.getPointBackgroundColor(point, index);\n\t\t\tmodel.borderColor = me.getPointBorderColor(point, index);\n\t\t\tmodel.borderWidth = me.getPointBorderWidth(point, index);\n\t\t}\n\t});\n};\n","'use strict';\n\nvar helpers = require('../helpers/index');\n\nmodule.exports = function(Chart) {\n\n\tvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n\t/**\n\t * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n\t * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n\t * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\n\t */\n\tfunction listenArrayEvents(array, listener) {\n\t\tif (array._chartjs) {\n\t\t\tarray._chartjs.listeners.push(listener);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(array, '_chartjs', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: {\n\t\t\t\tlisteners: [listener]\n\t\t\t}\n\t\t});\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n\t\t\tvar base = array[key];\n\n\t\t\tObject.defineProperty(array, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tvar res = base.apply(this, args);\n\n\t\t\t\t\thelpers.each(array._chartjs.listeners, function(object) {\n\t\t\t\t\t\tif (typeof object[method] === 'function') {\n\t\t\t\t\t\t\tobject[method].apply(object, args);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Removes the given array event listener and cleanup extra attached properties (such as\n\t * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n\t */\n\tfunction unlistenArrayEvents(array, listener) {\n\t\tvar stub = array._chartjs;\n\t\tif (!stub) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar listeners = stub.listeners;\n\t\tvar index = listeners.indexOf(listener);\n\t\tif (index !== -1) {\n\t\t\tlisteners.splice(index, 1);\n\t\t}\n\n\t\tif (listeners.length > 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tdelete array[key];\n\t\t});\n\n\t\tdelete array._chartjs;\n\t}\n\n\t// Base class for all dataset controllers (line, bar, etc)\n\tChart.DatasetController = function(chart, datasetIndex) {\n\t\tthis.initialize(chart, datasetIndex);\n\t};\n\n\thelpers.extend(Chart.DatasetController.prototype, {\n\n\t\t/**\n\t\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdatasetElementType: null,\n\n\t\t/**\n\t\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdataElementType: null,\n\n\t\tinitialize: function(chart, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tme.chart = chart;\n\t\t\tme.index = datasetIndex;\n\t\t\tme.linkScales();\n\t\t\tme.addElements();\n\t\t},\n\n\t\tupdateIndex: function(datasetIndex) {\n\t\t\tthis.index = datasetIndex;\n\t\t},\n\n\t\tlinkScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\n\t\t\tif (meta.xAxisID === null || !(meta.xAxisID in me.chart.scales)) {\n\t\t\t\tmeta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;\n\t\t\t}\n\t\t\tif (meta.yAxisID === null || !(meta.yAxisID in me.chart.scales)) {\n\t\t\t\tmeta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;\n\t\t\t}\n\t\t},\n\n\t\tgetDataset: function() {\n\t\t\treturn this.chart.data.datasets[this.index];\n\t\t},\n\n\t\tgetMeta: function() {\n\t\t\treturn this.chart.getDatasetMeta(this.index);\n\t\t},\n\n\t\tgetScaleForId: function(scaleID) {\n\t\t\treturn this.chart.scales[scaleID];\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.update(true);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroy: function() {\n\t\t\tif (this._data) {\n\t\t\t\tunlistenArrayEvents(this._data, this);\n\t\t\t}\n\t\t},\n\n\t\tcreateMetaDataset: function() {\n\t\t\tvar me = this;\n\t\t\tvar type = me.datasetElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index\n\t\t\t});\n\t\t},\n\n\t\tcreateMetaData: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar type = me.dataElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index\n\t\t\t});\n\t\t},\n\n\t\taddElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data || [];\n\t\t\tvar metaData = meta.data;\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\n\t\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t\t}\n\n\t\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t\t},\n\n\t\taddElementAndReset: function(index) {\n\t\t\tvar element = this.createMetaData(index);\n\t\t\tthis.getMeta().data.splice(index, 0, element);\n\t\t\tthis.updateElement(element, index, true);\n\t\t},\n\n\t\tbuildOrUpdateElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t\t// the internal meta data accordingly.\n\t\t\tif (me._data !== data) {\n\t\t\t\tif (me._data) {\n\t\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t\t}\n\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t\tme._data = data;\n\t\t\t}\n\n\t\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\t\tme.resyncElements();\n\t\t},\n\n\t\tupdate: helpers.noop,\n\n\t\ttransition: function(easingValue) {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\telements[i].transition(easingValue);\n\t\t\t}\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.transition(easingValue);\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\telements[i].draw();\n\t\t\t}\n\t\t},\n\n\t\tremoveHoverStyle: function(element, elementOpts) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar model = element._model;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\n\t\t},\n\n\t\tsetHoverStyle: function(element) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar getHoverColor = helpers.getHoverColor;\n\t\t\tvar model = element._model;\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tresyncElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data;\n\t\t\tvar numMeta = meta.data.length;\n\t\t\tvar numData = data.length;\n\n\t\t\tif (numData < numMeta) {\n\t\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t\t} else if (numData > numMeta) {\n\t\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinsertElements: function(start, count) {\n\t\t\tfor (var i = 0; i < count; ++i) {\n\t\t\t\tthis.addElementAndReset(start + i);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPush: function() {\n\t\t\tthis.insertElements(this.getDataset().data.length - 1, arguments.length);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPop: function() {\n\t\t\tthis.getMeta().data.pop();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataShift: function() {\n\t\t\tthis.getMeta().data.shift();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataSplice: function(start, count) {\n\t\t\tthis.getMeta().data.splice(start, count);\n\t\t\tthis.insertElements(start, arguments.length - 2);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataUnshift: function() {\n\t\t\tthis.insertElements(0, arguments.length);\n\t\t}\n\t});\n\n\tChart.DatasetController.extend = helpers.inherits;\n};\n","'use strict';\n\nvar color = require('chartjs-color');\nvar helpers = require('../helpers/index');\n\nfunction interpolate(start, view, model, ease) {\n\tvar keys = Object.keys(model);\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\tkey = keys[i];\n\n\t\ttarget = model[key];\n\n\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\tif (!view.hasOwnProperty(key)) {\n\t\t\tview[key] = target;\n\t\t}\n\n\t\tactual = view[key];\n\n\t\tif (actual === target || key[0] === '_') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!start.hasOwnProperty(key)) {\n\t\t\tstart[key] = actual;\n\t\t}\n\n\t\torigin = start[key];\n\n\t\ttype = typeof target;\n\n\t\tif (type === typeof origin) {\n\t\t\tif (type === 'string') {\n\t\t\t\tc0 = color(origin);\n\t\t\t\tif (c0.valid) {\n\t\t\t\t\tc1 = color(target);\n\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (type === 'number' && isFinite(origin) && isFinite(target)) {\n\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tview[key] = target;\n\t}\n}\n\nvar Element = function(configuration) {\n\thelpers.extend(this, configuration);\n\tthis.initialize.apply(this, arguments);\n};\n\nhelpers.extend(Element.prototype, {\n\n\tinitialize: function() {\n\t\tthis.hidden = false;\n\t},\n\n\tpivot: function() {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\tme._view = helpers.clone(me._model);\n\t\t}\n\t\tme._start = {};\n\t\treturn me;\n\t},\n\n\ttransition: function(ease) {\n\t\tvar me = this;\n\t\tvar model = me._model;\n\t\tvar start = me._start;\n\t\tvar view = me._view;\n\n\t\t// No animation -> No Transition\n\t\tif (!model || ease === 1) {\n\t\t\tme._view = model;\n\t\t\tme._start = null;\n\t\t\treturn me;\n\t\t}\n\n\t\tif (!view) {\n\t\t\tview = me._view = {};\n\t\t}\n\n\t\tif (!start) {\n\t\t\tstart = me._start = {};\n\t\t}\n\n\t\tinterpolate(start, view, model, ease);\n\n\t\treturn me;\n\t},\n\n\ttooltipPosition: function() {\n\t\treturn {\n\t\t\tx: this._model.x,\n\t\t\ty: this._model.y\n\t\t};\n\t},\n\n\thasValue: function() {\n\t\treturn helpers.isNumber(this._model.x) && helpers.isNumber(this._model.y);\n\t}\n});\n\nElement.extend = helpers.inherits;\n\nmodule.exports = Element;\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bar = function(context, config) {\n\t\tconfig.type = 'bar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bubble = function(context, config) {\n\t\tconfig.type = 'bubble';\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\tChart.Scatter = function(context, config) {\n\t\tconfig.type = 'scatter';\n\t\treturn new Chart(context, config);\n\t};\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Doughnut = function(context, config) {\n\t\tconfig.type = 'doughnut';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","'use strict';\n\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\tplugins: {}\n});\n\n/**\n * The plugin service singleton\n * @namespace Chart.plugins\n * @since 2.1.0\n */\nmodule.exports = {\n\t/**\n\t * Globally registered plugins.\n\t * @private\n\t */\n\t_plugins: [],\n\n\t/**\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\n\t * incremented and descriptors are regenerated during following API calls.\n\t * @private\n\t */\n\t_cacheId: 0,\n\n\t/**\n\t * Registers the given plugin(s) if not already registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tif (p.indexOf(plugin) === -1) {\n\t\t\t\tp.push(plugin);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Unregisters the given plugin(s) only if registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tunregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tvar idx = p.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\tp.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Remove all registered plugins.\n\t * @since 2.1.5\n\t */\n\tclear: function() {\n\t\tthis._plugins = [];\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Returns the number of registered plugins?\n\t * @returns {Number}\n\t * @since 2.1.5\n\t */\n\tcount: function() {\n\t\treturn this._plugins.length;\n\t},\n\n\t/**\n\t * Returns all registered plugin instances.\n\t * @returns {Array} array of plugin objects.\n\t * @since 2.1.5\n\t */\n\tgetAll: function() {\n\t\treturn this._plugins;\n\t},\n\n\t/**\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {Object} chart - The chart instance for which plugins should be called.\n\t * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\n\t * @returns {Boolean} false if any of the plugins return false, else returns true.\n\t */\n\tnotify: function(chart, hook, args) {\n\t\tvar descriptors = this.descriptors(chart);\n\t\tvar ilen = descriptors.length;\n\t\tvar i, descriptor, plugin, params, method;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tdescriptor = descriptors[i];\n\t\t\tplugin = descriptor.plugin;\n\t\t\tmethod = plugin[hook];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\tparams = [chart].concat(args || []);\n\t\t\t\tparams.push(descriptor.options);\n\t\t\t\tif (method.apply(plugin, params) === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns descriptors of enabled plugins for the given chart.\n\t * @returns {Array} [{ plugin, options }]\n\t * @private\n\t */\n\tdescriptors: function(chart) {\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\n\t\tif (cache.id === this._cacheId) {\n\t\t\treturn cache.descriptors;\n\t\t}\n\n\t\tvar plugins = [];\n\t\tvar descriptors = [];\n\t\tvar config = (chart && chart.config) || {};\n\t\tvar options = (config.options && config.options.plugins) || {};\n\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\n\t\t\tvar idx = plugins.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar id = plugin.id;\n\t\t\tvar opts = options[id];\n\t\t\tif (opts === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (opts === true) {\n\t\t\t\topts = helpers.clone(defaults.global.plugins[id]);\n\t\t\t}\n\n\t\t\tplugins.push(plugin);\n\t\t\tdescriptors.push({\n\t\t\t\tplugin: plugin,\n\t\t\t\toptions: opts || {}\n\t\t\t});\n\t\t});\n\n\t\tcache.descriptors = descriptors;\n\t\tcache.id = this._cacheId;\n\t\treturn descriptors;\n\t},\n\n\t/**\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\n\t * but in some cases, this reference can be changed by the user when updating options.\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n\t * @private\n\t */\n\t_invalidate: function(chart) {\n\t\tdelete chart.$plugins;\n\t}\n};\n\n/**\n * Plugin extension hooks.\n * @interface IPlugin\n * @since 2.1.0\n */\n/**\n * @method IPlugin#beforeInit\n * @desc Called before initializing `chart`.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterInit\n * @desc Called after `chart` has been initialized and before the first update.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeUpdate\n * @desc Called before updating `chart`. If any plugin returns `false`, the update\n * is cancelled (and thus subsequent render(s)) until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart update.\n */\n/**\n * @method IPlugin#afterUpdate\n * @desc Called after `chart` has been updated and before rendering. Note that this\n * hook will not be called if the chart update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsUpdate\n * @desc Called before updating the `chart` datasets. If any plugin returns `false`,\n * the datasets update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} false to cancel the datasets update.\n * @since version 2.1.5\n*/\n/**\n * @method IPlugin#afterDatasetsUpdate\n * @desc Called after the `chart` datasets have been updated. Note that this hook\n * will not be called if the datasets update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @since version 2.1.5\n */\n/**\n * @method IPlugin#beforeDatasetUpdate\n * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin\n * returns `false`, the datasets update is cancelled until another `update` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetUpdate\n * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note\n * that this hook will not be called if the datasets update has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeLayout\n * @desc Called before laying out `chart`. If any plugin returns `false`,\n * the layout update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart layout.\n */\n/**\n * @method IPlugin#afterLayout\n * @desc Called after the `chart` has been layed out. Note that this hook will not\n * be called if the layout update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeRender\n * @desc Called before rendering `chart`. If any plugin returns `false`,\n * the rendering is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart rendering.\n */\n/**\n * @method IPlugin#afterRender\n * @desc Called after the `chart` has been fully rendered (and animation completed). Note\n * that this hook will not be called if the rendering has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDraw\n * @desc Called before drawing `chart` at every animation frame specified by the given\n * easing value. If any plugin returns `false`, the frame drawing is cancelled until\n * another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart drawing.\n */\n/**\n * @method IPlugin#afterDraw\n * @desc Called after the `chart` has been drawn for the specific easing value. Note\n * that this hook will not be called if the drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsDraw\n * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,\n * the datasets drawing is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetsDraw\n * @desc Called after the `chart` datasets have been drawn. Note that this hook\n * will not be called if the datasets drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetDraw\n * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets\n * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing\n * is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetDraw\n * @desc Called after the `chart` datasets at the given `args.index` have been drawn\n * (datasets are drawn in the reverse order). Note that this hook will not be called\n * if the datasets drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeTooltipDraw\n * @desc Called before drawing the `tooltip`. If any plugin returns `false`,\n * the tooltip drawing is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart tooltip drawing.\n */\n/**\n * @method IPlugin#afterTooltipDraw\n * @desc Called after drawing the `tooltip`. Note that this hook will not\n * be called if the tooltip drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeEvent\n * @desc Called before processing the specified `event`. If any plugin returns `false`,\n * the event will be discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterEvent\n * @desc Called after the `event` has been consumed. Note that this hook\n * will not be called if the `event` has been previously discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#resize\n * @desc Called after the chart as been resized.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} size - The new canvas display size (eq. canvas.style width & height).\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#destroy\n * @desc Called after the chart as been destroyed.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n","/**\n * @namespace Chart\n */\nvar Chart = require('./core/core')();\n\nChart.helpers = require('./helpers/index');\n\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\nrequire('./core/core.helpers')(Chart);\n\nChart.defaults = require('./core/core.defaults');\nChart.Element = require('./core/core.element');\nChart.elements = require('./elements/index');\nChart.Interaction = require('./core/core.interaction');\nChart.layouts = require('./core/core.layouts');\nChart.platform = require('./platforms/platform');\nChart.plugins = require('./core/core.plugins');\nChart.Ticks = require('./core/core.ticks');\n\nrequire('./core/core.animation')(Chart);\nrequire('./core/core.controller')(Chart);\nrequire('./core/core.datasetController')(Chart);\nrequire('./core/core.scaleService')(Chart);\nrequire('./core/core.scale')(Chart);\nrequire('./core/core.tooltip')(Chart);\n\nrequire('./scales/scale.linearbase')(Chart);\nrequire('./scales/scale.category')(Chart);\nrequire('./scales/scale.linear')(Chart);\nrequire('./scales/scale.logarithmic')(Chart);\nrequire('./scales/scale.radialLinear')(Chart);\nrequire('./scales/scale.time')(Chart);\n\n// Controllers must be loaded after elements\n// See Chart.core.datasetController.dataElementType\nrequire('./controllers/controller.bar')(Chart);\nrequire('./controllers/controller.bubble')(Chart);\nrequire('./controllers/controller.doughnut')(Chart);\nrequire('./controllers/controller.line')(Chart);\nrequire('./controllers/controller.polarArea')(Chart);\nrequire('./controllers/controller.radar')(Chart);\nrequire('./controllers/controller.scatter')(Chart);\n\nrequire('./charts/Chart.Bar')(Chart);\nrequire('./charts/Chart.Bubble')(Chart);\nrequire('./charts/Chart.Doughnut')(Chart);\nrequire('./charts/Chart.Line')(Chart);\nrequire('./charts/Chart.PolarArea')(Chart);\nrequire('./charts/Chart.Radar')(Chart);\nrequire('./charts/Chart.Scatter')(Chart);\n\n// Loading built-it plugins\nvar plugins = require('./plugins');\nfor (var k in plugins) {\n\tif (plugins.hasOwnProperty(k)) {\n\t\tChart.plugins.register(plugins[k]);\n\t}\n}\n\nChart.platform.initialize();\n\nmodule.exports = Chart;\nif (typeof window !== 'undefined') {\n\twindow.Chart = Chart;\n}\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Legend\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Legend = plugins.legend._element;\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Title\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Title = plugins.title._element;\n\n/**\n * Provided for backward compatibility, use Chart.plugins instead\n * @namespace Chart.pluginService\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.pluginService = Chart.plugins;\n\n/**\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\n * effect, instead simply create/register plugins via plain JavaScript objects.\n * @interface Chart.PluginBase\n * @deprecated since version 2.5.0\n * @todo remove at version 3\n * @private\n */\nChart.PluginBase = Chart.Element.extend({});\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\n * @namespace Chart.canvasHelpers\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nChart.canvasHelpers = Chart.helpers.canvas;\n\n/**\n * Provided for backward compatibility, use Chart.layouts instead.\n * @namespace Chart.layoutService\n * @deprecated since version 2.8.0\n * @todo remove at version 3\n * @private\n */\nChart.layoutService = Chart.layouts;\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('doughnut', {\n\tanimation: {\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate: true,\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale: false\n\t},\n\thover: {\n\t\tmode: 'single'\n\t},\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('